[OPENMEETINGS-1297] svn tree is restructured
diff --git a/.classpath b/.classpath
new file mode 100644
index 0000000..2ebfd0e
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+   Licensed under the Apache License, Version 2.0 (the "License");

+   you may not use this file except in compliance with the License.

+   You may obtain a copy of the License at

+

+       http://www.apache.org/licenses/LICENSE-2.0

+

+   Unless required by applicable law or agreed to in writing, software

+   distributed under the License is distributed on an "AS IS" BASIS,

+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+   See the License for the specific language governing permissions and

+   limitations under the License.

+ -->

+<classpath>

+	<classpathentry kind="src" path="WebContent/WEB-INF"/>

+	<classpathentry kind="src" path="src"/>

+	<classpathentry exported="true" kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>

+	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4">

+		<attributes>

+			<attribute name="org.eclipse.jst.component.nondependency" value=""/>

+		</attributes>

+	</classpathentry>

+	<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>

+	<classpathentry kind="con" path="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?project=Openmeetings&amp;ivyXmlPath=ivy.xml&amp;confs=*&amp;ivySettingsPath=%24%7Bworkspace_loc%3AOpenmeetings%2Fivysettings.xml%7D&amp;loadSettingsOnDemand=false&amp;propertyFiles="/>

+	<classpathentry kind="con" path="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?project=Openmeetings&amp;ivyXmlPath=build%2Fred5%2Fserver%2Fivy.xml&amp;confs=default%2Cjava6&amp;ivySettingsPath=%24%7Bworkspace_loc%3AOpenmeetings%2Fbuild%2Fred5%2Fserver%2Fivysettings.xml%7D&amp;loadSettingsOnDemand=false&amp;propertyFiles="/>

+	<classpathentry kind="lib" path="build/red5/server/dist/red5.jar" sourcepath="build/red5/server/src"/>

+	<classpathentry kind="lib" path="build/red5/client/dist/red5-client.jar" sourcepath="build/red5/client/src"/>

+	<classpathentry kind="lib" path="build/lib/java_16_tools.jar"/>

+	<classpathentry kind="output" path="build/classes/eclipse"/>

+</classpath>

diff --git a/.project b/.project
new file mode 100644
index 0000000..6407c97
--- /dev/null
+++ b/.project
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+   Licensed under the Apache License, Version 2.0 (the "License");

+   you may not use this file except in compliance with the License.

+   You may obtain a copy of the License at

+

+       http://www.apache.org/licenses/LICENSE-2.0

+

+   Unless required by applicable law or agreed to in writing, software

+   distributed under the License is distributed on an "AS IS" BASIS,

+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+   See the License for the specific language governing permissions and

+   limitations under the License.

+ -->

+<projectDescription>

+	<name>Openmeetings</name>

+	<comment></comment>

+	<projects>

+	</projects>

+	<buildSpec>

+		<buildCommand>

+			<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

+			<name>org.eclipse.jdt.core.javabuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

+			<name>org.eclipse.wst.common.project.facet.core.builder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

+			<name>org.eclipse.wst.validation.validationbuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

+			<name>org.springframework.ide.eclipse.core.springbuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+	</buildSpec>

+	<natures>

+		<nature>org.springframework.ide.eclipse.core.springnature</nature>

+		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>

+		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>

+		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>

+		<nature>org.eclipse.jdt.core.javanature</nature>

+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>

+		<nature>org.apache.ivyde.eclipse.ivynature</nature>

+	</natures>

+	<filteredResources>

+		<filter>

+			<id>1339742413697</id>

+			<name></name>

+			<type>26</type>

+			<matcher>

+				<id>org.eclipse.ui.ide.multiFilter</id>

+				<arguments>1.0-name-matches-false-false-.svn</arguments>

+			</matcher>

+		</filter>

+		<filter>

+			<id>1339742413708</id>

+			<name></name>

+			<type>10</type>

+			<matcher>

+				<id>org.eclipse.ui.ide.multiFilter</id>

+				<arguments>1.0-projectRelativePath-matches-false-false-dist</arguments>

+			</matcher>

+		</filter>

+		<filter>

+			<id>1339742413718</id>

+			<name></name>

+			<type>26</type>

+			<matcher>

+				<id>org.eclipse.ui.ide.multiFilter</id>

+				<arguments>1.0-projectRelativePath-matches-false-false-build/classes/openmeetings</arguments>

+			</matcher>

+		</filter>

+		<filter>

+			<id>1339742413728</id>

+			<name></name>

+			<type>26</type>

+			<matcher>

+				<id>org.eclipse.ui.ide.multiFilter</id>

+				<arguments>1.0-projectRelativePath-matches-false-false-build/openlaszlo</arguments>

+			</matcher>

+		</filter>

+		<filter>

+			<id>1339742413738</id>

+			<name></name>

+			<type>30</type>

+			<matcher>

+				<id>org.eclipse.ui.ide.multiFilter</id>

+				<arguments>1.0-projectRelativePath-matches-false-false-build/red5/server/bin</arguments>

+			</matcher>

+		</filter>

+		<filter>

+			<id>1339742413748</id>

+			<name></name>

+			<type>30</type>

+			<matcher>

+				<id>org.eclipse.ui.ide.multiFilter</id>

+				<arguments>1.0-projectRelativePath-matches-false-false-build/red5/client/bin</arguments>

+			</matcher>

+		</filter>

+	</filteredResources>

+</projectDescription>

diff --git a/.settings/.jsdtscope b/.settings/.jsdtscope
new file mode 100644
index 0000000..f40dd98
--- /dev/null
+++ b/.settings/.jsdtscope
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<classpath>

+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>

+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">

+		<attributes>

+			<attribute name="hide" value="true"/>

+		</attributes>

+	</classpathentry>

+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>

+	<classpathentry kind="output" path=""/>

+</classpath>

diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f3a2fb8
--- /dev/null
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Sun Nov 06 12:11:27 CET 2011

+eclipse.preferences.version=1

+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled

+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5

+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve

+org.eclipse.jdt.core.compiler.compliance=1.5

+org.eclipse.jdt.core.compiler.debug.lineNumber=generate

+org.eclipse.jdt.core.compiler.debug.localVariable=generate

+org.eclipse.jdt.core.compiler.debug.sourceFile=generate

+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error

+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error

+org.eclipse.jdt.core.compiler.source=1.5

diff --git a/.settings/org.eclipse.jst.common.project.facet.core.prefs b/.settings/org.eclipse.jst.common.project.facet.core.prefs
new file mode 100644
index 0000000..6c8ad1d
--- /dev/null
+++ b/.settings/org.eclipse.jst.common.project.facet.core.prefs
@@ -0,0 +1,3 @@
+#Wed Oct 14 19:22:29 CEST 2009

+classpath.helper/org.eclipse.jdt.launching.JRE_CONTAINER\:\:org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType\:\:jre6/owners=jst.java\:5.0

+eclipse.preferences.version=1

diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
new file mode 100644
index 0000000..7650e7f
--- /dev/null
+++ b/.settings/org.eclipse.wst.common.component
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-modules id="moduleCoreId" project-version="1.5.0">
+    <wb-module deploy-name="ROOT">
+        <wb-resource deploy-path="/" source-path="/WebContent"/>
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/client"/>
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/screenviewer"/>
+		<wb-resource deploy-path="/WEB-INF/classes" source-path="/screensharing"/>
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/server"/>
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/WebContent/WEB-INF"/>
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
+        <property name="java-output-path"/>
+        <property name="context-root" value="/"/>
+    </wb-module>
+</project-modules>
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..d24a733
--- /dev/null
+++ b/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+  <fixed facet="jst.web"/>
+  <fixed facet="jst.java"/>
+  <installed facet="jst.java" version="5.0"/>
+  <installed facet="jst.web" version="2.5"/>
+</faceted-project>
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.jsdt.ui.superType.name b/.settings/org.eclipse.wst.jsdt.ui.superType.name
new file mode 100644
index 0000000..05bd71b
--- /dev/null
+++ b/.settings/org.eclipse.wst.jsdt.ui.superType.name
@@ -0,0 +1 @@
+Window
\ No newline at end of file
diff --git a/.settings/org.springframework.ide.eclipse.beans.core.prefs b/.settings/org.springframework.ide.eclipse.beans.core.prefs
new file mode 100644
index 0000000..3af8ce5
--- /dev/null
+++ b/.settings/org.springframework.ide.eclipse.beans.core.prefs
@@ -0,0 +1,3 @@
+#Sun Aug 28 18:17:40 CEST 2011

+eclipse.preferences.version=1

+org.springframework.ide.eclipse.beans.core.ignoreMissingNamespaceHandler=false

diff --git a/.springBeans b/.springBeans
new file mode 100644
index 0000000..f56f916
--- /dev/null
+++ b/.springBeans
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<beansProjectDescription>

+	<version>1</version>

+	<pluginVersion><![CDATA[2.8.1.201111220115-RELEASE]]></pluginVersion>

+	<configSuffixes>

+		<configSuffix><![CDATA[xml]]></configSuffix>

+	</configSuffixes>

+	<enableImports><![CDATA[false]]></enableImports>

+	<configs>

+		<config>WebContent/WEB-INF/openmeetings-applicationContext.xml</config>

+		<config>WebContent/WEB-INF/red5-services/calendarservice.service.xml</config>

+		<config>WebContent/WEB-INF/red5-services/meetingmemberservice.service.xml</config>

+		<config>WebContent/WEB-INF/red5-services/fileservice.service.xml</config>

+		<config>WebContent/WEB-INF/red5-services/conferenceservice.service.xml</config>

+		<config>WebContent/WEB-INF/red5-services/userservice.service.xml</config>

+		<config>WebContent/WEB-INF/red5-services/organisationservice.service.xml</config>

+		<config>WebContent/WEB-INF/red5-services/configservice.service.xml</config>

+		<config>WebContent/WEB-INF/red5-services/errorservice.service.xml</config>

+		<config>WebContent/WEB-INF/red5-services/pollservice.service.xml</config>

+		<config>WebContent/WEB-INF/red5-services/xmlcrm.service.xml</config>

+		<config>WebContent/WEB-INF/red5-services/languageservice.service.xml</config>

+		<config>WebContent/WEB-INF/red5-services/chatservice.service.xml</config>

+		<config>WebContent/WEB-INF/red5-services/invitationservice.service.xml</config>

+		<config>WebContent/WEB-INF/red5-services/whiteboardservice.service.xml</config>

+		<config>WebContent/WEB-INF/red5-services/printservice.service.xml</config>

+		<config>WebContent/WEB-INF/red5-services/flvrecorderservice.service.xml</config>

+		<config>WebContent/WEB-INF/red5-services/ldapconfigservice.service.xml</config>

+		<config>WebContent/WEB-INF/red5-services/schedulerJobs.service.xml</config>

+	</configs>

+	<configSets>

+		<configSet>

+			<name><![CDATA[openmeetings_config]]></name>

+			<allowBeanDefinitionOverriding>true</allowBeanDefinitionOverriding>

+			<incomplete>false</incomplete>

+			<configs>

+				<config>WebContent/WEB-INF/openmeetings-applicationContext.xml</config>

+				<config>WebContent/WEB-INF/red5-services/calendarservice.service.xml</config>

+				<config>WebContent/WEB-INF/red5-services/chatservice.service.xml</config>

+				<config>WebContent/WEB-INF/red5-services/conferenceservice.service.xml</config>

+				<config>WebContent/WEB-INF/red5-services/configservice.service.xml</config>

+				<config>WebContent/WEB-INF/red5-services/errorservice.service.xml</config>

+				<config>WebContent/WEB-INF/red5-services/fileservice.service.xml</config>

+				<config>WebContent/WEB-INF/red5-services/flvrecorderservice.service.xml</config>

+				<config>WebContent/WEB-INF/red5-services/invitationservice.service.xml</config>

+				<config>WebContent/WEB-INF/red5-services/languageservice.service.xml</config>

+				<config>WebContent/WEB-INF/red5-services/ldapconfigservice.service.xml</config>

+				<config>WebContent/WEB-INF/red5-services/meetingmemberservice.service.xml</config>

+				<config>WebContent/WEB-INF/red5-services/organisationservice.service.xml</config>

+				<config>WebContent/WEB-INF/red5-services/pollservice.service.xml</config>

+				<config>WebContent/WEB-INF/red5-services/printservice.service.xml</config>

+				<config>WebContent/WEB-INF/red5-services/schedulerJobs.service.xml</config>

+				<config>WebContent/WEB-INF/red5-services/userservice.service.xml</config>

+				<config>WebContent/WEB-INF/red5-services/whiteboardservice.service.xml</config>

+				<config>WebContent/WEB-INF/red5-services/xmlcrm.service.xml</config>

+			</configs>

+			<profiles>

+			</profiles>

+		</configSet>

+	</configSets>

+</beansProjectDescription>

diff --git a/CHANGELOG b/CHANGELOG
new file mode 100644
index 0000000..eff1d7b
--- /dev/null
+++ b/CHANGELOG
@@ -0,0 +1,253 @@
+Apache OpenMeetings Change Log
+
+See http://issues.apache.org/jira/browse/OPENMEETINGS-* (where * is the number of the issue below)
+
+
+Release Notes - OpenMeetings - Version 2.0-INCUBATING
+================================================================================================================
+Sub-task
+
+    [OPENMEETINGS-8] - Generate CalendarAPI for SOAP/REST WebServices
+    [OPENMEETINGS-9] - Design MockUp for new Calendar UI
+    [OPENMEETINGS-40] - Merge Audio/Video components to trunk
+    [OPENMEETINGS-44] - remove all old audio/video components
+    [OPENMEETINGS-47] - fix ScopeApplicationAdapter / sync and message broadcasting mechanism to not send messages to SWF10 client
+    [OPENMEETINGS-51] - fix url params (invitationHash / secureHash / language_id / roomScopeId / et cetera ) to be forwarded to inner SWF components
+    [OPENMEETINGS-52] - fix icon status in new video components
+    [OPENMEETINGS-53] - Add security mechanism to LocalConnection subscribers
+    [OPENMEETINGS-54] - fix recorder to use new audio/video components and fix recording itself to reference correct streams
+    [OPENMEETINGS-55] - fix testing application (5 second video recording on room enter) to use new a/v components
+    [OPENMEETINGS-61] - fix screensharing player to use the new audio/video components
+    [OPENMEETINGS-62] - Clean up 5-second recordings using a scheduler
+    [OPENMEETINGS-65] - fix whiteboard video player to use the new audio/video components
+    [OPENMEETINGS-71] - fix interview room type to use new audio/video components
+    [OPENMEETINGS-73] - fix mute functionality in new video components
+    [OPENMEETINGS-77] - changeDevice.lzx must be transformed to SWF10
+    [OPENMEETINGS-79] - SharedObject in SWF10 does not store settings
+    [OPENMEETINGS-80] - Some notification windows need to be moved to SWF10
+    [OPENMEETINGS-89] - Fix new option "hideWhiteboard" with layout of video pods
+    [OPENMEETINGS-97] - RTPMSClient for ScreenSharing should be created/tested
+    [OPENMEETINGS-98] - "Borrowed" code should be removed from ScreenSharing client
+    [OPENMEETINGS-105] - Add the license header to all SWF10 files
+    [OPENMEETINGS-170] - When you republish your stream while recording or suddenly leave the meeting, the recording has no audio
+
+Bug
+
+    [OPENMEETINGS-5] - Invitation default language
+    [OPENMEETINGS-15] - Usability problem with login at http://demo.openmeetings.de/openmeetings/
+    [OPENMEETINGS-18] - File upload no work
+    [OPENMEETINGS-26] - Whiteboard error "arrow tool" dragging from right to left in any angle.
+    [OPENMEETINGS-28] - LDAP wrong default mapping for firstname
+    [OPENMEETINGS-31] - Upload files will not convert to SWF.
+    [OPENMEETINGS-48] - Log are either not written or in the wrong logfile
+    [OPENMEETINGS-56] - LDAP authentication is not correct
+    [OPENMEETINGS-64] - whiteboard id
+    [OPENMEETINGS-87] - All DB related JUnit tests are failed
+    [OPENMEETINGS-91] - Fix field type's of comment/description fields to use datatype Text (instead of VARCHAR(255))
+    [OPENMEETINGS-114] - With trunk svn 1307221: LDAP authentication fails because user can't be imported into local DB
+    [OPENMEETINGS-116] - Menu bar shortcuts do not work
+    [OPENMEETINGS-118] - Activity UI: Fix duplicated calls, removal of items does not work
+    [OPENMEETINGS-122] - Fix JUnit tests
+    [OPENMEETINGS-123] - Wildcard on creating WebService docs doesn't work
+    [OPENMEETINGS-127] - Backup\Import Asterisk related tables
+    [OPENMEETINGS-133] - Sources produced by nightly build should be buildable with ant
+    [OPENMEETINGS-135] - Video window can't be maximized
+    [OPENMEETINGS-137] - Loading of stored whiteboards doesn't work (error in loading path)
+    [OPENMEETINGS-138] - Errors and quality of Recording with screensharing application
+    [OPENMEETINGS-139] - Unable to Add User into Usergroups
+    [OPENMEETINGS-140] - Login options/features been reduced in current update
+    [OPENMEETINGS-141] - onMetaData Event not thrown in AS3 Non-Debug version
+    [OPENMEETINGS-142] - 1-2-3-4 buttons on dashboard don't do anything
+    [OPENMEETINGS-144] - When using openLDAP authentication, the source code uses the hardcoded 'uid' attribute to map logins and user DNs instead of the field_user_principal parameter
+    [OPENMEETINGS-145] - Unmuting/exclusive audio doesn't work and icons show wrong status in video pod after entering a room
+    [OPENMEETINGS-149] - Error while installing on MySQL DB openmeetings-2.0.0.r1311115-08-04-2012_2307
+    [OPENMEETINGS-150] - Error restoring password
+    [OPENMEETINGS-156] - UI BUGS?
+    [OPENMEETINGS-158] - Degradation of the sound quality in recordings in the recent release
+    [OPENMEETINGS-161] - UI Bugs in private messages
+    [OPENMEETINGS-162] - Exception in Screensharing
+    [OPENMEETINGS-163] - Recording does no more work if you start to share audio/video AFTER starting the recording
+    [OPENMEETINGS-164] - java.lang.ArrayIndexOutOfBoundsException: 5 in Recording Conversion
+    [OPENMEETINGS-165] - Video freezes as soon as two people have audio/video turned on and you start to record the meeting => Convert FLV writers to act async
+    [OPENMEETINGS-171] - Screensharing notification not showing when already running
+    [OPENMEETINGS-172] - Home drive in recorder UI, minimize the home drive makes the list of files empty, drag and rop file from home drive to public drive
+    [OPENMEETINGS-174] - CLI import of backup does not work
+    [OPENMEETINGS-175] - CLI installer does not create install.xml
+    [OPENMEETINGS-176] - Import of Backup from version 1.9.x fails to import conference rooms
+    [OPENMEETINGS-177] - Meeting Room Invitation Link Not working
+    [OPENMEETINGS-178] - Invited user has access to adminstration panel
+    [OPENMEETINGS-179] - User Not Removed from chat participants window after logout..
+    [OPENMEETINGS-181] - Video Window, Conference room
+    [OPENMEETINGS-182] - OM need to be restarted after fresh installation to get menu list
+    [OPENMEETINGS-187] - Moderator and his room
+    [OPENMEETINGS-188] - Inserting room, horizontal bar does not appear
+    [OPENMEETINGS-190] - Problem with language when invoking OM from Moodle module
+    [OPENMEETINGS-191] - When I enable HTTPS and RTMPS the screen sharing resultant JNLP file has the wrong address = http://servername:443/.... instead of https://servername/..... if I edit the JNLP file by hand on the client level and change the address it works
+    [OPENMEETINGS-193] - Fix timezones that are missing
+    [OPENMEETINGS-195] - Send private message / Show user profile buttons
+    [OPENMEETINGS-196] - Calendar Ical / Simple Mail - double invitation mail
+    [OPENMEETINGS-197] - Calendar Ical / Simple Mail - room language
+    [OPENMEETINGS-198] - Password and dashboard calendar event list
+    [OPENMEETINGS-199] - Screensharing and recording does not work under OSX with Java 64Bit
+    [OPENMEETINGS-200] - Invitation link does not arrive
+    [OPENMEETINGS-203] - two languages are shown
+    [OPENMEETINGS-205] - ReplyTo Field leads to exception when sending emails to external users
+    [OPENMEETINGS-206] - wrong meeting times
+    [OPENMEETINGS-208] - Incorrectly filled "Last name" field on the User details form when created user with "Sign in" form
+    [OPENMEETINGS-209] - Encoding at install OpenMeetings
+    [OPENMEETINGS-210] - Calendar event
+    [OPENMEETINGS-211] - NullPointerException in FLVRecorderService.stopRecordingShow
+    [OPENMEETINGS-214] - When calendar event invitation is sent, invitation_text_from value displays with the name of the person for whom the invitation is being sent to but should be showing the sender's name
+    [OPENMEETINGS-215] - Created date is duplicated where restoring base from backup
+    [OPENMEETINGS-216] - UI problem
+    [OPENMEETINGS-219] - ÇDeleteÈ button is not visible
+    [OPENMEETINGS-225] - If object on whiteboard of type "freedraw" ("paint") is dragged/moved, the object is gone when you re-enter the room
+    [OPENMEETINGS-229] - "Exit"button is not shown for inviting users from room
+    [OPENMEETINGS-230] - Error in the field name on the form "Add external"
+    [OPENMEETINGS-232] - Rooms are imported with invalid room types
+    [OPENMEETINGS-233] - Font styles in propertyPanel are getting disabled.
+    [OPENMEETINGS-234] - Video and Screen sharing not working with HTTPS and RTMPS - Java Application starts but doesnt connect - java trace logs shows "[WARN] [NioProcessor-2] org.red5.server.net.rtmps.RTMPSMinaIoHandler - Exception caught Keystore or password are null"
+    [OPENMEETINGS-237] - Calender reminder email invitation link fails due to link missing "&language=x" in URL
+    [OPENMEETINGS-238] - Calendar shows incorrect day of week for the actual date when timezone is GMT+10
+    [OPENMEETINGS-239] - Calendar Event details Comment/Description field text can overflow the boundary of the Description field of the Meeting Room's Event details dialog box
+    [OPENMEETINGS-241] - Cannot send emailed Invitations from a Meeting room
+    [OPENMEETINGS-242] - Moodle Plugin
+    [OPENMEETINGS-244] - Calendar doesn't show Day / Week / Month
+    [OPENMEETINGS-246] - Remote Cursor is no more visible
+    [OPENMEETINGS-249] - Using LDAP with latest build fails to login, - after login screen im prompted with "You account is assigned to multiple usergroups... " The drop down list is empty - I have checked the MYSQL DB table "oraganisations" and there are two entries there
+    [OPENMEETINGS-250] - Moderator loses Moderation
+    [OPENMEETINGS-252] - Fix ImportInitValues.java default.timezone not taken from install config and add (optional) mapping "ldap_user_attr_timezone" in the ldap config
+    [OPENMEETINGS-257] - Exception in CLI Installer when installing in a new database
+    [OPENMEETINGS-263] - Missing invitation from calendar
+    [OPENMEETINGS-264] - Spinners in ScreenSharing applet works improperly
+    [OPENMEETINGS-269] - Image Download Issue from the Whiteboard - Naming problem and Deletion.jpg file - Reported by George Kirkham
+    [OPENMEETINGS-270] - MemoryLeak / Dead-Lock in FlvRecorderConverter
+    [OPENMEETINGS-271] - Whiteboad Undo tool does not remove all objects from the Whiteboard
+    [OPENMEETINGS-272] - When entering a room, the "Choose devices" window is behind any attendee video windows.
+    [OPENMEETINGS-275] - "User Speaks" icon in Users list does not indicate when the person is speaking
+    [OPENMEETINGS-277] - Latest build fails to start using RTMPS
+    [OPENMEETINGS-278] - When I enter a room and choose a lower resolution the "Choose Devices" window shrinks but the text at the top doesn't wrap to re-size
+    [OPENMEETINGS-279] - Minimize Video button works improperly
+    [OPENMEETINGS-281] - Enhance Language Editor with search fields
+    [OPENMEETINGS-282] - Video window "Exclusive Audio" causes tool tips message boxes to be left on the screen
+    [OPENMEETINGS-283] - Choose devices - Start test recording - no longer plays back the recorded clip
+    [OPENMEETINGS-284] - Audio is not working
+    [OPENMEETINGS-286] - video/audio broadcast problem with language of japanese
+    [OPENMEETINGS-287] - Unable to connect from moodle. Builde 2.0.0.r1341675-22-05-2012_2319
+    [OPENMEETINGS-288] - Unable to connect from moodle. Builde 2.0.0.r1341675-22-05-2012_2319
+    [OPENMEETINGS-289] - Unable to connect from moodle. Builde 2.0.0.r1341675-22-05-2012_2319
+    [OPENMEETINGS-294] - Cannot install Openmeetings with mysql
+    [OPENMEETINGS-295] - OpenMeetings with rtmp over HTTP Tunneling does not work anymore with Red5 r4374
+    [OPENMEETINGS-296] - Language export works only in english
+    [OPENMEETINGS-297] - Users are imported with invalid country
+    [OPENMEETINGS-298] - Problems with shortcut-key 'Ctrl + Shift + m', Camera/Mic settings-screen pops-up when typing 'M' (Shift+m)
+    [OPENMEETINGS-300] - $APP_NAME placeholder is not correctly handled in some email templates
+    [OPENMEETINGS-302] - Delete massges in Trash
+    [OPENMEETINGS-304] - Can not delete mail in Trash
+    [OPENMEETINGS-307] - Language does not load at login
+    [OPENMEETINGS-312] - File was null or did not exist: TEST_SETUP_1338945244240.flv
+    [OPENMEETINGS-314] - Webcam Title of user is username of default OM user
+    [OPENMEETINGS-316] - ICS attachments for emails not working with Exchange 2003/2007 and Outlook 2003/2007
+    [OPENMEETINGS-317] - Multiple appointments generated when clicking save more than once
+    [OPENMEETINGS-319] - Recordings at demo.openmeetings.com are not downloadble
+    [OPENMEETINGS-320] - Exception and layout for screensharing/recording client
+    [OPENMEETINGS-323] - Update Red5 to latest version (r4380) in both server and client library to test RTMPT and file not found exceptions
+    [OPENMEETINGS-324] - Limit login
+
+Improvement
+
+    [OPENMEETINGS-2] - Modify ANT Build script to create correct Build Artefacts / Integrate into https://builds.apache.org/
+    [OPENMEETINGS-4] - Microphone rooms
+    [OPENMEETINGS-10] - openmeetings_1_9_1_r4707 Default Language Error
+    [OPENMEETINGS-45] - New Audio/Video Components
+    [OPENMEETINGS-46] - Updated German lang file
+    [OPENMEETINGS-59] - Japanese translation update
+    [OPENMEETINGS-63] - Update Sharing RTMPClient with latest Red5 version and test if it works now
+    [OPENMEETINGS-66] - Whiteboard Player should aspect ratio when importing a video to the whiteboard
+    [OPENMEETINGS-83] - multipart.jar should be replaced with implementation compatible with ASF licence
+    [OPENMEETINGS-86] - SVN directory structure need to be optimized
+    [OPENMEETINGS-101] - Linking OpenMeetings tutorials and manuals
+    [OPENMEETINGS-113] - Define a default Login-Domain (ie an Ldap domain) to be automatically selected in the frontend login window
+    [OPENMEETINGS-125] - Text does not fit in the button.
+    [OPENMEETINGS-146] - Add mechanism to debug LocalConnection better
+    [OPENMEETINGS-184] - When we make a mistake or we use the same ID in users add administration menu => all fields become empty !
+    [OPENMEETINGS-185] - There is no sense to have two users / moderator / administrator with the same email
+    [OPENMEETINGS-194] - Command line admin: added parameter "--drop", to drop database before install
+    [OPENMEETINGS-202] - Calendar event
+    [OPENMEETINGS-226] - It should be possible to configure OpenOffice location via OM config
+    [OPENMEETINGS-245] - configuration table is not backup/restored
+    [OPENMEETINGS-247] - Make document conversion quality an administrator changeable option
+    [OPENMEETINGS-253] - Made some changes to the german language deutsch.xml
+    [OPENMEETINGS-259] - English Language Text improvements
+    [OPENMEETINGS-268] - Improvements for english text for 506, "registering_mail_text_head", 507, "registering_mail_text_head2", 512, "register_mail_subject"
+    [OPENMEETINGS-276] - Need a way to select "Exclusive Audio" for attenees who have selected "Audo Only"
+    [OPENMEETINGS-285] - Update for Chinese Language text
+    [OPENMEETINGS-309] - Complete French translation
+    [OPENMEETINGS-313] - Errors with it's types and descriptions should be listed on the site
+
+New Feature
+
+    [OPENMEETINGS-129] - Load Icons dynamically at runtime and replace LGPL licensed icons
+    [OPENMEETINGS-130] - Add mechanism for advanced runtime theming
+    [OPENMEETINGS-134] - Themes: Add Color definitions to default-theme.xml file and enhance with more color definitions
+    [OPENMEETINGS-186] - ReplyTo email address should be set to user email address.
+    [OPENMEETINGS-266] - ScreenSharing need to be enhanced to enable screen publishing
+
+Task
+
+    [OPENMEETINGS-7] - Replace lzCalendar with non CPL implementation
+    [OPENMEETINGS-32] - Replace JOD Library with own implementation
+    [OPENMEETINGS-60] - OpenMeetings Plugin for Atlassian JIRA
+    [OPENMEETINGS-70] - There should be a scheduler the does a check for test-recordings older then 1 hour and delete them.
+    [OPENMEETINGS-74] - Integrate Apache Ivy for dependency management of Libraries
+    [OPENMEETINGS-75] - Remove roomtype audience
+    [OPENMEETINGS-76] - Remove Event Recording
+    [OPENMEETINGS-82] - Atlassian Confluence Integration Plugin
+    [OPENMEETINGS-85] - Fix and improve Chat Layout
+    [OPENMEETINGS-88] - Fix client side modules structure (delete "Plugins" directory)
+    [OPENMEETINGS-99] - Project restructuring (sources, beans, eclipse)
+    [OPENMEETINGS-100] - JabberService should be added to Axis2 services
+    [OPENMEETINGS-106] - JabberService is missing in the API Doclet task that generates the SOAP/REST API Documentation
+    [OPENMEETINGS-109] - Show Number of Unread private messages in the dashboard and upgrade layout
+    [OPENMEETINGS-110] - Refactor menubar layout and tabbuttons in dashboard/rooms/settings section + remove "navisub" table + Fix to use "NamedQuery" for main navigation to enable/disable entries in the mainnavi
+    [OPENMEETINGS-117] - Refactor Conference Coloring and Layout
+    [OPENMEETINGS-124] - Clean Up Splash Screen and unused resources in init
+    [OPENMEETINGS-128] - Remove "doc" folder with partly documentated japanese documention and fix icon resources that are not needed
+    [OPENMEETINGS-147] - The green dot that indicates somebody else is speaking produces too many events and is badly performing
+    [OPENMEETINGS-160] - Enable sending messages to external users from the private messages including invitations to conference rooms and events
+    [OPENMEETINGS-169] - Clean up WhiteBoardService to use proper sync methods
+    [OPENMEETINGS-173] - CLI needs a check on those params that are "must haves" for installation
+    [OPENMEETINGS-222] - Enable Keyboard actions to whiteboard (Arrow Down|Left|Right|Up [+Shift] and Delete) when object is selected
+    [OPENMEETINGS-223] - Hardly anybody knows that you can double click to re-edit the text
+    [OPENMEETINGS-231] - Update website with new screenshots
+    [OPENMEETINGS-236] - Where to put portuguese Brasil.xml.
+
+Test
+
+    [OPENMEETINGS-104] - Error in cyrillic filenames
+    [OPENMEETINGS-115] - Installation error
+    [OPENMEETINGS-120] - Blank screen on Backup
+    [OPENMEETINGS-121] - Share/record screen doesn't work
+    [OPENMEETINGS-136] - Duplicate message in Activity section
+    [OPENMEETINGS-148] - when I click to button of page, that haven't anything content
+    [OPENMEETINGS-155] - record not playing
+    [OPENMEETINGS-220] - main.lzx changes (background)
+    [OPENMEETINGS-221] - problem: recordings with 1 frame/sec
+    [OPENMEETINGS-240] - jod converter error
+    [OPENMEETINGS-303] - Can not Export new language
+
+Wish
+
+    [OPENMEETINGS-11] - Openmeeting use LDAP as default domain
+    [OPENMEETINGS-20] - Add hideWhiteboard attributes in Room Object and make it possible to configure / editable via Administration > Rooms
+    [OPENMEETINGS-21] - Add hideChat attributes in Room Object and make it possible to configure / editable via Administration > Rooms
+    [OPENMEETINGS-22] - Add hideActivitiesAndActions attributes in Room Object and make it possible to configure / editable via Administration > Rooms
+    [OPENMEETINGS-23] - Add hideFilesExplorer attributes in Room Object and make it possible to configure / editable via Administration > Rooms
+    [OPENMEETINGS-24] - Add hideScreenSharing attributes in Room Object and make it possible to configure / editable via Administration > Rooms
+    [OPENMEETINGS-25] - Add SOAP/REST Call
+    [OPENMEETINGS-78] - datatype of externalUserId
+    [OPENMEETINGS-254] - German System Backup garbled text
+    [OPENMEETINGS-255] - Possibility to disable Show Sip Dialer in Meeting Room
+    [OPENMEETINGS-258] - Combine device settings and audio/video test in single UI
+    [OPENMEETINGS-262] - Document conversion Windows / Linux different
+
diff --git a/DISCLAIMER b/DISCLAIMER
new file mode 100644
index 0000000..261d739
--- /dev/null
+++ b/DISCLAIMER
@@ -0,0 +1,15 @@
+Apache OpenMeetings is an effort undergoing incubation at the Apache Software
+Foundation (ASF), sponsored by the Apache Incubator PMC. 
+
+Incubation is required of all newly accepted projects until a further review 
+indicates that the infrastructure, communications, and decision making process 
+have stabilized in a manner consistent with other successful ASF projects. 
+
+While incubation status is not necessarily a reflection of the completeness 
+or stability of the code, it does indicate that the project has yet to be 
+fully endorsed by the ASF.
+
+For more information about the incubation status of the Rave project you
+can go to the following page:
+
+http://incubator.apache.org/openmeetings/
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..2a168c4
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,1836 @@
+
+Apache OpenMeetings License:
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+   
+======================================================================================================================
+
+Following components are direct work from the Apache OpenMeetings project:
+
+======================================================================================================================
+
+webapps/openmeetings/config.xml
+webapps/openmeetings/default-theme.xml
+webapps/openmeetings/docs/*
+webapps/openmeetings/favicon.ico
+webapps/openmeetings/languages/*
+webapps/openmeetings/main.as3.swf10.swf
+webapps/openmeetings/main.swf8.swf
+webapps/openmeetings/maindebug.as3.swf10.swf
+webapps/openmeetings/maindebug.swf8.swf
+webapps/openmeetings/networktesting-config.xml
+webapps/openmeetings/networktesting-config.xsd
+webapps/openmeetings/openmeetings-config.xsd
+webapps/openmeetings/openmeetings_functions.js
+webapps/openmeetings/screensharing
+webapps/openmeetings/sipindex.html
+webapps/openmeetings/streams/*
+webapps/openmeetings/theme.xsd
+webapps/openmeetings/upload/*
+
+webapps/openmeetings/WEB-INF/openmeetings-applicationContext.xml
+webapps/openmeetings/WEB-INF/red5-web.properties
+webapps/openmeetings/WEB-INF/red5-web.xml
+webapps/openmeetings/WEB-INF/spring-mvc-servlet.xml
+webapps/openmeetings/WEB-INF/velocity.properties
+webapps/openmeetings/WEB-INF/web.xml
+webapps/openmeetings/WEB-INF/classes/logback.xsd
+webapps/openmeetings/WEB-INF/classes/logback-config.xml
+webapps/openmeetings/WEB-INF/classes/META-INF/db2_persistence.xml
+webapps/openmeetings/WEB-INF/classes/META-INF/derby_persistence.xml
+webapps/openmeetings/WEB-INF/classes/META-INF/mysql_persistence.xml
+webapps/openmeetings/WEB-INF/classes/META-INF/oracle_persistence.xml
+webapps/openmeetings/WEB-INF/classes/META-INF/postgres_persistence.xml
+webapps/openmeetings/WEB-INF/conf/axis2.xml
+webapps/openmeetings/WEB-INF/conf/axis2.xsd
+webapps/openmeetings/WEB-INF/services/openmeetings-2.0.0-SNAPSHOT.aar
+webapps/openmeetings/WEB-INF/services/services.list
+webapps/openmeetings/WEB-INF/services/version.aar
+
+webapps/openmeetings/WEB-INF/lib/openmeetings-2.0.0-SNAPSHOT.jar
+webapps/openmeetings/WEB-INF/lib/openmeetings-templates-2.0.0-SNAPSHOT.jar
+webapps/openmeetings/WEB-INF/lib/openmeetings-WebService-2.0.0-SNAPSHOT.jar
+
+webapps/openmeetings/screensharing/icon.jpg
+webapps/openmeetings/screensharing/splashicon.jpg
+webapps/openmeetings/screensharing/openmeetings-screenshare-2.0.0-SNAPSHOT.jar
+
+======================================================================================================================
+
+Further those components are either itself or derivate work from 
+projects licensed under the Apache License 2.0:
+
+======================================================================================================================
+
+red5.jar
+webapps/openmeetings/screensharing/red5-client.jar
+webapps/openmeetings/screensharing/red5.jar
+boot.jar
+red5.bat
+red5.sh
+red5-highperf.sh
+red5-highperf.bat
+red5-debug.sh
+red5-debug.bat
+red5-shutdown.sh
+red5-shutdown.bat
+conf/access.properties
+conf/build_standalone.properties
+conf/catalina.policy
+conf/context.xml
+conf/ehcache.xml
+conf/jee-container-ssl.xml
+conf/jee-container.xml
+conf/keystore
+conf/keystore.jmx
+conf/logback.xml
+conf/no-jee-container.xml
+conf/password.properties
+conf/quartz.properties
+conf/realm.properties
+conf/red5-common.xml
+conf/red5-core.xml
+conf/red5.globals
+conf/red5.policy
+conf/red5.properties
+conf/red5.xml
+conf/tomcat-users.xml
+conf/truststore.jmx
+conf/web.xml
+lib/red5-client.jar
+webapps/red5-default.xml
+webapps/root/biglogo.png
+webapps/root/crossdomain.xml
+webapps/root/favicon.ico
+webapps/root/favicon.png
+webapps/root/flvdemo.html
+webapps/root/gc.jsp
+webapps/root/index.html
+webapps/root/logo.png
+webapps/root/WEB-INF/red5-web.properties
+webapps/root/WEB-INF/red5-web.xml
+webapps/root/WEB-INF/web.xml
+
+
+webapps/openmeetings/WEB-INF/lib/apache-mime4j-core-jar-0.8-SNAPSHOT.jar
+webapps/openmeetings/WEB-INF/lib/axiom-api-bundle-1.2.14-SNAPSHOT.jar
+webapps/openmeetings/WEB-INF/lib/axiom-dom-bundle-1.2.14-SNAPSHOT.jar
+webapps/openmeetings/WEB-INF/lib/axiom-impl-bundle-1.2.14-SNAPSHOT.jar
+webapps/openmeetings/WEB-INF/lib/axis2-jar-1.7.0-SNAPSHOT.jar
+webapps/openmeetings/WEB-INF/lib/axis2-jaxws-jar-1.7.0-SNAPSHOT.jar
+webapps/openmeetings/WEB-INF/lib/axis2-kernel-jar-1.7.0-SNAPSHOT.jar
+webapps/openmeetings/WEB-INF/lib/axis2-metadata-jar-1.7.0-SNAPSHOT.jar
+webapps/openmeetings/WEB-INF/lib/axis2-saaj-jar-1.7.0-SNAPSHOT.jar
+webapps/openmeetings/WEB-INF/lib/axis2-transport-http-bundle-1.7.0-SNAPSHOT.jar
+webapps/openmeetings/WEB-INF/lib/axis2-transport-local-bundle-1.7.0-SNAPSHOT.jar
+webapps/openmeetings/WEB-INF/lib/batik-anim-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-awt-util-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-bridge-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-codec-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-css-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-dom-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-ext-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-extension-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-gui-util-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-gvt-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-parser-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-rasterizer-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-script-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-slideshow-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-squiggle-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-svg-dom-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-svggen-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-svgpp-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-swing-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-transcoder-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-ttf2svg-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-util-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/batik-xml-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/commons-codec-jar-1.6.jar
+webapps/openmeetings/WEB-INF/lib/commons-dbcp-jar-1.4.jar
+webapps/openmeetings/WEB-INF/lib/commons-digester-jar-2.1.jar
+webapps/openmeetings/WEB-INF/lib/commons-fileupload-jar-1.2.jar
+webapps/openmeetings/WEB-INF/lib/commons-httpclient-jar-3.1.jar
+webapps/openmeetings/WEB-INF/lib/commons-io-jar-1.4.jar
+webapps/openmeetings/WEB-INF/lib/commons-lang-jar-2.6.jar
+webapps/openmeetings/WEB-INF/lib/commons-transaction-jar-1.2.jar
+webapps/openmeetings/WEB-INF/lib/derby-jar-10.8.2.2.jar
+webapps/openmeetings/WEB-INF/lib/derbyclient-jar-10.8.2.2.jar
+webapps/openmeetings/WEB-INF/lib/fop-jar-1.0.jar
+webapps/openmeetings/WEB-INF/lib/geronimo-activation_1.1_spec-jar-1.0.2.jar
+webapps/openmeetings/WEB-INF/lib/geronimo-annotation_1.0_spec-jar-1.1.jar
+webapps/openmeetings/WEB-INF/lib/geronimo-javamail_1.4_spec-bundle-1.6.jar
+webapps/openmeetings/WEB-INF/lib/geronimo-jaxws_2.2_spec-bundle-1.0.jar
+webapps/openmeetings/WEB-INF/lib/geronimo-jta_1.1_spec-jar-1.1.jar
+webapps/openmeetings/WEB-INF/lib/geronimo-saaj_1.3_spec-jar-1.0.1.jar
+webapps/openmeetings/WEB-INF/lib/geronimo-stax-api_1.0_spec-bundle-1.0.1.jar
+webapps/openmeetings/WEB-INF/lib/geronimo-ws-metadata_2.0_spec-jar-1.1.2.jar
+webapps/openmeetings/WEB-INF/lib/httpclient-jar-4.2.jar
+webapps/openmeetings/WEB-INF/lib/neethi-bundle-3.0.3-SNAPSHOT.jar
+webapps/openmeetings/WEB-INF/lib/openjpa-bundle-2.2.0.jar
+webapps/openmeetings/WEB-INF/lib/servlet-api-jar-2.5.jar
+webapps/openmeetings/WEB-INF/lib/stax-api-jar-1.0-2.jar
+webapps/openmeetings/WEB-INF/lib/stax2-api-jar-3.1.1.jar
+webapps/openmeetings/WEB-INF/lib/velocity-jar-1.7.jar
+webapps/openmeetings/WEB-INF/lib/velocity-tools-jar-2.0.jar
+webapps/openmeetings/WEB-INF/lib/woden-core-bundle-1.0-SNAPSHOT.jar
+webapps/openmeetings/WEB-INF/lib/woodstox-core-asl-jar-4.1.3.jar
+webapps/openmeetings/WEB-INF/lib/ws-commons-util-jar-1.0.2.jar
+webapps/openmeetings/WEB-INF/lib/wsdl4j-jar-1.6.2.jar
+webapps/openmeetings/WEB-INF/lib/xalan-jar-2.7.0.jar
+webapps/openmeetings/WEB-INF/lib/xml-apis-ext-jar-1.3.04.jar
+webapps/openmeetings/WEB-INF/lib/xml-resolver-jar-1.2.jar
+webapps/openmeetings/WEB-INF/lib/xmlgraphics-commons-jar-1.4.jar
+webapps/openmeetings/WEB-INF/lib/xmlrpc-client-jar-3.1.3.jar
+webapps/openmeetings/WEB-INF/lib/xmlrpc-common-jar-3.1.3.jar
+webapps/openmeetings/WEB-INF/lib/XmlSchema-bundle-1.4.8-SNAPSHOT.jar
+
+webapps/openmeetings/screensharing/commons-beanutils-1.8.3.jar
+webapps/openmeetings/screensharing/commons-codec-1.6.jar
+webapps/openmeetings/screensharing/commons-collections-3.2.1.jar
+webapps/openmeetings/screensharing/ehcache-core-2.5.0.jar
+webapps/openmeetings/screensharing/httpclient-4.2.jar
+webapps/openmeetings/screensharing/httpcore-4.2.1.jar
+webapps/openmeetings/screensharing/mina-core-2.0.4.jar
+webapps/openmeetings/screensharing/spring-beans-3.1.1.RELEASE.jar
+webapps/openmeetings/screensharing/spring-context-3.1.1.RELEASE.jar
+webapps/openmeetings/screensharing/spring-core-3.1.1.RELEASE.jar
+
+lib/cglib-jar-2.2.2.jar
+lib/com.springsource.javax.xml.stream-1.0.1.jar
+lib/com.springsource.net.sf.cglib-2.2.0.jar
+lib/com.springsource.org.antlr-3.1.3.jar
+lib/com.springsource.org.aopalliance-1.0.0.jar
+lib/com.springsource.org.apache.xerces-2.9.1.jar
+lib/com.springsource.org.codehaus.groovy-1.7.0.jar
+lib/com.springsource.org.mozilla.javascript-1.7.0.R2.jar
+lib/com.springsource.org.objectweb.asm-3.2.0.jar
+lib/com.springsource.org.objectweb.asm.commons-3.2.0.jar
+lib/commons-beanutils-1.8.3.jar
+lib/commons-codec-1.6.jar
+lib/commons-collections-3.2.1.jar
+lib/commons-fileupload-jar-1.2.2.jar
+lib/commons-io-jar-2.1.jar
+lib/commons-lang3-3.1.jar
+lib/commons-modeler-2.0.1.jar
+lib/commons-pool-1.5.6.jar
+lib/ehcache-core-2.5.0.jar
+lib/geronimo-jpa_2.0_spec-bundle-1.1.jar
+lib/httpclient-4.2.jar
+lib/httpcore-4.2.1.jar
+lib/mina-core-2.0.4.jar
+lib/mina-integration-beans-2.0.4.jar
+lib/mina-integration-jmx-2.0.4.jar
+lib/org.springframework.aspects-jar-3.1.1.RELEASE.jar
+lib/org.springframework.jdbc-jar-3.1.1.RELEASE.jar
+lib/org.springframework.orm-jar-3.1.1.RELEASE.jar
+lib/org.springframework.transaction-jar-3.1.1.RELEASE.jar
+lib/org.springframework.web.servlet-jar-3.1.1.RELEASE.jar
+lib/quartz-1.8.5.jar
+lib/red5-client.jar
+lib/spring-aop-3.1.1.RELEASE.jar
+lib/spring-asm-3.1.1.RELEASE.jar
+lib/spring-beans-3.1.1.RELEASE.jar
+lib/spring-context-3.1.1.RELEASE.jar
+lib/spring-context-support-3.1.1.RELEASE.jar
+lib/spring-core-3.1.1.RELEASE.jar
+lib/spring-expression-3.1.1.RELEASE.jar
+lib/spring-web-3.1.1.RELEASE.jar
+lib/xmlrpc-2.0.1.jar
+
+plugins/catalina-6.0.32.jar
+plugins/jasper-6.0.32.jar
+plugins/jasper-el-6.0.32.jar
+plugins/jasper-jdt-6.0.29.jar
+plugins/tomcat-coyote-6.0.32.jar
+plugins/tomcat-juli-slf4j-1.5.0.jar
+plugins/tomcatplugin-1.3.jar
+
+======================================================================================================================
+
+   
+APACHE OPENMEETINGS SUBCOMPONENTS:
+
+Apache OpenMeetings includes a number of subcomponents with separate copyright notices
+and license terms. Your use of these subcomponents is subject to the terms and
+conditions of the following licenses.   
+   
+======================================================================================================================
+
+For GlassFish components
+
+activation-jar-1.1.jar
+jsr311-api-jar-1.1.1.jar
+
+COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
+
+1. Definitions.
+
+1.1. Contributor means each individual or entity that creates or contributes to the creation of Modifications.
+
+1.2. Contributor Version means the combination of the Original Software, prior Modifications used by a Contributor (if any), and the Modifications made by that particular Contributor.
+
+1.3. Covered Software means (a) the Original Software, or (b) Modifications, or (c) the combination of files containing Original Software with files containing Modifications, in each case including portions thereof.
+
+1.4. Executable means the Covered Software in any form other than Source Code.
+
+1.5. Initial Developer means the individual or entity that first makes Original Software available under this License.
+
+1.6. Larger Work means a work which combines Covered Software or portions thereof with code not governed by the terms of this License.
+
+1.7. License means this document.
+
+1.8. Licensable means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+1.9. Modifications means the Source Code and Executable form of any of the following:
+
+A. Any file that results from an addition to, deletion from or modification of the contents of a file containing Original Software or previous Modifications;
+
+B. Any new file that contains any part of the Original Software or previous Modification; or
+
+C. Any new file that is contributed or otherwise made available under the terms of this License.
+
+1.10. Original Software means the Source Code and Executable form of computer software code that is originally released under this License.
+
+1.11. Patent Claims means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+1.12. Source Code means (a) the common form of computer software code in which modifications are made and (b) associated documentation included in or with such code.
+
+1.13. You (or Your) means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, You includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, control means (a)áthe power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b)áownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
+
+2. License Grants.
+
+2.1. The Initial Developer Grant.
+Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, the Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license:
+(a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer, to use, reproduce, modify, display, perform, sublicense and distribute the Original Software (or portions thereof), with or without Modifications, and/or as part of a Larger Work; and
+(b) under Patent Claims infringed by the making, using or selling of Original Software, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Software (or portions thereof).
+(c) The licenses granted in Sectionsá2.1(a) and (b) are effective on the date Initial Developer first distributes or otherwise makes the Original Software available to a third party under the terms of this License.
+(d) Notwithstanding Sectioná2.1(b) above, no patent license is granted: (1)áfor code that You delete from the Original Software, or (2)áfor infringements caused by: (i)áthe modification of the Original Software, or (ii)áthe combination of the Original Software with other software or devices.
+
+2.2. Contributor Grant.
+Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:
+(a) under intellectual property rights (other than patent or trademark) Licensable by Contributor to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof), either on an unmodified basis, with other Modifications, as Covered Software and/or as part of a Larger Work; and
+(b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: (1)áModifications made by that Contributor (or portions thereof); and (2)áthe combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+(c) The licenses granted in Sectionsá2.2(a) and 2.2(b) are effective on the date Contributor first distributes or otherwise makes the Modifications available to a third party.
+(d) Notwithstanding Sectioná2.2(b) above, no patent license is granted: (1)áfor any code that Contributor has deleted from the Contributor Version; (2)áfor infringements caused by: (i)áthird party modifications of Contributor Version, or (ii)áthe combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or (3)áunder Patent Claims infringed by Covered Software in the absence of Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+3.1. Availability of Source Code.
+
+Any Covered Software that You distribute or otherwise make available in Executable form must also be made available in Source Code form and that Source Code form must be distributed only under the terms of this License. You must include a copy of this License with every copy of the Source Code form of the Covered Software You distribute or otherwise make available. You must inform recipients of any such Covered Software in Executable form as to how they can obtain such Covered Software in Source Code form in a reasonable manner on or through a medium customarily used for software exchange.
+
+3.2. Modifications.
+
+The Modifications that You create or to which You contribute are governed by the terms of this License. You represent that You believe Your Modifications are Your original creation(s) and/or You have sufficient rights to grant the rights conveyed by this License.
+
+3.3. Required Notices.
+You must include a notice in each of Your Modifications that identifies You as the Contributor of the Modification. You may not remove or alter any copyright, patent or trademark notices contained within the Covered Software, or any notices of licensing or any descriptive text giving attribution to any Contributor or the Initial Developer.
+
+3.4. Application of Additional Terms.
+You may not offer or impose any terms on any Covered Software in Source Code form that alters or restricts the applicable version of this License or the recipients rights hereunder. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, you may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear that any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+3.5. Distribution of Executable Versions.
+You may distribute the Executable form of the Covered Software under the terms of this License or under the terms of a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable form does not attempt to limit or alter the recipients rights in the Source Code form from the rights set forth in this License. If You distribute the Covered Software in Executable form under a different license, You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+3.6. Larger Works.
+You may create a Larger Work by combining Covered Software with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Software.
+
+4. Versions of the License.
+
+4.1. New Versions.
+Sun Microsystems, Inc. is the initial license steward and may publish revised and/or new versions of this License from time to time. Each version will be given a distinguishing version number. Except as provided in Section 4.3, no one other than the license steward has the right to modify this License.
+
+4.2. Effect of New Versions.
+
+You may always continue to use, distribute or otherwise make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. If the Initial Developer includes a notice in the Original Software prohibiting it from being distributed or otherwise made available under any subsequent version of the License, You must distribute and make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. Otherwise, You may also choose to use, distribute or otherwise make the Covered Software available under the terms of any subsequent version of the License published by the license steward.
+4.3. Modified Versions.
+
+When You are an Initial Developer and You want to create a new license for Your Original Software, You may create and use a modified version of this License if You: (a)árename the license and remove any references to the name of the license steward (except to note that the license differs from this License); and (b)áotherwise make it clear that the license contains terms which differ from this License.
+
+5. DISCLAIMER OF WARRANTY.
+
+COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN AS IS BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+6. TERMINATION.
+
+6.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+6.2. If You assert a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You assert such claim is referred to as Participant) alleging that the Participant Software (meaning the Contributor Version where the Participant is a Contributor or the Original Software where the Participant is the Initial Developer) directly or indirectly infringes any patent, then any and all rights granted directly or indirectly to You by such Participant, the Initial Developer (if the Initial Developer is not the Participant) and all Contributors under Sectionsá2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively and automatically at the expiration of such 60 day notice period, unless if within such 60 day period You withdraw Your claim with respect to the Participant Software against such Participant either unilaterally or pursuant to a written agreement with Participant.
+
+6.3. In the event of termination under Sectionsá6.1 or 6.2 above, all end user licenses that have been validly granted by You or any distributor hereunder prior to termination (excluding licenses granted to You by any distributor) shall survive termination.
+
+7. LIMITATION OF LIABILITY.
+
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTYS NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+8. U.S. GOVERNMENT END USERS.
+
+The Covered Software is a commercial item, as that term is defined in 48áC.F.R.á2.101 (Oct. 1995), consisting of commercial computer software (as that term is defined at 48 C.F.R. á252.227-7014(a)(1)) and commercial computer software documentation as such terms are used in 48áC.F.R.á12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Software with only those rights set forth herein. This U.S. Government Rights clause is in lieu of, and supersedes, any other FAR, DFAR, or other clause or provision that addresses Government rights in computer software under this License.
+
+9. MISCELLANEOUS.
+
+This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by the law of the jurisdiction specified in a notice contained within the Original Software (except to the extent applicable law, if any, provides otherwise), excluding such jurisdictions conflict-of-law provisions. Any litigation relating to this License shall be subject to the jurisdiction of the courts located in the jurisdiction and venue specified in a notice contained within the Original Software, with the losing party responsible for costs, including, without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. You agree that You alone are responsible for compliance with the United States export administration regulations (and the export control laws and regulation of any other countries) when You use, distribute or otherwise make available any Covered Software.
+
+10. RESPONSIBILITY FOR CLAIMS.
+
+As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)
+The GlassFish code released under the CDDL shall be governed by the laws of the State of California (excluding conflict-of-law provisions). Any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California and the state courts of the State of California, with venue lying in Santa Clara County, California. 
+   
+======================================================================================================================
+
+For SLF4J:
+
+webapps/openmeetings/screensharing/jcl-over-slf4j-1.6.4.jar
+webapps/openmeetings/screensharing/slf4j-api-1.6.4.jar
+lib/jcl-over-slf4j-1.6.4.jar
+lib/jul-to-slf4j-1.6.4.jar
+lib/log4j-over-slf4j-1.6.4.jar
+lib/slf4j-api-1.6.4.jar
+lib/sysout-over-slf4j-1.0.2.jar
+
+Copyright (c) 2004-2008 QOS.ch
+ All rights reserved.
+
+ Permission is hereby granted, free  of charge, to any person obtaining
+ a  copy  of this  software  and  associated  documentation files  (the
+ "Software"), to  deal in  the Software without  restriction, including
+ without limitation  the rights to  use, copy, modify,  merge, publish,
+ distribute,  sublicense, and/or sell  copies of  the Software,  and to
+ permit persons to whom the Software  is furnished to do so, subject to
+ the following conditions:
+
+ The  above  copyright  notice  and  this permission  notice  shall  be
+ included in all copies or substantial portions of the Software.
+
+ THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+ EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+ MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ 
+ ======================================================================================================================
+ 
+ For backport-util-concurrent-jar-3.1.jar
+ 
+ This software is released to the public domain, in the spirit of the original code written by Doug Lea. 
+ The code can be used for any purpose, modified, and redistributed without acknowledgment. 
+ No warranty is provided, either express or implied. 
+  
+ ======================================================================================================================
+ 
+ For JAXB:
+ 
+jaxb-api-jar-2.2.4.jar
+jaxb-impl-jar-2.2.4.jar
+jaxb-xjc-jar-2.2.4.jar
+jaxws-tools-jar-2.2.5.jar
+ 
+ COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)Version 1.1
+
+1. Definitions.
+
+     1.1. "Contributor" means each individual or entity that creates or contributes to the creation of Modifications.
+
+     1.2. "Contributor Version" means the combination of the Original Software, prior Modifications used by a Contributor (if any), and the Modifications made by that particular Contributor.
+
+     1.3. "Covered Software" means (a) the Original Software, or (b) Modifications, or (c) the combination of files containing Original Software with files containing Modifications, in each case including portions thereof.
+
+     1.4. "Executable" means the Covered Software in any form other than Source Code.
+
+     1.5. "Initial Developer" means the individual or entity that first makes Original Software available under this License.
+
+     1.6. "Larger Work" means a work which combines Covered Software or portions thereof with code not governed by the terms of this License.
+
+     1.7. "License" means this document.
+
+     1.8. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+     1.9. "Modifications" means the Source Code and Executable form of any of the following:
+
+     A. Any file that results from an addition to, deletion from or modification of the contents of a file containing Original Software or previous Modifications;
+
+     B. Any new file that contains any part of the Original Software or previous Modification; or
+
+     C. Any new file that is contributed or otherwise made available under the terms of this License.
+
+     1.10. "Original Software" means the Source Code and Executable form of computer software code that is originally released under this License.
+
+     1.11. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+     1.12. "Source Code" means (a) the common form of computer software code in which modifications are made and (b) associated documentation included in or with such code.
+
+     1.13. "You" (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
+
+2. License Grants.
+
+     2.1. The Initial Developer Grant.
+
+     Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, the Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license:
+
+     (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer, to use, reproduce, modify, display, perform, sublicense and distribute the Original Software (or portions thereof), with or without Modifications, and/or as part of a Larger Work; and
+
+     (b) under Patent Claims infringed by the making, using or selling of Original Software, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Software (or portions thereof).
+
+     (c) The licenses granted in Sections 2.1(a) and (b) are effective on the date Initial Developer first distributes or otherwise makes the Original Software available to a third party under the terms of this License.
+
+     (d) Notwithstanding Section 2.1(b) above, no patent license is granted: (1) for code that You delete from the Original Software, or (2) for infringements caused by: (i) the modification of the Original Software, or (ii) the combination of the Original Software with other software or devices.
+
+     2.2. Contributor Grant.
+
+     Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:
+
+     (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof), either on an unmodified basis, with other Modifications, as Covered Software and/or as part of a Larger Work; and
+
+     (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: (1) Modifications made by that Contributor (or portions thereof); and (2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+
+     (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first distributes or otherwise makes the Modifications available to a third party.
+
+     (d) Notwithstanding Section 2.2(b) above, no patent license is granted: (1) for any code that Contributor has deleted from the Contributor Version; (2) for infringements caused by: (i) third party modifications of Contributor Version, or (ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or (3) under Patent Claims infringed by Covered Software in the absence of Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+     3.1. Availability of Source Code.
+
+     Any Covered Software that You distribute or otherwise make available in Executable form must also be made available in Source Code form and that Source Code form must be distributed only under the terms of this License. You must include a copy of this License with every copy of the Source Code form of the Covered Software You distribute or otherwise make available. You must inform recipients of any such Covered Software in Executable form as to how they can obtain such Covered Software in Source Code form in a reasonable manner on or through a medium customarily used for software exchange.
+
+     3.2. Modifications.
+
+     The Modifications that You create or to which You contribute are governed by the terms of this License. You represent that You believe Your Modifications are Your original creation(s) and/or You have sufficient rights to grant the rights conveyed by this License.
+
+     3.3. Required Notices.
+
+     You must include a notice in each of Your Modifications that identifies You as the Contributor of the Modification. You may not remove or alter any copyright, patent or trademark notices contained within the Covered Software, or any notices of licensing or any descriptive text giving attribution to any Contributor or the Initial Developer.
+
+     3.4. Application of Additional Terms.
+
+     You may not offer or impose any terms on any Covered Software in Source Code form that alters or restricts the applicable version of this License or the recipients' rights hereunder. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, you may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear that any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+     3.5. Distribution of Executable Versions.
+
+     You may distribute the Executable form of the Covered Software under the terms of this License or under the terms of a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable form does not attempt to limit or alter the recipient's rights in the Source Code form from the rights set forth in this License. If You distribute the Covered Software in Executable form under a different license, You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+     3.6. Larger Works.
+
+     You may create a Larger Work by combining Covered Software with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Software.
+
+4. Versions of the License.
+
+     4.1. New Versions.
+
+     Oracle is the initial license steward and may publish revised and/or new versions of this License from time to time. Each version will be given a distinguishing version number. Except as provided in Section 4.3, no one other than the license steward has the right to modify this License.
+
+     4.2. Effect of New Versions.
+
+     You may always continue to use, distribute or otherwise make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. If the Initial Developer includes a notice in the Original Software prohibiting it from being distributed or otherwise made available under any subsequent version of the License, You must distribute and make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. Otherwise, You may also choose to use, distribute or otherwise make the Covered Software available under the terms of any subsequent version of the License published by the license steward.
+
+     4.3. Modified Versions.
+
+     When You are an Initial Developer and You want to create a new license for Your Original Software, You may create and use a modified version of this License if You: (a) rename the license and remove any references to the name of the license steward (except to note that the license differs from this License); and (b) otherwise make it clear that the license contains terms which differ from this License.
+
+5. DISCLAIMER OF WARRANTY.
+
+     COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+6. TERMINATION.
+
+     6.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+     6.2. If You assert a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You assert such claim is referred to as "Participant") alleging that the Participant Software (meaning the Contributor Version where the Participant is a Contributor or the Original Software where the Participant is the Initial Developer) directly or indirectly infringes any patent, then any and all rights granted directly or indirectly to You by such Participant, the Initial Developer (if the Initial Developer is not the Participant) and all Contributors under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively and automatically at the expiration of such 60 day notice period, unless if within such 60 day period You withdraw Your claim with respect to the Participant Software against such Participant either unilaterally or pursuant to a written agreement with Participant.
+
+     6.3. If You assert a patent infringement claim against Participant alleging that the Participant Software directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+
+     6.4. In the event of termination under Sections 6.1 or 6.2 above, all end user licenses that have been validly granted by You or any distributor hereunder prior to termination (excluding licenses granted to You by any distributor) shall survive termination.
+
+7. LIMITATION OF LIABILITY.
+
+     UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+8. U.S. GOVERNMENT END USERS.
+
+     The Covered Software is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" (as that term is defined at 48 C.F.R. ? 252.227-7014(a)(1)) and "commercial computer software documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Software with only those rights set forth herein. This U.S. Government Rights clause is in lieu of, and supersedes, any other FAR, DFAR, or other clause or provision that addresses Government rights in computer software under this License.
+
+9. MISCELLANEOUS.
+
+     This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by the law of the jurisdiction specified in a notice contained within the Original Software (except to the extent applicable law, if any, provides otherwise), excluding such jurisdiction's conflict-of-law provisions. Any litigation relating to this License shall be subject to the jurisdiction of the courts located in the jurisdiction and venue specified in a notice contained within the Original Software, with the losing party responsible for costs, including, without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. You agree that You alone are responsible for compliance with the United States export administration regulations (and the export control laws and regulation of any other countries) when You use, distribute or otherwise make available any Covered Software.
+
+10. RESPONSIBILITY FOR CLAIMS.
+
+     As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+----------
+NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)
+The code released under the CDDL shall be governed by the laws of the State of California (excluding conflict-of-law provisions). Any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California and the state courts of the State of California, with venue lying in Santa Clara County, California.
+
+
+
+
+The GNU General Public License (GPL) Version 2, June 1991
+
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+Preamble
+
+The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
+
+For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
+
+We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
+
+Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
+
+Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
+
+The precise terms and conditions for copying, distribution and modification follow.
+
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
+
+1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
+
+   a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
+
+   b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
+
+   c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
+
+3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
+
+   a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
+   b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
+   c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
+
+If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
+
+4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
+
+6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
+
+7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
+
+This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
+
+8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
+
+9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
+
+10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
+
+NO WARRANTY
+
+11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+END OF TERMS AND CONDITIONS
+
+
+How to Apply These Terms to Your New Programs
+
+If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
+
+   One line to give the program's name and a brief idea of what it does.
+
+   Copyright (C)
+
+   This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
+
+   Gnomovision version 69, Copyright (C) year name of author
+   Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
+
+   Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+   signature of Ty Coon, 1 April 1989
+   Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.
+
+
+"CLASSPATH" EXCEPTION TO THE GPL VERSION 2
+
+Certain source files distributed by Oracle are subject to the following clarification and special exception to the GPL Version 2, but only where Oracle has expressly included in the particular source file's header the words "Oracle designates this particular file as subject to the "Classpath" exception as provided by Oracle in the License file that accompanied this code."
+
+Linking this library statically or dynamically with other modules is making a combined work based on this library.  Thus, the terms and conditions of the GNU General Public License Version 2 cover the whole combination.
+
+As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module.  An independent module is a module which is not derived from or based on this library.  If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so.  If you do not wish to do so, delete this exception statement from your version.
+ 
+======================================================================================================================
+
+For 
+webapps/openmeetings/WEB-INF/lib/jaxen-jar-1.1.1.jar
+
+ $Id: LICENSE.txt,v 1.5 2006/02/05 21:49:04 elharo Exp $
+
+ Copyright 2003-2006 The Werken Company. All Rights Reserved.
+ 
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+  * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+  * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+  * Neither the name of the Jaxen Project nor the names of its
+    contributors may be used to endorse or promote products derived 
+    from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+======================================================================================================================
+
+For mail-jar-1.4.4.jar
+
+COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
+
+1. Definitions.
+
+   1.1. Contributor. means each individual or entity that creates or contributes to the creation of Modifications.
+
+   1.2. Contributor Version. means the combination of the Original Software, prior Modifications used by a Contributor (if any), and the Modifications made by that particular Contributor.
+
+   1.3. Covered Software. means (a) the Original Software, or (b) Modifications, or (c) the combination of files containing Original Software with files containing Modifications, in each case including portions thereof.
+
+   1.4. Executable. means the Covered Software in any form other than Source Code.
+
+   1.5. Initial Developer. means the individual or entity that first makes Original Software available under this License.
+
+   1.6. Larger Work. means a work which combines Covered Software or portions thereof with code not governed by the terms of this License.
+
+   1.7. License. means this document.
+
+   1.8. Licensable. means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+   1.9. Modifications. means the Source Code and Executable form of any of the following:
+
+        A. Any file that results from an addition to, deletion from or modification of the contents of a file containing Original Software or previous Modifications;
+
+        B. Any new file that contains any part of the Original Software or previous Modification; or
+
+        C. Any new file that is contributed or otherwise made available under the terms of this License.
+
+   1.10. Original Software. means the Source Code and Executable form of computer software code that is originally released under this License.
+
+   1.11. Patent Claims. means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+   1.12. Source Code. means (a) the common form of computer software code in which modifications are made and (b) associated documentation included in or with such code.
+
+   1.13. You. (or .Your.) means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, .You. includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, .control. means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
+
+2. License Grants.
+
+      2.1. The Initial Developer Grant.
+
+      Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, the Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license:
+
+         (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer, to use, reproduce, modify, display, perform, sublicense and distribute the Original Software (or portions thereof), with or without Modifications, and/or as part of a Larger Work; and
+
+         (b) under Patent Claims infringed by the making, using or selling of Original Software, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Software (or portions thereof).
+
+        (c) The licenses granted in Sections 2.1(a) and (b) are effective on the date Initial Developer first distributes or otherwise makes the Original Software available to a third party under the terms of this License.
+
+        (d) Notwithstanding Section 2.1(b) above, no patent license is granted: (1) for code that You delete from the Original Software, or (2) for infringements caused by: (i) the modification of the Original Software, or (ii) the combination of the Original Software with other software or devices.
+
+    2.2. Contributor Grant.
+
+    Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:
+
+        (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof), either on an unmodified basis, with other Modifications, as Covered Software and/or as part of a Larger Work; and
+
+        (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: (1) Modifications made by that Contributor (or portions thereof); and (2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+
+        (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first distributes or otherwise makes the Modifications available to a third party.
+
+        (d) Notwithstanding Section 2.2(b) above, no patent license is granted: (1) for any code that Contributor has deleted from the Contributor Version; (2) for infringements caused by: (i) third party modifications of Contributor Version, or (ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or (3) under Patent Claims infringed by Covered Software in the absence of Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+      3.1. Availability of Source Code.
+      Any Covered Software that You distribute or otherwise make available in Executable form must also be made available in Source Code form and that Source Code form must be distributed only under the terms of this License. You must include a copy of this License with every copy of the Source Code form of the Covered Software You distribute or otherwise make available. You must inform recipients of any such Covered Software in Executable form as to how they can obtain such Covered Software in Source Code form in a reasonable manner on or through a medium customarily used for software exchange.
+
+      3.2. Modifications.
+      The Modifications that You create or to which You contribute are governed by the terms of this License. You represent that You believe Your Modifications are Your original creation(s) and/or You have sufficient rights to grant the rights conveyed by this License.
+
+      3.3. Required Notices.
+      You must include a notice in each of Your Modifications that identifies You as the Contributor of the Modification. You may not remove or alter any copyright, patent or trademark notices contained within the Covered Software, or any notices of licensing or any descriptive text giving attribution to any Contributor or the Initial Developer.
+
+      3.4. Application of Additional Terms.
+      You may not offer or impose any terms on any Covered Software in Source Code form that alters or restricts the applicable version of this License or the recipients. rights hereunder. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, you may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear that any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+      3.5. Distribution of Executable Versions.
+      You may distribute the Executable form of the Covered Software under the terms of this License or under the terms of a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable form does not attempt to limit or alter the recipient.s rights in the Source Code form from the rights set forth in this License. If You distribute the Covered Software in Executable form under a different license, You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+      3.6. Larger Works.
+      You may create a Larger Work by combining Covered Software with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Software.
+
+4. Versions of the License.
+
+      4.1. New Versions.
+      Sun Microsystems, Inc. is the initial license steward and may publish revised and/or new versions of this License from time to time. Each version will be given a distinguishing version number. Except as provided in Section 4.3, no one other than the license steward has the right to modify this License.
+
+      4.2. Effect of New Versions.
+      You may always continue to use, distribute or otherwise make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. If the Initial Developer includes a notice in the Original Software prohibiting it from being distributed or otherwise made available under any subsequent version of the License, You must distribute and make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. Otherwise, You may also choose to use, distribute or otherwise make the Covered Software available under the terms of any subsequent version of the License published by the license steward.
+
+      4.3. Modified Versions.
+      When You are an Initial Developer and You want to create a new license for Your Original Software, You may create and use a modified version of this License if You: (a) rename the license and remove any references to the name of the license steward (except to note that the license differs from this License); and (b) otherwise make it clear that the license contains terms which differ from this License.
+
+5. DISCLAIMER OF WARRANTY.
+
+   COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN .AS IS. BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+6. TERMINATION.
+
+      6.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+      6.2. If You assert a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You assert such claim is referred to as .Participant.) alleging that the Participant Software (meaning the Contributor Version where the Participant is a Contributor or the Original Software where the Participant is the Initial Developer) directly or indirectly infringes any patent, then any and all rights granted directly or indirectly to You by such Participant, the Initial Developer (if the Initial Developer is not the Participant) and all Contributors under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively and automatically at the expiration of such 60 day notice period, unless if within such 60 day period You withdraw Your claim with respect to the Participant Software against such Participant either unilaterally or pursuant to a written agreement with Participant.
+
+      6.3. In the event of termination under Sections 6.1 or 6.2 above, all end user licenses that have been validly granted by You or any distributor hereunder prior to termination (excluding licenses granted to You by any distributor) shall survive termination.
+
+7. LIMITATION OF LIABILITY.
+
+   UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY.S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+8. U.S. GOVERNMENT END USERS.
+
+   The Covered Software is a .commercial item,. as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of .commercial computer software. (as that term is defined at 48 C.F.R. º 252.227-7014(a)(1)) and .commercial computer software documentation. as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Software with only those rights set forth herein. This U.S. Government Rights clause is in lieu of, and supersedes, any other FAR, DFAR, or other clause or provision that addresses Government rights in computer software under this License.
+
+9. MISCELLANEOUS.
+
+   This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by the law of the jurisdiction specified in a notice contained within the Original Software (except to the extent applicable law, if any, provides otherwise), excluding such jurisdiction.s conflict-of-law provisions. Any litigation relating to this License shall be subject to the jurisdiction of the courts located in the jurisdiction and venue specified in a notice contained within the Original Software, with the losing party responsible for costs, including, without limitation, court costs and reasonable attorneys. fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. You agree that You alone are responsible for compliance with the United States export administration regulations (and the export control laws and regulation of any other countries) when You use, distribute or otherwise make available any Covered Software.
+
+10. RESPONSIBILITY FOR CLAIMS.
+
+   As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+   NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)
+
+   The code released under the CDDL shall be governed by the laws of the State of California (excluding conflict-of-law provisions). Any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California and the state courts of the State of California, with venue lying in Santa Clara County, California.
+
+
+The GNU General Public License (GPL) Version 2, June 1991
+
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+Preamble
+
+The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
+
+For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
+
+We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
+
+Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
+
+Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
+
+The precise terms and conditions for copying, distribution and modification follow.
+
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
+
+1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
+
+   a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
+
+   b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
+
+   c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
+
+3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
+
+   a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
+   b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
+   c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
+
+If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
+
+4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
+
+6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
+
+7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
+
+This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
+
+8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
+
+9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
+
+10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
+
+NO WARRANTY
+
+11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+END OF TERMS AND CONDITIONS
+
+
+How to Apply These Terms to Your New Programs
+
+If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
+
+   One line to give the program's name and a brief idea of what it does.
+
+   Copyright (C)
+
+   This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
+
+   Gnomovision version 69, Copyright (C) year name of author
+   Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
+
+   Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+   signature of Ty Coon, 1 April 1989
+   Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.
+
+
+"CLASSPATH" EXCEPTION TO THE GPL VERSION 2
+
+Certain source files distributed by Sun Microsystems, Inc. are subject to the following clarification and special exception to the GPL Version 2, but only where Sun has expressly included in the particular source file's header the words
+
+"Sun designates this particular file as subject to the "Classpath" exception as provided by Sun in the License file that accompanied this code."
+
+Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License Version 2 cover the whole combination.
+
+As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module.? An independent module is a module which is not derived from or based on this library.? If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so.? If you do not wish to do so, delete this exception statement from your version.
+
+======================================================================================================================
+
+For wsdl4j-jar-1.6.2.jar
+
+Common Public License - v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+    a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+    b) in the case of each subsequent Contributor:
+
+    i) changes to the Program, and
+
+    ii) additions to the Program;
+
+    where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. 
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+    a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+
+    b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. 
+
+    c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+    d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. 
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+    a) it complies with the terms and conditions of this Agreement; and
+
+    b) its license agreement:
+
+    i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; 
+
+    ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; 
+
+    iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
+
+    iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. 
+
+When the Program is made available in source code form:
+
+    a) it must be made available under this Agreement; and 
+
+    b) a copy of this Agreement must be included with each copy of the Program. 
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
+ 
+======================================================================================================================
+
+For jython-2.5.jar
+
+The Jython License
+A. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING JYTHON
+PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
+
+1. This LICENSE AGREEMENT is between the Python Software Foundation ("PSF"), and the Individual or Organization ("Licensee") accessing and otherwise using this software ("Jython") in source or binary form and its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, PSF hereby grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Jython alone or in any derivative version, provided, however, that PSF's License Agreement and PSF's notice of copyright, i.e., "Copyright (c) 2007 Python Software Foundation; All Rights Reserved" are retained in Jython alone or in any derivative version prepared by Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on or incorporates Jython or any part thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby agrees to include in any such work a brief summary of the changes made to Jython.
+
+4. PSF is making Jython available to Licensee on an "AS IS" basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF JYTHON WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF JYTHON FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING JYTHON, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material breach of its terms and conditions.
+
+7. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between PSF and Licensee. This License Agreement does not grant permission to use PSF trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party.
+
+8. By copying, installing or otherwise using Jython, Licensee agrees to be bound by the terms and conditions of this License Agreement.
+Jython 2.0, 2.1 License
+
+Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Jython Developers All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+        Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+        Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+        Neither the name of the Jython Developers nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+======================================================================================================================
+
+ For Bouncy Castle:
+ 
+ lib/bcprov-jdk16-145.jar
+
+ Copyright (c) 2000 - 2011 The Legion Of The Bouncy Castle (http://www.bouncycastle.org)
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
+ documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
+ persons to whom the Software is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
+ Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ 
+======================================================================================================================
+
+For XPP3: xpp3-jar-1.1.4c.jar
+
+Indiana University Extreme! Lab Software License
+
+Version 1.1.1
+
+Copyright (c) 2002 Extreme! Lab, Indiana University. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+   this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in
+   the documentation and/or other materials provided with the distribution.
+
+3. The end-user documentation included with the redistribution, if any,
+   must include the following acknowledgment:
+
+  "This product includes software developed by the Indiana University
+  Extreme! Lab (http://www.extreme.indiana.edu/)."
+
+Alternately, this acknowledgment may appear in the software itself,
+if and wherever such third-party acknowledgments normally appear.
+
+4. The names "Indiana Univeristy" and "Indiana Univeristy Extreme! Lab"
+must not be used to endorse or promote products derived from this
+software without prior written permission. For written permission,
+please contact http://www.extreme.indiana.edu/.
+
+5. Products derived from this software may not use "Indiana Univeristy"
+name nor may "Indiana Univeristy" appear in their name, without prior
+written permission of the Indiana University.
+
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHORS, COPYRIGHT HOLDERS OR ITS CONTRIBUTORS
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+======================================================================================================================
+
+For XStream Components: xstream-jar-1.4.2.jar
+
+Copyright (c) 2003-2006, Joe Walnes
+Copyright (c) 2006-2007, XStream Committers
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of
+conditions and the following disclaimer. Redistributions in binary form must reproduce
+the above copyright notice, this list of conditions and the following disclaimer in
+the documentation and/or other materials provided with the distribution.
+
+Neither the name of XStream nor the names of its contributors may be used to endorse
+or promote products derived from this software without specific prior written
+permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
+ 
+======================================================================================================================
+
+For ICAL4J components: ical4j-bundle-1.0.3.jar
+
+Copyright (c) 2012, Ben Fortuna
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+	o Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+
+	o Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+
+	o Neither the name of Ben Fortuna nor the names of any other contributors
+may be used to endorse or promote products derived from this software
+without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+======================================================================================================================
+
+For Red5 Components:
+
+ RED5 Open Source Flash Server - http://code.google.com/p/red5/
+ 
+Copyright 2006-2012 by respective authors (see below). All rights reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+ 
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ 
+The Red5 Project (red5@osflash.org)
+Luke Hubbard (luke@codegent.com)
+Dominick Accattato (daccattato@gmail.com)
+Chris Allen (mrchrisallen@gmail.com)
+Joachim Bauch (jojo@struktur.de)
+Mick Herres (mickherres@hotmail.com)
+John Grden (johng@acmewebworks.com)
+Grant Davies (grant@bluetube.com)
+Steven Elliott (steven.s.elliott@gmail.com)
+Jokul Tian (tianxuefeng@gmail.com)
+Steven Gong (steven.gong@gmail.com)
+Paul Gregoire (mondain@gmail.com)
+Michael Klishin (michael.s.klishin@gmail.com)
+Thijs Triemstra (info@collab.nl)
+Dan Rossi (electroteque@gmail.com)
+Anton Lebedevich (mabrek@gmail.com)
+Art Clarke (aclarke@xuggle.com)
+
+
+======================================================================================================================
+
+For JDOM
+ Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin.
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ 1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions, and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions, and the disclaimer that follows
+    these conditions in the documentation and/or other materials
+    provided with the distribution.
+
+ 3. The name "JDOM" must not be used to endorse or promote products
+    derived from this software without prior written permission.  For
+    written permission, please contact <request_AT_jdom_DOT_org>.
+
+ 4. Products derived from this software may not be called "JDOM", nor
+    may "JDOM" appear in their name, without prior written permission
+    from the JDOM Project Management <request_AT_jdom_DOT_org>.
+
+ In addition, we request (but do not require) that you include in the
+ end-user documentation provided with the redistribution and/or in the
+ software itself an acknowledgement equivalent to the following:
+     "This product includes software developed by the
+      JDOM Project (http://www.jdom.org/)."
+ Alternatively, the acknowledgment may be graphical using the logos
+ available at http://www.jdom.org/images/logos.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED.  IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+ This software consists of voluntary contributions made by many
+ individuals on behalf of the JDOM Project and was originally
+ created by Jason Hunter <jhunter_AT_jdom_DOT_org> and
+ Brett McLaughlin <brett_AT_jdom_DOT_org>.  For more information
+ on the JDOM Project, please see <http://www.jdom.org/>.
+ 
+======================================================================================================================
+The following components are BSD Licensed 
+======================================================================================================================
+
+For: dom4j-jar-1.6.1.jar
+
+    Containing Project URL: http://sourceforge.net/projects/dom4j/
+    
+Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+
+Redistribution and use of this software and associated documentation
+("Software"), with or without modification, are permitted provided
+that the following conditions are met:
+
+1. Redistributions of source code must retain copyright
+   statements and notices.  Redistributions must also contain a
+   copy of this document.
+ 
+2. Redistributions in binary form must reproduce the
+   above copyright notice, this list of conditions and the
+   following disclaimer in the documentation and/or other
+   materials provided with the distribution.
+ 
+3. The name "DOM4J" must not be used to endorse or promote
+   products derived from this Software without prior written
+   permission of MetaStuff, Ltd.  For written permission,
+   please contact dom4j-info@metastuff.com.
+ 
+4. Products derived from this Software may not be called "DOM4J"
+   nor may "DOM4J" appear in their names without prior written
+   permission of MetaStuff, Ltd. DOM4J is a registered
+   trademark of MetaStuff, Ltd.
+ 
+5. Due credit should be given to the DOM4J Project - 
+   http://www.dom4j.org
+ 
+THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS
+``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
+NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE.
+
+postgresql-jar-9.1-901.jdbc4.jar
+	Containing Project URL: http://jdbc.postgresql.org
+	
+	The PostgreSQL JDBC driver is distributed under the BSD license, same as the server. The simplest explanation of the licensing terms is that you can do whatever you want with the product and source code as long as you don't claim you wrote it or sue us. You should give it a read though, it's only half a page.
+
+Copyright (c) 1997-2010, PostgreSQL Global Development Group
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+   this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+3. Neither the name of the PostgreSQL Global Development Group nor the names
+   of its contributors may be used to endorse or promote products derived
+   from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+======================================================================================================================
+
+SERP License
+
+File: serp-jar-1.13.1.jar
+
+Copyright (c) 2002-2007, A. Abram White
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without 
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this 
+  list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice, 
+  this list of conditions and the following disclaimer in the documentation 
+  and/or other materials provided with the distribution.
+* Neither the name of 'serp' nor the names of its contributors may
+  be used to endorse or promote products derived from this software without 
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+======================================================================================================================
+ iCal4j - License
+ 
+webapps/openmeetings/WEB-INF/lib/ical4j-bundle-1.0.3.jar
+ 
+======================================================================================================================
+
+Copyright (c) 2012, Ben Fortuna
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+	o Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+
+	o Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+
+	o Neither the name of Ben Fortuna nor the names of any other contributors
+may be used to endorse or promote products derived from this software
+without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+======================================================================================================================
+
+
+For the components:
+
+webapps/openmeetings/embed-compressed.js
+
+webapps/openmeetings/screensharing/logback-classic-1.0.3.jar
+webapps/openmeetings/screensharing/logback-core-1.0.3.jar
+lib/logback-classic-1.0.3.jar
+lib/logback-core-1.0.3.jar
+lib/jruby-1.6.7.2.jar
+
+Eclipse Public License - v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents" mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
+
+
+======================================================================================================================
+
+For component:
+
+lib/jython-standalone-2.5.2.jar
+
+Jython 2.0, 2.1 License
+
+Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Jython Developers All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+        Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+        Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+        Neither the name of the Jython Developers nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 0000000..28f5b3f
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,99 @@
+Apache OpenMeetings

+Copyright 2011-2012 The Apache Software Foundation

+

+This product includes software developed at

+The Apache Software Foundation (http://www.apache.org/).

+

+This product includes icons from FamFamFam Icon Set Silk.

+http://www.famfamfam.com/lab/icons/silk/

+

+This product includes the iCal4J Library

+http://build.mnode.org/projects/ical4j/license.html

+

+======================================================================================================================

+

+OpenMeetings uses components of the Red5 Server (http://code.google.com/p/red5/)

+

+Fllowing components:

+

+red5.jar

+boot.jar

+red5.bat

+red5.sh

+red5-highperf.sh

+red5-highperf.bat

+red5-debug.sh

+red5-debug.bat

+red5-shutdown.sh

+red5-shutdown.bat

+conf/access.properties

+conf/build_standalone.properties

+conf/catalina.policy

+conf/context.xml

+conf/ehcache.xml

+conf/jee-container-ssl.xml

+conf/jee-container.xml

+conf/keystore

+conf/keystore.jmx

+conf/logback.xml

+conf/no-jee-container.xml

+conf/password.properties

+conf/quartz.properties

+conf/realm.properties

+conf/red5-common.xml

+conf/red5-core.xml

+conf/red5.globals

+conf/red5.policy

+conf/red5.properties

+conf/red5.xml

+conf/tomcat-users.xml

+conf/truststore.jmx

+conf/web.xml

+lib/red5-client.jar

+webapps/red5-default.xml

+webapps/root/biglogo.png

+webapps/root/crossdomain.xml

+webapps/root/favicon.ico

+webapps/root/favicon.png

+webapps/root/flvdemo.html

+webapps/root/gc.jsp

+webapps/root/index.html

+webapps/root/logo.png

+webapps/root/WEB-INF/red5-web.properties

+webapps/root/WEB-INF/red5-web.xml

+webapps/root/WEB-INF/web.xml

+

+

+RED5 Open Source Flash Server - http://code.google.com/p/red5/

+ 

+Copyright 2006-2012 by respective authors (see below). All rights reserved.

+

+Licensed under the Apache License, Version 2.0 (the "License");

+you may not use this file except in compliance with the License.

+You may obtain a copy of the License at

+ 

+http://www.apache.org/licenses/LICENSE-2.0

+

+Unless required by applicable law or agreed to in writing, software

+distributed under the License is distributed on an "AS IS" BASIS,

+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+See the License for the specific language governing permissions and

+limitations under the License.

+ 

+The Red5 Project (red5@osflash.org)

+Luke Hubbard (luke@codegent.com)

+Dominick Accattato (daccattato@gmail.com)

+Chris Allen (mrchrisallen@gmail.com)

+Joachim Bauch (jojo@struktur.de)

+Mick Herres (mickherres@hotmail.com)

+John Grden (johng@acmewebworks.com)

+Grant Davies (grant@bluetube.com)

+Steven Elliott (steven.s.elliott@gmail.com)

+Jokul Tian (tianxuefeng@gmail.com)

+Steven Gong (steven.gong@gmail.com)

+Paul Gregoire (mondain@gmail.com)

+Michael Klishin (michael.s.klishin@gmail.com)

+Thijs Triemstra (info@collab.nl)

+Dan Rossi (electroteque@gmail.com)

+Anton Lebedevich (mabrek@gmail.com)

+Art Clarke (aclarke@xuggle.com)

diff --git a/README b/README
new file mode 100644
index 0000000..74d91a8
--- /dev/null
+++ b/README
@@ -0,0 +1,110 @@
+Apache OpenMeetings [Incubating] - README

+Licensed under Apache License 2.0 - http://www.apache.org/licenses/LICENSE-2.0

+--------------------------------------------------------------------------------

+

+

+About

+=====

+Apache Openmeetings [Incubating] provides video conferencing, instant messaging, white board, collaborative 

+document editing and other groupware tools using API functions of the Red5 Streaming 

+Server for Remoting and Streaming. 

+

+

+Release Notes

+=============

+see CHANGES file for detailed log

+

+_Restyled UI_

+The UI has been re-factored to have a common look and fee. Additionally most 

+of the icons are now loaded at runtime. That means you can change colors and icons at 

+runtime without changing the source code. 

+More info: http://incubator.apache.org/openmeetings/themes-and-branding.html

+

+_New Calendar_

+The calendar was completely re-factored and got a new UI that was build from 

+scratch that also adds some new functions. For example it is possible now to password 

+protect invitations send via the calendar. Further the timezone handling has been 

+re-factored and there is now also a SOAP/REST API to handle calendar Events 

+( http://incubator.apache.org/openmeetings/SoapRestAPI.html )

+

+_Integration with Asterisk_

+The application contains now modules to directly integrate OpenMeetings with Asterisk 

+for SIP/VoIP integration. It enables you to dial in as well as dial out of conference 

+room to SIP or landlane phones. 

+More info: http://incubator.apache.org/openmeetings/voip-sip-integration.html

+

+_Install/Backup/Import via command line_

+ Additionally to the Web-Interface you can now do all basic operations via the console. 

+ Just cd to your OpenMeetings installation directory and type “admin” and you will see 

+ all options available (OpenMeetings service should be shut down while doing those operations)

+

+_Using SWF10 for Video Components_

+All audio/video related components now use SWF10 for broadcasting and receiving 

+audio and video signals. That makes it possible to use for example the echo cancellation 

+feature build in the SWF10 Flash Player.

+

+There are a lot more improvements for example to recording, screen sharing and new layout 

+options. To see the full list please review our Release Notes for Version 2.0:

+https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12312720&version=12319197

+

+There are also new Integration Plugins available!

+

+_Integration into Atlassian Jira_

+There is a plugin in our SVN that will be released soon 

+for integration with Atlassian Jira, you can watch a demo here: 

+https://blogs.apache.org/openmeetings/entry/jira_integration_apache_openmeetings_demo

+

+_Integration into Atlassian Confluence_

+Same for Atlassian Confluence Wiki, you can watch 

+a demo here: https://blogs.apache.org/openmeetings/entry/demo_video_about_upcoming_atlassian

+

+_Important Changes_

+OpenOffice service does not need any more to be started. But you have 

+to set the path to OpenOffice (or LibreOffice) and JODConverter tools in 

+OpenMeetings configuration. OpenMeetings (and JODConverter) will start and stop the 

+OpenOffice service when they need it.

+If you are using MySQL: MySQL driver is no more part of the distribution due to license restrictions. 

+You will need to download the JConnector Driver on your own, see:

+http://incubator.apache.org/openmeetings/MySQLConfig.html

+

+_Upgrading from Version 1.9 or prior_

+To update from an old version of OpenMeetings to 2.x 

+you should use the integrated Backup and Import tool that exists since around Version 1.3. 

+You should follow our documentation, 

+see: http://incubator.apache.org/openmeetings/Upgrade.html 

+

+

+Getting Started

+===============

+Please visit the project website for the latest information:

+    http://incubator.apache.org/openmeetings/

+    

+Documentation for Installation and Upgrade:

+    http://incubator.apache.org/openmeetings/installation.html

+    http://incubator.apache.org/openmeetings/Upgrade.html

+

+Along with the developer mailing list archive:

+    http://incubator.apache.org/openmeetings/mail-lists.html

+    

+    

+System Requirements

+===================

+You need a platform that supports Sun Java SE 6.

+

+

+Building and running

+====================

+To build from source code:

+

+  - Requirements:

+    Sources compilation require Sun Java SE 6.

+    The project is built with Apache ANT 1.8.6 or later.

+  

+  - To build the OpenMeetings project run ant in the root directory:

+     ant

+    

+For a detailed documentation on how to build from source and options see:

+    http://incubator.apache.org/openmeetings/BuildInstructions.html

+    

+

+    
\ No newline at end of file
diff --git a/WebContent/META-INF/MANIFEST.MF b/WebContent/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..5e94951
--- /dev/null
+++ b/WebContent/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0

+Class-Path: 

+

diff --git a/WebContent/WEB-INF/openmeetings-applicationContext.xml b/WebContent/WEB-INF/openmeetings-applicationContext.xml
new file mode 100644
index 0000000..c091a6e
--- /dev/null
+++ b/WebContent/WEB-INF/openmeetings-applicationContext.xml
@@ -0,0 +1,272 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor 
+	license agreements. See the NOTICE file distributed with this work for additional 
+	information regarding copyright ownership. The ASF licenses this file to 
+	you under the Apache License, Version 2.0 (the "License"); you may not use 
+	this file except in compliance with the License. You may obtain a copy of 
+	the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required 
+	by applicable law or agreed to in writing, software distributed under the 
+	License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 
+	OF ANY KIND, either express or implied. See the License for the specific 
+	language governing permissions and limitations under the License. -->
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
+	xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
+		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
+		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
+		http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
+	<bean id="entityManagerFactory"
+		class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
+		<property name="persistenceUnitName" value="openmeetings" />
+	</bean>
+	<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
+		<property name="entityManagerFactory" ref="entityManagerFactory" />
+	</bean>
+
+	<bean
+		class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
+
+	<bean id="jpaTransactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
+		<property name="entityManagerFactory" ref="entityManagerFactory" />
+	</bean>
+	<bean id="multipartResolver"
+		class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />
+	<!-- Configures the @Controller programming model -->
+	<mvc:annotation-driven />
+
+	<tx:annotation-driven transaction-manager="jpaTransactionManager" />
+	<context:annotation-config />
+	<context:component-scan base-package="org.openmeetings" />
+
+	<!-- New Class for the Streaming Handlers -->
+	<bean id="web.handler"
+		class="org.openmeetings.app.remote.red5.ScopeApplicationAdapter" />
+	<bean id="openmeetings.ClientListManager" class="org.openmeetings.app.remote.red5.ClientListManager" />
+	<bean id="openmeetings.EmoticonsManager" class="org.openmeetings.app.remote.red5.EmoticonsManager" />
+	<bean id="openmeetings.WhiteBoardObjectListManager"
+		class="org.openmeetings.app.remote.red5.WhiteBoardObjectListManager" />
+	<bean id="openmeetings.WhiteBoardObjectListManagerById"
+		class="org.openmeetings.app.remote.red5.WhiteBoardObjectListManagerById" />
+
+	<!-- Start of Services -->
+	<bean id="xmlcrm.service" class="org.openmeetings.app.remote.MainService" />
+	<bean id="printservice.service" class="org.openmeetings.app.remote.PrintService" />
+	<bean id="pollservice.service" class="org.openmeetings.app.remote.PollService" />
+	<bean id="organisationservice.service" class="org.openmeetings.app.remote.OrganisationService" />
+	<bean id="meetingmemberservice.service" class="org.openmeetings.app.remote.MeetingMemberService" />
+	<bean id="languageservice.service" class="org.openmeetings.app.remote.LanguageService" />
+	<bean id="invitationservice.service" class="org.openmeetings.app.remote.InvitationService" />
+	<bean id="ldapconfigservice.service" class="org.openmeetings.app.remote.LdapConfigService" />
+	<bean id="whiteboardservice.service" class="org.openmeetings.app.remote.WhiteBoardService" />
+	<bean id="userservice.service" class="org.openmeetings.app.remote.UserService" />
+	<bean id="fileservice.service" class="org.openmeetings.app.remote.ConferenceLibrary" />
+	<bean id="openmeetings.FileProcessor" class="org.openmeetings.app.data.file.FileProcessor" />
+	<bean id="openmeetings.FlvExplorerConverter"
+		class="org.openmeetings.app.data.flvrecord.converter.FlvExplorerConverter" />
+	<bean id="errorservice.service" class="org.openmeetings.app.remote.ErrorService" />
+	<bean id="conferenceservice.service" class="org.openmeetings.app.remote.ConferenceService" />
+	<bean id="configservice.service" class="org.openmeetings.app.remote.ConfigurationService" />
+	<bean id="chatservice.service" class="org.openmeetings.app.remote.ChatService" />
+	<bean id="calendarservice.service" class="org.openmeetings.app.remote.CalendarService" />
+	<bean id="flvrecorderservice.service" class="org.openmeetings.app.remote.FLVRecorderService" />
+	<bean id="openmeetings.FlvRecorderConverterTask"
+		class="org.openmeetings.app.data.flvrecord.converter.FlvRecorderConverterTask" />
+	<bean id="openmeetings.FlvInterviewConverterTask"
+		class="org.openmeetings.app.data.flvrecord.converter.FlvInterviewConverterTask" />
+	<bean id="openmeetings.FlvInterviewReConverterTask"
+		class="org.openmeetings.app.data.flvrecord.converter.FlvInterviewReConverterTask" />
+	<bean id="openmeetings.FlvInterviewConverter"
+		class="org.openmeetings.app.data.flvrecord.converter.FlvInterviewConverter" />
+	<bean id="openmeetings.FlvRecorderConverter"
+		class="org.openmeetings.app.data.flvrecord.converter.FlvRecorderConverter" />
+	<bean id="openmeetings.SessionClearJob" class="org.openmeetings.app.quartz.scheduler.SessionClearJob" />
+	<bean id="sessionClearJob"
+		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
+		<property name="targetObject">
+			<ref bean="openmeetings.SessionClearJob" />
+		</property>
+		<property name="targetMethod">
+			<value>doIt</value>
+		</property>
+		<property name="concurrent" value="false" />
+	</bean>
+	<bean id="triggerSessionClear" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
+		<property name="jobDetail">
+			<!-- see the example of method invoking job above -->
+			<ref bean="sessionClearJob" />
+		</property>
+		<property name="startDelay">
+			<!-- 5 seconds -->
+			<value>5000</value>
+		</property>
+		<property name="repeatInterval">
+			<!-- repeat every 300 seconds == 5 minutes -->
+			<value>300000</value>
+		</property>
+	</bean>
+	<bean id="openmeetings.MeetingReminderJob"
+		class="org.openmeetings.app.quartz.scheduler.MeetingReminderJob" />
+	<bean id="meetingReminderClear"
+		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
+		<property name="targetObject">
+			<ref bean="openmeetings.MeetingReminderJob" />
+		</property>
+		<property name="targetMethod">
+			<value>doIt</value>
+		</property>
+		<property name="concurrent" value="false" />
+	</bean>
+	<bean id="triggerMeetingReminder" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
+		<property name="jobDetail">
+			<!-- see the example of method invoking job above -->
+			<ref bean="meetingReminderClear" />
+		</property>
+		<property name="startDelay">
+			<!-- 5 seconds -->
+			<value>5000</value>
+		</property>
+		<property name="repeatInterval">
+			<!-- repeat every 100 seconds -->
+			<value>100000</value>
+		</property>
+	</bean>
+	<bean id="testSetupCleanupJob" class="org.openmeetings.app.quartz.scheduler.TestSetupCleanupJob"/>
+	<bean id="testSetupCleanup" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
+		<property name="targetObject">
+			<ref bean="testSetupCleanupJob" />
+		</property>
+		<property name="targetMethod">
+			<value>doIt</value>
+		</property>
+		<property name="concurrent" value="false" />
+	</bean>
+	<bean id="triggerTestSetupCleanup" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
+		<property name="jobDetail">
+			<ref bean="testSetupCleanup" />
+		</property>
+		<property name="startDelay">
+			<value>1800000</value> <!--  30 minutes -->
+		</property>
+		<property name="repeatInterval">
+			<value>1800000</value> <!--  30 minutes -->
+		</property>
+	</bean>
+	<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
+		<property name="triggers">
+			<list>
+				<ref local="triggerSessionClear" />
+				<ref local="triggerMeetingReminder" />
+				<ref local="triggerTestSetupCleanup" />
+			</list>
+		</property>
+	</bean>
+	<!-- End of Services -->
+
+	<!-- Interface Transactional -->
+	<bean id="appointmentReminderTypDaoImpl"
+		class="org.openmeetings.app.data.calendar.daos.AppointmentReminderTypDaoImpl" />
+	<bean id="appointmentCategoryDaoImpl"
+		class="org.openmeetings.app.data.calendar.daos.AppointmentCategoryDaoImpl" />
+	<bean id="roommanagement" class="org.openmeetings.app.data.conference.Roommanagement" />
+	<bean id="organisationmanagement" class="org.openmeetings.app.data.user.Organisationmanagement" />
+	<bean id="salutationmanagement" class="org.openmeetings.app.data.user.Salutationmanagement" />
+	<bean id="errorManagement" class="org.openmeetings.app.data.basic.ErrorManagement" />
+	<bean id="navimanagement" class="org.openmeetings.app.data.basic.Navimanagement" />
+	<bean id="pollManagement" class="org.openmeetings.app.data.conference.PollManagement" />
+	<bean id="omTimeZoneDaoImpl" class="org.openmeetings.app.data.basic.dao.OmTimeZoneDaoImpl" />
+	<bean id="statemanagement" class="org.openmeetings.app.data.user.Statemanagement" />
+	<bean id="fieldLanguageDaoImpl" class="org.openmeetings.app.data.basic.FieldLanguageDaoImpl" />
+	<bean id="fieldmanagment" class="org.openmeetings.app.data.basic.Fieldmanagment" />
+	<bean id="cfgManagement" class="org.openmeetings.app.data.basic.Configurationmanagement" />
+	<bean id="appointmentDao"
+		class="org.openmeetings.app.data.calendar.daos.AppointmentDaoImpl" />
+	<bean id="appointmentLogic"
+		class="org.openmeetings.app.data.calendar.management.AppointmentLogic" />
+	<bean id="meetingMemberLogic"
+		class="org.openmeetings.app.data.calendar.management.MeetingMemberLogic" />
+	<bean id="sessionManagement" class="org.openmeetings.app.data.basic.Sessionmanagement" />
+	<bean id="userManagement" class="org.openmeetings.app.data.user.Usermanagement" />
+	<bean id="roomModeratorsDao"
+		class="org.openmeetings.app.data.conference.dao.RoomModeratorsDaoImpl" />
+	<bean id="conferenceLogDao" class="org.openmeetings.app.data.logs.ConferenceLogDaoImpl" />
+	<bean id="conferenceLogTypeDao" class="org.openmeetings.app.data.logs.ConferenceLogTypeDaoImpl" />
+	<bean id="emailManagement" class="org.openmeetings.app.data.user.Emailmanagement" />
+	<bean id="fileExplorerItemDao"
+		class="org.openmeetings.app.data.file.dao.FileExplorerItemDaoImpl" />
+	<bean id="flvRecordingDao" class="org.openmeetings.app.data.flvrecord.FlvRecordingDaoImpl" />
+	<bean id="flvRecordingLogDao"
+		class="org.openmeetings.app.data.flvrecord.FlvRecordingLogDaoImpl" />
+	<bean id="flvRecordingMetaDataDao"
+		class="org.openmeetings.app.data.flvrecord.FlvRecordingMetaDataDaoImpl" />
+	<bean id="flvRecordingMetaDeltaDao"
+		class="org.openmeetings.app.data.flvrecord.FlvRecordingMetaDeltaDaoImpl" />
+	<bean id="ldapConfigDao" class="org.openmeetings.app.data.basic.dao.LdapConfigDaoImpl" />
+	<bean id="invitationManagement"
+		class="org.openmeetings.app.data.conference.Invitationmanagement" />
+	<bean id="meetingMemberDao"
+		class="org.openmeetings.app.data.calendar.daos.MeetingMemberDaoImpl" />
+	<bean id="openXGReturnObjectDao"
+		class="org.openmeetings.app.sip.xmlrpc.custom.dao.OpenXGReturnObjectDaoImpl" />
+	<bean id="privateMessageFolderDao"
+		class="org.openmeetings.app.data.user.dao.PrivateMessageFolderDaoImpl" />
+	<bean id="privateMessagesDao"
+		class="org.openmeetings.app.data.user.dao.PrivateMessagesDaoImpl" />
+	<bean id="soapLoginDao" class="org.openmeetings.app.data.basic.dao.SOAPLoginDaoImpl" />
+	<bean id="userContactsDao" class="org.openmeetings.app.data.user.dao.UserContactsDaoImpl" />
+	<bean id="userSipDataDao" class="org.openmeetings.app.data.user.dao.UserSipDataDaoImpl" />
+	<bean id="usersDao" class="org.openmeetings.app.data.user.dao.UsersDaoImpl" />
+
+	<!-- No Interface -->
+	<bean id="manageCryptStyle" class="org.openmeetings.utils.crypt.ManageCryptStyle" />
+	<bean id="openXGHttpClient" class="org.openmeetings.app.sip.xmlrpc.OpenXGHttpClient" />
+    <bean id="asteriskDbSipClient" class="org.openmeetings.app.sip.api.impl.asterisk.AsteriskDbSipClient" />
+    <bean id="asteriskDAO" class="org.openmeetings.app.sip.api.impl.asterisk.dao.AsteriskDAOImpl" />
+    <bean id="generateImage" class="org.openmeetings.app.documents.GenerateImage" />
+	<bean id="generateThumbs" class="org.openmeetings.app.documents.GenerateThumbs" />
+	<bean id="generatePDF" class="org.openmeetings.app.documents.GeneratePDF" />
+	<bean id="mailHandler" class="org.openmeetings.utils.mail.MailHandler" />
+	<bean id="feedbackManagement" class="org.openmeetings.app.data.conference.Feedbackmanagement" />
+	<bean id="importInitvalues" class="org.openmeetings.app.installation.ImportInitvalues" />
+	<bean id="languageImport" class="org.openmeetings.app.xmlimport.LanguageImport" />
+	<bean id="userImport" class="org.openmeetings.app.xmlimport.UserImport" />
+	<bean id="libraryWmlLoader" class="org.openmeetings.app.documents.LibraryWmlLoader" />
+	<bean id="loadAtomRssFeed" class="org.openmeetings.app.rss.LoadAtomRssFeed" />
+	<bean id="authLevelManagement" class="org.openmeetings.app.data.basic.AuthLevelmanagement" />
+	<bean id="generateSWF" class="org.openmeetings.app.documents.GenerateSWF" />
+	<bean id="fileUtils" class="org.openmeetings.app.data.file.FileUtils" />
+	<bean id="ldapLoginManagement" class="org.openmeetings.app.ldap.LdapLoginManagement" />
+	<bean id="timezoneUtil" class="org.openmeetings.utils.math.TimezoneUtil" />
+
+
+	<!-- Templates -->
+	<bean id="registerUserTemplate" class="org.openmeetings.app.templates.RegisterUserTemplate" />
+	<bean id="feedbackTemplate" class="org.openmeetings.app.templates.FeedbackTemplate" />
+	<bean id="invitationTemplate" class="org.openmeetings.app.templates.InvitationTemplate" />
+	<bean id="requestContactTemplate" class="org.openmeetings.app.templates.RequestContactTemplate" />
+	<bean id="requestContactConfirmTemplate"
+		class="org.openmeetings.app.templates.RequestContactConfirmTemplate" />
+	<bean id="resetPasswordTemplate" class="org.openmeetings.app.templates.ResetPasswordTemplate" />
+
+	<!-- Thread Executor -->
+	<bean id="taskExecutor"
+		class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
+		<property name="corePoolSize" value="5" />
+		<property name="maxPoolSize" value="10" />
+		<property name="queueCapacity" value="25" />
+	</bean>
+
+	<bean id="mailThread" class="org.openmeetings.utils.mail.MailThread"/>
+	<bean id="mailiCalThread" class="org.openmeetings.utils.mail.MailiCalThread"/>
+
+	<!-- Axis2 Service Proxy's -->
+	<bean id="userWebService" class="org.openmeetings.axis.services.UserWebService" />
+	<bean id="roomWebService" class="org.openmeetings.axis.services.RoomWebService" />
+	<bean id="fileWebService" class="org.openmeetings.axis.services.FileWebService" />
+	<bean id="calendarWebService" class="org.openmeetings.axis.services.CalendarWebService" />
+  	<bean id="jabberWebService" class="org.openmeetings.axis.services.JabberWebService" />
+
+	<!-- Servlet Facade Beans -->
+	<bean id="backupExport" class="org.openmeetings.servlet.outputhandler.BackupExport" />
+
+</beans>
diff --git a/WebContent/WEB-INF/red5-web.properties b/WebContent/WEB-INF/red5-web.properties
new file mode 100644
index 0000000..9d0ea87
--- /dev/null
+++ b/WebContent/WEB-INF/red5-web.properties
@@ -0,0 +1 @@
+webapp.virtualHosts=*,localhost, 127.0.0.1
diff --git a/WebContent/WEB-INF/red5-web.xml b/WebContent/WEB-INF/red5-web.xml
new file mode 100644
index 0000000..c67008a
--- /dev/null
+++ b/WebContent/WEB-INF/red5-web.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
+<beans>
+    
+    <bean id="red5WebPlaceholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
+    	<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_FALLBACK"/>
+        <property name="location" value="/WEB-INF/red5-web.properties" />
+    </bean>
+    
+    <bean id="web.context" class="org.red5.server.Context" autowire="byType" />
+    
+    <bean id="web.scope" class="org.red5.server.scope.WebScope" init-method="register">
+        <property name="server" ref="red5.server" />
+        <property name="parent" ref="global.scope" />
+        <property name="context" ref="web.context" />
+        <property name="handler" ref="web.handler" />
+        <property name="contextPath" value="${webapp.contextPath}" />
+        <property name="virtualHosts" value="${webapp.virtualHosts}" />
+    </bean>
+    
+	<import resource="openmeetings-applicationContext.xml" />
+</beans>
diff --git a/WebContent/WEB-INF/services/services.list b/WebContent/WEB-INF/services/services.list
new file mode 100644
index 0000000..7910cc1
--- /dev/null
+++ b/WebContent/WEB-INF/services/services.list
@@ -0,0 +1 @@
+version.aar
\ No newline at end of file
diff --git a/WebContent/WEB-INF/services/version.aar b/WebContent/WEB-INF/services/version.aar
new file mode 100644
index 0000000..4408130
--- /dev/null
+++ b/WebContent/WEB-INF/services/version.aar
Binary files differ
diff --git a/WebContent/WEB-INF/spring-mvc-servlet.xml b/WebContent/WEB-INF/spring-mvc-servlet.xml
new file mode 100644
index 0000000..4f02eb6
--- /dev/null
+++ b/WebContent/WEB-INF/spring-mvc-servlet.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?> 
+<beans	xmlns="http://www.springframework.org/schema/beans"
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd" 
+/>
+
diff --git a/WebContent/WEB-INF/velocity.properties b/WebContent/WEB-INF/velocity.properties
new file mode 100644
index 0000000..672827b
--- /dev/null
+++ b/WebContent/WEB-INF/velocity.properties
@@ -0,0 +1,23 @@
+#
+# specify three resource loaders to use
+#
+resource.loader = file, class
+
+#
+# for the loader we call 'file', set the FileResourceLoader as the
+# class to use, turn off caching
+#
+file.resource.loader.description = Velocity File Resource Loader
+file.resource.loader.class = org.apache.velocity.runtime.resource.loader.FileResourceLoader
+file.resource.loader.path = ./classes
+file.resource.loader.cache = false
+file.resource.loader.modificationCheckInterval = 0
+
+input.encoding=UTF-8
+output.encoding=UTF-8
+
+#
+#  for the loader we call 'class', use the ClasspathResourceLoader
+#
+class.resource.loader.description = Velocity Classpath Resource Loader
+class.resource.loader.class = org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
\ No newline at end of file
diff --git a/WebContent/WEB-INF/web.xml b/WebContent/WEB-INF/web.xml
new file mode 100644
index 0000000..6770140
--- /dev/null
+++ b/WebContent/WEB-INF/web.xml
@@ -0,0 +1,235 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+    <context-param>
+        <param-name>globalScope</param-name>
+        <param-value>default</param-value>
+    </context-param>
+    
+	<welcome-file-list>
+		<welcome-file>sipindex.html</welcome-file>
+		<welcome-file>login.html</welcome-file>
+		<welcome-file>index.html</welcome-file>
+		<welcome-file>index.htm</welcome-file>
+		<welcome-file>networktesting.swf10.swf</welcome-file>
+	</welcome-file-list>
+    
+    <!-- Custom logging like described in Paul Gregoire Patch: 
+    http://gregoire.org/2008/09/18/logging-work-around/
+    THIS WILL NOT WORK for us as we can hardly rewrite all logging statements of hibernate
+    
+    -->
+    <listener>
+        <listener-class>org.openmeetings.utils.OMContextListener</listener-class>
+    </listener>
+    
+    <filter>
+        <filter-name>LoggerContextFilter</filter-name>
+        <filter-class>org.red5.logging.LoggerContextFilter</filter-class>
+    </filter>
+    
+    <filter-mapping>
+        <filter-name>LoggerContextFilter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>   
+    
+    <filter>
+        <filter-name>ServletRequestExFilter</filter-name>
+        <filter-class>org.openmeetings.servlet.outputhandler.ServletRequestExFilter</filter-class>
+        <init-param>
+            <param-name>uriEncoding</param-name>
+            <param-value>UTF-8</param-value>
+        </init-param>
+    </filter>   
+ 
+    
+    <filter-mapping>
+        <filter-name>ServletRequestExFilter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+    
+    <context-param>
+        <param-name>contextConfigLocation</param-name>
+        <param-value>/WEB-INF/red5-*.xml</param-value>
+    </context-param>
+    <context-param>
+        <param-name>locatorFactorySelector</param-name>
+        <param-value>red5.xml</param-value>
+    </context-param>
+    <context-param>
+        <param-name>parentContextKey</param-name>
+        <param-value>default.context</param-value>
+    </context-param>
+    
+    <!-- remove the following servlet tags if you want to disable remoting for this application -->
+	<servlet>
+		<servlet-name>spring-mvc</servlet-name>
+		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
+	</servlet>
+    <servlet>
+        <servlet-name>gateway</servlet-name>
+        <servlet-class>org.red5.server.net.servlet.AMFGatewayServlet</servlet-class>
+    </servlet>
+    <servlet>
+        <servlet-name>DownloadHandler</servlet-name>
+        <servlet-class>org.openmeetings.servlet.outputhandler.DownloadHandler</servlet-class>
+    </servlet>
+    <servlet>
+        <servlet-name>Install</servlet-name>
+        <servlet-class>org.openmeetings.servlet.outputhandler.Install</servlet-class>
+    </servlet>
+    <servlet>
+        <servlet-name>ScreenRequestHandler</servlet-name>
+        <servlet-class>org.openmeetings.servlet.outputhandler.ScreenRequestHandler</servlet-class>
+    </servlet>
+    <servlet>
+        <servlet-name>LangExport</servlet-name>
+        <servlet-class>org.openmeetings.servlet.outputhandler.LangExport</servlet-class>
+    </servlet>
+    <servlet>
+        <servlet-name>Export</servlet-name>
+        <servlet-class>org.openmeetings.servlet.outputhandler.Export</servlet-class>
+    </servlet>
+    <servlet>
+        <servlet-name>ExportToImage</servlet-name>
+        <servlet-class>org.openmeetings.servlet.outputhandler.ExportToImage</servlet-class>
+    </servlet>
+    <servlet>
+        <servlet-name>ActivateUser</servlet-name>
+        <servlet-class>org.openmeetings.servlet.outputhandler.ActivateUser</servlet-class>
+    </servlet>
+    <!-- Axis2 Settings -->
+    <servlet>
+        <servlet-name>AxisServlet</servlet-name>
+        <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+    <servlet>
+        <servlet-name>ServerUDP</servlet-name>
+        <servlet-class>org.openmeetings.server.servlets.ServerOutputHandler</servlet-class>
+    </servlet>
+    <servlet>
+		<servlet-name>Calendar</servlet-name>
+		<servlet-class>org.openmeetings.servlet.outputhandler.CalendarServlet</servlet-class>
+	</servlet>
+    <servlet>
+        <description>DefaultIndex</description>
+        <display-name>DefaultIndex</display-name>
+        <servlet-name>DefaultIndex</servlet-name>
+        <servlet-class>org.openmeetings.servlet.outputhandler.DefaultIndex</servlet-class>
+    </servlet> 
+    <servlet>
+        <description>BackupExport</description>
+        <display-name>BackupExport</display-name>
+        <servlet-name>BackupExport</servlet-name>
+        <servlet-class>org.openmeetings.servlet.outputhandler.BackupExportFacade</servlet-class>
+    </servlet>
+	
+	<servlet-mapping>
+		<servlet-name>spring-mvc</servlet-name>
+		<url-pattern>*.upload</url-pattern>
+	</servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>DownloadHandler</servlet-name>
+        <url-pattern>/DownloadHandler</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>Install</servlet-name>
+        <url-pattern>/Install</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>Install</servlet-name>
+        <url-pattern>/install</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>ScreenRequestHandler</servlet-name>
+        <url-pattern>/ScreenRequestHandler</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>LangExport</servlet-name>
+        <url-pattern>/LangExport</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>Export</servlet-name>
+        <url-pattern>/Export</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>ExportToImage</servlet-name>
+        <url-pattern>/ExportToImage</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>ActivateUser</servlet-name>
+        <url-pattern>/activateUser</url-pattern>
+    </servlet-mapping>
+    <!-- Axis2 -->
+    <servlet-mapping>
+        <servlet-name>AxisServlet</servlet-name>
+        <url-pattern>/services/*</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>ServerUDP</servlet-name>
+        <url-pattern>/serverUDP</url-pattern>
+    </servlet-mapping>
+	<servlet-mapping>
+		<servlet-name>Calendar</servlet-name>
+		<url-pattern>/Calendar</url-pattern>
+	</servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>DefaultIndex</servlet-name>
+        <url-pattern>/sipindex.html</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>BackupExport</servlet-name>
+        <url-pattern>/BackupExport</url-pattern>
+    </servlet-mapping>
+    <mime-mapping>
+        <extension>inc</extension>
+        <mime-type>text/plain</mime-type>
+    </mime-mapping>
+     
+    <security-constraint>
+        <web-resource-collection>
+            <web-resource-name>Forbidden</web-resource-name>
+            <url-pattern>/streams/*</url-pattern>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>Forbidden</web-resource-name>
+            <url-pattern>/conf/*</url-pattern>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>Forbidden</web-resource-name>
+            <url-pattern>/upload/*</url-pattern>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>Forbidden</web-resource-name>
+            <url-pattern>/uploadtemp/*</url-pattern>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>Forbidden</web-resource-name>
+            <url-pattern>/jod/*</url-pattern>
+        </web-resource-collection>
+        <auth-constraint/>
+    </security-constraint>
+    <login-config>
+        <auth-method>BASIC</auth-method>
+    </login-config>
+</web-app>
diff --git a/WebContent/conf/om_ldap.cfg b/WebContent/conf/om_ldap.cfg
new file mode 100644
index 0000000..4045056
--- /dev/null
+++ b/WebContent/conf/om_ldap.cfg
@@ -0,0 +1,88 @@
+#

+# Licensed to the Apache Software Foundation (ASF) under one

+# or more contributor license agreements.  See the NOTICE file

+# distributed with this work for additional information

+# regarding copyright ownership.  The ASF licenses this file

+# to you under the Apache License, Version 2.0 (the

+# "License"); you may not use this file except in compliance

+# with the License.  You may obtain a copy of the License at

+# 

+#     http://www.apache.org/licenses/LICENSE-2.0

+#         

+# Unless required by applicable law or agreed to in writing,

+# software distributed under the License is distributed on an

+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+# KIND, either express or implied.  See the License for the

+# specific language governing permissions and limitations

+# under the License.

+# 

+#ConfigurationFile for LDAP Auth

+#ConfigKey 'ldap_config_path' must be set in DataBase Configration of OM and point to this file

+#o.becherer,14.01.2009

+

+#specify the LDAP Server type

+# This parameter specifies the type of LDAP server your are defining

+# 

+# Supported values are "OpenLDAP" and "AD" for Active Directory (defaults to AD).

+ldap_server_type=OpenLDAP

+

+#LDAP URL

+# This is the URL used to access your LDAP server.

+

+# can be a simple URL like: 

+#   ldap_conn_url=ldap://myldap.myorg.com

+# or a list of simple URL separated by a space as in: 

+#   ldap_conn_url=ldap://myldap.myorg.com ldap://myldap2.myorg.com 

+# if you want to use "ldaps://" links, please be aware that you need to import your CA certificate

+#  to a java keystore and add the -Djavax.net.ssl.keyStore, -Djavax.net.ssl.keyStorePassword,

+#  -Djavax.net.ssl.trustStore and -Djavax.net.ssl.trustStorePassword parameters to your 

+#  JAVA_OPT environment

+ldap_conn_url=ldap://dc2.medint.local:389

+

+#Login distinguished name (DN) for Authentification on LDAP Server - keep emtpy if not requiered

+# Use DN with with ":" instead of "=". The conversion will be done in OM

+ldap_admin_dn=CN:dummy,OU:external users,OU:Other,DC:medint,DC:local

+

+#Loginpass for Authentification on LDAP Server - keep emtpy if not requiered

+ldap_passwd=dummy07

+

+#base to search for userdata(of user, that wants to login)

+# Use DN with with ":" instead of "=". The conversion will be done in OM

+ldap_search_base=OU:Company,DC:medint,DC:local

+

+# Fieldnames (can differ between Ldap servers) 

+field_user_principal=uid

+

+# Ldap auth type(SIMPLE,NONE)

+#  When using SIMPLE a simple bind is performed on the LDAP server to check user authentication

+#  When using NONE, the Ldap server is not used for authentication

+ldap_auth_type=SIMPLE

+

+# Ldap-password synchronization to OM DB

+#  Set this to 'yes' if you want OM to synchronize the user Ldap-password to OM's internal DB

+#  This enables local login of users if the ldap server is offline.

+#  If you want to disable the feature, set this to 'no'.

+#  Defautl value is 'yes'

+ldap_sync_password_to_om=yes

+

+

+# Ldap user attributes mapping

+# Set the following internal OM user attributes to their corresponding Ldap-attribute

+ldap_user_attr_lastname=sn

+ldap_user_attr_firstname=givenName

+ldap_user_attr_mail=mail

+ldap_user_attr_street=streetAddress

+ldap_user_attr_additionalname=description

+ldap_user_attr_fax=facsimileTelephoneNumber

+ldap_user_attr_zip=postalCode

+ldap_user_attr_country=co

+ldap_user_attr_town=l

+ldap_user_attr_phone=telephoneNumber

+

+# optional

+# the timezone has to mach an entry in the OpenMeetings table "omtimezones" otherwise the user will get

+# the timezone defined in the value of the conf_key "default.timezone" in OpenMeetings "configurations" table

+#ldap_user_timezone=timezone

+

+# Ldap ignore upper/lower case, convert all input to lower case

+ldap_use_lower_case=false

diff --git a/WebContent/conf/sample_openldap_om_ldap.cfg b/WebContent/conf/sample_openldap_om_ldap.cfg
new file mode 100644
index 0000000..8a7e9ce
--- /dev/null
+++ b/WebContent/conf/sample_openldap_om_ldap.cfg
@@ -0,0 +1,50 @@
+#

+# Licensed to the Apache Software Foundation (ASF) under one

+# or more contributor license agreements.  See the NOTICE file

+# distributed with this work for additional information

+# regarding copyright ownership.  The ASF licenses this file

+# to you under the Apache License, Version 2.0 (the

+# "License"); you may not use this file except in compliance

+# with the License.  You may obtain a copy of the License at

+# 

+#     http://www.apache.org/licenses/LICENSE-2.0

+#         

+# Unless required by applicable law or agreed to in writing,

+# software distributed under the License is distributed on an

+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+# KIND, either express or implied.  See the License for the

+# specific language governing permissions and limitations

+# under the License.

+# 

+#ConfigurationFile for LDAP Auth

+#ConfigKey 'ldap_config_path' must be set in DataBase Configration of OM and point to this file

+#o.becherer,14.01.2009

+

+#specify the LDAP Server type

+ldap_server_type=OpenLDAP

+

+#LDAP URL

+ldap_conn_url=ldap://dc2.medint.local:389

+

+#Login distinguished name (DN) for Authentification on LDAP Server - keep emtpy if not requiered

+ldap_admin_dn=CN:dummy,OU:external users,OU:Other,DC:medint,DC:local

+

+#Loginpass for Authentification on LDAP Server - keep emtpy if not requiered

+ldap_passwd=dummy07

+

+#base to search for userdata(of user, that wants to login

+ldap_search_base=OU:Company,DC:medint,DC:local

+

+# Fieldnames (can differ between Ldap servers) 

+field_user_principal=uid

+

+# Ldap auth type(SIMPLE,NONE)

+ldap_auth_type=SIMPLE

+

+# Ldap ignore upper/lower case, convert all input to lower case

+ldap_use_lower_case=false

+

+# optional

+# the timezone has to mach an entry in the OpenMeetings table "omtimezones" otherwise the user will get

+# the timezone defined in the value of the conf_key "default.timezone" in OpenMeetings "configurations" table

+#ldap_user_timezone=timezone

diff --git a/WebContent/crossdomain.xml b/WebContent/crossdomain.xml
new file mode 100644
index 0000000..f844f20
--- /dev/null
+++ b/WebContent/crossdomain.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+          
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<cross-domain-policy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="crossdomain.xsd">
+	<site-control permitted-cross-domain-policies="all"/>
+	<allow-access-from domain="localhost" to-ports="20-65535"/>
+	<allow-access-from domain="*.local" to-ports="20-65535"/>
+</cross-domain-policy>
diff --git a/WebContent/crossdomain.xsd b/WebContent/crossdomain.xsd
new file mode 100644
index 0000000..7d7351d
--- /dev/null
+++ b/WebContent/crossdomain.xsd
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

+  <xs:element name="cross-domain-policy">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element ref="site-control"/>

+        <xs:element maxOccurs="unbounded" ref="allow-access-from"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="site-control">

+    <xs:complexType>

+      <xs:attribute name="permitted-cross-domain-policies" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="allow-access-from">

+    <xs:complexType>

+      <xs:attribute name="domain" use="required"/>

+      <xs:attribute name="to-ports" use="required" type="xs:NMTOKEN"/>

+    </xs:complexType>

+  </xs:element>

+</xs:schema>

diff --git a/WebContent/languages/arabic.xml b/WebContent/languages/arabic.xml
new file mode 100644
index 0000000..51f0a4d
--- /dev/null
+++ b/WebContent/languages/arabic.xml
@@ -0,0 +1,4506 @@
+<?xml version="1.0" encoding="UTF-8"?> 
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>المؤتمر</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>اجتماع</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>الاحداث</value>
+  </string>
+  <string id="4" name="settings">
+    <value>أماكن</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>نبذة</value>
+  </string>
+  <string id="6" name="admin">
+    <value>الادارة</value>
+  </string>
+  <string id="7" name="stop">
+    <value>توقف</value>
+  </string>
+  <string id="8" name="record">
+    <value>سجل</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>لا ملف متاحة</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>سجل قبل المعلمين</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>ترتبط المستخدمين :</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>بدء المؤتمر</value>
+  </string>
+  <string id="13" name="myname">
+    <value>اسمي</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>الفيديو</value>
+  </string>
+  <string id="15" name="import">
+    <value>تحميل الملفات</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>تحديث قائمة</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>الى الملف الرئيسي</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>استطلاع جديد</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>استطلاع جديد للمؤتمر.</value>
+  </string>
+  <string id="20" name="question">
+    <value>السؤال :</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>نوع من استطلاع للرأي يؤكد :</value>
+  </string>
+  <string id="22" name="create">
+    <value>خلق</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>معلومات : كل صلة يتلقى المستخدم رسالة مع استطلاع جديد.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>انشاء استطلاع</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>الغاء</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>نعم / لا</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>عددي 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>استطلاع الرأى</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>لا بد من وسيط لتهيئة السؤال</value>
+  </string>
+  <string id="30" name="vote">
+    <value>تصويتك مسجلة.</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>حسابك قد صوتت بالفعل في هذا الاستطلاع.</value>
+  </string>
+  <string id="32" name="voting">
+    <value>تصويت!</value>
+  </string>
+  <string id="33" name="answer">
+    <value>ردكم :</value>
+  </string>
+  <string id="34" name="yes">
+    <value>نعم</value>
+  </string>
+  <string id="35" name="no">
+    <value>لا</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>وسوف wissen :</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>نتائج الاستطلاع</value>
+  </string>
+  <string id="38" name="question">
+    <value>السؤال :</value>
+  </string>
+  <string id="39" name="results">
+    <value>النتائج :</value>
+  </string>
+  <string id="40" name="answers">
+    <value>الاجوبه :</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>لا الاستطلاعات قد بدأت.</value>
+  </string>
+  <string id="42" name="votings">
+    <value>تصويت!</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>الاجتماع (ماكس 4 مقاعد)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>المؤتمر (ماكس 50 مقعدا)</value>
+  </string>
+  <string id="45" name="type">
+    <value>النوع</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>المقاعد الاخرى</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>بالفعل اختارت</value>
+  </string>
+  <string id="48" name="enter">
+    <value>أدخل</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>الوسيط قد غادر الجلسة.</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>نظام المعلومات</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>اختيار جهاز</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>اختيار كاميرا ويب :</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>اختيار الجزئي :</value>
+  </string>
+  <string id="54" name="ok">
+    <value>الموافقة</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>الغاء</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>انت بحاجة الى اعادة وصل.</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>تحرير الاعداد.</value>
+  </string>
+  <string id="58" name="course">
+    <value>وبطبيعة الحال :</value>
+  </string>
+  <string id="59" name="language">
+    <value>اللغة :</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>الموافقة</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>الغاء</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>بيضاء واضحة</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>هل تريد أن تكون لوحة جديدة قبل ان افرغوا الصورة المضافه؟</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>لا أسأل مرة اخرى</value>
+  </string>
+  <string id="65" name="no">
+    <value>لا</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>تحرير الاعداد</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>تأكيد طلب قبل افراغ بيضاء.</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>معلومات مستخدم</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>واضح drawarea</value>
+  </string>
+  <string id="70" name="undo">
+    <value>الغاء</value>
+  </string>
+  <string id="71" name="redo">
+    <value>أعادة</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>اختر جسم</value>
+  </string>
+  <string id="73" name="text">
+    <value>النص</value>
+  </string>
+  <string id="74" name="paint">
+    <value>الطلاء</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>استرعى الخط</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>إبراز أوجه</value>
+  </string>
+  <string id="77" name="rect">
+    <value>مستطيل</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>بيضوي</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>السهم</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>اختار حذف البند</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>طلب للحصول على الاعتدال</value>
+  </string>
+  <string id="82" name="apply">
+    <value>تطبيق</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>الغاء</value>
+  </string>
+  <string id="84" name="mod">
+    <value>لتصبح مشرف</value>
+  </string>
+  <string id="85" name="close">
+    <value>وثيق</value>
+  </string>
+  <string id="86" name="italic">
+    <value>مائل</value>
+  </string>
+  <string id="87" name="bold">
+    <value>اجترئ</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>انتظار</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>مستخدم يريد ان يطبق لالاعتدال :</value>
+  </string>
+  <string id="90" name="accept">
+    <value>يقبل</value>
+  </string>
+  <string id="91" name="reject">
+    <value>نرفض</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>الغاء</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>إرسال طلب الى المستخدمين التالية</value>
+  </string>
+  <string id="94" name="accept">
+    <value>مقبول</value>
+  </string>
+  <string id="95" name="reject">
+    <value>رفض</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>تغيير وسيط</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>انت لا اعتدال هذا بالطبع!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>رئيس الجلسة :</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>هذه الغرفة بالكامل. عفوا يرجى اعادة المحاوله لاحقا.</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>بيضوي</value>
+  </string>
+  <string id="101" name="close">
+    <value>وثيق</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>خطأ في البيانات المدخله</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>اسم المستخدم يجب ان تكون على الأقل 4 احرف</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>Userpass يجب أن تكون على الأقل 4 احرف</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>اسم المستخدم مأخوذ من قبل</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>البريد الالكتروني هو ما سبق تسجيله</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>خطأ في النظام الرجاء الاتصال منظومة المشرفون</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>تسجيل الدخول</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>مستخدم :</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>المرور :</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>اللغة</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>تسجيل الدخول</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>اشترك</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>مستخدم :</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>المرور :</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>قلت :</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Firstname :</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Lastname :</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>البريد :</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>البلد :</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>سجل</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>الغاء</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>سجل</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>البيت</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>المستعملون</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>المجموعات</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>المنظمات</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>- غرف الاجتماع</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>الجمهور</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>منظمة</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>أدخل</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>تسجيل الدخول</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>كلمة السر</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>حروف</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Firstname</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Lastname</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>بريد</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>عيد الميلاد</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>الشارع / لا</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>الرمز البريدي / المدينة</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>البلاد</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Adress - معلومات</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Userdata</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>انقاذ</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>انقاذ</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>- رقم تعريف المستخدم</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>تسجيل الدخول</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>Firstname</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>Lastname</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>وتبين المقبل</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>وتظهر قبل</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>حذف سجل</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>الغاء</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>حذف</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>قياسيه جديدة</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>تجديد السجل</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>حذف سجل</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>المركز</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>فاقد الاهليه</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>مكن</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>المنظمات</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>التقويم</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>وثيق</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>منظمة معرف</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>الاسم</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>مستعمل</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>وزارة الدفاع</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>الادارة</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>Userlevel</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>منظمة</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>الاسم</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>تضيف منظمة</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>تضيف منظمة</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>الغاء</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>اضف</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>ازالة منظمة</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>مستعمل</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>اضافة مستخدم</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>حذف المستخدم</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>اضافة مستخدم</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>البحث المستخدم</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>البحث</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>مستعمل</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>منظمة</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>أدخل</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>Conferencerooms</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>Conferencerooms</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>الهوية</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>الاسم</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>الجمهور</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>المنظمات</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>Meetingrooms</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>الاسم</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>النوع</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>الجمهور</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>التعليق</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>انقاذ</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>حمل</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>باستثناء ما ورد</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>اسم الملف</value>
+  </string>
+  <string id="201" name="files">
+    <value>اسم الملف</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>الغاء</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>انقاذ</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>خطأ</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>التحميل</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>الاشياء المحمله</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>Snychronizing العملاء والزبائن على الانتظار :</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>التحميل imagedata</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>Snychronizing العملاء والزبائن على الانتظار :</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>واضح drawarea</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>Drawarea واضحة ، وجميع البيانات المتعلقة وحة ستضيع</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>تأكد قبل التحميل الملف</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>ارسال دعوة</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>ارسال دعوة</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>الموضوع</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>المتلقيه</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>رسالة</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>أرسل</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>الغاء</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>أرسل</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>Userdata</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>الاسم المستعار الخاص بك لهذا المؤتمر</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>نيك</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>Firstname</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>Lastname</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>البريد الالكتروني</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>اللغة</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>أدخل</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>التحميل</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>بيانات التحميل ، يرجى الانتظار!</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>خطأ كلمة السر</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>الرجاء ادخال كلمات السر متطابقه مع اثنين على الاقل 4 احرف</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>البريد الخطأ</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>لقد قمت بادخال غير صالحة للبريد - Adress</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>التسجيل الكامل</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>لقد تم انشاء حسابك. يمكنك الان تسجيل الدخول.</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>لا يمكنك حصة الشاشه في تلك اللحظة. شخص آخر بالفعل السهم دورته الشاشه.</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>تقاسم ممنوع</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>حصة الشاشه</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>سيئة عرض النطاق الترددى : انك لم تتمكن من syncronize الشاشه. اطر سيتم صرف النظر عنها. اذا كان هذا التحذير هو مبين في كثير من الاحيان يمكن لك ان تطلب من وسيط الى خفض نوعية.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>من الشاشه :</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>الطلاء</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>الوثيقة</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>الدردشه</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>ملفات</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>الاعضاء</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>تنزيل الوثيقة الاصليه</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>تنزيل قوات الدفاع الشعبي وثيقة</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>حمل عرض لوحة</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>التشكيل</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>أسحب هذا الوجه من وجوه</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>لتغيير هذا الوجه من وجوه</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>٪</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>من</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>اذهب الى الصفحه الاولى</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>اذهب الى الصفحه السابقة</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>اذهب الى الصفحه التالية</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>اذهب الى الصفحه الاخيرة</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>تكبير --</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>تكبير</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>السيد</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>السيدة</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>التشكيل</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>الهوية</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>مفتاح</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>التشكيل</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>مفتاح</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>آخر تحديث</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>Updatedby</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>التعليق</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>مفتاح</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>من</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>المستعملون</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>حذف المستخدم من المنظمه</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>حذف</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>هذا المستخدم هو بالفعل عضو في هذه المنظمه.</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>اخبار</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Quicklinks</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>جوتو المؤتمر</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>قاعة جوتو</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>مساعدة ودعم</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>تقرير أ بقة!</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>أكثر</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>مشروع شبكى (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>مستخدم قائمة بريديه (http://incubator.apache.org/openmeetings/mail-lists.html - مستخدم)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>نتذكر تسجيل الدخول</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>المحتوى</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>صفحتي الرئيسية</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>بلدي الجلسات المقررة</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>بلادي المقرر الاحداث</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>الجلسات العلنيه</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>الجلسات السرية</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>المناسبات العامة</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>المناسبات الخاصة</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>الجمهور محتوى</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>المحتوى الخاص</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>الشخصيه المحتوى</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value></value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>الاعتدال</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>طلب للحصول على الاعتدال</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>استطلاعات الرأي</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>اختر ملف</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>أماكن</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>كأم التابعة لهيئة التصنيع العسكرى والاعدادات</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>لوح الاعدادات</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>خروج</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>عودة الى غرف</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>خروج</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Desktop Viewer</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>start Desktop Viewer</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>صوت و صورة</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>دردشة</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>لوح أبيض </value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>(إعادة) بدء صوت / صورة أو تغيير إعدادات الجهاز</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>ملفات</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>مستخدمين</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>إستطلاعات</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>هذا الإسم لا يعود إلى أي مستخدم </value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>لقد تم إرسال بريد يتضمن رابط خاص إلى بريدك الإلكتروني، الرجاء تفحص صندوق البريد. إذا لم تحصل بعد على بريد إلكتروني، الرجاء تعديل إعدادات البريد المزعج و قم بإعادة إرسال البريد الإلكتروني الخاص بالتأكيد.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>خطأ</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>رسالة</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>مزيج غير صالح. ليس هناك أي مستخدم.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>إستعادة كلمة المرور </value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>تسجيل الدخول</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>تغيير كلمة المرور</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>كلمة مرور جديدة</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>إعادة إدخال كلمة المرور</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>كلمات المرور التي أدخلتها ليست متطابقة</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>أربع أحرف أو أكثر</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>تم تسجيل كلمة المرور. يمكنك الآن تسجيل الدخول</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>خطأ غير معروف. الرجاء إبلاغ فريق الخدمة</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>إسم المستخدم غير موجود</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>كلمة مرور غير صحيحة</value>
+  </string>
+  <string id="337" name="logout">
+    <value>تم تسجيل الخروج بنجاح</value>
+  </string>
+  <string id="338" name="registration">
+    <value>تم إلغاء التسجيل السابق.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>بريد إلكتروني غير صحيح</value>
+  </string>
+  <string id="340" name="registration">
+    <value>إسم ملف مكرر. الرجاء إختيار إسماً آخراً</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>إسم الملف قصير</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>لا يمكن حفظ العنوان</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>تمت إضافة المستخدم لكن يجب إنساب هذا المستخدم إلى تنظيم و إلا لن يمكنه تسجيل الدخول.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>سجل جديد</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>ليس هناك أي حقل يحمل هذا Id.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>ليس هناك إسم لهذه الرقعة. </value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>المطلوب إذن المشرف</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>محرر اللغة</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>لغة</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>معرف الرقعة</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>إسم الرقعة</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>قيمة</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>حقل القيم</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>إسم الرقعة</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>قيمة الرقعة</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>معرف الرقعة</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>لقد حذفت الرقعة ليس الحقل! لا يمكنك حذف الحقل. يمكن أن يكون له رقع في لغات أخرى.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>رقعة غير صالح
+ةid. لا يمكن إيجاد The FieldLanguagesvalues_Id في قاعدة البيانات.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>لا يمكنك حذف هذا الحقل. يمكنك فقط حذف رقعات لا حلقات. ليس هناك أي رقعات محملة في هذه الأثناء، سواء لم تختر أي حقل أو ليس هناك أي رقعة معرفة لهذه اللغة لهذا الحقل. </value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>تصدير</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>يجب أن تخرج لرؤية التغييرات.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>إضافة لغة جديدة</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>delete language</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>حذف لغة</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>إسم</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>إضافة لغة</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>نسخ إحتياطي</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>القفز إلى الأول</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>القفز إلى السابق</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>القفز إلى التالي</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>القفز إلى الأخير</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>المستخدم يتكلم</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>تشغيل/إيقاف الصوت</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>نظام</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>إعداداتك</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>مرحباً،</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>إضافة ملف التعريف</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>رسائل جديدة:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>إيداع صور جديدة</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>بيانات المستخدم - تصدير</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>يجب أن تكون المنظمات موجودة!</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>بدء التصدير</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>عن طريق المنظمة</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>بدء التصدير</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>بيانات المستخدم - إستيراد</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>إختر users.xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>إستيراد</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Export to XML - These files can be used to: - Contribute to the project - Import into another System - Backup - Customization - Put it into the language-directory for your next installation</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Choose a language file to import. Choose the right Langauge from the Combobox! No matter what the name of the file is, it will be imported into this language!</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>إستيراد - إختر ملف</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>حفظ بإسم</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>إسم:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>تعليق:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>حفظ</value>
+  </string>
+  <string id="395" name="record">
+    <value>تسجيلات</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>مشاهدين التسجيلات</value>
+  </string>
+  <string id="397" name="record">
+    <value>تسجيلات الغرف العامة و الخاصة</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>مستخدمين:</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>إنضم:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>المستخدمين في هذه الغرفة:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>تحديث</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>هذه الغرفة ممتلئة. حاول بعد بضع دقائق مرة أخرى.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>إضغط على الغرفة للحصول على تفاصيل</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>دردشة مع المستخدمين في هذه الغرفة: </value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>غرفة:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>مستخدمين في هذه الغرفة:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>منذ:</value>
+  </string>
+  <string id="409" name="record">
+    <value>شغل التسجيل</value>
+  </string>
+  <string id="410" name="record">
+    <value>الطول:</value>
+  </string>
+  <string id="411" name="record">
+    <value>التاريخ:</value>
+  </string>
+  <string id="412" name="record">
+    <value>أسلوب المسجل! لا يمكنك تغيير القيم، هذا ملف مسجل!</value>
+  </string>
+  <string id="413" name="record">
+    <value>شغل هذا المسجل</value>
+  </string>
+  <string id="414" name="record">
+    <value>تشغيل/إيقاف</value>
+  </string>
+  <string id="415" name="record">
+    <value>بدء التسجيل</value>
+  </string>
+  <string id="416" name="record">
+    <value>إيقاف التسجيل</value>
+  </string>
+  <string id="417" name="record">
+    <value>تسجيل:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>هناك شخص آخر يقوم بالتسجيل في هذه الأثناء:</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>تسجيل! عن طريق المستخدم: </value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>إلغاء</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>سيتم إلغاء التسجيل دون حفظه. </value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>إستئناف</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>اقفل النافذة و إستأنف التسجيل</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>تغيير لون الخط</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>إختر اللون</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>تمكين/تعطيل لون الخط</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>تغيير ملء اللون</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>تعطيل / تشغيل ملء اللون</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>تغيير عرض الخط</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>غلق</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>تغيير حجم الحروف</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>حذف التسجيل</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>ضيف</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>عند:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>إسم</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>غرفة</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>تاريخ</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>إلغاء</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>بدء</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>إسم</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>تاريخ</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>حذف server-chatlog</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>دردشة</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>إرسال رسالة</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>رموز</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>رموز</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>إختر الأجهزة المنشورة</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>صوت و صورة</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>صوت فقط</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>صورة فقط</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>لا صورة/صوت (صورة ثابتة)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>لا صوت/صورة ستنشر من جهازك، بدلاً من هذا ستظهر صورة من ملفك. إختر هذه الإعدادات إذا كان لديك مشاكل مع عرض النطاق الترددي أو إذا كان إتصالك بالإنترنت بطيئاً.  </value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>الإثنين</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>الثلاثاء</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>الأربعاء</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>الخميس</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>الجمعة</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>السبت</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>الأحد</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>الإثنين</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>الثلثاء</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>الأربعاء</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>الخميس</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>الجمعة</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>السبت</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>الأحد</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>التقويم الأسبوعي</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>التقويم الأسبوعي</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>كانون الثاني(يناير)</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>شباط(فبراير)</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>آذار(مارس)</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>نيسان(أبريل)</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>أيار(مايو)</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>حزيران(يونيو)</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>تموز(يوليو)</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>آب(أغسطس)</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>أيلول(سبتمبر)</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>تشرين أول(أكتوبر)</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>تشرين ثاني(نوفمبر)</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>كانون أول(ديسمبر)</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>تقويم</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>المشاركون</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>عرض إعدادات التصميم</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>عرض | طول</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>صندوق الفيديو</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>صندوق الإدارة</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>صندوق اللوح </value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>ممكن</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>عرض | طول</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>صندوق - ملفات،دردشة،مشاركين</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>ممكن</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>عرض | طول</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>لقد ترك رئيس الجلسة الغرفة. ليس هناك أي رئيس للجلسة في هذه الأثناء. يمكنك التقدم لرئاسة الجلسة أو الإنتظار.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>ليس هناك أي رئيس للجلسة في هذه الغرفة، و لكن هناك بعد المشاركين. عليك التقدم لرئاسة الجلسة أو الإنتظار.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>ملاحظات $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - دعوات</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>رسالة من المستخدم:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>رسالة:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>أنقر على هذا الرابط للمشاركة في الإجتماعات:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>أنقر هنا لدخول الغرفة:</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>إذا واجهتك مشاكل مع الرابط، الرجاء نسخه و من ثم لصقه في المتصفح:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>تسجيل $APP_NAME</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>بياناتك:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>تسجيل الدخول:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>كلمة المرور:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>البريد الإلكتروني:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>فريق - OpenMeeting</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>إنشاء حساب OpenMeeting</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>إعادة ضبط كلمة مرور - OpenMeeting</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>انقر على هذا الرابط من أجل إدخال كلمة مرور جديدة:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>انقر على هنا من أجل إدخال كلمة مرور جديدة</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>إذا واجهتك مشاكل مع هذا الرابط، الرجاء نسخه و لصقه في المتصفح:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>إعادة ضبط كلمة مرور OpenMeeting</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>الرجاء إدخال تاريخ صالح 24.12.2001 (يوم، شهر، سنة)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>الرجاء إدخال بريد إلكتروني صالح، مثلاً name@mail.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>الرجاء إدخال عدد من أعداد الفاصلة العائمة، مثلاً 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>الرجاء إدخال عدد صحيح، مثلاً 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>الرجاء إدخال رقم هاتف صحيح، مثلاً ++49 0123 123123</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>الرجاء إدخال وقت صالح، مثلاً 12:23 (hh:mm)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>محمي عن طريق كلمة مرور</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>كلمة المرور</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>مدة الصلاحية</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>أبدي</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>مدة</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>وقت واحد</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>صالح من:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>صالح لغاية:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>دعوة إلى To $APP_NAME</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>ليس هناك دعوة متوفرة لرمز الدعوة هذا</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>هذه الدعوة استخدمت من قبل. لا يمكن إعادة إستخدام هذا النوع من الدعوات.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>رمز الدعوة هذا ليس صالح.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>كلمة المرور:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>إفحص كلمة المرور</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>كلمة مرور غير صحيحة! </value>
+  </string>
+  <string id="539" name="Browser">
+    <value>متصفح</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>مزامنة الصوت/الصورة</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>تسجيل الدخول صحيح لكن الجلسة التي إخترتها معطلة أو مخزنة في الخادوم. تحتاج أن تحصل على ID-جلسة جديد و تسجل الدخول من جديد.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>ID-جلسة لم تسجل الدخول أو ليس لديها حقوق المسؤول. The SOAP Gateway يحتاج إلى مستخدم لديه حقوق مسؤول ليتضمن مستخدمين جدد.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>ليس لدى هذه الجلسة إتصال ب-Remoteuser-Data. سواء لم تصل ب- SOAP-Gateway قبل البدء بالإستعمال أو أنك تستخدم جلسة-ID خاطئة. </value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>يكون التسجيل حالياً Beta! </value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>x-axis</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>y-axis</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>ع</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>عرض</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>ط</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>طول</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>تغيير الشفافية</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>فتح المتصفح</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>إغلاق المتصفح</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>لقد تم فقدان الإتصال بالخادوم. عليك تحديث الطلب أو تفحص الشبكة.</value>
+  </string>
+  <string id="557" name="557">
+    <value>المؤشر</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>المزامنة</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>مزامنة المستخدمين، الرجاء الإنتظار</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Download as SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Download as PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Download as JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Download as PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Download as TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>مذكرة:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>فئة:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>التكرار:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>لا أحد</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>موقع:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>بداية</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>نهاية</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>عنوان:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>تعليق:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>دعوة ناس</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>يومي</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>شهري</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>سنوي</value>
+  </string>
+  <string id="578" name="alert">
+    <value>نهاية الموعد بعد بداية الموعد!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>الرجاء إدخال عنوان!</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>قم بتشغيل هذا إن كنت تستخدم لغة تكتب من اليمن إلى اليسار (ترتيب كلمات معكوس)</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>لوحة أجهزة القياس </value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>مشاهدة الإجتماعات أو الاحداث المسجلة</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>إجتماع - قم بتشكيل مؤتمر مع 4 (حتى 16) مستخدمين&lt;br/&gt;يحصل الجميع على صوت و صورة</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>حدث - قم بتشكيل مؤتمر مع إلى 200 مشارك&lt;br/&gt;رئيس المؤتمر فقط يكون لديه صوت و صورة</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>قم بخلق مستخدمين، غرف، منظمات&lt;br/&gt; + تغيير الترتيبات</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>المستخدمين في هذه الغرفة في الوقت الحالي</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>تسجيل الدخول</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>تحمل وثائق. التجاء الإنتظار حتى يتم مزامنة كل العملاء.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>تم الإيداع، تحويل الوثيقة ...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>بدء الإيداع</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>إيداع و إستيراد الحوار. الرجاء إختيار ملف من الإسطوانة.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>إلغاء</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>إختيار الملف</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>إتصالات</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>قيمة</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>تسجيل الدخول</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>متصل منذ</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>غرفة / إطار</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>رمي المستخدم</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>رمي المستخدم</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>هل تريد فعلاً أن ترمي العميل خارج الإتصال؟&lt;br/&gt; هذا سوف يقوم فقط بإخراج الزبون من الغرفة الحالية. يمكن للزبون أن يدخل مرة أخرى.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>لقد تم إغلاق جلستك عن طريق المسؤول أو رئيس الجلسة. </value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>هاتف</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>المستخدم هو الرئيس في هذه الغرفة.</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>يسمح للمستخدم الرسم على اللوح.</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(إعادة) بدء صوت / صورة أو تغيير إعدادات الجهاز</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>السماح لهذا  المستخدم بالرسم على اللوح</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>إلغاء قدرة الرسم على اللوح</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>المستخدمين</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>الملفات</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>اللوح</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>دردشة</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>حسابك يعود إلى عدة منظمات. الرجاء إختيار واحدة لهذه الجلسة.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>هذه الغرفة مليئة في هذه الأثناء. الرجاء المحاولة لاحقاً.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>نوع الغرفة.</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>غرفة المواعيد</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>وقت الخادوم.</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>مذكرة - OpenMeeting</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>رسالة من المستخدم:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>رسالة:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>أنقر على هذا الرابط للمشاركة في الإجتماع:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>أنقر هنا لدخول الغرفة</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>إذا كان لديك مشاكل مع الرابط، الرجاء نسخه و لصقه في المتصفح:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>البحث في الداخل</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>مستخدم خارجي</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>إسم الكنية</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>إسم</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>بريد إلكتروني</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>أكد الخروج</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>هل أنت متأكد أنك تريد تسجيل الخروج؟</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>النشاطات</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>غرفة تجريبية</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>وقت تجريبي</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>عداد الإجتماع</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>هذه الغرفة هي غرفة تجربة. لتعطيل هذه التحذير عليك الحصول على غرفة خاصة للإستخدام الخاص أو إنشاء خادم خاص. سوف يتم إخراجك فوراً في:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>مدار</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>الرجاء إنتظار دخول المدير الغرفة. يمكن أن يكون المدير معلم، مسؤول أو منشئ هذه الغرفة.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Ok</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>وصول مشاركة الشاشة</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>هناك مشارك شاشة قادمة من المستخدم:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>بدء المشاركة</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>إضافة لقاء جديد</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>غرفة الإجتماع</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>غرفة الحدث</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>إدارة</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>المستخدمين المدراء</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>الغرف المدارة</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>هل تريد تغيير هذا المستخدم و جعله مدير هذه المنظمة؟</value>
+  </string>
+  <string id="654" name="error message">
+    <value>الرجاء إختيار المنظمة قبل محاول إضافة مستخدم إليها!</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>منظمة - مدير </value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>هل تريد بالفعل حذف هذا المستخدم من المنظمة؟</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>هذا المستخدم هو مدير</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>هذا المستخدم ليس مديراً</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>هل تريد أن لا يكون هذا المستخدم مدير هذه المنظمة؟</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>إضافة أو حذف مستخدمين أو غرف ضمن منظمتك</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>هل تريد حقاً حذف هذا التسجيل؟</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>هل تريد حقاً حذف هذا المستخدم من منظمتك؟ سوف يتم فقط حذف الإتصال بين المستخدم و منظمتك، من أجل حذف المستخدم يجب أن تدخل لوحة المسؤول.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>لا يمكنك حذف مستخدمك!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>لتنفيذ هذه الطريقة تحتاج لحساب مسؤول!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>ليس هناك أي جلسة ترتبط ب- ID هذا.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>هذا حساب مسؤول أو مدير. يمكن تحرير هذا الحساب عن طريق لوحة المسؤول.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>لإكمال التسجيل الرجاء النقر على الرابط التالي. أو نسخ URL إلى المتصفح.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>أنقر من أجل التحقق من بريدك الإلكتروني</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>ليس هناك أي مستخدم لهذا الخليط.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>هذا المستخدم معطل!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>لقد تم تفعيل حسابك بنجاح!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>تسجيل الدخول الآن</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>حسابك ليس شغال. إستخدم أولاً الرابط في البريد الإلكتروني الذي حصلت عليه خلال التسجيل.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>لقد تم فتح حسابك بنجاح. لقد تم إرسال بريد إلكتروني مع رمز تحقق إلى بريدك. الرجاء التحقق من بريدك الإلكتروني.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>إزالة دور الإدارة من هذا المستخدم</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>منح هذا المستخدم حق الإدارة</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>مستخدم</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>مدخل إلى اللوح</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>مدير</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>إدارة: الرجاء إختيار أي مستخدم على القائمة لمنحه مدخل إلى اللوح، الإدارة أو الفيديو.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>هذا المستخدم هو مدير، لهذا لديه تلقائياً الحق في الرسم على اللوح.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>هذا أنت! لا يمكنك إزالة حقوق الإدارة من نفسك.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>السماح لهذا المستخدم نشر صوت / صورة</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>حذف صوت / صورة من هذا المستخدم</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>أود أن أدير هذه الغرفة</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>أود أن أرسم على اللوح</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>أو أن أشارك صوت / صورة</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>أنت مدير هذه الغرفة</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>لديك حق الرسم على اللوح</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>لديك حق مشاركة صوت / صورة</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>رسالة إلى المدير</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>المستخدم</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>يود أن يحصل على الإدارة. إستخدم أيقونات الحالات جانب المستخدم في قائمة المستخدمين لإضافة أو حذف الإدارة.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>يود أن يرسم على اللوح. إستخدم أيقونات الحالات جانب المستخدم في قائمة المستخدمين لإضافة أو حذف حق الرسم على اللوح.</value>
+  </string>
+  <string id="695" name="695">
+    <value>يود أن يتشارك الصوت/الصورة. إستخدم أيقونات الحالات جانب المستخدم في قائمة المستخدمين لإضافة أو حذف حق المشاركة صوت/صورة لأي مستخدم.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>عليك إنتظار المدير حتى يدخل الغرفة.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>إلغاء</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>حفظ</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>يوم</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>شهر</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>سنة</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>إيداع ملف</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>إضافة مجلد</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>تحديث</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>قمامة</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>ملفاتي (Home Drive)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>غرفة الملفات (Public Drive)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>إضافة ملف</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>إضافة مجلد</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>حذف مجلد</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>تحرير إسم</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>مجلد جديد</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>هل أنت متأكد أنك تريد حذف هذا البند؟</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>بحث</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>بحث</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>فتح وثيقة</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>إظهار كل الملفات (Tree View)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>إغلاق وثيقة</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>حذف ملف</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>لا يسمح لك بالرسم على هذا اللوح. تحتاج أن تكون مديراً أو أن تحصل على الأقل على حق تحرير لوح. يجب أن تسأل مديراً للحصول على هذا الحق. </value>
+  </string>
+  <string id="721" name="property panel">
+    <value>خصائص الوثيقة</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>بدأ العميل (external)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>بدأ العميل (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>مسخدم يود تقاسم شاشته. هل تريد رؤيتها؟</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>أنت تتشارك سطح مكتبك في هذه الأثناء. لإيقاف جلسة المشاركة الرجاء النقر زر توقف في عميل المشاركة.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>جلسة المشاركة</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>أنت تتشارك سطح مكتبك!</value>
+  </string>  
+  <string id="728" name="sharing client">
+    <value>مشاهد سطح المكتب</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>خروج</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>مقاسم سطح المكتب</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>أنقر على إبدأ لنشر شاشتك</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>بدء المشاركة</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>إيقاف المشاركة</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>إختر نطاق شاشتك:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>تغيير العرض</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>إنتهى المشارك من هذه الجلسة!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>تغيير الطول</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X-Offset</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y-Offset</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>العرض:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>الطول:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>قطع الإتصال من الخادوم </value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>إلغاء</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>بدء الخارجي</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>إذا أقفلت هذه الجلسة كلياً لن يعد بإمكانك البدء من جديد بالمشاهد لهذه الجلسة. </value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>تأكيد إقفال جسلة المشاهد</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>مشاركة الشاشةShare Screen</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>تسجيل الجلسةRecord Session</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Co-Browsing</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Ooops, ... Firefox on Windows does not show clear Co-Browsing. Please use another Browser for using the Co-Browsing feature.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>السابقPrevious</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>التالي</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>تحديث</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Home</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>شحن</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>إجعل هذه الصفحة صفحة ملفك الإفتراضية.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>فحص الإعداد</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>إفحص إعدادات الميكروفون و الكاميرا قبل دخولك الغرفة عن طريق التسجيل لبضع ثوان. يمكنك بعدها رؤية التسجيل لفحص الصوت و الصورة. </value>
+  </string>
+  <string id="759" name="test setup">
+    <value>لا تظهر هذا الإختبار بعد الآن </value>
+  </string>
+  <string id="760" name="test setup">
+    <value>إلغاء</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>بدء المؤتمر</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>لا تسأل مجدداً</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>يمكنك المتابعة دون الفحص إذا لا تريد نشر صورتك و صوتك. يمكن للمشاركين دون صوت و صورة متابعة إستخدام اللوح، مشاركة سطح المكتب أو كتابة رسائل دردشة. </value>
+  </string>
+  <string id="766" name="test setup">
+    <value>توقف</value>
+  </string>
+  <string id="767" name="test setup">
+    <value>مقياس المستوى </value>
+  </string>
+  <string id="768" name="start view">
+    <value>إضغط على البداية</value>
+  </string>
+  <string id="769" name="start view">
+    <value>بدء المؤتمر</value>
+  </string>
+  <string id="770" name="start view">
+    <value>بدء الحدث</value>
+  </string>
+  <string id="771" name="start view">
+    <value>إختر غرفة </value>
+  </string>
+  <string id="772" name="start view">
+    <value>فحص الإعدادات </value>
+  </string>
+  <string id="773" name="start view">
+    <value>بدء المؤتمر</value>
+  </string>
+  <string id="774" name="start view">
+    <value>الطريق إلى المؤتمر: </value>
+  </string>
+  <string id="775" name="test setup">
+    <value>بدء التسجيل</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>لا تظهر فحص صوت / صورة (تسجيل) قبل دخول المؤتمر </value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Public Rooms</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Public Rooms are accessible for all Users.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Private Rooms</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Private Rooms are only accessible for users of the same organization.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>My Rooms</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Rooms in this section are created for personal usage. There are some standard rooms plus the ones that are created through the calendar and have a start and an end date. The rooms created via the calendar are only listed in this section as long as they are valid.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>You have to be moderator to do this.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Apply for moderation</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Apply for whiteboard access</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Apply for camera/microphone access</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>This Session Hash was already used. You cannot use it twice.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>START</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>EXIT</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Do you really want to exit? You might should clear uploaded documents, whiteboard and the chat history.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Exit conference</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Rooms</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Choose a room for a meeting</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>There is an unsaved Event in the Calendar. Please either save it or remove it.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Please add at least one attendee for your meeting!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Do you really want to delete this Event?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Warning</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Add Event</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>Day</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>Week</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>Month</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Description</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Attendees</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, your Web Conferencing Platform. Either follow the Instructions, press the start button to start to conference immediatelly or you goto the Calendar and set up a Conference for the future.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Plan a Meeting</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>To set up a conference you can add a new Event in the Calendar.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Need help?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Restricted</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Search</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Add</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>There is no User selected. Please select an item from the list first and then hit add.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Add Attendee</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Save</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Delete</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Event Details</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Default Moderators</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Name</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>E-Mail</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Add new default Moderator</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Is Super Moderator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>If the Room is moderated, User with Level Moderator or Administrator are automatically Moderator if they enter the Room. If you don't want to specify that and only want a certain User to become Moderator use the Default Moderator option.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>A Super Moderator is always a Moderator when he enters a Room, and nobody can remove the Moderation Flag from him</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Apply Super-Moderation to User</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Remove Super Moderation from User</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>If you add an Organization to the room only users of that Organization have access to it (This is only valid if the isPublic flag is set to false!)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Limitations</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organization</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Are you sure?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Do you really want to delete this Item? You have to press the save button to store the changes!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>There is no User selected. Please select first before you add it!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Add new Default Moderator</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Do you want to add the Super Moderation Flag for this User? A Super Moderator is not only Moderator of a Room, but also no other Moderator can remove the Moderation Flag for this User. You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Do you want to remove the Super Moderation Flag for this User? You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>This User is a Super-Moderator. You cannot remove the Moderation flag from a Super-Moderator!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Do you really want to delete this File/Folder?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Delete File/Folder?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Mrs.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Dr.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Properties</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Show mouse position to viewers</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Share Audio with SIP Applet</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Share Audio with SIP and Video with Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Full-Fit</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>View Screen</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>The user</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>wants to share its screen. Do you want to see it?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Close</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>The Session was closed by the sharing User!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>New Screen Sharing</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimize</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximize</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Recording Timeline</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>My Recordings</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Public Recordings</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Name</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Length</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Date</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>By</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>PLAY</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Main - Video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Recording</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>You may record and share your screen at the same time. To enable others to see your screen just hit the start button on the top. To only record the Session it is sufficient to click start recording.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Start Recording</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Stop Recording</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download the FLV-File</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Room</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>User has microphone on</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Stop Sharing</value>
+  </string> 
+  <string id="879" name="room config">
+    <value>Allow User Questions</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Turn this off to prevent that any user is disturbing you in this room. Effect is that the Button to ask for Moderation ("I have a question") is not visible.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Rights</value>
+  </string>  
+  <string id="882" name="flvrecording">
+    <value>Download as AVI</value>
+  </string>  
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio only</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the Recording.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>The Recording is not yet ready for watching. Please retry in a couple of minutes again.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Recorder Message</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIP Applet is not Ready</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP-Account Settings</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP settings for each user. You can turn on or off SIP via the Administration &gt; Configuration (Key: enable_sip). The SIP data for each user should be created automatically. You can re-create the data by checking "Re-generate SIP Data"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. You should check the authentification data of your SIP-Provider and the SIP-Account Data for each User. As Administrator you are still able to login and check the Configuration. As User or Moderator you will be blocked from any interaction.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. Contact your Service Team!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet Message</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>The SIP-Applet is not ready. Accept the Applet please and click ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Get Moderation</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login the $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choose the User for this Video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>You are a Moderator in this Interview. You can decide who is speaking in this interview and you can start / stop the recording of the Session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Start Recording</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Stop Recording</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+  <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/bulgarian.xml b/WebContent/languages/bulgarian.xml
new file mode 100644
index 0000000..b451fc1
--- /dev/null
+++ b/WebContent/languages/bulgarian.xml
@@ -0,0 +1,4504 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Конференция</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>Среща</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>Класна стая</value>
+  </string>
+  <string id="4" name="settings">
+    <value>Настройки</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>Профил</value>
+  </string>
+  <string id="6" name="admin">
+    <value>Администриране</value>
+  </string>
+  <string id="7" name="stop">
+    <value>Стоп</value>
+  </string>
+  <string id="8" name="record">
+    <value>Запис</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>Няма наличен файл</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>Запис от учител</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>Свързани потребители</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>Започване на конференция</value>
+  </string>
+  <string id="13" name="myname">
+    <value>Моето име</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>Видеоконференция</value>
+  </string>
+  <string id="15" name="import">
+    <value>Качване на файл</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>Опресняване на списъка</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>Към главната папка</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>Нова анкета</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>Нова анкета за конференцията.</value>
+  </string>
+  <string id="20" name="question">
+    <value>Въпрос:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>Тип анкета:</value>
+  </string>
+  <string id="22" name="create">
+    <value>Създаване</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>Инфо: Всеки свързан потребител получава съобщение за новата анкета.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>Създаване на анкета</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>Отказ</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>Да/Не</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>Числов 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>Анкета</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>Трябва да сте модератор, за да добавите нов въпрос</value>
+  </string>
+  <string id="30" name="vote">
+    <value>Гласът Ви е отчетен.</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>Вече сте гласували в анкетата.</value>
+  </string>
+  <string id="32" name="voting">
+    <value>Гласуване</value>
+  </string>
+  <string id="33" name="answer">
+    <value>Вашият отговор:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>Да</value>
+  </string>
+  <string id="35" name="no">
+    <value>Не</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>иска да знае:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>Резултати от анкетата</value>
+  </string>
+  <string id="38" name="question">
+    <value>Въпрос:</value>
+  </string>
+  <string id="39" name="results">
+    <value>Резултати:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>Отговори:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>Не са започнати анкети.</value>
+  </string>
+  <string id="42" name="votings">
+    <value>Гласуване</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>Среща (макс. 4 места)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>Конференция (макс. 50 места)</value>
+  </string>
+  <string id="45" name="type">
+    <value>Тип</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>Оставащи места</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>Вече избран</value>
+  </string>
+  <string id="48" name="enter">
+    <value>вход</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>Модераторът е напуснал срещата.</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>Системна информация</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>Избор на устройства</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Избор на уебкамера:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>Избор на микрофон:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>ОК</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>Отказ</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>Трябва да се свържете отново.</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>Редактиране на настройките</value>
+  </string>
+  <string id="58" name="course">
+    <value>Курс:</value>
+  </string>
+  <string id="59" name="language">
+    <value>Език:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>ОК</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>Отказ</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>Изчистване на дъската</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Искате ли дъската да се изчиства, преди да бъде добавена нова снимка?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>Не питай отново</value>
+  </string>
+  <string id="65" name="no">
+    <value>не</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>Редактиране на настройките</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Потвърждение преди изчистването на дъската</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>Информация за потребител</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>Изчистване на зоната за рисуване</value>
+  </string>
+  <string id="70" name="undo">
+    <value>Стъпка назад</value>
+  </string>
+  <string id="71" name="redo">
+    <value>Стъпка напред</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>Маркиране на обект</value>
+  </string>
+  <string id="73" name="text">
+    <value>Текст</value>
+  </string>
+  <string id="74" name="paint">
+    <value>Рисуване</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>Чертаене на линия</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>Подчертаване</value>
+  </string>
+  <string id="77" name="rect">
+    <value>Правоъгълник</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>Елипса</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>Стрелка</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>Изтриване на маркирания обект</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>Искане на права на модератор</value>
+  </string>
+  <string id="82" name="apply">
+    <value>Искане</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>Отказ</value>
+  </string>
+  <string id="84" name="mod">
+    <value>Получаване на права на модератор</value>
+  </string>
+  <string id="85" name="close">
+    <value>Затвори</value>
+  </string>
+  <string id="86" name="italic">
+    <value>курсив</value>
+  </string>
+  <string id="87" name="bold">
+    <value>получер</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>Изчакване...</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>Потребител иска права на модератор. Може да му дадете права само за рисуване върху дъската или напълно да му предадете правата на модератор.</value>
+  </string>
+  <string id="90" name="accept">
+    <value>приемане</value>
+  </string>
+  <string id="91" name="reject">
+    <value>отхвърляне</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>отказ</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>Изпращане на молба към следните потребители</value>
+  </string>
+  <string id="94" name="accept">
+    <value>Прието</value>
+  </string>
+  <string id="95" name="reject">
+    <value>Отхвърлено</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>Смяна на модератор</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>Вие нямате права на модератор за този курс!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>Модератор:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>Стаята е пълна. Моля, опитайте отново по-късно.</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>Елипса</value>
+  </string>
+  <string id="101" name="close">
+    <value>затваряне</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>грешка във входните данни</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>4 или повече знака; големите букви имат значение</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>паролата трябва да е поне 4 знака</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>потребителското име е заето</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>E-mail адресът е зает</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>Грешка в системата, потърсете системния администратор.</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>Вход</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>Име или e-mail:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>Парола:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>Език</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>Вход</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>Форма за регистрация</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>Потребителско име:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>Парола:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>Парола отново:</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Име:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Фамилия:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>E-mail:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>Държава:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>Регистрация</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>Отказ</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>Нямате регистрация?</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>Начало</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>Потребители</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>Групи</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>Организации</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>Стаи</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>публични</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>Организация</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>Вход</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>Потребителско име</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>Парола</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>Парола отново</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Име</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Фамилия</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>E-mail</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>Рожденна дата</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>Улица/Но.</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>Град</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>Държава</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Адрес</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Данни за потребителя</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>Запис</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>Запис</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>ID</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>Потребител. име</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>Име</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>Фамилия</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>Напред</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>Назад</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>Изтриване на запис</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>Отказ</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>Изтриване</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>Нов запис</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>Опресняване на записа</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>Изтриване на запис</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>Статус</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>изключен</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>включен</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>Организации</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>Календар</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>Затваряне</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>Организация ID</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>Име</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>Потребител</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>Модератор</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>Администратор</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>Ниво потребител</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>Организация</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>име</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>Добавяне на организация</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>Добавяне на организация</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>Отказ</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>Добавяне</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>Изтриване</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>Потребител</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>добавяне потребител</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>изтриване потребител</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>Добавяне на потребител към огранизация</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>Търсене на потребител</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>Търсене</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>Потребител</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>Организация</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>Вход</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>Стаи за конференции</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>Стаи за конференции</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>id</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>Име</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>публична</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>Организации</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>Стаи за срещи</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>Име</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>Тип</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>публична</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>Коментар</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>запазване и експорт</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>зареждане</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>запазване като</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>Файл</value>
+  </string>
+  <string id="201" name="files">
+    <value>файл</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>отказ</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>запазване</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>Грешка</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>зареждане...</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>обектите са заредени</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>синхронизация на клиентите, чакащи клиенти:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>Зареждане на изображение</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>синхронизация на клиентите, чакащи клиенти:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>изчистване на полето за рисуване</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>Изчистване на полето? Цялата информация на дъската ще бъде изгубена.</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Потвърждение преди зареждане на файл</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>Изпращане на покана</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>Изпращане на покана</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>Тема</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Получател</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>Съобщение</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Изпрати</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>отказ</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>изпрати</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>Данни за потребител</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>Вашият ник за тази конференция</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>Ник</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>Име</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>Фамилия</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>E-mail</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>Език</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>вход</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>Зареждане</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>Зареждане на данни, моля изчакайте!</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>Грешна парола</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>Моля въведете две еднакви пароли от поне 6 знака</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>Грешен e-mail</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>Въвели сте грешен e-mail адрес</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>Регистрацията е завършена</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>Акаунтът е създаден. Може да влезете в системата.</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>В момента не може да споделяте екрана си. Някой друг вече споделя своя екран.</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Споделянето е забранено.</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Споделяне на екран</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Слаба Интернет връзка: нямате възможност за синхронизация на екрана. Ще има изпускане на кадри. Ако това съобщение се показва често, може да помолите модератора да намали качеството.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>Екран на:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Рисуване</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Документ</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>Чат</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>Файлове</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Членове</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Сваляне на оригиналния документ</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>Сваляне на PDF</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Зареждане на презентацията на дъската</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Конфигурация</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Влачене на обект</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Промяна размерите на обект</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>от</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>Към първа страница</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>Към предишната страница</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>Към следващата страница</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>Към последна страница</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Мащаб --</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Мащаб ++</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>Г-н</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Г-жа</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Конфигурация</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>Ключ</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Конфигурация</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>ключ</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>последна промяна</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>променен от</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>коментар</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>Стойност</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>от</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>Потребители</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>изтриване на потребител от организация</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>D</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>Потребителят вече е член на организацията.</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>Новини</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Бързи връзки</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Към конференция</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Към аудитория</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Помощ</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>Бъг репорт!</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>повече</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Сайт на проекта (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>Потребителски мейлинг лист (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Запомни ме</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Съдържание</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>Начална страница</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>График на срещите</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>График на събитията</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Публични срещи</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Частни срещи</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Публични събития</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Частни събития</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Публично съдържание</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Частно съдържание</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Лично съдържание</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value/>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Права на модератор</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>Искане права на модератор</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Анкети</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Избор на файл</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Настройки</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Камера и микрофон</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Настройки на дъската</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Изход</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Назад към стаите</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Изход</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Забравена парола?</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>Нова парола</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>По E-mail</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>По потребителско име</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>E-mail</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>Потребителско име</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Изпращане на E-mail с линк за нова парола</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>Не е намерен такъв e-mail.</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Моля, въведете E-mail или потребителско име.</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>Не е намерено такова потребителско име.</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>Изпратен е e-mail, съдържащ линк за нова парола.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Грешка</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Съобщение</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>Не е намерен такъв потребител.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Нова парола</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Потребителско име</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>промяна на паролата</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>нова парола</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>нова парола отново</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>Въведените пароли не са еднакви.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>4 или повече знака; главните букви имат значение!</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>Паролата е настроена, вече може да влезете в системата.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>ОК</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Грешка. Докладвайте за бъг!</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>Потребителското име не е намерено.</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Невалидна парола</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Успешен изход от системата</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Забранена е регистрацията на нови потребители.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>Невалиден e-mail</value>
+  </string>
+  <string id="340" name="registration">
+    <value>дублиране на името на файла, изберете друго име</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>името на файла е много кратко</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>Не може да се запази адреса</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>Потребителят е добавен, но трябва да се добави към Организация, за да може да влезе в системата.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>Нов запис</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>Не е намерено поле с такова полеID</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>Не е намерен етикет на това поле</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Необходима е ауторизация като администратор</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Редактор на език</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Език</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>Етикет-ID</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Име на етикета</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Стойност</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Стойности на полето</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>Име на етикета</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>Стойност на етикета</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>Етикет-ID</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>Може да изтриете само етикета, но НЕ и полето! Не може да изтриете полето, защото то съдържа етикети на други езици.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>Невалидно Етикет-ID.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>Не може да изтриете това поле.</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>експорт</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>Трябва да излезете от системата, за да видите промените.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Добавяне на нов език</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>изтриване на език</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Добавяне на нов език</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Име</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>добавяне на език</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Бекъп</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>първа страница</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>предишна страница</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>следваща страница</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>последна страница</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>потребителят говори (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>изкл./вкл. на звука</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>Система</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>Вашите настройки</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>Здравейте,</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Редакт.на профил</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>Нови съобщения:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Качи нова снимка</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Данни на потребител - експорт</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>Всички организации трябва вече да съществуват!</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>старт на експорт</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>По организация</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>старт на експорт</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Данни на потребител - импорт</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>choose-users.xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>импорт</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Експорт в XML - Тези файлове може да се използват в: &amp;lt;br/&amp;gt; - Помощ за проекта - Импорт в друга система &amp;lt;br/&amp;gt; - Бекъп - Настройки&amp;lt;br/&amp;gt; - Сложете файла в папката language на новата инсталация.</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Изберете XML файл за импорт на език. &amp;lt;br/&amp;gt; Изберете правилния език от падащото меню! &amp;lt;br/&amp;gt; Без значение от името на файла, &amp;lt;br/&amp;gt; той ще бъде импортнат в този език!</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>импорт - изберете файл</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Запазване като</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Име:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>Коментар:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>запазване</value>
+  </string>
+  <string id="395" name="record">
+    <value>Записи</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Преглед на записи</value>
+  </string>
+  <string id="397" name="record">
+    <value>Записи от публични и частни стаи</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>Потребители:</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>Включили се:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value/>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Потребители в тази стая:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>опресняване</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>Тази стая е пълна. Пробвайте отново след няколко минути.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>натиснете върху стая за детайли</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Чат с потребителите от тази стая:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Стая:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Потребители в тази стая:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>от:</value>
+  </string>
+  <string id="409" name="record">
+    <value>плейване на запис</value>
+  </string>
+  <string id="410" name="record">
+    <value>Дължина:</value>
+  </string>
+  <string id="411" name="record">
+    <value>Дата:</value>
+  </string>
+  <string id="412" name="record">
+    <value>Режим на запис! Не може да променяте стойности, това е записан файл!</value>
+  </string>
+  <string id="413" name="record">
+    <value>Плейване на този запис</value>
+  </string>
+  <string id="414" name="record">
+    <value>Плей / Пауза</value>
+  </string>
+  <string id="415" name="record">
+    <value>Старт запис</value>
+  </string>
+  <string id="416" name="record">
+    <value>Стоп запис</value>
+  </string>
+  <string id="417" name="record">
+    <value>Запис:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>В момента друг потребител прави запис.</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Запис! От потребител:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>отказ</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>Записът ще бъде отказан и няма да бъде запаметен.</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>подновяване</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Затворете този прозорец за подновяване на записа.</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>смяна на цвета на линията</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Избор на цвят</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Изкл./Вкл. цвят на линия</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>смяна на цвета на запълването</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>Изкл./Вкл. цвят на запълване</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>смяна ширината на линията</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>затваряне</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>смяна на размера на шрифта</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>Изтриване на запис</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Гост</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>От:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Име</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Стая</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Дата</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>отказ</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>старт</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Име</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Дата</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>Изтриване на чат история</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>Чат</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>изпращане на съобщение</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Емотикони</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>Емотикони</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Избор на устройства</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Аудио и Видео</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>Само Аудио</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>Само Видео</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>без Аудио/Видео (статично изображение)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>Няма да се показва никакво Аудио/Видео от Вашето PC, вместо това ще се показва статично изображение. Може да изберете тази настройка, ако имате бавна Интернет връзка.</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>ПОН</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>ВТ</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>СР</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>ЧЕТ</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>ПЕТ</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>СЪБ</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>НЕД</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>Понеделник</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Вторник</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Сряда</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Четвъртък</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Петък</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Събота</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Неделя</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>седм</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Седмица</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>Януари</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>Февруари</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>Март</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>Април</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>Май</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>Юни</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>Юли</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>Август</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>Септември</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>Октомври</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>Ноември</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>Декември</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Календар</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Участници</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Показване настройки на изгледа</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Ширина | Височина</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Видео-контейнер</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Модерация-контейнер</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Дъска-контейнер</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Включен</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Ширина | Височина</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Файлове,Чат,Участници-контейнер</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Включен</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Ширина | Височина</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>Модераторът е напуснал стаята и никой не присъства в момента. Може да поискате права на модаратор или да изчакате.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>Няма модератор в стаята, но има други участници. Може да поискате права на модаратор или да изчакате.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>Обратна връзка с $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Покана</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Съобщение от потребител:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Съобщение:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Натиснете линка, за да участвате в срещата:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Натиснете тук, за вход в стаята</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>Ако имате проблеми с линка, копирайте го и го вмъкнете в браузъра:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>Регистрация в $APP_NAME</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>Потребителски данни:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Потребителско име:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Парола:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>E-mail:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>Екип на $APP_NAME</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>Регистрация в $APP_NAME</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>Нова парола за $APP_NAME</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Натиснете линка, за да въведете нова парола.</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Натиснете тук, за да въведете нова парола.</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>Ако имате проблеми с линка, копирайте го и го вмъкнете в браузъра:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>Нова парола за $APP_NAME</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>Въведете валидна дата, например 24.11.2001 (дд.мм.гггг)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Въведете валиден e-mail, например name@mail.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Въведете десетично число, например 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Въведете цяло число, например 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Въведете валиден телефон, например +359 888 123456</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Въведете валидно време, например 12:23 (чч:мм)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Защита с парола</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Парола</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Период на валидност</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Безкраен</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Период</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>Един път</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Валидност от:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Валидност до:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Покана за $APP_NAME</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>Няма покана на раположение, за този код.</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>Поканата вече е използвана. Този тип покани не могат да се използват повторно.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>Кодът за покана не е валиден.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Парола</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Проверка на парола</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Грешна парола</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>Аудио/Видео</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Синхронизация на Аудио/Видео</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>Входът в системата е коректен, но сесията Ви не е активна. Трябва да опитате повторен вход в системата.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>Грешна сесия или липса на админ права. Трябва да имате админ права, за да добавяте нови потребители.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>Сесията не може да се свърже с отдалечения потребител.</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>Рекордерът е в момента в БЕТА-версия!</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>x-ос</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>y-ос</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>шир</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>ширина</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>вис</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>височина</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Промяна прозрачност</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Отваряне браузър</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Затваряне браузър</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>Връзката със сървъра е прекъсната. Трябва да заредите наново приложението или да проверите мрежата си.</value>
+  </string>
+  <string id="557" name="557">
+    <value>Указател</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Синхронизация</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Синхронизация на потребители, моля изчакайте</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&amp;lt;u&amp;gt;Сваляне в SVG&amp;lt;/u&amp;gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&amp;lt;u&amp;gt;Сваляне в PNG&amp;lt;/u&amp;gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&amp;lt;u&amp;gt;Сваляне в JPG&amp;lt;/u&amp;gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&amp;lt;u&amp;gt;Сваляне в PDF&amp;lt;/u&amp;gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&amp;lt;u&amp;gt;Сваляне в TIF&amp;lt;/u&amp;gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Напомняне:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Категория:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Повтаряне:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>няма</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Място:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Начало</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>Край</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Заглавие:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Коментар:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Покана</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Всеки ден</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Всеки месец</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Всяка година</value>
+  </string>
+  <string id="578" name="alert">
+    <value>Краят на събитието е след началото му!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Въведете заглавие!</value>
+  </string>
+  <string id="580" name="580">
+    <value>Отдясно наляво</value>
+  </string>
+  <string id="581" name="581">
+    <value>Активирайте, ако искате да пишете на език отдясно наляво (обратен ред на думите)</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Табло</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Гледане на записани срещи</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Среща - създава конференция с 4 (до 16) потребители&amp;lt;br/&amp;gt;като всички имат аудио + видео достъп</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Събитие - създава конференция с до 200 потребители&amp;lt;br/&amp;gt;като само Модераторът има аудио + видео достъп</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Създаване на потребители, стаи, организации&amp;lt;br/&amp;gt;+ промяна на конфигурациите</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Потребители в стаята в момента</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Логин</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Зареждане на документ. Моля изчакайте докато всички клиенти бъдат синхронизирани.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Качването е завършено, конвертиране на документа...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Старт качване</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Моля изберете файл от диска.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Отказ</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Избор на файл</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Връзки</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Стойност</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>СтриймID</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Логин</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Свързан от</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Стая / Обхват</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Кик потребител</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Кик потребител</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Наистина ли искате кик на потребителя?&amp;lt;br/&amp;gt;Това само ще махне клиента от стаята, и след това той може да се логне наново.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Сесията Ви е приключена от Администратор или Модератор.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Телефон</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>Потребителят е Модератор в тази стая</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>Потребителят има право да рисува на дъската.</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>Ре(старт) на Аудио/Видео или промяна на настройките</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Позволяване на потребителя да рисува на дъската</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Премахва правото за рисуване на дъската</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Потребители</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Файлове</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Бяла дъска</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Чат</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Вашият акаунт е свързан с повече от 1 организация. Моля, изберете една за текущата сесия.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>Стаята е пълна в момента. Моля, пробвайте отново по-късно.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Тип стая</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Уговорена среща</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Време на сървъра</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>Напомняне</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Съобщение от потребител:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Съобщение:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Натиснете тук за участие в срещата</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Натиснете тук за вход в стаята</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>Ако имате проблеми с този линк, моля копирайте и го вмъкнете в браузъра:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>вътр. търсене</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>Добавяне външни</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>Име</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>Фамилия</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>Е-майл</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Потвърждаване изход</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Искате ли да излезете сега?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Дейности</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Демо стая</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Демо време</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Таймер на срещата</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>Тази стая е Демо стая. За да изключите това предупреждение, трябва да влезете в частна стая или да настроите собствен сървър.</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Модериран</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Моля изчакайте докато Модераторът влезе в стаята. Модераторът може да е учител, администратор или създател на стаята.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>OK</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Споделен екран</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>Има нов споделен екран от потребител:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Старт на споделяне</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Добавяне на среща</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Стая за среща</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Стая за събитие</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Модерация</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Модерация на потребители</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Модерация на стаи</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>М</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Искате ли този потребител да стане Модератор на тази организация?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Моля изберете първо организация!</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Организация - Модератор</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Искате ли да изтриете потребителя от организацията?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>Потребителят е Модератор</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>Потребителят не е Модератор</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Искате ли този потребител да не бъде Модератор на тази организация?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Добавяне/премахване на потребители и стаи от организацията</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Наистина ли искате да изтриете този запис?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Наистина ли искате да изтриете потребителя от организацията? Това само ще прекъсне връзката между потребителя и организацията, за да изтриете потребителя изцяло трябва да влезете в Администраторския панел.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>Не може да изтриете своя потребител!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>Тази операция изисква Администраторски акаунт!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>Няма сесия свързана с това ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>Това е Администраторски или Модераторски акаунт. Може да редактирате този акаунт само през Административния панел.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>За да приключите регистрацията, натиснете следния линк или копирайте адреса в браузъра си.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Натиснете, за да потвърдите е-майла.</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Не беше намерен такъв потребител.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Този потребител вече е активиран.</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Успешно активирахте акаунта си!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Вход сега</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Вашият акаунт не е активиран. Използвайте линка за потвърждение в изпратения мейл.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>Успешна регистрация! Изпратен е мейл за потвърждение на регистрацията и активиране на акаунта. Моля проверете мейла си.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Изтриване на Модераторска роля за този потребител</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Даване на Модераторски права на този потребител</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>Потребител</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Достъп до дъската</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Модератор</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Модерация: моля изберете потребител от списъка за даване на права до дъската, модерация или видео.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>Този потребител вече е Модератор, затова той има достъп до дъската.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>Не може да премахнете Модераторските права от своя потребител!</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Позволяване на потребителя да публикува своето Аудио/Видео.</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Изтриване на Аудио/Видео за този потребител</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>Искам права на Модератор за тази стая.</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>Искам права за рисуване върху дъската.</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>Искам права за споделяне на Аудио/Видео.</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>Вие сте Модератор на тази стая.</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>Вие имате права за рисуване върху дъската.</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>Вие имате права за споделяне на Аудио/Видео.</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Съобщение към Модератор</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>Потребителят</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>иска права на Модератор. Използвайте статус иконите, за даване/премахване на правата.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>иска права за рисуване върху дъската. Използвайте статус иконите, за даване/премахване на правата.</value>
+  </string>
+  <string id="695" name="695">
+    <value>иска права за споделяне на Аудио/Видео. Използвайте статус иконите, за даване/премахване на правата.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>Трябва да изчакате, докато Модераторът влезе в стаята.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Отказ</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Запазване</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Ден</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Месец</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Година</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Качване на файл</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Нова папка</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Опресняване</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Кошче</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>Моите файлове (home)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Файлове за стаята</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Нов файл</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Нова папка</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Изтриване на папка</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Редактиране на име</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>Нова папка</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Сигурни ли сте, че искате да изтриете този елемент?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Търсене</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Търсене</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Отваряне на документ</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Показване на всички файлове (дървовиден изглед)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Затваряне на документ</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Изтриване на файл</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>Нямате права за рисуване върху дъската. Може да поискате това право от Модератор.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Свойства на документ</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Старт клиент (външен)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Старт клиент (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>Потребител иска да сподели своя екран. Искате ли да го видите?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>В момента споделяте своя екран. За да спрете споделянето, натиснете бутона Stop.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Сесия за споделяне</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>В момента споделяте своя екран!</value>
+  </string>
+  <string id="728" name="sharing client">
+    <value>Десктоп преглед</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Изход</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Десктоп споделяне</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Натиснете Start, за да публикувате своя екран.</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Старт на споделяне</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Стоп на споделяне</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Избор на част от екрана:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Промяна на ширина</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>Сесията на споделяне е приключила!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Промяна на височина</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X-изместване</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y-изместване</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Ширина:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Височина:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>Връзката е затворена от сървъра</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Отказ</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Старт външен</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>Ако затворите сесията изцяло, няма да може да възстановите прегледа на тази сесия.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Потвърждаване затваряне на сесията за преглед</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Споделяне на екран</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Запис на сесия</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Общ браузър</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Firefox на Windows не позволява чисто общо браузване. Моля изберете друг браузър.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Предишен</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Следващ</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Презареждане</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Начало</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Зареждане</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Добавяне на сайт като сайт по подразбиране за този профил.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Тест на настройките</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Проверете настройките на микрофона и камерата си. След това може да пуснете записа за проверка на гласа и картината.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Не показвай повече този тест</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Отказ</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Старт конференция</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Не питай повече</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>Може да продължите без тест, ако не планирате да публикувате видео/аудио. Участниците без Аудио/Видео могат да използват дъската, да споделят екрана си и да пишат чат съобщения.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="767">
+    <value>Височина</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Натиснете Start</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Старт конференция</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Старт събитие</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Избор на стая</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Проба настройки</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Старт конференция</value>
+  </string>
+  <string id="774" name="start view">
+    <value>Тип конференция:</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Начало запис</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Не показвай Аудио/Видео тест запис, преди влизане в конференцията.</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Публични стаи</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>До публичните стаи имат достъп всички потребители.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Частни стаи</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>До частните стаи имат достъп само потребителите от същата организация.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>Моите стаи</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Стаите в тази секция са създадени за лично ползване. Те са създадени от календара и имат начална и крайна дата. Те се описват в тази секция, докато са валидни.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>Трябва да сте Модератор за това действие.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Искане за Модератор</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Искане за рисуване върху дъската</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Искане достъп до камера/микрофон</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>Сесията вече се използва - не може да я използвате повторно.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>СТАРТ</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>ИЗХОД</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Наистина ли искате да излезете? Може би трябва да изчистите дъската, качените документи и чат историята.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Изход конференция</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Стаи</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Изберете стая за срещата</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>Има незапазено събитие в календара. Моля, запазете го или го изтрийте.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Моля добавете поне 1 присъстващ на срещата!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Наистина ли искате да изтриете това събитие?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Предупреждение</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Добавяне събитие</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>ден</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>седмица</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>месец</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Описание</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Присъстващи</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>Моля, следвайте инструкциите и натиснете бутона Start, за да започнете конференция веднага или отидете в календара, за да планирате бъдеща конференция.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Планиране среща</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>За да планирате среща, добавете събитие към каледара. За всяко събитие в каледара ще бъде автоматично създадена стая за конференция. Вие и всички присъстващи ще получат мейл с линк към стаята&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; Може да изберете различни типове стаи с различен тип модерация.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Нужда от помощ?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Ограничен</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Търсене</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Добавяне</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>Не е избран потребител. Моля изберете елемент от списъка и го добавете.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Добавяне на присъстващ</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Запазване</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Изтриване</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Детайли за събитието</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Модератори по подразбиране</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Супер</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Име</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>Е-майл</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Добавяне на нов Модератор по подразбиране</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>е Супер Модератор</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>Ако стаята е модерирана, Модератор или Администратор автоматично са с права на Модератор. Ако искате определен потребител да бъде Модератор, използвайте опцията Модератор по подразбиране.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>Супер Модератор винаги е Модератор при вход в стаята и никой не може да премахне тези негови права.</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Прилагане права на Супер Модератор</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Премахване права на Супер Модератор</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>Ако добавите организация към стаята, само потребителите от тази организация ще виждат стаята.</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Модерация</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Ограничения</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Организация</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Сигурни ли сте?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Наистина ли искате да изтриете този елемент? Трябва да натиснете бутона Save, за запазване на промените!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>Не е избран потребител. Моля изберете потребител, преди да го добавите!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Добавяне на нов Модератор по подразбиране</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Искате ли да дадете права на Супер Модератор на този потребител? Супер Модератор винаги е Модератор при вход в стаята и никой не може да премахне тези негови права. Трябва да запазите стаята, за да запазите настройките!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Искате ли да премахнете правата на Супер Модератор от този потребител? Трябва да запазите стаята, за да запазите настройките!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>Потребителят е Супер Модератор и никой не може да премахне тези негови права!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Наистина ли искате да изтриете този файл/папка?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Изтриване на файл/папка?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Г-жа</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Д-р</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Свойства</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Показване позицията на мишката на гледащите</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Share Audio with SIP Applet</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Share Audio with SIP and Video with Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Full-Fit</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>View Screen</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>The user</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>wants to share its screen. Do you want to see it?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Close</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>The Session was closed by the sharing User!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>New Screen Sharing</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimize</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximize</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Recording Timeline</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>My Recordings</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Public Recordings</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Name</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Length</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Date</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>By</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>PLAY</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Main - Video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Recording</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>You may record and share your screen at the same time. To enable others to see your screen just hit the start button on the top. To only record the Session it is sufficient to click start recording.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Start Recording</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Stop Recording</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download the FLV-File</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Room</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>User has microphone on</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Stop Sharing</value>
+  </string> 
+  <string id="879" name="room config">
+    <value>Allow User Questions</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Turn this off to prevent that any user is disturbing you in this room. Effect is that the Button to ask for Moderation ("I have a question") is not visible.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Rights</value>
+  </string>  
+  <string id="882" name="flvrecording">
+    <value>Download as AVI</value>
+  </string>  
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio only</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the Recording.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>The Recording is not yet ready for watching. Please retry in a couple of minutes again.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Recorder Message</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIP Applet is not Ready</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP-Account Settings</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP settings for each user. You can turn on or off SIP via the Administration &gt; Configuration (Key: enable_sip). The SIP data for each user should be created automatically. You can re-create the data by checking "Re-generate SIP Data"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. You should check the authentification data of your SIP-Provider and the SIP-Account Data for each User. As Administrator you are still able to login and check the Configuration. As User or Moderator you will be blocked from any interaction.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. Contact your Service Team!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet Message</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>The SIP-Applet is not ready. Accept the Applet please and click ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Get Moderation</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login the $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choose the User for this Video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>You are a Moderator in this Interview. You can decide who is speaking in this interview and you can start / stop the recording of the Session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Start Recording</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Stop Recording</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+    <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">

+    <value>Publish</value>

+  </string>

+  <string id="1466" name="sharing client">

+    <value>Start Publish</value>

+  </string>

+  <string id="1467" name="sharing client">

+    <value>Stop Publish</value>

+  </string>

+  <string id="1468" name="sharing client">

+    <value>Host</value>

+  </string>

+  <string id="1469" name="sharing client">

+    <value>Publish App</value>

+  </string>

+  <string id="1470" name="sharing client">

+    <value>Publish Id</value>

+  </string>

+  <string id="1471" name="sharing client">

+    <value>Reduce the width of the SharingScreen before you try to move it left</value>

+  </string>

+  <string id="1472" name="sharing client">

+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>

+  </string>

+  <string id="1473" name="sharing client">

+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>

+  </string>

+  <string id="1474" name="sharing client">

+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>

+  </string>

+  <string id="1475" name="sharing client">

+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>

+  </string>

+  <string id="1476" name="sharing client">

+    <value>Please start Screen sharing to be able to publish it</value>

+  </string>

+  <string id="1477" name="sharing client">

+    <value>Moderator permission required to start recording</value>

+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>

+  <string id="1492" name="conference menu">

+    <value>Ask moderator to share your whiteboard</value>

+  </string>

+</language>
diff --git a/WebContent/languages/catalan.xml b/WebContent/languages/catalan.xml
new file mode 100644
index 0000000..3bf9e7b
--- /dev/null
+++ b/WebContent/languages/catalan.xml
@@ -0,0 +1,4505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Conferència</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>Videoconferència</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>Auditories</value>
+  </string>
+  <string id="4" name="settings">
+    <value>Configuració</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>Usuari</value>
+  </string>
+  <string id="6" name="admin">
+    <value>Administració</value>
+  </string>
+  <string id="7" name="stop">
+    <value>Aturar</value>
+  </string>
+  <string id="8" name="record">
+    <value>Grabar</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>No s'ha seleccionat ningun fitxer</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>Gravació pel professor</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>Usuaris conectats:</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>Iniciar conferència</value>
+  </string>
+  <string id="13" name="myname">
+    <value>El meu nom</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>Videoconferència</value>
+  </string>
+  <string id="15" name="import">
+    <value>Importar fitxer</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>Actualitzar llista de fitxers</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>Selecciona un fitxer com a principal</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>Nova enquesta</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>Nova enquesta per la conferència</value>
+  </string>
+  <string id="20" name="question">
+    <value>Pregunta:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>Tipus d'enquesta</value>
+  </string>
+  <string id="22" name="create">
+    <value>Crear</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>Informació: descripció d'enquesta.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>Crear enquesta</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>Cancel·lar</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>Sí/No</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>Valor numèric [1-10]</value>
+  </string>
+  <string id="28" name="poll">
+    <value>Enquesta</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>És necessita ser moderador per crear una enquesta.</value>
+  </string>
+  <string id="30" name="vote">
+    <value>El seu vot ha sigut registrat</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>Ja a respòs a la enquesta prèviament</value>
+  </string>
+  <string id="32" name="voting">
+    <value>Votar</value>
+  </string>
+  <string id="33" name="answer">
+    <value>La seva resposta:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>Sí</value>
+  </string>
+  <string id="35" name="no">
+    <value>No</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>Vol saber:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>Resultats</value>
+  </string>
+  <string id="38" name="question">
+    <value>Pregunta:</value>
+  </string>
+  <string id="39" name="results">
+    <value>Resultats:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>Respostes:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>No hi ha enquestes</value>
+  </string>
+  <string id="42" name="votings">
+    <value>Votar</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>Reunió (màx 4 llocs)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>Conferència (máx 50 llocs)</value>
+  </string>
+  <string id="45" name="type">
+    <value>Tipus</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>Altres llocs</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>Ja ha seleccionat.</value>
+  </string>
+  <string id="48" name="enter">
+    <value>Entrar</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>El moderador a deixat la reunió.</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>Informació del sistema</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>Seleccionar el dispositiu</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Seleccionar camara:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>Seleccionar micròfon:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>OK</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>Cancelar</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>Necessita reconectar-se</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>Editar configuració</value>
+  </string>
+  <string id="58" name="course">
+    <value>Curso:</value>
+  </string>
+  <string id="59" name="language">
+    <value>Idioma:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>OK</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>cancelar</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>Eliminar pissarra</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Vols netejar la pissarra abans de afegir una nova imatge?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>No tornar a preguntar</value>
+  </string>
+  <string id="65" name="no">
+    <value>no</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>Editar la configuració</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Requerix confirmació abans de netejar la pissarra</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>Informació del usuari</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>Netejar l'àrea de dibuix</value>
+  </string>
+  <string id="70" name="undo">
+    <value>Desfer</value>
+  </string>
+  <string id="71" name="redo">
+    <value>Refer</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>Seleccionar un objecte</value>
+  </string>
+  <string id="73" name="text">
+    <value>Text</value>
+  </string>
+  <string id="74" name="paint">
+    <value>Pintar</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>Traçar una línia</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>Subratllar</value>
+  </string>
+  <string id="77" name="rect">
+    <value>Rectangle</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>El·lipse</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>Data</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>Esborrar l'ítem escollit</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>Solicitar la moderació</value>
+  </string>
+  <string id="82" name="apply">
+    <value>Aplicar</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>Cancel·lar</value>
+  </string>
+  <string id="84" name="mod">
+    <value>Convertir-se en moderador</value>
+  </string>
+  <string id="85" name="close">
+    <value>Tancar</value>
+  </string>
+  <string id="86" name="italic">
+    <value>Itálica</value>
+  </string>
+  <string id="87" name="bold">
+    <value>Negreta</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>En espera...</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>Un usuari sol·licita la moderació:</value>
+  </string>
+  <string id="90" name="accept">
+    <value>Aceptar</value>
+  </string>
+  <string id="91" name="reject">
+    <value>Denegar</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>Cancel·lar</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>Envian la sol·licitud als següents usuaris</value>
+  </string>
+  <string id="94" name="accept">
+    <value>Aceptat</value>
+  </string>
+  <string id="95" name="reject">
+    <value>Rebutjat</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>Cambiar el moderador</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>Voste no és moderador</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>Moderador:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>Ho sentim, però aquesta sala està plena. Intenti'l més tard</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>Elipse</value>
+  </string>
+  <string id="101" name="close">
+    <value>tancar</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>error en la introducció de dades</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>el nom d'usuari ha de contenir almenys 4 caràcters</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>la clau d'usuari ha de contenir almenys 4 caràcters</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>Aquest nombre d'usuari ja existeix</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>Aquest email ja està registrat</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>Error, per favor contacti amb l'administrador del sistema</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>Entrar</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>Usuari:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>Contrasenya:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>Idioma</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>Entrar</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>Registrar-se</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>Usuari:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>Contrasenya:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>Contrasenya (un altre vegada):</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Nom:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Cognoms:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>Correu electronic:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>País:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>Registrar-se</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>Cancel·lar</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>Registrar</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>Inici</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>Usuaris</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>Grups</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>Organitzacions</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>Sales de conferèncias</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>Públic</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>Organització</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>Entrar</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>Usuari</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>Contrasenya</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>Escriure de nou</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Nom</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Cognoms</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>Correu Electrónic</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>Data de neixement</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>Direcció</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>Població</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>País</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Més informació</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Dades de usuari</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>Guardar</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>Guardar</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>ID</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>Usuari</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>nom</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>cognoms</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>mostrar següent</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>mostrar anterior</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>eliminar registre</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>cancel·lar</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>borrar</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>Nou registre</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>Actualitzar registre</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>Esborrar registre</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>Estat</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>no actiu</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>actiu</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>Organitzacions</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>calendari</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>tancar</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>ID</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>Nom</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>Usuari</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>moderador</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>administrador</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>Rol de usuari</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>organització</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>nom</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>afegir organització</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>afegir organització</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>cancel·lar</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>afegir</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>eliminar organització</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>usuari</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>afegir usuari</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>eliminar usuari</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>afegir usuari</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>buscar usuari</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>buscar</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>usuari</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>organització</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>ingressar</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>Sales</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>Sales de conferència</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>id</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>Nom</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>pública</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>Organitzacions</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>Sales de conferència</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>Nom</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>Tipus</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>Pública</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>Comentari</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>guardar</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>carregar</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>guardar com</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>fitxer</value>
+  </string>
+  <string id="201" name="files">
+    <value>fitxer</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>cancel·lar</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>guardar</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>error</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>carregan</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>objectes carregats</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>sincronitzant clients, esperi un moment.</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>Carregant dades d'imatge.</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>sincronitzant clients, esperi un moment.</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>netejar l'àrea de dibuix</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>netejar l'àrea de dibuix, tota la informació de la pissarra s'esborrarà</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Confirmar abans de carregar un arxiu</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>Enviar invitació</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>Enviar invitació</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>Tema</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Destinatari</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>Missatge</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Enviar</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>cancel·lar</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>enviar</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>Dades d'usuari</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>El seu pseudònim per a aquesta conferència</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>nom que es mostrarà</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>nom</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>cognoms</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>email</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>idioma</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>ingressar</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>Carregan</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>Carregant dades, espere un moment</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>Contrasenya errònia</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>Per favor introdueixi dues vegades les mateixa contrasenya amb un mínim de 6 caràcters</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>Correu invàlid</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>Vostè ha introduït una adreça no vàlida de correu electrònic</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>El registre s'ha completat amb èxit</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>El seu compte ha estat creada, pot ingressar des d'aquest moment</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>No pot compartir el seu escriptori en aquest moment. Algú més ja està compartint el seu escriptori.</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Compartició prohibida</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Compartir escriptori</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Problemes de connexió: La seva ample de banda és insuficient i es perdrà la informació. Si el missatge es repeteix amb freqüència sol·liciti al moderador reduir la qualitat d'imatge i àudio.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>Escriptori de:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Dibuixar</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Document</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>Chat</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>Fitxers</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Membres</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Descarregar el document original</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>Descarregar el document en pdf</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Pujar un arxiu a la pissarra</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Configuració</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Arrossegar aquest objecte</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Ajustar el tamany del objete</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>de</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>Anar a la primera pàgina</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>Anar a la pàgina anterior</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>Anar a la pàgina següent</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>Anar a l'última pàgina</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Disminuir Zoom</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Aumentar Zoom</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>Sr.</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Sra.</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Configuració</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>Clau</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Configuració</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>Clau</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>última actualizació</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>actualitzat per</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>comentar</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>clau</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>de</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>Usuaris</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>Eliminar usuari de l'organització</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>Eliminar</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>Aquest usuari ja és membre de l'organització</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>Noticies</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Enllaços ràpids</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Anar a la videoconferència</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Anar a l'auditori</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Ajuda i support tecnic</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>Enviar "bug"</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>més</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Web del Projecte (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>Llista de correus del Projecto (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Recordar</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Contingut</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>La meva pàgina d'inici</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>Reunions programades</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>Events programats</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Reunion publiques</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Reunions privades</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Events publics</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Events privats</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Contingut public</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Contingut privat</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Contenido personal</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value>...</value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Moderació</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>Sol·licitar la moderació</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Enquestes</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Seleccioni un fitxer</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Configuració</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Càmera i micròfon</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Configuració de la pissarra</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Sortir</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Regressar a les sales</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Sortir</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Ha oblidat la seva contrasenya?</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>Resetear contrasenya</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>Audi i Video</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>Chat</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>Pissarra</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>Moderació</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Fitxers</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>Usuaris</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Enquestes</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>No hi ha ningú connectat amb aquest nom d'usuari</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>El email conté un enllaç especial que ha estat enviat al seu correu. Si no apareix aquest correu revisi la configuració de filtres de spam del seu servidor i reenvée aquest correu novament.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Error</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Missatge</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>No es va trobar a l'usuari (mètode de generació de claus incorrecte).</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Generar contrasenya</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Entrar</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>cambiar contrasenya</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>nova contrasenya</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>torni a escriure la contrasenya</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>Les contrasenyes introduïdes no són iguals.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>Escrigui 4 o més caràcters. Distingeix majúscules de minúscules</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>La contrasenya ha estat canviada, ara pot iniciar sessió.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Error desconegut. Enviï aquesta informació a l'administrador del sistema.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>No es va trobar a l'usuari</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Contrasenya incorrecta</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Ha sortit del sistema</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Es troba deshabilitada l'opció de registre.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>Correu incorrecte</value>
+  </string>
+  <string id="340" name="registration">
+    <value>fitxer duplicat, per favor seleccioni un altre</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>el nom de l'arxiu és massa curt</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>No es va poder guardar l'adreça</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>L'usuari va ser afegit, no obstant això haurà d'estar almenys en una organització per a poder iniciar la sessió.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>Nova gravació</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>No es va trobar un camp en aquest  FieldId.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>No es va trobar una etiqueta per a aquest camp.</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Es necessita autorització de l'administrador</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Editor d'idiomes</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Idioma</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>Etiqueta-ID</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Etiqueta-Nom</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Valor</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Valor dels camps</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>Nom</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>Valor de l'etiqueta</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>ID de l'etiqueta</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>Ha eliminat l'etiqueta però no el camp. No es pot eliminar un camp ja que pot tenir etiquetes en altres idiomes.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>Labelid incorrecte. El seu FieldLanguagesvaluesAneu no es va trobar en la base de dades.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>Vostè no pot eliminar aquest camp, només les etiquetes. No hi ha una etiqueta carregada de moment o no es troba seleccionada cap (pot ser que no existeixi en l'idioma seleccionat).</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>exportar</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>Necessita tancar la sessió per a veure els canvis.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Afegir nou idioma</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>eliminar idioma</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Afegir nou idioma</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Nom</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>afegir idioma</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Copia de seguretat</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>anar a l'inici</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>anterior</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>sigüente</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>anar al final</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>l'usuari parla (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>encendre o apagar so</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>Sistema</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>La seva configuració</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>Salutacions,</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Editar perfil</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>Nous missatges:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Pujar imatge</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Exportació de dades d'usuari</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>¡Han d'existir totes les organitzacions!</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>Exportar usuaris</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>Exportar per organizació</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>Iniciar procés d'exportació</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Importació de dades d'usuari</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>Seleccionar fitxer xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>importar</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Exportar a XML - Aquests fitxers poden ser usats per a: - Contribuir en el projecte - Importar-los en altre sistema - Copia de Respatller - Personalització - Col·locar-lo en el directori d'idiomes per a la pròxima instal·lació. </value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Seleccioni un arxiu d'idioma que s'importarà. Configuri correctament l'idioma en el menú desplegable (no importa el nom que tingui l'arxiu ja que serà importat de tots les maneres).</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>importar - seleccionar fitxer</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Guardar com...</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Nom:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>Comentari:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>guardar</value>
+  </string>
+  <string id="395" name="record">
+    <value>Grabacions</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Visor de grabacions</value>
+  </string>
+  <string id="397" name="record">
+    <value>Grabacions de salas publiques i privades</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>Usuaris:</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>En el sistema:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Usuaris en la sala:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>actualitzar</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>La sala esta plena. Per favor, intenti'l més tard.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>Premi sobre una sala per a veure els detalls</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Escriure als usuaris d'aquesta sala:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Sala:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Usuaris en aquesta sala:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>desde:</value>
+  </string>
+  <string id="409" name="record">
+    <value>reproduir gravació</value>
+  </string>
+  <string id="410" name="record">
+    <value>Duració:</value>
+  </string>
+  <string id="411" name="record">
+    <value>Data:</value>
+  </string>
+  <string id="412" name="record">
+    <value>Manera d'enregistrament: no pot canviar cap valor ja que es tracta d'un arxiu gravat.</value>
+  </string>
+  <string id="413" name="record">
+    <value>Reproduir aquesta gravació</value>
+  </string>
+  <string id="414" name="record">
+    <value>Reproducir / Pausa</value>
+  </string>
+  <string id="415" name="record">
+    <value>Iniciar gravació</value>
+  </string>
+  <string id="416" name="record">
+    <value>Parar gravació</value>
+  </string>
+  <string id="417" name="record">
+    <value>Gravació:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>Actualmente algú es troba graban:</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Gravant per l'usuari:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>cancel·lar</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>La gravació serà cancel·lada i no es guardarà. </value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>reprendre</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Tancar finestra i reprendre la gravació</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>Canviar el color de línia</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Seleccionar color</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Deshabilitar / Habilitar color de línia</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>canviar color de fons</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>Deshabilitar / Habilitar color de fons</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>canviar grossor de línia</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>tancar</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>canviar grandària de lletra</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>Eliminar gravació</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Invitat</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>Per:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Nom</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Sala</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Data</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>cancel·lar</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>iniciar</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Nom</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Data</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>Eliminar registre (log) de xat en el servidor</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>Xat</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>enviar un missatge</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Emoticones</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>Emoticones</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Seleccionar dispositius</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Àudio i Vídeo</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>Només Àudio</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>Només Vídeo</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>Sense Àudio/Vídeo (Imatge fixa)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>No es transmetrà Àudio/Vídeo des del seu equip. En el seu lloc es mostrarà la imatge del seu perfil. Seleccioni aquesta configuració si té problemes amb l'ample de banda d'internet.</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>DL</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>DM</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>MC</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>DJ</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>DV</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>DS</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>DG</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>Dilluns</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Dimarts</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Dimecres</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Dijous</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Divendres</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Disabte</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Diumenge</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>S#</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Nombre de setmana de calendari</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>Gener</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>Febrer</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>Març</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>Abril</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>Maig</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>Juny</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>Juliol</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>Agost</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>Setembre</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>Octubre</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>Novembre</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>Desembre</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Calendari</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Participants</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Mostrar la configuració</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Ample | Alt</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Contenidor: vídeo</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Contenidor: moderació</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Contenidor: pissarra</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Habilitat</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Ample | Alt</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Contenidor: Fitxer,Xat,Participants</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Habilitat</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Ample | Alt</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>El moderador s'ha retirat pel que ningú està realitzant una presentació en aquests moments. Pot sol·licitar la moderació o esperar.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>No hi ha moderador en aquesta sala, però si participants. Pot sol·licitar la moderació o esperar.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>Comentari de $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Invitació</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Missatge del usuari:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Missatge:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Premi en aquest enllaç per a poder participar en la conferència:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Premi aquí per a entrar a la sala</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>Si té problemes amb l'enllaç, li vam suggerir que copiï i pegui el següent text en el seu navegador:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>Registre $APP_NAME</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>La seva informació d'usuari:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Usuari:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Contrasenya:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>Correu:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>Equip-$APP_NAME</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME - Registre</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - Resetear contrasenya</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Premi en el següent enllaç per a sol·licitar una nova contrasenya:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Premi aquí per a introduir una nova contrasenya</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>Si té problemes amb l'enllaç, li vam suggerir que copiï i pegui el següent text en el seu navegador:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>$APP_NAME - Nova Contrasenya</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>Per favor, introdueixi una data vàlida amb el format dd.mm.yyyy Exemple: 24.12.2008.</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Per favor, introdueixi una adreça de correu vàlida</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Per favor, introdueixi un nombre decimal. Exemple: 1.00 (usi punt i no la coma)</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Per favor, introdueixi un nombre sencer</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Per favor, introdueixi un nombre de telèfon vàlid. Exemple: +593 947 225 200.</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Per favor introdueixi una hora vàlida en el format hh:mm. Exemple: 12:23.</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Contrasenya protegida</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Contrasenya</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Període de validesa</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Sense límit</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Període</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>Una vegada</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Des de:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Fins a:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Invitació a $APP_NAME</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>No existeix una invitació disponible amb aquest codi.</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>Aquesta invitació ja va ser usada i no pot tornar-se a utilitzar.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>El codi d'invitació no és vàlid.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Contrasenya:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Verificar contrasenya</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Contrasenya incorrecta</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>Navegador</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Sincronitzar Àudio/Vídeo</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>El login és correcte, però la sessió en la qual intenta entrar no està activa o no va ser guardada en el servidor. Ha d'iniciar una nova sessió.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>La SessionId is not loggedin or has no Admin rights. The SOAP Gateway needs an User with Admin-Rights to embed new Users.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>This Session has no Remoteuser-Data connected. Wether you did not call the SOAP-Gateway before accessing the Application or you are usnig a wrong Session-ID</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>El grabador actualment està en fase beta</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>eix -x</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>eix-y</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>a</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>amplària</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>altura</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Canviar Transparència</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Navegador Obrir</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Navegador Tancar</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>S'ha perdut la connexió amb el servidor. Necessita recarregar l'aplicació i/o comprovar la seva Xarxa.</value>
+  </string>
+  <string id="557" name="557">
+    <value>Punter</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Sincronitzant</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Sincronitzant usuaris. Per favor, esperi.</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Descarregar com SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Descarregar com PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Descarregar com JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Descarregar com PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Descarregar com TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Recordi:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Categoria:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Repetició:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>ningú</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Localització:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Inici</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>Final</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Títol:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Comentari:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Convidar a persones</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Diàriament</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Mensualment</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Anualment</value>
+  </string>
+  <string id="578" name="alert">
+    <value>La cita final va després de la cita d'inici</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Per favor, posi un títol</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>Activi aquesta opció si l'escriptura del seu idioma va de dreta a esquerra</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Eines</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Veure esdeveniments o trobades gravades</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Videoconferència - Reuneixi's amb 4 o més (fins a 16) usuaris<br/>tots tindran accés d'àudio i vídeo.</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Auditori - Reuneixi's amb fins a 200 participants&lt;br/&gt;només el moderador tindrà àudio i/o vídeo</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Crear usuaris, sales, organitzacions&lt;br/&gt; + canvis en la configuració</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Usuaris en la Sala</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Login</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Carregant Arxiu. Esperi fins que tots els clients hagin estat sincronitzats. </value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Pujada completa. Convertint l'arxiu...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Iniciar Pujada</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Pujar i importar conversa. Per favor, seleccioni un arxiu del seu disc.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Cancel·lar</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Seleccionar Arxiu</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Conexions</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Valor</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Login</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Conectat des de</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Sala / Àmbit</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Expulsar a l'usuari</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Expulsar</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Està segur de voler expulsar a aquest client de la connexió?<br/> El client serà expulsat de la Sala, però podrà tornar a autenticar-se de nou.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>La seva sessió ha estat tancada per l'administrador o el moderador.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Telèfon</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>L'usuari és el moderador d'aquesta Sala</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>L'usuari té permisos per a dibuixar en la pissarra</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Re) Iniciar Àudio/Vídeo o canviar la configuració de dispositius</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Permetre a aquest usuari dibuixar en la pissarra</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Llevar permisos per a dibuixar en la pissarra</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Usuaris</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Fitxers</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Pissarra</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Xat</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>El seu compte està assignada a diverses organitzacions. Seleccioni aquella amb la qual vulgui entrar en aquesta sessió.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>Aquesta sala està completa. Intenti'l més tard.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Tipus de sala</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Sala per a citar-se</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Hora del servidor</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - Recordatori</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Missatge de l'usuari:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Missatge:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Premi en l'enllaç per a participar en la (Vídeo)Conferència:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Premi aquí per a entrar en la sala</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>Si té problemes, copiï i pegui aquest enllaç en el seu navegador:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>recerca interna:</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>usarios externs</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>nom</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>cognoms</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>E-mail</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Confirmar Sortir</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Està segur que desitja sortir?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Accions</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Sala Demo</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Hora Demo</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Temporitzador de trobades</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>Aquesta Sala és demo. Per a desactivar aquest avís, hauria d'aconseguir una sala privada per a ús propi o bé configurar el seu propi Servidor. Serà desconnectat automàticament en:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Amb moderador</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Per favor, esperi fins que el moderador entre en la sala. El moderador pot ser un professor, l'administrador o el creador d'aquesta sala.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Ok</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Escriptori compartit iniciant-se</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>Està iniciant-se un escriptori compartit de l'usuari:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Començar a compartir</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Afegir una nova trobada</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Sala de trobades</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Sala d'esdeveniments</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Moderació</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Moderar Usuaris</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Moderar Sales</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Desitja convertir a aquest usuari en Moderador d'aquesta Organització?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Per favor, seleccioni una Organització abans d'intentar incloure a un usuari en la mateixa.</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Organització - Moderador</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Realment desitja esborrar a aquest usuari de l'Organització?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>Aquest usuari és Moderador</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>Aquest usuari no és Moderador</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Desitja que aquest usuari deixi de ser Moderador d'aquesta Organització?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Afegir o esborrar Usuaris i/o Sales en la seva Organització </value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Realment vol esborrar aquest registre?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Realment vol esborrar a aquest usuari de la seva organització? Només s'esborrarà la connexió entre l'usuari i la seva organització. En realitat, per a esborrar a l'usuari ha d'ingressar al Panell d'Administració.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>¡Vd no pot esborrar-se a si mateix!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>¡Aquest mètode necessita un compte d'Administració per a poder ser utilitzat!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>No hi ha cap sessió associada a aquest ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>Aquesta és un compte d'Administrador o de Moderador. Només pot editar aquest compte utilitzant el Panell d'Administració.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>Per a completar el seu registre, faci el favor de prémer en el següent enllaç. Altra opció és copiar la URL en la barra del seu navegador.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Premi per a verificar el seu E-Mail</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>No s'ha trobat un usuari per a aquest algorisme Hash.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>¡Aquest usuari ja va ser activat!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>¡Ud ha activat el seu compte amb èxit!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Ingressi ara</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>El seu compte no està activada. Utilitzi en primer lloc l'enllaç que hi ha en correu rebut al finalitzar el procés de registre.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>Ud s'ha registrat amb èxit. Li hem enviat un correu amb un codi de verificació. Per favor, revisi el seu compte de correu.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Llevar el rol de Moderador a aquest usuari</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Donar permisos de Moderació a aquest usuari</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>Usuari</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Accés a la pissarra</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Moderador</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Moderació: Per favor, seleccioni qualsevol usuari de la llista per a donar-li accés a la Pissarra, Moderació o Vídeo.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>Aquest usuari ja és Moderador, així que automàticament té permisos per a dibuixar.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>Aquest és Ud! No pot llevar-se els permisos de Moderació a si mateix.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Permetre a aquest usuari Publicar el seu Àudio/Vídeo</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Esborrar l'Àudio/Vídeo d'aquest usuari</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>M'agradaria ser moderador d'aquesta sala</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>M'agradaria utilitzar la pissarra</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>Desitjaria compartir el meu Àudio/Vídeo</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>Vè. és el moderador d'aquesta sala </value>
+  </string>
+  <string id="689" name="event user list">
+    <value>Té permisos per a dibuixar en la pissarra</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>Té permís per a compartir el seu Àudio/Video</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Missatge al Moderador</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>L'usuari</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>Desitjaria ser Moderador. Usi les icones d'estat pròxims a l'usuari en la Llista d'Usuaris per a agregar o remoure el permís de Moderació.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>desitjaria utilitzar la pissarra. Utilitzi les icones que hi ha al costat del nom de l'usuari (en la Llista d'Usuaris) per a agregar o llevar els permisos corresponents.</value>
+  </string>
+  <string id="695" name="695">
+    <value>desitjaria compartir el seu Àudio/Vídeo. Usi les icones que hi ha al costat del nom d'usuari (en la Llista d'Usuaris) per a agregar o llevar els permisos per a compartir Àudio/Video.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>Ha d'esperar fins que un Moderador ingressi a la sala.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Cancel·lar</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Guardar</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Dia</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Mes</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Any</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Pujar fitxer</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Fitxer carpeta</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Actualizar</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Papelera</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>Els meus Arxius (Dispositiu personal)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Arxius de la Sala (Dispositiu públic)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Afegir fitxer</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>AfegirCarpeta</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Borrar Carpeta</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Editar nom</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>Nova Carpeta</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Està segur que vol esborrar aquest ítem?)</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Buscar</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Buscar</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Obrir document</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Mostrar tots els arxius (Vista d'arbre)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Tancar document</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Esborrar fitxer</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>No té permisos per a escriure o dibuixar en la pissarra. Ha de ser moderador o, almenys, tenir permisos d'edició de la pissarra. Sol·liciti-l'hi a un Moderador.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Propietats</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Iniciar Client (extern)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Iniciar Client (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>Un usuari desitja compartir la seva pantalla. Desitja visualitzar-lo?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>Actualment està compartint el seu escriptori. Per a deixar de fer-lo, premi en el botó Stop en el client utilitzat.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Compartint sessió</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>¡Ja està compartint el seu Escriptori!</value>
+  </string>
+  <string id="728" name="sharing client">
+    <value>Visor d'Escriptori</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Sortir</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Compartint l'Escriptori</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Premi Iniciar per a publicar la seva pantalla</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Iniciar el compartir escriptori</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Finalitzar el compartir escriptori</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Seleccioni l'àrea de la seva pantalla:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Canviar amplària</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>!Ha finalitzat aquesta sessió!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Canviar altura</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>Desplaçament eix X</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Desplaçament eix Y</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Amplària:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Altura:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>La connexió ha estat tancada pel servidor</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Cancel·lar</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Iniciar Externa</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>Si tanca aquesta sessió completament, no serà possible reiniciar el visor durant aquesta sessió.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Confirmar el tancament de la sessió </value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Compartir pantalla</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Grabar sessió</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Co-Navegació</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Hum... Firefox en windows no mostra la co-navegació amb claredat. Per favor, utilitzi altre navegador o tancament aquesta funcionalitat.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Previ</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Sigüent</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Recarregar</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Inici</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Carregar</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Configurar en el seu perfil aquest lloc com la pàgina web per defecte.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Provar configuració</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Comprovi la configuració del seu micròfon i/o càmera abans d'entrar en la sala. Per a això gravi durant alguns segons i reprodueixi'l.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>No tornar a mostrar aquest test</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Cancel·lar</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Iniciar</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>No demanar de nou</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>Pot continuar sense fer la comprovació si no desitja publicar la imatge i/o el so. Els participants sense àudio o sense vídeo poden en tot cas utilitzar la pissarra, compartir el seu escriptori o enviar missatges utilitzant el xat.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="767">
+    <value>Medidor de Nivell</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Pressioni Iniciar </value>
+  </string>
+  <string id="769" name="start view">
+    <value>Iniciar Conferència</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Iniciar Esdeveniment</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Anar a la Sala</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Comprovar Config.</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Iniciar Conferen.</value>
+  </string>
+  <string id="774" name="start view">
+    <value>Instruccions Conferència:</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Iniciar Gravació</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>No mostrar el test de gravació d'àudio /vídeo abans d'entrar en una Conferència </value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Salas públiques</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Les sales públiques són accessibles per a tots els usuaris.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Salas privades</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Les sales privades són accessibles només per als usuaris de la mateixa organització.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>Les meves sales</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Les sales en aquesta secció són per a ús personal. Es creen utilitzant el calendari i tenen una data d'inici i de finalització. Només es mostren en aquesta secció durant l'interval temporal de validesa.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>Ha de ser moderador per a executar aquesta acció.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Sol·licitar la moderació</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Sol·licitar accés a la pissarra</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Sol·licitar accés a la càmera/micròfon</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>L'autenticació d'aquesta sessió ja ha estat utilitzada. No pot fer-se dues vegades.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>INICIAR</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>SORTIR</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>¿Desitja realment sortir? És convenient que abans esborri els documents pujats, la pissarra o l'historial del xat.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Sortir de la conferència</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Sales</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Seleccioni una sala</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>Hi ha un esdeveniment sense guardar en el calendari. Per favor, guardi'l o bé esborri'l.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>¡Per favor, afegexi almenys a un participant!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>¿Realment desitja esborrar aquest esdeveniment?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Avis</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>afegir event</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>dia</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>setmana</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>mes</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Descripció</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Asistents</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, la seva Plataforma Web de Videoconferència. Només segueixi les instruccions, pressioni el botó per a iniciar immediatament o vagi al Calendari per a programar una Trobada més endavant.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Progr. Trobada</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>Per a planificar una conferència, afegeixi un nou Esdeveniment en el Calendari. Per a cada Esdeveniment es crearà automàticament una Sala de (vídeo)conferència. Vostè i la resta d'assistents rebran un correu amb un enllaç de la sala. &lt;br/&gt;&lt;br/&gt;Pot escollir entre diferents tipus de sales amb diferents dissenys i sistemes de moderació. També pot escollir entre diferents tipus de notificació de correu que s'envien en cada esdeveniment del calendari.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>¿Necessita ajuda?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Restringit</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Buscar</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Afegir</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>No hi ha cap usuari seleccionat. Seleccioni primer un ítem de la llista i premi a Afegir.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Afegir asistent</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Guardar</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Esborrar</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Detalls de l'Esdeveniment</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Moderadors per defecte</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Nom</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>Email</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Afegir nou Moderador per defecte</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>¿És supermoderador</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>Si la sala està moderada, qui sigui ja moderador seguirà sent-lo. Si no desitja que sigui així, i només vol que determinat usuari sigui el moderador, utilitzi l'opció de Moderador per defecte.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>Un supermoderador és sempre el moderador d'una sala quan entra en ella. A més, ningú pot llevar-li la marca de moderació</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Aplicar supermoderación a l'usuari</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Llevar supermoderación a l'usuari</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>Si afegix una organització a la sala, només els usuaris d'aquesta organització tindran accés a la mateixa (això només és vàlid si la marca de Pública està configurada com falsa)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderació</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Limitacions</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organització</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>¿Està Vè. segur?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Realment desitja esborrar aquest ítem? Ha de prémer en el botó de guardar per a emmagatzemar els canvis!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>No hi ha cap usuari seleccionat. Per favor, seleccioni'l primer.</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Afegir un nou moderador per defecte</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>¿Desitja afegir una marca de supermoderador a aquest usuari? Recordi que un supermoderador no només és el moderador d'una sala, sinó que a més cap altre moderador podrà esborrar la marca de moderació. Necessita guardar l'objecte sala per a emmagatzemar aquestes configuracions.</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>¿Desitja eliminar la marca de supermoderador a aquest usuari? Necessita guardar l'objecte sala per a emmagatzemar aquestes configuracions.</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>Aquest usuari té el rol de supermoderador. No pot llevar-li la marca de moderació a un supermoderador. </value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>¿Realment desitja esborrar aquest Fitxer/Directori?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>¿Esborrar Fitxer/Directori ?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Sra.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>D.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Propietats</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Mostrar la posició del ratolí als participants</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Compartir Àudio amb el applet SIP</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Compartir Àudio amb SIP i Vídeo amb Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Pantalla completa</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>Veure pantalla</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>El usuari</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>desitja compartir la seva pantalla. Desitja visualitzar-la?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Tancar</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>La sessió ha estat tancada per qui compartia pantalla</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pausa</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>Compartir pantalla</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimitzar</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximitzar</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Vídeo</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Línia temporal de gravació</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>Les meves grabacions</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Grabacions públics</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Nom</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Longitud</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Data</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>Per</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>PLAY</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Vídeo - Principal</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Gravació</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>Pot grabar i compartir la seva pantalla alhora. Per a permetre que uns altres vegin la seva pantalla, premi en el botó -iniciar- de la part superior. Per a gravar la sessió, és suficient amb prémer a iniciar enregistrament. </value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Iniciar Gravació</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Parar Gravació</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Descarregar l'arxiu FLV</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Sala</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>L'usuari té el micròfon activat</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Detenir compartir</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Permetre preguntes de l'usuari</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Desactivi això per a impedir que cap usuari li molesti en aquesta sala. Al fer-lo, el botó per a sol·licitar la moderació no serà visible. </value>
+  </string>
+  <string id="881" name="room config">
+    <value>Permissos</value>
+  </string>
+  <string id="882" name="flvrecording">
+    <value>Descarregar com AVI</value>
+  </string>
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Només audio</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>Hi ha hagut errors mentre es processava gravació.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>La gravació encara no aquesta llista. Intenti'l de nou en un parell de minuts.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Missatge del grabador:</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>El applet SIP no està llest</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>Configuració del compte SIP</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>Configuración SIP para cada usuario. Puede activar o desactivar SIP desde Administración &gt;  Configuración (Key: enable_sip). Los datos SIP de cada usuario deberían crearse automáticamente.</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>Usuari SIP</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Contrasenya SIP</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>ID Aut-SIP</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>L'autenticació SIP ha fallat. Hauria de comprovar les dades d'autenticació del seu proveïdor SIP i del compte SIP de cada usuari. Com administrador, podrà autenticar-se i comprovar la configuració. Si entra com usuari o com moderador, qualsevol intent d'interacció serà bloquejat.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>L'autenticació SIP ha fallat. Contacti amb el servei tècnic.</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Autenticant en la porta d'enllaç SIP...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Autenticant en la porta d'enllaç SIP...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Mostrar Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Missatges Log del procés de postgravación</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>Missatge de applet SIP</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>El applet SIP no està llest. Per favor, accepti el applet i premi OK.</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Sol·licitar la moderació</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Guardar canvis de la cita</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>La cita ha estat canviada. Desitja guardar aquests canvis? Tots els participants implicats rebran un correu amb la data i hora actualitzades (depenent del tipus de notificació d'aquesta cita).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>Per accedir a les gravacions que tingui per entrar en l'aplicació $APP_NAME.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Seleccioneu l'usuari d'aquest vídeo</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Usuaris disponibles per aquesta POD</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>Vostè és un moderador en aquesta entrevista. Pots decidir qui parla en aquesta entrevista i vostè pot començar / aturar la gravació de la sessió.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Començar la gravació</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Aturar la gravació</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>La gravació de l'entrevista ja ha començat.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>La gravació s'ha aturat o no han iniciat encara.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>La gravació d'aquesta entrevista ja s'ha iniciat!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+    <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">

+    <value>Publish</value>

+  </string>

+  <string id="1466" name="sharing client">

+    <value>Start Publish</value>

+  </string>

+  <string id="1467" name="sharing client">

+    <value>Stop Publish</value>

+  </string>

+  <string id="1468" name="sharing client">

+    <value>Host</value>

+  </string>

+  <string id="1469" name="sharing client">

+    <value>Publish App</value>

+  </string>

+  <string id="1470" name="sharing client">

+    <value>Publish Id</value>

+  </string>

+  <string id="1471" name="sharing client">

+    <value>Reduce the width of the SharingScreen before you try to move it left</value>

+  </string>

+  <string id="1472" name="sharing client">

+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>

+  </string>

+  <string id="1473" name="sharing client">

+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>

+  </string>

+  <string id="1474" name="sharing client">

+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>

+  </string>

+  <string id="1475" name="sharing client">

+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>

+  </string>

+  <string id="1476" name="sharing client">

+    <value>Please start Screen sharing to be able to publish it</value>

+  </string>

+  <string id="1477" name="sharing client">

+    <value>Moderator permission required to start recording</value>

+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>

+  <string id="1492" name="conference menu">

+    <value>Ask moderator to share your whiteboard</value>

+  </string>

+</language>
diff --git a/WebContent/languages/chinese simplified.xml b/WebContent/languages/chinese simplified.xml
new file mode 100644
index 0000000..69fd393
--- /dev/null
+++ b/WebContent/languages/chinese simplified.xml
@@ -0,0 +1,4505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>会议</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>会议</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>演讲</value>
+  </string>
+  <string id="4" name="settings">
+    <value>设置</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>用户</value>
+  </string>
+  <string id="6" name="admin">
+    <value>管理</value>
+  </string>
+  <string id="7" name="stop">
+    <value>停止</value>
+  </string>
+  <string id="8" name="record">
+    <value>记录</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>文件不存在</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>由讲师记录</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>已连接用户</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>开始会议</value>
+  </string>
+  <string id="13" name="myname">
+    <value>我的名称</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>视频会议</value>
+  </string>
+  <string id="15" name="import">
+    <value>导入演示</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>刷新列表</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>转到主主文件</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>新建投票</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>新会议投票.</value>
+  </string>
+  <string id="20" name="question">
+    <value>问题:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>投票类型:</value>
+  </string>
+  <string id="22" name="create">
+    <value>创建</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>提示:每个连接用户将收到一个新投票的消息提示.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>创建投票</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>取消</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>是/否</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>数字 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>投票</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>主持人才能提问</value>
+  </string>
+  <string id="30" name="vote">
+    <value>已您的投票.</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>您已经投过这个票.</value>
+  </string>
+  <string id="32" name="voting">
+    <value>投票 !</value>
+  </string>
+  <string id="33" name="answer">
+    <value>你的回答:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>是</value>
+  </string>
+  <string id="35" name="no">
+    <value>否</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>想要提问:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>投票结果</value>
+  </string>
+  <string id="38" name="question">
+    <value>提问:</value>
+  </string>
+  <string id="39" name="results">
+    <value>结果:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>回答:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>还未开始投票.</value>
+  </string>
+  <string id="42" name="votings">
+    <value>投票!</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>会议 (最大4用户)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>会议 (最大50用户)</value>
+  </string>
+  <string id="45" name="type">
+    <value>类型</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>其他座位</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>已经选择</value>
+  </string>
+  <string id="48" name="enter">
+    <value>进入</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>主持人已经离开.</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>系统信息</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>请选择设备</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>请选择摄像头:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>请选择话筒:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>确定</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>取消</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>需要从新连接.</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>编辑设置.</value>
+  </string>
+  <string id="58" name="course">
+    <value>课题:</value>
+  </string>
+  <string id="59" name="language">
+    <value>语言:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>确定</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>取消</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>清除白板</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>新图片加入后清除白板?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>不再询问</value>
+  </string>
+  <string id="65" name="no">
+    <value>否</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>编辑设置</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>清除白板前确认.</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>用户信息</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>清除画板</value>
+  </string>
+  <string id="70" name="undo">
+    <value>取消</value>
+  </string>
+  <string id="71" name="redo">
+    <value>重做</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>选择对象</value>
+  </string>
+  <string id="73" name="text">
+    <value>文本</value>
+  </string>
+  <string id="74" name="paint">
+    <value>绘画</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>画线</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>下划线</value>
+  </string>
+  <string id="77" name="rect">
+    <value>矩形</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>椭圆</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>箭头</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>删除已选项</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>接受主持</value>
+  </string>
+  <string id="82" name="apply">
+    <value>应用</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>取消</value>
+  </string>
+  <string id="84" name="mod">
+    <value>成为主持</value>
+  </string>
+  <string id="85" name="close">
+    <value>关闭</value>
+  </string>
+  <string id="86" name="italic">
+    <value>斜体</value>
+  </string>
+  <string id="87" name="bold">
+    <value>粗体</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>等待中</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>用户想申请为主持:</value>
+  </string>
+  <string id="90" name="accept">
+    <value>接受</value>
+  </string>
+  <string id="91" name="reject">
+    <value>拒绝</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>取消</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>向下列用户发送请求</value>
+  </string>
+  <string id="94" name="accept">
+    <value>接受</value>
+  </string>
+  <string id="95" name="reject">
+    <value>拒绝</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>更换主持</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>你不是这个课题的主持!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>主持:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>房间已满.请稍后再试.</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>椭圆</value>
+  </string>
+  <string id="101" name="close">
+    <value>关闭</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>输入错误</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>用户名必须长于4个字符</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>用户密码必须长于4个字符</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>用户名已存在</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>邮件地址已注册</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>系统错误,请联系管理员</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>登录</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>用户:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>密码:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>语言</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>登录</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>注册</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>登录账号:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>密码:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>再次输入:</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>姓:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>名:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>邮件:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>国家:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>注册</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>取消</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>注册</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>首页</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>用户管理</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>群组管理</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>组织管理</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>会议室</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>公开会议</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>组织</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>进入</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>登录</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>密码</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>再次输入</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>姓</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>名</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>邮件</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>生日</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>地址</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>邮编</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>国家</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>详细地址</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>用户数据</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>保存</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>保存</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>用户编号</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>登录</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>姓</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>名</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>显示下一个</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>显示前一个</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>删除记录</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>取消</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>删除</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>新记录</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>刷新记录</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>删除记录</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>状态</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>禁止</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>允许</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>组织管理</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>日历</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>关闭</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>组织编号</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>名称</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>用户</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>主持</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>管理员</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>用户级别</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>组织</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>名称</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>添加组织</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>添加组织</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>取消</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>添加</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>删除组织</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>用户</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>添加用户</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>删除用户</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>添加用户</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>搜索用户</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>搜索</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>用户</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>组织</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>进入</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>会议室</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>会议室</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>编号</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>名称</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>公开</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>组织</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>会议室</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>名称</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>类型</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>公开</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>备注</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>保存</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>载入</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>另存为</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>文件名</value>
+  </string>
+  <string id="201" name="files">
+    <value>文件名</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>取消</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>保存</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>错误</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>读取中</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>对象已载入</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>同步用户中, 用户请等待:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>载入图像</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>同步用户中, 用户请等待:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>清除绘画</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>清除绘画, 绘画数据将丢失</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>载入文件前请确认</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>发送邀请</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>发送邀请</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>主题</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>收信人</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>消息</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>发送</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>取消</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>发送</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>用户数据</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>会议昵称</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>昵称</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>姓</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>名</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>邮件</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>语言</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>进入</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>载入中</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>数据载入,请等待!</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>错误的密码</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>密码不得少于6个字符</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>邮件有误</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>非法邮件地址</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>注册成功</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>用户已建立. 请登录.</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>现在不能共享屏幕. 屏幕已使用.</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>禁止共享</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>共享屏幕</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>传输有误: 不能同步屏幕. 当前窗口将丢失. 请联系主持人降低画质.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>屏幕:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>绘画</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>文档</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>讨论</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>文件</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>成员</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>下载原始文档</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>下载PDF文档</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>载入演示到白板</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>设置</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>拖动这个对象</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>缩放这个对象</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>之</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>转到第一页</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>转到前一页</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>转到后一页</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>转到最后一页</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>缩小</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>放大</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>先生.</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>女士.</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>配置信息</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>序号</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>关键字</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>配置信息</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>关键字</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>最新更新</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>更新者</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>注释</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>关键字</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>的</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>用户</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>从组织中删除用户</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>删除</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>此组织中已存在该用户.</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>新闻</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>快速链接</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>会议室导航</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>观众室导航</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>服务与支持</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>软件问题反馈</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>更多</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>项目主页 (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>用户邮件列表 (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>记录登录</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>内容</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>我的主页</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>我的会议日程</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>我的事件日程</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>开放会议</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>私人会议</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>开放事件</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>私人事件</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>开放内容</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>私人内容</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>个人内容</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value></value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>主持人</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>申请为主持人</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>投票</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>选择文件</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>设置</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>视频音频设置</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>白板设置</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>退出</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>回到房间</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>注销</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>桌面查看器</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>启动桌面查看器</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>视频和音频</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>讨论</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>白板</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>主持人</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>文件</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>用户</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>投票</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>没有此用户名</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>一封包含特殊链接的邮件已发送至你的信箱,请查收.如果没有收到,请检查和调整你的邮箱垃圾邮件设置,重新发送认证邮件.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>错误</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>消息</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>无效的哈希值,没有该用户.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>重置你的密码</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>登录</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>更改密码</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>新密码</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>重新输入密码</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>密码不一致.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>4个或更多的字符,注意大小写!</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>密码设置完毕,你可以登录.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>完成</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>未知错误.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>未发现该用户名</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>无效密码</value>
+  </string>
+  <string id="337" name="logout">
+    <value>注销成功</value>
+  </string>
+  <string id="338" name="registration">
+    <value>禁止前端注册.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>无效邮件地址</value>
+  </string>
+  <string id="340" name="registration">
+    <value>文件名重复, 请选择另一文件名</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>文件名太短</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>无法保存地址</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>用户已增加,但你必须将该用户与一个组织关联,否则他可能无法登录.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>新纪录</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>与此字段编号没有对应的字段</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>没有发现该标签对应的字段</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>需要管理员权限</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>语言编辑器</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>语言</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>标识号</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>标识名称</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>标识值</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>字段值</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>标签名</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>标签值</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>标签号</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>您只删除了标签而没删除字段,因为字段可能被其它标签所使用。</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>无效的标签号,FieldLanguagesvalues_Id在数据库中缺失.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>您不能删除该字段。只能删除标签。当前没有载入该字段的标签,可能是对应的字段的标签缺失的缘故</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>导出</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>你必须注销才能看到变化.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>增加新的语言</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>删除语言</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>增加新的语言</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>名称</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>增加语言</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>备份</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>到首页</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>到前一页</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>到下一页</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>到最后一页</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>用户发言</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>声音 开/关</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>系统</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>你的设置</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>你好,</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>编辑你的信息</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>新消息:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>上传新图片</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>用户数据 - 导出</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>所有的组织必须事先存在!</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>开始导出</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>由组织</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>开始导出</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>用户数据 - 导入</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>选择 users.xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>导入</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>导出为 XML - 这些文件能用于: - 创建项目 - 导入到另一个系统 - 备份 - 自定义 - 放入language 目录,可以在下一次安装使用</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>选择一个语言文件导入. 在下拉框中选择正确的语言! 不管文件的名称是什么, 将覆盖当前的语言!</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>导入 - 选择文件</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>另存为</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>名称:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>注释</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>保存</value>
+  </string>
+  <string id="395" name="record">
+    <value>记录</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>记录查看器</value>
+  </string>
+  <string id="397" name="record">
+    <value>开放和私人房间记录</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>用户 :</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>已参加:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>此房间的用户:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>刷新</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>此房间已满. 请稍后再试.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>点击房间获取详细信息</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>与此房间内的用户讨论:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>房间:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>此房间内的用户:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>自从:</value>
+  </string>
+  <string id="409" name="record">
+    <value>播放记录</value>
+  </string>
+  <string id="410" name="record">
+    <value>长度:</value>
+  </string>
+  <string id="411" name="record">
+    <value>日期:</value>
+  </string>
+  <string id="412" name="record">
+    <value>记录模式! 你不能更改任何信息, 这是一个记录文件!</value>
+  </string>
+  <string id="413" name="record">
+    <value>播放此记录</value>
+  </string>
+  <string id="414" name="record">
+    <value>播放 / 暂停</value>
+  </string>
+  <string id="415" name="record">
+    <value>开始记录</value>
+  </string>
+  <string id="416" name="record">
+    <value>停止记录</value>
+  </string>
+  <string id="417" name="record">
+    <value>记录中:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>现在已经有人在记录:</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>记录中! 记录用户:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>取消</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>记录将被取消且不被保存.</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>继续</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>关闭此窗口并且继续记录</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>修改线条颜色</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>选择颜色</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>禁止 / 允许 线条颜色</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>修改填充颜色</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>禁止 / 允许 填充颜色</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>修改 线宽</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>关闭</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>修改 字体大小</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>删除记录</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>客人</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>由:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>名称</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>房间</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>日期</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>取消</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>开始</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>名称</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>日期</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>删除服务器端讨论记录</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>讨论</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>发送消息</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>表情</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>表情</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>选择发布设备</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>音频和视频</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>只有音频</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>只有视频</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>无 音频/视频 (静态图片)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>你的个人电脑上将不会有 音频/视频 发布, 而用你个人信息里的图片代替显示. 如果你遇到带宽问题或者速度过慢, 请选择这些设置.</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>一</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>二</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>三</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>四</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>五</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>六</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>日</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>星期一</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>星期二</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>星期三</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>星期四</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>星期五</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>星期六</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>星期日</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>星期</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>星期日历</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>一月</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>二月</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>三月</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>四月</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>五月</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>六月</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>七月</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>八月</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>九月</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>十月</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>十一月</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>十二月</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>日历</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>参与者</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>显示布局设置</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>宽 | 高</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>视频-容器</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>主持人-容器</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>白板-容器</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>允许</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>宽 | 高</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>文件,讨论,参与者 - Container</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>允许</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>宽 | 高</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>主持人已离开房间. 现在无人演示. 你可以申请为主持人或者等待.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>此房间没有主持人, 但是有参与者. 你可以申请为主持人或者等待.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>反馈给$APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME——邀请</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>消息发自:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>消息:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>点击此链接来参与会议:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>点击此处进入房间</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>如果你在此链接遇到问题, 请拷贝并粘贴此链接到浏览器中:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME——注册</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>你的用户数据:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>登录:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>密码:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>邮件:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME——团队</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME——注册</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME——重置密码</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>点击此链接并键入新密码:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>点击此处键入新密码</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>如果你在此链接遇到问题, 请拷贝并粘贴此链接到浏览器中:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>$APP_NAME系统重置密码</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>请输入一个有效的日期, 比如 24.12.2001 (天.月.年)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>请输入一个有效的邮件地址, 比如 name@mail.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>请输入一个浮点数, 比如 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>请输入一个整数, 比如 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>请输入一个有效的电话号码, 比如 ++86 010 12312123</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>请输入一个有效的时间, 比如 12:23 (小时:分钟)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>密码保护</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>密码</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>有效期</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>没有结束</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>时期</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>以前</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>从:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>到:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>邀请参加$APP_NAME的讨论</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>没有此邀请码对应的有效邀请</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>此邀请已被使用. 此种类型邀请不能重用.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>此邀请码无效.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>密码:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>检查密码</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>无效密码!</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>浏览</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>同步 音频/视频</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>登录有效, 但是会话没有激活或保存在服务器上. 你必须重新登录获取新的会话.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>用户没有登录或没有管理员权限. SOAP网关必须要有管理员权限才可以添加新用户.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>此会话没有远端数据连接. 在访问应用程序之前你可能没有调用SOAP网关或者你使用了错误的Session-ID</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>记录功能测试之中!</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>x轴</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>y轴</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>w</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>宽</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>高</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>改变透明度</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>浏览器打开</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>浏览器关闭</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>与服务器的连接已丢失. 你需要重新载入程序或检查网络.</value>
+  </string>
+  <string id="557" name="557">
+    <value>指针</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>同步</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>正在同步用户, 请等待</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;下载为 SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;下载为 PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;下载为 JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;下载为 PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;下载为 TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>提醒:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>类别:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>重复:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>无</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>位置:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>开始</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>结束</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>标题:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>注释:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>邀请</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>每日</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>每月</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>每年</value>
+  </string>
+  <string id="578" name="alert">
+    <value>约会结束日期必须晚于开始日期!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>请插入一个标题!</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>如果您所用的语言是自右向左的,请激活此选项(反转字母顺序)</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>仪表板</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>观看已记录的会议或事件</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>会议 - 创建一个4人会议(最多16人)&lt;br/&gt;每个人都有音频+视频权限</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>事件 - 创建一个最多有200个听众的会议&lt;br/&gt;只有主持人拥有音频/视频</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>创建用户, 房间, 组织&lt;br/&gt; + 修改配置</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>目前有用户在此房间中</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>身份识别</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>登录</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>载入文档中. 所有用户正在同步,请稍等.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>上传结束, 正在转换文档 ...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>开始上传</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>上传,导入对话框. 请从硬盘上选择一个文件.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>取消</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>选择文件</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>连接</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>值</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>流编号</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>登录</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>已连接 从</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>房间 / 范围</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>踢出用户</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>踢出用户</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>你确认从此连接断开用户?&lt;br/&gt; 仅将用户从此房间踢出.用户可以重新连入.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>你的会话已经被管理员或主持人关闭.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>电话</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>用户是此房间的主持人</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>用户被允许在白板上画画</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Re) 启动音频/视频 或者修改设备配置</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>允许此用户在白板上画画</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>移除在白板画画功能</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>用户</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>文件</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>白板</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>讨论</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>你的帐号已与多个组织关联. 请为当前会话选择一个组织.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>会议室当前满员,请稍后再试</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>会议室类型</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>指定会议室</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>服务器时间</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME会议系统——提醒</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>用户信息:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>消息:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>点击此链接参加会议</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>点击进入会议室</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>如果下面的链接无法点击,请将此链接地址复制到浏览器中进行访问:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>搜索</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>外部用户</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>头衔</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>姓名</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>邮件地址</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>确认注销</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>您确定要注销吗?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>操作</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>演示会议室</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>演示时间</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>会议室计时器</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>此会议室只是一个演示。如果不想此警告出现,可以创建一个私人会议室或者设置您自己的服务器。您的登录将会在如下时间内被自动注销:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>主持</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>会议室需要一个主持人,主持人可以是讲座人、管理员或会议室创建者。</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>确定</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>新的屏幕共享</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>屏幕共享,来自用户</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>开始广播</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>添加新会议</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>会议室</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>活动室</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>主持人</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>主持的用户</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>主持的会议室</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>确定要将此用户设置为部门的主持人?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>在添加用户前请先选择一个部门</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>部门-主持人</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>确定要将此用户从部门中删除?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>此用户是主持人</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>此用户不是主持人</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>确定要取消该用户的支持人身份?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>在部门中添加或删除用户、会议室</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>确定要删除此记录?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>确定要将此用户从部门删除?您只能删除用户与部门之间的关联,如果要删除此用户信息,请登录到管理单元进行操作</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>您不能删除自己!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>此操作只能由管理员进行!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>没有与此ID关联的会话</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>这是管理员或主持人帐户,您只能在管理模块中进行设置.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>要完成注册,请点击下面的链接,或将链接复制到地址栏中进行访问</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>点击此处验证您的邮箱</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>未找到此用户</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>此用户已经激活!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>您已经成功激活帐户!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>正在登录</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>您的帐户没有激活,请先使用注册时发送给您的邮件中的链接进行激活。</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>注册成功!已经将验证码发送到您的邮箱,请查收。</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>移除此用户的主持人角色</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>赋予该用户主持的权限</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>用户</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>使用演示板</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>主持人</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>主持:请从列表中选择用户以赋予其使用演示版、主持或视频的权限</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>此用户是主持人,已经自动拥有书写的权限</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>您不能取消自己的主持人角色</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>允许该用户发布声音或视频</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>禁止该用户发布声音或视频</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>我需要成为此会议室的主持人</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>我需要在演示板上进行书写</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>我需要共享声音和视频</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>您是会议室的主持人</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>您可以在演示板上进行书写了</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>您可以接收声音和视频了</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>主持人消息</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>用户</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>如果要成为主持人,请在用户列表中,通过该用户的状态图标进行设置</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>如果要在演示板上书写,请在用户列表中,通过该用户的状态图标添加或删除此用户的书写权限。</value>
+  </string>
+  <string id="695" name="695">
+    <value>如果要共享声音和视频,请在用户列表中,通过该用户的状态图标设置是否共享此用户的声音和图像。</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>会议室中必需有一个主持人</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>取消</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>保存</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>日</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>月</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>年</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>上载文件</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>新建目录</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>刷新</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>回收站</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>我的文件(Home Drive)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>会议室文件 (Public Drive)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>新建文件</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>新建文件夹</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>删除文件夹</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>编辑文件名</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>新建文件夹</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>您确定要删除此项目?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>搜索</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>搜索</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>打开文档</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>显示所有文件 (Tree View)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>关闭文档</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>删除文件</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>你没有绘画白板的权限。你必须是版主,或赋予你绘画白板的权利。你可以向版主申请绘画白板的权利。</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>文档属性</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>启动Java</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>启动Flash</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>用户希望分享他的屏幕。你想看到它吗?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>你正在分享你的屏幕。点击停止按钮可以中止分享会话。</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>分享会话</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>你正在分享你的屏幕!</value>
+  </string>
+  <string id="728" name="sharing client">
+    <value>桌面浏览器</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>停止分享</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>桌面共享器</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>单击开始发布您的屏幕</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>开始分享</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>暂停分享</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>选择你的屏幕区域:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>改变宽度</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>共享器已经结束会话!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>改变高度</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>横向偏移</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>纵向偏移</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>宽:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>高:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>连接被服务器关闭</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>取消</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>启动Java</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>如果你关闭本次会话,你将不能再重启本次会话的共享浏览器!</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>确认关闭浏览会话</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>分享屏幕</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>录制会话</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>分享浏览器</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Windows下火狐浏览器的分享浏览功能不太清晰,请使用其它浏览器来使用该功能</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>前一页</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>后一页</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>重新载入</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>首页</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>载入</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>将本页设为默认首页</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>测试音频视频配置</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>你在进入会议室前,可以使用音频视频测试来录制几秒钟的声音图像。然后通过回放你的录像录音来检查你的声音图像是否正常。</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>下次不要再显示这个测试对话框</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>取消</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>开始进入会议室</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>不要再次询问</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>录制</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>播放</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>如果你不打算发表你的声音或图片,你可以不进行测试。没有音频或视频的参与者仍然可以使用白板,分享他们的屏幕或发布讨论消息。</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>停止</value>
+  </string>
+  <string id="767" name="767">
+    <value>声音电平表</value>
+  </string>
+  <string id="768" name="start view">
+    <value>按下开始</value>
+  </string>
+  <string id="769" name="start view">
+    <value>开始会议</value>
+  </string>
+  <string id="770" name="start view">
+    <value>开始演讲</value>
+  </string>
+  <string id="771" name="start view">
+    <value>选择会议室</value>
+  </string>
+  <string id="772" name="start view">
+    <value>检查音频视频设置</value>
+  </string>
+  <string id="773" name="start view">
+    <value>开始会议</value>
+  </string>
+  <string id="774" name="start view">
+    <value>参加视频会议的步骤如下:</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>开始录制</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>下次进入会议前不要再显示视频音频测试(录制)对话框</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>公共会议室</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>公共会议室--所有用户都能访问。</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>私有会议室</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>私有会议室--只允许同组织的用户访问。</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>个人会议室</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>个人会议室只供个人使用。 通过日历来设置会议的开始和结束日期时间。它们仅仅在有效期内罗列在此。</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>这个操作需要主持人权限。</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>申请成为主持人</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>申请使用白板权限</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>申请使用音频视频权限</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>本次会话Hash已经使用,你不能同时使用两次。</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>开始</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>退出</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>你真的退出会议吗?建议你清除你上载的文件、白板和讨论记录。</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>退出会议</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>会议室</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>选择会议室</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>日历中存在未有保存的事件。请选择保存它或删除它。</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>请为你的会议添加至少一名与会者。</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>你真的要删除你的事件?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>警告</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>添加事件</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>日</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>周</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>月</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>描述</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>与会者</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>本远程视频会议系统是一个用来召开远程视频会议、培训演讲、审查文件的平台。按照上面的指引,按下开始按钮可以马上进入会议。或者进入日历预约一个会议计划</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>预约会议</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>要建立一个会议,您可以添加日历上的一个新的事件。对于每个日历事件将自动创建一个会议室。你和每一个与会者将获得一个到房间链接的电子邮件。&lt;br/&gt;&lt;br/&gt;您可以选择不同的房间类型有不同的布局和适度系统。您也可以为每日历事件选择不同的电子邮件通知发送类型</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>需要帮助吗?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>受限制</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>搜索</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>添加</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>没有选择用户。请从列表中选择一个项目,然后点击添加。</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>添加与会者</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>保存</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>删除</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>活动详情</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>默认主持人</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>超级用户</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>用户号</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>姓名</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>邮件地址</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>添加一个新的默认主持人</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>是超级主持人</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>如果房间拥有主持配置,那么拥有主持权限或管理员权限的人进入会议室后,将自动获取这个会议室的主持权。如果你不希望这样,而且你希望指定一个用户主持这个会议室,请使用默认主持人选项。</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>一个超级主持人进入房间时,他将自动获取这个会议室的主持权限。没有人能取消他的主持权限。</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>为用户申请超级主持权限</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>取消超级主持权限</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>如果为会议室添加专属组织,那么只有该组织成员才能进入该会议室。(仅仅对公共会议室有效!)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>主持</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>限制数</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>单位</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>你确认吗?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>你真的确认需要删除这个项目吗?你需要点击保存按钮来保存更改!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>没有用户被选择。添加前你必须先选择用户!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>添加新的默认主持人</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>你确认要赋予该用户超级主持人权限吗?注意:其他主持人是无法取消超级主持人权限的。你需要保存房间对象来保存这些设置!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>你确认要取消该用户的超级主持人权限吗? 你需要保存房间对象来保存这些设置!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>这个是超级主持人!你不能取消一个超级主持人的权限!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>你真的要删除这个文件/文件夹?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>删除文件/文件夹?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>女士</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>先生</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>属性</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>在共享器中显示鼠标位置</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>使用SIP小应用程序共享音频</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>使用SIP小应用程序共享音频,用flash共享视频</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>满屏</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>显示屏幕</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>用户</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>想分享他的屏幕。你想看到它吗?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>关闭</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>缩放</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>本次会话已经被发布分享用户关闭!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>暂停</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>新的屏幕分享</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>最小化</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>最大化</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>视频</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>录制时间线</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>私有会议记录</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>公开会议记录</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>信息</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>名称</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>长度</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>日期</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>用/以</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>下载</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>主 - 视频</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>录制</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>你可以同时录制和分享你的屏幕。你可以点击上面的开始按钮来让其他与会者看到你的屏幕。如果仅仅是录制会话,那点击开始录制按钮就足够了。</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>开始录制</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>停止录制</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>下载 FLV 格式文件</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>会议室</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>播放</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>停止</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>用户打开麦克风</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>停止分享</value>
+  </string>
+  <string id="879" name="room config">
+    <value>允许所有用户发问</value>
+  </string>
+  <string id="880" name="room config">
+    <value>关闭这个功能可以防止任何用户在你会议室捣乱。影响效果是向主持人发问的按钮是不可见的。</value>
+  </string>
+  <string id="881" name="room config">
+    <value>权利</value>
+  </string>
+  <string id="882" name="flvrecording">
+    <value>下载 AVI 格式文件</value>
+  </string>
+  <string id="883" name="flvrecording">
+    <value>FLV格式</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI格式</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>原始屏幕视频</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>只用音频</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>在处理记录时出错</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>记录未准备好,请过几分钟再试</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>日志:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>消息日志</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>确认</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIP控件没有准备好</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>设置SIP账户</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>每个用户的SIP设置。可以通过管理员打开或者关闭SIP。 &gt; 配置键值(enable_sip)。每个用户的SIP数据是自动产生的,可以通过“重新生成SIP数据”选项重新生成。</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP用户</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip密码</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip授权号</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>登录到SIP网关失败,需要检查SIP供应商以及用户账号的授权。如果是管理员,还可以登录和检查配置,其它用户和主持人将不能进行任何操作。</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>登录到SIP网关失败,请联系系统维护人员。</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>正在登录SIP网关 ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>正在登录SIP网关 ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>显示日志</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>会后记录日志</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP小应用程序的消息</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>SIP控件没有准备好,请点击确认按钮允许控件的使用!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>申请成为主持人</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>保存更改</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>约定的会议已经更改了,您是否象保存这些更改?&lt;br/&gt;&lt;br/&gt;所有的参会人员都会受到时间更改后的会议通知邮件</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>如需都区其它记录,请先登陆系统</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>会议人员邀请</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>会议可邀请的人员</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>您是这次会议的主持人,您可以决定会议中谁可以发言,您也可以控制启动和停止会议的视频录制。</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>开始录制</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>结束录制</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>会议视频录制已经开始</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>视频录制已经停止,也可能还没开始</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>会议视频录制已经开始d!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>取消</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>录制的视频后续处理每1分钟时间需5分钟时间来处理,正在转码处理的录制视频是:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>您必须重新输入密码</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>重新产生SIP数据</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>您不能将文件或者文件夹移入自己所在的子目录!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>私有记录文件大小</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>公共记录文件大小</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>授权设置</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>在授权时您可以把用户设置为有效期过期或者设置最大的使用时间数</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>检查授权</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>费率</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>过期时间</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>剩余的秒数</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>总共时间</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>您的授权已经过期,需要重新购买使用权</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>点击购买</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>账号上剩余的时间</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>用户授权信息</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>信息</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>关闭</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>您的授权已经过期,需要重新购买使用权</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>授权设置</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>您可以购买分钟数时间来召开会议,&lt;br/&gt;&lt;br/&gt; 或者使用3-12个月的费率折扣来购买,&lt;br/&gt;&lt;br/&gt;发送邀请函(直接进入会议室的外部链接)或者通过日历来创建会议是只能有包月的用户使用的</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>9.99欧元购买60分钟(0.16欧元每分钟)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>19.99欧元购买5小时(0.06欧元每分钟)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>29.99欧元购买3个月(9.99欧元每个月)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>39.99欧元每6个月(6.66欧元每个月)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>按分钟数付费</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>按语音流量付费</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>您的授权永不过期</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>您的授权即将在以下日期过期:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>您购买了分钟付费服务,您还有:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>购买新的信用卡!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>需要您自己的服务器?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>您如果想拥有自己的$APP_NAME会议服务器或者集成到已有的应用中去,5000元每次!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>或者给我们发送信息</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>回复:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>消息:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>发送</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>点此获取联系人信息</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>信用卡详情</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>名</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>姓</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>信用卡类型</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA卡</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>主卡</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>快递</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>信用卡号</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>过期日期</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>卡号验证码</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>账单寄送地址</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>地址</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>城市</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>国家</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>省</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>邮编</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>数量</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>提交</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>步骤1: 支付单</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>邮件地址</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>点击‘payola付款’,接受visa卡,master卡,discover卡或美国运通卡。无需签入payola。德国居民也可通过借记卡付款(Per Lastschrift-Einzug)。</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>感谢购买OpenMeetings。款项收到后您的帐户会被更新。您会在邮件中收到pdf格式的发票。您也可以在个人设置中查询过往交易。关闭此浏览窗口以回到OpenMeetings。</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>点击购买</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>点击购买</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>步骤3: $APP_NAME系统支付 - 检查订单及付款!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>姓名</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>付款已经收到</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>您好,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>已经收到您的付款,并已经更新了您的用户设置。所有以往的付款信息都能够在您的用户配置中下载</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>感谢您使用$APP_NAME系统!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>$APP_NAME系统已经收到您的付款-</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>支付状态</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>支付随机号</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>分钟数</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>约数</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>状态</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>支付单</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>您需要购买语音容量的费率才可以发送邀请或者通过日历创建会议。使用按分钟付费的方式就可以访问系统了,您也可以让第三方访问会议</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>该邮件地址已经被其他用户使用</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP设置</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>会议号是自动创建的</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP号</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>清除此片子中的所有对象</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>只有在状态栏中输入的URL地址才会发到参会者</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>创建团队会议室</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>为团队创建新的会议室!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>您可以创建一新的会议室并选择参会人员。所有被选择的人员将自动的移动新的会议室,或者是接受到通知信。团队会议室的主持人可以获取所有会议室的列表,并在各会议室之间来回切换,方便各会议室的即时问题需要</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>用户名</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>登录</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>新团队会议室的所有成员:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>创建团队会议室</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>取消</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>至少为团队会议室选择一个用户</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>为团队增加用户</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>从团队会议室中移除该用户</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>用户是团队会议室的主持人(他可以管理所有的团体会议并可以接受所管理的团队会议室的邀请)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>会议类型</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>如果您选择“强制所有用户都移动新的会议室”,则所有选中的成员将自动的移到新创建的团队会议室中,否则他们会得到移到新会议室的通知按钮,用户可以自由选择是否进入新团队会议室。</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>管理团队成员</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>作为主持人,您可以游走在所有的团队会议室间,团队参会者可以发送消息给你,如:可以邀请您参与到他们的会议室中帮助他们。您也可以终止所有的团队会议,这样所有的用户将退出系统。</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>强制所有用户都移动新的会议室</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>姓名</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>被创建</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>参会的人员</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>使用加号从左边增加会议成员,或者从右边移除参会人员</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) 团队会议室设置</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) 将用户加入到团队会议室中</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>团队会议室名称</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>团队会议室</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>切换到该会议室中</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>切换到该团队会议室中</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>关闭团队会议室并让所有的用户退出</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>新的团队会议室</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>您有新的团队会议室可用</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>切换到团队会议室中</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>团队会议室动作</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>您可以通过主菜单中的“动作”菜单重新打开该窗口!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>发送消息给团队会议室主持人</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>新建团队会议室</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>有新的会议室可用,您可以切入到该会议室中去。团队会议室就像有一群会议室,所有会议室有一个超级主持人可以请求帮助。在“我的会议室”中您可以看到团队会议室。</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>切换到团队会议室</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>创建者:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>团队会议室名称:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>如果您离开本会议室,窗口仍旧会保留!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>本团会议室成员</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3)其它您可以切入的团队会议室</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>如果碰到问题,请发送一条消息给团队会议室的主持人。</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>发送</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2)邀请至这个团队会议室的所有用户</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>是否团队会议室主持人</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>所有的用户被主持人邀请至这个会议室</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>此刻团队会议室没有主持人!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>请输入一条消息</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>请求帮助,我们在团队会议室中遇到了麻烦</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>一个团队会议室成员请求您的帮助</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>团队会议室请求帮助p</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>消息:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>从:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>您不属于任何团队的会议室,但您可以加入到任何团队的会议室中</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>备份系统,包括所有用户产生的数据,不过不包括语言配置,这是由于语言的配置是有系统安装时候导入的。如果需要更新您的系统,需要导出旧系统然后,1)重新生成数据库;2)导入备份的文件;3)在系统产生任何数据前先导入备份的文件。</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>系统备份</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>允许用户共享屏幕</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>D禁止用户共享屏幕</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>用户是主持人,可以做任何动作!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>想共享屏幕</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>您可以共享屏幕了</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>请求共享屏幕</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>允许/禁止共享屏幕</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>T关闭声音</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>打开声音</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>只有音频</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>勾选此项可以使得会议室只能有音频功能有利于节省带宽</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>在共享屏幕期间允许远程控制</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>在共享屏幕期间禁止远程控制</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>请求在共享屏幕期间允许远程控制</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>您被允许在共享屏幕期间允许远程控制</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>想远程控制</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>用户是主持人,他可以操控任何功能! [远程桌面控制]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>允许/禁止使用远程桌面控制的屏幕 (在屏幕共享时)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) 从您的计算机到远程计算机:从本机的剪切板拷贝和粘贴到远程控制计算机中,首先在屏幕上点一下,然后在文本框中右键点击,选择“插入”。2)从远程计算机到您的计算机:从远程计算机拷贝文本到您的计算机中,首先高亮选择远程计算机的文本,然后右键点击屏幕选择拷贝高亮文本即可。</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>在您的计算和远程计算机间拷贝和粘贴文本</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>拷贝高亮文本</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>如何拷贝和粘贴</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>共享屏幕的质量:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>超高清晰</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>高清晰</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>一般清晰</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>低清晰度</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>键盘:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>关闭网络会议!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>会议已经关闭,您将重定向到其它网址</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>关闭会议室</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>关闭后展示给用户的地址URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>会议室关闭设置</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>如果会议室关闭则用户会被重定位到相应的地址中去</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>编号</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>名称</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>配置文件</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap配置</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>名称</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>是否有效</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>被插入</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>插入者</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>被更新</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>更新者</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>配置文件需要与hibernate.cfg.xml文件在同一目录中,您需要手工的将配置文件上传到该文件夹中,对该文件的任何修改都会即刻在系统中反应出来。</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>配置文件名称</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>如果您勾选了“增加域选项”,则在登录界面中将出现“域”选择下拉框选项。这项功能在LDAP目录服务的配置中是非常有用的。如:如果用户使用hans@localhost.com作为ldap目录服务的登录名,则在用户名中只需要输入hans,而域选项则选择localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>在用户名后加入域名</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>域名</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>插入</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>拷贝高亮文本</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>远程粘贴板中的文本</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>显示远程粘贴板</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>不要再显示</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>在此拷贝文本 ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>您需要远程控制的权限或者是作为主持人才能进行拷贝和粘贴的操作</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>编辑默认配置...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>不要在远程控制中显示拷贝和粘贴的信息框</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>保存</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>移除</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>取消</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>邀请用户参与会议</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>选择一个会议室,被邀请者会受到一条您的名字和进入会议室的链接</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>连接时间:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>邀请后进入会议室</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>邀请</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>消息</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>想请您加入会议室:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>邀请信</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>发送邀请</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>不希望收到您的邀请!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>同意</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>拒绝</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>时区</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>事件详情</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>姓名</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>详细描述</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>创建者</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>时区信息</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>勾选“时区”选项使得用户在下次登录时可以让他们更新用户资料信息</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>请查核您所在的时区.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>新会议:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>详细情况&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>开始时间:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>结束时间:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>会议变更:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>主持人:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>会议取消:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>会议提醒:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>社区设置</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>联系信息对于任何人都可见</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>添加个人专长以便其他人方便找到您,用逗号分隔多个专长</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>供职单位</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>个人兴趣</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>姓名</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>时区</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>个人特长</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>联系信息</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>只给自己的联系人显示联系信息</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>不开放个人联系信息</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>个人简介</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>设置</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>查找用户</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>您的简介可被其它人查看</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>编辑个人信息</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>查找其它人员</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>查找</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>供职单位</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>其它信息</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>关键字</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>姓名</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>时区</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>供职</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>搜索</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>搜索返回结果</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>动作</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>增加为联系人</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>发送消息</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>联系人及消息</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>被禁止的用户</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>接受</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>拒绝</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>您好,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>想把您添加为联系人.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>检查您的联系人请求消息,通过点击链接来接受或者拒绝请求</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>该用户已经在您的联系人表中,或者该用户收到您的邀请后没有处理</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>联系人列表</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>编辑联系人及消息,处理还未处理的请求!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>已经确认了您的请求!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>查看 /拷贝讨论日志</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>讨论日志</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>来自</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>主题</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>发送</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>消息</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>新的邮件</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>给所有联系人发送新消息</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>撰写新消息</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>发送给:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>主题:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>使用满屏功能将使白板根据参会人员的屏幕分辨率调整可见性</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>踢出用户</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>您不能将自己踢出,如果想离开,请关闭浏览器或者退出点击按钮</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>您确信将该用户踢出会议室吗?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>确认...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>您不能将超级主持人踢出会议室!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>预订会议室</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>开始</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>结束</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>在会议请求消息中增加其他内容,该请求事件会添加到所有的参会人员的日历中</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>收件箱</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>发送箱</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>回收站</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>您不能把自己加入为联系人</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>用户已经拒绝请求!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>用户已经接受请求!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>用户请求已经失效!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>用户已经加入到联系人列表!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>用户已经拒绝联系人请求,并从未处理联系人中移除!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>没有这样的联系人!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>您确实想移除该联系人马?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>移除确认</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>从联系人单中删除联系人</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>用户简介</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>显示用户资料</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>消息</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>查找</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>全部选择</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>全部取消</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>选择未阅读的</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>选择已阅读的</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>移动到文件夹...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>增加新文件夹...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>删除</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>删除的邮件仍旧在垃圾箱中!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>标记未阅读的</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>标记已阅的</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>回复</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>给所有人回复</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>转发</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>动作...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>发送私人消息</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>没有选择任何消息!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>移入收件箱</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>彻底删除</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>不可撤销的动作!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>增加文件夹</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>增加文件夹并整理消息!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>增加文件夹</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>增加</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>删除文件夹</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>您不能删除该文件夹,文件夹中还有消息,首先删除消息或者移动到其它文件夹中</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>编辑姓名</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>您确信要删除该文件夹吗?删除后不可撤销</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>您的请求已发送到用户,对方会收到一条接受或者拒绝的通知,只有被接受了的用户才会出现在您的联系人中</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>消息</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>用户没有共享个人信息</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>用户只对他的联系人共享信息</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>地址 &amp; 电话</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>邀请编码已经失效,该码只有一段时间的有效期</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>此事件与日历中的几个其他用户相关联,您的更改同时会更新其他用户的日历,您确实需要更新吗?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>确认更新</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>允许其他用户查看日历</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>不共享日历</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>日历中的联系人</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>您需要得到确认才可以查看其他用户的日历</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>您不能删除他人的日历!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>只显示自己的日历!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>此事件与日历中的几个其他用户相关联,您删除同时会删除其他用户的日历,您确实需要删除吗?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>确认删除</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>进入会议室</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>访问会议室</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>此消息中包含预订会议室的消息</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>您需要首先保存事件!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>会议室不存在,日历中的事件已经被取消</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>选择您的昵称</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>名</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>姓</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>邮件地址</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>确认</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>最少4个字符,需要姓和名。</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>请输入有效的邮件地址!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>使用Facebook账号登录</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>成为成员的时间</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>您已经使用Facebook账号登录,您需要使用正确的邮箱地址更新您的资料,如果邮箱不正确,您将不能从其他联系人中收到邀请。</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>消息</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>不再显示简介更新的消息</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>更多的显示选项...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>新的私人消息:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>点此查看简介以及全部的消息</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>回复</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>会议室及讨论</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>会议室</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>在线会议室(1-16人)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>在线研讨会(1-120人)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>成员号</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>请输入密码</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>您需要账号</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (通过SOAP访问)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>直接载入到白板</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>您是否真的想删除白板?此动作不可逆!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>载入到白板</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>不用忘记录制,一个用户一个会是室的情况经常需要录制</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>开支录制</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>箭头</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>圆</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>直线</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>矩形</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>三角形</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>文本/便签</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>剪贴画</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>自有绘制</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>选择/移动</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>绘制形状</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>剪切/移动</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>缩小/放大</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>打印</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>撤销</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>回收站</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>增加网格</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>共享文件</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>形状选取</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>点击选取</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>拷贝</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>剪切</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>粘贴</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>删除</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>您是否真的想删除白板中的所有内容?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>直接载入到白板</value>
+  </string>
+  <string id="1342" name="attendees">
+    <value>参与者</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>考勤管理员</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>出席</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>远程控制</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>弹出</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>讨论</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>邀请参与人员</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>通过邮件</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>用户是主持人</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>用户将摄像头打开了</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>关闭以形状方式填充</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>激活以形状方式填充</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>自动按网格排列</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>允许录制</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>等待录制</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>掩藏顶栏</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>播放视频</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>确定删除当前幻灯片的内容?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>接受并且授予用户权限</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>拒绝</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>活动</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>移除白板</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>您需要主持人权限操作白板</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>不允许</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value>离开了会议室.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>数学符号</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>未分类</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>配色方案</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>质量</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>域</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>访问</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>橙色</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>浅绿色</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>浅蓝色</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>深蓝色</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>金黄色</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>银灰色</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>自定义</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>最佳体验</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>上行</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>适中</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>静音</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>开启麦克风</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>给予独家音频</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>已被主持人设置为全场静音,不可本人解除</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>是否设置本人为全场静音?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>是否确认设置本人为全场静音?其他用户将无法听到你。</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>是否设置其他用户为静音?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>是否确认设置此麦克风为静音?仅限于此屏幕设置。其他用户不受影响。仅主持人可设置全场静音</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>设置其他用户为全场静音?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>是否确认设置此用户为全场静音?其他用户将无法听到他/她</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>声音已打开。单击此处将请求主持人设置本人为全场(本会议室)静音</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>声音已关闭。单击此处将请求主持人解除本人全场(本会议室)静音设置</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>请求主持人设置本人为全场静音</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>请求主持人解除本人全场静音设置</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>请求主持人解除自身静音设置</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>请求主持人设置自身为静音</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>解除静音。单击此处将设置该用户为全场静音</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>设置静音。单击此处将解除该用户全场静音设置</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>该用户已被主持人设置为全场静音。你无法解除静音设置</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>设置本人为全场静音</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>解除本人全场静音设置</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>设置为静音</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>解除静音设置</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>设置为全场设置</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>解除全场静音设置</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>仅限主持人可设置/解除任一用户全场静音设置。设置本人静音:请使用你视频中的麦克风图标。</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>调查名称</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>调查人</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>存档的调查</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>活跃</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>简单图表</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>饼图</value>
+  </string>
+  <string id="1416" name="sign_up_validation">
+    <value>请输入邮箱</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>新信息</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>关闭调查</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>确定要关闭此调查?其他人将无法投票。</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>删除调查</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>确定要删除此调查?调查结果也将会被删除。</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>语言ISO码</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>允许/拒绝提供独家音频的权利</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>允许用户提供独家音频</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>拒绝用户提供独家音频</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>希望被允许独家音频</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>希望主持人允许本人提供独家音频</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>允许提供独家音频</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>摄像头像素</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>更改像素会影响频宽,较大的图片需要较高频宽</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>你无权给予自己或其他人独家音频。需要向主持人申请该权利或申请得到独家音频。</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>希望得到独家音频的权利</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>赋予我独家音频(或点击你的视频,或点击F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>麦克风已打开</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>麦克风已被静音</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>隐藏对话</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>隐藏活动</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>隐藏档案总管</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>隐藏操作菜单</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>隐藏屏幕共享</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>隐藏白板</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>显示视频中麦克风状态</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>布局选项</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>新事件</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>密码保护是当你保存日历事件时发送给参与者的会议链接,而非会议室。如果多次用不同密码保存事件,每个参与者会收到一个新链接和新密码,但之前发出的链接仍将适用。</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>编辑详情</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>显示sip拨号</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>拨打</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>显示联系人的日历事件</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>你的主页</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>安排你的会议</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>观看录音及访问</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>选择及启动网络会议</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>管理用户及权利</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>管理连接及踢除用户</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>管理用户组</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>管理会议室</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>管理系统设置</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>管理标签及文字</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>管理LDAP及ADS配置</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>输出/输入系统备份</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>需要主持人或被赋予权利以在白板上绘图,上传,添加,删除或加载文件及文件夹。</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>编辑内容</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>教授</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/chinese traditional.xml b/WebContent/languages/chinese traditional.xml
new file mode 100644
index 0000000..89cb2cb
--- /dev/null
+++ b/WebContent/languages/chinese traditional.xml
@@ -0,0 +1,4517 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>视訊會議</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>會議</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>會議廳</value>
+  </string>
+  <string id="4" name="settings">
+    <value>設定</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>用戶</value>
+  </string>
+  <string id="6" name="admin">
+    <value>管理</value>
+  </string>
+  <string id="7" name="stop">
+    <value>停止</value>
+  </string>
+  <string id="8" name="record">
+    <value>記錄</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>沒有資料</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>老師記錄</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>連接用戶 :</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>啟動會議</value>
+  </string>
+  <string id="13" name="myname">
+    <value>我的名字</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>视訊會議</value>
+  </string>
+  <string id="15" name="import">
+    <value>輸入演示</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>刷新列表</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>回到主要檔案</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>新的民意</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>一項新的民意測驗給這會議</value>
+  </string>
+  <string id="20" name="question">
+    <value>問題:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>民調類型 :</value>
+  </string>
+  <string id="22" name="create">
+    <value>建立</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>信息:每個接入用戶收到新的民意信息</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>創造一個新的民調</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>取诮</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>是/否</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>數字的 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>民調</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>必須是主持人能提出問題</value>
+  </string>
+  <string id="30" name="vote">
+    <value>你的投票己登記</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>你已經投票在本次民調中</value>
+  </string>
+  <string id="32" name="voting">
+    <value>投票!</value>
+  </string>
+  <string id="33" name="answer">
+    <value>你的回應 :</value>
+  </string>
+  <string id="34" name="yes">
+    <value>是</value>
+  </string>
+  <string id="35" name="no">
+    <value>否</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>知道事情的立場:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>投票結果</value>
+  </string>
+  <string id="38" name="question">
+    <value>問題:</value>
+  </string>
+  <string id="39" name="results">
+    <value>結果:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>答案:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>民調還沒開始</value>
+  </string>
+  <string id="42" name="votings">
+    <value>投票!</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>會議 (最多4席)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>會議 (最多50席)</value>
+  </string>
+  <string id="45" name="type">
+    <value>類型</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>其他席位</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>已選定</value>
+  </string>
+  <string id="48" name="enter">
+    <value>進入</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>主持人已經離開了會議 .</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>系統信息</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>選擇裝置</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>選擇攝像机 :</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>選擇麥克風 :</value>
+  </string>
+  <string id="54" name="ok">
+    <value>设定好了</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>取消</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>你需要重新連接 .</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>編輯設定 .</value>
+  </string>
+  <string id="58" name="course">
+    <value>課程 :</value>
+  </string>
+  <string id="59" name="language">
+    <value>語言 :</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>设定好了</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>取消</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>清掉電子白板</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>你想要在加圖片之前先清掉白板嗎?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>不要再問</value>
+  </string>
+  <string id="65" name="no">
+    <value>否</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>編輯設定</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>請求確認清掉白板</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>用户資料</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>清掉畫圖</value>
+  </string>
+  <string id="70" name="undo">
+    <value>撤消</value>
+  </string>
+  <string id="71" name="redo">
+    <value>重做</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>選擇對象</value>
+  </string>
+  <string id="73" name="text">
+    <value>全文</value>
+  </string>
+  <string id="74" name="paint">
+    <value>繪畫</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>畫線</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>畫強洞底線</value>
+  </string>
+  <string id="77" name="rect">
+    <value>長方形</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>橢圓形</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>箭頭</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>刪除選定項目</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>申請成為主持人</value>
+  </string>
+  <string id="82" name="apply">
+    <value>應用</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>取消</value>
+  </string>
+  <string id="84" name="mod">
+    <value>成為主持人</value>
+  </string>
+  <string id="85" name="close">
+    <value>關閉</value>
+  </string>
+  <string id="86" name="italic">
+    <value>斜體字</value>
+  </string>
+  <string id="87" name="bold">
+    <value>粗體字</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>等待</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>有用户想申請成為主持人</value>
+  </string>
+  <string id="90" name="accept">
+    <value>接受</value>
+  </string>
+  <string id="91" name="reject">
+    <value>拒绝</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>取诮</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>送出請求到以下的用戶</value>
+  </string>
+  <string id="94" name="accept">
+    <value>接受</value>
+  </string>
+  <string id="95" name="reject">
+    <value>拒绝</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>改變主持人</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>你不是這課程的主持人!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>主持人:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>這個房間已滿 . 對不起 ,請捎後再試</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>橢圓形</value>
+  </string>
+  <string id="101" name="close">
+    <value>關閉</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>輸入資料有誤</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>用戶名必須至少4個字符</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>用戶密碼必須至少4個字符</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>用戶台已被姶用</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>這電子郵件已註冊过了</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>系統錯誤 ,請聯繫系統管理員</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>登錄</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>用戶 :</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>密碼 :</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>語言</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>註冊登錄</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>報名</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>用戶 :</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>密碼 :</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>重打:</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>名稱:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>姓氏:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>郵件 :</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>國家 :</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>登記</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>取消</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>登記</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>首頁</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>用戶管理</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>團體管理</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>組織管理</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>會議室</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>公開會議</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>組織</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>進入</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>登錄</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>密碼</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>重打</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>名稱</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>姓氏</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>郵件</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>生日</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>街名/號碼</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>郵編 /城市</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>國家</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>地址-信息</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>用户资料</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>保存</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>保存</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>用户-ID</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>登錄</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>名稱</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>姓氏</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>顯示下一個</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>顯示前一個</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>刪除紀錄</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>取消</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>刪除</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>新紀錄</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>刷新紀錄</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>刪除紀錄</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>狀態</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>關閉</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>啟動</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>組織</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>日曆</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>關閉</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>組織 -ID</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>名稱</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>用戶</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>主持</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>管理</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>用戶級別</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>組織</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>名稱</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>增加組織</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>增加組織</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>取消</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>增加</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>移除組織</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>用戶</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>增加用戶</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>移除用戶</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>增加用戶</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>尋找用戶</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>尋找</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>用戶</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>組織</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>進入</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>會議室</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>會議室</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>身份證</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>名字</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>公開</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>組織</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>會議室</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>名字</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>類型</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>公開</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>評論</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>保存</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>輸入</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>另存為</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>文件名稱</value>
+  </string>
+  <string id="201" name="files">
+    <value>文件名稱</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>取消</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>保存</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>錯誤</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>輸入中</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>主題輸入</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>正在同步客戶 ,客戶請诮等</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>載入圖檔</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>正在同步客戶 ,客戶請诮等</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>清除畫圖區</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>清除畫圖區,所有资料會不見!</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>確認後再載入檔案</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>發送邀請</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>發送邀請</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>主題</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>受邀者</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>信息</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>送出</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>取消</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>送出</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>用戶資料</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>你這次會議的別名</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>別名</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>名稱</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>姓名</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>電子郵件</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>語言</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>進入</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>載入</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>资料正在載入, 請诮等!</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>密碼錯誤</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>請輸入兩個相同的密碼最少6個字符</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>錯的郵件</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>你輸入了一個無效的郵件地址</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>註冊完成</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>你的賬戶已經建立. 你現在以可登錄</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>己有別人在共用這电子白板, 你现在暫時無法再分享。</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>嚴禁共享</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>分享你的屏幕</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>如果看到這項警告,顯示你的频寬不夠造成無法同步屏幕. 您可以問主持人降低寬頻標準 .</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>畫面用户:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>畫圖</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>文件</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>聊天</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>檔案</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>會員</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>下載原始文件</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>下載 pdf 文件</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>把演示放到白板</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>设定</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>拖這影象</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>調整大小</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>的</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>到第–頁</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>到前一頁</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>到下一頁</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>到最後一頁</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>縮小 --</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>放大 ++</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>先生</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>女士</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>配置</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>编号</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>關鍵</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>配置</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>關鍵</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>最後更新</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>更新</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>評論t</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>關鍵</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>的</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>用戶</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>刪除用戶,從組織</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>刪除</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>此用戶已經是這個組織的會員</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>新聞</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>連結</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>進入會議</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>進入課堂</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>幫助和支持</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>告訴我們問題!</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>更多</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Project Website (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>User Mailing List (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>記住登錄</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>內容</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>我的首頁</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>我安排的會議</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>我的預定活動</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>公開會議</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>私人會議</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>公開活動</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>私人活動</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>公開內容</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>私人內容</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>各人內容</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value></value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>主持</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>申請成為主持</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>民調</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>選擇一個文件</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>設定</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>攝像机和麥克風设定</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>白板設定</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>退出</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>回到房間</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>登出</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>桌面瀏覽</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>啟動桌面瀏覽</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>視頻和音頻</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>聊天</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>白板</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>主持</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>文件</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>用戶</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>民調</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>有沒有用戶連接到該用戶名</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>該電郵載有一個特殊的聯繫已被發送到您的電子郵件地址,請檢查您的信箱。如果您還沒有收到郵件,請調整你的垃圾郵件設置,並重新發送確認郵件</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>錯误</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>訊息</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>無效散列。找不到用戶.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>重置密碼</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>登錄</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>修改密碼</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>新密碼</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>重新輸入密碼</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>你所輸入的密碼並不相同</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>4或更多個字符;大寫有分!</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>密碼設定。您可以立即登錄。</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>未知錯誤。請告知您的服務團隊</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>用戶名找不到</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>密碼無效</value>
+  </string>
+  <string id="337" name="logout">
+    <value>成功登出</value>
+  </string>
+  <string id="338" name="registration">
+    <value>前端登記禁用</value>
+  </string>
+  <string id="339" name="registration">
+    <value>無效電子郵件</value>
+  </string>
+  <string id="340" name="registration">
+    <value>重複的文件名,請選擇另一個文件名</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>文件名太短</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>不能儲存地址</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>用戶添加,但你需要设定此用戶屬於一個組織,否則他將無法登錄。</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>新紀錄</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>沒有發現這一個ID.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>內容的標籤無法出现.</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>管理者 授權要求</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>語言-編者</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>語言</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>標籤-ID</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>標籤-名稱</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>價值</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>內容價值</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>標籤-名稱</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>標籤價值</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>標籤-ID</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>你只刪除標籤,而不是領域!您不能刪除領域,它可能已在標籤上的其他語言。</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>無效標籤id 。該fieldlanguagesvalues_id不能找到在數據庫</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>您不能刪除這一領域。你只能刪除標籤並非領域。有無標籤裝在此時或者它是沒有選中的任何領域,或者有沒有商標,這門語言會成為這一領域的設定。</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>出口</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>你需要登出看到有任何變化.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>添加新的語言</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>刪除語言</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>添加新的語言</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>姓名</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>添加新的語言</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>備份</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>到第–頁</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>到前一頁</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>到下一頁</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>最後一頁</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>用戶说话 (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>把聲音開/關</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>系統</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>您的設置</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>hi,</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>編輯您的檔案</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>新訊息:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>上傳新形象</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>用戶數據 - 出口</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>所有組織都必須已存在的</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>開始出口</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>由組織</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>開始 出口</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>用戶數據 - 進口</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>選擇用戶.xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>進口</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>出口到XML -這些檔案可用於:
+-為該項目做貢獻
+-導入到另一個系統
+-備份
+-個性化
+-把它納入語文目錄,為你的下一次安裝</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>選擇一種語言的文件輸入。選擇正確的語言從組合框中!
+無論是什麼名稱的文件,它都將匯入這語言!</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>進口-選擇文件</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>另存為</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>姓名:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>評論:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>保存</value>
+  </string>
+  <string id="395" name="record">
+    <value>錄影</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>錄影觀眾</value>
+  </string>
+  <string id="397" name="record">
+    <value>公共和私人會議室的錄影</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>用戶 :</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>加入:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>用戶在這個房間:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>刷新</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>這個房間己滿,在數分鐘再試一次.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>點擊一個房間獲得細節</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>和這個會議室的用户聊天:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>房間:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>用戶在這個房間:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>從何時:</value>
+  </string>	
+  <string id="409" name="record">
+    <value>播放錄影</value>
+  </string>
+  <string id="410" name="record">
+    <value>總計時間:</value>
+  </string>
+  <string id="411" name="record">
+    <value>日期:</value>
+  </string>
+  <string id="412" name="record">
+    <value>錄影儀模式!你不能改變,這是一個錄影文件!</value>
+  </string>
+  <string id="413" name="record">
+    <value>播放這個錄影</value>
+  </string>
+  <string id="414" name="record">
+    <value>播放/暫停</value>
+  </string>
+  <string id="415" name="record">
+    <value>開始錄影</value>
+  </string>
+  <string id="416" name="record">
+    <value>停止錄影</value>
+  </string>
+  <string id="417" name="record">
+    <value>錄影:</value>
+  </string>	
+  <string id="418" name="record_error_msg">
+    <value>現在已經有人在錄影:</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>錄影!按用戶:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>取消</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>錄影將被取消,並不會被保存</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>恢復</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>	關閉此窗口,並恢復錄影</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>改變線的顏色</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>選擇顏色</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>禁用/使用 線顏色</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>改變補色</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>禁止/使用補色</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>改變線寬</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>關閉</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>改變文字大小</value>
+  </string>	
+  <string id="432" name="recordingslist_delete">
+    <value>刪除記錄</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>客戶</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>由:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>姓名</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>房間</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>日期</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>取消</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>開始</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>姓名</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>日期</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>刪除服務器 聊天記錄</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>聊天</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>發送消息</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>表情符號</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>表情符號</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>選擇播放裝置</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>音頻和視頻</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>僅音頻</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>僅視頻</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>沒有音頻/視頻(靜態影像)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>沒有音頻/視頻從你的個人電腦將會公佈,而不是一個圖片從你的檔案就會顯示。選擇這些設置,如果您有問題,與你的帶寬還是一個非常緩慢的互聯網連接。</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>MO</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>TU</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>WE</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>TH</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>FR</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>SA</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>SU</value>
+  </string>
+  <string id="460" name="calendar_dayname_MondayLabel">
+    <value>週一</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>週二</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>週三</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>週四</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>週五</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>週六</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>週日</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>CW</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>日曆週</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>1月</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>2月</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>3月</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>4月</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>5月</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>6月</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>7月</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>8月</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>9月</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>10月</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>11月</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>12月</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>日曆</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>參加者</value>
+  </string>	
+  <string id="483" name="roomValue_advancedSettings">
+    <value>顯示佈局設置</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Width | Height</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>視頻-集裝箱</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>主持-集裝箱</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>白板-集裝箱</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>啟用</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>寬度|高度</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>檔案,聊天,參加者-集裝箱</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>啟用</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>寬度|高度</value>
+  </string>	
+  <string id="497" name="moderator_gone_message">
+    <value>主持人離開了房間。在時刻沒有人介紹,你可以申請成為主持或等待</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>在這個房間裡是沒有主持人,有一些人參加。你要申請成主持或等待</value>
+  </string>	
+  <string id="499" name="feedback_template_subject">
+    <value>反饋 $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - 邀請</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>用戶訊息:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>訊息:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>點擊此鏈接,參加會議:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>點擊這裡進入房間</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>如果您有問題連接,請複製並貼到你的瀏覽器上:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME - 註冊</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>你的用戶數據:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>登錄:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>密碼:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>郵箱:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME-團隊</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME - 註冊</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - 重設密碼</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>點擊這個鏈接進入設定新的密碼:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>點擊這裡設定新的密碼</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>如果您有問題連接,請複製並貼到你的瀏覽器上:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>$APP_NAME 密碼重設</value>
+  </string>	
+  <string id="518" name="dateRegExpError">
+    <value>請輸入有效日期,例如 24.12.2001 (dd.mm.yyyy)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>請輸入一個有效的電子郵件, 例如 name@mail.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>請輸入一個浮點數號碼, 例如 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>請輸入一個號碼 (Integer), 例如 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>請輸入有效的電話號碼, 例如++49 0123 123123</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>請輸入有效的時候,例如 12:23 (hh:mm)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>密碼保護</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>密碼</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>有效期</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>無限期</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>期限</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>一次性</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>有效期從:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>有效期至:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>I邀請到 $APP_NAME</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>沒有這一邀請碼</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>該邀請已經使用。這種類型的邀請,不能再使用。</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>This Invitation-Code is not valid.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>密碼: </value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>核對密碼</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>密碼無效!</value>
+  </string>	
+  <string id="539" name="Browser">
+    <value>Browser</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Syncronize Audio/Video</value>
+  </string>	
+  <string id="541" name="errorCode_invalidSession">
+    <value>Login was correct, but the Session you tried is not active or stored on the Server. You have to get a new SessionId and retry login.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>The SessionId is not loggedin or has no Admin rights. The SOAP Gateway needs an User with Admin-Rights to embed new Users.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>This Session has no Remoteuser-Data connected. Wether you did not call the SOAP-Gateway before accessing the Application or you are usnig a wrong Session-ID</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>The recorder is currently Beta!</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>x-axis</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>y-axis</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>w</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>width</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>height</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Change Transparency</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Browser Open</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Browser Close</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>The Connection to the Server is lost. You need to reload the Application or/and check your Network.</value>
+  </string>
+  <string id="557" name="557">
+    <value>Pointer</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Synchronizing</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Synchronizing Users, please wait</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Download as SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Download as PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Download as JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Download as PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Download as TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Reminder:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Category:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Repetition:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>none</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Location:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Start</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>End</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Title:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Comment:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Invite People</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Daily</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Monthly</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Yearly</value>
+  </string>
+  <string id="578" name="alert">
+    <value>Appointment-end is after of appointment-start!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Please insert a title!</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>Active this if you write in a right to left language (inverse word order)</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Dashboard</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Watch recorded Meetings or Events</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Meeting - Make a conference with 4 (up to 16) Users&lt;br/&gt;everybody will have audio + video access</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Event - Make a conference with up to 200 participents&lt;br/&gt;Only the Moderator will have audio/video</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Create users, rooms, organizations&lt;br/&gt; + change configuration</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Users in this Room now</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Login</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Loading Document. Please wait untill all Client have been synchronized.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Upload complete, converting Document ...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Start Upload</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Upload and Import Dialog. Please select a File from your Disk.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Cancel</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Select File</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Connections</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Value</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Login</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Connected since</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Room / Scope</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Kick User</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Kick User</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Do you really want to kick this Client from the Connection?&lt;br/&gt; This does only remove the Client from the current Room.The Client could re-login again.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Your session has been closed by an Administrator or Moderator.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Phone</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>User is the Moderator of this Room</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>User is allowed to draw on the Whiteboard</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Re) Start Audio/Video or change Device Settings</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Allow this User to draw on the Whiteboard</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Remove ability to draw on whiteboard</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Users</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Files</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Whiteboard</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Chat</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Your account is assigned to multiple Organizations. Please choose one for this Session.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>This room is full at the moment. Please try again later.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Room Type</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Appointment Room</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Server Time</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - Reminder</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Message from User:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Message:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Click this link to participate in the Meetings:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Click here to enter room</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>if you have problems with the link, please copy and paste this to your browser:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>search intern</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>extern users</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>pre name</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>name</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>E-mail</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Confirm logout</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Are you sure you want to logout now?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Actions</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Demo Room</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Demo Time</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Meeting Timer</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>This Room is a Demo Room. To disable this warning you either should get a private meeting room for your personal usage or set up an own Server. You will be automatically logged off in:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Moderated</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Please wait untill the Moderator has entered the Room. The Moderator can be either a Teacher, Admin or the creator of this Room.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Ok</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Incoming Screen Sharing</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>There is a new Screen Sharing incoming from the User:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Start Sharing</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Add new Meeting</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Meeting Room</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Event Room</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Moderation</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Moderate Users</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Moderate Rooms</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Do you want to change this User to become a Moderator of that Organization?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Please choose an Organization before you try to add a User to it!</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Organization - Moderator</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Do you really want to delete this User from the Organization?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>This User is Moderator</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>This User is No-Moderator</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Do you want this User to be not a Moderator of this Organization?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Add or delete Users or Rooms within your Organization</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Do you really want to delete this record?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Do you really want to delete this user from your organization? You will only delete the connection between the user and your organization, to really delete the user itself you have to login into the Administration-Panel.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>You cannot delete your own User!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>This Method needs a Adminstration Account to be invoked!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>There was no Session associated with this ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>This is an Administrator or Moderator account. You can only edit this account through the Administration Panel.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>To complete your registration please click on the following link. Or copy the URL to your browser bar.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Click to verify your E-Mail</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>No user was found for this Hash.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>This user is already activated!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>You did successfully activate your account!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Login Now</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Your account is not activated. First use the link in the Email you've received during registration.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>You successfully signed up. We've send an EMail with a verification Code to your Mail. Please check your Inbox.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Remove Moderation Role from this User</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Grant Moderation Rights to this User</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>User</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Access to whiteboard</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Moderator</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Moderation: Please choose any User on the List to grant him access to the Whiteboard, Moderation or Video.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>This User is already Moderator, so he has automatically the right to draw.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>This is you! You cannot remove the Moderation rights from yourself.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Allow this User to Publish his Audio / Video</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Remove Audio/Video of this User</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>I would like to get the moderation of this room</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>I would like to draw on whiteboard</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>I would like to share my Audio/Video</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>You are moderator of this room</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>You are allowed to draw on whiteboard</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>You are allowed to share your Audio/Video</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Message to Moderator</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>The User</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>would like to get the Moderation. Use the status Icons next to the user in the List of Users to add or remove the Moderation.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>would like to draw on whiteboard. Use the status Icons next to the user in the List of Users to add or remove the right to draw anything on the whiteboard.</value>
+  </string>
+  <string id="695" name="695">
+    <value>would like to share his Audio/Video. Use the status Icons next to the user in the List of Users to add or remove the right to share Audio/Video for any User.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>You have to wait untill a Moderator enters the room.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Cancel</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Save</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Day</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Month</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Year</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Upload File</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Refresh</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Trash (Drag and Drop item here)</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>My Files (Home Drive)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Room Files (Public Drive)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Add File</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Delete Folder</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Edit Name</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>New Folder</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Are you sure you want to delete this Item?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Open Document</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Show all Files (Tree View)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Close Document</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Delete File</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>You are not allowed to draw anything on the Whiteboard. You have to become Moderator or at least get the Right to edit Whiteboard. You may ask a Moderator to give you that right.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Document Properties</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Start Client (external)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Start Client (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>A user want to share his screen. Do you want to see it?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>You are currently sharing your Desktop. For stopping the Sharing Session please hit the Stop button in the Sharing Client.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Sharing Session</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>You are already sharing your desktop!</value>
+  </string>  
+  <string id="728" name="sharing client">
+    <value>Desktop Viewer</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Exit</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Desktop Sharer</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Click Start to publish your screen</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Start Sharing</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Select your screen area:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Change width</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>The Sharer has finished this session!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Change height</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X-Offset</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y-Offset</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Width:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Height:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>Connection was closed by Server</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Cancel</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Start External</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>If you close this session completely you are not able to restart the viewer for this session.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Confirm Closing Viewer Session</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Share Screen</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Record Session</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Co-Browsing</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Ooops, ... Firefox on Windows does not show clear Co-Browsing. Please use another Browser for using the Co-Browsing feature.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Previous</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Next</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Reload</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Home</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Load</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Add this website as Default website to your Profile.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Test Setup</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Check you Microphone and Camera setup before you enter a room by recording some seconds. You can then replay your recording to check your voice and picture.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Don't show this test anymore</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Cancel</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Start Conference</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Do not ask again</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>You may proceed without testing if you do not plan to publish your voice or picture. Participants without Audio or Video can still use the Whiteboard, share their Desktop or write Chat messages.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="test setup">
+    <value>Level-Meter</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Press Start</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Start Event</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Choose Room</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Check Setup</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="774" name="start view">
+    <value>How to conference</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Start Recording</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Do not show Audio / Video Test (Recording) before entering a Conference</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Public Rooms</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Public Rooms are accessible for all Users.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Private Rooms</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Private Rooms are only accessible for users of the same organization.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>My Rooms</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Rooms in this section are created for personal usage. There are some standard rooms plus the ones that are created through the calendar and have a start and an end date. The rooms created via the calendar are only listed in this section as long as they are valid.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>You have to be moderator to do this.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Apply for moderation</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Apply for whiteboard access</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Apply for camera/microphone access</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>This Session Hash was already used. You cannot use it twice.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>START</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>EXIT</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Do you really want to exit? You might should clear uploaded documents, whiteboard and the chat history.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Exit conference</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Rooms</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Choose a room for a meeting</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>There is an unsaved Event in the Calendar. Please either save it or remove it.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Please add at least one attendee for your meeting!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Do you really want to delete this Event?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Warning</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Add Event</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>Day</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>Week</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>Month</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Description</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Attendees</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, your Web Conferencing Platform. Either follow the Instructions, press the start button to start to conference immediatelly or you goto the Calendar and set up a Conference for the future.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Plan a Meeting</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>To set up a conference you can add a new Event in the Calendar.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Need help?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Restricted</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Search</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Add</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>There is no User selected. Please select an item from the list first and then hit add.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Add Attendee</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Save</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Delete</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Event Details</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Default Moderators</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Name</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>E-Mail</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Add new default Moderator</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Is Super Moderator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>If the Room is moderated, User with Level Moderator or Administrator are automatically Moderator if they enter the Room. If you don't want to specify that and only want a certain User to become Moderator use the Default Moderator option.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>A Super Moderator is always a Moderator when he enters a Room, and nobody can remove the Moderation Flag from him</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Apply Super-Moderation to User</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Remove Super Moderation from User</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>If you add an Organization to the room only users of that Organization have access to it (This is only valid if the isPublic flag is set to false!)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Limitations</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organization</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Are you sure?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Do you really want to delete this Item? You have to press the save button to store the changes!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>There is no User selected. Please select first before you add it!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Add new Default Moderator</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Do you want to add the Super Moderation Flag for this User? A Super Moderator is not only Moderator of a Room, but also no other Moderator can remove the Moderation Flag for this User. You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Do you want to remove the Super Moderation Flag for this User? You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>This User is a Super-Moderator. You cannot remove the Moderation flag from a Super-Moderator!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Do you really want to delete this File/Folder?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Delete File/Folder?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Mrs.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Dr.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Properties</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Show mouse position to viewers</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Share Audio with SIP Applet</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Share Audio with SIP and Video with Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Full-Fit</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>View Screen</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>The user</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>wants to share its screen. Do you want to see it?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Close</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>The Session was closed by the sharing User!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>New Screen Sharing</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimize</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximize</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Recording Timeline</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>My Recordings</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Public Recordings</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Name</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Length</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Date</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>By</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>PLAY</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Main - Video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Recording</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>You may record and share your screen at the same time. To enable others to see your screen just hit the start button on the top. To only record the Session it is sufficient to click start recording.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Start Recording</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Stop Recording</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download the FLV-File</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Room</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>User has microphone on</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Allow User Questions</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Turn this off to prevent that any user is disturbing you in this room. Effect is that the Button to ask for Moderation ("I have a question") is not visible.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Rights</value>
+  </string> 
+  <string id="882" name="flvrecording">
+    <value>Download as AVI</value>
+  </string>   
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio only</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the Recording.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>The Recording is not yet ready for watching. Please retry in a couple of minutes again.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Recorder Message</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIP Applet is not Ready</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP-Account Settings</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP settings for each user. You can turn on or off SIP via the Administration &gt; Configuration (Key: enable_sip). The SIP data for each user should be created automatically. You can re-create the data by checking "Re-generate SIP Data"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. You should check the authentification data of your SIP-Provider and the SIP-Account Data for each User. As Administrator you are still able to login and check the Configuration. As User or Moderator you will be blocked from any interaction.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. Contact your Service Team!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet Message</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>The SIP-Applet is not ready. Accept the Applet please and click ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Get Moderation</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login the $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choose the User for this Video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>You are a Moderator in this Interview. You can decide who is speaking in this interview and you can start / stop the recording of the Session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Start Recording</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Stop Recording</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+    <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/countries.xml b/WebContent/languages/countries.xml
new file mode 100644
index 0000000..5b3b393
--- /dev/null
+++ b/WebContent/languages/countries.xml
@@ -0,0 +1,267 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<!-- 
+	This list is complete and up-to-date as of 18 February 2007. 
+	from United Nations
+	United Nations Statistics Division- Standard Country and Area Codes Classifications (M49)
+	http://unstats.un.org/unsd/methods/m49/m49alpha.htm
+	
+	28.07.2007 add Taiwan, Republic of China country code 157, short ROC
+	 -->
+<countries xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="countries.xsd">
+	<country code="004" name="Afghanistan" short="AFG" />
+	<country code="248" short="ALA" name="Åland Islands" />
+	<country code="008" short="ALB" name="Albania" />
+	<country code="012" short="DZA" name="Algeria" />
+	<country code="016" short="ASM" name="American Samoa"/>
+	<country code="020" short="AND" name="Andorra"/>
+	<country code="024" short="AGO" name="Angola"/>
+	<country code="660" short="AIA" name="Anguilla"/>
+	<country code="028" short="ATG" name="Antigua and Barbuda"/>
+	<country code="032" short="ARG" name="Argentina"/>
+	<country code="051" short="ARM" name="Armenia"/>
+	<country code="533" short="ABW" name="Aruba"/>
+	<country code="036" short="AUS" name="Australia"/>
+	<country code="040" short="AUT" name="Austria"/>
+	<country code="031" short="AZE" name="Azerbaijan"/>
+	<country code="044" short="BHS" name="Bahamas"/>
+	<country code="048" short="BHR" name="Bahrain"/>
+	<country code="050" short="BGD" name="Bangladesh"/>
+	<country code="052" short="BRB" name="Barbados"/>
+	<country code="112" short="BLR" name="Belarus"/>
+	<country code="056" short="BEL" name="Belgium"/>
+	<country code="084" short="BLZ" name="Belize"/>
+	<country code="204" short="BEN" name="Benin"/>
+	<country code="060" short="BMU" name="Bermuda"/>
+	<country code="064" short="BTN" name="Bhutan"/>
+	<country code="068" short="BOL" name="Bolivia"/>
+	<country code="070" short="BIH" name="Bosnia and Herzegovina"/>
+	<country code="072" short="BWA" name="Botswana"/>
+	<country code="076" short="BRA" name="Brazil"/>
+	<country code="092" short="VGB" name="British Virgin Islands"/>
+	<country code="096" short="BRN" name="Brunei Darussalam"/>
+	<country code="100" short="BGR" name="Bulgaria"/>
+	<country code="854" short="BFA" name="Burkina Faso"/>
+	<country code="108" short="BDI" name="Burundi"/>
+	<country code="116" short="KHM" name="Cambodia"/>
+	<country code="120" short="CMR" name="Cameroon"/>
+	<country code="124" short="CAN" name="Canada"/>
+	<country code="132" short="CPV" name="Cape Verde"/>
+	<country code="136" short="CYM" name="Cayman Islands"/>
+	<country code="140" short="CAF" name="Central African Republic"/>
+	<country code="148" short="TCD" name="Chad"/>
+	<country code="830" short="" name="Channel Islands"/>
+	<country code="152" short="CHL" name="Chile"/>
+	<country code="156" short="CHN" name="China"/>
+	<country code="344" short="HKG" name="Hong Kong Special Administrative Region of China"/>
+	<country code="446" short="MAC" name="Macao Special Administrative Region of China"/>
+	<country code="170" short="COL" name="Colombia"/>
+	<country code="174" short="COM" name="Comoros"/>
+	<country code="178" short="COG" name="Congo"/>
+	<country code="184" short="COK" name="Cook Islands"/>
+	<country code="188" short="CRI" name="Costa Rica"/>
+	<country code="384" short="CIV" name="Côte d'Ivoire"/>
+	<country code="191" short="HRV" name="Croatia"/>
+	<country code="192" short="CUB" name="Cuba"/>
+	<country code="196" short="CYP" name="Cyprus"/>
+	<country code="203" short="CZE" name="Czech Republic"/>
+	<country code="408" short="PRK" name="Democratic People's Republic of Korea"/>
+	<country code="180" short="COD" name="Democratic Republic of the Congo"/>
+	<country code="208" short="DNK" name="Denmark"/>
+	<country code="262" short="DJI" name="Djibouti"/>
+	<country code="212" short="DMA" name="Dominica"/>
+	<country code="214" short="DOM" name="Dominican Republic"/>
+	<country code="218" short="ECU" name="Ecuador"/>
+	<country code="818" short="EGY" name="Egypt"/>
+	<country code="222" short="SLV" name="El Salvador"/>
+	<country code="226" short="GNQ" name="Equatorial Guinea"/>
+	<country code="232" short="ERI" name="Eritrea"/>
+	<country code="233" short="EST" name="Estonia"/>
+	<country code="231" short="ETH" name="Ethiopia"/>
+	<country code="234" short="FRO" name="Faeroe Islands"/>
+	<country code="238" short="FLK" name="Falkland Islands (Malvinas)"/>
+	<country code="242" short="FJI" name="Fiji"/>
+	<country code="246" short="FIN" name="Finland"/>
+	<country code="250" short="FRA" name="France"/>
+	<country code="254" short="GUF" name="French Guiana"/>
+	<country code="258" short="PYF" name="French Polynesia"/>
+	<country code="266" short="GAB" name="Gabon"/>
+	<country code="270" short="GMB" name="Gambia"/>
+	<country code="268" short="GEO" name="Georgia"/>
+	<country code="276" short="DEU" name="Germany"/>
+	<country code="288" short="GHA" name="Ghana"/>
+	<country code="292" short="GIB" name="Gibraltar"/>
+	<country code="300" short="GRC" name="Greece"/>
+	<country code="304" short="GRL" name="Greenland"/>
+	<country code="308" short="GRD" name="Grenada"/>
+	<country code="312" short="GLP" name="Guadeloupe"/>
+	<country code="316" short="GUM" name="Guam"/>
+	<country code="320" short="GTM" name="Guatemala"/>
+	<country code="831" short="CGY" name="Guernsey"/>
+	<country code="324" short="GIN" name="Guinea"/>
+	<country code="624" short="GNB" name="Guinea-Bissau"/>
+	<country code="328" short="GUY" name="Guyana"/>
+	<country code="332" short="HTI" name="Haiti"/>
+	<country code="336" short="VAT" name="Holy See"/>
+	<country code="340" short="HND" name="Honduras"/>
+	<country code="348" short="HUN" name="Hungary"/>
+	<country code="352" short="ISL" name="Iceland"/>
+	<country code="356" short="IND" name="India"/>
+	<country code="360" short="IDN" name="Indonesia"/>
+	<country code="364" short="IRN" name="Iran, Islamic Republic of"/>
+	<country code="368" short="IRQ" name="Iraq"/>
+	<country code="372" short="IRL" name="Ireland"/>
+	<country code="833" short="IMN" name="Isle of Man"/>
+	<country code="376" short="ISR" name="Israel"/>
+	<country code="380" short="ITA" name="Italy"/>
+	<country code="388" short="JAM" name="Jamaica"/>
+	<country code="392" short="JPN" name="Japan"/>
+	<country code="832" short="JEY" name="Jersey"/>
+	<country code="400" short="JOR" name="Jordan"/>
+	<country code="398" short="KAZ" name="Kazakhstan"/>
+	<country code="404" short="KEN" name="Kenya"/>
+	<country code="296" short="KIR" name="Kiribati"/>
+	<country code="414" short="KWT" name="Kuwait"/>
+	<country code="417" short="KGZ" name="Kyrgyzstan"/>
+	<country code="418" short="LAO" name="Lao People's Democratic Republic"/>
+	<country code="428" short="LVA" name="Latvia"/>
+	<country code="422" short="LBN" name="Lebanon"/>
+	<country code="426" short="LSO" name="Lesotho"/>
+	<country code="430" short="LBR" name="Liberia"/>
+	<country code="434" short="LBY" name="Libyan Arab Jamahiriya"/>
+	<country code="438" short="LIE" name="Liechtenstein"/>
+	<country code="440" short="LTU" name="Lithuania"/>
+	<country code="442" short="LUX" name="Luxembourg"/>
+	<country code="450" short="MDG" name="Madagascar"/>
+	<country code="454" short="MWI" name="Malawi"/>
+	<country code="458" short="MYS" name="Malaysia"/>
+	<country code="462" short="MDV" name="Maldives"/>
+	<country code="466" short="MLI" name="Mali"/>
+	<country code="470" short="MLT" name="Malta"/>
+	<country code="584" short="MHL" name="Marshall Islands"/>
+	<country code="474" short="MTQ" name="Martinique"/>
+	<country code="478" short="MRT" name="Mauritania"/>
+	<country code="480" short="MUS" name="Mauritius"/>
+	<country code="175" short="MYT" name="Mayotte"/>
+	<country code="484" short="MEX" name="Mexico"/>
+	<country code="583" short="FSM" name="Micronesia, Federated States of"/>
+	<country code="492" short="MCO" name="Monaco"/>
+	<country code="496" short="MNG" name="Mongolia"/>
+	<country code="499" short="MNE" name="Montenegro"/>
+	<country code="500" short="MSR" name="Montserrat"/>
+	<country code="504" short="MAR" name="Morocco"/>
+	<country code="508" short="MOZ" name="Mozambique"/>
+	<country code="104" short="MMR" name="Myanmar"/>
+	<country code="516" short="NAM" name="Namibia"/>
+	<country code="520" short="NRU" name="Nauru"/>
+	<country code="524" short="NPL" name="Nepal"/>
+	<country code="528" short="NLD" name="Netherlands"/>
+	<country code="530" short="ANT" name="Netherlands Antilles"/>
+	<country code="540" short="NCL" name="New Caledonia"/>
+	<country code="554" short="NZL" name="New Zealand"/>
+	<country code="558" short="NIC" name="Nicaragua"/>
+	<country code="562" short="NER" name="Niger"/>
+	<country code="566" short="NGA" name="Nigeria"/>
+	<country code="570" short="NIU" name="Niue"/>
+	<country code="574" short="NFK" name="Norfolk Island"/>
+	<country code="580" short="MNP" name="Northern Mariana Islands"/>
+	<country code="578" short="NOR" name="Norway"/>
+	<country code="275" short="PSE" name="Occupied Palestinian Territory"/>
+	<country code="512" short="OMN" name="Oman"/>
+	<country code="586" short="PAK" name="Pakistan"/>
+	<country code="585" short="PLW" name="Palau"/>
+	<country code="591" short="PAN" name="Panama"/>
+	<country code="598" short="PNG" name="Papua New Guinea"/>
+	<country code="600" short="PRY" name="Paraguay"/>
+	<country code="604" short="PER" name="Peru"/>
+	<country code="608" short="PHL" name="Philippines"/>
+	<country code="612" short="PCN" name="Pitcairn"/>
+	<country code="616" short="POL" name="Poland"/>
+	<country code="620" short="PRT" name="Portugal"/>
+	<country code="630" short="PRI" name="Puerto Rico"/>
+	<country code="634" short="QAT" name="Qatar"/>
+	<country code="410" short="KOR" name="Republic of Korea"/>
+	<country code="498" short="MDA" name="Republic of Moldova"/>
+	<country code="638" short="REU" name="Réunion"/>
+	<country code="642" short="ROU" name="Romania"/>
+	<country code="643" short="RUS" name="Russian Federation"/>
+	<country code="646" short="RWA" name="Rwanda"/>
+	<country code="654" short="SHN" name="Saint Helena"/>
+	<country code="659" short="KNA" name="Saint Kitts and Nevis"/>
+	<country code="662" short="LCA" name="Saint Lucia"/>
+	<country code="666" short="SPM" name="Saint Pierre and Miquelon"/>
+	<country code="670" short="VCT" name="Saint Vincent and the Grenadines"/>
+	<country code="882" short="WSM" name="Samoa"/>
+	<country code="674" short="SMR" name="San Marino"/>
+	<country code="678" short="STP" name="Sao Tome and Principe"/>
+	<country code="682" short="SAU" name="Saudi Arabia"/>
+	<country code="686" short="SEN" name="Senegal"/>
+	<country code="688" short="SRB" name="Serbia"/>
+	<country code="690" short="SYC" name="Seychelles"/>
+	<country code="694" short="SLE" name="Sierra Leone"/>
+	<country code="702" short="SGP" name="Singapore"/>
+	<country code="703" short="SVK" name="Slovakia"/>
+	<country code="705" short="SVN" name="Slovenia"/>
+	<country code="090" short="SLB" name="Solomon Islands"/>
+	<country code="706" short="SOM" name="Somalia"/>
+	<country code="710" short="ZAF" name="South Africa"/>
+	<country code="724" short="ESP" name="Spain"/>
+	<country code="144" short="LKA" name="Sri Lanka"/>
+	<country code="736" short="SDN" name="Sudan"/>
+	<country code="740" short="SUR" name="Suriname"/>
+	<country code="744" short="SJM" name="Svalbard and Jan Mayen Islands"/>
+	<country code="748" short="SWZ" name="Swaziland"/>
+	<country code="752" short="SWE" name="Sweden"/>
+	<country code="756" short="CHE" name="Switzerland"/>
+	<country code="760" short="SYR" name="Syrian Arab Republic"/>
+	<country code="157" short="ROC" name="Taiwan, Republic of China"/>
+	<country code="762" short="TJK" name="Tajikistan"/>
+	<country code="764" short="THA" name="Thailand"/>
+	<country code="807" short="MKD" name="The former Yugoslav Republic of Macedonia"/>
+	<country code="626" short="TLS" name="Timor-Leste"/>
+	<country code="768" short="TGO" name="Togo"/>
+	<country code="772" short="TKL" name="Tokelau"/>
+	<country code="776" short="TON" name="Tonga"/>
+	<country code="780" short="TTO" name="Trinidad and Tobago"/>
+	<country code="788" short="TUN" name="Tunisia"/>
+	<country code="792" short="TUR" name="Turkey"/>
+	<country code="795" short="TKM" name="Turkmenistan"/>
+	<country code="796" short="TCA" name="Turks and Caicos Islands"/>
+	<country code="798" short="TUV" name="Tuvalu"/>
+	<country code="800" short="UGA" name="Uganda"/>
+	<country code="804" short="UKR" name="Ukraine"/>
+	<country code="784" short="ARE" name="United Arab Emirates"/>
+	<country code="826" short="GBR" name="United Kingdom of Great Britain and Northern Ireland"/>
+	<country code="834" short="TZA" name="United Republic of Tanzania"/>
+	<country code="840" short="USA" name="United States of America"/>
+	<country code="850" short="VIR" name="United States Virgin Islands"/>
+	<country code="858" short="URY" name="Uruguay"/>
+	<country code="860" short="UZB" name="Uzbekistan"/>
+	<country code="548" short="VUT" name="Vanuatu"/>
+	<country code="862" short="VEN" name="Venezuela (Bolivarian Republic of)"/>
+	<country code="704" short="VNM" name="Viet Nam"/>
+	<country code="876" short="WLF" name="Wallis and Futuna Islands"/>
+	<country code="732" short="ESH" name="Western Sahara"/>
+	<country code="887" short="YEM" name="Yemen"/>
+	<country code="894" short="ZMB" name="Zambia"/>
+	<country code="716" short="ZWE" name="Zimbabwe"/>
+</countries>
diff --git a/WebContent/languages/countries.xsd b/WebContent/languages/countries.xsd
new file mode 100644
index 0000000..98b3017
--- /dev/null
+++ b/WebContent/languages/countries.xsd
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

+  <xs:element name="countries">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element maxOccurs="unbounded" ref="country"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="country">

+    <xs:complexType>

+      <xs:attribute name="code" use="required" type="xs:integer"/>

+      <xs:attribute name="name" use="required"/>

+      <xs:attribute name="short" use="required"/>

+    </xs:complexType>

+  </xs:element>

+</xs:schema>

diff --git a/WebContent/languages/czech.xml b/WebContent/languages/czech.xml
new file mode 100644
index 0000000..e087075
--- /dev/null
+++ b/WebContent/languages/czech.xml
@@ -0,0 +1,4505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Konference</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>Schůzka</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>Posluchárna</value>
+  </string>
+  <string id="4" name="settings">
+    <value>Nastavení</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>Profil</value>
+  </string>
+  <string id="6" name="admin">
+    <value>Administrace</value>
+  </string>
+  <string id="7" name="stop">
+    <value>Stop</value>
+  </string>
+  <string id="8" name="record">
+    <value>Záznam</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>Žádný soubor není dostupný</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>Záznam učitele</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>Připojení uživatelé:</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>Start konference</value>
+  </string>
+  <string id="13" name="myname">
+    <value>Mé jméno</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>VideoKonference</value>
+  </string>
+  <string id="15" name="import">
+    <value>Nahrej soubor</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>Aktualizuj</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>Můj soubor</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>Nová anketa</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>Nová anketa pro konferenci.</value>
+  </string>
+  <string id="20" name="question">
+    <value>Otázka:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>Typ ankety:</value>
+  </string>
+  <string id="22" name="create">
+    <value>Vytvoř</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>Info: Všichni připojení uživatelé obdrželi zprávu o nové anketě.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>Vytvoř anketu</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>Zrušit</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>Ano/Ne</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>Čísla 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>Anketa</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>Pro vytvoření otázky musíte být moderátor</value>
+  </string>
+  <string id="30" name="vote">
+    <value>Vaše hlasování bylo uloženo.</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>V této anketě jste již hlasoval.</value>
+  </string>
+  <string id="32" name="voting">
+    <value>Hlasuj !</value>
+  </string>
+  <string id="33" name="answer">
+    <value>Vaše otpověď:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>Ano</value>
+  </string>
+  <string id="35" name="no">
+    <value>Ne</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>will wissen:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>Výsledek ankety</value>
+  </string>
+  <string id="38" name="question">
+    <value>Otázka:</value>
+  </string>
+  <string id="39" name="results">
+    <value>Výsledek:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>Odpověď:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>Nejsou dostupné žádné ankety.</value>
+  </string>
+  <string id="42" name="votings">
+    <value>Hlasuj!</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>Schůzka (max 4 sedění)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>Konference (max 50 sedění)</value>
+  </string>
+  <string id="45" name="type">
+    <value>Typ</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>Jiné sedění</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>Vybráno</value>
+  </string>
+  <string id="48" name="enter">
+    <value>vstup</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>Moderátor opustil schůzku.</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>Systémové informace</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>Vyber zařízení</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Vyber webcam:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>Vyber mikrofon:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>ok</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>zruš</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>Musíte se znovu připojit.</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>Uprav nastavení.</value>
+  </string>
+  <string id="58" name="course">
+    <value>Cesta:</value>
+  </string>
+  <string id="59" name="language">
+    <value>Jazyk:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>ok</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>zruš</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>Smaž tabuli</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Chcete aby tabule byla prázdná před přidáním nového obrázku?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>Žádné další dotazy</value>
+  </string>
+  <string id="65" name="no">
+    <value>ne</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>Uprav nastavení</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Potvrzovací dotaz před smazáním tabule.</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>Informace o uživateli</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>Smaž kreslící oblast</value>
+  </string>
+  <string id="70" name="undo">
+    <value>Krok zpět</value>
+  </string>
+  <string id="71" name="redo">
+    <value>Krok vpřed</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>Vyber Objekt</value>
+  </string>
+  <string id="73" name="text">
+    <value>Text</value>
+  </string>
+  <string id="74" name="paint">
+    <value>Kreslení</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>Kresli čáru</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>Kresli podtržení</value>
+  </string>
+  <string id="77" name="rect">
+    <value>čtyřúhelník</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>Elipsa</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>Šipka</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>smaž vybranou položku</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>Použít pro moderování</value>
+  </string>
+  <string id="82" name="apply">
+    <value>použij</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>zruš</value>
+  </string>
+  <string id="84" name="mod">
+    <value>Stát se moderátorem</value>
+  </string>
+  <string id="85" name="close">
+    <value>zavřít</value>
+  </string>
+  <string id="86" name="italic">
+    <value>italic</value>
+  </string>
+  <string id="87" name="bold">
+    <value>tlustě</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>ČEKÁM</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>Uživatel chce použít pro moderování:</value>
+  </string>
+  <string id="90" name="accept">
+    <value>akceptuj</value>
+  </string>
+  <string id="91" name="reject">
+    <value>odmítni</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>zruš</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>Odeslat dotaz následujícím uživatelům</value>
+  </string>
+  <string id="94" name="accept">
+    <value>Akceptováno</value>
+  </string>
+  <string id="95" name="reject">
+    <value>Odmítnuto</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>Změna moderátora</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>Nemůžete moderovat tento kurz!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>Moderator:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>Místnost je plná. Omlováme se příjďte jindy.</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>Elipsa</value>
+  </string>
+  <string id="101" name="close">
+    <value>zavři</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>chyba vstupních dat</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>4 nebo více znaků; záleží na velkých písmenkách!</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>heslo musí mít minimálně 4 znaky</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>Uživatel již existuje</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>Email je již registrován</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>Systémová chyba, kontaktujte správce sítě!</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>Přihlášení</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>Uživatel:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>Heslo:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>Jazyk</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>Přihlásit</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>Registrace:</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>Uživatel:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>Heslo:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>Znovu:</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Jméno:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Příjmení:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>Mail:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>Země:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>Registrace</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>Zruš</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>Nejsi členem?</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>Domů</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>Uživatelé</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>Skupiny</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>Organizace</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>Jednací místnost</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>veřejné</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>Organizace</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>vstup</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>Uživatelské jméno</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>Heslo</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>Znovu</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Jméno</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Příjmení</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>Mail</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>Datum narození</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>Ulice</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>PSČ/Město</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>Stát</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Info o adrese</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Uživatelská data</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>ulož</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>Ulož</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>USER-ID</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>Login</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>Jméno</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>Příjmení</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>ukaž další</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>ukaž předchozí</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>smaž záznam</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>zruš</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>smaž</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>nový záznam</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>aktualizuj záznam</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>smaž záznam</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>stav</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>zakázáno</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>povoleno</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>Organizace</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>kalendář</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>zavři</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>ID organizace</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>Název</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>Uživatel</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>Moderator</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>Admin</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>uživatelská úroveň</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>Organizace</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>název</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>přidej organizaci</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>přidej organizaci</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>zruš</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>přidej</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>zruš organizaci</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>uživatel</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>přidej uživatele</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>zruš uživatele</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>přidej uživatele</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>hledej uživatele</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>hledej</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>uživatel</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>Organizace</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>vstup</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>Konferenční místnost</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>Konferenční místnost</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>id</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>Jméno</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>veřejné</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>Organizace</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>Zasedací místnost</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>Název</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>Typ</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>Veřejné</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>Komentář</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>ulož a exportuj</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>nahrej</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>ulož jako</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>Název souboru</value>
+  </string>
+  <string id="201" name="files">
+    <value>název souboru</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>zruš</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>ulož</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>Chyba</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>nahrávám</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>objekt nahrán</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>synchronizace klientů; čekající klienti:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>Nahrávám obrázek</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>synchronizace klientů; čekající klienti:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>smaž kreslící oblast</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>smaž kreslící oblast, všechna data z tabule budou ztracena</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Potvrzení před nahrátím souboru</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>Zaslat pozvání</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>Zaslat pozvání</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>Předmět</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Příjemce</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>Zpráva</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Odeslat</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>zruš</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>odeslat</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>Uživatelská data</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>Vaše přezdívka v této konferenci</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>Přezdívka</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>Jméno</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>Příjmení</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>Email</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>Jazyk</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>vstup</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>Nahrávám</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>Data se nahrávají, čekejte prosím</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>Špatné heslo</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>Zadejte prosím stejné heslo minimálně se 6 znaky</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>Špatný mail</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>Zadali jste špatnou emailovou adresu</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>Registrace je kompletní</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>Váš uživatelský účet byl vytvořen. Můžete se přihlásit.</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>Nyní nemůžete sdílet obrazovku. Někdo jiný již sdílí svou obrazovku.</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Sdílení zakázáno</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Sdílej svou obrazovku</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Špatná šířka pásma: Nemůžete synchronizovat svou obrazovku. Snímek byl zahozen. Pokud se toto varování objeví, domluvte se s moderátorem na snížení kvality přenosu obrazovky.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>Obrazovka vypnuta:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Kreslení</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Dokument</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>Pokec</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>Soubory</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Členové</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Nahrej originální dokument</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>Nahrej PDF dokument</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Nahrej prezentaci na tabuli</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Konfigurace</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Přesun objektu</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Změna velikosti objektu</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>z</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>První strana</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>Předchozí strana</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>Další strana</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>Poslední strana</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Zmenši --</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Zvětši ++</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>Pan</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Paní/slečna</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Konfigurace</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>Klíč</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Konfigurace</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>Klíč</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>poslední aktualizace</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>aktualizoval</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>komentář</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>Hodnota</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>z</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>Uživatelé</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>smaž uživatele z organizace</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>smaž</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>Tentu uživatel již je členem organizace.</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>Zprávy</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Rychlá navigace</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Schůzky</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Posluchárna</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Nápověda a podpora</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>Nahlášení chyb!</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>více</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Stránky projektu</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>Archiv uživatelské korespondence</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Zapamatuj si přihlášení</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Obsah</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>Má domovská stránka</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>Mé plánované schůzky</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>Mé plánované přednášky</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Veřejné schůzky</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Soukromé schůzky</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Veřejné přednáška</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Soukromé přednáška</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Veřejný obsah</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Soukromý obsah</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Uživatelský obsah</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value></value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Moderace</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>Požadavek na moderaci</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Ankety</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Vyber soubor</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Nastavení</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Nastavení kamery a mikrofonu</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Nastavení tabule</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Odchod</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Zpět do výběru místností</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Odhlásit</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Zapměli jste heslo?</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>Reset hesla</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>Mailem</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>Přihlášením</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>Váš email</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>Vaše uživatelské jméno</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Odeslán mail s odkazem na reset hesla</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>Emailová adresa nenalezena. Použíjte stejnou adresu jako při zakládání uživatelského účtu.</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Zadejte prosím mail, nebo uživatelské jméno</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>Takový uživatelský účet neexistuje</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>Email obsahuje speciální odkaz, skontrolujte Vaši schránku. Pokud jste mail neobdrželi, skontrolujte nastavení antispamového filtru a pošlete mail znovu.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Chyba</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Zpráva</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>Špatný Hash. Uživatel nenalezen.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Reset Vašeho hesla</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Login</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>změna hesla</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>nové heslo</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>znovu heslo</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>Hesla nejsou stejná.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>4 nebo více znaků; záleží na velikosti písmen!</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>Heslo nastaveno. Můžete se přihlásit.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Neznámá chyba. Nahlaste ji servisnímu týmu.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>Uživatelský účet nenalezen</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Špatné heslo</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Byli jste vpořádku odhlášeni</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Registrace uživatelů zakázána.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>Špatný mail</value>
+  </string>
+  <string id="340" name="registration">
+    <value>soubor již existuje, vyberte jiný název souboru</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>název souboru je krátký</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>Nemohu uložit adresu</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>Uživatel přidán, ale musíte jej přiřadit k organizaci, jinak se nebude moci přihlásit.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>Nový záznam</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>Pole nenalezeno v FieldId.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>Pro toto pole nexistuje název.</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Vyžadovány práva administrátora</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Lokalizace</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Jazyk</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>ID pole</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Název pole</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Hodnota</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Hodnoty pole</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>Název pole</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>Hodnota pole</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>ID pole</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>Smazali jste pouze název pole, ne pole! Nemůžete smazat pole, používá se v ostatních jazycích.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>Špatné ID pole. ID pole nenalezeno v databázi.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>Nemůžete smazat toto pole. Můžete smazat pouze názvy polí. Není nahrán žádný název pole, protože jste nevybrali žádné pole, nebo není pro toto pole název definován.</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>export</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>Odhlaste se a pak uvidíte změny.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Přidej nový jazyk</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>smaž jazyk</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Přidej nový jazyk</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Název</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>přidej jazyk</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Záloha</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>jdi na první</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>jdi na předchozí</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>jdi na další</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>jdi na poslední</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>uživatel mluví (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>Vpnout/Zapnout zvuk</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>Systém</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>Vaše nastavení</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>Dobrý den,</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Uprav svůj profil</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>Nové zprávy:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Nahrej nový obrázek</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Export uživatelských dat</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>AVšechny organizace musí existovat!</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>start export</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>Dle organizace</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>start export</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Import uživatelských dat</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>vyber uživatel.xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>import</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Export do XML - Tento soubor může být použit pro: - Přispění k projektu - Import do jiného systému - Zálohu - Úpravy - Vložení do adresáře jazyků a použití pro další instalaci</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Vyberte soubor s překladem k importu.Vyberte správný jazyk ve výběru! Nezáleží na názvu souboru!</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>import - vyber soubor</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Ulož jako</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Název:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>Popis:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>ulož</value>
+  </string>
+  <string id="395" name="record">
+    <value>Záznamy</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Prohlížeč záznamů</value>
+  </string>
+  <string id="397" name="record">
+    <value>Záznamy z veřejných a soukromých místností</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>Uživatelé:</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>Joined:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Uživatelé v této místnosti:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>aktualizuj</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>Místnost je plná. Zkuste to za pár minut.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>Pro získání detalů klikněte na místnost</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Pokec uživatelů v této místnosti:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Mistnost:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Uživatelé v této místnosti:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>od:</value>
+  </string>
+  <string id="409" name="record">
+    <value>přehrej záznam</value>
+  </string>
+  <string id="410" name="record">
+    <value>Délka:</value>
+  </string>
+  <string id="411" name="record">
+    <value>Datum:</value>
+  </string>
+  <string id="412" name="record">
+    <value>Mód záznamu! Nemůžete měnit žádné hodnoty, toto je pouze záznam!</value>
+  </string>
+  <string id="413" name="record">
+    <value>Přehrej záznam</value>
+  </string>
+  <string id="414" name="record">
+    <value>Přehrej / Pozastav</value>
+  </string>
+  <string id="415" name="record">
+    <value>Začátek záznamu</value>
+  </string>
+  <string id="416" name="record">
+    <value>konec záznamu</value>
+  </string>
+  <string id="417" name="record">
+    <value>Záznam:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>Zde jsou dostupné záznamy:</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Zaznamenáno! Uživatelem:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>zruš</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>Záznam byl ukončen a neuložen.</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>opakovat</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Zavřete toto okno a zopakujte nahrávání</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>změna barvy čáry</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Vyber barvu</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Zakaž / Povol změnu barvy čáry</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>změň barvu výplně</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>Zakaž / Povol změnu barvy výplně</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Změň tloušťku čáry</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>zavři</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>změň velikost písma</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>Smaž nahrávku</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Host</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>Zaznamenal:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Název</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Místnost</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Datum</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>zruš</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>start</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Název</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Datum</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>Smaž záznam pokecu na serveru</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>Pokec</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>zaslat zprávu</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Emoticons</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>Emoticons</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Vyber zveřejněné zařízení</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Zvuk a obraz</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>Pouze zvuk</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>Pouze obraz</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>Bez zvuku a obrazu (statický obrázek)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>Zvuk a Obraz z Vašeho PC není zveřejněno, bude zobrazen pouze obrázek z Vašeho profilu.Pokud máte problémy zkontrolujte Vaše nastavení, nebo máte velmi pomalé připojení k internetu.</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>Po</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>Út</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>St</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>Čt</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>Pá</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>So</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>Ne</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>Pondělí</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Úterý</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Středa</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Čtvrtek</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Pátek</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Sobota</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Neděle</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>Týden</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Týdenní kalendář</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>Leden</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>Únor</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>Březen</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>Duben</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>Květen</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>Červen</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>Červenec</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>Srpen</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>Září</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>Říjen</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>Listopad</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>Prosinec</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Kalendář</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Účastníci</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Ukaž nastavení zobrazení</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Šířka | Výška</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Video-okno</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Moderation-okno</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Tabule-okno</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Povoleno</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Šířka | Výška</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Soubory,Pokec,Účastníci - okno</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Povoleno</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Šířka | Výška</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>Moderátor opustil místnost. Není v tento moment přítomen. Můžete se stát moderátorem, nebo čekat.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>V této místnosti není moderátor, ale jsou zde účastníci. Můžete se stát moderátorem, nebo čekat.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>Feedback $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Pozvánka</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Zpráva od uživatele:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Zpráva:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Klikněte sem a podílejte se na konferenci:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Klikněte sem pro vstup do místnosti</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>pokud máte problém s tímto odkazem, nakopírujte jej a vložte do prohlížeče:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME Registrace</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>Vaše uživatelská data:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Uživatelské jméno:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Heslo:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>EMail:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME-Tým</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME Registrace</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - Reset hesla</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Klikněte na tento odkaz a zadejte nové heslo:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Klkněte sem a zadejte nové heslo</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>pokud máte problém s tímto odkazem, nakopírujte jej a vložte do prohlížeče:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>$APP_NAME heslo resetováno</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>Zadejte správné datum, například 24.12.2001 (dd.mm.yyyy)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Zadejte správný email, například name@mail.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Zadejte desitinné číslo, například 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Zadejte celé číslo, například 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Zadejte správné tel. číslo, například +49 0123 123123</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Zadejte správný čas, například 12:23 (hh:mm)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Heslo zabezpečeno</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Heslo</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Platnost opakování</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Nekonečně</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Opakovaně</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>Jen jednou</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Platí od:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Platí do:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Pozvánka do $APP_NAME</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>Pro tento kód pozvánky není žádná pozvánka dostupná</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>Pozvánka byla použita. Tento typ pozvánky nemůže být znovu použit.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>Tento kód pozvánky je špatný.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Heslo:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Zkontrolujte heslo</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Špatné heslo!</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>Zvuk_Obraz</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Synchronizuji Zvuk/Obraz</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>Už. účet v pořádku, ale připojení není aktivní, nebo registrované na serveru. Musíte se znovu přihlásit.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>Sezení není přihlášeno, nebo nemáte administrátorská práva. SOAP brána vyžaduje práva administrátora pro založení uživatele.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>Sezení nemá spojení na vzdálené uživatelské data. Nemůžete přistupovat k SOAP bráně před vstupem do aplikace, nebo používáte špatné ID sezení</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>Záznamy jsou pouze beta verze!</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>osa x</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>osa y</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>š</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>šířka</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>v</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>výška</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Změna průhlednosti</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Průzkumník otevřen</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Průzkumník uzavřen</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>Spojení se serverem bylo přerušeno. Musíte znovunahrát aplikaci (zkontrolujte Vaši síť).</value>
+  </string>
+  <string id="557" name="557">
+    <value>Ukazovátko</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Synchronizuji</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Synchronizuji uživatele, čekejte prosím</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Načti jako SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Načti jako PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Načti jako JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Načti jako PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Načti jako TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Připomínka:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Kategorie:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Opakování:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>none</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Umístění:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Začátek</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>Konec</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Titul:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Komentář:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Invite People</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Denně</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Měsíčně</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Ročně</value>
+  </string>
+  <string id="578" name="alert">
+    <value>Schůzka končí pouze pokud schůzka začala!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Zadejte prosím nadpis!</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>Aktivujte pouze pokud píšete z prava do leva</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Rychlá navigace</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Záznamy z konferencí</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Schůzka - Vytvořte konference se 4 (max 16) účastníky&lt;br/&gt;všichni mohou používat zvuk a obraz</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Přednáška - Vytvořte konferenci až s 200 účastníky&lt;br/&gt;Pouze moderátor může používat zvuk a obraz</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Tvorba uživatelů, místností, organizací&lt;br/&gt; + změna konfigurace</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Uživatelé v této místnosti teď</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Login</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Nahrávám dokument. Poškejte prosím na synchronizaci všech uživatelů.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Nahráno, konvertuji dokument ...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Odešli</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Vyberte soubor z Vašeho disku.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Zruš</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Vyber soubor</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Připojení</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Hodnota</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Login</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Připojeni poté</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Místnost / Možnosti</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Odpojit uživatele</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Odpojit uživatele</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Opravdu chcete odpojit uživatele?&lt;br/&gt; Toto pouze odpojí uživatele od dané místnosti. Uživatel se může opět přihlásit.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Vaše sezení bylo ukončeno administrátorem, nebo moderátorem.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Telefon</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>Uživatel je moderátor této místnosti</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>Uživatel má povoleno kreslit na tabuli</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Re) Start Zvuk/Obraz, nebo změna nastavení zařízení</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Povolit tomuto uživateli kreslit na tabuli</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Odejmout možnost kreslení na tabuli</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Uživatelé</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Soubory</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Tabule</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Pokec</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Váš uživatelský účet je přiřazen do více organizací. Pro toto sezení vyberte jednu z nich.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>This room is full at the moment. Please try again later.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Room Type</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Appointment Room</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Server Time</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - Reminder</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Message from User:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Message:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Click this link to participate in the Meetings:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Click here to enter room</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>if you have problems with the link, please copy and paste this to your browser:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>search intern</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>extern users</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>pre name</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>name</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>E-mail</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Confirm logout</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Are you sure you want to logout now?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Actions</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Demo Room</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Demo Time</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Meeting Timer</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>This Room is a Demo Room. To disable this warning you either should get a private meeting room for your personal usage or set up an own Server. You will be automatically logged off in:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Moderated</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Please wait untill the Moderator has entered the Room. The Moderator can be either a Teacher, Admin or the creator of this Room.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Ok</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Incoming Screen Sharing</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>There is a new Screen Sharing incoming from the User:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Start Sharing</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Add new Meeting</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Meeting Room</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Event Room</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Moderation</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Moderate Users</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Moderate Rooms</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Do you want to change this User to become a Moderator of that Organization?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Please choose an Organization before you try to add a User to it!</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Organization - Moderator</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Do you really want to delete this User from the Organization?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>This User is Moderator</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>This User is No-Moderator</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Do you want this User to be not a Moderator of this Organization?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Add or delete Users or Rooms within your Organization</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Do you really want to delete this record?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Do you really want to delete this user from your organization? You will only delete the connection between the user and your organization, to really delete the user itself you have to login into the Administration-Panel.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>You cannot delete your own User!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>This Method needs a Adminstration Account to be invoked!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>There was no Session associated with this ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>This is an Administrator or Moderator account. You can only edit this account through the Administration Panel.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>To complete your registration please click on the following link. Or copy the URL to your browser bar.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Click to verify your E-Mail</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>No user was found for this Hash.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>This user is already activated!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>You did successfully activate your account!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Login Now</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Your account is not activated. First use the link in the Email you've received during registration.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>You successfully signed up. We've send an EMail with a verification Code to your Mail. Please check your Inbox.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Remove Moderation Role from this User</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Grant Moderation Rights to this User</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>User</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Access to whiteboard</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Moderator</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Moderation: Please choose any User on the List to grant him access to the Whiteboard, Moderation or Video.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>This User is already Moderator, so he has automatically the right to draw.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>This is you! You cannot remove the Moderation rights from yourself.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Allow this User to Publish his Audio / Video</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Remove Audio/Video of this User</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>I would like to get the moderation of this room</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>I would like to draw on whiteboard</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>I would like to share my Audio/Video</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>You are moderator of this room</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>You are allowed to draw on whiteboard</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>You are allowed to share your Audio/Video</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Message to Moderator</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>The User</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>would like to get the Moderation. Use the status Icons next to the user in the List of Users to add or remove the Moderation.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>would like to draw on whiteboard. Use the status Icons next to the user in the List of Users to add or remove the right to draw anything on the whiteboard.</value>
+  </string>
+  <string id="695" name="695">
+    <value>would like to share his Audio/Video. Use the status Icons next to the user in the List of Users to add or remove the right to share Audio/Video for any User.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>You have to wait untill a Moderator enters the room.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Cancel</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Save</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Day</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Month</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Year</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Upload File</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Refresh</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Trash (Drag and Drop item here)</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>My Files (Home Drive)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Room Files (Public Drive)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Add File</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Delete Folder</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Edit Name</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>New Folder</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Are you sure you want to delete this Item?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Open Document</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Show all Files (Tree View)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Close Document</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Delete File</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>You are not allowed to draw anything on the Whiteboard. You have to become Moderator or at least get the Right to edit Whiteboard. You may ask a Moderator to give you that right.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Document Properties</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Start Client (external)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Start Client (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>A user want to share his screen. Do you want to see it?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>You are currently sharing your Desktop. For stopping the Sharing Session please hit the Stop button in the Sharing Client.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Sharing Session</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>You are already sharing your desktop!</value>
+  </string>  
+  <string id="728" name="sharing client">
+    <value>Desktop Viewer</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Exit</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Desktop Sharer</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Click Start to publish your screen</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Start Sharing</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Select your screen area:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Change width</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>The Sharer has finished this session!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Change height</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X-Offset</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y-Offset</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Width:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Height:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>Connection was closed by Server</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Cancel</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Start External</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>If you close this session completely you are not able to restart the viewer for this session.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Confirm Closing Viewer Session</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Share Screen</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Record Session</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Co-Browsing</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Ooops, ... Firefox on Windows does not show clear Co-Browsing. Please use another Browser for using the Co-Browsing feature.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Previous</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Next</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Reload</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Home</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Load</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Add this website as Default website to your Profile.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Test Setup</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Check you Microphone and Camera setup before you enter a room by recording some seconds. You can then replay your recording to check your voice and picture.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Don't show this test anymore</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Cancel</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Start Conference</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Do not ask again</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>You may proceed without testing if you do not plan to publish your voice or picture. Participants without Audio or Video can still use the Whiteboard, share their Desktop or write Chat messages.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="test setup">
+    <value>Level-Meter</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Press Start</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Start Event</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Choose Room</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Check Setup</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="774" name="start view">
+    <value>How to conference</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Start Recording</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Do not show Audio / Video Test (Recording) before entering a Conference</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Public Rooms</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Public Rooms are accessible for all Users.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Private Rooms</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Private Rooms are only accessible for users of the same organization.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>My Rooms</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Rooms in this section are created for personal usage. There are some standard rooms plus the ones that are created through the calendar and have a start and an end date. The rooms created via the calendar are only listed in this section as long as they are valid.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>You have to be moderator to do this.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Apply for moderation</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Apply for whiteboard access</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Apply for camera/microphone access</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>This Session Hash was already used. You cannot use it twice.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>START</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>EXIT</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Do you really want to exit? You might should clear uploaded documents, whiteboard and the chat history.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Exit conference</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Rooms</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Choose a room for a meeting</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>There is an unsaved Event in the Calendar. Please either save it or remove it.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Please add at least one attendee for your meeting!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Do you really want to delete this Event?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Warning</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Add Event</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>Day</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>Week</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>Month</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Description</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Attendees</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, your Web Conferencing Platform. Either follow the Instructions, press the start button to start to conference immediatelly or you goto the Calendar and set up a Conference for the future.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Plan a Meeting</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>To set up a conference you can add a new Event in the Calendar.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Need help?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Restricted</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Search</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Add</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>There is no User selected. Please select an item from the list first and then hit add.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Add Attendee</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Save</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Delete</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Event Details</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Default Moderators</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Name</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>E-Mail</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Add new default Moderator</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Is Super Moderator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>If the Room is moderated, User with Level Moderator or Administrator are automatically Moderator if they enter the Room. If you don't want to specify that and only want a certain User to become Moderator use the Default Moderator option.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>A Super Moderator is always a Moderator when he enters a Room, and nobody can remove the Moderation Flag from him</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Apply Super-Moderation to User</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Remove Super Moderation from User</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>If you add an Organization to the room only users of that Organization have access to it (This is only valid if the isPublic flag is set to false!)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Limitations</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organization</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Are you sure?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Do you really want to delete this Item? You have to press the save button to store the changes!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>There is no User selected. Please select first before you add it!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Add new Default Moderator</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Do you want to add the Super Moderation Flag for this User? A Super Moderator is not only Moderator of a Room, but also no other Moderator can remove the Moderation Flag for this User. You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Do you want to remove the Super Moderation Flag for this User? You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>This User is a Super-Moderator. You cannot remove the Moderation flag from a Super-Moderator!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Do you really want to delete this File/Folder?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Delete File/Folder?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Mrs.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Dr.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Properties</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Show mouse position to viewers</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Share Audio with SIP Applet</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Share Audio with SIP and Video with Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Full-Fit</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>View Screen</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>The user</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>wants to share its screen. Do you want to see it?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Close</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>The Session was closed by the sharing User!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>New Screen Sharing</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimize</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximize</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Recording Timeline</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>My Recordings</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Public Recordings</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Name</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Length</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Date</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>By</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>PLAY</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Main - Video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Recording</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>You may record and share your screen at the same time. To enable others to see your screen just hit the start button on the top. To only record the Session it is sufficient to click start recording.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Start Recording</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Stop Recording</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download the FLV-File</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Room</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>User has microphone on</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Allow User Questions</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Turn this off to prevent that any user is disturbing you in this room. Effect is that the Button to ask for Moderation ("I have a question") is not visible.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Rights</value>
+  </string>  
+  <string id="882" name="flvrecording">
+    <value>Download as AVI</value>
+  </string>  
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio only</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the Recording.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>The Recording is not yet ready for watching. Please retry in a couple of minutes again.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Recorder Message</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIP Applet is not Ready</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP-Account Settings</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP settings for each user. You can turn on or off SIP via the Administration &gt; Configuration (Key: enable_sip). The SIP data for each user should be created automatically. You can re-create the data by checking "Re-generate SIP Data"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. You should check the authentification data of your SIP-Provider and the SIP-Account Data for each User. As Administrator you are still able to login and check the Configuration. As User or Moderator you will be blocked from any interaction.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. Contact your Service Team!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet Message</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>The SIP-Applet is not ready. Accept the Applet please and click ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Get Moderation</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login the $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choose the User for this Video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>You are a Moderator in this Interview. You can decide who is speaking in this interview and you can start / stop the recording of the Session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Start Recording</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Stop Recording</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+    <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/danish.xml b/WebContent/languages/danish.xml
new file mode 100644
index 0000000..d0a2623
--- /dev/null
+++ b/WebContent/languages/danish.xml
@@ -0,0 +1,4504 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Konference</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>Møde</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>Auditorium</value>
+  </string>
+  <string id="4" name="settings">
+    <value>Indstillinger</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>Profil</value>
+  </string>
+  <string id="6" name="admin">
+    <value>Administration</value>
+  </string>
+  <string id="7" name="stop">
+    <value>Stop</value>
+  </string>
+  <string id="8" name="record">
+    <value>Optag</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>Ingen fil tilgængelig</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>Indspillet af lærer/instruktør</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>Tilsluttede brugere:</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>Start en konference</value>
+  </string>
+  <string id="13" name="myname">
+    <value>Mit navn</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>Videokonference</value>
+  </string>
+  <string id="15" name="import">
+    <value>Importer præsentation</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>Opdater liste</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>Til hovedfil</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>Ny afstemning</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>En ny afstemning før konferencen</value>
+  </string>
+  <string id="20" name="question">
+    <value>Spørgsmål:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>Afstemningstype:</value>
+  </string>
+  <string id="22" name="create">
+    <value>Opret</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>INFO: Alle tilsluttede brugere får tilsendt en meddelelse med den nye afstemning.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>Opret afstemning</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>Annuller</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>Ja/Nej</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>Numerisk 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>Stem</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>Du skal vare moderator for at kunne oprette en afstemning</value>
+  </string>
+  <string id="30" name="vote">
+    <value>Din afstemning er accepteret</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>Du har allerede stemt i denne afstemning.</value>
+  </string>
+  <string id="32" name="voting">
+    <value>Stem!</value>
+  </string>
+  <string id="33" name="answer">
+    <value>Dit svar:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>Ja</value>
+  </string>
+  <string id="35" name="no">
+    <value>Nej</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>Vil vide:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>Afstemningsresultat</value>
+  </string>
+  <string id="38" name="question">
+    <value>Spørg:</value>
+  </string>
+  <string id="39" name="results">
+    <value>Resultat:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>Svar:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>Ingen nye afsteminger er startet.</value>
+  </string>
+  <string id="42" name="votings">
+    <value>Stem!</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>Møde (max 4 pladser)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>Konference (max 50 pladser)</value>
+  </string>
+  <string id="45" name="type">
+    <value>Type</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>Andre pladser</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>Allerede valgt</value>
+  </string>
+  <string id="48" name="enter">
+    <value>Kom ind</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>Moderatoren har forladt mødet.</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>Systeminformation</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>Vælg setup</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Vælg webcam:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>Vælg mikrofon:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>ok</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>Afbryd</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>Tilslut igen.</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>Ændre setup.</value>
+  </string>
+  <string id="58" name="course">
+    <value>Kursus:</value>
+  </string>
+  <string id="59" name="language">
+    <value>Sprog:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>Ok</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>Afbryd</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>Rens skrivebordet</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Ønsker du at skrivebordet skal renses inden du uploader til et nyt billede?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>Spørg ikke igen</value>
+  </string>
+  <string id="65" name="no">
+    <value>Nej</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>Ændre setup</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Spørg inden skrivebordet tømmes?.</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>Brugerinfo</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>Rens tegneområdet</value>
+  </string>
+  <string id="70" name="undo">
+    <value>Fortryd</value>
+  </string>
+  <string id="71" name="redo">
+    <value>Klar</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>Vælg et objekt</value>
+  </string>
+  <string id="73" name="text">
+    <value>Tekst</value>
+  </string>
+  <string id="74" name="paint">
+    <value>Mal/tegn</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>Tegn linie</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>Tegn understregning</value>
+  </string>
+  <string id="77" name="rect">
+    <value>Rektangel</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>Ellipse</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>Pil</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>Slet valgt objekt</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>Læg til før moderation</value>
+  </string>
+  <string id="82" name="apply">
+    <value>Læg til</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>Afbryd</value>
+  </string>
+  <string id="84" name="mod">
+    <value>Bliv moderator</value>
+  </string>
+  <string id="85" name="close">
+    <value>Luk</value>
+  </string>
+  <string id="86" name="italic">
+    <value>italic</value>
+  </string>
+  <string id="87" name="bold">
+    <value>fed</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>VENTER</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>En bruger venter på at blive moderator:</value>
+  </string>
+  <string id="90" name="accept">
+    <value>Accepter</value>
+  </string>
+  <string id="91" name="reject">
+    <value>Afvis</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>Annuller</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>Send spørgsmål til følgende brugere</value>
+  </string>
+  <string id="94" name="accept">
+    <value>Accepteret</value>
+  </string>
+  <string id="95" name="reject">
+    <value>Afvist</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>Ændre moderator</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>Du er ikke moderator på dette kursus!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>Moderator:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>Rummet er optaget. Prøv igen senere.</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>Ellipse</value>
+  </string>
+  <string id="101" name="close">
+    <value>Luk</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>Forkerte data angivet</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>Brugernavnet skal indeholde mindst 4 tegn</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>Adgangskoden skal indeholde mindst 4 tegn</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>Brugernavnet anvendes i forvejen</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>Emailadressen anvendes i forvejen</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>Systemfejl, kontakt systemadministrator</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>Login</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>Brugernavn:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>Adgangskode:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>Sprog</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>Login</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>Registrering</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>Brugernavn:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>Adgangskode:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>Adgangskode igen:</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Fornavn:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Efternavn:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>Email:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>Land:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>Registrer</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>Annuller</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>Registrer</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>Forside</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>Brugere</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>Grupper</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>Organisationer</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>Konferencerum</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>Offentlig</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>Organisation</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>Log ind</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>Login</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>Adgangskode</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>Adgangskode igen</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Fornavn</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Efternavn</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>Email</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>Fødselsdato</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>Vej/nr</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>Postnr./By</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>Land</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Adresse-Info</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Brugerdata</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>Gem</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>Gem</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>Bruger-ID</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>Login</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>Fornavn</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>Efternavn</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>Vis næste</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>Vis forrige</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>Slet indhold</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>Annuller</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>Slet</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>Nyt indhold</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>Opdater indhold</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>Slet indhold</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>Status</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>Ikke tilgængelig</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>Tilgængelig</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>Organisation</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>Kalender</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>Luk</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>Organisation-ID</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>Navn</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>Bruger</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>Moderator</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>Admin</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>Brugerniveau</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>Organisation</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>Navn</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>Gem til organisation</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>Gem til organisation</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>Annuller</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>Gem</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>Fjern organisation</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>Brugere</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>Gem til brugere</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>Slet brugere</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>Gem til brugere</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>Søg brugere</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>søg</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>Brugere</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>Organisation</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>Log ind</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>Konferencerum</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>Konferencerum</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>Id</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>Navn</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>Offentlig</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>Organisationer</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>Konferencerum</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>Navn</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>Type</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>Offentlig</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>Kommentar</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>Gem og eksport</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>Upload</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>Gem som</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>Filnavn</value>
+  </string>
+  <string id="201" name="files">
+    <value>Filnavn</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>Annuller</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>Gem</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>Fejl</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>Gemmer</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>Objekter indlæst</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>Synkroniserer, vent:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>Indlæser billeddata</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>Synkroniserer, vent:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>Rens tegneområde</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>Rens tegneområde, alle data mistes</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Spørg inden indlæsning af fil</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>Send invitation</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>Send invitation</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>Emne</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Modtagere</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>Meddelelser</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Send</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>Annuller</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>Send</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>Brugerdata</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>Dit alias i denne konference</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>Alias</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>Fornavn</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>Efternavn</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>Email</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>Sprog</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>Log ind</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>Indlæser</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>Indlæser data, vent!</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>Forkert adgangskode</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>2 identiske adgangskoder med mindst 4 tegn, tak!</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>Forkert emailadresse</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>Du har angivet en forkert emailadresse</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>Registrering er fuldført</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>Din konto er oprettet. Du kan nu logge ind.</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>Du kan ikke dele din skærm lige nu. En anden bruger funktionen lige nu.</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Deling forbudt</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Del din skærm</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Ringe båndbredde: Du kan ikke synkronisere din skærm. Frames bliver droppet. Hvis denne advarsel vises ofte kan du bede moderatoren om at sænke kvaliteten.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>Skærm af:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Male/tegne</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Dokument</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>Chat</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>Filer</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Medlemmer</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Download originalt dokument</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>Download PDF-dokument</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Indlæs præsentationen til whiteboard</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Konfiguration</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Træk dette objekt</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Ændre størrelse på dette objekt</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>af</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>Gå til første side</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>Gå til foregående side</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>Gå til næste side</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>Gå til sidste side</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Zoom --</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Zoom ++</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>Hr.</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Fr.</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Konfiguration</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>Nøgle</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Konfiguration</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>Nøgle</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>sidste opdatering</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>opdateret af</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>kommentar</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>nøgle</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>af</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>Brugere</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>slet brugere fra organisationen</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>slet</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>Denne bruger er allerede medlem af organisationen.</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>Nyheder</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Hurtige genveje</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Gå til Konference</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Gå til Auditorium</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Hjælp og support</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>Anmeld bugs</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>mere</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Projekt Webside (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>Bruger mailliste (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Husk dit login</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Indhold</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>Min forside</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>Mine skemalagte møder</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>Mine planlagte Auditorier</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Offentlige møder</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Private møder</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Offentlige Auditorier</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Private Auditorier</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Offentligt indhold</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Privat indhold</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Personligt indhold</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value/>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Moderering</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>Anmod om moderering</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Afstemning</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Vælg en fil</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Indstillinger</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Cam. &amp; Mik. Indstil.</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Whiteboard Indstillinger</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Afslut</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Forlad rummet</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Log af</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Glemt din adgangskode?</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>Nulstil adgangskode</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>Via email</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>Via brugernavn</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>Din emailadresse</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>Dit brugernavn</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Send email med aktiveringslink</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>Brugere</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Indsæt venligst emailadresse eller brugernavn</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>Ingen bruger er forbundet med dette brugernavn</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>Emailen med det specielle link er blevet sendt til din emailadresse. Kontroller venligst din indbakke. Hvis du ikke har modtaget en email, bedes du kontrollere dint SPAM-filter og genfremsende emailen fra systemet.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Fejl</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Meddelelse</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>Forkert HASH. Ingen bruger fundet.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Nulstil din adgangskode</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Login</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>Ændre adgangskode</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>Ny adgangskode</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>Adgangskode igen</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>Adgangskoderne du har angivet er ikke identiske.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>4 tegn eller mere; forskel på små og store bogstaver!</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>Adgangskode valgt. Du kan logge ind nu.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Ukendt fejl. Rapporter venligst til dine support muligheder.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>Brugernavnet blev ikke fundet.</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Ugyldig adgangskode.</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Du er nu logget ud.</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Registrering via loginside (frontend) er inaktiveret.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>Ugyldig emailadresse.</value>
+  </string>
+  <string id="340" name="registration">
+    <value>Filnavnet eksisterer i forvejen. Vælg venligst et andet filnavn.</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>Filnavnet er for kort.</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>Kunne ikke gemme adressen.</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>Bruger oprettet, men skal tildeles til en organisation for at kunne logge ind.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>Nyt felt</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>Der er ikke fundet et felt med dette feltID.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>Der er ikke fundet en etiket til dette felt.</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Admin autorisation er krævet.</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Sprogeditor</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Sprog</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>Etiket-ID</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Etiket-Navn</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Værdi</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Feltværdi</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>EtiketNavn</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>EtiketVærdi</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>Etiket-ID</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>Du slettede kun etiketten, IKKE Feltet! Du kan ikke slettet feltet, det indeholder måske etiketter på andre sprog.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>Ugyldig Etiket-ID. FieldLanguagesvalues_Id kan ikke findes i databasen.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>Du kan ikke slette dette felt. Du kan kun slette etiketter, IKKE Felt. I øjeblikket er der ikke indlæst etiketter, dette kan skyldes, at ingen etiket er valgt eller defineret for dette felt og sproget.</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>Eksporter</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>Du skal logge ud for at kunne se ændringer.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Tilføj nyt sprog</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>Fjern sprog</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Tilføj nyt sprog</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Navn</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>Tilføj sprog</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Sikkerhedskopier</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>Gå til første</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>Gå til foregående</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>Gå til næste</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>Gå til sidste</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>Bruger taler (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>LYD til/fra</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>System</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>Dine indstillinger</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>Hej,</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Rediger profil</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>Nye meddelelser:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Indlæs nyt billede</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Brugerdata - Exporter</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>Alla organisationer skal eksistere i forvejen!</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>Start eksporteringen</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>Ifølge organisation</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>Start eksporteringen</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Brugerdata - Importer</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>Vælg users.xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>Importer</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Eksporter til XML - Disse filer kan bruges til: - Bidrage til projektet - Importere til et andet system - Lave sikkerhedskopier - Skræddersy programmet - Lægge i language-mappen for kommende installationer</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Vælg en sprogfil du vil importere. Husk at vælge den rigtige sprogfil fra combokoksen! Sprog filen vil blive importeret til dette sprog uafhængigt af navnet på filen.</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>Importer - vælg fil</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Gem som</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Navn:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>Kommentar:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>Gem</value>
+  </string>
+  <string id="395" name="record">
+    <value>Optagelser</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Optagelser/fremviser</value>
+  </string>
+  <string id="397" name="record">
+    <value>Optagelser fra offentlige og private rum</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>Brugere:</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>Tlsluttede:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value/>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Brugere i dette rum:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>Opdater</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>Dette rum er optaget. Forsøg igen om nogle få minutter.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>Klik på et rum for at få flere detaljer</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Chat med brugere i dette rum:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Rum:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Brugere i dette rum:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>Siden:</value>
+  </string>
+  <string id="409" name="record">
+    <value>Afspil optagelse</value>
+  </string>
+  <string id="410" name="record">
+    <value>Længde:</value>
+  </string>
+  <string id="411" name="record">
+    <value>Dato:</value>
+  </string>
+  <string id="412" name="record">
+    <value>Optagelsestilstand! Du kan ikke ændre nogen værdier. Dette er en indspillet fil!</value>
+  </string>
+  <string id="413" name="record">
+    <value>Afspil denne optagelse</value>
+  </string>
+  <string id="414" name="record">
+    <value>Afspil / Pause</value>
+  </string>
+  <string id="415" name="record">
+    <value>Påbegynd optagelse</value>
+  </string>
+  <string id="416" name="record">
+    <value>Stop optagelse</value>
+  </string>
+  <string id="417" name="record">
+    <value>Optagelse:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>Der er allerede nogen der optager i øjeblikket:</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Optagelse! Af bruger:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>Annuller</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>Optagelsen vil blive afbrudt og gemmes ikke.</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>Genoptag</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Luk dette vindue og genoptag optagelsen</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>Ændre linjefarve</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Vælg farve</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Inaktiver / aktiver linjefarve</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>Ændre fyldfarve</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>Inaktiver / aktiver fyldfarve</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Ændre linjebredde</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>Luk</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>Ændre font størrelse</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>Slet optagelse</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Gæst</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>Af:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Navn</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Rum</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Dato</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>Annuller</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>Start</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Navn</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Dato</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>Slet serverens Chat-log</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>Chat</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>Send meddelelse</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Emotikoner</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>Emotikoner</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Vælg enheder</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Lyd og video</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>Kun lyd</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>Kun video</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>Ingen lyd/video (statisk billede)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>Ingen Lyd/Video vil blive publiceret. I stedet vil et billede fra din profil blive vist. Vælg denne indstilling, hvis du har en dårlig båndbredde.</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>MA</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>TI</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>ON</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>TO</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>FR</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>LØ</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>SØ</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>Mandag</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Tirsdag</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Onsdag</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Torsdag</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Fredag</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Lørdag</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Søndag</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>KU</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Kalender uge</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>Januar</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>Februar</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>Marts</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>April</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>Maj</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>Juni</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>Juli</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>August</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>September</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>Oktober</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>November</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>December</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Kalender</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Deltagere</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Vis Layout indstillinger</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Bredde | Højde</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Video-container</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Moderator-container</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Whiteboard-container</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Aktiveret</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Bredde | Højde</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Filer, Chat, Deltagere - container</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Aktiveret</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Bredde | Højde</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>Moderatoren har forladt rummet. I øjeblikket er der ikke nogen som præsenterer noget. Du kan ansøge om at blive moderator eller vente.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>Der er ikke nogen moderator i dette rum, men der er nogen deltagere. Du kan ansøge om at blive moderator eller vente.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>Feedback $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Invitation</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Meddelelse fra bruger:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Meddelelse:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Klik på dette link for at deltage i mødet:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Klik her for at gå til rummet.</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>Hvis du har problemer med at åbne genvejen (link), bedes du kopiere genvejen og indsætte denne i din webbrowser:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME registrering</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>Dine brugerdata:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Login:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Adgangskode:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>Email:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME - Teamet</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME registrering</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - Nulstil adgangskode</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Klik på den her genvej (link) for at indsætte ny adgangskode:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Klik her for at angive ny adgangskode</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>Hvis du har problemer med at åbne genvejen (link), bedes du kopiere genvejen og indsætte denne i din webbrowser:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>$APP_NAME nulstilling af adgangskode</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>Angiv venligst en gyldig dato, f.eks. 24.12.2009 (dd.mm.åååå)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Angiv venligst en gyldig emailadresse, f.eks navn@mail.dk</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Angiv venligst et gyldigt flydende nummer, f.eks. 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Angiv venligst et gyldigt nummer (Integer), f.eks. 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Angiv venligst et gyldigt telefonnummer, f.eks. +45 39151515</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Angiv venligst en gyldig tid, f.eks. 12:23 (tt:mm)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Adgangskodebeskyttet</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Adgangskode</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Gyldighedsstid</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Uendelig</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Periode</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>Engangs</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Gyldig fra og med:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Gyldig til:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Invitation til $APP_NAME</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>Ingen invitation tilgængelig med denne invitationskode.</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>Invitationen anvendes allerede. Den her type invitationer kan ikke genanvendes.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>Invitationskoden er ikke gyldig udenfor mødets start og slut tidspunkt. Kontroller venligst tidspunktet i den tilsendte mødeindkaldelse (email)</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Adgangskode:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Kontroller Adgangskode</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Ugyldig adgangskode!</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>Webbrowser</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Synkroniser lyd/video</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>Indlogningen var korrekt, men sessionen er ikke længere aktiv eller lagret på serveren. Prøv at logge ind igen efter du har fået et nyt SessionId.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>SessionId er ikke logget ind eller har ikke nogen administrationsrettigheder. SOAP Gateway kræver en bruger med administrationsrettigheder for at tilkoble nye brugere.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>Den her session er ikke koplet til nogen Remoteuser-Data. Enten blev den såkaldte SOAP-Gateway ikke indlæst før applikationen blev kørt eller der er anvendt et fejlagtigt Session-ID.</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>Optageren er fortsat i Beta-stadie!</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>x-aksel</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>y-aksel</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>b</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>bredde</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>højde</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Ændre gennemsigtghed (transparent)</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Åben browseren</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Luk browseren</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>Forbindelsen til serveren er er gået tabt. Du skal indlæse applikationen igen eller/og kontrollere din netværksforbindelse.</value>
+  </string>
+  <string id="557" name="557">
+    <value>Peger</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Synkroniserer</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Synkroniserer brugere, vent venligst</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Dovnload som SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Download som PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Download som JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Download som PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Download som TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Påmindelse:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Kategori:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Repetition:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>ingen</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Placering:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Start</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>Slut</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Titel:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Kommentar:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Inviter deltagere</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Daglig</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Måndelig</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Årlig</value>
+  </string>
+  <string id="578" name="alert">
+    <value>Mødets sluttidspunkt skal være efter dets begyndelse!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Tilføj en titel, tak!</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>Aktiver det her hvis du skriver på et højre til venstre sprog</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Skrivebord (Forside)</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Se optagelser fra møder og auditorier</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Møde - Opret en konference med 4 (op til 16) deltagere &lt;br&gt; alle vil have tilgang til lyd + video.</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Auditorium - Opret en konference med op til 200 deltagare&lt;br/&gt;Her er det kun moderatoren som har tilgang til lyd + video.</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Opret brugere, rum, organisationer&lt;br/&gt; + ændre konfigurationer</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Brugere i dette rum lige nu</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Login</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Indlæser dokument. Vent venligst til alle klienter er synkroniserede.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Indlæsning færdig, konverterer dokument...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Start indlæsning</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Dialog indlæsning og importering. Vælg venligst en fil fra din harddisk.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Annuller</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Vælg fil</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Forbindelser</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Værdi</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Login</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Tilsluttet siden</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Rum</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Udeluk bruger</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Udeluk brugere</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Vil du virkelig udelukke denne klient?&lt;br/&gt; Det her udelukker kun klienten fra det aktuelle rum. Vedkommende kan tilslutte sig igen.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Din session er blevet lukket af administratoren eller moderatoren.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Telefon</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>Brugeren er moderator i dette rum</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>Brugeren har tilladelse til at tegne på whiteboardet</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>Genstart lyd/video eller ændre indstillinger</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Tillad denne bruger at tegne på whiteboardet</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Fjern muligheden for at tegne på whiteboardet</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Brugere</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Filer</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Whiteboard</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Chat</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Din konto er tildelt til flere organisationer. Vælg venligst en til denne session.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>Dette rum er optaget i øjeblikket. Forsøg venligst igen senere.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Rumtyper</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Tidsbooket rum</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Servertid</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - Påmindelse</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Meddelelse fra bruger:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Meddelelse:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Klik på denne genvej (link) for at deltage i mødet:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Klik her for at gå ind i rummet</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>Hvis du har problemer med genvejen, bedes du kopiere denne genvej i stedet og indsætte i din webbrowser:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>Søg internt</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>eksterne brugere</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>fornavn</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>navn</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>email</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Bekræft at du logger af</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Er du sikker på at du vil logge af?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Aktioner</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Demo Rum</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Demo Tid</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Mødetimer</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>Dette rum er et demo rum. For at fjerne denne advarsel, skal du enten oprette et privat møderum eller sætte et op på din egen server. Du bliver automatisk loget ud om:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Modereret</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Vent venligst indtil moderatoren har tilsluttet sig rummet. Moderatoren kan enten være en lærer, instruktør, administrator eller den bruger som har oprettet rummet.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Ok</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Indkommende skærmdeling</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>En ny skærmdeling vil blive påbegyndt af brugeren:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Start deling</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Tilføj et nyt møde</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Møderum</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Auditorium</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Moderering</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Moderer brugere</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Moderer rum</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Vil du ændre denne bruger til at være moderator af denne organisation?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Vælg venligst en organisation før du forsøger at tilføje en bruger til den!</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Organisation - Moderator</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Vil du virkelig fjerne denne bruger fra organisationen?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>Denne bruger er moderator</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>Denne bruger er ikke moderator</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Vil du fjerne denne bruger som moderator fra organisationen?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Tilføj eller fjern brugere eller rum i din organisation</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Vil du virkelig fjerne denne?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Vil du virkelig fjerne denne bruger fra organisationen? Du vil kun fjerne tilslutningen mellem brugeren og organisationen. For at fjerne brugeren helt, skal du logge ind i administrationspanelet.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>Du kan ikke fjerne din egen bruger!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>Denne funktion/metode kræver en administrationskonto for at kunne kaldes!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>Der findes ingen session associeret med dette ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>Dette er en administrations- eller moderatorkonto. Du kan kun ændre denne konto via administrationspanelet.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>Klik venligst på flg. link eller kopier adressen til din webbrowsers adressefelt for at fuldføre registreringen.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Klik her for at verificere din emailadresse.</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Ingen brugere fundet med denne Hash-kode.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Denne bruger er allerede aktiveret!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Du har aktiveret din konto!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Log ind nu</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Din konto er ikke aktiveret. Anvend genvejen (link) i den email du modtog, da du registrerede dig.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>Du har nu registreret dig til systemet. Du har fået tilsendt en email med din verificeringskode. Kontroller venligst din indbakke.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Fjern denne bruger som moderator</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Tildel moderator rettigheder til denne bruger</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>Brugere</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Adgang til whiteboard</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Moderator</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Moderation: Vælg venligst en bruger fra listen for at give vedkommende adgang til whiteboard, moderation eller video.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>Denne bruger er allerede moderator, så han har automatiskt ret til at tegne.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>Dette er dig! Du kan ikke fjerne moderator rettighederne fra dig selv.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Tillad denne bruger at publicere lyd/video</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Fjern lyd/video fra denne bruger</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>Jeg vil være moderator for dette rum</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>Jeg vil tegne på whiteboardet</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>Jeg vil dele lyd/video</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>Du er moderator for dette rum</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>Du har tilladelse til at tegne på whiteboardet</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>Du har tilladelse til at publicere audio/video</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Meddelelse til moderatoren</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>Brugeren</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>vil have moderator rettigheder. Brug status ikonerne i brugerlisten for at tildele eller fjerne moderator rettigheder.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>vil tegne på whiteboardet. Brug status ikonerne i brugerlisten for at tildele eller fjerne rettigheder til at tegne på whiteboardet.</value>
+  </string>
+  <string id="695" name="695">
+    <value>vil publicere lyd/video. Brug status ikonerne i brugerlisten for at tildele eller fjerne rettigheder til publicering af lyd/video.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>Du skal vente til en moderator er trådt ind i rummet.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Annuller</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Gem</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Dag</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Måned</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>År</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Indlæs fil</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Tilføj mappe</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Opdater</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Papirkurv</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>Mine filer (Privat drev)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Rum filer (Offentligt drev)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Tilføj fil</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Tilføj mappe</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Slet mappe</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Ret navn</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>Ny mappe</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Er du sikker på at du vil slette dette emne?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Søg</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Søg</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Åben dokument</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Vis alle filer (Træstruktur)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Luk dokument</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Slet fil</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>Du har ikke tilladelse til at tegne på whiteboardet. Du skal være moderator eller som min. have rettigheder til at redigere Wwhiteboardet. Du må spørge moderatoren om han vil give dig rettigheder.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Dokument egenskaber</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Start klient (ekstern)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Start klient (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>En bruger vil dele sin skærm. Vil du se vedkommendes skærm?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>Du deler din skærm i øjeblikket. For at stoppe denne funktion (session) skal du klikke på stop knappen i klient programmet til deling af skærm.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>deling af skærm session</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>Du deler allerede din skærm!</value>
+  </string>
+  <string id="728" name="sharing client">
+    <value>Fremviser til deling af skærm</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Luk</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Fremviser til deling af skærm</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Klik på start for at dele din skærm</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Start deling af skærm</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Stop deling af skærm</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Vælg skærm område:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Ændre bredde</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>Deling af skærm sessionen er afsluttet!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Ændre højde</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X-Offset</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y-Offset</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Bredde:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Højde:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>Forbindelsen blev lukket af serveren</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Annuller</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Start ekstern</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>Hvis du lukker denne session helt vil du ikke være i stand til at genstarte fremviseren for denne session.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Bekræft lukning af fremviser sessionen.</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Del skærm</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Optag session</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Co-Browsing</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Ups, ... Firefox på Windows viser ikke Co-Browsing så godt. Brug venligst en anden browser for at bruge denne mulighed.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Forrige</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Næste</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Indlæs igen</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Hjem</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Indlæs</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Tilføj denne hjemmeside som standard hjemmeside i tilknytning til din profil.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Test indstillinger</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Kontroller mikrofon og kameraindstillinger inden du går ind i et rum ved at optage i et par sek. Du kan efterflg. se din optagelse for at kontrollere din lyd samt dit kamerabillede.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Vis ikke denne test igen</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Annuller</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Start konference</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Spørg ikke igen</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>OPTAG</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>AFSPIL</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>Du kan fortsætte uden at teste, hvis du ikke planlægger at publicere lyd og billede. Deltagere uden lyd og video kan stadig bruge whiteboard, dele skærm eller skrive chat meddelelser.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="767">
+    <value>Niveau (visning)</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Klik på start</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Start konference</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Start event</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Vælg rum</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Kontroller Setup</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Start konference</value>
+  </string>
+  <string id="774" name="start view">
+    <value>Sådan gør du:</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Start optagelse</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Vis ikke Audio / Video Test (optagelse) før du deltager i en konference</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Offentlige Rum</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Offentlige Rum er tilgængelige for alle brugere.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Private Rum</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Private Rum er kun tilgængelige for brugere i samme organisation.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>Mine rum</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Rum i dette afsnit er oprettet til privat brug. De er oprettet via kalenderen og har en start og slut dato. De vises kun i dette afsnit mens de er aktive (gyldige).</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>Du skal være moderator for at kunne gøre dette.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Ansøg om moderation</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Ansøg om whiteboard adgang</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Ansøg om kamera/mikrofon adgang</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>Denne sessions Hash-kode er allerede brugt. Du kan ikke bruge den 2 gange.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>START</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>LUK</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Vil du virkelg lukke? Du skal måske slette indlæste dokumenter, whiteboard og chat historie først.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Luk konference</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Rum</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Vælg rum til et møde</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>Der er en event i kalenderen som ikke er gemt. Gem den først eller fjern den.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Tilføj venligst min. 1 deltager til dit møde!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Vil du virkelig slette denne event?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Advarsel</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Tilføj event</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>dag</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>uge</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>måned</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Beskrivelse</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Deltagere</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME konferenceplatform. Klik på startknappen for at starte en konference med det samme eller gå til din kalender for at planlægge et møde.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Planlæg et møde</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>For at sætte en konference op, kan du tilføje en event i din kalender. For hver event der oprettes, vil der automatisk blive oprettet et konferencerum. Alle deltagere samt dig selv, vil få tilsendt en email med en genvej (link) til det pågældende konferencerum.&lt;br/&gt;&lt;br/&gt;Du kan vælge mellem forskellige rumtyper med forskellig layout og funktionalitet. Du kan også vælge mellem forskellige notificeringsmuligheder (email), som sendes for hver kalender event.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Behov for hjælp?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Begrænset</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Søg</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Tilføj</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>Ingen bruger valgt. Vælg venligst et emne fra listen først og klik på tilføj efterfølgende.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Tilføj deltager</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Gem</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Slet</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Event detaljer</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Default moderatorer</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Navn</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>Email</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Tilføj ny default moderator</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Er Super moderator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>Hvis rummet er modereret, vil brugere med moderator eller administrator niveau automatisk blive moderator hvis de går ind i rummet. Såfremt du ikke vil angive dette og kun vil lade en bestemt bruger blive moderator, skal du anvende default moderator valgmuligheden.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>En Super moderator er altid moderator, når vedkommende går ind i et rum og ingen kan fjerne moderator flaget fra vedkommende.</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Tildel Super moderator funk. til en bruger</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Fjern Super moderator funk. fra en bruger</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>Såfremt du tilføjer en organisation til et rum, er det kun brugere som er medlem af organisationen, som kan få adgang til pågældende rum (Dette er kun gyldigt hvis hvis isPublic flaget er sat til false!).</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Begrænsninger</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organisation</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Er du sikker?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Vil du virkelig slette dette emne? Du skal klikke på Gem knappen for at gemme ændringerne!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>Ingen bruger er valgt. Vælg først inden du tilføjer!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Tilføj ny default moderator</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Vil du tilføje Super moderator flaget for denne bruger? En Super moderator er ikke kun moderator i et rum, hvilket betyder at ingen andre moderatorer kan fjerne moderator flaget for denne bruger. Du mangler at gemme rum objektet for at gemme disse indstillinger!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Vil du fjerne Super moderator flaget for denne bruger?? Du mangler at gemme rum objektet for at gemme disse indstillinger!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>Denne bruger er en Super moderator. Du kan ikke fjerne moderator flaget fra en Super moderator!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Vil du virkelig slette denne fil/mappe?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Slet fil/mappe?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Fr.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Hr.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Egenskaber</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Vis musens position for brugerne</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Del lyd med SIP Appletten</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Del lyd med SIP og video med Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Fyldig</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>Se skærm</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>Brugeren</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>ønsker at dele sin skærm. Vil du se?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Luk</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>Sessionen blev lukket at den delende bruger!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>Ny deling af skærm</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimer</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximer</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Optagelse tidslinie</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>Mine optagelser</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Offentlige optagelser</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>INFO</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Navn</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Længde</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Dato</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>Af</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>Download</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>MAIN - Video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Optager</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>Du kan optage og dele din skærm samtidigt. For at gøre det muligt for andre at se din skærm, skal du bare klikke på Start knappen i toppen. For kun at optage sessionen er det nok at klikke på Start optagelse.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Start optagelse</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Stop optagelse</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download FLV-filen</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Rum</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Afspil</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>Brugeren har mikrofonen tilsluttet</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Stop deling</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Tillad bruger spørgsmål</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Slå fra for at forhindre at brugere kan forstyrre dig i dette rum. Effekten er, at knappen som anvendes til moderation ("Jeg har et spørgsmål") ikke vil være synlig.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Rettigheder</value>
+  </string>
+  <string id="882" name="flvrecording">
+    <value>Download som AVI</value>
+  </string>
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Rå skærmvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Kun lyd</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>Der har været fejl under processionen af optagelsen.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>Optagelsen er ikke klar til at blive set. Prøv venligst igen om et par minutter.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Optager meddelelse</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIP Applet er ikke klar</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP-konto indstillinger</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP for hver enkelt bruger. Du kan tilslutte eller afslutte SIP via administration &gt; konfiguration (Nøgle: enable_sip). SIP data for hver enkelt bruger bør blive oprettet automatisk.</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-Bruger</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Adgangskode</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>Login til SIP Gateway har fejlet. Du bør kontrollere autentifikations data fra din SIP-udbyder og SIP-onto data for hver enkelt bruger. Som administrator har du stadig mulighed for at logge ind og kontrollere konfigurationen. Som bruger eller moderator vil du blive blokeret med hensyn til interaktion.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>Login til SIP Gateway har fejlet. Kontakt support!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logger ind til SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logger ind til SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Vis Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log meddelelser fra sendingen af optagelses processen</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet meddelelse</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>SIP-Appletten er ikke klar. Accepter appletten og klik på OK!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Anmod om at blive moderator</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Gem møde ændringer</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>Mødet har været ændret. Vil du gemme disse ændringer? &lt;br/&gt;&lt;br/&gt;Alle deltagere til dette møde vil modtage en email med den opdaterede dato og tid (afhængig af notifikationstypen for dette møde).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>For at få adgang til andre optagelser skal du logge ind i $APP_NAME applikationen.</value>
+  </string>
+  <string id="910" name="interview video pod">
+  <value>Vælg bruger for denne video</value> 
+  </string>
+  <string id="911" name="interview video choose user">
+  <value>Bruge tilgængelige for denne Pod</value> 
+  </string>
+  <string id="912" name="interview info">
+  <value>Du er moderator i dette interview. Du kan bestemme hvem der taler i dette interview og du kan starte / stoppe optagelsen af denne session.</value> 
+  </string>
+  <string id="913" name="interview button recording">
+  <value>Start optagelse</value> 
+  </string>
+  <string id="914" name="interview button recording">
+  <value>Stop optagelse</value> 
+  </string>
+  <string id="915" name="interview error message">
+  <value>Optagelsen af interviewet er allerede startet.</value> 
+  </string>
+  <string id="916" name="interview error message">
+  <value>Optagelsen er allerede stoppet eller er ikke startet endnu.</value> 
+  </string>
+  <string id="917" name="interview recording message">
+  <value>Optagelsen af dette interview er allerede startet!</value> 
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>This is a Team-Room, you can send the Team-Moderator a message if you need help. You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>1) Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything! [Screen Sharing]</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+    <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">

+    <value>Publish</value>

+  </string>

+  <string id="1466" name="sharing client">

+    <value>Start Publish</value>

+  </string>

+  <string id="1467" name="sharing client">

+    <value>Stop Publish</value>

+  </string>

+  <string id="1468" name="sharing client">

+    <value>Host</value>

+  </string>

+  <string id="1469" name="sharing client">

+    <value>Publish App</value>

+  </string>

+  <string id="1470" name="sharing client">

+    <value>Publish Id</value>

+  </string>

+  <string id="1471" name="sharing client">

+    <value>Reduce the width of the SharingScreen before you try to move it left</value>

+  </string>

+  <string id="1472" name="sharing client">

+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>

+  </string>

+  <string id="1473" name="sharing client">

+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>

+  </string>

+  <string id="1474" name="sharing client">

+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>

+  </string>

+  <string id="1475" name="sharing client">

+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>

+  </string>

+  <string id="1476" name="sharing client">

+    <value>Please start Screen sharing to be able to publish it</value>

+  </string>

+  <string id="1477" name="sharing client">

+    <value>Moderator permission required to start recording</value>

+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>

+  <string id="1492" name="conference menu">

+    <value>Ask moderator to share your whiteboard</value>

+  </string>

+</language>
diff --git "a/WebContent/languages/deutsch \050studIP\051.xml" "b/WebContent/languages/deutsch \050studIP\051.xml"
new file mode 100644
index 0000000..ab19a8a
--- /dev/null
+++ "b/WebContent/languages/deutsch \050studIP\051.xml"
@@ -0,0 +1,4505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+          
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Konferenz</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>Meeting</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>Event</value>
+  </string>
+  <string id="4" name="settings">
+    <value>Einstellungen</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>Profil</value>
+  </string>
+  <string id="6" name="admin">
+    <value>Administration</value>
+  </string>
+  <string id="7" name="stop">
+    <value>Stop</value>
+  </string>
+  <string id="8" name="record">
+    <value>Aufnahme</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>Keine Datei vorhanden</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>Aufnahme nur für Moderatoren verfügbar</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>verbundene Teilnehmer:</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>Konferenz starten</value>
+  </string>
+  <string id="13" name="myname">
+    <value>Mein Name</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>Videokonferenz</value>
+  </string>
+  <string id="15" name="import">
+    <value>Datei importieren</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>Liste neu laden</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>Zum Hauptverzeichnis</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>Neue Umfrage</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>Neue Umfrage für die Sitzung.</value>
+  </string>
+  <string id="20" name="question">
+    <value>Frage:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>Umfragenart:</value>
+  </string>
+  <string id="22" name="create">
+    <value>Anlegen</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>Info: Jeder Teilnehmer erhält eine Nachricht mit der neuen Umfrage.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>Umfrage anlegen</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>Abbrechen</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>Ja/Nein</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>Numerisch 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>Umfrage</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>Sie müssen Moderator dieser Sitzung sein, um eine Umfrage anzulegen.</value>
+  </string>
+  <string id="30" name="vote">
+    <value>Ihr Stimme wurde abgegeben.</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>Sie haben für diese Umfrage bereits ihr Votum abgegeben.</value>
+  </string>
+  <string id="32" name="voting">
+    <value>Abstimmen!</value>
+  </string>
+  <string id="33" name="answer">
+    <value>Ihre Antwort:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>Ja</value>
+  </string>
+  <string id="35" name="no">
+    <value>Nein</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>will wissen:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>Umfrageergebnisse</value>
+  </string>
+  <string id="38" name="question">
+    <value>Frage:</value>
+  </string>
+  <string id="39" name="results">
+    <value>Antworten:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>Ergebnis:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>Zur Zeit liegen keine offenen Umfragen vor.</value>
+  </string>
+  <string id="42" name="votings">
+    <value>Abstimmen!</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>Meeting (max 4 Plätze)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>Konferenz (max 50 Plätze)</value>
+  </string>
+  <string id="45" name="type">
+    <value>Modus</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>verbleibende Plätze</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>Bereits vergeben</value>
+  </string>
+  <string id="48" name="enter">
+    <value>Eintreten</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>Der Moderator hat den Raum verlassen.</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>Systemnachricht</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>Geräteauswahl</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Kamera wählen:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>Mikrofon wählen:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>Ok</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>Abbrechen</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>Sie müssen sich erneut verbinden damit die Änderungen wirksam werden.</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>Einstellungen ändern.</value>
+  </string>
+  <string id="58" name="course">
+    <value>Kurs:</value>
+  </string>
+  <string id="59" name="language">
+    <value>Kurssprache:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>Ok</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>Abbrechen</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>Zeichenbrett leeren</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Zeichenbrett leeren, bevor ein neues Bild hinzugefügt wird.</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>Nicht nochmal fragen</value>
+  </string>
+  <string id="65" name="no">
+    <value>Nein</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>Einstellungen bearbeiten</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Bestätigung anfordern, bevor das Zeichenbrett geleert wird.</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>Profil</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>Zeichenbrett leeren</value>
+  </string>
+  <string id="70" name="undo">
+    <value>Rückgängig</value>
+  </string>
+  <string id="71" name="redo">
+    <value>Wiederherstellen</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>Markieren</value>
+  </string>
+  <string id="73" name="text">
+    <value>Text</value>
+  </string>
+  <string id="74" name="paint">
+    <value>Frei zeichnen</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>Linien zeichnen</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>Unterstreichen</value>
+  </string>
+  <string id="77" name="rect">
+    <value>Rechteck</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>Kreis</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>Pfeil</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>Löschen</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>Moderationsrecht beantragen</value>
+  </string>
+  <string id="82" name="apply">
+    <value>Beantragen</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>Abbrechen</value>
+  </string>
+  <string id="84" name="mod">
+    <value>Moderator werden</value>
+  </string>
+  <string id="85" name="close">
+    <value>Schließen</value>
+  </string>
+  <string id="86" name="italic">
+    <value>Kursiv</value>
+  </string>
+  <string id="87" name="bold">
+    <value>Fett</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>Warte</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>Ein Teilnehmer erbittet Moderationsrechte.</value>
+  </string>
+  <string id="90" name="accept">
+    <value>Annehmen</value>
+  </string>
+  <string id="91" name="reject">
+    <value>Ablehnen</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>Abbrechen</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>Sende Anfrage an folgende Teilnehmer</value>
+  </string>
+  <string id="94" name="accept">
+    <value>bestätigt</value>
+  </string>
+  <string id="95" name="reject">
+    <value>abgelehnt</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>Ändere Moderator</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>Sie sind nicht der Moderator dieser Sitzung</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>Moderator:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>Dieser Raum ist voll. Bitte versuchen Sie es zu einem späteren Zeitpunkt nochmals.</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>Kreis</value>
+  </string>
+  <string id="101" name="close">
+    <value>Schließen</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>Eingabefehler</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>Der Benutzername muss mindestens 4 Zeichen lang sein</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>Das Passwort muss mindestens 4 Zeichen lang sein</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>Der Benutzername ist bereits vergeben</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>Die E-Mail ist bereits registriert</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>Ein Fehler ist aufgetreten. Bitte kontaktieren Sie den Administrator.</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>Login</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>Benutzer/E-Mail:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>Passwort:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>Sprache</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>Einloggen</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>Registrieren</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>Teilnehmer:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>Passwort:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>Wiederhole:</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Vorname:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Nachname:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>E-Mail:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>Land:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>Registrieren</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>Abbrechen</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>Registrieren</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>Home</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>Teilnehmer</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>Gruppen</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>Organisationen</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>Konferenzräume</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>Öffentlich</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>Organisation</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>Betreten</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>Teilnehmer</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>Passwort</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>Wiederholen</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Vorname</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Nachname</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>E-Mail</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>Geburtstag</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>Straße/Nr.</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>PLZ/Stadt</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>Land</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Adressinfo</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Benutzerdaten</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>Speichern</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>Speichervorgang</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>Benutzer-ID</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>Login</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>Vorname</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>Nachname</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>Vorwärts</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>Zurück</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>Datensatz entfernen</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>Abbrechen</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>Enfernen</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>Datensatz anlegen</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>Datensatz neu laden</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>Datensatz entfernen</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>Status</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>gesperrt</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>aktiv</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>Organisationen</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>Kalender</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>Schließen</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>Organisations-ID</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>Name</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>Teilnehmer</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>Moderator</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>Admin</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>Rechtegruppe</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>Organisation</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>Name</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>Organisation hinzufügen</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>Organisation hinzufügen</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>Abbrechen</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>Hinzufügen</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>Organisation entfernen</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>Teilnehmer</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>Teilnehmer hinzufügen</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>Teilnehmer entfernen</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>Teilnehmer hinzufügen</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>Teilnehmer suchen</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>Suchen</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>Teilnehmer</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>Organisation</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>Auswählen</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>Konferenzräume</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>Konferenzräume</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>ID</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>Name</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>öffentlich</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>Organisationen</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>Konferenzräume</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>Name</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>Typ</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>Öffentlich</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>Kommentar</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>Speichern</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>Öffnen</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>Speichern unter</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>Dateiname</value>
+  </string>
+  <string id="201" name="files">
+    <value>Dateiname</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>Abbrechen</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>Speichern</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>Fehler</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>Laden</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>Objekte geladen</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>Synchronisiere Teilnehmer. Restliche Teilnehmer:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>Lade Bilddaten</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>Synchronisiere Teilnehmer. Restliche Teilnehmer:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>Zeichenbrett leeren</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>Zeichenbrett leeren. Alle bisherigen Änderungen gehen damit verloren!</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Bestätigung vor dem Laden einer Datei anfordern.</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>Einladung versenden</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>Einladung versenden</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>Betreff</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Empfänger</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>Nachricht</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Abschicken</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>Abbrechen</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>Senden</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>Benutzerdaten</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>Nickname für diese Konferenz</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>Spitzname/Alias</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>Vorname</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>Nachname</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>E-Mail</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>Sprache</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>Absenden</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>Laden</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>Daten werden geladen. Bitte warten!</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>Falsches Passwort</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>Bitte geben Sie das Passwort zweimal ein. Länge: mindestens 6 Buchstaben.</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>Ungültige E-Mail</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>Die angegebene E-Mail-Adresse ist ungültig</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>Registration abgeschlossen</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>Ihr Zugang wurde angelegt. Sie können sich nun einloggen.</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>Sie können Ihren Bildschirm im Moment nicht freigeben. Diese Funktion wird aktuell bereits von einem anderen Sitzungsteilnehmer genutzt.</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Veröffentlichung abgelehnt</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Desktop freigeben</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Schlechte Bandbreite. Es war nicht möglich alle Bilder des Bildschirms zu laden. Tritt dieser Fehler häufiger auf können Sie den Moderator darum bitten, die Qualität zur verringern.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>Bildschirm von:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Zeichnen</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Dokumente</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>Chat</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>Dateien</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Teilnehmer</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Orginaldatei herunterladen</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>PDF-Dokument herunterladen</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Präsentation in Zeichenbrett laden</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Konfiguration</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Objekt verschieben</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Objekt vergrößern/verkleinern</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>von</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>zur ersten Seite springen</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>zur vorherigen Seite springen</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>zur nächsten Seite springen</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>zur letzten Seite springen</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Zoom --</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Zoom ++</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>Herr</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Frau</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Konfiguration</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>Schlüssel</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Konfiguration</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>Schlüssel</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>Zuletzt bearbeitet</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>Bearbeitet von</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>Kommentar</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>Schlüssel</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>von</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>Teilnehmer</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>Teilnehmer aus Organisation entfernen</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>Löschen</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>Dieser Teilnehmer ist bereits Teil dieser Organisation.</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>Neuigkeiten</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Quicklinks</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Zu den Konferenzräumen (max. 4 Teilnehmer)</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Zu den Eventräumen (unbegrenzte Zuschauer)</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Hilfe und Support</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>Fehler melden!</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>Mehr</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Projekt im Netz (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>Mailing Liste Teilnehmer (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Login merken</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Dateien</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>Meine Übersicht</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>Meetings planen</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>Meine Events</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Öffentliche Meetings</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Private Meetings</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Öffentliche Events</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Private Events</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Öffentliche Dateien</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Private Dateien</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Persönliche Dateien</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value></value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Moderation</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>Moderationsrecht anfordern</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Umfrage</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Datei auswählen</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Einstellungen</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Kamera-/Mikrofon-Einstellungen</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Zeichenbrett-Einstellungen</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Verlassen</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Zurück zur Raum-Übersicht</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Abmelden</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Passwort zurücksetzten?</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>Passwort zurücksetzen</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>Bei E-Mail</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>Bei Login</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>E-Mail</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>Login</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Dateien</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>E-Mail mit Reset-Link versenden</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Geben Sie bitte entweder eine E-Mail oder einen Login an.</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>Es existiert kein Teilnehmer mit diesem Namen.</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>Die E-Mail mit dem dazugehörigen Link wurde an Ihre E-Mail-Adresse gesandt. Bitte überprüfen Sie Ihren Posteingang. Falls Sie immer noch keine E-Mail erhalten haben, korrigieren Sie bitte Ihre Spam-Einstellungen und senden Sie die E-Mail nochmals.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Fehler!</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Nachricht</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>Ungültiger Hash.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Passwort zurücksetzen</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Login</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>Passwort ändern</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>Neues Passwort</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>Passwort wiederholen</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>Die von Ihnen angegebenen Passwörter sind nicht identisch.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>4 oder mehr Buchstaben. Groß- und Kleinschreibung beachten!</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>Passwort gespeichert. Sie können sich nun damit einloggen.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Fehler! Bitte wenden Sie sich an die Mitarbeiter der Koordinationsstelle E-Learning unter elearning@uni-trier.de.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>Benutzername nicht gefunden</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Ungültiges Passwort</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Erfolgreich ausgeloggt</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Registrierung ist ausgeschaltet.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>Ungültige E-Mail-Adresse</value>
+  </string>
+  <string id="340" name="registration">
+    <value>Dieser Dateiname wird schon verwendet. Bitte geben Sie einen anderen an.</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>Dateiname zu kurz</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>Adresse konnte nicht gespeichert werden.</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>Benutzer hinzugefügt. Vergessen Sie nicht diesem Benutzer auch eine Organisation hinzuzufügen. Benutzer ohne Organisation können sich nicht einloggen.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>Neuer Datensatz</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>Es konnte kein Feld zu dieser ID ermittelt werden.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>Es konnte kein Label für diese ID ermittelt werden.</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Sie müssen Administrator sein, um diese Aktion auszuführen.</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Sprach-Editor</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Sprache</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>Label-ID</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Label-Name</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Wert</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Feldwerte</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>LabelName</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>LabelWert</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>Label-ID</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>Sie haben nur das Label gelöscht nicht das Feld! Das Feld könnte noch Referenzen in anderen Sprachen beinhalten.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>Ungültige Labelid. FieldLanguagesvalues_Id kann in der Datenbank nicht gefunden werden.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>Sie können dieses Feld nicht löschen. Sie können nur Labels, nicht aber Felder löschen. Zur Zeit ist kein Label geladen, entweder ist kein Feld ausgewählt oder es gibt kein Label in dieser Sprache für das Feld.</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>Exportieren</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>Sie müssen sich neu anmelden, um Änderungen zu sehen.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Neue Sprache anlegen</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>Sprache löschen</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Neue Sprache anlegen</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Name</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>Sprache anlegen</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Sicherung</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>Zum Ersten</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>Zum Letzten</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>Zum Nächsten</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>Zum Letzten</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>Teilnehmer spricht (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>Sound an/ausschalten</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>Übersicht</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>Ihr Profil</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>Hallo,</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Profil bearbeiten</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>Ungelesene Nachrichten:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Bild ändern</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Benutzerdaten - Exportieren</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>Alle Organisationen müssen bereits vorhanden sein!</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>Starte Export</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>Nach Organisation</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>Starte Export</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Benutzerdaten - Import</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>Wählen Sie users.xml aus</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>importiere</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Exportiere als XML - Diese Dateien können benutzt werden als: Beitrag zum Projekt - Import in ein anderes System - Sicherung - kundenspezifische Anpassung - Ablage im Sprachverzeichnins für Ihre nächste Installation.</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Wählen Sie eine Sprachdatei für den Import aus. Wählen Sie die passende Sprache aus der Combobox! Egal welchen Namen die Datei hat, sie wird in diese Sprache importiert!</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>Import - Wählen Sie eine Datei aus</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Speichern unter</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Name:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>Kommentar:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>Speichern</value>
+  </string>
+  <string id="395" name="record">
+    <value>Aufnahmen</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Aufnahmen ansehen</value>
+  </string>
+  <string id="397" name="record">
+    <value>Aufnahmen aus allen Räumen</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>Teilnehmer:</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>Mitglied seit:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Teilnehmer in diesem Raum:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>Neu laden</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>Dieser Raum ist voll. Bitte versuchen Sie es später noch einmal.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>Wählen Sie einen Raum aus, um Details zu erhalten.</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Chatten Sie mit Teilnehmern in diesem Raum:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Raum:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Teilnehmer in diesem Raum:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>Seit:</value>
+  </string>
+  <string id="409" name="record">
+    <value>Aufnahme abspielen</value>
+  </string>
+  <string id="410" name="record">
+    <value>Länge:</value>
+  </string>
+  <string id="411" name="record">
+    <value>Datum:</value>
+  </string>
+  <string id="412" name="record">
+    <value>Aufnahme! Sie können hier nichts mehr ändern ...</value>
+  </string>
+  <string id="413" name="record">
+    <value>Aufnahme abspielen</value>
+  </string>
+  <string id="414" name="record">
+    <value>Abspielen / Pause</value>
+  </string>
+  <string id="415" name="record">
+    <value>Aufnahme starten</value>
+  </string>
+  <string id="416" name="record">
+    <value>Aufnahme beenden</value>
+  </string>
+  <string id="417" name="record">
+    <value>Aufnahmen:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>Die Aufnahme ist bereits gestartet.</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Aufnahme gestartet! Von Teilnehmer:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>Abbrechen</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>Aufnahme wird abgebrochen und nicht gespeichert.</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>Fortsetzen</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Aufnahme fortsetzen</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>Linienfarbe ändern</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Farbe auswählen</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Randfarbe de/aktivieren</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>Füllfarbe ändern</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>Füllfarbe de/aktivieren</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Linienstärke ändern</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>Schließen</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>Schriftgröße anpassen</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>Aufnahme löschen</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Gäste</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>Von:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Name</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Raum</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Datum</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>Abbrechen</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>Start</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Name</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Datum</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>Chatlog löschen</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>Chat</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>Nachricht abschicken</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Emoticons</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>Emoticons</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Wählen Sie die Geräte aus:</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Ton und Video</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>nur Ton(Mikrofon)</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>nur Video(Webcam)</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>kein Video/Ton (nur Profil-Bild)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>Kein Video/Ton veröffentlichen. Wählen Sie diese Einstellung wenn die verfügbare Bandbreite sehr niedrig ist.</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>MO</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>DI</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>MI</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>DO</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>FR</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>SA</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>SO</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>Montag</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Dienstag</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Mittwoch</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Donnerstag</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Freitag</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Samstag</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Sonntag</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>KW</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Kalenderwoche</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>Januar</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>Februar</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>März</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>April</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>Mai</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>Juni</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>Juli</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>August</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>September</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>Oktober</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>November</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>Dezember</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Kalender</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Teilnehmerzahl</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Zeige Layouteinstellungen</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Breite | Höhe</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Video-Container</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Moderations-Container</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Whiteboard-Container</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Enabled</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Breite | Höhe</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Dateien-, Chat-, Teilnehmer-Container</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Aktiv</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Breite | Höhe</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>Der Moderator hat den Raum verlassen. Sie müssen die Moderation beantragen wenn Sie auf das Zeichenbrett zeichnen wollen.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>Es gibt momentan keinen Moderator in diesen Raum. Sie müssen die Moderation beantragen oder warten.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>Feedback $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Einladung</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Nachricht von Teilnehmer:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Nachricht:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Klicken Sie auf diesen Link, um in den Raum zu gelangen:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Klicken Sie hier</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>Wenn der Link fehlerhaft dargestellt wird, kopieren Sie bitte folgenden Link in die Adresszeile ihres Browsers:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME Registrierung</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>Ihre Benutzerdaten:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Login:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Pass:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>E-Mail:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME-Team</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME Registrierung</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - Passwort zurücksetzen</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Klicken Sie hier, um ein neues Passwort einzugeben:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Klicken Sie hier</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>Wenn der Link fehlerhaft dargestellt wird, kopieren Sie bitte folgenden Link in die Adresszeile Ihres Browsers:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>$APP_NAME Password Reset</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>Bitte geben Sie ein gültiges Datum an, zum Beispiel 24.12.2001 (dd.mm.yyyy)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Bitte geben Sie eine gültige E-Mail an, zum Beispiel name@mail.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Bitte geben Sie eine Fließkommazahl an, zum Beispiel 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Bitte geben Sie eine Ganzzahl an, zum Beispiel 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Bitte geben Sie eine gültige Telefon-Nummer an, zum Beispiel ++49 0123 123123</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Bitte geben Sie eine gültige Uhrzeit an, zum Beispiel 12:23 (hh:mm)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Passwort geschützt</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Passwort</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Gültigkeit</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Immer</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Zeitspanne</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>Einmalig</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Gültig ab:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Gültig bis:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Einladung für diese Konferenz</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>Keine Einladung für diesen Code</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>Die Einladung ist nicht mehr gültig.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>Die Einladung ist nicht mehr gültig.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Passwort:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Passwort überprüfen</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Falsches Passwort!</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>Browser</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Ton/Video neu starten</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>Sitzung abgelaufen oder ungültig.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>SessionId ist nicht eingeloggt oder hat keine Administratorrechte. Das SOAP Gateway benötigt einen Benutzer mit Admin-Rechten um einen neuen Nutzer einzubetten.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>Diese Sitzung steht mit keiner Remoteuser-Data in Verbindung. Entweder haben Sie das SOAP-Gateway vor dem Zugriff auf die Anwendung nicht gerufen oder Sie benutzen die falsche Sitzungs-ID</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>Die Aufnahme von Meetings ist noch Beta!</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>x-Achse</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>y-Achse</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>w</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>Breite</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>Höhe</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Transparenz ändern</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Browser offen</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Browser geschlossen</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>Die Verbindung zum Server ist abgebrochen. Prüfen Sie ihre Netzwerk-Verbindung und starten Sie die Anwendung neu.</value>
+  </string>
+  <string id="557" name="557">
+    <value>Pointer</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Synchronisiere</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Teilnehmer werden synchronisiert, bitte warten Sie!</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Download als SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Download als PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Download als JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Download als PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Download als TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Erinnerung</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Kategorie</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Wiederholung</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>Keine</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Ort:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Start</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>Ende</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Titel:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Kommentar:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Jemanden einladen</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>täglich</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>monatlich</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>jährlich</value>
+  </string>
+  <string id="578" name="alert">
+    <value>Terminstart muss vor Terminende liegen!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Bitte geben Sie einen Titel an!</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>Aktivieren Sie die falls es sich um eine Eingabe einer Rechts-Nach-Links Sprache (arabisch, persich, hebräisch) handelt.</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Start</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Aufgenommene Konferenzen betrachten</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Meeting - Eröffnen Sie eine Konferenz&lt;br/&gt;</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Event</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Benutzer, Konfiguration und Verwaltung</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Teilnehmer in diesem Raum</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Einloggen</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Dokument wird geladen. Bitte warten Sie bis alle Teilnehmer synchronisiert wurden.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Dokument hochgeladen. Bitte warten Sie ab bis es importiert wurde ...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Starte Upload</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Wählen Sie zum Hochladen eine Datei von Ihrem PC aus. Zugelassene Dateiformate: .pdf, .jpg, .gif</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Abbrechen</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Datei auswählen</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Verbindungen</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Wert</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Login</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Verbunden seit</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Raum / Bereich</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Ausloggen</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Teilnehmeranbindung trennen</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Wollen Sie diesen Teilnehmer wirklich von dieser Verbingung trennen?&lt;br/&gt; Diese Maßnahme entfernt den Teilnehmer lediglich aus dem Raum. Der Teilnehmer kann sich wieder einloggen.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Ihre Sitzung wurde beendet.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Telefon</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>Teilnehmer ist Moderator dieses Raumes.</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>Teilnehmer hat keine Zugriffsrechte zum Zeichenbrett</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>Neu starten von Ton/Video oder Einstellungen ändern</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Diesem Teilnehmer den Zugang zum Zeichenbrett gewähren.</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Diesem Teilnehmer den Zugang zum Zeichenbrett verwehren.</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Teilnehmer</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Dateien</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Zeichenbrett</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Chat</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Ihr Benutzer-Profil ist Mitglied in mehreren Organisationen. Bitte wählen Sie eine für diese Sitzung.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>Der Raum ist im Moment voll. Bitte versuchen Sie es später noch einmal.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Raumtyp</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Termin Raum</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Server Zeit</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - Erinnerung</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Nachricht von Teilnehmer:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Nachricht:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Klicken Sie auf diesen Link um in den Raum zu gelangen:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Klicken Sie hier</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>Wenn der Link fehlerhaft dargestellt wird, kopieren Sie bitte folgenden Link in die Adresszeile Ihres Browsers:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>Suche intern</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>Externe Teilnehmer eingeben</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>Vorname</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>Name</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>E-Mail</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Abmeldung bestätigen</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Wollen Sie sich wirklich ausloggen?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Aktionen</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Demoraum</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Demo Zeit</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Meeting Zeitmesser</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>Dies ist ein Demo-Raum. Um diesen Hinweis abzuschalten sollten Sie entweder einen privaten Meeting-Raum für Ihren persönlichen Zweck aufsuchen oder Ihren eigenen Server anlegen. Sie werden automatisch ausgeloggt in:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Moderiert</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Bitte warten Sie, bis der Moderator dieser Sitzung den Raum betreten hat.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Ok</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Anfrage Bildschirmfreigabe</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>Eingehende Bildschirmfreigabe von Teilnehmer:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Starte Bildschirmfreigabe</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Füge ein neues Meeting hinzu</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Meeting Raum</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Event Room</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Moderation</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Moderiere Teilnehmer</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Moderiere Räume</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Wollen Sie diesem Teilnehmer die Moderationsrechte für die Organisation übertragen?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Bitte wählen Sie zuerst die Organisation aus bevor Sie einen Benutzer hinzufügen wollen!</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Organisation - Moderator</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Sind Sie Sicher, dass Sie diesen Teilnehmer aus der Organisation löschen möchten?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>Dieser Teilnehmer verfügt über Moderationsrechte</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>Dieser Teilnehmer verfügt über keine Moderationsrechte</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Wollen Sie diesem Teilnehmer die Moderationsrechte entziehen?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Räume innerhalb der Organisation hinzufügen oder löschen</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Wollen Sie diese Aufnahme wirklich löschen?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Wollen Sie diesen Teilnehmer aus Ihrer Organisation wirklich entfernen? Sie können nur die Verbindung zwischen dem Teilnehmer und Ihrer Organisation löschen , um den Teilnehmer zu löschen benötigen Sie Administrator-Rechte.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>Sie können Ihren eigenen Nutzeraccount nicht löschen!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>Diese Methode benötigt ein Administrator-Account um aufgerufen zu werden.</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>Es ist keine Sitzung mit dieser ID verbungen.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>Dies ist ein Administrator- oder Moderator-Account. Dieses Account können Sie nur mittels eines Administrator-Tableau bearbeiten.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>Um Ihre Registration abzuschließen klicken Sie bitte auf den folgenden Link. Oder kopieren Sie die URL(Link) in Ihre Browser-Adressleiste.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Klicken Sie um Ihre E-Mail zu bestätigen</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Es wurde kein Benutzer für diesen Hash gefunden.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Dieser Benutzer ist bereits aktiviert!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Sie haben Ihr Account erfolgreich aktiviert!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Jetzt einloggen</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Ihr Account ist nicht aktiviert. Benutzen Sie zuerst den Link in der E-Mail die Sie während der Registrierung erhalten haben.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>Sie haben sich erfolgreich angemeldet. Wir haben eine E-Mail mit einem Verifizierungscode an Ihre E-Mail-Adresse geschickt. Bitte überprüfen Sie Ihren Posteingang.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Diesem Teilnehmer die Moderationsrechte entziehen.</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Diesem Teilnehmer Moderatoionsrechte übertragen</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>Teilnehmer</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Zugang zum Zeichenbrett</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Moderator</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Zum Ändern der Bearbeitungsrechte wählen Sie den jeweiligen Teilnehmer bitte in der Liste aus.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>Dieser Teilnehmer besitzt Moderationsrechte, somit hat er auch bereits Zugriff auf das Zeichenbrett.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>Das sind Sie! Sie können Ihre eigenen Moderatorrechte nicht entfernen.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Audio-/Video-Beitrag dieses Teilnehmers zulassen.</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Audio/Video dieses Teilnehmers entfernen.</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>Ich würde gerne die Moderation dieses Raumes übernehmen.</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>Ich würde gerne auf dem Zeichenbrett zeichnen.</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>Ich würde gerne mein Audio/Video mit anderen teilen</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>Sie sind der Moderator dieses Raumes</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>Ihnen ist es erlaubt, auf dem Zeichenbrett zu zeichnen</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>Ihnen ist es erlaubt, Ihr Audio/Video mit anderen zu teilen</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Nachricht an den Moderator</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>Der Teilnehmer</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>würde gerne die Moderation übernehmen. Bitte benutzen Sie zur Rechtevergabe das entsprechende Symbol neben dem Benutzernamen in der Teilnehmerliste.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>würde gerne auf das Zeichenbrett zugreifen. Bitte benutzen Sie zur Rechtevergabe das Stift-Symbol neben dem Benutzernamen in der Teilnehmerliste.</value>
+  </string>
+  <string id="695" name="695">
+    <value>würde gerne sein Audio/Video mit anderen teilen. Benutzen Sie die Status-Symbole neben der Benutzerliste, um das Recht mit anderen Video/Audio zu teilen zu vergeben oder zu verwehren.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>Sie müssen warten bis der Moderator den Raum betritt.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Abbruch</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Speichern</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Tag</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Monat</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Jahr</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Datei hochladen</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Ordner hinzufügen</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Aktualisieren</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Papierkorb</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>Meine Dateien (persönliches Laufwerk)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Konferenzdokumente (öffentliches Laufwerk)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Datei hinzufügen</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Ordner hinzufügen</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Ordner löschen</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Name bearbeiten</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>Neuer Ordner</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Sind Sie sicher, dass Sie dieses Element löschen wollen?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Suche</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Suche</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Dokument öffnen</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Zeige alle Dateien (Baum Ansicht)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Dokument schließen</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Datei löschen</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>Es ist Ihnen nicht gestattet auf dem Zeichenbrett zu zeichnen. Sie müssen Moderator sein oder zumindest das Recht besitzen das Zeichenbrett zu bearbeiten. Sie können den Moderator nach den Rechten fragen.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Dokumenteigenschaften</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Starte Client (extern)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Starte Client (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>Ein Teilnehmer will seinen Desktop freigeben. Wollen Sie dies zulassen?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>Sie haben Ihren Desktop freigegeben. Wenn Sie die Freigabe beenden wollen drücken Sie die Anhalten-Schaltfläche im Desktop Sharer.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Geteilte Sitzung</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>Sie haben Ihren Desktop bereits freigegeben!</value>
+  </string>
+  <string id="728" name="sharing client">
+    <value>Desktop-Betrachter</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Beenden</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Desktop-Teiler</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Drücken Sie Start, um Ihren Desktop freizugeben</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Start</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Anhalten</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Wählen Sie einen Bildschirmbereich aus:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Breite ändern</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>Die Bildschirmfreigabe wurde beendet!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Höhe ändern</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X-Abstand</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y-Abstand</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Breite:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Höhe:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>Die Verbindung wurde vom Server abgebrochen.</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Abbrechen</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Extern starten</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>Wenn Sie diese Session schließen, können Sie die Session nicht wieder starten.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Sitzung wirklich schließen?</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Bildschirm freigeben</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Sitzung aufnehmen</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Geteiltes surfen</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Upsa, ... Firefox unter Windows ist nicht in der Lage, mangelfreies Co-Browsing zu gewährleisten. Bitte benutzen Sie einen anderen Browser um die Co-Browsing-Funktion zu nutzen.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Vorherige</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Nächste</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Nachladen</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Heim</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Laden</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Diese Webseite als vorgegebene Webseite zu meinem Profil hinzufügen.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Kamera und Mikrofoneinstellungen testen</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Überprüfen Sie Ihre Mikrofon- und Kameraeinstellungen bevor Sie einen Raum betreten und Aufzeichnungen durchführen. Sie können Ihre Aufnahmen im Nachhinein abspielen.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Dieses Fenster nicht wieder anzeigen</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Abbrechen</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Raum betreten</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Nicht wieder fragen</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>Aufnahme</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>Abspielen</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>Sie können auch ohne einen Test fortfahren, falls Sie beabsichtigen Audio und Video nicht in der Sitzung einzusetzen. In diesem Fall haben Sie dennoch Zugriff auf das Zeichenbrett, können ihren Desktop für andere freigeben oder die Chatfunktion nutzen.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>Stop</value>
+  </string>
+  <string id="767" name="767">
+    <value>Lautstärke</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Start drücken</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Konferenz starten</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Event starten</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Raum wählen</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Prüfe Setup</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Konferenz starten</value>
+  </string>
+  <string id="774" name="start view">
+    <value>Wie starte ich eine Konferenz</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Testaufnahme</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Audio-/Video-Test (Aufnahme) vor dem Betreten einer Konferenz nicht zeigen</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Öffentliche Räume</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Öffentliche Räume können von allen Teilnehmern betreten werden.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Gruppenräume</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Private Räume sind nur für Teilnehmer in der selben Organisation verfügbar.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>Private Räume</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Räume in diesem Bereich sind für den persönlichen Bedarf. Die Räume haben ein Start und Enddatum und stehen nur in diesem Zeitraum zur Verfügung.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>Sie müssen Moderator sein, um diese Aktion auszuführen.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Moderation beantragen</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Zeichenbrett beantragen</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Video/Mikrofon beantragen</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>Dieser SessionHasgh wird bereits genutzt. Er kann nicht zweifach vergeben werden.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>START</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>EXIT</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Wollen Sie die Konferenz wirklich verlassen? Vielleicht sollten Sie zuerst Dokumente, Zeichenbrett und Chat History leeren. Andernfalls werden die Dateien einfach in diesem Raum bis zu Ihrem nächsten Besuch bleiben.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Konferenz beenden</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Räume</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Wählen Sie einen Raum für die Konferenz aus</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>Es ist ein nicht gespeichertes Event im Kalender. Speichern Sie es oder löschen Sie es wieder.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Bitte fügen Sie mindestens einen Teilnehmer zum Event.</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Soll dieses Event wirklich aus dem Kalender gelöscht werden?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Warnung</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Neuer Event</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>Tag</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>Woche</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>Monat</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Beschreibung</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Teilnehmer</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, Ihre Web Konferenz Plattform. Entweder starten Sie sofort ein Meeting indem Sie den 1-2-3 Anweisungen folgen oder Sie benutzen den Kalender um eine Konferenz zu planen.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Konferenz planen</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>Um eine Konferenz zu planen können Sie einen Event im Kalender hinzufügen.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Brauchen Sie Hilfe?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Eingeschränkt</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Suche</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Ok</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>Es ist kein Benutzer ausgewählt. Wählen Sie zuerst einen Benutzer und drücken dann Ok.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Teilnehmer hinzufügen</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Speichern</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Löschen</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Event Details</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Default Moderators</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Name</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>E-Mail</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Neuen Default-Moderator hinzufügen</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Ist Super-Moderator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>In einem moderierten Raum sind Teilnehmer mit den Rollen Level-Moderator oder Administrator beim Betreten des Raums automatisch Moderatoren. Um dies abzuschalten, verwenden Sie die Funktion Default-Moderator.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>Der Super-Moderator ist beim Betreten eines Raums immer Moderator. Das Recht kann ihm im Raum nicht genommen werden.</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Nutzer Super-Moderatorrechte zuweisen</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Nutzer Super-Moderatorrechte aberkennen</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>Wenn eine Organisation einen Raum zugewiesen wird, haben nur Mitglieder der Organisation Zugang. (Dies gilt nur wenn die Einstellung isPublic auf false gesetzt wurde!)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Begrenzungen</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organisation</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Sind Sie sicher?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Wollen Sie den Wert wirklich löschen? Mit dem Speichern-Button ändern Sie die Einträge!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>Es wurde noch kein Teilnehmer ausgewählt. Sie müssen zuerst eine Person auswählen, um sie hinzufügen zu können.</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Neuen Default-Moderator hinzufügen</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Soll dieser Nutzer Super-Moderation werden? Super-Moderatorenrechte können nicht gelöscht werden. Zum Speichern der Einstellungen muss das Raumobjekt gespeichert werden!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Sollen die Super-Moderatorenrechte für diesen Nutzer aufgehoben werden? Zum Speichern der Einstellungen muss das Raumobjekt gespeichert werden!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>Dies ist ein Super-Moderator. Sie können die Moderationsrechte dem Nutzer nicht entziehen!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Wollen Sie wirklich diese Datei oder Ordner löschen?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Datei/Ordner löschen?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Fräulein</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Dr.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Eigenschaften</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Teilnehmern Mauszeiger anzeigen</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Share Audio with SIP Applet</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Share Audio with SIP and Video with Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Vollbild</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>Bildschirm zeigen</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>Der Teilnehmer</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>möchte seinen Desktop veröffentlichen. Stimmen Sie dem zu?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Schließen</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>Die Bildschirmfreigabe wurde beendet!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>Neuer Desktop verfügbar</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimieren</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximieren</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Video Zeitspur</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>Meine Aufnahmen</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Öffentliche Aufnahmen</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Name</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Länge</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Datum</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>Von</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>Download</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Haupt - Video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Aufnahmen</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>Sie können eine Bildschirmfreigabe starten oder die aktuelle Sitzung aufzeichnen. Sofern Sie Ihren Bildschirm nur für andere Teilnehmer freigeben wollen genügt es, den obigen Start-Button zu betätigen.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Aufnahme starten</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Aufnahme stoppen</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download FLV-File</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Raum</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>Teilnehmer hat das Mikrofon an</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Bildschirmfreigabe beenden</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Fragen von Teilnehmern zulassen</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Wenn Sie diese Option aktivieren ist die Schaltfläche zum beantragen der Moderation für andere Teilnehmer nicht sichtbar und Sie werden nicht in ihrem Vortrag gestört.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Rechte</value>
+  </string>
+  <string id="882" name="flvrecording">
+    <value>AVI runterladen</value>
+  </string>
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio only</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the Recording.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>The Recording is not yet ready for watching. Please retry in a couple of minutes again.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Recorder Message</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIP Applet is not Ready</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP-Account Settings</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP settings for each user. You can turn on or off SIP via the Administration &gt; Configuration (Key: enable_sip). The SIP data for each user should be created automatically. You can re-create the data by checking "Re-generate SIP Data"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. You should check the authentification data of your SIP-Provider and the SIP-Account Data for each User. As Administrator you are still able to login and check the Configuration. As User or Moderator you will be blocked from any interaction.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. Contact your Service Team!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet Message</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>The SIP-Applet is not ready. Accept the Applet please and click ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Moderation beantragen</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login the $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choose the User for this Video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>You are a Moderator in this Interview. You can decide who is speaking in this interview and you can start / stop the recording of the Session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Start Recording</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Stop Recording</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Löscht die Objekte der aktuellen Folie</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Bildschirmfreigabe erlauben</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>Teilnehmer ist Moderator und verfügt somit über alle Bearbeitungsfunktionen</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>möchte gerne den Bildschirm freigeben.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>Sie haben die Berechtigung zur Bildschirmfreigabe.</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Bildschirmfreigabe beantragen</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Berechtigung zur Bildschirmfreigabe.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Bearbeite Einstellungen</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Zeige keine Info-Box in der Remote Control über Kopieren und Einfügen</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Aktiviere Größenanpassung, sodass auf das ganze Whiteboard gezoomt wird&lt;br/&gt;und der Benutzer alle Dokumente sieht.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>entferne Benutzer</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Gesendet</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Gelöscht</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid for a period of time.</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Zeige Profil-Update-Nachricht nicht noch einmal</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+  <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Aktivitäten und Aktionen</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Lösche Whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value>has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+    <string id="1416" name="sign_up_validation">
+    <value>Bitte geben Sie eine EMail an</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>Neue Nachricht(en)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Kamera-Auflösung</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Die Kamera-Auslösung hat einen direkten Einfluss auf die verbrauchte Upload-Bandbreite!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">

+    <value>Publish</value>

+  </string>

+  <string id="1466" name="sharing client">

+    <value>Start Publish</value>

+  </string>

+  <string id="1467" name="sharing client">

+    <value>Stop Publish</value>

+  </string>

+  <string id="1468" name="sharing client">

+    <value>Host</value>

+  </string>

+  <string id="1469" name="sharing client">

+    <value>Publish App</value>

+  </string>

+  <string id="1470" name="sharing client">

+    <value>Publish Id</value>

+  </string>

+  <string id="1471" name="sharing client">

+    <value>Reduce the width of the SharingScreen before you try to move it left</value>

+  </string>

+  <string id="1472" name="sharing client">

+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>

+  </string>

+  <string id="1473" name="sharing client">

+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>

+  </string>

+  <string id="1474" name="sharing client">

+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>

+  </string>

+  <string id="1475" name="sharing client">

+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>

+  </string>

+  <string id="1476" name="sharing client">

+    <value>Please start Screen sharing to be able to publish it</value>

+  </string>

+  <string id="1477" name="sharing client">

+    <value>Moderator permission required to start recording</value>

+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>

+  <string id="1492" name="conference menu">

+    <value>Ask moderator to share your whiteboard</value>

+  </string>

+</language>
diff --git a/WebContent/languages/deutsch.xml b/WebContent/languages/deutsch.xml
new file mode 100644
index 0000000..cc396f8
--- /dev/null
+++ b/WebContent/languages/deutsch.xml
@@ -0,0 +1,5972 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+          
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Konferenz</value>
+  </string>
+
+  <string id="2" name="meeting">
+    <value>Meeting</value>
+  </string>
+
+  <string id="3" name="classroom">
+    <value>Event</value>
+  </string>
+
+  <string id="4" name="settings">
+    <value>Einstellungen</value>
+  </string>
+
+  <string id="5" name="benutzer">
+    <value>Profil</value>
+  </string>
+
+  <string id="6" name="admin">
+    <value>Administration</value>
+  </string>
+
+  <string id="7" name="stop">
+    <value>Stop</value>
+  </string>
+
+  <string id="8" name="record">
+    <value>Aufnahme</value>
+  </string>
+
+  <string id="9" name="nofile">
+    <value>Keine Datei vorhanden</value>
+  </string>
+
+  <string id="10" name="recordbyteacher">
+    <value>Aufnahme nur für Lehrer verfügbar</value>
+  </string>
+
+  <string id="11" name="connectedusers">
+    <value>verbundene Benutzer:</value>
+  </string>
+
+  <string id="12" name="startconf">
+    <value>Konferenz starten</value>
+  </string>
+
+  <string id="13" name="myname">
+    <value>Mein Name</value>
+  </string>
+
+  <string id="14" name="videoconference">
+    <value>Videokonferenz</value>
+  </string>
+
+  <string id="15" name="import">
+    <value>Datei importieren</value>
+  </string>
+
+  <string id="16" name="refreshfiles">
+    <value>Liste neu laden</value>
+  </string>
+
+  <string id="17" name="tomainfile">
+    <value>Zum Hauptverzeichnis</value>
+  </string>
+
+  <string id="18" name="newpoll">
+    <value>Neue Umfrage</value>
+  </string>
+
+  <string id="19" name="newpollheader">
+    <value>Eine neue Umfrage für die Konferenz.</value>
+  </string>
+
+  <string id="20" name="question">
+    <value>Frage:</value>
+  </string>
+
+  <string id="21" name="polltype">
+    <value>Umfragenart:</value>
+  </string>
+
+  <string id="22" name="create">
+    <value>Anlegen</value>
+  </string>
+
+  <string id="23" name="infomessage">
+    <value>Info: Jeder verbundene Benutzer erhält eine Nachricht mit der neuen Umfrage.</value>
+  </string>
+
+  <string id="24" name="creatpoll">
+    <value>Umfrage anlegen</value>
+  </string>
+
+  <string id="25" name="cancel">
+    <value>Abbrechen</value>
+  </string>
+
+  <string id="26" name="yesno">
+    <value>Ja/Nein</value>
+  </string>
+
+  <string id="27" name="numeric">
+    <value>Numerisch 1-10</value>
+  </string>
+
+  <string id="28" name="poll">
+    <value>Umfrage</value>
+  </string>
+
+  <string id="29" name="moderation">
+    <value>Sie müssen Moderator/Lehrer in diesem Raum sein, um eine Umfrage anzulegen.</value>
+  </string>
+
+  <string id="30" name="vote">
+    <value>Ihr Stimme wurde abgegeben.</value>
+  </string>
+
+  <string id="31" name="alreadyvoted">
+    <value>Sie haben für diese Umfrage bereits ihr Votum abgegeben.</value>
+  </string>
+
+  <string id="32" name="voting">
+    <value>Abstimmen!</value>
+  </string>
+
+  <string id="33" name="answer">
+    <value>Ihre Antwort:</value>
+  </string>
+
+  <string id="34" name="yes">
+    <value>Ja</value>
+  </string>
+
+  <string id="35" name="no">
+    <value>Nein</value>
+  </string>
+
+  <string id="36" name="questionwant">
+    <value>will wissen:</value>
+  </string>
+
+  <string id="37" name="pollresults">
+    <value>Umfrageergebnisse</value>
+  </string>
+
+  <string id="38" name="question">
+    <value>Frage:</value>
+  </string>
+
+  <string id="39" name="results">
+    <value>Antworten:</value>
+  </string>
+
+  <string id="40" name="answers">
+    <value>Ergebnis:</value>
+  </string>
+
+  <string id="41" name="nopoll">
+    <value>Es gibt zur Zeit keine Umfrage.</value>
+  </string>
+
+  <string id="42" name="votings">
+    <value>Abstimmen!</value>
+  </string>
+
+  <string id="43" name="meeting">
+    <value>Meeting (max 4 Plätze)</value>
+  </string>
+
+  <string id="44" name="conference">
+    <value>Konferenz (max 50 Plätze)</value>
+  </string>
+
+  <string id="45" name="type">
+    <value>Modus</value>
+  </string>
+
+  <string id="46" name="remainingseats">
+    <value>verbleibende Plätze</value>
+  </string>
+
+  <string id="47" name="alreadychosen">
+    <value>Bereits vergeben</value>
+  </string>
+
+  <string id="48" name="enter">
+    <value>Eintreten</value>
+  </string>
+
+  <string id="49" name="modleave">
+    <value>Der Moderator/Lehrer hat den Raum verlassen.</value>
+  </string>
+
+  <string id="50" name="systemmessage">
+    <value>Systemnachricht</value>
+  </string>
+
+  <string id="51" name="chossedevice">
+    <value>Geräteauswahl</value>
+  </string>
+
+  <string id="52" name="choosecam">
+    <value>Kamera wählen:</value>
+  </string>
+
+  <string id="53" name="choosemic">
+    <value>Mikrofon wählen:</value>
+  </string>
+
+  <string id="54" name="ok">
+    <value>Ok</value>
+  </string>
+
+  <string id="55" name="cancel2">
+    <value>Abbrechen</value>
+  </string>
+
+  <string id="56" name="reconeectneeded">
+    <value>Sie müssen sich erneut verbinden damit die Änderungen wirksam werden.</value>
+  </string>
+
+  <string id="57" name="editsetup">
+    <value>Einstellungen ändern.</value>
+  </string>
+
+  <string id="58" name="course">
+    <value>Kurs:</value>
+  </string>
+
+  <string id="59" name="language">
+    <value>Kurssprache:</value>
+  </string>
+
+  <string id="60" name="ok2">
+    <value>Ok</value>
+  </string>
+
+  <string id="61" name="cancel3">
+    <value>Abbrechen</value>
+  </string>
+
+  <string id="62" name="clearwhiteboard">
+    <value>Zeichenbrett leeren</value>
+  </string>
+
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Soll das Zeichenbrett geleert werden bevor ein neues Bild hinzugefügt wird?</value>
+  </string>
+
+  <string id="64" name="dontaskagain">
+    <value>Nicht nochmal fragen</value>
+  </string>
+
+  <string id="65" name="no">
+    <value>Nein</value>
+  </string>
+
+  <string id="66" name="editsetup2">
+    <value>Einstellungen bearbeiten</value>
+  </string>
+
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Bestätigung anfordern bevor das Zeichenbrett geleert wird.</value>
+  </string>
+
+  <string id="68" name="userinfo">
+    <value>Profil</value>
+  </string>
+
+  <string id="69" name="cleardrawarea">
+    <value>Zeichenbrett leeren</value>
+  </string>
+
+  <string id="70" name="undo">
+    <value>Rückgängig</value>
+  </string>
+
+  <string id="71" name="redo">
+    <value>Wiederherstellen</value>
+  </string>
+
+  <string id="72" name="selectobject">
+    <value>Markieren</value>
+  </string>
+
+  <string id="73" name="text">
+    <value>Text</value>
+  </string>
+
+  <string id="74" name="paint">
+    <value>Frei zeichnen</value>
+  </string>
+
+  <string id="75" name="drawline">
+    <value>Linien zeichnen</value>
+  </string>
+
+  <string id="76" name="drawu">
+    <value>Unterstreichen</value>
+  </string>
+
+  <string id="77" name="rect">
+    <value>Rechteck</value>
+  </string>
+
+  <string id="78" name="ellipse">
+    <value>Kreis</value>
+  </string>
+
+  <string id="79" name="arrow">
+    <value>Pfeil</value>
+  </string>
+
+  <string id="80" name="deletechosen">
+    <value>Löschen</value>
+  </string>
+
+  <string id="81" name="appliymod">
+    <value>Moderation beantragen</value>
+  </string>
+
+  <string id="82" name="apply">
+    <value>Beantragen</value>
+  </string>
+
+  <string id="83" name="cancel">
+    <value>Abbrechen</value>
+  </string>
+
+  <string id="84" name="mod">
+    <value>Moderator werden</value>
+  </string>
+
+  <string id="85" name="close">
+    <value>Schließen</value>
+  </string>
+
+  <string id="86" name="italic">
+    <value>Kursiv</value>
+  </string>
+
+  <string id="87" name="bold">
+    <value>Fett</value>
+  </string>
+
+  <string id="88" name="waiting">
+    <value>Warte</value>
+  </string>
+
+  <string id="89" name="applyMessage">
+    <value>Ein Benutzer möchte die Moderation übernehmen:</value>
+  </string>
+
+  <string id="90" name="accept">
+    <value>Annehmen</value>
+  </string>
+
+  <string id="91" name="reject">
+    <value>Ablehnen</value>
+  </string>
+
+  <string id="92" name="cancel">
+    <value>Abbrechen</value>
+  </string>
+
+  <string id="93" name="sendmodrequestmessage">
+    <value>Sende Anfrage an folgende Nutzer</value>
+  </string>
+
+  <string id="94" name="accept">
+    <value>bestätigt</value>
+  </string>
+
+  <string id="95" name="reject">
+    <value>abgelehnt</value>
+  </string>
+
+  <string id="96" name="changemod">
+    <value>Ändere Moderator</value>
+  </string>
+
+  <string id="97" name="nonmoderrormessage">
+    <value>Sie sind nicht der Moderator dieser Konferenz!</value>
+  </string>
+
+  <string id="98" name="moderator">
+    <value>Moderator:</value>
+  </string>
+
+  <string id="99" name="roomfullmessage">
+    <value>Dieser Raum ist voll. Bitte versuchen Sie es zu einem späteren Zeitpunkt nochmals.</value>
+  </string>
+
+  <string id="100" name="elllipse">
+    <value>Kreis</value>
+  </string>
+
+  <string id="101" name="close">
+    <value>Schließen</value>
+  </string>
+
+  <string id="102" name="AuthError">
+    <value>Eingabefehler</value>
+  </string>
+
+  <string id="103" name="min4username">
+    <value>Der Benutzername muss mindestens 4 Zeichen lang sein</value>
+  </string>
+
+  <string id="104" name="min4pass">
+    <value>Das Passwort muss mindestens 4 Zeichen lang sein</value>
+  </string>
+
+  <string id="105" name="usernametaken">
+    <value>Der Benutzername ist bereits vergeben</value>
+  </string>
+
+  <string id="106" name="emailtaken">
+    <value>Die E-Mail ist bereits registriert</value>
+  </string>
+
+  <string id="107" name="emailtaken">
+    <value>Ein Fehler trat auf. Bitte kontaktieren Sie den Administrator</value>
+  </string>
+
+  <string id="108" name="Authlogin">
+    <value>Login</value>
+  </string>
+
+  <string id="109" name="Authuser">
+    <value>Benutzer/E-Mail:</value>
+  </string>
+
+  <string id="110" name="Authpass">
+    <value>Passwort:</value>
+  </string>
+
+  <string id="111" name="Authlang">
+    <value>Sprache</value>
+  </string>
+
+  <string id="112" name="Authreg">
+    <value>Einloggen</value>
+  </string>
+
+  <string id="113" name="regformhead">
+    <value>Registrieren</value>
+  </string>
+
+  <string id="114" name="regformuser">
+    <value>Benutzer:</value>
+  </string>
+
+  <string id="115" name="regformpass">
+    <value>Passwort:</value>
+  </string>
+
+  <string id="116" name="regformretype">
+    <value>Wiederhole:</value>
+  </string>
+
+  <string id="117" name="regformfirstname">
+    <value>Vorname:</value>
+  </string>
+
+  <string id="118" name="regformlastname">
+    <value>Nachname:</value>
+  </string>
+
+  <string id="119" name="regformmail">
+    <value>E-Mail:</value>
+  </string>
+
+  <string id="120" name="regformstate">
+    <value>Land:</value>
+  </string>
+
+  <string id="121" name="regformbtn1">
+    <value>Registrieren</value>
+  </string>
+
+  <string id="122" name="regformbtn2">
+    <value>Abbrechen</value>
+  </string>
+
+  <string id="123" name="Authbtn2">
+    <value>Registrieren</value>
+  </string>
+
+  <string id="124" name="dashboard">
+    <value>Home</value>
+  </string>
+
+  <string id="125" name="useradmin">
+    <value>Benutzer</value>
+  </string>
+
+  <string id="126" name="groupadmin">
+    <value>Gruppen</value>
+  </string>
+
+  <string id="127" name="orgadmin">
+    <value>Organisationen</value>
+  </string>
+
+  <string id="128" name="headconf">
+    <value>Konferenzräume</value>
+  </string>
+
+  <string id="129" name="conf_pub">
+    <value>Öffentlich</value>
+  </string>
+
+  <string id="130" name="head_org">
+    <value>Organisation</value>
+  </string>
+
+  <string id="131" name="btn_enterroom">
+    <value>Betreten</value>
+  </string>
+
+  <string id="132" name="useralterself_login">
+    <value>Benutzer</value>
+  </string>
+
+  <string id="133" name="useralterself_pass">
+    <value>Passwort</value>
+  </string>
+
+  <string id="134" name="useralterself_passretype">
+    <value>Wiederholen</value>
+  </string>
+
+  <string id="135" name="useralterself_firstname">
+    <value>Vorname</value>
+  </string>
+
+  <string id="136" name="useralterself_lastname">
+    <value>Nachname</value>
+  </string>
+
+  <string id="137" name="useralterself_email">
+    <value>E-Mail</value>
+  </string>
+
+  <string id="138" name="useralterself_birth">
+    <value>Geburtstag</value>
+  </string>
+
+  <string id="139" name="useralterself_streetno">
+    <value>Straße/Nr.</value>
+  </string>
+
+  <string id="140" name="useralterself_town">
+    <value>PLZ/Stadt</value>
+  </string>
+
+  <string id="141" name="useralterself_state">
+    <value>Land</value>
+  </string>
+
+  <string id="142" name="useralterself_adresscomment">
+    <value>Adressinfo</value>
+  </string>
+
+  <string id="143" name="useralterself_header">
+    <value>Benutzerdaten</value>
+  </string>
+
+  <string id="144" name="savemenubar_savelabel">
+    <value>Speichern</value>
+  </string>
+
+  <string id="145" name="savemenubar_savelabel">
+    <value>Speichervorgang</value>
+  </string>
+
+  <string id="146" name="admin_userlist_user_id">
+    <value>Benutzer-ID</value>
+  </string>
+
+  <string id="147" name="admin_userlist_login">
+    <value>Login</value>
+  </string>
+
+  <string id="148" name="admin_userlist_firstnam">
+    <value>Vorname</value>
+  </string>
+
+  <string id="149" name="admin_userlist_lastname">
+    <value>Nachname</value>
+  </string>
+
+  <string id="150" name="turnoverlist_next">
+    <value>Vorwärts</value>
+  </string>
+
+  <string id="151" name="turnoverlist_pre">
+    <value>Zurück</value>
+  </string>
+
+  <string id="152" name="savecontent_confirm">
+    <value>Datensatz entfernen</value>
+  </string>
+
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>Abbrechen</value>
+  </string>
+
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>Enfernen</value>
+  </string>
+
+  <string id="155" name="savemenubar_addlabel">
+    <value>Datensatz anlegen</value>
+  </string>
+
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>Datensatz neu laden</value>
+  </string>
+
+  <string id="157" name="savemenubar_deletelabel">
+    <value>Datensatz entfernen</value>
+  </string>
+
+  <string id="158" name="useralter_admin_status">
+    <value>Status</value>
+  </string>
+
+  <string id="159" name="useralter_admin_statusItem">
+    <value>gesperrt</value>
+  </string>
+
+  <string id="160" name="useralter_admin_statusItem">
+    <value>aktiv</value>
+  </string>
+
+  <string id="161" name="useralter_admin_organisation">
+    <value>Organisationen</value>
+  </string>
+
+  <string id="162" name="calendar_iconlabel">
+    <value>Kalender</value>
+  </string>
+
+  <string id="163" name="savewindow_btn">
+    <value>Schließen</value>
+  </string>
+
+  <string id="164" name="organisationtablelist_idrow">
+    <value>Organisations-ID</value>
+  </string>
+
+  <string id="165" name="organisationtablelist_namerow">
+    <value>Name</value>
+  </string>
+
+  <string id="166" name="uservalue_levelid1">
+    <value>Benutzer</value>
+  </string>
+
+  <string id="167" name="uservalue_levelid2">
+    <value>Moderator</value>
+  </string>
+
+  <string id="168" name="uservalue_levelid3">
+    <value>Admin</value>
+  </string>
+
+  <string id="169" name="uservalue_levellabel">
+    <value>Benutzerrolle</value>
+  </string>
+
+  <string id="170" name="orgvalue_header">
+    <value>Organisation</value>
+  </string>
+
+  <string id="171" name="orgvalue_orgname">
+    <value>Name</value>
+  </string>
+
+  <string id="172" name="orgvalue_orgname">
+    <value>Organisation hinzufügen</value>
+  </string>
+
+  <string id="173" name="orgvalue_orgname">
+    <value>Organisation hinzufügen</value>
+  </string>
+
+  <string id="174" name="orgvalue_userwin">
+    <value>Abbrechen</value>
+  </string>
+
+  <string id="175" name="orgvalue_userwin">
+    <value>Hinzufügen</value>
+  </string>
+
+  <string id="176" name="orgvalue_userwin">
+    <value>Organisation entfernen</value>
+  </string>
+
+  <string id="177" name="orgvalue_userlist">
+    <value>Benutzer</value>
+  </string>
+
+  <string id="178" name="orgvalue_userlistadd">
+    <value>Benutzer hinzufügen</value>
+  </string>
+
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>Benutzer entfernen</value>
+  </string>
+
+  <string id="180" name="orgvalue_userwinheader">
+    <value>Benutzer hinzufügen</value>
+  </string>
+
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>Benutzer suchen</value>
+  </string>
+
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>Suchen</value>
+  </string>
+
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>Benutzer</value>
+  </string>
+
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>Organisation</value>
+  </string>
+
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>Auswählen</value>
+  </string>
+
+  <string id="186" name="navi_roomadmin">
+    <value>Konferenzräume</value>
+  </string>
+
+  <string id="187" name="roomadmin_header">
+    <value>Konferenzräume</value>
+  </string>
+
+  <string id="188" name="roomadmin_header">
+    <value>ID</value>
+  </string>
+
+  <string id="189" name="roomadmin_header">
+    <value>Name</value>
+  </string>
+
+  <string id="190" name="roomadmin_header">
+    <value>öffentlich</value>
+  </string>
+
+  <string id="191" name="roomadmin_header">
+    <value>Organisationen</value>
+  </string>
+
+  <string id="192" name="roomadmin_header">
+    <value>Konferenzräume</value>
+  </string>
+
+  <string id="193" name="roomvalue_name">
+    <value>Name</value>
+  </string>
+
+  <string id="194" name="roomvalue_type">
+    <value>Typ</value>
+  </string>
+
+  <string id="195" name="roomvalue_ispublic">
+    <value>Öffentlich</value>
+  </string>
+
+  <string id="196" name="roomvalue_comment">
+    <value>Kommentar</value>
+  </string>
+
+  <string id="197" name="whiteboard_saveicon">
+    <value>Speichern</value>
+  </string>
+
+  <string id="198" name="whiteboard_openicon">
+    <value>Öffnen</value>
+  </string>
+
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>Speichern unter</value>
+  </string>
+
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>Dateiname</value>
+  </string>
+
+  <string id="201" name="files">
+    <value>Dateiname</value>
+  </string>
+
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>Abbrechen</value>
+  </string>
+
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>Speichern</value>
+  </string>
+
+  <string id="204" name="rpcerrorwin_header">
+    <value>Fehler</value>
+  </string>
+
+  <string id="205" name="loadwml_header">
+    <value>Laden</value>
+  </string>
+
+  <string id="206" name="loadwml_messsload">
+    <value>Objekte geladen</value>
+  </string>
+
+  <string id="207" name="loadwml_messsync">
+    <value>Synchronisiere Benutzer. Restliche Benutzer:</value>
+  </string>
+
+  <string id="208" name="loadimage_messload">
+    <value>Lade Bilddaten</value>
+  </string>
+
+  <string id="209" name="loadimage_messsync">
+    <value>Synchronisiere Benutzer. Restliche Benutzer:</value>
+  </string>
+
+  <string id="210" name="loadwml_confirmheader">
+    <value>Zeichenbrett leeren</value>
+  </string>
+
+  <string id="211" name="loadwml_confirmmess">
+    <value>Zeichenbrett leeren. Alle bisherigen Änderungen gehen damit verloren!</value>
+  </string>
+
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Bestätigung anfordern vor dem Laden einer Datei</value>
+  </string>
+
+  <string id="213" name="send_invitation_btn">
+    <value>Einladung versenden</value>
+  </string>
+
+  <string id="214" name="send_invitationwin_header">
+    <value>Einladung versenden</value>
+  </string>
+
+  <string id="215" name="send_invitationwin_subject">
+    <value>Betreff</value>
+  </string>
+
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Empfänger</value>
+  </string>
+
+  <string id="217" name="send_invitationwin_message">
+    <value>Nachricht</value>
+  </string>
+
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Abschicken</value>
+  </string>
+
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>Abbrechen</value>
+  </string>
+
+  <string id="220" name="send_chat_text_btn">
+    <value>Senden</value>
+  </string>
+
+  <string id="221" name="invited_userwin_header">
+    <value>Benutzerdaten</value>
+  </string>
+
+  <string id="222" name="invited_userwin_subject">
+    <value>Nickname für diese Konferenz</value>
+  </string>
+
+  <string id="223" name="invited_userwin_login">
+    <value>Spitzname/Alias</value>
+  </string>
+
+  <string id="224" name="invited_userwin_firstname">
+    <value>Vorname</value>
+  </string>
+
+  <string id="225" name="invited_userwin_lastname">
+    <value>Nachname</value>
+  </string>
+
+  <string id="226" name="invited_userwin_mail">
+    <value>E-Mail</value>
+  </string>
+
+  <string id="227" name="invited_userwin_lang">
+    <value>Sprache</value>
+  </string>
+
+  <string id="228" name="invited_userwin_enter">
+    <value>Absenden</value>
+  </string>
+
+  <string id="229" name="invited_userwin_enter">
+    <value>Laden</value>
+  </string>
+
+  <string id="230" name="invited_userwin_enter">
+    <value>Daten werden geladen. Bitte warten!</value>
+  </string>
+
+  <string id="231" name="user_registerFalsePWD">
+    <value>Falsches Passwort</value>
+  </string>
+
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>Bitte geben Sie ihr Passwort zweimal ein. Länge: mindestens 6 Buchstaben.</value>
+  </string>
+
+  <string id="233" name="user_registerMailError">
+    <value>Ungültige E-Mail</value>
+  </string>
+
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>Die angegebene E-Mail-Adresse ist ungültig</value>
+  </string>
+
+  <string id="235" name="user_registerSuccess">
+    <value>Registration abgeschlossen</value>
+  </string>
+
+  <string id="236" name="user_registerSuccessHeader">
+    <value>Ihr Benutzer wurde angelegt. Sie können sich nun einloggen.</value>
+  </string>
+
+  <string id="237" name="user_sharing_message">
+    <value>Sie können Ihren Bildschirm im Moment nicht veröffentlichen, da dies bereits ein anderer Benutzer in diesem Konferenzraum tut.</value>
+  </string>
+
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Veröffentlichung abgelehnt</value>
+  </string>
+
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Desktop veröffentlichen</value>
+  </string>
+
+  <string id="240" name="screen_warnBandwidth">
+    <value>Schlechte Bandbreite. Es war nicht möglich alle Bilder des Bildschirms zu laden. Tritt dieser Fehler häufiger auf können Sie den Moderator darum bitten, die Qualität zur verringern.</value>
+  </string>
+
+  <string id="241" name="screen_userlabel">
+    <value>Bildschirm von:</value>
+  </string>
+
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Zeichnen</value>
+  </string>
+
+  <string id="243" name="whiteboard_tab_document">
+    <value>Dokumente</value>
+  </string>
+
+  <string id="244" name="tabbar_chaticon">
+    <value>Chat</value>
+  </string>
+
+  <string id="245" name="tabbar_filesicon">
+    <value>Dateien</value>
+  </string>
+
+  <string id="246" name="tabbar_participantsicon">
+    <value>Benutzer</value>
+  </string>
+
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Orginaldatei herunterladen</value>
+  </string>
+
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>PDF-Dokument herunterladen</value>
+  </string>
+
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Präsentation in Zeichenbrett laden</value>
+  </string>
+
+  <string id="250" name="navimain_config">
+    <value>Konfiguration</value>
+  </string>
+
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Objekt verschieben</value>
+  </string>
+
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Objekt vergrößern/verkleinern</value>
+  </string>
+
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>von</value>
+  </string>
+
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>zur ersten Seite springen</value>
+  </string>
+
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>zur vorherigen Seite springen</value>
+  </string>
+
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>zur nächsten Seite springen</value>
+  </string>
+
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>zur letzten Seite springen</value>
+  </string>
+
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Zoom --</value>
+  </string>
+
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Zoom ++</value>
+  </string>
+
+  <string id="261" name="salutation_mr">
+    <value>Herr</value>
+  </string>
+
+  <string id="262" name="salutation_miss">
+    <value>Frau</value>
+  </string>
+
+  <string id="263" name="navimain_confadmin">
+    <value>Konfiguration</value>
+  </string>
+
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+
+  <string id="265" name="conftable_headerkey">
+    <value>Schlüssel</value>
+  </string>
+
+  <string id="266" name="confadminform_header">
+    <value>Konfiguration</value>
+  </string>
+
+  <string id="267" name="confadminform_labelkey">
+    <value>Schlüssel</value>
+  </string>
+
+  <string id="268" name="confadminform_labelupdated">
+    <value>Zuletzt bearbeitet</value>
+  </string>
+
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>Bearbeitet von</value>
+  </string>
+
+  <string id="270" name="confadminform_labelcomment">
+    <value>Kommentar</value>
+  </string>
+
+  <string id="271" name="confadminform_labelkey">
+    <value>Schlüssel</value>
+  </string>
+
+  <string id="272" name="turnoverlist_maxresults">
+    <value>von</value>
+  </string>
+
+  <string id="273" name="organisation_usersheader">
+    <value>Benutzer</value>
+  </string>
+
+  <string id="274" name="organisation_usersicondelete">
+    <value>Benutzer aus Organisation entfernen</value>
+  </string>
+
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>Löschen</value>
+  </string>
+
+  <string id="276" name="organisation_usersalreadadded">
+    <value>Dieser Benutzer ist bereits Teil dieser Organisation.</value>
+  </string>
+
+  <string id="277" name="dashboard_newsheader">
+    <value>Neuigkeiten</value>
+  </string>
+
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Quicklinks</value>
+  </string>
+
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Zu den Konferenzräumen (max. 50 Teilnehmer)</value>
+  </string>
+
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Zu den Eventräumen (unbegrenzte Zuschauer)</value>
+  </string>
+
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Hilfe und Support</value>
+  </string>
+
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings//</value>
+  </string>
+
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+
+  <string id="284" name="dashboard_reportbugs">
+    <value>Fehler melden!</value>
+  </string>
+
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>Mehr</value>
+  </string>
+
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Projekt im Netz (http://incubator.apache.org/openmeetings/)</value>
+  </string>
+
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>Benutzer Mailing Liste (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+
+  <string id="288" name="login_rememberuser">
+    <value>Login merken</value>
+  </string>
+
+  <string id="289" name="main_navi">
+    <value>Dateien</value>
+  </string>
+
+  <string id="290" name="subnavi">
+    <value>Meine Übersicht</value>
+  </string>
+
+  <string id="291" name="subnavi">
+    <value>Meetings planen</value>
+  </string>
+
+  <string id="292" name="subnavi">
+    <value>Meine Events</value>
+  </string>
+
+  <string id="293" name="subnavi">
+    <value>Öffentliche Meetings</value>
+  </string>
+
+  <string id="294" name="subnavi">
+    <value>Private Meetings</value>
+  </string>
+
+  <string id="295" name="subnavi">
+    <value>Öffentliche Events</value>
+  </string>
+
+  <string id="296" name="subnavi">
+    <value>Private Events</value>
+  </string>
+
+  <string id="297" name="subnavi">
+    <value>Öffentliche Dateien</value>
+  </string>
+
+  <string id="298" name="subnavi">
+    <value>Private Dateien</value>
+  </string>
+
+  <string id="299" name="subnavi">
+    <value>Persönliche Dateien</value>
+  </string>
+
+  <string id="300" name="subnavi">
+    <value />
+  </string>
+
+  <string id="301" name="conferencebar">
+    <value>Moderation</value>
+  </string>
+
+  <string id="302" name="conferencebar">
+    <value>Moderation anfordern</value>
+  </string>
+
+  <string id="303" name="conferencebar">
+    <value>Umfrage</value>
+  </string>
+
+  <string id="304" name="conferencebar">
+    <value>Datei auswählen</value>
+  </string>
+
+  <string id="305" name="conferencebar">
+    <value>Einstellungen</value>
+  </string>
+
+  <string id="306" name="conferencebar">
+    <value>Kamera-/Mikro-Einstellungen</value>
+  </string>
+
+  <string id="307" name="conferencebar">
+    <value>Zeichenbrett-Einstellungen</value>
+  </string>
+
+  <string id="308" name="conferencebar">
+    <value>Verlassen</value>
+  </string>
+
+  <string id="309" name="conferencebar">
+    <value>Zurück zur Raum-Übersicht</value>
+  </string>
+
+  <string id="310" name="conferencebar">
+    <value>Abmelden</value>
+  </string>
+
+  <string id="311" name="loginwindow">
+    <value>Passwort zurücksetzen?</value>
+  </string>
+
+  <string id="312" name="loginwindow">
+    <value>Passwort zurücksetzen</value>
+  </string>
+
+  <string id="313" name="loginwindow">
+    <value>Bei E-Mail</value>
+  </string>
+
+  <string id="314" name="loginwindow">
+    <value>Bei Login</value>
+  </string>
+
+  <string id="315" name="loginwindow">
+    <value>E-Mail</value>
+  </string>
+
+  <string id="316" name="loginwindow">
+    <value>Login</value>
+  </string>
+
+  <string id="317" name="loginwindow">
+    <value>Dateien</value>
+  </string>
+
+  <string id="318" name="loginwindow">
+    <value>E-Mail mit Reset-Link versenden</value>
+  </string>
+
+  <string id="319" name="loginwindow">
+    <value>Geben Sie bitte entweder eine E-Mail oder einen Login an.</value>
+  </string>
+
+  <string id="320" name="loginwindow">
+    <value>Es gibt keinen Benutzer mit diesem Benutzernamen.</value>
+  </string>
+
+  <string id="321" name="loginwindow">
+    <value>Die E-Mail mit dem dazugehörigen Link wurde an Ihre E-Mail-Adresse gesandt. Bitte überprüfen Sie Ihren Posteingang. Falls Sie immer noch keine E-Mail erhalten haben, korrigieren Sie bitte Ihre Spam-Einstellungen und senden Sie die E-Mail nochmals.</value>
+  </string>
+
+  <string id="322" name="errortype">
+    <value>Fehler!</value>
+  </string>
+
+  <string id="323" name="errortype">
+    <value>Nachricht</value>
+  </string>
+
+  <string id="324" name="resetpass">
+    <value>Ungültiger Hash.</value>
+  </string>
+
+  <string id="325" name="resetpass">
+    <value>Passwort zurücksetzen</value>
+  </string>
+
+  <string id="326" name="resetpass">
+    <value>Login</value>
+  </string>
+
+  <string id="327" name="resetpass">
+    <value>Passwort ändern</value>
+  </string>
+
+  <string id="328" name="resetpass">
+    <value>Neues Passwort</value>
+  </string>
+
+  <string id="329" name="resetpass">
+    <value>Passwort wiederholen</value>
+  </string>
+
+  <string id="330" name="resetpass">
+    <value>Die von Ihnen angegebenen Passwörter sind nicht identisch.</value>
+  </string>
+
+  <string id="331" name="resetpass">
+    <value>Benutzername oder Passwort sind zu kurz, bitte geben Sie mindestens folgende Anzahl an Zeichen für Benutzername / Passwort ein:</value>
+  </string>
+
+  <string id="332" name="resetpass">
+    <value>Passwort gespeichert. Sie können sich nun damit einloggen.</value>
+  </string>
+
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+
+  <string id="334" name="rpcgeneralerror">
+    <value>Unbekannter Fehler. Bitte melden Sie das dem Service-Team.</value>
+  </string>
+
+  <string id="335" name="loginwindow">
+    <value>Benutzername nicht gefunden</value>
+  </string>
+
+  <string id="336" name="loginwindow">
+    <value>Ungültiges Passwort</value>
+  </string>
+
+  <string id="337" name="logout">
+    <value>Erfolgreich ausgeloggt</value>
+  </string>
+
+  <string id="338" name="registration">
+    <value>Registrierung ist ausgeschaltet.</value>
+  </string>
+
+  <string id="339" name="registration">
+    <value>Ungültige E-Mail-Adresse</value>
+  </string>
+
+  <string id="340" name="registration">
+    <value>Dieser Dateiname wird schon verwendet. Bitte geben Sie einen anderen an.</value>
+  </string>
+
+  <string id="341" name="filebrowser">
+    <value>Dateiname zu kurz</value>
+  </string>
+
+  <string id="342" name="filebrowser">
+    <value>Adresse konnte nicht gespeichert werden.</value>
+  </string>
+
+  <string id="343" name="useradmin">
+    <value>Benutzer hinzugefügt. Vergessen Sie nicht diesem Benutzer auch eine Organisation hinzuzufügen. Benutzer ohne Organisation können sich nicht einloggen.</value>
+  </string>
+
+  <string id="344" name="adminforms">
+    <value>Neuer Datensatz</value>
+  </string>
+
+  <string id="345" name="languageseditor">
+    <value>Es konnte kein Feld zu dieser ID ermittelt werden.</value>
+  </string>
+
+  <string id="346" name="languageseditor">
+    <value>Es konnte kein Label für diese ID ermittelt werden.</value>
+  </string>
+
+  <string id="347" name="errormessage">
+    <value>Sie müssen Administrator sein, um diese Aktion auszuführen.</value>
+  </string>
+
+  <string id="348" name="mainnavi">
+    <value>Sprach-Editor</value>
+  </string>
+
+  <string id="349" name="languageseditor">
+    <value>Sprache</value>
+  </string>
+
+  <string id="350" name="languageseditor">
+    <value>Label-ID</value>
+  </string>
+
+  <string id="351" name="languageseditor">
+    <value>Label-Name</value>
+  </string>
+
+  <string id="352" name="languageseditor">
+    <value>Wert</value>
+  </string>
+
+  <string id="353" name="languageseditor">
+    <value>Feldwerte</value>
+  </string>
+
+  <string id="354" name="languageseditor">
+    <value>LabelName</value>
+  </string>
+
+  <string id="355" name="languageseditor">
+    <value>LabelWert</value>
+  </string>
+
+  <string id="356" name="languageseditor">
+    <value>Label-ID</value>
+  </string>
+
+  <string id="357" name="languageseditor">
+    <value>Sie haben nur das Label gelöscht nicht das Feld! Das Feld könnte noch Referenzen in anderen Sprachen beinhalten.</value>
+  </string>
+
+  <string id="358" name="languageseditor">
+    <value>Ungültige Labelid. FieldLanguagesvalues_Id kann in der Datenbank nicht gefunden werden.</value>
+  </string>
+
+  <string id="359" name="languageseditor">
+    <value>Sie können dieses Feld nicht löschen. Sie können nur Labels, nicht aber Felder löschen. Zur Zeit ist kein Label geladen, entweder ist kein Feld ausgewählt oder es gibt kein Label in dieser Sprache für das Feld.</value>
+  </string>
+
+  <string id="360" name="languageseditor">
+    <value>Exportieren</value>
+  </string>
+
+  <string id="361" name="languageseditor">
+    <value>Sie müssen sich neu anmelden, um Änderungen zu sehen.</value>
+  </string>
+
+  <string id="362" name="languageseditor">
+    <value>Neue Sprache anlegen</value>
+  </string>
+
+  <string id="363" name="languageseditor">
+    <value>Sprache löschen</value>
+  </string>
+
+  <string id="364" name="languageseditor">
+    <value>Neue Sprache anlegen</value>
+  </string>
+
+  <string id="365" name="languageseditor">
+    <value>Name</value>
+  </string>
+
+  <string id="366" name="languageseditor">
+    <value>Sprache anlegen</value>
+  </string>
+
+  <string id="367" name="languageseditor">
+    <value>Sicherung</value>
+  </string>
+
+  <string id="368" name="turnoverlist">
+    <value>Zum Ersten</value>
+  </string>
+
+  <string id="369" name="turnoverlist">
+    <value>Zum Letzten</value>
+  </string>
+
+  <string id="370" name="turnoverlist">
+    <value>Zum Nächsten</value>
+  </string>
+
+  <string id="371" name="turnoverlist">
+    <value>Zum Letzten</value>
+  </string>
+
+  <string id="372" name="videobox">
+    <value>Benutzer spricht (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+
+  <string id="373" name="videobox">
+    <value>Sound an/ausschalten</value>
+  </string>
+
+  <string id="374" name="dashboard">
+    <value>Übersicht</value>
+  </string>
+
+  <string id="375" name="dashboard">
+    <value>Ihr Profil</value>
+  </string>
+
+  <string id="376" name="dashboard">
+    <value>Hallo,</value>
+  </string>
+
+  <string id="377" name="dashboard">
+    <value>Profil bearbeiten</value>
+  </string>
+
+  <string id="378" name="dashboard">
+    <value>Ungelesene Nachrichten:</value>
+  </string>
+
+  <string id="379" name="dashboard">
+    <value>Bild ändern</value>
+  </string>
+
+  <string id="380" name="backuppanel">
+    <value>Benutzerdaten - Exportieren</value>
+  </string>
+
+  <string id="381" name="backuppanel">
+    <value>Alle Organisationen müssen bereits vorhanden sein!</value>
+  </string>
+
+  <string id="382" name="backuppanel">
+    <value>Starte Export</value>
+  </string>
+
+  <string id="383" name="backuppanel">
+    <value>Nach Organisation</value>
+  </string>
+
+  <string id="384" name="backuppanel">
+    <value>Starte Export</value>
+  </string>
+
+  <string id="385" name="backuppanel">
+    <value>Benutzerdaten - Import</value>
+  </string>
+
+  <string id="386" name="backuppanel">
+    <value>Wählen Sie users.xml aus</value>
+  </string>
+
+  <string id="387" name="languageseditor">
+    <value>importiere</value>
+  </string>
+
+  <string id="388" name="languageseditor">
+    <value>Exportiere als XML - Diese Dateien können benutzt werden als: Beitrag zum Projekt - Import in ein anderes System - Sicherung - kundenspezifische Anpassung - Ablage im Sprachverzeichnins für Ihre nächste Installation.</value>
+  </string>
+
+  <string id="389" name="languageseditor">
+    <value>Wählen Sie eine Sprachdatei für den Import aus. Wählen Sie die passende Sprache aus der Combobox! Egal welchen Namen die Datei hat, sie wird in diese Sprache importiert!</value>
+  </string>
+
+  <string id="390" name="importwindow">
+    <value>Import - Wählen Sie eine Datei aus</value>
+  </string>
+
+  <string id="391" name="recordingsavewin">
+    <value>Speichern unter</value>
+  </string>
+
+  <string id="392" name="recordingsavewin">
+    <value>Name:</value>
+  </string>
+
+  <string id="393" name="recordingsavewin">
+    <value>Kommentar:</value>
+  </string>
+
+  <string id="394" name="recordingsavewin">
+    <value>Speichern</value>
+  </string>
+
+  <string id="395" name="record">
+    <value>Aufnahmen</value>
+  </string>
+
+  <string id="396" name="recorder">
+    <value>Aufnahmen ansehen</value>
+  </string>
+
+  <string id="397" name="record">
+    <value>Aufnahmen aus allen Räumen</value>
+  </string>
+
+  <string id="398" name="roomslist">
+    <value>Benutzer:</value>
+  </string>
+
+  <string id="399" name="roomslist">
+    <value>Mitglied seit:</value>
+  </string>
+
+  <string id="400" name="roomslist">
+    <value />
+  </string>
+
+  <string id="401" name="roomslist">
+    <value>Benutzer in diesem Raum:</value>
+  </string>
+
+  <string id="402" name="roomslist">
+    <value>Neu laden</value>
+  </string>
+
+  <string id="403" name="roomslist">
+    <value>Dieser Raum ist voll. Bitte versuchen Sie es später noch einmal.</value>
+  </string>
+
+  <string id="404" name="roomsList">
+    <value>Wählen Sie einen Raum aus, um Details zu erhalten.</value>
+  </string>
+
+  <string id="405" name="roomslist">
+    <value>Chatten Sie mit Benutzern in diesem Raum:</value>
+  </string>
+
+  <string id="406" name="roomslist">
+    <value>Raum:</value>
+  </string>
+
+  <string id="407" name="roomslist">
+    <value>Benutzer in diesem Raum:</value>
+  </string>
+
+  <string id="408" name="roomslist">
+    <value>Seit:</value>
+  </string>
+
+  <string id="409" name="record">
+    <value>Aufnahme abspielen</value>
+  </string>
+
+  <string id="410" name="record">
+    <value>Länge:</value>
+  </string>
+
+  <string id="411" name="record">
+    <value>Datum:</value>
+  </string>
+
+  <string id="412" name="record">
+    <value>Aufnahme! Sie können hier nichts mehr ändern ...</value>
+  </string>
+
+  <string id="413" name="record">
+    <value>Aufnahme abspielen</value>
+  </string>
+
+  <string id="414" name="record">
+    <value>Abspielen / Pause</value>
+  </string>
+
+  <string id="415" name="record">
+    <value>Aufnahme starten</value>
+  </string>
+
+  <string id="416" name="record">
+    <value>Aufnahme beenden</value>
+  </string>
+
+  <string id="417" name="record">
+    <value>Aufnahmen:</value>
+  </string>
+
+  <string id="418" name="record_error_msg">
+    <value>Die Aufnahme ist bereits gestartet.</value>
+  </string>
+
+  <string id="419" name="record_message">
+    <value>Aufnahme gestartet von Benutzer:</value>
+  </string>
+
+  <string id="420" name="record_cancel">
+    <value>Abbrechen</value>
+  </string>
+
+  <string id="421" name="record_cancal_tooltip">
+    <value>Aufnahme wird abgebrochen und nicht gespeichert.</value>
+  </string>
+
+  <string id="422" name="cancel_dialog_resume">
+    <value>Fortsetzen</value>
+  </string>
+
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Aufnahme fortsetzen</value>
+  </string>
+
+  <string id="424" name="painttools_ellipse_color">
+    <value>Linienfarbe ändern</value>
+  </string>
+
+  <string id="425" name="colorpicker_head">
+    <value>Farbe auswählen</value>
+  </string>
+
+  <string id="426" name="painttools_line_disable">
+    <value>Randfarbe de/aktivieren</value>
+  </string>
+
+  <string id="427" name="painttools_fill_disable">
+    <value>Füllfarbe ändern</value>
+  </string>
+
+  <string id="428" name="painttools_line_disable">
+    <value>Füllfarbe de/aktivieren</value>
+  </string>
+
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Linienstärke ändern</value>
+  </string>
+
+  <string id="430" name="close_small_popups">
+    <value>Schließen</value>
+  </string>
+
+  <string id="431" name="paint_tool_letter">
+    <value>Schriftgröße anpassen</value>
+  </string>
+
+  <string id="432" name="recordingslist_delete">
+    <value>Aufnahme löschen</value>
+  </string>
+
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Gäste</value>
+  </string>
+
+  <string id="434" name="recordingslist_recordedby">
+    <value>Von:</value>
+  </string>
+
+  <string id="435" name="recordings_table_head_name">
+    <value>Name</value>
+  </string>
+
+  <string id="436" name="recordings_table_head_room">
+    <value>Raum</value>
+  </string>
+
+  <string id="437" name="recordings_table_head_date">
+    <value>Datum</value>
+  </string>
+
+  <string id="438" name="record_start_cancel">
+    <value>Abbrechen</value>
+  </string>
+
+  <string id="439" name="record_start_start">
+    <value>Start</value>
+  </string>
+
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Name</value>
+  </string>
+
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Datum</value>
+  </string>
+
+  <string id="442" name="chat_clear_history">
+    <value>Chatlog löschen</value>
+  </string>
+
+  <string id="443" name="chat_overall_header">
+    <value>Chat</value>
+  </string>
+
+  <string id="444" name="chat_send_btn">
+    <value>Nachricht abschicken</value>
+  </string>
+
+  <string id="445" name="chat_emot_btn">
+    <value>Emoticons</value>
+  </string>
+
+  <string id="446" name="chat_emot_win">
+    <value>Emoticons</value>
+  </string>
+
+  <string id="447" name="choose_video_settings">
+    <value>Wählen Sie die Geräte aus:</value>
+  </string>
+
+  <string id="448" name="choose_video_settings_combo">
+    <value>Ton und Video</value>
+  </string>
+
+  <string id="449" name="choose_video_settings_combo">
+    <value>nur Ton (Mikrophon)</value>
+  </string>
+
+  <string id="450" name="choose_video_settings_combo">
+    <value>nur Video (Webcam)</value>
+  </string>
+
+  <string id="451" name="choose_video_settings_combo">
+    <value>kein Video/Ton (nur Profil-Bild)</value>
+  </string>
+
+  <string id="452" name="choose_video_settings_info_text">
+    <value>Kein Video/Ton veröffentlichen. Wählen Sie diese Einstellung wenn die verfügbare Bandbreite sehr niedrig ist.</value>
+  </string>
+
+  <string id="453" name="calendar_dayname_monday">
+    <value>MO</value>
+  </string>
+
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>DI</value>
+  </string>
+
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>MI</value>
+  </string>
+
+  <string id="456" name="calendar_dayname_thursday">
+    <value>DO</value>
+  </string>
+
+  <string id="457" name="calendar_dayname_friday">
+    <value>FR</value>
+  </string>
+
+  <string id="458" name="calendar_dayname_saturday">
+    <value>SA</value>
+  </string>
+
+  <string id="459" name="calendar_dayname_sunday">
+    <value>SO</value>
+  </string>
+
+  <string id="460" name="calendar_dayname_monday">
+    <value>Montag</value>
+  </string>
+
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Dienstag</value>
+  </string>
+
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Mittwoch</value>
+  </string>
+
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Donnerstag</value>
+  </string>
+
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Freitag</value>
+  </string>
+
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Samstag</value>
+  </string>
+
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Sonntag</value>
+  </string>
+
+  <string id="467" name="calendar_weeknumber_header">
+    <value>KW</value>
+  </string>
+
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Kalenderwoche</value>
+  </string>
+
+  <string id="469" name="calendar_monthnames">
+    <value>Januar</value>
+  </string>
+
+  <string id="470" name="calendar_monthnames">
+    <value>Februar</value>
+  </string>
+
+  <string id="471" name="calendar_monthnames">
+    <value>März</value>
+  </string>
+
+  <string id="472" name="calendar_monthnames">
+    <value>April</value>
+  </string>
+
+  <string id="473" name="calendar_monthnames">
+    <value>Mai</value>
+  </string>
+
+  <string id="474" name="calendar_monthnames">
+    <value>Juni</value>
+  </string>
+
+  <string id="475" name="calendar_monthnames">
+    <value>Juli</value>
+  </string>
+
+  <string id="476" name="calendar_monthnames">
+    <value>August</value>
+  </string>
+
+  <string id="477" name="calendar_monthnames">
+    <value>September</value>
+  </string>
+
+  <string id="478" name="calendar_monthnames">
+    <value>Oktober</value>
+  </string>
+
+  <string id="479" name="calendar_monthnames">
+    <value>November</value>
+  </string>
+
+  <string id="480" name="calendar_monthnames">
+    <value>Dezember</value>
+  </string>
+
+  <string id="481" name="calendarwin_header">
+    <value>Kalender</value>
+  </string>
+
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Teilnehmerzahl</value>
+  </string>
+
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Zeige Layouteinstellungen</value>
+  </string>
+
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Breite | Höhe</value>
+  </string>
+
+  <string id="486" name="roomAdmin_layout">
+    <value>Video-Container</value>
+  </string>
+
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Moderations-Container</value>
+  </string>
+
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Whiteboard-Container</value>
+  </string>
+
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Aktiviert</value>
+  </string>
+
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Breite | Höhe</value>
+  </string>
+
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Dateien-, Chat-, Teilnehmer-Container</value>
+  </string>
+
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Aktiv</value>
+  </string>
+
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X | Y</value>
+  </string>
+
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Breite | Höhe</value>
+  </string>
+
+  <string id="497" name="moderator_gone_message">
+    <value>Der Moderator hat den Raum verlassen. Sie müssen die Moderation beantragen wenn Sie auf das Zeichenbrett zeichnen wollen.</value>
+  </string>
+
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>Es gibt momentan keinen Moderator in diesen Raum. Sie müssen die Moderation beantragen oder warten.</value>
+  </string>
+
+  <string id="499" name="feedback_template_subject">
+    <value>Feedback $APP_NAME</value>
+  </string>
+
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Einladung</value>
+  </string>
+
+  <string id="501" name="invitation_text_from">
+    <value>Nachricht von Benutzer:</value>
+  </string>
+
+  <string id="502" name="invitation_text_message">
+    <value>Nachricht:</value>
+  </string>
+
+  <string id="503" name="invitation_text_click_text">
+    <value>Klicken Sie auf diesen Link, um in den Raum zu gelangen:</value>
+  </string>
+
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Klicken Sie hier</value>
+  </string>
+
+  <string id="505" name="invitation_text_click_text_help">
+    <value>Wenn der Link fehlerhaft dargestellt wird, kopieren Sie bitte folgenden Link in die Adresszeile ihres Browsers:</value>
+  </string>
+
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME Registrierung</value>
+  </string>
+
+  <string id="507" name="registering_mail_text_head2">
+    <value>Ihre Benutzerdaten:</value>
+  </string>
+
+  <string id="508" name="registering_mail_text_username">
+    <value>Login:</value>
+  </string>
+
+  <string id="509" name="registering_mail_text_pass">
+    <value>Pass:</value>
+  </string>
+
+  <string id="510" name="registering_mail_text_mail">
+    <value>E-Mail:</value>
+  </string>
+
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME-Team</value>
+  </string>
+
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME Registrierung</value>
+  </string>
+
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - Passwort zurücksetzen</value>
+  </string>
+
+  <string id="514" name="reset_password_template_test_link">
+    <value>Klicken Sie hier, um ein neues Passwort einzugeben:</value>
+  </string>
+
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Klicken Sie hier</value>
+  </string>
+
+  <string id="516" name="reset_password_template_text3_link">
+    <value>Wenn der Link fehlerhaft dargestellt wird, kopieren Sie bitte folgenden Link in die Adresszeile Ihres Browsers:</value>
+  </string>
+
+  <string id="517" name="reset_password_mail_subject">
+    <value>$APP_NAME Password Reset</value>
+  </string>
+
+  <string id="518" name="dateRegExpError">
+    <value>Bitte geben Sie ein gültiges Datum an, zum Beispiel 24.12.2001 (dd.mm.yyyy)</value>
+  </string>
+
+  <string id="519" name="emailRegExpError">
+    <value>Bitte geben Sie eine gültige E-Mail an, zum Beispiel name@mail.com</value>
+  </string>
+
+  <string id="520" name="floatRegExpError">
+    <value>Bitte geben Sie eine Dezimalzahl an, zum Beispiel 1.00</value>
+  </string>
+
+  <string id="521" name="numberRegExpError">
+    <value>Bitte geben Sie eine Ganzzahl an, zum Beispiel 100</value>
+  </string>
+
+  <string id="522" name="phoneRegExpError">
+    <value>Bitte geben Sie eine gültige Telefon-Nummer an, zum Beispiel ++49 0123 123123</value>
+  </string>
+
+  <string id="523" name="timeRegExpError">
+    <value>Bitte geben Sie eine gültige Uhrzeit an, zum Beispiel 12:23 (hh:mm)</value>
+  </string>
+
+  <string id="524" name="invitation_window">
+    <value>Passwort geschützt</value>
+  </string>
+
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Passwort</value>
+  </string>
+
+  <string id="526" name="invitation_window_validLabel">
+    <value>Gültigkeit</value>
+  </string>
+
+  <string id="527" name="invitation_window_valid">
+    <value>Immer</value>
+  </string>
+
+  <string id="528" name="invitation_window_valid">
+    <value>Zeitspanne</value>
+  </string>
+
+  <string id="529" name="invitation_window_valid">
+    <value>Einmalig</value>
+  </string>
+
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Gültig ab:</value>
+  </string>
+
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Gültig bis:</value>
+  </string>
+
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Einladung für diese Konferenz</value>
+  </string>
+
+  <string id="533" name="invitation_error">
+    <value>Keine Einladung für diesen Code</value>
+  </string>
+
+  <string id="534" name="invitation_error">
+    <value>Die Einladung ist nicht mehr gültig.</value>
+  </string>
+
+  <string id="535" name="invitation_error">
+    <value>Die Einladung ist nicht mehr gültig.</value>
+  </string>
+
+  <string id="536" name="invitation_pass">
+    <value>Passwort:</value>
+  </string>
+
+  <string id="537" name="invitation_pass_btn">
+    <value>Überprüfen Sie das Passwort</value>
+  </string>
+
+  <string id="538" name="invitation_pass_error">
+    <value>Falsches Passwort!</value>
+  </string>
+
+  <string id="539" name="Browser">
+    <value>Browser</value>
+  </string>
+
+  <string id="540" name="audio_video">
+    <value>Ton/Video neu starten</value>
+  </string>
+
+  <string id="541" name="errorCode_invalidSession">
+    <value>Sitzung abgelaufen oder ungültig.</value>
+  </string>
+
+  <string id="542" name="errorcode_setUserObject">
+    <value>SessionId ist nicht eingeloggt oder hat keine Administratorrechte. Das SOAP Gateway benötigt einen Benutzer mit Admin-Rechten um einen neuen Nutzer einzubetten.</value>
+  </string>
+
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>Diese Sitzung steht mit keiner Remoteuser-Data in Verbindung. Entweder haben Sie das SOAP-Gateway vor dem Zugriff auf die Anwendung nicht gerufen oder Sie benutzen die falsche Sitzungs-ID</value>
+  </string>
+
+  <string id="544" name="debug_message_recording">
+    <value>Die Aufnahme von Meetings ist noch Beta!</value>
+  </string>
+
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>x-Achse</value>
+  </string>
+
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>y-Achse</value>
+  </string>
+
+  <string id="549" name="propertyPanelWidthValue">
+    <value>w</value>
+  </string>
+
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>Breite</value>
+  </string>
+
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>Höhe</value>
+  </string>
+
+  <string id="553" name="propertyOpacitySlider">
+    <value>Transparenz ändern</value>
+  </string>
+
+  <string id="554" name="browserOpen">
+    <value>Browser offen</value>
+  </string>
+
+  <string id="555" name="browserClose">
+    <value>Browser geschlossen</value>
+  </string>
+
+  <string id="556" name="connectionLostMessage">
+    <value>Die Verbindung zum Server ist abgebrochen. Prüfen Sie ihre Netzwerk-Verbindung und starten Sie die Anwendung neu.</value>
+  </string>
+
+  <string id="557" name="557">
+    <value>Pointer</value>
+  </string>
+
+  <string id="558" name="sync message header">
+    <value>Synchronisiere</value>
+  </string>
+
+  <string id="559" name="Synchronizing message">
+    <value>Synchroniziere Benutzer, bitte warten Sie</value>
+  </string>
+
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Download als SVG&lt;/u&gt;</value>
+  </string>
+
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Download als PNG&lt;/u&gt;</value>
+  </string>
+
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Download als JPG&lt;/u&gt;</value>
+  </string>
+
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Download als PDF&lt;/u&gt;</value>
+  </string>
+
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Download als TIF&lt;/u&gt;</value>
+  </string>
+
+  <string id="565" name="calendarLabel">
+    <value>Erinnerung</value>
+  </string>
+
+  <string id="566" name="calendarLabel">
+    <value>Kategorie</value>
+  </string>
+
+  <string id="567" name="calendarLabel">
+    <value>Wiederholung</value>
+  </string>
+
+  <string id="568" name="calendarLabel">
+    <value>Keine</value>
+  </string>
+
+  <string id="569" name="calendarLabel">
+    <value>Ort:</value>
+  </string>
+
+  <string id="570" name="calendarLabel">
+    <value>Start</value>
+  </string>
+
+  <string id="571" name="calendarLabel">
+    <value>Ende</value>
+  </string>
+
+  <string id="572" name="calendarLabel">
+    <value>Titel:</value>
+  </string>
+
+  <string id="573" name="calendarLabel">
+    <value>Kommentar:</value>
+  </string>
+
+  <string id="574" name="calendarLabel">
+    <value>Jemanden einladen</value>
+  </string>
+
+  <string id="575" name="calendarLabel">
+    <value>täglich</value>
+  </string>
+
+  <string id="576" name="calendarLabel">
+    <value>monatlich</value>
+  </string>
+
+  <string id="577" name="calendarLabel">
+    <value>jährlich</value>
+  </string>
+
+  <string id="578" name="alert">
+    <value>Terminstart muss vor Terminende liegen!</value>
+  </string>
+
+  <string id="579" name="alert">
+    <value>Bitte geben Sie einen Titel an!</value>
+  </string>
+
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+
+  <string id="581" name="581">
+    <value>Aktivieren Sie die falls es sich um eine Eingabe einer Rechts-Nach-Links Sprache (arabisch, persich, hebräisch) handelt.</value>
+  </string>
+
+  <string id="582" name="tooltip main-menu">
+    <value>Start</value>
+  </string>
+
+  <string id="583" name="tooltip main-menu">
+    <value>Aufgenommene Konferenzen betrachten</value>
+  </string>
+
+  <string id="584" name="tooltip main-menu">
+    <value>Meeting - Machen Sie eine Konferenz&lt;br/&gt;</value>
+  </string>
+
+  <string id="585" name="tooltip main-menu">
+    <value>Event</value>
+  </string>
+
+  <string id="586" name="tooltip main-menu">
+    <value>Benutzer, Konfiguration und Verwaltung</value>
+  </string>
+
+  <string id="587" name="room Administration roomclients list">
+    <value>Benutzer in diesem Raum</value>
+  </string>
+
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+
+  <string id="589" name="room Administration roomclients list">
+    <value>Einloggen</value>
+  </string>
+
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+
+  <string id="591" name="swf sync message">
+    <value>Lade Dokument. Bitte warten Sie bis alle Benutzer synchonisiert wurden.</value>
+  </string>
+
+  <string id="592" name="upload dialog">
+    <value>Dokument hochgeladen. Konvertiere ...</value>
+  </string>
+
+  <string id="593" name="upload dialog">
+    <value>Starte Upload</value>
+  </string>
+
+  <string id="594" name="upload dialog">
+    <value>Hochladen und importieren. Bitte wählen Sie eine Datei aus.</value>
+  </string>
+
+  <string id="595" name="upload Dialog">
+    <value>Abbrechen</value>
+  </string>
+
+  <string id="596" name="upload Dialog">
+    <value>Datei auswählen</value>
+  </string>
+
+  <string id="597" name="administration navigation">
+    <value>Verbindungen</value>
+  </string>
+
+  <string id="598" name="confadmin value list">
+    <value>Wert</value>
+  </string>
+
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+
+  <string id="600" name="connection administration panel">
+    <value>Login</value>
+  </string>
+
+  <string id="601" name="connection administration panel">
+    <value>Verbunden seit</value>
+  </string>
+
+  <string id="602" name="connection administration panel">
+    <value>Raum / Bereich</value>
+  </string>
+
+  <string id="603" name="connection administration panel">
+    <value>Ausloggen</value>
+  </string>
+
+  <string id="604" name="kick user confirmation dialog">
+    <value>Benutzeranbindung ausloggen</value>
+  </string>
+
+  <string id="605" name="kick user confirmation dialog">
+    <value>Wollen Sie diesen Benutzer wirklich von dieser Verbingung ausschließen?&lt;br/&gt; Diese Maßnahme entfernt den Benutzer lediglich aus dem Raum. Der Benutzer kann sich wieder einloggen.</value>
+  </string>
+
+  <string id="606" name="kick user message dialog">
+    <value>Ihre Sitzung wurde beendet.</value>
+  </string>
+
+  <string id="607" name="useralterself_phone">
+    <value>Telefon</value>
+  </string>
+
+  <string id="608" name="participents panel">
+    <value>Benutzer ist Moderator dieses Raumes.</value>
+  </string>
+
+  <string id="609" name="participents panel">
+    <value>Benutzer darf nicht auf dem Zeichenbrett zeichnen</value>
+  </string>
+
+  <string id="610" name="participents panel">
+    <value>Neu starten von Ton/Video oder Einstellungen ändern</value>
+  </string>
+
+  <string id="611" name="participents panel">
+    <value>Diesem Benutzer den Zugang zum Zeichenbrett gewähren.</value>
+  </string>
+
+  <string id="612" name="participents panel">
+    <value>Diesem Benutzer den Zugang zum Zeichenbrett verwehren.</value>
+  </string>
+
+  <string id="613" name="conferencePanels">
+    <value>Benutzer</value>
+  </string>
+
+  <string id="614" name="conferencePanels">
+    <value>Dateien</value>
+  </string>
+
+  <string id="615" name="conferencePanels">
+    <value>Zeichenbrett</value>
+  </string>
+
+  <string id="616" name="conferencePanels">
+    <value>Chat</value>
+  </string>
+
+  <string id="617" name="organization choose info">
+    <value>Ihr Benutzer-Profil ist Mitglied in mehreren Organisationen. Bitte wählen Sie eine für diese Sitzung.</value>
+  </string>
+
+  <string id="618" name="error message room full">
+    <value>Der Raum ist im Moment voll. Bitte versuchen Sie es später noch einmal.</value>
+  </string>
+
+  <string id="619" name="roomtypes">
+    <value>Raumtyp</value>
+  </string>
+
+  <string id="620" name="appointed_room">
+    <value>Termin Raum</value>
+  </string>
+
+  <string id="621" name="servertime">
+    <value>Server Zeit</value>
+  </string>
+
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - Erinnerung</value>
+  </string>
+
+  <string id="623" name="inv_reminder_text_from">
+    <value>Nachricht von Benutzer:</value>
+  </string>
+
+  <string id="624" name="inv_reminder_text_message">
+    <value>Nachricht:</value>
+  </string>
+
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Klicken Sie auf diesen Link um in den Raum zu gelangen [Der Link funktioniert erst 15 Minuten vor dem Meeting!]:</value>
+  </string>
+
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Klicken Sie hier</value>
+  </string>
+
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>Wenn der Link fehlerhaft dargestellt wird, kopieren Sie bitte folgenden Link in die Adresszeile Ihres Browsers:</value>
+  </string>
+
+  <string id="628" name="btn_search_intern">
+    <value>Suche intern</value>
+  </string>
+
+  <string id="629" name="btn_search_extern">
+    <value>Externe Benutzer eingeben</value>
+  </string>
+
+  <string id="630" name="lbl_prename">
+    <value>Vorname</value>
+  </string>
+
+  <string id="631" name="lbl_name">
+    <value>Name</value>
+  </string>
+
+  <string id="632" name="lbl_email">
+    <value>E-Mail</value>
+  </string>
+
+  <string id="633" name="logoutConfirm_title">
+    <value>Abmeldung bestätigen</value>
+  </string>
+
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Wollen Sie sich wirklich ausloggen?</value>
+  </string>
+
+  <string id="635" name="main menu">
+    <value>Aktionen</value>
+  </string>
+
+  <string id="636" name="room admin">
+    <value>Demoraum</value>
+  </string>
+
+  <string id="637" name="room admin">
+    <value>Demo Zeit</value>
+  </string>
+
+  <string id="638" name="meeting Timer">
+    <value>Meeting Zeitmesser</value>
+  </string>
+
+  <string id="639" name="meeting Timer">
+    <value>Dies ist ein Demo-Raum. Um diesen Hinweis abzuschalten sollten Sie entweder einen privaten Meeting-Raum für Ihren persönlichen Zweck aufsuchen oder Ihren eigenen Server anlegen. Sie werden automatisch ausgeloggt in:</value>
+  </string>
+
+  <string id="640" name="meeting room administration">
+    <value>Moderiert</value>
+  </string>
+
+  <string id="641" name="moderated room waiting message">
+    <value>Bitte warten Sie bis der Moderator den Raum betreten hat. Der Moderator kann ein Lehrer, ein Administrator oder der Erschaffer dieses Raumes sein.</value>
+  </string>
+
+  <string id="642" name="error popup">
+    <value>Ok</value>
+  </string>
+
+  <string id="643" name="window screensharing">
+    <value>Einkommende Bildteilung</value>
+  </string>
+
+  <string id="644" name="window screen sharing">
+    <value>Es gibt eine neue ankommende Bildteilung vom Benutzer:</value>
+  </string>
+
+  <string id="645" name="window screen sharing">
+    <value>Beginne Teilung</value>
+  </string>
+
+  <string id="646" name="calendar">
+    <value>Füge ein neues Meeting hinzu</value>
+  </string>
+
+  <string id="647" name="calendar">
+    <value>Meeting Raum</value>
+  </string>
+
+  <string id="648" name="calendar">
+    <value>Event Raum</value>
+  </string>
+
+  <string id="649" name="main menu moderation">
+    <value>Moderation</value>
+  </string>
+
+  <string id="650" name="menu moderation">
+    <value>Moderiere Benutzer</value>
+  </string>
+
+  <string id="651" name="menu moderation">
+    <value>Moderiere Räume</value>
+  </string>
+
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+
+  <string id="653" name="confirm moderation">
+    <value>Wollen Sie diesen Benutzer zum Moderator der Organisation ernennen?</value>
+  </string>
+
+  <string id="654" name="error message">
+    <value>Bitte wählen Sie zuerst die Organisation aus bevor Sie einen Benutzer hinzufügen wollen!</value>
+  </string>
+
+  <string id="655" name="choose user window">
+    <value>Organisation - Moderator</value>
+  </string>
+
+  <string id="656" name="moderator org users">
+    <value>Wollen Sie diesen Benutzer aus der Organisation wirklich löschen?</value>
+  </string>
+
+  <string id="657" name="org moderation">
+    <value>Dieser Benutzer ist ein Moderator</value>
+  </string>
+
+  <string id="658" name="org moderation">
+    <value>Dieser Benutzer ist kein Moderator</value>
+  </string>
+
+  <string id="659" name="error message moderation">
+    <value>Wollen Sie diesem Benutzer die Funktion des Moderators entziehen?</value>
+  </string>
+
+  <string id="660" name="moderation">
+    <value>Räume innerhalb der Organisation hinzufügen oder löschen</value>
+  </string>
+
+  <string id="661" name="delete confirm question">
+    <value>Wollen Sie diese Aufnahme wirklich löschen?</value>
+  </string>
+
+  <string id="662" name="delete confirm question user moderation">
+    <value>Wollen Sie diesen Benutzer aus Ihrer Organisation wirklich löschen? Sie werden nur die Verbindung zwischen dem Benutzer und Ihrer Organisation löschen können, um den Benutzer wirklich zu löschen brauchen Sie Administrator-Rechte.</value>
+  </string>
+
+  <string id="663" name="error message self deleting">
+    <value>Sie können Ihren eigenen Nutzeraccount nicht löschen!</value>
+  </string>
+
+  <string id="664" name="error message auth">
+    <value>Diese Methode benötigt ein Administrator-Account um aufgerufen zu werden.</value>
+  </string>
+
+  <string id="665" name="error message SOAP">
+    <value>Es ist keine Sitzung mit dieser ID verbungen.</value>
+  </string>
+
+  <string id="666" name="error message moderation">
+    <value>Dies ist ein Administrator- oder Moderator-Account. Dieses Account können Sie nur mittels eines Administrator-Tableau bearbeiten.</value>
+  </string>
+
+  <string id="667" name="email verification">
+    <value>Um Ihre Registration abzuschließen klicken Sie bitte auf den folgenden Link. Oder kopieren Sie die URL(Link) in Ihre Browser-Adressleiste.</value>
+  </string>
+
+  <string id="668" name="email verification">
+    <value>Klicken Sie um Ihre E-Mail zu bestätigen</value>
+  </string>
+
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Es wurde kein Benutzer für diesen Hash gefunden.</value>
+  </string>
+
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Dieser Benutzer ist bereits aktiviert!</value>
+  </string>
+
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Sie haben Ihr Account erfolgreich aktiviert!</value>
+  </string>
+
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Jetzt einloggen</value>
+  </string>
+
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Ihr Account ist nicht aktiviert. Benutzen Sie zuerst den Link in der E-Mail die Sie während der Registrierung erhalten haben.</value>
+  </string>
+
+  <string id="674" name="register verification message">
+    <value>Sie haben sich erfolgreich angemeldet. Wir haben eine E-Mail mit einem Verifizierungscode an Ihre E-Mail-Adresse geschickt. Bitte überprüfen Sie Ihren Posteingang.</value>
+  </string>
+
+  <string id="675" name="participants panel">
+    <value>Diesem Benutzer die Moderationsrechte entziehen.</value>
+  </string>
+
+  <string id="676" name="participants panel">
+    <value>Diesem Benutzer Moderatoionsrechte übertragen</value>
+  </string>
+
+  <string id="677" name="event user list">
+    <value>Benutzer</value>
+  </string>
+
+  <string id="678" name="event user list">
+    <value>Zugang zum Zeichenbrett</value>
+  </string>
+
+  <string id="679" name="event user list">
+    <value>Moderator</value>
+  </string>
+
+  <string id="680" name="event user list">
+    <value>Moderation: Bitte wählen Sie einen beliebigen Benutzer aus der Liste um ihm den Zugriff auf die Zeichenbrett, die Moderation oder das Video zu ermöglichen.</value>
+  </string>
+
+  <string id="681" name="event user list">
+    <value>Dieser Benutzer ist bereits Moderator. Er hat automatisch das Recht zu zeichnen.</value>
+  </string>
+
+  <string id="682" name="event user list error">
+    <value>Das sind Sie! Sie können Ihre eigenen Moderatorrechte nicht entfernen.</value>
+  </string>
+
+  <string id="683" name="event user list">
+    <value>Erlaube diesem Benutzer sein Video/ Audio zu veröffentlichen</value>
+  </string>
+
+  <string id="684" name="event user list">
+    <value>Audio/Video von diesem Benutzer entfernen</value>
+  </string>
+
+  <string id="685" name="event user list">
+    <value>Ich würde gerne die Moderation dieses Raumes übernehmen.</value>
+  </string>
+
+  <string id="686" name="event user list">
+    <value>Ich würde gerne auf dem Zeichenbrett zeichnen.</value>
+  </string>
+
+  <string id="687" name="event user list">
+    <value>Ich würde gerne mein Audio/Video mit anderen teilen</value>
+  </string>
+
+  <string id="688" name="event user list">
+    <value>Sie sind der Moderator dieses Raumes</value>
+  </string>
+
+  <string id="689" name="event user list">
+    <value>Ihnen ist es erlaubt, auf dem Zeichenbrett zu zeichnen</value>
+  </string>
+
+  <string id="690" name="event user list">
+    <value>Ihnen ist es erlaubt, Ihr Audio/Video mit anderen zu teilen</value>
+  </string>
+
+  <string id="691" name="errortype">
+    <value>Nachricht an den Moderator</value>
+  </string>
+
+  <string id="692" name="apply for mod message">
+    <value>Der Benutzer</value>
+  </string>
+
+  <string id="693" name="apply for mod message">
+    <value>würde gerne die Moderation übernehmen.</value>
+  </string>
+
+  <string id="694" name="apply for whiteboard">
+    <value>würde gerne auf dem Zeichenbrett zeichnen.</value>
+  </string>
+
+  <string id="695" name="695">
+    <value>würde gerne sein Audio/Video mit anderen teilen.</value>
+  </string>
+
+  <string id="696" name="moderation message">
+    <value>Sie müssen warten bis der Moderator den Raum betritt.</value>
+  </string>
+
+  <string id="697" name="calendar button">
+    <value>Abbruch</value>
+  </string>
+
+  <string id="698" name="calendar button">
+    <value>Speichern</value>
+  </string>
+
+  <string id="699" name="calendar component">
+    <value>Tag</value>
+  </string>
+
+  <string id="700" name="calendar component">
+    <value>Monat</value>
+  </string>
+
+  <string id="701" name="calendar component">
+    <value>Jahr</value>
+  </string>
+
+  <string id="702" name="file explorer">
+    <value>Datei hochladen</value>
+  </string>
+
+  <string id="703" name="file explorer">
+    <value>Ordner hinzufügen</value>
+  </string>
+
+  <string id="704" name="file explorer">
+    <value>Aktualisieren</value>
+  </string>
+
+  <string id="705" name="file explorer">
+    <value>Papierkorb (Ziehen Sie ein File mit der Maus hierher)</value>
+  </string>
+
+  <string id="706" name="file explorer">
+    <value>Meine Dateien (persönliches Laufwerk)</value>
+  </string>
+
+  <string id="707" name="file explorer">
+    <value>Konferenzdokumente (öffentliches Laufwerk)</value>
+  </string>
+
+  <string id="708" name="file explorer">
+    <value>Datei hinzufügen</value>
+  </string>
+
+  <string id="709" name="file explorer">
+    <value>Ordner hinzufügen</value>
+  </string>
+
+  <string id="710" name="file explorer">
+    <value>Ordner löschen</value>
+  </string>
+
+  <string id="711" name="file explorer">
+    <value>Name bearbeiten</value>
+  </string>
+
+  <string id="712" name="file explorer">
+    <value>Neuer Ordner</value>
+  </string>
+
+  <string id="713" name="file explorer">
+    <value>Sind Sie sicher, dass Sie dieses Element löschen wollen?</value>
+  </string>
+
+  <string id="714" name="user admin">
+    <value>Suche</value>
+  </string>
+
+  <string id="715" name="user admin">
+    <value>Suche</value>
+  </string>
+
+  <string id="716" name="file explorer">
+    <value>Dokument öffnen</value>
+  </string>
+
+  <string id="717" name="file explorer">
+    <value>Zeige alle Dateien (Baum Ansicht)</value>
+  </string>
+
+  <string id="718" name="file explorer">
+    <value>Dokument schließen</value>
+  </string>
+
+  <string id="719" name="file explorer">
+    <value>Datei löschen</value>
+  </string>
+
+  <string id="720" name="file explorer">
+    <value>Es ist Ihnen nicht gestattet auf dem Zeichenbrett zu zeichnen. Sie müssen Moderator sein oder zumindest das Recht besitzen das Zeichenbrett zu bearbeiten. Sie können den Moderator nach den Rechten fragen.</value>
+  </string>
+
+  <string id="721" name="property panel">
+    <value>Dokumenteigenschaften</value>
+  </string>
+
+  <string id="722" name="sharing session">
+    <value>Starte Client (extern)</value>
+  </string>
+
+  <string id="723" name="sharing session">
+    <value>Starte Client (HTTP)</value>
+  </string>
+
+  <string id="724" name="sharing session">
+    <value>Ein Benutzer will seinen Desktop freigeben. Wollen Sie ihn sehen?</value>
+  </string>
+
+  <string id="725" name="sharing session">
+    <value>Sie haben ihren Desktop freigegeben. Wenn Sie die Freigabe beenden wollen drücken Sie die Anhalten-Schaltfläche im Desktop Sharer.</value>
+  </string>
+
+  <string id="726" name="sharing session">
+    <value>Geteilte Sitzung</value>
+  </string>
+
+  <string id="727" name="sharing session">
+    <value>Sie haben Ihren Desktop bereits freigegeben!</value>
+  </string>
+
+  <string id="728" name="sharing client">
+    <value>Desktop-Betrachter</value>
+  </string>
+
+  <string id="729" name="sharing client">
+    <value>Beenden</value>
+  </string>
+
+  <string id="730" name="sharing client">
+    <value>Desktop-Teiler</value>
+  </string>
+
+  <string id="731" name="sharing client">
+    <value>Drücken Sie Start, um ihren Desktop freizugeben</value>
+  </string>
+
+  <string id="732" name="sharing client">
+    <value>Start</value>
+  </string>
+
+  <string id="733" name="sharing client">
+    <value>Anhalten</value>
+  </string>
+
+  <string id="734" name="sharing client">
+    <value>Wählen Sie einen Bildschirmbereich aus:</value>
+  </string>
+
+  <string id="735" name="sharing client">
+    <value>Breite ändern</value>
+  </string>
+
+  <string id="736" name="sharing client">
+    <value>Die Freigabe wurde beendet!</value>
+  </string>
+
+  <string id="737" name="sharing client">
+    <value>Höhe ändern</value>
+  </string>
+
+  <string id="738" name="sharing client">
+    <value>X-Abstand</value>
+  </string>
+
+  <string id="739" name="sharing client">
+    <value>Y-Abstand</value>
+  </string>
+
+  <string id="740" name="sharing client">
+    <value>Breite:</value>
+  </string>
+
+  <string id="741" name="sharing client">
+    <value>Höhe:</value>
+  </string>
+
+  <string id="742" name="sharing client">
+    <value>Die Verbindung wurde vom Server abgebrochen.</value>
+  </string>
+
+  <string id="743" name="sharing viewer">
+    <value>Abbrechen</value>
+  </string>
+
+  <string id="744" name="sharing viewer">
+    <value>Extern starten</value>
+  </string>
+
+  <string id="745" name="sharing viewer">
+    <value>Wenn Sie diese Session schließen, können Sie die Session nicht wieder starten.</value>
+  </string>
+
+  <string id="746" name="sharing viewer">
+    <value>Sitzung wirklich schließen?</value>
+  </string>
+
+  <string id="747" name="sharing viewer">
+    <value>Bildschirm teilen</value>
+  </string>
+
+  <string id="748" name="sharing viewer">
+    <value>Sitzung aufnehmen</value>
+  </string>
+
+  <string id="749" name="co-browser">
+    <value>Geteiltes surfen</value>
+  </string>
+
+  <string id="750" name="co-browser">
+    <value>Upsa, ... Firefox unter Windows ist nicht in der Lage, mangelfreies Co-Browsing zu gewährleisten. Bitte benutzen Sie einen anderen Browser um die Co-Browsing-Funktion zu nutzen.</value>
+  </string>
+
+  <string id="751" name="co-browser">
+    <value>Vorherige</value>
+  </string>
+
+  <string id="752" name="co-browser">
+    <value>Nächste</value>
+  </string>
+
+  <string id="753" name="co-browser">
+    <value>Nachladen</value>
+  </string>
+
+  <string id="754" name="co-browser">
+    <value>Heim</value>
+  </string>
+
+  <string id="755" name="co-browser">
+    <value>Laden</value>
+  </string>
+
+  <string id="756" name="co-browser">
+    <value>Diese Webseite als vorgegebene Webseite zu meinem Profil hinzufügen.</value>
+  </string>
+
+  <string id="757" name="test setup">
+    <value>Teste Setup</value>
+  </string>
+
+  <string id="758" name="test setup">
+    <value>Überprüfen Sie Ihre Mikrofon- und Kameraeinstellungen bevor Sie einen Raum betreten und Aufzeichnungen durchführen. Sie können Ihre Aufnahmen im Nachhinein abspielen.</value>
+  </string>
+
+  <string id="759" name="test setup">
+    <value>Dieses Fenster nicht wieder anzeigen</value>
+  </string>
+
+  <string id="760" name="test setup">
+    <value>Abbrechen</value>
+  </string>
+
+  <string id="761" name="test setup">
+    <value>Beginne Konferenz</value>
+  </string>
+
+  <string id="762" name="edit video settings">
+    <value>Nicht wieder fragen</value>
+  </string>
+
+  <string id="763" name="test setup">
+    <value>Aufnahme</value>
+  </string>
+
+  <string id="764" name="test setup">
+    <value>Abspielen</value>
+  </string>
+
+  <string id="765" name="test setup">
+    <value>Sie können auch ohne einen Test fortfahren, falls Sie beabsichtigen Ihre Stimme oder Ihr Bild nicht zu veröffentlichen. Kursteilnehmer ohne Video oder Audio können dennoch das Zeichenbrett benutzen, ihren Desktop mit anderen teilen oder am Chat teilnehmen.</value>
+  </string>
+
+  <string id="766" name="test setup">
+    <value>Stop</value>
+  </string>
+
+  <string id="767" name="767">
+    <value>Lautstärke</value>
+  </string>
+
+  <string id="768" name="start view">
+    <value>Start drücken</value>
+  </string>
+
+  <string id="769" name="start view">
+    <value>Konferenz starten</value>
+  </string>
+
+  <string id="770" name="start view">
+    <value>Event starten</value>
+  </string>
+
+  <string id="771" name="start view">
+    <value>Raum wählen</value>
+  </string>
+
+  <string id="772" name="start view">
+    <value>Prüfe Setup</value>
+  </string>
+
+  <string id="773" name="start view">
+    <value>Starte Konferenz</value>
+  </string>
+
+  <string id="774" name="start view">
+    <value>Wie starte ich eine Konferenz</value>
+  </string>
+
+  <string id="775" name="test setup">
+    <value>Starte Aufnahme</value>
+  </string>
+
+  <string id="776" name="test setup">
+    <value>Audio-/Video-Test (Aufnahme) vor dem Betreten einer Konferenz nicht zeigen</value>
+  </string>
+
+  <string id="777" name="overview room">
+    <value>Öffentliche Räume</value>
+  </string>
+
+  <string id="778" name="overview room">
+    <value>Öffentliche Räume können von allen Benutzern benutzt werden.</value>
+  </string>
+
+  <string id="779" name="overview room">
+    <value>Gruppenräume</value>
+  </string>
+
+  <string id="780" name="Private Rooms">
+    <value>Private Räume sind nur für Benutzer in der selben Organisation verfügbar.</value>
+  </string>
+
+  <string id="781" name="overview room">
+    <value>Private Räume</value>
+  </string>
+
+  <string id="782" name="overview room">
+    <value>Räume in diesem Bereich sind für den persönlichen Bedarf. Die Räume haben ein Start und Enddatum und stehen nur in diesem Zeitraum zur Verfügung.</value>
+  </string>
+
+  <string id="783" name="restricted room">
+    <value>Sie müssen Moderator sein, um diese Aktion auszuführen.</value>
+  </string>
+
+  <string id="784" name="menu option">
+    <value>Moderation beantragen</value>
+  </string>
+
+  <string id="785" name="menu option">
+    <value>Zeichenbrett beantragen</value>
+  </string>
+
+  <string id="786" name="menu option">
+    <value>WebCam/Mikrofon beantragen</value>
+  </string>
+
+  <string id="787" name="error message soap secure login">
+    <value>Dieser SessionHasgh wird bereits genutzt. Er kann nicht zweifach vergeben werden.</value>
+  </string>
+
+  <string id="788" name="dashboard button">
+    <value>START</value>
+  </string>
+
+  <string id="789" name="exit conference">
+    <value>EXIT</value>
+  </string>
+
+  <string id="790" name="conference view">
+    <value>Wollen Sie die Konferenz wirklich verlassen? Vielleicht sollten Sie zuerst Dokumente, Zeichenbrett und Chat History leeren. Andernfalls werden die Dateien einfach in diesem Raum bis zu Ihrem nächsten Besuch bleiben.</value>
+  </string>
+
+  <string id="791" name="conference view">
+    <value>Konferenz beenden</value>
+  </string>
+
+  <string id="792" name="main menu">
+    <value>Räume</value>
+  </string>
+
+  <string id="793" name="main menu">
+    <value>Wählen Sie einen Raum für die Konferenz aus</value>
+  </string>
+
+  <string id="794" name="calendar">
+    <value>Es ist ein nicht gespeichertes Event im Kalender. Speichern Sie es oder löschen Sie es wieder.</value>
+  </string>
+
+  <string id="795" name="calendar">
+    <value>Bitte fügen Sie mindestens einen Teilnehmer zum Event.</value>
+  </string>
+
+  <string id="796" name="calendar">
+    <value>Soll dieses Event wirklich aus dem Kalender gelöscht werden?</value>
+  </string>
+
+  <string id="797" name="calendar">
+    <value>Warnung</value>
+  </string>
+
+  <string id="798" name="calendar">
+    <value>Neues Event</value>
+  </string>
+
+  <string id="799" name="calendar">
+    <value>Tag</value>
+  </string>
+
+  <string id="800" name="calendar">
+    <value>Woche</value>
+  </string>
+
+  <string id="801" name="calendar">
+    <value>Monat</value>
+  </string>
+
+  <string id="802" name="calendar">
+    <value>Beschreibung</value>
+  </string>
+
+  <string id="803" name="calendar">
+    <value>Teilnehmer</value>
+  </string>
+
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, Ihre Web Konferenz Plattform. Entweder starten Sie sofort ein Meeting indem Sie den 1-2-3 Anweisungen folgen oder Sie benutzen "Meetings planen" um eine Konferenz zu planen.</value>
+  </string>
+
+  <string id="805" name="dashboard">
+    <value>Konferenz planen</value>
+  </string>
+
+  <string id="806" name="lzcalendar">
+    <value>Um eine Konferenz zu planen können Sie einen Event im Kalender hinzufügen.</value>
+  </string>
+
+  <string id="807" name="lzcalendar">
+    <value>Brauchen Sie Hilfe?</value>
+  </string>
+
+  <string id="808" name="lzcalendar">
+    <value>Webinar</value>
+  </string>
+
+  <string id="809" name="lzcalender">
+    <value>Suche</value>
+  </string>
+
+  <string id="810" name="lzcalender">
+    <value>Ok</value>
+  </string>
+
+  <string id="811" name="lzcalendar">
+    <value>Es ist kein Benutzer ausgewählt. Wählen Sie zuerst einen Benutzer und drücken dann Ok.</value>
+  </string>
+
+  <string id="812" name="lzcalendar">
+    <value>Teilnehmer hinzufügen</value>
+  </string>
+
+  <string id="813" name="lzcalendar">
+    <value>Speichern</value>
+  </string>
+
+  <string id="814" name="lzcalendar">
+    <value>Löschen</value>
+  </string>
+
+  <string id="815" name="lzcalendar">
+    <value>Event Details</value>
+  </string>
+
+  <string id="816" name="room admin">
+    <value>Default Moderatoren</value>
+  </string>
+
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+
+  <string id="819" name="room admin">
+    <value>Name</value>
+  </string>
+
+  <string id="820" name="room admin">
+    <value>E-Mail</value>
+  </string>
+
+  <string id="821" name="room admin">
+    <value>Neuen Default-Moderator hinzufügen</value>
+  </string>
+
+  <string id="822" name="room admin">
+    <value>Ist Super-Moderator</value>
+  </string>
+
+  <string id="823" name="room admin">
+    <value>In einem moderierten Raum sind Nutzer mit den Rollen Level-Moderator oder Administrator beim Betreten des Raums automatisch Moderatoren. Um dies abzuschalten, verwenden Sie die Funktion Default-Moderator.</value>
+  </string>
+
+  <string id="824" name="room admin">
+    <value>Der Super-Moderator ist beim Betreten eines Raums immer Moderator. Das Recht kann ihm im Raum nicht genommen werden.</value>
+  </string>
+
+  <string id="825" name="room admin">
+    <value>Nutzer Super-Moderatorrechte zuweisen</value>
+  </string>
+
+  <string id="826" name="room admin">
+    <value>Nutzer Super-Moderatorrechte aberkennen</value>
+  </string>
+
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+
+  <string id="828" name="room admin">
+    <value>Wenn eine Organisation einen Raum zugewiesen wird, haben nur Mitglieder der Organisation Zugang. (Dies gilt nur wenn die Einstellung isPublic auf false gesetzt wurde!)</value>
+  </string>
+
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+
+  <string id="830" name="room admin">
+    <value>Begrenzungen</value>
+  </string>
+
+  <string id="831" name="room admin">
+    <value>Organisation</value>
+  </string>
+
+  <string id="832" name="confirm action">
+    <value>Sind Sie sicher?</value>
+  </string>
+
+  <string id="833" name="confirm delete">
+    <value>Wollen Sie den Wert wirklich löschen? Mit dem Speichern-Button ändern Sie die Einträge!</value>
+  </string>
+
+  <string id="834" name="user choose error">
+    <value>Es wurde kein Nutzer ausgewählt. Bitte erst auswählen, um ihn hinzuzufügen!</value>
+  </string>
+
+  <string id="835" name="room admin">
+    <value>Neuen Default-Moderator hinzufügen</value>
+  </string>
+
+  <string id="836" name="room admin">
+    <value>Soll dieser Nutzer Super-Moderation werden? Super-Moderatorenrechte können nicht gelöscht werden. Zum Speichern der Einstellungen muss das Raumobjekt gespeichert werden!</value>
+  </string>
+
+  <string id="837" name="room admin">
+    <value>Sollen die Super-Moderatorenrechte für diesen Nutzer aufgehoben werden? Zum Speichern der Einstellungen muss das Raumobjekt gespeichert werden!</value>
+  </string>
+
+  <string id="838" name="super moderator">
+    <value>Dies ist ein Super-Moderator. Sie können die Moderationsrechte dem Nutzer nicht entziehen!</value>
+  </string>
+
+  <string id="839" name="confirm delete">
+    <value>Wollen Sie wirklich diese Datei oder Ordner löschen?</value>
+  </string>
+
+  <string id="840" name="confirm delete">
+    <value>Datei/Ordner löschen?</value>
+  </string>
+
+  <string id="841" name="salutation">
+    <value>Fräulein</value>
+  </string>
+
+  <string id="842" name="salutation">
+    <value>Dr.</value>
+  </string>
+
+  <string id="843" name="property panel whiteboard">
+    <value>Properties</value>
+  </string>
+
+  <string id="844" name="screen sharer">
+    <value>Teilnehmern Mauszeiger anzeigen</value>
+  </string>
+
+  <string id="845" name="publish option">
+    <value>Audio mit SIP Applet übertragen</value>
+  </string>
+
+  <string id="846" name="publish option">
+    <value>Audio mit SIP aud Video mit Flash übertragen</value>
+  </string>
+
+  <string id="847" name="document panel">
+    <value>Vollformat</value>
+  </string>
+
+  <string id="848" name="screen share">
+    <value>Bildschirm zeigen</value>
+  </string>
+
+  <string id="849" name="screen share">
+    <value>Der Nutzer</value>
+  </string>
+
+  <string id="850" name="screen share">
+    <value>möchte den Bildschirm übertragen. Wollen Sie ihn sehen?</value>
+  </string>
+
+  <string id="851" name="screen share">
+    <value>Schließen</value>
+  </string>
+
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+
+  <string id="853" name="screen sharer">
+    <value>Die Sitzung wurde vom übertragenden Nutzer geschlossen!</value>
+  </string>
+
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+
+  <string id="855" name="screen sharer">
+    <value>Neuer Desktop verfügbar</value>
+  </string>
+
+  <string id="856" name="presenter mini icon">
+    <value>Minimieren</value>
+  </string>
+
+  <string id="857" name="presenter mini icon">
+    <value>Maximieren</value>
+  </string>
+
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+
+  <string id="859" name="flvrecording">
+    <value>Video Zeitspur</value>
+  </string>
+
+  <string id="860" name="flvrecording">
+    <value>Meine Aufnahmen</value>
+  </string>
+
+  <string id="861" name="flvrecording">
+    <value>Öffentliche Aufnahmen</value>
+  </string>
+
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+
+  <string id="863" name="flvrecording">
+    <value>Name</value>
+  </string>
+
+  <string id="864" name="flvrecording">
+    <value>Länge</value>
+  </string>
+
+  <string id="865" name="flvrecording">
+    <value>Datum</value>
+  </string>
+
+  <string id="866" name="flvrecording">
+    <value>Von</value>
+  </string>
+
+  <string id="867" name="flvrecording">
+    <value>Download</value>
+  </string>
+
+  <string id="868" name="flvrecording">
+    <value>Haupt - Video</value>
+  </string>
+
+  <string id="869" name="screen share">
+    <value>Aufnahmen</value>
+  </string>
+
+  <string id="870" name="screen share">
+    <value>Sie können gleichzeitig ihren Bildschirm teilen oder auch die komplette Session aufnehmen. Wenn Sie nur den Bildschirm teilen wollen genügt es oben Start zu drücken. Die fertige Aufnahme befindet sich bei den anderen Aufnahmen im öffentlichen Ordner.</value>
+  </string>
+
+  <string id="871" name="screen share">
+    <value>Aufnahme starten</value>
+  </string>
+
+  <string id="872" name="screen share">
+    <value>Aufnahme stoppen</value>
+  </string>
+
+  <string id="873" name="flvrecording">
+    <value>Download FLV-Datei</value>
+  </string>
+
+  <string id="874" name="flvrecording">
+    <value>Raum</value>
+  </string>
+
+  <string id="875" name="flvrecording">
+    <value>Abspielen</value>
+  </string>
+
+  <string id="876" name="flvrecording">
+    <value>Stopp</value>
+  </string>
+
+  <string id="877" name="flvrecording">
+    <value>Teilnehmer hat das Mikrofon an</value>
+  </string>
+
+  <string id="878" name="sharing client">
+    <value>Bildschirm teilen stoppen</value>
+  </string>
+
+  <string id="879" name="room config">
+    <value>Benutzerfragen erlauben</value>
+  </string>
+
+  <string id="880" name="room config">
+    <value>Wenn Sie diese Option aktivieren ist die Schaltfläche zum beantragen der Moderation für andere Teilnehmer nicht sichtbar und Sie werden nicht in ihrem Vortrag gestört.</value>
+  </string>
+
+  <string id="881" name="room config">
+    <value>Rechte</value>
+  </string>
+
+  <string id="882" name="flvrecording">
+    <value>Download AVI</value>
+  </string>
+
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+
+  <string id="886" name="flvrecording">
+    <value>Nur Audio nur</value>
+  </string>
+
+  <string id="887" name="flvrecording">
+    <value>Es gab Fehler beim Verarbeiten der Aufzeichnung.</value>
+  </string>
+
+  <string id="888" name="flvrecording">
+    <value>Die Aufzeichnung ist noch nicht zur Wiedergabe bereit. Versuchen Sie es in einigen Minuten erneut.</value>
+  </string>
+
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+
+  <string id="890" name="flvrecording">
+    <value>Recorder Nachricht</value>
+  </string>
+
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+
+  <string id="892" name="sip applet">
+    <value>SIP Applet ist nicht bereit</value>
+  </string>
+
+  <string id="893" name="user administration">
+    <value>SIP-Account Einstellungen</value>
+  </string>
+
+  <string id="894" name="user administration">
+    <value>SIP Einstellungen für jeden Nutzer. De-Aktivieren Sie SIP über Administration &gt; Konfiguration (Key: enable_sip). Die SIP Daten für jeden Nutzer sollten automatisch generiert werden. Sie können diese neu erstellen lassen über die Funktion "Re-Generate/Wieder Herstellen der SIP Daten"</value>
+  </string>
+
+  <string id="895" name="user administration">
+    <value>SIP-Nutzer</value>
+  </string>
+
+  <string id="896" name="user administration">
+    <value>Sip-Passwort</value>
+  </string>
+
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+
+  <string id="898" name="sip status message">
+    <value>Der Login zum SIP Gateway ist fehlgeschlagen. Prüfen Sie die Authentifizierungsdaten zum SIP-Provider und die SIP-Account Daten für jeden Nutzer. Als Administrator können Sie sich enloggen und die Konfiguration überprüfen. Nur Nutzer und Moderatoren sind derzeit von den Aktionen ausgeschlossen.</value>
+  </string>
+
+  <string id="899" name="sip status message">
+    <value>Der Login zum SIP Gateway ist fehlgeschlagen. Kontakten Sie das SerrviceTeam.</value>
+  </string>
+
+  <string id="900" name="sip status message">
+    <value>Am SIP-Gateway einloggen...</value>
+  </string>
+
+  <string id="901" name="sip status message">
+    <value>Am SIP-Gateway einloggen ...</value>
+  </string>
+
+  <string id="902" name="flvrecording">
+    <value>Log anzeigen</value>
+  </string>
+
+  <string id="903" name="flvrecording">
+    <value>Log-Mitteilungen früherer Aufzeichnungen</value>
+  </string>
+
+  <string id="904" name="sip login">
+    <value>SIP-Applet Mitteilungen</value>
+  </string>
+
+  <string id="905" name="sip login">
+    <value>Das SIP-Applet ist nicht bereit. Applet bitte bestätigen und dann 'OK' klicken.</value>
+  </string>
+
+  <string id="906" name="moderator pop up">
+    <value>Moderation bekommen</value>
+  </string>
+
+  <string id="907" name="lzcalendar">
+    <value>Terminänderungen speichern</value>
+  </string>
+
+  <string id="908" name="lzcalendar">
+    <value>Der Termin wurde geändert. Wollen Sie die Änderungen nun speichern? &lt;br/&gt;&lt;br/&gt;Alle Teilnehmer des Termins erhalten nun eine Benachrichtigung per E-Mail mit den neuen Daten (abhängig vom Benachrichtigungstyp).</value>
+  </string>
+
+  <string id="909" name="flv recorder error message">
+    <value>Zugriff zu anderen Aufzeichnungen über $APP_NAME Application.</value>
+  </string>
+
+  <string id="910" name="interview video pod">
+    <value>Nutzer für dieses Video auswählen</value>
+  </string>
+
+  <string id="911" name="interview video choose user">
+    <value>Verfügbare Nutzer für dieses Pod</value>
+  </string>
+
+  <string id="912" name="interview info">
+    <value>Sie sind Moderator dieses Interview. Sie legen die Sprecher fest und können die Aufzeichnung starten und stoppen.</value>
+  </string>
+
+  <string id="913" name="interview button recording">
+    <value>Aufzeichnung starten</value>
+  </string>
+
+  <string id="914" name="interview button recording">
+    <value>Aufzeichnung stoppen</value>
+  </string>
+
+  <string id="915" name="interview error message">
+    <value>Die Interviewaufzeichung wurde bereits gestartet.</value>
+  </string>
+
+  <string id="916" name="interview error message">
+    <value>Die Aufzeichung wurde bereits gestoppt oder noch nicht gestartet.</value>
+  </string>
+
+  <string id="917" name="interview recording message">
+    <value>Die Aufzeichnung des Interviews wurde bereits gestartet.</value>
+  </string>
+
+  <string id="918" name="interview error message">
+    <value>Abbrechen</value>
+  </string>
+
+  <string id="919" name="interview error message">
+    <value>Die Nachbearbeitung eines Interview benötigt fünf Minuten für jede aufgezeichnete Minute. Die Anzeige zeigt den Fortschritt:</value>
+  </string>
+
+  <string id="920" name="sip creation">
+    <value>Sie müssen das Passwort erneut eingeben, um SIP Daten automatisch zu erzeugen.</value>
+  </string>
+
+  <string id="921" name="sip creation">
+    <value>SIP Daten neu erzeugen</value>
+  </string>
+
+  <string id="922" name="fileexplorer">
+    <value>Sie können die Datei oder Ordner nicht in einen eigenen Unterordner verschieben.</value>
+  </string>
+
+  <string id="923" name="file explorer ">
+    <value>Größe Homeverzeichnis</value>
+  </string>
+
+  <string id="924" name="file explorer">
+    <value>Größe öffentliches Verzeichnis</value>
+  </string>
+
+  <string id="925" name="user-admin">
+    <value>Lizenzeinstellungen</value>
+  </string>
+
+  <string id="926" name="user-admin">
+    <value>Mit der Lizenzaktivierung können Sie ein Ablaufdatum oder eine Höchstnutzungszeit (Minuten) für Nutzer festlegen.</value>
+  </string>
+
+  <string id="927" name="user-admin">
+    <value>Lizenz prüfen</value>
+  </string>
+
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+
+  <string id="929" name="user-admin">
+    <value>Ablaufdatum</value>
+  </string>
+
+  <string id="930" name="user-admin">
+    <value>Verbrauchte Sekunden</value>
+  </string>
+
+  <string id="931" name="user-admin">
+    <value>Gesamtzeit</value>
+  </string>
+
+  <string id="932" name="user-license">
+    <value>Ihre Lizenz ist abgelaufen. Sie können weitere Minuten ((Pay-per-minute) oder eine Flatate erwerben.</value>
+  </string>
+
+  <string id="933" name="user-license">
+    <value>Click-and-buy</value>
+  </string>
+
+  <string id="934" name="user-license">
+    <value>Restzeit für Account:</value>
+  </string>
+
+  <string id="935" name="user-license">
+    <value>Nutzerlizenzinformation</value>
+  </string>
+
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+
+  <string id="937" name="user-license">
+    <value>Schließen</value>
+  </string>
+
+  <string id="938" name="license-info">
+    <value>Ihre Lizenz ist abgelaufen. Sie können weitere Minuten ((Pay-per-minute) oder eine Flatate erwerben.</value>
+  </string>
+
+  <string id="939" name="user-license">
+    <value>Lizenzeinstellungen</value>
+  </string>
+
+  <string id="940" name="user-license">
+    <value>Sie können entweder Nutzungszeit für Webkonferenzen (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; oder eine Volumenflatrate für 3-12 Monate erwerben. &lt;br/&gt;&lt;br/&gt;Der Versand von Einladungen mit direktem Link zum Konferenzraum oder dasErstellen von Konferenzräumen mittels Kalender für externe Nutzer ist nur mit einer Volumenflatrate zulässig.</value>
+  </string>
+
+  <string id="941" name="user-license">
+    <value>60 Minuten 9,99 EURO (16 Cent pro Minute) kaufen</value>
+  </string>
+
+  <string id="942" name="user-license">
+    <value>5 Stunden 19,99 EURO (6 Cent pro Minute) kaufen</value>
+  </string>
+
+  <string id="943" name="user-license">
+    <value>3 Monate für 29,99 EURO (9,99 Euro pro Monat) kaufen</value>
+  </string>
+
+  <string id="944" name="user-license">
+    <value>6 Monate fürr 39,99 EURO (6,66 Euro pro Monat) kaufen</value>
+  </string>
+
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+
+  <string id="946" name="user-license">
+    <value>Volumenflatrate</value>
+  </string>
+
+  <string id="947" name="user-license">
+    <value>Sie haben eine unbegrenzte Lizenz</value>
+  </string>
+
+  <string id="948" name="user-license">
+    <value>Ablaufdatum Ihrer Lizenz:</value>
+  </string>
+
+  <string id="949" name="user-license">
+    <value>Sie nutzen das Pay-per-minute-Modell. Sie haben noch:</value>
+  </string>
+
+  <string id="950" name="user-license">
+    <value>Neue einkaufen!</value>
+  </string>
+
+  <string id="951" name="user-license">
+    <value>Wollen Sie einen eigenen Server?</value>
+  </string>
+
+  <string id="952" name="user-license">
+    <value>Sie wünschen $APP_NAME als eigenständige Installation oder integriert in Moodle, SugarCRM, Website oder Intranet? Beginnen Sie ab 500 Euro.</value>
+  </string>
+
+  <string id="953" name="user-license">
+    <value>Oder senden Sie uns eine Nachricht</value>
+  </string>
+
+  <string id="954" name="user-license">
+    <value>Antwort an:</value>
+  </string>
+
+  <string id="955" name="user-license">
+    <value>Nachricht:</value>
+  </string>
+
+  <string id="956" name="user-license">
+    <value>Senden</value>
+  </string>
+
+  <string id="957" name="user-license">
+    <value>Kontaktinformationen und Preise? Klicken Sie hier</value>
+  </string>
+
+  <string id="958" name="payment-form">
+    <value>Kreditkartendetails</value>
+  </string>
+
+  <string id="959" name="payment-form">
+    <value>Vorname</value>
+  </string>
+
+  <string id="960" name="payment-form">
+    <value>Nachname</value>
+  </string>
+
+  <string id="961" name="payment-form">
+    <value>Kreditkartentyp</value>
+  </string>
+
+  <string id="962" name="payment-form">
+    <value>VISA Karte</value>
+  </string>
+
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+
+  <string id="966" name="payment-form">
+    <value>Kreditkartennummer</value>
+  </string>
+
+  <string id="967" name="payment-form">
+    <value>Ablaufdatum</value>
+  </string>
+
+  <string id="968" name="payment-form">
+    <value>Kartenprüfnummer</value>
+  </string>
+
+  <string id="969" name="payment-form">
+    <value>Rechnungsanschrift</value>
+  </string>
+
+  <string id="970" name="payment-form">
+    <value>Adresse</value>
+  </string>
+
+  <string id="971" name="payment-form">
+    <value />
+  </string>
+
+  <string id="972" name="payment-form">
+    <value>Stadt</value>
+  </string>
+
+  <string id="973" name="payment-form">
+    <value>Land</value>
+  </string>
+
+  <string id="974" name="payment-form">
+    <value>Staat (nur US)</value>
+  </string>
+
+  <string id="975" name="payment-form">
+    <value>PLZ</value>
+  </string>
+
+  <string id="976" name="payment-form">
+    <value>Betrag</value>
+  </string>
+
+  <string id="977" name="payment-form">
+    <value>Abschicken</value>
+  </string>
+
+  <string id="978" name="payment-form">
+    <value>Schritt 1: $APP_NAME - Zahlungsformular</value>
+  </string>
+
+  <string id="979" name="payment-form">
+    <value>E-Mail</value>
+  </string>
+
+  <string id="980" name="payment-form">
+    <value>Klicken Sie auf "Zahlen mit Paypal".&lt;br/&gt; Paypal akzeptiert VISA, MasterCard, Discover oder American Express. &lt;br/&gt;Sie müssen sich dazu nicht bei Paypal registrieren. &lt;br/&gt;Nutzer aus Deutschland können auch per Lastschrift-Einzug zahlen.</value>
+  </string>
+
+  <string id="981" name="payment-form">
+    <value>Vielen Dank für Ihren Einkauf von $APP_NAME. &lt;br/&gt; &lt;br/&gt; Sobald die Zahlung bei uns eingetroffen ist wird Ihr Account aktualisiert.&lt;br/&gt; Sie erhalten eine E-Mail mit Ihrer Rechnung als PDF.&lt;br/&gt;Die aktuelle und frühere Transaktionen sind in Ihren Profileinstellungen dokumentiert.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Sie können dieses browserfenster/den Tab nun schließen und zu $APP_NAME zurückkehren.</value>
+  </string>
+
+  <string id="982" name="payment-form">
+    <value>Abschicken Kauf bestätigen.</value>
+  </string>
+
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+
+  <string id="984" name="payment-from">
+    <value>Schritt: $APP_NAME Bezahlung - Bestellung prüfen und kaufen.</value>
+  </string>
+
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+
+  <string id="986" name="payment-mail">
+    <value>Zahlung erhalten.</value>
+  </string>
+
+  <string id="987" name="payment-mail">
+    <value>Guten Tag,</value>
+  </string>
+
+  <string id="988" name="payment-mail">
+    <value />
+  </string>
+
+  <string id="989" name="payment-mail">
+    <value>Vielen Dank für die Nutzung von $APP_NAME!</value>
+  </string>
+
+  <string id="990" name="payment-mail">
+    <value>Zahlung erhalten $APP_NAME -</value>
+  </string>
+
+  <string id="991" name="user-settings">
+    <value>Zahlungen und Transaktionsstatus</value>
+  </string>
+
+  <string id="992" name="user-settings">
+    <value>Transaktions-Hash</value>
+  </string>
+
+  <string id="993" name="user-settings">
+    <value>Minuten</value>
+  </string>
+
+  <string id="994" name="user-settings">
+    <value>Monate</value>
+  </string>
+
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+
+  <string id="997" name="user-settings">
+    <value>Rechnung</value>
+  </string>
+
+  <string id="998" name="user-settings">
+    <value />
+  </string>
+
+  <string id="999" name="error-license-flat">
+    <value>Zum Versand von Einladungen oder zur Erstellung von Sitzungen über den Kalender benötigen Sie eine Volumenflatrate. Mit Pay-per-minute Tarifen können Sie selber das Angebot von $APP_NAME nutzen, nicht aber Dritte zur Teilnahme an einem Meeting einladen.</value>
+  </string>
+
+  <string id="1000" name="error user">
+    <value>Diese E-Mail-Adresse wird bereits durch einen anderen Nutzer verwandt.</value>
+  </string>
+
+  <string id="1001" name="room-admin">
+    <value>SIP-Einstellungen</value>
+  </string>
+
+  <string id="1002" name="room-admin">
+    <value>Die Konferenznummer und PIN ist automatisch über das OpenXG RPC-Gateway erstellt worden.</value>
+  </string>
+
+  <string id="1003" name="room-admin">
+    <value>SIP Nummer</value>
+  </string>
+
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+
+  <string id="1005" name="whiteboard">
+    <value>Nur auf aktueller Seite löschen.</value>
+  </string>
+
+  <string id="1006" name="co-browser">
+    <value>Nur die URL der Statusanzeige wird an Teilnehmer versandt.</value>
+  </string>
+
+  <string id="1007" name="team-split">
+    <value>Teamräume [Breakout session] erstellen</value>
+  </string>
+
+  <string id="1008" name="team-split">
+    <value>Nutzer für neuen Teamraum auswählen</value>
+  </string>
+
+  <string id="1009" name="team-split">
+    <value>Sie können nun Teilnehmer auswählen und für diese einen Konferenzraum (Teamraum) anlegen. Die ausgewählten Teilnehmer werden direkt in den Raum verschoben oder benachrichtigt. Moderateoren in den Teamräumen erhalten eine Liste ihrer aktuellen Räume, um zwischen diesen zu wechseln falls ein Moderator benötigt wird.</value>
+  </string>
+
+  <string id="1010" name="team-split">
+    <value>Nutzername</value>
+  </string>
+
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+
+  <string id="1012" name="team-split">
+    <value />
+  </string>
+
+  <string id="1013" name="team-split">
+    <value>Nutzer für neuen Teamrraum:</value>
+  </string>
+
+  <string id="1014" name="team-split">
+    <value>Teamraum anlegen</value>
+  </string>
+
+  <string id="1015" name="team-split">
+    <value>Abbrechen</value>
+  </string>
+
+  <string id="1016" name="team-split">
+    <value>Wählen Sie zumindest einen Nutzer für den Teamraum</value>
+  </string>
+
+  <string id="1017" name="team-split">
+    <value>In Team einfügen</value>
+  </string>
+
+  <string id="1018" name="team-split">
+    <value>Aus Teamraum austragen</value>
+  </string>
+
+  <string id="1019" name="team-split">
+    <value>Nutzer hat Moderatorenrolle im Teamraum. Er ist zur Verwaltung des Teamraums berechtigt und kann Teilnehmer zulassen.</value>
+  </string>
+
+  <string id="1020" name="team-split">
+    <value>Raumtyp</value>
+  </string>
+
+  <string id="1021" name="team-split">
+    <value>Wenn Sie "Wechseln in neuen Teamraum erzwingen" anklicken erden alle Nutzer automatisch in diesen Raum übertragen. Andernfalls erhalten sie eine Benachrichtigung mit einem Button und &lt;i&gt;können&lt;/i&gt; wählen, ob sie in den neuen Raum wechseln wollen. Teammoderatoren haben immer die Wahl zu entscheiden,ob sie wechseln wollen.</value>
+  </string>
+
+  <string id="1022" name="team-split">
+    <value>Teamräume verwalten</value>
+  </string>
+
+  <string id="1023" name="team-split">
+    <value>Als Teamraummoderator können Sie zwischen allen Räumen wechseln, denen Sie zugewiesen wurden. Teilnehmer in Teamräumen können Ihnen eine Nachricht senden, uz.B. um Sie zu bitten Ihnen behilflich zu sein. Sie können die Teamräume auch beschränken und Nutzer ausloggen.</value>
+  </string>
+
+  <string id="1024" name="team-split">
+    <value>Wechseln in neuen Teamraum erzwingen</value>
+  </string>
+
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+
+  <string id="1026" name="team-split">
+    <value>Erstellt</value>
+  </string>
+
+  <string id="1027" name="team-split">
+    <value />
+  </string>
+
+  <string id="1028" name="team-split">
+    <value />
+  </string>
+
+  <string id="1029" name="team-split">
+    <value>Verfügbare Nutzer</value>
+  </string>
+
+  <string id="1030" name="team-split">
+    <value>Mit Pluszeichen Nutzer hinzufügen; mit Kreuz austragen.</value>
+  </string>
+
+  <string id="1031" name="team-split">
+    <value>1. Teamraumeinstellungen</value>
+  </string>
+
+  <string id="1032" name="team-split">
+    <value>2. Nutzer zu Teamraum hinzufügen</value>
+  </string>
+
+  <string id="1033" name="team-split">
+    <value>Titel Teamraum</value>
+  </string>
+
+  <string id="1034" name="team-split">
+    <value>Teamraum</value>
+  </string>
+
+  <string id="1035" name="team-split">
+    <value>In Raum wechseln</value>
+  </string>
+
+  <string id="1036" name="team-split">
+    <value>In diesen Teamraum wechseln</value>
+  </string>
+
+  <string id="1037" name="team-split">
+    <value>Teamraum schließen und alle Nutzer ausloggen</value>
+  </string>
+
+  <string id="1038" name="team-split">
+    <value>Neuer Teamraum</value>
+  </string>
+
+  <string id="1039" name="team-split">
+    <value>Ein neuer Teamraum wurde für Sie angelegt.</value>
+  </string>
+
+  <string id="1040" name="team-split">
+    <value>In Teamraum wechseln</value>
+  </string>
+
+  <string id="1041" name="team-split">
+    <value>Teamraumaktionen</value>
+  </string>
+
+  <string id="1042" name="team-split">
+    <value>Sie können dieses Fenster erneut öffnen über das Hauptmenu &gt; Aktionen.</value>
+  </string>
+
+  <string id="1043" name="team-split">
+    <value>Mitteilung an Teamraummoderator versenden</value>
+  </string>
+
+  <string id="1044" name="team-split">
+    <value>Neuer Teamraum</value>
+  </string>
+
+  <string id="1045" name="team-split">
+    <value>Ein neuer Teamraum steht zur Verfügung. Sie können nun in diesen Raum wechseln. Teamräume sind Bereiche für Arbeitsgruppen. Sie haben zusätzlich die Möglichkeit, einen Moderator um Hilfe zu bitten. Der Teamraum wird ihnen auch in der Übersicht "Meine Meetings" angezeigt.</value>
+  </string>
+
+  <string id="1046" name="team-split">
+    <value>In Teamraum wechseln</value>
+  </string>
+
+  <string id="1047" name="team-split">
+    <value>Erstelltvon:</value>
+  </string>
+
+  <string id="1048" name="team-split">
+    <value>Name des Teamraums:</value>
+  </string>
+
+  <string id="1049" name="team-split">
+    <value>Dieses Fenster bleibt offen auch wenn Sie den Teamraum
+    verlassen.</value>
+  </string>
+
+  <string id="1050" name="team-split">
+    <value>Nutzer dieses Teamraums</value>
+  </string>
+
+  <string id="1051" name="team-split">
+    <value>3. Andere Teamräume auf die Sie Zugriff haben</value>
+  </string>
+
+  <string id="1052" name="team-split">
+    <value>Teammoderator Nachricht senden. Nutzen Sie diese Möglichkeit falls Sie Hilfe benötigen oder eine Frage haben.</value>
+  </string>
+
+  <string id="1053" name="team-split">
+    <value>Senden</value>
+  </string>
+
+  <string id="1054" name="team-split">
+    <value>2. Eingeladene Nutzer für diesen Teamraum</value>
+  </string>
+
+  <string id="1055" name="team-split">
+    <value>ist Teamraummoderator</value>
+  </string>
+
+  <string id="1056" name="team-split">
+    <value>Alle vom Moderator eingeladenen Nutzer für diesen Teamraum.</value>
+  </string>
+
+  <string id="1057" name="team-split">
+    <value>Zur Zeit ist kein Teammoderator eingeloggt.</value>
+  </string>
+
+  <string id="1058" name="team-split">
+    <value>Bitte Nachricht eintragen</value>
+  </string>
+
+  <string id="1059" name="team-split">
+    <value>Bitte helfen Sie uns. Wir haben ein Problem im Teamraum.</value>
+  </string>
+
+  <string id="1060" name="team-split">
+    <value>Ein Nutzer des Teamraums bittet Sie um Unterstützung.</value>
+  </string>
+
+  <string id="1061" name="team-split">
+    <value>Teamraum Unterstützungsanfrage</value>
+  </string>
+
+  <string id="1062" name="team-split">
+    <value>Mitteilung:</value>
+  </string>
+
+  <string id="1063" name="team-split">
+    <value>Von:</value>
+  </string>
+
+  <string id="1064" name="team-split">
+    <value>Sie befinden sich derzeit in keinem Teamraum. Von hier aus können Sie in jeden Teamraum wechseln auf den Sie Zugriff haben.</value>
+  </string>
+
+  <string id="1065" name="backupContent">
+    <value>Systembackup. Das Backup schließt alle von Nutzern erzeugten Daten ein. Die Konfiguration wird nicht ins Backup einbezogen, da diese Daten mit der Systeminstallation erstellt werden. Zum Update des Systems exportieren Sie das alte System (1), installieren Sie das neue Systempaket in eine neue Datenbank (2) und imporieren Sie das Backup des alten Systems (3). Achten Sie darauf, das Backup vorzunehmen, bevor im neuen System neue Daten erzeugt werden.</value>
+  </string>
+
+  <string id="1066" name="backupContent">
+    <value>Systembackup</value>
+  </string>
+
+  <string id="1067" name="user-list">
+    <value>Bildschirm teilen/Aufzeichnung Nutzern erlauben</value>
+  </string>
+
+  <string id="1068" name="user-list">
+    <value>Bildschirm teilen/aufzeichnen Nutzern untersagen</value>
+  </string>
+
+  <string id="1069" name="user-list">
+    <value>Nutzer ist Moderator. Er kann alles tun.</value>
+  </string>
+
+  <string id="1070" name="apply for screen/recording">
+    <value>möchte Bildschirm zeigen/aufzeichnen.</value>
+  </string>
+
+  <string id="1071" name="moderation mini icons">
+    <value>Sie können den Bildschirm teilen /aufzeichnen</value>
+  </string>
+
+  <string id="1072" name="moderation mini icons">
+    <value>Anfrage zum Teilen/Aufzeichnen des Bildschirms.</value>
+  </string>
+
+  <string id="1073" name="moderation mini icons conference">
+    <value>Erlauben/untersagen Bildschirm zu teilen/aufzuzeichnen.</value>
+  </string>
+
+  <string id="1074" name="sound icon">
+    <value>Ton abschalten</value>
+  </string>
+
+  <string id="1075" name="sound icon">
+    <value>Ton anschalten</value>
+  </string>
+
+  <string id="1076" name="room administration">
+    <value>Raum nur mit Audio</value>
+  </string>
+
+  <string id="1077" name="room administration">
+    <value>Mit dieser Funktion erlauben Sie im Raum nur Audioübertragung und schalten Video ab. Dies kann sinnvoll sein, um Bandbreite zu reduzieren.</value>
+  </string>
+
+  <string id="1078" name="user list">
+    <value>Remote Control erlauben (während Bildschirmübertragung)</value>
+  </string>
+
+  <string id="1079" name="user list">
+    <value>Remote Control untersagen (während Bildschirmübertragung)</value>
+  </string>
+
+  <string id="1080" name="user list">
+    <value>Remote Control Screen-Berechtigung anfragen (während Bildschirmübertragung)</value>
+  </string>
+
+  <string id="1081" name="user list">
+    <value>Sie sind berechtigt zu Remote Control Screen (während Übertragung)</value>
+  </string>
+
+  <string id="1082" name="apply for remote control">
+    <value>bittet um Zugriff auf remote control screen.</value>
+  </string>
+
+  <string id="1083" name="user list">
+    <value>Nutzer ist Moderator. Er kann alles tun. [Remote Desktop Control]</value>
+  </string>
+
+  <string id="1084" name="user list">
+    <value>Erlauben/untersagen Recht auf Remote Control Screen (Während Bildschirmübertragung)</value>
+  </string>
+
+  <string id="1085" name="right click screen share">
+    <value>1. Ihr PC an Remote-PC: Klicken Sie auf den Bildschirm um Text aus Zwischenablage in Remote Screen einzufügen. Machen Sie dann einen Rechtsklick im Textfeld und wählen 'Einfügen' im Kontextmenu&lt;br&gt;&lt;br&gt;2. Vom Remote PC auf Ihren PC: Um Text vom Remote PC auf ihren PC zu übertragen markieren Sie zunächst am Remote PC mit der Maus. Klicken sie dort mit der rechten Maustaste auf den Text und wählen Sie &lt;i&gt;Kopieren des markierten Texts&lt;/i&gt; im Kontextmenu. Auf Ihrem PC nutzen Sie die Funktion 'einfügen'.</value>
+  </string>
+
+  <string id="1086" name="right click screen share">
+    <value>Kopieren und Einfügen von Text zwischen Remote PC und eigenem PC.</value>
+  </string>
+
+  <string id="1087" name="right click screen share">
+    <value>Kopieren des markierten Texts</value>
+  </string>
+
+  <string id="1088" name="right click screen share">
+    <value>Kopieren und Einfügen</value>
+  </string>
+
+  <string id="1089" name="screen-sharer-quality">
+    <value>Qualität der Bildschirmübertragung:</value>
+  </string>
+
+  <string id="1090" name="screen-sharer-quality">
+    <value>Sehr hohe Qualität</value>
+  </string>
+
+  <string id="1091" name="screen-sharer-quality">
+    <value>Hohe Qualität</value>
+  </string>
+
+  <string id="1092" name="screen-sharer-quality">
+    <value>Mittlere Qualität</value>
+  </string>
+
+  <string id="1093" name="screen-sharer-quality">
+    <value>Niedrige Qualität</value>
+  </string>
+
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+
+  <string id="1096" name="keyboard-input">
+    <value>Tastatur:</value>
+  </string>
+
+  <string id="1097" name="keyboard-input">
+    <value>Webinar beenden</value>
+  </string>
+
+  <string id="1098" name="keyboard-input">
+    <value>Das Webinar ist bereits beendet. Weitere interessante Angebote befinden sich in</value>
+  </string>
+
+  <string id="1099" name="room config">
+    <value>Raum schließen</value>
+  </string>
+
+  <string id="1100" name="room config">
+    <value>Ausgang (URL)</value>
+  </string>
+
+  <string id="1101" name="room config">
+    <value>Einstellungen für Raumbeschränkung (zeitlich)</value>
+  </string>
+
+  <string id="1102" name="room config">
+    <value>Wenn der Raum geschlossen wird, werden die Teilnehmer zum Ausgang (URL) geleitet.</value>
+  </string>
+
+  <string id="1103" name="ldap config">
+    <value>LDAP</value>
+  </string>
+
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+
+  <string id="1106" name="ldap config">
+    <value>Configurationsdatei</value>
+  </string>
+
+  <string id="1107" name="ldap config">
+    <value>LDAP Konfiguration</value>
+  </string>
+
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+
+  <string id="1109" name="ldap config">
+    <value>Aktiviert</value>
+  </string>
+
+  <string id="1110" name="ldap config">
+    <value>Eingefügt</value>
+  </string>
+
+  <string id="1111" name="ldap config">
+    <value>Eingefügt von</value>
+  </string>
+
+  <string id="1112" name="ldap config">
+    <value>Aktualisiert</value>
+  </string>
+
+  <string id="1113" name="ldap config">
+    <value>Aktualisiert von</value>
+  </string>
+
+  <string id="1114" name="ldap config">
+    <value>Die Konfigurationsdateien liegen im gleichen Ordner wie persistence.xml. Die Dateien müssen manuell in den Ordner kopiert werden. Änderungen an der Konfigurationsdatei sind direkt online wirksam.</value>
+  </string>
+
+  <string id="1115" name="ldap config">
+    <value>Name der Konfigurationsdatei</value>
+  </string>
+
+  <string id="1116" name="ldap config">
+    <value>Wenn Sie "Domain zum Nutzernamen hinzufügen" aktivieren wird der Eingabe des Nutzers beim Login derim Feld 'Domain' hinterlegte Wert hinzugefügt. Dies ist sinnvoll wenn in einem LDAP System der Nutzer mit einer Domainangabe geführt wird. Beispiel. Der Nutzer gibt beim Login 'Hans' ein. Die Domain ist mit 'localhost.com' eingetragen. Im LDAP wird hans@localhost.com geprüft.</value>
+  </string>
+
+  <string id="1117" name="ldap config">
+    <value>Domain zum Nutzernamen hinzufügen</value>
+  </string>
+
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+
+  <string id="1119" name="remote control">
+    <value>Einfügen</value>
+  </string>
+
+  <string id="1120" name="remote control">
+    <value>Markierten Text kopieren</value>
+  </string>
+
+  <string id="1121" name="remote control">
+    <value>Text aus Remote Zwischenablage</value>
+  </string>
+
+  <string id="1122" name="remote control">
+    <value>Remote Zwischenablage anzeigen</value>
+  </string>
+
+  <string id="1123" name="right click screen share">
+    <value>Nicht noch einmal anzeigen</value>
+  </string>
+
+  <string id="1124" name="right click screen share">
+    <value>Text hier einfügen ...</value>
+  </string>
+
+  <string id="1125" name="right click screen share">
+    <value>Sie benötigen Remote Control-Rechte (oder Moderationsrechte)um das kopieren und Enfügen auf dem Remote Screen auszuführen.</value>
+  </string>
+
+  <string id="1126" name="right click screen share">
+    <value>Grundeinstellungen bearbeiten ...</value>
+  </string>
+
+  <string id="1127" name="right click screen share">
+    <value>Infofeld zum Kopieren/Einfügen nicht in Remote Control anzeigen</value>
+  </string>
+
+  <string id="1128" name="calendar">
+    <value>Speichern</value>
+  </string>
+
+  <string id="1129" name="calendar">
+    <value>Entfernen</value>
+  </string>
+
+  <string id="1130" name="calendar">
+    <value>Abbrechen</value>
+  </string>
+
+  <string id="1131" name="chat invite user">
+    <value>Nutzer in Konferenzraum einladen</value>
+  </string>
+
+  <string id="1132" name="chat invite user">
+    <value>Konferenzraum auswählen. Die eingeladenen Nutzer erhalten eine Nachricht mit Ihrem Namen und dem Link zum Raum.</value>
+  </string>
+
+  <string id="1133" name="chat user">
+    <value>Verbunden seit:</value>
+  </string>
+
+  <string id="1134" name="chat invite user">
+    <value>Nach Einladungsversand Raum betreten</value>
+  </string>
+
+  <string id="1135" name="chat invite user">
+    <value>Einladen</value>
+  </string>
+
+  <string id="1136" name="chat invite user">
+    <value>Nachricht</value>
+  </string>
+
+  <string id="1137" name="chat invite user">
+    <value>möchte Sie in den Konferenzraum einladen:</value>
+  </string>
+
+  <string id="1138" name="chat invite user">
+    <value>Einladung</value>
+  </string>
+
+  <string id="1139" name="chat invite user">
+    <value>Einladung versenden</value>
+  </string>
+
+  <string id="1140" name="chat invite user">
+    <value>nimmt Ihre Einladung &lt;b&gt;nichtt&lt;/b&gt; an.</value>
+  </string>
+
+  <string id="1141" name="chat invite user">
+    <value>Annehmen</value>
+  </string>
+
+  <string id="1142" name="chat invite user">
+    <value>Ablehnen</value>
+  </string>
+
+  <string id="1143" name="user profile">
+    <value>Zeitzone</value>
+  </string>
+
+  <string id="1144" name="appointment notification">
+    <value>Details</value>
+  </string>
+
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+
+  <string id="1146" name="appointment notification">
+    <value>Beschreibung</value>
+  </string>
+
+  <string id="1147" name="appointment notification">
+    <value>Erstellt von</value>
+  </string>
+
+  <string id="1148" name="user administration">
+    <value>Hinweis zur Zeitzone</value>
+  </string>
+
+  <string id="1149" name="user administration">
+    <value>"Hinweis zur Zeitzone" geben wenn Nutzer sich das nächste Mal einloggt, damit diese das Nutzerprofil aktualisieren.</value>
+  </string>
+
+  <string id="1150" name="time zone update message">
+    <value>Bitte prüfen Sie die eingestellte Zeitzone in Ihrem Nutzerprofil.</value>
+  </string>
+
+  <string id="1151" name="calendar invitation message">
+    <value>Neue $APP_NAME Konferenz:</value>
+  </string>
+
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+
+  <string id="1154" name="calendar invitation message">
+    <value>Ende:</value>
+  </string>
+
+  <string id="1155" name="calendar invitation message">
+    <value>$APP_NAME Konferenz geändert:</value>
+  </string>
+
+  <string id="1156" name="calendar invitation message">
+    <value>Organisation durch:</value>
+  </string>
+
+  <string id="1157" name="calendar invitation message">
+    <value>$APP_NAME Konferenz abgesagt:</value>
+  </string>
+
+  <string id="1158" name="calendar invitation message">
+    <value>Erinnerung an $APP_NAME Konferenz:</value>
+  </string>
+
+  <string id="1159" name="user settings">
+    <value>Community-Einstellungen</value>
+  </string>
+
+  <string id="1160" name="user settings">
+    <value>Kontaktdaten für alle sichtbar</value>
+  </string>
+
+  <string id="1161" name="user settings">
+    <value>Interessenfelder eingeben, um ebenfalls interessierte Partner für Konferenz zu finden. Werte durch Komma trennen (z.B.: Medical Service, Health assurance, ...)</value>
+  </string>
+
+  <string id="1162" name="user settings">
+    <value>Meine Angebote</value>
+  </string>
+
+  <string id="1163" name="user settings">
+    <value>Meine Interessen</value>
+  </string>
+
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+
+  <string id="1165" name="user settings">
+    <value>Zeitzone</value>
+  </string>
+
+  <string id="1166" name="user settings">
+    <value>Interessenfelder</value>
+  </string>
+
+  <string id="1167" name="user settings">
+    <value>Kontaktinformationen</value>
+  </string>
+
+  <string id="1168" name="user settings">
+    <value>Meine Kontaktdaten nur persönlichen Kontakten anzeigen</value>
+  </string>
+
+  <string id="1169" name="user settings">
+    <value>Niemanden meine Kontaktdaten anzeigen</value>
+  </string>
+
+  <string id="1170" name="user settings">
+    <value>Mein Profil</value>
+  </string>
+
+  <string id="1171" name="user settings">
+    <value>Einstellungen bearbeiten</value>
+  </string>
+
+  <string id="1172" name="user settings">
+    <value>Nutzer suchen</value>
+  </string>
+
+  <string id="1173" name="user settings">
+    <value>Profilvorschau</value>
+  </string>
+
+  <string id="1174" name="user settings">
+    <value>Einstellungen bearbeiten; z.B: Interessen eingeben, um gefunden zu werden</value>
+  </string>
+
+  <string id="1175" name="user settings">
+    <value>Andere Nutzer suchen und Netzwerk erweitern</value>
+  </string>
+
+  <string id="1176" name="user search">
+    <value>Suchen</value>
+  </string>
+
+  <string id="1177" name="user search">
+    <value>Nutzer bietet an</value>
+  </string>
+
+  <string id="1178" name="user search">
+    <value>Nutzer sucht</value>
+  </string>
+
+  <string id="1179" name="user search">
+    <value>Freitext</value>
+  </string>
+
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+
+  <string id="1181" name="user search">
+    <value>Zeitzone</value>
+  </string>
+
+  <string id="1182" name="user search">
+    <value>Angebote</value>
+  </string>
+
+  <string id="1183" name="user search">
+    <value>Gesuche</value>
+  </string>
+
+  <string id="1184" name="user search">
+    <value>Suchergebnis</value>
+  </string>
+
+  <string id="1185" name="user search">
+    <value>Aktionen</value>
+  </string>
+
+  <string id="1186" name="user search">
+    <value>Als Kontakt hinzufügen</value>
+  </string>
+
+  <string id="1187" name="user search">
+    <value>Nachricht senden</value>
+  </string>
+
+  <string id="1188" name="user search">
+    <value>Kontakte und Nachrichten</value>
+  </string>
+
+  <string id="1189" name="user search">
+    <value>Wartende Kontakte</value>
+  </string>
+
+  <string id="1190" name="user contacts">
+    <value>Akzeptiern</value>
+  </string>
+
+  <string id="1191" name="user contacts">
+    <value>Ablehnen</value>
+  </string>
+
+  <string id="1192" name="user contact request">
+    <value>Guten Tag,</value>
+  </string>
+
+  <string id="1193" name="user contact request">
+    <value>ich würde Sie gerne als Kontakt hinzufügen.</value>
+  </string>
+
+  <string id="1194" name="user contact request">
+    <value>Prüfen Sie Ihre Kontaktanfragen in $APP_NAME oder klicken Sie auf die Links zum Akzeptieren oder Ablehnen der Anfragen.</value>
+  </string>
+
+  <string id="1195" name="add user contact">
+    <value>Der Nutzer ist bereits in Ihrer Kontaktliste oder hat von Ihnen eine Benachrichtigung erhalten, die noch nicht beantwortet wurde.</value>
+  </string>
+
+  <string id="1196" name="user contact mail">
+    <value>Ihre Kontaktliste</value>
+  </string>
+
+  <string id="1197" name="user contacts">
+    <value>Kontakte und Nachrichten bearbeiten,&lt;br/&gt; wartende Kontakte bearbeiten</value>
+  </string>
+
+  <string id="1198" name="user contacts">
+    <value>hat Sie als Kontakt bestätigt</value>
+  </string>
+
+  <string id="1199" name="chat info message">
+    <value />
+  </string>
+
+  <string id="1200" name="chat log icon">
+    <value>Chat Log anzeigen/kopieren</value>
+  </string>
+
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+
+  <string id="1202" name="private message">
+    <value>Von</value>
+  </string>
+
+  <string id="1203" name="private message">
+    <value>Thema</value>
+  </string>
+
+  <string id="1204" name="private message">
+    <value>Senden</value>
+  </string>
+
+  <string id="1205" name="private message">
+    <value />
+  </string>
+
+  <string id="1206" name="private message">
+    <value>Nachrichten</value>
+  </string>
+
+  <string id="1207" name="private message">
+    <value>Neue Mail</value>
+  </string>
+
+  <string id="1208" name="private message">
+    <value>Neue Nachricht an meine Kontakte schreiben</value>
+  </string>
+
+  <string id="1209" name="private message">
+    <value>Neue Nachricht schreiben</value>
+  </string>
+
+  <string id="1210" name="private message">
+    <value>An:</value>
+  </string>
+
+  <string id="1211" name="private message">
+    <value>Thema:</value>
+  </string>
+
+  <string id="1212" name="whiteboard full-fit">
+    <value>Vollansicht: das Whiteboard wird in der größtmöglichen Ansicht &lt;br/&gt; gezeigt. Darstellung ist abhängig von der&lt;br/&gt;Bildschirmauflösung der Nutzer.</value>
+  </string>
+
+  <string id="1213" name="user-list">
+    <value>Nutzer entfernen</value>
+  </string>
+
+  <string id="1214" name="user-list">
+    <value>Sie können sich nicht selbst aus dem Konferenzraum entfernen. Wenn Sie den Konferenzraum verlassen wollen, schließen Sie das Browserfenster oder nutzen Sie den Ausgang-Button.</value>
+  </string>
+
+  <string id="1215" name="kick-user">
+    <value>Wollen Sie den Nutzer tatsächlich aus diesem Konferenzraum entfernen?</value>
+  </string>
+
+  <string id="1216" name="kick-user">
+    <value>Aktion bestätigen....</value>
+  </string>
+
+  <string id="1217" name="kick-user">
+    <value>Sie können den Super-Moderator nicht aus dem Raum ausschließen</value>
+  </string>
+
+  <string id="1218" name="private message">
+    <value>Konferenzraum buchen</value>
+  </string>
+
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+
+  <string id="1220" name="private message">
+    <value>Ende</value>
+  </string>
+
+  <string id="1221" name="private message">
+    <value>Erstellen Sie einen Konferenzraum und eine optionale Teilnahmeanfrage zum Meeting. Der Termin wird in die Kalender aller Teilnehmer eingetragen.</value>
+  </string>
+
+  <string id="1222" name="private message">
+    <value>Eingang</value>
+  </string>
+
+  <string id="1223" name="private message">
+    <value>Gesendet</value>
+  </string>
+
+  <string id="1224" name="private message">
+    <value>Gelöscht</value>
+  </string>
+
+  <string id="1225" name="private message">
+    <value>Sie können sich nicht selbst als Kontakt einfügen.</value>
+  </string>
+
+  <string id="1226" name="user contacts">
+    <value>Der Nutzer wurde bereits abgelehnt.</value>
+  </string>
+
+  <string id="1227" name="user contacts">
+    <value>Der Nutzer wurde bereits bestätigt.</value>
+  </string>
+
+  <string id="1228" name="user contacts">
+    <value>Nutzerkontakt Hash-Wert ist ungültig</value>
+  </string>
+
+  <string id="1229" name="user contacts">
+    <value>Nutzer wurde zu Kontaktliste hinzugefügt.</value>
+  </string>
+
+  <string id="1230" name="user contacts">
+    <value>Kontakt für Nutzer abgelehnt und von Warteliste entfernt.</value>
+  </string>
+
+  <string id="1231" name="user contacts">
+    <value>Kein Kontakt gefunden.</value>
+  </string>
+
+  <string id="1232" name="user contacts">
+    <value>Wollen Sie den Kontakt tatsächlich entfernen?</value>
+  </string>
+
+  <string id="1233" name="user contacts">
+    <value>Kontakt entfernen bestätigen</value>
+  </string>
+
+  <string id="1234" name="user contacts">
+    <value>Kontakt von Liste entfernen</value>
+  </string>
+
+  <string id="1235" name="user profile">
+    <value>Nutzerprofile</value>
+  </string>
+
+  <string id="1236" name="user profile">
+    <value>Nutzerprofile anzeigen</value>
+  </string>
+
+  <string id="1237" name="private message">
+    <value>Nachrichten</value>
+  </string>
+
+  <string id="1238" name="private message">
+    <value>Suche</value>
+  </string>
+
+  <string id="1239" name="private message">
+    <value>Alle auswählen</value>
+  </string>
+
+  <string id="1240" name="private message">
+    <value>Keine auswählen</value>
+  </string>
+
+  <string id="1241" name="private message">
+    <value>Ungelesene auswählen</value>
+  </string>
+
+  <string id="1242" name="private message">
+    <value>Gelesene auswählen</value>
+  </string>
+
+  <string id="1243" name="private message">
+    <value>In Ordner verschieben ...</value>
+  </string>
+
+  <string id="1244" name="private message">
+    <value>Neuen Ordner anlegen ...</value>
+  </string>
+
+  <string id="1245" name="private message">
+    <value>Löschen</value>
+  </string>
+
+  <string id="1246" name="private message">
+    <value>Gelöschte Mails liegen im Papierkorb.</value>
+  </string>
+
+  <string id="1247" name="private message">
+    <value>Ungelesene markieren</value>
+  </string>
+
+  <string id="1248" name="private message">
+    <value>Gelesene markieren</value>
+  </string>
+
+  <string id="1249" name="private message">
+    <value>Antwort</value>
+  </string>
+
+  <string id="1250" name="private message">
+    <value>Antwort an alle</value>
+  </string>
+
+  <string id="1251" name="private message">
+    <value>Weiterleiten</value>
+  </string>
+
+  <string id="1252" name="private message">
+    <value>Aktionen ...</value>
+  </string>
+
+  <string id="1253" name="user contacts">
+    <value>Private Nachricht senden</value>
+  </string>
+
+  <string id="1254" name="private message">
+    <value>Nichts ausgewählt</value>
+  </string>
+
+  <string id="1255" name="private message">
+    <value>In Eingang verschieben</value>
+  </string>
+
+  <string id="1256" name="private message">
+    <value>Löschen (endgültig)</value>
+  </string>
+
+  <string id="1257" name="private message">
+    <value>Diese Aktion kann nicht rückgängig gemacht werden.</value>
+  </string>
+
+  <string id="1258" name="private message">
+    <value>Ordner hinzufügen</value>
+  </string>
+
+  <string id="1259" name="private message">
+    <value>Ordner hinzufügen und Nachrichten verwalten.</value>
+  </string>
+
+  <string id="1260" name="private message">
+    <value>Ordner hinzufügen</value>
+  </string>
+
+  <string id="1261" name="private message">
+    <value>Hinzufügen</value>
+  </string>
+
+  <string id="1262" name="private message folder">
+    <value>Ordner löschen</value>
+  </string>
+
+  <string id="1263" name="private message folder">
+    <value>Löschen oder verschieben Sie erst die Nachrichten in dem Ordner. Danach kann der Ordner gelöscht werden.</value>
+  </string>
+
+  <string id="1264" name="private message folder">
+    <value>Name bearbeiten</value>
+  </string>
+
+  <string id="1265" name="private message folder">
+    <value>Wollen Sie den Ordner wirklich löschen? Der Vorgang kann nicht rückgängig gemacht werden.</value>
+  </string>
+
+  <string id="1266" name="user contacts">
+    <value>Ihre Anfrage wurde an den Nutzer gesandt. Er kann die Benachrichtigung annhmen oder ablehnen. Nur angenommene Anfragen erscheinen in Ihrer Kontaktliste.</value>
+  </string>
+
+  <string id="1267" name="user contacts">
+    <value>Nachricht</value>
+  </string>
+
+  <string id="1268" name="user view profile">
+    <value>Der Nutzer veröffentlicht die persönlichen Kontaktdaten nicht.</value>
+  </string>
+
+  <string id="1269" name="user view profile">
+    <value>Der Nutzer zeigt die persönlichen Kontaktdaten nur seinen bestätigten Kontakten.</value>
+  </string>
+
+  <string id="1270" name="user view profile">
+    <value>Adresse &amp; Telefon</value>
+  </string>
+
+  <string id="1271" name="error code">
+    <value>Ihr Einladungscode ist ungültig. Er kann nur im angegebenen Zeitraum genutzt werden:</value>
+  </string>
+
+  <string id="1272" name="user calendar">
+    <value>Der Termin ist in den Kalendern anderer Nutzer eingetragen. Die Änderungen werden auch dort vorgenommen. Wollen Sie den Termine wirklich aktualisieren?</value>
+  </string>
+
+  <string id="1273" name="user calendar">
+    <value>Aktualisierung bestätigen</value>
+  </string>
+
+  <string id="1274" name="user contacts">
+    <value>Dieser Kontakt darfen meinen Kalender einsehen (nur Ansicht)</value>
+  </string>
+
+  <string id="1275" name="user contacts">
+    <value>Kalender nicht veröffentlichen</value>
+  </string>
+
+  <string id="1276" name="user contacts">
+    <value>Kalender meiner Kontakte</value>
+  </string>
+
+  <string id="1277" name="user contacts">
+    <value>Erste wenn die Kontakte bestätigt wurden besteht Zugriff auf die Kalender.</value>
+  </string>
+
+  <string id="1278" name="user contacts">
+    <value>Sie können nur in Ihrem eigenen Kalender Termine speichern oder löschen.</value>
+  </string>
+
+  <string id="1279" name="user contacts">
+    <value>Meinen eigenen Kalender anzeigen.</value>
+  </string>
+
+  <string id="1280" name="user calendar">
+    <value>Der Termin ist in den Kalendern anderer Nutzer eingetragen. Soll der Termin wirklich überall gelöscht werden?</value>
+  </string>
+
+  <string id="1281" name="user calendar">
+    <value>Aktion bestätigen</value>
+  </string>
+
+  <string id="1282" name="user calendar">
+    <value>Raum betreten</value>
+  </string>
+
+  <string id="1283" name="user calendar">
+    <value>Zugang zum Konferenzraum</value>
+  </string>
+
+  <string id="1284" name="private message">
+    <value>Ein Konferenzraum und Termin ist durch diese private Nachricht gebucht worden.</value>
+  </string>
+
+  <string id="1285" name="user calendar">
+    <value>DerTermin muß erst noch gespeichert werden.</value>
+  </string>
+
+  <string id="1286" name="access rooms error">
+    <value>Der Termin und der gebuchte Raum wurden inzwischen gelöscht. Der Raum steht nicht zur Verfügung.</value>
+  </string>
+
+  <string id="1287" name="nick name">
+    <value>Spitznamen wählen</value>
+  </string>
+
+  <string id="1288" name="nick name">
+    <value>Vorname</value>
+  </string>
+
+  <string id="1289" name="nick name">
+    <value>Nachname</value>
+  </string>
+
+  <string id="1290" name="nick name">
+    <value>E-Mail</value>
+  </string>
+
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+
+  <string id="1292" name="nick name">
+    <value>Mindestens 4 Zeichen für Vor- und Nachname eingeben.</value>
+  </string>
+
+  <string id="1293" name="nick name">
+    <value>Bitte geben Sie eine gültige Mail-Adresse ein.</value>
+  </string>
+
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+
+  <string id="1295" name="auth form">
+    <value>Login mit Ihrem Facebook-Account</value>
+  </string>
+
+  <string id="1296" name="view profile">
+    <value>Mitglied seit</value>
+  </string>
+
+  <string id="1297" name="direct login message">
+    <value>Sie sind über Ihren Facebook-Account eingeloggt. Aktualisieren Sie in Ihrem Profil Ihre E-Mailadresse. Sie erhalten sonst keine Einladungen zu Sitzungen odr Nachrichten von Ihren Kontakten.</value>
+  </string>
+
+  <string id="1298" name="direct login message header">
+    <value>Nachricht</value>
+  </string>
+
+  <string id="1299" name="direct login message checkbox control">
+    <value>Mitteilung zur Profilaktualisierung künftig nicht anzeigen.</value>
+  </string>
+
+  <string id="1300" name="profile settings button">
+    <value>weitere Anzeigemöglichkeiten ...</value>
+  </string>
+
+  <string id="1301" name="private message">
+    <value>Neue private Nachrichten:</value>
+  </string>
+
+  <string id="1302" name="private message">
+    <value>Klicken Sie auf Ihr Profil um die ganze Nachricht zu sehen....</value>
+  </string>
+
+  <string id="1303" name="private message">
+    <value>Anworten</value>
+  </string>
+
+  <string id="1304" name="dashboard">
+    <value>Räume und Chat</value>
+  </string>
+
+  <string id="1305" name="dashboard">
+    <value>Meine Räume</value>
+  </string>
+
+  <string id="1306" name="my rooms">
+    <value>Mein Konferenzraum (für 1-16 Benutzer)</value>
+  </string>
+
+  <string id="1307" name="my rooms">
+    <value>My Webinarraum (für 1-120 Benutzer)</value>
+  </string>
+
+  <string id="1308" name="room administration">
+    <value>Eigne ID</value>
+  </string>
+
+  <string id="1309" name="login error">
+    <value>Bitte Passwort eingeben</value>
+  </string>
+
+  <string id="1310" name="login error">
+    <value>Sie benötigen einen Nutzeraccount als Teilnehmer, Moderator oder Administrator</value>
+  </string>
+
+  <string id="1311" name="user administration">
+    <value>Web-Service (nur SOAP)</value>
+  </string>
+
+  <string id="1312" name="upload file explorer">
+    <value>Direkt auf Whiteboard ablegen</value>
+  </string>
+
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Soll dieses Whiteboard wirklich entfernt werden? Die Aktion kann nicht rückgängig gemacht werden.</value>
+  </string>
+
+  <string id="1314" name="whiteboard load WML">
+    <value>In Whiteboard laden</value>
+  </string>
+
+  <string id="1315" name="recording flag">
+    <value>Vergessen Sie nicht die Aufzeichnung zu starten. Ein Nutzer des Raum muß die Aufzeichnung starten, damit diese anschließend zur Verfügung steht.</value>
+  </string>
+
+  <string id="1316" name="recording flag">
+    <value>Aufzeichnung starten</value>
+  </string>
+
+  <string id="1317" name="shape">
+    <value>Pfeil</value>
+  </string>
+
+  <string id="1318" name="shape">
+    <value>Kreis</value>
+  </string>
+
+  <string id="1319" name="shape">
+    <value>Linie</value>
+  </string>
+
+  <string id="1320" name="shape">
+    <value>Rechteck</value>
+  </string>
+
+  <string id="1321" name="shape">
+    <value>Dreieck</value>
+  </string>
+
+  <string id="1322" name="icon">
+    <value>Text/Notiz</value>
+  </string>
+
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+
+  <string id="1324" name="icon">
+    <value>Frei Zeichnen</value>
+  </string>
+
+  <string id="1325" name="icon">
+    <value>Auswählen/Verschieben</value>
+  </string>
+
+  <string id="1326" name="icon">
+    <value>Form zeichnen</value>
+  </string>
+
+  <string id="1327" name="icon">
+    <value>Ausschneiden/verschieben</value>
+  </string>
+
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+
+  <string id="1329" name="icon">
+    <value>Drucken</value>
+  </string>
+
+  <string id="1330" name="icon">
+    <value>Rückgängig</value>
+  </string>
+
+  <string id="1331" name="icon">
+    <value>Löschen</value>
+  </string>
+
+  <string id="1332" name="icon">
+    <value>Raster einfügen</value>
+  </string>
+
+  <string id="1333" name="icon">
+    <value>Datei bereitstellen</value>
+  </string>
+
+  <string id="1334" name="icon submenu">
+    <value>Form auswählen</value>
+  </string>
+
+  <string id="1335" name="icon submenu">
+    <value>Clipart auswählen</value>
+  </string>
+
+  <string id="1336" name="submenu">
+    <value>Kopieren</value>
+  </string>
+
+  <string id="1337" name="submenu">
+    <value>Ausschneide</value>
+  </string>
+
+  <string id="1338" name="submenu">
+    <value>Einfügen</value>
+  </string>
+
+  <string id="1339" name="submenu">
+    <value>Löschen</value>
+  </string>
+
+  <string id="1340" name="submenu">
+    <value>Wollen Sie wirklich den gesamten Inhalt der Whiteboard
+    löschen?</value>
+  </string>
+
+  <string id="1341" name="submenu">
+    <value>Direkt auf Whiteboard ablegen.</value>
+  </string>
+
+  <string id="1342" name="attendees">
+    <value>Teilnehmer</value>
+  </string>
+
+  <string id="1343" name="atendee manager">
+    <value>Teilnehmerverwaltung</value>
+  </string>
+
+  <string id="1344" name="atendee manager">
+    <value>Anwesend</value>
+  </string>
+
+  <string id="1345" name="atendee manager">
+    <value>Remote Control</value>
+  </string>
+
+  <string id="1346" name="atendee manager">
+    <value>Austragen</value>
+  </string>
+
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+
+  <string id="1348" name="invite attendee">
+    <value>Teilnehmer einladen</value>
+  </string>
+
+  <string id="1349" name="invite attendee">
+    <value>Per E-Mail</value>
+  </string>
+
+  <string id="1350" name="invite attendee">
+    <value>Nutzer ist Moderator</value>
+  </string>
+
+  <string id="1351" name="invite attendee">
+    <value>Nutzer hat Webcam aktiviert</value>
+  </string>
+
+  <string id="1352" name="fill_option">
+    <value>Form ausfüllen deaktivieren</value>
+  </string>
+
+  <string id="1353" name="fill_option">
+    <value>Form ausfüllen aktivieren</value>
+  </string>
+
+  <string id="1354" name="icon">
+    <value>Einrasten</value>
+  </string>
+
+  <string id="1355" name="allow_recording">
+    <value>Aufzeichnung erlauben</value>
+  </string>
+
+  <string id="1356" name="wait_for_recording">
+    <value>Warten auf Aufzeichnung</value>
+  </string>
+
+  <string id="1357" name="hide_top_bar">
+    <value>Topbar verbergen</value>
+  </string>
+
+  <string id="1358" name="fileExplorer">
+    <value>Video abspielen</value>
+  </string>
+
+  <string id="1359" name="submenu">
+    <value>Wollen Sie wirklich den Inhalt der aktuellen Folie löschen?</value>
+  </string>
+
+  <string id="1360" name="activity_window">
+    <value>Nutzerrechte akzeptieren/gewähren</value>
+  </string>
+
+  <string id="1361" name="activity_window">
+    <value>Ablehnen</value>
+  </string>
+
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+
+  <string id="1363" name="activity_window">
+    <value>Aktivitäten und Aktionen</value>
+  </string>
+
+  <string id="1364" name="whiteboard">
+    <value>Whiteboard entfernen</value>
+  </string>
+
+  <string id="1365" name="whiteboard">
+    <value>Um whiteboards zu entfernen benötigen Sie Moderations- oder Schreibrechte für die Whiteboard.</value>
+  </string>
+
+  <string id="1366" name="whiteboard">
+    <value>Nicht erlaubt</value>
+  </string>
+
+  <string id="1367" name="user_left_act_msg">
+    <value>hat den Raum verlassen.</value>
+  </string>
+
+  <string id="1368" name="clipart icons">
+    <value>Mathematische Zeichen</value>
+  </string>
+
+  <string id="1369" name="clipart icons">
+    <value>Keine Kategorie</value>
+  </string>
+
+  <string id="1370" name="login_screen">
+    <value>Farbstil</value>
+  </string>
+
+  <string id="1371" name="login_screen">
+    <value>Qualität</value>
+  </string>
+
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+
+  <string id="1373" name="login_screen">
+    <value>besuche</value>
+  </string>
+
+  <string id="1374" name="login_screen">
+    <value>rot-orange</value>
+  </string>
+
+  <string id="1375" name="login_screen">
+    <value>mittel seegrün</value>
+  </string>
+
+  <string id="1376" name="login_screen">
+    <value>stahlblau</value>
+  </string>
+
+  <string id="1377" name="login_screen">
+    <value>hellstahlblau</value>
+  </string>
+
+  <string id="1378" name="login_screen">
+    <value>rotgold</value>
+  </string>
+
+  <string id="1379" name="login_screen">
+    <value>silbergrau</value>
+  </string>
+
+  <string id="1380" name="login_screen">
+    <value>nutzerdefiniert</value>
+  </string>
+
+  <string id="1381" name="login_screen">
+    <value>beste</value>
+  </string>
+
+  <string id="1382" name="login_screen">
+    <value>Upload</value>
+  </string>
+
+  <string id="1383" name="login_screen">
+    <value>mittlere</value>
+  </string>
+
+  <string id="1384" name="mute micro">
+    <value>Mikrofone für alle stumm schalten</value>
+  </string>
+
+  <string id="1385" name="unmute micro">
+    <value>Mikrofone für alle aktivieren</value>
+  </string>
+
+  <string id="1386" name="give exclusive audio">
+    <value>Mikrofone für andere stumm schalten</value>
+  </string>
+
+  <string id="1387" name="mute self message">
+    <value>Der Moderator hat ihr Mikrofon stumm geschaltet. Sie können dies nicht selber ändern.</value>
+  </string>
+
+  <string id="1388" name="mute self confirm message title">
+    <value>Mikrofon für alle stumm schalten?</value>
+  </string>
+
+  <string id="1389" name="mute self confirm message message">
+    <value>Wollen Sie Ihr Mikrofon wirklich stumm schalten? Niemand wird Sie dann hören können.</value>
+  </string>
+
+  <string id="1390" name="mute others confirm message title">
+    <value>Mikrofon für alle stumm schalten?</value>
+  </string>
+
+  <string id="1391" name="mute others confirm message">
+    <value>Wollen Sie dieses Mikrofon wirklich stumm schalten? Sie hören danach den Nutzer nicht mehr. Dies hat keine Auswirkung ob andere Nutzer es noch hören. Nur Moderatoren können Mikrofone für alle abschalten.</value>
+  </string>
+
+  <string id="1392" name="mute others confirm message title">
+    <value>Mikrofon für alle stumm schalten?</value>
+  </string>
+
+  <string id="1393" name="mute others moderator message">
+    <value>Wenn Sie dieses Mikrofon für alle stumm schalten wird kein Nutzer es mehr hören können.</value>
+  </string>
+
+  <string id="1394" name="mute status icons">
+    <value>Ihr Ton ist aktiv. Klicken Sie hier, um dem Moderator eine Nachricht zu senden, Ihr Mikrofon für alle Nutzer im Konferenzraum stummzuschalten.</value>
+  </string>
+
+  <string id="1395" name="mute status icons">
+    <value>Ihr Ton ist stummgeschaltet. Klicken Sie hier, um dem Moderator eine Nachricht zu senden, Ihr Mikrofon für alle Nutzer im Konferenzraum anzuschalten.</value>
+  </string>
+
+  <string id="1396" name="mute apply self on message">
+    <value>bittet den Moderator das eigene Mikrofon für alle Nutzer des Raums stummzuschalten.</value>
+  </string>
+
+  <string id="1397" name="mute apply self off message">
+    <value>bittet den Moderator das eigene Mikrofon für alle Nutzer des Raums anzuschalten.</value>
+  </string>
+
+  <string id="1398" name="mute apply of message">
+    <value>bittet den Moderator sein/ihr Mikrofon anzuschalten.</value>
+  </string>
+
+  <string id="1399" name="mute apply of message">
+    <value>bittet den Moderator sein/ihr Mikrofon stummzuschalten.</value>
+  </string>
+
+  <string id="1400" name="mute status icons">
+    <value>Mikrofon anschalten. Hier klicken, um das Mikrofon für alle Nutzer des Raums stummzuschalten.</value>
+  </string>
+
+  <string id="1401" name="mute status icons">
+    <value>Mikrofon stummschalten. Hier klicken, um das Mikrofon für alle Nutzer des Raums anzuschalten.</value>
+  </string>
+
+  <string id="1402" name="mute self message">
+    <value>Mikrofon des Nutzers ist vom Moderator für alle stummgeschaltet. Sie können es nicht reaktivieren.</value>
+  </string>
+
+  <string id="1403" name="mute micro">
+    <value>Mein Mikrofon für alle stummschalten.</value>
+  </string>
+
+  <string id="1404" name="unmute micro">
+    <value>Mein Mikrofon für alle anschalten.</value>
+  </string>
+
+  <string id="1405" name="mute micro">
+    <value>Mikrofon stummschalten</value>
+  </string>
+
+  <string id="1406" name="unmute micro">
+    <value>Mikrofon anschalten</value>
+  </string>
+
+  <string id="1407" name="mute micro">
+    <value>Mikrofon für alle abschalten</value>
+  </string>
+
+  <string id="1408" name="unmute micro">
+    <value>Mikrofon für alle anschalten</value>
+  </string>
+
+  <string id="1409" name="mute moderator message">
+    <value>Nur Moderatoren können Mikrofone für alle an/abschalten. Sie können Ihr eigenes Mikrofon mit dem Mikrofon-Icon abschalten.</value>
+  </string>
+
+  <string id="1410" name="poll_name">
+    <value>Titel der Abstimmung</value>
+  </string>
+
+  <string id="1411" name="poll_name">
+    <value>Sie</value>
+  </string>
+
+  <string id="1412" name="archived_polls">
+    <value>Archivierte Abstimmungen</value>
+  </string>
+
+  <string id="1413" name="active_poll">
+    <value>aktiv</value>
+  </string>
+
+  <string id="1414" name="chart_simple">
+    <value>Einfache Grafik</value>
+  </string>
+
+  <string id="1415" name="chart_pie">
+    <value>Tortengrafik</value>
+  </string>
+
+  <string id="1416" name="sign_up_validation">
+    <value>Bitte geben Sie eine E-Mail-Adresse an</value>
+  </string>
+
+  <string id="1417" name="chat_notification">
+    <value>Neue Nachricht(en)</value>
+  </string>
+
+  <string id="1418" name="poll_close">
+    <value>Abstimmung schließen</value>
+  </string>
+
+  <string id="1419" name="poll_close_confirm">
+    <value>Wollen Sie die Abstimmung wirklich schließen? Danach kann sich niemand mehr beteiligen.</value>
+  </string>
+
+  <string id="1420" name="poll_delete">
+    <value>Abstimmung löschen</value>
+  </string>
+
+  <string id="1421" name="poll_delete_confirm">
+    <value>Wollen Sie die Abstimmung wirklich löschen? Damit werden auch alle Ergebnisse gelöscht.</value>
+  </string>
+
+  <string id="1422" name="language_code">
+    <value>Sprache: ISO Code</value>
+  </string>
+
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Recht für exklusiven Audiozugriff vergeben/entziehen.</value>
+  </string>
+
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Nutzer erhält Recht für exklusives Audio</value>
+  </string>
+
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Recht für exklusives Audio für Nutzer entziehen</value>
+  </string>
+
+  <string id="1426" name="excl_audio apply self on message">
+    <value>bittet um Recht für exklusives Audio.</value>
+  </string>
+
+  <string id="1427" name="excl_audio apply of message">
+    <value>bittet den Moderator darum ihm exklusives Audio-Recht zu
+    geben.</value>
+  </string>
+
+  <string id="1428" name="excl_audio status icons">
+    <value>Recht für exklusives Audio geben.</value>
+  </string>
+
+  <string id="1429" name="cam_resolution">
+    <value>Kamera-Auflösung</value>
+  </string>
+
+  <string id="1430" name="cam_resolution_info">
+    <value>Die Kamera-Auflösung hat einen direkten Einfluss auf die
+    verbrauchte Upload-Bandbreite!</value>
+  </string>
+
+  <string id="1431" name="exclusive_audio_error">
+    <value>Sie verfügen nicht über das Recht sich selbst oder anderen exklusives Audiorecht zu geben. Sie können jedoch den Moderator bitten, Ihnen diese Berechtigung zuzuweisen.</value>
+  </string>
+
+  <string id="1432" name="exclusive_audio_ask">
+    <value>Ich würde gerne das Recht auf exklusives Audio erhalten.</value>
+  </string>
+
+  <string id="1433" name="exclusive_audio_action">
+    <value>Mir exklusives Rederecht geben (alternativ: klick auf Video Pod oder F12)</value>
+  </string>
+
+  <string id="1434" name="micro is on">
+    <value>Mikrofon ist an</value>
+  </string>
+
+  <string id="1435" name="micro is off">
+    <value>Mikrofon ist abgeschaltet</value>
+  </string>
+
+  <string id="1436" name="hide_chat">
+    <value>Chat verbergen</value>
+  </string>
+
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Aktivitäten verbergen</value>
+  </string>
+
+  <string id="1438" name="hide_files_explorer">
+    <value>Dateiverwaltung verbergen</value>
+  </string>
+
+  <string id="1439" name="hide_actions_menu">
+    <value>Aktionenmenu verbergen</value>
+  </string>
+
+  <string id="1440" name="hide_screen_sharing">
+    <value>Screen Sharing verbergen</value>
+  </string>
+
+  <string id="1441" name="hide_whiteboard">
+    <value>Whiteboard verbergen</value>
+  </string>
+
+  <string id="1442" name="show microphone status">
+    <value>Mikrofonstatus in Video anzeigen</value>
+  </string>
+
+  <string id="1443" name="layout_options">
+    <value>Layout Optionen</value>
+  </string>
+
+  <string id="1444" name="calendar new button">
+    <value>Neuer Termin</value>
+  </string>
+
+  <string id="1445" name="calendar password info text">
+    <value>Passwortgeschützt ist nicht der Raum sondern die Einladungen die an die Teilnehmer verschickt werden! D.h. wenn Sie einen Termin mehrmals mit unterschiedlichem Passwort speichern wird jedesmal ein Link per mail zum Konferenzraum an alle Teilnehmer verschickt mit dem jeweiligem Passwort. Bereits versendete Einladungen funktionieren weiterhin!</value>
+  </string>
+
+  <string id="1446" name="calendar edit button">
+    <value>Termin ändern</value>
+  </string>
+
+  <string id="1447" name="sip show dialer">
+    <value>Zeige sip dialer</value>
+  </string>
+
+  <string id="1448" name="sip call">
+    <value>Anrufen</value>
+  </string>
+
+  <string id="1449" name="calendar contact list">
+    <value>Zeige Kalender Einträge</value>
+  </string>
+
+  <string id="1450" name="tooltip menu">
+    <value>Startseite</value>
+  </string>
+
+  <string id="1451" name="tooltip menu">
+    <value>Ihr Terminkalender</value>
+  </string>
+
+  <string id="1452" name="tooltip menu">
+    <value>Aufnahmen ansehen und verwalten</value>
+  </string>
+
+  <string id="1453" name="tooltip menu">
+    <value>Konferenzraum beitreten</value>
+  </string>
+
+  <string id="1454" name="tooltip menu">
+    <value>Benutzerrechte verwalten</value>
+  </string>
+
+  <string id="1455" name="tooltip menu">
+    <value>Verbindungen verwalten</value>
+  </string>
+
+  <string id="1456" name="tooltip menu">
+    <value>Benutzergruppen verwalten</value>
+  </string>
+
+  <string id="1457" name="tooltip menu">
+    <value>Konferenzräume verwalten</value>
+  </string>
+
+  <string id="1458" name="tooltip menu">
+    <value>System-Einstellungen verwalten</value>
+  </string>
+
+  <string id="1459" name="tooltip menu">
+    <value>Sprachen verwalten</value>
+  </string>
+
+  <string id="1460" name="tooltip menu">
+    <value>LDAP und ADS Konfiguration</value>
+  </string>
+
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import von Systemsicherungen</value>
+  </string>
+
+  <string id="1462" name="file explorer">
+    <value>Sie verfügen nicht über die erforderlichen Berechtigungen für diese Funktion</value>
+  </string>
+
+  <string id="1463" name="whiteboard">
+    <value>Text bearbeiten</value>
+  </string>
+  
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/dutch.xml b/WebContent/languages/dutch.xml
new file mode 100644
index 0000000..75a37d4
--- /dev/null
+++ b/WebContent/languages/dutch.xml
@@ -0,0 +1,4501 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Overleg</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>Afspraak</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>Evenementen</value>
+  </string>
+  <string id="4" name="settings">
+    <value>Instellingen</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>Profiel</value>
+  </string>
+  <string id="6" name="admin">
+    <value>Beheer</value>
+  </string>
+  <string id="7" name="stop">
+    <value>Stop</value>
+  </string>
+  <string id="8" name="record">
+    <value>Opnemen</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>Geen bestand beschikbaar</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>Opnamen door Presentator</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>Aanwezige gebruikers:</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>Start een overleg</value>
+  </string>
+  <string id="13" name="myname">
+    <value>Mijn Naam</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>Video Overleg</value>
+  </string>
+  <string id="15" name="import">
+    <value>Bestand Importeren</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>Lijst vernieuwen</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>Naar hoofd bestand</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>nieuwe stembus</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>Een nieuwe stembus.</value>
+  </string>
+  <string id="20" name="question">
+    <value>Vraag:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>Soort stembus:</value>
+  </string>
+  <string id="22" name="create">
+    <value>Aanmaken</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>Informatie: Iedere gebruiker krijgt een bericht over de stembus.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>Stembus aanmaken</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>Annuleren</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>Ja/Nee</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>Getal 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>Stembus</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>Je moet een organisator zijn om een vraag aan te maken</value>
+  </string>
+  <string id="30" name="vote">
+    <value>Jouw stem is geregistreerd.</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>Je hebt al gestemd op deze stembus.</value>
+  </string>
+  <string id="32" name="voting">
+    <value>Stem!</value>
+  </string>
+  <string id="33" name="answer">
+    <value>Jouw Antwoord:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>Ja</value>
+  </string>
+  <string id="35" name="no">
+    <value>Nee</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>Wil weten:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>Stembus resultaat</value>
+  </string>
+  <string id="38" name="question">
+    <value>Vraag:</value>
+  </string>
+  <string id="39" name="results">
+    <value>Resultaat:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>Antwoorden:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>Er is geen stembus.</value>
+  </string>
+  <string id="42" name="votings">
+    <value>Stem!</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>Overleg (max 4 plekken)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>Overleg (max 50 plekken)</value>
+  </string>
+  <string id="45" name="type">
+    <value>Soort</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>Andere plekken</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>Reeds gekozen</value>
+  </string>
+  <string id="48" name="enter">
+    <value>deelnemen</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>De organisator heeft het overleg verlaten.</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>Systeem informatie</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>Gekozen apparaat</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Gekozen webcam:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>Gekozen microfoon:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>OK</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>Annuleren</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>Je moet opnieuw verbinding maken.</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>Wijzig instellingen.</value>
+  </string>
+  <string id="58" name="course">
+    <value>Cursus:</value>
+  </string>
+  <string id="59" name="language">
+    <value>Taal:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>OK</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>Annuleren</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>Tekenbord schoonmaken</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Wil je dat het tekenbord schoon wordt gemaakt bij het toevoegen van een nieuw plaatje?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>Niet weer vragen</value>
+  </string>
+  <string id="65" name="no">
+    <value>Nee</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>Wijzig instellingen</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Bevestiging vragen voor het schoonmaken van het tekenbord.</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>Gebruikers Informatie</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>Tekenbord schoonmaken</value>
+  </string>
+  <string id="70" name="undo">
+    <value>Ongedaan maken</value>
+  </string>
+  <string id="71" name="redo">
+    <value>Opnieuw maken</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>Selecteer een object</value>
+  </string>
+  <string id="73" name="text">
+    <value>Tekst</value>
+  </string>
+  <string id="74" name="paint">
+    <value>Verf</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>Lijn Trekken</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>Onderstrepen</value>
+  </string>
+  <string id="77" name="rect">
+    <value>Rechthoek</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>Ellipse</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>Pijl</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>Verwijder het geselecteerde object</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>Toepassen voor aanpassing</value>
+  </string>
+  <string id="82" name="apply">
+    <value>Toepassen</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>Annuleren</value>
+  </string>
+  <string id="84" name="mod">
+    <value>Organisator worden</value>
+  </string>
+  <string id="85" name="close">
+    <value>Afsluiten</value>
+  </string>
+  <string id="86" name="italic">
+    <value>italic</value>
+  </string>
+  <string id="87" name="bold">
+    <value>bold</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>WACHTEN</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>Een gebruiker wil organisator worden, je kunt hem toegang geven tot het whiteboard of ook organisator maken. Gebruiker:</value>
+  </string>
+  <string id="90" name="accept">
+    <value>Accepteren</value>
+  </string>
+  <string id="91" name="reject">
+    <value>Afwijzen</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>Annuleren</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>Verstuur verzoek naar de volgende gebruikers</value>
+  </string>
+  <string id="94" name="accept">
+    <value>Geaccepteerd</value>
+  </string>
+  <string id="95" name="reject">
+    <value>Afgewezen</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>Verander organisator</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>Je bent geen organisator!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>Organisator:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>Dit overleg is vol. Probeer het later nogmaals.</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>Ellipse</value>
+  </string>
+  <string id="101" name="close">
+    <value>Sluiten</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>input data foutmelding</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>Gebruikersnaam moet minimaal 4 karakters zijn en is hoofdletter gevoelig!</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>Wachtwoord moet minimaal 4 karakters zijn</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>Deze gebruikersnaam is al gebruikt</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>Dit e-mail adres is al geregistreerd</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>Systeem fout neem contact op met een Systeem beheerder</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>Inloggen</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>Inlognaam/E-mail</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>Wachtwoord</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>Taal</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>Inloggen</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>Inschrijven</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>Inlognaam</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>Wachtwoord</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>Nogmaals</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Voornaam</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Achternaam</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>E-mail</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>Land</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>Registreer</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>Annuleren</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>Geen lid?</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>Start</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>Gebruikers</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>Groepen</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>Organisaties</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>Vergaderruimtes</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>Openbaar</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>Organisatie</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>Deelnemen</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>Inlognaam</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>Wachtwoord</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>Wachtwoord</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Voornaam</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Achternaam</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>E-mail</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>Geboortedatum</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>Straat en nummer</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>Postcode en Plaats</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>Land</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Meer gegevens</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Gebruikersgegevens</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>Opslaan</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>Opslaan</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>USER-ID</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>Loginnaam</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>Voornaam</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>Achternaam</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>Volgende tonen</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>Vorige tonen</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>Verwijder</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>Annuleren</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>Verwijderen</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>Toevoegen</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>Vernieuwen</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>Verwijderen</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>Status</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>Blokkeren</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>Vrijgeven</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>Organisatie(s)</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>Kalender</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>Sluiten</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>ID</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>Naam</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>Gebruiker</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>Organisator</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>Beheerder</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>Toegangsniveau</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>Organisatie</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>Naam</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>Organisatie toevoegen</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>Organisatie toevoegen</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>Annuleren</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>Toevoegen</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>Verwijder organisatie</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>Gebruiker</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>Gebruiker toevoegen</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>Gebruiker verwijderen</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>Gebruiker aan organisatie toevoegen</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>Zoek gebruiker</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>Zoek</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>Gebruiker</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>Organisatie</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>Deelnemen</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>Kamers</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>Kamer</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>ID</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>Naam</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>Openbaar</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>Organisaties</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>Kamers</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>Naam</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>Soort</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>Openbaar</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>Toelichting</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>Opslaan en exporteren</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>laden</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>Opslaan als</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>Bestandsnaam</value>
+  </string>
+  <string id="201" name="files">
+    <value>bestandsnaam</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>Annuleren</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>Opslaan</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>Foutmelding</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>Laden</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>Objecten geladen</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>Wachten op synchronisatie van gebruikers:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>Laden van afbeelding</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>Wachten op synchronisatie van gebruikers:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>Tekenbord Leegmaken</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>Tekenbord leegmaken, gegevens op tekenbord gaan verloren</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Bevestiging voor het laden van een bestand</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>Uitnodiging versturen</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>Verstuur uitnodiging</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>Onderwerp</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>E-mail geadresseerde</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>Bericht</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Verstuur</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>annuleren</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>Verstuur</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>Gebruikersgegevens</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>Je naam voor dit overleg</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>Naam</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>Voornaam</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>Achternaam</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>E-mail</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>Taal</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>deelnemen</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>Laden</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>Laden, even wachten aub!</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>Verkeerde wachtwoord</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>Please enter two identical passwords with at least 6 characters</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>Foutmelding</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>Dit is geen geldig E-mail adres</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>Registratie Afgerond</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>Je gebruikersaccount is nu aangemaakt. Je nu kunt inloggen.</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>Je kunt je scherm op dit moment niet delen. Iemand anders is al een scherm aan het delen.</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Delen is verboden</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Delen van scherm</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Slechts netwerk: Synchronisatie van het scherm lukt niet. Als je deze melding vaker krijgt, kun je de beheerder vragen of hij de quality van beeld wil verminderen.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>Scherm van:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Verf</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Document</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>Chat</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>Bestanden</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Leden</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Orginele document downloaden</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>PDF document downloaden</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Zet presentatie op tekenbord</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Instellingen</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Verplaats dit object</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Verander de grote</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>van</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>Na naar de eerste pagina</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>Ga naar de vorige pagina</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>Na gaan de volgende pagina</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>Ga naar de laatste pagina</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Uitzoomen</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Inzoomen</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>Dhr.</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Mevr.</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Instellingen</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>Instelling</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Instellingen</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>Instelling</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>Laatste update</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>Bijwerkt door</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>Toelichting</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>Waarde</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>van</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>Gebruikers</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>haal gebruiker uit organisatie</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>D</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>Deze gebruiker zit al in deze organisatie.</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>Nieuws</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Snelkoppelingen</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Ga naar overleg</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Ga luisteren</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Help en Hulp</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>Meld probleem!</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>meer</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Project Webside (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>User Mailing List (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Inloggegevens onthouden</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Inhoud</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>Mijn Start Pagina</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>Mijn geplande overleggen</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>Mijn geplande evenementen</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Openbare overleggen</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Prive overleggen</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Openbare evenementen</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Prive evenementen</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Openbare inhoud</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Prive inhoud</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Persoonlijke inhoud</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value/>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Nakijken</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>Nalaten kijken</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Stembussen</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Kies een bestand</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Instellingen</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Beeld/Geluid instellingen</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Tekenbord instellingen</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Verlaten</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Terug naar kamers</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Uitloggen</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Wachtwoord vergeten?</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>Wachtwoord opnieuw instellen</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>Via E-mail</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>Via inlognaam</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>Je E-mail</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>Je loginnaam</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Verstuur E-mail met een Link</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>Dit E-mail adres is niet gevonden. Geeft E-mail adres waar ook het account mee gemaakt is.</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Geeft inlognaam of E-mail adres</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>Er is geen gebruiker met deze inlognaam</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>Een E-mail met een link is naar je toegestuurd, controller je Postvak-In. Als je dan nog steeds niets hebt ontvangen bekijk je E-mail spam instellingen.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Foutmelding</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Bericht</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>Er is geen gebruiker met deze gegevens.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Wachtwoord opnieuw instellen</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Inlognaam</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>Verander wachtwoord</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>wachtwoord invoeren</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>wachtwoord opnieuw invoeren</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>De wachtwoorden zijn niet gelijk.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>Minimaal 4 karakters en hoofdlettergevoelig!</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>Wachtwoord ingesteld. Je kunt nu inloggen.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Onbekende Foutmelding. Geef dit door aan de beheerder.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>Inlognaam niet gevonden</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Verkeerd wachtwoord</value>
+  </string>
+  <string id="337" name="logout">
+    <value>U bent uitgelogd</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Registratie is uitgezet.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>Verkeerd E-mail adres</value>
+  </string>
+  <string id="340" name="registration">
+    <value>een bestand met deze naam is al aanwezig, kies een andere naam</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>bestandsnaam te kort</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>Kan bestand niet opslaan</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>Gebruiker toegevoegd. Account moet nog wel worden toegevoegd aan een organisatie.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>Nieuw item</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>Geen veld gevonden met dit veld ID.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>Geen label gevonden voor dat veld.</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Beheer authorisatie is vereist.</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Taal Bewerker</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Taal</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>Label-ID</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Label naam</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Label tekst</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Display tekst</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>Label naam</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>Label tekst</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>Label-ID</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>Je hebt alleen het label verwijderd en niet het veld! Je kunt dit veld niet verwijderen omdat het gebruikt worden in andere talen.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>Onjuist Label-ID. De 'FieldLanguagesvalues_Id' kan niet worden gevonden in de database.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>Je kunt alleen labels verwijderen en geen velden.</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>Exporteren</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>Je moet opnieuw aanmelden om de veranderingen te zien.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Nieuwe taal toevoegen</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>Taal verwijderen</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Nieuwe taal toevoegen</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Naam</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>Taal toevoegen</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Backup</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>ga naar het begin</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>vorige</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>volgende</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>ga naar de laatste</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>Gebruiker spreekt (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>Geluid aan/uit</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>Systeem</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>Jouw instellingen</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>Hallo, </value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Profiel bijwerken</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>Nieuw bericht:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Pasfoto uploaden</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Gebruikersdata exporteren</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>Om per organisatie een backup te maken, moeten organisatie aanwezig zijn.</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>Backup</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>Backup een organisatie </value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>Backup</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Gebruikersdata importeren</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>Restore</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>Importeren</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Exporteren naar XML - Deze bestanden kunnen gebruikt worden voor:&lt;br/&gt; - Bijdrage aan het project - Importeren in een ander systeem&lt;br/&gt; - Backup - Optimalisatie&lt;br/&gt; - Plaats het in de 'openmeeting/language' directory voor de volgende installatie</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Kies een taal bestand om te importeren. &lt;br/&gt;Opletten! Kies de juiste taal uit de selectie lijst! &lt;br/&gt;Het maakt niet uit wat de naam van het bestand is, &lt;br/&gt;het zal worden geimporteerd in deze taal!</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>importeren - kies een bestand</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Opslaan als</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Naam:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>Toelichting:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>Opslaan</value>
+  </string>
+  <string id="395" name="record">
+    <value>Opnames</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Opnames bekijken</value>
+  </string>
+  <string id="397" name="record">
+    <value>Opnames van openbare en prive kamers</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>Gebruikers: </value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>Aanwezig:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value/>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Active deelnemers:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>vernieuwen</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>Dit overleg is vol. Probeer het later nogmaals.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>Klik op een kamer voor meer informatie</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Chat met deelnemers:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Overleg:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Active deelnemers:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>Vanaf:</value>
+  </string>
+  <string id="409" name="record">
+    <value>Bekijk opname</value>
+  </string>
+  <string id="410" name="record">
+    <value>Duur:</value>
+  </string>
+  <string id="411" name="record">
+    <value>Datum:</value>
+  </string>
+  <string id="412" name="record">
+    <value>Opname bekijken! Je kunt niets wijzigen. Dit is een opgenomen overleg!</value>
+  </string>
+  <string id="413" name="record">
+    <value>Start deze opname</value>
+  </string>
+  <string id="414" name="record">
+    <value>Play / Pause</value>
+  </string>
+  <string id="415" name="record">
+    <value>Neem dit overleg op</value>
+  </string>
+  <string id="416" name="record">
+    <value>Stop opname</value>
+  </string>
+  <string id="417" name="record">
+    <value>Opname:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>Dit overleg wordt al opgenomen door een andere gebruiker!</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Opgenomen! Door gebruiker:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>Annuleren</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>De opname wordt gestopt en wordt niet bewaard.</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>hetvatten</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Sluit dit scherm en blijf opnemen</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>Verander lijnkleur</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Kies een kleur</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Uizetten/Aanzetten lijnkleur</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>Verander opvulkleur</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>Uitzetten/Aanzetten opvulkleur</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Verander lijn dikte</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>Afsluiten</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>Verander lettertype</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>Verwijder opname</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Gast</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>Door:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Naam</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Overleg</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Datum</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>Annuleren</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>Start</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Naam</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Datum</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>Verwijder Server-Chatlog</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>Chat</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>Verstuur bericht</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Emoticons</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>Emoticons</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Choose Published Devices</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Beeld en Geluid</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>Alleen geluid</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>Alleen beeld</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>Geen beeld/geluid (pasfoto afbeelden)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>Als er netwerk problemen zijn, kies dan voor pasfoto afbeelden. Je profiel pasfoto wordt hiervoor gebruikt.</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>Ma</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>Di</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>Wo</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>Do</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>Vr</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>Za</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>Zo</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>Maandag</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Dinsdag</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Woensdag</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Donderdag</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Vrijdag</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Zaterdag</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Zondag</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>WK</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Kalender Week</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>Januari</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>Februari</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>Maart</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>April</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>Mei</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>Juni</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>Juli</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>Augustus</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>September</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>Oktober</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>November</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>December</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Kalender</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Aantal Deelnemers</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Toon opmaak instellingen</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Breedte | Hoogte</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Beeld-Container</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Organisator-Container</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Tekenbord-Container</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Aanzetten</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Breedte | Hoogte</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Bestanden, chat en deelnemers - Container</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Aanzetten</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Breedte | Hoogte</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>De organisator heeft het overleg verlaten. Niemand is aan het presenteren. Je kunt organisator worden of wachten.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>Er zijn deelnemers maar nog geen organisator. Je kunt Organisator worden of wachten.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>Terugkoppeling $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Uitnodiging</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Bericht van gebruiker:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Bericht:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Klik op deze link om deel te nemen aan dit overleg:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Klik hier om deel te nemen aan dit overleg</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>Als je problemen ondervindt met de link, kopieer en plak deze in een internet browser:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME registeren</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>Je gebruikersgegevens:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Inlognaam:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Wachtwoord:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>E-mail:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME-Team</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME Registeren</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - Wachtwoord Reset</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Klik op deze link voor een nieuw wachtwoord:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Klik hier voor een nieuw wachtwoord</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>Als je problemen ondervindt met de link, kopieer en plak deze in een internet browser:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>$APP_NAME wachtwoord reset</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>Geef een juiste datum (dd.mm.yyyy)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Geef een juist E-mail adres (voorbeeld naam@domein.nl)</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Geef een Float-Number (voorbeeld 1.00)</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Geef een Integer (voorbeeld 100)</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Geef een juist telefoonnummer (voorbeeld +31 0123 456789</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Geef een juiste tijd (hh:mm)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Beveiligd door wachtwoord</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Wachtwoord</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Geldigheidsduur</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Altijd</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Periode</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>Eenmalig</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Geldig van:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Geldig tot:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Uitnodiging van $APP_NAME</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>Geen uitnodiging beschikbaar met deze code</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>Deze is uitnodiging is eenmalig en al eens gebruikt.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>Deze uitnodigingscode is onjuist.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Wachtwoord:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Controleer wachtwoord</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Verkeerd wachtwoord!</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>Beeld_Geluid</value>
+  </string>
+<string id="540" name="audio_video">
+    <value>Synchronisatie van beeld en geluid</value>
+</string>
+<string id="541" name="errorCode_invalidSession">
+    <value>Login was correct, but the Session you tried is not active or stored on the Server. You have to get a new SessionId and retry login.</value>
+</string>
+<string id="542" name="errorcode_setUserObject">
+    <value>The SessionId is not loggedin or has no Admin rights. The SOAP Gateway needs an User with Admin-Rights to embed new Users.</value>
+</string>
+<string id="543" name="errorcode_loginByRemoteUser">
+    <value>This Session has no Remoteuser-Data connected. Wether you did not call the SOAP-Gateway before accessing the Application or you are usnig a wrong Session-ID</value>
+</string>
+  <string id="544" name="debug_message_recording">
+    <value>De recorder functie is Beta!</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>x-as</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>y-as</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>b</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>breedte</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>hoogte</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Verander doorzichtigheid</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Open browser</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Sluit browser</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>De is geen verbinding met de server meer. Start de applicatie opnieuw of controleer je netwerk verbinding.</value>
+  </string>
+  <string id="557" name="557">
+    <value>Aanwijzer</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Synchronisatie</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Aan het synchroniseren. Even geduld aub</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Opslaan als SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Opslaan als PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Opslaan als JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Opslaan als PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Opslaan als TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Herinnering:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Categorie:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Herhaling:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>Geen</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Lokatie:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Begin</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>Einde</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Onderwerp:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Toelichting:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Gebruikers uitnodigen</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Dagelijks</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Maandelijks</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Jaarlijks</value>
+  </string>
+  <string id="578" name="alert">
+    <value>Opmerking: Het einde van het overleg moet altijd later zijn dan het begin!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Geef een onderwerp!</value>
+  </string>
+  <string id="580" name="580">
+    <value>RnL</value>
+  </string>
+  <string id="581" name="581">
+    <value>Zet deze functie aan als je taal van Rechts naar Links wordt geschreven</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Instrumentenbord</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Bekijk opgenomen overleg of evenement</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Overleg - Organiseer een overleg met 4 tot 16 personen.&lt;br/&gt;Iedereen heeft mogelijkheid tot beeld en geluid.</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Evenement - Organiseer een overleg met maximaal 200 personen.&lt;br/&gt;Alleen de organisator heeft beeld en geluid.</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Beheer gebruikers, kamers, organisaties&lt;br/&gt; of verander de instellingen</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Active deelnemers</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Inlognaam</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Document aan het laden. Even wachten tot alle gebruikers zijn gesynchroniseerd.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Importeren gelukt, nu aan het converteren...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Begin importeren</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Importeer scherm. Zoek en selecteer een bestand.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Annuleren</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Selecteer bestand</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Active sessies</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Waarde</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Inlognaam</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Verbonden sinds</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Kamer / bereik</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Uitloggen</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Uitloggen</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Weet je zeker dat je deze gebruiker wilt uitloggen?&lt;br/&gt;De gebruiker zal uit dit overleg worden gehaald. De gebruiker kan wel weer opnieuw deelnemen.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Je bent door een organisator of beheerder uit het overleg gehaald.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Telefoon</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>Gebruiker is organisator in dit overleg</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>Gebruiker mag tekenen op het tekenbord</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Her) Start beeld/geluid of verander instellingen</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Geef gebruiker toestemming om op het tekenbord te tekenen</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Ontneem gebruiker toestemming om op het tekenbord te tekenen</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Gebruikers</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Bestanden</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Tekenbord</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Chat</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Jouw account heeft meerdere organsiaties toegewezen gekregen. Selecteer een organisatie voor dit overleg.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>Dit overleg is vol. Probeer het later nogmaals.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Kamer soort</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Afspraak kamer</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Server tijd</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - herinnering</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Bericht van:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Bericht:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Klik op deze link om deel te nemen aan dit overleg:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Klik om deel te nemen aan dit overleg</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>Als je problemen ondervindt met de link, kopieer en plak deze in een internet browser:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>Zoek intern</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>Externe toevoegen</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>Voornaam</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>Achternaam</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>E-mail adres</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Uitloggen bevestigen</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Weet je zeker dat je wilt uitloggen?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Acties</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Demo kamer</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Demo tijd (sec)</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Overleg tijd</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>Dit is een demonstratie kamer. Je wordt automatisch uitlogd in :</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Toezichthouder</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>De organisator, beheerder of planner van dit overleg is nog niet aanwezig. Even wachten aub.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>OK</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Scherm delen</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>Er wordt een scherm gedeelte door gebruiker:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Start met delen</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Nieuw overleg toevoegen</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Kamers</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Evenement kamer</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Organisator</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Beheer de gebruikers</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Beheer de kamers</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Wil je deze gebruiker organisator maken van deze organisatie?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Je kunt pas een gebruiker toevoegen als je een organisatie hebt gekozen!</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Organisatie - organisatoren</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Wil je deze gebruiker echt uit deze organisatie halen?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>Deze gebruiker is organisator</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>Deze gebruiker is geen organisator</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Deze gebruiker geen organisator?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Toevoegen of verwijderen van gebruikers of kamers in je organisatie</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Wil je dit item echt verwijderen?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Wil je deze gebruiker echt uit je organisatie verwijderen? Het gebruikersaccount blijft wel bestaan.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>Je kunt je eigen gebruikersaccount niet verwijderen!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>Dit kan alleen een beheerder doen!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>Er zijn geen sessie gekoppeld aan dit ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>Dit is een beheeraccount. Je kunt dit account bewerken in het beheer Beheer/Gebruikers gedeelte.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>Klik op de link om de registratie af te ronden. Mocht dit niet lukken, kopieer en plak deze in een internet browser.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Klik om je E-mail adres te controleren</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Er is geen gebruiker met deze gegevens.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Deze gebruiker is al actief!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Het account is succesvol geactiveerd!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Nu inloggen</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Het account is nog niet actief. Gebruik eerste de link in de E-mail die je hebt gekregen tijdens de registratie.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>In inschrijven is nu volledig. Er is een E-mail gestuurd met een verificatie link. Controlleer je Postvak-In.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Verwijder organisator rol van gebruiker</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Geef organisator rol aan deze gebruiker</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>Gebruiker</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Toegang tot tekenbord</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Organisator</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Moderation: Selecteer een gebruiker om deze tekenbord en/of organisator toegang te geven.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>Deze gebruiker is al organisator en heeft dus toegang tot het tekenbord.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>Dit ben je zelf! Je kunt jezelf geen organisator rechten ontnemen.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Geef deze gebruiker beeld en geluid</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Ontneem deze gebruiker beeld en geluid</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>Ik zou graag organisator van dit overleg worden</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>Ik zou graag willen tekenen op het tekenbord</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>Ik zou graag mijn beeld en geluid delen</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>Je bent organisator van deze kamer</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>Je mag tekenen op het tekenbord</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>Je mag je beeld en geluid delen</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Bericht van de organisator</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>De gebruiker</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>wil graag organisator worden. Gebruik de status iconen naast de gebruiker om dit in te stellen.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>wil graag tekenen op het tekenbord. Gebruik de status iconen naast de gebruiker om dit in te stellen.</value>
+  </string>
+  <string id="695" name="695">
+    <value>wil graag beeld en geluid delen. Gebruik de status iconen naast de gebruiker om dit in te stellen.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>Je moet wachten totdat de organisator er is.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Annuleren</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Opslaan</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Dag</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Maand</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Jaar</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Bestand uploaden</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Directory toevoegen</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Vernieuwen</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Vuilnisbak</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>Mijn bestanden</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Bestanden in de kamer</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Bestand toevoegen</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Directory toevoegen</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Directory verwijderen</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Naam wijzigen</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>Nieuwe directory</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Weet je zeker dat je dit wilt verwijderen?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Zoek</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Zoek</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Open document</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Toon alle bestanden (Tree View)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Sluit Document</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Verwijder bestand</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>Je mag niet tekenen op het tekenbord. Je dient organisator te zijn of toestemming hiervoor te krijgen. Je kunt de organisator vragen voor toestemming.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Document eigenschappen</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Start Java</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Start Flash</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>Een gebruiker wil een scherm met je delen. Wil je deze zien?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>Op dit momenn deel je een scherm. Klik op de Stop knop om dit te beeidingen.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Gegevens delen</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>Je scherm wordt al getoond aan andere gebruikers!</value>
+  </string>
+<string id="728" name="sharing client">
+    <value>Desktop Viewer</value>
+</string>
+  <string id="729" name="sharing client">
+    <value>Stop Delen</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Scherm deler</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Klik op Start om je scherm te delen</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Start delen</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Pause delen</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Selecteer het gebied op je scherm:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Breedte veranderen</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>Het scherm delen is beindigd!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Hoogte veranderen</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X-afstand</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y-afstand</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Breedte:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Hoogte:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>Verbinding is beindigd door de server</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Annuleren</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Start Java</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>Als je deze sessie volledig beindigd, kun je hem niet opnieuw bekijken.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Bevestiging van het sluiten van deze sessie</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Deel scherm</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Neem sessie op</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Samen browsen</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Firefox op Windows geeft soms problemen met samen browsen.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Vorige</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Volgende</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Opnieuw laden</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Begin</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Laden</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Maak deze website je default website.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Test Setup</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Test beeld en geluid voordat je aan een overleg begint.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Laat deze test niet weer zien</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Annuleren</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Start Overleg</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Niet opnieuw vragen</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>Wil je doorgaan zonder test? Je bent dan nog steeds in staan om te chatten en te teken op het tekenbord.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="767">
+    <value>Niveau meter</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Kies Begin</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Begin direct een overleg</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Begin evenement</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Kies Kamer</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Wijzig Instellingen</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Begin Overleg</value>
+  </string>
+  <string id="774" name="start view">
+    <value>Start wizard:</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Start Opname</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Beeld en geluid iedere keer testen</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Openbare kamers</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Openbare kamers zijn toegankelijk voor alle gebruikers!</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Prive kamers</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Prive kamers zijn alleen toegankelijk voor gebruikers van dezelfde organisatie.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>Mijn kamers</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Deze kamers zijn voor persoonlijk gebruik en aangemaakt middels de kalender. Ze hebben een start en eind datum. Ze staan hier zolang ze nog geldig zijn.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>Je dient organisator te zijn om dit te doen.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Toegang aanvragen</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Toegang aanvragen</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Vragen voor beeld en geluid deelname</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>Deze sessie is al gebruikt en kun je niet nogmaals gebruiken.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>BEGIN</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>EINDE</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Wil je dit overleg echt verlaten? Het is raadzaam bestanden, tekenbord en chat historie op te schonen!</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Verlaat overleg</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Kamers</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Kies een kamer voor een overleg</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>Er is een niet opgeslagen evenement in de kalender. Bewaar of verwijder deze.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Je dient minimaal 1 persooon uit te nodigen!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Weet je zeker of je dit evenement wilt verwijderen?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Waarschuwing</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Evenement toevoegen</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>dag</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>Week</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>maand</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Omschrijving</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Deelnemers</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>Kies voor BEGIN om meteen een overleg te starten of ga naar de kalendar om iets te plannen.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Plan een overleg</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>Om een overleg te plannen, dien je een evenement aan de kalender toe te voegen. Voor ieder evenement zal automatisch een kamer aangemaakt worden. Iedere deelnemer zal E-mail ontvangen met een link naar de kamer.&lt;br/&gt;&lt;br/&gt;Er is keuze in verschillende soorten kamers. Tevens kan iedere kamer een eigen layout krijgen.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Hulp nodig?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Beperkt</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Zoek</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Toevoegen</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>Er is geen gebruiker geselecteerd. Kies eerst een item en klik dan op toevoegen.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Nieuwe deelnemer</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Opslaan</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Verwijderen</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Evenement details</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Standaard organisators</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Hoofd</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Naam</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>E-mail adres</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Nieuwe standaard organisator toevoegen</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Is hoofd-organisator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>Als de kamer voorzien is van organisatoren, worden gebruikers met deze rol automatisch organisator als ze het overleg betreden. Als je dit niet wilt, stel dan een standaard organisator in.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>A Super Moderator is always a Moderator when he enters a Room, and nobody can remove the Moderation Flag from him</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Geef hoofd-organisator rol</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Ontneem hoofd-organisator rol</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>Als je een organisatie toevoegd aan een kamer, kunnen alleen gebruikers van die organisatie de kamer betreden (letop: dat de kamer niet openbaar is!)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Organisatoren</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Conditie</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organisatie</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Weet je het zeker?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Weet je zeker dat je dit object wilt verwijderen? Kies voor opslaan om dit te bewaren!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>Er is geen gebruiker geselecteerd!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Nieuwe standaard organisator toevoegen</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Wil je deze gebruiker hoofd-organisator maken? Een hoofd-organisator is organisator en niemand kan deze organisator rol terugdraaienn. Kies voor opslaan om dit te bewaren!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Wil je de rol hoofd-organisator weghalen voor de gebruiker? Kies kamer opslaan om dit door te voeren!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>Dit een een hoofd-organisator. Je kunt een organisator rol niet verwijderen van een hoofd-organisator!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Weet je zeker dat dit bestand/directory verwijder kan worden?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Verwijder bestand/directory?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Mevrouw</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Meneer</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Eigenschappen</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Toon muis positie aan kijkers</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Deel geluid middels SIP</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Deel geluid middels SIP en beeld via flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Beeldvullend</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>Toon scherm</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>De gebruiker</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>wil zijn scherm delen, wil je dit zien?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Sluiten</value>
+  </string>
+<string id="852" name="screen sharer">
+    <value>Zoom</value>
+</string>
+  <string id="853" name="screen sharer">
+    <value>Deze sessie is beindigd door de gebruiker die aan het delen was!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>Opnieuw scherm delen</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimaliseren</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximaliseren</value>
+  </string>
+  <string id="858" name="858">
+    <value>Beeld</value>
+  </string>
+  <string id="859" name="">
+    <value>Opname tijdlijn</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>Mijn opnames</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Openbare opnames</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Informatie</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Naam</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Lengte</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Datum</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>Door</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>Download</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Hoofd - Beeld</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Opnemen</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>Opnemen en scherm delen kan op hetzelfde moment. Om je scherm te delen, kies voor scherm delen.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Begin opnemen</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Stop opnemen</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download FLV-bestand</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Kamer</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Afspelen</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>Gebruiker heeft de microfoon aan</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Allow User Questions</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Turn this off to prevent that any user is disturbing you in this room. Effect is that the Button to ask for Moderation ("I have a question") is not visible.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Rights</value>
+  </string>  
+  <string id="882" name="flvrecording">
+    <value>Download as AVI</value>
+  </string>  
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio only</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the Recording.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>The Recording is not yet ready for watching. Please retry in a couple of minutes again.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Recorder Message</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIP Applet is not Ready</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP-Account Settings</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP settings for each user. You can turn on or off SIP via the Administration &gt; Configuration (Key: enable_sip). The SIP data for each user should be created automatically. You can re-create the data by checking "Re-generate SIP Data"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. You should check the authentification data of your SIP-Provider and the SIP-Account Data for each User. As Administrator you are still able to login and check the Configuration. As User or Moderator you will be blocked from any interaction.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. Contact your Service Team!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet Message</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>The SIP-Applet is not ready. Accept the Applet please and click ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Get Moderation</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login the $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choose the User for this Video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>You are a Moderator in this Interview. You can decide who is speaking in this interview and you can start / stop the recording of the Session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Start Recording</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Stop Recording</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+    <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/english.xml b/WebContent/languages/english.xml
new file mode 100644
index 0000000..05a4f17
--- /dev/null
+++ b/WebContent/languages/english.xml
@@ -0,0 +1,5948 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+          
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<!--###############################################
+This File is auto-generated by the LanguageEditor
+to add new Languages or modify/customize it use the LanguageEditor
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd"> 
+  <string id="1" name="conference">
+    <value>Conference</value>
+  </string>
+
+  <string id="2" name="meeting">
+    <value>Meeting</value>
+  </string>
+
+  <string id="3" name="classroom">
+    <value>Events</value>
+  </string>
+
+  <string id="4" name="settings">
+    <value>Settings</value>
+  </string>
+
+  <string id="5" name="benutzer">
+    <value>Profile</value>
+  </string>
+
+  <string id="6" name="admin">
+    <value>Administration</value>
+  </string>
+
+  <string id="7" name="stop">
+    <value>Stop</value>
+  </string>
+
+  <string id="8" name="record">
+    <value>Record</value>
+  </string>
+
+  <string id="9" name="nofile">
+    <value>No file available</value>
+  </string>
+
+  <string id="10" name="recordbyteacher">
+    <value>Record by teacher</value>
+  </string>
+
+  <string id="11" name="connectedusers">
+    <value>Connected users</value>
+  </string>
+
+  <string id="12" name="startconf">
+    <value>Start a conference</value>
+  </string>
+
+  <string id="13" name="myname">
+    <value>My name</value>
+  </string>
+
+  <string id="14" name="videoconference">
+    <value>Video conference</value>
+  </string>
+
+  <string id="15" name="import">
+    <value>File upload</value>
+  </string>
+
+  <string id="16" name="refreshfiles">
+    <value>Refresh list</value>
+  </string>
+
+  <string id="17" name="tomainfile">
+    <value>To main file</value>
+  </string>
+
+  <string id="18" name="newpoll">
+    <value>new poll</value>
+  </string>
+
+  <string id="19" name="newpollheader">
+    <value>A new poll for the conference</value>
+  </string>
+
+  <string id="20" name="question">
+    <value>Question</value>
+  </string>
+
+  <string id="21" name="polltype">
+    <value>Type of poll</value>
+  </string>
+
+  <string id="22" name="create">
+    <value>Create</value>
+  </string>
+
+  <string id="23" name="infomessage">
+    <value>Each connected user receives a message with the new poll</value>
+  </string>
+
+  <string id="24" name="creatpoll">
+    <value>Create a poll</value>
+  </string>
+
+  <string id="25" name="cancel">
+    <value>Cancel</value>
+  </string>
+
+  <string id="26" name="yesno">
+    <value>Yes/No</value>
+  </string>
+
+  <string id="27" name="numeric">
+    <value>Numeric 1-10</value>
+  </string>
+
+  <string id="28" name="poll">
+    <value>Poll</value>
+  </string>
+
+  <string id="29" name="moderation">
+    <value>You must be a moderator to create a question</value>
+  </string>
+
+  <string id="30" name="vote">
+    <value>Your vote has been registered</value>
+  </string>
+
+  <string id="31" name="alreadyvoted">
+    <value>Your have already voted in this poll</value>
+  </string>
+
+  <string id="32" name="voting">
+    <value>Vote</value>
+  </string>
+
+  <string id="33" name="answer">
+    <value>Your response</value>
+  </string>
+
+  <string id="34" name="yes">
+    <value>Yes</value>
+  </string>
+
+  <string id="35" name="no">
+    <value>No</value>
+  </string>
+
+  <string id="36" name="questionwant">
+    <value>wants to know</value>
+  </string>
+
+  <string id="37" name="pollresults">
+    <value>Poll results</value>
+  </string>
+
+  <string id="38" name="question">
+    <value>Question</value>
+  </string>
+
+  <string id="39" name="results">
+    <value>Results</value>
+  </string>
+
+  <string id="40" name="answers">
+    <value>Answers</value>
+  </string>
+
+  <string id="41" name="nopoll">
+    <value>No polls have been started</value>
+  </string>
+
+  <string id="42" name="votings">
+    <value>Vote</value>
+  </string>
+
+  <string id="43" name="meeting">
+    <value>Meeting (max 4 seats)</value>
+  </string>
+
+  <string id="44" name="conference">
+    <value>Conference (max 50 seats)</value>
+  </string>
+
+  <string id="45" name="type">
+    <value>Type</value>
+  </string>
+
+  <string id="46" name="remainingseats">
+    <value>Other seats</value>
+  </string>
+
+  <string id="47" name="alreadychosen">
+    <value>Already chosen</value>
+  </string>
+
+  <string id="48" name="enter">
+    <value>enter</value>
+  </string>
+
+  <string id="49" name="modleave">
+    <value>The moderator has left the meeting</value>
+  </string>
+
+  <string id="50" name="systemmessage">
+    <value>System information</value>
+  </string>
+
+  <string id="51" name="chossedevice">
+    <value>Choose device</value>
+  </string>
+
+  <string id="52" name="choosecam">
+    <value>Choose webcam</value>
+  </string>
+
+  <string id="53" name="choosemic">
+    <value>Choose micro</value>
+  </string>
+
+  <string id="54" name="ok">
+    <value>OK</value>
+  </string>
+
+  <string id="55" name="cancel2">
+    <value>Cancel</value>
+  </string>
+
+  <string id="56" name="reconeectneeded">
+    <value>You need to reconnect</value>
+  </string>
+
+  <string id="57" name="editsetup">
+    <value>Edit setup</value>
+  </string>
+
+  <string id="58" name="course">
+    <value>Course</value>
+  </string>
+
+  <string id="59" name="language">
+    <value>Language</value>
+  </string>
+
+  <string id="60" name="ok2">
+    <value>OK</value>
+  </string>
+
+  <string id="61" name="cancel3">
+    <value>Cancel</value>
+  </string>
+
+  <string id="62" name="clearwhiteboard">
+    <value>Clear whiteboard</value>
+  </string>
+
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Do you want to empty the whiteboard before a new picture is added?</value>
+  </string>
+
+  <string id="64" name="dontaskagain">
+    <value>Don't ask again</value>
+  </string>
+
+  <string id="65" name="no">
+    <value>No</value>
+  </string>
+
+  <string id="66" name="editsetup2">
+    <value>Edit setup</value>
+  </string>
+
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Confirm request to empty the whiteboard</value>
+  </string>
+
+  <string id="68" name="userinfo">
+    <value>User info</value>
+  </string>
+
+  <string id="69" name="cleardrawarea">
+    <value>Clear whiteboard</value>
+  </string>
+
+  <string id="70" name="undo">
+    <value>Undo</value>
+  </string>
+
+  <string id="71" name="redo">
+    <value>Redo</value>
+  </string>
+
+  <string id="72" name="selectobject">
+    <value>Select an object</value>
+  </string>
+
+  <string id="73" name="text">
+    <value>Text</value>
+  </string>
+
+  <string id="74" name="paint">
+    <value>Paint</value>
+  </string>
+
+  <string id="75" name="drawline">
+    <value>Draw line</value>
+  </string>
+
+  <string id="76" name="drawu">
+    <value>Draw underline</value>
+  </string>
+
+  <string id="77" name="rect">
+    <value>Rectangle</value>
+  </string>
+
+  <string id="78" name="ellipse">
+    <value>Ellipse</value>
+  </string>
+
+  <string id="79" name="arrow">
+    <value>Arrow</value>
+  </string>
+
+  <string id="80" name="deletechosen">
+    <value>Delete</value>
+  </string>
+
+  <string id="81" name="appliymod">
+    <value>Apply to be a moderator</value>
+  </string>
+
+  <string id="82" name="apply">
+    <value>Apply</value>
+  </string>
+
+  <string id="83" name="cancel">
+    <value>Cancel</value>
+  </string>
+
+  <string id="84" name="mod">
+    <value>I have a question</value>
+  </string>
+
+  <string id="85" name="close">
+    <value>Close</value>
+  </string>
+
+  <string id="86" name="italic">
+    <value>italic</value>
+  </string>
+
+  <string id="87" name="bold">
+    <value>bold</value>
+  </string>
+
+  <string id="88" name="waiting">
+    <value>WAITING</value>
+  </string>
+
+  <string id="89" name="applyMessage">
+    <value>A user has applied to be a moderator, you can either grant them only access to the whiteboard or completely switch the moderation role. User:</value>
+  </string>
+
+  <string id="90" name="accept">
+    <value>Accept</value>
+  </string>
+
+  <string id="91" name="reject">
+    <value>Reject</value>
+  </string>
+
+  <string id="92" name="cancel">
+    <value>Cancel</value>
+  </string>
+
+  <string id="93" name="sendmodrequestmessage">
+    <value>Sending the request to the following users</value>
+  </string>
+
+  <string id="94" name="accept">
+    <value>Accepted</value>
+  </string>
+
+  <string id="95" name="reject">
+    <value>Rejected</value>
+  </string>
+
+  <string id="96" name="changemod">
+    <value>Change moderator</value>
+  </string>
+
+  <string id="97" name="nonmoderrormessage">
+    <value>You are not the moderator of this course</value>
+  </string>
+
+  <string id="98" name="moderator">
+    <value>Moderator</value>
+  </string>
+
+  <string id="99" name="roomfullmessage">
+    <value>This room is full</value>
+  </string>
+
+  <string id="100" name="elllipse">
+    <value>Ellipse</value>
+  </string>
+
+  <string id="101" name="close">
+    <value>Close</value>
+  </string>
+
+  <string id="102" name="AuthError">
+    <value>input data error</value>
+  </string>
+
+  <string id="103" name="min4username">
+    <value>Password and or login is too short</value>
+  </string>
+
+  <string id="104" name="min4pass">
+    <value>Password and or login is too short</value>
+  </string>
+
+  <string id="105" name="usernametaken">
+    <value>The username is already used</value>
+  </string>
+
+  <string id="106" name="emailtaken">
+    <value>The mail address is already registered</value>
+  </string>
+
+  <string id="107" name="emailtaken">
+    <value>System error please contact the administrator</value>
+  </string>
+
+  <string id="108" name="Authlogin">
+    <value>Login</value>
+  </string>
+
+  <string id="109" name="Authuser">
+    <value>Username or mail address</value>
+  </string>
+
+  <string id="110" name="Authpass">
+    <value>Password</value>
+  </string>
+
+  <string id="111" name="Authlang">
+    <value>Language</value>
+  </string>
+
+  <string id="112" name="Authreg">
+    <value>Sign in</value>
+  </string>
+
+  <string id="113" name="regformhead">
+    <value>Sign up</value>
+  </string>
+
+  <string id="114" name="regformuser">
+    <value>Username</value>
+  </string>
+
+  <string id="115" name="regformpass">
+    <value>Password</value>
+  </string>
+
+  <string id="116" name="regformretype">
+    <value>Re-enter password</value>
+  </string>
+
+  <string id="117" name="regformfirstname">
+    <value>First name</value>
+  </string>
+
+  <string id="118" name="regformlastname">
+    <value>Surname</value>
+  </string>
+
+  <string id="119" name="regformmail">
+    <value>Email address</value>
+  </string>
+
+  <string id="120" name="regformstate">
+    <value>Country</value>
+  </string>
+
+  <string id="121" name="regformbtn1">
+    <value>Register</value>
+  </string>
+
+  <string id="122" name="regformbtn2">
+    <value>Cancel</value>
+  </string>
+
+  <string id="123" name="Authbtn2">
+    <value>Not a member?</value>
+  </string>
+
+  <string id="124" name="dashboard">
+    <value>Home</value>
+  </string>
+
+  <string id="125" name="useradmin">
+    <value>Users</value>
+  </string>
+
+  <string id="126" name="groupadmin">
+    <value>Groups</value>
+  </string>
+
+  <string id="127" name="orgadmin">
+    <value>Usergroups</value>
+  </string>
+
+  <string id="128" name="headconf">
+    <value>Conference rooms</value>
+  </string>
+
+  <string id="129" name="conf_pub">
+    <value>Public</value>
+  </string>
+
+  <string id="130" name="head_org">
+    <value>Usergroups</value>
+  </string>
+
+  <string id="131" name="btn_enterroom">
+    <value>Enter</value>
+  </string>
+
+  <string id="132" name="useralterself_login">
+    <value>Login</value>
+  </string>
+
+  <string id="133" name="useralterself_pass">
+    <value>Password</value>
+  </string>
+
+  <string id="134" name="useralterself_passretype">
+    <value>Re-enter password</value>
+  </string>
+
+  <string id="135" name="useralterself_firstname">
+    <value>Title/first name</value>
+  </string>
+
+  <string id="136" name="useralterself_lastname">
+    <value>Last name</value>
+  </string>
+
+  <string id="137" name="useralterself_email">
+    <value>Email address</value>
+  </string>
+
+  <string id="138" name="useralterself_birth">
+    <value>Birthday</value>
+  </string>
+
+  <string id="139" name="useralterself_streetno">
+    <value>Street/No</value>
+  </string>
+
+  <string id="140" name="useralterself_town">
+    <value>Post code/Town</value>
+  </string>
+
+  <string id="141" name="useralterself_state">
+    <value>Country</value>
+  </string>
+
+  <string id="142" name="useralterself_adresscomment">
+    <value>Address</value>
+  </string>
+
+  <string id="143" name="useralterself_header">
+    <value>User details</value>
+  </string>
+
+  <string id="144" name="savemenubar_savelabel">
+    <value>Save</value>
+  </string>
+
+  <string id="145" name="savemenubar_savelabel">
+    <value>Save</value>
+  </string>
+
+  <string id="146" name="admin_userlist_user_id">
+    <value>User ID</value>
+  </string>
+
+  <string id="147" name="admin_userlist_login">
+    <value>Login</value>
+  </string>
+
+  <string id="148" name="admin_userlist_firstnam">
+    <value>First name</value>
+  </string>
+
+  <string id="149" name="admin_userlist_lastname">
+    <value>Last name</value>
+  </string>
+
+  <string id="150" name="turnoverlist_next">
+    <value>Show next</value>
+  </string>
+
+  <string id="151" name="turnoverlist_pre">
+    <value>Show previous</value>
+  </string>
+
+  <string id="152" name="savecontent_confirm">
+    <value>Delete record</value>
+  </string>
+
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>Cancel</value>
+  </string>
+
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>Delete</value>
+  </string>
+
+  <string id="155" name="savemenubar_addlabel">
+    <value>New record</value>
+  </string>
+
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>Refresh record</value>
+  </string>
+
+  <string id="157" name="savemenubar_deletelabel">
+    <value>Delete record</value>
+  </string>
+
+  <string id="158" name="useralter_admin_status">
+    <value>Status</value>
+  </string>
+
+  <string id="159" name="useralter_admin_statusItem">
+    <value>Disabled</value>
+  </string>
+
+  <string id="160" name="useralter_admin_statusItem">
+    <value>Enabled</value>
+  </string>
+
+  <string id="161" name="useralter_admin_organisation">
+    <value>Usergroup</value>
+  </string>
+
+  <string id="162" name="calendar_iconlabel">
+    <value>Calendar</value>
+  </string>
+
+  <string id="163" name="savewindow_btn">
+    <value>Close</value>
+  </string>
+
+  <string id="164" name="organisationtablelist_idrow">
+    <value>Usergroup ID</value>
+  </string>
+
+  <string id="165" name="organisationtablelist_namerow">
+    <value>Name</value>
+  </string>
+
+  <string id="166" name="uservalue_levelid1">
+    <value>User</value>
+  </string>
+
+  <string id="167" name="uservalue_levelid2">
+    <value>Moderator</value>
+  </string>
+
+  <string id="168" name="uservalue_levelid3">
+    <value>Admin</value>
+  </string>
+
+  <string id="169" name="uservalue_levellabel">
+    <value>User level</value>
+  </string>
+
+  <string id="170" name="orgvalue_header">
+    <value>Usergroup</value>
+  </string>
+
+  <string id="171" name="orgvalue_orgname">
+    <value>Name</value>
+  </string>
+
+  <string id="172" name="orgvalue_orgname">
+    <value>Add usergroup</value>
+  </string>
+
+  <string id="173" name="orgvalue_orgname">
+    <value>Add usergroup</value>
+  </string>
+
+  <string id="174" name="orgvalue_userwin">
+    <value>Cancel</value>
+  </string>
+
+  <string id="175" name="orgvalue_userwin">
+    <value>Add</value>
+  </string>
+
+  <string id="176" name="orgvalue_userwin">
+    <value>Remove usergroup</value>
+  </string>
+
+  <string id="177" name="orgvalue_userlist">
+    <value>User</value>
+  </string>
+
+  <string id="178" name="orgvalue_userlistadd">
+    <value>Add user</value>
+  </string>
+
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>Delete user</value>
+  </string>
+
+  <string id="180" name="orgvalue_userwinheader">
+    <value>Add user to usergroup</value>
+  </string>
+
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>Search user</value>
+  </string>
+
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>Search</value>
+  </string>
+
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>User</value>
+  </string>
+
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>Usergroup</value>
+  </string>
+
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>Enter</value>
+  </string>
+
+  <string id="186" name="navi_roomadmin">
+    <value>Conference rooms</value>
+  </string>
+
+  <string id="187" name="roomadmin_header">
+    <value>Conference rooms</value>
+  </string>
+
+  <string id="188" name="roomadmin_header">
+    <value>ID</value>
+  </string>
+
+  <string id="189" name="roomadmin_header">
+    <value>Name</value>
+  </string>
+
+  <string id="190" name="roomadmin_header">
+    <value>Public</value>
+  </string>
+
+  <string id="191" name="roomadmin_header">
+    <value>Usergroups</value>
+  </string>
+
+  <string id="192" name="roomadmin_header">
+    <value>Conference rooms</value>
+  </string>
+
+  <string id="193" name="roomvalue_name">
+    <value>Name</value>
+  </string>
+
+  <string id="194" name="roomvalue_type">
+    <value>Type</value>
+  </string>
+
+  <string id="195" name="roomvalue_ispublic">
+    <value>Public</value>
+  </string>
+
+  <string id="196" name="roomvalue_comment">
+    <value>Comment</value>
+  </string>
+
+  <string id="197" name="whiteboard_saveicon">
+    <value>Save and export</value>
+  </string>
+
+  <string id="198" name="whiteboard_openicon">
+    <value>Load</value>
+  </string>
+
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>Save as</value>
+  </string>
+
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>Filename</value>
+  </string>
+
+  <string id="201" name="files">
+    <value>Filename</value>
+  </string>
+
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>Cancel</value>
+  </string>
+
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>Save</value>
+  </string>
+
+  <string id="204" name="rpcerrorwin_header">
+    <value>Error</value>
+  </string>
+
+  <string id="205" name="loadwml_header">
+    <value>Loading</value>
+  </string>
+
+  <string id="206" name="loadwml_messsload">
+    <value>Objects loaded</value>
+  </string>
+
+  <string id="207" name="loadwml_messsync">
+    <value>Synchronizing, please wait</value>
+  </string>
+
+  <string id="208" name="loadimage_messload">
+    <value>Loading image</value>
+  </string>
+
+  <string id="209" name="loadimage_messsync">
+    <value>Synchronizing, please wait</value>
+  </string>
+
+  <string id="210" name="loadwml_confirmheader">
+    <value>Clear whiteboard</value>
+  </string>
+
+  <string id="211" name="loadwml_confirmmess">
+    <value>Clear whiteboard, all data on the whiteboard will be lost</value>
+  </string>
+
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Confirm before loading a file</value>
+  </string>
+
+  <string id="213" name="send_invitation_btn">
+    <value>Send invitation</value>
+  </string>
+
+  <string id="214" name="send_invitationwin_header">
+    <value>Send invitation</value>
+  </string>
+
+  <string id="215" name="send_invitationwin_subject">
+    <value>Subject</value>
+  </string>
+
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Recipient</value>
+  </string>
+
+  <string id="217" name="send_invitationwin_message">
+    <value>Message</value>
+  </string>
+
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Send</value>
+  </string>
+
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>Cancel</value>
+  </string>
+
+  <string id="220" name="send_chat_text_btn">
+    <value>Send</value>
+  </string>
+
+  <string id="221" name="invited_userwin_header">
+    <value>User details</value>
+  </string>
+
+  <string id="222" name="invited_userwin_subject">
+    <value>Your nickname for this conference</value>
+  </string>
+
+  <string id="223" name="invited_userwin_login">
+    <value>Nick</value>
+  </string>
+
+  <string id="224" name="invited_userwin_firstname">
+    <value>First name</value>
+  </string>
+
+  <string id="225" name="invited_userwin_lastname">
+    <value>Last name</value>
+  </string>
+
+  <string id="226" name="invited_userwin_mail">
+    <value>Email</value>
+  </string>
+
+  <string id="227" name="invited_userwin_lang">
+    <value>Language</value>
+  </string>
+
+  <string id="228" name="invited_userwin_enter">
+    <value>Enter</value>
+  </string>
+
+  <string id="229" name="invited_userwin_enter">
+    <value>Loading</value>
+  </string>
+
+  <string id="230" name="invited_userwin_enter">
+    <value>Loading data, please wait</value>
+  </string>
+
+  <string id="231" name="user_registerFalsePWD">
+    <value>Wrong password</value>
+  </string>
+
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>Please enter two identical passwords</value>
+  </string>
+
+  <string id="233" name="user_registerMailError">
+    <value>Wrong email</value>
+  </string>
+
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>You have entered an invalid email address</value>
+  </string>
+
+  <string id="235" name="user_registerSuccess">
+    <value>Registration complete</value>
+  </string>
+
+  <string id="236" name="user_registerSuccessHeader">
+    <value>Your account has been created. You can now login.</value>
+  </string>
+
+  <string id="237" name="user_sharing_message">
+    <value>Someone is already sharing their screen</value>
+  </string>
+
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Sharing forbidden</value>
+  </string>
+
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Share/record screen</value>
+  </string>
+
+  <string id="240" name="screen_warnBandwidth">
+    <value>Unable to syncronize the screen. If this warning is shown often you should ask the moderator to reduce the quality.</value>
+  </string>
+
+  <string id="241" name="screen_userlabel">
+    <value>Screen of:</value>
+  </string>
+
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Paint</value>
+  </string>
+
+  <string id="243" name="whiteboard_tab_document">
+    <value>Document</value>
+  </string>
+
+  <string id="244" name="tabbar_chaticon">
+    <value>Chat</value>
+  </string>
+
+  <string id="245" name="tabbar_filesicon">
+    <value>Files</value>
+  </string>
+
+  <string id="246" name="tabbar_participantsicon">
+    <value>Members</value>
+  </string>
+
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Download original document</value>
+  </string>
+
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>Download PDF document</value>
+  </string>
+
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Load presentation to whiteboard</value>
+  </string>
+
+  <string id="250" name="navimain_config">
+    <value>Configuration</value>
+  </string>
+
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Drag this object</value>
+  </string>
+
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Resize this object</value>
+  </string>
+
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>of</value>
+  </string>
+
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>Go to first page</value>
+  </string>
+
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>Go to previous page</value>
+  </string>
+
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>Go to next page</value>
+  </string>
+
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>Go to last page</value>
+  </string>
+
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Zoom --</value>
+  </string>
+
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Zoom ++</value>
+  </string>
+
+  <string id="261" name="salutation_mr">
+    <value>Mr</value>
+  </string>
+
+  <string id="262" name="salutation_miss">
+    <value>Ms</value>
+  </string>
+
+  <string id="263" name="navimain_confadmin">
+    <value>Configuration</value>
+  </string>
+
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+
+  <string id="265" name="conftable_headerkey">
+    <value>Key</value>
+  </string>
+
+  <string id="266" name="confadminform_header">
+    <value>Configuration</value>
+  </string>
+
+  <string id="267" name="confadminform_labelkey">
+    <value>Key</value>
+  </string>
+
+  <string id="268" name="confadminform_labelupdated">
+    <value>Last update</value>
+  </string>
+
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>Updated by</value>
+  </string>
+
+  <string id="270" name="confadminform_labelcomment">
+    <value>Comment</value>
+  </string>
+
+  <string id="271" name="confadminform_labelkey">
+    <value>Value</value>
+  </string>
+
+  <string id="272" name="turnoverlist_maxresults">
+    <value>of</value>
+  </string>
+
+  <string id="273" name="organisation_usersheader">
+    <value>Users</value>
+  </string>
+
+  <string id="274" name="organisation_usersicondelete">
+    <value>Delete user from usergroup</value>
+  </string>
+
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>D</value>
+  </string>
+
+  <string id="276" name="organisation_usersalreadadded">
+    <value>This user is already a member of this usergroup</value>
+  </string>
+
+  <string id="277" name="dashboard_newsheader">
+    <value>News</value>
+  </string>
+
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Quick links</value>
+  </string>
+
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Go to conference</value>
+  </string>
+
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Goto auditorium</value>
+  </string>
+
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Help and support</value>
+  </string>
+
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+
+  <string id="284" name="dashboard_reportbugs">
+    <value>Report a bug</value>
+  </string>
+
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>more</value>
+  </string>
+
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Project website (http://incubator.apache.org/openmeetings)</value>
+  </string>
+
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>User mailing list (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+
+  <string id="288" name="login_rememberuser">
+    <value>Remember login</value>
+  </string>
+
+  <string id="289" name="main_navi">
+    <value>Content</value>
+  </string>
+
+  <string id="290" name="subnavi">
+    <value>Dashboard</value>
+  </string>
+
+  <string id="291" name="subnavi">
+    <value>Calendar</value>
+  </string>
+
+  <string id="292" name="subnavi">
+    <value>My scheduled events</value>
+  </string>
+
+  <string id="293" name="subnavi">
+    <value>Public meetings</value>
+  </string>
+
+  <string id="294" name="subnavi">
+    <value>Private meetings</value>
+  </string>
+
+  <string id="295" name="subnavi">
+    <value>Public events</value>
+  </string>
+
+  <string id="296" name="subnavi">
+    <value>Private events</value>
+  </string>
+
+  <string id="297" name="subnavi">
+    <value>Public content</value>
+  </string>
+
+  <string id="298" name="subnavi">
+    <value>Private content</value>
+  </string>
+
+  <string id="299" name="subnavi">
+    <value>Personal content</value>
+  </string>
+
+  <string id="300" name="subnavi">
+    <value />
+  </string>
+
+  <string id="301" name="conferencebar">
+    <value>Moderation</value>
+  </string>
+
+  <string id="302" name="conferencebar">
+    <value>I have a question</value>
+  </string>
+
+  <string id="303" name="conferencebar">
+    <value>Polls</value>
+  </string>
+
+  <string id="304" name="conferencebar">
+    <value>Choose a file</value>
+  </string>
+
+  <string id="305" name="conferencebar">
+    <value>Settings</value>
+  </string>
+
+  <string id="306" name="conferencebar">
+    <value>Camera and mic settings</value>
+  </string>
+
+  <string id="307" name="conferencebar">
+    <value>Whiteboard settings</value>
+  </string>
+
+  <string id="308" name="conferencebar">
+    <value>Exit</value>
+  </string>
+
+  <string id="309" name="conferencebar">
+    <value>Back to rooms</value>
+  </string>
+
+  <string id="310" name="conferencebar">
+    <value>Logout</value>
+  </string>
+
+  <string id="311" name="loginwindow">
+    <value>Forgotten your password?</value>
+  </string>
+
+  <string id="312" name="loginwindow">
+    <value>Reset password</value>
+  </string>
+
+  <string id="313" name="loginwindow">
+    <value>Using email address</value>
+  </string>
+
+  <string id="314" name="loginwindow">
+    <value>Using login</value>
+  </string>
+
+  <string id="315" name="loginwindow">
+    <value>Your email address</value>
+  </string>
+
+  <string id="316" name="loginwindow">
+    <value>Your login</value>
+  </string>
+
+  <string id="317" name="loginwindow">
+    <value>Send email with a reset link</value>
+  </string>
+
+  <string id="318" name="loginwindow">
+    <value>No such email address was found. Make sure you entered the same email address you used to create your account.</value>
+  </string>
+
+  <string id="319" name="loginwindow">
+    <value>Please enter either an email address or a user name</value>
+  </string>
+
+  <string id="320" name="loginwindow">
+    <value>There is no user connected to this username</value>
+  </string>
+
+  <string id="321" name="loginwindow">
+    <value>The email containing a special link has been sent to your email address</value>
+  </string>
+
+  <string id="322" name="errortype">
+    <value>Error</value>
+  </string>
+
+  <string id="323" name="errortype">
+    <value>Message</value>
+  </string>
+
+  <string id="324" name="resetpass">
+    <value>No user found</value>
+  </string>
+
+  <string id="325" name="resetpass">
+    <value>Reset your password</value>
+  </string>
+
+  <string id="326" name="resetpass">
+    <value>Login</value>
+  </string>
+
+  <string id="327" name="resetpass">
+    <value>Change password</value>
+  </string>
+
+  <string id="328" name="resetpass">
+    <value>New password</value>
+  </string>
+
+  <string id="329" name="resetpass">
+    <value>Re-enter password</value>
+  </string>
+
+  <string id="330" name="resetpass">
+    <value>The passwords you entered weren't identical</value>
+  </string>
+
+  <string id="331" name="resetpass">
+    <value>Password and or username too short, required minimum length for user name / password are: </value>
+  </string>
+
+  <string id="332" name="resetpass">
+    <value>Password set. You can now login.</value>
+  </string>
+
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+
+  <string id="334" name="rpcgeneralerror">
+    <value>Unknown error. Please report this to the administrator.</value>
+  </string>
+
+  <string id="335" name="loginwindow">
+    <value>Username not found</value>
+  </string>
+
+  <string id="336" name="loginwindow">
+    <value>Invalid password</value>
+  </string>
+
+  <string id="337" name="logout">
+    <value>Successfully logged out</value>
+  </string>
+
+  <string id="338" name="registration">
+    <value>Registration disabled</value>
+  </string>
+
+  <string id="339" name="registration">
+    <value>Invalid email address</value>
+  </string>
+
+  <string id="340" name="registration">
+    <value>Duplicate file name, please enter another</value>
+  </string>
+
+  <string id="341" name="filebrowser">
+    <value>File name too short</value>
+  </string>
+
+  <string id="342" name="filebrowser">
+    <value>Could not save the address</value>
+  </string>
+
+  <string id="343" name="useradmin">
+    <value>User added but you need to assign this user to an usergroup, otherwise they won't be able to log in</value>
+  </string>
+
+  <string id="344" name="adminforms">
+    <value>New record</value>
+  </string>
+
+  <string id="345" name="languageseditor">
+    <value>No field found for the ID</value>
+  </string>
+
+  <string id="346" name="languageseditor">
+    <value>No label found</value>
+  </string>
+
+  <string id="347" name="errormessage">
+    <value>Admin authorization required</value>
+  </string>
+
+  <string id="348" name="mainnavi">
+    <value>Language editor</value>
+  </string>
+
+  <string id="349" name="languageseditor">
+    <value>Language</value>
+  </string>
+
+  <string id="350" name="languageseditor">
+    <value>Label ID</value>
+  </string>
+
+  <string id="351" name="languageseditor">
+    <value>Label name</value>
+  </string>
+
+  <string id="352" name="languageseditor">
+    <value>Value</value>
+  </string>
+
+  <string id="353" name="languageseditor">
+    <value>Field values</value>
+  </string>
+
+  <string id="354" name="languageseditor">
+    <value>Label name</value>
+  </string>
+
+  <string id="355" name="languageseditor">
+    <value>Label value</value>
+  </string>
+
+  <string id="356" name="languageseditor">
+    <value>Label ID</value>
+  </string>
+
+  <string id="357" name="languageseditor">
+    <value>You have deleted the label</value>
+  </string>
+
+  <string id="358" name="languageseditor">
+    <value>Invalid label ID</value>
+  </string>
+
+  <string id="359" name="languageseditor">
+    <value>You cannot delete this field</value>
+  </string>
+
+  <string id="360" name="languageseditor">
+    <value>Export</value>
+  </string>
+
+  <string id="361" name="languageseditor">
+    <value>You need to logout for any changes to update</value>
+  </string>
+
+  <string id="362" name="languageseditor">
+    <value>Add new language</value>
+  </string>
+
+  <string id="363" name="languageseditor">
+    <value>Delete language</value>
+  </string>
+
+  <string id="364" name="languageseditor">
+    <value>Add new language</value>
+  </string>
+
+  <string id="365" name="languageseditor">
+    <value>Name</value>
+  </string>
+
+  <string id="366" name="languageseditor">
+    <value>Add language</value>
+  </string>
+
+  <string id="367" name="languageseditor">
+    <value>Backup</value>
+  </string>
+
+  <string id="368" name="turnoverlist">
+    <value>goto first</value>
+  </string>
+
+  <string id="369" name="turnoverlist">
+    <value>goto previous</value>
+  </string>
+
+  <string id="370" name="turnoverlist">
+    <value>goto next</value>
+  </string>
+
+  <string id="371" name="turnoverlist">
+    <value>goto last</value>
+  </string>
+
+  <string id="372" name="videobox">
+    <value>user speaks (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+
+  <string id="373" name="videobox">
+    <value>turn sound on/off</value>
+  </string>
+
+  <string id="374" name="dashboard">
+    <value>System</value>
+  </string>
+
+  <string id="375" name="dashboard">
+    <value>Your settings</value>
+  </string>
+
+  <string id="376" name="dashboard">
+    <value>Hello</value>
+  </string>
+
+  <string id="377" name="dashboard">
+    <value>Edit your profile</value>
+  </string>
+
+  <string id="378" name="dashboard">
+    <value>Unread messages</value>
+  </string>
+
+  <string id="379" name="dashboard">
+    <value>Upload new image</value>
+  </string>
+
+  <string id="380" name="backuppanel">
+    <value>Export user data</value>
+  </string>
+
+  <string id="381" name="backuppanel">
+    <value>All usergroups must already exist</value>
+  </string>
+
+  <string id="382" name="backuppanel">
+    <value>Start export</value>
+  </string>
+
+  <string id="383" name="backuppanel">
+    <value>By usergroup</value>
+  </string>
+
+  <string id="384" name="backuppanel">
+    <value>Start export</value>
+  </string>
+
+  <string id="385" name="backuppanel">
+    <value>Import user data</value>
+  </string>
+
+  <string id="386" name="backuppanel">
+    <value>Choose users.xml</value>
+  </string>
+
+  <string id="387" name="languageseditor">
+    <value>Import</value>
+  </string>
+
+  <string id="388" name="languageseditor">
+    <value>Export to XML</value>
+  </string>
+
+  <string id="389" name="languageseditor">
+    <value>Choose a language file to import</value>
+  </string>
+
+  <string id="390" name="importwindow">
+    <value>Import</value>
+  </string>
+
+  <string id="391" name="recordingsavewin">
+    <value>Save as</value>
+  </string>
+
+  <string id="392" name="recordingsavewin">
+    <value>Name</value>
+  </string>
+
+  <string id="393" name="recordingsavewin">
+    <value>Comment</value>
+  </string>
+
+  <string id="394" name="recordingsavewin">
+    <value>Save</value>
+  </string>
+
+  <string id="395" name="record">
+    <value>Recordings</value>
+  </string>
+
+  <string id="396" name="recorder">
+    <value>Recordings viewer</value>
+  </string>
+
+  <string id="397" name="record">
+    <value>Recordings of public and private rooms</value>
+  </string>
+
+  <string id="398" name="roomslist">
+    <value>Users</value>
+  </string>
+
+  <string id="399" name="roomslist">
+    <value>Joined</value>
+  </string>
+
+  <string id="400" name="roomslist">
+    <value />
+  </string>
+
+  <string id="401" name="roomslist">
+    <value>Users in this room</value>
+  </string>
+
+  <string id="402" name="roomslist">
+    <value>Refresh</value>
+  </string>
+
+  <string id="403" name="roomslist">
+    <value>This room is full</value>
+  </string>
+
+  <string id="404" name="roomsList">
+    <value>Click on a room to get the room details</value>
+  </string>
+
+  <string id="405" name="roomslist">
+    <value>Chat with the users in this room</value>
+  </string>
+
+  <string id="406" name="roomslist">
+    <value>Room</value>
+  </string>
+
+  <string id="407" name="roomslist">
+    <value>Users in this room</value>
+  </string>
+
+  <string id="408" name="roomslist">
+    <value>since</value>
+  </string>
+
+  <string id="409" name="record">
+    <value>Play recording</value>
+  </string>
+
+  <string id="410" name="record">
+    <value>Length</value>
+  </string>
+
+  <string id="411" name="record">
+    <value>Date</value>
+  </string>
+
+  <string id="412" name="record">
+    <value>Recorder mode</value>
+  </string>
+
+  <string id="413" name="record">
+    <value>Play this recording</value>
+  </string>
+
+  <string id="414" name="record">
+    <value>Play/Pause</value>
+  </string>
+
+  <string id="415" name="record">
+    <value>Record this meeting</value>
+  </string>
+
+  <string id="416" name="record">
+    <value>Stop recording</value>
+  </string>
+
+  <string id="417" name="record">
+    <value>Recording</value>
+  </string>
+
+  <string id="418" name="record_error_msg">
+    <value>Someone is already recording this meeting</value>
+  </string>
+
+  <string id="419" name="record_message">
+    <value>Recording. User:</value>
+  </string>
+
+  <string id="420" name="record_cancel">
+    <value>Cancel</value>
+  </string>
+
+  <string id="421" name="record_cancal_tooltip">
+    <value>Recording will be canceled and not saved</value>
+  </string>
+
+  <string id="422" name="cancel_dialog_resume">
+    <value>resume</value>
+  </string>
+
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Close this window and resume recording</value>
+  </string>
+
+  <string id="424" name="painttools_ellipse_color">
+    <value>Change line colour</value>
+  </string>
+
+  <string id="425" name="colorpicker_head">
+    <value>Choose colour</value>
+  </string>
+
+  <string id="426" name="painttools_line_disable">
+    <value>Disable/enable line colour</value>
+  </string>
+
+  <string id="427" name="painttools_fill_disable">
+    <value>Change fill colour</value>
+  </string>
+
+  <string id="428" name="painttools_line_disable">
+    <value>Disable/enable fill colour</value>
+  </string>
+
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Change line width</value>
+  </string>
+
+  <string id="430" name="close_small_popups">
+    <value>Close</value>
+  </string>
+
+  <string id="431" name="paint_tool_letter">
+    <value>Change font size</value>
+  </string>
+
+  <string id="432" name="recordingslist_delete">
+    <value>Delete recording</value>
+  </string>
+
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Guest</value>
+  </string>
+
+  <string id="434" name="recordingslist_recordedby">
+    <value>By:</value>
+  </string>
+
+  <string id="435" name="recordings_table_head_name">
+    <value>Name</value>
+  </string>
+
+  <string id="436" name="recordings_table_head_room">
+    <value>Room</value>
+  </string>
+
+  <string id="437" name="recordings_table_head_date">
+    <value>Date</value>
+  </string>
+
+  <string id="438" name="record_start_cancel">
+    <value>Cancel</value>
+  </string>
+
+  <string id="439" name="record_start_start">
+    <value>Start</value>
+  </string>
+
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Name</value>
+  </string>
+
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Date</value>
+  </string>
+
+  <string id="442" name="chat_clear_history">
+    <value>Delete server chat log</value>
+  </string>
+
+  <string id="443" name="chat_overall_header">
+    <value>Chat</value>
+  </string>
+
+  <string id="444" name="chat_send_btn">
+    <value>Send message</value>
+  </string>
+
+  <string id="445" name="chat_emot_btn">
+    <value>Emoticons</value>
+  </string>
+
+  <string id="446" name="chat_emot_win">
+    <value>Emoticons</value>
+  </string>
+
+  <string id="447" name="choose_video_settings">
+    <value>Choose published devices</value>
+  </string>
+
+  <string id="448" name="choose_video_settings_combo">
+    <value>Audio and video</value>
+  </string>
+
+  <string id="449" name="choose_video_settings_combo">
+    <value>Audio only</value>
+  </string>
+
+  <string id="450" name="choose_video_settings_combo">
+    <value>Video only</value>
+  </string>
+
+  <string id="451" name="choose_video_settings_combo">
+    <value>No audio/video (static image)</value>
+  </string>
+
+  <string id="452" name="choose_video_settings_info_text">
+    <value>No audio/video from your PC will be published, your profile picture will be shown</value>
+  </string>
+
+  <string id="453" name="calendar_dayname_monday">
+    <value>MO</value>
+  </string>
+
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>TU</value>
+  </string>
+
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>WE</value>
+  </string>
+
+  <string id="456" name="calendar_dayname_thursday">
+    <value>TH</value>
+  </string>
+
+  <string id="457" name="calendar_dayname_friday">
+    <value>FR</value>
+  </string>
+
+  <string id="458" name="calendar_dayname_saturday">
+    <value>SA</value>
+  </string>
+
+  <string id="459" name="calendar_dayname_sunday">
+    <value>SU</value>
+  </string>
+
+  <string id="460" name="calendar_dayname_monday">
+    <value>Monday</value>
+  </string>
+
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Tuesday</value>
+  </string>
+
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Wednesday</value>
+  </string>
+
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Thursday</value>
+  </string>
+
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Friday</value>
+  </string>
+
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Saturday</value>
+  </string>
+
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Sunday</value>
+  </string>
+
+  <string id="467" name="calendar_weeknumber_header">
+    <value>CW</value>
+  </string>
+
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Calendar week</value>
+  </string>
+
+  <string id="469" name="calendar_monthnames">
+    <value>January</value>
+  </string>
+
+  <string id="470" name="calendar_monthnames">
+    <value>February</value>
+  </string>
+
+  <string id="471" name="calendar_monthnames">
+    <value>March</value>
+  </string>
+
+  <string id="472" name="calendar_monthnames">
+    <value>April</value>
+  </string>
+
+  <string id="473" name="calendar_monthnames">
+    <value>May</value>
+  </string>
+
+  <string id="474" name="calendar_monthnames">
+    <value>June</value>
+  </string>
+
+  <string id="475" name="calendar_monthnames">
+    <value>July</value>
+  </string>
+
+  <string id="476" name="calendar_monthnames">
+    <value>August</value>
+  </string>
+
+  <string id="477" name="calendar_monthnames">
+    <value>September</value>
+  </string>
+
+  <string id="478" name="calendar_monthnames">
+    <value>October</value>
+  </string>
+
+  <string id="479" name="calendar_monthnames">
+    <value>November</value>
+  </string>
+
+  <string id="480" name="calendar_monthnames">
+    <value>December</value>
+  </string>
+
+  <string id="481" name="calendarwin_header">
+    <value>Calendar</value>
+  </string>
+
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Participants</value>
+  </string>
+
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Show layout settings</value>
+  </string>
+
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Width | height</value>
+  </string>
+
+  <string id="486" name="roomAdmin_layout">
+    <value>Video container</value>
+  </string>
+
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Moderation container</value>
+  </string>
+
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Whiteboard container</value>
+  </string>
+
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Enabled</value>
+  </string>
+
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Width | height</value>
+  </string>
+
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Files, chat, participants container</value>
+  </string>
+
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Enabled</value>
+  </string>
+
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Width | height</value>
+  </string>
+
+  <string id="497" name="moderator_gone_message">
+    <value>The moderator has left the room. No one is presenting at the moment.</value>
+  </string>
+
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>There is no moderator in this room, but there are some participants. You have to apply to be the moderator or wait.</value>
+  </string>
+
+  <string id="499" name="feedback_template_subject">
+    <value>Feedback $APP_NAME</value>
+  </string>
+
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Invitation</value>
+  </string>
+
+  <string id="501" name="invitation_text_from">
+    <value>Message from user:</value>
+  </string>
+
+  <string id="502" name="invitation_text_message">
+    <value>Message:</value>
+  </string>
+
+  <string id="503" name="invitation_text_click_text">
+    <value>Click this link to participate in the conference [The link may only work for a certain period.]:</value>
+  </string>
+
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Click here to enter room</value>
+  </string>
+
+  <string id="505" name="invitation_text_click_text_help">
+    <value>If you have problems with the link, please copy and paste this to your browser:</value>
+  </string>
+
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME Account Details</value>
+  </string>
+
+  <string id="507" name="registering_mail_text_head2">
+    <value>Your account details</value>
+  </string>
+
+  <string id="508" name="registering_mail_text_username">
+    <value>Login</value>
+  </string>
+
+  <string id="509" name="registering_mail_text_pass">
+    <value>Pass</value>
+  </string>
+
+  <string id="510" name="registering_mail_text_mail">
+    <value>Email</value>
+  </string>
+
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME-Team</value>
+  </string>
+
+  <string id="512" name="register_mail_subject">
+    <value>Your $APP_NAME account details</value>
+  </string>
+
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - Reset Password</value>
+  </string>
+
+  <string id="514" name="reset_password_template_test_link">
+    <value>Click on this link to enter a new password</value>
+  </string>
+
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Click here to enter a new password</value>
+  </string>
+
+  <string id="516" name="reset_password_template_text3_link">
+    <value>If you have problems with the link, please copy and paste this to your browser:</value>
+  </string>
+
+  <string id="517" name="reset_password_mail_subject">
+    <value>$APP_NAME password reset</value>
+  </string>
+
+  <string id="518" name="dateRegExpError">
+    <value>Please enter a valid date, for example 24.12.2001
+    (dd.mm.yyyy)</value>
+  </string>
+
+  <string id="519" name="emailRegExpError">
+    <value>Please enter a valid email address, for example
+    name@mail.com</value>
+  </string>
+
+  <string id="520" name="floatRegExpError">
+    <value>Please enter a float-number, for example 1.00</value>
+  </string>
+
+  <string id="521" name="numberRegExpError">
+    <value>Please enter an integer number, for example 100</value>
+  </string>
+
+  <string id="522" name="phoneRegExpError">
+    <value>Please enter a valid phone number, for example ++49 0123
+    123123</value>
+  </string>
+
+  <string id="523" name="timeRegExpError">
+    <value>Please enter a valid time, for example 12:23 (hh:mm)</value>
+  </string>
+
+  <string id="524" name="invitation_window">
+    <value>Password protected</value>
+  </string>
+
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Password</value>
+  </string>
+
+  <string id="526" name="invitation_window_validLabel">
+    <value>Validity period</value>
+  </string>
+
+  <string id="527" name="invitation_window_valid">
+    <value>Endless</value>
+  </string>
+
+  <string id="528" name="invitation_window_valid">
+    <value>Period</value>
+  </string>
+
+  <string id="529" name="invitation_window_valid">
+    <value>One time</value>
+  </string>
+
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Valid from</value>
+  </string>
+
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Valid to</value>
+  </string>
+
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Invitation to $APP_NAME</value>
+  </string>
+
+  <string id="533" name="invitation_error">
+    <value>No invitation available for this invitation code</value>
+  </string>
+
+  <string id="534" name="invitation_error">
+    <value>This invitation was already used</value>
+  </string>
+
+  <string id="535" name="invitation_error">
+    <value>The invitation code is invalid</value>
+  </string>
+
+  <string id="536" name="invitation_pass">
+    <value>Password</value>
+  </string>
+
+  <string id="537" name="invitation_pass_btn">
+    <value>Check password</value>
+  </string>
+
+  <string id="538" name="invitation_pass_error">
+    <value>Invalid password</value>
+  </string>
+
+  <string id="539" name="Browser">
+    <value>Audio/video</value>
+  </string>
+
+  <string id="540" name="audio_video">
+    <value>Syncronize audio/video</value>
+  </string>
+
+  <string id="541" name="errorCode_invalidSession">
+    <value>Login was correct, but the session is not active or stored on the server</value>
+  </string>
+
+  <string id="542" name="errorcode_setUserObject">
+    <value>The session ID is not logged in or has no admin rights. The SOAP gateway needs a user with admin rights to embed new users.</value>
+  </string>
+
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>This session has no remoteuser-data connected. You did not call the SOAP gateway before accessing the application or you are using a wrong session ID</value>
+  </string>
+
+  <string id="544" name="debug_message_recording">
+    <value>The recorder is currently beta</value>
+  </string>
+
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>x-axis</value>
+  </string>
+
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>y-axis</value>
+  </string>
+
+  <string id="549" name="propertyPanelWidthValue">
+    <value>w</value>
+  </string>
+
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>width</value>
+  </string>
+
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>height</value>
+  </string>
+
+  <string id="553" name="propertyOpacitySlider">
+    <value>Change transparency</value>
+  </string>
+
+  <string id="554" name="browserOpen">
+    <value>Open browser</value>
+  </string>
+
+  <string id="555" name="browserClose">
+    <value>Close browser</value>
+  </string>
+
+  <string id="556" name="connectionLostMessage">
+    <value>The connection to the server has been lost</value>
+  </string>
+
+  <string id="557" name="557">
+    <value>Pointer</value>
+  </string>
+
+  <string id="558" name="sync message header">
+    <value>Synchronizing</value>
+  </string>
+
+  <string id="559" name="Synchronizing message">
+    <value>Synchronizing, please wait</value>
+  </string>
+
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Download as SVG&lt;/u&gt;</value>
+  </string>
+
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Download as PNG&lt;/u&gt;</value>
+  </string>
+
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Download as JPG&lt;/u&gt;</value>
+  </string>
+
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Download as PDF&lt;/u&gt;</value>
+  </string>
+
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Download as TIF&lt;/u&gt;</value>
+  </string>
+
+  <string id="565" name="calendarLabel">
+    <value>Notification type</value>
+  </string>
+
+  <string id="566" name="calendarLabel">
+    <value>Category</value>
+  </string>
+
+  <string id="567" name="calendarLabel">
+    <value>Repetition</value>
+  </string>
+
+  <string id="568" name="calendarLabel">
+    <value>none</value>
+  </string>
+
+  <string id="569" name="calendarLabel">
+    <value>Location</value>
+  </string>
+
+  <string id="570" name="calendarLabel">
+    <value>Start</value>
+  </string>
+
+  <string id="571" name="calendarLabel">
+    <value>End</value>
+  </string>
+
+  <string id="572" name="calendarLabel">
+    <value>Title</value>
+  </string>
+
+  <string id="573" name="calendarLabel">
+    <value>Comment</value>
+  </string>
+
+  <string id="574" name="calendarLabel">
+    <value>Invite People</value>
+  </string>
+
+  <string id="575" name="calendarLabel">
+    <value>Daily</value>
+  </string>
+
+  <string id="576" name="calendarLabel">
+    <value>Monthly</value>
+  </string>
+
+  <string id="577" name="calendarLabel">
+    <value>Yearly</value>
+  </string>
+
+  <string id="578" name="alert">
+    <value>Appointment end is after of appointment start</value>
+  </string>
+
+  <string id="579" name="alert">
+    <value>Please insert a title</value>
+  </string>
+
+  <string id="580" name="580">
+    <value>Right to left</value>
+  </string>
+
+  <string id="581" name="581">
+    <value>Activate this if you write in a right to left language</value>
+  </string>
+
+  <string id="582" name="tooltip main-menu">
+    <value>Dashboard</value>
+  </string>
+
+  <string id="583" name="tooltip main-menu">
+    <value>Watch recorded meetings or events</value>
+  </string>
+
+  <string id="584" name="tooltip main-menu">
+    <value>Meeting - make a conference with between 4 and 25 users&lt;br/&gt;and everybody will have audio and video access</value>
+  </string>
+
+  <string id="585" name="tooltip main-menu">
+    <value>Event - make a conference with up to 200 participants&lt;br/&gt;but only the moderator will have audio and video access</value>
+  </string>
+
+  <string id="586" name="tooltip main-menu">
+    <value>Create users, rooms, usergroups&lt;br/&gt; and change configuration</value>
+  </string>
+
+  <string id="587" name="room Administration roomclients list">
+    <value>Users in this room</value>
+  </string>
+
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+
+  <string id="589" name="room Administration roomclients list">
+    <value>Login</value>
+  </string>
+
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+
+  <string id="591" name="swf sync message">
+    <value>Loading document. Please wait until all clients have been synchronized.</value>
+  </string>
+
+  <string id="592" name="upload dialog">
+    <value>Upload complete, converting document</value>
+  </string>
+
+  <string id="593" name="upload dialog">
+    <value>Start upload</value>
+  </string>
+
+  <string id="594" name="upload dialog">
+    <value>Upload and import dialog. Please select a file.</value>
+  </string>
+
+  <string id="595" name="upload Dialog">
+    <value>Cancel</value>
+  </string>
+
+  <string id="596" name="upload Dialog">
+    <value>Select file</value>
+  </string>
+
+  <string id="597" name="administration navigation">
+    <value>Connections</value>
+  </string>
+
+  <string id="598" name="confadmin value list">
+    <value>Value</value>
+  </string>
+
+  <string id="599" name="connection administration panel">
+    <value>Stream ID</value>
+  </string>
+
+  <string id="600" name="connection administration panel">
+    <value>Login</value>
+  </string>
+
+  <string id="601" name="connection administration panel">
+    <value>Connected since</value>
+  </string>
+
+  <string id="602" name="connection administration panel">
+    <value>Room / Scope</value>
+  </string>
+
+  <string id="603" name="connection administration panel">
+    <value>Unenrole user</value>
+  </string>
+
+  <string id="604" name="kick user confirmation dialog">
+    <value>Unenrole user</value>
+  </string>
+
+  <string id="605" name="kick user confirmation dialog">
+    <value>Do you really want to unenrole this client from the room?</value>
+  </string>
+
+  <string id="606" name="kick user message dialog">
+    <value>Your session has been closed by an administrator or  moderator.</value>
+  </string>
+
+  <string id="607" name="useralterself_phone">
+    <value>Phone</value>
+  </string>
+
+  <string id="608" name="participents panel">
+    <value>User is the moderator of this room</value>
+  </string>
+
+  <string id="609" name="participents panel">
+    <value>User is allowed to draw on the whiteboard</value>
+  </string>
+
+  <string id="610" name="participents panel">
+    <value>(Re) Start audio/video or change device settings</value>
+  </string>
+
+  <string id="611" name="participents panel">
+    <value>Allow this user to draw on the whiteboard</value>
+  </string>
+
+  <string id="612" name="participents panel">
+    <value>Remove ability to draw on whiteboard</value>
+  </string>
+
+  <string id="613" name="conferencePanels">
+    <value>Users</value>
+  </string>
+
+  <string id="614" name="conferencePanels">
+    <value>Files</value>
+  </string>
+
+  <string id="615" name="conferencePanels">
+    <value>Whiteboard</value>
+  </string>
+
+  <string id="616" name="conferencePanels">
+    <value>Chat</value>
+  </string>
+
+  <string id="617" name="organization choose info">
+    <value>Your account is assigned to multiple usergroups. Please choose one for this session.</value>
+  </string>
+
+  <string id="618" name="error message room full">
+    <value>This room is full</value>
+  </string>
+
+  <string id="619" name="roomtypes">
+    <value>Room type</value>
+  </string>
+
+  <string id="620" name="appointed_room">
+    <value>Appointment room</value>
+  </string>
+
+  <string id="621" name="servertime">
+    <value>Server time</value>
+  </string>
+
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - reminder</value>
+  </string>
+
+  <string id="623" name="inv_reminder_text_from">
+    <value>Message from user:</value>
+  </string>
+
+  <string id="624" name="inv_reminder_text_message">
+    <value>Message:</value>
+  </string>
+
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Click this link to participate in the conference [The link does only work 15 minutes before the meeting starts.]:</value>
+  </string>
+
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Click here to enter room</value>
+  </string>
+
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>if you have problems with the link, please copy and paste this to your browser:</value>
+  </string>
+
+  <string id="628" name="btn_search_intern">
+    <value>search intern</value>
+  </string>
+
+  <string id="629" name="btn_search_extern">
+    <value>Add external</value>
+  </string>
+
+  <string id="630" name="lbl_prename">
+    <value>First name</value>
+  </string>
+
+  <string id="631" name="lbl_name">
+    <value>Surname</value>
+  </string>
+
+  <string id="632" name="lbl_email">
+    <value>Email</value>
+  </string>
+
+  <string id="633" name="logoutConfirm_title">
+    <value>Confirm logout</value>
+  </string>
+
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Are you sure you want to logout?</value>
+  </string>
+
+  <string id="635" name="main menu">
+    <value>Actions</value>
+  </string>
+
+  <string id="636" name="room admin">
+    <value>Demo room</value>
+  </string>
+
+  <string id="637" name="room admin">
+    <value>Demo time</value>
+  </string>
+
+  <string id="638" name="meeting Timer">
+    <value>Meeting timer</value>
+  </string>
+
+  <string id="639" name="meeting Timer">
+    <value>This room is a demo room. You will be automatically logged off in:</value>
+  </string>
+
+  <string id="640" name="meeting room administration">
+    <value>Moderated</value>
+  </string>
+
+  <string id="641" name="moderated room waiting message">
+    <value>Please wait until the moderator has entered the room</value>
+  </string>
+
+  <string id="642" name="error popup">
+    <value>OK</value>
+  </string>
+
+  <string id="643" name="window screensharing">
+    <value>Incoming screen sharing</value>
+  </string>
+
+  <string id="644" name="window screen sharing">
+    <value>There is a new screen sharing incoming from the User:</value>
+  </string>
+
+  <string id="645" name="window screen sharing">
+    <value>Start sharing</value>
+  </string>
+
+  <string id="646" name="calendar">
+    <value>Add new meeting</value>
+  </string>
+
+  <string id="647" name="calendar">
+    <value>Meeting room</value>
+  </string>
+
+  <string id="648" name="calendar">
+    <value>Event room</value>
+  </string>
+
+  <string id="649" name="main menu moderation">
+    <value>Moderation</value>
+  </string>
+
+  <string id="650" name="menu moderation">
+    <value>Moderate users</value>
+  </string>
+
+  <string id="651" name="menu moderation">
+    <value>Moderate rooms</value>
+  </string>
+
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+
+  <string id="653" name="confirm moderation">
+    <value>Do you want to change this user to be a moderator of that organisation?</value>
+  </string>
+
+  <string id="654" name="error message">
+    <value>Please choose an organisation before you try to add a user to it</value>
+  </string>
+
+  <string id="655" name="choose user window">
+    <value>Organisation - moderator</value>
+  </string>
+
+  <string id="656" name="moderator org users">
+    <value>Do you really want to delete this user from the organisation?</value>
+  </string>
+
+  <string id="657" name="org moderation">
+    <value>This user is a moderator</value>
+  </string>
+
+  <string id="658" name="org moderation">
+    <value>This user is not a moderator</value>
+  </string>
+
+  <string id="659" name="error message moderation">
+    <value>Do you not want this user to be a moderator of this organisation?</value>
+  </string>
+
+  <string id="660" name="moderation">
+    <value>Add or delete users or rooms within your organisation</value>
+  </string>
+
+  <string id="661" name="delete confirm question">
+    <value>Do you really want to delete this record?</value>
+  </string>
+
+  <string id="662" name="delete confirm question user moderation">
+    <value>Do you really want to delete this user from your
+    organisation?</value>
+  </string>
+
+  <string id="663" name="error message self deleting">
+    <value>You cannot delete your own user</value>
+  </string>
+
+  <string id="664" name="error message auth">
+    <value>This method needs an adminstration account to be invoked</value>
+  </string>
+
+  <string id="665" name="error message SOAP">
+    <value>There was no session associated with this ID</value>
+  </string>
+
+  <string id="666" name="error message moderation">
+    <value>This is an administrator or moderator account. You can only edit this account through the administration panel.</value>
+  </string>
+
+  <string id="667" name="email verification">
+    <value>To complete your registration please click on the following link</value>
+  </string>
+
+  <string id="668" name="email verification">
+    <value>Click to verify your email</value>
+  </string>
+
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>No user was found for this hash</value>
+  </string>
+
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>This user is already activated</value>
+  </string>
+
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>You successfully activated your account</value>
+  </string>
+
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Login now</value>
+  </string>
+
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Your account is not activated. Please use the link in the email you received during registration.</value>
+  </string>
+
+  <string id="674" name="register verification message">
+    <value>You have successfully signed up. An email with a verification code will be sent to your mailbox.</value>
+  </string>
+
+  <string id="675" name="participants panel">
+    <value>Remove moderator role from this user</value>
+  </string>
+
+  <string id="676" name="participants panel">
+    <value>Grant moderator rights to this user</value>
+  </string>
+
+  <string id="677" name="event user list">
+    <value>User</value>
+  </string>
+
+  <string id="678" name="event user list">
+    <value>Access to whiteboard</value>
+  </string>
+
+  <string id="679" name="event user list">
+    <value>Moderator</value>
+  </string>
+
+  <string id="680" name="event user list">
+    <value>Please choose any user on the list to make them a moderator or to grant them access to the whiteboard or video</value>
+  </string>
+
+  <string id="681" name="event user list">
+    <value>This user is already a moderator</value>
+  </string>
+
+  <string id="682" name="event user list error">
+    <value>You cannot remove the moderator rights for yourself</value>
+  </string>
+
+  <string id="683" name="event user list">
+    <value>Allow this user to publish their audio/video</value>
+  </string>
+
+  <string id="684" name="event user list">
+    <value>Remove audio/video of this user</value>
+  </string>
+
+  <string id="685" name="event user list">
+    <value>I have a question</value>
+  </string>
+
+  <string id="686" name="event user list">
+    <value>I would like to draw on the whiteboard</value>
+  </string>
+
+  <string id="687" name="event user list">
+    <value>I would like to share my audio/video</value>
+  </string>
+
+  <string id="688" name="event user list">
+    <value>You are the moderator of this room</value>
+  </string>
+
+  <string id="689" name="event user list">
+    <value>You are allowed to draw on the whiteboard</value>
+  </string>
+
+  <string id="690" name="event user list">
+    <value>You are allowed to share your audio/video</value>
+  </string>
+
+  <string id="691" name="errortype">
+    <value>Message to moderator</value>
+  </string>
+
+  <string id="692" name="apply for mod message">
+    <value>The user</value>
+  </string>
+
+  <string id="693" name="apply for mod message">
+    <value>would like to ask a question</value>
+  </string>
+
+  <string id="694" name="apply for whiteboard">
+    <value>would like to draw on whiteboard</value>
+  </string>
+
+  <string id="695" name="695">
+    <value>would like to share his audio/video</value>
+  </string>
+
+  <string id="696" name="moderation message">
+    <value>You have to wait until a moderator enters the room</value>
+  </string>
+
+  <string id="697" name="calendar button">
+    <value>Cancel</value>
+  </string>
+
+  <string id="698" name="calendar button">
+    <value>Save</value>
+  </string>
+
+  <string id="699" name="calendar component">
+    <value>Day</value>
+  </string>
+
+  <string id="700" name="calendar component">
+    <value>Month</value>
+  </string>
+
+  <string id="701" name="calendar component">
+    <value>Year</value>
+  </string>
+
+  <string id="702" name="file explorer">
+    <value>Upload file</value>
+  </string>
+
+  <string id="703" name="file explorer">
+    <value>Add folder</value>
+  </string>
+
+  <string id="704" name="file explorer">
+    <value>Refresh</value>
+  </string>
+
+  <string id="705" name="file explorer">
+    <value>Trash (drag and drop item here)</value>
+  </string>
+
+  <string id="706" name="file explorer">
+    <value>My files (home drive)</value>
+  </string>
+
+  <string id="707" name="file explorer">
+    <value>Room files (public drive)</value>
+  </string>
+
+  <string id="708" name="file explorer">
+    <value>Add file</value>
+  </string>
+
+  <string id="709" name="file explorer">
+    <value>Add folder</value>
+  </string>
+
+  <string id="710" name="file explorer">
+    <value>Delete folder</value>
+  </string>
+
+  <string id="711" name="file explorer">
+    <value>Edit name</value>
+  </string>
+
+  <string id="712" name="file explorer">
+    <value>New folder</value>
+  </string>
+
+  <string id="713" name="file explorer">
+    <value>Are you sure you want to delete this item?</value>
+  </string>
+
+  <string id="714" name="user admin">
+    <value>Search</value>
+  </string>
+
+  <string id="715" name="user admin">
+    <value>Search</value>
+  </string>
+
+  <string id="716" name="file explorer">
+    <value>Open document</value>
+  </string>
+
+  <string id="717" name="file explorer">
+    <value>Show all files (tree view)</value>
+  </string>
+
+  <string id="718" name="file explorer">
+    <value>Close document</value>
+  </string>
+
+  <string id="719" name="file explorer">
+    <value>Delete file</value>
+  </string>
+
+  <string id="720" name="file explorer">
+    <value>You are not allowed to draw anything on the whiteboard</value>
+  </string>
+
+  <string id="721" name="property panel">
+    <value>Document properties</value>
+  </string>
+
+  <string id="722" name="sharing session">
+    <value>Start Java</value>
+  </string>
+
+  <string id="723" name="sharing session">
+    <value>Start Flash</value>
+  </string>
+
+  <string id="724" name="sharing session">
+    <value>A user wants to share their screen. Do you want to see it?</value>
+  </string>
+
+  <string id="725" name="sharing session">
+    <value>You are currently sharing your desktop</value>
+  </string>
+
+  <string id="726" name="sharing session">
+    <value>Sharing session</value>
+  </string>
+
+  <string id="727" name="sharing session">
+    <value>You are already sharing your desktop</value>
+  </string>
+
+  <string id="728" name="sharing client">
+    <value>Desktop viewer</value>
+  </string>
+
+  <string id="729" name="sharing client">
+    <value>Stop sharing</value>
+  </string>
+
+  <string id="730" name="sharing client">
+    <value>Desktop sharer</value>
+  </string>
+
+  <string id="731" name="sharing client">
+    <value>Click Start to publish your screen</value>
+  </string>
+
+  <string id="732" name="sharing client">
+    <value>Start sharing</value>
+  </string>
+
+  <string id="733" name="sharing client">
+    <value>Pause sharing</value>
+  </string>
+
+  <string id="734" name="sharing client">
+    <value>Select your screen area:</value>
+  </string>
+
+  <string id="735" name="sharing client">
+    <value>Change width</value>
+  </string>
+
+  <string id="736" name="sharing client">
+    <value>The sharer has finished this session</value>
+  </string>
+
+  <string id="737" name="sharing client">
+    <value>Change height</value>
+  </string>
+
+  <string id="738" name="sharing client">
+    <value>X-Offset</value>
+  </string>
+
+  <string id="739" name="sharing client">
+    <value>Y-Offset</value>
+  </string>
+
+  <string id="740" name="sharing client">
+    <value>Width:</value>
+  </string>
+
+  <string id="741" name="sharing client">
+    <value>Height:</value>
+  </string>
+
+  <string id="742" name="sharing client">
+    <value>Connection was closed by server</value>
+  </string>
+
+  <string id="743" name="sharing viewer">
+    <value>Cancel</value>
+  </string>
+
+  <string id="744" name="sharing viewer">
+    <value>Start Java</value>
+  </string>
+
+  <string id="745" name="sharing viewer">
+    <value>If you close this session completely you will not be able to restart the viewer for this session</value>
+  </string>
+
+  <string id="746" name="sharing viewer">
+    <value>Confirm closing viewer session</value>
+  </string>
+
+  <string id="747" name="sharing viewer">
+    <value>Share screen</value>
+  </string>
+
+  <string id="748" name="sharing viewer">
+    <value>Record session</value>
+  </string>
+
+  <string id="749" name="co-browser">
+    <value>Co-Browsing</value>
+  </string>
+
+  <string id="750" name="co-browser">
+    <value>Please use Internet Explorer and not Firefox for Windows</value>
+  </string>
+
+  <string id="751" name="co-browser">
+    <value>Previous</value>
+  </string>
+
+  <string id="752" name="co-browser">
+    <value>Next</value>
+  </string>
+
+  <string id="753" name="co-browser">
+    <value>Reload</value>
+  </string>
+
+  <string id="754" name="co-browser">
+    <value>Home</value>
+  </string>
+
+  <string id="755" name="co-browser">
+    <value>Load</value>
+  </string>
+
+  <string id="756" name="co-browser">
+    <value>Add this website as the default website to your profile</value>
+  </string>
+
+  <string id="757" name="test setup">
+    <value>Test setup</value>
+  </string>
+
+  <string id="758" name="test setup">
+    <value>Use audio or video setup before you enter a room by recording for a few seconds. You can then replay your recording to check your voice and picture.</value>
+  </string>
+
+  <string id="759" name="test setup">
+    <value>Don't show this test anymore</value>
+  </string>
+
+  <string id="760" name="test setup">
+    <value>Cancel</value>
+  </string>
+
+  <string id="761" name="test setup">
+    <value>Start conference</value>
+  </string>
+
+  <string id="762" name="edit video settings">
+    <value>Do not ask again</value>
+  </string>
+
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+
+  <string id="765" name="test setup">
+    <value>You may proceed without testing if you do not plan to publish your voice or picture. Participants without audio or video can still use the whiteboard, share their desktop or write chat messages.</value>
+  </string>
+
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+
+  <string id="767" name="767">
+    <value>Level-meter</value>
+  </string>
+
+  <string id="768" name="start view">
+    <value>Press start</value>
+  </string>
+
+  <string id="769" name="start view">
+    <value>Start conference</value>
+  </string>
+
+  <string id="770" name="start view">
+    <value>Start event</value>
+  </string>
+
+  <string id="771" name="start view">
+    <value>Choose room</value>
+  </string>
+
+  <string id="772" name="start view">
+    <value>Check setup</value>
+  </string>
+
+  <string id="773" name="start view">
+    <value>Start conference</value>
+  </string>
+
+  <string id="774" name="start view">
+    <value>How to conference</value>
+  </string>
+
+  <string id="775" name="test setup">
+    <value>Start recording test</value>
+  </string>
+
+  <string id="776" name="test setup">
+    <value>Do not show audio/video test before entering a conference</value>
+  </string>
+
+  <string id="777" name="overview room">
+    <value>Public rooms</value>
+  </string>
+
+  <string id="778" name="overview room">
+    <value>Public rooms are accessible for all users</value>
+  </string>
+
+  <string id="779" name="overview room">
+    <value>Private rooms</value>
+  </string>
+
+  <string id="780" name="Private Rooms">
+    <value>Private rooms are only accessible for users of the same usergroup</value>
+  </string>
+
+  <string id="781" name="overview room">
+    <value>My rooms</value>
+  </string>
+
+  <string id="782" name="overview room">
+    <value>Rooms in this section are created for personal usage. There are some standard rooms plus the ones that are created through the calendar and have a start and an end date. The rooms created via the calendar are only listed in this section as long as they are valid.</value>
+  </string>
+
+  <string id="783" name="restricted room">
+    <value>You have to be moderator to do this</value>
+  </string>
+
+  <string id="784" name="menu option">
+    <value>Apply to be moderator</value>
+  </string>
+
+  <string id="785" name="menu option">
+    <value>Apply for whiteboard access</value>
+  </string>
+
+  <string id="786" name="menu option">
+    <value>Apply for audio/video access</value>
+  </string>
+
+  <string id="787" name="error message soap secure login">
+    <value>This session hash has already been used</value>
+  </string>
+
+  <string id="788" name="dashboard button">
+    <value>START</value>
+  </string>
+
+  <string id="789" name="exit conference">
+    <value>EXIT</value>
+  </string>
+
+  <string id="790" name="conference view">
+    <value>Do you really want to exit?</value>
+  </string>
+
+  <string id="791" name="conference view">
+    <value>Exit conference</value>
+  </string>
+
+  <string id="792" name="main menu">
+    <value>Rooms</value>
+  </string>
+
+  <string id="793" name="main menu">
+    <value>Choose a room for a meeting</value>
+  </string>
+
+  <string id="794" name="calendar">
+    <value>There is an unsaved event in the "Event details" on the right. Please save, remove or cancel and edit the details before adding another event.</value>
+  </string>
+
+  <string id="795" name="calendar">
+    <value>Please add at least one attendee for your meeting</value>
+  </string>
+
+  <string id="796" name="calendar">
+    <value>Do you really want to delete this event?</value>
+  </string>
+
+  <string id="797" name="calendar">
+    <value>Warning</value>
+  </string>
+
+  <string id="798" name="calendar">
+    <value>Add event</value>
+  </string>
+
+  <string id="799" name="calendar">
+    <value>Day</value>
+  </string>
+
+  <string id="800" name="calendar">
+    <value>Week</value>
+  </string>
+
+  <string id="801" name="calendar">
+    <value>Month</value>
+  </string>
+
+  <string id="802" name="calendar">
+    <value>Description</value>
+  </string>
+
+  <string id="803" name="calendar">
+    <value>Attendees</value>
+  </string>
+
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, your web conferencing platform. You can either follow the 1-2-3 steps to enter a conference room directly or you choose the Calendar to set up and plan a meeting.</value>
+  </string>
+
+  <string id="805" name="dashboard">
+    <value>Plan a meeting</value>
+  </string>
+
+  <string id="806" name="lzcalendar">
+    <value>To setup a conference you can add a new event in the calendar</value>
+  </string>
+
+  <string id="807" name="lzcalendar">
+    <value>Need help?</value>
+  </string>
+
+  <string id="808" name="lzcalendar">
+    <value>Restricted</value>
+  </string>
+
+  <string id="809" name="lzcalender">
+    <value>Search</value>
+  </string>
+
+  <string id="810" name="lzcalender">
+    <value>Add</value>
+  </string>
+
+  <string id="811" name="lzcalendar">
+    <value>There is no user selected</value>
+  </string>
+
+  <string id="812" name="lzcalendar">
+    <value>Add attendee</value>
+  </string>
+
+  <string id="813" name="lzcalendar">
+    <value>Save</value>
+  </string>
+
+  <string id="814" name="lzcalendar">
+    <value>Delete</value>
+  </string>
+
+  <string id="815" name="lzcalendar">
+    <value>Event details</value>
+  </string>
+
+  <string id="816" name="room admin">
+    <value>Default moderators</value>
+  </string>
+
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+
+  <string id="819" name="room admin">
+    <value>Name</value>
+  </string>
+
+  <string id="820" name="room admin">
+    <value>Email</value>
+  </string>
+
+  <string id="821" name="room admin">
+    <value>Add new default moderator</value>
+  </string>
+
+  <string id="822" name="room admin">
+    <value>Is super moderator</value>
+  </string>
+
+  <string id="823" name="room admin">
+    <value>If the room is moderated, any users with a moderator or administrator level access are automatically set to moderator when they enter the room</value>
+  </string>
+
+  <string id="824" name="room admin">
+    <value>A super moderator is always a moderator when they enter a room</value>
+  </string>
+
+  <string id="825" name="room admin">
+    <value>Make user a super moderator</value>
+  </string>
+
+  <string id="826" name="room admin">
+    <value>Remove super moderator from user</value>
+  </string>
+
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+
+  <string id="828" name="room admin">
+    <value>If you add an usergroup to the room only users of that usergroup have access to it</value>
+  </string>
+
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+
+  <string id="830" name="room admin">
+    <value>Limitations</value>
+  </string>
+
+  <string id="831" name="room admin">
+    <value>Usergroup</value>
+  </string>
+
+  <string id="832" name="confirm action">
+    <value>Are you sure?</value>
+  </string>
+
+  <string id="833" name="confirm delete">
+    <value>Do you really want to delete this item?</value>
+  </string>
+
+  <string id="834" name="user choose error">
+    <value>There is no user selected</value>
+  </string>
+
+  <string id="835" name="room admin">
+    <value>Add new default moderator</value>
+  </string>
+
+  <string id="836" name="room admin">
+    <value>Do you want to add the super moderation flag for this user?</value>
+  </string>
+
+  <string id="837" name="room admin">
+    <value>Do you want to remove the super moderation flag for this user? You need to save the room object to save these settings.</value>
+  </string>
+
+  <string id="838" name="super moderator">
+    <value>This user is a super moderator. You cannot remove the moderation
+    flag.</value>
+  </string>
+
+  <string id="839" name="confirm delete">
+    <value>Do you really want to delete this file/folder?</value>
+  </string>
+
+  <string id="840" name="confirm delete">
+    <value>Delete file/folder?</value>
+  </string>
+
+  <string id="841" name="salutation">
+    <value>Mrs</value>
+  </string>
+
+  <string id="842" name="salutation">
+    <value>Dr</value>
+  </string>
+
+  <string id="843" name="property panel whiteboard">
+    <value>Properties</value>
+  </string>
+
+  <string id="844" name="screen sharer">
+    <value>Show mouse position to viewers</value>
+  </string>
+
+  <string id="845" name="publish option">
+    <value>Share audio with SIP applet</value>
+  </string>
+
+  <string id="846" name="publish option">
+    <value>Share audio with SIP and video with Flash</value>
+  </string>
+
+  <string id="847" name="document panel">
+    <value>Full-Fit</value>
+  </string>
+
+  <string id="848" name="screen share">
+    <value>View screen</value>
+  </string>
+
+  <string id="849" name="screen share">
+    <value>The user</value>
+  </string>
+
+  <string id="850" name="screen share">
+    <value>wants to share their screen. Do you want to see it?</value>
+  </string>
+
+  <string id="851" name="screen share">
+    <value>Close</value>
+  </string>
+
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+
+  <string id="853" name="screen sharer">
+    <value>The Session was closed by the sharing user</value>
+  </string>
+
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+
+  <string id="855" name="screen sharer">
+    <value>New screen sharing</value>
+  </string>
+
+  <string id="856" name="presenter mini icon">
+    <value>Minimize</value>
+  </string>
+
+  <string id="857" name="presenter mini icon">
+    <value>Maximize</value>
+  </string>
+
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+
+  <string id="859" name="flvrecording">
+    <value>Recording timeline</value>
+  </string>
+
+  <string id="860" name="flvrecording">
+    <value>My recordings</value>
+  </string>
+
+  <string id="861" name="flvrecording">
+    <value>Public recordings</value>
+  </string>
+
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+
+  <string id="863" name="flvrecording">
+    <value>Name</value>
+  </string>
+
+  <string id="864" name="flvrecording">
+    <value>Length</value>
+  </string>
+
+  <string id="865" name="flvrecording">
+    <value>Date</value>
+  </string>
+
+  <string id="866" name="flvrecording">
+    <value>By</value>
+  </string>
+
+  <string id="867" name="flvrecording">
+    <value>Download</value>
+  </string>
+
+  <string id="868" name="flvrecording">
+    <value>Main - video</value>
+  </string>
+
+  <string id="869" name="screen share">
+    <value>Recording</value>
+  </string>
+
+  <string id="870" name="screen share">
+    <value>You may record and share your screen at the same time. To enable others to see your screen just hit the start button on the top.</value>
+  </string>
+
+  <string id="871" name="screen share">
+    <value>Start recording</value>
+  </string>
+
+  <string id="872" name="screen share">
+    <value>Stop recording</value>
+  </string>
+
+  <string id="873" name="flvrecording">
+    <value>Download as FLV</value>
+  </string>
+
+  <string id="874" name="flvrecording">
+    <value>Room</value>
+  </string>
+
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+
+  <string id="877" name="flvrecording">
+    <value>User has microphone on</value>
+  </string>
+
+  <string id="878" name="sharing client">
+    <value>Close</value>
+  </string>
+
+  <string id="879" name="room config">
+    <value>Allow user questions</value>
+  </string>
+
+  <string id="880" name="room config">
+    <value>Turn this off to prevent any user from disturbing you in this
+    room</value>
+  </string>
+
+  <string id="881" name="room config">
+    <value>Rights</value>
+  </string>
+
+  <string id="882" name="flvrecording">
+    <value>Download as AVI</value>
+  </string>
+
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+
+  <string id="885" name="flvrecording">
+    <value>Raw screen video</value>
+  </string>
+
+  <string id="886" name="flvrecording">
+    <value>Audio only</value>
+  </string>
+
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the recording</value>
+  </string>
+
+  <string id="888" name="flvrecording">
+    <value>The recording is not yet ready for watching</value>
+  </string>
+
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+
+  <string id="890" name="flvrecording">
+    <value>Recorder message</value>
+  </string>
+
+  <string id="891" name="flvrecording">
+    <value>OK</value>
+  </string>
+
+  <string id="892" name="sip applet">
+    <value>SIP applet is not ready</value>
+  </string>
+
+  <string id="893" name="user administration">
+    <value>SIP account settings</value>
+  </string>
+
+  <string id="894" name="user administration">
+    <value>SIP settings for each user</value>
+  </string>
+
+  <string id="895" name="user administration">
+    <value>SIP user</value>
+  </string>
+
+  <string id="896" name="user administration">
+    <value>SIP password</value>
+  </string>
+
+  <string id="897" name="user administration">
+    <value>SIP auth ID</value>
+  </string>
+
+  <string id="898" name="sip status message">
+    <value>The login to the SIP gateway has failed</value>
+  </string>
+
+  <string id="899" name="sip status message">
+    <value>The login to the SIP gateway has failed. Contact the
+    administrator.</value>
+  </string>
+
+  <string id="900" name="sip status message">
+    <value>Logging onto the SIP gateway...</value>
+  </string>
+
+  <string id="901" name="sip status message">
+    <value>Logging onto the SIP gateway...</value>
+  </string>
+
+  <string id="902" name="flvrecording">
+    <value>Show log</value>
+  </string>
+
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+
+  <string id="904" name="sip login">
+    <value>SIP applet message</value>
+  </string>
+
+  <string id="905" name="sip login">
+    <value>The SIP applet is not ready. Accept the applet and click OK</value>
+  </string>
+
+  <string id="906" name="moderator pop up">
+    <value>Get moderation</value>
+  </string>
+
+  <string id="907" name="lzcalendar">
+    <value>Save appointment changes</value>
+  </string>
+
+  <string id="908" name="lzcalendar">
+    <value>The appointment has been changed. Do you want to save these changes?</value>
+  </string>
+
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login to the $APP_NAME application</value>
+  </string>
+
+  <string id="910" name="interview video pod">
+    <value>Choose the user for this video</value>
+  </string>
+
+  <string id="911" name="interview video choose user">
+    <value>Available users for this pod</value>
+  </string>
+
+  <string id="912" name="interview info">
+    <value>You are a moderator in this interview. You can decide who is  speaking in this interview and you can start/stop the recording of the session.</value>
+  </string>
+
+  <string id="913" name="interview button recording">
+    <value>Start recording</value>
+  </string>
+
+  <string id="914" name="interview button recording">
+    <value>Stop recording</value>
+  </string>
+
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started.</value>
+  </string>
+
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP data</value>
+  </string>
+
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP data</value>
+  </string>
+
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder.</value>
+  </string>
+
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+
+  <string id="925" name="user-admin">
+    <value>License settings</value>
+  </string>
+
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+
+  <string id="932" name="user-license">
+    <value>Your license has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+
+  <string id="934" name="user-license">
+    <value>Time left on your account:</value>
+  </string>
+
+  <string id="935" name="user-license">
+    <value>User license Info</value>
+  </string>
+
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make web-conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into conference rooms) or creating conference rooms via the calendar with external users is only allowed with a volume flatrate.</value>
+  </string>
+
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per minute)</value>
+  </string>
+
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per month)</value>
+  </string>
+
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+
+  <string id="947" name="user-license">
+    <value>You have unlimited license</value>
+  </string>
+
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+
+  <string id="950" name="user-license">
+    <value>Buy new credit.</value>
+  </string>
+
+  <string id="951" name="user-license">
+    <value>Want your own server?</value>
+  </string>
+
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per installation.</value>
+  </string>
+
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+
+  <string id="957" name="user-license">
+    <value>Click here to get contact info and prizings</value>
+  </string>
+
+  <string id="958" name="payment-form">
+    <value>Credit Card details</value>
+  </string>
+
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+
+  <string id="961" name="payment-form">
+    <value>Credit Card Typec</value>
+  </string>
+
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+
+  <string id="969" name="payment-form">
+    <value>Billing address</value>
+  </string>
+
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+
+  <string id="971" name="payment-form">
+    <value />
+  </string>
+
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+
+  <string id="974" name="payment-form">
+    <value>State (only US)</value>
+  </string>
+
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment form</value>
+  </string>
+
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (with Lastschrift-Einzug).</value>
+  </string>
+
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+
+  <string id="982" name="payment-form">
+    <value>Submit and buy.</value>
+  </string>
+
+  <string id="983" name="payment-from">
+    <value>Click and buy.</value>
+  </string>
+
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy.</value>
+  </string>
+
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+
+  <string id="986" name="payment-mail">
+    <value>Payment received.</value>
+  </string>
+
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your invoice. The invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME.</value>
+  </string>
+
+  <string id="990" name="payment-mail">
+    <value>Payment received $APP_NAME -</value>
+  </string>
+
+  <string id="991" name="user-settings">
+    <value>Payment and transaction status</value>
+  </string>
+
+  <string id="992" name="user-settings">
+    <value>Transcation hash</value>
+  </string>
+
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+
+  <string id="998" name="user-settings">
+    <value />
+  </string>
+
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th parties to access a meeting.</value>
+  </string>
+
+  <string id="1000" name="error user">
+    <value>This email is already used by another user.</value>
+  </string>
+
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+
+  <string id="1002" name="room-admin">
+    <value>The conference number and PIN is automatically created via the
+    OpenXG RPC-Gateway</value>
+  </string>
+
+  <string id="1003" name="room-admin">
+    <value>SIP number</value>
+  </string>
+
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only.</value>
+  </string>
+
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the status bar is send to
+    participants.</value>
+  </string>
+
+  <string id="1007" name="team-split">
+    <value>Make team rooms [breakout session]</value>
+  </string>
+
+  <string id="1008" name="team-split">
+    <value>Choose users for a new team-room.</value>
+  </string>
+
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new conference room ("Team room") for them. The chosen users will automatically switch to the new team-room or get a notification. Team room moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a moderator.</value>
+  </string>
+
+  <string id="1010" name="team-split">
+    <value>User name</value>
+  </string>
+
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+
+  <string id="1012" name="team-split">
+    <value />
+  </string>
+
+  <string id="1013" name="team-split">
+    <value>Users for the new team room:</value>
+  </string>
+
+  <string id="1014" name="team-split">
+    <value>Create team room</value>
+  </string>
+
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the team room.</value>
+  </string>
+
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+
+  <string id="1018" name="team-split">
+    <value>Remove user from team room</value>
+  </string>
+
+  <string id="1019" name="team-split">
+    <value>User is team room moderator (He is able to manage team rooms and users of the team room can ask him to come inside)</value>
+  </string>
+
+  <string id="1020" name="team-split">
+    <value>Room type</value>
+  </string>
+
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new team room" all chosen users will automatically switch to the newly created team room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-moderators always have the free choice to manage the team rooms and switch between them.</value>
+  </string>
+
+  <string id="1022" name="team-split">
+    <value>Manage team rooms</value>
+  </string>
+
+  <string id="1023" name="team-split">
+    <value>You can switch here between all team rooms that you are assigned as team room moderator. Users inside the team room can send you a message, for example to ask you to come to their room and help them. You can also terminate the team room and all users will be logged out.</value>
+  </string>
+
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new team room</value>
+  </string>
+
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+
+  <string id="1027" name="team-split">
+    <value />
+  </string>
+
+  <string id="1028" name="team-split">
+    <value />
+  </string>
+
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right.</value>
+  </string>
+
+  <string id="1031" name="team-split">
+    <value>1) Team room settings</value>
+  </string>
+
+  <string id="1032" name="team-split">
+    <value>2) Add users to the team room</value>
+  </string>
+
+  <string id="1033" name="team-split">
+    <value>Team room name</value>
+  </string>
+
+  <string id="1034" name="team-split">
+    <value>Team room</value>
+  </string>
+
+  <string id="1035" name="team-split">
+    <value>Change to the room</value>
+  </string>
+
+  <string id="1036" name="team-split">
+    <value>Switch to this team room</value>
+  </string>
+
+  <string id="1037" name="team-split">
+    <value>Terminate team room and logout all users</value>
+  </string>
+
+  <string id="1038" name="team-split">
+    <value>New team room</value>
+  </string>
+
+  <string id="1039" name="team-split">
+    <value>There is a new team room available for you.</value>
+  </string>
+
+  <string id="1040" name="team-split">
+    <value>Switch to team room</value>
+  </string>
+
+  <string id="1041" name="team-split">
+    <value>Team room actions</value>
+  </string>
+
+  <string id="1042" name="team-split">
+    <value>This is a team room, you can send the team moderator a message if you need help. You can re-open this window via the main menu in the "Actions" section.</value>
+  </string>
+
+  <string id="1043" name="team-split">
+    <value>1) Send message to team room moderator</value>
+  </string>
+
+  <string id="1044" name="team-split">
+    <value>New team room</value>
+  </string>
+
+  <string id="1045" name="team-split">
+    <value>There is a new team room available. You can switch to that room. Team rooms are like "Workgroups" with additionally possibilities to ask the team room moderator for help. Your team rooms are also available in the "My Meetings" section.</value>
+  </string>
+
+  <string id="1046" name="team-split">
+    <value>Switch to team room</value>
+  </string>
+
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+
+  <string id="1048" name="team-split">
+    <value>Team room name:</value>
+  </string>
+
+  <string id="1049" name="team-split">
+    <value>This window will stay open even if you leave the room.</value>
+  </string>
+
+  <string id="1050" name="team-split">
+    <value>Users for this team room</value>
+  </string>
+
+  <string id="1051" name="team-split">
+    <value>3) Other team rooms that you could switch to</value>
+  </string>
+
+  <string id="1052" name="team-split">
+    <value>Send a message to the team room moderators. For example if you need help in moderating the Rroom or if you have a question about the topic.</value>
+  </string>
+
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this team room</value>
+  </string>
+
+  <string id="1055" name="team-split">
+    <value>Is team room moderator</value>
+  </string>
+
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this team
+    room.</value>
+  </string>
+
+  <string id="1057" name="team-split">
+    <value>There is no team moderator logged in at the moment.</value>
+  </string>
+
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our team room.</value>
+  </string>
+
+  <string id="1060" name="team-split">
+    <value>A user from a team room requests your help.</value>
+  </string>
+
+  <string id="1061" name="team-split">
+    <value>Team room request for help</value>
+  </string>
+
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+
+  <string id="1064" name="team-split">
+    <value>You are currently not in any team room. But you can switch here to all team rooms that you have access to.</value>
+  </string>
+
+  <string id="1065" name="backupContent">
+    <value>Backup the system. The backup includes all user generated data. The configuration is not included as well as the language labels. Because those values are imported with the system installer. To update your system, export your old system (1) re-install into a new database the new package (2) and import the backup file again (3). The backup should be imported before generating data in the newly installed system.</value>
+  </string>
+
+  <string id="1066" name="backupContent">
+    <value>System backup</value>
+  </string>
+
+  <string id="1067" name="user-list">
+    <value>Allow user to share screen/record</value>
+  </string>
+
+  <string id="1068" name="user-list">
+    <value>Deny user to share screen/record</value>
+  </string>
+
+  <string id="1069" name="user-list">
+    <value>User is moderator, he can do anything. [screen sharing]</value>
+  </string>
+
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/deny right to share/record screen.</value>
+  </string>
+
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+
+  <string id="1077" name="room administration">
+    <value>Turn this flag on and the users will have only the audio option and no video in a conference room. This can bee good to save bandwidth.</value>
+  </string>
+
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (during screen sharing)</value>
+  </string>
+
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (during screen sharing)</value>
+  </string>
+
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (during screen sharing)</value>
+  </string>
+
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (during screen sharing)</value>
+  </string>
+
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything.</value>
+  </string>
+
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (during screen sharing)</value>
+  </string>
+
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose &lt;i&gt;Insert&lt;/i&gt; from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;&lt;br/&gt;&lt;br/&gt;&lt;u&gt;&lt;FONT color='#0000CC'&gt;&lt;A HREF="http://www.youtube.com/watch?v=Ukqa01O48uI" TARGET="_BLANK"&gt;watch the demo&lt;/A&gt;&lt;/FONT&gt;&lt;/u&gt;</value>
+  </string>
+
+  <string id="1086" name="right click screen share">
+    <value>Copy and paste text from your PC to remote PC and vice versa.</value>
+  </string>
+
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+
+  <string id="1088" name="right click screen share">
+    <value>How to copy and paste</value>
+  </string>
+
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the screen share:</value>
+  </string>
+
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high quality</value>
+  </string>
+
+  <string id="1091" name="screen-sharer-quality">
+    <value>High quality</value>
+  </string>
+
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium quality</value>
+  </string>
+
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low quality</value>
+  </string>
+
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+
+  <string id="1097" name="keyboard-input">
+    <value>Close webinar.</value>
+  </string>
+
+  <string id="1098" name="keyboard-input">
+    <value>The webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+
+  <string id="1099" name="room config">
+    <value>Close room</value>
+  </string>
+
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+
+  <string id="1103" name="ldap config">
+    <value>LDAP</value>
+  </string>
+
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+
+  <string id="1106" name="ldap config">
+    <value>Config file</value>
+  </string>
+
+  <string id="1107" name="ldap config">
+    <value>LDAP Config</value>
+  </string>
+
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to user name" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the login in the LDAP is stored including the domain name. Example: user enters "hans" domain is specified as "localhost.com", login that is verified against LDAP is: hans@localhost.com</value>
+  </string>
+
+  <string id="1117" name="ldap config">
+    <value>Add domain to user name</value>
+  </string>
+
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+
+  <string id="1121" name="remote control">
+    <value>Remote clipboard text</value>
+  </string>
+
+  <string id="1122" name="remote control">
+    <value>Show remote clipboard</value>
+  </string>
+
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about copy and paste</value>
+  </string>
+
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+
+  <string id="1139" name="chat invite user">
+    <value>Send invitation</value>
+  </string>
+
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation.</value>
+  </string>
+
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+
+  <string id="1144" name="appointment notification">
+    <value>Event details</value>
+  </string>
+
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+
+  <string id="1148" name="user administration">
+    <value>Timezone message</value>
+  </string>
+
+  <string id="1149" name="user administration">
+    <value>Check "Timezone message" to give users a message next time they login to update their profile.</value>
+  </string>
+
+  <string id="1150" name="time zone update message">
+    <value>Please check the timezone in your user profile.</value>
+  </string>
+
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference reminder:</value>
+  </string>
+
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+
+  <string id="1179" name="user search">
+    <value>Free text</value>
+  </string>
+
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+
+  <string id="1184" name="user search">
+    <value>Search result</value>
+  </string>
+
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+
+  <string id="1188" name="user search">
+    <value>Contacts and messages</value>
+  </string>
+
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts.</value>
+  </string>
+
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact.</value>
+  </string>
+
+  <string id="1199" name="chat info message">
+    <value />
+  </string>
+
+  <string id="1200" name="chat log icon">
+    <value>Show /copy chat log</value>
+  </string>
+
+  <string id="1201" name="chat log window">
+    <value>Chat log</value>
+  </string>
+
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+
+  <string id="1205" name="private message">
+    <value />
+  </string>
+
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+
+  <string id="1207" name="private message">
+    <value>New mail</value>
+  </string>
+
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+
+  <string id="1213" name="user-list">
+    <value>Unenrole user</value>
+  </string>
+
+  <string id="1214" name="user-list">
+    <value>You cannot unenrole yourself out of the conference room. If you want to leave it close the browser or use the exit button.</value>
+  </string>
+
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+
+  <string id="1217" name="kick-user">
+    <value>You cannot unenrole a super moderator out of a room.</value>
+  </string>
+
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The event is then copied in the calendar of every participant.</value>
+  </string>
+
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+
+  <string id="1225" name="private message">
+    <value>This is you. You cannot add yourself as your own contact.</value>
+  </string>
+
+  <string id="1226" name="user contacts">
+    <value>The user is already denied.</value>
+  </string>
+
+  <string id="1227" name="user contacts">
+    <value>The user is already approved.</value>
+  </string>
+
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid.</value>
+  </string>
+
+  <string id="1229" name="user contacts">
+    <value>User added to contact list.</value>
+  </string>
+
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact
+    list.</value>
+  </string>
+
+  <string id="1231" name="user contacts">
+    <value>There is no such contact.</value>
+  </string>
+
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+
+  <string id="1235" name="user profile">
+    <value>User profile</value>
+  </string>
+
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder.</value>
+  </string>
+
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+
+  <string id="1254" name="private message">
+    <value>Nothing selected.</value>
+  </string>
+
+  <string id="1255" name="private message">
+    <value>Move to inbox</value>
+  </string>
+
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+
+  <string id="1257" name="private message">
+    <value>This action cannot be undone.</value>
+  </string>
+
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages.</value>
+  </string>
+
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside. Delete first the messages or move them to another folder.</value>
+  </string>
+
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course.</value>
+  </string>
+
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+
+  <string id="1271" name="error code">
+    <value>You invitation code is not valid, the code is only valid during this specific date and time:</value>
+  </string>
+
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own.</value>
+  </string>
+
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again.</value>
+  </string>
+
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first.</value>
+  </string>
+
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted.</value>
+  </string>
+
+  <string id="1287" name="nick name">
+    <value>Choose your nick name</value>
+  </string>
+
+  <string id="1288" name="nick name">
+    <value>First name</value>
+  </string>
+
+  <string id="1289" name="nick name">
+    <value>Last name</value>
+  </string>
+
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars. For both, first name and last name.</value>
+  </string>
+
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email.</value>
+  </string>
+
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+
+  <string id="1308" name="room administration">
+    <value>Owner ID</value>
+  </string>
+
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+
+  <string id="1310" name="login error">
+    <value>You need an account with user level user, moderator or admin</value>
+  </string>
+
+  <string id="1311" name="user administration">
+    <value>Webservice (only access via SOAP)</value>
+  </string>
+
+  <string id="1312" name="upload file explorer">
+    <value>Load directly to the Whiteboard</value>
+  </string>
+
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone.</value>
+  </string>
+
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+
+  <string id="1315" name="recording flag">
+    <value>Do not forget to 'Start recording', if you want have the meeting recorded."</value>
+  </string>
+
+  <string id="1316" name="recording flag">
+    <value>Start recording</value>
+  </string>
+
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+
+  <string id="1322" name="icon">
+    <value>Text/note</value>
+  </string>
+
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+
+  <string id="1324" name="icon">
+    <value>Draw free</value>
+  </string>
+
+  <string id="1325" name="icon">
+    <value>Select/move</value>
+  </string>
+
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+
+  <string id="1328" name="icon">
+    <value>Zoom in/out</value>
+  </string>
+
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+
+  <string id="1332" name="icon">
+    <value>Show grid</value>
+  </string>
+
+  <string id="1333" name="icon">
+    <value>Share file</value>
+  </string>
+
+  <string id="1334" name="icon submenu">
+    <value>Select shape</value>
+  </string>
+
+  <string id="1335" name="icon submenu">
+    <value>Select clipart</value>
+  </string>
+
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+
+  <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+
+  <string id="1343" name="atendee manager">
+    <value>Attendee manager</value>
+  </string>
+
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+
+  <string id="1345" name="atendee manager">
+    <value>Remote controll</value>
+  </string>
+
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+
+  <string id="1348" name="invite attendee">
+    <value>Invite attendees</value>
+  </string>
+
+  <string id="1349" name="invite attendee">
+    <value>By email</value>
+  </string>
+
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+
+  <string id="1354" name="icon">
+    <value>Snap to grid</value>
+  </string>
+
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+
+  <string id="1361" name="activity_window">
+    <value>Deny and remove message</value>
+  </string>
+
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards.</value>
+  </string>
+
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+
+  <string id="1370" name="login_screen">
+    <value>Color style</value>
+  </string>
+
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+
+  <string id="1380" name="login_screen">
+    <value>user defined</value>
+  </string>
+
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others. Give exclusive audio to me (You can also press F12)</value>
+  </string>
+
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself.</value>
+  </string>
+
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore.</value>
+  </string>
+
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally.</value>
+  </string>
+
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore.</value>
+  </string>
+
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally (in the complete conference room) off.</value>
+  </string>
+
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute
+    your microphone globally (in the complete conference room) on.</value>
+  </string>
+
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally.</value>
+  </string>
+
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally.</value>
+  </string>
+
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him.</value>
+  </string>
+
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally. To mute your own microphone: Please use the microphone icon in your video pod.</value>
+  </string>
+
+  <string id="1410" name="poll_name">
+    <value>Poll name</value>
+  </string>
+
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+
+  <string id="1412" name="archived_polls">
+    <value>Archieved polls</value>
+  </string>
+
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+
+  <string id="1414" name="chart_simple">
+    <value>Simple chart</value>
+  </string>
+
+  <string id="1415" name="chart_pie">
+    <value>Pie chart</value>
+  </string>
+
+  <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+
+  <string id="1418" name="poll_close">
+    <value>Close poll</value>
+  </string>
+
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this poll? No one will be able to vote.</value>
+  </string>
+
+  <string id="1420" name="poll_delete">
+    <value>Delete poll</value>
+  </string>
+
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this poll? The results will be deleted as well.</value>
+  </string>
+
+  <string id="1422" name="language_code">
+    <value>Language ISO code</value>
+  </string>
+
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/deny right to give exclusive audio.</value>
+  </string>
+
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+
+  <string id="1427" name="excl_audio apply of message">
+    <value>would like to have permission for exclusive audio.</value>
+  </string>
+
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith.</value>
+  </string>
+
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+
+  <string id="1433" name="exclusive_audio_action">
+    <value>You have the right to give exclusive audio. Click here to make yourself exclusive audio (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need to be a Moderator or have the 'draw on whiteboard' rights to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/errorvalues.xml b/WebContent/languages/errorvalues.xml
new file mode 100644
index 0000000..e2abe7a
--- /dev/null
+++ b/WebContent/languages/errorvalues.xml
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<ROOT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="errorvalues.xsd">
+    <row>
+      <field name="errorvalues_id">1</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">334</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">2</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">319</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">3</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">320</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">4</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">321</field>
+      <field name="errortype_id">2</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">5</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">324</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">6</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">330</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">7</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">331</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">8</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">332</field>
+      <field name="errortype_id">2</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">9</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">318</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">10</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">335</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">11</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">336</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">12</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">337</field>
+      <field name="errortype_id">2</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">13</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">103</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">14</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">338</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">15</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">105</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">16</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">107</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">17</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">106</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">18</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">236</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">19</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">339</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">20</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">340</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">21</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">341</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">22</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">342</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">23</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">343</field>
+      <field name="errortype_id">2</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">24</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">345</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">25</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">346</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">26</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">347</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">27</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">358</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">28</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">357</field>
+      <field name="errortype_id">2</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">29</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">358</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">30</field>
+      <field name="starttime">2007-12-06 19:01:07</field>
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">403</field>
+      <field name="errortype_id">2</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">31</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">533</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">32</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">534</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">33</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">535</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">34</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">538</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">35</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">276</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">36</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">664</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">37</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">665</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">38</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">663</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">39</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">666</field>
+      <field name="errortype_id">1</field>
+    </row>	
+    <row>
+      <field name="errorvalues_id">40</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">674</field>
+      <field name="errortype_id">2</field>
+    </row>  
+    <row>
+      <field name="errorvalues_id">41</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">673</field>
+      <field name="errortype_id">1</field>
+    </row>  	
+    <row>
+      <field name="errorvalues_id">42</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">787</field>
+      <field name="errortype_id">1</field>
+    </row>  
+    <row>
+      <field name="errorvalues_id">43</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">920</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">44</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">1000</field>
+      <field name="errortype_id">1</field>
+    </row> 	
+    <row>
+      <field name="errorvalues_id">45</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">1195</field>
+      <field name="errortype_id">1</field>
+    </row> 
+    <row>
+      <field name="errorvalues_id">46</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">1226</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">47</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">1227</field>
+      <field name="errortype_id">1</field>
+    </row>		
+    <row>
+      <field name="errorvalues_id">48</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">1228</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">49</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">1231</field>
+      <field name="errortype_id">1</field>
+    </row>	
+    <row>
+      <field name="errorvalues_id">50</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">1271</field>
+      <field name="errortype_id">1</field>
+    </row>
+    <row>
+      <field name="errorvalues_id">51</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">1309</field>
+      <field name="errortype_id">1</field>
+    </row>   	
+    <row>
+      <field name="errorvalues_id">52</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">1310</field>
+      <field name="errortype_id">1</field>
+    </row> 	
+    <row>
+      <field name="errorvalues_id">53</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">1416</field>
+      <field name="errortype_id">1</field>
+    </row> 	
+    <row>
+      <field name="errorvalues_id">54</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">1431</field>
+      <field name="errortype_id">1</field>
+    </row>
+</ROOT>
diff --git a/WebContent/languages/errorvalues.xsd b/WebContent/languages/errorvalues.xsd
new file mode 100644
index 0000000..66f06d1
--- /dev/null
+++ b/WebContent/languages/errorvalues.xsd
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

+  <xs:element name="ROOT">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element maxOccurs="unbounded" ref="row"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="row">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element maxOccurs="unbounded" ref="field"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="field">

+    <xs:complexType mixed="true">

+      <xs:attribute name="name" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+</xs:schema>

diff --git a/WebContent/languages/finnish.xml b/WebContent/languages/finnish.xml
new file mode 100644
index 0000000..ba812fd
--- /dev/null
+++ b/WebContent/languages/finnish.xml
@@ -0,0 +1,4504 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Konferenssi</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>Kokous</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>Tapahtumat</value>
+  </string>
+  <string id="4" name="settings">
+    <value>Asetukset</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>Profiili</value>
+  </string>
+  <string id="6" name="admin">
+    <value>Ylläpito</value>
+  </string>
+  <string id="7" name="stop">
+    <value>Pysäytä</value>
+  </string>
+  <string id="8" name="record">
+    <value>Nauhoita</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>Ei tiedostoa saatavilla</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>Opettajan nauhoitus</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>Aktiiviset käyttäjät:</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>Aloita konferenssi</value>
+  </string>
+  <string id="13" name="myname">
+    <value>Oma nimi</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>Videokonferenssi</value>
+  </string>
+  <string id="15" name="import">
+    <value>Lähetä tiedosto</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>Päivitä lista</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>Päätiedostoon</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>uusi kysely</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>Uusi kysely konferenssiin.</value>
+  </string>
+  <string id="20" name="question">
+    <value>Kysymys:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>Kyselyn tyyppi:</value>
+  </string>
+  <string id="22" name="create">
+    <value>Luo</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>Tiedoksi: Jokainen paikalla oleva käyttäjä vastaanottaa viestin kyselystä.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>Luo kysely</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>Peruuta</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>Kyllä/Ei</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>Numeerinen 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>Kysely</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>Sinun täytyy olla moderaattori luodaksesi kysymyksen.</value>
+  </string>
+  <string id="30" name="vote">
+    <value>Äänesi on rekisteröity.</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>Olet jo äänestänyt tässä kysymyksessä.</value>
+  </string>
+  <string id="32" name="voting">
+    <value>Äänestä!</value>
+  </string>
+  <string id="33" name="answer">
+    <value>Vastauksesi:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>Kyllä</value>
+  </string>
+  <string id="35" name="no">
+    <value>Ei</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>haluaa tietää:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>Kyselyn tulokset</value>
+  </string>
+  <string id="38" name="question">
+    <value>Kysymys:</value>
+  </string>
+  <string id="39" name="results">
+    <value>Tulokset:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>Vastaukset:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>Kyselyitä ei ole aloitettu.</value>
+  </string>
+  <string id="42" name="votings">
+    <value>Äänestä!</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>Kokous (enintään 4 osanottajaa)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>Konferenssi (enintään 50 osanottajaa)</value>
+  </string>
+  <string id="45" name="type">
+    <value>Tyyppi</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>Vapaita paikkoja</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>On jo valittu</value>
+  </string>
+  <string id="48" name="enter">
+    <value>astu sisään</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>Moderaattori on lähtenyt kokouksesta.</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>Järjestelmän viesti</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>Valitse laite</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Valitse web-kamera:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>Valitse mikrofoni:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>ok</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>peruuta</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>Sinun täytyy yhdistä uudelleen.</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>Muokkaa asetuksia.</value>
+  </string>
+  <string id="58" name="course">
+    <value>Kurssi:</value>
+  </string>
+  <string id="59" name="language">
+    <value>Kieli:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>ok</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>peruuta</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>Tyhjää kirjoitustaulu</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Haluatko tyhjentää kirjoitustaulun ennen uuden kuvan lisäämistä?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>Älä kysy uudestaan</value>
+  </string>
+  <string id="65" name="no">
+    <value>ei</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>Muokkaa asetuksia</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Kysy varmistus ennen kirjoitustaulun tyhjäystä.</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>Käyttäjätiedot</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>Tyhjää piirtoalue</value>
+  </string>
+  <string id="70" name="undo">
+    <value>Peru</value>
+  </string>
+  <string id="71" name="redo">
+    <value>Tee uudestaan</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>Valitse objekti</value>
+  </string>
+  <string id="73" name="text">
+    <value>Teksti</value>
+  </string>
+  <string id="74" name="paint">
+    <value>Piirrä</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>Piirrä viiva</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>Alleviivaa</value>
+  </string>
+  <string id="77" name="rect">
+    <value>Suorakaide</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>Ellipsi</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>Nuoli</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>poista valittu kohde</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>Pyydä moderaattorin oikeutta</value>
+  </string>
+  <string id="82" name="apply">
+    <value>aseta</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>peruuta</value>
+  </string>
+  <string id="84" name="mod">
+    <value>Muutu moderaattoriksi</value>
+  </string>
+  <string id="85" name="close">
+    <value>sulje</value>
+  </string>
+  <string id="86" name="italic">
+    <value>kursivointi</value>
+  </string>
+  <string id="87" name="bold">
+    <value>lihavointi</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>ODOTTAA</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>Käyttäjä hakee moderaattorin oikeutta:</value>
+  </string>
+  <string id="90" name="accept">
+    <value>hyväksy</value>
+  </string>
+  <string id="91" name="reject">
+    <value>hylkää</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>peruuta</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>Sending request to following Users</value>
+  </string>
+  <string id="94" name="accept">
+    <value>Hyväksytty</value>
+  </string>
+  <string id="95" name="reject">
+    <value>Hylätty</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>Vaihda moderaattoria</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>Et ole tämän kurssin moderaattori!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>Moderaattori:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>Tämä huone on täynnä. Yritä myöhemmin uudestaan.</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>Ellipsi</value>
+  </string>
+  <string id="101" name="close">
+    <value>sulje</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>syötevirhe</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>vähintään 4 merkkiä; isoilla kirjaimilla on merkitystä!</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>salasanan täytyy olla vähintään 4 merkkiä pitkä</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>Tunnus on jo varattu</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>Sähköpostiosoite on jo rekisteröity</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>Järjestelmävirhe, ota yhteyttä ylläpitoon</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>Kirjautuminen</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>Käyttäjä:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>Salasana:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>Kieli</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>Kirjaudu</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>Rekisteröinti</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>Käyttäjätunnus:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>Salasana:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>Uudestaan:</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Etunimi:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Sukunimi:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>Sähköposti:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>Maa:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>Rekisteröidy</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>Peruuta</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>Etkö ole jäsen?</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>Koti</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>Users</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>Ryhmät</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>Organisaatiot</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>Kokoushuoneet</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>julkinen</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>Organisaatio</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>astu sisään</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>Tunnus</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>Salasana</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>Uudestaan</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Etunimi</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Sukunimi</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>Sähköposti</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>Synnyinaika</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>Katuosoite</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>Postinumero/Toimipaikka</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>Maa</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Osoitteen lisätieto</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Käyttäjätieto</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>tallenna</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>Tallenna</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>USER-ID</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>Tunnus</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>Etunimi</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>Sukunimi</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>näytä seuraava</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>näytä edellinen</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>poista tietue</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>peruuta</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>poista</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>uusi tietue</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>päivitä tietue</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>poista tietue</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>tila</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>pois käytöstä</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>käytössä</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>Organisaatiot</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>kalenteri</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>sulje</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>Organisaatio-ID</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>Nimi</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>Käyttäjä</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>Moderaattori</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>Ylläpitäjä</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>käyttäjätaso</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>Organisaatio</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>nimi</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>uusi organisaatio</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>uusi organisaatio</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>peruuta</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>lisää</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>poista organisaatio</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>käyttäjä</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>uusi käyttäjä</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>poista käyttäjä</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>uusi käyttäjä</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>etsi käyttäjää</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>haku</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>käyttäjä</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>Organisaatio</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>hyväksy</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>Konferenssihuoneet</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>Konferenssihuoneet</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>id</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>Nimi</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>julkinen</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>Organisaatiot</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>Kokoushuoneet</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>Nimi</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>Tyyppi</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>Julkinen</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>Kommentti</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>tallenna ja vie</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>lataa</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>tallenna nimellä</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>Tiedostonimi</value>
+  </string>
+  <string id="201" name="files">
+    <value>tiedostonimi</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>peruuta</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>tallenna</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>Virhe</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>ladataan</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>objektia ladattu</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>synkronisoidaan, odottavat asiakkaat:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>Ladataan kuvadataa</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>synkronisoidaan, odottavat asiakkaat:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>tyhjää piirtoalue</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>tyhjää piirtoalue, koko piirtoalue tyhjennetään</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Varmista ennen tiedoston lataamista</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>Lähetä kutsu</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>Lähetä kutsu</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>Aihe</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Vastaanottaja</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>Viesti</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Lähetä</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>peruuta</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>lähetä</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>Käyttäjätieto</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>Lempinimesi tähän konferenssiin</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>Lempinimi</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>Etunimi</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>Sukunimi</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>Sähköposti</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>Kieli</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>lisää</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>Ladataan</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>Ladataan, ole hyvä ja odota!</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>Väärä salasana</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>Anna kaksi samaa salasanaa joissa vähintään 6 merkkiä</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>Epäkelpo sähköposti</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>Annoit epäkelvon sähköpostiosoitteen</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>Rekisteröinti onnistui</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>Tilisi on luotu, voit kirjautua sisään.</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>Et voi jakaa ruutua tällä hetkellä, koska joku muu jakaa jo omaa ruutuaan.</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Jakaminen kielletty</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Jaa ruutusi</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Kaistanleveys ei riitä: Et pysty synkronisoimaan ruutua. Ruudunpäivityksiä saattaa jäädä pois. Jos tämä ilmoitus toistuu usein, voit pyytää moderaattoria pienentämään kuvan laatua.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>Käyttäjän ruutu:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Maalaa</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Dokumentti</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>Keskustelu</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>Tiedostot</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Jäsenet</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Lataa alkuperäinen dokumentti</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>Lataa pdf-dokumentti</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Lataa esitys piirtoalueelle</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Asetukset</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Raaha tätä objektia</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Muuta objektin kokoa</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>of</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>Mene ensimmäiselle sivulle</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>Mene edelliselle sivulle</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>Mene seuraavalle sivulle</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>Mene viimeiselle sivulle</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Zoom --</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Zoom ++</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>Herra</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Rouva</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Asetukset</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>Avain</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Asetukset</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>Avain</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>edellinen päivitys</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>päivityksen tekijä</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>kommentti</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>Arvo</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>/</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>Käyttäjät</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>poista käyttäjä organisaatiosta</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>poista</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>Käyttäjä on jo tämän organisaation jäsen.</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>Uutiset</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Pikalinkit</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Mene konferenssiin</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Mene auditorioon</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Apua ja tukea</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>Ilmoita bugi!</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>lisää</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Projektin web-sivut (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>Käyttäjien postituslista (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Muista kirjautuminen</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Sisältö</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>Oma sivu</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>Tulevat kokoukset</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>Omat tulevat kokoukset</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Julkiset kokoukset</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Yksityiset kokoukset</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Julkiset tapahtumat</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Yksityiset tapahtumat</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Julkinen sisältö</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Yksityinen sisältö</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Henkilökohtainen sisältö</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value/>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Moderointi</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>Hae moderointioikeutta</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Kyselyt</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Valitse tiedosto</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Asetukset</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Kamera ja mikrofoni</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Piirtoalueen asetukset</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Poistu</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Takaisin huoneisiin</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Poistu</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Unohditko salasanasi?</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>Nollaa salasana</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>Sähköpostilla</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>Käyttäjätunnuksella</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>Sähköpostisi</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>Tunnuksesi</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Lähetä sähköposti nollauslinkillä</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>Sähköpostiosoitetta ei löytynyt. Varmista että annoit saman osoitteen kuin mitä käytit rekisteröityessäsi.</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Anna sähköpostiosoite tai käyttäjätunnus</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>Käyttäjätunnusta ei ole</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>Linkin sisältävä sähköposti on lähetetty osoitteeseesi, ole hyvä ja tarkista sähköpostisi. Jos et ole vielä vastaanottanut viestiä, tarkista roskapostiasetuksesi ja yritä uudestaan.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Virhe</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Viesti</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>Epäkelpo hash. Käyttäjää ei löydy.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Nollaa salasanasi</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Kirjaudu</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>vaihda salasana</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>uusi salasana</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>salasana uudestaan</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>Antamasi salasanat eivät täsmänneet.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>4 merkkiä tai pidempi; isoilla kirjaimilla on merkitystä!</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>Salasana asetettu. Voit nyt kirjautua sisään.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Tuntematon virhe. Ole hyvä ja ilmoita virheestä tukitiimillesi.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>Käyttäjää ei löydy</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Epäkelpo salasana</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Uloskirjautuminen onnistui</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Rekisteröinti on poissa käytöstä.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>Epäkelpo sähköposti</value>
+  </string>
+  <string id="340" name="registration">
+    <value>saman niminen tiedosto on jo olemassa, valitse toinen nimi</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>tiedostonimi liian lyhyt</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>Ei voitu tallentaa osoitetta</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>Käyttäjä lisätty, mutta sinun täytyy lisätä tämä käyttäjä johonkin organisaatioon jotta hän voi kirjautua sisään.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>Uusi tietue</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>Kenttää ei löytynyt kentän id:llä.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>Kentälle ei löydy kuvausta.</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Ylläpitäjän oikeudet tarvitaan.</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Kielien muokkaus</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Kieli</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>Nimi-ID</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Kuvaus-Nimi</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Arvo</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Kentän arvot</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>Kuvaus</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>Arvo</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>Kuvaus-ID</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>Poistit pelkän kuvauksen etkä kenttää! Et voi poistaa kenttää, sillä voi olla kuvauksia muilla kielillä.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>Epäkelpo kuvaus-ID. Kenttää FieldLanguagesvalues_Id ei löydy tietokannasta.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>Et voi poistaa tätä kenttää. Voit ainostaa poistaa kuvauksia, et kenttiä. Kuvausta ei ole ladattuna nyt, joko sitä ei ole valittuna mistään kentästä tai tälle kielelle ei ole määritelty kuvauksen mukaista kenttää.</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>vie</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>Sinun täytyy kirjaudua uudestaan nähdäksesi muutokset.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Lisää kieli</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>poista kieli</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Lisää kieli</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Nimi</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>lisää kieli</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Varmuuskopiointi</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>mene alkuun</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>edellinen</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>seuraava</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>viimeinen</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>käyttäjä puhuu (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>ääni päälle/pois</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>Järjestelmä</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>Asetuksesi</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>hei,</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Muokkaa profiiliasi</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>Uudet viestit:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Lataa uusi kuva</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Käyttäjädata - Vie</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>Organisaatioiden täytyy olla jo olemassa!</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>aloita vienti</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>Organisaation mukaan</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>aloita vienti</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Käyttäjädata - Tuo</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>valitse users.xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>tuo</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Vie XML-tiedostoksi - Näitä tiedostoja voidaan käyttää: Projektiin osallistuminen - Toiseen järjestelmään vienti - Varmuuskopiointi - Mukautus - Laita se hakemistoon language seuraavaa asennustasi varten.</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Valitse kielitiedosto tuotavaksi. Valitse oikea kieli valintalistalta! Tämä määrää asetettavan kielen tiedoston nimestä riippumatta!</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>tuonti - valitse tiedosto</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Tallenna nimellä</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Nimi:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>Kommentti:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>tallenna</value>
+  </string>
+  <string id="395" name="record">
+    <value>Nauhoitukset</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Nauhoitusten katselu</value>
+  </string>
+  <string id="397" name="record">
+    <value>Julkisten ja yksityisten huoneiden nauhoitukset</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>Käyttäjät :</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>Liittynyt:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value/>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Käyttäjiä huoneessa:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>päivitä</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>Tämä huone on täynnä. Yritä uudestaan muutaman minuutin kuluttua.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>klikkaa huonetta saadaksesi lisätietoja</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Keskustele tämän huoneen käyttäjien kanssa:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Huone:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Käyttäjät huoneessa:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>since:</value>
+  </string>
+  <string id="409" name="record">
+    <value>toista nauhoitus</value>
+  </string>
+  <string id="410" name="record">
+    <value>Pituus:</value>
+  </string>
+  <string id="411" name="record">
+    <value>Päivämäärä:</value>
+  </string>
+  <string id="412" name="record">
+    <value>Nauhoitustila! Et voi muuttaa arvoja, tämä on nauhoitettu tiedosto!</value>
+  </string>
+  <string id="413" name="record">
+    <value>Toista nauhoitus</value>
+  </string>
+  <string id="414" name="record">
+    <value>Toista / Keskeytä</value>
+  </string>
+  <string id="415" name="record">
+    <value>Aloita nauhoitus</value>
+  </string>
+  <string id="416" name="record">
+    <value>pysäytä nauhoitus</value>
+  </string>
+  <string id="417" name="record">
+    <value>Nauhoittaa:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>Joku on jo nauhoittamassa tällä hetkellä:</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Nauhoitetaan! Käyttäjä:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>peruuta</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>Nauhoitus peruutetaan ja sitä ei tallenneta.</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>palaa</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Sulje ikkuna ja jatka nauhoitusta</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>muuta viivan väriä</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Valitse väri</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Viivan väri päälle/pois</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>muuta täytön väriä</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>täyttöväri päälle/pois</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Muuta viivan leveyttä</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>sulje</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>muuta fontin kokoa</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>Poista nauhoitus</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Vieras</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>Tehnyt:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Nimi</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Huone</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Aika</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>peruuta</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>aloita</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Nimi</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Päivämäärä</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>Poista palvelimen keskusteluloki</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>Keskustelu</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>lähetä viesti</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Hymiöt</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>Hymiöt</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Valitse julkaistavat laitteet</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Ääni ja video</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>Vain ääni</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>Vain video</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>Ei ääntä/videota (kiinteä kuva)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>Ääntä/kuvaa tietokoneelta ei julkaista. Profiilikuvasi näytetään sen sijaan. Valitse tämä asetus jos sinulla on ongelmia yhteytesi kanssa tai yhteytesi on erittäin hidas.</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>MA</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>TI</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>KE</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>TO</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>PE</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>LA</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>SU</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>Maanantai</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Tiistai</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Keskiviikko</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Torstai</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Perjantai</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Lauantai</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Sunnuntai</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>KV</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Kalenteriviikko</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>Tammikuu</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>Helmikuu</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>Maaliskuu</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>Huhtikuu</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>Toukokuu</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>Kesäkuu</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>Heinäkuu</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>Elokuu</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>Syyskuu</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>Lokakuu</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>Marraskuu</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>Joulukuu</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Kalenteri</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Osanottajat</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Näytä asettelun asetukset</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Leveys | Korkeus</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Video-Säiliö</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Moderaatio-Säiliö</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Piirtoalue-Säiliö</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Päällä</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Leveys | Korkeus</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Tiedostot,Keskustelu,Osanottajat - Säiliö</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Päällä</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Leveys | Korkeus</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>Moderaattori on lähtenyt huoneesta, kukaan ei ole esittäjänä tällä hetkellä. Voit hakea moderaattorin oikeuksia tai odottaa.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>Tässä huoneessa on muutama osanottaja mutta ei moderaattoria. Voit hakea moderaattorin oikeuksia tai odottaa.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>$APP_NAME palaute</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Kutsu</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Viesti käyttäjältä:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Viesti:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Käytä tätä linkkiä ottaaksesi osaa kokoukseen:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Klikkaa tästä liittyäksesi huoneeseen</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>jos linkin kanssa on ongelmia, ole hyvä ja kopioi se selaimesi osoiteriville:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME Rekisteröinti</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>Käyttäjätietosi:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Tunnus:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Salasana:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>Sähköposti:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME-Tiimi</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME Rekisteröinti</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - Salasanan nollaus</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Käytä tätä linkkiä syöttääksesi uuden salasanan:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Klikkaa tästä syöttääksesi uuden salasanan</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>jos linkin kanssa on ongelmia, ole hyvä ja kopioi se selaimesi osoiteriville:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>$APP_NAME Salasanan nollaus</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>Anna päivämäärä muodossa pp.kk.vvvv (esim. 24.12.2009)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Anna toimiva sähköpostiosoite, muodossa nimi@mail.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Anna liukuluku, esim. 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Anna kokonaisluku, esim. 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Anna puhelinnumero, esim. +358501234567</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Anna kellonaika, esim. 12:23 (tt:mm)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Salasanasuojaus</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Salasana</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Voimassaoloaika</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Päättymätön</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Aikaväli</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>Kertakäyttöinen</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Voimassa alkaen:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Voimassa kunnes:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Kutsu $APP_NAMEiin</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>Kutsua ei ole saatavilla antamallesi kutsukoodille</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>Kutsu on jo käytetty. Kutsua ei voi uudelleenkäyttää.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>Kutsu ei ole kelvollinen.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Salasana:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Tarkista salasana</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Väärä salasana!</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>Ääni_Kuva</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Synkronisoi ääni/kuva</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>Kirjautuminen onnistu, mutta haluamasi istunto ei ole aktiivinen tai ei ole tallennettu palvelimelle. Sinun täytyy hankkia uusi istunto-id ja yrittää kirjautumista uudelleen.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>Istunnon id ei ole kirjautunut tai sillä ei ole ylläpitäjän oikeuksia. SOAP-yhdyskäytävä tarvitsee ylläpitokäyttäjän oikeudet lisätäkseen käyttäjiä.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>Tällä istunnolla ei ole etäkäyttäjän tietoja. Joko kutsuit SOAP-yhdyskäytävää ennen ohjelman käyttämistä tai käytät väärää istunnon id:tä</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>Nauhoittaminen on vielä Beta-asteella!</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>x-akseli</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>y-akseli</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>l</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>leveys</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>k</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>korkeus</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Muuta läpinäkyvyyttä</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Avaa selain</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Sulje selain</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>Yhteys palvelimeen menetettiin. Sinun täytyy käynnistää sovellus uudelleen ja/tai tarkistaa verkkoyhteytesi.</value>
+  </string>
+  <string id="557" name="557">
+    <value>Osoitin</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Synkronisoidaan</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Synkronisoidaan käyttäjiä, ole hyvä ja odota</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Lataa SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Lataa PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Lataa JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Lataa PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Lataa TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Muistutus:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Kategoria:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Toisto:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>tyhjä</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Sijainti:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Alku</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>Loppu</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Otsikko:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Kommentti:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Kutsu ihmisiä</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Päivittäinen</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Kuukausittainen</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Vuosittainen</value>
+  </string>
+  <string id="578" name="alert">
+    <value>Tapaamisen loppuaika on ennen alkuaikaa!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Anna otsikko!</value>
+  </string>
+  <string id="580" name="580">
+    <value>Oikea-Vasen</value>
+  </string>
+  <string id="581" name="581">
+    <value>Käytä tätä jos tarvitset käänteistä sanajärjestystä (oikealta vasemmalle)</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Paneeli</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Katsele nauhoitettuja kokouksia tai tapahtumia</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Kokous - Perusta konferenssi neljälle käyttäjälle (korkeintaan 16) &lt;br/&gt;kaikilla on oikeus ääneen + kuvaan</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Tapahtuma - Luo konferenssi enintään 200 osanottajalle. &lt;br/&gt;Vain moderaattorilla on kuva ja ääni</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Luo käyttäjiä, huoneita, organisaatioita &lt;br/&gt; + muokkaa asetuksia</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Käyttäjät tällä hetkellä tässä huoneessa</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Tunnis</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Ladataan dokumenttia. Ole hyvä ja odota kunnes kaikki asiakkaat ovat synkronisoineet.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Lähetys valmis, muunnetaan dokumenttia ...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Aloita lähetys</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Tiedoston lähetys ja tuonti-ikkuna. Ole hyvä ja valitse tiedosto koneeltasi.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Peruuta</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Valitse tiedosto</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Yhteydet</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Arvo</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Stream id</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Kirjaudu</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Yhdistetty alkaen</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Huone / Laajuus</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Poista käyttäjä</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Poista käyttäjä</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Haluatko varmasti katkaista tämän asiakkaan yhteyden?&lt;br/&gt; Tämä vain poistaa asiakkaan huoneesta. Asiakas voi kirjautua aina uudestaan.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Istuntosi on lopetettu ylläpitäjän tai moderaattorin toimesta.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Puhelin</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>Käyttäjä on tämän huoneen moderaattori</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>Käyttäjä voi piirtää piirtoalueelle</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Re) Käynnistä Ääni/Kuva tai muuta laitteiden asetuksia</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Salli tämän käyttäjän piirtää piirtoalueelle</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Estä käyttäjän piirtäminen piirtoalueelle</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Käyttäjät</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Tiedostot</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Piirtoalue</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Keskustelu</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Tunnuksesi on liitetty useampaan organisaatioon. Ole hyvä ja valitse yksi tätä istuntoa varten.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>Tämä huone on täynnä. Ole hyvä ja yritä myöhemmin uudestaan.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Huoneen tyyppi</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Tapaamishuone</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Palvelimen aika</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - Muistutus</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Viesti käyttäjältä:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Viesti:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Klikkaa tätä linkkiä osallistuaksesi kokoukseen:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Klikkaa tästä liittyäksesi huoneeseen</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>jos linkin kanssa on ongelmia, ole hyvä ja kopioi se selaimesi osoiteriville:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>hae sisäisiä</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>ulkoiset käyttäjät</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>nimen etuliite</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>nimi</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>Sähköposti</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Varmista poistuminen</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Haluatko varmasti kirjautua ulos?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Toiminnot</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Esittelyhuone</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Esittelyaika</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Kokousajastin</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>Tämä on esittelyhuone. Poistaaksesi tämän varoituksen voit hankkia oman yksityishuoneesi tai perustaa oman palvelimen. Sinut kirjataan ulos automaattisesti hetken kuluttua:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Moderoitu</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Ole hyvä ja odota kunnes moderaattori on liittynyt huoneeseen. Moderaattori voi olla joko opettaja, ylläpitäjä tai tämän huoneen tekijä.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Ok</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Incoming Screen Sharing</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>Uusi ruudun jako on tulossa käyttäjältä:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Aloita jakaminen</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Lisää uusi kokous</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Kokoushuone</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Tapahtumahuone</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Moderointi</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Moderoi käyttäjiä</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Moderoi huoneita</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Haluatko asettaa tämän käyttäjän moderaattoriksi tälle organisaatiolle? </value>
+  </string>
+  <string id="654" name="error message">
+    <value>Ole hyvä ja valitse organisaatio ennenkuin yrität lisätä siihen käyttäjiä!</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Organisaatio - Moderaattori</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Haluatko poistaa käyttäjän organisaatiosta?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>Tämä käyttäjä on Moderaattori</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>Tämä käyttäjä ei ole moderaattori</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Haluatko että käyttäjä ei ole moderaattori tälle organisaatiolle?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Lisää tai poista käyttäjiä tai huoneita organisaatiossasi</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Haluatko poistaa tämän tietueen?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Haluatko todella poistaa käyttäjän organisaatiostasi? Tämä poistaa pelkästään linkin käyttäjän ja organisaation välillä, jos haluat poistaa käyttäjän niin joudut kirjautumaan ylläpitopaneeliin.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>Et voi poistaa itseäsi!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>Tämä toiminto vaatii ylläpitäjän oikeudet!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>Tälle ID-numerolle ei ole määritelty istuntoa.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>Tämä on ylläpitäjän tai moderaattorin tili. Voit muokata tiliä vain ylläpitopaneelin kautta.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>Klikkaa seuraavaa linkkiä viimeistelläksesi rekisteröintisi tai kopioi osoite selaimesi osoiteriville.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Klikkaa varmistaaksesi sähköpostiosoitteesi</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Käyttäjää ei löytynyt annetulla tunnuksella</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Käyttäjä on jo aktivoitu!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Käyttäjätunnuksesi aktivoitiin onnistuneesti!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Kirjaudu nyt</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Käyttäjätunnustasi ei ole aktivoitu. Muista käyttää varmistussähköpostin mukana tullutta linkkiä ennen uutta yritystä.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>Olen rekisteröitynyt onnistuneesti. Lähetimme sinulle sähköpostin jossa on varmistuskoodi. Ole hyvä ja tarkista sähköpostilaatikkosi.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Poista käyttäjän moderointioikeus</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Anna moderointioikeus tälle käyttäjälle</value>
+  </string> 
+  <string id="677" name="event user list">
+    <value>Käyttäjä</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Käyttöoikeus piirtopöydälle</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Moderaattori</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Moderointi: Ole hyvä ja valitse käyttäjä listalta antaaksesi hänelle oikeuden piirtopöydälle, moderointiin tai videoon.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>Tämä käyttäjä on jo moderaattori, joten hänellä on aina oikeus piirtää.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>Et voi poistaa moderointioikeutta itseltäsi!</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Salli tämän käyttäjän julkaista ääntä / kuvaa</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Poista ääni/kuva tältä käyttäjältä</value>
+  </string> 
+  <string id="685" name="event user list">
+    <value>Haluaisin saada moderointioikeuden tähän huoneeseen</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>Haluan piirtää piirtoalueelle</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>Haluan jakaa ääntä/kuvaa</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>Olet tämän huoneen moderaattori</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>Sinulla on oikeus piirtää piirtoalueelle</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>Sinulla on oikeus jakaa ääntä/kuvaa</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Lähetä viesti moderaattorille</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>Käyttäjä</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>pyytää moderointioikeutta. Käytä kuvakkeita listassa käyttäjän vieressä salliaksesi tai poistaaksesi oikeuden.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>pyytää oikeutta piirtää piirtoalueelle. Käytä kuvakkeita listassa käyttäjän vieressä salliaksesi tai poistaaksesi oikeuden.</value>
+  </string>
+  <string id="695" name="695">
+    <value>pyytää oikeutta jakaa ääntä/kuvaa. Käytä kuvakkeita listassa käyttäjän vieressä salliaksesi tai poistaaksesi oikeuden.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>Sinun täytyy odottaa kunnes moderaattori liittyy huoneeseen.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Peruuta</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Tallenna</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Päivä</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Kuukausi</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Vuosi</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Upload File</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Refresh</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Trash (Drag and Drop item here)</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>My Files (Home Drive)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Room Files (Public Drive)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Add File</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Delete Folder</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Edit Name</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>New Folder</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Are you sure you want to delete this Item?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Open Document</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Show all Files (Tree View)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Close Document</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Delete File</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>You are not allowed to draw anything on the Whiteboard. You have to become Moderator or at least get the Right to edit Whiteboard. You may ask a Moderator to give you that right.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Document Properties</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Start Client (external)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Start Client (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>A user want to share his screen. Do you want to see it?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>You are currently sharing your Desktop. For stopping the Sharing Session please hit the Stop button in the Sharing Client.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Sharing Session</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>You are already sharing your desktop!</value>
+  </string>
+  <string id="728" name="sharing client">
+    <value>Desktop Viewer</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Exit</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Desktop Sharer</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Click Start to publish your screen</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Start Sharing</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Select your screen area:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Change width</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>The Sharer has finished this session!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Change height</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X-Offset</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y-Offset</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Width:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Height:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>Connection was closed by Server</value>
+  </string>  
+  <string id="743" name="sharing viewer">
+    <value>Cancel</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Start External</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>If you close this session completely you are not able to restart the viewer for this session.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Confirm Closing Viewer Session</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Share Screen</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Record Session</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Co-Browsing</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Ooops, ... Firefox on Windows does not show clear Co-Browsing. Please use another Browser for using the Co-Browsing feature.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Previous</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Next</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Reload</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Home</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Load</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Add this website as Default website to your Profile.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Test Setup</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Check you Microphone and Camera setup before you enter a room by recording some seconds. You can then replay your recording to check your voice and picture.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Don't show this test anymore</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Cancel</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Start Conference</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Do not ask again</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>You may proceed without testing if you do not plan to publish your voice or picture. Participants without Audio or Video can still use the Whiteboard, share their Desktop or write Chat messages.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="test setup">
+    <value>Level-Meter</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Press Start</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Start Event</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Choose Room</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Check Setup</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="774" name="start view">
+    <value>How to conference</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Start Recording</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Do not show Audio / Video Test (Recording) before entering a Conference</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Public Rooms</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Public Rooms are accessible for all Users.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Private Rooms</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Private Rooms are only accessible for users of the same organization.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>My Rooms</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Rooms in this section are created for personal usage. There are some standard rooms plus the ones that are created through the calendar and have a start and an end date. The rooms created via the calendar are only listed in this section as long as they are valid.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>You have to be moderator to do this.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Apply for moderation</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Apply for whiteboard access</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Apply for camera/microphone access</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>This Session Hash was already used. You cannot use it twice.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>START</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>EXIT</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Do you really want to exit? You might should clear uploaded documents, whiteboard and the chat history.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Exit conference</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Rooms</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Choose a room for a meeting</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>There is an unsaved Event in the Calendar. Please either save it or remove it.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Please add at least one attendee for your meeting!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Do you really want to delete this Event?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Warning</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Add Event</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>Day</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>Week</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>Month</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Description</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Attendees</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, your Web Conferencing Platform. Either follow the Instructions, press the start button to start to conference immediatelly or you goto the Calendar and set up a Conference for the future.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Plan a Meeting</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>To set up a conference you can add a new Event in the Calendar.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Need help?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Restricted</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Search</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Add</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>There is no User selected. Please select an item from the list first and then hit add.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Add Attendee</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Save</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Delete</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Event Details</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Default Moderators</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Name</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>E-Mail</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Add new default Moderator</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Is Super Moderator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>If the Room is moderated, User with Level Moderator or Administrator are automatically Moderator if they enter the Room. If you don't want to specify that and only want a certain User to become Moderator use the Default Moderator option.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>A Super Moderator is always a Moderator when he enters a Room, and nobody can remove the Moderation Flag from him</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Apply Super-Moderation to User</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Remove Super Moderation from User</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>If you add an Organization to the room only users of that Organization have access to it (This is only valid if the isPublic flag is set to false!)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Limitations</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organization</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Are you sure?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Do you really want to delete this Item? You have to press the save button to store the changes!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>There is no User selected. Please select first before you add it!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Add new Default Moderator</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Do you want to add the Super Moderation Flag for this User? A Super Moderator is not only Moderator of a Room, but also no other Moderator can remove the Moderation Flag for this User. You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Do you want to remove the Super Moderation Flag for this User? You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>This User is a Super-Moderator. You cannot remove the Moderation flag from a Super-Moderator!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Do you really want to delete this File/Folder?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Delete File/Folder?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Mrs.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Dr.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Properties</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Show mouse position to viewers</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Share Audio with SIP Applet</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Share Audio with SIP and Video with Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Full-Fit</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>View Screen</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>The user</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>wants to share its screen. Do you want to see it?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Close</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>The Session was closed by the sharing User!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>New Screen Sharing</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimize</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximize</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Recording Timeline</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>My Recordings</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Public Recordings</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Name</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Length</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Date</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>By</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>PLAY</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Main - Video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Recording</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>You may record and share your screen at the same time. To enable others to see your screen just hit the start button on the top. To only record the Session it is sufficient to click start recording.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Start Recording</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Stop Recording</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download the FLV-File</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Room</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>User has microphone on</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Allow User Questions</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Turn this off to prevent that any user is disturbing you in this room. Effect is that the Button to ask for Moderation ("I have a question") is not visible.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Rights</value>
+  </string>  
+  <string id="882" name="flvrecording">
+    <value>Download as AVI</value>
+  </string>  
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio only</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the Recording.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>The Recording is not yet ready for watching. Please retry in a couple of minutes again.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Recorder Message</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIP Applet is not Ready</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP-Account Settings</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP settings for each user. You can turn on or off SIP via the Administration &gt; Configuration (Key: enable_sip). The SIP data for each user should be created automatically. You can re-create the data by checking "Re-generate SIP Data"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. You should check the authentification data of your SIP-Provider and the SIP-Account Data for each User. As Administrator you are still able to login and check the Configuration. As User or Moderator you will be blocked from any interaction.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. Contact your Service Team!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet Message</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>The SIP-Applet is not ready. Accept the Applet please and click ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Get Moderation</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login the $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choose the User for this Video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>You are a Moderator in this Interview. You can decide who is speaking in this interview and you can start / stop the recording of the Session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Start Recording</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Stop Recording</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+  <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/french.xml b/WebContent/languages/french.xml
new file mode 100644
index 0000000..439a5e7
--- /dev/null
+++ b/WebContent/languages/french.xml
@@ -0,0 +1,4505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Conférence</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>Réunion</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>Conférence</value>
+  </string>
+  <string id="4" name="settings">
+    <value>Paramètres</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>Profil</value>
+  </string>
+  <string id="6" name="admin">
+    <value>Administration</value>
+  </string>
+  <string id="7" name="stop">
+    <value>Stop</value>
+  </string>
+  <string id="8" name="record">
+    <value>Enregistrer</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>Aucun fichier disponible</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>Enregistrement par le professeur</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>Utilisateurs connectés :</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>Commencer une conférence</value>
+  </string>
+  <string id="13" name="myname">
+    <value>Mon nom</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>Vidéoconférence</value>
+  </string>
+  <string id="15" name="import">
+    <value>Nouvelle présentation</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>Charger à nouveau la liste</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>Retour à la liste des fichiers</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>Nouveau sondage</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>Un nouveau sondage pour la conférence.</value>
+  </string>
+  <string id="20" name="question">
+    <value>Question :</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>Type de sondage :</value>
+  </string>
+  <string id="22" name="create">
+    <value>Créer</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>Info : Chaque utilisateur reçoit le nouveau sondage.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>Créer un sondage</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>Annuler</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>Oui/Non</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>Numérique 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>Sondage</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>Vous devez être modérateur pour créer un sondage.</value>
+  </string>
+  <string id="30" name="vote">
+    <value>Votre vote est enregistré.</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>Vous avez déjà voté pour ce sondage.</value>
+  </string>
+  <string id="32" name="voting">
+    <value>Voter !</value>
+  </string>
+  <string id="33" name="answer">
+    <value>Votre réponse :</value>
+  </string>
+  <string id="34" name="yes">
+    <value>Oui</value>
+  </string>
+  <string id="35" name="no">
+    <value>Non</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>Question posée :</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>Résultats des votes</value>
+  </string>
+  <string id="38" name="question">
+    <value>Question :</value>
+  </string>
+  <string id="39" name="results">
+    <value>Résultats :</value>
+  </string>
+  <string id="40" name="answers">
+    <value>Réponses :</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>Aucun sondage n'est en cours.</value>
+  </string>
+  <string id="42" name="votings">
+    <value>Voter !</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>Réunion (max. 4 places)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>Conférence (max. 50 places)</value>
+  </string>
+  <string id="45" name="type">
+    <value>Mode</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>Autres places</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>Déjà choisi</value>
+  </string>
+  <string id="48" name="enter">
+    <value>Entrer</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>L'animateur a quitté la réunion.</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>Information du système</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>Choix du périphérique</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Choix de la caméra :</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>Choix du micro :</value>
+  </string>
+  <string id="54" name="ok">
+    <value>Ok</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>Annuler</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>Vous devez vous reconnecter</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>Edition des réglages</value>
+  </string>
+  <string id="58" name="course">
+    <value>Cours :</value>
+  </string>
+  <string id="59" name="language">
+    <value>Langue :</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>Ok</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>Annuler</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>Nettoyer le tableau blanc</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Voulez-vous nettoyer le tableau blanc avant d'ajouter une nouvelle image ?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>Ne pas redemander</value>
+  </string>
+  <string id="65" name="no">
+    <value>Non</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>Modifier les réglages</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Demander confirmation avant de nettoyer le tableau blanc</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>Information sur l'utilisateur</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>Effacer tableau blanc</value>
+  </string>
+  <string id="70" name="undo">
+    <value>Annuler</value>
+  </string>
+  <string id="71" name="redo">
+    <value>Refaire</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>Sélectionner un objet</value>
+  </string>
+  <string id="73" name="text">
+    <value>Texte</value>
+  </string>
+  <string id="74" name="paint">
+    <value>Dessiner</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>Tracer une ligne</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>Surligner</value>
+  </string>
+  <string id="77" name="rect">
+    <value>Rectangle</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>Ellipse</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>Flèche</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>Supprimer l'élément sélectionné</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>Demander la modération</value>
+  </string>
+  <string id="82" name="apply">
+    <value>Appliquer</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>Annuler</value>
+  </string>
+  <string id="84" name="mod">
+    <value>Devenir modérateur</value>
+  </string>
+  <string id="85" name="close">
+    <value>Fermer</value>
+  </string>
+  <string id="86" name="italic">
+    <value>Italique</value>
+  </string>
+  <string id="87" name="bold">
+    <value>Gras</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>En attente...</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>Un utilisateur souhaite devenir modérateur :</value>
+  </string>
+  <string id="90" name="accept">
+    <value>Accepter</value>
+  </string>
+  <string id="91" name="reject">
+    <value>Rejeter</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>Annuler</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>Envoi aux autres utilisateurs</value>
+  </string>
+  <string id="94" name="accept">
+    <value>Accepté</value>
+  </string>
+  <string id="95" name="reject">
+    <value>Rejeté</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>Changer de modérateur</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>Vous n'êtes pas le modérateur de ce cours !</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>Modérateur :</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>Cette salle est pleine. Merci de revenir plus tard.</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>Ellipse</value>
+  </string>
+  <string id="101" name="close">
+    <value>Fermer</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>Erreur de formulaire</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>Le nom d'utilisateur doit contenir au moins 4 caractères</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>Le mot de passe doit contenir au moins 4 caractères</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>Le nom d'utilisateur existe déjà</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>Cette adresse e-mail est déjà utilisée</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>Erreur système, merci de contacter l'administrateur</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>Connexion</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>Utilisateur :</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>Mot de passe :</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>Langue :</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>Se connecter</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>S'enregistrer</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>Utilisateur :</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>Mot de passe :</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>Retapez :</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Prénom :</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Nom :</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>E-mail :</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>Pays :</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>Enregistrer</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>Annuler</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>Inscription</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>Accueil</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>Utilisateurs</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>Groupes</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>Organisations</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>Salles</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>Publique</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>Organisation</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>Entrer</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>Identifiant</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>Mot de passe</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>Confirmez</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Prénom</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Nom</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>E-mail</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>Date de naissance</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>Rue et N°</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>Code postal/Ville</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>Pays</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Commentaires</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Détails sur l'utilisateur</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>Sauvegarder</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>Sauvegarder</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>ID</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>Login</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>Prénom</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>Nom</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>Suivant</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>Précédent</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>Effacer l'enregistrement</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>Annuler</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>Effacer</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>Nouvel enregistrement</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>Actualiser l'enregistrement</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>Effacer l'enregistrement</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>Statut</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>Désactivé</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>Activé</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>Organisations</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>Calendrier</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>Fermer</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>ID Organisation</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>Nom</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>Utilisateur</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>Mode</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>Admin</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>Type d'utilisateur</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>Organisation</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>Nom</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>Ajouter une organisation</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>Ajouter une organisation</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>Annuler</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>Ajouter</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>Effacer organisation</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>Utilisateur</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>Ajouter utilisateur</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>Effacer utilisateur</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>Ajouter utilisateur</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>Rechercher un utilisateur</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>Rechercher</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>Utilisateur</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>Organisation</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>Entrer</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>Salles</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>Salles</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>ID</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>Nom</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>Publique</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>Organisations</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>Salle de conférence</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>Nom</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>Type</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>Publique</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>Commentaire :</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>Enregistrer</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>Charger</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>Enregistrer sous</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>Nom du fichier</value>
+  </string>
+  <string id="201" name="files">
+    <value>Nom du fichier</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>Annuler</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>Sauvegarder</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>Erreur</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>Chargement</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>Objets chargés</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>Synchronisation des clients, patientez...</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>Chargement des données</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>Synchronisation des clients, patientez...</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>Effacer la zone de dessin</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>Effacer la zone de dessin, toutes les données sur le tableau blanc seront perdues</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Confirmer avant de charger un fichier</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>Envoyer invitation</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>Envoyer invitation</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>Sujet</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Destinataire</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>Message</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Envoyer</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>Annuler</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>Envoyer</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>Détails sur l'utilisateur</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>Votre pseudonyme pour cette conférence</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>Pseudo</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>Prénom</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>Nom</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>E-mail</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>Langue</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>Entrer</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>Chargement</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>Sélectionnez votre langue</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>Mot de passe erroné</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>Merci de mettre deux mots de passes identiques avec 6 caractères minimum</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>Adresse e-mail erronée</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>Vous avez utilisé une adresse E-mail non valide</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>Enregistrement effectué</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>Votre compte a été créé. Vous pouvez maintenant vous connecter</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>Vous ne pouvez pas partager votre écran car un autre utilisateur utilise déjà cette fonctionnalité</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Partage annulé</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Partager votre écran</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Mauvaise bande passante : Vous ne pouvez pas synchroniser votre écran. Des images seront supprimées.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>Ecran de :</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Dessiner</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Document</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>T'chat</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>Fichiers</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Membres</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Télécharger le document original</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>Télécharger le document PDF</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Chargement de la présentation sur le tableau blanc</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Configuration</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Déplacer cet objet</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Redimensionner cet objet</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>de</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>Aller à la première page</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>Aller à la page précédente</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>Aller à la page suivante</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>Aller à la dernière page</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Zoom --</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Zoom ++</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>M.</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Mme.</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Configuration</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>Clé</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Configuration</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>Clé</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>Dernière MAJ</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>Mis à jour par</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>Commentaire</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>Clé</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>de</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>Utilisateurs</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>Effacer l'organisation</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>Effacer</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>Cet utilisateur est déjà membre de l'organisation</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>Nouvelles</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Raccourcis</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Aller à la réunion</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Aller à la conférence</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Aide et support</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>Un bug !</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>Détail</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Site du projet (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>Liste de diffusion pour les utilisateurs (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Se souvenir de moi</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Contenu</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>Ma page personnelle</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>Mes réunions programmées</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>Mes conférences programmées</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Réunions publiques</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Réunions privées</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Auditorium public</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Auditorium privé</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Contenu public</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Contenu privé</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Contenu personnel</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value></value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Modération</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>Demander la modération</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Sondage</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Choisir un fichier</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Configuration</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Choix micro/caméra</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Config. du tableau blanc</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Sortir</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Retour aux salles</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Quitter</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Mot de passe oublié ?</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>Réinitialiser votre mot de passe</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>Par e-mail</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>Par login</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>Votre e-mail</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>Votre login</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Envoyer un e-mail de réinitialisation</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>Aucune adresse trouvée. Soyez sûr d'avoir entré la même adresse que durant l'inscription.</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Entrez votre e-mail ou nom d'utilisateur</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>Il n'y a pas d'utilisateur avec ce nom</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>Un e-mail contenant un lien vous a été envoyé. Si vous n'avez pas reçu d'e-mail, vérifiez votre antispam et redemandez une confirmation.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Quitter</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Message</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>Hachage non valide. Pas d'utilisateur trouvé.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Changez votre mot de passe</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Login</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>Changez votre mot de passe</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>Nouveau mot de passe</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>Retapez votre mot de passe</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>Les mots de passe que vous avez entrés ne sont pas identiques.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>4 caractères ou plus ; la casse a de l'importance !</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>Mot de passe changé. Vous pouvez vous connecter.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Erreur inconnue. Veuillez le signaler à votre équipe support.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>Nom d'utilisateur inconnu</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Mot de passe non valide</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Déconnecté avec succès</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Enregistrement depuis la page d'accueil désactivé.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>E-mail non valide</value>
+  </string>
+  <string id="340" name="registration">
+    <value>Nom de fichier identique, veuillez choisir un autre nom de fichier</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>Nom de fichier trop court</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>Impossible de sauvegarder l'adresse</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>Utilisateur ajouté. Si vous ne l'avez pas assigné à une organisation, veuillez le faire sans quoi il ne pourra pas se connecter.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>Nouvel enregistrement</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>Pas de champ trouvé avec cet ID.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>Pas d'étiquette trouvée pour ce champ.</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Requière l'autorisation de l'administrateur</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Editeur de langue</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Langue</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>Label-ID</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Label-Nom</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Label-Valeur</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Champs</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>Label-Nom</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>Label-Valeur</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>Label-ID</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>Vous avez effacé le label, pas le champ ! Vous ne pouvez pas effacer le champ, il peut contenir des labels pour d'autres langues.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>ID du label non valide. Le FieldLanguagesvalues_Id n'est pas dans la base de données.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>Vous ne pouvez pas supprimer ce champ, seulement les labels. Il n'y a pas de labels pour le moment ou il n'y a pas de labels pour ce langage.</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>Exporter</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>Vous devez vous déconnecter pour voir les changements.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Ajouter un langage</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>Effacer un langage</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Ajouter un langage</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Nom</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>Ajouter un langage</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Sauvegarde</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>Retour au début</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>Précédent</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>Suivant</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>Aller au dernier</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>L'utilisateur parle</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>Son marche/arrêt</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>Système</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>Votre configuration</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>Bonjour,</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Editez votre profil</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>Nouveau(x) Message(s) :</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Nouvelle image</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Détails utilisateurs</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>Choisissez votre organisation</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>Commencer l'export</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>Tous les utilisateurs</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>Commencer l'export</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Importer détails utilisateurs</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>Choisissez users.xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>Importer</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Export en XML - Ces fichiers peuvent être utilisés pour : - Contribuer au projet - Importation sur un autre système - Sauvegarde - Personnalisation - Mettez-le dans le dossier des langues pour votre prochaine installation</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Choisissez un fichier de langue à importer. Choisissez le bon langage depuis la boite déroulante ! Peu importe le nom du fichier, il sera importé pour ce langage</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>Import - Choisir un fichier</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Enregistrer sous</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Nom :</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>Commentaire :</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>Sauvegarde</value>
+  </string>
+  <string id="395" name="record">
+    <value>Enregistrements</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Lecteur d'enregistrements</value>
+  </string>
+  <string id="397" name="record">
+    <value>Enregistrement des salles privées et publiques</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>Utilisateurs :</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>Inscrits :</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Utilisateur dans la salle :</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>Rafraichir</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>Cette salle est pleine. Réessayez dans quelques minutes.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>Infos : Cliquez sur une salle</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Discutez avec les utilisateurs de cette salle :</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Salle :</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Utilisateurs dans cette salle :</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>Depuis :</value>
+  </string>
+  <string id="409" name="record">
+    <value>Lire l'enregistrement</value>
+  </string>
+  <string id="410" name="record">
+    <value>Durée :</value>
+  </string>
+  <string id="411" name="record">
+    <value>Date :</value>
+  </string>
+  <string id="412" name="record">
+    <value>Mode enregistrement ! Vous ne pouvez rien modifier, ceci est un document enregistré !</value>
+  </string>
+  <string id="413" name="record">
+    <value>Lire cet enregistrement</value>
+  </string>
+  <string id="414" name="record">
+    <value>Lecture/Pause</value>
+  </string>
+  <string id="415" name="record">
+    <value>Commencer l'enregistrement</value>
+  </string>
+  <string id="416" name="record">
+    <value>Stopper l'enregistrement</value>
+  </string>
+  <string id="417" name="record">
+    <value>Enregistrement :</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>Quelqu'un est déjà en train d'enregistrer cette session :</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Enregistrement par :</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>Annuler</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>Si vous annulez l'enregistrement, il ne sera pas sauvegardé.</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>Reprendre</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Fermer cette fenêtre et reprendre l'enregistrement</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>Changer la couleur de ligne</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Choisir une couleur</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Désactiver/Activer la couleur de ligne</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>changer la couleur de remplissage</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>Désactiver / Activer couleur de remplissage</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Changer la largeur de ligne</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>Fermer</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>Changer la taille de la police</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>Effacer l'enregistrement</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Invité</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>Par :</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Nom</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Salle</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Date</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>Annuler</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>Démarrer</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Nom</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Date</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>Effacer l'historique du t'chat</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>T'chat</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>Envoyer message</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Emoticônes</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>Emoticônes</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Choisissez le périphérique</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Audio et Vidéo</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>Audio seulement</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>Vidéo seulement</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>Pas d'audio ni de vidéo (image statique)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>Aucun flux Audio/Vidéo ne sera émis, à la place l'image de votre profil sera affichée. Choisissez cette configuration en cas de problème de bande passante ou si votre connexion internet est lente.</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>LU</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>MA</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>ME</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>JE</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>VE</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>SA</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>DI</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>Lundi</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Mardi</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Mercredi</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Jeudi</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Vendredi</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Samedi</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Dimanche</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>CS</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Calendrier semaine</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>Janvier</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>Février</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>Mars</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>Avril</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>Mai</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>Juin</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>Juillet</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>Août</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>Septembre</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>Octobre</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>Novembre</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>Décembre</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Calendrier</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Participants</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Montrer la disposition</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Largeur | Hauteur</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Conteneur-vidéo</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Conteneur-modération</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Conteneur-tableau blanc</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Activé</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Largeur | Hauteur</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Conteneur Fichier,t'chat,participants</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Activé</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Largeur | Hauteur</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>Le modérateur a quitté la salle. Personne n'est présent actuellement. Vous pouvez demander la modération ou attendre.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>Il n'y a pas de modérateur dans cette salle, mais il reste des participants. Vous pouvez demander la modération ou attendre.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>Sentiments sur $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Invitation</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Message pour :</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Message :</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Cliquez sur le lien pour participer à la conférence :</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Cliquez pour entrer dans la salle</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>Si ce lien ne fonctionne pas, copier/coller-le dans votre navigateur.</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>Inscription $APP_NAME</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>Vos données utilisateur :</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Login:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Mot de passe :</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>E-mail :</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>Equipe-$APP_NAME</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>Inscription $APP_NAME</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - Réinitialiser mot de passe</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Cliquez sur le lien pour saisir un nouveau mot de passe :</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Cliquez ici pour saisir un nouveau mot de passe</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>Si ce lien ne fonctionne pas, copier/coller-le dans votre navigateur.</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>$APP_NAME nouveau mot de passe</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>Entrez une date valide, par exemple 24.12.2001 (jj.mm.aaaa)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Entrez un e-mail valide, par exemple name@mail.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Entrez un nombre décimal valide, par exemple 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Entrez un entier valide, par exemple 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Entrez un numéro de téléphone valide, par exemple 01 02 03 04 05</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Entrez une heure valide, par exemple 12:23 (hh:mm)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Protégé par mot de passe</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Mot de passe</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Période de validité</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Indéfinie</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Temporaire</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>Une connexion</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Valide à partir de :</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Valide jusqu'à :</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Invitation à une conférence $APP_NAME</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>Pas d'invitation disponible pour ce code</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>L'invitation est déjà utilisé. Impossible d'accéder à la réunion/conférence.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>Ce code d'invitation n'est pas valide.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Mot de passe:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Vérification du mot de passe</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Mot de passe non valide !</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>Navigateur</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Synchroniser Audio/Vidéo</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>Votre mot de passe est correct mais la session est inactive. Vous devez récupérer une nouvelle ID de session et vous reconnecter.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>L'ID de session n'est pas connecté ou ne possède pas les droits d'administration. La passerelle SOAP nécessite un utilisateur ayant les droits d'administration pour intégrer de nouveaux utilisateurs.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>Cette session n'a pas d'utilisateur distant connecté. Soit vous n'avez pas appelé la passerelle SOAS avant d'accéder à l'application, soit vous utilisez une mauvaise ID de session.</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>L'enregistrement est en construction...</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>axe-x</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>axe-y</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>w</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>Largeur</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>Hauteur</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Modifier la transparence</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Navigateur ouvert</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Navigateur fermé</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>La connexion avec le serveur est interrompue. Vérifiez le réseau ou contactez l'adminitrateur.</value>
+  </string>
+  <string id="557" name="557">
+    <value>Pointeur</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Synchronisation</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Synchronisation des utilisateurs, patientez s'il vous plait...</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Télécharger en SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Télécharger en PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Télécharger en JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Télécharger en PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Télécharger en TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Rappel :</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Catégorie:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Répétition:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>Nul</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Lieu :</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Début</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>Fin</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Titre :</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Commentaire :</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Inviter</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Jour</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Mois</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Année</value>
+  </string>
+  <string id="578" name="alert">
+    <value>Fin de rendez-vous est après début de rendez-vous !</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Indiquez un titre s'il vous plait</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>Cochez cette case pour écrire de droite à gauche</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Tableau de bord</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Visionner vos réunions ou conférences</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Accéder aux réunions en cours&lt;br/&gt;Tout le monde pourra parler et entendre l'ensemble des conversations.</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Accéder aux conférences en cours&lt;br/&gt;Le droit de parole est réservée au conférencier. Vous ne pourrez qu'écouter.</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Créer un utilisateur, une réunion, une organisation.&lt;br/&gt; + changer la configuration</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Utilisateurs actuellement dans cette réunion :</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Login</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Document en chargement. Attendez que tous les utilisateurs soient synchronisés.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Téléchargement ok, conversion en cours...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Démarrer l'importation</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Sélectionnez un fichier sur votre disque :</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Quitter</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Sélectionner un fichier</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Connexions</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Valeur</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Login</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Connecté depuis</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Salle / Limite</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Sortir utilisateur</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Sortir utilisateur</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Voulez-vous vraiment sortir cet utilisateur ?&lt;br/&gt; Cela supprimera le client de la réunion actuelle mais il pourra se reconnecter.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Votre session a été interrompue par l'administrateur ou le modérateur.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Téléphone</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>Modérateur de cette réunion</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>Autoriser/Refuser le droit de dessiner sur le tableau blanc</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Re) Démarrer audio/vidéo ou changer les paramètres</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Autoriser cet utilisateur à dessiner sur le tableau blanc</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Retirer le droit de dessiner sur le tableau blanc.</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Utilisateurs</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Fichiers</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Tableau blanc</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>T'chat</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Votre compte est assigné à plusieurs organisations. Choisissez-en une pour cette session.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>Le nombre max. d'utilisateurs est atteint. Veuillez réessayez plus tard.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Type de salle</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Salle temporaire</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Heure serveur</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - Rappel</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Message de l'utilisateur :</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Message :</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Cliquez sur ce lien pour participer à la réunion :</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Cliquez ici pour entrer dans la salle</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>Si vous avez un problème avec le lien, copier-coller-le dans votre navigateur s.v.p. :</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>recherche interne</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>Ajouter un utilisateur extérieur</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>Prénom</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>Nom</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>E-mail</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Confirmer la sortie</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Etes-vous sûr de vouloir quitter ?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Actions</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Salle Démo</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Heure Démo</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Temps de réunion</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>C'est une salle de Démo. Pour désactiver ce message vous devez utiliser une réunion privée pour votre usage personnel ou avoir votre propre serveur. Vous allez être automatiquement déconnecté dans :</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Modération</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>S.V.P. attendez que le modérateur rejoigne la salle.&lt;br/&gt;Le modérateur peut-être un enseignant,&lt;br/&gt;l'administrateur ou le créateur de&lt;br/&gt; cette réunion.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Ok</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Nouveau partage d'écran</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>C'est un nouveau partage d'écran de cet utilisateur:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Démarrer le partage</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Ajouter une nouvelle réunion</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Salle de réunion</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Salle de conférence</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Modération</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Modérer les utilisateurs</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Salles modérées</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Voulez-vous que cet utilisateur devienne un modérateur de cette organisation ?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Choisissez une organisation avant de lui ajouter un utilisateur s.v.p. !</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Organisation - Modérateur</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Voulez-vous réellement supprimer cet utilisateur de cette organisation?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>Cet utilisateur est un modérateur</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>Cet utilisateur n'est pas un modérateur</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Voulez-vous que cet utilisateur ne soit pas un modérateur de cette organisation ?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Ajouter ou supprimer des utilisateurs ou des salles de votre organisation</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Voulez-vous réellement supprimer cet enregistrement ?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Voulez-vous réellement supprimer cet utilisateur de votre organisation ? Vous supprimez seulement le lien entre cet utilisateur et votre organisation, pour supprimer réellement cet utilisateur vous devez aller dans l'onglet d'administration.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>Vous ne pouvez pas vous supprimer !</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>Cette méthode nécessite des droits d'administration.</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>Il n'y a pas de session associée à cet ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>C'est un compte d'administration ou de modérateur. Vous ne pouvez l'éditer qu'à travers l'onglet d'administration.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>Pour terminer votre enregistrement veuillez cliquer sur le lien suivant. Ou copier l'URL dans la barre d'adresse de votre navigateur.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Cliquez pour vérifier votre E-mail</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Aucun utilisateur pour ce hachage.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Cet utilisateur est déjà activé !</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Vous avez activé votre compte avec succès !</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Se connecter maintenant</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Votre compte n'est pas actif. Utilisez le lien dans l'e-mail que vous avez reçu pour l'enregistrement.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>Vous êtes enregistré. Nous vous avons envoyé un e-mail avec un code de vérification. Regardez votre boite de messagerie.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Enlever le rôle de modérateur à cet utilisateur</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Donner les droits de modération à cet utilisateur</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>Utilisateur</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Accès au tableau blanc</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Modérateur</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Modération : Choisissez un utilisateur de cette liste pour lui donner accès au tableau blanc, à la modération ou à la vidéo.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>Cet utilisateur est déjà modérateur, donc il a le droit de dessiner.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>Il s'agit de vous ! Vous ne pouvez pas vous retirer &lt;br/&gt;les droits de modération.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Autoriser cet utilisateur à publier son Audio/Vidéo</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Supprimer l'Audio/Vidéo de cet utilisateur</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>Je souhaiterais obtenir le modération de cette salle.</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>Je souhaiterais dessiner sur le tableau blanc</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>Je souhaiterais partager mon audio/vidéo</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>Vous êtes le modérateur de cette salle</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>Vous êtes autorisé à dessiner sur le tableau blanc</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>Vous êtes autorisé à partager votre Audio/Vidéo.</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Message au modérateur</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>L'utilisateur</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>&lt;br/&gt;demande la modération. Utilisez l'icône dans la liste des utilisateurs pour ajouter ou enlever la modération.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>&lt;br/&gt;demande l'accès au tableau blanc. Utilisez l'icône dans la liste des utilisateurs pour ajouter ou enlever le droit de dessiner sur le tableau blanc.</value>
+  </string>
+  <string id="695" name="695">
+    <value>&lt;br/&gt;demande le partage audio/vidéo. Utilisez l'icône dans la liste des utilisateurs pour ajouter ou enlever le droit de partager l'audio/vidéo.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>Vous devez attendre qu'un modérateur entre dans la salle.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Annuler</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Sauver</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Jour</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Mois</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Année</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Ajouter un fichier</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Ajouter un dossier</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Rafraichir</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Poubelle</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>Mes fichiers personnels</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Les fichiers de la salle (Public)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Ajouter un fichier</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Ajouter un dossier</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Supprimer un dossier</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Modifier le nom</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>Nouveau dossier</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Etes-vous sûr de vouloir supprimer cet item ?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Recherche</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Recherche</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Ouvrir le document</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Montrer tous les fichiers (Arborescence)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Fermer le document</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Supprimer le fichier</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>Tableau blanc non autorisé.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Propriétés Document</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>+net +long</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>conseillé</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>Un utilisateur souhaite partager son écran. Voulez-vous le voir ?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>Vous partagez actuellement votre écran. Pour arrêter ce partage, cliquez sur le bouton Sortie de la fenêtre de partage.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Session de partage</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>Vous partagez déjà votre écran !</value>
+  </string>
+  <string id="728" name="sharing client">
+    <value>Vue d'écran</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Sortie</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Partage d'écran</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Cliquez sur Partager pour publier votre écran</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Partager</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Arrêter</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Sélectionner la partie d'écran :</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Changer la largeur</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>La session de partage est terminée !</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Changer la hauteur</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>Marge-X</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Marge-Y</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Largeur :</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Hauteur :</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>La connection a été fermée par le serveur</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Annuler</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>+ net</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>Si vous fermez cette session vous ne pourrez plus redemarrer le partage pour cette session.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Confirmez la fermeture de cette session de partage</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Ecran partage</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Enregistrement de la session</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Navigation collaborative</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Oups... Firefox et Windows ne permettent pas une bonne navigation collaborative. Veuillez utiliser un autre navigateur pour utiliser cette fonction.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Précédent</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Suivant</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Rechargement</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Accueil</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Chargement</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Ajouter ce site web comme site par défaut pour votre profil</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Test Setup</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Testez votre micro et votre caméra avant d'entrer dans la réunion en enregistrant quelques secondes. Vous pourrez alors rejouer votre enregistrement pour vérification.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Ne plus montrer ce test (modifiable dans le profil)</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Annuler</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Début de réunion</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Ne plus poser cette question</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>Vous pouvez continuer sans tester si vous ne pensez pas publier votre voix ou votre vidéo. Les participants sans audio ou vidéo peuvent utiliser le tableau blanc, partager leur écran ou écrire des messages.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="767">
+    <value>Niveau</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Cliquer sur Début</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Commencer la réunion</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Commencer la conférence</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Choisir la salle</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Auto-test</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Commencer la réunion</value>
+  </string>
+  <string id="774" name="start view">
+    <value>Chronologie d'emploi :</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Début d'enreg.</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Ne pas montrer le test audio/vidéo (Enregistrement) avant d'entrer en réunion.</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Salles publiques</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Les salles publiques sont accessibles à tous les utilisateurs.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Salles privées</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Les salles privées ne sont accessibles qu'aux utilisateurs de l'organisation pour laquelle elles ont été créées.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>Mes salles</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Ici les salles sont créées pour un usage personnel. Elles sont créées par le calendrier et ont une date de début et de fin. Elles ne sont listées ici que tant qu'elles sont valides dans le jour J (aujourd'hui).</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>Vous devez être modérateur pour faire cela.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Demander la modération</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Demander l'accès au tableau blanc</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Demander l'accès à caméra/micro</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>Ce hachage est déjà utilisé. Vous ne pouvez l'utiliser deux fois.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>DEBUT</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>Sortie</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Voulez-vous réellement sortir ? Vous devriez peut-être préalablement nettoyer les documents chargés, le tableau blanc ou les messages instantanés.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Sortie de réunion</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Salles</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Choisir une salle pour la réunion</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>Il y a un évènement non sauvegardé dans le calendrier. S.V.P. sauvegardez-le ou supprimez-le.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>S.V.P. ajoutez au moins un participant à votre réunion</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Voulez-vous réellement supprimer cet évènement ?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Attention</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Ajouter un évènement</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>jour</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>semaine</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>mois</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Description</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Participants</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, votre plateforme de conférence web. Suivez les instructions.&lt;br/&gt;Cliquez sur le bouton 'Début' pour commencer une réunion immédiatement ou allez au calendrier pour planifier une réunion.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Planifier</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>Pour planifier une réunion vous pouvez créer un événement dans le calendrier.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Besoin d'aide ?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Accès réservé</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Recherche</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Ajouter</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>Il n'y a pas d'utilisateur sélectionné. S.V.P. choisissez un utilisateur dans la liste.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Ajouter un participant</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Sauvegarde</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Supprimer</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Détails de l'évènement</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Modérateurs par défaut</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Nom</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>E-mail</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Ajouter un nouveau modérateur par défaut</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>C'est le super modérateur</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>Si la salle est modérée, un utilisateur avec le niveau modérateur ou administrateur est automatiquement modérateur s'il participe à la réunion. Si vous ne voulez pas de ce fonctionnement et que voulez qu'un certain utilisateur devienne modérateur, utilisez l'option modérateur par défaut.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>Un super modérateur est toujours modérateur quand il participe à une réunion, et personne ne peut lui retirer ce droit</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Appliquer la super-modération à cet utilisateur</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Retirer la super-modération à cet utilisateur</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>Si vous spécifiez une organisation pour la réunion, seuls les utilisateurs qui appartiennent à cette organisation y ont accès (S'il ne s'agit pas d'une réunion publique !)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Limitations</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organisation</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Etes-vous sûr ?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Voulez-vous réellement supprimer cet item ? Vous devez utiliser le bouton Sauvegarde pour garder les modifications !</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>Aucun utilisateur sélectionné. S.V.P. sélectionnez en un avant de l'ajouter !</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Ajouter un nouveau modérateur par défaut</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Voulez-vous que cet utilisateur soit super-modérateur ? Un super-modérateur n'est pas seulement modérateur de la réunion, son rôle ne peut de plus être enlevé par aucun autre modérateur. Vous devez sauvegarder la salle pour sauvegarder ces paramètres !</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Voulez-vous retirer la super-modération à cet utilisateur ? Vous devez sauvegarder la salle pour sauvegarder ces paramètres !</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>Cet utilisateur est un super-modérateur. Vous ne pouvez pas enlever la modération à un super-modérateur !</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Voulez-vous réellement supprimer ce fichier/dossier ?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Supprimer Fichier/Dossier ?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Mlle.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Dr.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Propriétés</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Montrer la souris sur l'écran</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Partager l'audio avec l'applet SIP</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Partager l'audio avec SIP et la vidéo avec Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Zoom 100%</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>Voir écran</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>L'utilisateur </value>
+  </string>
+  <string id="850" name="screen share">
+    <value>souhaite partager son écran. Voulez-vous le voir ?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Fermer</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>La session a été fermée par l'utilisateur qui partageait son écran!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>Nouveau partage d'écran</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Réduire</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximiser</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Vidéo</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Chronologie de l'enregistrement</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>Mes enregistrements</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Enregistrements publics</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Nom</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Durée</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Date</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>par</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>PLAY</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Main - Video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Enregistrement</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>Vous pouvez enregistrer et partager votre écran en même temps. Pour permettre aux autres de voir votre écran, cliquez le bouton Partager en haut. Pour seulement enregistrer la session, il suffit de cliquer sur Démarrer l'enregistrement.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Démarrer l'enregistrement</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Arrêter l'enregistrement</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Télécharger le fichier FLV</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Salle</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Jouer</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>L'utilisateur a son micro activé</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Arrêter le partage</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Accepter les questions</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Désactivez ceci pour éviter que les utilisateurs ne vous disturbent dans la salle. Cela a pour effet de masquer le bouton permettant de demander la modération.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Droits</value>
+  </string>  
+  <string id="882" name="flvrecording">
+    <value>Télécharger le fichier AVI</value>
+  </string>  
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Ecran vidéo brut</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio seulement</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>Il y a eu des erreurs durant le traitement de l'enregistrement.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>L'enregistrement n'est pas encore prêt à être visionné.  Veuillez réessayer dans quelques minutes.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log :</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Message de l'enregistreur</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>L'applet SIP n'est pas prêt</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>Paramètre compte SIP</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>Paramètres SIP pour chaque utilisateur. Vous pouvez activer ou désactiver SIP via Administration &gt; Configuration (Champ : enable_sip). Les données SIP pour chaque utilisateur devraient être créées automatiquement. Vous pouvez recréer les données en cochant "Regénérer les données SIP"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>La connexion à la passerelle SIP a échoué. Vous devrier vérifier les données d'autentification de votre fournisseur SIP et les données des comptes SIP de chaque utilisateur.  En tant qu'administrateur vous pouvez toujours vous connecter et vérifier la configuration.  En tant qu'utilisateur ou modérateur vous ne pourrez pas interragir.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>La connexion à la passerelle SIP a échoué. Veuiller contacter votre équipe de support !</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Connexion à la passerelle SIP...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Connexion à la passerelle SIP...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Montrer le journal</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Journaliser les messages de post traitement de l'enregistreur</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>Message de l'applet SIP</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>L'applet SIP n'est pas prêt. Acceptez l'applet et cliquez ok !</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Obtenir la modération</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Sauvegarder les modifications de la réunion</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>La réunion a été modifiée. Voulez-vous sauvegarder les changements ? &lt;br/&gt;&lt;br/&gt;Tous les participants à la réunion recevront un e-mail avec la date et l'heure mises à jour (cela dépend du type de notification pour cette réunion).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>Pour accéder à d'autres enregistrements vous devez vous connecter à l'application $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choisissez l'utilisateur pour cette vidéo</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Utilisateurs disponibles pour ce conteneur</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>Vous êtes un modérateur dans cette salle d'interview. Vous pouvez décider de qui parle et vous pouvez démarrer/arrêter l'enregistrement de la session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Démarrer l'enregistr.</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Arrêter l'enregistr.</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>L'enregisrement de l'interview est déjà démarré.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>L'enregistrement est déjà arrêté ou n'a pas encore démarré.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>L'enregistrement pour cette interview a déjà démarré !</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Annuler</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>Le post traitement d'une interview dure 5 minutes par minute d'interview. L'avancement actuel du post traitement est :</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>Vous devez entrer votre mot de passe à nouveau pour créer automatiquement les données SIP</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Regénérer les données</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>Vous ne pouvez déplacer ce fichier ou dossier dans son propre sous-dossier !</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Taille du disque local</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Taille du disque public</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>Paramètres de la licence</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>Vous pouvez soit lier l'utilisateur à une date d'expiration ou à un nombre de minutes lorsque vous activez la licence.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Vérifier la licence</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Forfait</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Date d'expiration</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Secondes restantes</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Temps total</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Votre licence a expiré. Vous devez soit acheter des minutes (paiement à la minute) soit un volume forfaitaire.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Cliquez et achetez</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Temps restant sur votre compte :</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>Information licence utilisateur</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Fermer</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Votre licence a expiré. Vous devez soit acheter des minutes (paiement à la minute) soit un volume forfaitaire</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>Paramètres de la licence</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>Vous pouvez soit acheter des minutes pour faire des conférences en ligne (paiement à la minute).&lt;br/&gt;&lt;br/&gt; Ou acheter un volume forfaitaire de 3-12 mois.&lt;br/&gt;&lt;br/&gt;Envoyer des invitations (liens directs vers les salles de conférences) ou créer des salles de conférences via le calendrier pour des utilisateurs externes est seulement possible avec un volume forfaitaire !</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Acheter 60 minutes 9,99 euros (16 cents par minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Acheter 5 heures 19,99 euros (6 cents par minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Acheter 3 mois pour 29,99 euros (9,99 euros par mois)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Acheter 6 mois pour 39,99 euros (6,66 euros par mois)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Paiement à la minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume forfaitaire</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>Vous avez une licence illimitée</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Votre licence expirera à :</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>Vous avez effectué un paiement à la minute. Il vous reste :</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Acheter un nouveau crédit !</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Voulez-vous votre propre serveur ?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>Vous voudriez avoir $APP_NAME installé sur votre serveur ou intégré dans Moodle, SugarCRM, votre site web ou intranet ? Les prix commencent à 500 euros par installation !</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Ou envoyez-nous un message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Répondre à :</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message :</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Envoyer</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Cliquez ici pour obtenir des infos et les prix</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Détails de la carte de crédit</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Prénom</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Nom</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Type de carte de crédit</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>Carte VISA</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Numéro de carte</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Date d'expiration</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Numéro de vérification</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Adresse de facturation</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Adresse</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>Ville</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Pays</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>Etat (seulement USA)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>Code postal</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Montant</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Soumettre</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Etape 1: $APP_NAME - Formulaire de paiement</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>E-mail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Cliquez "Régler avec Paypal" pour payer.&lt;br/&gt; Paypal accepte VISA, MasterCard, Discover ou American Express. &lt;br/&gt;Il ne faut pas s'inscrire chez Paypal. &lt;br/&gt;Les citoyens allemands peuvent aussi payer avec un débit direct (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Merci d'avoir acheté $APP_NAME. &lt;br/&gt; &lt;br/&gt; Dès que nous aurons reçu le paiement, votre compte sera mis à jour.&lt;br/&gt; Vous recevrez un e-mail avec votre facture en PDF.&lt;br/&gt;Vous pouvez également vérifier les transactions passées et actuelles dansd votre profil.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Vous pouvez fermer cette fenêtre maintenant et retourner à $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Soumettre et acheter !</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Cliquer et acheter !</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Etape 3 : Paiement $APP_NAME - Vérifier la commande et acheter !</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Nom</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Paiement reçu !</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Bonjour,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>Nous avons reçu votre paiement. Votre profil utilisateur a été mis-à-jour. Voir votre facture ci-attachée. La facture ansi que toutes les factures passées peuvent être téléchargées dans votre profil utilisateur.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Merci d'utiliser $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Paiement $APP_NAME reçu-</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Statut des paiements et transactions</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Hachage de transaction</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Mois</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Statut</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Facture</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>Vous devez acheter un volume forfaitaire pour pouvoir envoyer des invitations ou créer des réunions via le calendrier.  Avec un paiement à la minute il ne vous est possible que d'accéder à $APP_NAME. Vous ne pouvez pas permettre à des tiers de participer à une réunion.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>Cette adresse e-mail est déjà utilisée par un autre utilisateur.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>Paramètres SIP</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>Le numéro de conférence et PIN sont créés automatiquement via la passerelle OpenXG RPC</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>Numéro SIP</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Supprimer les objets sur le document actuel seulement !</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Seule l'URL entrée dans la barre de statut est envoyée aux participants !</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Créer des groupes de travail [Groupes restreints]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choisir les utilisateurs pour un nouveau groupe de travail !</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>Vous pouvez choisir les utilisateurs ici et créer une nouvelle salle de conférence ("Groupe de travail") pour eux. Les utilisateurs choisis seront automatiquement transférés dans la nouvelle salle ou recevront une notification. Les modérateurs des groupes de travail recevront en plus une liste des salles actuelles afin qu'ils puissent changer de salle si nécessaire.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Nom d'utilisateur</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Utilisateurs pour le nouveau groupe de travail :</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Créer un groupe de travail</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Annuler</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choisissez au moins un utilisateur pour le groupe de travail !</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Ajouter utilisateur au groupe</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Supprimer utilisateur du groupe de travail</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>L'utilisateur est modérateur du groupe de travail (Il peut gérer les groupes de travail et les utilisateurs des groupes de travail peuvent lui demander de venir dans la salle)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Type de salle</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>Si vous cochez "Forcer utilisateur à changer de groupe de travail", tous les utilisateurs choisis seront automatiquement transférés vers la nouvelle salle.  Autrement ils recevront une notification avec un bouton afin qu'ils &lt;i&gt;puissent&lt;/i&gt; aller dans la nouvelle salle. Les modérateurs de groupes de travail ont toujours la possibilité de gérer les groupes de travail et de passer de l'un à l'autre.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Gérer les groupes de travail</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>Vous pouvez ici passer d'un groupe de travail à l'autre pour lesquels vous êtes modérateur. Les utilisateurs dans les groupes de travail peuvent vous envoyer un message, par exemple pour vous demander de passer les aider. Vous pouvez également terminer un groupe de travil et tous les utilisateurs seront alors déconnectés.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Forcer utilisateur à passer dans un nouveau groupe de travail</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Nom</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Créé</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Utilisateurs disponibles</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Ajouter un utilisateur avec le 'plus' à gauche ou le supprimer avec la croix à droite !</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Paramètres du groupe de travail</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Ajouter des utilisateurs au groupe de travail</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Nom du groupe de travail</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Groupe de travail</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Aller dans la salle</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Changer pour ce groupe de travail</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminer le groupe de travail et déconnecter tous les utilisateurs</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>Nouveau groupe de travail</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>Il y a un nouveau groupe de travail disponible pour vous.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Aller dans le groupe de travail</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Actions du groupe de travail</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>Vous pouvez réouvrir cette fenêtre via le menu principal dans la sedction "Actions" !</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Envoyer un message au modérateur du groupe de travail</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>Nouveau groupe de travail</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>Il y a un nouveau groupe de travail disponible. Vous pouvez passer dans cette salle. Les groupes de travail sont des groupes restreints avec la possibilité de demander de l'aide au modérateur. Votre groupe de travail est également accessible dans la section 'Mes réunions'.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Aller au groupe de travail</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Créé par :</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Nom du groupe de travail :</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>Cette fenêtre restera ouverte même si vous quittez la salle !</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Utilisateurs pour ce groupe de travail</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Autres groupes de travail auxquels vous avez accès</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Envoyer un message au modérateur du groupe de travail.  Par exemple si vous devez modérer la salle ou si vous avez une question particulière.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Envoyer</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Utilisateurs invités à ce groupe de travail</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Est modérateur du groupe de travail</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>Voici tous les utilisateurs qui ont été invités à ce groupe de travail par le modérateur.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>Il n'y a pas de modérateur connecté pour le moment !</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Veuillez entrer un message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Veuillez venir nous aider, nous avons un problème dans notre groupe de travail !</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>Un utilisateur d'un groupe de travail a besoin de votre aide.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Groupe de travail demande de l'aide</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message :</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>De :</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>Vous n'êtes pour le moment dans aucun groupe de travail. Mais vous pouvez accéder ici à tous les groupes de travail auxquels vous avez accès.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Sauvegarder le système. La sauvegarde inclut toutes les données générées par les utilisateurs.  La configuration n'est pas inclue ainsi que les étiquettes des langues car ces données sont importées avec l'installateur du système.  Pour mettre votre système à jour, exportez votre système (1) réinstallez la nouvelle version dans une nouvelle base de données (2) et importez la sauvegarde (3).  La sauvegarde devrait être importée avant de générer de nouvelles données avec le nouveau système.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>Sauvegarde système</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Permettre à l'utilisateur de partager/enregistrer son écran</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Refuser à l'utilisateur de partager/enregistrer son écran</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>L'utilisateur est modérateur, il peut tout faire !</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>voudrait partager/enregistrer son écran.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>Vous avez la permission de partager/enregistrer votre écran</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Demander le droit de partager/enregistrer l'écran.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Autoriser/Refuser le droit de partager/enregistrer l'écran</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Couper le son</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Mettre le son</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Salle audio seulement</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Activez ce champ et les utilisateurs auront seulement l'option audio et non vidéo dans une salle de conférence. Ceci peut-être bon pour économiser de la bande passante.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Permettre le contrôle à distance (Durant un partage d'écran)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Refuser le contrôle à distance (Durant un partage d'écran)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Demander le droit de contrôler à distance (Durant un partage d'écran)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>Vous avez le droit de contrôler à distance (Durant un partage d'écran)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>souhaite contrôler à distance.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>L'utilisateur est modérateur, il peut tout faire (Contôle du bureau à distance)</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Autoriser/Refuser le droit au contrôle à distance (Durant un partage d'écran)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Pour copier et coller du texte de votre presse-papier vers l'écran du PC distant, cliquez sur l'écran, ensuite cliquez avec le bouton droit dans le champ de texte et choisissez "Insérer" du menu contextuel.&lt;br/&gt;&lt;br/&gt;2) Pour copier du texte depuis le PC distant vers le presse-papier de votre PC, mettez le texte en surbrillance sur l'écran du PC distant, ensuite cliquez avec le bouton droit et choisissez &lt;i&gt;Copier le texte en surbrillancet&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copier et coller du texte de votre PC vers un PC distant et vice-versa..</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copier le texte en surbrillance</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>Comment copier-coller</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Qualité du partage d'écran :</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>très haute qualité</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>Haute qualité</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Qualité moyenne</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Basse qualité</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Clavier :</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Fermer le Webinar !</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>Le Webinar est déjà fermé, vous allez être redirigé vers une offre intéressante dans</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Fermer la salle</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>URL de sortie</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Paramètres de fermeture</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>Si la salle est fermée les utilisateurs seront redirigés vers l'URL de sortie.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Nom</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Fichier de configuration</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Configuration Ldap</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Nom</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Activé</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inséré</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inséré par</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Mis à jour</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Mis à jour par</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>Les fichiers de configuration sont dans le même répertoire que hibernate.cfg.xml. Vous devez charger manuellement les fichiers vers ce répertoire. Les modifications dans le fichier de configuration sont en ligne immédiatement.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Nom du fichier</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>Si vous activez "Ajouter le domaine au nom d'utilisateur" la veleur du champ "domaine" sera ajoutée à chaque login entré dans la fenêtre de login. Ceci peut-être utile si le login dans le Ldap est enregistré en incluant le nom de domaine.  Par exemple : un utilisateur entre "hans" le domaine spécifié étant "localhost.com", le login vérifié avec Ldap sera : hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Ajouter le domaine</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domaine</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insérer</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copier le texte en surbrillance</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Texte du presse-papier distant</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Montrer le presse-papier distant</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Ne plus montrer</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copier le texte ici...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>Vous devez avoir le droit de contôler à distance (ou avoir la modération) pour copier et coller du texte de ou vers l'écran distant.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Editer les paramètres par défaut...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Ne pas montrer la boite d'info dans le contrôle à distance à propos du copier-coller</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Sauver</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Enlever</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Annuler</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Inviter l'utilisateur dans la salle de conférence</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choisissez une salle de conférence.  L'utilisateur invité recevra un message avec votre nom et un lien vers la salle.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connecté depuis :</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Entrer dans la salle après l'envoi de l'invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Inviter</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>souhaite vous inviter dans la salle de conférence :</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Message d'invitation</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Envoyer invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>n'a &lt;b&gt;pas&lt;/b&gt; accepté votre invitation !</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accepter</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Refuser</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Fus. horaire</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Détails de l'événement</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Nom</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Créé par</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>Message du fus. hor.</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Vérifiez "le message du fuseau horaire" pour transmettre aux utilisateurs un message la fois prochaine qu'ils se connectent.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Veuillez vérifier le fuseau horaire dans votre profil utilisateur.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>Nouvelle conférence $APP_NAME :</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Détails :&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Début :</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>Fin :</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Conférence $APP_NAME modifiée :</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organisateur :</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Conférence $APP_NAME annulée :</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>Rappel conférence $APP_NAME :</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Paramètres communautaires</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Montrer les données de contact à tout le monde</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Ajoutez des champs d'intérêt que vous avez ou que vous cherchez afin de trouver des partenaires intéressants pour une conférence. Séparez les termes par des virgules.</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>Mes intérêts</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>Je cherche</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Nom</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Fus. horaire</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Centres d'intérêt</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Information de contact</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Montrer les données de contact aux contacts seulement</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Ne montrer les données de contact à personne</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>Mon profil</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Editer les paramètres</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Chercher des utilisateurs</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Voir votre profil comme les autres le voient</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Editer vos paramètres, ajouter vos centres d'intérêts</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Chercher d'autres utilisateurs et étendre votre réseau</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Chercher</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>Utilisateur offre</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>Utilisateur cherche</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Texte libre</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Nom</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Fus. horaire</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offres</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Recherches</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Résultat :</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Ajouter à vos contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Envoyer un message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts et Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Contacts en attente</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accepter</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Refuser</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Bonjour,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>souhaite vous ajouter à sa liste de contacts.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Vérifiez vos demandes de contact dans $APP_NAME ou cliquez sur les liens pour accepter ou refuser les demandes</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>cet utilisateur est déjà dans vos contacts ou a reçu une invitation à votre liste de contact à laquelle il n'a pas encore répondu.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Votre liste de contacts</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Editez vos contacts et messages,&lt;br/&gt; gérez vos contacts en attente !</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>vous a confirmé comme contact !</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Afficher/Copier le journal du t'chat</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Journal du t'chat</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>De</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Sujet</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Envoyer</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>Nouveau mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Cliquez pour écrire un nouveau message à n'importe quel de vos contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Ecrire un nouveau message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>A :</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Sujet:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Activez le zoom 100% et le tableau blanc zoomera de telle sorte que tous les&lt;br/&gt;documents seront visibles suivant la résolution d'écran de chaque participant.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Ejecter l'utilisateur</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>Vous ne pouvez pas vous éjecter vous-même de la salle de conférence ! Si vous désirez sortir, fermez votre navigateur ou utilisez le bouton de sortie !</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Voulez-vous vraiment déconnecter cet utilisateur de cette salle de conférence ?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirmez l'action...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>Vous ne pouvez pas éjecter un super-modérateur d'une salle !</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Réserver une salle de conférence</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Début</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>Fin</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Ajouter une requête opionnelle pour la réunion et créer la salle.  L'événement sera alors copié dans le calendrier de chaque participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Boite de réception</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Envoyé</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Poubelle</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>C'est vous ! Vous ne pouvez pas vous ajouter vous-même à vos propres contacts.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>L'utilisateur a déjà été refusé !</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>L'utilisateur a déjà été approuvé !</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>Le hachage de ce contact n'est pas valide !</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>Utilisateur ajouté à la liste de contact !</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>Utilisateur refusé comme contact et supprimé de la liste des contacts en attente !</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>Il n'y a pas un tel contact !</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Vous voulez vraiment supprimer ce contact ?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirmez la suppression du contact</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Supprimer le contact de la liste</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>Profil utilisateur</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Afficher le profil utilisateur</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Chercher</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Tout sélectionner</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Sélectionner aucun</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Sélectionner non lus</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Sélectionner lus</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Déplacer vers répertoire...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Ajouter nouveau répertoire...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Supprimer</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Des mails effacés se trouvent toujours dans votre poubelle !</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Marquer non lu</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Marquer lu</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Répondre</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Répondre à tous</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Faire suivre</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Envoyer un message privé</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Rien de sélectionné !</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Déplacer dans la boite de réception</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Supprimer (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>Cette action ne peut être annulée !</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Créer dossier</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Ajouter des dossiers et organiser vos messages !</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Ajouter un dossier</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Ajouter</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Supprimer un dossier</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>Vous ne pouvez supprimer ce dossier, il contient toujours des messages ! Supprimez-les d'abord ou déplacez-les vers un autre dossier.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Editer le nom</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Voulez-vous vraiment supprimer ce dossier ? Il n'est pas possible d'annuler cette action par la	suite.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Votre demande a été envoyée à l'utilisateur.  L'utilisateur va recevoir une notification pour accepter ou refuser votre demande.  Bien évidemment, seules les demandes acceptées se trouvent dans vore liste de contacts !</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>L'utilisateur ne partage pas ses données personnelles de contact.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>L'utilisateur ne partage ses données personnelles de contact qu'avec ses contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Adresse &amp; tél.</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>Votre code d'invitation n'est pas valide, le code n'est valide que durant cette date et heure spécifiques :</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>Cet événement est connecté à plusieurs calendriers d'autres utilisateurs. Vos modifications seront également mises-à-jour dans leurs calendriers.  Voulez*-vous vraiment mettre à jour l'événement ?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirmez la mise à jour</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Permettre au contact de voir le calendrier (voir seulement)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Ne pas partager le calendrier</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendriers des contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Vos contacts doivent vous approuver d'abord avant que vous ne puissiez voir leurs calendriers.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>Vous ne pouvez pas enregistrer ou supprimer des événements d'un autre calendrier que le vôtre !</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Montrer mon propre calendrier à nouveau !</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>Cet événement est connecté à plusieurs calendriers d'autres utilisateurs. Votre action va également supprimer l'événement de leurs calendriers. Voulez-vous vraiment supprimer cet événement ?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirmez l'action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Entrer dans la salle</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Accéder à la salle de conférence</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>Il y a un événement et une salle de conférence liée à ce message privé.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>Vous devez enregistrer l'événement d'abord !</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>Il n'y a pas de telle salle libre. L'événement dans le calendrier et de la salle associée a déjà été supprimé !</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choisissez votre pseudo</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Prénom</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Nom</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>E-mail</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Longueur minimum de 4 caractères pour le prénom et le nom.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Veuillez entrer un e-mail valide !</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Vous connecter avec votre login Facebook</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Date inscr.</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>Vous êtes connecté avec votre compte Facebook. Vous devriez mettre à jour votre profil avec l'e-mail correct.  Sans quoi vous ne recevrez pas les invitations et messages privés des autres utilisateurs.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Ne plus montrer le message de mise à jour du profil</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>plus d'options d'affichage...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>Nouveau message privé :</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Cliquez ici pour aller dans votre profil et voir le message complet...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Répondre</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Salles et t'chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>Mes salles</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>Ma salle de conférence (pour 1-16 utilisateurs)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>Ma salle webinar (pour 1-120 utilisateurs)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Id du propriétaire</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Veuillez entrer un mot de passe</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>Vous devez avoir un compte de niveau Utilisateur, Modérateur ou Administrateur</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Service-Web (accessible seulement via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Charger directement sur le tableau blanc</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Voulez-vous vraiment supprimer ce tableau blanc ? Cette action ne peut être annulée !</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Charger sur le tableau blanc</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>N'oubliez pas de commencer l'enregistrement ! Un utilisateur par salle doit toujours le commencer si vous souhaitez avoir l'enregistrement par la suite.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Commencer l'enregistrement</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Flèche</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Cercle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Ligne</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Carré</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Texte/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Dessin libre</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Sélectionner/Déplacer</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Dessiner Formes</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Couper/Déplacer</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom +/-</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Imprimer</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Défaire</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Poubelle</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Ajouter Grille</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Partager Fichier</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Sélectionner Forme</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Sélectionner Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copier</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Couper</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Coller</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Effacer</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Voulez-vous vraiment effacer le contenu entier du tableau blanc ?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Charger directement sur le tableau blanc</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Participants</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Gestionnaire de participants</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Présent</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Contrôle à distance</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Ejecter</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>T'chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Inviter Participants</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>Par e-mail</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>L'utilisateur est modérateur</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>L'utilisateur a sa webcam connectée</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Désactiver le remplissage de forme</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activer le remplissage de forme</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Aimanter à la grille</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Autoriser l'enregistrement</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Attendre l'enregistrement</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Cacher la barre supérieure</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Jouer la vidéo</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Voulez-vous vraiment supprimer le contenu du document actif ?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accepter et donner le droit à l'utilisateur</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Refuser</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>Je</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activités et actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Supprimer le tableau blanc</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>Vous devez avoir la modération ou le droit de dessiner sur le tableau blanc pour supprimer un tableau blanc !</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Pas permis</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> a quitté la salle.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Icônes mathématiques</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>Pas de catégorie</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Style de couleurs</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Qualité</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domaine</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visitez</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>rouge-orange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>vert océan</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>bleu acier</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>bleu acier clair</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>rouge doré</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>gris argent</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>défini par l'utilisateur</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>meilleur</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>charger/déposer</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>moyen</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Couper le micro globalement</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Activer le micro globalement</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Couper le micro des autres</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>Votre micro a été globalement coupé par le modérateur. Vous ne pouvez pas l'activer vous-même !</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Couper le micro globalement ?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Voulez-vous vraiment couper votre propre micro globalement ? Plus personne ne pourra plus vous entendre !</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Couper le micro localement ?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Voulez-vous vraiment couper ce micro ? Vous ne pouvez le couper que localement sur votre écran.  Cela n'a pas d'effet sur les autres utilisateurs.  Seuls les modérateurs peuvent couper un micro globalement !</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Couper le micro globalement ?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Voulez-vraiment couper le micro de cet utilisateur globalement ? Plus personne ne pourra l'entendre !</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Votre micro est allumé. Cliquez ici pour envoyer un message au modérateur afin qu'il coupe votre micro globalement (dans toute la salle) !</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Votre micro est coupé. Cliquez ici pour envoyer un message au modérateur afin qu'il active votre micro globalement (dans toute la salle) !</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>souhaite que le modérateur coupe mon micro globalement.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>souhaite que le modérateur active mon micro globalement.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>souhaite que le modérateur active son micro.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>souhaite que le modérateur coupe son micro.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Activer micro. Cliquez ici pour couper son micro globalement !</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Couper micro. Cliquez ici pour activer son micro globalement !</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>Le micro de cet utilisateur est coupé globalement par le modérateur. Vous ne pouvez pas l'activer !</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Couper votre micro globalement</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Activer votre micro globalement</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Couper micro</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Activer micro</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Couper le micro globalement</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Activer micro globalement</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Seuls les modérateurs peuvent couper ou activer le micro d'un utilisateur globalement !  Pour couper votre propre micro : veuillez utiliser l'icône microphone sur votre fenêtre vidéo !</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Nom du sondage</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>Vous</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Sondages</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>actif</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple graphique</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Graphique camembert</value>
+  </string>
+  <string id="1416" name="sign_up_validation">
+    <value>Veuillez entrer e-mail</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>Nouveau(x) message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Clôturer</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Etes-vous sûr de vouloir clore ce sondage ? Plus personne ne pourra plus voter.</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Supprimer</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Etes-vous sûr de vouloir supprimer ce sondage ? Les résultats seront supprimés également.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Code IS de la langue</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Autoriser/Refuser le droit de donner l'audio exclusif</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Autoriser l'utilisateur à donner l'audio exclusif</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Refuser à l'utilisateur de donner l'audio exclusif</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>souhaite avoir la permission d'avoir l'audio exclusif.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>souhaite que le modérateur me donne la permission d'audio exclusif.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Donner une permission d'audio exclusif.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Résolution caméra</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changer la résolution affecte la bande passante, une image plus grande à besoin de plus de bande passante !</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>Vous n'avez pas l'autorisation de vous donner à vous ou aux autres l'audio exclusif.  Vous devez demander cette autorisation au modérateur ou lui demander de le faire.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>Je souhaite avoir le droit d'avoir l'audio exclusif</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Me donne l'audio exclusif (alternativement cliquez sur votre fenêtre vidéo ou appuyez sur F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone est allumé !</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone est coupé !</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Cacher le t'chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Cacher les activités</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Cacher l'explorateur de fichiers</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Cacher le menu actions</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Cacher le partage d'écran</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Cacher le tableau blanc</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Afficher le statut du micro</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Options de disposition</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>Nouvel événement</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Les liens envoyés aux participants pour une conférence lorsque vous sauvez le calendrier sont protégés par mot de passe, pas la salle ! Cela signifie que si vous sauvez l'événement plusieurs fois avec un mot de passe différent, chaque participant recevra un nouveau lien avec un mot de passe différent.  Les anciens liens sont toujours valables une fois envoyés !</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Editer les détails</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Afficher composeur SIP</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Appeler</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Afficher les événements du contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Votre page d'accueil</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Organiser les réunions</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Regarder les enregistrements et les interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choisir et démarrer une conférence</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Gérer les utilisateurs et les droits</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Gérer les connections et éjecter des utilisateurs</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Gérer les groupes d'utilisateurs</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Gérer les salles de conférences</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Gérer les paramètres système</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Gérer les étiquettes et les formulations</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Gérer les configurations LDAP et ADS</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Exporter/Importer les sauvegardes système</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>Vous devez être modérateur ou avoir le droit d'accéder au tableau blanc pour pouvoir déposer ou télécharger des fichiers ou pour ajouter ou supprimer des dossiers.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Editer texte</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publier</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Commencer la diffusion</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Arrêter la diffusion</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Hôte</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>ID</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Réduisez la largeur de l'écran avant de le déplacer</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Réduisez la hauteur de l'écran avant de le déplacer</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Réduisez x avant d'agrandir</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Réduisez y avant d'agrandir</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Complétez ces paramètres pour diffuser votre écran vers un site tiers.</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Veuillez démarrer le partage d'écran pour pouvoir le diffuser</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>La permission du modérateur est requise pour enregistrer</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>Vous n'avez pas la permission de donner l'audio exclusif à un participant. Vous devez être modérateur ou avoir le droit de donner l'audio exclusif.</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Charger un fichier</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Ouvre la fenêtre des paramètres du partage d'écran</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>Un modérateur existant doit l'approuver</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Demander au modérateur de pouvoir partager votre micro/caméra</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Proposez aux utilisateurs de voter en répondant à un sondage</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Les résultats graphiques des sondages</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Voter s'il existe un sondage activé dans cette salle</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Editer les paramètres de la caméra et du micro</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirmer et quitter la salle</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Appeler une personne extérieure via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Envoyer un mail avec un lien direct vers cette salle</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Changer les paramètres de votre tableau blanc</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Taille maximum</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Demander au modé rateur le droit de partager votre tableau blanc</value>
+  </string>
+</language>
diff --git a/WebContent/languages/galician.xml b/WebContent/languages/galician.xml
new file mode 100644
index 0000000..95055c5
--- /dev/null
+++ b/WebContent/languages/galician.xml
@@ -0,0 +1,4505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Conferencia</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>Xuntanza</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>Eventos</value>
+  </string>
+  <string id="4" name="settings">
+    <value>Axustes</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>Perfíl</value>
+  </string>
+  <string id="6" name="admin">
+    <value>Administración</value>
+  </string>
+  <string id="7" name="stop">
+    <value>Parar</value>
+  </string>
+  <string id="8" name="record">
+    <value>Gravar</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>Non hai ningín ficheiro dispoñíbel</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>Gravado polo profesor</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>Usuarios conectados:</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>Iniciar unha conferencia</value>
+  </string>
+  <string id="13" name="myname">
+    <value>O meu nome</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>Vídeo conferencia</value>
+  </string>
+  <string id="15" name="import">
+    <value>Enviar un ficheiro</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>Actualizar a lista</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>Marcar como ficheiro principal</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>Nova enquisa</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>Nova enquisa para a conferencia</value>
+  </string>
+  <string id="20" name="question">
+    <value>Pregunta:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>Tipo de enquisa:</value>
+  </string>
+  <string id="22" name="create">
+    <value>Crear</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>Información: Cada usuario conectado recibe unha mensaxe coa nova enquisa.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>Crear unha enquisa</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>Cancelar</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>Sí/Non</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>Valor numérico 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>Enquisa</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>Precisase ser moderador para crear unha enquisa.</value>
+  </string>
+  <string id="30" name="vote">
+    <value>O seu voto foi rexistrado</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>Xa respostou á enquisa previamente</value>
+  </string>
+  <string id="32" name="voting">
+    <value>Votar!</value>
+  </string>
+  <string id="33" name="answer">
+    <value>A súa resposta:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>Sí</value>
+  </string>
+  <string id="35" name="no">
+    <value>Non</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>desexa coñecer:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>Resultados da enquisa</value>
+  </string>
+  <string id="38" name="question">
+    <value>Pregunta:</value>
+  </string>
+  <string id="39" name="results">
+    <value>Resultados:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>Respostas:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>Non hai enquisas</value>
+  </string>
+  <string id="42" name="votings">
+    <value>Votar!</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>Reunión (max 4 postos)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>Conferencia (max 50 postos)</value>
+  </string>
+  <string id="45" name="type">
+    <value>Tipo</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>Outros postos</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>Xa foi seleccionado</value>
+  </string>
+  <string id="48" name="enter">
+    <value>Entrar</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>O moderador abandonou a reunión.</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>Información do sistema</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>Seleccionar un dispositivo</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Seleccionar a cámara:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>Seleccionar o micrófono:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>Aceptar</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>Cancelar</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>Precisa volverse conectar</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>Editar a configuración</value>
+  </string>
+  <string id="58" name="course">
+    <value>Curso:</value>
+  </string>
+  <string id="59" name="language">
+    <value>Idioma:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>Aceptar</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>Cancelar</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>Borrar o taboleiro</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Desexa limpar o taboleiro antes de engadir outro gráfico?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>Non volver preguntar</value>
+  </string>
+  <string id="65" name="no">
+    <value>non</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>Editar a configuración</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Requirir confirmación antes de limpar o taboleiro</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>Información do usuario</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>Limpar o taboleiro</value>
+  </string>
+  <string id="70" name="undo">
+    <value>Desfacer</value>
+  </string>
+  <string id="71" name="redo">
+    <value>Refacer</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>Seleccionar un obxeto</value>
+  </string>
+  <string id="73" name="text">
+    <value>Texto</value>
+  </string>
+  <string id="74" name="paint">
+    <value>Pintar</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>Debuxar unha liña</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>Debuxar un subraiado</value>
+  </string>
+  <string id="77" name="rect">
+    <value>Rectángulo</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>Elipse</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>Frecha</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>Borrar o elemento escollido</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>Solicitar ser moderador</value>
+  </string>
+  <string id="82" name="apply">
+    <value>Solicitar</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>Cancelar</value>
+  </string>
+  <string id="84" name="mod">
+    <value>Teño unha pregunta</value>
+  </string>
+  <string id="85" name="close">
+    <value>Pechar</value>
+  </string>
+  <string id="86" name="italic">
+    <value>Cursiva</value>
+  </string>
+  <string id="87" name="bold">
+    <value>Negriña</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>ESPERANDO</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>Un usuario desexa facerse moderador, pode concederlle acceso só ao taboleiro ou cambiar por completo o rol da moderación. Usuario:</value>
+  </string>
+  <string id="90" name="accept">
+    <value>Aceptar</value>
+  </string>
+  <string id="91" name="reject">
+    <value>Rexeitar</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>Cancelar</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>Enviando solicitudes aos seguintes usuarios</value>
+  </string>
+  <string id="94" name="accept">
+    <value>Aceptado</value>
+  </string>
+  <string id="95" name="reject">
+    <value>Rexeitado</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>Cambiar de moderador</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>Vostede non é moderador deste curso!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>Moderador:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>Sentimolo pero esta aula está completa. Ténteo máis tarde</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>Elipse</value>
+  </string>
+  <string id="101" name="close">
+    <value>Pechado</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>erro na entrada de datos</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>o nome de usuario debe conter alo menos 4 caracteres</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>o contrasinal de usuario debe conter alo menos 4 caracteres</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>Este nome de usuario xa existe</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>Este correo-e xa está rexistrado</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>Erro do sistema, por favor contacte co administrador do sistema</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>Inicio de sesión</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>Usuario ou correo-e:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>Contrasinal:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>Idioma</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>Conectarse</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>Rexistrarse</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>Usuario:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>Contrasinal:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>Contrasinal (de novo):</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Nome:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Apelido(s):</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>Correo Electrónico:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>País:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>Rexistrarse</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>Cancelar</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>Non está rexistrado?</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>Inicio</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>Usuarios</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>Grupos</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>Organizacións</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>Salas de xuntanzas</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>público</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>Organización</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>Entrar</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>Inicio de sesión</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>Contrasinal</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>Contrasinal (de novo)</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Nome</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Apelido(s)</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>Correo Electrónico</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>Data de nacemento</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>Enderezo</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>Código postal</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>País</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Información adicional</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Datos do usuario</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>Gardar</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>Gardar</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>ID do usuario</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>Inicio de sesión</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>Nome</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>Apelido(s)</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>Mostrar o seguinte</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>Mostrar o anterior</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>Eliminar o rexistro</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>Cancelar</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>Eliminar</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>Novo rexistro</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>Actualizar o rexistro</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>Eliminar o rexistro</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>Estado</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>desactivado</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>activado</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>Organizacións</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>Calendario</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>Pechar</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>ID da organización</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>Nome</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>Usuario</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>Moderador</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>Administrador</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>Nivel de usuario</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>Organización</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>nome</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>Engadir unha organización</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>Engadir unha organización</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>Cancelar</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>Engadir</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>Eliminar unha organización</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>Usuario</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>Engadir un usuario</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>Eliminar un usuario</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>Engadir un usuario á organización</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>Buscar un usuario</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>Buscar</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>Usuario</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>Organización</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>Entrar</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>Salas de conferencias</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>Salas de conferencia</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>ID</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>Nome</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>pública</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>Organizacións</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>Salas de xuntanzas</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>Nome</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>Tipo</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>Pública</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>Comentario</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>Gardar e exportar</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>cargar</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>Gardar como</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>Nome do ficheiro</value>
+  </string>
+  <string id="201" name="files">
+    <value>nome do ficheiro</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>Cancelar</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>Gardar</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>Erro</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>Cargando</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>Obxetos cargados</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>Sincronizando, usuarios en espera:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>Cargando datos de imaxe</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>Sincronizando, usuarios en espera:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>Limpar o taboleiro</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>limpiar o taboleiro, perderase toda a información do taboleiro</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Confirmar antes de cargar un ficheiro</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>Enviar convite</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>Enviar convite</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>Asunto</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Destinatario</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>Mensaxe</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Enviar</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>cancelar</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>enviar</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>Datos do usuario</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>O seu alcume para esta conferencia</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>Alcume</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>Nome</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>Apelido(s)</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>Correo-e</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>Idioma</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>entrar</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>Cargando</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>Cargando datos, espere un momento</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>Contrasinal incorrecto</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>Por favor introduza dúas veces o mesmo contrasinal con un mínimo de 6 caracteres</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>Correo incorrecto</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>Vostede introduciu un enderezo de correo electrónico incorrecto</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>O rexistro completouse satisfactoriamente</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>A súa conta foi creada, a partires deste momento xa pode iniciar unha sesión</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>Vostede non pode compartir o seu escritorio neste momento. Alguén está xa a compartir o seu escritorio neste momento.</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Compartición non permitida</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Compartir/gravar o seu escritorio</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Problemas de conexión: O seu largo de banda non é abondo e perderase información. Si a mensaxe se repite con frecuencia solicitelle ao moderador que reduza a calidade.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>Escritorio de:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Debuxar</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Documento</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>Conversa</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>Ficheiros</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Membros</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Descargar o documento orixinal</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>Descargar o documento en pdf</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Cargar unha presentación no taboleiro</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Configuración</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Arrastrar este obxecto</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Axustar o tamaño do obxecto</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>de</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>Ir á primeira páxina</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>Ir á páxina anterior</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>Ir á páxina seguinte</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>Ir á última páxina</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Diminuir Zoom</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Aumentar Zoom</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>Sr.</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Sra.</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Configuración</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>Chave</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Configuración</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>Chave</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>última actualización</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>actualizado por</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>comentar</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>Valor</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>de</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>Usuarios</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>Eliminar un usuario da organización</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>E</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>Este usuario xa é membro da organización</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>Novas</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Ligazóns rápidas</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Ir á conferencia</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Ir ao auditorio</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Axuda e asistencia</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>Informar dun fallo!</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>máis</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Sitio web do proxecto (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>Lista de correo do Proxecto (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Lembrar o inicio de sesión</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Contido</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>A miña páxina de inicio</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>As miñas xuntanzas programadas</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>Os meus eventos programados</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Xuntanzas públicas</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Xuntanzas privadas</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Eventos públicos</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Eventos privados</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Contido público</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Contido privado</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Contido persoal</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value>...</value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Moderación</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>Teño unha pregunta</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Enquisas</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Seleccione un ficheiro</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Axustes</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Axustes de cámara e micrófono</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Configuración do taboleiro</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Saír</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Volver ás salas</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Saír</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Esqueceu o seu contrasinal?</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>Restablecer o contrasinal</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>Por correo-e</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>Por inicio de sesión</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>O seu correo-e</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>O seu inicio de seción</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Enviar correo-e con ligazón de restablecemento</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>Nose atopou o enderezo de correo electrónico. Asegúrese de introducir o mesmo enderezo de correo electrónico que utilizou para crear a súa conta.</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Escriba o seu correo-e ou o nome de usuario</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>Non hai ningun usuario con este nome</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>Enviouselle un correo-e cunha ligazón especial, revise a súa bandexa de entrada de correo. Se non atopa este correo revise a configuración de spam do seu servidor e reenvie o correo de confirmación.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Erro</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Mensaxe</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>Non se atopou ó usuario (hash incorrecto).</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Xerar contrasinal</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Inicio de sesión</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>cambiar o contrasinal</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>novo contrasinal</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>volva a escribir o contrasinal</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>Os contrasinais introducidos non son identicos.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>Escriba 4 ou máis caracteres. Diferéncianse as maiúsculas</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>Cambiouse o contrasinal, agora pode a iniciar sesión.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>Aceptar</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Erro descoñecido. Informe ao administradores.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>Non se atopou o nome de usuario</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Contrasinal incorrecto</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Vostede saiu do sistema</value>
+  </string>
+  <string id="338" name="registration">
+    <value>A ferramenta de rexistro está desactivada.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>Correo-e incorrecto</value>
+  </string>
+  <string id="340" name="registration">
+    <value>nome de ficheiro duplicado, por favor elixa outro</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>o nome de ficheiro é moi curto</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>Non se puido gardar o enderezo</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>O usuario foi engadido, máis deberá engadilo a unha organización, ou non poderá conectarse.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>Nova gravación</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>Non se atopou un campo neste FieldId.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>Non se atopou unha etiqueta para este campo.</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Precisase autorización do administrador</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Editor de idioma.</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Idioma</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>ID da etiqueta</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Nome da etiqueta</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Valor</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Valores do campo</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>Nome da etiqueta</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>Valor da etiqueta</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>ID da etiqueta</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>Vostede só eliminou a etiqueta pero NON o campo! Non se pode eliminar un campo, é probábel que existan etiquetas noutros idiomas.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>ID de etiqueta incorrecto. O seu FieldLanguagesvalues_Id non se atopou na base de datos.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>Vostede non pode eliminar este campo, só pode eliminar etiquetas, NON campos. Non hai unha etiqueta cargada polo momento, ou non hai ningún campo seleccionado, ou non é unha etiqueta para este idioma para o campo definido.</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>exportar</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>Precisa pechar a sesión para ver os cambio.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Engadir un novo idioma</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>eliminar un idioma</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Engadir un novo idioma</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Nome</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>engadir un idioma</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Copia de seguranza</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>ir ao inicio</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>ir á anterior</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>ir á seguinte</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>ir ao final</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>o usuario fala (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>acender ou apagar o son</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>Sistema</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>Os seus axustes</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>ola!</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Editar o seu perfil</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>Novas mensaxes:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Cargar unha nova imaxe</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Datos do usuario - Exportar</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>Todas as organizacións deben existir previamente!</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>iniciar a exportación</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>Por organización</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>iniciar a exportación</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Datos do usuario - Importar</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>elixa users.xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>importar</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Exportar a XML - Estos ficheiros poden ser usados para:&lt;br/&gt; - Contribuir ao proxecto - Importalos a outro sistema&lt;br/&gt; - Copia de seguranza - Personalización&lt;br/&gt; - Colocalo no directorio de idiomas para a próxima instalación.</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Seleccione un ficheiro de idioma a importar. &lt;br/&gt;Seleccione correctamente o idioma no selector! &lt;br/&gt;non importa cal sexa o nome do ficheiro, &lt;br/&gt;será importado a ese idioma!</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>importar - escoller ficheiro</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Gardar como...</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Nome:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>Comentario:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>gardar</value>
+  </string>
+  <string id="395" name="record">
+    <value>Gravacións</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Visor de gravacións</value>
+  </string>
+  <string id="397" name="record">
+    <value>Gravacións de salas públicas e privadas</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>Usuarios:</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>Unido:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Usuarios na sala:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>actualizar</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>A sala está chea, por favor tenteo nuns minutos.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>prema nunha sala para ver os detalles</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Conversar cos usuarios desta sala:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Sala:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Usuarios nesta sala:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>desde:</value>
+  </string>
+  <string id="409" name="record">
+    <value>reproducir a gravación</value>
+  </string>
+  <string id="410" name="record">
+    <value>Duración:</value>
+  </string>
+  <string id="411" name="record">
+    <value>Data:</value>
+  </string>
+  <string id="412" name="record">
+    <value>Modo de gravación! Non pode cambiar ningún valor xa que se trata dun ficheiro gravado.</value>
+  </string>
+  <string id="413" name="record">
+    <value>Reproducir esta gravación</value>
+  </string>
+  <string id="414" name="record">
+    <value>Reproducir / Pausa</value>
+  </string>
+  <string id="415" name="record">
+    <value>Gravar esta xuntanza</value>
+  </string>
+  <string id="416" name="record">
+    <value>parar a gravación</value>
+  </string>
+  <string id="417" name="record">
+    <value>Gravación:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>Alguén esta a gravar agora esta xuntanza:</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Gravando! Polo usuario:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>cancelar</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>A gravación será cancelada e non gardada.</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>reanudar</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Pechar esta fiestra e reanudar a gravación</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>Cambiar a liña de cor</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Seleccionar cor</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Desactivar / activar a liña de cor</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>cambiar a cor de recheo</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>Desactivar / activar o recheo de cor</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Cambiar o groso da liña</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>Pechar</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>cambiar tamaño de letra</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>Eliminar a gravación</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Convidado</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>Por:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Nome</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Sala</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Data</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>cancelar</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>iniciar</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Nome</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Data</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>Eliminar o rexistro da conversa no servidor</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>Conversa</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>enviar a mensaxe</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Emoticonas</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>Emoticonas</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Escolla os dispositivos</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Són e vídeo</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>Só son</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>Só vídeo</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>Sen son/vídeo (imáxe fixa)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>Non se enviará son/vídeo desde o seu computador, no seu lugar mostrarase a imáxe do seu perfil. Seleccione esta configuración se vostede tén problemas co seu largo de banda ou unha conexión de Internet lenta.</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>LU</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>MA</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>ME</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>XO</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>VE</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>SA</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>DO</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>Lúns</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Martes</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Mércores</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Xoves</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Venres</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Sábado</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Domingo</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>S</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Número de semana do calendario</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>Xaneiro</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>Febreiro</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>Marzo</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>Abril</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>Maio</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>Xuño</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>Xullo</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>Agosto</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>Setembro</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>Outubro</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>Novembro</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>Decembro</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Calendario</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Participantes</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Mostrar os axustes de deseño</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Largo | Alto</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Contedor de video</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Contedor de moderación</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Contedor de taboleiro</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Activado</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Largo | Alto</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Contedor de ficheiros, conversas, participantes</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Activado</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Largo | Alto</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>O moderador retirouse, polo que ninguén está a realizar unha presentación actualmente. Vostede pode agardar ou solicitar ser moderador.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>Non hai moderador nesta sala, pero si participantes. Vostede pode esperar ou solicitar ser moderador.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>Comentario de $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Convite</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Mensaxe do usuario:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Mensaxe:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Prema nesta ligazón para poder participar na xuntanza:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Prema aquí para entrar á sala</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>Se ten problemas coa ligazón, suxerímoslle que copie e pegue o seguinte texto no seu navegador:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME, rexistro</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>Os seus datos de usuario:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Iniciar sesión:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Contrasinal:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>Correo-e:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME - Equipo</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME, rexistro</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - Restablecer o contrasinal</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Prema na seguiente ligazón para introducir un novo contrasinal:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Prema aquí para introducir un novo contrasinal</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>Se ten problemas coa ligazón, suxerimoslle que copie e pegue o seguinte texto no seu navegador:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>$APP_NAME, restablecer o contrasinal</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>Por favor introduza unha data correcta no formato dd.mm.aaaa, p.ex. 24.12.2001</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Por favor introduza un enderezo de correo-e corecto</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Por favor introduza un número decimal, p.ex. 1.00 (use punto e non coma)</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Por favor introduza un número enteiro, p.ex. 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Por favor introduza un número de teléfono correcto, p.ex +34 999 111 111</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Por favor introduza unha hora válida no formato hh:mm, p.ex. 12:34</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Contrasinal protexido</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Contrasinal</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Período de validez</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Interminable</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Período</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>Unha vez</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Válido desde:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Válido até:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Convite a $APP_NAME</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>Non existe un convite dispoñíbel para este código.</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>Este convite xa foi usado e non pode utilizarse de novo.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>O código do convite é incorrecto. O convite ao través de ligazón ten validez só no momento da xuntanza! vostede non pode acceder á sala antes ou despois da reunión a través desa ligazón!</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Contrasinal:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Verificar o contrasinal</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Contrasinal incorrecto!</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>Navegador</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Sincronizar son/vídeo</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>O acceso é correcto, pero a sesión non está activa ou gardada no servidor.Vostede ten que conseguir un novo identificador de sesión e volver a acceder.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>O identificador de sesión non está iniciado ou non ten permisos de Administración. A pasarela SOAP precisa un usuario con dereitos de administrador para engadir novos usuarios.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>Esta sesión non ten datos do usuario remoto conectado. Quizais non chamou á pasarela SOAP antes de acceder ao aplicativo ou está usando un identificador de sesión incorrecto</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>O gravador aínda está en fase Beta!</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>eixo-x</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>eixo-y</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>l</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>largo</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>a</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>alto</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Cambiar transparencia</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Abrir o navegador</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Pechar o navegador</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>Perdeuse a conexión co servidor. Vostede precisa reiniciar o aplicativo e/ou comprobar a súa rede.</value>
+  </string>
+  <string id="557" name="557">
+    <value>Punteiro</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Sincronizando</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Sincronizando, por favor agarde</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Descargar como SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Descargar como PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Descargar como JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Descargar como PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Descargar como TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Lembranza:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Categoría:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Repetición:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>nada</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Ubicación:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Comeza</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>Remata</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Título:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Comentario:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Convidar xente</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Diario</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Mensual</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Anual</value>
+  </string>
+  <string id="578" name="alert">
+    <value>A data de fin é despois da data de comezo!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Por favor, insira un título!</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>Active isto se vostede escribe nunha lingua de dereita a esquerda (orde inversa de palabras)</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Panel de control</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Ver eventos ou xuntanzas gravadas</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Xuntanza - Facer unha conferencia con 4 (ata 16) Usuarios&lt;br/&gt;todos terán acceso de son + vídeo</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Evento - Facer unha conferencia con ata 200 participantes&lt;br/&gt;Só o moderador terá son/video</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Crear usuarios, salas, organizacións&lt;br/&gt; + cambiar a configuración</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Usuarios nesta sala agora</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Inicio de sesión</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Cargando o documento. Por favor agarde ata que todos os clientes estean sincronizados.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Carga completa, convertindo Documento ...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Comezar carga</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Dialogo de cargar e importar. Por favor escolla un ficheiro do seu disco.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Cancelar</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Seleccionar ficheiro</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Conexións</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Valor</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Identificador de fluxo</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Iniciar sesión</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Conectado desde</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Sala / Alcance</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Expulsar usuario</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Expulsar a un usuario</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Realmente quere expulsar este cliente da conexión?&lt;br/&gt; Isto só borra ao cliente da sala actual. O cliente pode volver a acceder de novo.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>A súa sesión foi pechada por un administrador ou un moderador.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Teléfono</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>O usuario é moderador desta sala</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>O usuario está autorizado a escribir no taboleiro</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Re)iniciar o son/vídeo ou cambiar a configuración dos dispositivos</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Autorizar a este usuario a debuxar no taboleiro</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Denegar o permiso a debuxar no taboleiro</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Usuarios</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Filtros</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Taboleiro</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Conversa</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>A súa conta está asignada a multiples organizacións. Por favor escolla unha para esta sesión.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>Esta sala atópase completa neste momento. Por favor, ténteo de novo máis tarde.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Tipo de sala</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Nomeado da sala</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Hora do servidor</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - Lembranza</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Mensaxe do usuario:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Mensaxe:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Prema nesta ligazón para participar na xuntanza:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Prema aquí para entrar na sala</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>se ten problemas coa ligazón, por favor copie e pegue no seu navegador:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>busca interna</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>Engadir externos</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>Nome</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>Apelido(s)</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>Correo-e</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Confirme a saída</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Ten a certeza de querer saír agora?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Acccións</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Sala de demostración</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Hora da demostración</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Horario da xuntanza</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>Esta é unha sala de demostración. Para desactivar esta advertencia debería conseguir unha sala privada para o seu uso persoal ou obter un servidor propio. Será automaticamente redirixido dentro:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Moderado</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Por favor, agarde ata que o moderador entre na sala. O moderador pode ser un profesor, administrador, ou o creador desta sala.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Aceptar</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Recibindo o escritorio compartida</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>Hai unha nova recepción de escritorio compartido do usuario:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Iniciar a compartición do escritorio</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Engadir nova xuntanza</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Sala de xuntanzas</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Sala de eventos</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Moderación</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Moderar usuarios</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Moderar salas</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Desexa que este usuario se convirta en moderador desa organización?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Por favor, escolla unha organización antes de tentar engadir un usuario a ela!</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Organización - Moderador</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Ten a certeza de que desexa eliminar este usuario da organización?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>Este usuario é moderador</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>Este usuario non é moderador</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Desexa que este usuario non sexa moderador desta organización?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Engadir ou eliminar usuarios ou salas na súa organización</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Desexa elmininar este rexistro?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Relmente desexa eliminar este usuario da súa organización? Só eliminará a relación entre o usuario e a organización, para eliminar definitivamente ao usuario ten que entrar no menú de administración.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>Non pode eliminar o seu propio usuario!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>Para usar este método precisa dunha conta de administrador!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>Non hai unha sesión asociada con este ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>Esta é unha conta de administrador ou moderador. Só pode editar esta conta a través do panel de administración.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>Para completar o seu rexistro, por favor prema na seguinte ligazón. Ou copie o URL na barra de navegación do seu navegador.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Prema para verificar o seu correo-e</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Non se atopou un usuario para este Hash.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Este usuario xa está activado!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>A súa conta foi activada satisfactoriamente!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Iniciar sesión agora</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>A súa conta non está activada. Antes use a ligazón do correo-e que recebiu durante o rexistro.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>Rexistrouse correctamente. Enviamoslle un correo-e cun código de verificación. Por favor, comprobe a súa bandexa de entrada de correo.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Eliminar o rol de moderador deste usuario</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Dar dereitos de moderador a este usuario</value>
+  </string>  
+  <string id="677" name="event user list">
+    <value>Usuario</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Acceso ao taboleiro</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Moderador</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Moderación: Por favor escolla un usuario da lista para darlle acceso ao taboleiro, moderación ou video.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>Este usuario xa é moderador, ten automáticamente acceso para debuxar.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>Este é vostede! Non é posíbel quitarse dereitos de moderador a un mesmo.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Permitir a este usuario enviar o seu son / vídeo</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Eliminar son/vídeo deste usuario</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>Teño unha pregunta</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>Gustarialle debuxar no taboleiro</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>Gustarialle compartir o meu son/vídeo</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>Vostede é moderador desta sala</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>Vostede ten acceso a debuxar no taboleiro</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>Non lle está permitido compartir o seu son/vídeo</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Mensaxe ao moderador</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>O usuario</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>gustarialle facer unha pregunta.&lt;br/&gt;&lt;br/&gt; &lt;i&gt;(Use as iconas de estado cerca do usuario na lista de usuarios para engadir ou eliminar dereitos de moderación.)&lt;7i&gt;</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>gustarialle debuxar no taboleiro. Use as iconas de estado cerca do usuario na lista de usuarios para engadir ou eliminar dereitos de debuxo no taboleiro.</value>
+  </string>
+  <string id="695" name="695">
+    <value>gustarialle compartir o seu son/vídeo. Use os iconos de estado preto do usuario na lista de usuarios para dar ou quitar dereitos de Audio/vídeo para calquera usuario.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>Ten que agardar até que un moderador entre na sala.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Cancelar</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Gardar</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Día</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Mes</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Ano</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Cargar un ficheiro</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Engadir un ficheiro</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Actualizar</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Lixo</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>Meus ficheiros Files (Dispositivo personal)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Ficheiros da sala (Dispositivo público)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Engadir ficheiro</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Engadir cartafol</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Borrar cartafol</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Editar o nome</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>Novo cartafol</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Ten a certeza de que desexa eliminar este elemento?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Buscar</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Buscar</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Abrir o documento</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Mostrar todos os ficheiro (Vista en árbore)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Pechar o documento</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Borrar o ficheiro</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>Non ten permisos para escribir ou debujar no taboleiro. Debe ser moderador ou, alo menos, ter permisos de edición do taboleiro. Solicítello a un moderador.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Propiedades do documento</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Iniciar Java</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Iniciar Flash</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>Un usuario desexa compartir o seu escritorio. Quere visualizala?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>Actualmente está compartindo o seu escritorio. Para deixar de facelo, prema no botón Parar no cliente de compartición.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Compartindo a sesión</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>Xa está compartindo o seu escritorio!</value>
+  </string>
+  <string id="728" name="sharing client">
+    <value>Visor de escritorio</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Parar a compartición</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Compartición de escritorio</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Pulse Iniciar para publicar o seu escritorio</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Iniciar a compartición</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Pausa na compartición</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Seleccione un área da pantalla:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Cambiar a largura</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>Rematou a sesión de compartición!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Cambiar a altura</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>Desprazamento-X</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Desprazamento-Y</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Largo:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Alto:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>O servidor pechou a conexión</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Cancelar</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Iniciar Java</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>Se pecha completamente esta sesión, non será posíbel reiniciar o visor durante esta sesión.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Confirme o peche da sesión do visor</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Compartir escritorio</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Gravar a sesión</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Co-navegación</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Umm... Firefox en windows non mostra a co-navegación con claridade. Por favor, utilice outro navegador ou peche esta funcionalidade.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Anterior</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Seguinte</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Recargar</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Inicio</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Cargar</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Engadir este sitio ao seu perfil como sitio predeterminado.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Probar a configuración</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Comprobe a configuración do seu micrófono e/ou cámara antes de entrar na sala. Para el grave durante algúns segundos e reprodúzao, deberá escoitar a súa voz e ver a súa imaxe.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Non volver a mostrar esta proba</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Cancelar</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Iniciar unha conferencia</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Non volver a preguntar</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>Pode continuar sen facer a comprobación se non desexa publicar a imaxe e/ou o son. Os participantes sen son ou sen vídeo poden en todo caso utilizar o taboleiro, compartir o seu escritorio ou enviar mensaxes utilizando a liña de conversas.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="767">
+    <value>Medidor de niveis</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Prema en Iniciar</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Iniciar a conferencia</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Iniciar o evento</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Elixir a sala</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Probar a config.</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Iniciar a conferencia</value>
+  </string>
+  <string id="774" name="start view">
+    <value>Instruccións «Conferencia»:</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Iniciar a gravación</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Non mostrar a proba de son /vídeo antes de entrar nunha conferencia</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Salas públicas</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>As salas públicas son accesíbeis para todos os usuarios.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Salas privadas</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>As salas privadas son accesíbeis só para os usuarios da mesma organización.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>As miñas salas</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>As salas nesta sección son para uso persoal. Creanse utilizando o calendario e teñen unha data de inicio e de final. Só están listadas nesta sección durante o período de tempo en que teñen validez.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>Ten que ser moderador para poder facer isto.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Solicitar a moderación</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Solicitar acceso ao taboleiro</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Solicitar acceso á cámara/micrófono</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>A autenticación Hash desta sesión xa foi usada. Non pode facerse dúas veces.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>INICIAR</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>SAÍR</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Ten a certeza de que desexa saír? Sería convinte que antes limpe os documentos cargados, o taboleiro e o historial de conversas.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Saír da conferencia</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Salas</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Elixa unha sala para a xuntanza</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>Hai un evento sen gardar no calendario. Gardeo ou elimineo.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Engada, polo menos, un participante!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Ten a certeza de que desexa eliminar este evento?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Aviso</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Engadir un evento</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>día</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>semana</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>mes</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Descrición</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Asistentes</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, a súa Plataforma Web de Videoconferencia. Tan só ten que segir as instruccións, prema no botón para iniciar unha conferencia inmediatamente ou vaia ao calendario para planificar unha conferencia para o futuro.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Planificar</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>Para planificar unha conferencia, engada un novo evento no calendario. Para cada evento crearase automaticamente unha sala. Vostede e o resto de asistentes recibirán un correo-e cunha ligazón á sala.&lt;br/&gt;&lt;br/&gt;Pode escoller entre diferentes tipos de salas con diferentes deseños e sistemas de moderación. Tamén pode escoller entre diferentes tipos de notificación de correo-e que se envíen en cada evento do calendario.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Necesita axuda?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Restrinxido</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Buscar</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Engadir</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>Non hai ningún usuario seleccionado. Seleccione primero un ítem da lista e prema en Engadir.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Engadir un asistente</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Gardar</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Borar</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Detalles do evento</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Moderadores predeterminados</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Nome</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>Correo-e</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Engadir novo moderador predeterminado</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>É supermoderadorrator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>Se a sala está moderada, sexa quen sexa xa o moderador seguirá a selo. Se non desexa que sexa así, e quere que só determinado usuario sexa o moderador, utilice a opción de moderador predeterminado.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>Un supermoderador é sempre o moderador dunha sala cando entra nela. Ademáis, naide pode quitarlle a marca de moderación</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Aplicar a supermoderación ao usuario</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Eliminar a supermoderación ao usuario</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>Se engade unha organización á sala, só os usuarios de dita organización terán acceso á mesma (isto só é así se a marca de Pública está configurada como falsa!)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderación</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Limitacións</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organización</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Ten certeza?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Ten a certeza de que desexa borar este elemento? Ten que premer no botón Gardar para almacenar os cambios!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>Non hai ningún usuario seleccionado. Seleccióneo antes para engadilo!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Engadir un novo moderaror predeterminado</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Ten a certeza de que desexa engadir unha marca de supermoderador a este usuario? Lembre que un supermoderador non só é o moderador dunha sala, senon que ademáis ningún outro moderador poderá borrar a marca de moderación. Necesita gardar o obxecto sala para almacenar estas configuracións!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Ten a certeza de que desexa eliminar a marca de supermoderador a este usuario? Necesita gardar o obxecto sala para almacenar estas configuracións!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>Este usuario é supermoderador. Non pode quitarlle a marca de moderación a un supermoderador!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Ten a certeza de que desexa borrar este ficheiro/cartafol?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Borrar un ficheiro/cartafol?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Dna.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>D.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Propiedades</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Mostrar a posición do rato aos participantes</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Compartir o son co miniaplicativo SIP</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Compartir o son con SIP e o vídeo con Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Pantalla completa</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>Ver o escritorio</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>O usuario</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>desexa compartir o seu escritorio. Desexa visualizalo?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Pechar</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>A sesión foi pechada por quen compartia o escritorio!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pausa</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>Nona compartición de escritorio</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimizar</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximizar</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Vídeo</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Liña temporal da gravación</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>As miñas gravacións</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Gravacións públicas</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Información</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Nome</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Lonxitude</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Data</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>Por</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>Descarga</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Principal - Vídeo</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Gravación</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>Pode gravar e compartir o escritorio de vez. Para permitir que outros veaan o seu escritorio prema no botón Iniciar na parte superior. Para só gravar a sesión, é abondo que prema en Iniciar a grabación.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Iniciar a gravación</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Parar a gravación</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Descargar o ficheiro FLV</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Sala</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Reproducir</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Parar</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>O usuario ten o micrófono activado</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Parar a compartición</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Permitir as preguntas do usuario</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Desactive esta opción para evitar que calquera usuario o moleste nesta sala. Facendoo o boton para solicitar a moderación («Teño unha pregunta») non é visible.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Permisos</value>
+  </string>
+  <string id="882" name="flvrecording">
+    <value>Descargar como AVI</value>
+  </string>
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Só son</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>Houbo algún erro mentres de procesaba a gravación.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>La grabación no está aínda preparada para ver. Tenteo de novo dentro dun par de minutos.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Rexistro:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Mensaxe do gravador</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>O miniaplicativo SIP non está preparado</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>Axustes da conta SIP</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP settings for each user. You can turn on or off SIP via the Administration &gt; Configuration (Key: enable_sip). The SIP data for each user should be created automatically. You can re-create the data by checking "Re-generate SIP Data"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. You should check the authentification data of your SIP-Provider and the SIP-Account Data for each User. As Administrator you are still able to login and check the Configuration. As User or Moderator you will be blocked from any interaction.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. Contact your Service Team!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet Message</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>The SIP-Applet is not ready. Accept the Applet please and click ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Get Moderation</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login the $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choose the User for this Video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>You are a Moderator in this Interview. You can decide who is speaking in this interview and you can start / stop the recording of the Session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Start Recording</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Stop Recording</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+    <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/greek.xml b/WebContent/languages/greek.xml
new file mode 100644
index 0000000..fa6226e
--- /dev/null
+++ b/WebContent/languages/greek.xml
@@ -0,0 +1,4505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Συνδιάσκεψη</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>Συνάντηση</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>Γεγονότα</value>
+  </string>
+  <string id="4" name="settings">
+    <value>Ρυθμίσεις</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>Προφίλ</value>
+  </string>
+  <string id="6" name="admin">
+    <value>Διαχείριση</value>
+  </string>
+  <string id="7" name="stop">
+    <value>Διακοπή</value>
+  </string>
+  <string id="8" name="record">
+    <value>Εγγραφή</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>Το αρχείο δεν βρέθηκε!</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>Εγγραφή κατά Δάσκαλο</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>Συνδεδεμένοι Χρήστες:</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>Έναρξη Συνδιάσκεψης</value>
+  </string>
+  <string id="13" name="myname">
+    <value>Το Όνομά Μου</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>ΒιντεοΣυνδιάσκεψη</value>
+  </string>
+  <string id="15" name="import">
+    <value>Φόρτωση Αρχείου</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>Ανανέωση Λίστας</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>Στο Βασικό Αρχείο</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>Νέα Ψηφοφορία</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>Νέα Ψηφοφορία Συνδιάσκεψης.</value>
+  </string>
+  <string id="20" name="question">
+    <value>Ερώτηση:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>Τύπος Ψηφοφορίας:</value>
+  </string>
+  <string id="22" name="create">
+    <value>Δημιουργία</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>Ενημέρωση: Κάθε συνδεδεμένος Χρήστης λαμβάνει ένα μήνυμα με τη νέα Ψηφοφορία.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>Δημιουργία Ψηφοφορίας</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>Ακύρωση</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>Ναι/Όχι</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>Αριθμός 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>Ψηφοφορία</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>Μόνο ο Συντονιστής μπορεί να δημιουργεί Ερωτήσεις!</value>
+  </string>
+  <string id="30" name="vote">
+    <value>Η Ψήφος σας καταχωρήθηκε.</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>Έχετε ήδη συμμετάσχει σε αυτήν την Ψηφοφορία.</value>
+  </string>
+  <string id="32" name="voting">
+    <value>Ψηφίστε!</value>
+  </string>
+  <string id="33" name="answer">
+    <value>Η Απάντησή Σας:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>Ναι</value>
+  </string>
+  <string id="35" name="no">
+    <value>Όχι</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>θέλει να ξέρει:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>Αποτελέσματα Ψηφοφορίας</value>
+  </string>
+  <string id="38" name="question">
+    <value>Ερώτηση:</value>
+  </string>
+  <string id="39" name="results">
+    <value>Αποτελέσματα:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>Απαντήσεις:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>Δεν έχει ξεκινήσει καμία Ψηφοφορία.</value>
+  </string>
+  <string id="42" name="votings">
+    <value>Ψηφίστε!</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>Συνάντηση (μέγιστο 4 θέσεις)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>Συνδιάσκεψη (μέγιστο 50 θέσεις)</value>
+  </string>
+  <string id="45" name="type">
+    <value>Τύπος</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>Άλλες Θέσεις</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>Ήδη Επιλεγμένη</value>
+  </string>
+  <string id="48" name="enter">
+    <value>Είσοδος</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>Ο Συντονιστής εγκατέλειψε τη Συνάντηση.</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>Πληροφορίες Συστήματος</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>Επιλογή Συσκευής</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Επιλογή Web Κάμερας:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>Επιλογή Μικροφώνου:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>Εντάξει</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>Ακύρωση</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>Πρέπει να συνδεθείτε ξανά!</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>Τροποποίηση Εγκατάστασης.</value>
+  </string>
+  <string id="58" name="course">
+    <value>Μάθημα:</value>
+  </string>
+  <string id="59" name="language">
+    <value>Γλώσσα:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>Εντάξει</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>Ακύρωση</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>Εκκαθάριση Πίνακα</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Να αδειάζει ο Πίνακας πριν από την προσθήκη Νέας Εικόνας</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>Να μην ερωτηθώ ξανά!</value>
+  </string>
+  <string id="65" name="no">
+    <value>Όχι</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>Ρύθμιση Εγκατάστασης</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Να ζητείται Επιβεβαίωση πριν από την εκκαθάριση του Πίνακα</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>Πληροφορίες Χρήστη</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>Εκκαθάριση Περιοχής Σχεδίασης</value>
+  </string>
+  <string id="70" name="undo">
+    <value>Αναίρεση</value>
+  </string>
+  <string id="71" name="redo">
+    <value>Επαναφορά</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>Επιλογή Αντικειμένου</value>
+  </string>
+  <string id="73" name="text">
+    <value>Κείμενο</value>
+  </string>
+  <string id="74" name="paint">
+    <value>Ζωγραφική</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>Σχεδίαση Γραμμής</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>Σχεδίαση Υπογράμμισης</value>
+  </string>
+  <string id="77" name="rect">
+    <value>Ορθογώνιο</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>Έλλειψη</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>Βέλος</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>Διαγραφή Επιλεγμένου Στοιχείου</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>Αίτηση για Συντονισμό</value>
+  </string>
+  <string id="82" name="apply">
+    <value>Αίτηση</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>Ακύρωση</value>
+  </string>
+  <string id="84" name="mod">
+    <value>Γίνετε Συντονιστής</value>
+  </string>
+  <string id="85" name="close">
+    <value>Κλείσιμο</value>
+  </string>
+  <string id="86" name="italic">
+    <value>Italic</value>
+  </string>
+  <string id="87" name="bold">
+    <value>Bold</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>Σε Αναμονή</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>Κάποιος Χρήστης θέλει να κάνει Αίτηση για Συντονισμό. Μπορείτε να του παραχωρήσετε πρόσβαση μόνο στον Πίνακα ή να μεταστρέψετε πλήρως το ρόλο Συντονισμού. Χρήστης:</value>
+  </string>
+  <string id="90" name="accept">
+    <value>Αποδοχή</value>
+  </string>
+  <string id="91" name="reject">
+    <value>Απόρριψη</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>Ακύρωση</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>Αποστολή Αιτήματος στους ακόλουθους Χρήστες:</value>
+  </string>
+  <string id="94" name="accept">
+    <value>Αποδεκτό</value>
+  </string>
+  <string id="95" name="reject">
+    <value>Μη Αποδεκτό</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>Αλλαγή Συντονιστή</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>Δεν συντονίζετε εσείς αυτό το Μάθημα!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>Συντονιστής:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>Αυτό το Δωμάτιο είναι πλήρες. Παρακαλούμε δοκιμάστε ξανά αργότερα.</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>Έλλειψη</value>
+  </string>
+  <string id="101" name="close">
+    <value>Κλείσιμο</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>Σφάλμα Δεδομένων Εισόδου</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>4 ή Περισσότεροι Χαρακτήρες: Προβλήματα Καταχώρησης με Κεφαλαία Γράμματα!</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>Ο Κωδικός Χρήστη πρέπει να περιέχει τουλάχιστον 4 Χαρακτήρες!</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>Το συγκεκριμένο Όνομα Χρήστη έχει επιλεγεί ήδη!</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>Το συγκεκριμένο Email έχει καταχωρηθεί ήδη!</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>Σφάλμα Συστήματος: Παρακαλούμε επικοινωνήστε με τους Διαχειριστές Συστήματος!</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>Login</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>Χρήστης ή Email:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>Κωδικός:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>Γλώσσα</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>Σύνδεση</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>Εγγραφή</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>Χρήστης:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>Κωδικός:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>Επαν. Κωδικού:</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Όνομα:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Επώνυμο:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>Email:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>Χώρα:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>Καταχώρηση</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>Ακύρωση</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>Δεν είστε Μέλος;</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>Αρχική Σελίδα</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>Χρήστες</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>Ομάδες</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>Οργανισμοί</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>Δωμάτια Συναντήσεων</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>Κοινό</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>Οργανισμός</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>Είσοδος</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>Login</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>Κωδικός</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>Επαν. Κωδικού</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Όνομα</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Επώνυμο</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>Email</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>Γενέθλια</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>Οδός/Αριθμός</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>Τ.Κ./Πόλη</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>Χώρα</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Διεύθυνση</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Στοιχεία Χρήστη</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>Αποθήκευση</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>Αποθήκευση</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>ID</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>Login</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>Όνομα</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>Επώνυμο</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>Επόμενο</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>Προηγούμενο</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>Διαγραφή Εγγραφής</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>Ακύρωση</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>Διαγραφή</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>Νέα Εγγραφή</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>Ανανέωση Εγγραφής</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>Διαγραφή Εγγραφής</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>Κατάσταση</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>Απενεργοποιημένη</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>Ενεργοποιημένη</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>Οργανισμοί</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>Ημερολόγιο</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>Κλείσιμο</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>ID</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>Όνομα</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>Χρήστης</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>Συντονιστής</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>Διαχειριστής</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>Επίπεδο Χρήστη</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>Οργανισμός</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>Όνομα</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>Προσθήκη Οργανισμού</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>Προσθήκη Οργανισμού</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>Ακύρωση</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>Προσθήκη</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>Αφαίρεση Οργανισμού</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>Χρήστης</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>Προσθήκη Χρήστη</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>Διαγραφή Χρήστη</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>Προσθήκη Χρήστη σε Οργανισμό</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>Εύρεση Χρήστη</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>Εύρεση</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>Χρήστης</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>Οργανισμός</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>Είσοδος</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>Δωμάτια Συνδιασκέψεων</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>Δωμάτιο Συνδιάσκέψεων</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>Αριθμός</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>Όνομα</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>Δημόσιο</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>Οργανισμοί</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>Δωμάτια Συναντήσεων</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>Όνομα</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>Τύπος</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>Δημόσιο</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>Σχόλιο</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>Αποθήκευση και Εξαγωγή</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>Φόρτωση</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>Αποθήκευση ως</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>Όνομα Αρχείου</value>
+  </string>
+  <string id="201" name="files">
+    <value>Όνομα Αρχείου</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>Ακύρωση</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>Αποθήκευση</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>Μήνυμα</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>Φόρτωση</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>Τα Αντικείμενα Φορτώθηκαν με Επιτυχία</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>Συγχρονισμός πελατών. Πελάτες προς Αναμονή:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>Φόρτωση Δεδομένων Εικόνας</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>Συγχρονισμός πελατών. Πελάτες προς Αναμονή:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>Εκκαθάριση Περιοχής Σχεδίασης</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>Εκκαθάριση Περιοχής Σχεδίασης: Όλα τα δεδομένα του Πίνακα θα χαθούν!</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Να ζητείται Επιβεβαίωση πριν από την Φόρτωση Αρχείου</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>Αποστολή Πρόσκλησης</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>Αποστολή Πρόσκλησης</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>Θέμα</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Παραλήπτης</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>Μήνυμα</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Αποστολή</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>Ακύρωση</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>Aποστολή</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>Στοιχεία Χρήστη</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>Ψευδώνυμο για αυτήν τη Συνδιάσκεψη</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>Ψευδώνυμο</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>Όνομα</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>Επώνυμο</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>Email</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>Γλώσσα</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>Είσοδος</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>Φόρτωση</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>Φόρτωση Δεδομένων: Παρακαλούμε περιμένετε!</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>Λάθος Κωδικός</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>Παρακαλούμε εισάγετε δύο πανομοιότυπους Κωδικούς τουλάχιστον 6 Χαρακτήρων!</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>Λάθος Email</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>Μη Έγκυρη Διεύθυνση Email!</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>Η Kαταχώρηση Oλοκληρώθηκε</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>Ο Λογαριασμός σας δημιουργήθηκε με επιτυχία. Τώρα μπορείτε να συνδεθείτε.</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>Δεν μπορείτε να μοιραστείτε την Οθόνη σας αυτή τη στιγμή! Κάποιος άλλος μοιράζεται ήδη την δική του.</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Διαμοίραση Απαγορευμένη</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Διαμοίραση Οθόνης</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Κακό Bandwidth: Δεν μπορέσατε να συγχρονίσετε την Οθόνη. Κάποια πλαίσια θα χαθούν. Αν αυτή η ειδοποίηση εμφανίζεται συχνά μπορείτε να ζητήσετε στο συντονιστή να μειώσει την Ποιότητα.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>Οθόνη του:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Ζωγραφική</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Έγγραφα</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>Συνομιλία</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>Αρχεία</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Μέλη</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Αποθήκευση Γνήσιου Εγγράφου</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>Αποθήκευση pdf Εγγράφου</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Φόρτωση Παρουσίασης στον Πίνακα</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Διαμόρφωση</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Σύρετε το Αντικείμενο</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Αλλάξτε το μέγεθος του Αντικειμένου</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>από</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>Μεταφορά στην Πρώτη Σελίδα</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>Μεταφορά στην Προηγούμενη Σελίδα</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>Μεταφορά στην Επόμενη Σελίδα</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>Μεταφορά στην Τελευταία Σελίδα</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Εστίαση --</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Εστίαση ++</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>Κος</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Κα</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Διαμόρφωση</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>Κλειδί</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Διαμόρφωση</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>Κλειδί</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>Τελευταία Τροποποίηση</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>Τροποποιημένο από</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>Σχόλιο</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>Τιμή</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>από</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>Χρήστες</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>Διαγραφή Χρήστη από Οργανισμό</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>Δ</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>Ο Χρήστης είναι ήδη Μέλος του συγκεκριμένου Οργανισμού!</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>Νέα</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Γρήγοροι Σύνδεσμοι</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Συνδιάσκεψη</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Αμφιθέατρο</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Βοήθεια και Υποστήριξη</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>Αναφορά Bug!</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>Περισσότερα</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Project Website (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>Λίστα με Email Χρηστών (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Υπενθύμιση Login</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Περιεχόμενο</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>Η Αρχική Μου Σελίδα</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>Προγραμματισμένες Συναντήσεις</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>Προγραμματισμένα Συμβάντα</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Δημόσιες Συναντήσεις</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Ιδιωτικές Συναντήσεις</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Δημόσια Συμβάντα</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Ιδιωτικά Συμβάντα</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Δημόσιο Περιεχόμενο</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Ιδιωτικό Περιεχόμενο</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Προσωπικό Περιεχόμενο</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value></value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Συντονισμός</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>Αίτηση για Συντονισμό</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Ψηφοφορίες</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Επιλογή Αρχείου</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Ρυθμίσεις</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Κάμερα &amp; Μικρόφωνο</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Πίνακας</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Έξοδος</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Πίσω στα Δωμάτια</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Logout</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Ξεχάσατε τον Κωδικό σας?</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>Αλλάξτε Κωδικό</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>Μέσω Email</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>Μέσω Login</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>To Email Σας</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>Το Login Σας</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Αποστολή Email με Σύνδεσμο εκ νέου ρύθμισης (reset)</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>Η διεύθυνση Email δεν βρέθηκε! Εισάγετε την ίδια διεύθυνση Email με εκείνην που χρησιμοποιήσατε για τη δημιουργία του Λογαριασμού σας.</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Παρακαλούμε εισάγετε Διεύθυνση Email ή Όνομα Χρήστη</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>Δεν βρέθηκε Χρήστης που να αντιστοιχεί στο συγκεκριμένο Όνομα Χρήστη!</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>Ένα mail με Ειδικό Σύνδεσμο έχει σταλεί στη διεύθυνση Email σας. Παρακαλούμε ελέγξτε το ταχυδρομείο σας. Αν δεν έχετε λάβει ακόμα mail, παρακαλούμε προσαρμόστε τις ρυθμίσεις spam του ταχυδρομείου σας και επαναλάβατε την αποστολή του mail Επιβεβαίωσης.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Μήνυμα</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Μήνυμα</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>Μη Έγκυρη Τιμή Hash! Δεν βρέθηκαν Χρήστες.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Αλλάξτε τον Κωδικό σας</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Login</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>Αλλαγή Κωδικού</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>Νέος Κωδικός</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>Επανάληψη Κωδικού</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>Οι Κωδικοί που πληκτρολογήσατε δεν είναι ίδιοι!</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>4 ή Περισσότεροι Χαρακτήρες: Προβλήματα Καταχώρησης με Κεφαλαία Γράμματα!</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>Ο Κωδικός ρυθμίστηκε. Τώρα μπορείτε να συνδεθείτε.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>Εντάξει</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Άγνωστο Σφάλμα: Παρακαλούμε να το αναφέρετε στην Ομάδα Εξυπηρέτησής σας.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>Το Όνομα Χρήστη δεν βρέθηκε.</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Μη Έγκυρος Κωδικός</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Επιτυχής Αποσύνδεση</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Frontend Εγγραφές Απενεργοποιημένες.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>Μη Έγκυρο Email</value>
+  </string>
+  <string id="340" name="registration">
+    <value>Επανάληψη Ονόματος Αρχείου: Παρακαλούμε επιλέξτε διαφορετικό Όνομα Αρχείου!</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>Πολύ μικρό Όνομα Αρχείου!</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>Αδυναμία Αποθήκευσης Διεύθυνσης</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>Ο Χρήστης προστέθηκε επιτυχώς, αλλά πρέπει να τοποθετηθεί σε κάποιον Οργανισμό, αλλιώς δεν θα μπορεί να συνδεθεί!</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>Νέα Εγγραφή</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>Δεν βρέθηκε Πεδίο με το συγκεκριμένο ID (Κωδικό Αριθμό) Πεδίου!</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>Δεν βρέθηκε Ετικέτα για το συγκεκριμένο Πεδίο!</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Απαιτείται Εξουσιοδότηση από το Διαχειριστή!</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Σύνταξη Γλώσσας</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Γλώσσα</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>ID Ετικέτας</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Όνομα Ετικέτας</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Τιμή</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Τιμές Πεδίου</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>Όνομα Ετικέτας:</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>Τιμή Ετικέτας:</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>Αριθμός Ετικέτας:</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>Διαγράψατε μόνο την Ετικέτα και ΟΧΙ το Πεδίο! Δεν μπορείτε να διαγράψετε το Πεδίο, διότι ενδέχεται να περιέχει Ετικέτες σε άλλες Γλώσσες.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>Μη Έγκυρο ID (Κωδικός Αριθμός) Ετικέτας! Δεν βρέθηκε καταχωρημένο στη Βάση Δεδομένων.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>Δεν μπορείτε να διαγράψετε το συγκεκριμένο Πεδίο! Μπορείτε να διαγράφετε Ετικέτες αλλά ΟΧΙ Πεδία. Αυτή τη στιγμή δεν έχει επιλεγεί κάποια Ετικέτα. Είτε δεν έγινε επιλογή Ετικέτας από κανένα Πεδίο, είτε δεν υπάρχει Ετικέτα για την συγκεκριμένη Γλώσσα και το συγκεκριμένο Πεδίο.</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>Εξαγωγή</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>Πρέπει να αποσυνδεθείτε για να δείτε τις αλλαγές!</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Προσθήκη Νέας Γλώσσας</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>Διαγραφή Γλώσσας</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Προσθήκη Νέας Γλώσσας</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Όνομα</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>Προσθήκη Γλώσσας</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Αντίγραφα Ασφαλείας</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>Αρχή</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>Προηγούμενο</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>Επόμενο</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>Τέλος</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>Ο Χρήστης μιλάει (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>Ανοιγμα/Κλείσιμο Ήχου</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>Σύστημα</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>Οι Ρυθμίσεις Σας</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>Γειά σας,</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Επεξεργασία Προφίλ</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>Νέα Μηνύματα:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Αλλαγή Εικόνας</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Δεδομένα Χρήστη - Εξαγωγή</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>Όλοι οι Oργανισμοί πρέπει να είναι ήδη υπάρχοντες!</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>Εκκίνηση Εξαγωγής</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>Κατά Οργανισμό</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>Εκκίνηση Εξαγωγής</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Δεδομένα Χρήστη - Εισαγωγή</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>Επιλογή users.xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>Εισαγωγή</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Εξαγωγή σε XML Αρχείο. Το Αρχείο αυτό μπορεί να χρησιμοποιηθεί για:&lt;br/&gt; - Συνεισφορά στο Project &lt;br/&gt; - Εισαγωγή σε άλλο Σύστημα&lt;br/&gt; - Αντίγραφο Ασφαλείας &lt;br/&gt; - Εξατομίκευση&lt;br/&gt; - Εισαγωγή στο φάκελο Γλωσσών για επόμενη Εγκατάσταση</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Επιλογή Αρχείου Γλώσσας για Εισαγωγή. &lt;br/&gt;ΠΡΟΣΟΧΗ: Επιλέξτε τη σωστή Γλώσσα από τη λίστα! &lt;br/&gt;Όποιο και να είναι το όνομα του αρχείου&lt;br/&gt;θα εισαχθεί στην επιλεγμένη γλώσσα!</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>Εισαγωγή - Επιλογή Αρχείου</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Αποθήκευση ως</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Όνομα:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>Σχόλιο:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>Αποθήκευση</value>
+  </string>
+  <string id="395" name="record">
+    <value>Μαγνητοσκοπήσεις</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Προβολέας Μαγνητοσκοπήσεων</value>
+  </string>
+  <string id="397" name="record">
+    <value>Μαγνητοσκοπήσεις Δημοσίων και Ιδιωτικών Δωματίων.</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>Χρήστες :</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>Συνδεδεμένοι:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Χρήστες σε αυτό το Δωμάτιο:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>Ανανέωση</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>Αυτό το Δωμάτιο είναι πλήρες! Δοκιμάστε ξανά σε μερικά λεπτά.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>Επιλέξτε ένα Δωμάτιο για να δείτε Λεπτομέρειες.</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Συνομιλήστε με τους Χρήστες σε αυτό το Δωμάτιο:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Δωμάτιο:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Χρήστες σε αυτό το Δωμάτιο:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>Από:</value>
+  </string>
+  <string id="409" name="record">
+    <value>Αναπαραγωγή Μαγνητοσκόπησης</value>
+  </string>
+  <string id="410" name="record">
+    <value>Μήκος:</value>
+  </string>
+  <string id="411" name="record">
+    <value>Ημερομηνία:</value>
+  </string>
+  <string id="412" name="record">
+    <value>Λειτουργία Μαγνητοσκόπησης! Δεν μπορείτε να μεταβάλλετε καμία Τιμή. Πρόκειται για ένα μαγνητοσκοπημένο Αρχείο!</value>
+  </string>
+  <string id="413" name="record">
+    <value>Αναπαραγωγή</value>
+  </string>
+  <string id="414" name="record">
+    <value>Αναπαραγωγή / Παύση</value>
+  </string>
+  <string id="415" name="record">
+    <value>Έναρξη Μαγνητοσκόπησης</value>
+  </string>
+  <string id="416" name="record">
+    <value>Λήξη Μαγνητοσκόπησης</value>
+  </string>
+  <string id="417" name="record">
+    <value>Μαγνητοσκόπηση:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>Κάποιος άλλος μαγνητοσκοπεί ήδη αυτή τη στιγμή:</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Μαγνητοσκόπηση! Από τον Χρήστη:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>Ακύρωση</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>Ακύρωση Μαγνητοσκόπησης χωρίς Αποθήκευση!</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>Συνέχεια</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Κλείσιμο Παραθύρου και Συνέχεια Μαγνητοσκόπησης.</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>Αλλαγή Χρώματος Γραμμής</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Επιλογή Χρώματος</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Απενεργοποίηση / Ενεργοποίηση Χρώματος Γραμμής</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>Αλλαγή Χρώματος Γεμίσματος</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>Απενεργοποίηση / Ενεργοποίηση Χρώματος Γεμίσματος</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Αλλαγή Πλάτους Γραμμής</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>Κλείσιμο</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>Αλλαγή Μεγέθους Γραμματοσειράς</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>Διαγραφή Μαγνητοσκόπησης</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Επισκέπτης</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>Από:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Όνομα</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Δωμάτιο</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Ημερομηνία</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>Ακύρωση</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>Έναρξη</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Όνομα</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Ημερομηνία</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>Διαγραφή Chatlog από το Διακομιστή</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>Συνομιλία</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>Aποστολή Μηνύματος</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Emoticons</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>Emoticons</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Επιλογή Δημοσιευμένων Συσκευών</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Ήχος και Βίντεο</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>Ήχος μόνο</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>Βίντεο μόνο</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>Χωρίς Ηχό/Βίντεο (Στατική Εικόνα)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>Δεν θα δημοσιεύεται ούτε Ήχος ούτε Βίντεο από το PC σας. Αντί αυτού θα εμφανίζεται η Εικόνα του Προφίλ σας. Επιλέξτε αυτήν τη ρύθμιση αν έχετε προβλήματα με το bandwidth σας ή μια πολύ αργή Σύνδεση Internet.</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>ΔΕΥ</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>ΤΡΙ</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>ΤΕΤ</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>ΠΕΜ</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>ΠΑΡ</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>ΣΑΒ</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>ΚΥΡ</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>Δευτέρα</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Τρίτη</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Τετάρτη</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Πέμπτη</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Παρασκευή</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Σάββατο</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Κυριακή</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>ΗΕ</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Ημερολογιακή Εβδομάδα</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>Ιανουάριος</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>Φεβρουάριος</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>Μάρτιος</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>Απρίλιος</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>Μάιος</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>Ιούνιος</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>Ιούλιος</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>Αύγουστος</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>Σεπτέμβριος</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>Οκτώβριος</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>Νοέμβριος</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>Δεκέμβριος</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Ημερολόγιο</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Συμμετέχοντες</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Εμφάνιση Ρυθμίσεων Διάταξης</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Πλάτος | Ύψος</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Χώρος Βίντεο</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Χώρος Συντονισμού</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Χώρος Πίνακα</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Ενεργοποιημένος</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Πλάτος | Ύψος</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Χώρος Αρχείων, Συνομιλιών και Συμμετεχόντων</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Ενεργοποιημένος</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Πλάτος | Ύψος</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>Ο Συντονιστής εγκατέλειψε το Δωμάτιο. Κανείς δεν παρουσιάζει αυτήν τη στιγμή. Μπορείτε να κάνετε αίτηση για Συντονισμό ή να περιμένετε.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>Δεν υπάρχει Συντονιστής σε αυτό το Δωμάτιο, αλλά υπάρχουν κάποιοι Συμμετέχοντες. Πρέπει να κάνετε αίτηση για Συντονισμό ή να περιμένετε.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>$APP_NAME - Ανάδραση</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Πρόσκληση</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Μήνυμα από το Χρήστη:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Μήνυμα:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Κάντε κλικ σε αυτόν το Σύνδεσμο για να συμμετάσχετε στις Συναντήσεις:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Κάντε κλικ εδώ για να μπείτε σε κάποιο Δωμάτιο.</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>Αν έχετε προβλήματα με το Σύνδεσμο, παρακαλούμε αντιγράψτε και επικολλήστε αυτό στο Φυλλομετρητή σας:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>Εγγραφή στο $APP_NAME</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>Τα Στοιχεία Σας:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Login:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Κωδικός:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>Email:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME - Ομάδα</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME - Εγγραφή Μέλους</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - Αλλαγή Κωδικού</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Κάντε κλικ σε αυτόν το Σύνδεσμο για να εισάγετε έναν νέο Κωδικό:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Κάντε κλικ εδώ για να εισάγετε έναν νέο Κωδικό.</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>Αν έχετε προβλήματα με το Σύνδεσμο, παρακαλούμε αντιγράψτε και επικολλήστε αυτό στο Φυλλομετρητή σας:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>$APP_NAME - Αλλαγή Κωδικού</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>Παρακαλούμε εισάγετε μια έγκυρη Ημερομηνία, για παράδειγμα: 24.12.2001 (ΗΗ.ΜΜ.ΕΕΕΕ)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Παρακαλούμε εισάγετε ένα έγκυρο Email, για παράδειγμα: name@mail.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Παρακαλούμε εισάγετε έναν πραγματικό Aριθμό, για παράδειγμα: 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Παρακαλούμε εισάγετε έναν ακέραιο Aριθμό, για παράδειγμα: 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Παρακαλούμε εισάγετε έναν έγκυρο Aριθμό Tηλεφώνου, για παράδειγμα: ++30 210 5731230</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Παρακαλούμε εισάγετε μια έγκυρη Ώρα, για παράδειγμα: 12:23 (ΩΩ:ΛΛ)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Προστατευμένο με Κωδικό</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Κωδικός</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Εγκυρότητα</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Απεριόριστη</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Περίοδος</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>Μία Φορά</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Έγκυρο Από:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Έγκυρο Έως:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Πρόσκληση στο $APP_NAME</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>Δεν υπάρχει διαθέσιμη Πρόσκληση για το συγκεκριμένο Κωδικό!</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>Η Πρόσκληση έχει ήδη χρησιμοποιηθεί! Αυτός ο τύπος Πρόσκλησης δεν μπορεί να χρησιμοποιηθεί ξανά.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>Ο συγκεκριμένος Κωδικός Πρόσκλησης δεν είναι έγκυρος!</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Κωδικός:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Έλεγχος Κωδικού</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Μη Έγκυρος Κωδικός!</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>Ήχος/Βίντεο</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Συγχρονισμός Ήχου/Βίντεο</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>Το login ήταν σωστό, αλλά η Σύνοδος που δοκιμάσατε δεν είναι ενεργή ή δεν είναι αποθηκευμένη στον Διακομιστή. Πρέπει να αποκτήσετε νέο Αριθμό Συνόδου και να δοκιμάσετε να συνδεθείτε ξανά.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>Ο Αριθμός Συνόδου δεν είναι ενεργός ή δεν έχει δικαιώματα Διαχείρισης. Η πύλη SOAP χρειάζεται έναν Χρήστη με Δικαιώματα Διαχείρισης για την ενσωμάτωση νέων Χρηστών.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>Η συγκεκριμένη Σύνοδος δεν έχει συνδεδεμένα Στοιχεία Απομακρυσμένου Χρήστη. Είτε δεν καλέσατε την πύλη SOAP πριν την πρόσβαση στην Εφαρμογή, είτε χρησιμοποιείτε λάθος Αριθμό Συνόδου.</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>Η Συσκευή Εγγραφής είναι σε πειραματικό στάδιο προς το παρόν!</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>Άξονας-x</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>Άξονας-y</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>π</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>Πλάτος</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>υ</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>Ύψος</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Αλλαγή Βαθμού Διαφάνειας</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Άνοιγμα Φυλλομετρητή</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Κλείσιμο Φυλλομετρητή</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>Η Σύνδεση με το Διακομιστή χάθηκε. Πρέπει να φορτώσετε ξανά την Εφαρμογή ή/και να ελέγξετε το Δίκτυό σας.</value>
+  </string>
+  <string id="557" name="557">
+    <value>Δείκτης</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Συγχρονισμός</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Συγχρονισμός Χρηστών. Παρακαλούμε περιμένετε.</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Αποθήκευση ως SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Αποθήκευση ως PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Αποθήκευση ως JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Αποθήκευση ως PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Αποθήκευση ως TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Υπενθύμιση:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Κατηγορία:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Επανάληψη:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>Καμία</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Τοποθεσία:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Έναρξη</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>Λήξη</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Τίτλος:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Σχόλιο:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Προσκαλέστε Κόσμο</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Καθημερινά</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Κάθε Μήνα</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Κάθε Έτος</value>
+  </string>
+  <string id="578" name="alert">
+    <value>Η Λήξη μιας Συνάντησης πρέπει να είναι μετά από την Έναρξη της Συνάντησης!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Παρακαλούμε εισάγετε Τίτλο!</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>Ενεργοποιήστε αυτό για γλώσσες με διάταξη από τα δεξιά προς τα αριστερά.</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Αρχικό Ταμπλό</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Παρακολουθήστε μαγνητοφωνημένες Συναντήσεις ή Συμβάντα</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Συνάντηση - Συνδιάσκεψη με 4 (έως 16) Χρήστες&lt;br/&gt;Όλοι θα έχουν πρόσβαση σε Ήχο και Βίντεο.</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Συμβάν - Συνδιάσκεψη με έως και 200 συμμετέχοντες&lt;br/&gt;Μόνο ο Συντονιστής θα έχει Ήχο και Βίντεο.</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Δημιουργία Χρηστών, Δωματίων, Οργανισμών&lt;br/&gt; και Αλλαγή Διαμόρφωσης.</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Χρήστες Δωματίου</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Login</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>Δ</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Φόρτωση Εγγράφου. Παρακαλούμε περιμένετε μέχρι να συγχρονιστούν όλοι οι Πελάτες.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Η Φόρτωση Ολοκληρώθηκε. Μετατροπή Εγγράφου ...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Έναρξη Φόρτωσης</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Διάλογος Φόρτωσης και Εισαγωγής: Παρακαλούμε επιλέξτε ένα Αρχείο από το Δίσκο.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Ακύρωση</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Επιλογή Αρχείου</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Συνδέσεις</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Τιμή</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Login</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Συνδεδεμένος Από</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Δωμάτιο / Πλαίσιο</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Αφαίρεση Χρήστη</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Αφαίρεση Χρήστη</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Θέλετε πραγματικά να βγάλετε αυτόν τον Πελάτη από τη Σύνδεση;&lt;br/&gt; Με αυτόν τον τρόπο ο Πελάτης αφαιρείται μόνο από το τρέχον Δωμάτιο και μπορεί να συνδεθεί ξανά.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Η Σύνοδός σας έχει κλείσει από Διαχειριστή ή Συντονιστή.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Τηλέφωνο</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>Ο Χρήστης είναι ο Συντονιστής του συγκεκριμένου Δωματίου!</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>Ο Χρήστης επιτρέπεται να σχεδιάσει πάνω στον Πίνακα.</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Επαν)Εκκίνηση Ήχου/Βίντεο ή Αλλαγή Ρυθμίσεων Συσκευής</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Επιτρέψτε στο Χρήστη να σχεδιάσει πάνω στον Πίνακα</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Αφαιρέστε τη δυνατότητα σχεδίασης πάνω στον Πίνακα</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Χρήστες</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Αρχεία</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Πίνακας</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Συνομιλία</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Ο Λογαριασμός σας αντιστοιχεί σε πολλαπλούς Οργανισμούς. Παρακαλούμε επιλέξτε έναν από αυτούς για τη συγκεκριμένη Σύνοδο.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>Αυτό το Δωμάτιο είναι πλήρες. Παρακαλούμε δοκιμάστε ξανά αργότερα.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Τύπος Δωματίου</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Δωμάτιο Συνάντησης</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Χρόνος Διακομιστή</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - Υπενθύμιση</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Μήνυμα από τον Χρήστη:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Μήνυμα:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Κάντε κλικ σε αυτόν το Σύνδεσμο για να συμμετάσχετε στις Συναντήσεις:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Κάντε κλικ εδώ για να εισέλθετε στο Δωμάτιο</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>Αν έχετε προβλήματα με το Σύνδεσμο, παρακαλούμε αντιγράψτε και επικολλήστε αυτό στο Φυλλομετρητή σας:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>Εσωτερική Αναζήτηση</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>Εξωτερική Προσθήκη</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>Όνομα</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>Επώνυμο</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>Email</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Επιβεβαίωση Αποσύνδεσης</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Θέλετε σίγουρα να αποσυνδεθείτε;</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Ενέργειες</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Δωμάτιο Επιδείξεων</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Χρόνος Επίδειξης</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Χρονόμετρο Συνάντησης</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>Αυτό το Δωμάτιο είναι ένα Δωμάτιο Επιδείξεων. Για να απενεργοποιήθεί αυτή η ειδοποίηση πρέπει να βρείτε ένα Ιδιωτικό Δωμάτιο Συναντήσεων για προσωπική χρήση ή να εγκαταστήσετε Διακομιστή της κυριότητάς σας. Αυτόματη Αποσύνδεση σε:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Υπό Συντονισμό</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Παρακαλούμε περιμένετε μέχρι να εισέλθει στο Δωμάτιο Συντονιστής. ο Συντονιστής μπορεί να είναι κάποιος Δάσκαλος, Διαχειριστής ή ο δημιουργός του Δωματίου.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Εντάξει</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Εισερχόμενη Διαμοίραση Οθόνης</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>Υπάρχει μια νέα εισερχόμενη Διαμοίραση Οθόνης από το Χρήστη:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Έναρξη Διαμοίρασης</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Προσθήκη Νέας Συνάντησης</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Δωμάτιο Συναντήσεων</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Δωμάτιο Συμβάντων</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Συντονισμός</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Συντονισμός Χρηστών</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Συντονισμός Δωματίων</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>Σ</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Θα θέλατε να μετατρέψετε αυτόν το Χρήστη σε Συντονιστή του Οργανισμού;</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Παρακαλούμε επιλέξτε έναν Οργανισμό πριν προσπαθήσετε να προσθέσετε κάποιον Χρήστη σε αυτόν!</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Οργανισμός - Συντονιστής</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Θέλετε πραγματικά να διαγράψετε αυτόν το Χρήστη από τον Οργανισμό;</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>Αυτός ο Χρήστης είναι Συντονιστής!</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>Αυτός ο Χρήστης δεν είναι Συντονιστής.</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Θέλετε αυτός ο Χρήστης να μην είναι Συντονιστής του Οργανισμού;</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Προσθέστε ή διαγράψτε Χρήστες/Δωμάτια στον Οργανισμό σας.</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Θέλετε πραγματικά να διαγράψετε αυτήν την Εγγραφή;</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Θέλετε πραγματικά να διαγράψετε αυτόν το Χρήστη από τον Οργανισμό σας; Θα διαγραφεί μόνο η Σύνδεση μεταξύ του Χρήστη και του Οργανισμού. Για να διαγράψετε πραγματικά τον Χρήστη πρέπει να συνδεθείτε στον Πίνακα Διαχείρισης.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>Δεν μπορείτε να διαγράψετε το δικό σας Χρήστη!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>Αυτή η Μέθοδος χρειάζεται Λογαριασμό Διαχειριστή για να εκτελεστεί!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>Δεν υπάρχει Σύνοδος που να σχετίζεται με το συγκεκριμένο Κωδικό Αριθμό (ID).</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>Πρόκειται για Λογαριασμό Διαχειριστή ή Συντονιστή! Η επεξεργασία τέτοιων Λογαριασμών είναι δυνατή μόνο από τον Πίνακα Διαχείρισης.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>Για την ολοκλήρωση της Εγγραφής σας παρακαλούμε κάντε κλικ στον παρακάτω Σύνδεσμο ή αντιγράψτε το URL στην μπάρα του Φυλλομετρητή σας.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Κάντε κλικ για να επιβεβαιώσετε το Email σας.</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Δεν βρέθηκε Xρήστης για τη συγκεκριμένη τιμή Hash.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Αυτός ο Xρήστης έχει ενεργοποιηθεί ήδη!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Ο Λογαριασμός σας ενεργοποιήθηκε με επιτυχία!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Συνδεθείτε Τώρα</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Ο Λογαριασμός σας δεν είναι ενεργοποιημένος! Χρησιμοποιείστε πρώτα το Σύνδεσμο που βρίσκεται στο Email που λάβατε κατά την διάρκεια της Εγγραφής σας.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>Εγγραφήκατε με επιτυχία. Ένα μήνυμα με Επαναληπτικό Κωδικό έχει σταλεί στο Email σας. Παρακαλούμε ελέγξτε το Ταχυδρομείο σας.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Αφαίρεση Συντονιστικού Ρόλου από αυτόν το Χρήστη.</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Παραχώρηση Δικαιωμάτων Συντονισμού σε αυτόν το Χρήστη.</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>Χρήστης</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Πρόσβαση στον Πίνακα</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Συντονιστής</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Συντονισμός: Επιλέξτε κάποιον Χρήστη από τη Λίστα για να του παραχωρήσετε το Συντονισμό και πρόσβαση σε Πίνακα ή Βίντεο.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>Αυτός ο Χρήστης είναι ήδη Συντονιστής, οπότε έχει αυτόματα Δικαιώματα Σχεδίασης.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>Πρόκειται για εσάς! Δεν μπορείτε να αφαιρέσετε δικαιώματα Συντονισμού από τον εαυτό σας.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Επιτρέψτε σε αυτόν τον Χρήστη να Δημοσιεύσει τον Ήχο/Βίντεό του.</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Αφαίρεση Ήχου/Βίντεο του συγκεκριμένου Χρήστη.</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>Θα ήθελα να αναλάβω τον Συντονισμό αυτού του Δωματίου.</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>Θα ήθελα να σχεδιάσω πάνω στον Πίνακα.</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>Θα ήθελα να μοιραστώ τον Ήχο/Βίντεό μου.</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>Είσαστε ο Συντονιστής αυτού του Δωματίου.</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>Μπορείτε να σχεδιάσετε πάνω στον Πίνακα.</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>Μπορείτε να μοιραστείτε τον Ήχο/Βίντεό σας.</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Μήνυμα στο Συντονιστή</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>Ο Χρήστης</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>θα ήθελε να αναλάβει το Συντονισμό. Χρησιμοποιήστε τα Εικονίδια Κατάστασης δίπλα στο Χρήστη (Λίστα Χρηστών) για να αναθέσετε ή να αφαιρέσετε το Συντονισμό.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>θα ήθελε να σχεδιάσει πάνω στον Πίνακα. Χρησιμοποιείστε τα Εικονίδια Κατάστασης δίπλα στο Χρήστη (Λίστα Χρηστών) για να παραχωρήσετε ή να αφαιρέσετε δικαιώματα σχεδίασης πάνω στον Πίνακα.</value>
+  </string>
+  <string id="695" name="695">
+    <value>θα ήθελε να μοιραστεί τον Ήχο/Βίντεό του. Χρησιμοποιείστε τα Εικονίδια Κατάστασης δίπλα στο Χρήστη (Λίστα Χρηστών) για να παραχωρήσετε ή να αφαιρέσετε το δικαίωμα οποιουδήποτε Χρήστη να μοιράζεται Ήχο/Βίντεο.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>Πρέπει να περιμένετε μέχρι να εισέλθει κάποιος Συντονιστής στο Δωμάτιο.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Ακύρωση</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Αποθήκευση</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Ημέρα</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Μήνας</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Έτος</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Φόρτωση Αρχείου</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Προσθήκη Φακέλου</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Ανανέωση</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Σκουπίδια</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>Τα Αρχεία Μου (Home Drive)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Αρχεία Δωματίου (Public Drive)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Προσθήκη Αρχείου</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Προσθήκη Φακέλου</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Διαγραφή Φακέλου</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Επεξεργασία Ονόματος</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>Νέος Φάκελος</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Θέλετε σίγουρα να διαγράψετε το συγκεκριμένο Στοιχείο;</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Αναζήτηση</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Αναζήτηση</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Άνοιγμα Εγγράφου</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Εμφάνιση όλων των Αρχείων (Δενδρική Εικόνα)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Κλείσιμο Εγγράφου</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Διαγραφή Αρχείου</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>Δεν επιτρέπεται να σχεδιάσετε τίποτα πάνω στον Πίνακα. Πρέπει να γίνετε Συντονιστής ή τουλάχιστον να αποκτήσετε δικαιώματα Επεξεργασίας του Πίνακα. Μπορείτε να ζητήσετε από ένα Συντονιστή να σας παραχωρήσει τέτοια δικαιώματα.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Ιδιότητες Εγγράφου</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Έναρξη Πελάτη (external)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Έναρξη Πελάτη (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>Κάποιος Χρήστης θέλει να μοιραστεί την Οθόνη του. Επιθυμείτε να την δείτε?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>Αυτήν τη στιγμή μοιράζεστε την Επιφάνεια Εργασίας σας. Για την διακοπή της Συνόδου Διαμοίρασης παρακαλούμε πατήστε το κουμπί Διακοπής στο Διαμοιραζόμενο Πελάτη.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Σύνοδος Διαμοίρασης</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>Ήδη μοιράζεστε την Επιφάνεια Εργασίας σας!</value>
+  </string>
+  <string id="728" name="sharing client">
+    <value>Προβολή Επιφάνειας Εργασίας</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Έξοδος</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Διαμοιραστής Επιφάνειας Εργασίας</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Πατήστε "Έναρξη Διαμοίρασης" για να δημοσιοποιήσετε την Οθόνη σας.</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Έναρξη Διαμοίρασης</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Τερματισμός Διαμοίρασης</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Επιλογή Περιοχής Οθόνης:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Μεταβολή Πλάτους</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>Ο Διαμοιραστής τερμάτισε την συγκεκριμένη Σύνοδο!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Μεταβολή Ύψους</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>Αρχικό Σημείο-X</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Αρχικό Σημείο-Y</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Πλάτος:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Ύψος:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>Η Σύνδεση έκλεισε από τον Διακομιστή!</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Ακύρωση</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Εξωτερική Έναρξη</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>Αν κλείσετε πλήρως αυτήν την Σύνοδο δεν θα μπορείτε να επανεκκινήσετε την προβολή για την συγκεκριμένη Σύνοδο!</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Επιβεβαίωση Τερματισμού Συνόδου Προβολής</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Διαμοίραση Οθόνης</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Σύνοδος Εγγραφής</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Από Κοινού Φυλλομέτρηση</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Λυπούμαστε, ... Ο Firefox στα Windows δεν εμφανίζει καθαρά την Από Κοινού Φυλλομέτρηση (Co-Browsing). Παρακαλούμε χρησιμοποιήστε κάποιον άλλο Φυλομετρητή για να κάνετε χρήση του συγκεκριμένου χαρακτηριστικού.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Προηγούμενο</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Επόμενο</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Επαναφόρτωση</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Αρχική Σελίδα</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Φόρτωση</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Προσθήκη του συγκεκριμένου Website ως Εξ'ορισμού Website στο Προφίλ σας.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Δοκιμή Εγκατάστασης</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Ελέγξτε την εγκατάσταση του Μικροφώνου και της Κάμεράς σας πριν εισέλθετε σε κάποιο Δωμάτιο, μαγνητοσκοπώντας για κάποια δευτερόλεπτα.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Να μην εμφανιστεί αυτός ο έλεγχος ξανά.</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Ακύρωση</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Συνδιάσκεψη</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Να μην ερωτηθώ ξανά.</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>Μπορείτε να συνεχίσετε χωρίς ελέγχους αν δεν σχεδιάζετε να δημοσιοποιήσετε την φωνή ή την εικόνα σας. Οι Συμμετέχοντες χωρίς Ήχο ή Βίντεο μπορούν να κάνουν χρήση του Πίνακα, να μοιράζονται την Επιφάνεια Εργασίας τους ή να γράφουν μηνύματα Συνομιλιών.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="767">
+    <value>Μέτρο Επιπέδου</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Έναρξη</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Έναρξη Συνδιάσκεψης</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Έναρξη Συμβάντος</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Επιλογή Δωματίου</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Έλεγχος</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Έναρξη Συνδιάσκεψης</value>
+  </string>
+  <string id="774" name="start view">
+    <value>Διαδικασία Συνδιάσκεψης:</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Μαγνητοσκόπηση</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Να μην γίνεται Έλεγχος Ήχου/Βίντεο (Μαγνητοσκόπηση) πριν από την είσοδο σε Συνδιάσκεψη.</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Δημόσια Δωμάτια</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Στα Δημόσια Δωμάτια έχουν πρόσβαση όλοι οι Χρήστες.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Ιδιωτικά Δωμάτια</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Στα Ιδιωτικά Δωμάτια έχουν πρόσβαση μόνο οι Χρήστες του ίδιου Οργανισμού.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>Τα Δωμάτιά Μου</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Τα Δωμάτια του συγκεκριμένου τμήματος δημιουργούνται για προσωπική χρήση μέσα από το Ημερολόγιο και διαθέτουν μια αρχική και μια τελική ημερομηνία. Μόνο έγκυρα Δωμάτια εμφανίζονται εδώ.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>Πρέπει να είσαστε Συντονιστής για να πραγματοποιήσετε την συγκεκριμένη ενέργεια.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Αίτηση Συντονισμού</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Αίτηση Πρόσβασης στον Πίνακα</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Αίτηση Πρόσβασης σε Κάμερα/Μικρόφωνο</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>Η συγκεκριμένη τιμή Hash Συνόδου έχει χρησιμοποιηθεί ήδη. Δεν μπορείτε να την χρησιμοποιήσετε ξανά!</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>ΕΝΑΡΞΗ</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>ΕΧΙΤ</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Θέλετε πραγματικά να εγκαταλείψετε την Συνδιάσκεψη; Καλό θα ήταν να καθαρίσετε τον Πίνακα και το Ιστορικό Συνομιλιών και να αφαιρέσετε Έγγραφα που πιθανώς έχουν φορτωθεί.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Έξοδος από την Συνδιάσκεψη</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Δωμάτια</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Επιλέξτε Δωμάτιο για Συνάντηση</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>Υπάρχει κάποιο μη αποθηκευμένο Συμβάν στο Ημερολόγιο. Παρακαλούμε είτε να το αποθηκεύσετε είτε να το αφαιρέσετε.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Παρακαλούμε προσθέστε τουλάχιστον έναν Συμμετέχοντα στην Συνάντησή σας!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Θέλετε πραγματικά να διαγράψετε αυτό το Συμβάν;</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Προειδοποίηση</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Προσθήκη Συμβάντος</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>Μέρα</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>Εβδομάδα</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>Μήνας</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Περιγραφή</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Συμμετέχοντες</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME: Η Πλατφόρμα Σας για Web Συνδιασκέψεις. Μπορείτε να ακολουθήσετε τις Οδηγίες, να πατήσετε το κουμπί Έναρξης και να ξεκινήσετε αμέσως μια Συνδιάσκεψη ή να μετα-φερθείτε στο Ημερολόγιο και να προγραμματίσετε μια Συνδιάσκεψη για το μέλλον.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Σχέδιο Συνάντησης</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>Για να προγραμματίσετε μια Συνδιάσκεψη μπορείτε να προσθέσετε ένα νέο Συμβάν στο Ημερολόγιο. Για κάθε Συμβάν του Ημερολογίου δημιουργείται αυτόματα ένα Δωμάτιο Συνδιασκέψεων. Εσείς, μάζι με όλους τους Συμμετέχοντες στην Συνδιάσκεψη, θα λάβετε ένα mail με σύνδεσμο στο συγκεκριμένο Δωμάτιο.&lt;br/&gt;&lt;br/&gt;Μπορείτε να επιλέξετε μεταξύ διαφορετικών τύπων Δωματίων που έχουν διαφορετικές διατάξεις και διαφορετικά συστήματα Συντονισμού. Μπορείτε επίσης να επιλέξετε μεταξύ διαφορετικών τύπων Ειδοποίησης για το mail που θα σταλεί για κάθε Συμβάν του Ημερολογίου.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Χρειάζεστε Βοήθεια;</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Περιορισμένη</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Αναζήτηση</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Προσθήκη</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>Δεν έχει επιλεγεί Χρήστης! Παρακαλούμε επιλέξτε πρώτα ένα στοιχείο από τη λίστα και έπειτα πατήστε "Προσθήκη".</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Προσθήκη Συμμετέχοντα</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Αποθήκευση</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Διαγραφή</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Λεπτομέρειες Συμβάντος</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Εξ Oρισμού Συντονιστές</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Ανώτερος</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Όνομα</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>Email</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Προσθήκη Νέου Εξ Oρισμού Συντονιστή</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Είναι Ανώτερος Συντονιστής</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>Αν το Δωμάτιο είναι συντονιζόμενο, οι Χρήστες επιπέδου Συντονιστή ή Διαχειριστή γίνονται αυτόματα Συντονιστές όταν εισέλθουν στο Δωμάτιο. Αν θέλετε μόνο κάποιος συγκεκριμένος Χρήστης να γίνει Συντονιστής χρησιμοποιήστε την επιλογή Εξ Ορισμού Συντονιστή.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>Ένας Ανώτερος Συντονιστής είναι πάντα Συντονιστής όταν εισέρχεται σε κάποιο Δωμάτιο και κανείς δεν μπορεί να αφαιρέσει το Σήμα Συντονισμού από αυτόν.</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Εφαρμογή Ανώτερου Συντονισμού σε Χρήστη</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Αφαίρεση Ανώτερου Συντονισμού από Χρήστη</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>Δ</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>Με την προσθήκη ενός Οργανισμού σε ένα Δωμάτιο, μόνο οι Χρήστες που ανήκουν στον συγκεκριμένο Οργανισμό έχουν πρόσβαση στο συγκεκριμένο δωμάτιο (Αυτό ισχύει μόνο όταν η τιμή "Δημόσιο" είναι ίση με false!).</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Συντονισμός</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Περιορισμοί</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Οργανισμός</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Είστε σίγουρος;</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Θέλετε πραγματικά να διαγράψετε το συγκεκριμένο Στοιχείο; Πρέπει να πατήσετε το κουμπί αποθήκευσης για να αποθηκευτούν οι αλλαγές!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>Δεν έχει επιλεγεί κάποιος Χρήστης! Παρακαλούμε επιλέξτε πρώτα έναν Χρήστη και μετά κάντε προσθήκη.</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Προσθήκη Νέου Εξ Ορισμού Συντονιστή</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Επιθυμείτε να προσθέσετε το Σήμα Ανώτερου Συντονισμού σε αυτόν τον Χρήστη; Ένας Ανώτερος Συντονιστής δεν είναι μόνο Συντονιστής κάποιου Δωματίου. Επιπλέον, κανένας άλλος Συντονιστής δεν μπορεί να αφαιρέσει το Σήμα Συντονισμού από αυτόν. Πρέπει να αποθηκεύσετε το Αντικείμενο Δωματίου για την αποθήκευση των συγκεκριμένων ρυθμίσεων!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Επιθυμείτε να αφαιρέσετε το Σήμα Ανώτερου Συντονισμού από αυτόν τον Χρήστη; Πρέπει να αποθηκεύσετε το Αντικείμενο Δωματίου για την αποθήκευση των συγκεκριμένων ρυθμίσεων!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>Αυτός ο Χρήστης είναι Ανώτερος Συντονιστής! Δεν μπορείτε να αφαιρέσετε το Σήμα Συντονισμού από έναν Ανώτερο Συντονιστή!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Θέλετε πραγματικά να διαγράψετε το συγκεκριμένο Αρχείο/Φάκελο;</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Διαγραφή Αρχείου/Φακέλου;</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Δις.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Δρ.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Ιδιότητες</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Εμφάνιση θέσης ποντικιού στους θεατές</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Share Audio with SIP Applet</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Share Audio with SIP and Video with Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Full-Fit</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>View Screen</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>The user</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>wants to share its screen. Do you want to see it?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Close</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>The Session was closed by the sharing User!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>New Screen Sharing</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimize</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximize</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Recording Timeline</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>My Recordings</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Public Recordings</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Name</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Length</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Date</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>By</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>PLAY</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Main - Video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Recording</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>You may record and share your screen at the same time. To enable others to see your screen just hit the start button on the top. To only record the Session it is sufficient to click start recording.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Start Recording</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Stop Recording</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download the FLV-File</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Room</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>User has microphone on</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Allow User Questions</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Turn this off to prevent that any user is disturbing you in this room. Effect is that the Button to ask for Moderation ("I have a question") is not visible.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Rights</value>
+  </string>  
+  <string id="882" name="flvrecording">
+    <value>Download as AVI</value>
+  </string>  
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio only</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the Recording.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>The Recording is not yet ready for watching. Please retry in a couple of minutes again.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Recorder Message</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIP Applet is not Ready</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP-Account Settings</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP settings for each user. You can turn on or off SIP via the Administration &gt; Configuration (Key: enable_sip). The SIP data for each user should be created automatically. You can re-create the data by checking "Re-generate SIP Data"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. You should check the authentification data of your SIP-Provider and the SIP-Account Data for each User. As Administrator you are still able to login and check the Configuration. As User or Moderator you will be blocked from any interaction.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. Contact your Service Team!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet Message</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>The SIP-Applet is not ready. Accept the Applet please and click ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Get Moderation</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login the $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choose the User for this Video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>You are a Moderator in this Interview. You can decide who is speaking in this interview and you can start / stop the recording of the Session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Start Recording</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Stop Recording</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+    <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/hebrew.xml b/WebContent/languages/hebrew.xml
new file mode 100644
index 0000000..0c4643d
--- /dev/null
+++ b/WebContent/languages/hebrew.xml
@@ -0,0 +1,4505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Conference</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>Meeting</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>Events</value>
+  </string>
+  <string id="4" name="settings">
+    <value>Settings</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>Profile</value>
+  </string>
+  <string id="6" name="admin">
+    <value>Administration</value>
+  </string>
+  <string id="7" name="stop">
+    <value>Stop</value>
+  </string>
+  <string id="8" name="record">
+    <value>Record</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>No file available</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>Record by Teacher</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>Connected users:</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>Start a conference</value>
+  </string>
+  <string id="13" name="myname">
+    <value>My Name</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>VideoConference</value>
+  </string>
+  <string id="15" name="import">
+    <value>File Upload</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>Refresh list</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>To Main File</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>new poll</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>A new poll for the conference.</value>
+  </string>
+  <string id="20" name="question">
+    <value>Question:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>Type of poll:</value>
+  </string>
+  <string id="22" name="create">
+    <value>Create</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>Info: Each connected user receives a message with the new poll.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>Create a poll</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>Cancel</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>Yes/No</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>Numeric 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>Poll</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>Must be Moderator to create an question</value>
+  </string>
+  <string id="30" name="vote">
+    <value>Your vote is registered.</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>Your have already voted in this poll.</value>
+  </string>
+  <string id="32" name="voting">
+    <value>Vote !</value>
+  </string>
+  <string id="33" name="answer">
+    <value>Your response:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>Yes</value>
+  </string>
+  <string id="35" name="no">
+    <value>No</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>wants to know:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>Poll results</value>
+  </string>
+  <string id="38" name="question">
+    <value>Question:</value>
+  </string>
+  <string id="39" name="results">
+    <value>Results:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>Answers:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>No polls have been started.</value>
+  </string>
+  <string id="42" name="votings">
+    <value>Vote!</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>Meeting (max 4 seats)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>Conference (max 50 seats)</value>
+  </string>
+  <string id="45" name="type">
+    <value>Type</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>Other seats</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>Already chosen</value>
+  </string>
+  <string id="48" name="enter">
+    <value>enter</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>The moderator has left the meeting.</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>System information</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>Choose device</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Choose webcam:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>Choose micro:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>ok</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>Cancel</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>You need to reconnect.</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>Edit setup.</value>
+  </string>
+  <string id="58" name="course">
+    <value>Course:</value>
+  </string>
+  <string id="59" name="language">
+    <value>Language:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>ok</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>Cancel</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>Clear whiteboard</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Do you want that the whiteboard to be emptied before a new picture is added?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>Don't ask again</value>
+  </string>
+  <string id="65" name="no">
+    <value>no</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>Edit setup</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Confirmation request before emptying the whiteboard.</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>User Info</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>Clear Whiteboard</value>
+  </string>
+  <string id="70" name="undo">
+    <value>Undo</value>
+  </string>
+  <string id="71" name="redo">
+    <value>Redo</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>Select an Object</value>
+  </string>
+  <string id="73" name="text">
+    <value>Text</value>
+  </string>
+  <string id="74" name="paint">
+    <value>Paint</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>Draw Line</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>Draw Underline</value>
+  </string>
+  <string id="77" name="rect">
+    <value>Rectangle</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>Ellipse</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>Arrow</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>Delete</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>Apply for moderation</value>
+  </string>
+  <string id="82" name="apply">
+    <value>Apply</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>Cancel</value>
+  </string>
+  <string id="84" name="mod">
+    <value>I have a question</value>
+  </string>
+  <string id="85" name="close">
+    <value>Close</value>
+  </string>
+  <string id="86" name="italic">
+    <value>italic</value>
+  </string>
+  <string id="87" name="bold">
+    <value>bold</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>WAITING</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>A User wants to apply for moderation, you can either grant him only access to the whiteboard or completely switch the moderation role. User:</value>
+  </string>
+  <string id="90" name="accept">
+    <value>Accept</value>
+  </string>
+  <string id="91" name="reject">
+    <value>Reject</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>Cancel</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>Sending request to following Users</value>
+  </string>
+  <string id="94" name="accept">
+    <value>Accepted</value>
+  </string>
+  <string id="95" name="reject">
+    <value>Rejected</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>Change Moderator</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>You are not moderating this course!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>Moderator:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>This Room is full. Sorry please try again later.</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>Ellipse</value>
+  </string>
+  <string id="101" name="close">
+    <value>Close</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>input data error</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>4 or more characters; capitalization matters!</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>userpass must be at least 4 characters</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>The username is already taken</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>The email is already registered</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>System error please contact System-Admins</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>Login</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>User or EMail:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>Pass:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>Language</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>Sign In</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>Sign Up</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>User:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>Pass:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>ReType:</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Firstname:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Lastname:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>Mail:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>Country:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>Register</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>Cancel</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>Not a member?</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>Home</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>משתמשים</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>Groups</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>Organisations</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>Meeting-Rooms</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>public</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>Organisation</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>Enter</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>Login</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>Password</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>Retype</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Firstname</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Lastname</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>Mail</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>Birthday</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>Street/No</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>ZIP/Town</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>Country</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Adress-Info</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Userdata</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>Save</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>Save</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>USER-ID</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>Login</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>Firstname</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>Lastname</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>Show next</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>Show pre</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>Delete record</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>Cancel</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>Delete</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>New record</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>Refresh record</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>Delete record</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>Status</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>disabled</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>enabled</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>Organisations</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>Calendar</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>Close</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>Organisation-ID</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>Name</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>User</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>Moderator</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>Admin</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>Userlevel</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>Organisation</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>name</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>Add organisation</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>Add organisation</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>Cancel</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>Add</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>Remove Organisation</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>User</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>Add user</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>Delete user</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>Add user to Organization</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>Search user</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>Search</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>User</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>Organisation</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>Enter</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>Conferencerooms</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>Conferencerooms</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>ID</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>Name</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>public</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>Organisations</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>Meetingrooms</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>Name</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>Type</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>Public</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>Comment</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>Save and Export</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>load</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>Save As</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>Filename</value>
+  </string>
+  <string id="201" name="files">
+    <value>קבצים</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>Cancel</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>Save</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>Error</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>Loading</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>Objects loaded</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>Synchronizing, Users to wait:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>Loading Imagedata</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>Synchronizing, Users to wait:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>Clear Whiteboard</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>Clear Whiteboard, all data on Whiteboard will be lost</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Confirm before loading a file</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>Send invitation</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>Send invitation</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>Subject</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Recipient</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>Message</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Send</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>cancel</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>send</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>Userdata</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>Your nickname for this conference</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>Nick</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>Firstname</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>Lastname</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>Email</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>Language</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>enter</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>Loading</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>Data loading, please wait!</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>Wrong Password</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>Please enter two identical passwords with at least 6 characters</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>Wrong Mail</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>You have entered an invalid Mail-Adress</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>Registration Complete</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>Your account has been created. You can login now.</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>You cannot share your screen at the moment. Somebody else already share's its screen.</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Sharing forbidden</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Share/Record Screen</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Bad Bandwidth: You have not been able to syncronize the Screen. Frames will be dropped. If this Warning is shown often you could ask the moderator to reduce the Quality.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>Screen of:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Paint</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Document</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>Chat</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>קבצים</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Members</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Download original document</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>Download pdf document</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Load Presentation to whiteboard</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Configuration</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Drag this Object</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Resize this Object</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>of</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>Go to first Page</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>Go to previous Page</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>Go to next Page</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>Go to last Page</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Zoom --</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Zoom ++</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>Mr.</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Ms.</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Configuration</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>Key</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Configuration</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>Key</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>last update</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>updatedby</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>comment</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>Value</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>of</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>משתמשים</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>delete user from organisation</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>D</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>This user is already member of this organisation.</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>News</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Quicklinks</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Goto Conference</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Goto Auditorium</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Help and Support</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>Report a bug!</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>more</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Project Webside (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>User Mailing List (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Remember Login</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Content</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>My Home Page</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>My Scheduled Meetings</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>My Scheduled Events</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Public Meetings</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Private Meetings</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Public Events</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Private Events</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Public Content</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Private Content</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Personal Content</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value></value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Moderation</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>I have a question</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Polls</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Choose a file</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Settings</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Cam and Mic Settings</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Whiteboard Settings</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Exit</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Back to Rooms</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Logout</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Forgot your password?</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>Reset Password</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>By Mail</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>By Login</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>Your Mail</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>Your Login</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Send Mail with reset Link</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>No such email address was found. Make sure you enter the same email address you used to create your account.</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Please enter either a Mail or a Username</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>There is no User connected to this Username</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>The email containing a special link has been sent to your email address, please check your mailbox. If you still have not received a email, please adjust your email spam settings and resend confirmation email.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Error</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Message</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>Invalid Hash. No User found.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Reset Your Password</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Login</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>change Password</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>new Password</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>re-enter Password</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>The Passwords you entered weren't identical.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>4 or more characters; capitalization matters!</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>Password set. You can login now.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Unkown Error. Please report this to your Service-Team.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>Username not found</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Invalid Password</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Successfully Logged out</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Frontend Registration disabled.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>Invalid EMail</value>
+  </string>
+  <string id="340" name="registration">
+    <value>duplicate filename, please choose another filename</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>filename too short</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>Could not save Address</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>User added but you need to assign this User to an Organisation, otherwise he won't be able to sign-in.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>New Record</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>No Field found with this FieldId.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>No Label found for that Field.</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Admin Authorization required</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Language-Editor</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Language</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>Label-ID</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Label-Name</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Value</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Fieldvalues</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>LabelName</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>LabelValue</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>Label-ID</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>You did only delete the Label NOT the Field! You cannot delete the Field, it may has Labels in other Languages.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>Invalid Labelid. The FieldLanguagesvalues_Id cannot be found in the database.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>You cannot delete this Field. You can only delete Labels NOT Fields. There is no Label loaded at the moment, wether it is not selected any Field or there is no Label for this Language for that Field defined.</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>export</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>You need to logout to see any changes.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Add new language</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>delete language</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Add new language</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Name</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>add language</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Backup</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>goto first</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>goto previous</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>goto next</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>goto last</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>user speaks (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>turn sound on/off</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>System</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>Your Settings</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>hi,</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Edit your profile</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>New Messages:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Upload new Image</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Userdata - Export</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>All organisations must be already existing!</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>start export</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>By organisation</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>start export</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Userdata - Import</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>choose users.xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>import</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Export to XML - These files can be used to:&lt;br/&gt; - Contribute to the project - Import into another System&lt;br/&gt; - Backup - Customization&lt;br/&gt; - Put it into the language-directory for your next installation</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Choose a language file to import. &lt;br/&gt;Choose the right Langauge from the Combobox! &lt;br/&gt;No matter what the name of the file is, &lt;br/&gt;it will be imported into this language!</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>import - choose file</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Save as</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Name:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>Comment:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>save</value>
+  </string>
+  <string id="395" name="record">
+    <value>Recordings</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Recordings Viewer</value>
+  </string>
+  <string id="397" name="record">
+    <value>Recordings of public and private Rooms</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>משתמשים :</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>Joined:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Users in this Room:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>refresh</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>This Room is Full. Try again in a few minutes.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>click on a room to get details</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Chat with the users in this Room:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Room:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Users in this room:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>since:</value>
+  </string>
+  <string id="409" name="record">
+    <value>play recording</value>
+  </string>
+  <string id="410" name="record">
+    <value>Length:</value>
+  </string>
+  <string id="411" name="record">
+    <value>Date:</value>
+  </string>
+  <string id="412" name="record">
+    <value>Recorder Mode! You cannot change any values, this is a recorded File!</value>
+  </string>
+  <string id="413" name="record">
+    <value>Play this recording</value>
+  </string>
+  <string id="414" name="record">
+    <value>Play / Pause</value>
+  </string>
+  <string id="415" name="record">
+    <value>Record this Meeting</value>
+  </string>
+  <string id="416" name="record">
+    <value>stop recording</value>
+  </string>
+  <string id="417" name="record">
+    <value>Recording:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>There is already somebody recording in this meeting!</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Recording! By User:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>cancel</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>Recording will be canceled and not saved.</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>resume</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Close this window and resume recording</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>change Linecolor</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Choose Color</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Disable / Enable Linecolor</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>change Fillcolor</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>Disable / Enable Fillcolor</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Change Linewidth</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>Close</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>change Fontsize</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>Delete Recording</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Guest</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>By:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Name</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Room</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Date</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>cancel</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>start</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Name</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Date</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>Delete Server-Chatlog</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>Chat</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>send message</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Emoticons</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>Emoticons</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Choose Published Devices</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Audio and Video</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>Audio only</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>Video only</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>no Audio/Video (static Image)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>No Audio/Video from your PC will be published, instead of that a picture from your profile will be shown. Choose these settings if you have problems with your bandwidth or a very slow Internet connection.</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>MO</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>TU</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>WE</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>TH</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>FR</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>SA</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>SU</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>Monday</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Tuesday</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Wednesday</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Thursday</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Friday</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Saturday</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Sunday</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>CW</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Calendar week</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>January</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>February</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>March</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>April</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>May</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>June</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>July</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>August</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>September</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>October</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>November</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>December</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Calendar</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Participants</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Show Layout Settings</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Width | Height</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Video-Container</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Moderation-Container</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Whiteboard-Container</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Enabled</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Width | Height</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Files,Chat,Participants - Container</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Enabled</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Width | Height</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>The Moderator has left the Room. No one is presenting at the Moment. You could apply for Moderation or wait.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>There is no Moderator in this Room, but there are some Participants. You have to apply for Moderation or wait.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>Feedback $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Invitation</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Message from User:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Message:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Click this link to participate in the Meetings:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Click here to enter room</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>if you have problems with the link, please copy and paste this to your browser:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME SignUp</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>Your userdata:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Login:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Pass:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>EMail:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME-Team</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME Sign-Up</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - Reset Password</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Click on this link to enter a new password:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Click here to enter a new Password</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>if you have problems with the link, please copy and paste this to your browser:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>$APP_NAME Password Reset</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>Please enter a valid Date, for example 24.12.2001 (dd.mm.yyyy)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Please enter a valid EMail, for example name@mail.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Please enter a Float-Number, for example 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Please enter a Number (Integer), for example 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Please enter a valid Phone number, for example ++49 0123 123123</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Please enter a valid time, for example 12:23 (hh:mm)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Password protected</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Password</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Validity period</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Endless</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Period</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>One-Time</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Valid From:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Valid to:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Invitation To $APP_NAME</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>Not Invitation availible for this Invitation-Code</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>The Invitation was already used. This type of Invitation cannot be re-used.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>This Invitation-Code is not valid.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Password:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Check Password</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Invalid Password!</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>Audio_Video</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Syncronize Audio/Video</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>Login was correct, but the Session you tried is not active or stored on the Server. You have to get a new SessionId and retry login.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>The SessionId is not loggedin or has no Admin rights. The SOAP Gateway needs an User with Admin-Rights to embed new Users.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>This Session has no Remoteuser-Data connected. Wether you did not call the SOAP-Gateway before accessing the Application or you are usnig a wrong Session-ID</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>The recorder is currently Beta!</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>x-axis</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>y-axis</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>w</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>width</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>height</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Change Transparency</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Browser Open</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Browser Close</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>The Connection to the Server is lost. You need to reload the Application or/and check your Network.</value>
+  </string>
+  <string id="557" name="557">
+    <value>Pointer</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Synchronizing</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Synchronizing, please wait</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Download as SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Download as PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Download as JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Download as PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Download as TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Reminder:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Category:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Repetition:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>none</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Location:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Start</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>End</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Title:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Comment:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Invite People</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Daily</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Monthly</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Yearly</value>
+  </string>
+  <string id="578" name="alert">
+    <value>Appointment-end is after of appointment-start!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Please insert a title!</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>Activate this if you write in a right to left language (inverse word order)</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Dashboard</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Watch recorded Meetings or Events</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Meeting - Make a conference with 4 (up to 16) Users&lt;br/&gt;everybody will have audio + video access</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Event - Make a conference with up to 200 participents&lt;br/&gt;Only the Moderator will have audio/video</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Create users, rooms, organizations&lt;br/&gt; + change configuration</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Users in this Room now</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Login</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Loading Document. Please wait untill all Client have been synchronized.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Upload complete, converting Document ...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Start Upload</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Upload and Import Dialog. Please select a File from your Disk.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Cancel</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Select File</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Connections</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Value</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Login</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Connected since</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Room / Scope</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Kick User</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Kick User</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Do you really want to kick this Client from the Connection?&lt;br/&gt; This does only remove the Client from the current Room.The Client could re-login again.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Your session has been closed by an Administrator or Moderator.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Phone</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>User is the Moderator of this Room</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>User is allowed to draw on the Whiteboard</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Re) Start Audio/Video or change Device Settings</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Allow this User to draw on the Whiteboard</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Remove ability to draw on whiteboard</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>משתמשים</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>קבצים</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Whiteboard</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Chat</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Your account is assigned to multiple Organizations. Please choose one for this Session.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>This room is full at the moment. Please try again later.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Room Type</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Appointment Room</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Server Time</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - Reminder</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Message from User:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Message:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Click this link to participate in the Meetings:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Click here to enter room</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>if you have problems with the link, please copy and paste this to your browser:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>search intern</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>Add external</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>Firstname</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>Lastname</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>E-Mail</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Confirm logout</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Are you sure you want to logout now?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Actions</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Demo Room</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Demo Time</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Meeting Timer</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>This Room is a Demo Room. To disable this warning you either should get a private meeting room for your personal usage or set up an own Server. You will be automatically logged off in:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Moderated</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Please wait untill the Moderator has entered the Room. The Moderator can be either a Teacher, Admin or the creator of this Room.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Ok</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Incoming Screen Sharing</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>There is a new Screen Sharing incoming from the User:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Start Sharing</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Add new Meeting</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Meeting Room</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Event Room</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Moderation</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Moderate Users</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Moderate Rooms</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Do you want to change this User to become a Moderator of that Organization?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Please choose an Organization before you try to add a User to it!</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Organization - Moderator</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Do you really want to delete this User from the Organization?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>This User is Moderator</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>This User is No-Moderator</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Do you want this User to be not a Moderator of this Organization?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Add or delete Users or Rooms within your Organization</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Do you really want to delete this record?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Do you really want to delete this user from your organization? You will only delete the connection between the user and your organization, to really delete the user himself you have to login into the Administration-Panel.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>You cannot delete your own User!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>This Method needs an Adminstration Account to be invoked!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>There was no Session associated with this ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>This is an Administrator or Moderator account. You can only edit this account through the Administration Panel.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>To complete your registration please click on the following link. Or copy the URL to your browser bar.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Click to verify your E-Mail</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>No user was found for this Hash.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>This user is already activated!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>You did successfully activate your account!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Login Now</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Your account is not activated. First use the link in the Email you've received during registration.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>You successfully signed up. We've send an EMail with a verification Code to your Mail. Please check your Inbox.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Remove Moderation Role from this User</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Grant Moderation Rights to this User</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>User</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Access to whiteboard</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Moderator</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Moderation: Please choose any User on the List to grant him access to the Whiteboard, Moderation or Video.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>This User is already Moderator, so he has automatically the right to draw.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>This is you! You cannot remove the Moderation rights from yourself.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Allow this User to Publish his Audio / Video</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Remove Audio/Video of this User</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>I have a question</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>I would like to draw on whiteboard</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>I would like to share my Audio/Video</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>You are moderator of this room</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>You are allowed to draw on whiteboard</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>You are allowed to share your Audio/Video</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Message to Moderator</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>The User</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>would like to ask a question.&lt;br/&gt;&lt;br/&gt; &lt;i&gt;(Use the status Icons next to the user in the List of Users to add or remove the Moderation.)&lt;7i&gt;</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>would like to draw on whiteboard. Use the status Icons next to the user in the List of Users to add or remove the right to draw anything on the whiteboard.</value>
+  </string>
+  <string id="695" name="695">
+    <value>would like to share his Audio/Video. Use the status Icons next to the user in the List of Users to add or remove the right to share Audio/Video for any User.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>You have to wait until a Moderator enters the room.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Cancel</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Save</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Day</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Month</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Year</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Upload File</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Refresh</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Trash (Drag and Drop item here)</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>My Files (Home Drive)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Room Files (Public Drive)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Add File</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Delete Folder</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Edit Name</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>New Folder</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Are you sure you want to delete this Item?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Open Document</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Show all Files (Tree View)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Close Document</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Delete File</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>You are not allowed to draw anything on the Whiteboard. You have to become Moderator or at least get the Right to edit Whiteboard. You may ask a Moderator to give you that right.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Document Properties</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Start Java</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Start Flash</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>A user want to share his screen. Do you want to see it?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>You are currently sharing your Desktop. For stopping the Sharing Session please hit the Stop button in the Sharing Client.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Sharing Session</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>You are already sharing your desktop!</value>
+  </string>
+  <string id="728" name="sharing client">
+    <value>Desktop Viewer</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Desktop Sharer</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Click Start to publish your screen</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Start Sharing</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Pause Sharing</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Select your screen area:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Change width</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>The Sharer has finished this session!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Change height</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X-Offset</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y-Offset</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Width:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Height:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>Connection was closed by Server</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Cancel</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Start Java</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>If you close this session completely you are not able to restart the viewer for this session.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Confirm Closing Viewer Session</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Share Screen</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Record Session</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Co-Browsing</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Ooops, ... Firefox on Windows does not show clear Co-Browsing. Please use another Browser for using the Co-Browsing feature.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Previous</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Next</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Reload</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Home</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Load</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Add this website as Default website to your Profile.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Test Setup</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Use Audio or Video setup before you enter a room by recording for a few seconds. You can then replay your recording to check your voice and picture.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Don't show this test anymore</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Cancel</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Start Conference</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Do not ask again</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>You may proceed without testing if you do not plan to publish your voice or picture. Participants without Audio or Video can still use the Whiteboard, share their Desktop or write Chat messages.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="767">
+    <value>Level-Meter</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Press Start</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Start Event</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Choose Room</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Check Setup</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="774" name="start view">
+    <value>How to conference</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Start Recording</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Do not show Audio / Video Test (Recording) before entering a Conference</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Public Rooms</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Public Rooms are accessible for all Users.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Private Rooms</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Private Rooms are only accessible for users of the same organization.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>My Rooms</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Rooms in this section are created for personal usage. They are created through the calendar and have a start and a end date. They are only listed in this section as long as they are valid.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>You have to be moderator to do this.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Apply for moderation</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Apply for whiteboard access</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Apply for camera/microphone access</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>This Session Hash was already used. You cannot use it twice.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>START</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>יציאה</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Do you really want to exit? You might should clear uploaded documents, whiteboard and the chat history.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Exit conference</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Rooms</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Choose a room for a meeting</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>There is an unsaved Event in the Calendar. Please either save it or remove it.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Please add at least one attendee for your meeting!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Do you really want to delete this Event?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Warning</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Add Event</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>Day</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>Week</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>Month</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Description</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Attendees</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, your Web Conferencing Platform. Either follow the Instructions, press the start button to start to conference immediatelly or you goto the Calendar and set up a Conference for the future.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Plan a Meeting</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>To set up a conference you can add a new Event in the Calendar.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Need help?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Restricted</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Search</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Add</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>There is no User selected. Please select an item from the list first and then hit add.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Add Attendee</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Save</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Delete</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Event Details</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Default Moderators</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Name</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>E-Mail</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Add new default Moderator</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Is Super Moderator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>If the Room is moderated, User with Level Moderator or Administrator are automatically Moderator if they enter the Room. If you don't want to specify that and only want a certain User to become Moderator use the Default Moderator option.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>A Super Moderator is always a Moderator when he enters a Room, and nobody can remove the Moderation Flag from him</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Apply Super-Moderation to User</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Remove Super Moderation from User</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>If you add an Organization to the room only users of that Organization have access to it (This is only valid if the isPublic flag is set to false!)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Limitations</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organization</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Are you sure?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Do you really want to delete this Item? You have to press the save button to store the changes!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>There is no User selected. Please select first before you add it!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Add new Default Moderator</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Do you want to add the Super Moderation Flag for this User? A Super Moderator is not only Moderator of a Room, but also no other Moderator can remove the Moderation Flag for this User. You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Do you want to remove the Super Moderation Flag for this User? You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>This User is a Super-Moderator. You cannot remove the Moderation flag from a Super-Moderator!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Do you really want to delete this File/Folder?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Delete File/Folder?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Mrs.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Dr.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Properties</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Show mouse position to viewers</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Share Audio with SIP Applet</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Share Audio with SIP and Video with Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Full-Fit</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>View Screen</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>The user</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>wants to share its screen. Do you want to see it?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Close</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>The Session was closed by the sharing User!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>New Screen Sharing</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimize</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximize</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Recording Timeline</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>My Recordings</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Public Recordings</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Name</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Length</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Date</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>By</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>Download</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Main - Video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Recording</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>You may record and share your screen at the same time. To enable others to see your screen just hit the start button on the top. To only record the Session it is sufficient to click start recording.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Start Recording</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Stop Recording</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download the FLV-File</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Room</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>User has microphone on</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Allow User Questions</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Turn this off to prevent that any user is disturbing you in this room. Effect is that the Button to ask for Moderation ("I have a question") is not visible.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Rights</value>
+  </string>
+  <string id="882" name="flvrecording">
+    <value>Download as AVI</value>
+  </string>
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio only</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the Recording.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>The Recording is not yet ready for watching. Please retry in a couple of minutes again.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Recorder Message</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIP Applet is not Ready</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP-Account Settings</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP settings for each user. You can turn on or off SIP via the Administration &gt; Configuration (Key: enable_sip). The SIP data for each user should be created automatically. You can re-create the data by checking "Re-generate SIP Data"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. You should check the authentification data of your SIP-Provider and the SIP-Account Data for each User. As Administrator you are still able to login and check the Configuration. As User or Moderator you will be blocked from any interaction.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. Contact your Service Team!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet Message</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>The SIP-Applet is not ready. Accept the Applet please and click ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Get Moderation</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login the $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choose the User for this Video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>You are a Moderator in this Interview. You can decide who is speaking in this interview and you can start / stop the recording of the Session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Start Recording</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Stop Recording</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+    <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">

+    <value>Publish</value>

+  </string>

+  <string id="1466" name="sharing client">

+    <value>Start Publish</value>

+  </string>

+  <string id="1467" name="sharing client">

+    <value>Stop Publish</value>

+  </string>

+  <string id="1468" name="sharing client">

+    <value>Host</value>

+  </string>

+  <string id="1469" name="sharing client">

+    <value>Publish App</value>

+  </string>

+  <string id="1470" name="sharing client">

+    <value>Publish Id</value>

+  </string>

+  <string id="1471" name="sharing client">

+    <value>Reduce the width of the SharingScreen before you try to move it left</value>

+  </string>

+  <string id="1472" name="sharing client">

+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>

+  </string>

+  <string id="1473" name="sharing client">

+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>

+  </string>

+  <string id="1474" name="sharing client">

+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>

+  </string>

+  <string id="1475" name="sharing client">

+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>

+  </string>

+  <string id="1476" name="sharing client">

+    <value>Please start Screen sharing to be able to publish it</value>

+  </string>

+  <string id="1477" name="sharing client">

+    <value>Moderator permission required to start recording</value>

+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>

+  <string id="1492" name="conference menu">

+    <value>Ask moderator to share your whiteboard</value>

+  </string>

+</language>
diff --git a/WebContent/languages/hungarian.xml b/WebContent/languages/hungarian.xml
new file mode 100644
index 0000000..660abe0
--- /dev/null
+++ b/WebContent/languages/hungarian.xml
@@ -0,0 +1,4505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Konferencia</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>Találkozó</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>Előadás</value>
+  </string>
+  <string id="4" name="settings">
+    <value>Beállítások</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>Beállítások</value>
+  </string>
+  <string id="6" name="admin">
+    <value>Adminisztráció</value>
+  </string>
+  <string id="7" name="stop">
+    <value>Állj</value>
+  </string>
+  <string id="8" name="record">
+    <value>Felvétel</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>Nincs elérhető fájl</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>Felvétel az előadónál</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>Csatlakozott felhasználók:</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>Konferencia indítása</value>
+  </string>
+  <string id="13" name="myname">
+    <value>Nevem</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>VideoKonferencia</value>
+  </string>
+  <string id="15" name="import">
+    <value>Fájl feltöltés</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>Lista frissítése</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>To Main File</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>új szavazás</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>Új szavazás a konferencián.</value>
+  </string>
+  <string id="20" name="question">
+    <value>Kérdés:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>A szavazás típusa:</value>
+  </string>
+  <string id="22" name="create">
+    <value>Létrehoz</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>Infó: Minden bejelentkezett felhasználó értesül az új szavazásról.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>Szavazás létrehozása</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>Mégse</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>Igen/Nem</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>Szám 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>Szavazás</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>Előadónak kell lenned, hogy feltehess kérdést</value>
+  </string>
+  <string id="30" name="vote">
+    <value>A szavazatot elfogadtuk.</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>Erre a kérdésre már szavaztál.</value>
+  </string>
+  <string id="32" name="voting">
+    <value>Szavazz !</value>
+  </string>
+  <string id="33" name="answer">
+    <value>Válasz:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>Igen</value>
+  </string>
+  <string id="35" name="no">
+    <value>Nem</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>Tudni akarja:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>Szavazás eredménye</value>
+  </string>
+  <string id="38" name="question">
+    <value>Kérdés:</value>
+  </string>
+  <string id="39" name="results">
+    <value>Eredmény:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>Válaszok:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>Nincs elindított szavazás.</value>
+  </string>
+  <string id="42" name="votings">
+    <value>Szavazz!</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>Találkozó (max. 4 ülőhely)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>Előadás (max. 50 ülőhely)</value>
+  </string>
+  <string id="45" name="type">
+    <value>Típus</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>Szabad ülőhelyek</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>Foglalt ülőhelyek</value>
+  </string>
+  <string id="48" name="enter">
+    <value>bevitel</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>A előadó elhagyta a találkozót.</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>Rendszer információk</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>Válassz eszközt</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Válassz webkamerát:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>Válassz mikrofont:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>Rendben</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>Mégse</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>Újra be kell jelentkezned.</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>Beállítások módosítása.</value>
+  </string>
+  <string id="58" name="course">
+    <value>Téma:</value>
+  </string>
+  <string id="59" name="language">
+    <value>Nyelv:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>Rendben</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>Mégse</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>Tábla törlése</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Szeretnéd, hogy a tábla törölve legyen mielőtt új kép lesz hozzáadva?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>Ne kérdezd többször</value>
+  </string>
+  <string id="65" name="no">
+    <value>Nem</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>Beállítások módosítása</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Megerősítés a tábla törlése előtt</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>Felhasználói információ</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>Rajzterület törlése</value>
+  </string>
+  <string id="70" name="undo">
+    <value>Vissza</value>
+  </string>
+  <string id="71" name="redo">
+    <value>Újra</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>Válassz objektumot</value>
+  </string>
+  <string id="73" name="text">
+    <value>Szöveg</value>
+  </string>
+  <string id="74" name="paint">
+    <value>Rajz</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>Vonal</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>Aláhúzás</value>
+  </string>
+  <string id="77" name="rect">
+    <value>Négyszög</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>Ellipszis</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>Nyíl</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>a kiválasztott elem törlése</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>Jelentkezés előadónak</value>
+  </string>
+  <string id="82" name="apply">
+    <value>beállít</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>Mégse</value>
+  </string>
+  <string id="84" name="mod">
+    <value>Előadóvá válni</value>
+  </string>
+  <string id="85" name="close">
+    <value>bezár</value>
+  </string>
+  <string id="86" name="italic">
+    <value>dőlt</value>
+  </string>
+  <string id="87" name="bold">
+    <value>félkövér</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>VÁRAKOZIK</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>A felhasználó előadónak jelentkezik:</value>
+  </string>
+  <string id="90" name="accept">
+    <value>elfogad</value>
+  </string>
+  <string id="91" name="reject">
+    <value>elutasít</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>mégse</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>Kérelem küldése felhasználóknak:</value>
+  </string>
+  <string id="94" name="accept">
+    <value>Elfogadva</value>
+  </string>
+  <string id="95" name="reject">
+    <value>Elutasítva</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>Előadó változtatás</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>Te nem moderálod ezt az ülést!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>Előadó:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>A terem tele van. Kérem próbálja később.</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>Ellipszis</value>
+  </string>
+  <string id="101" name="close">
+    <value>bezár</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>beviteli adathiba</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>4 vagy több karakter; kis/nagybetű számít!</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>a felhasználói jelszónak legalább 4 karakternek kell lennie</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>A felhasználó már létezik</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>Az e-mail cím már regisztrálva van</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>Rendszerhiba, keresse fel a rendszergazdát.</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>Bejelentkezés</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>Felhasználó:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>Jelszó:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>Nyelv</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>Bejelentkezés</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>Bejelentkezni</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>Felhasználó:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>Jelszó:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>Újra:</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Keresztnév:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Családnév:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>E-mail:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>Ország:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>Regisztráció</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>Mégse</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>Regisztráció</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>Nyitó oldal</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>Felhasználók</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>Csoportok</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>Szervezet</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>Előadás-szoba</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>nyilvános</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>Szervezet</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>belépés</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>Bejelentkezési név</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>Jelszó</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>Újra</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Keresztnév</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Családnév</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>E-mail</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>Születésnap</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>Utca hsz.</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>Ir.szám/Település</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>Ország</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Megjegyzés</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Felhasználói adatok</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>mentés</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>Mentés</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>USER-ID</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>Bejelentkezés</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>Keresztnév</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>Családnév</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>következő mutatása</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>előző mutatása</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>bejegyzés törlése</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>mégse</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>törlés</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>új bejegyzés</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>bejegyzés frissítése</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>bejegyzés törlése</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>státusz</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>tiltott</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>engedélyezett</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>Szervezetek</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>naptár</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>bezár</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>Szervezet-ID</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>Név</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>Felhasználó</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>Előadó</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>Adminisztrátor</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>felhasználó szint</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>Szervezet</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>név</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>szervezet hozzáadása</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>szervezet hozzáadása</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>mégse</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>hozzáad</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>szervezet törlése</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>felhasználó</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>felhasználó hozzáadása</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>felhasználó törlése</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>felhasználó hozzáadása</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>felhasználó keresése</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>keres</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>felhasználó</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>Szervezet</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>Belépés</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>Konferenciatermek</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>Konferenciatermek</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>id</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>Név</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>nyilvános</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>Szervezetek</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>Találkozószobák</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>Név</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>Típus</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>Nyilvános</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>Megjegyzés</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>mentés</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>betölt</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>mentés mint</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>Fájlnév</value>
+  </string>
+  <string id="201" name="files">
+    <value>fájlnév</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>mégse</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>mentés</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>hiba</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>betöltés</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>objektum betöltve</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>kliensek szinkronizálása, várakozó kliensek:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>Képinformációk betöltése</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>kliensek szinkronizálása, várakozó kliensek:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>rajzterület törlése</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>rajzterület törlése, a tábla adatai elvesznek</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Megerősítés mielőtt a fájlt betöltené</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>Meghívó küldése</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>Meghívó küldése</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>Tárgy</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Címzett</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>Üzenet</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Elküld</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>mégse</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>elküld</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>Felhasználói adat</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>A beceneved ehhez a konferenciához</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>Becenév</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>Keresztnév</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>Családnév</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>Email</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>Nyelv</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>bevitel</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>Betöltés</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>Adatok betöltése, kérlek várj!</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>Rossz jelszó</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>Adj meg két megegyező legalább 6 karakter hosszú jelszót</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>Hibás e-mail</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>Hibás e-mail címet adtál meg</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>A regisztráció megtörtént</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>Az fiókod elkészült. Beléphetsz.</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>A képernyődet nem oszthatod meg most. Valaki más már megosztotta az övét.</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Megosztás megtiltva</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Képernyőmegosztás</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Hibás sávszélesség: Nem lehetett szinkronizálni a képenyődet. El lesznak dobva képkockák. Ha sokszor jelenik meg ez a figyelmeztetés, kérd meg a előadót, hogy a minőséget vegye vissza.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>Képernyő:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Rajz</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Dokumentum</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>Csevej</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>Fájlok</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Tagok</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Eredeti dokumentum letöltése</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>pdf letöltése</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Bemutató betöltése a táblára</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Beállítások</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Objektum mozgatása</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Objektum átméretezése</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>-</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>Ugrás az első oldalra</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>Ugrás az előző oldalra</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>Ugrás a következő oldalra</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>Ugrás az utolsó oldalra</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Kicsinyít --</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Nagyít ++</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>Úr</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Hölgy</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Beállítás</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>Kulcs</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Beállítás</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>Kulcs</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>utolsó módosítás</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>módosítva</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>megjegyzés</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>Érték</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>-</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>Felhasználók</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>felhasználó törlése a szervezetből</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>töröl</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>Ez a felhasználó már tagja a szervezetnek.</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>Hírek</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Gyorslinkek</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Konferenciára megyek</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Előadásra megyek</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Segítség</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>Hibabejel.!</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>tovább</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Projekt weboldala (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>Felhasználói levelezőlista (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Bejelentkezés megjegyzése</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Tartalom</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>Kezdőoldalam</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>Találkozóim</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>Eseményeim</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Nyilvános találkozók</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Zártkörű találkozók</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Nyilvános előadások</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Zártkörű előadások</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Nyilvános tartalmak</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Zártkörű tartalmak</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Személyes tartalmak</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value></value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Moderálás</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>Jelentkezés előadónak</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Szavazás</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Fájl választás</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Beállítások</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Kamera és mikrofon beállítások</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Tábla beállítások</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Kilép</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Vissza a szobákhoz</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Kilépés</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Elfelejtetted a jelszavad?</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>Jelszó törlése</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>E-mail alapján</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>Bejelentkezés alapján</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>Az e-mail címed</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>A bejelentkező neved</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Levél küldése (with reset link)</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>Nem található az e-mail cím. Ellenőrizd, hogy ugyanazt az e-mail címet adtad meg amit a felhasználó létrehozásához használtál.</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Kérlek add meg az e-mail címet vagy felhasználói nevet.</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>Nincs felhasználó ehhez a névhez.</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>A levél, amit küldtünk neked, tartalmaz egy speciális linket, ellenőrizd a postafiókodat. Ha még nem kaptad meg a levelet, állítsd be a spamszűrődet és küldd újra a megerősítő e-mail-t.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Hiba</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Üzenet</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>Rossz Hash. A felhasználható nem található.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Jelszó törlése</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Bejelentkező név</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>Jelszóváltás</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>Új jelszó</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>Jelszó újra</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>A begépelt jelszavak nem egyeznek meg.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>4 vagy több karakter; kis/nagybetű számít!</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>Jelszó beállítva. Bejelentkezhetsz.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>Rendben</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Ismeretlen hiba. Írd meg a fejlesztőknek.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>Felhasználónév nem található</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Hibás jelszó</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Sikeres kijelentkezés</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Regisztráció letiltva.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>Hibás E-mail</value>
+  </string>
+  <string id="340" name="registration">
+    <value>létező fájlnév, válassz mást</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>a fájlnév túl rövid</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>Cím nem menthető</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>Felhasználó hozzáadva de hozzá kell rendelni Szervezethez, különben nem fog tudni bejelentkezni.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>Új bejegyzés</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>No Field found with this FieldId.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>No Label found for that Field.</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Adminisztrátori jog szükséges</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Nyelv-szerkesztő</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Nyelv</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>Cimke-ID</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Cimke-név</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Érték</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Mezőértékek</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>Cimkenév</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>Cimkeérték</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>Cimke-ID</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>Csak a cimke értékét törölheted és nem a mezőt! A mezőt nem törölheted, mert más nyelvben szükséges lehet.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>Hibás cimke-ID. A FieldLanguagesvalues_Id nem található az adatbázisban.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>Ez a mező nem törölhető. Csak a cimke értékét törölheted. Nincs betöltött cimke, vagy nincs kiválasztva vagy nincs definiálva ehhez a nyelvhez.</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>exportálás</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>Ki kell jelentkezned, hogy lásd a változásokat.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Új nyelv hozzáadása</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>Nyelv törlése</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Új nyelv hozzáadása</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Név</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>nyelv hozzáadása</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Mentés</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>ugrás az elsőre</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>ugrás az előzőre</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>ugrás a következőre</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>ugrás az utolsóra</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>a felhasználó beszél (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>hang ki/bekapcsolása</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>Rendszer</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>Beállításaid</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>Üdv,</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Személyes adatok szerkesztése</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>Új üzenetek:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Új kép feltöltése</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Felh.adatok - mentés</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>Minden szervezetnek léteznie kell!</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>exportálás indítása</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>Szervezetek szerint</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>exportálás indítása</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Felh.adatok - betöltés</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>válassz users.xml -t</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>betöltés</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>XML-be mentés - Ezek a fájlok felhasználhatók: - A projektnek felajánlható - Más rendszerbe betölthető - Mentés - Személyre szabható - Betehető a language könyvtárba telepítéshez</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Válassz ki egy betöltendő nyelvi fájlt. Válaszd ki a kívánt nyelvet a legördülő menüből! Mindegy, hogy a fájlnak mi a neve, a kiválasztott nyelvhez lesz mentve!</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>betöltés - válassz fájlt</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Mentés mint</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Név:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>Megjegyzés:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>mentés</value>
+  </string>
+  <string id="395" name="record">
+    <value>Felvételek</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Felvételek megtekintése</value>
+  </string>
+  <string id="397" name="record">
+    <value>Nyilvános és zártkörű szobák felvételei</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>Felhasználók :</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>Csatlakozott:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Felhasználók ebben a szobában:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>frissítés</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>A szoba megtelt. Próbálkozz pár perc múlva.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>kattints a szobára az információkér</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Csevegés a felhasználókkal a szobában:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Szoba:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Felhasználók a szobában:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>innentől:</value>
+  </string>
+  <string id="409" name="record">
+    <value>felvétel lejátszása</value>
+  </string>
+  <string id="410" name="record">
+    <value>Hossz:</value>
+  </string>
+  <string id="411" name="record">
+    <value>Dátum:</value>
+  </string>
+  <string id="412" name="record">
+    <value>Felvétel üzemmód! Nem változtatható meg egy érték sem, mert ez egy felvett fájl!</value>
+  </string>
+  <string id="413" name="record">
+    <value>A felvétel lejátszása</value>
+  </string>
+  <string id="414" name="record">
+    <value>Lejátszás / Megállítás</value>
+  </string>
+  <string id="415" name="record">
+    <value>Felvétel indítása</value>
+  </string>
+  <string id="416" name="record">
+    <value>Felvétel megállítása</value>
+  </string>
+  <string id="417" name="record">
+    <value>Felvétel:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>Már valaki felvételt készít:</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Felvétel! Felhasználó:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>mégse</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>A felvétel meg lesz szakítva mentés nélkül.</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>újraindít</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Zárd be az ablakot és indítsd újra a felvételt.</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>Vonalszin változtatás</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Szin választás</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Ki / Bekapcsolja a vonalszint</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>Kitöltőszin változtatás</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>Ki / Bekapcsolja a kitöltésszint</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Vonalvastagság változtatás</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>bezár</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>Betűméret változtatás</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>Felvétel törlés</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Vendég</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>Kitől:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Név</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Szoba</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Dátum</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>mégse</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>felvétel</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Név</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Dátum</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>Szerver-csevegési napló törlés</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>Csevegés</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>üzenet küldése</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Emoticons</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>Emoticons</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Válassz engedélyezett eszközt</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Hang és kép</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>Csak hang</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>Csak kép</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>Hang és kép nélkül (álló kép)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>Sem hang sem kép nem kerül megosztásra a gépedről, hanem a felhasználói adataidból a feltöltött kép. Használd ezt, ha gondjaid vannak a sávszélességgel vagy nagyon lassú az Interneted.</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>h</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>k</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>sz</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>cs</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>p</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>szo</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>v</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>hétfő</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>kedd</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>szerda</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>csütörtök</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>péntek</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>szombat</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>vasárnap</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>hsz</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Hetek száma</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>január</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>február</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>március</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>április</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>május</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>június</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>július</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>augusztus</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>szeptember</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>október</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>november</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>december</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Naptár</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Résztvevők</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Nézet beállítások megtekintése</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Szél. | Magasság</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Video-Ablak</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Előadói-Ablak</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Tábla-Ablak</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Engedélyezett</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Szél. | Magasság</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Fájlok,csevegés,résztvevők - Ablak</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Engedélyezett</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Szél. | Magasság</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>Az előadó elhagyta a szobát. Jelenleg nincs előadó. Jelentkezhetsz előadónak vagy várhatsz.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>Nincs előadó a szobában, de vannak résztvevők. Jelentkezz előadónak vagy várj.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>$APP_NAME visszajelzés</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Meghívó</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Üzenet ettől a felhasználótól:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Üzenet:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Kattints erre a linkre a találkozókon való részvételhez:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Kattints ide a szobába való belépéshez</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>ha problémád adódik a linkkel akkor ezt másold a böngésző címsorába:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME Regisztráció</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>Felhasználói adataid:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Bejel.név:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Jelszó:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>EMail:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME-Csapat</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME Regisztráció</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - Jelszó csere</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Kattints erre a linkre a jelszó cseréhez:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Kattints ide az új jelszó megadásához</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>ha problémád adódna a linkkel, kérlek másold át ezt a böngésződ címsorába:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>$APP_NAME Jelszó váltás</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>Kérlek adj meg egy érvényes dátumot, például 24.12.2001 (nn.hh.éééé)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Kérlek adj meg egy érvényes e-mail címet, például name@mail.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Kérlek adj meg egy számot, például 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Kérlek egész számoz adj meg, például 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Kérlek érvényes telefonszámot adj meg, például ++49 0123 123123</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Kérlek érvényes időpontot adj meg, például 12:23 (óó:pp)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Jelszóval védve</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Jelszó</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Érvényességi periódus</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Végtelen</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Időszak</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>Egyszer használható</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Ettől érvényes:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Eddig érvényes:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Meghívás OpenMeetingre</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>Nincs meghívás ehhez a meghívó kódhoz.</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>A meghívás már használva volt. Ez a típusú meghívás nem használható fel többször.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>A meghívó kód nem érvényes.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Jelszó:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Jelszó ellenőrzés</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Hibás jelszó!</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>Böngésző</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Hang/kép szinkronizáció</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>A bejelentkezés helyes volt, de session vagy nem aktív vagy nincs a szerveren tárolva. Újra be kell jelentkezned.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>Ez a SessionId nincs bejelentkezve, vagy nincsen adminisztrátori joga. A SOAP átjárónak adminisztrátori jogokkal kell egy felhasználó új felhasználó beágyazásához.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>Ehhez a Session-höz nincs Remoteuser-Data kapcsolat. Wether you did not call the SOAP-Gateway before accessing the Application or you are usnig a wrong Session-ID</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>A felvételkészítő egyenlőre béta állapotú!</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>x-axis</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>y-axis</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>w</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>width</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>height</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Change Transparency</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Browser Open</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Browser Close</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>The Connection to the Server is lost. You need to reload the Application or/and check your Network.</value>
+  </string>
+  <string id="557" name="557">
+    <value>Pointer</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Synchronizing</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Synchronizing Users, please wait</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Download as SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Download as PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Download as JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Download as PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Download as TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Reminder:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Category:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Repetition:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>none</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Location:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Start</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>End</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Title:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Comment:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Invite People</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Daily</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Monthly</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Yearly</value>
+  </string>
+  <string id="578" name="alert">
+    <value>Appointment-end is after of appointment-start!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Please insert a title!</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>Activate this if you write in a right to left language (inverse word order)</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Dashboard</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Watch recorded Meetings or Events</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Meeting - Make a conference with 4 (up to 16) Users&lt;br/&gt;everybody will have audio + video access</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Event - Make a conference with up to 200 participents&lt;br/&gt;Only the Moderator will have audio/video</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Create users, rooms, organizations&lt;br/&gt; + change configuration</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Users in this Room now</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Login</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Loading Document. Please wait untill all Client have been synchronized.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Upload complete, converting Document ...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Start Upload</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Upload and Import Dialog. Please select a File from your Disk.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Cancel</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Select File</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Connections</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Value</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Login</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Connected since</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Room / Scope</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Kick User</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Kick User</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Do you really want to kick this Client from the Connection?&lt;br/&gt; This does only remove the Client from the current Room.The Client could re-login again.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Your session has been closed by an Administrator or Moderator.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Phone</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>User is the Moderator of this Room</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>User is allowed to draw on the Whiteboard</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Re) Start Audio/Video or change Device Settings</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Allow this User to draw on the Whiteboard</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Remove ability to draw on whiteboard</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Users</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Files</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Whiteboard</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Chat</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Your account is assigned to multiple Organizations. Please choose one for this Session.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>This room is full at the moment. Please try again later.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Room Type</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Appointment Room</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Server Time</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - Reminder</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Message from User:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Message:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Click this link to participate in the Meetings:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Click here to enter room</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>if you have problems with the link, please copy and paste this to your browser:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>search intern</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>extern users</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>pre name</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>name</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>E-mail</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Confirm logout</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Are you sure you want to logout now?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Actions</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Demo Room</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Demo Time</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Meeting Timer</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>This Room is a Demo Room. To disable this warning you either should get a private meeting room for your personal usage or set up an own Server. You will be automatically logged off in:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Moderated</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Please wait untill the Moderator has entered the Room. The Moderator can be either a Teacher, Admin or the creator of this Room.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Ok</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Incoming Screen Sharing</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>There is a new Screen Sharing incoming from the User:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Start Sharing</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Add new Meeting</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Meeting Room</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Event Room</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Moderation</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Moderate Users</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Moderate Rooms</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Do you want to change this User to become a Moderator of that Organization?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Please choose an Organization before you try to add a User to it!</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Organization - Moderator</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Do you really want to delete this User from the Organization?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>This User is Moderator</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>This User is No-Moderator</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Do you want this User to be not a Moderator of this Organization?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Add or delete Users or Rooms within your Organization</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Do you really want to delete this record?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Do you really want to delete this user from your organization? You will only delete the connection between the user and your organization, to really delete the user itself you have to login into the Administration-Panel.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>You cannot delete your own User!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>This Method needs a Adminstration Account to be invoked!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>There was no Session associated with this ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>This is an Administrator or Moderator account. You can only edit this account through the Administration Panel.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>To complete your registration please click on the following link. Or copy the URL to your browser bar.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Click to verify your E-Mail</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>No user was found for this Hash.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>This user is already activated!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>You did successfully activate your account!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Login Now</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Your account is not activated. First use the link in the Email you've received during registration.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>You successfully signed up. We've send an EMail with a verification Code to your Mail. Please check your Inbox.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Remove Moderation Role from this User</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Grant Moderation Rights to this User</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>User</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Access to whiteboard</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Moderator</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Moderation: Please choose any User on the List to grant him access to the Whiteboard, Moderation or Video.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>This User is already Moderator, so he has automatically the right to draw.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>This is you! You cannot remove the Moderation rights from yourself.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Allow this User to Publish his Audio / Video</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Remove Audio/Video of this User</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>I would like to get the moderation of this room</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>I would like to draw on whiteboard</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>I would like to share my Audio/Video</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>You are moderator of this room</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>You are allowed to draw on whiteboard</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>You are allowed to share your Audio/Video</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Message to Moderator</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>The User</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>would like to get the Moderation. Use the status Icons next to the user in the List of Users to add or remove the Moderation.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>would like to draw on whiteboard. Use the status Icons next to the user in the List of Users to add or remove the right to draw anything on the whiteboard.</value>
+  </string>
+  <string id="695" name="695">
+    <value>would like to share his Audio/Video. Use the status Icons next to the user in the List of Users to add or remove the right to share Audio/Video for any User.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>You have to wait untill a Moderator enters the room.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Cancel</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Save</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Day</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Month</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Year</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Upload File</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Refresh</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Trash (Drag and Drop item here)</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>My Files (Home Drive)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Room Files (Public Drive)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Add File</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Delete Folder</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Edit Name</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>New Folder</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Are you sure you want to delete this Item?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Open Document</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Show all Files (Tree View)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Close Document</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Delete File</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>You are not allowed to draw anything on the Whiteboard. You have to become Moderator or at least get the Right to edit Whiteboard. You may ask a Moderator to give you that right.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Document Properties</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Start Client (external)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Start Client (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>A user want to share his screen. Do you want to see it?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>You are currently sharing your Desktop. For stopping the Sharing Session please hit the Stop button in the Sharing Client.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Sharing Session</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>You are already sharing your desktop!</value>
+  </string>  
+  <string id="728" name="sharing client">
+    <value>Desktop Viewer</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Exit</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Desktop Sharer</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Click Start to publish your screen</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Start Sharing</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Select your screen area:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Change width</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>The Sharer has finished this session!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Change height</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X-Offset</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y-Offset</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Width:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Height:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>Connection was closed by Server</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Cancel</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Start External</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>If you close this session completely you are not able to restart the viewer for this session.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Confirm Closing Viewer Session</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Share Screen</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Record Session</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Co-Browsing</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Ooops, ... Firefox on Windows does not show clear Co-Browsing. Please use another Browser for using the Co-Browsing feature.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Previous</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Next</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Reload</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Home</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Load</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Add this website as Default website to your Profile.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Test Setup</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Check you Microphone and Camera setup before you enter a room by recording some seconds. You can then replay your recording to check your voice and picture.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Don't show this test anymore</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Cancel</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Start Conference</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Do not ask again</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>You may proceed without testing if you do not plan to publish your voice or picture. Participants without Audio or Video can still use the Whiteboard, share their Desktop or write Chat messages.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="test setup">
+    <value>Level-Meter</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Press Start</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Start Event</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Choose Room</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Check Setup</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="774" name="start view">
+    <value>How to conference</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Start Recording</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Do not show Audio / Video Test (Recording) before entering a Conference</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Public Rooms</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Public Rooms are accessible for all Users.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Private Rooms</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Private Rooms are only accessible for users of the same organization.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>My Rooms</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Rooms in this section are created for personal usage. They are created through the calendar and have a start and a end date. They are only listed in this section as long as they are valid.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>You have to be moderator to do this.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Apply for moderation</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Apply for whiteboard access</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Apply for camera/microphone access</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>This Session Hash was already used. You cannot use it twice.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>START</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>EXIT</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Do you really want to exit? You might should clear uploaded documents, whiteboard and the chat history.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Exit conference</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Rooms</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Choose a room for a meeting</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>There is an unsaved Event in the Calendar. Please either save it or remove it.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Please add at least one attendee for your meeting!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Do you really want to delete this Event?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Warning</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Add Event</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>Day</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>Week</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>Month</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Description</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Attendees</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, your Web Conferencing Platform. Either follow the Instructions, press the start button to start to conference immediatelly or you goto the Calendar and set up a Conference for the future.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Plan a Meeting</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>To set up a conference you can add a new Event in the Calendar.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Need help?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Restricted</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Search</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Add</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>There is no User selected. Please select an item from the list first and then hit add.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Add Attendee</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Save</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Delete</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Event Details</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Default Moderators</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Name</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>E-Mail</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Add new default Moderator</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Is Super Moderator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>If the Room is moderated, User with Level Moderator or Administrator are automatically Moderator if they enter the Room. If you don't want to specify that and only want a certain User to become Moderator use the Default Moderator option.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>A Super Moderator is always a Moderator when he enters a Room, and nobody can remove the Moderation Flag from him</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Apply Super-Moderation to User</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Remove Super Moderation from User</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>If you add an Organization to the room only users of that Organization have access to it (This is only valid if the isPublic flag is set to false!)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Limitations</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organization</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Are you sure?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Do you really want to delete this Item? You have to press the save button to store the changes!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>There is no User selected. Please select first before you add it!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Add new Default Moderator</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Do you want to add the Super Moderation Flag for this User? A Super Moderator is not only Moderator of a Room, but also no other Moderator can remove the Moderation Flag for this User. You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Do you want to remove the Super Moderation Flag for this User? You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>This User is a Super-Moderator. You cannot remove the Moderation flag from a Super-Moderator!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Do you really want to delete this File/Folder?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Delete File/Folder?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Mrs.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Dr.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Properties</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Show mouse position to viewers</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Share Audio with SIP Applet</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Share Audio with SIP and Video with Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Full-Fit</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>View Screen</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>The user</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>wants to share its screen. Do you want to see it?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Close</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>The Session was closed by the sharing User!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>New Screen Sharing</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimize</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximize</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Recording Timeline</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>My Recordings</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Public Recordings</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Name</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Length</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Date</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>By</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>PLAY</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Main - Video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Recording</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>You may record and share your screen at the same time. To enable others to see your screen just hit the start button on the top. To only record the Session it is sufficient to click start recording.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Start Recording</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Stop Recording</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download the FLV-File</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Room</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>User has microphone on</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Allow User Questions</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Turn this off to prevent that any user is disturbing you in this room. Effect is that the Button to ask for Moderation ("I have a question") is not visible.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Rights</value>
+  </string>  
+  <string id="882" name="flvrecording">
+    <value>Download as AVI</value>
+  </string>  
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio only</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the Recording.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>The Recording is not yet ready for watching. Please retry in a couple of minutes again.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Recorder Message</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIP Applet is not Ready</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP-Account Settings</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP settings for each user. You can turn on or off SIP via the Administration &gt; Configuration (Key: enable_sip). The SIP data for each user should be created automatically. You can re-create the data by checking "Re-generate SIP Data"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. You should check the authentification data of your SIP-Provider and the SIP-Account Data for each User. As Administrator you are still able to login and check the Configuration. As User or Moderator you will be blocked from any interaction.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. Contact your Service Team!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet Message</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>The SIP-Applet is not ready. Accept the Applet please and click ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Get Moderation</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login the $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choose the User for this Video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>You are a Moderator in this Interview. You can decide who is speaking in this interview and you can start / stop the recording of the Session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Start Recording</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Stop Recording</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+    <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/indonesian.xml b/WebContent/languages/indonesian.xml
new file mode 100644
index 0000000..acf75b4
--- /dev/null
+++ b/WebContent/languages/indonesian.xml
@@ -0,0 +1,4505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Konferensi</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>Rapat</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>Event</value>
+  </string>
+  <string id="4" name="settings">
+    <value>Seting</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>Profil</value>
+  </string>
+  <string id="6" name="admin">
+    <value>Administrasi</value>
+  </string>
+  <string id="7" name="stop">
+    <value>Stop</value>
+  </string>
+  <string id="8" name="record">
+    <value>Rekam</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>File tidak tersedia</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>Rekaman dr dosen</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>Pengguna terkoneksi:</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>Mulai Konferensi</value>
+  </string>
+  <string id="13" name="myname">
+    <value>Nama Saya</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>Video Konferensi</value>
+  </string>
+  <string id="15" name="import">
+    <value>Simpan File</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>Panggil Ulang</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>Ke File Utama</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>Poling Baru</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>Poling Baru untuk Konferensi.</value>
+  </string>
+  <string id="20" name="question">
+    <value>Pertanyaan:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>Model Poling:</value>
+  </string>
+  <string id="22" name="create">
+    <value>Buat</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>Catatan: Setiap user terkoneksi akan menerima pesan dangan poling baru.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>Buat Poling</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>Batal</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>Ya/Tidak</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>Angka dari 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>Poling</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>Hanya moderator yang bisa membuat pertanyaan</value>
+  </string>
+  <string id="30" name="vote">
+    <value>Pilihan anda udah tercatat.</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>Anda telah melakukan pilihan pada Poling ini.</value>
+  </string>
+  <string id="32" name="voting">
+    <value>Pilih !</value>
+  </string>
+  <string id="33" name="answer">
+    <value>Respon Anda:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>Ya</value>
+  </string>
+  <string id="35" name="no">
+    <value>Tidak</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>Yang diinginkan:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>Hasil Poling</value>
+  </string>
+  <string id="38" name="question">
+    <value>Pertanyaan:</value>
+  </string>
+  <string id="39" name="results">
+    <value>Hasil:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>Jawaban:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>Belum ada poling yang dimulai.</value>
+  </string>
+  <string id="42" name="votings">
+    <value>Pilih!</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>Rapat (4 kursi maksimum)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>Konferensi (50 kursi maksimum)</value>
+  </string>
+  <string id="45" name="type">
+    <value>Tipe</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>Kursi lainnya</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>Sudah dipilih</value>
+  </string>
+  <string id="48" name="enter">
+    <value>masuk</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>Moderator meninggalkan rapat.</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>Sistem informasi</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>Pilih perangkat</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Pilih webcam:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>Pilih Mic:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>ok</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>batal</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>Anda harus konek kembali.</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>Edit seting.</value>
+  </string>
+  <string id="58" name="course">
+    <value>Kursus:</value>
+  </string>
+  <string id="59" name="language">
+    <value>Bahasa:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>ok</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>batal</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>hapus whiteboard</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Anda ingin whitboard di bersihkan sebelum gambar baru ditambahkan?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>Jangan bertanya lagi</value>
+  </string>
+  <string id="65" name="no">
+    <value>Tidak</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>Edit seting</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Diperlukan Konfirmasi sebelum membersihkan whiteboard.</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>Info Pengguna</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>bersihkan Area Gambar</value>
+  </string>
+  <string id="70" name="undo">
+    <value>Batal</value>
+  </string>
+  <string id="71" name="redo">
+    <value>Ulangi</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>Pilih Objek</value>
+  </string>
+  <string id="73" name="text">
+    <value>Tulisan</value>
+  </string>
+  <string id="74" name="paint">
+    <value>Gambar</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>Gambar garis</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>Gambar garis bawah</value>
+  </string>
+  <string id="77" name="rect">
+    <value>Kotak</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>Lonjong</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>Panah</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>Hapus item yg dipilih</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>Tambahkan ke moderator</value>
+  </string>
+  <string id="82" name="apply">
+    <value>Tambah</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>batal</value>
+  </string>
+  <string id="84" name="mod">
+    <value>Menjadi Moderator</value>
+  </string>
+  <string id="85" name="close">
+    <value>tutp</value>
+  </string>
+  <string id="86" name="italic">
+    <value>cetak miring</value>
+  </string>
+  <string id="87" name="bold">
+    <value>cetak tebal</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>TUNGGU</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>Peserta menginginkan masuk menjadi moderator:</value>
+  </string>
+  <string id="90" name="accept">
+    <value>diterima</value>
+  </string>
+  <string id="91" name="reject">
+    <value>ditolak</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>batal</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>Kirimkan permintaan ke beberapa peserta berikut</value>
+  </string>
+  <string id="94" name="accept">
+    <value>Diterima</value>
+  </string>
+  <string id="95" name="reject">
+    <value>Ditolak</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>Ganti Moderator</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>Anda bukan moderator dalam kursus ini!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>Moderator:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>Kelas penuh, coba lagi nanti.</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>Bentuk Lonjong</value>
+  </string>
+  <string id="101" name="close">
+    <value>tutup</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>entri data salah</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>4 karakter atau lebih; hurup kapital semua!</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>userpass harus lebih dari 4 karakter</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>username sudah terpakai</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>email sudah diregistrasi</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>System error silahkan kontak Admin</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>Login</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>User:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>Pass:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>Bahasa</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>Masuk</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>Mendaftar</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>User:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>Pass:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>Ulangi Pass:</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Nama Depan:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Nama Belakang:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>Email:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>Negara:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>Daftar</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>Batal</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>Bukan anggota?</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>Halaman Utama</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>User</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>Group</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>Organisasi</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>Ruang-Rapat</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>publik</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>organisasi</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>masuk</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>Login</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>Password</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>Ulangi Password</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Nama Depan</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Nama Belakang</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>Email</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>Ulang tahun</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>Jalan/No</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>Kodepos/Kota</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>Negara</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Informasi alamat</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Data User</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>simpan</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>Simpan</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>ID USER</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>login</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>nama depan</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>nama belakang</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>selanjutnya</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>sebelumnya</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>hapus rekot</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>batal</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>hapus</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>rekot baru</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>panggil ulang</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>hapus rekot</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>status</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>abaikan</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>aktifkan</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>organisasi</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>kalender</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>tutup</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>ID Organisasi</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>nama</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>user</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>mod</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>admin</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>level user</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>organisasi</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>nama</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>tambahkan organisasi</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>tambahkan organisasi</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>batal</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>tambah</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>hapus organisasi</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>user</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>tambah user</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>hapus user</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>tambah user</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>cari user</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>cari</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>user</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>organisasi</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>masuk</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>ruang konferensi</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>Ruang Konferensi</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>id</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>Nama</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>publik</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>organisasi</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>Ruang Rapat</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>nama</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>tipe</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>publik</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>komentar</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>simpan</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>panggil</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>simpan sebagai</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>nama file</value>
+  </string>
+  <string id="201" name="files">
+    <value>nama file</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>batal</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>simpan</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>salah</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>panggil</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>objek terpanggil</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>sinkronasi klien, harap menunggu:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>Panggil data gambar</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>sinkronasi klien, harap menunggu:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>bersihkan area gambar</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>area gambar di bersihkan, semua data akan hilang</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Konfirmasi sebelum panggil file</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>Kirim undangan</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>Kirim undangan</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>Judul</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Penerima</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>Pesan</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Kirim</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>Batal</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>batal</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>Data User</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>Nama panggilan anda untuk konferensi ini</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>Panggilan</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>nama depan</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>nama belakang</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>email</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>bahasa</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>masuk</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>Panggil</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>Data sedang dipanggil, tunggu!</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>Password salah</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>Silahkan masukan dua password yang sama, minimal 6 karakter</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>Email salah</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>Alamat email yang anda masukan salah</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>Registrasi Komplet</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>Akun anda udah dibuat, silahkan login sekarang.</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>Anda tidak dapat melakukan sharing layar anda, seseorang sedang melakukannya.</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Tidak diperbolekan melakukan Sharing</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Sharing layar anda</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Bandwidth kurang: Anda tidak dapat melakukan sinkronasi. Jika peringatan ini terjadi terus menerus, silahkan meminta moderator untuk menurunkan tingkat kualitas.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>Layar dari:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Gambar</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Dokumen</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>Chat</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>File</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Anggota</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Ambil dokumen asli</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>Ambil dokumen pdf</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Panggil presentasi ke dalam whiteboard</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Konfigurasi</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Drag Objek ini</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Atur ulang Objek ini</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>dari</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>Ke halaman utama</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>Ke halaman sebelumnya</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>Ke halaman selanjutnya</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>Ke halaman terakhir</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Kecilkan --</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Besarkan ++</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>Tuan.</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Nyonya.</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Konfigurasi</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>Kunci</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Konfigurasi</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>Kunci</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>update terakir</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>diupdate oleh</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>komentar</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>kunci</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>dari</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>User</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>hapus user dari organisasi</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>hapus</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>User ini udah teregistrasi dalam organisasi ini.</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>Berita</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Jalan singkat</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>ke Konferensi</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>ke Auditorium</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Support dan Bantuan</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>laporkan bug!</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>Selebihnya</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Website (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>Mailing List (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Ingat saya</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Konten</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>Home Page saya</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>Jadwal Rapat</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>Jadwal Acara</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Rapat Umum</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Rapat Tertutup</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Acara Umum</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Acara Khusus</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Konten Publik</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Konten Khusus</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Konten Personal</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value></value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Moderasi</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>Tambahkan ke moderasi</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Poling</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Pilih file</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Seting</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Seting Kamera dan Mic</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Seting Whiteboard</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Keluar</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Kembali ke ruangan</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Keluar</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Lupa password?</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>Ubah password</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>Lewat Email</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>Lewat Login</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>Email Anda</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>Login Anda</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Kirim email dengan alamat ubah password</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>Email tidak ditemukan. Pastikan email tersebut anda gunakan saat membuat akun.</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Silahkan masukan alamat email yang lain atau Username</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>Tidak ada User terkoneksi dengan Username ini</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>Email yang berisi informasi alamat baru telah dikirim ke email anda, silahkan cek email anda. Jika anda belum mendapatkan email, pastikan pada baigan seting spaming pada konfigurasi email anda dan kirimkan email lagi.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Salah</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Pesan</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>Hash tidak valid. User tidak ditemukan.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Isi Ulang Password Anda</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Login</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>ubah Password</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>Password baru</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>Tulis lagi Password anda</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>Pasword berbeda, silahkan ulangi lagi.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>4 karakter atau lebih, huruf kapital bermasalah!</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>Password sudah di seting. Anda dapat login sekarang.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Kesalahan belum terlacak. Silahkan laporkan ke Team Servis.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>Username tidak ditemukan</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Password tidak valid</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Sukses keluar dari sistem</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Halaman depan registrasi dimatikan.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>EMail tidak valid</value>
+  </string>
+  <string id="340" name="registration">
+    <value>Duplikasi nama file, silahkan menggunakan nama lain</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>nama file terlalu pendek</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>Alamat tidak dapat disimpan</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>User telah ditambahkan tetapi anda harus memasukan kedalam salah satu organisasi, jika tidak akan mengakibatkan gagal login.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>Rekot baru</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>Tidak ditemukan Kolom dengan ID kolom ini.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>Tidak ditemukan Label untuk kolom tersebut.</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Dibutuhkan Autorisasi sebagai Admin</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Editor Bahasa</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Bahasa</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>ID Label</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Nama Label</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Nilai</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Nilai Kolom</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>Nama Label</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>Nilai Label</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>ID Label</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>Anda hanya bisa hapus label bukan kolom! Anda tidak dapat menghapus kolom, mungkin ada label didalam bahasa yang lain.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>ID Label tidak valid. Kolom FieldLanguagesvalues_Id tidak dapat ditemukan dalam database.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>Anda tidak dapat menghapus kolom ini. Anda hanya dapat menghapus label bukan kolom. Tidak ada label yang dipanggil sekarang, Mungkin belum dipiliah salah satu kolom atau tidak ada definisi label untuk kolom yang dimaksud pada pilihan bahasa ini.</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>expor</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>Anda harus keluar dahulu untuk melihat perubahan.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Tambah pilihan bahasa</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>hapus pilihan bahasa</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Tambah pilihan bahasa</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Nama</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>Tambah pilihan bahasa</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Buat Arsip</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>awal</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>sebelumnya</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>selanjutnya</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>akhir</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>user yang berbicara (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>mode suara nyala/mati</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>Sistem</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>Setingan Anda</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>Hola,</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Edit profil anda</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>Pesan baru:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Kirim Gambar baru</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Expor - Data User</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>Semua organisasi harus sudah tersedia!</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>mulai expor</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>Berdasarkan organisasi</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>mulai expor</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Ambil - Data User</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>Pilih users.xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>ambil</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Expor dalam XML - File ini dapat di gunakan untuk : - Kontribusi kedalam project - Kirim ke sistem lain - Arsip - Opsi pilihan - Simpan ke dalam direktori bahasa - direktori untuk instalasi berikutnya</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Pilih file bahasa yang akan di ambil. Pilih bahasa yang benar dari form pilihan! Apapun nama filenya, yang dipilih yang akan diambil kedalam pilihan bahasa ini!</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>Ambil - pilih file</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Simpan sebagai</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Nama:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>komentar:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>simpan</value>
+  </string>
+  <string id="395" name="record">
+    <value>Proses rekam</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Proses rekam Tampilan</value>
+  </string>
+  <string id="397" name="record">
+    <value>Proses rekam dari Ruangan umum atau khusus</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>Users :</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>Terkoneksi:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Users dalam ruangan ini:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>panggil ulang</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>Ruangan ini penuh, silahkan mencoba lagi dalam beberapa menit.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>Klik pada Judul ruangan untuk melihat detilnya</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Chat dengan user dalam ruangan ini:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Ruangan:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Users dalam ruangan ini::</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>mulai sejak:</value>
+  </string>
+  <string id="409" name="record">
+    <value>Putar Rekaman</value>
+  </string>
+  <string id="410" name="record">
+    <value>Durasi:</value>
+  </string>
+  <string id="411" name="record">
+    <value>Tanggal:</value>
+  </string>
+  <string id="412" name="record">
+    <value>Modus Rekam! Anda tidak dapat melakukan perubahan. Ini adalah file hasil rekaman!</value>
+  </string>
+  <string id="413" name="record">
+    <value>Putar hasil rekam</value>
+  </string>
+  <string id="414" name="record">
+    <value>Play / Pause</value>
+  </string>
+  <string id="415" name="record">
+    <value>Mulai Rekam</value>
+  </string>
+  <string id="416" name="record">
+    <value>Stop Rekam</value>
+  </string>
+  <string id="417" name="record">
+    <value>Merekam:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>Seseorang sedang merekam sekarang :</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Sedang Rekam! Oleh:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>Batal</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>Proses rekam dibatalkan dan tidak disimpan.</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>lanjut</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Tutup jendela ini dan lanjut rekam</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>Ubah warnagaris</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Pilih Warna</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Aktipkan / Matikan warnagaris</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>Ubah isianwarna</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>Aktipkan / Matikan isianwarna</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Ubah besaran garis</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>tutup</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>ubah ukuran huruf</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>Hapus Rekaman</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Tamu</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>Oleh:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Nama</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Ruang</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Tanggal</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>batal</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>mulai</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Nama</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Tanggal</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>Hapus Log chat di Server</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>Chat</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>kirim pesan</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Emoticons</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>Emoticons</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Pilih Perangkat</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Audio dan Video</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>Hanya Audio</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>Hanya Video</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>Tidak ada Audio/Video (gambar saja)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>Tidak ada Audio/Video dari PC anda, hanya akan menampilkan gambar anda dari profile. Kemungkinan anda mengalami gangguan koneksi internet atau koneksi internet anda lambat.</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>Sn</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>Sl</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>Rb</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>Km</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>Jm</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>Sb</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>Mg</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>Senin</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Selasa</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Rabu</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Kamis</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Jumat</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Sabtu</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Minggu</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>CW</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Kelendar mingguan</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>Januari</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>Pebruari</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>Maret</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>April</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>Mei</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>Juni</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>Juli</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>Agustus</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>September</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>Oktober</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>November</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>Desember</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Kalendar</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Peserta</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Tampilkan Setingan Layout</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Lebar | Tinggi</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Jendela Video</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Jendela Moderation</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Jendela Whiteboard</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Fungsikan</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Lebar | Tinggi</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Jendela Files,Chat,Partizipants</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Fungsikan</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Lebar | Tinggi</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>Moderator meninggalkan Ruang. Tidak ada moderator sekarang. Anda dapat menjadi moderator atau menunggu sebentar.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>Tidak ada moderator sekarang, tetapi ada beberapa peserta. Anda harus menjadi moderator atau tunggu.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>Komentar tentang $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>Undangan - $APP_NAME</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Pesan dari peserta:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Pesan:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Klik link berikut untuk bergabung dalam rapat :</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Klik disini untuk masuk ke rapat</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>Jika anda mengalami kesulitan, silahkan copy dan paste link berikut ke browser :</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>Daptar ke $APP_NAME</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>Data anda:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Login:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Pass:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>Email:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>Tim - $APP_NAME</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>Daftar ke $APP_NAME</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>Seting ulang password -$APP_NAME</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Klik link berikut untuk menseting ulang password :</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Klik disini untuk isi password baru</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>ika anda mengalami kesulitan dengan link, silahkan copy dan paste ke browser :</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>Seting ulang password $APP_NAME</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>Silahkan isi tanggal dengan benar, contoh 24-12-2001 (dd-mm-yyyy)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Silahkan isi alamat email dengan benar, contoh nama@alamat.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Silahkan masukan angka pecahan, contoh 1,05</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Silahkan masukan angka, contoh 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Silahkan masukan nomor telepon, contoh +62 274 486883</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Silahkan masukan format jam, contoh 12:24 (hh:mm)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Terproteksi dengan Password</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Password</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Periode Valid</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Terakhir</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Periode</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>Sekali waktu</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Valid dari :</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Valid sampai dengan:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Undangan ke $APP_NAME</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>Tidak ada Undangan untu Kode undangan ini!</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>Undangan sudah terpakai, tidak bisa dipergunakan lagi.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>Kode - Undangan tidak valid.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Password:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Periksa Password</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Password salah!</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>audio_video</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Syncronize Audio/Video</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>Login was correct, but the Session you tried is not active or stored on the Server. You have to get a new SessionId and retry login.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>The SessionId is not loggedin or has no Admin rights. The SOAP Gateway needs an User with Admin-Rights to embed new Users.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>This Session has no Remoteuser-Data connected. Wether you did not call the SOAP-Gateway before accessing the Application or you are usnig a wrong Session-ID</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>The recorder is currently Beta!</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>x-axis</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>y-axis</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>w</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>width</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>height</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Change Transparency</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Browser Open</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Browser Close</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>The Connection to the Server is lost. You need to reload the Application or/and check your Network.</value>
+  </string>
+  <string id="557" name="557">
+    <value>Pointer</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Synchronizing</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Synchronizing Users, please wait</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Download as SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Download as PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Download as JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Download as PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Download as TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Reminder:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Category:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Repetition:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>none</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Location:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Start</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>End</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Title:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Comment:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Invite People</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Daily</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Monthly</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Yearly</value>
+  </string>
+  <string id="578" name="alert">
+    <value>Appointment-end is after of appointment-start!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Please insert a title!</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>Activate this if you write in a right to left language (inverse word order)</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Dashboard</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Watch recorded Meetings or Events</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Meeting - Make a conference with 4 (up to 16) Users&lt;br/&gt;everybody will have audio + video access</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Event - Make a conference with up to 200 participents&lt;br/&gt;Only the Moderator will have audio/video</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Create users, rooms, organizations&lt;br/&gt; + change configuration</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Users in this Room now</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Login</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Loading Document. Please wait untill all Client have been synchronized.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Upload complete, converting Document ...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Start Upload</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Upload and Import Dialog. Please select a File from your Disk.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Cancel</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Select File</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Connections</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Value</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Login</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Connected since</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Room / Scope</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Kick User</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Kick User</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Do you really want to kick this Client from the Connection?&lt;br/&gt; This does only remove the Client from the current Room.The Client could re-login again.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Your session has been closed by an Administrator or Moderator.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Phone</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>User is the Moderator of this Room</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>User is allowed to draw on the Whiteboard</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Re) Start Audio/Video or change Device Settings</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Allow this User to draw on the Whiteboard</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Remove ability to draw on whiteboard</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Users</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Files</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Whiteboard</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Chat</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Your account is assigned to multiple Organizations. Please choose one for this Session.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>This room is full at the moment. Please try again later.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Room Type</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Appointment Room</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Server Time</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - Reminder</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Message from User:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Message:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Click this link to participate in the Meetings:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Click here to enter room</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>if you have problems with the link, please copy and paste this to your browser:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>search intern</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>extern users</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>pre name</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>name</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>E-mail</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Confirm logout</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Are you sure you want to logout now?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Actions</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Demo Room</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Demo Time</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Meeting Timer</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>This Room is a Demo Room. To disable this warning you either should get a private meeting room for your personal usage or set up an own Server. You will be automatically logged off in:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Moderated</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Please wait untill the Moderator has entered the Room. The Moderator can be either a Teacher, Admin or the creator of this Room.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Ok</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Incoming Screen Sharing</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>There is a new Screen Sharing incoming from the User:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Start Sharing</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Add new Meeting</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Meeting Room</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Event Room</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Moderation</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Moderate Users</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Moderate Rooms</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Do you want to change this User to become a Moderator of that Organization?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Please choose an Organization before you try to add a User to it!</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Organization - Moderator</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Do you really want to delete this User from the Organization?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>This User is Moderator</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>This User is No-Moderator</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Do you want this User to be not a Moderator of this Organization?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Add or delete Users or Rooms within your Organization</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Do you really want to delete this record?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Do you really want to delete this user from your organization? You will only delete the connection between the user and your organization, to really delete the user itself you have to login into the Administration-Panel.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>You cannot delete your own User!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>This Method needs a Adminstration Account to be invoked!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>There was no Session associated with this ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>This is an Administrator or Moderator account. You can only edit this account through the Administration Panel.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>To complete your registration please click on the following link. Or copy the URL to your browser bar.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Click to verify your E-Mail</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>No user was found for this Hash.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>This user is already activated!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>You did successfully activate your account!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Login Now</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Your account is not activated. First use the link in the Email you've received during registration.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>You successfully signed up. We've send an EMail with a verification Code to your Mail. Please check your Inbox.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Remove Moderation Role from this User</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Grant Moderation Rights to this User</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>User</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Access to whiteboard</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Moderator</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Moderation: Please choose any User on the List to grant him access to the Whiteboard, Moderation or Video.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>This User is already Moderator, so he has automatically the right to draw.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>This is you! You cannot remove the Moderation rights from yourself.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Allow this User to Publish his Audio / Video</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Remove Audio/Video of this User</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>I would like to get the moderation of this room</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>I would like to draw on whiteboard</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>I would like to share my Audio/Video</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>You are moderator of this room</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>You are allowed to draw on whiteboard</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>You are allowed to share your Audio/Video</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Message to Moderator</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>The User</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>would like to get the Moderation. Use the status Icons next to the user in the List of Users to add or remove the Moderation.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>would like to draw on whiteboard. Use the status Icons next to the user in the List of Users to add or remove the right to draw anything on the whiteboard.</value>
+  </string>
+  <string id="695" name="695">
+    <value>would like to share his Audio/Video. Use the status Icons next to the user in the List of Users to add or remove the right to share Audio/Video for any User.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>You have to wait untill a Moderator enters the room.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Cancel</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Save</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Day</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Month</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Year</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Upload File</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Refresh</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Trash (Drag and Drop item here)</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>My Files (Home Drive)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Room Files (Public Drive)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Add File</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Delete Folder</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Edit Name</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>New Folder</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Are you sure you want to delete this Item?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Open Document</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Show all Files (Tree View)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Close Document</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Delete File</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>You are not allowed to draw anything on the Whiteboard. You have to become Moderator or at least get the Right to edit Whiteboard. You may ask a Moderator to give you that right.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Document Properties</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Start Client (external)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Start Client (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>A user want to share his screen. Do you want to see it?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>You are currently sharing your Desktop. For stopping the Sharing Session please hit the Stop button in the Sharing Client.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Sharing Session</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>You are already sharing your desktop!</value>
+  </string>  
+  <string id="728" name="sharing client">
+    <value>Desktop Viewer</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Exit</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Desktop Sharer</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Click Start to publish your screen</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Start Sharing</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Select your screen area:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Change width</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>The Sharer has finished this session!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Change height</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X-Offset</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y-Offset</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Width:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Height:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>Connection was closed by Server</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Cancel</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Start External</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>If you close this session completely you are not able to restart the viewer for this session.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Confirm Closing Viewer Session</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Share Screen</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Record Session</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Co-Browsing</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Ooops, ... Firefox on Windows does not show clear Co-Browsing. Please use another Browser for using the Co-Browsing feature.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Previous</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Next</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Reload</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Home</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Load</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Add this website as Default website to your Profile.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Test Setup</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Check you Microphone and Camera setup before you enter a room by recording some seconds. You can then replay your recording to check your voice and picture.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Don't show this test anymore</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Cancel</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Start Conference</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Do not ask again</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>You may proceed without testing if you do not plan to publish your voice or picture. Participants without Audio or Video can still use the Whiteboard, share their Desktop or write Chat messages.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="test setup">
+    <value>Level-Meter</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Press Start</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Start Event</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Choose Room</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Check Setup</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="774" name="start view">
+    <value>How to conference</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Start Recording</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Do not show Audio / Video Test (Recording) before entering a Conference</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Public Rooms</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Public Rooms are accessible for all Users.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Private Rooms</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Private Rooms are only accessible for users of the same organization.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>My Rooms</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Rooms in this section are created for personal usage. There are some standard rooms plus the ones that are created through the calendar and have a start and an end date. The rooms created via the calendar are only listed in this section as long as they are valid.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>You have to be moderator to do this.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Apply for moderation</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Apply for whiteboard access</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Apply for camera/microphone access</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>This Session Hash was already used. You cannot use it twice.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>START</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>EXIT</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Do you really want to exit? You might should clear uploaded documents, whiteboard and the chat history.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Exit conference</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Rooms</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Choose a room for a meeting</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>There is an unsaved Event in the Calendar. Please either save it or remove it.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Please add at least one attendee for your meeting!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Do you really want to delete this Event?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Warning</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Add Event</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>Day</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>Week</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>Month</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Description</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Attendees</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, your Web Conferencing Platform. Either follow the Instructions, press the start button to start to conference immediatelly or you goto the Calendar and set up a Conference for the future.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Plan a Meeting</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>To set up a conference you can add a new Event in the Calendar.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Need help?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Restricted</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Search</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Add</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>There is no User selected. Please select an item from the list first and then hit add.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Add Attendee</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Save</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Delete</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Event Details</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Default Moderators</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Name</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>E-Mail</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Add new default Moderator</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Is Super Moderator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>If the Room is moderated, User with Level Moderator or Administrator are automatically Moderator if they enter the Room. If you don't want to specify that and only want a certain User to become Moderator use the Default Moderator option.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>A Super Moderator is always a Moderator when he enters a Room, and nobody can remove the Moderation Flag from him</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Apply Super-Moderation to User</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Remove Super Moderation from User</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>If you add an Organization to the room only users of that Organization have access to it (This is only valid if the isPublic flag is set to false!)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Limitations</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organization</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Are you sure?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Do you really want to delete this Item? You have to press the save button to store the changes!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>There is no User selected. Please select first before you add it!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Add new Default Moderator</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Do you want to add the Super Moderation Flag for this User? A Super Moderator is not only Moderator of a Room, but also no other Moderator can remove the Moderation Flag for this User. You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Do you want to remove the Super Moderation Flag for this User? You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>This User is a Super-Moderator. You cannot remove the Moderation flag from a Super-Moderator!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Do you really want to delete this File/Folder?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Delete File/Folder?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Mrs.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Dr.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Properties</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Show mouse position to viewers</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Share Audio with SIP Applet</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Share Audio with SIP and Video with Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Full-Fit</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>View Screen</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>The user</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>wants to share its screen. Do you want to see it?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Close</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>The Session was closed by the sharing User!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>New Screen Sharing</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimize</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximize</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Recording Timeline</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>My Recordings</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Public Recordings</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Name</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Length</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Date</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>By</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>PLAY</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Main - Video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Recording</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>You may record and share your screen at the same time. To enable others to see your screen just hit the start button on the top. To only record the Session it is sufficient to click start recording.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Start Recording</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Stop Recording</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download the FLV-File</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Room</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>User has microphone on</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Allow User Questions</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Turn this off to prevent that any user is disturbing you in this room. Effect is that the Button to ask for Moderation ("I have a question") is not visible.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Rights</value>
+  </string>
+  <string id="882" name="flvrecording">
+    <value>Download as AVI</value>
+  </string>  
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio only</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the Recording.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>The Recording is not yet ready for watching. Please retry in a couple of minutes again.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Recorder Message</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>  
+  <string id="892" name="sip applet">
+    <value>SIP Applet is not Ready</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP-Account Settings</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP settings for each user. You can turn on or off SIP via the Administration &gt; Configuration (Key: enable_sip). The SIP data for each user should be created automatically. You can re-create the data by checking "Re-generate SIP Data"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. You should check the authentification data of your SIP-Provider and the SIP-Account Data for each User. As Administrator you are still able to login and check the Configuration. As User or Moderator you will be blocked from any interaction.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. Contact your Service Team!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet Message</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>The SIP-Applet is not ready. Accept the Applet please and click ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Get Moderation</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login the $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choose the User for this Video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>You are a Moderator in this Interview. You can decide who is speaking in this interview and you can start / stop the recording of the Session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Start Recording</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Stop Recording</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+    <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/italian.xml b/WebContent/languages/italian.xml
new file mode 100644
index 0000000..b248be7
--- /dev/null
+++ b/WebContent/languages/italian.xml
@@ -0,0 +1,4505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Conferenza</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>Riunione</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>Auditorium</value>
+  </string>
+  <string id="4" name="settings">
+    <value>Impostazioni</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>Utente</value>
+  </string>
+  <string id="6" name="admin">
+    <value>Amministrazione</value>
+  </string>
+  <string id="7" name="stop">
+    <value>Stop</value>
+  </string>
+  <string id="8" name="record">
+    <value>Registra</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>Nessun file disponibile</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>Solo il docente</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>Utenti connessi:</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>Inizia una conferenza</value>
+  </string>
+  <string id="13" name="myname">
+    <value>Il mio nome</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>Video Conferenza</value>
+  </string>
+  <string id="15" name="import">
+    <value>Carica presentazione</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>Aggiorna la lista</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>All'archivio principale</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>Nuovo sondaggio</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>Un nuovo sondaggio per la conferenza.</value>
+  </string>
+  <string id="20" name="question">
+    <value>Domanda:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>Tipo di sondaggio:</value>
+  </string>
+  <string id="22" name="create">
+    <value>Crea</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>Informazione: Ogni utente connesso riceve un messaggio con il nuovo sondaggio.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>Crea un sondaggio</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>Cancella</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>Si/No</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>Numerico 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>Sondaggio</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>Devi essere moderatore per creare una domanda</value>
+  </string>
+  <string id="30" name="vote">
+    <value>Il tuo voto è stato registrato.</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>Hai già votato per questo sondaggio.</value>
+  </string>
+  <string id="32" name="voting">
+    <value>Vota!</value>
+  </string>
+  <string id="33" name="answer">
+    <value>La tua risposta:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>Si</value>
+  </string>
+  <string id="35" name="no">
+    <value>No</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>Rispondi alle domande:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>Risultati del sondaggio</value>
+  </string>
+  <string id="38" name="question">
+    <value>Domanda:</value>
+  </string>
+  <string id="39" name="results">
+    <value>risultati:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>Risposte:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>Nessun sondaggio è attivo.</value>
+  </string>
+  <string id="42" name="votings">
+    <value>Vota!</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>Riunione</value>
+  </string>
+  <string id="44" name="conference">
+    <value>Auditorium (massimo 200 partecipanti)</value>
+  </string>
+  <string id="45" name="type">
+    <value>Tipo</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>Altri partecipanti</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>Già scelto</value>
+  </string>
+  <string id="48" name="enter">
+    <value>entra</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>Il moderatore ha lasciato la riunione.</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>Informazioni di sistema</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>Scegli il dispositivo</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Scegli la webcam:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>Scegli il microfono:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>ok</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>annulla</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>Devi riconnetterti.</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>Modifica le impostazioni.</value>
+  </string>
+  <string id="58" name="course">
+    <value>Corso:</value>
+  </string>
+  <string id="59" name="language">
+    <value>Lingua:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>ok</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>annulla</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>Cancella la lavagna</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Vuoi che la lavagna sia pulita prima di aggiungere una nuova immagine?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>Non chiedere ancora</value>
+  </string>
+  <string id="65" name="no">
+    <value>no</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>Modifica impostazioni</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Richiesta di conferma prima di pulire la lavagna.</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>Informazioni sull'utente</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>Pulisci la lavagna</value>
+  </string>
+  <string id="70" name="undo">
+    <value>Annulla le modifiche</value>
+  </string>
+  <string id="71" name="redo">
+    <value>Ripristina le modifiche</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>Seleziona un'oggetto</value>
+  </string>
+  <string id="73" name="text">
+    <value>Testo</value>
+  </string>
+  <string id="74" name="paint">
+    <value>Disegna</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>Disegna una linea</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>Evidenziatore</value>
+  </string>
+  <string id="77" name="rect">
+    <value>Rettangolo</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>Ellisse</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>Freccia</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>Cancella l'oggetto selezionato</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>Sottoponi al moderatore</value>
+  </string>
+  <string id="82" name="apply">
+    <value>applica</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>cancella</value>
+  </string>
+  <string id="84" name="mod">
+    <value>Diventa moderatore</value>
+  </string>
+  <string id="85" name="close">
+    <value>chiudi</value>
+  </string>
+  <string id="86" name="italic">
+    <value>corsivo</value>
+  </string>
+  <string id="87" name="bold">
+    <value>grassetto</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>ATTENDERE</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>Un utente vuole sottoporre al moderatore:</value>
+  </string>
+  <string id="90" name="accept">
+    <value>accetta</value>
+  </string>
+  <string id="91" name="reject">
+    <value>rifiuta</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>cancella</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>Invia la richiesta agli utenti seguenti</value>
+  </string>
+  <string id="94" name="accept">
+    <value>Accettata</value>
+  </string>
+  <string id="95" name="reject">
+    <value>Rifiutata</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>Cambia moderatore</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>Non sei il moderatore per questo corso!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>Moderatore:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>La stanza è piena. Spiacenti riprovare più tardi.</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>Ellisse</value>
+  </string>
+  <string id="101" name="close">
+    <value>chiudi</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>errori nei dati inseriti</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>Il nome utente deve essere di almeno 4 caratteri</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>la password deve essere di almeno 4 caratteri</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>Il nome utente è già in uso</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>L'indirizzo email è già stato usato</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>Errore di sistema, contattare l'amministratore</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>Login</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>Nome utente:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>Password:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>Lingua</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>Entra</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>Iscriviti</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>Nome utente:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>Password:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>Riscrivere:</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Nome:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Cognome:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>Email:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>Stato:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>Registrati</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>Annulla</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>Registrati</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>home</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>Utenti</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>Gruppi</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>Organizzazioni</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>Stanze delle conferenze</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>pubblico</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>organizzazione</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>entra</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>Login</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>Password</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>Riscrivere</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Nome</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Cognome</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>Email</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>Data di nascita</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>Indirizzo/civico</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>C.A.P/Città</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>Stato</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Informazioni</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Dati utente</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>salva</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>salva</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>ID-Utente</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>Login</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>nome</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>cognome</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>mostra prossimo</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>mostra precedente</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>Elimina il record</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>annulla</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>elimina</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>nuovo record</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>aggiorna record</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>elimina record</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>stato</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>disabilitato</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>abilitato</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>organizzazioni</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>calendario</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>chiudi</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>ID-organizzazione</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>nome</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>utente</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>mod</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>amministratore</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>livello utente</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>organizzazione</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>nome</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>aggiungi un'organizzazione</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>aggiungi un'organizzazione</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>annulla</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>aggiungi</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>rimuovi l'organizzazione</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>utente</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>aggiungi un'utente</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>elimina l'utente</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>aggiungi l'utente</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>cerca un utente</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>cerca</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>utente</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>organizzazione</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>entra</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>stanze delle conferenze</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>stanze delle conferenze</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>id</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>Nome</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>pubblico</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>organizzazioni</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>stanze delle conferenze</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>nome</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>tipo</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>pubblico</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>commento</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>salva</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>carica</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>salva con nome</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>nome del file</value>
+  </string>
+  <string id="201" name="files">
+    <value>nome del file</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>annulla</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>salva</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>errore</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>caricamento</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>oggetto caricato</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>sincronizzazione con i client, attendere:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>Caricamento delle immagini</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>sincronizzazione con i client, attendere:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>pulisci la lavagna</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>pulisci la lavagna, tutte le informazioni su di essa saranno perse</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Conferma prima di caricare il file</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>Invia un invito</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>Invia un invito</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>Soggetto</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Destinatario</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>Messaggio</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Invia</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>annulla</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>invia</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>dati utente</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>Il tuo appellativo per la conferenza</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>appellativo</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>nome</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>cognome</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>Email</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>lingua</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>entra</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>Caricamento</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>Caricamento dati, attendere prego!</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>Password sbagliata</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>Inserisci due password identiche di minimo 6 caratteri</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>Mail sbagliata</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>Hai inserito una mail non valida</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>Registrazione completata</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>Il tuo profilo è stato creato correttamente. Puoi effettuare il login.</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>Non è possibile condividere il tuo desktop in questo momento. Potrebbe essere in condivisione con qualcun'altro</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Condivisione non permessa</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Condivisione desktop</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>larghezza di banda insufficiente: Non sei abilitato a sincronizzare le immagini. i Frames saranno lasciati. Se visualizzi questo messaggio chiedi al moderatore di abbassare la qualità.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>immagine di:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Disegna</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Documento</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>Chat</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>Files</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Membri</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Scarica il documento originale</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>Scarica il documento PDF</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Carica la presentazione sulla lavagna</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Configurazione</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Muovi quest'oggetto</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Ripristina quest'oggetto</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>di</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>Vai alla prima pagina</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>Vai alla pagina precedente</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>Vai alla prossima pagina</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>Vai all'ultima pagina</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Zoom --</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Zoom ++</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>sig.</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Sig.ra</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Configurazione</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>Chiave</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Configurazione</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>Chiave</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>Ultimo aggiornamento</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>aggiornato da</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>commenti</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>chiave</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>di</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>Utenti</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>Cancella l'utente dall'organizzazione</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>cancella</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>Questo utente è già membro di questa organizzazione.</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>News</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Link veloce</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Vai alla Riunione</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Vai all'Auditorium</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Aiuto e supporto</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>Bug!</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>Altre informazioni</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Sito web del progetto (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>Mailing List utenti (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Ricorda utente</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Content</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>Mia Home Page</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>Mie conferenze fissate</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>Miei eventi fissati</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Conferenze pubbliche</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Conferenze private</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Eventi pubblici</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Eventi privati</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Contenuti pubblici</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Contenuti privati</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Contenuti personali</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value></value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Moderatore</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>Assegna moderatore</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Sondaggio</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Scegli un file</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Impostazioni</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Impostazioni Cam e Mic</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Impostazioni lavagna</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Esci</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Torna alle stanze</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Logout</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Visualizzatore desktop</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>Avvia visualizzatore desktop</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>Video e Audio</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>Chat</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>Lavagna</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>Moderatore</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Files</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>Utenti</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Sondaggio</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>Non ci sono utenti collegati con questo Username</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>Una mail, contenente un link, è stata inviata al tuo indirizzo email, controlla la tua posta. Se non hai ricevuto la mail, controlla il tuo filtro di spam e richiedi nuovamente la mail di conferma.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Errore</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Messaggio</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>Hash non valida. Utente non trovato.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Resetta la tua password</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Login</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>cambia password</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>nuova password</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>ripeti la password</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>Le password inserite non sono identiche.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>4 o più caratteri; sensibile alle maiuscole;</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>Password impostata. Ora puoi collegarti.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Errore sconosciuto. Contatta il tuo amministratore.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>Username non trovato</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Password non valida</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Scollegamento effettuato</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Registrazioni disabilitate.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>EMail non valida</value>
+  </string>
+  <string id="340" name="registration">
+    <value>nome del file duplicato, scegli un altro nome</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>nome di file troppo corto</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>Salvataggio di indirizzo non possibile</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>Utente aggiunto, ma deve essere assegnato ad un'organizzazione, altrimenti non potrà collegarsi.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>Nuova registrazione</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>Nessun testo trovato con questo ID.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>Nessun valore trovato per questo elemento.</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Permessi da amministratore richiesti</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Editor linguaggi</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Linguaggi</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>Identificativo-ID</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Identificativo-Nome</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Valore</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Record</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>Nome dell'identificativo</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>Testo</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>ID</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>Puoi cancellare solo l'identificativo, non il record! Potrebbe essere utilizzato in altri linguaggi.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>ID non valido. l'identificativo del linguaggio non è presente nel database.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>Non puoi cancellare questo campo. Puoi solo cancellare il contenuto non il campo. Non ci sono dati contenuti caricati in questo momento, potrebbe non esser stato scelto un campo o non ci sono contenuti impostati per questo linguaggio.</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>esporta</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>Devi scollegarti per vedere i cambiamenti.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Aggiungi un nuovo linguaggio</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>cancella linguaggio</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Aggiungi nuovo linguaggio</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Nome</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>aggiungi linguaggio</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Backup</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>vai al primo</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>vai al precedente</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>vai al prossimo</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>vai all'ultimo</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>utente parla (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>suono on/off</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>Sistema</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>I tuoi settaggi</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>ciao,</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Modifica il profilo</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>Nuovi messaggi:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Carica nuove immagini</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Esporta dati utente</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>Le organizzazioni devono esistere tutte!</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>Inizia esportazione</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>Per organizzazione</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>inizia esportazione</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Dati utente - Importazione</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>scegli users.xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>importa</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>esporta in XML - Questi file possono essere usati per: - Contribuire al progetto - Importare in altro sistema - Backup - Personalizzazione - Inserire nella directoy dei linguaggi della tua prossima installazione</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Scegli un file di linguaggio da importare. Scegli il giusto linguaggio dalla combobox! Non importa il nome del file, esso sarà importato in questo linguaggio!</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>importazione - file scelto</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Salva come</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Nome:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>Commento:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>save</value>
+  </string>
+  <string id="395" name="record">
+    <value>Registra</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Visualizzatore delle registrazioni</value>
+  </string>
+  <string id="397" name="record">
+    <value>Registrazioni di stanze private e pubbliche</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>Utenti:</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>Accedi:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Utenti nella stanza:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>ricarica</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>Questa stanza è piena. Riprova fra qualche minuto.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>premi su una stanza per avere dettagli</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Parla con gli utenti nella stanza:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Stanza:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Utenti in questa stanza:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>fino:</value>
+  </string>
+  <string id="409" name="record">
+    <value>vedi registrazione</value>
+  </string>
+  <string id="410" name="record">
+    <value>Durata:</value>
+  </string>
+  <string id="411" name="record">
+    <value>Data:</value>
+  </string>
+  <string id="412" name="record">
+    <value>Registrazione! Non puoi cambiare nessuna impostazione, è una registrazione!</value>
+  </string>
+  <string id="413" name="record">
+    <value>Vedi questa registrazione</value>
+  </string>
+  <string id="414" name="record">
+    <value>Play / Pause</value>
+  </string>
+  <string id="415" name="record">
+    <value>Avvia registrazione</value>
+  </string>
+  <string id="416" name="record">
+    <value>ferma registrazione</value>
+  </string>
+  <string id="417" name="record">
+    <value>Registrazione:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>C'e' già qualcuno che sta registrando in questo momento:</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Registrazione! dall'utente:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>cancella</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>La registrazione sarà cancellata e non salvata.</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>recupera</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Chiudi questa finestra e recupera registrazione</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>cambia colore della linea</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Scegli colore</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Disabilita / Abilita il colore della linea</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>cambia il colore di riempimento</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>Disabilita / abilita riempimento colore</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Cambia spessore linea</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>chiudi</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>cambia grandezza carattere</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>Cancella registrazione</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Ospite</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>Da:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Nome</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Stanza</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Data</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>cancella</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>inizio</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Nome</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Data</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>Cancella i log della chat sul server</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>Chat</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>invia messaggio</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Emoticons</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>Emoticons</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Scegli i devices da pubblicare</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Audio e Video</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>solo Audio</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>solo Video</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>no Audio/Video (immagine statica)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>Nessun Audio/Video del tuo PC saranno pubblicati, al loro posto sarà visualizzata l'immagine del tuo profilo. Scegli questa impostazione se hai problemi di banda o velocità di Internet.</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>LU</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>MA</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>ME</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>GI</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>VE</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>SA</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>DO</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>Lunedi</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Martedi</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Mercoledi</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Giovedi</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Venerdi</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Sabato</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Domenica</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>CW</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Calendario settimane</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>Gennaio</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>Febbraio</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>Marzo</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>Aprile</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>Maggio</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>Giugno</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>Luglio</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>Agosto</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>Settembre</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>Ottobre</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>Novembre</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>Dicembre</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Calendario</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Partecipanti</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Mostra i settaggi del layout</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Larghezza | Altezza</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Video-Container</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Moderatore-Container</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Lavagna-Container</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Abilitato</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Larghezza | Altezza</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Files,Chat,Partecipanti - Container</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Abilitato</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Larghezza | Altezza</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>Il moderatore ha lasciato la stanza. Nessuno è presente in questo momento. Tu puoi diventare moderatore o attendere.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>Non ci sono moderatori in questa stanza, ma ci sono dei partecipanti. Puoi diventare moderatore o attendere.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>Feedback $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Invito</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Messaggio dall'utente:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Messaggio:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Clicca questo link per partecipare alla conferenza:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Clicca qui per entrare nella stanza</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>se hai problemi con il link, per favore copia e incolla questo sul browser:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME SignUp</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>I tuoi dati:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Login:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Pass:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>EMail:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME-Team</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME Accesso</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - Re-imposta password</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Clicca su questo link per inserire una nuova password:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Clicca qui per inserire una nuova password</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>se hai problemi con il link, per favore copia e incolla questo sul browser:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>Reset della password di $APP_NAME</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>inserisci una data valida, per esempio 24.12.2001 (dd.mm.yyyy)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Inserisci un email valido, per esempio name@mail.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Inserisci un numero decimale, per esempio 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Inserisci un numero (Intero), per esempio 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Inserisci un numero di telefono valido, per esempio ++39 0461 123123</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Inserisci un orario valido, per esempio 12:23 (hh:mm)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Protetto da password</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Password</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Periodo di validità</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Senza scadenza</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Periodo</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>Una volta</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Valido da:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Valido fino:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Invito a $APP_NAME</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>Nessun invito presente per questo codice.</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>L'invito è già stato utilizzato. Questo tipo di invito non può essere riutilizzato.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>Il codice di invito non è valido.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Password:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Controlla password</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Password non valida!</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>Browser</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Sincronizzazione Audio/video</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>Accesso corretto, ma la sessione non è attiva o presente sul server. Sarà assegnato una nuova sessione e dovrà essere ripetuto l'accesso.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>La sessione non è collegata o non ha diritti di amministrazione. The SOAP Gateway necessita di un utente con diritti di amministrazione per creare un utente..</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>La sessione non ha utenti remoti-dati connessi. Potrebbe esser stato chiamato il SOAP-Gateway prima di effettuare l'accesso all'applicazione o è stato utilizzato un id di sessione errato.</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>La registrazione è in fase beta!</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>x-axis</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>y-axis</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>w</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>larghezza</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>altezza</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Cambia trasparenza</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Apri browser</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Chiudi browser</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>La connessione al serve è stata persa. E' necessario ricollegarsi all'applicazione e/o controllare la rete.</value>
+  </string>
+  <string id="557" name="557">
+    <value>Puntatore</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Sincronizzazione</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Sincronizzazione utenti, attendere</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>Scarica come SVG</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>Scarica come PNG</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>Scarica come JPG</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>Scarica come PDF</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>Scarica come TIF</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Promemoria:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Categoria:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Ripetizione:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>niente</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Località:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Inizio</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>Fine</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Titolo:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Commento:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Invita partecipanti</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Giornaliero</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Mensile</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Annuale</value>
+  </string>
+  <string id="578" name="alert">
+    <value>La data di fine è dopo quella di inizio dell'appuntamento!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Inserisci un titolo!</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>Attiva le la scrittura del tuo linguaggio va da destra a sinistra (inverte ordine parole)</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Cruscotto</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Guarda eventi e conferenze registrate</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Conferenza - Conferenze con 4 (fino a 16) utenti; tutti hanno accesso a audio e video</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Eventi - Conferenze fino a 200 utenti. Solo il moderatore ha audio e video</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Crea utenti, stanze, organizzazioni + cambia configurazione</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Utenti nella stanza ora</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Login</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Caricamento documento. Aspettare finché i client sono sincronizzati.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Caricamento completato, conversione del documento in corso ...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Inizia caricamento</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Carica e importa il dialogo. Scegli un file dal disco.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Annulla</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Scelta file</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Connessioni</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Value</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Login</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Connesso da</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Room / Scope</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Caccia utente</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Caccia utente</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Sei sicuro di voler chiudere la connessione a questo client? Il client sarà solamente rimosso dalla stanza corrente. Il client potrà ricollegarsi.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>La tua sessione è stata chiusa da un amministratore o moderatore</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Telefono</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>L'utente è il moderatore di questa stanza</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>L'utente è abilitato a disegnare sulla lavagna</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Ri) attiva Audio/Video o cambia le impostazioni</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Abilita questo utente a disegnare sulla lavagna</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Rimuovi possibilità di disegnare sulla lavagna</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Utenti</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Files</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Lavagna</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Chat</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Il tuo account è assegnato a più organizzazioni. Per favore scegline una per questa sessione.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>Questa stanza è piena al momento. Per favore riprova più tardi.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Tipo stanza</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Stanza appuntamenti</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Ora del server</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>Agenda</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Messaggio dall'utente:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Messaggio:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Clicca questo link per partecipare alla videoconferenza:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Clicca qui per entrare nella stanza</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>se hai problemi con il link, copia e incolla sul browser il seguente link:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>ricerca interna</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>utente esterno</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>titolo</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>nome</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>E-mail</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Conferma uscita</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Sei sicuro di voler uscire?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Azioni</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Stanza demo</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Orario demo</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Orario meeting</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>Questa stanza è una stanza demo. Per disabilitare questo avviso è necessario attivare una conferenza privata per uso ristretto o attivare un server dedicato. Sarai automaticamente sconnesso in:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>moderata</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Perfavore attendi finchè un moderatore si collega alla stanza. Il moderatore può essere un insegnante, un amministratore o il creatore della stanza.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Ok</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Condivisione schermo in ingresso</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>C'è una nuova condivisione di schermo in ingresso dall'utente:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Inizia condivisione</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Aggiungi nuovo meeting</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Stanza meeting</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Stanza eventi</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Moderazione</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Utenti moderatori</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Stanze moderate</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Vuoi modificare questo utente a diventare moderatore dell'organizzazione?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Perfavore scegli un organizzazione prima di aggiungere l'utente!</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Organizzazione - Moderatori</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Sei sicuro di cancellare questo utente dall'organizzazione?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>Questo utente è moderatore</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>Questo utente non è moderatore</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Vuoi che questo utente non sia moderatore dell'organizzazione?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Aggiungi o cancella utenti o stanze della tua organizzazione</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Sei sicuro di cancellare questo record?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Sei sicuro di cancellare questo utente dall'organizzazione? Sarà cancellato il legame tra utente e organizzazione, per cancellare completamente l'utente devi collegarti al pannello di amministratore.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>Non puoi cancellare te stesso!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>Questo metodo ha bisogno di un account da amministratore per essere chiamato!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>Non ci sono sessioni collegate a questo ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>Questo utente è un amministratore o moderatore. Puoi editare questo account solo dal pannello di amministratore.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>Per completare la registrazione per favore clicca sul seguente link o copia l'url nel tuo browser.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>clicca per convalidare la tua e-mail</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Nessun utente è stato trovato per questo codice hash.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Questo utente è già stato attivato!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Hai attivato correttamente il tuo utente!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Collegati ora</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Il tuo utente non è attivo. Per prima cosa clicca sul link presente nella mail ricevuta nel processo di registrazione</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>Ti sei registrato correttamente. E' stata inviata una e-mail per la verifica dell'utente. Per favore controlla la tua posta in arrivo.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Rimuovi il ruolo di moderatore da questo utente.</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Assegna i diritti di moderatore a questo utente.</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>Utente</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Accesso alla lavagna virtuale</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Moderatore</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Moderazione: Per favore scegli dalla lista gli utenti a cui assegnare i diritti della lavagna virtuale, la moderazione o il video.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>Questo utente è già moderatore, ha automaticamente i diritti di disegno.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>Sei tu! Non puoi toglierti i diritti di amministratore.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Abilita questo utente a pubblicare Video e Audio</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Rimuovi Audio e Video a questo utente</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>Vorrei ricevere la moderazione di questa stanza.</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>Vorrei disegnare sulla lavagna virtuale</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>Vorrei condividere il mio Audio e Video</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>Sei il moderatore della stanza</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>Hai i diritti di disegnare sulla lavagna virtuale</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>Sei abilitato a inviare il tuo Audio e Video</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Messaggio al moderatore</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>L'utente</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>vorrebbe diventare moderatore. Utilizza l'icona di stato vicino all'utente nella lista utenti per aggiungere e rimuovere i moderatori.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>vorrebbe disegnare sulla lavagna virtuale. Utilizza l'icona di stato vicino all'utente nella lista utenti per aggiungere e rimuovere i diritti di uso della lavagna virtuale.</value>
+  </string>
+  <string id="695" name="695">
+    <value>vorrebbe condividere i suoi Audio e Video. Utilizza l'icona di stato vicino all'utente nella lista utenti per aggiungere e rimuovere i diritti di condivisione Audio e Video.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>Devi attendere fino a quando un moderatore entra nella stanza.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Annulla</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Salva</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Giorno</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Mese</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Anno</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Carica File</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Aggiungi directory</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Aggiorna</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Cestino</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>Miei File (Spazio privato)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Files della stanza (Spazio pubblico)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Aggiungi File</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Aggiungi directory</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Cancella directory</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Modifica nome</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>Nuova directory</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Sei sicuro di voler cancellare questo elemento?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Ricerca</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Ricerca</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Apri documento</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Mostra tutti i file (Visualizzazione ad albero)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Chiudi documento</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Cancella file</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>Non sei autorizzato a disegnare sulla lavagna. Devi diventare moderatore o almeno ricevere i diritti per lavorare sulla lavagna. Chiedi al moderatore l'assegnazione di questi diritti.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Proprietà documento</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Avvia Client (external)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Avvia Client (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>Un utente vuol condividere il suo schermo. Vuoi vederlo?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>Ora stai condividendo il tuo desktop. Per interrompere la sessione di condivisione, premi sul bottone di Stop nella finestra di condivisione.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Condivisi sessione</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>Stai già condividendo il tuo desktop!</value>
+  </string>
+  <string id="728" name="sharing client">
+    <value>Visualizzatore Desktop</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Esci</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Condividi Desktop</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Clicca avvia per pubblicare il tuo video</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Avvia condivisione</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Ferma condivisione</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Scegli l'area del tuo schermo:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Cambia larghezza</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>La condivisione ha finito la sessione!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Cambia altezza</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X-Offset</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y-Offset</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Larghezza:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Altezza:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>Connessione chiusa dal Server!</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Annulla</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Avvia External</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>If you close this session completely you are not able to restart the viewer for this session.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Confirm Closing Viewer Session</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Condividi schermo</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Registra sessione</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Co-Browsing</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Ooops, ... Firefox on Windows does not show clear Co-Browsing. Please use another Browser for using the Co-Browsing feature.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Precedente</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Avanti</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Ricarica</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Home</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Carica</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Imposta questo sito come default nel tuo profilo.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Test Setup</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Verifica le impostazioni del tuo microfono e della tua cam prima di entrare nella stanza, registrando qualche secondo. Potrai poi rivedere la registrazione per verificare l'audio e il video.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Non mostrare più questo test</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Annulla</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Avvia conferenza</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Non richiedere ancora</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>Puoi procedere senza verificare se hai intenzione di non condividere la tua voce e video. I partecipanti senza audio e video possono ugualmente utilizzare la lavagna, condividere il proprio desktop o scrivere messaggi in chat.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="767">
+    <value>Level-Meter</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Premi Avvia</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Avvia conferenza</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Avvia evento</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Scegli la stanza</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Verifica impostazioni</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Avvia conferenza</value>
+  </string>
+  <string id="774" name="start view">
+    <value>Come fare una videoconferenza:</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Avvia registrazione</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Non mostrate il test Audio/Video (registrazione) prima di entrare in una conferenza</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Stanze pubbliche</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Le stanze pubbliche sono accessibili da tutti gli utenti</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Stanze private</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Le stanze private sono accessibili solo dagli utenti della rispettiva organizzazione.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>Mie stanze</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Le stanze di questa sezione sono create per usi personali. Sono create attraverso il calendario e hanno una data di inizio e di fine. Sono visibili in questa sezione solo per la durata della loro validità.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>Devi essere moderatore per fare questa azione.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Assegna moderatore</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Assegna accesso alla lavagna</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Assegna accesso a cam/microfono</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>Questa hash di sessione è già in uso. Non puoi accedere contemporaneamente.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>INIZIO</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>ESCI</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Sei sicuro di voler uscire? Potresti dover pulire i documenti caricati, la lavagna e la chat</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Esci conferenza</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Stanze</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Scegli la stanza per un meeting</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>E' presente un evento non salvato nel calendario. Per favore salvalo o cancellalo.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Si prega di aggiungere almeno un partecipante per la riunione!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Sei sicuro di voler cancellare questo evento?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Attenzione</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Aggiungi evento</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>giorno</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>settimana</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>mese</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Descrizione</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Partecipanti</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, la tua piattaforma di videoconferenza. Segui le istruzioni premendo il tasto inizio per cominciare subito una videoconferenza, o vai al calendario e pianifica una conferenza per il futuro.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Pianifica una conferenza</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>Per pianificare una conferenza tu puoi aggiungere un evento nel calendario. Per ogni evento sarà creata un apposita stanza. Tu e tutti gli invitati riceverete una mail con un link per accedere alla stanza.&lt;br/&gt;&lt;br/&gt;Puoi scegliere tra diverse tipologie di stanze con differenti tipologie di layout e mdoerazione. Puoi anche scegliere tra diversi tipi di notifica via email che avvisano dell'evento in calendario.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Serve aiuto?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Ristretto</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Cerca</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Aggiungi</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>Non ci sono utenti selezionati. Si prega di scegliere un elemento dalla lista e poi premere aggiungi.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Aggiungi partecipanti</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Salva</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Cancella</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Dettagli evento</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Default Moderators</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Name</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>E-Mail</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Add new default Moderator</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Is Super Moderator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>If the Room is moderated, User with Level Moderator or Administrator are automatically Moderator if they enter the Room. If you don't want to specify that and only want a certain User to become Moderator use the Default Moderator option.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>A Super Moderator is always a Moderator when he enters a Room, and nobody can remove the Moderation Flag from him</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Apply Super-Moderation to User</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Remove Super Moderation from User</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>If you add an Organization to the room only users of that Organization have access to it (This is only valid if the isPublic flag is set to false!)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Limitations</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organization</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Are you sure?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Do you really want to delete this Item? You have to press the save button to store the changes!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>There is no User selected. Please select first before you add it!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Add new Default Moderator</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Do you want to add the Super Moderation Flag for this User? A Super Moderator is not only Moderator of a Room, but also no other Moderator can remove the Moderation Flag for this User. You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Do you want to remove the Super Moderation Flag for this User? You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>This User is a Super-Moderator. You cannot remove the Moderation flag from a Super-Moderator!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Do you really want to delete this File/Folder?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Delete File/Folder?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Mrs.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Dr.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Properties</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Show mouse position to viewers</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Share Audio with SIP Applet</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Share Audio with SIP and Video with Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Full-Fit</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>View Screen</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>The user</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>wants to share its screen. Do you want to see it?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Close</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>The Session was closed by the sharing User!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>New Screen Sharing</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimize</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximize</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Recording Timeline</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>My Recordings</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Public Recordings</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Name</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Length</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Date</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>By</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>PLAY</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Main - Video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Recording</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>You may record and share your screen at the same time. To enable others to see your screen just hit the start button on the top. To only record the Session it is sufficient to click start recording.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Start Recording</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Stop Recording</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download the FLV-File</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Room</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>User has microphone on</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Allow User Questions</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Turn this off to prevent that any user is disturbing you in this room. Effect is that the Button to ask for Moderation ("I have a question") is not visible.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Rights</value>
+  </string>  
+  <string id="882" name="flvrecording">
+    <value>Download as AVI</value>
+  </string> 
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio only</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the Recording.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>The Recording is not yet ready for watching. Please retry in a couple of minutes again.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Recorder Message</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string> 
+  <string id="892" name="sip applet">
+    <value>SIP Applet is not Ready</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP-Account Settings</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP settings for each user. You can turn on or off SIP via the Administration &gt; Configuration (Key: enable_sip). The SIP data for each user should be created automatically. You can re-create the data by checking "Re-generate SIP Data"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. You should check the authentification data of your SIP-Provider and the SIP-Account Data for each User. As Administrator you are still able to login and check the Configuration. As User or Moderator you will be blocked from any interaction.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. Contact your Service Team!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet Message</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>The SIP-Applet is not ready. Accept the Applet please and click ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Get Moderation</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login the $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choose the User for this Video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>You are a Moderator in this Interview. You can decide who is speaking in this interview and you can start / stop the recording of the Session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Start Recording</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Stop Recording</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+    <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/japanese.xml b/WebContent/languages/japanese.xml
new file mode 100644
index 0000000..a386a79
--- /dev/null
+++ b/WebContent/languages/japanese.xml
@@ -0,0 +1,4486 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>会議室</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>会議</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>講演</value>
+  </string>
+  <string id="4" name="settings">
+    <value>設定</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>ユーザ</value>
+  </string>
+  <string id="6" name="admin">
+    <value>管理</value>
+  </string>
+  <string id="7" name="stop">
+    <value>停止</value>
+  </string>
+  <string id="8" name="record">
+    <value>録画</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>利用可能なファイルがありません</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>講師による録画</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>接続済みユーザ:</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>会議開始</value>
+  </string>
+  <string id="13" name="myname">
+    <value>名前</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>ビデオ会議</value>
+  </string>
+  <string id="15" name="import">
+    <value>アップロード</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>ファイルリスト表示更新</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>ファイルリストへ</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>新規投票</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>新規投票</value>
+  </string>
+  <string id="20" name="question">
+    <value>質問:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>投票タイプ:</value>
+  </string>
+  <string id="22" name="create">
+    <value>作成</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>ヒント: 接続中の全参加者に対して、投票を促すメッセージを送信します</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>投票の作成</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>キャンセル</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>はい/いいえ</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>1~10の数字</value>
+  </string>
+  <string id="28" name="poll">
+    <value>投票</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>質問を作成するには司会者になる必要があります</value>
+  </string>
+  <string id="30" name="vote">
+    <value>投票が登録されました</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>投票済みです</value>
+  </string>
+  <string id="32" name="voting">
+    <value>投票する</value>
+  </string>
+  <string id="33" name="answer">
+    <value>あなたの回答:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>はい</value>
+  </string>
+  <string id="35" name="no">
+    <value>いいえ</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>質問内容:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>投票結果閲覧</value>
+  </string>
+  <string id="38" name="question">
+    <value>質問:</value>
+  </string>
+  <string id="39" name="results">
+    <value>結果:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>回答:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>開始されている投票はありません</value>
+  </string>
+  <string id="42" name="votings">
+    <value>投票</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>ミーティング</value>
+  </string>
+  <string id="44" name="conference">
+    <value>会議</value>
+  </string>
+  <string id="45" name="type">
+    <value>タイプ</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>他の席</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>既に選択されています</value>
+  </string>
+  <string id="48" name="enter">
+    <value>入室</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>司会者が退室しました</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>システム情報</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>デバイス選択</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Webカメラ:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>マイク:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>はい</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>キャンセル</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>再接続が必要です。</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>デバイス設定の編集</value>
+  </string>
+  <string id="58" name="course">
+    <value>コース:</value>
+  </string>
+  <string id="59" name="language">
+    <value>言語:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>OK</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>キャンセル</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>ホワイトボードのクリア</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>ホワイトボードをクリアしますか?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>次回から入力を省略</value>
+  </string>
+  <string id="65" name="no">
+    <value>いいえ</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>設定の編集</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>ホワイトボードをクリアする前に確認を要求</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>ユーザ情報</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>描画領域のクリア</value>
+  </string>
+  <string id="70" name="undo">
+    <value>取り消し</value>
+  </string>
+  <string id="71" name="redo">
+    <value>繰り返し</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>オブジェクト選択</value>
+  </string>
+  <string id="73" name="text">
+    <value>文字列</value>
+  </string>
+  <string id="74" name="paint">
+    <value>自由線</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>直線</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>下線</value>
+  </string>
+  <string id="77" name="rect">
+    <value>四角形</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>楕円</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>矢印</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>削除</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>司会者になる</value>
+  </string>
+  <string id="82" name="apply">
+    <value>適用</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>キャンセル</value>
+  </string>
+  <string id="84" name="mod">
+    <value>司会者になる</value>
+  </string>
+  <string id="85" name="close">
+    <value>閉じる</value>
+  </string>
+  <string id="86" name="italic">
+    <value>イタリック</value>
+  </string>
+  <string id="87" name="bold">
+    <value>ボールド</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>待機中</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>司会者希望のユーザ:</value>
+  </string>
+  <string id="90" name="accept">
+    <value>許可</value>
+  </string>
+  <string id="91" name="reject">
+    <value>拒否</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>キャンセル</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>次のユーザにリクエストを送信</value>
+  </string>
+  <string id="94" name="accept">
+    <value>許可されました</value>
+  </string>
+  <string id="95" name="reject">
+    <value>拒否されました</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>司会者の変更</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>あなたは司会者ではありません。</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>司会者:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>この会議室は満室です。</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>楕円</value>
+  </string>
+  <string id="101" name="close">
+    <value>閉じる</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>入力データエラー</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>ユーザ名は最低4文字以上必要です</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>パスワードは最低4文字以上必要です</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>そのユーザ名は既に使われています</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>そのメールアドレスは既に登録されています</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>システムエラー。管理者に連絡してください。</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>ログイン</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>ユーザ:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>パスワード:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>言語</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>ログイン</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>サインアップ</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>ユーザ:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>パスワード:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>パスワード再入力:</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>名:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>姓:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>メールアドレス:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>国名:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>登録</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>キャンセル</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>登録</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>ホーム</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>ユーザ管理</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>グループ</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>組織管理</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>会議室一覧</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>公開</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>組織</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>入室</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>ログイン名</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>パスワード</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>パスワード再入力</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>名</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>姓</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>メールアドレス</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>誕生日</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>市町村/番地</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>郵便番号/都道府県</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>国名</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>その他情報</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>ユーザプロフィール</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>保存</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>保存</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>ユーザID</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>ログイン名</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>名</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>姓</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>次</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>前</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>削除</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>キャンセル</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>削除</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>新規作成</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>更新</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>削除</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>ステータス</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>無効</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>有効</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>組織</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>カレンダー</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>閉じる</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>組織-ID</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>名前</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>ユーザ</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>司会者</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>管理者</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>ユーザレベル</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>組織</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>名前</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>組織の追加</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>組織の追加</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>キャンセル</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>追加</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>組織の削除</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>ユーザ</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>ユーザ追加</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>ユーザ削除</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>ユーザ追加</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>ユーザ検索</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>検索</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>ユーザ</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>組織</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>入室</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>会議室管理</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>会議室</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>id</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>名前</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>公開</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>組織</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>会議室</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>名前</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>タイプ</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>公開</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>コメント</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>保存</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>ロード</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>名前を付けて保存</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>ファイル名</value>
+  </string>
+  <string id="201" name="files">
+    <value>ファイル名</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>キャンセル</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>保存</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>エラー</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>ロード中</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>オブジェクトがロードされました</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>クライアント同期中、待機中のクライアント:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>イメージデータロード中</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>クライアント同期中、待機中のクライアント:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>ホワイトボードクリア</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>ホワイトボードの内容がクリアされます。</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>ファイルロード前の確認</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>招待メールを送信</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>招待メールを送信</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>件名</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>相手</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>メッセージ</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>送信</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>キャンセル</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>発言</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>ユーザデータ</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>この会議の別名</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>別名</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>名</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>姓</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>メールアドレス</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>言語</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>入室</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>ロード中</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>データロード中。お待ちください。</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>パスワードが間違っています</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>4文字以上の同一のパスワードを2回入力してください</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>メールアドレスが間違っています</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>メールアドレスが無効です</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>登録完了</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>アカウントが作成されました。ログイン可能です。</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>ただいまデスクトップ共有ができません。誰かが既に共有しています。</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>共有は許可されていません。</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>画面の共有/録画</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>帯域不良: 画面の同期ができません。フレームが落ちます。この警告が頻発する場合、品質を落とすように司会者に依頼してください。</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>画面:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>ペイント</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>ドキュメント</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>チャット</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>ファイル</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>メンバー</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>オリジナルドキュメントのダウンロード</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>PDFドキュメントのダウンロード</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>プレゼンテーションをホワイトボードにロード</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>グローバル設定</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>ドラッグ</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>サイズ変更</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>/</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>最初へ</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>前へ</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>次へ</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>最後へ</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>縮小</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>拡大</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>Mr.</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Ms.</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>グローバル設定</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>キー</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>設定</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>キー</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>最終更新日</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>更新者</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>コメント</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>キー値</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>/</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>ユーザ</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>組織からユーザを削除</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>削除</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>このユーザは既にこの組織のメンバーです。</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>ニュース</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>リンク</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>会議室リスト</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>講演室リスト</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>ヘルプ・サポート</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://mail-archives.apache.org/mod_mbox/incubator-openmeetings-user/</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>バグ報告</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>続き・・・</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>プロジェクトWebサイト</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>ユーザメーリングリスト</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>次回から入力を省略</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>コンテンツ</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>マイページ</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>スケジュール済み会議</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>スケジュール済みイベント</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>パブリック会議</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>プライベート会議</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>パブリックイベント</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>プライベートイベント</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>パブリックコンテンツ</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>プライベートコンテンツ</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>パーソナルコンテンツ</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value></value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>司会者</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>質問があります</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>投票</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>フィル選択</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>設定</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>カメラとマイクの設定</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>ホワイトボード設定</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>退室する</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>会議室一覧に戻る</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>ログアウト</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>パスワードを忘れた</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>パスワードのリセット</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>メールでリセット</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>ログインでリセット</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>メールアドレス</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>ログイン名</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>パスワード・リセット用リンクを含むメールを送信する</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>指定されたメール・アドレスが見つかりません。アカウント作成時に指定したメール・アドレスを指定してください。</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>メール・アドレスまたはユーザ名を入力してください。</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>このユーザ名で接続するユーザはありません。</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>専用リンクを含むメールをあなたのメール・アドレスに対して送信しました。メール受信箱をご確認ください。もし受信できない場合は、スパムとして除外されている可能性があります。その場合はスパム設定を見直し、再度、確認メールを送信してください。</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>エラー</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>メッセージ</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>ハッシュ値が不正です。ユーザが見つかりません。</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>パスワードのリセット</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>ログイン</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>パスワード変更</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>新しいパスワード</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>パスワード再入力</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>パスワードが合っていません。</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>4文字以上必要です。大文字小文字の区別があります。</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>パスワードが設定されました。ログイン可能です。</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>未知のエラーです。管理者に報告してください。</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>ユーザ名が見つかりません。</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>パスワードが無効です。</value>
+  </string>
+  <string id="337" name="logout">
+    <value>ログアウト完了</value>
+  </string>
+  <string id="338" name="registration">
+    <value>フロントエンド登録は無効です。</value>
+  </string>
+  <string id="339" name="registration">
+    <value>無効なメールアドレスです。</value>
+  </string>
+  <string id="340" name="registration">
+    <value>ファイル名が重複しています。別の名前にしてください。</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>ファイル名が短すぎます。</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>アドレスが保存できませんでした。</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>ユーザは追加されました。このユーザは少なくとも一つの組織に所属させる必要があります。</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>新規作成</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>このフィールドIDのフィールドが見つかりません。</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>このフィールドのラベルが見つかりません。</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>管理者権限が必要です。</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>言語エディタ</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>言語</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>ラベルID</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>ラベル名</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>値</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>フィールド値</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>ラベル名</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>値</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>ラベルID</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>ラベルを削除しました。</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>ラベルIDが無効です。</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>このフィールドは削除不可です。</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>エクスポート</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>変更結果を反映するには再ログインが必要です。</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>新しい言語の追加</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>言語の削除</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>新しい言語の追加</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>名前</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>言語の追加</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>バックアップ</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>最初へ</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>前へ</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>次へ</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>最後へ</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>ユーザが話し中 (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>音声オン/オフ</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>システム</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>設定</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>ユーザ:</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>プロフィール編集</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>新しいメッセージ:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>画像アップロード</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>ユーザのエクスポート</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>すべてのユーザをエクスポートします。</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>全ユーザエクスポート</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>ユーザを組織ごとにエクスポートします:</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>組織別ユーザのエクスポート</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>ユーザのインポート</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>インポートファイル(users.xml)の選択</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>インポート</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>XMLファイルにエクスポート 主な用途: - プロジェクトへのコントリビュート - 他のシステムへのインポート - バックアップ - カスタマイズ languagesディレクトリにコピーして、 再インストールした後に反映されます</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>インポートする言語ファイルを選択してください。 ファイル名に関わらず選択したものがインポートされます。</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>インポート - ファイル選択</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>名前を付けて保存</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>名前:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>コメント:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>保存</value>
+  </string>
+  <string id="395" name="record">
+    <value>録画</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>録画ファイル</value>
+  </string>
+  <string id="397" name="record">
+    <value>パブリック/プライベート会議室の録画ファイル</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>入室者数:</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>参加者数:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value>会議室リスト</value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>会議室内のユーザ:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>更新</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>この会議室は満員です。</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>詳細表示</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>会議室内のユーザとチャット:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>会議室:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>会議室にいるユーザ:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>入室時刻:</value>
+  </string>
+  <string id="409" name="record">
+    <value>録画ファイルの再生</value>
+  </string>
+  <string id="410" name="record">
+    <value>長さ:</value>
+  </string>
+  <string id="411" name="record">
+    <value>日付:</value>
+  </string>
+  <string id="412" name="record">
+    <value>再生中です。画面上では何も変更できません。これは録画ファイルです。</value>
+  </string>
+  <string id="413" name="record">
+    <value>録画ファイルの再生</value>
+  </string>
+  <string id="414" name="record">
+    <value>再生 / 一時停止</value>
+  </string>
+  <string id="415" name="record">
+    <value>録画開始</value>
+  </string>
+  <string id="416" name="record">
+    <value>録画停止</value>
+  </string>
+  <string id="417" name="record">
+    <value>録画:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>現在、他の人が録画中です。</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>録画中です。実行ユーザは:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>キャンセル</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>録画はキャンセルされ、保存されません。</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>再開</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>このウィンドウを閉じ、録画を再開します</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>線の色</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>色選択</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>線の色変更の有効/無効</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>塗りつぶし</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>塗りつぶし色変更の有効/無効</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>線の太さ</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>閉じる</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>フォントサイズ変更</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>録画ファイルの削除</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>ゲスト</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>作成者:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>名前</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>会議室</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>日付</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>キャンセル</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>開始</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>名前</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>日付</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>チャット記録の削除</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>チャット</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>メッセージ送信</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>顔文字</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>顔文字</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>デバイスの選択</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>音声/映像</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>音声のみ</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>映像のみ</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>音声/映像なし(静止画像)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>このPCから音声も映像も送信されません。代わりにユーザプロフィールの画像が表示されます。 このオプションは、ネットワーク帯域に問題がある場合や、インターネット接続が著しく遅い場合に選択してください。</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>月</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>火</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>水</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>木</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>金</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>土</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>日</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>月曜</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>火曜</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>水曜</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>木曜</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>金曜</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>土曜</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>日曜</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>週番</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>週番号</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>1月</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>2月</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>3月</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>4月</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>5月</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>6月</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>7月</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>8月</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>9月</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>10月</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>11月</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>12月</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>カレンダー</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>定員</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>レイアウト設定の表示</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>横(x) | 縦(y)</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>幅 | 高さ</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>動画画面ブロック</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>司会者ブロック</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>ホワイトボードブロック</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>有効</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>横(x) | 縦(y)</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>幅 | 高さ</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>チャット、ファイル、メンバーブロック</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>有効</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>横(x) | 縦(y)</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>幅 | 高さ</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>司会者は退室しましたので主催者が不在です。司会者になるか他の人が司会者になるのをお待ちください。</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>この会議室には、参加者はいますが司会者がいません。司会者になるか他の人が司会者になるのをお待ちください。</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>$APP_NAME フィードバック</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - 会議参加依頼</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>宛先ユーザ:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>メッセージ:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>会議に参加するには:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>会議室に入室するにはここをクリックしてください。</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>リンクが動作しない場合、ブラウザに下記URLをコピー&amp;ペーストしてください。:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME サインアップ</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>あなたの情報:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>ログイン名:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>パスワード:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>メールアドレス:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME-チーム</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME サインアップ</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - パスワードリセット</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>新しいパスワードを入力するにはこのリンクをクリックしてください:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>新しいパスワードを入力するにはここをクリックしてください。</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>リンクが動作しない場合、ブラウザにコピー&amp;ペーストしてください。:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>$APP_NAME パスワードリセット</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>正しいフォーマットで日付を入力してください。(例)24.12.2001 (日.月.年)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>正しいメールアドレスを入力してください。(例) name@mail.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>実数を入力してください。(例) 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>整数を入力してください。(例) 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>正しい電話番号を入力してください。(例) ++81 0123 123123</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>正しい時刻を入力してください。(例)12:23 (時:分)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>パスワード保護する</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>パスワード</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>利用期間</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>エンドレス</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>期間指定</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>ワンタイム</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>開始:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>終了:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>$APP_NAME 会議参加依頼</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>この招待コードで利用可能な招待はありません。</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>その招待はすでに使われています。このタイプの招待は再利用ができません。</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>この招待コードは無効です。</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>パスワード:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>パスワードチェック</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>パスワードが間違っています。</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>ブラウザ</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>音声/ビデオの同期処理</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>ログインには成功しましたが、セッションの取得に失敗しました。新しいセッションを取得するために再度ログインしてください。</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>このセッションでは操作できません。SOAP Gatewayはアドミン権限が必要です。</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>このセッションはもう有効ではありません。アプリケーションにアクセスする前にSOAP-Gatewayを呼び出したか、使っているセッションIDが正しくないようです。</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>この機能はベータ版です</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>x軸</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>y軸</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>w</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>幅</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>高さ</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>透過率変更</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>ブラウザ開く</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>ブラウザ閉じる</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>サーバへの接続が切断されました。アプリケーションの再ロードを行うか、またはネットワーク接続を確認してください。</value>
+  </string>
+  <string id="557" name="557">
+    <value>ポインタ</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>同期しています</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>ユーザを同期しています。しばらくお待ちください。</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;SVGとしてダウンロード&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;PNGとしてダウンロード&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;JPGとしてダウンロード&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;PDFとしてダウンロード&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;TIFとしてダウンロード&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>リマインダ:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>カテゴリ:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>繰り返し:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>無し</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>場所:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>開始</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>終了</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>タイトル:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>備考:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>参加者</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>毎日</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>毎月</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>毎年</value>
+  </string>
+  <string id="578" name="alert">
+    <value>Appointment-end is after of appointment-start!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>タイトルを入力してください!</value>
+  </string>
+  <string id="580" name="580">
+    <value>右から左方向へ書く言語</value>
+  </string>
+  <string id="581" name="581">
+    <value>右から左方向へ書く言語の場合</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>ダッシュボード</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>録画済みのミーティング/イベントを視聴する</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>ミーティング - 4名(最大16名)までの会議&lt;br/&gt;参加者全員が音声+ビデオを利用できます</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>イベント - 最大200名までの会議&lt;br/&gt;司会者だけが音声/ビデオを利用できます</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>ユーザ、会議室、組織を作成する&lt;br/&gt; + 構成を変更する</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>この会議室に入室中のユーザ</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>ログイン</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>ドキュメントをロードしています。全クライアントの同期が完了するまでしばらくお待ちください。</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>アップロード完了。ドキュメントを変換しています...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>アップロードを開始する</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>アップロード/インポートを行います。ローカル・ディスク上のファイルを選択してください。</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>キャンセル</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>ファイルを選択する</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>接続</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>値</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>ログイン</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>接続開始時刻</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>会議室 / スコープ</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>ユーザを追い出す</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>ユーザを追い出す</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>転倒にこのクライアントを追い出してよろしいですか?&lt;br/&gt; 追い出すと、クライアントは単にこの会議室から追い出されるだけです。クライアントは、再度ログインしてくるかもしれません。</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>管理者または司会者によって、セッションが切断されました。</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>電話</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>会議室の司会進行権限</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>ホワイトボードの利用可否</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>音声/ビデオを開始(再開)する、またはデバイス設定を変更する</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>ホワイトボードの利用を許可する</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>ホワイトボードの利用を禁止する</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>ユーザ</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>ファイル</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>ホワイトボード</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>チャット</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>あなたのアカウントは複数の組織に所属しています。このセッションで使用する組織を選択してください。</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>会議室は現在満室です。間を置いて再入室してください。</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>会議室タイプ</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>会議室</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>サーバ時刻</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - リマインダ</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>メッセージ送信者:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>メッセージ:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>ミーティングに参加するには、このリンクをクリックしてください:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>入室するにはこのリンクをクリックしてください</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>リンクが機能しない場合は、下記URLをブラウザにコピー・ペーストしてください:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>search intern</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>外部ユーザ</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>名</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>姓</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>メール・アドレス</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>ログアウトの確認</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>ログアウトしてよろしいですか?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>アクション</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>デモ・ルーム</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>デモ時間</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Meeting Timer</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>This Room is a Demo Room. To disable this warning you either should get a private meeting room for your personal usage or set up an own Server. You will be automatically logged off in:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>司会権保持者が仕切る</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>司会者が入室するまでしばらくお待ちください。司会者は本会議室の管理者/作成者/講師になります。</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Ok</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>新規画面共有</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>新着の画面共有があります。送信者:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>共有を開始する</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>新規ミーティングを追加する</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>ミーティング・ルーム</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>イベント・ルーム</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>管理</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>ユーザ管理</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>会議室管理</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>このユーザを所属組織の司会者に設定してよろしいですか?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>所属組織を指定してください。</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>組織 - 司会者</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>このユーザを所属組織から除外してよろしいですか?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>このユーザは司会者です</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>このユーザは司会者ではありません</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>このユーザを所属組織の司会者から除外してよろしいですか?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>所属組織内にユーザまたは会議室を追加・削除する</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>削除してよろしいですか?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>このユーザをあなたの所属組織から除外してよろしいですか?この操作は、ユーザを所属する組織から除外するだけです。このユーザをシステムから削除するためには、管理者パネルにログインする必要があります。</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>あなた自身を削除することはできません!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>管理者でなければ実行できません!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>There was no Session associated with this ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>このユーザは管理者、または司会者アカウントです。このアカウントは、管理者パネル上でしか変更できません。</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>登録を完了するためには、下記のリンクをクリックしてください。あるいは下記URLをブラウザにコピー・ペーストしてください。</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>メールを確認するにはここをクリックしてください</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>No user was found for this Hash.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>ユーザは既に有効化されています!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>アカウントの有効化が完了しました。</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>ログインしてください</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>アカウントが有効化されていません。アカウント登録時に受信したメール中のリンクをクリックしてアカウントを有効化してください。</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>サインアップが完了しました。登録メールアドレスに対して確認コードを送付しましたので、メール受信箱をご確認ください。</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>司会者権限を剥奪する</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>司会者権限を付与する</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>ユーザ</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>ホワイトボード・アクセス</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>司会者</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>ホワイトボード使用権限、司会者権限、ビデオ共有権限を付与するユーザを選択してください。</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>このユーザは既に司会者権限を有するため、ホワイトボード使用権限を有しています。</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>自分自身から司会者権限を剥奪することはできません。</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>ビデオ共有権限を付与する</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>ビデオ共有権限を剥奪する</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>質問があります</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>ホワイトボードを使いたい</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>ビデオ・音声を共有したい</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>あなたは司会者です</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>ホワイトボードの使用を許可されています</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>ビデオ・音声の共有を許可されました</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>司会者へメッセージを送信</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value></value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>さんが、司会者(話者)権限を要求しています。ユーザ一覧のユーザ名右側にあるステータス・アイコンを使って司会者権限の与奪を行います。</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>さんが、ホワイトボードの使用を要求しています。ユーザ一覧のユーザ名右側にあるステータス・アイコンを使ってホワイトボード使用権限の与奪を行います。</value>
+  </string>
+  <string id="695" name="695">
+    <value>さんが、ビデオ・音声の共有を要求しています。ユーザ一覧のユーザ名右側にあるステータス・アイコンを使ってビデオ共有権限の与奪を行います。</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>司会者が入室するまでしばらくお待ちください。</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>キャンセル</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>保存</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>日</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>月</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>年</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>ファイルをアップロードする</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>フォルダを追加する</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>リフレッシュ</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>ゴミ箱 (アイテムをここにドラッグ&amp;ドロップ)</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>私のファイル (ホーム・ドライブ)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>会議室のファイル (パブリック・ドライブ)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>ファイルを追加する</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>フォルダを追加する</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>ファイル/フォルダを消去する</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>名前を編集する</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>新規フォルダ</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>このアイテムを消去してよろしいですか?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>検索</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>検索</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>ドキュメントを開く</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>全てのファイルを表示する (ツリー・ビュー)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>ドキュメントを閉じる</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>ファイルを消去する</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>ホワイトボードに対する書き込みが許可されていません。書き込みをするには、司会者になるか、書き込み権限を付与してもらう必要があります。司会者に権限付与を依頼してください。</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>ドキュメント・プロパティ</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>クライアントを開始 (外部プログラム使用)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>クライアントを開始 (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>ユーザがデスクトップ共有を提供しています。画面を閲覧しますか?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>現在、あなたのデスクトップは共有されています。デスクトップ共有を停止する際は、共有クライアント上の停止ボタンを押してください。</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>セッション共有</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>あなたのデスクトップは既に共有されています!</value>
+  </string>
+  <string id="728" name="sharing client">
+    <value>デスクトップ・ビューア</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>終了</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>デスクトップ共有</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>開始をクリックして画面を共有します</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>共有を開始する</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>共有を停止する</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>共有する画面領域を選択してください:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>幅を変更する</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>The Sharer has finished this session!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>高さを変更する</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X オフセット</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y オフセット</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>幅:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>高さ:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>サーバによって接続が切断されました。</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>キャンセル</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>外部ビューアを開始</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>ビューアを完全に閉じてしまうと、本セッション中はビューアを再開することができません。</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>ビューア終了確認</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>画面を共有する</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>録画する</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>並行ブラウジング</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Windows版Firefoxでは並行ブラウジング機能をクリアに表示することができません。他のブラウザをご利用ください。</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>前へ</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>次へ</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>リロード</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>ホーム</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>ロード</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>このウェブサイトをあなたのデフォルト・ウェブサイトに設定する。</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>設定のテスト</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>入室する前に、マイクとカメラの設定を確認してください。まず録画・録音を数秒間実施してください。続いてそれを再生し、録画・録音状態が適正であることをご確認ください。</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>以降このテスト画面を表示しない</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>キャンセル</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>会議を開始する</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>以降表示しない</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>録画</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>再生</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>音声・画像を送信する予定が無い場合はテストを省略することができます。音声・画像を利用しない参加者も、ホワイトボード、デスクトップ共有、チャットを利用することは可能です。</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>停止</value>
+  </string>
+  <string id="767" name="767">
+    <value>レベル・メータ</value>
+  </string>
+  <string id="768" name="start view">
+    <value>「開始」を押してください</value>
+  </string>
+  <string id="769" name="start view">
+    <value>会議を開始する</value>
+  </string>
+  <string id="770" name="start view">
+    <value>イベントを開始する</value>
+  </string>
+  <string id="771" name="start view">
+    <value>会議室を選択する</value>
+  </string>
+  <string id="772" name="start view">
+    <value>設定を確認する</value>
+  </string>
+  <string id="773" name="start view">
+    <value>会議を開始する</value>
+  </string>
+  <string id="774" name="start view">
+    <value>使用方法:</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>録画/録音品質のテスト</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>入室の際に音声/ビデオのテスト画面を表示しない</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>パブリック会議室</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>パブリック会議室はだれでもアクセスすることができます。</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>プライベート会議室</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>プライベート会議室は、同じ組織に所属する参加者のみ入室することができます。</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>私の会議室</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>このセクションの会議室は個人使用(または少人数使用)目的です。開始・終了時刻を指定して作成します。会議室が有効である期間、カレンダーに表示されます。</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>司会者以外の方は実行できません。</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>司会者権限を許可</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>ホワイトボードへのアクセスを許可</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>カメラ・マイクへのアクセスを許可</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>This Session Hash was already used. You cannot use it twice.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>開始</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>終了</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>終了してよろしいですか? 終了しても、アップロード済みのドキュメント、ホワイトボード、チャット内容は消去されずに残ることにご注意ください。</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>終了確認</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>会議室</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>会議室を選択してください。</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>未保存のイベントがあります。保存するか、削除してください。</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>最低一人以上の参加者を選択してください!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>このイベントを削除してよろしいですか?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>警告</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>イベントを追加する</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>日表示</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>週表示</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>月表示</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>概要</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>参加者</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME (オープン・ミーティングス) ウェブ会議プラットホーム</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>会議を予約する</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>イベントをカレンダーに追加して会議を設定します。イベントのそれぞれについて会議室が自動生成されます。</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>お困りですか?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>帯域制限付会議室</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>検索</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>追加</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>There is no User selected. Please select an item from the list first and then hit add.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>参加者を追加</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>保存</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>削除</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>イベント詳細</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>デフォルト司会者</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>特権</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>姓名</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>Eメール</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>デフォルト司会者を追加</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>は特権司会者です</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>この項目が選択されている場合、司会進行権保持者(または管理者)は入室によって自動的に司会者権限を与えられます。会議の際、特定のユーザを司会者に指定したい場合は、この項目を選択しないでください。</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>特別司会進行権保持者は、入室によって自動的に司会者権限を与えられます(他のユーザがこのユーザから司会者権限を奪い取ることはできません)。</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>このユーザに特別司会進行権を付与する</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>このユーザの特別司会進行権を剥奪する</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>組織を会議室に登録すると、登録された組織に所属するユーザのみがその会議室に入室することができます。(「公開」が選択されていない場合(つまり非公開の場合)のみ適用)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>司会進行</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>制限</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>組織</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>よろしいですか?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>選択された項目を削除してよろしいですか?変更した内容は、保存する必要があります。続いて保存ボタンを押してください。</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>ユーザが選択されていません。追加するユーザを選択してください。</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>司会者を追加する</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>このユーザに特別司会進行権を付与しますか?特別司会進行権保持者は、会議室の司会者になることができます(他のユーザは特別司会進行権保持者から司会権限を奪い取ることはできません)。変更した内容は、保存する必要があります。続いて保存ボタンを押してください。</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>このユーザの特別司会進行権を剥奪しますか?変更した内容は、保存する必要があります。続いて保存ボタンを押してください。</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>この参加者は、特別司会進行権を付与されています。あなたは、特別司会進行権保持者から当該権利を剥奪することはできません。</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>このファイル/フォルダを削除してよろしいですか?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>ファイル/フォルダを削除しますか?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Mrs.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Dr.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>プロパティ</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>ビューア上でマウス・ポインタを表示する</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>SIPアプレットと音声を共有する</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>SIPと音声を、Flashと画像を共有する</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>画面サイズに合わせる</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>デスクトップを表示する</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>ユーザ「</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>」さんがデスクトップ共有を要求してます。表示しますか?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>閉じる</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>ズーム</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>画面が共有ユーザによって閉じられました!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>一時停止</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>新規画面共有</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>最小化</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>最大化</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>ビデオ</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>タイムライン</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>私の録画</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>パブリック録画</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>備考</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>名称</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>全長</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>日時</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>作成者</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>再生</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>メイン - ビデオ</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>録画</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>デスクトップ共有と同時に録画もできます。デスクトップを公開するためには「共有を開始する」ボタンを押してください。録画をする(共有無し)ためには「録画を開始する」をクリックしてください。</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>録画を開始する</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>録画を停止する</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>FLV形式でダウンロードする</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>会議室</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>再生</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>停止</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>User has microphone on</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>共有を停止する</value>
+  </string>
+  <string id="879" name="room config">
+    <value>質疑を許可する</value>
+  </string>
+  <string id="880" name="room config">
+    <value>質疑を許可すると、「質問があります」ボタンが表示されます。</value>
+  </string>
+  <string id="881" name="room config">
+    <value>権限</value>
+  </string>
+  <string id="882" name="flvrecording">
+    <value>AVI形式でダウンロードする</value>
+  </string>
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw スクリーン・ビデオ</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>音声のみ</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the Recording.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>録画視聴の準備がまだ整っていません。数分後に再実行してください。</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>ログ:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>作成者メッセージ</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIPアプレットの準備が完了していません。</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP アカウント設定</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>ユーザ毎にSIPを設定します。</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP ユーザ</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip パスワード</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip 認証ID</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>SIPゲートウェイにログインできませんでした。SIPプロバイダの認証情報、および各ユーザのSIPアカウント情報を確認してください。管理者でログインして、構成を確認してください。(一般ユーザはブロックされます)</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>SIPゲートウェイにログインできませんでした。サービス管理者にお問い合わせください。</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>SIPゲートウェイにログインしています ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>SIPゲートウェイにログインしています ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>ログを表示する</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>録画終了時の変換処理のログ</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-アプレット・メッセージ</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>SIPアプレットの準備が完了していません。アプレットを承認してOKボタンを押してください。</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>司会者になる</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>アポイントメントの変更を保存する</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>アポイントメントが変更されました。変更を保存しますか?</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>他の録画を見るためには、$APP_NAMEにログインする必要があります。</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>ビデオ表示するユーザを選択</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>あなたはこのインタビューの司会者です。あなたは、話者を選択したり、録画・録音の開始・停止をすることができます。</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>録画・録音を開始</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>録画・録音を停止</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>インタビュー録画は既に開始されています。</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>インタビュー録画は既に停止しているか、まだ開始されていません。</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>インタビュー録画は既に開始されています。!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>キャンセル</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>インタビュー終了時の変換処理には、インタビュー1分あたり5分を要します。現在の処理の進捗は:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>SIPデータを生成するためには、パスワードを再入力してください</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>SIPデータを再生成する</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>このファイル/フォルダを、それ自身のサブフォルダに移動することはできません。</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>ホーム・ドライブ使用量</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>パブリック・ドライブ使用量</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>各ユーザにライセンスを付与する際、使用期限を設定するか、最大使用量制限(分で指定)を設定することができます。</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>ライセンスを検証する</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>使い放題コース</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>有効期限</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>残り秒数</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>合計時間</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>ライセンスの有効期限が切れました。新たにライセンスを購入してください。(分単位ライセンス、または「使い放題コース」ライセンスがあります)</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>購入する</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>ユーザ・ライセンス情報</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>情報</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>閉じる</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>ライセンスの有効期限が切れました。新たにライセンスを購入してください。(分単位ライセンス、または「使い放題コース」ライセンスがあります)</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>ライセンス設定</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>$APP_NAMEのご利用ありがとうございました!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>状態</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>納品書</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>このメール・アドレスは既に他のユーザに使用されています。</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP設定</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>会議番号、およびPINは、OpenXG RPCゲートウェイ経由で自動生成されます。</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP番号</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>現在表示中のスライド内のオブジェクトだけを消去!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>ステータス・バーに入力されたURLのみが参加者に送付されます!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>チーム・ルームの作成 [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>作成するチーム・ルームに所属させるユーザを選択してください。</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>メンバーを指定して、新しい小会議室 (チーム・ルーム) に移動することができます。指定されたメンバーは、強制的にチーム・ルームに移動させられるか、あるいは、通知メッセージが送信されます。また、チーム・ルーム室長(管理者)には、加えて、管理下のチーム・ルーム一覧が表示され、室長は必要に応じて各チーム・ルームの応援に駆けつけることができます。</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>ユーザ名</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>ログイン</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>ユーザ一覧 チーム・ルーム:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>チーム・ルームを作成する</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>キャンセル</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>最低ひとり以上のユーザをチームに登録する必要があります。</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>ユーザをチームに追加する</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>ユーザをチームから削除する</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>ユーザは、チーム・ルーム室長です。(室長は、チーム・ルームの管理者です。メンバーはいつでも室長をチーム・ルームに呼び出すことができます)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>ルーム・タイプ</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>「メンバーを新規チーム・ルームに強制移動する」を選択した場合、選択されたメンバーはチーム・ルームに自動的に移動します。強制移動を選択しなかった場合、各メンバーには通知メッセージが送付されます。通知メッセージには、チーム・ルームに&lt;i&gt;移動することができる&lt;i&gt;ボタンがあり、それを押すことによってチーム・ルームに移動することができます。</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>チーム・ルーム管理</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>あなたは、あなたが管理するチーム・ルーム(あなたが室長のチーム・ルーム)の間を自由に行き来できます。管理下のチーム・メンバーは、あなたにいつでも応援要請メッセージを送信することができます。また、あなたは管理するチーム・ルームをいつでも閉鎖することもできます。</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>メンバーを新規チーム・ルームに強制移動する</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>チーム名</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>作成日時</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>追加するメンバー</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>メンバーを追加するには「+」を、削除するには「-」を押してください!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) チーム・ルームの設定</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) チーム・メンバーの追加</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>チーム・ルーム名</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>チーム・ルーム</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>会議室変更</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>このチーム・ルームに移動する</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>チーム・ルームを終了し、全メンバーをログアウトさせる</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>新規チーム・ルーム</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>新規チーム・ルームがあります。</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>チーム・ルームに移動</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>チーム・ルーム・アクション</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>再度このウィンドウを開く場合は、「アクション」から行ってください。</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>チーム・ルーム室長にメッセージを送信する</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>新規チーム・ルーム</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>新規チーム・ルームがあります。あなたは、そのチーム・ルームに入室することができます。チーム・ルームは、言わば「ワークショップ・グループ」のようなものです。あなたのチーム・ルームには、「私の会議室」からも入室できます。</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>チーム・ルームに移動</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>作成者:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>チーム・ルーム名:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>このウィンドウは、あなたの退室後も開いたままになります!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>チーム・ルームのメンバー</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) あなたが移動することができる、チーム・ルーム</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>チーム・ルーム室長にメッセージを送信します。例えば、討論中の件で何か質問したいことができ、室長に応援を依頼したいときなど。</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>送信</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) このチーム・ルームに参加要請したメンバー</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>さんは、チーム・ルーム室長です。</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>参加要請したメンバー全員が揃いました。</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>チーム・ルーム室長がいません!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>メッセージを入力してください。</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>私たちのチームが問題を抱えているので、応援をお願いします!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>チームが、あなたの応援を要請しています。</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>チーム・ルームから応援要請</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>メッセージ:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>送信者:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>あなたは現在、どのチーム・ルームにも入室していませんが、過去に入室したことのあるチーム・ルームに入室することができます。</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>システムをバックアップします。バックアップには、ユーザが生成した、あらゆるデータが含まれます。サーバ設定、および各言語ラベルはバックアップされません。システムをより新しいバージョンにアップデートする場合は、(1)まずバックアップ・ファイルにエクスポートし、(2)新規に作成したデータベース上にアプリケーションを再インストールし、(3)バックアップ・ファイルをインポート、してください。バックアップ・ファイルのインポートは、新システム上で最初に行う必要があります。</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>システム・バックアップ</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>ユーザに対し画面共有/録画を許可する</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>ユーザに対し画面共有/録画を拒否する</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>このユーザは司会者であるため全ての権限を与えられています!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>さんが画面の共有/録画を要求しています。</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>あなたは画面の共有/録画をする権限を与えられています</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>画面の共有/録画を行う権限を適用する。</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>画面/録画の共有を行うことを許可/拒否する</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>サウンドをオフ</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>サウンドをオン</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>音声のみの会議室</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>このフラッグをオンにすると、ユーザは会議室で音声のみ使用できるようになります(ビデオ無し)。これにより、ネットワーク帯域を節約することができます。</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>リモート制御を許可 (デスクトップ共有中)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>リモート制御を拒否 (デスクトップ共有中)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>リモート制御権限を適用する (デスクトップ共有中)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>あなたは、リモート画面の制御を許可されています(デスクトップ共有時)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>さんがリモート画面の制御権限を要求しています。</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>ユーザは司会者です。司会者はすべてのアクションを行うことができます! [リモート・デスクトップ制御]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>デスクトップ共有中のリモート・コントロールを許可/拒否する</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) あなたのPCからリモートPCへ: あなたのPCのクリップボードからリモートPC画面にテキストをコピーするには、画面をクリックし続いてテキスト上で右クリックしてメニューを表示して「挿入」を選択します。&lt;br/&gt;&lt;br/&gt;2) リモートPCからあなたのPCへ: リモートPCからあなたのPCのクリップボードにテキストをコピーするには、リモート画面上のテキスト上でテキストをハイライト選択し、リモート画面上で右クリックしてメニューを表示し「&lt;i&gt;ハイライトされたテキストをコピー&amp;lt;/i&gt;」を選択します。</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>あなたのPCとリモートPCの間で相互にテキストのコピー&amp;ペーストを行うには</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>ハイライトされたテキストをコピー</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>コピー&amp;ペースト手順</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>画面共有の品質:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>超高品質</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>高品質</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>中品質</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>低品質</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>キーボード:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>ウェビナーを閉じる</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>ウェビナーは既に終了しています。</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>会議室を閉鎖する</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>終了URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>閉鎖設定</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>会議室を閉鎖すると、ユーザは終了URLにリダイレクトされます。</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>LDAP</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>識別名</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>設定ファイル</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>LDAP設定</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>識別名</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>有効化</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>登録日時</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>登録者</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>更新日時</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>更新者</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>設定ファイルは、フォルダ 'openmeetings/red5/webapps/openmeetings/conf' に置かれている必要があります。前もって手動アップロードしておいてください。設定ファイルに対する変更は逐次オンライン反映されます。</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>設定ファイル名</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>「ドメインをユーザ名に付加する」を選択すると、指定したドメインが、ログイン画面で指定したログイン名に自動的に付加されます。もしLDAPに、ドメイン名付きのログイン名が保存されている場合に利用してください。例: ログイン名「hans」、ドメイン名「localhost.com」の場合、「hans@localhost.com」でLDAP認証を行います。</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>ドメインをユーザ名に付加する</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>ドメイン</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>挿入</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>ハイライトされたテキストをコピー</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>リモートPCのクリップボード・テキスト</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>リモートPCのクリップボードを表示する</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>次回は表示しない</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>テキストをここにコピーする ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>リモート画面との間でコピー&amp;ペーストするためには、リモート制御(またはモデーレーション)権限が必要です。</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>デフォルト設定を編集する ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>リモート・コントロールでコピー&amp;ペーストについての情報ボックスを表示しない</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>保存</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>削除</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>キャンセル</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>ユーザを会議室に招待する</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>会議室を選択してください。参加依頼を受けるユーザには、あなたの名前、メッセージとともに会議室へのリンクが発行されます。</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>ログイン日時:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>参加依頼の送信後に入室する</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>参加を依頼する</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>メッセージ</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>会議への参加を依頼されています。依頼者=</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>参加依頼メッセージ</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>参加依頼を送信する</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>さんは、あなたからの参加依頼をdid &lt;b&gt;拒否&lt;/b&gt;しました!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>承認</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>拒否</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>タイムゾーン</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>イベント詳細</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>名称</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>概要</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>作成者</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>タイムゾーン設定を勧奨</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>次回ログイン時にタイムゾーン設定を行うことを進めるメッセージを表示する場合にチェックを入れてください。</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>ユーザ・プロフィールのタイムゾーン設定を確認してください。</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>$APP_NAME会議が設定されました:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>&lt;br/&gt;詳細:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>開始時刻:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>終了時刻:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>$APP_NAME会議が更新されました:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>主催者:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>$APP_NAME会議がキャンセルされました:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME会議リマインダ:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>コミュニティ設定</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>コンタクト・データを全員に公開する</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>あなたのお勧めや、興味あるものを指定します。これらはパートナーを検索する際に利用されます。複数項目を指定する場合は、各項目をコンマで区切って指定してください。(例: 医療サービス, 健康保険, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>私のお勧め</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>私の関心</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>姓名</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>タイムゾーン</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>興味・関心</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>コンタクト情報</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>コンタクト・データをコンタクトにのみ公開する</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>コンタクト・データを非公開にする</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>プロフィール</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>設定</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>ユーザ検索</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>他のユーザが見るのと同じ表示形態であなたのプロフィールを表示します</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>プロフィールを設定します。関心事項を設定して他のユーザが検索できるようにできます</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>ユーザを検索して、あなたのネットワークを広げましょう</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>検索</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>お勧め</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>ユーザ名</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>検索テキスト</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>姓名</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>タイムゾーン</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>お勧め</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>関心</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>検索結果</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>アクション</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>コンタクトを追加する</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>メッセージを送信する</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>コンタクトとメッセージ</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>承認待ちコンタクト</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>承認</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>拒否</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>こちらは$APP_NAMEです。</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>さんが、あたなをコンタクトに加えることを希望しています。</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>$APP_NAMEのコンタクト要求を確認するか、承認/拒否のリンクのいずれかをクリックしてください。</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>このユーザは既にコンタクト・リストに登録済みか、未回答のコンタクト追加要請メッセージを受信済みです。</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>コンタクト・リスト</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>コンタクトとメッセージを編集したり,&lt;br/&gt; 承認待ちコンタクトの処理を行います</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>さんが、あなたをコンタクトとして承認しました!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>チャット・ログを表示/コピーする</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>チャット・ログ</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>送信者</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>件名</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>送信</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>メッセージ</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>新規メール</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>コンタクトに送信するメッセージを新規に作成します</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>新規メッセージ</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>宛先:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>件名:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>各ユーザの画面解像度に合うようにホワイトボードとドキュメントのサイズを変更する。</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>ユーザを追い出す</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>あなた自身を会議室から追い出すことはできません! 退出する場合は、終了ボタンをクリックするかブラウザを閉じてください!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>このユーザを会議室から切断してよろしいですか?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>アクションの確認 ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>特権司会者を会議室から追い出すことはできません!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>会議室を予約する</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>開始</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>終了</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>ミーティングをスケジュールします。全てのミーティング参加予定者のカレンダーにイベントが追加されます。</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>受信箱</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>送信</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>ゴミ箱</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>あなた自身をコンタクトに加えることはできません。</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>ユーザは既に拒否されています!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>ユーザは既に承認されています!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>コンタクト・ハッシュが不正です!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>コンタクト・リストに追加されました!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>ユーザは拒否されました。承認待ちリストからも削除されました。</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>該当するコンタクトがありません!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>コンタクトを削除してよろしいですか?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>コンタクト削除の確認</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>コンタクトを一覧から削除する</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>ユーザ・プロフィール</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>ユーザ・プロフィールを表示する</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>メッセージ</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>検索</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>全てを選択</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>選択を解除</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>未読を選択</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>既読を選択</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>フォルダに移動 ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>新規フォルダを追加 ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>削除</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>削除したメールは、ゴミ箱の中にまだ残されています!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>未読にする</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>既読にする</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>回答</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>全員に回答</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>フォワード</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>アクション ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>プライベート・メッセージを送信する</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>選択がありません</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>受信箱に移動する</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>削除する (最終)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>新規フォルダ</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>フォルダを追加してメッセージを整理します</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>新規フォルダ</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>追加</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>フォルダを削除する</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>フォルダを削除できません。フォルダ内にメッセージが存在します! あらかじめメッセージを削除するか、他のフォルダに移動してください。</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>姓名を編集する</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>フォルダを削除してよろしいですか? 削除されたフォルダは復元できないことにご注意ください。</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>承認依頼が送信されました。承認されたユーザのみがコンタクト・リストに追加されます。</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>メッセージ</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>ユーザは個人コンタクト・データを共有していません。</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>ユーザは個人コンタクト・データをコンタクトとのみ共有しています。</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>住所 &amp; 電話番号</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>参加依頼コードが無効です。参加依頼コードは一定期間のみ有効です。</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>このイベントは他のユーザのカレンダーにリンクしています。イベントを更新すると、他のユーザのカレンダーにも更新が反映されます。イベントを更新してよろしいですか?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>更新の確認</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>コンタクトに私のカレンダーを公開する (書き込みはできません)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>カレンダーを共有しない</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>コンタクトのカレンダー</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>コンタクトのカレンダーを見るためには、コンタクトの承認が必要です。</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>他のユーザのカレンダーからイベントを削除/保存することはできません!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>カレンダーを再表示する!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>このイベントは他のユーザのカレンダーにリンクしています。イベントを削除すると、他のユーザのカレンダーからも削除されます。イベントを削除してよろしいですか?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>アクションの確認</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>入室</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>会議室にアクセスする</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>プライベート・メッセージ付き会議室/イベントがあります。</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>あらかじめイベントを保存してください!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>指定された会議室が見つかりません。イベントおよび会議室は既に削除されています!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>ニックネームを選択してください</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>名</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>姓</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Eメール</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>姓・名ともに4文字以上の長さが必要です。</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Eメール・アドレスが無効です!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Facebookアカウントでログインする</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>登録日</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>Facebookアカウントでログインしました。プロフィールに適切なEメール・アドレスを設定してください。さもないと、参加依頼やプライベート・メッセージを受信することができません。</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>メッセージ</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>プロフィール更新についてのメッセージを今後表示しない</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>詳細表示オプション ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>新規プライベート・メッセージ:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>メッセージ全体を見るにはここをクリックしてください ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>再生</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>会議室とチャット</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>私の会議室</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>私の会議室 (ユーザ数 1-16 向け)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>ウェビナー (ユーザ数 1-120 向け)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>会議室の管理者(室長)</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>パスワードを入力してください</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>ユーザ・レベル、司会者、または管理者権限を有するアカウントが必要です。</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>ウェブ・サービス (SOAPでのみ適用)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>ホワイトボードに直接ロードする</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>ホワイトボードを削除してよろしいですか? 注意:削除したホワイトボードは元に戻せません!!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>ホワイトボードにロードする</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>録画する必要がある場合は、録画を開始してください。だれかが録画を開始しない限り、会議の録画はされません。</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>録画を開始</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>矢印</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>円</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>線</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>四角形</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>三角形</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>テキスト・注釈</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>クリップアート</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>フリーライン</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>選択・移動</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>図形描画</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>切り取り・移動</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>ズーム・イン/アウト</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>印刷</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>元に戻す</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>ゴミ箱</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>グリッド線を表示</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>ファイル共有</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>図形を選択</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>クリップアートを選択</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>コピー</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>切り取り</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>貼り付け</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>削除</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>ホワイトボードの内容を全て削除してよろしいですか?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>ホワイトボードに直接ロードする</value>
+  </string>
+  <string id="1342" name="attendees">
+    <value>参加者</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>参加者マネージャ</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>在席</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>リモートコントロール</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>追い出す</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>チャット</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>参加者を招待する</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>メール使用</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>ユーザは司会者です</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>ユーザはウェブカメラをオンラインにしました</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>塗りつぶしを無効にする</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>塗りつぶしを有効にする</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>グリッドに位置を合わせる</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>録画を許可する</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>録画開始まで待機する</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>トップバーを隠す</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>録画を再生する</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>表示中のスライドの内容を削除してよろしいですか?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>ユーザ権限を許可する</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>メッセージを拒否して削除する</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>私</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>アクティビティ/アクション</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>ホワイトボードを削除する</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>ホワイトボードを削除したり、書き込んだりするためには権限または許可が必要です。</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>許可されていません</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value>さんは会議室から退室しました</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>数式アイコン</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>カテゴリ無し</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>カラー・スタイル</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>回線品質</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>ドメイン</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>プロジェクト</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>レッドオレンジ</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>海緑色</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>暗青灰色</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>青灰色</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>ゴールデンレッド</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>銀白色</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>ユーザ定義</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>最高</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>アップロード</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>中位</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>マイクを無効にする</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>マイクを有効にする</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>他の参加者のマイクを無効にして私のマイクだけを有効にする (F12)</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>あなたのマイクは、司会者によって無効化されています。あなた自身の手でマイクを有効化することはできません。</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>あなたのマイクを無効にしますか?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>あなたのマイクを無効にしてよろしいですか?無効にすると、他の参加者はだれも、あなたの音声を聞くことができなくなります。</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>消音してよろしいですか?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>この参加者のマイクからの音声を消音してよろしいですか?この操作は、あなたの端末上で消音するだけであって、他の参加者は指定のマイクからの音声を引き続き聞くことができます。司会者だけが、全参加者のマイクの有効化・無効化を行うことができます。</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>マイクを無効にしてよろしいですか?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>この参加者のマイクを無効化してよろしいですか?他の参加者はだれも、この参加者の音声を聞くことができなくなります。</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>あなたのマイクは有効です。ここをクリックして、司会者にマイクの無効化を依頼することができます。</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>あなたのマイクは無効です。ここをクリックして、司会者にマイクの有効化を依頼することができます。</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>は、マイクの無効化を依頼します。</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>は、マイクの有効化を依頼します。</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>さんが、参加者のマイクの有効化を依頼しています。</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>さんが、参加者のマイクの無効化を依頼しています。</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>マイクを有効化する</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>マイクを無効化する</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>この参加者は、司会者によってマイクを無効にされています。あなたの手で有効化することはできません。</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>あなたのマイクを無効化します</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>あなたのマイクを有効化します</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>マイクを無効にする</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>マイクを有効にする</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>マイクを無効にする</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>マイクを有効にする</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>司会者だけが各参加者のマイクの有効・無効を設定できます。あなた自身のマイクを消音したい場合は、あなたのビデオ画面中のマイク・アイコンを使ってください。</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>投票名</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>あなた</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>過去の投票</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>実施中の投票</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>シンプル・チャート</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>パイ・チャート</value>
+  </string>
+  <string id="1416" name="sign_up_validation">
+    <value>メールアドレスを入力してください</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>新着メッセージ</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>投票を締め切る</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>投票を締め切ってよろしいですか?</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>投票を削除する</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>この投票を削除してよろしいですか?同時に投票結果も削除されます。</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>ISO言語コード</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>単独話者になることを許可・拒否する</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>単独話者になることを許可する</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>単独話者になることを拒否する</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>は、単独話者になることを希望します。</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>さんが、単独話者になることを希望しています。</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>単独話者になることを許可する。</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>カメラ解像度</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>解像度の変更はネットワーク帯域に影響します。高解像度のビデオ画像は、より多くのネットワーク帯域を必要とします。</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>あなたは、あなた自身を、あるいは他の参加者を単独話者にする権限を持っていません。司会者に権限を付与してもらうか、司会者に単独話者の指定を依頼してください。</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>私は、単独話者になることができる権限の付与を依頼します。</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>あなたは、自分自身の手で単独話者になることができます。単独話者になるには、ここをクリックしてください。(または、あなたのビデオ画面でクリック、あるいはF12押下でも可能です)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/korean.xml b/WebContent/languages/korean.xml
new file mode 100644
index 0000000..da26967
--- /dev/null
+++ b/WebContent/languages/korean.xml
@@ -0,0 +1,4505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>회의</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>모임</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>교실</value>
+  </string>
+  <string id="4" name="settings">
+    <value>세딩</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>유저</value>
+  </string>
+  <string id="6" name="admin">
+    <value>관리</value>
+  </string>
+  <string id="7" name="stop">
+    <value>정지</value>
+  </string>
+  <string id="8" name="record">
+    <value>기록</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>유효한 파일 없음</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>교사 기록</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>연결된 유저:</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>회의 시작</value>
+  </string>
+  <string id="13" name="myname">
+    <value>본인 이름</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>비데오 회의</value>
+  </string>
+  <string id="15" name="import">
+    <value>가지고온 기획안</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>새로운 목록</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>메인파일에</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>새 선거</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>새 선거의장</value>
+  </string>
+  <string id="20" name="question">
+    <value>질문:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>선거 종류:</value>
+  </string>
+  <string id="22" name="create">
+    <value>창안하다</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>Info: Each connected user receives a message with the new poll.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>선거를 만드셨습니다.</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>무효</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>네/아니오</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>숫자 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>투표</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>질문을 만들기 위해서 의장이 되어야합니다.</value>
+  </string>
+  <string id="30" name="vote">
+    <value>당신의 투표가 등록 되었습니다.</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>이번 선거에 벌써 투표하셨습니다.</value>
+  </string>
+  <string id="32" name="voting">
+    <value>투표 !</value>
+  </string>
+  <string id="33" name="answer">
+    <value>당신의 응답:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>네</value>
+  </string>
+  <string id="35" name="no">
+    <value>아니오</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>will wissen:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>선거 결과:</value>
+  </string>
+  <string id="38" name="question">
+    <value>질문:</value>
+  </string>
+  <string id="39" name="results">
+    <value>결과:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>대답:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>시작된 선거가 없습니다.</value>
+  </string>
+  <string id="42" name="votings">
+    <value>선거!</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>미딩 (최고 4 자리까지)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>회의 (최고 50 자리까지)</value>
+  </string>
+  <string id="45" name="type">
+    <value>종류</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>다른 자리</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>이미 선택 하셨습니다.</value>
+  </string>
+  <string id="48" name="enter">
+    <value>들어가다.</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>의장이 미딩에서 나가셨습니다</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>시스템 설명</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>디바이스를 선택하십시요.</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>웹카메라를 선택해 주십시요:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>마이크를 선택해 주십시요:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>네</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>무효</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>다시 연결이 필요했습니다.</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>셋업 편집</value>
+  </string>
+  <string id="58" name="course">
+    <value>진행:</value>
+  </string>
+  <string id="59" name="language">
+    <value>언어:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>네</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>무효</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>칠판 지우기</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>새로운 그림을 넣기전에 칠판을 지우길 원하십니까?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>다시 질문을 해주시마십시요</value>
+  </string>
+  <string id="65" name="no">
+    <value>아니오</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>셋업 편집2</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>칠판지우시전 확인 요청.</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>유저 정보</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>그리는 자리 지움</value>
+  </string>
+  <string id="70" name="undo">
+    <value>원래대로 돌려놓다.</value>
+  </string>
+  <string id="71" name="redo">
+    <value>다시하다</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>물건을 선택해주십시요.</value>
+  </string>
+  <string id="73" name="text">
+    <value>원문</value>
+  </string>
+  <string id="74" name="paint">
+    <value>페인트</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>선 긋기</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>밑줄 긋기</value>
+  </string>
+  <string id="77" name="rect">
+    <value>직사각형</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>타원형</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>화살표</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>선택한 항목 삭제</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>알맞게 신청하십시요.</value>
+  </string>
+  <string id="82" name="apply">
+    <value>신청하다.</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>삭제</value>
+  </string>
+  <string id="84" name="mod">
+    <value>사회자가 돼다</value>
+  </string>
+  <string id="85" name="close">
+    <value>닫다</value>
+  </string>
+  <string id="86" name="italic">
+    <value>italic</value>
+  </string>
+  <string id="87" name="bold">
+    <value>굵은 체</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>기다림</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>유저가 사회자 신청을 원합니다:</value>
+  </string>
+  <string id="90" name="accept">
+    <value>받아들이다.</value>
+  </string>
+  <string id="91" name="reject">
+    <value>거부하다.</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>삭제</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>밑의 유져들에가 요청을 보냄</value>
+  </string>
+  <string id="94" name="accept">
+    <value>확임이 됩습니다.</value>
+  </string>
+  <string id="95" name="reject">
+    <value>거부가됩습니다.</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>사회자로 바끰</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>You are not moderating this course!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>사회자:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>이방 정원은 꽉 찾습니다. 죄송합니다. 다음에 오십시요.</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>타원</value>
+  </string>
+  <string id="101" name="close">
+    <value>닫다</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>데이다 오류 입력</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>유저 이름은 최소 4 문자가 돼어야합니다.</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>유저 비밀번호는 최소 4 문자가 돼여야합니다.</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>똑같은 유저이름이 존재합니다.</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>똑같은 이메일 주소가 이미 등록돼어 있습니다.</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>시스템 오류가 생겼습니다. 시스템 관리자에 연락주십시요.</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>로긴</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>유저:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>패스:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>언어</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>로긴</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>등록</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>유저:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>패스:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>다시타임:</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>이름:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>성:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>주소:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>나라:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>등록</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>취소</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>등록</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>집</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>유저</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>다체</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>조직</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>회의실</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>공공장소</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>조직</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>들어가다</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>로긴</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>비밀번호</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>다시 타이프 치다.</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>이름</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>성</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>주소</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>생일</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>길이름/번호</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>우편번호/동네</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>나라</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>주소 인호</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>유져데이다</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>저장</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>저장</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>USER-ID</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>로긴</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>이름</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>성</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>다음으로 보여주다</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>먼저 보여줌.</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>기록을 지우다.</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>삭제</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>삭제</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>새로운 기록</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>기록을 다시 재생하다</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>기록을 지우다</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>상태</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>무력하게 하다</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>권한을 주다</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>조직</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>달력</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>닫다</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>조직 번호</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>이름</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>유저</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>바끰</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>관리자</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>유저높이</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>조직</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>이름</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>조직 추가</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>조직 추가</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>삭제</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>추가하다</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>조직 추가</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>유저</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>유저추가</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>유저 지우기</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>유저 추가</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>유저 찾기</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>찾기</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>유저</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>조직</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>입력</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>회의실</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>회의실</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>아이디</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>이름</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>공공장소</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>조직</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>회의실</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>이름</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>종류</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>공공장소</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>의견</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>저장</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>입력</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>..와 같이 저장 하다</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>파일이름</value>
+  </string>
+  <string id="201" name="files">
+    <value>파일이름</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>삭제</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>저장</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>오류</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>장전</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>물체 장전</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>snychronizing clients, clients to wait:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>이미지데이다 로딩</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>snychronizing clients, clients to wait:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>그리는 곳 지우기</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>그리는 곳 지우기 칠판위에 모든 데이다가 없어집니다.</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>파일이 로딩돼기전에 확인해주십시요.</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>초대장을 보내다.</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>초대장을 보내다.</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>주제</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>수령인</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>메세지</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>보내기</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>삭제</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>보내기</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>유저데이다</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>이번 회의의 니크네임</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>nick</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>이름</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>성</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>이메일</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>언어</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>입력</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>로딩</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>데이다로딩, 기다려주십시요!</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>잘못된 패스워드</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>최소 4 개 문자로된 두개의 똑같은 패스워드를 입력시켜주십시요</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>다른 메일</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>잘못된 이멜주소를 입력하였습니다.</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>등록이 됬습니다.</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>당신의 어카운트가 생겼습니다. 지금 로긴이돼어 있습니다.</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>당신의 스크린을 지금 공유할수 없습니다. 다른사람이 이미 스크린을 공유하고 있습니다.</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>공유금지</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>당신의 스크린을 공유하다.</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Bad Bandwidth: You have not been able to syncronize the Screen. Frames will be dropped. If this Warning is shown often you could ask the moderator to reduce the Quality.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>Screen of:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Paint</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Document</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>Chat</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>Files</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Members</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Download original document</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>Download pdf document</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Load Presentation to whiteboard</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Configuration</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Drag this Object</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Resize this Object</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>of</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>Go to first Page</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>Go to previous Page</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>Go to next Page</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>Go to last Page</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Zoom --</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Zoom ++</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>Mr.</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Ms.</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Configuration</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>Key</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Configuration</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>Key</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>last update</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>updatedby</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>comment</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>key</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>of</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>Users</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>delete user from organisation</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>delete</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>This user is already member of this organisation.</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>News</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Quicklinks</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Goto Conference</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Goto Auditorium</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Help and Support</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>Report a bug!</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>more</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Project Website (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>User Mailing List (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Remember Login</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Content</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>My Home Page</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>My Scheduled Meetings</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>My Scheduled Events</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Public Meetings</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Private Meetings</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Public Events</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Private Events</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Public Content</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Private Content</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Personal Content</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value></value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Moderation</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>Apply for Moderation</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Polls</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Choose a file</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Settings</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Cam and Mic Settings</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Whiteboard Settings</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Exit</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Back to Rooms</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Logout</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Desktop Viewer</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>start Desktop Viewer</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>Video and Audio</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>Chat</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>Whiteboard</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>Moderation</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Files</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>Users</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Polls</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>There is no User connected to this Username</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>The email containing a special link has been sent to your email address, please check your mailbox. If you still have not received a email, please adjust your email spam settings and resend confirmation email.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Error</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Message</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>Invalid Hash. No User found.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Reset Your Password</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Login</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>change Password</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>new Password</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>re-enter Password</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>The Passwords you entered weren't identical.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>4 or more characters; capitalization matters!</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>Password set. You can login now.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Unkown Error. Please report this to your Service-Team.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>Username not found</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Invalid Password</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Successfully Logged out</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Frontend Registration disabled.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>Invalid EMail</value>
+  </string>
+  <string id="340" name="registration">
+    <value>duplicate filename, please choose another filename</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>filename too short</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>Could not save Address</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>User added but you need to assign this User to an Organisation, otherwise he won't be able to sign-in.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>New Record</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>No Field found with this FieldId.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>No Label found for that Field.</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Admin Authorization required</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Language-Editor</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Language</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>Label-ID</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Label-Name</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Value</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Fieldvalues</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>LabelName</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>LabelValue</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>Label-ID</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>You did only delete the Label NOT the Field! You cannot delete the Field, it may has Labels in other Languages.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>Invalid Labelid. The FieldLanguagesvalues_Id cannot be found in the database.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>You cannot delete this Field. You can only delete Labels NOT Fields. There is no Label loaded at the moment, wether it is not selected any Field or there is no Label for this Language for that Field defined.</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>export</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>You need to logout to see any changes.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Add new language</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>delete language</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Add new language</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Name</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>add language</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Backup</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>goto first</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>goto previous</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>goto next</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>goto last</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>user speaks (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>turn sound on/off</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>System</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>Your Settings</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>hi,</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Edit your profile</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>New Messages:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Upload new Image</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Userdata - Export</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>All organisations must be already existing!</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>start export</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>By organisation</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>start export</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Userdata - Import</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>choose users.xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>import</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Export to XML - These files can be used to: - Contribute to the project - Import into another System - Backup - Customization - Put it into the language-directory for your next installation</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Choose a language file to import. Choose the right Langauge from the Combobox! No matter what the name of the file is, it will be imported into this language!</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>import - choose file</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Save as</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Name:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>Comment:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>save</value>
+  </string>
+  <string id="395" name="record">
+    <value>Recordings</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Recordings Viewer</value>
+  </string>
+  <string id="397" name="record">
+    <value>Recordings of public and private Rooms</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>Users :</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>Joined:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Users in this Room:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>refresh</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>This Room is Full. Try again in a few minutes.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>click on a room to get details</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Chat with the users in this Room:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Room:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Users in this room:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>since:</value>
+  </string>
+  <string id="409" name="record">
+    <value>play recording</value>
+  </string>
+  <string id="410" name="record">
+    <value>Length:</value>
+  </string>
+  <string id="411" name="record">
+    <value>Date:</value>
+  </string>
+  <string id="412" name="record">
+    <value>Recorder Mode! You cannot change any values, this is a recorded File!</value>
+  </string>
+  <string id="413" name="record">
+    <value>Play this recording</value>
+  </string>
+  <string id="414" name="record">
+    <value>Play / Pause</value>
+  </string>
+  <string id="415" name="record">
+    <value>Start recording</value>
+  </string>
+  <string id="416" name="record">
+    <value>stop recording</value>
+  </string>
+  <string id="417" name="record">
+    <value>Recording:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>There is already somebody recording at the moment:</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Recording! By User:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>cancel</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>Recording will be canceled and not saved.</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>resume</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Close this window and resume recording</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>change Linecolor</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Choose Color</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Disable / Enable Linecolor</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>change Fillcolor</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>Disable / Enable Fillcolor</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Change Linewidth</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>close</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>change Fontsize</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>Delete Recording</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Guest</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>By:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Name</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Room</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Date</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>cancel</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>start</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Name</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Date</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>Delete Server-Chatlog</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>Chat</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>send message</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Emoticons</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>Emoticons</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Choose Published Devices</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Audio and Video</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>Audio only</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>Video only</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>no Audio/Video (static Image)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>No Audio/Video from your PC will be published, instead of that a picture from your profile will be shown. Choose these settings if you have problems with your bandwidth or a very slow Internet connection.</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>MO</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>TU</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>WE</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>TH</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>FR</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>SA</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>SU</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>Monday</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Tuesday</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Wednesday</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Thursday</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Friday</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Saturday</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Sunday</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>CW</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Calendar week</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>January</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>February</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>March</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>April</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>May</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>June</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>July</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>August</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>September</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>October</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>November</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>December</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Calendar</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Participants</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Show Layout Settings</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Width | Height</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Video-Container</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Moderation-Container</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Whiteboard-Container</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Enabled</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Width | Height</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Files,Chat,Partizipants - Container</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Enabled</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Width | Height</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>The Moderator has left the Room. No one is presenting at the Moment. You could apply for Moderation or wait.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>There is no Moderator in this Room, but there are some Participants. You have to apply for Moderation or wait.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>Feedback $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Invitation</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Message from User:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Message:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Click this link to participate in the Meetings:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Click here to enter room</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>if you have problems with the link, please copy and paste this to your browser:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME SignUp</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>Your userdata:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Login:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Pass:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>EMail:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME-Team</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME Sign-Up</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - Reset Password</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Click on this link to enter a new password:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Click here to enter a new Password</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>if you have problems with the link, please copy and paste this to your browser:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>$APP_NAME Password Reset</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>Please enter a valid Date, for example 24.12.2001 (dd.mm.yyyy)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Please enter a valid EMail, for example name@mail.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Please enter a Float-Number, for example 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Please enter a Number (Integer), for example 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Please enter a valid Phone number, for example ++49 0123 123123</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Please enter a valid time, for example 12:23 (hh:mm)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Passwort protected</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Password</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Validity period</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Endless</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Period</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>One-Time</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Valid From:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Valid to:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Invitation To $APP_NAME</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>Not Invitation availible for this Invitation-Code</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>The Invitation was already used. This type of Invitation cannot be re-used.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>This Invitation-Code is not valid.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Password:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Check Password</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Invalid Password!</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>Browser</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Syncronize Audio/Video</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>Login was correct, but the Session you tried is not active or stored on the Server. You have to get a new SessionId and retry login.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>The SessionId is not loggedin or has no Admin rights. The SOAP Gateway needs an User with Admin-Rights to embed new Users.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>This Session has no Remoteuser-Data connected. Wether you did not call the SOAP-Gateway before accessing the Application or you are usnig a wrong Session-ID</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>The recorder is currently Beta!</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>x-axis</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>y-axis</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>w</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>width</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>height</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Change Transparency</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Browser Open</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Browser Close</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>The Connection to the Server is lost. You need to reload the Application or/and check your Network.</value>
+  </string>
+  <string id="557" name="557">
+    <value>Pointer</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Synchronizing</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Synchronizing Users, please wait</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Download as SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Download as PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Download as JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Download as PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Download as TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Reminder:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Category:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Repetition:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>none</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Location:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Start</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>End</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Title:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Comment:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Invite People</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Daily</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Monthly</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Yearly</value>
+  </string>
+  <string id="578" name="alert">
+    <value>Appointment-end is after of appointment-start!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Please insert a title!</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>Activate this if you write in a right to left language (inverse word order)</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Dashboard</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Watch recorded Meetings or Events</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Meeting - Make a conference with 4 (up to 16) Users&lt;br/&gt;everybody will have audio + video access</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Event - Make a conference with up to 200 participents&lt;br/&gt;Only the Moderator will have audio/video</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Create users, rooms, organizations&lt;br/&gt; + change configuration</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Users in this Room now</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Login</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Loading Document. Please wait untill all Client have been synchronized.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Upload complete, converting Document ...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Start Upload</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Upload and Import Dialog. Please select a File from your Disk.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Cancel</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Select File</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Connections</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Value</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Login</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Connected since</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Room / Scope</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Kick User</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Kick User</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Do you really want to kick this Client from the Connection?&lt;br/&gt; This does only remove the Client from the current Room.The Client could re-login again.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Your session has been closed by an Administrator or Moderator.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Phone</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>User is the Moderator of this Room</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>User is allowed to draw on the Whiteboard</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Re) Start Audio/Video or change Device Settings</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Allow this User to draw on the Whiteboard</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Remove ability to draw on whiteboard</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Users</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Files</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Whiteboard</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Chat</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Your account is assigned to multiple Organizations. Please choose one for this Session.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>This room is full at the moment. Please try again later.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Room Type</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Appointment Room</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Server Time</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - Reminder</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Message from User:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Message:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Click this link to participate in the Meetings:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Click here to enter room</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>if you have problems with the link, please copy and paste this to your browser:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>search intern</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>extern users</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>pre name</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>name</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>E-mail</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Confirm logout</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Are you sure you want to logout now?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Actions</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Demo Room</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Demo Time</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Meeting Timer</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>This Room is a Demo Room. To disable this warning you either should get a private meeting room for your personal usage or set up an own Server. You will be automatically logged off in:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Moderated</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Please wait untill the Moderator has entered the Room. The Moderator can be either a Teacher, Admin or the creator of this Room.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Ok</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Incoming Screen Sharing</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>There is a new Screen Sharing incoming from the User:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Start Sharing</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Add new Meeting</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Meeting Room</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Event Room</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Moderation</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Moderate Users</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Moderate Rooms</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Do you want to change this User to become a Moderator of that Organization?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Please choose an Organization before you try to add a User to it!</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Organization - Moderator</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Do you really want to delete this User from the Organization?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>This User is Moderator</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>This User is No-Moderator</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Do you want this User to be not a Moderator of this Organization?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Add or delete Users or Rooms within your Organization</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Do you really want to delete this record?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Do you really want to delete this user from your organization? You will only delete the connection between the user and your organization, to really delete the user itself you have to login into the Administration-Panel.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>You cannot delete your own User!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>This Method needs a Adminstration Account to be invoked!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>There was no Session associated with this ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>This is an Administrator or Moderator account. You can only edit this account through the Administration Panel.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>To complete your registration please click on the following link. Or copy the URL to your browser bar.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Click to verify your E-Mail</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>No user was found for this Hash.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>This user is already activated!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>You did successfully activate your account!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Login Now</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Your account is not activated. First use the link in the Email you've received during registration.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>You successfully signed up. We've send an EMail with a verification Code to your Mail. Please check your Inbox.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Remove Moderation Role from this User</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Grant Moderation Rights to this User</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>User</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Access to whiteboard</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Moderator</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Moderation: Please choose any User on the List to grant him access to the Whiteboard, Moderation or Video.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>This User is already Moderator, so he has automatically the right to draw.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>This is you! You cannot remove the Moderation rights from yourself.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Allow this User to Publish his Audio / Video</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Remove Audio/Video of this User</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>I would like to get the moderation of this room</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>I would like to draw on whiteboard</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>I would like to share my Audio/Video</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>You are moderator of this room</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>You are allowed to draw on whiteboard</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>You are allowed to share your Audio/Video</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Message to Moderator</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>The User</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>would like to get the Moderation. Use the status Icons next to the user in the List of Users to add or remove the Moderation.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>would like to draw on whiteboard. Use the status Icons next to the user in the List of Users to add or remove the right to draw anything on the whiteboard.</value>
+  </string>
+  <string id="695" name="695">
+    <value>would like to share his Audio/Video. Use the status Icons next to the user in the List of Users to add or remove the right to share Audio/Video for any User.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>You have to wait untill a Moderator enters the room.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Cancel</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Save</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Day</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Month</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Year</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Upload File</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Refresh</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Trash (Drag and Drop item here)</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>My Files (Home Drive)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Room Files (Public Drive)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Add File</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Delete Folder</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Edit Name</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>New Folder</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Are you sure you want to delete this Item?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Open Document</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Show all Files (Tree View)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Close Document</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Delete File</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>You are not allowed to draw anything on the Whiteboard. You have to become Moderator or at least get the Right to edit Whiteboard. You may ask a Moderator to give you that right.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Document Properties</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Start Client (external)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Start Client (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>A user want to share his screen. Do you want to see it?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>You are currently sharing your Desktop. For stopping the Sharing Session please hit the Stop button in the Sharing Client.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Sharing Session</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>You are already sharing your desktop!</value>
+  </string>  
+  <string id="728" name="sharing client">
+    <value>Desktop Viewer</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Exit</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Desktop Sharer</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Click Start to publish your screen</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Start Sharing</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Select your screen area:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Change width</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>The Sharer has finished this session!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Change height</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X-Offset</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y-Offset</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Width:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Height:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>Connection was closed by Server</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Cancel</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Start External</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>If you close this session completely you are not able to restart the viewer for this session.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Confirm Closing Viewer Session</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Share Screen</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Record Session</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Co-Browsing</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Ooops, ... Firefox on Windows does not show clear Co-Browsing. Please use another Browser for using the Co-Browsing feature.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Previous</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Next</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Reload</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Home</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Load</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Add this website as Default website to your Profile.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Test Setup</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Check you Microphone and Camera setup before you enter a room by recording some seconds. You can then replay your recording to check your voice and picture.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Don't show this test anymore</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Cancel</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Start Conference</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Do not ask again</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>You may proceed without testing if you do not plan to publish your voice or picture. Participants without Audio or Video can still use the Whiteboard, share their Desktop or write Chat messages.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="test setup">
+    <value>Level-Meter</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Press Start</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Start Event</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Choose Room</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Check Setup</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="774" name="start view">
+    <value>How to conference</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Start Recording</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Do not show Audio / Video Test (Recording) before entering a Conference</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Public Rooms</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Public Rooms are accessible for all Users.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Private Rooms</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Private Rooms are only accessible for users of the same organization.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>My Rooms</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Rooms in this section are created for personal usage. There are some standard rooms plus the ones that are created through the calendar and have a start and an end date. The rooms created via the calendar are only listed in this section as long as they are valid.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>You have to be moderator to do this.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Apply for moderation</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Apply for whiteboard access</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Apply for camera/microphone access</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>This Session Hash was already used. You cannot use it twice.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>START</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>EXIT</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Do you really want to exit? You might should clear uploaded documents, whiteboard and the chat history.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Exit conference</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Rooms</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Choose a room for a meeting</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>There is an unsaved Event in the Calendar. Please either save it or remove it.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Please add at least one attendee for your meeting!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Do you really want to delete this Event?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Warning</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Add Event</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>Day</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>Week</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>Month</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Description</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Attendees</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, your Web Conferencing Platform. Either follow the Instructions, press the start button to start to conference immediatelly or you goto the Calendar and set up a Conference for the future.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Plan a Meeting</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>To set up a conference you can add a new Event in the Calendar.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Need help?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Restricted</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Search</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Add</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>There is no User selected. Please select an item from the list first and then hit add.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Add Attendee</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Save</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Delete</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Event Details</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Default Moderators</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Name</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>E-Mail</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Add new default Moderator</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Is Super Moderator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>If the Room is moderated, User with Level Moderator or Administrator are automatically Moderator if they enter the Room. If you don't want to specify that and only want a certain User to become Moderator use the Default Moderator option.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>A Super Moderator is always a Moderator when he enters a Room, and nobody can remove the Moderation Flag from him</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Apply Super-Moderation to User</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Remove Super Moderation from User</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>If you add an Organization to the room only users of that Organization have access to it (This is only valid if the isPublic flag is set to false!)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Limitations</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organization</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Are you sure?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Do you really want to delete this Item? You have to press the save button to store the changes!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>There is no User selected. Please select first before you add it!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Add new Default Moderator</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Do you want to add the Super Moderation Flag for this User? A Super Moderator is not only Moderator of a Room, but also no other Moderator can remove the Moderation Flag for this User. You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Do you want to remove the Super Moderation Flag for this User? You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>This User is a Super-Moderator. You cannot remove the Moderation flag from a Super-Moderator!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Do you really want to delete this File/Folder?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Delete File/Folder?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Mrs.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Dr.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Properties</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Show mouse position to viewers</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Share Audio with SIP Applet</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Share Audio with SIP and Video with Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Full-Fit</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>View Screen</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>The user</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>wants to share its screen. Do you want to see it?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Close</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>The Session was closed by the sharing User!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>New Screen Sharing</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimize</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximize</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Recording Timeline</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>My Recordings</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Public Recordings</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Name</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Length</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Date</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>By</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>PLAY</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Main - Video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Recording</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>You may record and share your screen at the same time. To enable others to see your screen just hit the start button on the top. To only record the Session it is sufficient to click start recording.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Start Recording</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Stop Recording</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download the FLV-File</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Room</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>User has microphone on</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Allow User Questions</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Turn this off to prevent that any user is disturbing you in this room. Effect is that the Button to ask for Moderation ("I have a question") is not visible.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Rights</value>
+  </string>  
+  <string id="882" name="flvrecording">
+    <value>Download as AVI</value>
+  </string>  
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio only</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the Recording.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>The Recording is not yet ready for watching. Please retry in a couple of minutes again.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Recorder Message</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIP Applet is not Ready</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP-Account Settings</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP settings for each user. You can turn on or off SIP via the Administration &gt; Configuration (Key: enable_sip). The SIP data for each user should be created automatically. You can re-create the data by checking "Re-generate SIP Data"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. You should check the authentification data of your SIP-Provider and the SIP-Account Data for each User. As Administrator you are still able to login and check the Configuration. As User or Moderator you will be blocked from any interaction.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. Contact your Service Team!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet Message</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>The SIP-Applet is not ready. Accept the Applet please and click ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Get Moderation</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login the $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choose the User for this Video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>You are a Moderator in this Interview. You can decide who is speaking in this interview and you can start / stop the recording of the Session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Start Recording</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Stop Recording</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+    <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/language.xsd b/WebContent/languages/language.xsd
new file mode 100644
index 0000000..8ad8377
--- /dev/null
+++ b/WebContent/languages/language.xsd
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

+  <xs:element name="language">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element maxOccurs="unbounded" ref="string"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="string">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element ref="value"/>

+      </xs:sequence>

+      <xs:attribute name="id" use="required" type="xs:integer"/>

+      <xs:attribute name="name" use="required"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="value">

+    <xs:complexType mixed="true">

+      <xs:sequence>

+        <xs:element ref="br" minOccurs="0" maxOccurs="unbounded" />

+        <xs:element ref="i" minOccurs="0" maxOccurs="unbounded" />

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="br"/>

+  <xs:element name="i" type="xs:string"/>

+</xs:schema>

diff --git a/WebContent/languages/languages.xml b/WebContent/languages/languages.xml
new file mode 100644
index 0000000..ccd5938
--- /dev/null
+++ b/WebContent/languages/languages.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="languages.xsd">
+	<lang id="1" rightToLeft="false" code="en">english</lang>
+	<lang id="2" rightToLeft="false" code="de">deutsch</lang>
+	<lang id="3" rightToLeft="false" code="de-StudIP">deutsch (studIP)</lang>
+	<lang id="4" rightToLeft="false" code="fr">french</lang>
+	<lang id="5" rightToLeft="false" code="it">italian</lang>
+	<lang id="6" rightToLeft="false" code="pt">portugues</lang>
+	<lang id="7" rightToLeft="false" code="pt-br">portugues brazil</lang>
+	<lang id="8" rightToLeft="false" code="es">spanish</lang>
+	<lang id="9" rightToLeft="false" code="ru">russian</lang>
+	<lang id="10" rightToLeft="false" code="sv">swedish</lang>
+	<lang id="11" rightToLeft="false" code="zh-CN">chinese simplified</lang>
+	<lang id="12" rightToLeft="false" code="zh-TW">chinese traditional</lang>
+	<lang id="13" rightToLeft="false" code="ko">korean</lang>
+	<lang id="14" rightToLeft="true" code="ar">arabic</lang>
+	<lang id="15" rightToLeft="false" code="ja">japanese</lang>
+	<lang id="16" rightToLeft="false" code="id">indonesian</lang>
+	<lang id="17" rightToLeft="false" code="hu">hungarian</lang>
+    <lang id="18" rightToLeft="false" code="tr">turkish</lang>
+    <lang id="19" rightToLeft="false" code="uk">ukrainian</lang>
+    <lang id="20" rightToLeft="false" code="th">thai</lang>
+    <lang id="21" rightToLeft="false" code="fa">persian</lang>
+    <lang id="22" rightToLeft="false" code="cs">czech</lang>
+    <lang id="23" rightToLeft="false" code="gl">galician</lang>
+    <lang id="24" rightToLeft="false" code="fi">finnish</lang>
+    <lang id="25" rightToLeft="false" code="pl">polish</lang>
+    <lang id="26" rightToLeft="false" code="el">greek</lang>
+    <lang id="27" rightToLeft="false" code="nl">dutch</lang>
+    <lang id="28" rightToLeft="true" code="he">hebrew</lang>
+    <lang id="29" rightToLeft="false" code="ca">catalan</lang>
+    <lang id="30" rightToLeft="false" code="bg">bulgarian</lang>
+    <lang id="31" rightToLeft="false" code="da">danish</lang>
+    <lang id="32" rightToLeft="false" code="sk">slovak</lang>
+</language>
diff --git a/WebContent/languages/languages.xsd b/WebContent/languages/languages.xsd
new file mode 100644
index 0000000..d6a0592
--- /dev/null
+++ b/WebContent/languages/languages.xsd
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

+  <xs:element name="language">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element maxOccurs="unbounded" ref="lang"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="lang">

+    <xs:complexType mixed="true">

+      <xs:attribute name="code" use="required" type="xs:NCName"/>

+      <xs:attribute name="id" use="required" type="xs:integer"/>

+      <xs:attribute name="rightToLeft" use="required" type="xs:boolean"/>

+    </xs:complexType>

+  </xs:element>

+</xs:schema>

diff --git a/WebContent/languages/persian.xml b/WebContent/languages/persian.xml
new file mode 100644
index 0000000..4942bdc
--- /dev/null
+++ b/WebContent/languages/persian.xml
@@ -0,0 +1,4505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>كنفرانس</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>ملاقات</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>درس كلاس</value>
+  </string>
+  <string id="4" name="settings">
+    <value>تنظيمات</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>فردي مشخصات</value>
+  </string>
+  <string id="6" name="admin">
+    <value>مدیریت</value>
+  </string>
+  <string id="7" name="stop">
+    <value>توقف</value>
+  </string>
+  <string id="8" name="record">
+    <value>ضبط</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>دسترس قابل غير فايل</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>استاد توسط ضبط</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>حاضر كاربران</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>كنفرانس يك شروع</value>
+  </string>
+  <string id="13" name="myname">
+    <value>من نام</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>ويديويي كنفرانس</value>
+  </string>
+  <string id="15" name="import">
+    <value>بارگذاري</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>ليست بازبيني</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>اصلي فايل</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>جديد سنجي نظر</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>كنفرانس براي جديد راي يك</value>
+  </string>
+  <string id="20" name="question">
+    <value>:پرسش</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>:سنجي نظر انواع</value>
+  </string>
+  <string id="22" name="create">
+    <value>ايجاد</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>اطلاعات پيام</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>سنجي نظر يك ايجاد</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>انصراف</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>خير/بله</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>1-10 اعداد</value>
+  </string>
+  <string id="28" name="poll">
+    <value>سنجي نظر</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>اعتدال</value>
+  </string>
+  <string id="30" name="vote">
+    <value>راي</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>پيشين آرا</value>
+  </string>
+  <string id="32" name="voting">
+    <value>راي</value>
+  </string>
+  <string id="33" name="answer">
+    <value>پاسخ</value>
+  </string>
+  <string id="34" name="yes">
+    <value>بله</value>
+  </string>
+  <string id="35" name="no">
+    <value>خير</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>:پاسخ درخواست</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>راي پيامد</value>
+  </string>
+  <string id="38" name="question">
+    <value>:پرسش</value>
+  </string>
+  <string id="39" name="results">
+    <value>:پيامد</value>
+  </string>
+  <string id="40" name="answers">
+    <value>:پاسخ</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>است نشده آغاز سنجي نظر هيچ</value>
+  </string>
+  <string id="42" name="votings">
+    <value>آرا</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>جلسه</value>
+  </string>
+  <string id="44" name="conference">
+    <value>كنفرانس</value>
+  </string>
+  <string id="45" name="type">
+    <value>نوع</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>ديگر جايگاه</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>پيشين انتخابهاي</value>
+  </string>
+  <string id="48" name="enter">
+    <value>ورود</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>.کردند ترک را جلسه سيستم مدير</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>سيستم پيام</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>انتخاب شيوه</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>دوربين انتخاب</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>ميكروفن انتخاب</value>
+  </string>
+  <string id="54" name="ok">
+    <value>ادامه</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>انصراف</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>داريد مجدد اتصال به احتياج شما</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>تنظيمات ويرايش</value>
+  </string>
+  <string id="58" name="course">
+    <value>رشته</value>
+  </string>
+  <string id="59" name="language">
+    <value>:زبان</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>ادامه</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>انصراف</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>مانيتور صفحه كردن پاك</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>شود؟ اضافه جديد عكس يك اينكه از قبل شود خالي مانيتور صفحه ميخواهيد آيا</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>نفرماييد سوال دوباره</value>
+  </string>
+  <string id="65" name="no">
+    <value>خير</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>نصب تصحيح</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value></value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>كاربر اطلاعات</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>شده ترسيم محيط وضوح</value>
+  </string>
+  <string id="70" name="undo">
+    <value>كردن خنثي</value>
+  </string>
+  <string id="71" name="redo">
+    <value>دوباره انجام</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>نظر مورد موضوع</value>
+  </string>
+  <string id="73" name="text">
+    <value>متن</value>
+  </string>
+  <string id="74" name="paint">
+    <value>كردن نقاشي</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>كشيدن خط</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>كردن دار خط زير</value>
+  </string>
+  <string id="77" name="rect">
+    <value>گوش چهار</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>بيضي</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>پيكان</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>انتخابي آيتم حذف</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>مديريت درخواست</value>
+  </string>
+  <string id="82" name="apply">
+    <value>اجرا قابل</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>انصراف</value>
+  </string>
+  <string id="84" name="mod">
+    <value>مديريت درخواست</value>
+  </string>
+  <string id="85" name="close">
+    <value>بستن</value>
+  </string>
+  <string id="86" name="italic">
+    <value>كج حروف</value>
+  </string>
+  <string id="87" name="bold">
+    <value>توپر حروف</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>ماندن منتظر</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>اجرا قابل پيغام</value>
+  </string>
+  <string id="90" name="accept">
+    <value>پذيرفتن</value>
+  </string>
+  <string id="91" name="reject">
+    <value>كردن رد</value>
+  </string>
+  <string id="92" name="cancel">
+    <value></value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>سيستم مدير به درخواست پيام ارسال</value>
+  </string>
+  <string id="94" name="accept">
+    <value>پذيرفتن</value>
+  </string>
+  <string id="95" name="reject">
+    <value>كردن رد</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>سيستم مدير تغيير</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>You are not moderating this course!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>:سيستم مدير</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>This Room is full. Sorry please try again later.</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>بيضي</value>
+  </string>
+  <string id="101" name="close">
+    <value>بستن</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value></value>
+  </string>
+  <string id="103" name="min4username">
+    <value>كاراكتر 4 از بيش يا 4</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>باشد كاراكتر 4 حداقل بايد عبور رمز</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>The username is already taken</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>The email is already registered</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>سيستم اخطار</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>ارتباط قطع</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>:كاربر</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>:عبور رمز</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>:زبان</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>سيستم به ورود</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>Sign Up</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>:كاربر</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>عبور رمز:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>تايپ بازبيني:</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>:نام</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>:خانوادگي نام</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>:ايميل</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>:كشور</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>ثبت</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>انصراف</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>Not a member?</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>اصلي صفحه</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>كاربر</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>ها گروه</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>دهي سازمان</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>گفتگو اطاق</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>همگاني</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>دهي سازمان</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>ورود</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>ارتباط قطع</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>عبور رمز</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>تايپ بازبيني</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>:نام</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>:خانوادگي نام</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>:ايميل</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>:تولد تاريخ</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>:سكونت محل</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>:كدپستي</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>:كشور</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>:آدرس</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>كاربر سوابق</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>ذخيره</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>ذخيره</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>كاربر شناسه</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>ارتباط قطع</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>نام</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>خانوادگي نام</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>بعدي نمايش</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>قبلي نمايش</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>ضبط حذف</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>انصراف</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>حذف</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>جديد ضبط</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>ضبط بيني باز</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>ضبط حذف</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>وضعيت</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>صلاحيت فاقد</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>ساختن قادر</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>دهي سازمان</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>تقويم</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>بستن</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>سازمان شناسه</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>نام</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>كاربر</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>سيستم مدير</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>سيستم مدير</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>كاربر سطح</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>دهي سازمان</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>نام</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>دهي سازمان افزودن</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>دهي سازمان افزودن</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>انصراف</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>افزودن</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>remove organisation</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>كاربر</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>اضافه كاربر</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>كاربر حذف</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>كاربر افزودن</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>كاربر جستجوي</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>كاوش</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>كاربر</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>دهي سازمان</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>ورود</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>كنفرانس اطاق</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>كنفرانس اطاق</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>شناسه</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>نام</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>همگاني</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>دهي سازمان</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>گفتگو اطاق</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>نام</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>تايپ</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>همگاني</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>تفسير</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>ذخيره</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>گذاري بار</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>از ذخيره</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>فايل نام</value>
+  </string>
+  <string id="201" name="files">
+    <value>فايل نام</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>انصراف</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>ذخيره</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>خطا</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>گذاري بار</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>موضوع بارگذاري</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>snychronizing clients, clients to wait:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>تصويري هاي داده گذاري بار</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>snychronizing clients, clients to wait:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>شده ترسيم محيط وضوح</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>clear drawarea, all data on whiteboard will be lost</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>فايل گذاري بار از قبل تثبيت</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>نامه دعوت ارسال</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>نامه دعوت ارسال</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>موضوع</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>گيرنده</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>پيام</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>ارسال</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>انصراف</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>ارسال</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>كاربر داده</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>كنفرانس اين براي شما اختصار نام</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>مستعار نام</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>نام</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>خانوادگي نام</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>ايميل</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>زبان</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>ورود</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>گذاري بار</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>كنيد صبر لطفا-اطلاعات گذاري بار حال در</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>ورود رمز اخطار</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>كنيد وارد عبور رمز دو لطفا</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>ايميل اخطار</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>كرديد وارد صحيح نا پستي آدرس</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>Registration Complete</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>است شده ايجاد شما اكانت</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>بگذاريد اشتراك به را خود صفحه نميتوانيد شما</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>ممنوع گذاري اشتراك به</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>شما صفحه گذاري اشتراك</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Bad Bandwidth: You have not been able to syncronize the Screen. Frames will be dropped. If this Warning is shown often you could ask the moderator to reduce the Quality.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>:صفحه</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>كردن نقاشي</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>سند</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value></value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>ها فايل</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>اعضا</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>اصلي سند دانلود</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>pdf سند دانلود</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Load Presentation to whiteboard</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>بندي پيكره</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>موضوع اين كشيدن</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>موضوع اين سايز تغيير</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>درصد</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>مبدا</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>اول صفحه به بازگشت</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>قبلي صفحه به بازگشت</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>بعدي صفحه به رفتن</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>آخر صفحه به رفتن</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>-- زوم</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>++ زوم</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>Mr.</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Ms.</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>موقعيت</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>شناسه</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>راهنما</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>موقعيت</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>راهنما</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>رساني بروز آخرين</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>توسط شده روز به</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>تفسير</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>بها</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>مبدا</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>كاربر</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>سازمان از كاربر حذف</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>حذف</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>This user is already member of this organisation.</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>خبر</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Quicklinks</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>كنفرانس به بازگشت</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>كنفرانس تالار به بازگشت</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>پشتيباني و همكاري</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>!اشكال يك ضبط</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>بيشتر</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Project website (http://incubator.apache.org/openmeetings/)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>User mailing list (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Remember Login</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>محتوا</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>من خانگي صفحه</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>My Scheduled Meetings</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>My Scheduled Events</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>همگاني گفتگوي</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>همگاني گفتگو</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>همگاني وقايع</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>خصوصي وقايع</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>همگاني محتوا</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>خصوصي محتواي</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>شخصي محتواي</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value></value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>مديريت</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>مديريت درخواست</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>سنجي نظر</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>فايل يك انتخاب</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>تنظيمات</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>دوربين و ميكروفن تنظيمات</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>مانيتور صفحه تنظيمات</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>خروج</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>اتاق به بازگشت</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>خروج</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>ايد؟كرده فراموش را خودعبور رمز</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>Reset Password</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>ايميل توسط</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>By Login</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>شما ايميل</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>Your Login</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Send Mail with reset Link</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>No such email address was found. Make sure you enter the same email address you used to create your account.</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Please enter either a Mail or a Username</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>There is no User connected to this Username</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>The email containing a special link has been sent to your email address, please check your mailbox. If you still have not received a email, please adjust your email spam settings and resend confirmation email.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>خطا</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>پيام</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>Invalid Hash. No User found.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Reset Your Password</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>ارتباط قطع</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>عبور رمز تغيير</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>جديد عبور رمز</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>عبور رمز مجدد ورود</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>The Passwords you entered weren't identical.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>4 از بيش يا كاراكتر 4</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>Password set. You can login now.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>ادامه</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Unkown Error. Please report this to your Service-Team.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>Username not found</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>صحيح نا عبور رمز</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Successfully Logged out</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Frontend Registration disabled.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>صحيح نا ايميل</value>
+  </string>
+  <string id="340" name="registration">
+    <value>كنيد وارد را ديگري فايل نام لطفا است تكراري فايل نام</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>است كوتاه خيلي فايل نام</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>كنيد ذخيره توانيد نمي را آدرس</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>User added but you need to assign this User to an Organisation, otherwise he won't be able to sign-in.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>جديد ضبط</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>No Field found with this FieldId.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>No Label found for that Field.</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Admin Authorization required</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Language-Editor</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>زبان</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>Label-ID</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Label-Name</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Value</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Fieldvalues</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>LabelName</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>LabelValue</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>Label-ID</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>You did only delete the Label NOT the Field! You cannot delete the Field, it may has Labels in other Languages.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>Invalid Labelid. The FieldLanguagesvalues_Id cannot be found in the database.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>You cannot delete this Field. You can only delete Labels NOT Fields. There is no Label loaded at the moment, wether it is not selected any Field or there is no Label for this Language for that Field defined.</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>export</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>You need to logout to see any changes.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>جديد زبان افزودن</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>زبان حذف</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>جديد زبان افزودن</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>نام</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>زبان افزودن</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>پشتيبان</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>اولين به بازگشت</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>قبلي به بازگشت</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>بعدي به رفتن</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>آخر به رفتن</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>كاربر گفتگوي (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>صدا كردن خاموش/روشن</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>سيستم</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>شما تنظيمات</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>سلام</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>شما نمودار ويرايش</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>:جديد پيام</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>جديد تصوير گذاري بار</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Userdata - Export</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>بندي طبقه همه</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>start export</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>بندي طبقه بوسيله</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>start export</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>كاربر داده</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>كاربر انتخاب</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>اهميت</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Export to XML - These files can be used to: - Contribute to the project - Import into another System - Backup - Customization - Put it into the language-directory for your next installation</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Choose a language file to import. Choose the right Langauge from the Combobox! No matter what the name of the file is, it will be imported into this language!</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>فايل انتخاب</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>از ذخيره</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>:نام</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>:توضيح</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>ذخيره</value>
+  </string>
+  <string id="395" name="record">
+    <value>بایگانی</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Recordings Viewer</value>
+  </string>
+  <string id="397" name="record">
+    <value>Recordings of public and private Rooms</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>:كاربر</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>:پيوستن</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>:اطاق اين در كاربر</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>بيني باز</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>This Room is Full. Try again in a few minutes.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>click on a room to get details</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Chat with the users in this Room:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>:اطاق</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>:اطاق در كاربر</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>:ابتدا از</value>
+  </string>
+  <string id="409" name="record">
+    <value>play recording</value>
+  </string>
+  <string id="410" name="record">
+    <value>:طول</value>
+  </string>
+  <string id="411" name="record">
+    <value>:تاريخ</value>
+  </string>
+  <string id="412" name="record">
+    <value>Recorder Mode! You cannot change any values, this is a recorded File!</value>
+  </string>
+  <string id="413" name="record">
+    <value>Play this recording</value>
+  </string>
+  <string id="414" name="record">
+    <value>مكث/</value>
+  </string>
+  <string id="415" name="record">
+    <value>ضبط شروع</value>
+  </string>
+  <string id="416" name="record">
+    <value>ضبط توقف</value>
+  </string>
+  <string id="417" name="record">
+    <value>:ضبط</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>There is already somebody recording at the moment:</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>كاربر توسط!ضبط</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>انصراف</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>Recording will be canceled and not saved.</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>مطالب خلاصه</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>شود ضبط مطالب خلاصه و شود بسته پنجره اين</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>خط رنگ تغيير</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>رنگ انتخاب</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>خط رنگ ساختن توانايي عدم /توانايي</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>رنگ سطل ساختن توانايي عدم/توانايي</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>خط رنگ ساختن توانايي عدم/توانايي</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>خط ضخامت تغيير</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>بستن</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>فونت تغيير</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>ضبط حذف</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>مهمان</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>:بوسيله</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>نام</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>اطاق</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>تاريخ</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>انصراف</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>شروع</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>نام</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>تاريخ</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>سرور حذف</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value></value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>پيام ارسال</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>احساسات</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>احساسات</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Choose Published Devices</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>بصري و سمعي</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>سمعي فقط</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>بصري فقط</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>بصري نه/سمعي نه</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>بصري نه/سمعي نه</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>دوشنبه</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>شنبه سه</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>شنبه چهار</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>شنبه پنج</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>جمعه</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>شنبه</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>شنبه يك</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>شنبه دو</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>شنبه سه</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>شنبه چهار</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>شنبه پنج</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>جمعه</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>شنبه</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>شنبه يك</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>هفتگي تقويم</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>هفتگي تقويم</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>ژانويه</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>فوريه</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>مارس</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>آوريل</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>مه</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>ژوئن</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>جولاي</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>آگوست</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>سپتامبر</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>اكتبر</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>نوامبر</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>دسامبر</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>تقويم</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>كنندگان شركت</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Show Layout Settings</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>عرض/طول</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Video-Container</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Moderation-Container</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Whiteboard-Container</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>ساختن قادر</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Width | Height</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Files,Chat,Participants - Container</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>ساختن قادر</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>عرض/طول</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>The Moderator has left the Room. No one is presenting at the Moment. You could apply for Moderation or wait.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>There is no Moderator in this Room, but there are some Participants. You have to apply for Moderation or wait.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>Feedback $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Invitation</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>كاربر براي پيام</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>:پيام</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>:كنيد كليك كنندگان شركت با گفتگو براي لينك اين در</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>كنيد كليك را اينجا اطاق به ورود براي</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>if you have problems with the link, please copy and paste this to your browser:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME SignUp</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>:شما كاربر داده</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Login:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>:عبور رمز</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>:ايميل</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME-Team</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME Sign-Up</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - Reset Password</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Click on this link to enter a new password:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>كنيد كليك اينجا جديد عبور رمز ورود براي</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>if you have problems with the link, please copy and paste this to your browser:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>$APP_NAME Password Reset</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>(dd.mm.yyyy)24/12/2001 مثال عنوان به كنيد وارد صحيح تاريخ يك لطفا</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>name@mail.com مثال عنوان به كنيد وارد صحيح ايميل يك لطفا</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Please enter a Float-Number, for example 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>100 مثال عنوان به كنيد وارد عدد يك لطفا</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>++490123123123مثال عنوان به كنيد وارد صحيح تلفن يك لطفا</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>(hh:mm)12:23 مثال عنوان به كنيد وارد صحيح زمان يك لطفا</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>عبور رمز حفاظت</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>عبور رمز</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>دوره اعتبار</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>ناپذير پايان</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>دوره يك</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>اول دوره</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>:از اعتبار</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>:تا اعتبار</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>آنلاين كلاس به دعوت</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>Not Invitation availible for this Invitation-Code</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>The Invitation was already used. This type of Invitation cannot be re-used.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>This Invitation-Code is not valid.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>:عبور رمز</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Check Password</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Invalid Password!</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>گذاشتن اجرا به</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>بصري /سمعي بودن مطابق</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>Login was correct, but the Session you tried is not active or stored on the Server. You have to get a new SessionId and retry login.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>The SessionId is not loggedin or has no Admin rights. The SOAP Gateway needs an User with Admin-Rights to embed new Users.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>This Session has no Remoteuser-Data connected. Wether you did not call the SOAP-Gateway before accessing the Application or you are usnig a wrong Session-ID</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>The recorder is currently Beta!</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>x-axis</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>y-axis</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>w</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>width</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>height</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Change Transparency</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Browser Open</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Browser Close</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>The Connection to the Server is lost. You need to reload the Application or/and check your Network.</value>
+  </string>
+  <string id="557" name="557">
+    <value>Pointer</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Synchronizing</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Synchronizing Users, please wait</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Download as SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Download as PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Download as JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Download as PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Download as TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Reminder:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Category:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Repetition:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>none</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Location:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Start</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>End</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Title:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Comment:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Invite People</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Daily</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Monthly</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Yearly</value>
+  </string>
+  <string id="578" name="alert">
+    <value>Appointment-end is after of appointment-start!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Please insert a title!</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>Activate this if you write in a right to left language (inverse word order)</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Dashboard</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Watch recorded Meetings or Events</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Meeting - Make a conference with 4 (up to 16) Users&lt;br/&gt;everybody will have audio + video access</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Event - Make a conference with up to 200 participents&lt;br/&gt;Only the Moderator will have audio/video</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Create users, rooms, organizations&lt;br/&gt; + change configuration</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Users in this Room now</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Login</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Loading Document. Please wait untill all Client have been synchronized.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Upload complete, converting Document ...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Start Upload</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Upload and Import Dialog. Please select a File from your Disk.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Cancel</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Select File</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Connections</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Value</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Login</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Connected since</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Room / Scope</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Kick User</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Kick User</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Do you really want to kick this Client from the Connection?&lt;br/&gt; This does only remove the Client from the current Room.The Client could re-login again.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Your session has been closed by an Administrator or Moderator.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Telefon</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>User is the Moderator of this Room</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>User is allowed to draw on the Whiteboard</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Re) Start Audio/Video or change Device Settings</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Allow this User to draw on the Whiteboard</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Remove ability to draw on whiteboard</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Users</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Files</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Whiteboard</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Chat</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Your account is assigned to multiple Organizations. Please choose one for this Session.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>This room is full at the moment. Please try again later.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Room Type</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Appointment Room</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Server Time</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - Reminder</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Message from User:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Message:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Click this link to participate in the Meetings:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Click here to enter room</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>if you have problems with the link, please copy and paste this to your browser:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>search intern</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>extern users</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>pre name</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>name</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>E-mail</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Confirm logout</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Are you sure you want to logout now?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Actions</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Demo Room</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Demo Time</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Meeting Timer</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>This Room is a Demo Room. To disable this warning you either should get a private meeting room for your personal usage or set up an own Server. You will be automatically logged off in:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Moderated</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Please wait untill the Moderator has entered the Room. The Moderator can be either a Teacher, Admin or the creator of this Room.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Ok</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Incoming Screen Sharing</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>There is a new Screen Sharing incoming from the User:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Start Sharing</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Add new Meeting</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Meeting Room</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Event Room</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Moderation</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Moderate Users</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Moderate Rooms</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Do you want to change this User to become a Moderator of that Organization?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Please choose an Organization before you try to add a User to it!</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Organization - Moderator</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Do you really want to delete this User from the Organization?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>This User is Moderator</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>This User is No-Moderator</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Do you want this User to be not a Moderator of this Organization?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Add or delete Users or Rooms within your Organization</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Do you really want to delete this record?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Do you really want to delete this user from your organization? You will only delete the connection between the user and your organization, to really delete the user itself you have to login into the Administration-Panel.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>You cannot delete your own User!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>This Method needs a Adminstration Account to be invoked!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>There was no Session associated with this ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>This is an Administrator or Moderator account. You can only edit this account through the Administration Panel.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>To complete your registration please click on the following link. Or copy the URL to your browser bar.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Click to verify your E-Mail</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>No user was found for this Hash.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>This user is already activated!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>You did successfully activate your account!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Login Now</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Your account is not activated. First use the link in the Email you've received during registration.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>You successfully signed up. We've send an EMail with a verification Code to your Mail. Please check your Inbox.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Remove Moderation Role from this User</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Grant Moderation Rights to this User</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>User</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Access to whiteboard</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Moderator</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Moderation: Please choose any User on the List to grant him access to the Whiteboard, Moderation or Video.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>This User is already Moderator, so he has automatically the right to draw.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>This is you! You cannot remove the Moderation rights from yourself.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Allow this User to Publish his Audio / Video</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Remove Audio/Video of this User</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>I would like to get the moderation of this room</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>I would like to draw on whiteboard</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>I would like to share my Audio/Video</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>You are moderator of this room</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>You are allowed to draw on whiteboard</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>You are allowed to share your Audio/Video</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Message to Moderator</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>The User</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>would like to get the Moderation. Use the status Icons next to the user in the List of Users to add or remove the Moderation.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>would like to draw on whiteboard. Use the status Icons next to the user in the List of Users to add or remove the right to draw anything on the whiteboard.</value>
+  </string>
+  <string id="695" name="695">
+    <value>would like to share his Audio/Video. Use the status Icons next to the user in the List of Users to add or remove the right to share Audio/Video for any User.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>You have to wait untill a Moderator enters the room.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Cancel</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Save</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Day</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Month</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Year</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Upload File</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Refresh</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Trash (Drag and Drop item here)</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>My Files (Home Drive)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Room Files (Public Drive)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Add File</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Delete Folder</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Edit Name</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>New Folder</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Are you sure you want to delete this Item?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Open Document</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Show all Files (Tree View)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Close Document</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Delete File</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>You are not allowed to draw anything on the Whiteboard. You have to become Moderator or at least get the Right to edit Whiteboard. You may ask a Moderator to give you that right.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Document Properties</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Start Client (external)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Start Client (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>A user want to share his screen. Do you want to see it?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>You are currently sharing your Desktop. For stopping the Sharing Session please hit the Stop button in the Sharing Client.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Sharing Session</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>You are already sharing your desktop!</value>
+  </string>  
+  <string id="728" name="sharing client">
+    <value>Desktop Viewer</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Exit</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Desktop Sharer</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Click Start to publish your screen</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Start Sharing</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Select your screen area:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Change width</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>The Sharer has finished this session!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Change height</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X-Offset</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y-Offset</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Width:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Height:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>Connection was closed by Server</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Cancel</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Start External</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>If you close this session completely you are not able to restart the viewer for this session.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Confirm Closing Viewer Session</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Share Screen</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Record Session</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Co-Browsing</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Ooops, ... Firefox on Windows does not show clear Co-Browsing. Please use another Browser for using the Co-Browsing feature.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Previous</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Next</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Reload</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Home</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Load</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Add this website as Default website to your Profile.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Test Setup</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Check you Microphone and Camera setup before you enter a room by recording some seconds. You can then replay your recording to check your voice and picture.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Don't show this test anymore</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Cancel</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Start Conference</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Do not ask again</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>You may proceed without testing if you do not plan to publish your voice or picture. Participants without Audio or Video can still use the Whiteboard, share their Desktop or write Chat messages.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="test setup">
+    <value>Level-Meter</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Press Start</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Start Event</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Choose Room</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Check Setup</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="774" name="start view">
+    <value>How to conference</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Start Recording</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Do not show Audio / Video Test (Recording) before entering a Conference</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Public Rooms</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Public Rooms are accessible for all Users.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Private Rooms</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Private Rooms are only accessible for users of the same organization.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>My Rooms</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Rooms in this section are created for personal usage. There are some standard rooms plus the ones that are created through the calendar and have a start and an end date. The rooms created via the calendar are only listed in this section as long as they are valid.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>You have to be moderator to do this.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Apply for moderation</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Apply for whiteboard access</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Apply for camera/microphone access</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>This Session Hash was already used. You cannot use it twice.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>START</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>EXIT</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Do you really want to exit? You might should clear uploaded documents, whiteboard and the chat history.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Exit conference</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Rooms</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Choose a room for a meeting</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>There is an unsaved Event in the Calendar. Please either save it or remove it.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Please add at least one attendee for your meeting!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Do you really want to delete this Event?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Warning</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Add Event</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>Day</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>Week</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>Month</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Description</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Attendees</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, your Web Conferencing Platform. Either follow the Instructions, press the start button to start to conference immediatelly or you goto the Calendar and set up a Conference for the future.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Plan a Meeting</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>To set up a conference you can add a new Event in the Calendar.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Need help?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Restricted</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Search</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Add</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>There is no User selected. Please select an item from the list first and then hit add.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Add Attendee</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Save</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Delete</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Event Details</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Default Moderators</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Name</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>E-Mail</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Add new default Moderator</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Is Super Moderator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>If the Room is moderated, User with Level Moderator or Administrator are automatically Moderator if they enter the Room. If you don't want to specify that and only want a certain User to become Moderator use the Default Moderator option.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>A Super Moderator is always a Moderator when he enters a Room, and nobody can remove the Moderation Flag from him</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Apply Super-Moderation to User</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Remove Super Moderation from User</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>If you add an Organization to the room only users of that Organization have access to it (This is only valid if the isPublic flag is set to false!)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Limitations</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organization</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Are you sure?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Do you really want to delete this Item? You have to press the save button to store the changes!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>There is no User selected. Please select first before you add it!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Add new Default Moderator</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Do you want to add the Super Moderation Flag for this User? A Super Moderator is not only Moderator of a Room, but also no other Moderator can remove the Moderation Flag for this User. You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Do you want to remove the Super Moderation Flag for this User? You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>This User is a Super-Moderator. You cannot remove the Moderation flag from a Super-Moderator!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Do you really want to delete this File/Folder?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Delete File/Folder?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Mrs.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Dr.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Properties</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Show mouse position to viewers</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Share Audio with SIP Applet</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Share Audio with SIP and Video with Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Full-Fit</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>View Screen</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>The user</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>wants to share its screen. Do you want to see it?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Close</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>The Session was closed by the sharing User!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>New Screen Sharing</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimize</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximize</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Recording Timeline</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>My Recordings</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Public Recordings</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Name</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Length</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Date</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>By</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>PLAY</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Main - Video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Recording</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>You may record and share your screen at the same time. To enable others to see your screen just hit the start button on the top. To only record the Session it is sufficient to click start recording.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Start Recording</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Stop Recording</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download the FLV-File</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Room</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>User has microphone on</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Allow User Questions</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Turn this off to prevent that any user is disturbing you in this room. Effect is that the Button to ask for Moderation ("I have a question") is not visible.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Rights</value>
+  </string>  
+  <string id="882" name="flvrecording">
+    <value>Download as AVI</value>
+  </string>  
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio only</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the Recording.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>The Recording is not yet ready for watching. Please retry in a couple of minutes again.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Recorder Message</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIP Applet is not Ready</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP-Account Settings</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP settings for each user. You can turn on or off SIP via the Administration &gt; Configuration (Key: enable_sip). The SIP data for each user should be created automatically. You can re-create the data by checking "Re-generate SIP Data"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. You should check the authentification data of your SIP-Provider and the SIP-Account Data for each User. As Administrator you are still able to login and check the Configuration. As User or Moderator you will be blocked from any interaction.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. Contact your Service Team!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet Message</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>The SIP-Applet is not ready. Accept the Applet please and click ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Get Moderation</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login the $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choose the User for this Video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>You are a Moderator in this Interview. You can decide who is speaking in this interview and you can start / stop the recording of the Session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Start Recording</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Stop Recording</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+    <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/polish.xml b/WebContent/languages/polish.xml
new file mode 100644
index 0000000..867a3e0
--- /dev/null
+++ b/WebContent/languages/polish.xml
@@ -0,0 +1,4578 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor
+to add new Languages or modify/customize it use the LanguageEditor
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for
+Details
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+	<string id="1" name="conference">
+		<value>Konferencja</value>
+	</string>
+	<string id="2" name="meeting">
+		<value>Spotkania</value>
+	</string>
+	<string id="3" name="classroom">
+		<value>Wykłady</value>
+	</string>
+	<string id="4" name="settings">
+		<value>Ustawienia</value>
+	</string>
+	<string id="5" name="benutzer">
+		<value>Profil</value>
+	</string>
+	<string id="6" name="admin">
+		<value>Administracja</value>
+	</string>
+	<string id="7" name="stop">
+		<value>Stop</value>
+	</string>
+	<string id="8" name="record">
+		<value>Nagrywanie</value>
+	</string>
+	<string id="9" name="nofile">
+		<value>Brak pliku</value>
+	</string>
+	<string id="10" name="recordbyteacher">
+		<value>Nagrywanie przez wykładowcę</value>
+	</string>
+	<string id="11" name="connectedusers">
+		<value>Podłaczeni użytkownicy:</value>
+	</string>
+	<string id="12" name="startconf">
+		<value>Rozpocznij konferencję</value>
+	</string>
+	<string id="13" name="myname">
+		<value>Moje imię</value>
+	</string>
+	<string id="14" name="videoconference">
+		<value>Wideokonferencja</value>
+	</string>
+	<string id="15" name="import">
+		<value>Przesłanie pliku</value>
+	</string>
+	<string id="16" name="refreshfiles">
+		<value>Odświeżenie listy</value>
+	</string>
+	<string id="17" name="tomainfile">
+		<value>Do pliku głównego</value>
+	</string>
+	<string id="18" name="newpoll">
+		<value>nowe głosowanie</value>
+	</string>
+	<string id="19" name="newpollheader">
+		<value>Nowe głosowanie.</value>
+	</string>
+	<string id="20" name="question">
+		<value>Pytanie:</value>
+	</string>
+	<string id="21" name="polltype">
+		<value>Rodzaj głosowania:</value>
+	</string>
+	<string id="22" name="create">
+		<value>Utwórz</value>
+	</string>
+	<string id="23" name="infomessage">
+		<value>Uwaga: Każdy połączony użytkownik otrzyma wiadomość z nowym
+głosowaniem.</value>
+	</string>
+	<string id="24" name="creatpoll">
+		<value>Utwórz głosowanie.</value>
+	</string>
+	<string id="25" name="cancel">
+		<value>Anuluj</value>
+	</string>
+	<string id="26" name="yesno">
+		<value>Tak/Nie</value>
+	</string>
+	<string id="27" name="numeric">
+		<value>Liczba 1-10</value>
+	</string>
+	<string id="28" name="poll">
+		<value>Głosowanie</value>
+	</string>
+	<string id="29" name="moderation">
+		<value>Musisz być moderatorem aby utworzyć pytanie</value>
+	</string>
+	<string id="30" name="vote">
+		<value>Twój głos został zarejestrowany.</value>
+	</string>
+	<string id="31" name="alreadyvoted">
+		<value>Już głosowałeś w tym głosowaniu..</value>
+	</string>
+	<string id="32" name="voting">
+		<value>Głosuj !</value>
+	</string>
+	<string id="33" name="answer">
+		<value>Twoja odpowiedź:</value>
+	</string>
+	<string id="34" name="yes">
+		<value>Tak</value>
+	</string>
+	<string id="35" name="no">
+		<value>Nie</value>
+	</string>
+	<string id="36" name="questionwant">
+		<value>chciał(a)by wiedzieć:</value>
+	</string>
+	<string id="37" name="pollresults">
+		<value>Wyniki głosowania</value>
+	</string>
+	<string id="38" name="question">
+		<value>Pytanie:</value>
+	</string>
+	<string id="39" name="results">
+		<value>Wyniki:</value>
+	</string>
+	<string id="40" name="answers">
+		<value>Odpowiedzi:</value>
+	</string>
+	<string id="41" name="nopoll">
+		<value>Nie rozpoczęto żadnego głosowania.</value>
+	</string>
+	<string id="42" name="votings">
+		<value>Głosuj !</value>
+	</string>
+	<string id="43" name="meeting">
+		<value>Spotkanie (maks. 4 miejsca)</value>
+	</string>
+	<string id="44" name="conference">
+		<value>Konferencja (maks. 50 miejsc)</value>
+	</string>
+	<string id="45" name="type">
+		<value>Rodzaj</value>
+	</string>
+	<string id="46" name="remainingseats">
+		<value>Pozostałe miejsca</value>
+	</string>
+	<string id="47" name="alreadychosen">
+		<value>Już wybrano</value>
+	</string>
+	<string id="48" name="enter">
+		<value>wejdź</value>
+	</string>
+	<string id="49" name="modleave">
+		<value>Moderator wyszedł ze spotkania.</value>
+	</string>
+	<string id="50" name="systemmessage">
+		<value>Informacja systemowa</value>
+	</string>
+	<string id="51" name="chossedevice">
+		<value>Wybierz urządzenie</value>
+	</string>
+	<string id="52" name="choosecam">
+		<value>Wybierz kamerę:</value>
+	</string>
+	<string id="53" name="choosemic">
+		<value>Wybierz mikrofon:</value>
+	</string>
+	<string id="54" name="ok">
+		<value>ok</value>
+	</string>
+	<string id="55" name="cancel2">
+		<value>anuluj</value>
+	</string>
+	<string id="56" name="reconeectneeded">
+		<value>Połącz się powtórnie.</value>
+	</string>
+	<string id="57" name="editsetup">
+		<value>Edytuj ustawienia.</value>
+	</string>
+	<string id="58" name="course">
+		<value>Kurs:</value>
+	</string>
+	<string id="59" name="language">
+		<value>Język:</value>
+	</string>
+	<string id="60" name="ok2">
+		<value>ok</value>
+	</string>
+	<string id="61" name="cancel3">
+		<value>anuluj</value>
+	</string>
+	<string id="62" name="clearwhiteboard">
+		<value>Wyczyść tablicę</value>
+	</string>
+	<string id="63" name="clearwhiteboardquestion">
+		<value>Czy chcesz wyczyściń tablicę przed dodaniem nowego obrazka?
+		</value>
+	</string>
+	<string id="64" name="dontaskagain">
+		<value>Nie pytaj więcej</value>
+	</string>
+	<string id="65" name="no">
+		<value>nie</value>
+	</string>
+	<string id="66" name="editsetup2">
+		<value>Edytuj ustawienia</value>
+	</string>
+	<string id="67" name="needconfirmationwhiteboard">
+		<value>Proszę potwierdziś zmazanie tablicy.</value>
+	</string>
+	<string id="68" name="userinfo">
+		<value>Informacje o użytkowniku</value>
+	</string>
+	<string id="69" name="cleardrawarea">
+		<value>Wyczyść obszar rysowania</value>
+	</string>
+	<string id="70" name="undo">
+		<value>Cofnij</value>
+	</string>
+	<string id="71" name="redo">
+		<value>Powrtórz</value>
+	</string>
+	<string id="72" name="selectobject">
+		<value>Wskaż obiekt</value>
+	</string>
+	<string id="73" name="text">
+		<value>Tekst</value>
+	</string>
+	<string id="74" name="paint">
+		<value>Malowanie</value>
+	</string>
+	<string id="75" name="drawline">
+		<value>Rysuj linię</value>
+	</string>
+	<string id="76" name="drawu">
+		<value>Podkreśl</value>
+	</string>
+	<string id="77" name="rect">
+		<value>Prostokąt</value>
+	</string>
+	<string id="78" name="ellipse">
+		<value>Elipsa</value>
+	</string>
+	<string id="79" name="arrow">
+		<value>Strzałka</value>
+	</string>
+	<string id="80" name="deletechosen">
+		<value>Skasuj wskazany obiekt</value>
+	</string>
+	<string id="81" name="appliymod">
+		<value>Złóż wniosek o moderację</value>
+	</string>
+	<string id="82" name="apply">
+		<value>złóż</value>
+	</string>
+	<string id="83" name="cancel">
+		<value>anuluj</value>
+	</string>
+	<string id="84" name="mod">
+		<value>Zostań moderatorem</value>
+	</string>
+	<string id="85" name="close">
+		<value>zamknij</value>
+	</string>
+	<string id="86" name="italic">
+		<value>kursywa</value>
+	</string>
+	<string id="87" name="bold">
+		<value>pogrubiony</value>
+	</string>
+	<string id="88" name="waiting">
+		<value>CZEKAM</value>
+	</string>
+	<string id="89" name="applyMessage">
+		<value>Użytkownik prosi o prawa moderatora. Możesz nadać mu tylko
+dostęp do tablicy, albo pełne prawa moderatorskie. Użytkownik:</value>
+	</string>
+	<string id="90" name="accept">
+		<value>akceptuj</value>
+	</string>
+	<string id="91" name="reject">
+		<value>odrzuć</value>
+	</string>
+	<string id="92" name="cancel">
+		<value>anuluj</value>
+	</string>
+	<string id="93" name="sendmodrequestmessage">
+		<value>Wysyłam prośbę do następujących użytkowników:</value>
+	</string>
+	<string id="94" name="accept">
+		<value>Przyjęte</value>
+	</string>
+	<string id="95" name="reject">
+		<value>Odrzucone</value>
+	</string>
+	<string id="96" name="changemod">
+		<value>Zmień moderatora</value>
+	</string>
+	<string id="97" name="nonmoderrormessage">
+		<value>Nie jesteś tutaj moderatorem!</value>
+	</string>
+	<string id="98" name="moderator">
+		<value>Moderator:</value>
+	</string>
+	<string id="99" name="roomfullmessage">
+		<value>Ten pokój jest pełny. Zajrzyj później.</value>
+	</string>
+	<string id="100" name="elllipse">
+		<value>Elipsa</value>
+	</string>
+	<string id="101" name="close">
+		<value>zamknij</value>
+	</string>
+	<string id="102" name="AuthError">
+		<value>błąd w danych wejściowych</value>
+	</string>
+	<string id="103" name="min4username">
+		<value>4 lub więcej znaków; duże i małe litery mają znaczenie!</value>
+	</string>
+	<string id="104" name="min4pass">
+		<value>Hasło musi składać się przynajmniej z 4 znaków</value>
+	</string>
+	<string id="105" name="usernametaken">
+		<value>Ta nazwa użytkownika jest już zajęta</value>
+	</string>
+	<string id="106" name="emailtaken">
+		<value>Ten adres e-mail jest już zarejestrowany</value>
+	</string>
+	<string id="107" name="emailtaken">
+		<value>Błąd systemu. Skontaktuj się z administratorem.</value>
+	</string>
+	<string id="108" name="Authlogin">
+		<value>Logowanie</value>
+	</string>
+	<string id="109" name="Authuser">
+		<value>Użytkownik:</value>
+	</string>
+	<string id="110" name="Authpass">
+		<value>Hasło:</value>
+	</string>
+	<string id="111" name="Authlang">
+		<value>Język</value>
+	</string>
+	<string id="112" name="Authreg">
+		<value>Zapisz się</value>
+	</string>
+	<string id="113" name="regformhead">
+		<value>Zapisz się</value>
+	</string>
+	<string id="114" name="regformuser">
+		<value>Użytkownik:</value>
+	</string>
+	<string id="115" name="regformpass">
+		<value>Hasło:</value>
+	</string>
+	<string id="116" name="regformretype">
+		<value>Powtórz:</value>
+	</string>
+	<string id="117" name="regformfirstname">
+		<value>Imię:</value>
+	</string>
+	<string id="118" name="regformlastname">
+		<value>Nazwisko:</value>
+	</string>
+	<string id="119" name="regformmail">
+		<value>e-mail:</value>
+	</string>
+	<string id="120" name="regformstate">
+		<value>Kraj:</value>
+	</string>
+	<string id="121" name="regformbtn1">
+		<value>Zarejestruj</value>
+	</string>
+	<string id="122" name="regformbtn2">
+		<value>Anuluj</value>
+	</string>
+	<string id="123" name="Authbtn2">
+		<value>Nie zapisałeś się jeszcze?</value>
+	</string>
+	<string id="124" name="dashboard">
+		<value>Strona startowa</value>
+	</string>
+	<string id="125" name="useradmin">
+		<value>Użytkownicy</value>
+	</string>
+	<string id="126" name="groupadmin">
+		<value>Grupy</value>
+	</string>
+	<string id="127" name="orgadmin">
+		<value>Organizacje</value>
+	</string>
+	<string id="128" name="headconf">
+		<value>Pokoje spotkań</value>
+	</string>
+	<string id="129" name="conf_pub">
+		<value>publiczne</value>
+	</string>
+	<string id="130" name="head_org">
+		<value>Organizacja</value>
+	</string>
+	<string id="131" name="btn_enterroom">
+		<value>Wejdź</value>
+	</string>
+	<string id="132" name="useralterself_login">
+		<value>Login</value>
+	</string>
+	<string id="133" name="useralterself_pass">
+		<value>Hasło</value>
+	</string>
+	<string id="134" name="useralterself_passretype">
+		<value>Powtórz</value>
+	</string>
+	<string id="135" name="useralterself_firstname">
+		<value>Imię</value>
+	</string>
+	<string id="136" name="useralterself_lastname">
+		<value>Nazwisko</value>
+	</string>
+	<string id="137" name="useralterself_email">
+		<value>e-mail</value>
+	</string>
+	<string id="138" name="useralterself_birth">
+		<value>Urodziny</value>
+	</string>
+	<string id="139" name="useralterself_streetno">
+		<value>Ulica/Numer</value>
+	</string>
+	<string id="140" name="useralterself_town">
+		<value>Kod/Miasto</value>
+	</string>
+	<string id="141" name="useralterself_state">
+		<value>Kraj</value>
+	</string>
+	<string id="142" name="useralterself_adresscomment">
+		<value>Informacje adesowe</value>
+	</string>
+	<string id="143" name="useralterself_header">
+		<value>Dane użytkownika</value>
+	</string>
+	<string id="144" name="savemenubar_savelabel">
+		<value>Zapisz</value>
+	</string>
+	<string id="145" name="savemenubar_savelabel">
+		<value>Zapisz</value>
+	</string>
+	<string id="146" name="admin_userlist_user_id">
+		<value>ID-użytkownika</value>
+	</string>
+	<string id="147" name="admin_userlist_login">
+		<value>Login</value>
+	</string>
+	<string id="148" name="admin_userlist_firstnam">
+		<value>Imię</value>
+	</string>
+	<string id="149" name="admin_userlist_lastname">
+		<value>Nazwisko</value>
+	</string>
+	<string id="150" name="turnoverlist_next">
+		<value>Pokaż następny</value>
+	</string>
+	<string id="151" name="turnoverlist_pre">
+		<value>Pokaż poprzedni</value>
+	</string>
+	<string id="152" name="savecontent_confirm">
+		<value>Skasuj wpis</value>
+	</string>
+	<string id="153" name="savecontent_confirm_cancel_btn">
+		<value>Anuluj</value>
+	</string>
+	<string id="154" name="savecontent_confirm_confirm_btn">
+		<value>Skasuj</value>
+	</string>
+	<string id="155" name="savemenubar_addlabel">
+		<value>Nowy wpis</value>
+	</string>
+	<string id="156" name="savemenubar_reloadlabel">
+		<value>Odświerz wpis</value>
+	</string>
+	<string id="157" name="savemenubar_deletelabel">
+		<value>Skasuj wpis</value>
+	</string>
+	<string id="158" name="useralter_admin_status">
+		<value>Status</value>
+	</string>
+	<string id="159" name="useralter_admin_statusItem">
+		<value>zablokowany</value>
+	</string>
+	<string id="160" name="useralter_admin_statusItem">
+		<value>odblokowany</value>
+	</string>
+	<string id="161" name="useralter_admin_organisation">
+		<value>Organizacje</value>
+	</string>
+	<string id="162" name="calendar_iconlabel">
+		<value>Kalendarz</value>
+	</string>
+	<string id="163" name="savewindow_btn">
+		<value>zamknij</value>
+	</string>
+	<string id="164" name="organisationtablelist_idrow">
+		<value>ID-organizacji</value>
+	</string>
+	<string id="165" name="organisationtablelist_namerow">
+		<value>Nazwa</value>
+	</string>
+	<string id="166" name="uservalue_levelid1">
+		<value>Użytkownik</value>
+	</string>
+	<string id="167" name="uservalue_levelid2">
+		<value>Moderator</value>
+	</string>
+	<string id="168" name="uservalue_levelid3">
+		<value>Administrator</value>
+	</string>
+	<string id="169" name="uservalue_levellabel">
+		<value>Prawa użytkownika</value>
+	</string>
+	<string id="170" name="orgvalue_header">
+		<value>Organizacja</value>
+	</string>
+	<string id="171" name="orgvalue_orgname">
+		<value>nazwa</value>
+	</string>
+	<string id="172" name="orgvalue_orgname">
+		<value>Dodaj organizację</value>
+	</string>
+	<string id="173" name="orgvalue_orgname">
+		<value>Dodaj organizację</value>
+	</string>
+	<string id="174" name="orgvalue_userwin">
+		<value>Anuluj</value>
+	</string>
+	<string id="175" name="orgvalue_userwin">
+		<value>Dodaj</value>
+	</string>
+	<string id="176" name="orgvalue_userwin">
+		<value>skasuj organizację</value>
+	</string>
+	<string id="177" name="orgvalue_userlist">
+		<value>Użytkownik</value>
+	</string>
+	<string id="178" name="orgvalue_userlistadd">
+		<value>dodaj użytkownika</value>
+	</string>
+	<string id="179" name="orgvalue_userlistdelete">
+		<value>skasuj użytkownika</value>
+	</string>
+	<string id="180" name="orgvalue_userwinheader">
+		<value>Dodaj uzytkownika do organizacji</value>
+	</string>
+	<string id="181" name="orgvalue_userwinsearchfield">
+		<value>Wyszukaj użytkownika</value>
+	</string>
+	<string id="182" name="orgvalue_userwinsearchbtn">
+		<value>Wyszukaj</value>
+	</string>
+	<string id="183" name="orgvalue_userwinsearchresult">
+		<value>Użytkownik</value>
+	</string>
+	<string id="184" name="loginwin_chooseorganisation">
+		<value>Organizacja</value>
+	</string>
+	<string id="185" name="loginwin_chooseorganisationbtn">
+		<value>Wprowadź</value>
+	</string>
+	<string id="186" name="navi_roomadmin">
+		<value>Pokoje konferencyjne</value>
+	</string>
+	<string id="187" name="roomadmin_header">
+		<value>Pokoje konferencyjne</value>
+	</string>
+	<string id="188" name="roomadmin_header">
+		<value>id</value>
+	</string>
+	<string id="189" name="roomadmin_header">
+		<value>Nazwa</value>
+	</string>
+	<string id="190" name="roomadmin_header">
+		<value>publiczny</value>
+	</string>
+	<string id="191" name="roomadmin_header">
+		<value>Organizacje</value>
+	</string>
+	<string id="192" name="roomadmin_header">
+		<value>Pokoje spotkań</value>
+	</string>
+	<string id="193" name="roomvalue_name">
+		<value>Nazwa</value>
+	</string>
+	<string id="194" name="roomvalue_type">
+		<value>Rodzaj</value>
+	</string>
+	<string id="195" name="roomvalue_ispublic">
+		<value>Publiczny</value>
+	</string>
+	<string id="196" name="roomvalue_comment">
+		<value>Komentarz</value>
+	</string>
+	<string id="197" name="whiteboard_saveicon">
+		<value>zapisz i eksportuj</value>
+	</string>
+	<string id="198" name="whiteboard_openicon">
+		<value>wczytaj</value>
+	</string>
+	<string id="199" name="whiteboard_saveaswinheader">
+		<value>zapisz jako</value>
+	</string>
+	<string id="200" name="whiteboard_saveaswintext">
+		<value>Nazwa pliku</value>
+	</string>
+	<string id="201" name="files">
+		<value>nazwa pliku</value>
+	</string>
+	<string id="202" name="whiteboard_saveaswinbtn1">
+		<value>anuluj</value>
+	</string>
+	<string id="203" name="whiteboard_saveaswinbtn2">
+		<value>zapisz</value>
+	</string>
+	<string id="204" name="rpcerrorwin_header">
+		<value>Błąd</value>
+	</string>
+	<string id="205" name="loadwml_header">
+		<value>wczytuję</value>
+	</string>
+	<string id="206" name="loadwml_messsload">
+		<value>wczytane obiekty</value>
+	</string>
+	<string id="207" name="loadwml_messsync">
+		<value>synchronizuję klientów; klienci oczekujący:</value>
+	</string>
+	<string id="208" name="loadimage_messload">
+		<value>Wczytuję obrazek</value>
+	</string>
+	<string id="209" name="loadimage_messsync">
+		<value>synchronizuję klientów; klienci oczekujący:</value>
+	</string>
+	<string id="210" name="loadwml_confirmheader">
+		<value>wyczyść obszar rysowania</value>
+	</string>
+	<string id="211" name="loadwml_confirmmess">
+		<value>wyczyść obszar rysowania - znikną wszystkie informacje z
+tablicy</value>
+	</string>
+	<string id="212" name="loadwml_confirmmess2">
+		<value>Potwierdź zanim wczytam plik</value>
+	</string>
+	<string id="213" name="send_invitation_btn">
+		<value>Wyślij zaproszenie</value>
+	</string>
+	<string id="214" name="send_invitationwin_header">
+		<value>Wyślij zaproszenie</value>
+	</string>
+	<string id="215" name="send_invitationwin_subject">
+		<value>Temat</value>
+	</string>
+	<string id="216" name="send_invitationwin_recipient">
+		<value>Do</value>
+	</string>
+	<string id="217" name="send_invitationwin_message">
+		<value>Treść zaproszenia</value>
+	</string>
+	<string id="218" name="send_invitationwin_btn_confirm">
+		<value>Wyślij</value>
+	</string>
+	<string id="219" name="send_invitationwin_btn_cancel">
+		<value>anuluj</value>
+	</string>
+	<string id="220" name="send_chat_text_btn">
+		<value>wyślij</value>
+	</string>
+	<string id="221" name="invited_userwin_header">
+		<value>Dane użytkownika</value>
+	</string>
+	<string id="222" name="invited_userwin_subject">
+		<value>Twój pseudonim na potrzeby tej konferencji</value>
+	</string>
+	<string id="223" name="invited_userwin_login">
+		<value>Pseudonim</value>
+	</string>
+	<string id="224" name="invited_userwin_firstname">
+		<value>Imię</value>
+	</string>
+	<string id="225" name="invited_userwin_lastname">
+		<value>Nazwisko</value>
+	</string>
+	<string id="226" name="invited_userwin_mail">
+		<value>e-mail</value>
+	</string>
+	<string id="227" name="invited_userwin_lang">
+		<value>Język</value>
+	</string>
+	<string id="228" name="invited_userwin_enter">
+		<value>wejdź</value>
+	</string>
+	<string id="229" name="invited_userwin_enter">
+		<value>Wczytuję</value>
+	</string>
+	<string id="230" name="invited_userwin_enter">
+		<value>Wczytywanie danych, proszę czekać!</value>
+	</string>
+	<string id="231" name="user_registerFalsePWD">
+		<value>Niepoprawne haslo</value>
+	</string>
+	<string id="232" name="user_registerFalsePWDHeader">
+		<value>Proszę wprowadzić dwa identyczne hasła o długości
+przynajmniej 6 znaków.</value>
+	</string>
+	<string id="233" name="user_registerMailError">
+		<value>Niepoprawny e-mail</value>
+	</string>
+	<string id="234" name="user_registerMailErrorHeader">
+		<value>Wprowadziłe(a)ś niepoprawny adres e-mail</value>
+	</string>
+	<string id="235" name="user_registerSuccess">
+		<value>Rejestracja zakończona</value>
+	</string>
+	<string id="236" name="user_registerSuccessHeader">
+		<value>Konto utworzone. Możesz się zalogować.</value>
+	</string>
+	<string id="237" name="user_sharing_message">
+		<value>Nie możesz teraz pokazać swojego ekranu. Ktoś inny pokazuje
+teraz swój ekran.</value>
+	</string>
+	<string id="238" name="user_sharing_messageHeader">
+		<value>Pokazywanie ekranu nie jest teraz dopuszczalne</value>
+	</string>
+	<string id="239" name="user_doStartScreenViewer">
+		<value>Pokaż swój ekran</value>
+	</string>
+	<string id="240" name="screen_warnBandwidth">
+		<value>Zbyt niska przepustowość łącza: synchronizacja nie powiodła
+się. Pominięto kilka ramek. Jeśli ten komunikat powtarza się często
+poproś moderatora o obniżenie jakości transmisji.</value>
+	</string>
+	<string id="241" name="screen_userlabel">
+		<value>Ekran użytkownika:</value>
+	</string>
+	<string id="242" name="whiteboard_tab_paint">
+		<value>Obraz</value>
+	</string>
+	<string id="243" name="whiteboard_tab_document">
+		<value>Dokument</value>
+	</string>
+	<string id="244" name="tabbar_chaticon">
+		<value>Czat</value>
+	</string>
+	<string id="245" name="tabbar_filesicon">
+		<value>Pliki</value>
+	</string>
+	<string id="246" name="tabbar_participantsicon">
+		<value>Uczestnicy</value>
+	</string>
+	<string id="247" name="swfpresentation_listsaveorig">
+		<value>Pobierz oryginalny dokument</value>
+	</string>
+	<string id="248" name="swfpresentation_listsavepdf">
+		<value>Pobierz dokument jako PDF</value>
+	</string>
+	<string id="249" name="swfpresentation_listloadswf">
+		<value>Pokaż prezentację na tablicy</value>
+	</string>
+	<string id="250" name="navimain_config">
+		<value>Konfiguracja</value>
+	</string>
+	<string id="251" name="whiteboard_boundingbox_drag">
+		<value>Przesuń obiekt</value>
+	</string>
+	<string id="252" name="whiteboard_boundingbox_resize">
+		<value>Skaluj obiekt</value>
+	</string>
+	<string id="253" name="whiteboard_documenttoolbar_zoom">
+		<value>%</value>
+	</string>
+	<string id="254" name="whiteboard_documenttoolbar_slide">
+		<value>z</value>
+	</string>
+	<string id="255" name="whiteboard_documenttoolbar_firstslide">
+		<value>Przejdź do pierwszej strony</value>
+	</string>
+	<string id="256" name="whiteboard_documenttoolbar_preslide">
+		<value>Przejdź do poprzedniej strony</value>
+	</string>
+	<string id="257" name="whiteboard_documenttoolbar_nextslide">
+		<value>Przejdź do następnej strony</value>
+	</string>
+	<string id="258" name="whiteboard_documenttoolbar_lastslide">
+		<value>Przejdź do ostatniej strony</value>
+	</string>
+	<string id="259" name="whiteboard_documenttoolbar_zoomminus">
+		<value>Zmniejsz</value>
+	</string>
+	<string id="260" name="whiteboard_documenttoolbar_zoomplus">
+		<value>Powiększ</value>
+	</string>
+	<string id="261" name="salutation_mr">
+		<value>Pan</value>
+	</string>
+	<string id="262" name="salutation_miss">
+		<value>Pani</value>
+	</string>
+	<string id="263" name="navimain_confadmin">
+		<value>Konfiguracja</value>
+	</string>
+	<string id="264" name="conftable_headerId">
+		<value>ID</value>
+	</string>
+	<string id="265" name="conftable_headerkey">
+		<value>Klucz</value>
+	</string>
+	<string id="266" name="confadminform_header">
+		<value>Konfiguracja</value>
+	</string>
+	<string id="267" name="confadminform_labelkey">
+		<value>Klucz</value>
+	</string>
+	<string id="268" name="confadminform_labelupdated">
+		<value>ostatnio aktualizowane</value>
+	</string>
+	<string id="269" name="confadminform_labelupdatedby">
+		<value>aktualizowane przez</value>
+	</string>
+	<string id="270" name="confadminform_labelcomment">
+		<value>komentarz</value>
+	</string>
+	<string id="271" name="confadminform_labelkey">
+		<value>Wartość</value>
+	</string>
+	<string id="272" name="turnoverlist_maxresults">
+		<value>z</value>
+	</string>
+	<string id="273" name="organisation_usersheader">
+		<value>Użytkownicy</value>
+	</string>
+	<string id="274" name="organisation_usersicondelete">
+		<value>usuń użytkownika z organizacji</value>
+	</string>
+	<string id="275" name="organisation_usersdeletedhead">
+		<value>Sk.</value>
+	</string>
+	<string id="276" name="organisation_usersalreadadded">
+		<value>Użytkownik już należy to tej organizacji.</value>
+	</string>
+	<string id="277" name="dashboard_newsheader">
+		<value>Wiadomości</value>
+	</string>
+	<string id="278" name="dashboard_quicklinksheader">
+		<value>Łącza</value>
+	</string>
+	<string id="279" name="dashboard_quicklinkConf">
+		<value>Przejdź do konferencji</value>
+	</string>
+	<string id="280" name="dashboard_quicklinkAudit">
+		<value>Przejdź do sali wykładowej</value>
+	</string>
+	<string id="281" name="dashboard_quicklinksupport">
+		<value>Pomoc i wsparcie</value>
+	</string>
+	<string id="282" name="dashboard_quickhomepageurl">
+		<value>http://incubator.apache.org/openmeetings/</value>
+	</string>
+	<string id="283" name="dashboard_quickmailinglisturl">
+		<value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+	</string>
+	<string id="284" name="dashboard_reportbugs">
+		<value>Zgłoś błąd!</value>
+	</string>
+	<string id="285" name="dashboard_rsslistitemlinktext">
+		<value>więcej</value>
+	</string>
+	<string id="286" name="dashboard_quicklinkhomepagelabel">
+		<value>Witryna projektu (http://incubator.apache.org/openmeetings)</value>
+	</string>
+	<string id="287" name="dashboard_quicklinkmailinglistlabel">
+		<value>Lista mailingowa użytkowników (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+	</string>
+	<string id="288" name="login_rememberuser">
+		<value>Zapamiętaj login i hasło</value>
+	</string>
+	<string id="289" name="main_navi">
+		<value>Zawartość</value>
+	</string>
+	<string id="290" name="subnavi">
+		<value>Moja strona startowa</value>
+	</string>
+	<string id="291" name="subnavi">
+		<value>Moje zaplanowane spotkania</value>
+	</string>
+	<string id="292" name="subnavi">
+		<value>Moje zaplanowane wykłady</value>
+	</string>
+	<string id="293" name="subnavi">
+		<value>Publiczne spotkania</value>
+	</string>
+	<string id="294" name="subnavi">
+		<value>Prywatne spotkania</value>
+	</string>
+	<string id="295" name="subnavi">
+		<value>Publiczne wykłady</value>
+	</string>
+	<string id="296" name="subnavi">
+		<value>Prywatne wykłady</value>
+	</string>
+	<string id="297" name="subnavi">
+		<value>Public Content</value>
+	</string>
+	<string id="298" name="subnavi">
+		<value>Prywatna zawartość</value>
+	</string>
+	<string id="299" name="subnavi">
+		<value>Osobista zawartość</value>
+	</string>
+	<string id="300" name="subnavi">
+		<value></value>
+	</string>
+	<string id="301" name="conferencebar">
+		<value>Moderacja</value>
+	</string>
+	<string id="302" name="conferencebar">
+		<value>Poproś o moderację</value>
+	</string>
+	<string id="303" name="conferencebar">
+		<value>Głosowania</value>
+	</string>
+	<string id="304" name="conferencebar">
+		<value>Wybierz plik</value>
+	</string>
+	<string id="305" name="conferencebar">
+		<value>Ustawienia</value>
+	</string>
+	<string id="306" name="conferencebar">
+		<value>Ustawienia kamery</value>
+	</string>
+	<string id="307" name="conferencebar">
+		<value>Ustawienia tablicy</value>
+	</string>
+	<string id="308" name="conferencebar">
+		<value>Wyjście</value>
+	</string>
+	<string id="309" name="conferencebar">
+		<value>Wróć do listy pokojów</value>
+	</string>
+	<string id="310" name="conferencebar">
+		<value>Wyloguj</value>
+	</string>
+	<string id="311" name="loginwindow">
+		<value>Zapomniałe(a)ś hasła?</value>
+	</string>
+	<string id="312" name="loginwindow">
+		<value>Ustaw nowe hasło</value>
+	</string>
+	<string id="313" name="loginwindow">
+		<value>Według maila</value>
+	</string>
+	<string id="314" name="loginwindow">
+		<value>Według loginu</value>
+	</string>
+	<string id="315" name="loginwindow">
+		<value>Twój adres e-mail</value>
+	</string>
+	<string id="316" name="loginwindow">
+		<value>Twój login</value>
+	</string>
+	<string id="317" name="loginwindow">
+		<value>Wyślij e-mail z prośbą o potwierdzenie zmiany hasła</value>
+	</string>
+	<string id="318" name="loginwindow">
+		<value>Nie znaleziono adresu. Upewnij się, że wpisałe(a)ś ten sam
+adres, jaki podałe(a)ś przy zakładaniu konta.</value>
+	</string>
+	<string id="319" name="loginwindow">
+		<value>Proszę podać e-mail lub nazwę użytkownika.</value>
+	</string>
+	<string id="320" name="loginwindow">
+		<value>Nie ma użytkownika o takiej nazwie</value>
+	</string>
+	<string id="321" name="loginwindow">
+		<value>E-mail zawierający specjalne łącze (link) został wysłany na
+twój adres. Sprawdź swoją pocztę. Jeśli nie otrzymałe(a)ś listu,
+sprawdź/zmień ustawienia antyspamowe swojej skrzynki i ponownie
+wygeneruj mail potwierdzający zmianę hasła.</value>
+	</string>
+	<string id="322" name="errortype">
+		<value>Informacja</value>
+	</string>
+	<string id="323" name="errortype">
+		<value>Błąd</value>
+	</string>
+	<string id="324" name="resetpass">
+		<value>Niepoprawny kod. Nie ma takiego użytkownika.</value>
+	</string>
+	<string id="325" name="resetpass">
+		<value>Ustaw nowe hasło.</value>
+	</string>
+	<string id="326" name="resetpass">
+		<value>Login</value>
+	</string>
+	<string id="327" name="resetpass">
+		<value>zmień hasło</value>
+	</string>
+	<string id="328" name="resetpass">
+		<value>nowe hasło</value>
+	</string>
+	<string id="329" name="resetpass">
+		<value>powtórz hasło</value>
+	</string>
+	<string id="330" name="resetpass">
+		<value>Hasła, które wpisałe(a)ś nie były identyczne.</value>
+	</string>
+	<string id="331" name="resetpass">
+		<value>4 lub więcej znaków; małe i duże litery mają znaczenie!</value>
+	</string>
+	<string id="332" name="resetpass">
+		<value>Hasło ustawione. Możesz się zalogować.</value>
+	</string>
+	<string id="333" name="rpccallback">
+		<value>OK</value>
+	</string>
+	<string id="334" name="rpcgeneralerror">
+		<value>Nieznany błąd. Proszę poinformować administratora.</value>
+	</string>
+	<string id="335" name="loginwindow">
+		<value>Nie ma takiego użytkownika</value>
+	</string>
+	<string id="336" name="loginwindow">
+		<value>Niepoprawne hasło</value>
+	</string>
+	<string id="337" name="logout">
+		<value>Poprawnie wylogowano.</value>
+	</string>
+	<string id="338" name="registration">
+		<value>Samodzielna rejestracja nie jest możliwa.</value>
+	</string>
+	<string id="339" name="registration">
+		<value>Niepoprawny e-mail</value>
+	</string>
+	<string id="340" name="registration">
+		<value>plik o tej nazwie istnieje, proszę wybrac inną nazwę pliku</value>
+	</string>
+	<string id="341" name="filebrowser">
+		<value>nazwa pliku za krótka</value>
+	</string>
+	<string id="342" name="filebrowser">
+		<value>Nie mogłem zapisać adresu</value>
+	</string>
+	<string id="343" name="useradmin">
+		<value>Dodano użytkownika, ale należy go przypisać do organizacji,
+bo w innym przypadku nie będzie mógł się zalogować.</value>
+	</string>
+	<string id="344" name="adminforms">
+		<value>Nowy wpis</value>
+	</string>
+	<string id="345" name="languageseditor">
+		<value>Nie ma pola o takim identyfikatorze.</value>
+	</string>
+	<string id="346" name="languageseditor">
+		<value>To pole nie ma etykiety.</value>
+	</string>
+	<string id="347" name="errormessage">
+		<value>Potrzebne zezwolenie administratora</value>
+	</string>
+	<string id="348" name="mainnavi">
+		<value>Edytor języka</value>
+	</string>
+	<string id="349" name="languageseditor">
+		<value>Język</value>
+	</string>
+	<string id="350" name="languageseditor">
+		<value>ID-etykiety</value>
+	</string>
+	<string id="351" name="languageseditor">
+		<value>Nazwa etykiety</value>
+	</string>
+	<string id="352" name="languageseditor">
+		<value>Wartość</value>
+	</string>
+	<string id="353" name="languageseditor">
+		<value>Wartości pola</value>
+	</string>
+	<string id="354" name="languageseditor">
+		<value>Nazwa etykiety</value>
+	</string>
+	<string id="355" name="languageseditor">
+		<value>Wartość etykiety</value>
+	</string>
+	<string id="356" name="languageseditor">
+		<value>ID-etykiety</value>
+	</string>
+	<string id="357" name="languageseditor">
+		<value>Skasowałeś tylko etykietę, a nie pole! Nie możesz skasować
+pola, może mieć etykiety w innych językach.</value>
+	</string>
+	<string id="358" name="languageseditor">
+		<value>Niepoprawne ID etykiety. FieldLanguagesvalues_Id nie
+zostało znalezione w bazie.</value>
+	</string>
+	<string id="359" name="languageseditor">
+		<value>Nie można skasować tego pola. Można kasować tylko etykiety,
+a nie pola. Obecnie brak etykiety. Albo nie wskazano żadnego pola,
+albo to pole nie ma etykiety w języku, któty edytujesz.</value>
+	</string>
+	<string id="360" name="languageseditor">
+		<value>eksport</value>
+	</string>
+	<string id="361" name="languageseditor">
+		<value>Musisz się przelogować, aby zobaczyć zmiany.</value>
+	</string>
+	<string id="362" name="languageseditor">
+		<value>Dodaj nowy język</value>
+	</string>
+	<string id="363" name="languageseditor">
+		<value>skasuj język</value>
+	</string>
+	<string id="364" name="languageseditor">
+		<value>Dodaj nowy język</value>
+	</string>
+	<string id="365" name="languageseditor">
+		<value>Nazwa</value>
+	</string>
+	<string id="366" name="languageseditor">
+		<value>dodaj język</value>
+	</string>
+	<string id="367" name="languageseditor">
+		<value>Kopia zapasowa</value>
+	</string>
+	<string id="368" name="turnoverlist">
+		<value>pierwszy</value>
+	</string>
+	<string id="369" name="turnoverlist">
+		<value>poprzedni</value>
+	</string>
+	<string id="370" name="turnoverlist">
+		<value>następny</value>
+	</string>
+	<string id="371" name="turnoverlist">
+		<value>ostatni</value>
+	</string>
+	<string id="372" name="videobox">
+		<value>użytkownik mówi (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+	</string>
+	<string id="373" name="videobox">
+		<value>włącz/wyłącz dźwięk</value>
+	</string>
+	<string id="374" name="dashboard">
+		<value>System</value>
+	</string>
+	<string id="375" name="dashboard">
+		<value>Twoje ustawienia</value>
+	</string>
+	<string id="376" name="dashboard">
+		<value>cześć,</value>
+	</string>
+	<string id="377" name="dashboard">
+		<value>Edytuj swój profil</value>
+	</string>
+	<string id="378" name="dashboard">
+		<value>Nowe wiadomości:</value>
+	</string>
+	<string id="379" name="dashboard">
+		<value>Prześlij nowy obrazek</value>
+	</string>
+	<string id="380" name="backuppanel">
+		<value>Dane użytkowników - eksport</value>
+	</string>
+	<string id="381" name="backuppanel">
+		<value>Wszystkie organizacje muszą już istnieć!</value>
+	</string>
+	<string id="382" name="backuppanel">
+		<value>rozpocznij eksport</value>
+	</string>
+	<string id="383" name="backuppanel">
+		<value>wg organizacji</value>
+	</string>
+	<string id="384" name="backuppanel">
+		<value>rozpocznij eksport</value>
+	</string>
+	<string id="385" name="backuppanel">
+		<value>Dane użytkowników - import</value>
+	</string>
+	<string id="386" name="backuppanel">
+		<value>wskaż users.xml</value>
+	</string>
+	<string id="387" name="languageseditor">
+		<value>importuj</value>
+	</string>
+	<string id="388" name="languageseditor">
+		<value>Eksport do XML-a. Te pliki mogą być użyte:&lt;br/&gt; -
+jako twój wkład do projektu - do zaimportowania do innego
+systemu&lt;br/&gt; - jako kopia zapasowa - do dostosowania komunikatów
+do swoich potrzeb&lt;br/&gt; - do umieszczenia w katalogu z plikami
+językowymi przed kolejną instalacją</value>
+	</string>
+	<string id="389" name="languageseditor">
+		<value>Wskaż plik językowy do zaimportowania. &lt;br/&gt;Wybierz
+język z listy! &lt;br/&gt;Nie ważne jaka jest nazwa pliku, &lt;br/
+&gt;zostanie on zaimportowany do tego języka!</value>
+	</string>
+	<string id="390" name="importwindow">
+		<value>import - wskaż plik</value>
+	</string>
+	<string id="391" name="recordingsavewin">
+		<value>Zapisz jako</value>
+	</string>
+	<string id="392" name="recordingsavewin">
+		<value>Nazwa:</value>
+	</string>
+	<string id="393" name="recordingsavewin">
+		<value>Komentarz:</value>
+	</string>
+	<string id="394" name="recordingsavewin">
+		<value>zapisz</value>
+	</string>
+	<string id="395" name="record">
+		<value>Nagrania</value>
+	</string>
+	<string id="396" name="recorder">
+		<value>Przeglądarka nagrań</value>
+	</string>
+	<string id="397" name="record">
+		<value>Nagrania z pokojów publicznych i prywatnych</value>
+	</string>
+	<string id="398" name="roomslist">
+		<value>Użytkownicy:</value>
+	</string>
+	<string id="399" name="roomslist">
+		<value>Dołączyli:</value>
+	</string>
+	<string id="400" name="roomslist">
+		<value></value>
+	</string>
+	<string id="401" name="roomslist">
+		<value>Użytkownicy w tym pokoju:</value>
+	</string>
+	<string id="402" name="roomslist">
+		<value>odśwież</value>
+	</string>
+	<string id="403" name="roomslist">
+		<value>Pokój jest pełny. Zajrzyj za parę minut.</value>
+	</string>
+	<string id="404" name="roomsList">
+		<value>kliknij na pokój, aby zobaczyć szczegóły</value>
+	</string>
+	<string id="405" name="roomslist">
+		<value>Czatuj z użytkownikami tego pokoju:</value>
+	</string>
+	<string id="406" name="roomslist">
+		<value>Pokój:</value>
+	</string>
+	<string id="407" name="roomslist">
+		<value>Użytkownicy w tym pokoju:</value>
+	</string>
+	<string id="408" name="roomslist">
+		<value>od:</value>
+	</string>
+	<string id="409" name="record">
+		<value>odtwórz nagranie</value>
+	</string>
+	<string id="410" name="record">
+		<value>Długość:</value>
+	</string>
+	<string id="411" name="record">
+		<value>Data:</value>
+	</string>
+	<string id="412" name="record">
+		<value>Nie możesz tu nic zmieniać. To jest nagranie!</value>
+	</string>
+	<string id="413" name="record">
+		<value>Odtwarzaj to nagranie</value>
+	</string>
+	<string id="414" name="record">
+		<value>Odtwarzaj / Pauza</value>
+	</string>
+	<string id="415" name="record">
+		<value>Rozpocznij nagrywanie</value>
+	</string>
+	<string id="416" name="record">
+		<value>zakończ nagrywanie</value>
+	</string>
+	<string id="417" name="record">
+		<value>Nagrywanie:</value>
+	</string>
+	<string id="418" name="record_error_msg">
+		<value>Już ktoś to w tej chwili nagrywa:</value>
+	</string>
+	<string id="419" name="record_message">
+		<value>Nagrywane przez użytkownika:</value>
+	</string>
+	<string id="420" name="record_cancel">
+		<value>anuluj</value>
+	</string>
+	<string id="421" name="record_cancal_tooltip">
+		<value>Nagrywanie zostanie anulowane i nie będzie zapisane.</value>
+	</string>
+	<string id="422" name="cancel_dialog_resume">
+		<value>kontynuuj</value>
+	</string>
+	<string id="423" name="cancel_dialog_resume_tooltip">
+		<value>Zamknij to okno i powróć do nagrywania</value>
+	</string>
+	<string id="424" name="painttools_ellipse_color">
+		<value>zmień kolor linii</value>
+	</string>
+	<string id="425" name="colorpicker_head">
+		<value>Wybierz kolor</value>
+	</string>
+	<string id="426" name="painttools_line_disable">
+		<value>Wyłącz / Włącz kolor linii</value>
+	</string>
+	<string id="427" name="painttools_fill_disable">
+		<value>zmień kolor wypełnienia</value>
+	</string>
+	<string id="428" name="painttools_line_disable">
+		<value>Wyłącz / Włącz kolor wypełnienia</value>
+	</string>
+	<string id="429" name="change_width_arrow_down_slider">
+		<value>Zmień grubość linii</value>
+	</string>
+	<string id="430" name="close_small_popups">
+		<value>zamknij</value>
+	</string>
+	<string id="431" name="paint_tool_letter">
+		<value>zmień rozmiar czcionki</value>
+	</string>
+	<string id="432" name="recordingslist_delete">
+		<value>Skasuj nagranie</value>
+	</string>
+	<string id="433" name="recordingslist_recordedByGuest">
+		<value>Gość</value>
+	</string>
+	<string id="434" name="recordingslist_recordedby">
+		<value>Przez:</value>
+	</string>
+	<string id="435" name="recordings_table_head_name">
+		<value>Nazwa</value>
+	</string>
+	<string id="436" name="recordings_table_head_room">
+		<value>Pokój</value>
+	</string>
+	<string id="437" name="recordings_table_head_date">
+		<value>Data</value>
+	</string>
+	<string id="438" name="record_start_cancel">
+		<value>anuluj</value>
+	</string>
+	<string id="439" name="record_start_start">
+		<value>start</value>
+	</string>
+	<string id="440" name="filesbrowser_table_head_name">
+		<value>Nazwa</value>
+	</string>
+	<string id="441" name="filesbrowser_table_head_date">
+		<value>Data</value>
+	</string>
+	<string id="442" name="chat_clear_history">
+		<value>Skasuj transkrypt czatu</value>
+	</string>
+	<string id="443" name="chat_overall_header">
+		<value>Czat</value>
+	</string>
+	<string id="444" name="chat_send_btn">
+		<value>wyślij wiadomość</value>
+	</string>
+	<string id="445" name="chat_emot_btn">
+		<value>Emotikony</value>
+	</string>
+	<string id="446" name="chat_emot_win">
+		<value>Emotikony</value>
+	</string>
+	<string id="447" name="choose_video_settings">
+		<value>Wybierz udostępniane urządzenia</value>
+	</string>
+	<string id="448" name="choose_video_settings_combo">
+		<value>Dźwięk and Wideo</value>
+	</string>
+	<string id="449" name="choose_video_settings_combo">
+		<value>Tylko dźwięk</value>
+	</string>
+	<string id="450" name="choose_video_settings_combo">
+		<value>Tylko obraz</value>
+	</string>
+	<string id="451" name="choose_video_settings_combo">
+		<value>bez transmisji Audio/Wideo (statyczny obrazek)</value>
+	</string>
+	<string id="452" name="choose_video_settings_info_text">
+		<value>Nie będzie transmisji audio/wideo z twojego komputera.
+Zamiast tego zostanie pokazany obrazek (awatar) z twojego profilu.
+Wybierz te ustawienia, jeśli masz problemy z przepustowością lub
+bardzo wolne łącze internetowe.</value>
+	</string>
+	<string id="453" name="calendar_dayname_monday">
+		<value>PO</value>
+	</string>
+	<string id="454" name="calendar_dayname_tuesday">
+		<value>WT</value>
+	</string>
+	<string id="455" name="calendar_dayname_wednesday">
+		<value>ŚR</value>
+	</string>
+	<string id="456" name="calendar_dayname_thursday">
+		<value>CZ</value>
+	</string>
+	<string id="457" name="calendar_dayname_friday">
+		<value>PT</value>
+	</string>
+	<string id="458" name="calendar_dayname_saturday">
+		<value>SO</value>
+	</string>
+	<string id="459" name="calendar_dayname_sunday">
+		<value>ND</value>
+	</string>
+	<string id="460" name="calendar_dayname_monday">
+		<value>Poniedziałek</value>
+	</string>
+	<string id="461" name="calendar_dayname_TuesdayLabel">
+		<value>Wtorek</value>
+	</string>
+	<string id="462" name="calendar_dayname_WednesdayLabel">
+		<value>Środa</value>
+	</string>
+	<string id="463" name="calendar_dayname_ThursdayLabel">
+		<value>Czwartek</value>
+	</string>
+	<string id="464" name="calendar_dayname_FridayLabel">
+		<value>Piątek</value>
+	</string>
+	<string id="465" name="calendar_dayname_SaturdayLabel">
+		<value>Sobota</value>
+	</string>
+	<string id="466" name="calendar_dayname_SundayLabel">
+		<value>Niedziela</value>
+	</string>
+	<string id="467" name="calendar_weeknumber_header">
+		<value>TY</value>
+	</string>
+	<string id="468" name="calendar_weeknumber_headerTooltip">
+		<value>Tydzień kalendarzowy</value>
+	</string>
+	<string id="469" name="calendar_monthnames">
+		<value>Styczeń</value>
+	</string>
+	<string id="470" name="calendar_monthnames">
+		<value>Luty</value>
+	</string>
+	<string id="471" name="calendar_monthnames">
+		<value>Marzec</value>
+	</string>
+	<string id="472" name="calendar_monthnames">
+		<value>Kwiecień</value>
+	</string>
+	<string id="473" name="calendar_monthnames">
+		<value>Maj</value>
+	</string>
+	<string id="474" name="calendar_monthnames">
+		<value>Czerwiec</value>
+	</string>
+	<string id="475" name="calendar_monthnames">
+		<value>Lipiec</value>
+	</string>
+	<string id="476" name="calendar_monthnames">
+		<value>Sierpień</value>
+	</string>
+	<string id="477" name="calendar_monthnames">
+		<value>Wrzesień</value>
+	</string>
+	<string id="478" name="calendar_monthnames">
+		<value>Październik</value>
+	</string>
+	<string id="479" name="calendar_monthnames">
+		<value>Listopad</value>
+	</string>
+	<string id="480" name="calendar_monthnames">
+		<value>Grudzień</value>
+	</string>
+	<string id="481" name="calendarwin_header">
+		<value>Kalendarz</value>
+	</string>
+	<string id="482" name="roomadmin_labelNumberOfParticipants">
+		<value>Uczetnicy</value>
+	</string>
+	<string id="483" name="roomValue_advancedSettings">
+		<value>Pokaż ustawienia wyglądu</value>
+	</string>
+	<string id="484" name="roomAdmin_layout_videoX">
+		<value>X | Y</value>
+	</string>
+	<string id="485" name="roomAdmin_layout_videoY">
+		<value>Szerokość | Wysokość</value>
+	</string>
+	<string id="486" name="roomAdmin_layout">
+		<value>Kontener wideo</value>
+	</string>
+	<string id="487" name="roomAdmin_layout_mod">
+		<value>Kontener moderacji</value>
+	</string>
+	<string id="488" name="roomAdmin_layout_mod_pos">
+		<value>X</value>
+	</string>
+	<string id="489" name="roomAdmin_layout_whiteboard">
+		<value>Kontener tablicy</value>
+	</string>
+	<string id="490" name="roomAdmin_layout_whiteboard_show">
+		<value>Włączony</value>
+	</string>
+	<string id="491" name="roomAdmin_layout_whiteboard_pos">
+		<value>X | Y</value>
+	</string>
+	<string id="492" name="roomAdmin_layout_whiteboard">
+		<value>Szerokość | Wysokość</value>
+	</string>
+	<string id="493" name="roomAdmin_layout_files">
+		<value>Kontener plików, czatu, uczestników</value>
+	</string>
+	<string id="494" name="roomAdmin_layout_files_show">
+		<value>Włączony</value>
+	</string>
+	<string id="495" name="roomAdmin_layout_files_pos">
+		<value>X |Y</value>
+	</string>
+	<string id="496" name="roomAdmin_layout_files">
+		<value>Szerokość | Wysokość</value>
+	</string>
+	<string id="497" name="moderator_gone_message">
+		<value>Moderator wyszedł z pokoju. Nikt obecnie nie przeprowadza
+prezentacji. Możesz wystąpić z wnioskiem o zostanie moderatorem, albo
+poczekać.</value>
+	</string>
+	<string id="498" name="moderator_message_event_no_mod">
+		<value>W pokoju nie ma moderatora, ale są uczestnicy. Możesz
+wystąpić z wnioskiem o zostanie moderatorem, albo poczekać.</value>
+	</string>
+	<string id="499" name="feedback_template_subject">
+		<value>Feedback $APP_NAME</value>
+	</string>
+	<string id="500" name="invitation_template_head">
+		<value>$APP_NAME - Zaproszenie</value>
+	</string>
+	<string id="501" name="invitation_text_from">
+		<value>Wiadomość od użytkownika:</value>
+	</string>
+	<string id="502" name="invitation_text_message">
+		<value>Wiadomość:</value>
+	</string>
+	<string id="503" name="invitation_text_click_text">
+		<value>Kliknij na link, aby wziąć udział w spotkaniu:</value>
+	</string>
+	<string id="504" name="invitation_text_click_text_link">
+		<value>Kliknij tu, any wejść do pokoju</value>
+	</string>
+	<string id="505" name="invitation_text_click_text_help">
+		<value>jeśli masz kłopot z linkiem, skopiuj go i wklej do paska
+adresu w przeglądarce:</value>
+	</string>
+	<string id="506" name="registering_mail_text_head">
+		<value>$APP_NAME Zapisy</value>
+	</string>
+	<string id="507" name="registering_mail_text_head2">
+		<value>Twoje dane użytkownika:</value>
+	</string>
+	<string id="508" name="registering_mail_text_username">
+		<value>Login:</value>
+	</string>
+	<string id="509" name="registering_mail_text_pass">
+		<value>Hasło:</value>
+	</string>
+	<string id="510" name="registering_mail_text_mail">
+		<value>e-mail:</value>
+	</string>
+	<string id="511" name="registering_mail_text_bye">
+		<value>Zespół $APP_NAME</value>
+	</string>
+	<string id="512" name="register_mail_subject">
+		<value>$APP_NAME Zapisy</value>
+	</string>
+	<string id="513" name="reset_password_template_head">
+		<value>$APP_NAME - zmiana hasła</value>
+	</string>
+	<string id="514" name="reset_password_template_test_link">
+		<value>Kliknij na ten link, aby wprowadzić nowe hasło:</value>
+	</string>
+	<string id="515" name="reset_password_template_text2_link">
+		<value>Kliknij tutaj, aby wprowadzić nowe hasło</value>
+	</string>
+	<string id="516" name="reset_password_template_text3_link">
+		<value>jeśli masz kłopot z linkiem, skopiuj go i wklej do paska
+adresu w przeglądarce:</value>
+	</string>
+	<string id="517" name="reset_password_mail_subject">
+		<value>$APP_NAME Zmiana hasła</value>
+	</string>
+	<string id="518" name="dateRegExpError">
+		<value>Proszę wprowadzić poprawną datę, np. 24.12.2001 (dd.mm.rrrr)
+		</value>
+	</string>
+	<string id="519" name="emailRegExpError">
+		<value>Proszę wprowadzić poprawny adres e-mail, np. name@mail.com</value>
+	</string>
+	<string id="520" name="floatRegExpError">
+		<value>Proszę wpisać liczbę dziesiętną, np. 1.00</value>
+	</string>
+	<string id="521" name="numberRegExpError">
+		<value>Proszę wpisać liczbę całkowitą, np. 100</value>
+	</string>
+	<string id="522" name="phoneRegExpError">
+		<value>Proszę wpisać poprawny numer telefonu, np. +48 12 1234567</value>
+	</string>
+	<string id="523" name="timeRegExpError">
+		<value>Proszę wpisać poprawny czas, np. 12:23 (gg:mm)</value>
+	</string>
+	<string id="524" name="invitation_window">
+		<value>Zabezpieczone hasłem</value>
+	</string>
+	<string id="525" name="invitation_window_passwordLabel">
+		<value>Hasło</value>
+	</string>
+	<string id="526" name="invitation_window_validLabel">
+		<value>Okres ważności</value>
+	</string>
+	<string id="527" name="invitation_window_valid">
+		<value>Nieskończony</value>
+	</string>
+	<string id="528" name="invitation_window_valid">
+		<value>Okres</value>
+	</string>
+	<string id="529" name="invitation_window_valid">
+		<value>Jednorazowe</value>
+	</string>
+	<string id="530" name="invitation_window_validFromLabel">
+		<value>Ważne od:</value>
+	</string>
+	<string id="531" name="invitation_window_validToLabel">
+		<value>Ważne do:</value>
+	</string>
+	<string id="532" name="invitation_window_MailSubject">
+		<value>Zaproszenie do $APP_NAME</value>
+	</string>
+	<string id="533" name="invitation_error">
+		<value>Nie ma zaproszenia z takim kodem</value>
+	</string>
+	<string id="534" name="invitation_error">
+		<value>To zaproszenie było już uzyte. Ten rodzaj zaproszenia nie
+może być wykorzystany powtórnie.</value>
+	</string>
+	<string id="535" name="invitation_error">
+		<value>Ten kod zaproszenia jest nieważny.</value>
+	</string>
+	<string id="536" name="invitation_pass">
+		<value>Hasło:</value>
+	</string>
+	<string id="537" name="invitation_pass_btn">
+		<value>Sprawdź hasło</value>
+	</string>
+	<string id="538" name="invitation_pass_error">
+		<value>Niepoprawne hasło!</value>
+	</string>
+	<string id="539" name="Browser">
+		<value>Audio_Wideo</value>
+	</string>
+	<string id="540" name="audio_video">
+		<value>Synchronizuj Audio/Wideo</value>
+	</string>
+	<string id="541" name="errorCode_invalidSession">
+		<value>Zalogowanie było poprawne, ale podana sesja nie jest
+aktywna lub przechowywana na serwerze. Musisz otrzymać nowy
+identyfikator sesji i potórzyć logowanie.</value>
+	</string>
+	<string id="542" name="errorcode_setUserObject">
+		<value>Ten identyfikator sesji nie jest zalogowany, albo nie ma
+uprawnień administratorskich. Brama SOAP wymaga użytkownika o
+uprawnieniach administratora do zamieszczania nowych użytkowników.</value>
+	</string>
+	<string id="543" name="errorcode_loginByRemoteUser">
+		<value>Ta sesja nie ma przyłaczonych danych użytkownika. Albo nie
+wuwołałeś poprawnie bramy SOAP przed dostępem do aplikacji, albo
+używasz niewłaściwego identyfikatora sesji.</value>
+	</string>
+	<string id="544" name="debug_message_recording">
+		<value>Nagrywanie jest obecnie w fazie BETA testów!</value>
+	</string>
+	<string id="545" name="propertyPanelXValue">
+		<value>x</value>
+	</string>
+	<string id="546" name="propertyPanelXValueLabel">
+		<value>oś-x</value>
+	</string>
+	<string id="547" name="propertyPanelYValue">
+		<value>y</value>
+	</string>
+	<string id="548" name="propertyPanelYValueLabel">
+		<value>oś-y</value>
+	</string>
+	<string id="549" name="propertyPanelWidthValue">
+		<value>s</value>
+	</string>
+	<string id="550" name="propertyPanelWidthValueLabel">
+		<value>szerokość</value>
+	</string>
+	<string id="551" name="propertyPanelHeightValue">
+		<value>w</value>
+	</string>
+	<string id="552" name="propertyPanelHeightValueLabel">
+		<value>wysokość</value>
+	</string>
+	<string id="553" name="propertyOpacitySlider">
+		<value>Zmień przezroczystość</value>
+	</string>
+	<string id="554" name="browserOpen">
+		<value>Otwórz przeglądarkę</value>
+	</string>
+	<string id="555" name="browserClose">
+		<value>Zamknij przeglądarkę</value>
+	</string>
+	<string id="556" name="connectionLostMessage">
+		<value>Utracono połączenie z serwerem. Przeładuj aplikację lub
+sprawdź swoje połaczenie sieciowe.</value>
+	</string>
+	<string id="557" name="557">
+		<value>Wskaźnik</value>
+	</string>
+	<string id="558" name="sync message header">
+		<value>Synchronizuję</value>
+	</string>
+	<string id="559" name="Synchronizing message">
+		<value>Synchronizuję użytkowników, proszę czekać</value>
+	</string>
+	<string id="560" name="exportToSVG">
+		<value>&lt;u&gt;Pobierz jako SVG&lt;/u&gt;</value>
+	</string>
+	<string id="561" name="exportToImage">
+		<value>&lt;u&gt;Pobierz jako PNG&lt;/u&gt;</value>
+	</string>
+	<string id="562" name="exportToImage">
+		<value>&lt;u&gt;Pobierz jako JPG&lt;/u&gt;</value>
+	</string>
+	<string id="563" name="exportToImage">
+		<value>&lt;u&gt;Pobierz jako PDF&lt;/u&gt;</value>
+	</string>
+	<string id="564" name="exportToImage">
+		<value>&lt;u&gt;Pobierz jako TIF&lt;/u&gt;</value>
+	</string>
+	<string id="565" name="calendarLabel">
+		<value>Typ zaproszenia:</value>
+	</string>
+	<string id="566" name="calendarLabel">
+		<value>Kategoria:</value>
+	</string>
+	<string id="567" name="calendarLabel">
+		<value>Powtarzanie:</value>
+	</string>
+	<string id="568" name="calendarLabel">
+		<value>brak</value>
+	</string>
+	<string id="569" name="calendarLabel">
+		<value>lokalizacja:</value>
+	</string>
+	<string id="570" name="calendarLabel">
+		<value>Start</value>
+	</string>
+	<string id="571" name="calendarLabel">
+		<value>Koniec</value>
+	</string>
+	<string id="572" name="calendarLabel">
+		<value>Tytuł:</value>
+	</string>
+	<string id="573" name="calendarLabel">
+		<value>Komentarz:</value>
+	</string>
+	<string id="574" name="calendarLabel">
+		<value>Zaproś ludzi</value>
+	</string>
+	<string id="575" name="calendarLabel">
+		<value>Codziennie</value>
+	</string>
+	<string id="576" name="calendarLabel">
+		<value>Co miesiąc</value>
+	</string>
+	<string id="577" name="calendarLabel">
+		<value>Co roku</value>
+	</string>
+	<string id="578" name="alert">
+		<value>Koniec okresu jest przed jego początkiem!</value>
+	</string>
+	<string id="579" name="alert">
+		<value>Proszę podać tytuł!</value>
+	</string>
+	<string id="580" name="580">
+		<value>PDL</value>
+	</string>
+	<string id="581" name="581">
+		<value>Włącz to, jeśli piszesz od prawej do lewej</value>
+	</string>
+	<string id="582" name="tooltip main-menu">
+		<value>Tablica rozdzielcza</value>
+	</string>
+	<string id="583" name="tooltip main-menu">
+		<value>Oglądaj nagrane spotkavia i wykłady</value>
+	</string>
+	<string id="584" name="tooltip main-menu">
+		<value>Spotkanie - konferencja z 4 (do 16) użytkownikami&lt;br/
+&gt;każdy ma możliwość nadawania audio/wideo</value>
+	</string>
+	<string id="585" name="tooltip main-menu">
+		<value>Wykład - konferencja do 200 uczestników&lt;br/&gt;Tylko
+moderator może nadawać audio/wideo</value>
+	</string>
+	<string id="586" name="tooltip main-menu">
+		<value>Utwórz użytkowników, pokoje, organizacje&lt;br/&gt; + zmień
+konfigurację</value>
+	</string>
+	<string id="587" name="room Administration roomclients list">
+		<value>Użytkownicy w tym pokoju</value>
+	</string>
+	<string id="588" name="room Administration roomclients list">
+		<value>ID</value>
+	</string>
+	<string id="589" name="room Administration roomclients list">
+		<value>Login</value>
+	</string>
+	<string id="590" name="room Administration roomclients list">
+		<value>D</value>
+	</string>
+	<string id="591" name="swf sync message">
+		<value>Wczytuję dokument. Proszę czekać na zsynchronizowanie
+stacji klienckich.</value>
+	</string>
+	<string id="592" name="upload dialog">
+		<value>Przesyłanie zakończone, przeprowadzam konwersję
+dokumentu ...</value>
+	</string>
+	<string id="593" name="upload dialog">
+		<value>Zacznij przesyłanie</value>
+	</string>
+	<string id="594" name="upload dialog">
+		<value>Przesyłanie i import. Proszę wybrać plik z dysku.</value>
+	</string>
+	<string id="595" name="upload Dialog">
+		<value>Anuluj</value>
+	</string>
+	<string id="596" name="upload Dialog">
+		<value>Wybierz plik</value>
+	</string>
+	<string id="597" name="administration navigation">
+		<value>Połączenia</value>
+	</string>
+	<string id="598" name="confadmin value list">
+		<value>Wartość</value>
+	</string>
+	<string id="599" name="connection administration panel">
+		<value>ID strumienia</value>
+	</string>
+	<string id="600" name="connection administration panel">
+		<value>Login</value>
+	</string>
+	<string id="601" name="connection administration panel">
+		<value>Połączony od</value>
+	</string>
+	<string id="602" name="connection administration panel">
+		<value>Pokój / zakres</value>
+	</string>
+	<string id="603" name="connection administration panel">
+		<value>Wyrzuć użytkownika</value>
+	</string>
+	<string id="604" name="kick user confirmation dialog">
+		<value>Wyrzuć użytkownika</value>
+	</string>
+	<string id="605" name="kick user confirmation dialog">
+		<value>Czy chcesz wyrzucić (rozłączyć) połączenie tego użytkownika?
+&lt;br/&gt; Wyrzucisz użytkownika z pokoju, ale może on się powtórnie
+zalogować.</value>
+	</string>
+	<string id="606" name="kick user message dialog">
+		<value>Połączenie przerwane przez administratora lub moderatora.</value>
+	</string>
+	<string id="607" name="useralterself_phone">
+		<value>Telefon</value>
+	</string>
+	<string id="608" name="participents panel">
+		<value>Użytkownik jest moderatorem tego pokoju</value>
+	</string>
+	<string id="609" name="participents panel">
+		<value>Użytkownik ma prawo do rysowania na tablicy</value>
+	</string>
+	<string id="610" name="participents panel">
+		<value>(Re)startuj Audio/Wideo zmień ustawienia urządzeń</value>
+	</string>
+	<string id="611" name="participents panel">
+		<value>Pozwól temu użytkownikowi rysować na tablicy</value>
+	</string>
+	<string id="612" name="participents panel">
+		<value>Zabierz temu użytkownikowi prawo do rysowania na tablicy</value>
+	</string>
+	<string id="613" name="conferencePanels">
+		<value>Użytkownicy</value>
+	</string>
+	<string id="614" name="conferencePanels">
+		<value>Pliki</value>
+	</string>
+	<string id="615" name="conferencePanels">
+		<value>Tablica</value>
+	</string>
+	<string id="616" name="conferencePanels">
+		<value>Czat</value>
+	</string>
+	<string id="617" name="organization choose info">
+		<value>Twoje konto jest przypisane do kilku organizacji. Proszę
+wybrać jedną z nich na potrzeby bieżącej sesji.</value>
+	</string>
+	<string id="618" name="error message room full">
+		<value>Ten pokój jest chwilowo pełny. Zajrzyj później.</value>
+	</string>
+	<string id="619" name="roomtypes">
+		<value>Rodzaj pokoju</value>
+	</string>
+	<string id="620" name="appointed_room">
+		<value>Pokój spotkań</value>
+	</string>
+	<string id="621" name="servertime">
+		<value>Czas serwera</value>
+	</string>
+	<string id="622" name="inv_reminder_template_head">
+		<value>$APP_NAME - przypomnienie</value>
+	</string>
+	<string id="623" name="inv_reminder_text_from">
+		<value>Wiadomość od użytkownika:</value>
+	</string>
+	<string id="624" name="inv_reminder_text_message">
+		<value>Wiadomość:</value>
+	</string>
+	<string id="625" name="inv_reminder_text_click_text">
+		<value>Kliknij na ten link, aby wziąć udział w spotkaniu:</value>
+	</string>
+	<string id="626" name="inv_reminder_text_click_text_link">
+		<value>Kliknij tutaj, aby wejść do pokoju</value>
+	</string>
+	<string id="627" name="inv_reminder_text_click_text_help">
+		<value>jeśli masz kłopot z linkiem, skopiuj go i wklej do paska
+adresu w przeglądarce:</value>
+	</string>
+	<string id="628" name="btn_search_intern">
+		<value>wyszukiwanie wewnętrzne</value>
+	</string>
+	<string id="629" name="btn_search_extern">
+		<value>zewnętrzni użytkownicy</value>
+	</string>
+	<string id="630" name="lbl_prename">
+		<value>pre-nazwa</value>
+	</string>
+	<string id="631" name="lbl_name">
+		<value>nazwa</value>
+	</string>
+	<string id="632" name="lbl_email">
+		<value>e-mail</value>
+	</string>
+	<string id="633" name="logoutConfirm_title">
+		<value>potwierdź wylogowanie</value>
+	</string>
+	<string id="634" name="logoutConfirm_sure_to_logout_question">
+		<value>Wylogowanie. Jesteś pewien?</value>
+	</string>
+	<string id="635" name="main menu">
+		<value>Działania</value>
+	</string>
+	<string id="636" name="room admin">
+		<value>Pokój demo</value>
+	</string>
+	<string id="637" name="room admin">
+		<value>Czas demonstracji</value>
+	</string>
+	<string id="638" name="meeting Timer">
+		<value>Zegar spotkania</value>
+	</string>
+	<string id="639" name="meeting Timer">
+		<value>Ten pokój jest pokojem demo. Aby wyłączyć to ostrzeżenie
+utwórz prywatny pokój spotkań, dla własnego użytku, albo postaw własny
+serwer. Zostaniesz wylogowany automatycznie za:</value>
+	</string>
+	<string id="640" name="meeting room administration">
+		<value>Moderowany</value>
+	</string>
+	<string id="641" name="moderated room waiting message">
+		<value>Poczekaj, aż moderator wejdzie do pokoju. Moderatorem może
+być wykładowca, administrator lub twórca tego pokoju.</value>
+	</string>
+	<string id="642" name="error popup">
+		<value>Ok</value>
+	</string>
+	<string id="643" name="window screensharing">
+		<value>Pojawia się udostępniony ekran</value>
+	</string>
+	<string id="644" name="window screen sharing">
+		<value>Pojawia się nowy ekran udostępniony przez:</value>
+	</string>
+	<string id="645" name="window screen sharing">
+		<value>Rozpocznij udostępnianie</value>
+	</string>
+	<string id="646" name="calendar">
+		<value>Dodaj nowe spotkanie</value>
+	</string>
+	<string id="647" name="calendar">
+		<value>Pokój spotkań</value>
+	</string>
+	<string id="648" name="calendar">
+		<value>Sala wykładowa</value>
+	</string>
+	<string id="649" name="main menu moderation">
+		<value>Moderacja</value>
+	</string>
+	<string id="650" name="menu moderation">
+		<value>Moderuj użytkowników</value>
+	</string>
+	<string id="651" name="menu moderation">
+		<value>Moderuj pokoje</value>
+	</string>
+	<string id="652" name="moderator org">
+		<value>M</value>
+	</string>
+	<string id="653" name="confirm moderation">
+		<value>Czy chcesz aby użytkownik został moderatorem tej
+organizacji?</value>
+	</string>
+	<string id="654" name="error message">
+		<value>Proszę wskazać organizację, zanim spróbujesz przypisać do
+niej użytkownika!</value>
+	</string>
+	<string id="655" name="choose user window">
+		<value>Organizacja - Moderator</value>
+	</string>
+	<string id="656" name="moderator org users">
+		<value>Czy rzeczywiście chcesz usunąć użytkownika z organizacji?</value>
+	</string>
+	<string id="657" name="org moderation">
+		<value>Ten użytkownik jest moderatorem</value>
+	</string>
+	<string id="658" name="org moderation">
+		<value>Ten użytkownik nie jest moderatorem</value>
+	</string>
+	<string id="659" name="error message moderation">
+		<value>Czy chcesz aby użytkownik nie był moderatorem tej
+organizacji?</value>
+	</string>
+	<string id="660" name="moderation">
+		<value>Dodawaj i kasuj użytkowników i pokoje w swojej organizacji</value>
+	</string>
+	<string id="661" name="delete confirm question">
+		<value>Czy rzeczywiście chcesz skasować ten wpis?</value>
+	</string>
+	<string id="662" name="delete confirm question user moderation">
+		<value>Czy rzeczywiście chcesz usunąć użytkownika z organizacji?
+Usuniesz tylko powiązanie użytkownika z tą organizacją. Aby
+rzeczywiście usunąć samego użytkownika, musisz zalogować się do panelu
+administratorskiego.</value>
+	</string>
+	<string id="663" name="error message self deleting">
+		<value>Nie możesz usunąć samego siebie!</value>
+	</string>
+	<string id="664" name="error message auth">
+		<value>Ta metoda wymaga użycia konta administratorskiego!</value>
+	</string>
+	<string id="665" name="error message SOAP">
+		<value>Nie ma sesji powiązanym z tym ID.</value>
+	</string>
+	<string id="666" name="error message moderation">
+		<value>To jest konto administratora lub moderatora. Możesz
+etdytować to konto tylko poprzez panel administracyjny.</value>
+	</string>
+	<string id="667" name="email verification">
+		<value>Aby dokończyć rejestrację proszę kliknąć na link, albo
+skopiować URL do paska adresu w przeglądarce internetowej.</value>
+	</string>
+	<string id="668" name="email verification">
+		<value>Kliknij tu, aby potwierdzić e-mail</value>
+	</string>
+	<string id="669" name="errorMessage_UserActivationServlet
+		[ActivateUser]">
+		<value>Nie znaleziono użytkownika dla tego kodu.</value>
+	</string>
+	<string id="670" name="errorMessage_UserActivationServlet
+		[ActivateUser]">
+		<value>Ten użytkownik już jest zaktywowany!</value>
+	</string>
+	<string id="671" name="errorMessage_UserActivationServlet
+		[ActivateUser]">
+		<value>Poprawnie aktywowałe(a)ś swoje konto!</value>
+	</string>
+	<string id="672" name="errorMessage_UserActivationServlet
+		[ActivateUser]">
+		<value>Zaloguj się</value>
+	</string>
+	<string id="673" name="loginErrorMessage = user was not activated">
+		<value>Twoje konto nie zostało aktywowane. Najpierw musisz kliknąć
+na link w e-mailu, który otrzymałeś podczas rejestracji.</value>
+	</string>
+	<string id="674" name="register verification message">
+		<value>Poprawnie się zapisałe(a)ś. Wysłaliśmy Ci e-mail z kodem
+potwierdzającym. Proszę sprawdź swoją skrzynkę.</value>
+	</string>
+	<string id="675" name="participants panel">
+		<value>Zabierz prawa moderatora temu użytkownikowi</value>
+	</string>
+	<string id="676" name="participants panel">
+		<value>Nadaj prawa moderatora temu użytkownikowi</value>
+	</string>
+	<string id="677" name="event user list">
+		<value>Użytkownik</value>
+	</string>
+	<string id="678" name="event user list">
+		<value>Dostęp do tablicy</value>
+	</string>
+	<string id="679" name="event user list">
+		<value>Moderator</value>
+	</string>
+	<string id="680" name="event user list">
+		<value>Moderacja: Proszę wybrać użytkownika z listy, aby nadać mu
+prawa dostępu do tablicy, moderacji lub przesyłania wideo.</value>
+	</string>
+	<string id="681" name="event user list">
+		<value>Ten użytkownik jest już moderatorem, więc automatycznie ma
+prawa do rysowania na tablicy.</value>
+	</string>
+	<string id="682" name="event user list error">
+		<value>To ty! Nie możesz odebrać praw moderatora samemu sobie.</value>
+	</string>
+	<string id="683" name="event user list">
+		<value>Zezwól użytkownikowi przesyłać jego głos i obraz wideo</value>
+	</string>
+	<string id="684" name="event user list">
+		<value>Usuń głos i wideo tego użytkownika</value>
+	</string>
+	<string id="685" name="event user list">
+		<value>Chciał(a)bym otrzymać prawa moderatora tego pokoju</value>
+	</string>
+	<string id="686" name="event user list">
+		<value>Chciał(a)bym otrzymać prawo do rysowania na tablicy</value>
+	</string>
+	<string id="687" name="event user list">
+		<value>Cciał(a)bym przesyłać głos i obraz wideo</value>
+	</string>
+	<string id="688" name="event user list">
+		<value>Jesteś moderatorem tego pokoju</value>
+	</string>
+	<string id="689" name="event user list">
+		<value>Masz prawo rysować na tablicy</value>
+	</string>
+	<string id="690" name="event user list">
+		<value>Możesz transmitować dźwięk i obraz wideo</value>
+	</string>
+	<string id="691" name="errortype">
+		<value>Wiadomość dla moderatora</value>
+	</string>
+	<string id="692" name="apply for mod message">
+		<value>Użytkownik</value>
+	</string>
+	<string id="693" name="apply for mod message">
+		<value>chciałby otrzymać prawa moderatorskie. Użyj ikonki statusu
+przy użytkowniku na liście, aby dać lub odebrać mu prawo moderacji.</value>
+	</string>
+	<string id="694" name="apply for whiteboard">
+		<value>rysować na tablicy. Użyj ikonki statusu przy użytkowniku na
+liście, aby dać lub odebrać mu prawo do rysowania na tablicy.</value>
+	</string>
+	<string id="695" name="695">
+		<value>chciałby transmitować swój głos i obraz wideo. Użyj ikonki
+statusu przy użytkowniku na liście, aby dać lub odebrać mu prawo do
+transmitowania głosu i obrazu wideo.</value>
+	</string>
+	<string id="696" name="moderation message">
+		<value>Musisz poczekać, aż moderator wejdzie do pokoju.</value>
+	</string>
+	<string id="697" name="calendar button">
+		<value>Anuluj</value>
+	</string>
+	<string id="698" name="calendar button">
+		<value>Zapisz</value>
+	</string>
+	<string id="699" name="calendar component">
+		<value>Dzień</value>
+	</string>
+	<string id="700" name="calendar component">
+		<value>Miesiąc</value>
+	</string>
+	<string id="701" name="calendar component">
+		<value>Rok</value>
+	</string>
+	<string id="702" name="file explorer">
+		<value>Prześlij plik</value>
+	</string>
+	<string id="703" name="file explorer">
+		<value>Nowy filder</value>
+	</string>
+	<string id="704" name="file explorer">
+		<value>Odśwież</value>
+	</string>
+	<string id="705" name="file explorer">
+		<value>Śmietnik</value>
+	</string>
+	<string id="706" name="file explorer">
+		<value>Moje pliki</value>
+	</string>
+	<string id="707" name="file explorer">
+		<value>Pliki publiczne (dla pokoju)</value>
+	</string>
+	<string id="708" name="file explorer">
+		<value>Nowy plik</value>
+	</string>
+	<string id="709" name="file explorer">
+		<value>Nowy folder</value>
+	</string>
+	<string id="710" name="file explorer">
+		<value>Skasuj folder</value>
+	</string>
+	<string id="711" name="file explorer">
+		<value>Zmień nazwę</value>
+	</string>
+	<string id="712" name="file explorer">
+		<value>Nowy folder</value>
+	</string>
+	<string id="713" name="file explorer">
+		<value>Jesteś pewien, że chcesz to skasować?</value>
+	</string>
+	<string id="714" name="user admin">
+		<value>Szukaj</value>
+	</string>
+	<string id="715" name="user admin">
+		<value>Szukaj</value>
+	</string>
+	<string id="716" name="file explorer">
+		<value>Otwórz dokument</value>
+	</string>
+	<string id="717" name="file explorer">
+		<value>Pokarz pliki (widok drzewa)</value>
+	</string>
+	<string id="718" name="file explorer">
+		<value>Zamknij dokument</value>
+	</string>
+	<string id="719" name="file explorer">
+		<value>Skasuj plik</value>
+	</string>
+	<string id="720" name="file explorer">
+		<value>Testy</value>
+	</string>
+	<string id="721" name="property panel">
+		<value>Document Properties</value>
+	</string>
+	<string id="722" name="sharing session">
+		<value>Start Client (external)</value>
+	</string>
+	<string id="723" name="sharing session">
+		<value>Start Client (HTTP)</value>
+	</string>
+	<string id="724" name="sharing session">
+		<value>A user want to share his screen. Do you want to see it?</value>
+	</string>
+	<string id="725" name="sharing session">
+		<value>You are currently sharing your Desktop. For stopping the Sharing Session please hit the Stop button in the Sharing Client.</value>
+	</string>
+	<string id="726" name="sharing session">
+		<value>Sharing Session</value>
+	</string>
+	<string id="727" name="sharing session">
+		<value>You are already sharing your desktop!</value>
+	</string>  
+	<string id="728" name="sharing client">
+		<value>Desktop Viewer</value>
+	</string>
+	<string id="729" name="sharing client">
+		<value>Exit</value>
+	</string>
+	<string id="730" name="sharing client">
+		<value>Desktop Sharer</value>
+	</string>
+	<string id="731" name="sharing client">
+		<value>Click Start to publish your screen</value>
+	</string>
+	<string id="732" name="sharing client">
+		<value>Start Sharing</value>
+	</string>
+	<string id="733" name="sharing client">
+		<value>Stop Sharing</value>
+	</string>
+	<string id="734" name="sharing client">
+		<value>Select your screen area:</value>
+	</string>
+	<string id="735" name="sharing client">
+		<value>Change width</value>
+	</string>
+	<string id="736" name="sharing client">
+		<value>The Sharer has finished this session!</value>
+	</string>
+	<string id="737" name="sharing client">
+		<value>Change height</value>
+	</string>
+	<string id="738" name="sharing client">
+		<value>X-Offset</value>
+	</string>
+	<string id="739" name="sharing client">
+		<value>Y-Offset</value>
+	</string>
+	<string id="740" name="sharing client">
+		<value>Width:</value>
+	</string>
+	<string id="741" name="sharing client">
+		<value>Height:</value>
+	</string>
+	<string id="742" name="sharing client">
+		<value>Connection was closed by Server</value>
+	</string>
+	<string id="743" name="sharing viewer">
+		<value>Cancel</value>
+	</string>
+	<string id="744" name="sharing viewer">
+		<value>Start External</value>
+	</string>
+	<string id="745" name="sharing viewer">
+		<value>If you close this session completely you are not able to restart the viewer for this session.</value>
+	</string>
+	<string id="746" name="sharing viewer">
+		<value>Confirm Closing Viewer Session</value>
+	</string>
+	<string id="747" name="sharing viewer">
+    <value>Share Screen</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Record Session</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Co-Browsing</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Ooops, ... Firefox on Windows does not show clear Co-Browsing. Please use another Browser for using the Co-Browsing feature.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Previous</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Next</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Reload</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Home</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Load</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Add this website as Default website to your Profile.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Test Setup</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Check you Microphone and Camera setup before you enter a room by recording some seconds. You can then replay your recording to check your voice and picture.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Don't show this test anymore</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Cancel</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Start Conference</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Do not ask again</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>You may proceed without testing if you do not plan to publish your voice or picture. Participants without Audio or Video can still use the Whiteboard, share their Desktop or write Chat messages.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="test setup">
+    <value>Level-Meter</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Press Start</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Start Event</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Choose Room</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Check Setup</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="774" name="start view">
+    <value>How to conference</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Start Recording</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Do not show Audio / Video Test (Recording) before entering a Conference</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Public Rooms</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Public Rooms are accessible for all Users.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Private Rooms</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Private Rooms are only accessible for users of the same organization.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>My Rooms</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Rooms in this section are created for personal usage. There are some standard rooms plus the ones that are created through the calendar and have a start and an end date. The rooms created via the calendar are only listed in this section as long as they are valid.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>You have to be moderator to do this.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Apply for moderation</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Apply for whiteboard access</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Apply for camera/microphone access</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>This Session Hash was already used. You cannot use it twice.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>START</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>EXIT</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Do you really want to exit? You might should clear uploaded documents, whiteboard and the chat history.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Exit conference</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Rooms</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Choose a room for a meeting</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>There is an unsaved Event in the Calendar. Please either save it or remove it.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Please add at least one attendee for your meeting!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Do you really want to delete this Event?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Warning</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Add Event</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>Day</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>Week</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>Month</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Description</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Attendees</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, your Web Conferencing Platform. Either follow the Instructions, press the start button to start to conference immediatelly or you goto the Calendar and set up a Conference for the future.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Plan a Meeting</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>To set up a conference you can add a new Event in the Calendar.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Need help?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Restricted</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Search</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Add</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>There is no User selected. Please select an item from the list first and then hit add.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Add Attendee</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Save</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Delete</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Event Details</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Default Moderators</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Name</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>E-Mail</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Add new default Moderator</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Is Super Moderator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>If the Room is moderated, User with Level Moderator or Administrator are automatically Moderator if they enter the Room. If you don't want to specify that and only want a certain User to become Moderator use the Default Moderator option.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>A Super Moderator is always a Moderator when he enters a Room, and nobody can remove the Moderation Flag from him</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Apply Super-Moderation to User</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Remove Super Moderation from User</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>If you add an Organization to the room only users of that Organization have access to it (This is only valid if the isPublic flag is set to false!)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Limitations</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organization</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Are you sure?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Do you really want to delete this Item? You have to press the save button to store the changes!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>There is no User selected. Please select first before you add it!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Add new Default Moderator</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Do you want to add the Super Moderation Flag for this User? A Super Moderator is not only Moderator of a Room, but also no other Moderator can remove the Moderation Flag for this User. You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Do you want to remove the Super Moderation Flag for this User? You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>This User is a Super-Moderator. You cannot remove the Moderation flag from a Super-Moderator!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Do you really want to delete this File/Folder?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Delete File/Folder?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Mrs.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Dr.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Properties</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Show mouse position to viewers</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Share Audio with SIP Applet</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Share Audio with SIP and Video with Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Full-Fit</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>View Screen</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>The user</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>wants to share its screen. Do you want to see it?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Close</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>The Session was closed by the sharing User!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>New Screen Sharing</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimize</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximize</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Recording Timeline</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>My Recordings</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Public Recordings</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Name</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Length</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Date</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>By</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>PLAY</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Main - Video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Recording</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>You may record and share your screen at the same time. To enable others to see your screen just hit the start button on the top. To only record the Session it is sufficient to click start recording.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Start Recording</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Stop Recording</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download the FLV-File</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Room</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>User has microphone on</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Allow User Questions</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Turn this off to prevent that any user is disturbing you in this room. Effect is that the Button to ask for Moderation ("I have a question") is not visible.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Rights</value>
+  </string>  
+  <string id="882" name="flvrecording">
+    <value>Download as AVI</value>
+  </string>  
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio only</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the Recording.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>The Recording is not yet ready for watching. Please retry in a couple of minutes again.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Recorder Message</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIP Applet is not Ready</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP-Account Settings</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP settings for each user. You can turn on or off SIP via the Administration &gt; Configuration (Key: enable_sip). The SIP data for each user should be created automatically. You can re-create the data by checking "Re-generate SIP Data"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. You should check the authentification data of your SIP-Provider and the SIP-Account Data for each User. As Administrator you are still able to login and check the Configuration. As User or Moderator you will be blocked from any interaction.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. Contact your Service Team!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet Message</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>The SIP-Applet is not ready. Accept the Applet please and click ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Get Moderation</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login the $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choose the User for this Video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>You are a Moderator in this Interview. You can decide who is speaking in this interview and you can start / stop the recording of the Session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Start Recording</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Stop Recording</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+    <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/portugues brazil.xml b/WebContent/languages/portugues brazil.xml
new file mode 100644
index 0000000..ecd4bd3
--- /dev/null
+++ b/WebContent/languages/portugues brazil.xml
@@ -0,0 +1,4506 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor
+to add new Languages or modify/customize it use the LanguageEditor
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for
+Details
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Conferência</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>Reunião</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>Auditório</value>
+  </string>
+  <string id="4" name="settings">
+    <value>Configurações</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>Usuário</value>
+  </string>
+  <string id="6" name="admin">
+    <value>Administração</value>
+  </string>
+  <string id="7" name="stop">
+    <value>Parar</value>
+  </string>
+  <string id="8" name="record">
+    <value>Gravar</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>Nenhum arquivo disponível</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>Admissão disponível apenas para professores</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>Usuários conectados:</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>Iniciar uma conferência</value>
+  </string>
+  <string id="13" name="myname">
+    <value>Meu nome:</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>VideoConferência</value>
+  </string>
+  <string id="15" name="import">
+    <value>Importar apresentação</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>Atualizar lista</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>Voltar ao índice principal</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>nova enquete</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>Uma nova enquete para conferência.</value>
+  </string>
+  <string id="20" name="question">
+    <value>Pergunta:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>Tipo de enquete:</value>
+  </string>
+  <string id="22" name="create">
+    <value>Criar</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>Info: Cada usuário conectado recebe uma menssagem com a nova enquete.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>Criar uma enquete</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>Cancelar</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>Sim/Não</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>Numérico 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>Enquete</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>Eles podem ser moderadores/professores nessa área de enquetes</value>
+  </string>
+  <string id="30" name="vote">
+    <value>Seu voto foi registrado.</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>Você já votou nessa enquete.</value>
+  </string>
+  <string id="32" name="voting">
+    <value>Votar !</value>
+  </string>
+  <string id="33" name="answer">
+    <value>Sua resposta:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>Sim</value>
+  </string>
+  <string id="35" name="no">
+    <value>Não</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>Quer saber:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>Resultados da enquete</value>
+  </string>
+  <string id="38" name="question">
+    <value>Pergunta:</value>
+  </string>
+  <string id="39" name="results">
+    <value>Resultados:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>Respostas:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>Nenhuma enquete foi iniciada.</value>
+  </string>
+  <string id="42" name="votings">
+    <value>Votar!</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>Reunião (máximo 4 participantes)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>Conference (máximo 50 participantes)</value>
+  </string>
+  <string id="45" name="type">
+    <value>Tipo</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>Outros participantes</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>Já escolhido</value>
+  </string>
+  <string id="48" name="enter">
+    <value>entrar</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>O moderaror saiu da reunião.</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>Informações do sistema</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>Escolher dispositivo</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Escolher webcam:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>Escolher microfone:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>ok</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>Cancelar</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>Você precisa reconectar.</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>Editar configurações.</value>
+  </string>
+  <string id="58" name="course">
+    <value>Curso:</value>
+  </string>
+  <string id="59" name="language">
+    <value>Idioma:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>Ok</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>Cancelar</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>Limpar a lousa.</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Você quer que a lousa seja apagada antes que uma figura seja adicionada ?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>Não perguntar de novo.</value>
+  </string>
+  <string id="65" name="no">
+    <value>Não</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>Editar configurações</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Confirmação de requisição antes de limpar a lousa.</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>Informações do usuário</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>Limpar área de desenho</value>
+  </string>
+  <string id="70" name="undo">
+    <value>Desfazer</value>
+  </string>
+  <string id="71" name="redo">
+    <value>Refazer</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>Selecionar um objeto</value>
+  </string>
+  <string id="73" name="text">
+    <value>Texto</value>
+  </string>
+  <string id="74" name="paint">
+    <value>Pintura</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>Desenhar linha</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>Desenhar sublinha</value>
+  </string>
+  <string id="77" name="rect">
+    <value>Retângulo</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>Elipse</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>Seta</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>excluir ítem selecionado</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>Aplicar para moderação</value>
+  </string>
+  <string id="82" name="apply">
+    <value>Aplicar</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>fechar</value>
+  </string>
+  <string id="84" name="mod">
+    <value>Tornar-se moderador</value>
+  </string>
+  <string id="85" name="close">
+    <value>fechar</value>
+  </string>
+  <string id="86" name="italic">
+    <value>italic</value>
+  </string>
+  <string id="87" name="bold">
+    <value>negrito</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>AGUARDANDO</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>Um usuário quer se tornar moderador:</value>
+  </string>
+  <string id="90" name="accept">
+    <value>aceitar</value>
+  </string>
+  <string id="91" name="reject">
+    <value>rejeitar</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>cancelar</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>Enviando requisição para os seguintes usuários</value>
+  </string>
+  <string id="94" name="accept">
+    <value>Aceito</value>
+  </string>
+  <string id="95" name="reject">
+    <value>Rejeitado</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>Mudar moderador</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>Você não está moderando este curso!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>Moderador:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>A sala está cheia. Por favor tente novamente mais tarde.</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>Elipse</value>
+  </string>
+  <string id="101" name="close">
+    <value>fechar</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>erro na entrada de dados</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>Nome do usuário deve ter no mínimo 4 letras</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>senha deve ter no mínimo 4 letras</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>Nome de usuário já existente</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>O email já foi registrado.</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>Erro no sistema, por favor, contacte os administradores.</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>Login</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>Usuário:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>Senha:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>idioma</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>Login</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>Inscreva-se</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>Usuário:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>Senha:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>Re-digite:</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Primeiro nome:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Último nome:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>E-Mail:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>País:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>Registrar</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>cancelar</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>Registrar</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>Início</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>Usuários</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>Grupos</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>Organizações</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>Salas de Conferência</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>público</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>organização</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>entrar</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>Login</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>Senha</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>Re-digite</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Primeiro nome</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Último nome</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>E-Mail</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>Aniversário</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>Rua/Nro.</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>CEP/Cidade</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>País</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Endereço</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Dados do usuário</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>salvar</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>Salvar</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>ID</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>login</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>primeiro nome</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>Ùltimo nome</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>Mostrar próximo</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>mostrar anterior</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>excluir registro</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>cancelar</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>excluir</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>novo registro</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>atualizar registro</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>excluir registro</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>Estado</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>Desabilitado</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>Habilitado</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>organizações</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>calendário</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>fechar</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>ID da Organização</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>nome</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>usuário</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>Moderador</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>Admin</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>nível do usuário</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>organização</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>nome</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>Adicionar organização</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>Adicionar organização</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>cancelar</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>adicionar</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>Remover organização</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>usuário</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>adicionar usuário</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>excluir usuário</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>adicionar usuário</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>procurar usuário</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>procurar</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>usuário</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>organização</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>entrar</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>Salas de Conferência</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>Salas de conferência</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>id</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>Nome</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>público</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>organizações</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>Salas de conferência</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>nome</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>tipo</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>público</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>comentário</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>salvar</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>abrir</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>salvar como</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>nome do arquivo</value>
+  </string>
+  <string id="201" name="files">
+    <value>nome do arquivo</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>cancelar</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>salvar</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>erro</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>carregando</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>objetos carregados</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>sincronizando clientes... aguarde:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>Carregando imagem</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>sincronizando clientes... aguarde:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>limpar área de desenho</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>limpar área de desenho, todos os dados da lousa serão perdidos</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Confirme antes de carregar o arquivo</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>Enviar convite</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>Enviar convite</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>Assunto</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Destinatário</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>Mensagem</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Enviar</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>cancelar</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>enviar</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>Dados do usuário</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>Seu apelido para essa conferência</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>apelido</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>primeiro nome</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>último nome</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>email</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>idioma</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>entrar</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>Carregando</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>Carregando dados, por favor aguarde!</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>Senha Incorreta</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>Por favor digite duas senhas iguais com pelo menos 6 caracteres</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>Email Incorreto</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>Voê digitou um endereço de email inválido.</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>Usuário registrado com sucesso</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>Sua conta foi criada. Você pode fazer o login agora.</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>Você não pode compartilhar sua tela agora. Alguem já compartilhou a tela.</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Compartilhamento perdido</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Compartilhe sua tela</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Falha na transmissão: Você não está apto a sincronizar a tela. Quadros serão perdidos. Caso esse aviso tenha sido mostrado cedo você pode pedir ao moderador para reduzir a qualidade.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>Tela de:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Desenhar</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Documento</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>Conversar</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>Arquivos</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Membros</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Download do documeto original</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>Download do pdf</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Carregar apresentação no quadro</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Configuração</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Arrastar esse objeto</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Redimensionar esse objeto</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>de</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>Ir para primeira página</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>Ir para página anterior</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>Ir para a próxima página</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>Ir para a última página</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Zoom --</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Zoom ++</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>Sr.</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Sra.</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Configuração</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>Chave</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Configuração</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>Chave</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>última atualização</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>atualizado por</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>comentário</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>chave</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>de</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>Usuários</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>excluir usuário da Organização</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>excluir</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>Este usuário já é membro desta organização.</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>Notícias</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Links Rápidos</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Ir para conferência</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Ir para auditório</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Ajuda e suporte</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://code.google.com/p/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://groups.google.com/group/openmeetings-user</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>Bugs!</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>mais</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Project Webside (code.google.com/p/openmeetings/)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>User Mailing List (groups.google.com/group/openmeetings-user)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Relembrar Login</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Conteúdo</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>Minha Home Page</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>Reuniões Agendadas</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>Eventos Agendados</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Reuniões Públicas</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Reuniões Privadas</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Eventos Públicos</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Eventos Privados</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Conteúdo Público</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Conteúdo Privado</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Conteúdo Pessoal</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value></value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Moderação</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>Aplicar para Moderação</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Conjuntos</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Escolha um arquivo</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Configurações</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Configurações de Cam e Mic</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Configurações da lousa</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Sair</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Voltar para salas</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Logout</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Esqueceu sua senha?</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>Redefinir a senha</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>Usando o endereço de e-mail</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>Using login</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>Seu endereço de email</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>Seu login</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Send email with a reset link</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>Nenhum endereço de e-mail foi encontrado. Verifique se você digitou o endereço de email que você usou para criar sua conta.</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Por favor, indique um endereço de e-mail ou um nome de usuário</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>Não existe usuário conectado com este nome</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>Um email contendo um link foi enviado a seu endereço de email, por favor confira sua caixa postal. Se você ainda não tiver recebido um email, por favor ajuste as configurações de spam e re-envie a confirmação de email.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Erro</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Mensagem</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>Hash inválido. Nenhum usuáio encontrado.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Redefina sua senha</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Login</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>alterar senha</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>nova senha</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>redigite a senha</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>As senhas que você digitou não são iguais.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>4 ou mais caracteres; maiúsculas e minúsculas são diferentes!</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>Senha configurada. Você pode acessar agora.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Erro desconhecido. Por favor informe isso ao Administrador.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>Username não encontrado</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Senha inválida</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Desconectado com sucesso</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Cadastro do frontend desabilitado.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>Email inválido</value>
+  </string>
+  <string id="340" name="registration">
+    <value>nome de arquivo duplicado, por favor escolha outro nome</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>nome de arquivo muito curto</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>Não foi possível salvar o endereço</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>Usuário adicionado mas você precisa associar esse usuário a uma organização, se não ele não estará apto a se associar.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>Novo Registro</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>Nenhum campo encontrado com esse id.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>Nenhum valor encontrado para este campo.</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Necessário perfil de administrador</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Editor de idiomas</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Idioma</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>Campo-ID</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Campo-Nome</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Valor</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Valores dos campos</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>Nome do campo</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>Valor do campo</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>ID</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>Você apenas deletou o campo NÂO o Field! Você não pode excluir esse Field, podem existir campo em outros idiomas.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>campoid inválido. O FieldLanguagesvalues_Id não pode ser encontrado na base de dados.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>Você não pode excluir esse Field. Você pode apenas excluir Labels NÂO Fields. Não existe Label carregado no momento, se nenhum Field for selecionado ou não existir Label para esse idioma para esse Field definido.</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>exportar</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>Você precisa fazer login novamente para visualizar as mudanças.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Adicionar novo idioma</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>excluir idioma</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Adicionar novo idioma</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Nome</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>adicionar idioma</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Backup</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>ir para o primeiro</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>ir para o anterior</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>ir para o próximo</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>ir para o último</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>palestras do usuário (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>desligar/ligar som</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>Sistema</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>Suas configurações</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>Olá,</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Editar meu perfil</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>Novas Mensagens:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Nova imagem</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Dados do Usuário - Exportar</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>Todas as organizações já devem existir!</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>começar a exportar</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>Por organização</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>começar a exportar</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Dados do Usuário - Importar</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>escolha users.xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>importar</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Exportar para XML - Esses arquivos podem ser usados para: - Contribua com o projeto - Importe em outro sistema - Backup - Customização - Coloque no diretório de idiomas para sua próxima instalação</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Escolha um arquivo de idioma para importar. Escolha o idioma correto no Combobox! Não importa o nome do arquivo, ele será importado nesse idioma!</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>importar - escolha o arquivo</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Salvar como</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Nome:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>Comentário:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>salvar</value>
+  </string>
+  <string id="395" name="record">
+    <value>Gravações</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Vizualizador de Gravações</value>
+  </string>
+  <string id="397" name="record">
+    <value>Gravações de salas públicas e privadas</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>Usuários :</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>Entrou:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Usuários nessa sala:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>atualizar</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>Essa sala está cheia. Tente novamente em alguns instântes.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>clique em uma sala para ver os detalhes</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Chat com os usuários dessa sala:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Sala:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Usuários nessa sala:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>desde:</value>
+  </string>
+  <string id="409" name="record">
+    <value>mostrar a gravação</value>
+  </string>
+  <string id="410" name="record">
+    <value>Tamanho:</value>
+  </string>
+  <string id="411" name="record">
+    <value>Data:</value>
+  </string>
+  <string id="412" name="record">
+    <value>Modo Gravação! Você não pode mudar nenhum valor, este é um arquivo gravado!</value>
+  </string>
+  <string id="413" name="record">
+    <value>Mostrar essa gravação</value>
+  </string>
+  <string id="414" name="record">
+    <value>Reproduzir / Parar</value>
+  </string>
+  <string id="415" name="record">
+    <value>Começar gravação</value>
+  </string>
+  <string id="416" name="record">
+    <value>parar gravação</value>
+  </string>
+  <string id="417" name="record">
+    <value>Gravação:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>Já existe alguém gravando nesse momento:</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Gravando! Pelo usuário:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>cancelar</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>Gravação será cancelada e não será salva.</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>continuar</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Fechar essa janela e continuar a gravação.</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>mudar cor da linha</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Mudar Cor</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Disabilitar / Habilitar cor da linha</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>mudar Fillcolor</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>Disabilitar / Habilitar Fillcolor</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Mudar tamanho da linha</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>fechar</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>mudar tamanho da fonte</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>excluir Gravação</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Convidado</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>Por:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Nome</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Sala</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Data</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>cancelar</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>start</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Nome</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Data</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>excluir Server-Chatlog</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>Bate-papo</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>enviar mensagem</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Emoticons</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>Emoticons</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Escolher adaptadores publicados</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Áudio e Vídeo</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>Áudio somente</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>Vídeo somente</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>sem Áudio/Vídeo (Image estática)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>Nenhum Áudio/Vídeo do seu PC será publicado, ao invés disso uma figura do seu perfil será mostrada. Escolha essas configurações se você tem problemas com sua conexão ou uma conexão de Internet lenta.</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>SEG</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>TER</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>QUA</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>QUI</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>SEX</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>SAB</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>DOM</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>Segunda</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Terça</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Quarta</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Quinta</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Sexta</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Sabado</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Domingo</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>CS</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Calendário da semana</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>Janeiro</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>Fevereiro</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>Março</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>Abril</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>Maio</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>Junho</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>Julho</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>Augosto</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>Setembro</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>Outubro</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>Novembro</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>Dezembro</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Calendário</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Participantes</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Mostrar configurações de layout</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Largura | Altura</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Video-Container</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Moderação-Container</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Lousa-Container</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Habilitado</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Largura | Altura</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Arquivos,Chat,Participantes - Container</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Habilitado</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Largura | Altura</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>O moderador saiu da sala. Nenhum está presente no momento. Você pode se candidatar para moderação ou esperar.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>Não existe nenhum moderador nessa sala, mas existem alguns participantes. Você pode se candidatar a moderação ou esperar.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>Feedback $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Convite</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Mensagem do Usuário:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Mensagem:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Click neste link para participar das reuniões:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Clique aqui para entrar na sala</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>se você tiver problemas com o link, por favor copie e cole isso no seu browser:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME Inscrição</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>Seus dados:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Login:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Senha:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>Email:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>VirtualMeeting-Equipe</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>VirtualMeeting Inscrição</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>VirtualMeeting - Redefinição de Senha</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Clique neste link para criar uma nova senha:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Click aqui para criar umanova senha</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>se você tiver problemas com o link, por favor copie e cole isso em seu browser:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>VirtualMeeting Redefinição de Senha</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>Por favor informe uma data válida, por exemplo 24.12.2001 (dd.mm.yyyy)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Por favor informe um email válido, por exemplo nome@mail.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Por favor informe um número de ponto flutuante, por exemplo 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Por favor informe um número (Inteiro), por exemplo 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Por favor informe um número de telefone válido, por exemplo ++49 1234 1234</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Por favor informe um horário válido, por exemplo 12:23 (hh:mm)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Senha protegida</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Senha</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Período de validade</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Final</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Período</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>Uma vez</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Valido de:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Valido até:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Convite para o VirtualMeeting</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>Nenhum convite disponível para esse código</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>O convite já foi utilizado. Esse tipo de convite não pode ser reutilizado.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>Esse código de convite não é válido.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Senha:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Verificar senha</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Senha Inválida!</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>Navegador</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Sincronizar Audio/Video</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>Seu login estava correto, porém sua sessão expirou ou não está ativa no servidor. Por favor faça login novamente.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>O SessionID não está logado ou não tem privilégios de admin. O SOAP Gateway precisa de um usuário com privilégios de administrador para criar novos usuários.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>This Session has no Remoteuser-Data connected. Wether you did not call the SOAP-Gateway before accessing the Application or you are usnig a wrong Session-ID</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>O gravador atualmente é Beta!</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>x-axis</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>y-axis</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>w</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>largura</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>altura</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Alterar transparência</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Abrir Navegador</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Fechar o Navegador</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>A conexão com o servidor foi perdida. Você precisa reiniciar a aplicação e/ou verificar sua conexão com a internet.</value>
+  </string>
+  <string id="557" name="557">
+    <value>Ponteiro</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Sincronizando</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Sincronizando usuários, aguarde.</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Download como SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Download como PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Download como JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Download como PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Download como TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Lembrete:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Categoria:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Repetição:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>none</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Localização:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Inicio</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>Fim</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Título:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Comentário:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Convidar pessoas</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Diário</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Mensal</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Anual</value>
+  </string>
+  <string id="578" name="alert">
+    <value>O fim do encontro marcado é antes do início!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Por favor, insira um título!</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>Ative isso se você escrever em uma linguagem de esquerda para a direita</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Painel</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Assista reuniões ou eventos gravados</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Meeting - Faça uma conferência com 4 (até 16) usuários&lt;br/&gt;Todos terão acesso a áudio e vídeo</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Evento - Faça uma conferência com até 200 participantes&lt;br/&gt;Somente o Moderador terá acesso ao áudio e vídeo</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Criar usuários, salas, organizações&lt;br/&gt; acesso as configurações</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Usuários nessa sala agora</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Login</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Carregando Documento. Por favor aguarde enquanto todos os clientes são sincronizados.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Upload completo, convertendo documento...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Inicia Upload</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Upload e Importação. Por favor, selecione um arquivo do seu disco.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Cancela</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Seleciona arquivo</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Conexões</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Valor</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Login</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Conectado desde</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Sala / Escopo</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Desconectar usuário</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Desconectar usuário</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Tem certeza que deseja desconectar esse cliente dessa conexão?&lt;br/&gt; Isso somente remove o cliente da sala atual. O cliente pode reconectar-se novamente.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Sua sessão foi terminada por um Administrador ou Moderador.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Telefone</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>O usuário é o moderador desta sala</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>O usuário está autorizado a desenhar na lousa</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Re) Começe Audio/Video ou troque as configurações de dispositivos</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Permitir que esse usuário a desenhar na lousa</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Remover a capacidade de desenhar na lousa</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Usuários</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Arquivos</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Lousa</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Bate-papo</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Sua conta está associada a várias organizações. Por favor escolha uma para essa sessão.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>Esta sala está cheia nesse momento. Por favor tente mais tarde.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Tipo de sala</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Sala designada</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Hora do servidor</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>VirtualMeeting - Lembrete</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Mensagem do usuário:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Mensagem:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Click nesse link para participar nas reuniões:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Click aqui para entrar na sala</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>se você estiver com problemas nesse link, copie e cole este endereço em seu navegador:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>busca interna</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>usuários externos</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>pre name</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>nome</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>E-mail</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Confirmar Saida</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Tem certeza que quer fazer logout?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Ações</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Sala Demo</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Demo Time</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Tempo de Reunião</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>Está é uma sala de demonstração. Para desligar esse aviso você deve entrar em reunião privada,ou configurar um servidor próprio. Você será desconectado em:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Moderado</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Por favor, aguarde até que o moderador tenha entrado na sala. O moderador pode ser um Professor, Admin ou o criador dessa sala.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Ok</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Entrada do compartilhamento de tela</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>Há um novo compartilhamento de tela do usuário:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Inicia compartilhamento</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Adiciona nova reunião</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Sala de Reunião</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Sala de Evento</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Moderação</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Moderar usuários</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Moderar salas</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Você quer alterar esse usuário para se tornar um moderador dessa organização?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Por favor, escolha uma organização antes de tentar adicionar um usuário para ele!</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Organização - Moderador</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Tem certeza que deseha excluir esse usuário dessa organização?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>Este usuário é o moderador</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>Este usuário não é o moderador</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Você deseja que esse usuário não seja moderador dessa organização?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Adiciona ou exlui usuários ou senhas dentro de usa organização</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Tem certeza que quer excluir esse registro?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Tem certeza que quer excluir esse usuário da sua organização? Você irá excluir somente a conexão do usuário entre a organização. Para excluir o usuário do sistema, vá para o painel de administração.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>Você não pode excluir seu próprio usuário!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>Este método necessita de uma conta administrativa a ser invocada!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>Não existe uma sessão associada com esse ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>Está é uma conta de administrador ou moderador. Você pode editar esta conta no painel de administração.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>Para completar seu registro, clique no link ou cole a URL no seu navegador.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Clique para verificar seu e-mail</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Nenhum usuário encontrado para esse Hash.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Este usuário já está ativado!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Você ativou com sucesso sua conta!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Logar agora</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Sua conta não está ativa. Use o link fornecido que foi enviado para seu e-mail durante o processo de registro.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>Cadastro efetuado com sucesso. Enviaremos um e-mail com um código de verificação. Por favor, verifique seu e-mail.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Remove regras de moderação para esse usuário</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Dá direitos de moderação para esse usuário</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>Usuário</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Acesso a lousa</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Moderator</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Moderação: Escolha um usuário da lista para conceder acesso a lousa, moderação ou video.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>Esse usuário já é moderador, então ele tem já tem direitos de desenhar na lousa.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>Esse é você! Não é possível remover seu próprio direito de moderador.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Permite esse usuário publicar seu Audio / Video</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Remove ádio/Vídeo desse usuário</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>Gostaria de ser o moderador dessa sala</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>Gostaria de desenhar na lousa</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>Gostaria de compartilhar meu áudio/vídeo</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>Você é o moderador dessa sala</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>Você está autorizado a desenhar na lousa</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>Você está autorizado a compartilhar seu áudio/vídeo</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Mensagem do moderador</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>O usuário</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>gostaria de obter a moderacao. Use o ícone de status ao lado do usuário na lista de usuários para adicionar ou remover a moderação.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>gostaria de desenhar na lousa. Use os icones. Use os ícones de status ao lado do usuário na lista de usuários para adicionar ou remover o direito de desenhar qualquer coisa na lousa.</value>
+  </string>
+  <string id="695" name="695">
+    <value>gostaria de compartilhar seu Audio/Video. Use os ícones de status ao lado do usuário na lista de usuários para adicionar ou remover o direito de compartilhar Audio/Video.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>Você tem que aguardar enquanto o moderador entra na sala.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Cancela</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Salva</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Dia</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Mês</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Ano</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Upload de arquivo</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Adiciona pasta</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Atualiza</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Lixeira</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>Meus Arquivos (Home Drive)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Arquivos da sala (Public Drive)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Adiciona arquivo</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Adiciona pasta</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Deleta pasta</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Edita Nome</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>Nova pasta</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Tem certeza que quer excluir esse item?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Busca</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Busca</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Abre documento</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Mostra todos os arquivos (Tree View)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Fecha Documento</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Deleta arquivo</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>Você não está autorizado a desenhar nada na lousa. Você precisa tornar-se moderador ou conseguir o direito. Você pode pedir esse direito a um moderador.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Propriedade do documento</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Inicia cliente (external)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Inicia cliente (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>Um usuário deseja compartilhar sua tela. Quer ver isso?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>Você está compartilhando seu desktop. Para parar, pressione o botão Stop no cliente de compartilhamento.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Compartilhar sessão</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>Você já está compartilhando seu desktop!</value>
+  </string>
+  <string id="728" name="sharing client">
+    <value>Visualisador de Desktop</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Sai</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Compartilhador de Desktop</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Clique em iniciar para publicar sua tela</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Inicia compartilhamento</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Para compartilhamento</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Seleciona a área de sua tela:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Troca largura</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>O compartilhamento foi finalizado nessa sessão!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Troca largura</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X-Offset</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y-Offset</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Largura:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Altura:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>A conexão foi terminada pelo servidor</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Cancelar</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Iniciar externo</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>Se você fechar essa sessão completamente, você não será capaz de reiniciar o visualizador para essa sessão.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Confirme o fechamento do visualizador de sessão</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Compartilha Tela</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Grava sessão</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Co-Browsing</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Melhor visualizado no Internet Explorer.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Anterior</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Próximo</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Recarregar</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Home</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Carrega</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Adiciona esse site como site padrão do seu perfil.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Teste as conf.</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Verifique se o microfone e a camera antes de entrar em uma sala .</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Não mostre esse teste novamente</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Cancela</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Iniciar conferência</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Não pergunte novamente</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>GRAVA</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>Você pode continuar sem o teste, se você não pretente publicar sua imagem ou voz. Participantes sem audio e video podem usar a lousa, compartilhar o desktop ou usar o chat.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>PARAR</value>
+  </string>
+  <string id="767" name="767">
+    <value>Intensidade</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Pressione Inicia</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Inicia Conferencia</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Iniciar Evento</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Selecione a sala</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Verifique a configuração</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Inicie a Conferência</value>
+  </string>
+  <string id="774" name="start view">
+    <value>Passos para a conferência:</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Iniciar Gravação</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Não mostrar Áudio/Vídeo teste (gravação) antes de entrar em uma conferência</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Salas públicas</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Salas públicas são acessiveis por todos os usuários.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Salas privadas</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Salas privadas são acessiveis somente por usuários da mesma organização.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>Minha sala</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Salas criadas nessa seção são de uso pessoal. Elas são criadas através do calendário e tem um início e uma data final. Elas só estão listadas nesta seção durante sua validade.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>Você tem que ser o moderador para fazer isso.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Pedir moderação</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Pedir acesso para a lousa</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Pedir acesso apra camera/microfone</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>Esse hash já foi usado. Você não pode utiliza-lo duas vezes.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>INICIA</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>SAIR</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Tem certeza que quer sair? Você deve limpar os documentos, lousa, e histórico do chat.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Deixar a conferência</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Salas</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Escolha uma sala para a reunião</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>Existe um evento não salvo no calendário. Por favor salve ou exclua.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Por favor, adicionar pelo menos um participante para a reunião!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Tem certeza que quer excluir esse evento?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Aviso</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Adiciona evento</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>dia</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>semana</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>mês</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Descrição</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Participantes</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, sua plataforma de conferencia. Siga as instruções, pressione o botão INICIA para começar uma conferência instantaneamente ou vá para o Reuniões Agendadas e convoque uma conferência.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Planejar Reunião</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>Para configurar uma conferência você pode adicionar um novo evento ao calendário</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Precisa de ajuda?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Restrito</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>busca</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Adiciona</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>Não há nenhum usuário selecionado, Por favor selecione um item da lista, e depois clique em adicionar.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Adicionar Participante</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Salva</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Exclui</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Detalhes do evento</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Moderadores padrão</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Nome</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>E-Mail</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Adiciona o moderador padrão</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>É um Super Moderator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>Se a sala é moderada, usuários com permissão de Moderador ou Administrador são automaticamente Moderadores quando entram na sala. Se você não quer espeficificar e só deseja que um determinado usuário torne-se moderador use a opção Moderador Padrão.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>Um Super Moderador é sempre um Moderador quando entra na sala, e ninguem pode remover seu privilégio de moderação.</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Aplica Super-Moderação para o usuário</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Remove Super-Moderação do usuário</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>Se você adicionar uma Organização para a sala apenas usuários dessa organização têm acesso a ela (esta opção só é válido se a opção Público não estiver selecionada!)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderação</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Limitações</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organização</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Tem certeza?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Tem certeza que quer excluir esse item? Você precisa pressionar o botao Salvar para fazer as mudanças!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>Nenhum usuário selecionado. Por favor selecione um depois adicione isso!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Adiciona um novo moderador padrão</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Quer adicionar a permissão de Super-moderador para esse usuário? Um super-moderador não é moderador somente da sala, e nenhum outro moderador pode remover a permissão de moderação dele. Você precisa salvar para que as configurações tenham efeito.</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Tem certeza que quer remover a permissão de Super-moderador para esse usuário? Você precisa salvar para que as configurações tenham efeito.</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>É um Super-moderador. Você não pode remover a permissão de Moderação de um Super-moderador!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Tem certeza que quer exclurir esse Arquivo/Diretório?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Excluir Arquivo/Diretório?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Sr.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Dr.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Propriedades</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Mostra a posição do mouse para os espectadores</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Compartilhar Audio com o SIP Applet</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Compartilhar Áudio e Vídeo via SIP com Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Ajuste</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>Ver Tela</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>O Usuário</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>quer compartihar sua tela. Você quer ver?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Fecha</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>A sessão foi fechada pelo usuário que compartilhava!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pausa</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>Novo compartilhamento de tela</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimiza</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximiza</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Vídeo</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Linha do tempo</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>Minhas Gravações</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Gravações Públicas</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Nome</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Duração</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Data</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>Por</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>PLAY</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Vídeo - Principal</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Gravando</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>Você pode gravar e compartilhar a qualquer momento. Para que outros usuários consigam ver sua tela, clique no botão Iniciar no topo da tela. Para somente gravar, clique no botão Inicia Gravação.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Inicia gravando</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Para a gravação</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download o arquivo FLV</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Sala</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Parar</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>O microfone do usuário está ligado</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Interromper o compartilhamento</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Permitir perguntas dos usuários</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Desligue isso para evitar que qualquer usuário perturbe você nessa sala. O botão para pedir a moderação ("Eu tenho uma pergunta") fica invisível.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Direitos</value>
+  </string>
+  <string id="882" name="flvrecording">
+    <value>Download como AVI</value>
+  </string>
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Somente Audio</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>Os erros aconteceram no processo de gravação.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>A visualização da gravação ainda não está pronta. Por favor tente novamente em alguns minutos.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Gravador de mensagem</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>O Applet SIP não está pronto</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>Configurações da conta SIP</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>Definições SIP para cada usuário. Você pode ligar ou desligar o SIP via Administração &gt; Configuração (Chave: enable_sip). Os dados SIP para cada usuário deve ser criados automaticamente.</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>Usuário do SIP</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Senha do SIP</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>O Login no Gateway SIP falhou. Você deve conferir seus dados de autenticação do seu provedor SIP. Como administrador, você ainda poderá fazer o login e verificar a configuração. Como usuário ou moderador, você será bloqueado a partir de qualquer iteração.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>O Login no Gateway SIP falhou, entre em contato com o suporte do serviço!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logando no SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logando no SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Mostra Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log de mensagem do processo de gravação</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>Mensagem do Applet SIP</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>O Applet SIP não está pronto. Aceite o applet e clique em ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Get Moderation</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>Para acessar outras gravações que você tem para fazer login no aplicativo $APP_NAME.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Escolha o usuário para este vídeo</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>Você é um moderador nessa entrevista. Você pode decidir quem está falando nesta entrevista e pode iniciar / parar a gravação da Sessão.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Iniciar gravação</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Parar gravação</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>A gravação da entrevista já foi iniciada.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>A gravação está parada ou não foi iniciada ainda.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>A gravação desta entrevista já começou!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancelar</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>O processamento de uma entrevista demora 5 minutos por 1 minutos de entrevista. O progresso atual da transcodificacao da entrevista e processamento é a seguinte:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>Você tem que digitar sua senha novamente para criar automaticamente os dados SIP</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>Você não pode mover o arquivo ou pasta em sua própria pasta!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Tamanho da unidade</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Verifique licença</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>Informações de Licença de Usuário</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Fechar</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>Você tem licença ilimitada</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Sua licença expira em:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>Você gostaria de ter $APP_NAME instalado em seu servidor ou integrado em seu Moodle, SugarCRM, site ou Intranet? Preços a partir de 700 reais por instalação!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Responder a:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Mensagem:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Nome</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Sobrenome</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Tipo de Cartão</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>Cartão VISA</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Descobrir</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Número do Cartão</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Data de Validade</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Número de verificação do cartão</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Endereço de Cobrança</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Endereço</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>Cidade</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>País</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>Estado (somente US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>CEP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Quantidade</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Passo 1: $APP_NAME - Forma de Pagamento</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Obrigado por comprar o $APP_NAME. &lt;br/&gt; Tão logo recebermos o pagamento sua conta será atualizada. &lt;br/&gt; Você receberá um email com a sua factura em formato PDF. &lt;br/&gt; Você também pode verificar as transações atuais e passadas em seu configurações do perfil. &lt;br/&gt; &lt;br/&gt; Você pode fechar esta janela do navegador / guia agora e voltar para $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Passo 3: Pagamento $APP_NAME - Confira a ordem e compre!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>Nós recebemos o seu pagamento. Seu perfil de usuário está atualizado agora. Veja anexo a sua fatura. A Nota Fiscal Fatura e passada também podem ser baixadas em seu perfil de usuário.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Obrigado por utilizar o $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>$APP_NAME Pagamento Recebido -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutos</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Meses</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Fatura</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>Você necessita pagar uma taxa para ser capaz de enviar convites ou criar encontros através do calendário. Com pagamento por minuto só é possível para você acessar o $APP_NAME. Você não pode permitir a terceiros o acesso a uma reunião.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Configurações</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>O número de conferência e PIN é criado automaticamente através do OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>Número SIP</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Limpar objetos somente no slide atual!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Somente a URL digitada na barra de status é enviada para os participantes!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Usuário</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Criar equipe da sala</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancelar</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Escolha pelo menos um usuário para a equipe da sala!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>Se você ticar "Forçar usuario a mudar para nova Sala" todos os usuários escolhidos irão automaticamente para a recém-criada sala. Caso contrário, receberão uma notificação que eles &lt;i&gt;podem&lt;/ i&gt; mudar para a nova sala. Equipe de Moderadores sempre tem a livre escolha para gerir as Salas e alternar entre elas.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>Você está autorizado a compartilhar/gravar a tela</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Permitir/Negar direito de compartilhar/gravar tela</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Permitir/Negar direito de acesso de controlar remotamente a tela (Durante o Compartilhamento de Tela)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>Nova conferência $APP_NAME</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Conferência $APP_NAME Modificada:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Conferência $APP_NAME Cancelada:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME Lenbrete de conferência:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Pesquisar</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contatos e Mensagens</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Verifique os seus pedidos de contato em $APP_NAME ou clique sobre os links para aceitar ou negar o pedido</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>De</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Assunto</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Enviar</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Menssagens</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>Novo email</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>Para:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Assunto:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Iniciar</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>Fim</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>O usuário já está aprovado!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Selecionar todos</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Ações ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Adicionar pasta</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Adicionar</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Mensagem</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>Seu código de convite não é válido, o código só é válido durante esta data e hora específicas:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirme atualização</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendário de contatos</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Seus contatos devem aprová-lo primeiro para poder ver seu calendário.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Mostrar o meu calendário de novo!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>Este evento está ligado a vários calendários de outros usuários. Sua ação também irá apagar o evento do calendario deles. Será que você realmente deseja apagar o evento?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirme ação</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Entre na sala</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Acesse a sala de conferência</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>Há uma sala de conferências e evento reservados com esta mensagem privada.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>Você precisa armazenar o evento primeiro!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Escolha seu apelido</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Primeiro nome</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Último nome</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Por favor, entre com email válido!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Membro desde</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Mensagem</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>Nova mensagem privada:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Responder</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Salas e bate-papo</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>Minhas salas</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>Minha sala de conferência (de 1-16 usuários)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>Minha sala de seminário (Webinar) (de 1-120 usuários)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Digite uma senha</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Carregar diretamente na lousa</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Iniciar gravação</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circulo</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangulo</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Texto/Nota</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Desenhar uma forma</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cortar/Mover</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Imprimir</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Desfazer</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Lixo</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Selecionar Forma</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Selecionar Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copiar</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Recortar</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Colar</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Excluir</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Você realmente deseja excluir todo o conteúdo da lousa?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Carregar directamente para a lousa</value>
+  </string>
+  <string id="1342" name="attendees">
+    <value>Participantes</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Gerente de participantes</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Controle remoto</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Ejetar</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Bate-papo</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Convidar Participantes</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>Webcam do usuário ligada</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Desativar preenchimento da forma</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Permitir gravação</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Espere para gravação</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Ocultar barra superior</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Reproduzir vídeo</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Você realmente deseja excluir o conteúdo do slide atual?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>Você precisa da moderação ou o direito de desenhar no quadro branco para remover quadros!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Não é permitido</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value>saiu da sala.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Cor-Estilo</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Qualidade</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domínio</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visitar</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>azul celeste</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>Azul escuro</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>Amarelo ouro</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>Prata</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>definicao do usuário</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>o melhor</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medio</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Fechar o microfone</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Microfone dos outros mudo</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Silenciar o microfone totalmente?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Seu som está ligado. Clique aqui para enviar mensagem ao moderador para silenciar seu microfone (para toda sala de conferência)!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Microfone mudo. Clique aqui para ativar o microfone seu / dela!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>Este usuário foi silenciado pelo moderador. Você não pode ativa-lo!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Silenciar o microfone</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Ativar o microfone para toda a sala</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Microfone mudo</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Ativar microfone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Silenciar microfone</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Ativar microfone para toda a sala</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Somente moderadores podem silenciar ou ativar um usuário! Para silenciar o microfone próprio: Por favor, use o ícone de microfone na caixa de vídeo!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Nome da enquete</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>Você</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Enquetes arquivadas</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>ativo</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Gráfico simples</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Gráfico de pizza</value>
+  </string>
+  <string id="1416" name="sign_up_validation">
+    <value>Por favor, indique e-mail</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>Nova(s) mensagem(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Encerrar enquete</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Tem certeza que deseja encerrar esta enquete? Ninguém será capaz de votar após isto.</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Excluir Enquete</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Tem certeza de que deseja excluir esta enquete? Os resultados serão excluídos.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Permitir/Negar o direito de dar áudio exclusivo.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Permitir ao usuário dar áudio exclusivo</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Negar usuário dar áudio exclusivo</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>gostaria de obter uma permissão para áudio exclusivo.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>gostaria que o moderador me dê uma permissão para áudio exclusivo.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>dar permissão para áudio exclusivo.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Resolução da camera</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Alterar a resolução afeta a largura de banda, foto maior precisa de mais largura de banda!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>Você não tem permissão conceder audio exclusivo a si mesmo ou outras pessoas. Você precisa ter permissao do moderador ou pedir ao moderador para lhe dar áudio exclusivo.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>Gostaria de obter o direito exclusivo para áudio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Dê áudio exclusivo para mim (em alternativa clique sobre o vídeo pod ou pressione F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microfone está ligado!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microfone está mudo</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Ocultar bate-papo</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Ocultar atividades</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Ocultar o explorador de arquivos</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Ocultar menu de ações</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Ocultar o compartilhamento de tela</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Ocultar a lousa</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Mostrar status de micro no vídeo</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Opções de layout</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>Novo Evento</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Protegido por senha são os links para a conferência que são enviados para os participants quando você salvar o calendário de eventos, e não a sala! Isso significa que se você salvar o evento várias vezes, mas com senhas diferentes, cada participent recebe um novo link que tem uma senha diferente. Mas os links antigos ainda funcionam uma vez enviados!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Editar detalhes</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Mostrar discador sip</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Chamar</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Mostrar eventos de calendário de contato</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Planeje suas reuniões</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Assista a gravação e entrevistas</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Escolha e inicie uma web-conferência</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Gerencie usuários e direitos</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Gerencie conexões e expulse usuários</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Gerencie grupos de usuários</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Gerenciar salas de conferência</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Gerenciar as configurações do sistema</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Gerenciar rótulos e redação</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Gerenciar LDAP e configurações de ADS</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Exportar/Importar Backups do Sistema</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>Você precisa de moderação ou o direito de desenhar na lousa para fazer upload, adicionar, excluir ou carregar arquivos e pastas.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Editar texto</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/portugues.xml b/WebContent/languages/portugues.xml
new file mode 100644
index 0000000..de92107
--- /dev/null
+++ b/WebContent/languages/portugues.xml
@@ -0,0 +1,4505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Conferência</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>Reunião</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>Auditório</value>
+  </string>
+  <string id="4" name="settings">
+    <value>Configurações</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>Usuário</value>
+  </string>
+  <string id="6" name="admin">
+    <value>Administração</value>
+  </string>
+  <string id="7" name="stop">
+    <value>Parar</value>
+  </string>
+  <string id="8" name="record">
+    <value>Gravar</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>Nenhum arquivo disponível</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>Admissão disponível apenas para professores</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>Usuários conectados:</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>Iniciar uma conferência</value>
+  </string>
+  <string id="13" name="myname">
+    <value>Meu nome:</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>VideoConferência</value>
+  </string>
+  <string id="15" name="import">
+    <value>Importar apresentação</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>Atualizar lista</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>Zum Hauptverzeichnis</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>nova enquete</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>Uma nova enquete para conferência.</value>
+  </string>
+  <string id="20" name="question">
+    <value>Pergunta:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>Tipo de enquete:</value>
+  </string>
+  <string id="22" name="create">
+    <value>Criar</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>Info: Cada usuário conectado recebe uma menssagem com a nova enquete.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>Criar uma enquete</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>Cancelar</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>Sim/Não</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>Numérico 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>Enquete</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>Eles podem ser moderadores/professores nessa área de enquetes</value>
+  </string>
+  <string id="30" name="vote">
+    <value>Seu voto foi registrado.</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>Você já votou nessa enquete.</value>
+  </string>
+  <string id="32" name="voting">
+    <value>Votar !</value>
+  </string>
+  <string id="33" name="answer">
+    <value>Sua resposta:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>Sim</value>
+  </string>
+  <string id="35" name="no">
+    <value>Não</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>Quer saber:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>Resultados da enquete</value>
+  </string>
+  <string id="38" name="question">
+    <value>Pergunta:</value>
+  </string>
+  <string id="39" name="results">
+    <value>Resultados:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>Respostas:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>Nenhuma enquete foi iniciada.</value>
+  </string>
+  <string id="42" name="votings">
+    <value>Votar!</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>Reunião (máximo 4 assentos)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>Conference (máximo 50 assentos)</value>
+  </string>
+  <string id="45" name="type">
+    <value>Tipo</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>Outros assentos</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>Já escolhido</value>
+  </string>
+  <string id="48" name="enter">
+    <value>entrar</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>O moderaror saiu da reunião.</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>Informações do sistema</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>Escolher dispositívo</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Escolher webcam:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>Escolher microfone:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>ok</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>cancelar</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>Você precisa reconectar.</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>Editar configurações.</value>
+  </string>
+  <string id="58" name="course">
+    <value>Curso:</value>
+  </string>
+  <string id="59" name="language">
+    <value>Idioma:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>ok</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>cancelar</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>Limpar a lousa.</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Você quer que a lousa seja apagada antes que uma figura seja adicionada ?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>Não perguntar de novo.</value>
+  </string>
+  <string id="65" name="no">
+    <value>Não</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>Editar configurações</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Confirmação de requisição antes de limpar a lousa.</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>Informações do usuário</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>Limpar área de desenho</value>
+  </string>
+  <string id="70" name="undo">
+    <value>Desfazer</value>
+  </string>
+  <string id="71" name="redo">
+    <value>Refazer</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>Selecionar um objeto</value>
+  </string>
+  <string id="73" name="text">
+    <value>Texto</value>
+  </string>
+  <string id="74" name="paint">
+    <value>Pintura</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>Desenhar linha</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>Desenhar sublinha</value>
+  </string>
+  <string id="77" name="rect">
+    <value>Retângulo</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>Elipse</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>Seta</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>excluir ítem selecionado</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>Aplicar para moderação</value>
+  </string>
+  <string id="82" name="apply">
+    <value>Aplicar</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>fechar</value>
+  </string>
+  <string id="84" name="mod">
+    <value>Tornar-se moderador</value>
+  </string>
+  <string id="85" name="close">
+    <value>fechar</value>
+  </string>
+  <string id="86" name="italic">
+    <value>italic</value>
+  </string>
+  <string id="87" name="bold">
+    <value>negrito</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>AGUARDANDO</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>Um usuário quer se tornar moderador:</value>
+  </string>
+  <string id="90" name="accept">
+    <value>aceitar</value>
+  </string>
+  <string id="91" name="reject">
+    <value>rejeitar</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>cancelar</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>Enviando requisição para os seguintes usuários</value>
+  </string>
+  <string id="94" name="accept">
+    <value>Aceito</value>
+  </string>
+  <string id="95" name="reject">
+    <value>Rejeitado</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>Mudar moderador</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>Você não está moderando este curso!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>Moderador:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>A sala está lotada. Por favor tente novamente mais tarde.</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>Elipse</value>
+  </string>
+  <string id="101" name="close">
+    <value>fechar</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>erro na entrada de dados</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>nome do usuårio deve ter no mínimo 4 letras</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>senha deve ter no mínimo 4 letras</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>Nome de usuário já existente</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>O email já foi registrado.</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>Erro no sistema, por favor, contacte os administradores.</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>Login</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>Usuário:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>Senha:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>idioma</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>Login</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>Sign Up</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>Usuário:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>Senha:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>Re-digite:</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Primeiro nome:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Último nome:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>E-Mail:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>País:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>Registrar</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>cancelar</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>Registrar</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>home</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>Usuários</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>Grupos</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>Organizações</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>Salas de Conferência</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>público</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>organização</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>entrar</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>Login</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>Senha</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>Re-digite</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Primeiro nome</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Último nome</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>E-Mail</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>Aniversário</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>Rua/No</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>CEP/Cidade</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>País</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Endereço</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Dados do usuário</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>salvar</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>Salvar</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>ID DO USUÁRIO</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>login</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>primeiro nome</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>último nome</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>mostrar próximo</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>mostrar anterior</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>excluir registro</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>cancelar</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>excluir</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>novo registro</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>atualizar registro</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>excluir registro</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>status</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>desabilitado</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>habilitado</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>organizações</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>calendário</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>fechar</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>ID da Organização</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>nome</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>usuário</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>mod</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>admin</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>nível do usuário</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>organização</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>nome</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>adicionar organização</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>adicionar organização</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>cancelar</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>adicionar</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>remover organização</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>usuário</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>adicionar usuário</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>excluir usuário</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>adicionar usuário</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>procurar usuário</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>procurar</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>usuário</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>organização</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>entrar</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>salas de conferência</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>Salas de conferência</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>id</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>Nome</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>público</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>organizações</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>Salas de conferência</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>nome</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>tipo</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>público</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>comentário</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>salvar</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>abrir</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>salvar como</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>nome do arquivo</value>
+  </string>
+  <string id="201" name="files">
+    <value>nome do arquivo</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>cancelar</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>salvar</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>erro</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>carregando</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>objetos carregados</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>sincronizando clientes, clientes a esperar:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>Carregando imagem</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>sincronizando clientes, clientes a esperar:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>limpar área de desenho</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>limpar área de desenho, todos os dados da lousa serão perdidos</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Confirme antes de carregar o arquivo</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>Enviar convite</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>Enviar convite</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>Assunto</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Destinatário</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>Mensagem</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Enviar</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>cancelar</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>enviar</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>Dados do usuário</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>Seu apelido para essa conferência</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>apelido</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>primeiro nome</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>último nome</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>email</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>idioma</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>entrar</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>Carregando</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>Carregando dados, por favor aguarde!</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>Senha Incorreta</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>Por favor digite dois passwords idênticos com pelo menos 6 caracteres</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>Email Incorreto</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>Voê digitou um endereço de email inválido.</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>Cadastro completo</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>Sua conta foi criada. Você pode fazer o login agora.</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>Você não pode compartilhar sua tela agora. Alguem já compartilhou a tela.</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Compartilhamento perdido</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Compartilhe sua tela</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Falha na transmissão: Você não está apto a sincronizar a tela. Frames serão perdidos. Caso esse aviso tenha sido mostrado cedo você pode pedir ao moderador para reduzir a qualidade.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>Tela de:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Desenhar</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Documento</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>Chat</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>Arquivos</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Membros</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Download do documeto original</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>Download do pdf</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Carregar apresentação no quadro</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Configuração</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Arrastar esse objeto</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Redimensionar esse objeto</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>de</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>Ir para primeira página</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>Ir para página anterior</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>Ir para a próxima página</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>Ir para a última página</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Zoom --</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Zoom ++</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>Sr.</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Sra.</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Configuração</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>Chave</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Configuração</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>Chave</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>última atualização</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>atualizado por</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>comentário</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>chave</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>de</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>Usuários</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>excluir usuário da compania</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>excluir</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>Este usuário já é membro desta companhia.</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>Notícias</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Links Rápidos</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Ir para conferência</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Ir para auditório</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Ajuda e suporte</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>Reportar um bug!</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>mais</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Website do projeto (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>Lista de emails (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Relembrar Login</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Conteúdo</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>Minha Home Page</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>My Reuniões Agendadas</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>My Eventos Agendados</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Reuniões Públicas</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Reuniões Privadas</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Eventos Públicos</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Eventos Privados</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Conteúdo Público</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Conteúdo Privado</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Conteúdo Pessoal</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value></value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Moderação</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>Aplicar para Moderação</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Conjuntos</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Escolha um arquivo</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Configurações</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Configurações de Cam e Mic</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Configurações da lousa</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Sair</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Voltar para salas</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Logout</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Visão Desktop</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>iniciar visão Desktop</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>Vídeo e Áudio</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>Chat</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>Lousa</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>Moderação</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Arquivos</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>Usuários</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Conjuntos</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>Não existe usuário conectado a este nome</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>Um email contendo um link foi enviado a seu endereço de email, por favor confira sua caixa postal. Se você ainda não tiver recebido um email, por favor ajuste as configurações de spam e remande a confirmação de email.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Erro</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Mensagem</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>Hash inválido. Nenhum usuáio encontrado.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Reset sua senha</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Login</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>alterar senha</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>nova senha</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>redigite a senha</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>As senhas que você digitou não são iguais.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>4 ou mais caracteres; maiúsculas e minúsculas são diferentes!</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>Senha configurada. Você pode se logar agora.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Erro desconhecido. Por favor informe isso ao Service-Team.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>Username não encontrado</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Senha inválida</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Desconectado com sucesso</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Cadastro do frontend desabilitado.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>EMail inválido</value>
+  </string>
+  <string id="340" name="registration">
+    <value>nome de arquivo duplicado, por favor escolha outro nome</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>nome de arquivo muito curto</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>Não foi possível salvar o endereço</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>Usuário adicionado mas você precisa associar esse usuário a uma organização, se não ele não estará apto a se associar.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>Novo Registro</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>Nenhum campo encontrado com esse id.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>Nenhum Label encontrado para este campo.</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Necessário perfil de administrador</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Editor de idiomas</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Idioma</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>Label-ID</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Label-Nome</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Valor</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Fieldvalues</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>LabelName</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>LabelValue</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>Label-ID</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>Você apenas deletou o Label NÂO o Field! Você não pode deletar esse Field, podem existir Labels em outros idiomas.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>Labelid inválido. O FieldLanguagesvalues_Id não pode ser encontrado na base de dados.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>Você não pode deletar esse Field. Você pode apenas deletar Labels NÂO Fields. Não existe Label carregado no momento, se nenhum Field for selecionado ou não existir Label para esse idioma para esse Field definido.</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>exportar</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>Você precisa fazer login novamente para ver as mudanças.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Adicionar novo idioma</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>excluir idioma</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Adicionar novo idioma</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Nome</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>adicionar idioma</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Backup</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>ir ao primeiro</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>ir ao anterior</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>ir ao próximo</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>ir ao último</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>palestras do usuário (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>desligar/ligar som</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>Sistema</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>Suas configurações</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>olá,</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Editar seu perfil</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>Novas Mensagens:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Upload de nova imagem</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Dados do Usuário - Exportar</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>Todas as organizações já devem existir!</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>começar a exportar</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>Por organização</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>começar a exportar</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Dados do Usuário - Importar</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>escolha users.xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>importar</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Exportar para XML - Esses arquivos podem ser usados para: - Contribua com o projeto - Importe em outro sistema - Backup - Customização - Coloque no diretório de idiomas para sua próxima instalação</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Escolha um arquivo de idioma para importar. Escolha o idioma correto no Combobox! Não importa o nome do arquivo, ele será importado nesse idioma!</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>importar - escolha o arquivo</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Salvar como</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Nome:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>Comentário:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>salvar</value>
+  </string>
+  <string id="395" name="record">
+    <value>Gravações</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Vizualizador de Gravações</value>
+  </string>
+  <string id="397" name="record">
+    <value>Gravações de salas públicas e privadas</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>Usuários :</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>Entrou:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Usuários nessa sala:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>atualizar</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>Essa sala está cheia. Tente novamente em alguns instântes.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>clique em uma sala para ver os detalhes</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Chat com os usuários dessa sala:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Sala:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Usuários nessa sala:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>desde:</value>
+  </string>
+  <string id="409" name="record">
+    <value>mostrar a gravação</value>
+  </string>
+  <string id="410" name="record">
+    <value>Tamanho:</value>
+  </string>
+  <string id="411" name="record">
+    <value>Data:</value>
+  </string>
+  <string id="412" name="record">
+    <value>Modo Gravação! Você não pode mudar nenhum valor, este é um arquivo gravado!</value>
+  </string>
+  <string id="413" name="record">
+    <value>Mostrar essa gravação</value>
+  </string>
+  <string id="414" name="record">
+    <value>Play / Pause</value>
+  </string>
+  <string id="415" name="record">
+    <value>Começar gravação</value>
+  </string>
+  <string id="416" name="record">
+    <value>parar gravação</value>
+  </string>
+  <string id="417" name="record">
+    <value>Gravação:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>Já existe alguém gravando nesse momento:</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Gravando! Pelo usuário:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>cancelar</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>Gravação será cancelada e não será salva.</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>continuar</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Fechar essa janela e continuar a gravação.</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>mudar cor da linha</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Mudar Cor</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Disabilitar / Habilitar cor da linha</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>mudar Fillcolor</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>Disabilitar / Habilitar Fillcolor</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Mudar tamanho da linha</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>fechar</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>mudar tamanho da fonte</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>Deletar Gravação</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Convidado</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>Por:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Nome</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Sala</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Data</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>cancelar</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>start</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Nome</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Data</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>Deletar Server-Chatlog</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>Chat</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>enviar mensagem</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Emoticons</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>Emoticons</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Escolher adaptadores publicados</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Áudio e Vídeo</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>Áudio somente</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>Vídeo somente</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>sem Áudio/Vídeo (Image estática)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>Nenhum Áudio/Vídeo do seu PC será publicado, ao invés disso uma figura do seu perfil será mostrada. Escolha essas configurações se você tem problemas com sua conexão ou uma conexão de Internet lenta.</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>SEG</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>TER</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>QUA</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>QUI</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>SEX</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>SAB</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>DOM</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>Segunda</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Terça</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Quarta</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Quinta</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Sexta</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Sabado</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Domingo</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>CS</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Calendário da semana</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>Janeiro</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>Fevereiro</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>Março</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>Abril</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>Maio</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>Junho</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>Julho</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>Augosto</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>Setembro</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>Outubro</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>Novembro</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>Dezembro</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Calendário</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Participantes</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Mostrar configurações de layout</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Largura | Altura</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Video-Container</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Moderação-Container</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Lousa-Container</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Habilitado</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Largura | Altura</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Arquivos,Chat,Participantes - Container</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Habilitado</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Largura | Altura</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>O moderador saiu da sala. Nenhum está presente no momento. Você pode se candidatar para moderação ou esperar.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>Não existe nenhum moderador nessa sala, mas existem alguns participantes. Você deve se candidatar a moderação ou esperar.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>Feedback $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Convite</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Mensagem do Usuário:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Mensagem:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Click neste link para participar das reuniões:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Click aqui para entrar na sala</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>se você tem problemas com o link, por favor copie e cole isso no seu browser:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME SignUp</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>Seus dados:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Login:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Senha:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>EMail:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME-Team</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME Sign-Up</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - Reset Password</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Clique neste link para criar uma nova senha:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Click aqui para criar umanova senha</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>se você tiver problemas com o link, por favor copie e cole isso em seu browser:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>$APP_NAME Senha Reset</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>Por favor informe uma data válida, por exemplo 24.12.2001 (dd.mm.yyyy)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Por favor informe um email válido, por exemplo name@mail.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Por favor informe um número de ponto flutuante, por exemplo 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Por favor informe um número (Inteiro), por exemplo 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Por favor informe um número de telefone válido, por exemplo ++49 1234 1234</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Por favor informe um horário válido, por exemplo 12:23 (hh:mm)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Senha protegida</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Senha</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Período de validade</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Final</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Período</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>Uma vez</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Valido de:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Valido até:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Convite para o $APP_NAME</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>Nenhum convite disponível para esse código</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>O convite já foi utilizado. Esse tipo de convite não pode ser reutilizado.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>Esse código de convite não é válido.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Senha:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Verificar senha</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Senha Inválida!</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>Browser</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Syncronize Audio/Video</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>Login was correct, but the Session you tried is not active or stored on the Server. You have to get a new SessionId and retry login.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>The SessionId is not loggedin or has no Admin rights. The SOAP Gateway needs an User with Admin-Rights to embed new Users.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>This Session has no Remoteuser-Data connected. Wether you did not call the SOAP-Gateway before accessing the Application or you are usnig a wrong Session-ID</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>The recorder is currently Beta!</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>x-axis</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>y-axis</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>w</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>width</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>height</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Change Transparency</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Browser Open</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Browser Close</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>The Connection to the Server is lost. You need to reload the Application or/and check your Network.</value>
+  </string>
+  <string id="557" name="557">
+    <value>Pointer</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Synchronizing</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Synchronizing Users, please wait</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Download as SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Download as PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Download as JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Download as PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Download as TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Reminder:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Category:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Repetition:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>none</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Location:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Start</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>End</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Title:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Comment:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Invite People</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Daily</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Monthly</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Yearly</value>
+  </string>
+  <string id="578" name="alert">
+    <value>Appointment-end is after of appointment-start!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Please insert a title!</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>Activate this if you write in a right to left language (inverse word order)</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Dashboard</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Watch recorded Meetings or Events</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Meeting - Make a conference with 4 (up to 16) Users&lt;br/&gt;everybody will have audio + video access</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Event - Make a conference with up to 200 participents&lt;br/&gt;Only the Moderator will have audio/video</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Create users, rooms, organizations&lt;br/&gt; + change configuration</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Users in this Room now</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Login</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Loading Document. Please wait untill all Client have been synchronized.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Upload complete, converting Document ...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Start Upload</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Upload and Import Dialog. Please select a File from your Disk.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Cancel</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Select File</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Connections</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Value</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Login</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Connected since</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Room / Scope</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Kick User</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Kick User</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Do you really want to kick this Client from the Connection?&lt;br/&gt; This does only remove the Client from the current Room.The Client could re-login again.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Your session has been closed by an Administrator or Moderator.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Phone</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>User is the Moderator of this Room</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>User is allowed to draw on the Whiteboard</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Re) Start Audio/Video or change Device Settings</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Allow this User to draw on the Whiteboard</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Remove ability to draw on whiteboard</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Users</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Files</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Whiteboard</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Chat</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Your account is assigned to multiple Organizations. Please choose one for this Session.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>This room is full at the moment. Please try again later.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Room Type</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Appointment Room</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Server Time</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - Reminder</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Message from User:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Message:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Click this link to participate in the Meetings:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Click here to enter room</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>if you have problems with the link, please copy and paste this to your browser:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>search intern</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>extern users</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>pre name</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>name</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>E-mail</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Confirm logout</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Are you sure you want to logout now?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Actions</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Demo Room</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Demo Time</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Meeting Timer</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>This Room is a Demo Room. To disable this warning you either should get a private meeting room for your personal usage or set up an own Server. You will be automatically logged off in:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Moderated</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Please wait untill the Moderator has entered the Room. The Moderator can be either a Teacher, Admin or the creator of this Room.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Ok</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Incoming Screen Sharing</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>There is a new Screen Sharing incoming from the User:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Start Sharing</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Add new Meeting</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Meeting Room</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Event Room</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Moderation</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Moderate Users</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Moderate Rooms</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Do you want to change this User to become a Moderator of that Organization?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Please choose an Organization before you try to add a User to it!</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Organization - Moderator</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Do you really want to delete this User from the Organization?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>This User is Moderator</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>This User is No-Moderator</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Do you want this User to be not a Moderator of this Organization?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Add or delete Users or Rooms within your Organization</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Do you really want to delete this record?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Do you really want to delete this user from your organization? You will only delete the connection between the user and your organization, to really delete the user itself you have to login into the Administration-Panel.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>You cannot delete your own User!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>This Method needs a Adminstration Account to be invoked!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>There was no Session associated with this ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>This is an Administrator or Moderator account. You can only edit this account through the Administration Panel.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>To complete your registration please click on the following link. Or copy the URL to your browser bar.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Click to verify your E-Mail</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>No user was found for this Hash.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>This user is already activated!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>You did successfully activate your account!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Login Now</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Your account is not activated. First use the link in the Email you've received during registration.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>You successfully signed up. We've send an EMail with a verification Code to your Mail. Please check your Inbox.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Remove Moderation Role from this User</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Grant Moderation Rights to this User</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>User</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Access to whiteboard</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Moderator</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Moderation: Please choose any User on the List to grant him access to the Whiteboard, Moderation or Video.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>This User is already Moderator, so he has automatically the right to draw.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>This is you! You cannot remove the Moderation rights from yourself.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Allow this User to Publish his Audio / Video</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Remove Audio/Video of this User</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>I would like to get the moderation of this room</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>I would like to draw on whiteboard</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>I would like to share my Audio/Video</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>You are moderator of this room</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>You are allowed to draw on whiteboard</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>You are allowed to share your Audio/Video</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Message to Moderator</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>The User</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>would like to get the Moderation. Use the status Icons next to the user in the List of Users to add or remove the Moderation.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>would like to draw on whiteboard. Use the status Icons next to the user in the List of Users to add or remove the right to draw anything on the whiteboard.</value>
+  </string>
+  <string id="695" name="695">
+    <value>would like to share his Audio/Video. Use the status Icons next to the user in the List of Users to add or remove the right to share Audio/Video for any User.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>You have to wait untill a Moderator enters the room.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Cancel</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Save</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Day</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Month</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Year</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Upload File</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Refresh</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Trash (Drag and Drop item here)</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>My Files (Home Drive)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Room Files (Public Drive)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Add File</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Delete Folder</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Edit Name</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>New Folder</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Are you sure you want to delete this Item?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Open Document</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Show all Files (Tree View)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Close Document</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Delete File</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>You are not allowed to draw anything on the Whiteboard. You have to become Moderator or at least get the Right to edit Whiteboard. You may ask a Moderator to give you that right.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Document Properties</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Start Client (external)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Start Client (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>A user want to share his screen. Do you want to see it?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>You are currently sharing your Desktop. For stopping the Sharing Session please hit the Stop button in the Sharing Client.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Sharing Session</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>You are already sharing your desktop!</value>
+  </string>  
+  <string id="728" name="sharing client">
+    <value>Desktop Viewer</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Exit</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Desktop Sharer</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Click Start to publish your screen</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Start Sharing</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Select your screen area:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Change width</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>The Sharer has finished this session!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Change height</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X-Offset</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y-Offset</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Width:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Height:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>Connection was closed by Server</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Cancel</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Start External</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>If you close this session completely you are not able to restart the viewer for this session.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Confirm Closing Viewer Session</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Share Screen</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Record Session</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Co-Browsing</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Ooops, ... Firefox on Windows does not show clear Co-Browsing. Please use another Browser for using the Co-Browsing feature.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Previous</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Next</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Reload</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Home</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Load</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Add this website as Default website to your Profile.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Test Setup</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Check you Microphone and Camera setup before you enter a room by recording some seconds. You can then replay your recording to check your voice and picture.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Don't show this test anymore</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Cancel</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Start Conference</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Do not ask again</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>You may proceed without testing if you do not plan to publish your voice or picture. Participants without Audio or Video can still use the Whiteboard, share their Desktop or write Chat messages.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="test setup">
+    <value>Level-Meter</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Press Start</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Start Event</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Choose Room</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Check Setup</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="774" name="start view">
+    <value>How to conference</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Start Recording</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Do not show Audio / Video Test (Recording) before entering a Conference</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Public Rooms</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Public Rooms are accessible for all Users.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Private Rooms</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Private Rooms are only accessible for users of the same organization.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>My Rooms</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Rooms in this section are created for personal usage. There are some standard rooms plus the ones that are created through the calendar and have a start and an end date. The rooms created via the calendar are only listed in this section as long as they are valid.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>You have to be moderator to do this.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Apply for moderation</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Apply for whiteboard access</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Apply for camera/microphone access</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>This Session Hash was already used. You cannot use it twice.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>START</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>EXIT</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Do you really want to exit? You might should clear uploaded documents, whiteboard and the chat history.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Exit conference</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Rooms</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Choose a room for a meeting</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>There is an unsaved Event in the Calendar. Please either save it or remove it.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Please add at least one attendee for your meeting!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Do you really want to delete this Event?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Warning</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Add Event</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>Day</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>Week</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>Month</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Description</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Attendees</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, your Web Conferencing Platform. Either follow the Instructions, press the start button to start to conference immediatelly or you goto the Calendar and set up a Conference for the future.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Plan a Meeting</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>To set up a conference you can add a new Event in the Calendar.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Need help?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Restricted</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Search</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Add</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>There is no User selected. Please select an item from the list first and then hit add.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Add Attendee</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Save</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Delete</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Event Details</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Default Moderators</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Name</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>E-Mail</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Add new default Moderator</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Is Super Moderator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>If the Room is moderated, User with Level Moderator or Administrator are automatically Moderator if they enter the Room. If you don't want to specify that and only want a certain User to become Moderator use the Default Moderator option.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>A Super Moderator is always a Moderator when he enters a Room, and nobody can remove the Moderation Flag from him</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Apply Super-Moderation to User</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Remove Super Moderation from User</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>If you add an Organization to the room only users of that Organization have access to it (This is only valid if the isPublic flag is set to false!)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Limitations</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organization</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Are you sure?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Do you really want to delete this Item? You have to press the save button to store the changes!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>There is no User selected. Please select first before you add it!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Add new Default Moderator</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Do you want to add the Super Moderation Flag for this User? A Super Moderator is not only Moderator of a Room, but also no other Moderator can remove the Moderation Flag for this User. You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Do you want to remove the Super Moderation Flag for this User? You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>This User is a Super-Moderator. You cannot remove the Moderation flag from a Super-Moderator!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Do you really want to delete this File/Folder?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Delete File/Folder?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Mrs.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Dr.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Properties</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Show mouse position to viewers</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Share Audio with SIP Applet</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Share Audio with SIP and Video with Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Full-Fit</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>View Screen</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>The user</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>wants to share its screen. Do you want to see it?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Close</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>The Session was closed by the sharing User!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>New Screen Sharing</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimize</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximize</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Recording Timeline</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>My Recordings</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Public Recordings</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Name</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Length</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Date</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>By</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>PLAY</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Main - Video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Recording</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>You may record and share your screen at the same time. To enable others to see your screen just hit the start button on the top. To only record the Session it is sufficient to click start recording.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Start Recording</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Stop Recording</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download the FLV-File</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Room</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>User has microphone on</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Allow User Questions</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Turn this off to prevent that any user is disturbing you in this room. Effect is that the Button to ask for Moderation ("I have a question") is not visible.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Rights</value>
+  </string>  
+  <string id="882" name="flvrecording">
+    <value>Download as AVI</value>
+  </string>  
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio only</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the Recording.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>The Recording is not yet ready for watching. Please retry in a couple of minutes again.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Recorder Message</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIP Applet is not Ready</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP-Account Settings</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP settings for each user. You can turn on or off SIP via the Administration &gt; Configuration (Key: enable_sip). The SIP data for each user should be created automatically. You can re-create the data by checking "Re-generate SIP Data"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. You should check the authentification data of your SIP-Provider and the SIP-Account Data for each User. As Administrator you are still able to login and check the Configuration. As User or Moderator you will be blocked from any interaction.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. Contact your Service Team!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet Message</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>The SIP-Applet is not ready. Accept the Applet please and click ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Get Moderation</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login the $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choose the User for this Video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>You are a Moderator in this Interview. You can decide who is speaking in this interview and you can start / stop the recording of the Session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Start Recording</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Stop Recording</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+  <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/russian.xml b/WebContent/languages/russian.xml
new file mode 100644
index 0000000..49a042e
--- /dev/null
+++ b/WebContent/languages/russian.xml
@@ -0,0 +1,4505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Конференция</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>Совещания</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>Лекции</value>
+  </string>
+  <string id="4" name="settings">
+    <value>Установки</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>Профиль</value>
+  </string>
+  <string id="6" name="admin">
+    <value>Администрирование</value>
+  </string>
+  <string id="7" name="stop">
+    <value>Пауза</value>
+  </string>
+  <string id="8" name="record">
+    <value>Запись</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>Нет данных</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>Функция записи только для лекторов</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>Связанный пользователь:</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>Начать конференцию</value>
+  </string>
+  <string id="13" name="myname">
+    <value>Мое имя</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>Видеоконференция</value>
+  </string>
+  <string id="15" name="import">
+    <value>Загрузить файл</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>Заново загрузить список</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>К списку документов</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>Новый опрос</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>Новый опрос для конференции</value>
+  </string>
+  <string id="20" name="question">
+    <value>Вопрос:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>Вид опроса:</value>
+  </string>
+  <string id="22" name="create">
+    <value>Создать</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>Информация: каждый подключённый пользователь получает сообщение с новым опросом.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>Создать опрос</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>Отменить</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>Да/Нет</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>Число 1 - 10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>Опрос</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>Для создания опроса Вы должны быть модератором/лектором в этой комнате.</value>
+  </string>
+  <string id="30" name="vote">
+    <value>Вы проголосовали.</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>Вы уже проголосовали в данном опросе.</value>
+  </string>
+  <string id="32" name="voting">
+    <value>Проголосовать!</value>
+  </string>
+  <string id="33" name="answer">
+    <value>Ваш ответ:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>Да</value>
+  </string>
+  <string id="35" name="no">
+    <value>Нет</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>хочу знать:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>Результаты опроса</value>
+  </string>
+  <string id="38" name="question">
+    <value>Вопрос:</value>
+  </string>
+  <string id="39" name="results">
+    <value>Ответы:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>Результат:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>В настоящее время опроса не существует.</value>
+  </string>
+  <string id="42" name="votings">
+    <value>Проголосовать!</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>Совещание (макс. 4 места)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>Конференция (макс. 50 мест)</value>
+  </string>
+  <string id="45" name="type">
+    <value>Тип</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>Оставшиеся места</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>Уже присвоено</value>
+  </string>
+  <string id="48" name="enter">
+    <value>Вхождения</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>Модератор/лектор этой комнаты покинул совещание.</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>Системное сообщение</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>Выбор устройства</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Выбрать камеру:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>Выбрать микрофон:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>OK</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>Отменить</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>Чтобы активировать изменения, войдите заново</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>Изменить установки</value>
+  </string>
+  <string id="58" name="course">
+    <value>Курс:</value>
+  </string>
+  <string id="59" name="language">
+    <value>Язык курса:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>OK</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>Отменить</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>Очистить доску</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Очистить доску перед добавлением нового изображения</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>Больше не спрашивать</value>
+  </string>
+  <string id="65" name="no">
+    <value>нет</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>Редактировать установки</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Запросить подтверждение перед очисткой доски</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>Информация о пользователе</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>Очистить область рисования</value>
+  </string>
+  <string id="70" name="undo">
+    <value>Отмена</value>
+  </string>
+  <string id="71" name="redo">
+    <value>Восстановление</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>Выбрать объект</value>
+  </string>
+  <string id="73" name="text">
+    <value>Текст</value>
+  </string>
+  <string id="74" name="paint">
+    <value>Рисование</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>Провести линию</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>Подчеркнуть</value>
+  </string>
+  <string id="77" name="rect">
+    <value>Прямоугольник</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>Эллипс</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>Стрелка</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>Удалить выбранный элемент</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>Запрос функции модератора</value>
+  </string>
+  <string id="82" name="apply">
+    <value>Запрос</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>Отменить</value>
+  </string>
+  <string id="84" name="mod">
+    <value>Запросить ф-ции модератора</value>
+  </string>
+  <string id="85" name="close">
+    <value>Закрыть</value>
+  </string>
+  <string id="86" name="italic">
+    <value>Курсив</value>
+  </string>
+  <string id="87" name="bold">
+    <value>Жирный шрифт</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>Ожидание</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>Пользователь желает запросить функцию модератора:</value>
+  </string>
+  <string id="90" name="accept">
+    <value>Согласие</value>
+  </string>
+  <string id="91" name="reject">
+    <value>Отклонение</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>Отменить</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>Отсылка запроса следующему пользователю</value>
+  </string>
+  <string id="94" name="accept">
+    <value>Выдано согласие</value>
+  </string>
+  <string id="95" name="reject">
+    <value>Отклонено</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>Замена модератора</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>Вы не являетесь модератором данного курса!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>Модератор:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>В этой комнате нет мест. Извините, попробуйте еще раз через некоторое время.</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>Эллипс</value>
+  </string>
+  <string id="101" name="close">
+    <value>Закрыть</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>Ошибка при вводе</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>Имя пользователя должно состоять минимум из 4 знаков</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>Пароль должен состоять минимум из 4 знаков</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>Это имя пользователя уже занято</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>Электронный адрес уже зарегистрирован</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>Выдается ошибка, просьба связаться с административной группой</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>Вход</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>Пользователь:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>Пароль:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>Язык</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>Войти</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>Подписка</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>Пользователь:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>Пароль:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>Повторить:</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Имя:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Фамилия:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>E-Mail:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>Страна:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>Регистрировать</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>Отменить</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>Регистрация</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>На главную</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>Пользователи</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>Группы</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>Организации</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>Комнаты совещаний</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>Публично</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>Организация</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>Вход</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>Логин</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>Пароль</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>Повторить</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Имя</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Фамилия</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>E-Mail</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>Дата рождения</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>Улица/№ дома</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>Индекс/город</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>Страна</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Информация</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Данные пользователя</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>Сохранить</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>Процесс сохранения</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>Идент. № пользователя</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>Логин</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>Имя</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>Фамилия</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>вперед</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>назад</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>Удалить запись</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>Отменить</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>Удалить</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>Создать запись</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>Заново загрузить запись</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>Удалить запись</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>Статус</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>заблокировано</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>активно</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>Организации</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>Календарь</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>Закрыть</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>Идент. № орг-ии</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>Имя</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>Пользователь</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>Модератор</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>Администратор</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>Роль пользов-ля</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>Организация</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>Имя</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>Добавить организацию</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>Добавить организацию</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>Отменить</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>Добавить</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>Удалить организацию</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>Пользователь</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>Добавить пользователя</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>Удалить пользователя</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>Добавить пользователя</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>Поиск пользоват-я</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>Искать</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>Пользователь</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>Организация</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>Выбрать</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>Комнаты совещаний</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>Комнаты совещаний</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>Идент. №</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>Имя</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>Публичная комната</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>Организации</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>Комнаты совещаний</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>Имя</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>Тип</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>публично</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>Комментарий</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>Сохранить</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>Открыть</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>Сохранить как</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>Имя файла</value>
+  </string>
+  <string id="201" name="files">
+    <value>Имя файла</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>Отменить</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>Сохранить</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>Ошибка</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>Загрузить</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>Объект загружен</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>Синхронизация клиентов. Оставшиеся клиенты:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>Загрузка графических данных</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>Синхронизация клиентов. Оставшиеся клиенты:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>Очистить область рисования</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>Очистить область рисования, при этом все изменения будут утеряны!</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Перед загрузкой файла запросить подтверждение</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>Отправить приглашение</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>Отправить приглашение</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>Тема</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Адрес получателя</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>Сообщение</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Отправить</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>Отменить</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>Отправить</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>Данные пользователя</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>Ник для данной конференции</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>Ник/псевдоним</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>Имя</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>Фамилия</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>E-Mail</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>Язык</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>Отправить</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>Загружается...</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>Даные загружаются, подождите!</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>Неверный пароль</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>Пожалуйста, введите два раза один и тот же пароль длиной не менее 6 символов</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>Неверный E-Mail</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>Вы ввели неверный E-Mail</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>Регистрация завершена</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>Ваш аккаунт создан. Теперь вы можете войти под своим именем.</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>Сейчас вы не можете сделать ваш экран общим. Сейчас другой пользователь сделал свой экран общим.</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Запрещено делать ваш экран общим</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Сделать экран общим</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Неверная ширина канала: невозможно синхронизовать экран. Некоторые кадры будут пропущены. Если это сообщение появляется слишком часто, Вы можете попросить модератора ухудшить качество соединения.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>Экран пользователя:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Рисование</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Документ</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>Чат</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>Файл</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Юзеры</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Загрузить первоначальный документ</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>Загрузить документ pdf</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Поместить документ на доску</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Конфигурация</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Перетащить этот объект</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Изменить размеры объекта</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>из</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>На первую страницу</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>На предыдущую страницу</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>На следующую страницу</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>На последнюю страницу</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Уменьшение</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Увеличение</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>Г-н</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Г-жа</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Конфигурация</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>Ключ</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Конфигурация</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>Ключ:</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>Дата обновления</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>Обновлено:</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>Комментарий:</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>Значение</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>из</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>Пользователи</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>Удалить пользователя из организации</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>Удалить</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>Этот пользователь уже входит в эту организацию.</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>Новости</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Быстрый переход</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Перейти к совещанию</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Перейти к лекции</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Помощь и поддержка</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>Ошибка?</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>еще</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Вебсайт проекта (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>Список электронных адресов пользователей (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Запомнить меня</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Контент</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>Моя домашняя страница</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>Мои совещания</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>Мои запланированные лекции</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Публичные совещания</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Личные совещания</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Публичные лекции</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Личные лекции</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Публичный контент</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Приватный контент</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Персональный контент</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value></value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Модерация</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>Запросить ф-ции модера</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Опросы</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Выбор файла</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Установки</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Установки камеры и микрофона</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Установки доски</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Выход</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Выход (к комнатам)</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Выход</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Забыли пароль?</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>Восстановление пароля</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>По e-mail</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>По имени пользователя</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>Ваша почта</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>Ваш логин</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Послать линк на e-mail</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>Такой e-mail не найден. Убедитесь, что вы ввели верный e-mail</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Введите e-mail или имя пользователя</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>Никто больше не подключился с таким именем пользователя</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>Письмо, содержащее специальную ссылку, выслано на ваш e-mail, пожалуйста, проверьте ваш почтовый ящик. Если вы все еще не получили письмо, проверьте анти-спам фильтры и пошлите еще раз подтверждающее письмо.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Информация</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Сообщение</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>Неверный хэш. Пользователь не найден.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Переустановить ваш пароль</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Логин</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>изменить пароль</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>новый пароль</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>еще раз введите пароль</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>Вы ввели неидентичные пароли.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>4 или более знаков. Регистр имеет значение!</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>Пароль установлен. Теперь можно логиниться.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Неизвестная ошибка. Пожалуйста, сообщите в вашу сервисную службу.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>Имя пользователя не найдено</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Неверный пароль</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Вы успешно вышли</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Frontend Registration disabled.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>Неверный e-mail</value>
+  </string>
+  <string id="340" name="registration">
+    <value>неуникальное имя файла, выберите другое имя файла</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>слишком короткое имя файла</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>Не могу сохранить Адрес</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>Пользователь добавлен, но нужно назначить этому пользователю организацию, иначе он не сможет войти.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>Новая запись</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>Поле с таким ID не найдено.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>Метка для этого поля не найдена.</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Требуется авторизация администратора</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Редактор языков</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Язык</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>ID метки</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Имя метки</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Значение</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Значения полей</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>Имя метки</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>Значение метки</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>ID метки</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>Вы можете лишь удалить метку, но не само поле! Нельзя удалить поле, у него могут быть метки на других языках.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>Неверный ID метки. Невозможно найти FieldLanguagesvalues_Id в базе данных.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>Нельзя удалить это поле! Можно лишь удалить метку, но не само поле Метка сейчас не загружена. Либо не выбрано ни одно поле, либо не определена метка на этом языке (для этого поля)</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>Экспорт</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>Вам нужно выйти, чтобы увидеть изменения.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Добавить новый язык</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>удалить язык</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Добавить новый язык</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Имя</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>добавить язык</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Резервное копирование</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>к первому</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>к предыдущему</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>к следующему</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>к последнему</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>Пользователь говорит (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>Включить/выключить звук</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>Система</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>Ваши установки</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>Привет,</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Ваш профиль</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>Новые сообщения:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Изображение</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Экспорт пользовательских данных</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>Организации уже должны существовать!</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>начать экспорт</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>По организации</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>начать экспорт</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Польз. данные - импорт</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>выбрать users.xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>Импорт</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Экспорт в XML - эти файлы можно использовать для: - Внесения в проект - Импорта в другую систему - Резервного копирования - Кастомизации - Помещения в директорию "language" при следующей инсталляции</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Выберите файл языка для импорта. Выберите язык в выпадающем списке. Неважно, какое имя у этого файла, он будет импортирован в этот язык!</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>импорт - выберите файл</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Сохранить как</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Имя:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>Комментарий:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>сохранить</value>
+  </string>
+  <string id="395" name="record">
+    <value>Записи</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Просмотр записей</value>
+  </string>
+  <string id="397" name="record">
+    <value>Записи публичных и приватных комнат</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>Пользователи :</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>Присоединившиеся:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Пользователи в этой комнате:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>обновить</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>Эта комната полна. Попробуйте через несколько минут.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>Кликните на комнату для деталей</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Чат с пользователями этой комнаты:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Комната:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Пользователи в этой комнате:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>с:</value>
+  </string>
+  <string id="409" name="record">
+    <value>проиграть записи</value>
+  </string>
+  <string id="410" name="record">
+    <value>Длина:</value>
+  </string>
+  <string id="411" name="record">
+    <value>Дата:</value>
+  </string>
+  <string id="412" name="record">
+    <value>Режим воспроизведения! Вы не можете менять параметры.</value>
+  </string>
+  <string id="413" name="record">
+    <value>Проиграть эту запись</value>
+  </string>
+  <string id="414" name="record">
+    <value>Играть / Пауза</value>
+  </string>
+  <string id="415" name="record">
+    <value>Начать запись</value>
+  </string>
+  <string id="416" name="record">
+    <value>остановить запись</value>
+  </string>
+  <string id="417" name="record">
+    <value>Запись:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>Кто-то уже записывает в данный момент:</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Идет запись! Пользователь:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>отмена</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>Запись будет отменена и не будет записана.</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>продолжить</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Закрыть окно и продолжить запись</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>изменить цвет линий</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Выбор цвета</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Запретить/разрешить цвет линий</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>изменить цвет заливки</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>Запретить/разрешить заливки</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Изменить ширину линий</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>закрыть</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>изменить размер шрифта</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>Удалить запись</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Гость</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>По:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Имя</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Комната</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Дата</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>отменить</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>старт</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Имя</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Дата</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>Удалить лог чата на сервере</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>Чат</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>послать сообщение</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Иконки эмоций</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>Иконки эмоций</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Изменить публичные устройства</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Аудио и видео</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>Только аудио</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>Только видео</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>без аудио и видео (статическое изобр.)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>Аудио/видео с вашего компьютера не будет опубликовано, опубликована будет только картинка из вашего профиля. Выберите эту установку, если вы испытываете проблемы с шириной канала или если у вас медленное соединение с Интернетом</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>ПН</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>ВТ</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>СР</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>ЧТ</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>ПТ</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>СБ</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>ВС</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>Понедельник</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Вторник</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Среда</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Четверг</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Пятница</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Суббота</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Воскресенье</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>КН</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Календарная неделя</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>Январь</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>Февраль</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>Март</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>Апрель</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>Май</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>Июнь</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>Июль</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>Август</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>Сентябрь</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>Октябрь</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>Ноябрь</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>Декабрь</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Календарь</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Участники</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Показать установки Layout</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Ширина | Высота</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Видео-контейнер</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Модерация-контейнер</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Доска-контейнер</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Разрешено</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Ширина | Высота</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>файлы,чат,участники - контейнер</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Разрешено</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Ширина | Высота</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>Модератор покинул комнату. Сейчас нет модераторов. Вы можете запросить функции модератора, либо подождать.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>В этой комнате нет модератора, но есть участники. Вы можете запросить функции модератора или подождать</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>Обратная связь $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME: Приглашение</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Сообщение от пользователя:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Текст сообщения:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Для того, чтобы принять участие в совещании, нажмите на следую ссылку:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Нажмите здесь для того, чтобы войти в комнату совещаний</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>Если не удаётся перейти по ссылке, скопируйте этот URL в браузер:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME SignUp</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>Ваши пользовательские данные:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Логин:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Пароль:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>e-mail:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME-Команда</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>Регистрация в $APP_NAME</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME: Переустановить пароль</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Кликните на этот линк и введите новый пароль:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Кликните здесь, и введите новый пароль</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>Если не удаётся перейти по ссылке, скопируйте этот URL в браузер:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>Переустановка пароля $APP_NAME</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>Пожалуйста, введите дату, например 24.12.2001 (dd.mm.yyyy)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Пожалуйста, введите e-mail, например name@mail.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Пожалуйста, введите вещественное число, например 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Пожалуйста, введите целое число, например 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Пожалуйста, введите телефонный номер, например ++49 0123 123123</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Пожалуйста, введите время, например 12:23 (hh:mm)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Защитить паролем</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Пароль</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Период действия</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Бесконечно</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Период</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>Однократно</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Действует от:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Действует до:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Приглашение в $APP_NAME</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>Для этого кода приглашения нет доступных приглашений</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>Это приглашение уже использовано. Приглашение этого типа не может быть переиспользовано.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>Этот код приглашения недействителен.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Пароль:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Проверить пароль</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Неверный пароль!</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>Браузер</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Синхронизовать аудио/видео</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>Корректный логин, но эта сессия неактивна или не записана на сервере. Вам нужно получит новый ID сессии и перелогиниться</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>SessionId не залогинен или не имеет прав администратора. Чтобы встраивать новых пользователей, SOAP Gateway'ю нужен пользователь с правами администратора.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>У этой сессии нет connected Remoteuser-Data. Либо вы не вызвали SOAP-Gateway перед доступом к приложению, либо используете неверный ID сессии.</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>У этого рекордера - Beta-версия</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>ось x</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>ось y</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>w</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>ширина</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>высота</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Изменить прозрачность</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Браузер открыть</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Браузер закрыть</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>Потеряно соединение с сервером. Загрузите заново приложение, либо проверьте вашу сеть.</value>
+  </string>
+  <string id="557" name="557">
+    <value>Указатель</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Синхронизация</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Синхронизация пользователей, подождите</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value></value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value></value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value></value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value></value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value></value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Напоминатель:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Категория:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Повторение:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>none</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Место:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Начало</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>Конец</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Название</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Комментарий</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Приглашения</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Ежедневно</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Ежемесячно</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Ежегодно</value>
+  </string>
+  <string id="578" name="alert">
+    <value>Конец совещания после начала совещания!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Пожалуйста, вставьте заголовок!</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>Активируйте это, если на вашем языке пишут справа налево</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>информационная панель</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Посмотреть записанные совещания и лекции</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Совещание - проведите конференцию с 4 участниками (число участников может доходить до 16)у каждого будет аудио/видео</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Лекция - проведите конференцию с участниками, число которых – до 200Аудио/видео будет только у модератора</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Создание пользователей, комнат, организаций + изменить конфигурацию</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Сейчас пользователи в этой комнате</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Логин</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>x</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Загрузка документа. Подождите, пока клиент синхронизируется.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Загружено, конвертация документа</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Начать</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Импорт файла. Выберите файл на вашем компьютере.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Отмена</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Выбрать файл</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Соединения</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Значение</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>ID потока</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Логин</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Соединено с</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Комната / Scope</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Выбросить польз-ля</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Выбросить польз-ля</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Вы действительно хотите отключит этого клиента? Клиент может залогиниться вновь</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Ваша сессия завершена администратором или модератором.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Телефон</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>Этот пользователь - модератор в этой комнате</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>Пользователю разрешено рисовать на доске</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Ре)старт аудио/видео или изменение установок устройства</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Разрешить этому польз-лю рисовать на доске</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Запретить рисовать на доске</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Участники</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Документы</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Доска</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Чат</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Вашей учетной записи соответствует несколько организаций. Пожалуйста, выберите одну организацию для данной сессии.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>Эта комната заполнена. Попробуйте попозже.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Тип комнаты</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Комната назначений</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Время сервера</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME: Напоминание</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Сообщение от пользователя:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Текст сообщения:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Для того, чтобы принять участие в совещании, кликните на ссылку:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Нажмите здесь для того, чтобы войти в комнату совещаний</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>Если не удаётся перейти по ссылке, скопируйте этот URL в браузер:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>имеющиеся пользователи</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>пригласить других</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>Имя</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>Фамилия</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>e-mail</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Подтверждение выхода</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Вы уверены, что хотите выйти?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Действия</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Демо комната</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Время демонстрации</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Таймер совещания</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>Это - демо комната. Чтобы отключить это сообщение, либо создайте личную комнату, либо установите собственный сервер. Вы автоматически будете отключены от комнаты через:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Модерируется</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Подождите, пока модератор зайдёт в комнату. Модератором может быть лектор, администратор, либо создатель этой комнаты.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>ОК</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Другой пользователь делает экран общим</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>Пользователь делает экран общим:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Сделать экран общим</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Добавить новое совещание</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Комната совещаний</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Комната лекций</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Модерация</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Модерировать пользователей</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Модерировать комнаты</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Хотите сделать этого пользователя модератором этой организации?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Выберите организации перед тем, как добавлять в неё пользователей</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Модератор организации</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Вы действительно хотите удалить пользователя из этой организации</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>Этот пользователь - модератор</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>Этот пользователь - не модератор</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Хотите, чтобы пользователь не был модератором в этой организации?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Добавление или удаление польз-ля/комнаты, относящихся к вашейорганизации</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Вы действительно хотите удалить эту запись?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Вы действительно хотите удалить этого польз-ля из вашей организации? В этом случае вы лишь удалите пользователем из организации, а для полного удаления пользователя нужно зайти на панель администрирования.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>Вы не можете удалить себя</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>Этот метод можно вызвать, только используя аккаунт администратора.</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>Не было сессии, ассоциирующийся с этим ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>Это - аккаунт администратора или модератора. Вы можете редактировать его только через панель адмиинистрирования.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>Для завершения регистрации кликните на эту ссылку или скопируйте URL в окно браузера.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Кликните для верификации вашего e-mail.</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Для этого Хеша не найдено пользователей.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Этот пользователь уже активирован!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Вы успешно активировали ваш аккаунт</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Входите сейчас</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Ваш аккаунт не активирован. Сначала перейдите по ссылке, полученной в письме, которое вы получили при регистрации.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>Вы успешно зарегистрировались. Вам отправлено письмо с кодом проверки. Проверьте вашу почту.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Снять роль модератора у этого пользователя</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Дать пользователю права модерации</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>Пользователь</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Доступ к доске</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Модератор</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Модерация: Выберите поль-ля из списка для того, чтобы дать ему доступ к доске, модерации или видео.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>Этот пользователь уже модератор, поэтому он автоматически имеет право рисовать.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>Это вы! Вы не можете удалить права модерации у себя.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Разрешить этому пользователю публиковать своё Аудио/Видео</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Удалить Аудио/Видео этого пользователя</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>Я хочу получить права модерации в этой комнате</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>Я хочу рисовать на доске</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>Я хочу сделать моё Аудио/Видео общим</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>Вы - модератор в этой комнате</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>Вам разрешено рисовать на доске</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>Вам разрешено сделать ваше Аудио/Видео общим</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Сообщение модератору</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>Пользователь</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>желает стать модератором. Для того, чтобы разрешить или запретить функцию модерации, используйте иконки статуса рядом с именами пользователей в списке пользователей.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>желает рисовать на доске. Для того, чтобы разрешить или запретить рисовать на доске, используйте иконки статуса рядом с именами в списке пользователей.</value>
+  </string>
+  <string id="695" name="695">
+    <value>желает сделать своё Аудио/Видео общим. Для того, чтобы разрешить или запретить пользователям делать Аудио/Видео общим, используйте иконки статуса рядом с именами пользователей в списке пользователей.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>Нужно подождать, пока модератор войдёт в комнату.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Отменить</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Сохранить</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>День</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Месяц</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Год</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Загрузить файл</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Добавить папку</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Обновить</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Мусорка</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>Мои файлы (Локальное устройство)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Файлы из комнаты (Общее устройство)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Добавить файл</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Добавить папку</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Удалить папку</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Редактировать имя</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>Новая папка</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Вы уверены, что хотите удалить этот пункт?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Поиск</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Поиск</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Открыть документ</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Показать все файлы (в виде дерева)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Закрыть документ</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Удалить файл</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>Вы не можете рисовать на доске. Вам нужно либо стать модератором, либо получить от модератора право на рисование. Вы можете попросить модератора предоставить вам такое право.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Свойства документа</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Запустить клиент (внешний)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Запустить клиент (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>Пользователь хочет сделать свой экран общим. Хотите увидеть его экран?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>В данный момент вы публикуете ваш экран. Чтобы прекратить публикацию, нажмите кнопку "Stop" клиента</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Сессия публикации экрана</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>Вы уже опубликовали ваш экран</value>
+  </string>
+  <string id="728" name="sharing client">
+    <value>Просмотрщик рабочего стола</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Выйти</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Публикатор экрана</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Нажмите, чтобы открыть общий доступ к вашему экрану</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Открыть доступ</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Приостановить доступ</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Выберите область экрана</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Изменить ширину</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>Участник закончил публиковать свой рабочий стол</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Изменить высоту</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>Смещение X</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Смещение Y</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Ширина:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Высота:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>Соединение завершено сервером</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Отмена</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Запустить внешний</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>Полностью закрыв сессию, вы не сможете больше перезапустить просмотрщик для неё</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Подтвердите закрытие сессии просмотрщика</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Сделать экран общим</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Сессия записи</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Совместный просмотр</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>К сожалению, Firefox на ОС Windows не поддерживает совместный просмотр. Используйте другой браузер.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Предыдущая</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Следующая</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Перегрузить</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Домашняя страница</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Загрузить</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Добавить в ваш профиль эту веб-страницу как страницу по умолчанию</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Настройки теста</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Проверьте установки микрофона и камеры перед тем, как войти в комнату. Запишите 5-секундное тестовое видео. После записи можно проиграть видео и проверить качество картинки и звука.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Больше не показывать этот текст</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Отмена</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>К конференции</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Больше не спрашивать</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>ЗАПИСЬ</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>ПРОИГРАТЬ</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>Можно продолжить без тестирования, если не планируете публиковать ваш голос и видео. Участники без аудио и видео могут использовать доску, публиковать свой экран, а также участвовать в чате.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>СТОП</value>
+  </string>
+  <string id="767" name="767">
+    <value>Уровень звука</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Старт</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Участвуйте в конференции</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Начните лекцию</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Выбор комнаты</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Настройки</value>
+  </string>
+  <string id="773" name="start view">
+    <value>К конференции</value>
+  </string>
+  <string id="774" name="start view">
+    <value>Как участвовать в конференции:</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Начать запись</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Не показывать окно проверки аудио/записи видео при входе в конференцию</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Публичные комнаты</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Публичными комнатами могут пользоваться все пользователи</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Приватные комнаты</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Приватными комнатами могут пользоваться только пользователи из той же организации</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>Мои комнаты</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Комнаты этой секции - для персонального использования. Они созданы через календарь, у них есть начало и конец жизни. Эти комнаты перечислены здесь только то время, пока ими можно пользоваться.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>Для этого действия вы должны быть модератором</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Подать заявку на модерацию</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Подать заявку на доступ к доске</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Подать заявку на доступ к камере и микрофону</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>Хеш-код этой сессии уже использован. Нельзя использовать его дважды.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>СТАРТ</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>ВЫХОД</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Вы на самом деле хотите выйти? Возможно, вам нужно удалить загруженные документы, очистить доску и историю чата.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Выйти из конференции</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Комнаты</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Выберите комнату для совещания</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>В календаре есть несохранённые события. Сохраните их или удалите.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Добавьте хотя бы одного участника в совещание</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Вы действительно хотите удалить это событие?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Предупреждение</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Добавить событие</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>день</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>неделя</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>месяц</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Описание</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Участники</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME - платформа ваших веб-конференций. Вы можете 1) следуя инструкциям, нажать кнопку "Старт" и участвовать в конференции или 2) перейти в календарь и назначить время.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Запланировать</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>Чтобы назначить конференцию, добавьте новое событие в календарь.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Нужна помощь?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Ограниченная</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Поиск</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Добавить</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>Ни один пользователь не выбран. Выберите его из списка, а затем нажмите "Добавить".</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Добавить участника</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Сохранить</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Удалить</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Детали события</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Модератор по умолчанию</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Супер</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Имя</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>e-mail</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Добавить нового модератора по умолчанию</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Является супермодератором</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>Если комната модерируется, пользователь с правами модератора или администратора автоматически становится модератором при входе. Если вам это не нужно, а Вы лишь хотите, чтобы определённый польз-ль стал модератором, используйте опцию "модератор по умолчанию".</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>Супермодератор всегда становится модератором при входе в комнату. У него нельзя снять флаг модерации.</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Сделать польз-ля супермодератором</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Снять флаг супермодерации с польз-ля</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>x</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>Если для комнаты вы добавите организацию, только пользователи этой организации будут иметь доступ к ней (действительно только если флаг isPublic не установлен)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Модерация</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Ограничения</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Организация</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Вы уверены?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Вы действительно хотите удалить запись? Чтобы запомнить изменения, нажмите кнопку сохранения</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>Пользователь не выбран. Пожалуйста, выберите пользователя</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Добавить модератора по умолчанию</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Хотите добавить флаг супермодератора этому пользователю? Чтобы сохранить это, сохраните объект комнаты.</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Вы действительно хотите удалить флаг супермодератора у пользователя? Чтобы сохранить это, сохраните объект комнаты.</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>Этот польз-ль - супермодератор. Вы не можете удалить флаг модератора у него.</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Вы действительно хотите удалить этот файл/папку?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Удалить этот файл/папку?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Г-жа</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Д-р</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Свойства</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Показывать позицию мыши зрителям</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Совместно использовать аудио и SIP</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Совмистно использовать аудио с SIP и видео с флеш</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Full-Fit</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>Смотреть экран</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>Пользователь</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>хочет сделать экран общим. Хотите видеть его?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Закрыть</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Масштаб</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>Сессия была закрыта хозяином экрана!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Пауза</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>Новый общий экран</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Минимизировать</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Максимизировать</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Видео</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Сроки записи</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>Мои записи</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Публичные записи</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Инфо</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Имя</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Длина</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Дата</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>От</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>ИГРАТЬ</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Главное - видео</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Запись</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>Вы можете записывать и делать экран общим одновременно. Чтобы сделать экран общим, нажмите кнопку “Открыть доступ” сверху. Чтобы только записывать сессию, нажмите "Начать запись".</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Начать запись</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Остановить запись</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Загрузить файл FLV</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Комната</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Играть</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Стоп</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>Микрофон польз-ля включен</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Закрыть доступ</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Разрешить вопросы</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Выключите, чтобы чтобы пользователи в комнате вам не мешали.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Права</value>
+  </string>
+  <string id="882" name="flvrecording">
+    <value>Загрузить как AVI</value>
+  </string>
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Необработанное видео</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Только аудио</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>При обработке записи возникли ошибки.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>Запись ещё не готова. Попробуйте снова через пару минут.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Лог:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Сообщение рекордера</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>Апплет SIP не готов</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>Установки аккаунта SIP</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>Установки SIP для каждого пользователя.</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>Польз-ль SIP</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Пароль Sip</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>Неправильный логин к шлюзу SIP. Проверьте данные ауфентикациивашего провайдера SIP и данные аккаунта SIP для каждого польз-ля. Администратор может сделать проверку через пункт меню Конфигурация. Пользователи и модераторы заблокированы от любых взаимодействий.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>Неправильный логин для шлюза SIP. Обратитесь в службу поддержки!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Войти в шлюз SIP</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Войти в шлюз SIP</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Показать лог</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Лог процесса записи</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>Сообщения апплета SIP</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>Апплет SIP не готов. Примите апплет и нажмите ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Стать модератором</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Сохранить изменения назначения</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>Назначение было изменено. Сохранить изменения? Все участники получат мейл с изменённой датой и временем (в зависимости от типа нотификаций этого назначения).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>Для доступа к другим записям войдите в приложение $APP_NAME.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Выберите пользователя для этого видео</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Доступные пользователи для этого Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>Вы модератор этого интервью. Вы можете решать, кому говорить, и можете начинать / останавливать запись</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Начать запись</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Остановить запись</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>Запись интервью уже начата.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>Запись уже остановлена или ещё не начата.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>Запись этого интервью уже начата!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Отменить</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>Обработка интервью занимает 5 минут на каждую минуту интервью. Текущий прогресс обработки:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>Введите пароль снова, чтобы автоматически создать данные SIP</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Авто-генерация SIP</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>Вы не можете переместить этот файл или папку в его собственную подпапку!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Размер домашнего накопителя</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Размер публичного накопителя</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>Лицензионные установки</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>Вы можете либо назначить дату конца срока действия, либо макс. число минут срока действия лицензии.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Проверить лицензию</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Единая ставка</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Дата конца срока действия</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Осталось секунд</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Общее время</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Ваша лицензия истекла. Вам нужно купить новые минуты либо заплатить по единой ставке.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Нажмите и купите</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Оставшееся время вашего аккаунта:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>Информация о лицензии</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Информация</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Закрыть</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Ваша лицензия истекла. Вам необходимо купить новые минуты либо заплатить по единой ставке.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>Установки лицензии</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>Вы можете купить минуты для того, чтобы проводить веб-конференции. Или заплатите по единой ставке за 3-12 месяцев.Посылка приглашений (прямые ссылки на комнаты) или создание конференций с внешними польз-лями через календарь возможны только в случае оплаты по единой ставке!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Купить 60 минут за 9,99 евро (16 центов за минуту)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Купить 5 часов за 19,99 евро (6 центов за минуту)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Купить 3 месяца за 29,99 евро (9,99 евро за месяц)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Купить 6 месяцев за 39,99 евро (6,66 евро за месяц)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Платить поминутно</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Единая ставка</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>У вас неограниченная лицензия</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Ваша лицензия истекает:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>Вы купили поминутную лицензию. У вас есть:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Купите новый кредит</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Хотите свой собственный сервер?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>Вы хотите установить $APP_NAME на ваш сервер или интегрироваться с Moodle, SugarCRM, веб-сайтом или внутренней сетью? Цены начинаются с 500 евро за инстолляцию!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>или послать сообщение</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Ответить:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Сообщение:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Послать</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Нажмите здесь, чтобы получить контактную информацию ипрайс-лист</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Кредитная карта</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Имя</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Фамилия</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Тип карты</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Номер карты</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Срок окончания действия</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Номер для верификации карты</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Платёжный адрес</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Адрес</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>Город</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Страна</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>Штат (Только US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>Индекс</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Кол-во</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Послать</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Шаг 1: $APP_NAME - Платёжная форма</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Нажмите "Послать через PayPal" чтобы заплатить. Paypal принимает VISA, MasterCard, Discover или American Express. PaypAL не требует подписи.Граждене Германии могут также платить с дебетовой карты (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Спасибо за покупку $APP_NAME. Как только мы получим ваш платёж, ваш аккаунт будет изменён. Вы поллучите письмо с вашим счётом в формате PDF.Вы также можете проверять текущие и прошлые операции в вашем профайле.Сейчас вы можете закрыть ваше окно браузера и вернуться к $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Отправьте и купите!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>нажмите и купите!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Шаг 3: Платёж за $APP_NAME - проверьте заявку и купите!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Имя</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Платёж получен!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Здравствуйте,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>Мы получили ваш платёж. Ваш профайл изменён. Смотрите прикреплённый счёт. Этот и все предыдущие счета могут также быть загружены в ваш профайл.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Спасибо за использование $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Платёж получен $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Статус платежа и транзакции</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Хэш транзакций</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Минуты</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Месяцы</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Статус</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Счёт</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>Для того, чтобы посылать приглашения или создавать митинги через календарь, Вы должны платить по единой ставке. Для поминутной тарификации возможен только доступп к $APP_NAME. Вы не можете разрешить сторонним участникам доступ к митингу.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>Этот email уже используется другим пользователем.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>Установки SIP</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>Номер конференции и PIN автоматически созданы через шлюз OpenXG RPC</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>Номер SIP</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Очистить объекты только на текущем слайде!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Только введённый в строке состояния URL посылается участникам!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Сделать групповые комнаты [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Выберите пользователей для групповой комнаты!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>Здесь вы можете выбрать пользователей и создать новую групповую комнату для конференций для них. Выбранные пользователи будут автоматически перемещены в новую комнату или получат сообщение. Модераторы получат список текущих комнат так, чтобы они могли переключаться на каждую комнату, если нужно.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Имя пользователя</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Логин</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Пользователи в новой групповой комнате:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Создать групповую комнату</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Отмена</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Выберите хотя бы одного пользователя для комнаты!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Добавить пользователя в группу</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Удалить пользователя из комнаты</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>Пользователь - модератор групповой комнаты (Он может управлять комнатами и пользователи комнаты могут просить его прийти)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Тип комнаты</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>Если вы выберете "Переключить пользователя на новую групповую комнату" все выбранные пользователи будут автоматически переключены на новую комнату. Иначе они получат нотификацию с кнопкой, которой они переключиться на новую комнату. Модераторы всегда имеют выбор в управлении комнатами и переключении между ними.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Управление групповыми комнатами</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>Вы можете переключаться между всеми групповыми комнатами, в которых вы модератор. Пользователи внутри комнаты могут посылать вам сообщения, например просить вас зайти в икомнату и помочь. Вы можете также прервать комнату, и все пользователи будут выведены оттуда.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Переместить пользователя в новую комнату</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Имя</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Создано</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Доступные пользователи</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Добавьте польз-ля плюсом слева или удалите крестиком справа!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Установки групповой комнаты</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Добавить пользователя в групповую комнату</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Название групповой комнаты</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Групповая комната</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Изменить для комнаты</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Переключиться на эту групповую комнату</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Прервать групповую комнату и заставить всех пользователей выйти</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>Новая групповая комната</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>Есть новая групповая комната, доступная для вас.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Переключиться на групповую комнату</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Действия групповой комнаты</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>Вы можете переоткрыть это окно через пункт Действия меню!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Послать сообщение модератору групповой комнаты</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>Новая групповая комната</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>Есть новая доступная групповая комната. Вы можете переключиться на неё. Групповые комнаты похожи на "рабочие" с дополнительной возможностью задавать вопросы модератору. Ваши комнаты также доступны в разделе "Мои Митинги".</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Перейти в групповую комнату</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Создано:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Название групповой комнаты:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>Это окно останется открытым даже если вы выйдете из комнаты!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Польз-ли этой групповой комнаты</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Другие групповые комнаты, к которым вы можете перейти</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Послать сообщение модераторам групповой комнаты. Например, если вам нужна помощь в модерации или у вас есть вопрос по теме.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Послать</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Пользователи, приглашённые в эту комнату</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Модератор групповой комнаты</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>Это - люди, которых модератор пригласил в эту групповую комнату.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>Сейчас в этой комнате нет залогиненных модераторов!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Пожалуйста, введите сообщение</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Помогите, в нашей групповой комнате проблемы!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>Пользователь из групповой уомнаты просит помощи.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Запрос групповой комнаты для помощи</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Сообщение:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>От:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>Сейчас вы не находитесь ни в какой групповой комнате. Но можете преключиться на комнаты, к котоым имеете доступ, здесь.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Бэкап системы. Включает все данные, сгенерированные пользователем. Не включается конфигурация и метки языка, потому что они импортируются системным инстоллятором. Для апдейта, сэкспортируйте вашу старую систему (1) преустановите новые пакеты для новой базы данных (2) и симпортируйте файл бэкапа снова (3). Бэкап должен быть симпортирован перед генерацией данных в новой системе.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>Системный бэкап</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Позволить пользователю делать его экран/запись общим</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Запретить пользователю делать его экран/запись общим</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>Пользователь-модератор, и может делать что угодно!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>хотел бы сделать его экран/запись общим.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>Вам разрешается оделать экран/запись общим</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Применить права для общих экрана и записи.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Позволить или запретить делать экран или запись общими.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Выключить звук</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Включить звук</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Только с аудио</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Установите этот флаг, и польз-ли будут иметь только звук опции без видео в комнате для конференций. Полезно для уменьшения нагрузки сети.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Позволить удалённый контроль (для общего экрана)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Запретить удалённый контроль (для общего экрана)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Применить к правам удалённого контроля (для общего экрана)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>У вас нет прав на удалённый контроль (для общего экрана)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>хочет удалённый контроль для общего экрана.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>Пользователь - модератор он может делать всё</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Позволить тлт запретить удалённый контроль (для общего экрана)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) ваш PC удалённому PC: Чтобы скопировать и вставить текст из вашего буфера обмена в удалённый экран, нажмите на экран, потом кликните в текстовом поле и выберите "Вставить" из контекстного меню.2) С удалённого PC на ваш PC: Чтобы скопировать текст с удалённого PC в ваш буфер обмена, выделите текст на удалённом, кликните и выберите</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Скопировать и вставить текст с вашего PC на удалённый PC и наоборот.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Скопировать выделенный текст</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>Как скопировать и вставить</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Качество общего доступа:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Очень высокое качество</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>Высокое качество</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Среднее качество</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Низкое качество</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Клавиатура:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Закрыть вебинар!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>Вебинар уже закрыт, вы будете перенаправлены в</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Закрыть комнату</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Закрыть URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Установки прерывания комнаты</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>Если комната закрыта, пользователь будет перенаправлен на выход.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Имя</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Конфигурационный файл</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Конфигурация Ldap</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>название</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Включено</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Вставлено</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Вставлено</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Изменено</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Изменено</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>Конфигурационные файлы в той же папке, что и hibernate.cfg.xml. Загрузите файлы в папку вручную. Изменения конфиг-файлов происходят немедленно онлайн.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Имя конфиг-файла</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>Если вы включите "добавить домен к имени", значение поля "домен" добавится к каждому логину, который вводится при входе в систему. Это удобно, если логин в Ldap запоминается с доменным именем. Например: пользователь вводит "hans", домен установлен в "localhost.com", логин, который проверяется для Ldap будет: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Добавить домен к имени</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Домен</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Вставить</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Скопировать выделенный текст</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Удалть текст из буфера обмена</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Показать удалённый буфер обмена</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Не показывать снова</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Скопировать текст здесь.</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>Вам нужны права для удалённого контроля (или модерация), чтобы скопировать и вставить текст в или из удалённого экрана.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Установки по умолчанию</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Не показывать информацию о копировании и вставке в удалённом доступе</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Сохранить</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Удалить</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Отменить</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Пригласить польз-ля в комнату для конференций</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Выбрать комнату для конференций. Приглашённый пользователь получит сообщение с вашим именем и ссылку на комнату.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Присоединён с:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Войдите в комнату после отправки приглашения</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Пригласить</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Сообщение</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>хотелось бы пригласить вас в комнату для конференций:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Приглашение</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Послать приглашение</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>принял ваше приглашение!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Принять</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Отказать</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Таймзона</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Детали события</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Имя</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Описание</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Создано</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>Сообщение в ТЗ</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Включите "Сообщение в таймзоне", чтобы попросить пользователя сменить свой профайл при след. логине.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>пожалуйста проверьте таймзону в вашем профайле.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>Новая конференция $APP_NAME:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Детали:</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Старт:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>Конец:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Изменённая конференция $APP_NAME:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Организатор:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Отменённая конференция $APP_NAME:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>Напоминание конференции $APP_NAME:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Общие установки</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Показывать контактные данные всем</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Добавить поля ваших интересов или интересов ваших партнёров в конференцию. Запятая разделяет термины (например: медицинские услуги, забота о здоровье, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>Мои предложения</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>Мои интересы</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Имя</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Таймзона</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Области интересов</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Контактная информация</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Показывать контактные данные только контактам</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Не показывать контактные данные никому</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>Мой профайл</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Редактировать установки</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Искать пользователей</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Посмотреть ваш профайл, как его видят другие</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Редактировать ваши установки, добавить интересы для поиска</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Искать других пользователей и расширить вашу сеть</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Искать</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>Польз-ль предлагает</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>Польз-ль ищет</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Свободный текст</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Имя</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Таймзона</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Предложения</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Поиски</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Результаты поиска</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Действия</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Добавить в контакты</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Послать сообщение</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Контакты и сообщения</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Ожидающие контакты</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Принять</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Запретить</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Здравствуйте,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>хочет добавить вас в список контактов.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Проверьте запросы вашего контакта в $APP_NAME или пойдите по этой ссылке, чтобы on принять или отклонить запрос</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>Этот пользователь уже в вашем списке контактов или получил приглашение добавиться в список, но не ответил.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Ваш список контактов</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Редактируйте ваши контакты и сообщения, управляйте ожидающими контактами!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>подтвердил вас как контакт!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Показать или скопировать лог</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Лог чата</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>От</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Тема</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Послать</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Сообщения</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>Новый мейл</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Нажмите, чтобы написать сообщение вашему контакту</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Напишите новое сообщение</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>Кому:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Тема:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Включиите full fit и доска будет масштабироваться так, чтобы все документы становились видимыми в соответствии с разрешением экрана каждого участника.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Выгнать пользователя</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>Вы не можете выгнать сами себя из комнаты!Если вы хотите покинуть её, закройте окно браузера или используйте кнопку Выход!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Вы действительно хотите выгнать этого пользователя из комнаты?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Подтвердите действие ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>Вы не можете выгнать супер-модератора из комнаты!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Зарезервировать комнату</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Старт</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>Конец</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Добавьте дополнительный запрос для митинга и создайте комнату для конференций. Событие скопируется в календарь каждого участника.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Входящие</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Посланные</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Корзина</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>Это вы! Вы не можете добавить себя в свои контакты.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>Пользователь уже отклонён!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>Пользователь уже подтверждён!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>Хеш контактов этого пользователя невалиден!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>Пользователь добавлен в список контактов!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>Пользователь отклонён как контакт и удалён из списка ожидающих!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>Нет такого контакта!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Вы действительно хотите удалить этот контакт?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Подтвердите удаление контакта</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Удалить контакт из списка</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>Профайл пользователя</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Показать профайл пользователя</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Сообщения</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Поиск</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Все</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Никто</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Непрочит.</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Прочитанные</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>К папке ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Новая папка ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Удалить</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Удалённый мейл всё ещё в корзине!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Непрочит.</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Прочитанное</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Ответить</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Ответить всем</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Переслать</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Действия ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Послать приватное сообщение</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Ничего не выбрано!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Во входящие</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Удалить (навсегда)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>Действие не может быть отменено!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Новая папка</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Добавить папки и упорядочить сообщения!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Добавить папку</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Добавить</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Удалить папку</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>Вы не можете удалить эту папку, там есть сообщения! Удалите их или переместите их в другую папку.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Редактировать имя</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Вы действительно хотите удалить эту папку? Её нельзя восстановить.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Ваш запрос был послан пользователю. Пользователь получит нотификацию о подтверждении или отклонении. Только подтверждённые запросы могут быть в вашем списке контактов!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Сообщение</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>Пользователь не дал совместного доступа к его персональным данным.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>Пользователь разрешил доступ к своим персональным данным только контактам.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Адрес и телефон</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>Код вашего приглашения невалиден, он действует только в определённый период времени.</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>Это событие связано с несколькими календарями других пользователей. Ваши изменения также изменят их календари. Выхотите изменить событие?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Подтвердите изменение</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Позволить контакту видеть мой календарь (только просмотр)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Не давать доступа к календарю</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Календарь контактов</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Ваши контакты должны разрешить вам доступ, прежде чем вы сможете видеть их календари.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>Вы не можете сохранить или удалить событияиз чужих календарей!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Показать мой календарь снова!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>Это событие связано с календарями других пользователей. Ваши действия также удалят сообытие из этих календарей. Вы хотите удалить событие?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Подтвердите действие</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Войти в комнату</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Доступ к комнате</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>К этому приватному сообщению зарезервированы комната и событие.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>Сперва соххраните событие!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>Нет таких доступных комнат. Событиен в календаре и п рисоединённая комната уже удалены!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Выберите ваш ник</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Имя</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Фамилия</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Мейл</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Мин. длина - 4 символа для имени и фамилии вместе!.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Введите валидный мейл</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Войти как Facebook аккаунт</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Записан с</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>Вы зашли с аккаунта Facebook. Вам необходимо прописать правильный мейл в профайл, иначе вы не сможете получать приглашения и приватные сообщения.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Сообщение</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Больше не показывать сообщение об изменении профайла</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>Ещё настройки дисплея ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>Новое приватное сообщение:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Нажмите сюда, чтобы перейти к профайлу и прочитать сообщение ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Ответить</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Комнаты и чаты</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>Мои комнаты</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>Моя комната для конференций(до 16 польз-лей)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>Моя комната для вебинаров (до 120 польз-лей)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Id владельца</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Введите пароль</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>Вам нужен аккаунт уровня пользователя, модератора или админа</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-сервис (только через SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Напрямую загрузите на доску</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Вы действительно хотите удалить эту доску? Это действие не может быть отменено!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Загрузить на доску</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Не забудьте начать запись! 1 пользователь в комнате хочет начать её.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Начать запись</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Стрелка</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Круг</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Линия</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Квадрат</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Треугольник</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Текст</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Фигуры</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Рисовать</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Выделить/Переместить</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Рисовть форму</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Вырезать или Переместить</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Масштаб</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Печать</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Отмена</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Корзина</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Добавить решётку</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Сделать файл общим</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Выбрать форму</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Выбрать фигуру</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Скопировать</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Вырезать</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Вставить</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Удалить</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Вы действительно хотите удалить контент с доски?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Загрузить прямо на доску</value>
+  </string>
+  <string id="1342" name="attendees">
+    <value>Участники</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Менеджер участников</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Присутствуют</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Удалённый контроль</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Извлечь</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Чат</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Пригласить участников</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>По eMail</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>Пользователь - модератор</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>У пользователя включена камера</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Деактивировать заполнение формы</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Активировать заполнение формы</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Привязять к решётке</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Разрешить запись</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Подождать запись</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Скрыть панель инстр.</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Играть видео</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Вы действительно хотите удалить содержание текущего слайда?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Принять и назначить пользовательские права</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Отклонить</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>Я</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Активность и действия</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Удалённая доска</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>Вы должны быть модератором или иметь права на рисование на доске, чтобы удалить доску!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Не разрешено</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value>покинул комнату.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Основные иконки</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>Без категории</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Цвет-стиль</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Качество</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Домен</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>посетить</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>красно-оранжевый</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>цвет морской волны</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>Стальной</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>светлосероголубой</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>золотистый</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>серебряно-серый</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>пользовательский</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>лучший</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>загрузка</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>средний</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Выключить микр. глобально</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Включить микр. глобально</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Дать слово</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>Микрофон был откл. модератором. Вы не можете вкл. микр. сами!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Выкл. микрофон глобально?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Вы действительно хотите отключит микрофон? Другие пользователи не смогут вас слышать!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Отключить микрофон локально?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Вы действительно хотите откл. этот микрофон? Этот микрофон можно отключить только на вашем компьютере. Данное действие не повлияет на то, как остальные участники будут слышать этого пользователя. Только модератор может отключить микрофон глобально!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Отключить микрофон глобально?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Вы действительно хотите отключить этого пользователя? Больше никто не будет слышать его!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Ваш звук включен. Нажмите сюда, чтобы послать модератору сообщение о выключении микрофона глобально (в заполненной комнате)!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Ваш звук выключен. Нажмите сюда, чтобы послать модератору сообщение о включении микрофона глобально (в заполненной комнате)!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>хотел бы, чтобы модератор выключил мой микрофон глобально.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>хотел бы, чтобы модератор включил мой микрофон глобально.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>хочет, чтобы модератор включил его/её микрофон.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>хочет, чтобы модератор выключил его/её микрофон.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Включенный микрофон. Нажмите, чтобы выключить его/её микрофон глобально.</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Выключенный микрофон. Нажмите, чтобы включить его/её микрофон глобально!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>Этот пользователь глобально выключен модератором. Вы не можете включить его!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Выключить ваш микрофон глобально</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Включить ваш микрофон глобально</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Выключить микрофон</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Включить микрофон</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Выключить микрофон глобально</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Включить микрофон глобально</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Только модераторы могут включать или выключать польз-лей глобально! Чтобы выключить ваш микрофон, используйте иконку микрофона!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Имя проголосовавшего</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>Вы</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Заархивированные голосования</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>активные</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Простая диаграмма</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Круговая диаграмма</value>
+  </string>
+  <string id="1416" name="sign_up_validation">
+    <value>Введите е-мейл</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>Новые сообщения</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Закрытое голосование</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Уверены, что хотите закрыть голосование? Больше никто не сможет голосовать.</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Удалить голосование</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Хотите удалить это голосование? Результаты тоже будут удалены.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Код ISO языка</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Разрешить/запретить права на эксклюзивный звук.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Позволить пользователю эксклюзивный звук</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Запретить эксклюзивный звук для пользователя</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>хотел бы получить разрешение на эксклюзивный звук.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>хочу, чтобы модератор разрешил мне эксклюзивный звук.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Разрешить эксклюзивный звук.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Разрешение камеры</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Изменение разрешения влияет на пропускную способность сети, увеличенная картинка требует больше разрешения.</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>У вас нет прав разрешать себе или другим эксклюзивное аудио. Попросите у модератора эти права или пусть он разрешит вам эксклюзивный звук сам.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>Я хотел бы получить разрешение на эксклюзивный звук.</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Дать мне эксклюзивный звук (как альтернатива, кликните на ваш экран или нажмите F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Микрофон включён!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Микрофон выключен</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Скрыть чат</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Скрыть панель действий</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Скрыть панель файлов</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Скрыть меню действий</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Скрыть общий экран</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Скрыть доску</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Показать статус микрофона и видео</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Параметры расположения</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>Новое событие</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Ссылки, защищённые паролем - это ссылки на комнаты, которые посылаются участникам при сохранении события в календаре, не в комнате! Это значит, что если вы сохраняете событие несколько раз с разными паролями, участники каждый раз получают новые ссылки с разными паролями. Но ссылки, посланные ранее, тоже работают!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Редактировать</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Номеронабиратель SIP</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Позвонить</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Показать события календаря для контакта</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Ваш дом!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Планировать митинги</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Смотреть записи и интервью</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Выбрать и начать конференцию</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Управлять пользователями и правами</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Управлять связями и выгонять пользователей</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Управлять группами пользователей</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Управлять комнатами конференций</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Управлять свойствами системы</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Управлять метками и текстом</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Конфигурировать LDAP и ADS</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Экспорт/импорт системных бэкапов</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>Вам нужны права модератора или права на рисование на доске, загрузку, выгрузку, добавление и удаление файлов и папок.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Редактировать текст</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Опубликовать</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Начать публикацию</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Остановить</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Хост</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Опубликовать App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Опубликовать Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Уменьшать ширину SharingScreen'а при перемещении его влево</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Уменьшать высоту SharingScreen'а при перемещении его вниз</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Уменьшать смещение x SharingScreen'а при увеличении его ширины</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Уменьшать смещение y SharingScreen'а при увеличении его высоты</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Настройки для трансляции видео конференции на другие сервисы:</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Пожалуйста, сделайте экран общим для того, чтобы опубликовать его</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Для того, чтобы начать запись, необходимо разрешение модератора</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>Вам необходимо разрешение на предоставление эксклюзивного аудио любому участнику, для этого вам необходимо быть модератором или иметь эксклюзивные права на вкл/выкл микрофонов.</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Загрузить новый файл</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Открыть настройки общего экрана в новом окне</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>Запросить подтверждение модератора</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Запросить разрешение модератора на доступ к камере/микрофону</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Получение обратной связи посредством опроса</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Прошлые и текущие результаты опросов в виде графиков</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Проголосовать, если существует опрос для этой комнаты</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Изменить настройки камеры и микрофона</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Подтвердить и покинуть комнату</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Позвонить внешним участникам при помощи VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Отправить приглашение с прямой ссылкой на эту комнату</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Изменить настройки доски</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Максимальный размер загружаемого файла</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Запросить разрешение модератора на доступ к доске</value>
+  </string>
+</language>
diff --git a/WebContent/languages/slovak.xml b/WebContent/languages/slovak.xml
new file mode 100644
index 0000000..b11416f
--- /dev/null
+++ b/WebContent/languages/slovak.xml
@@ -0,0 +1,4505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Konferencia</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>Stretnutie</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>Podujatia</value>
+  </string>
+  <string id="4" name="settings">
+    <value>Nastavenia</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>Profil</value>
+  </string>
+  <string id="6" name="admin">
+    <value>Administrácia</value>
+  </string>
+  <string id="7" name="stop">
+    <value>Stop</value>
+  </string>
+  <string id="8" name="record">
+    <value>Nahrávanie</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>Žiadny súbor nie je k dispozícií</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>Nahrávanie</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>Pripojení používatelia</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>Začať konferenciu</value>
+  </string>
+  <string id="13" name="myname">
+    <value>Moje meno</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>Videokonferencia</value>
+  </string>
+  <string id="15" name="import">
+    <value>Nahrať súbor</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>Načítať znovu zoznam</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>K hlavnému súboru</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>Nové hlasovanie</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>Nové hlasovanie pre konferenciu</value>
+  </string>
+  <string id="20" name="question">
+    <value>Otázka</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>Typ hlasovania</value>
+  </string>
+  <string id="22" name="create">
+    <value>Vytvoriť</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>Všetci pripojení používatelia prijímajú správu s novým hlasovaním</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>Vytvoriť hlasovanie</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>Zrušiť</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>Áno/Nie</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>Čísla 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>Hlasovanie</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>Musíte byť moderátor pre vytvorenie otázky</value>
+  </string>
+  <string id="30" name="vote">
+    <value>Váš hlas bol zaznamenaný</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>V tomto prieskume ste už hlasovali</value>
+  </string>
+  <string id="32" name="voting">
+    <value>Hlasovať</value>
+  </string>
+  <string id="33" name="answer">
+    <value>Vaša odpoveď</value>
+  </string>
+  <string id="34" name="yes">
+    <value>Áno</value>
+  </string>
+  <string id="35" name="no">
+    <value>Nie</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>chce vedieť</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>Výsledky hlasovania</value>
+  </string>
+  <string id="38" name="question">
+    <value>Otázka</value>
+  </string>
+  <string id="39" name="results">
+    <value>Výsledky</value>
+  </string>
+  <string id="40" name="answers">
+    <value>Odpovede</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>Žiadne hlasovanie nebolo vytvorené</value>
+  </string>
+  <string id="42" name="votings">
+    <value>Hlasovať</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>Stretnutie(max 6 miest)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>Konferencia(max 25 miest)</value>
+  </string>
+  <string id="45" name="type">
+    <value>Typ</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>Ostatné miesta</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>Už vybrané</value>
+  </string>
+  <string id="48" name="enter">
+    <value>vstup</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>Moderátor opustil stretnutie</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>Systémové informácie</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>Vybrať zariadenie</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Vybrať webkameru</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>Vybrať mikrofón</value>
+  </string>
+  <string id="54" name="ok">
+    <value>OK</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>Zrušiť</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>Musíte sa znovu pripojiť</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>Upraviť nastavenia</value>
+  </string>
+  <string id="58" name="course">
+    <value>Kurz</value>
+  </string>
+  <string id="59" name="language">
+    <value>Jazyk</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>OK</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>Zrušiť</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>Zmazať tabuľu</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Chcete zmazať tabuľu pred vložením nového obrázka?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>Nepýtať sa ma znova</value>
+  </string>
+  <string id="65" name="no">
+    <value>Nie</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>Zmeniť nastavenia</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Potvrdiť žiadosť na zmazanie tabule</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>Informácie o používateľovi</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>Zmazať tabuľu</value>
+  </string>
+  <string id="70" name="undo">
+    <value>Zrušiť</value>
+  </string>
+  <string id="71" name="redo">
+    <value>Prerobiť</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>Vybrať objekt</value>
+  </string>
+  <string id="73" name="text">
+    <value>Text</value>
+  </string>
+  <string id="74" name="paint">
+    <value>Farba</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>Nakresliť čiaru</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>Podčiarknuť</value>
+  </string>
+  <string id="77" name="rect">
+    <value>Obdĺžnik</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>Elipsa</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>Šípka</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>Zmazať vybranú položku</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>Požiadať o moderáciu</value>
+  </string>
+  <string id="82" name="apply">
+    <value>Aplikovať</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>Zrušiť</value>
+  </string>
+  <string id="84" name="mod">
+    <value>Nemám otázku</value>
+  </string>
+  <string id="85" name="close">
+    <value>Zatvoriť</value>
+  </string>
+  <string id="86" name="italic">
+    <value>ležatý</value>
+  </string>
+  <string id="87" name="bold">
+    <value>hrubý</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>ČAKÁM</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>Používateľ požiadal o moderáciu. Môžte mu sprístupniť len prístup k tabuli, alebo plnú moderáciu. Používateľ:</value>
+  </string>
+  <string id="90" name="accept">
+    <value>Prijať</value>
+  </string>
+  <string id="91" name="reject">
+    <value>Odmietnuť</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>Zrušiť</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>Posielanie žiadosti nasledovným používateľom</value>
+  </string>
+  <string id="94" name="accept">
+    <value>Potvrdené</value>
+  </string>
+  <string id="95" name="reject">
+    <value>Odmietnuté</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>Zmeniť moderátora</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>Nie ste moderátorom</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>Moderátor</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>Táto miestnosť je už obsadená</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>Elipsa</value>
+  </string>
+  <string id="101" name="close">
+    <value>Zatvoriť</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>chyba vstupných údajov</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>Rozlíšujte veľké a malé písmena a minimálne 4 znaky</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>Heslo musí mať aspoň 4 znaky</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>Používateľské meno už existuje</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>Email už je zaregistrovaný</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>Systémová chyba, kontaktujte administrátora</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>Prihlásenie</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>Meno a email</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>Heslo</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>Jazyk</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>Prihlásiť sa</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>Zaregistrovať sa</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>Používateľské meno</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>Heslo</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>Znova heslo</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Meno</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Priezvisko</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>Email</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>Krajina</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>Registrovať</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>Zrušiť</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>Nie ste členom?</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>Domov</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>Používatelia</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>Skupiny</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>Spoločnosti</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>Miestnosti</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>Verejnosť</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>Spoločnosť</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>Vstup</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>Prihlásenie</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>Heslo</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>Znova heslo</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Titul/Meno</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Priezvisko</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>Email</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>Narodeniny</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>Ulica/Číslo</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>PSČ/Mesto</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>Krajina</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Adresa</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Údaje používateľa</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>Uložiť</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>Uložiť</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>ID používateľa</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>Login</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>Meno</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>Priezvisko</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>Ďalšie</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>Predchádzajúce</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>Zmazať nahrávku</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>Zrušiť</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>Zmazať</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>Nové nahrávanie</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>Obnoviť nahrávanie</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>Zmazať nahrávku</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>Status</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>Zablokované</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>Povolené</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>Spoločnosti</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>Kalendár</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>Zatvoriť</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>ID spoločnosti</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>Meno</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>Používateľ</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>Moderátor</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>Administrátor</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>User level</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>Spoločnosť</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>Meno</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>Pridať organizáciu</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>Pridať organizáciu</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>Zrušiť</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>Pridať</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>Odstrániť organizáciu</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>Používateľ</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>Pridať používateľa</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>Zmazať používateľa</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>Pridať používateľa do spoločnosti</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>Hľadať používateľa</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>Hľadať</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>Používateľ</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>Spoločnosť</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>Zadať</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>Miestnosť</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>Miestnosti</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>ID</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>Meno</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>Verejné</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>Spoločnosti</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>Miestnosti</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>Meno</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>Typ</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>Verejné</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>Komentovať</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>Uložiť a exportovať</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>Nahrať</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>Uložiť ako</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>Meno súboru</value>
+  </string>
+  <string id="201" name="files">
+    <value>Meno súboru</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>Zrušiť</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>Uložiť</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>Chyba</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>Nahrávanie</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>Objekty nahrávané</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>Synchronizujem, prosím čakajte</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>Nahrávanie súboru</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>Synchronizujem, prosím čakajte</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>Zmazať tabuľu</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>Zmazať tabuľu, všetky objektu budú vymazané</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Potvrdiť pred nahratím súboru</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>Zaslať pozvanie</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>Zaslať pozvanie</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>Predmet</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Príjemca</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>Správa</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Poslať</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>Zrušiť</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>Poslať</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>Informácie o používateľovi</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>Vaša prezývka pre túto miestnosť</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>Prezývka</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>Meno</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>Priezvisko</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>Email</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>Jazyk</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>Zadať</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>Nahrávanie</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>Nahrávanie dát, prosím čakajte</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>Nesprávne heslo</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>Zadajte 2 rovnaké heslá</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>Nesprávne heslo</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>Zadali ste nesprávny email</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>Registrácia kompletná</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>Vaše konto bolo vytvorené. Môžte sa prihlásiť.</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>Niekto už zdieľa svoju plochu</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Zdieľanie zakázané</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Zdieľať/nahrávať plochu</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Nemožné synchronizovať plochu. Požiadajte moderátora o zníženie kvality.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>Plocha:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Kreslenie</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Dokument</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>Chat</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>Súbory</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Členovia</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Stiahnuť pôvodný dokument</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>Stiahnuť PDF dokument</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Nahrať prezentáciu na tabuľu</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Konfigurácia</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Ťahať tento objekt</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Zmeniť veľkosť objektu</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value></value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>Prvá strana</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>Predchádzajúca strana</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>Ďalšia strana</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>Posledná strana</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Zoom --</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Zoom ++</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>Pán</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Pani</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Nastavenie</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>Kľúč</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Nastavenie</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>Kľúč</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>Posledná zmena</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>Obnovené</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>Komentovať</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>Hodnota</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value></value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>Použivatelia</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>Zmazať používateľa zo spoločnosti</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>D</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>Tento používateľ je už členom tejto spoločnosti</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>Správy</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Rýchle odkazy</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Choď do miestnosti</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Choď do miestnosti</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Pomoc a podpora</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>Nahlásiť chybu</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>viac</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Stránka projektu (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>Zoznam používateľov (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Zapamätať prihlásenie</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Obsah</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>My home page</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>My scheduled meetings</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>My scheduled events</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Public meetings</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Private meetings</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Public events</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Private events</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Public content</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Private content</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Personal content</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value></value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Moderácia</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>Mám otázku</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Hlasovania</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Vybrať súbor</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Nastavenia</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Nastavenie mikrofónu a kamery</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Nastavenie tabuli</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Východ</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Späť k miestnostiam</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Odhlásiť</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Zabudli ste heslo?</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>Resetovať heslo</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>Using email address</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>Using login</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>Váš email</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>Vaše prihlásenie</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Poslať email s reštartovacím odkazom</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>Žiadny takýto email neexistuje. Uistite sa, že ste zadali rovnaký email ako pri registrácií.</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Prosím zadajte email alebo používateľské meno</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>There is no user connected to this username</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>Email bol zaslaný</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Chyba</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Správa</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>Používateľ sa nenašiel</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Resetovať vaše heslo</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Prihlásenie</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>Zmeniť heslo</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>Nové heslo</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>Znova zadajte heslo</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>Vami zadané heslo nie je identické</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>Rozlišujte veľké/malé písmená a viac ako 4 znaky</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>Heslo nastavené. Môžte sa prihlásiť.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Chyba. Kontaktujte administrátora.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>Používateľské meno sa nenašlo</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Nesprávne heslo</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Úspešne odhlásený</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Registrácia nemožná</value>
+  </string>
+  <string id="339" name="registration">
+    <value>Chybný email</value>
+  </string>
+  <string id="340" name="registration">
+    <value>Duplikátny názov súboru, prosí, zadajte iný</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>Názov súboru príliš krátky</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>Nemožno uložiť adresu</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>Používateľ pridaný, ale je nutné priradiť ho k spoločnosti.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>Nový záznam</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>No field found for the ID</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>No label found</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Autorízácia administrátorom sa vyžaduje</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Jazykový editor</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Jazyk</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>Label ID</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Label name</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Value</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Field values</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>Label name</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>Label value</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>Label ID</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>You have deleted the label</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>Invalid label ID</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>Nemôžte zmazať toto pole</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>Export</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>Musíte sa odhlásiť pre uloženie zmien.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Add new language</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>Delete language</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Add new language</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Name</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>Add language</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Backup</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>prvý</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>predchádzajúci</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>ďalší</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>posledný</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>používateľ hovorí (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>vypnúť/zapnúť zvuk</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>Systém</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>Vaše nastavenie</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>Zdravím</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Upraviť profil</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>Nová správa</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Nahrať nový obrázok</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Exportovať používateľove údaje</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>All organisations must already exist</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>Začať exportovať</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>By organisation</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>Start export</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Import user data</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>Choose users.xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>Importovať</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Exportovať do XML</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Vybrať jazyk dokumentu pre import</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>Importovať</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Uložiť ako</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Meno</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>Komentár</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>Uložiť</value>
+  </string>
+  <string id="395" name="record">
+    <value>Nahrávky</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Prehliadač nahrávok</value>
+  </string>
+  <string id="397" name="record">
+    <value>Nahrávky verejných a súkromných miestností</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>Používatelia</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>Pripojený</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Používatelia v tejto miestnosti</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>Obnoviť</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>Miesta sú obsadené</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>Kliknite na miestnosť pre informácie o miestnosti</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Chat s používateľmi v tejto miestnosti</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Miestnosť</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Používatelia v tejto miestnosti</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>od</value>
+  </string>
+  <string id="409" name="record">
+    <value>Prehrať nahrávku</value>
+  </string>
+  <string id="410" name="record">
+    <value>Dĺžka</value>
+  </string>
+  <string id="411" name="record">
+    <value>Dátum</value>
+  </string>
+  <string id="412" name="record">
+    <value>Režim nahrávania</value>
+  </string>
+  <string id="413" name="record">
+    <value>Prehrať túto nahrávku</value>
+  </string>
+  <string id="414" name="record">
+    <value>Prehrať/Pauza</value>
+  </string>
+  <string id="415" name="record">
+    <value>Nahrať túto miestnosť</value>
+  </string>
+  <string id="416" name="record">
+    <value>Zastaviť nahrávanie</value>
+  </string>
+  <string id="417" name="record">
+    <value>Nahrávanie</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>Niekto už nahráva túto miestnosť</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Nahrávanie. Používateľ:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>Zrušiť</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>Nahrávanie bude zrušené a neuloží sa</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>výsledok</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Zavrieť toto okno a zhrnúť nahrávanie</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>Zmeniť farbu</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Vybrať farbu</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Znemožniť/umožniť farbu</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>Zmeniť farbu výplne</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>Znemožniť/umožniť farbu výplne</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Zmeniť širku</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>Zatvoriť</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>Zmeniť veľkosť písma</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>Zmazať nahrávku</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Hosť</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Meno</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Miestnosť</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Dátum</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>Zrušiť</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>Začať</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Meno</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Dátum</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>Delete server chat log</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>Chat</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>Poslať správu</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Emotikony</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>Emotikony</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Vybrať zariadenie</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Audio a video</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>Iba audio</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>Video iba</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>Žiadne audio/video (obrázok)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>Žiadne audio/video z vášho počítača nie je publikované</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>Po</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>Ut</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>Str</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>Štv</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>Pia</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>So</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>Ne</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>Pondelok</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Utorok</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Streda</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Štvrtok</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Piatok</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Sobota</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Nedela</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>KT</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Kalendár týždeň</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>Január</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>Február</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>Marec</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>Apríl</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>Máj</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>Jún</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>Júl</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>August</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>September</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>Október</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>November</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>December</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Kalendár</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Participujúci</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Zobraziť nastavenie rozloženia</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>šírka | výška</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Video kontajner</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Moderátorský kontajner</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Tabuľový kontajner</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Povolený</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>šírka | výška</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Kontajner dokumentov, chatu a participantov</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Povolený</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>šírka | výška</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>Moderátor opustil miestnosť. V tomto momente nikto neprezentuje.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>V tejto miestnosti nie je moderátor, ale sú tu participujúci. Musíte požiadať o moderáciu alebo počkať.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>Feedback $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Pozvanie</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Správa od:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Správa:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Pre participáciu v tejto miestnosti kliknite na tento link:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Kliknite sem pre vstup do miestnosti:</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>Ak máte problém s odkazom, skopírujte ho do vášho prehliadača:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME prihláseniep</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>Your userdata</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>prihlásenie</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Heslo</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>Email</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME-Team</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME prihlásenie</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - Reset Password</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Kliknite na tento link pre zadanie nového hesla</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Kliknite sem pre zadanie nového hesla</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>Ak máte problémy s týmto odkazom, skopírujte si ho priamo do vyhľadávača:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>Reset hesla</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>Prosím zadajte správny dátum vo formáte 24.12.2001 (dd.mm.yyyy)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Prosím zadajte správny email vo forme name@mail.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Prosím zadajte číslo, napríklad 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Prosím zadajte celé číslo, napríklad 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Prosím zadajte platné telefónne číslo, napríklad +49 0123 123123</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Prosím zadajte správny čas, napríklad 12:23 (hh:mm)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Chránené heslom</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Heslo</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Validačná doba</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Nekonečné</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Obdobie</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>Jednorázové</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Platné od</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Platné do</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Pozvanie do $APP_NAME</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>Žiadna pozvánka pre tento kód neexistuje</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>Toto pozvanie už bolo použité</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>Pozývací kód je neplatný</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Heslo</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Skontrolovať heslo</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Neplatné heslo</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>Audio/video</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Synchronizovať audio/video</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>Prihlásenie je správne, ale stretnutie nie je aktívne</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>ID miestnosti nie je prihlásené alebo nemá administrátorské práva. SOAP brána potrebuje používateľa s administrátorskými právami na vloženie nového používateľa.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>This Session has no remoteuser-data connected. You did not call the SOAP gateway before accessing the application or you are using a wrong session ID</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>The recorder is currently beta</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>os x</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>os y</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>š</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>šírka</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>v</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>výška</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Zmeniť priehľadnosť</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Otvoriť prehliadač</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Zatvoriť prehliadač</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>Pripojenie na server zlyhalo</value>
+  </string>
+  <string id="557" name="557">
+    <value>Ukazovátko</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Synchronizovanie</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Synchronizovanie, prosím čakajte</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Stiahnúť ako SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Stiahnúť ako PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Stiahnúť ako JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Stiahnúť ako PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Stiahnúť ako TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Pripomienka</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Kategória</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Opakovanie</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>žiadne</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Umiestnenie</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Začiatok</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>Koniec</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Názov</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Komentár</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Pozvať ľudí</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Denne</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Mesačne</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Ročne</value>
+  </string>
+  <string id="578" name="alert">
+    <value>Stretnutie končí až v čase neskoršom ako začalo</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Prosím vložte názov</value>
+  </string>
+  <string id="580" name="580">
+    <value>Zprava doľava</value>
+  </string>
+  <string id="581" name="581">
+    <value>Aktivovať ak píšete sprava doľava</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Tabuľa</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Pozerať nahrávky stretnutí</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Stretnutie - make a conference with between 4 and 16 users&lt;br/&gt;and everybody will have audio and video access</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Event - make a conference with up to 200 participents&lt;br/&gt;but only the moderator will have audio and video access</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Create users, rooms, organisations&lt;br/&gt; and change configuration</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Používatelia v tejto miestnosti</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Prihlásenie</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Nahrávam dokument. Počkajte pokiaľ všetci klienti nebudú zosynchronizovaní.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Nahratie kompletné, konvertujem dokument</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Začať nahrávanie</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Nahrať a importovať dialóg. Prosím vyberte súbor.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Zrušiť</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Vybrať súbor</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Pripojenia</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Hodnota</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Stream ID</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Prihlásenie</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Pripojený od</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Miestnosť / Oblasť</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Vyhodiť používateľa</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Vyhodiť používateľa</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Naozaj chcete vyhodiť tohto klienta z miestnosti?</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Vaše stretnutie bolo zavreté administrátorom alebo moderátorom.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Telefón</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>Používateľ je moderátorom tejto miestnosti</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>Používateľ má právo kresliť na tabuľu</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Re) štartovať audio/video alebo zmeniť nastavenia zaradenia</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Povoliť tomuto používateľovi kresliť na tabuľu</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Odobrať právo kresliť na tabuľu</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Používatelia</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Súbory</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Tabuľa</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Chat</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Váš účet je priradený k viacerým spoločnostiam.Prosím vyberte si jednu pre túto miestnosť.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>Miestnosť je už obsadená</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Typ miestnosti</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Miestnosť</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Čas</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>Clickjobfair - Pripomienka</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Správa od používateľa:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Správa:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Kliknite na tento odkaz pre účasť na konferencií:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Kliknite tu pre vstup do miestnosti</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>Ak máte problém s odkazom, prosím skopírujte ho priamo do prehliadača:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>Hladať vnútorne</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>Pridať externý</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>Meno</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>Priezvisko</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>Email</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Potvrdiť odhlásenie</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Chcete naozaj odísť?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Akcia</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Demo miestnosť</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Demo čas</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Časovač stretnutia</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>This room is a demo room. You will be automatically logged off in:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Moderované</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Prosím počkajte na vstup moderátora do miestnosti</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>OK</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Prichádzajúce zdieľanie plochy</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>Prichádza nové zdieľanie plochy od tohto používateľa:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Začať zdieľanie</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Pridať nové stretnutie</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Miestnosť</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Miestnosť</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Moderácia</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Moderovať používateľov</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Moderovať miestnosti</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Chcete aby sa tento používateľ stal moderátorom spoločnosti?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Prosím zvoľte spoločnosť pred pridaním používateľa</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Spoločnosť - moderátor</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Chcete naozaj vymazať tohto používateľa zo spoločnosti?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>Tento používateľ je moderátor</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>Tento používateľ nie je moderátor</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Chcete aby tento používateľ bol moderátorom tejto spoločnosti?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Pridať alebo zmazať používateľov/miestnosti zo spoločnosti</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Chcete naozaj zmazať túto nahrávku?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Chcete naozaj zmazať tohto používateľa z vašej spoločnosti?</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>Nemôžte zmazať vlastného používateľa</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>Táto metóda potrebuje administrátorský prístup</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>Nie je žiadne stretnutie spojené s týmto ID</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>Toto je administrátorsky/moderátorsky účet. Môžte zmeniť tento účet cez administračný panel.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>Pre dokončenie registrácie kliknite na nasledujúci odkaz</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Kliknite pre overenie vášho emailu</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Žiadny používateľ sa nenašiel pre tento hash</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Tento používateľ je už aktivovaný</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Úspešne ste aktivovali svoj účet</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Prihlásiť sa teraz</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Your account is not activated. Please use the link in the email you received during registration.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>You have successfully signed up. An email with a verification code will be sent to your mailbox.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Odobrať moderovanie tomuto používateľovi</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Udeliť právo moderovať tomuto používateľovi</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>Používateľ</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Prístup k tabuli</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Moderátor</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Prosím vyberte používateľa zo zoznamu pre udelenie práva moderovať/ mať prístup k tabuli alebo videa</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>Tento používateľ už je moderátorom</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>Nemôžte seba zbaviť práva moderovať</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Povoliť tomuto používateľovi publikovať audio/video</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Odobrať audio/video používateľovi</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>Mám otázku</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>Chcem kresliť na tabuľu</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>Chcem zdieľať svoje audio/video</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>Ste moderátorom tejto miestnoti</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>Máte právo kresliť na tabuľu</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>Máte právo zdieľať svoje audio/video</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Správa moderátorovi</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>Používateľ</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>sa chce spýtať otázku</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>chce písať na tabuľu</value>
+  </string>
+  <string id="695" name="695">
+    <value>chce zdieľať svoje audio/video</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>Musíte počkať pokiaľ moderátor vstúpi do miestnosti</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Zrušiť</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Uložiť</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Deň</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Mesiac</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Rok</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Nahrať súbor</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Pridať súbor</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Obnoviť</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Kôš</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>Moje súbory</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Súbory v miestnosti(verejné)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Pridať súbor</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Pridať zložku</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Zmazať zložku</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Zmeniť meno</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>Nový priečinok</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Naozaj chcete zmazať túto položku?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Hľadať</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Hľadať</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Otvoriť dokument</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Zobraziť všetky súbory</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Zatvoriť dokument</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Zmazať súbor</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>Nemáte právo používať tabuľu</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Vlastnosti dokumentu</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Začať Java</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Začať Flash</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>Používateľ chce zdieľať svoju plochu. Zobraziť?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>Práve zdieľate svoju plochu</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Zdieľanie</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>Už zdieľate svoju plochu</value>
+  </string>
+  <string id="728" name="sharing client">
+    <value>Prehliadač plochy</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Zastaviť zdieľanie</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Zdieľač plochy</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Kliknite Štart pre zdieľanie plochy</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Začať zdieľanie</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Pauza</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Vyberte plochu zdieľania:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Zmeniť šírku</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>Zdieľač ukončil stretnutie</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Zmeniť výšku</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Šírka:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Výška:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>Spojenie zavreté serverom</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Zrušiť</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Začať Java</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>Ak zavriete toto stretnutie, nebudete môcť reštartovať prehliadač pre toto stretnutie</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Potvrdiť zavretie okna</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Zdieľať plochu</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>nahrať stretnutie</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Spolu prehliadanie</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Prosím použite Internet Explorer pre Windows</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Predchádzajúce</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Ďalšie</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Obnoviť</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Domov</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Načítať</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Pridať túto stránku ako domovskú v mojom profile</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Testovať nastavenie</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Otestovať audio alebo video nastavenie pred vstupom do miestnosti môžte nahratím stretnutia na pár sekúnd. Môžte si potom prehrať nahrávku a skontrolovať svoje audio/video.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Tento test nezobrazovať viac</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Zrušiť</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Začať stretnutie</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Nepýtať sa znova</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>Môžte prejsť bez testovania ak neplánujete zverejniť svoje audio/video.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="767">
+    <value>Level-meter</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Stlačte štart</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Začať konferenciu</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Začať konferenciu</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Vybrať miestnosť</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Skontrolovať nastavenie</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Začať konferenciu</value>
+  </string>
+  <string id="774" name="start view">
+    <value>Ako konferencovať:</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Začať nahrávanie</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Nezobrazovať udio/video test pred vstupom do miestnosti</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Verejné miestnosti</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Verejné miestnosti sú prístupné pre všetkých používateľov</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Súkromné miestnosti</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Súkromné miestnosti sú prístupné len pr používateľov určitej spoločnosti.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>Moje miestnosti</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Rooms in this section are created for personal usage. There are some standard rooms plus the ones that are created through the calendar and have a start and an end date. The rooms created via the calendar are only listed in this section as long as they are valid.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>Musíte byť moderátorom pre vykonanie tohto úkonu</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Požiadať o moderáciu</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Požiadať o prístup k tabuli</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Požiadať o audio/video prístup</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>Hash tejto miestnosti už bol použitý</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>ŠTART</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>VÝCHOD</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Chcete naozaj odísť?</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Východ z konferencie</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Miestnosti</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Vybrať miestnosť pre stretnutie</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>There is an unsaved event in the Calendar. Please save it or remove it.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Please add at least one attendee for your meeting</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Do you really want to delete this event?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Warning</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Add event</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>Day</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>Week</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>Month</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Description</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Attendees</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>Clickjobfair, your web conferencing platform. You can either follow the 1-2-3 steps to enter a conference room directly or you choose the Calendar to set up a meeting.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Plan a meeting</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>To setup a conference you can add a new event in the calendar</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Need help?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Restricted</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Search</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Add</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>There is no user selected</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Add Attendee</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Save</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Delete</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Event details</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Default moderators</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Name</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>Email</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Add new default moderator</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Is super moderator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>If the room is moderated, any users with a moderator or administrator level access are automatically set to moderator when they enter the room</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>A super moderator is always a moderator when they enter a room</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Make user a super moderator</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Remove super moderator from user</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>If you add an organisation to the room only users of that organisation have access to it</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Limitations</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organisation</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Ste si istý?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Naozaj chcete zmazať túto položku?</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>Nie je žiadny používateľ označený</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Pridať nového moderátora</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Do you want to add the super moderation flag for this user?</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Do you want to remove the super moderation flag for this user? You need to save the room object to save these settings.</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>This user is a super moderator. You cannot remove the moderation flag.</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Chcete naozaj vymazať?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Vymazať?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Pani</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Dr</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Vlastnosti</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Zobraziť pozíciu kurzora</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Zdieľať audio cez SIP applet</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Zdieľať audio cez SIP a video cez Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Napasovanie</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>Vidieť plochu</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>Používateľ</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>chce zdieľať svoju plochu. Zobraziť?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Zavrieť</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>Stretnutie bolo zavreté zdieľajúcim používateľom</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pauza</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>Nové zdieľanie plochy</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimalizovať</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximalizovať</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Nahrávacia časová os</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>Moje nahrávky</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Verejné nahrávky</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Meno</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Dĺžka</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Dátum</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value></value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>Stiahnuť</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Hlavné - video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Nahrávanie</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>Môžte zdieľať a nahrávať svoju plochu súčasne.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Začať nahrávanie</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Ukončiť nahrávanie</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Stiahnuť FLV-súbor</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Miestnosť</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Prehrať</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>Používateľ má zapnutý mikrofón</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Ukončiť zdieľanie</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Povoliť používateľovi otázky</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Vypnúť - aby vás používatelia nevyrušovali</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Práva</value>
+  </string>
+  <string id="882" name="flvrecording">
+    <value>Stiahnuť ako AVI</value>
+  </string>
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Základná videoplocha</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio iba</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>Nastala chyba počas nahrávania</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>Nahrávka nie je ešte hotová na prezeranie</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Zápis:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Správa</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>OK</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIP applet nie je pripravený</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP nastavenia</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP nastavenia pre každého používateľa</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP používateľ</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>SIP heslo</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>SIP auth ID</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>Prihlásenie do SIP brány zlyhalo</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>Prihlásenie do SIP brány zlyhalo. Kontaktujte administrátora</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Pripájanie na SIP bránu...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Pripájanie na SIP bránu...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP applet správa</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>SIP applet nie je pripravený. Potvrďte applet a kliknite OK</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Získať moderáciu</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Uložiť zmeny</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointment has been changed. Do you want to save these changes?</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>Pre prístup k ostatným nahrávkam sa prihláste do $APP_NAME applikácie</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Vybrať používateľa pre toto video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Používatelia k dispozícií</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>Ste moderátorom rozhovoru. Vy rozhodujete kto môže hovoriť.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Začať nahrávanie</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Ukončiť nahrávanie</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>Nahrávanie rozhovoru už prebieha.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>Nahrávanie je zastavené alebo ešte nezačalo.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>Nahrávanie rozhovoru už prebieha!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Zrušiť</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>Spracovanie rozhovoru zaberie 5 minút za každú 1 min nahrávky. Súčasný status spracovania je:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>Nemôžte premiestniť súbor do jeho podsúboru!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Zmazať všetky objekty na tomto slide iba!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Iba adresa zadaná do statusového riadku sa zobrazuje účastníkom!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Spraviť tímové miestnosti</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Vybrať používateľov pre tímové miestnosti!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>Môžte vybrať používateľov tu a vytvoriť miestnosti pre nich. Vybraní používatelia budú automaticky preradení do nich.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Meno</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Prihlásenie</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Používatelia pre novú tímovú miestnosť:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Vytvoriť tímovú miestnosť</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Zrušiť</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Vyberte aspoň 1 používateľa pre tímovú miestnosť!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Pridať používateľa pre tím</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Odstrániť používateľa z tímovej miestnosti</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Typ miestnosti</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>This is a Team-Room, you can send the Team-Moderator a message if you need help. You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>1) Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="room-videos">
+    <value>Videá</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything! [Screen Sharing]</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose &lt;i&gt;Insert&lt;/i&gt; from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;&lt;br/&gt;&lt;br/&gt;&lt;u&gt;&lt;FONT color='#0000CC'&gt;&lt;A HREF="http://www.youtube.com/watch?v=Ukqa01O48uI" TARGET="_BLANK"&gt;watch the demo&lt;/A&gt;&lt;/FONT&gt;&lt;/u&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+    <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">

+    <value>Publish</value>

+  </string>

+  <string id="1466" name="sharing client">

+    <value>Start Publish</value>

+  </string>

+  <string id="1467" name="sharing client">

+    <value>Stop Publish</value>

+  </string>

+  <string id="1468" name="sharing client">

+    <value>Host</value>

+  </string>

+  <string id="1469" name="sharing client">

+    <value>Publish App</value>

+  </string>

+  <string id="1470" name="sharing client">

+    <value>Publish Id</value>

+  </string>

+  <string id="1471" name="sharing client">

+    <value>Reduce the width of the SharingScreen before you try to move it left</value>

+  </string>

+  <string id="1472" name="sharing client">

+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>

+  </string>

+  <string id="1473" name="sharing client">

+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>

+  </string>

+  <string id="1474" name="sharing client">

+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>

+  </string>

+  <string id="1475" name="sharing client">

+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>

+  </string>

+  <string id="1476" name="sharing client">

+    <value>Please start Screen sharing to be able to publish it</value>

+  </string>

+  <string id="1477" name="sharing client">

+    <value>Moderator permission required to start recording</value>

+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>

+  <string id="1492" name="conference menu">

+    <value>Ask moderator to share your whiteboard</value>

+  </string>

+</language>
diff --git a/WebContent/languages/spanish.xml b/WebContent/languages/spanish.xml
new file mode 100644
index 0000000..f2d21b6
--- /dev/null
+++ b/WebContent/languages/spanish.xml
@@ -0,0 +1,4513 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor
+to add new Languages or modify/customize it use the LanguageEditor
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Conferencia</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>Reunión</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>Eventos</value>
+  </string>
+  <string id="4" name="settings">
+    <value>Ajustes</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>Perfil</value>
+  </string>
+  <string id="6" name="admin">
+    <value>Administración</value>
+  </string>
+  <string id="7" name="stop">
+    <value>Detener</value>
+  </string>
+  <string id="8" name="record">
+    <value>Grabar</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>No hay ningún archivo disponible</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>Grabado por el profesor</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>Usuarios conectados:</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>Iniciar conferencia</value>
+  </string>
+  <string id="13" name="myname">
+    <value>Mi nombre</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>Videoconferencia</value>
+  </string>
+  <string id="15" name="import">
+    <value>Enviar un archivo</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>Actualizar la lista</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>Marcar como archivo principal</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>Nueva encuesta</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>Nueva encuesta para la conferencia</value>
+  </string>
+  <string id="20" name="question">
+    <value>Pregunta:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>Tipo de Encuesta:</value>
+  </string>
+  <string id="22" name="create">
+    <value>Crear</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>Información: cada usuario conectado recibe un mensaje con la nueva encuesta.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>Crear encuesta</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>Cancelar</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>Sí/No</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>Valor numérico [1-10]</value>
+  </string>
+  <string id="28" name="poll">
+    <value>Encuesta</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>Se necesita ser moderador para crear una encuesta.</value>
+  </string>
+  <string id="30" name="vote">
+    <value>Su voto ha sido registrado</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>Ya ha respondido a la encuesta con anterioridad</value>
+  </string>
+  <string id="32" name="voting">
+    <value>Votar</value>
+  </string>
+  <string id="33" name="answer">
+    <value>Su respuesta:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>Sí</value>
+  </string>
+  <string id="35" name="no">
+    <value>No</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>Desea saber:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>Resultados</value>
+  </string>
+  <string id="38" name="question">
+    <value>Pregunta:</value>
+  </string>
+  <string id="39" name="results">
+    <value>Resultados:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>Respuestas:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>No hay encuestas</value>
+  </string>
+  <string id="42" name="votings">
+    <value>Votar</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>Reunión (máx 4 puestos)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>Conferencia (máx 50 puestos)</value>
+  </string>
+  <string id="45" name="type">
+    <value>Tipo</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>Otros puestos</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>Ya fue seleccionado.</value>
+  </string>
+  <string id="48" name="enter">
+    <value>Entrar</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>El moderador ha abandonado la reunión.</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>Información del sistema</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>Seleccionar dispositivo</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Seleccionar cámara:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>Seleccionar micrófono:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>Aceptar</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>Cancelar</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>Necesita reconectarse</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>Editar configuración</value>
+  </string>
+  <string id="58" name="course">
+    <value>Curso:</value>
+  </string>
+  <string id="59" name="language">
+    <value>Idioma:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>Aceptar</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>Cancelar</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>Borrar pizarra</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>¿Desea limpiar la pizarra antes de añadir una nueva imagen?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>No volver a preguntar</value>
+  </string>
+  <string id="65" name="no">
+    <value>no</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>Editar configuración</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Requerir confirmación antes de limpiar la pizarra</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>Información del usuario</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>Limpiar la pizarra</value>
+  </string>
+  <string id="70" name="undo">
+    <value>Deshacer</value>
+  </string>
+  <string id="71" name="redo">
+    <value>Rehacer</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>Seleccionar un objeto</value>
+  </string>
+  <string id="73" name="text">
+    <value>Texto</value>
+  </string>
+  <string id="74" name="paint">
+    <value>Pintar</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>Trazar una línea</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>Subrayar</value>
+  </string>
+  <string id="77" name="rect">
+    <value>Rectángulo</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>Elipse</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>Flecha</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>Borrar el ítem escogido</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>Solicitar ser moderador</value>
+  </string>
+  <string id="82" name="apply">
+    <value>Solicitar</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>Cancelar</value>
+  </string>
+  <string id="84" name="mod">
+    <value>Tengo una pregunta</value>
+  </string>
+  <string id="85" name="close">
+    <value>Cerrar</value>
+  </string>
+  <string id="86" name="italic">
+    <value>Itálica</value>
+  </string>
+  <string id="87" name="bold">
+    <value>Negrita</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>En espera...</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>Un usuario solicita la moderación; puede concederle acceso sólo a la pizarra o cambiar por completo el rol de la moderación. Usuario:</value>
+  </string>
+  <string id="90" name="accept">
+    <value>Aceptar</value>
+  </string>
+  <string id="91" name="reject">
+    <value>Denegar</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>Cancelar</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>Enviando la solicitud a los siguientes usuarios</value>
+  </string>
+  <string id="94" name="accept">
+    <value>Aceptado</value>
+  </string>
+  <string id="95" name="reject">
+    <value>Rechazado</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>Cambiar de moderador</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>Usted no es moderador</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>Moderador:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>Lo sentimos, pero esta sala está llena. Inténtelo más tarde</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>Elipse</value>
+  </string>
+  <string id="101" name="close">
+    <value>Cerrado</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>error en la introducción de datos</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>el nombre de usuario debe contener al menos 4 caracteres</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>la clave de usuario debe contener al menos 4 caracteres</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>Este nombre de usuario ya existe</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>Este email ya está registrado</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>Error del sistema, por favor contacte con el administrador</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>Entrar</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>Usuario:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>Contraseña:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>Idioma</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>Entrar</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>Registrarse</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>Usuario:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>Contraseña:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>Contraseña (otra vez):</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Nombre:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Apellidos:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>Correo electrónico:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>País:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>Registrarse</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>Cancelar</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>¿No está registrado?</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>Inicio</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>Usuarios</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>Grupos</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>Organizaciones</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>Salas de Conferencias</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>Público</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>Organización</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>Entrar</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>Inicio</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>Contraseña</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>Escribir de nuevo</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Nombre</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Apellidos</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>Correo Electrónico</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>Fecha nacimiento</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>Dirección</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>Código/Población</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>País</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Más información</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Datos de Usuario</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>Guardar</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>Guardar</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>ID</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>Inicio</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>Nombre</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>Apellido(s)</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>Mostrar siguiente</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>Mostrar anterior</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>Eliminar registro</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>Cancelar</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>Borrar</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>Nuevo registro</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>Actualizar registro</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>Borrar registro</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>Estado</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>desactivado</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>activado</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>Organizaciones</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>Calendario</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>Cerrar</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>ID</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>Nombre</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>Usuario</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>Moderador</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>Administrador</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>Nivel de usuario</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>Organización</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>nombre</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>Añadir organización</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>Añadir organización</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>Cancelar</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>Añadir</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>Eliminar organización</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>Usuario</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>Añadir usuario</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>Eliminar usuario</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>Añadir usuario</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>Buscar usuario</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>Buscar</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>Usuario</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>Organización</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>Entrar</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>Salas</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>Salas de Conferencia</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>ID</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>Nombre</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>pública</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>Organizaciones</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>Salas de Conferencia</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>Nombre</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>Tipo</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>Pública</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>Comentario</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>Guardar y exportar</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>cargar</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>Guardar como</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>Archivo</value>
+  </string>
+  <string id="201" name="files">
+    <value>archivo</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>Cancelar</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>Guardar</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>Error</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>Cargando</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>Objetos cargados</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>Sincronizando clientes, espere un momento.</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>Cargando datos de imagen</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>Sincronizando. Espere, por favor.</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>Limpiar la pizarra</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>limpiar la pizarra, toda la información de la pizarra se perderá</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Confirmar antes de cargar un archivo</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>Enviar invitación</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>Enviar invitación</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>Tema</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Destinatario</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>Mensaje</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Enviar</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>cancelar</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>enviar</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>Datos de usuario</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>Su nombre para esta conferencia</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>Nombre (apodo)</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>Nombre</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>Apellido</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>Email</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>Idioma</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>Entrar</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>Cargando</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>Cargando datos, espere un momento</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>Contraseña errónea</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>Por favor introduzca dos veces las misma contraseña con un mínimo de 4 caracteres</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>Correo inválido</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>Usted ha introducido una dirección no válida de correo electrónico</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>El registro se ha completado con éxito</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>Su cuenta ha sido creada, puede ingresar desde este momento</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>No puede compartir su escritorio en este momento. Alguien más ya está compartiendo su escritorio.</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Compartición no permitida</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Compartir/grabar escritorio</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Problemas de conexión: Su ancho de banda es insuficiente y se perderá la información. Si el mensaje se repite con frecuencia solicite al moderador reducir la calidad de imagen y audio.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>Escritorio de:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Dibujar</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Documento</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>Chat</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>Archivos</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Miembros</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Descargar el documento original</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>Descargar el documento en pdf</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Subir un archivo a la pizarra</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Configuración</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Arrastrar este objeto</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Ajustar el tamaño del objeto</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>de</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>Ir a la primera página</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>Ir a la página anterior</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>Ir a la página siguiente</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>Ir a la última página</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Disminuir Zoom</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Aumentar Zoom</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>Sr.</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Sra.</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Configuración</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+
+  <string id="265" name="conftable_headerkey">
+    <value>Clave</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Configuración</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>Clave</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>última actualización</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>actualizado por</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>comentar</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>Valor</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>de</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>Usuarios</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>Eliminar usuario de la organización</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>Eliminar</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>Este usuario ya es miembro de la organización</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>Noticias</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Enlaces rápidos</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Ir a la (Vídeo)Conferencia</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Ir al Auditorio</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Ayuda y Soporte Técnico</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>Enviar "bug"</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>más</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Web del Proyecto (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>Lista de correo del Proyecto (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Recordar</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Contenido</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>Mi página de inicio</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>Reuniones programadas</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>Eventos programados</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Reuniones públicas</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Reuniones privadas</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Eventos públicos</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Eventos privados</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Contenido público</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Contenido privado</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Contenido personal</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value>...</value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Moderación</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>Tengo una pregunta</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Encuestas</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Seleccione un archivo</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Configuración</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Cámara y micrófono</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Configuración de la pizarra</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Salir</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Regresar a las salas</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Salir</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>¿Ha olvidado su contraseña?</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>Resetear contraseña</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>Por email</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>Por inicio de sesión</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>Su email</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>Su inicio de sesión</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Enviar correo con enlace de restablecimiento</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>No se ha encontrado esa dirección de correo. Asegúrese de introducir la misma dirección que utilizó al crear la cuenta</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Escriba o su correo o su nombre de usuario</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>No hay ningún usuario con ese nombre</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>Se le ha enviado un correo con un enlace especial. Si no aparece este correo revise la configuración de filtros de spam de su servidor y reenvée este correo nuevamente.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Error</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Mensaje</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>No se encontró al usuario (método de generación de claves incorrecto).</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Generar contraseña</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Inicio</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>cambiar contraseña</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>nueva contraseña</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>vuelva a escribir la contraseña</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>Las contraseñas introducidas no son iguales.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>Escriba 4 ó más caracteres. Distingue mayúsculas de minúsculas</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>La contraseña ha sido cambiada, ahora puede iniciar sesión.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>Aceptar</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Error desconocido. Envíe esta información al administrador del sistema.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>No se encontró al usuario</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Contraseña incorrecta</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Ha salido del sistema</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Registro desactivado.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>Correo incorrecto</value>
+  </string>
+  <string id="340" name="registration">
+    <value>nombre de archivo duplicado, por favor seleccione otro</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>el nombre del archivo es demasiado corto</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>No se pudo guardar la dirección</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>El usuario fue añadido, sin embargo deberá estar al menos en una organización para poder iniciar la sesión.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>Nueva grabación</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>No se encontró un campo en este FieldId.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>No se encontró una etiqueta para este campo.</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Se necesita autorización del administrador</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Editor de idioma</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Idioma</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>ID de la etiqueta</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Nombre de la etiqueta</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Valor</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Valor de los campos</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>Nombre</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>Valor de la etiqueta</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>ID de la etiqueta</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>Ha eliminado la etiqueta pero no el campo. No se puede eliminar un campo ya que puede tener etiquetas en otros idiomas.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>ID de la etiqueta incorrecto. Su FieldLanguagesvalues_Id no se encontró en la base de datos.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>Usted no puede eliminar este campo, sólo las etiquetas. No hay una etiqueta cargada por el momento o no se encuentra seleccionada ninguna (puede que no exista en el idioma seleccionado).</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>exportar</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>Necesita cerrar la sesión para ver los cambios.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Añadir nuevo idioma</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>eliminar idioma</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Añadir nuevo idioma</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Nombre</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>añadir idioma</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Copia de seguridad</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>ir al inicio</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>anterior</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>siguiente</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>ir al final</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>el usuario habla (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>encender o apagar sonido</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>Sistema</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>Su configuración</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>Saludos, </value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Editar perfil</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>Nuevos mensajes:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Subir imagen</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Datos de usuario - Exportar</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>Deben existir todas las organizaciones previamente</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>Iniciar la exportación</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>Por organización</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>Iniciar la exportación</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Datos de usuario - Importar</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>Seleccione archivo xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>importar</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Exportar a XML - Estos archivos pueden ser usados para:
+                - Contribuir en el proyecto
+                - Importarlos en otro sistema
+                - Copia de Respaldo
+                - Personalización
+                - Colocarlo en el directorio de idiomas para la próxima instalación.</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Seleccione un archivo de idioma que se importará. Configure correctamente el idioma en el menú desplegable (no importa el nombre que tenga el archivo ya que será importado de todos los modos).</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>importar - seleccionar archivo</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Guardar como...</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Nombre:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>Comentario:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>guardar</value>
+  </string>
+  <string id="395" name="record">
+    <value>Grabaciones</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Visor de grabaciones</value>
+
+  </string>
+  <string id="397" name="record">
+    <value>Grabaciones de salas públicas y privadas</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>Usuarios:</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>Unido:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Usuarios en la sala:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>actualizar</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>La sala esta llena. Por favor, inténtelo más tarde.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>Pulse sobre una sala para ver los detalles</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Conversar con los usuarios de esta sala:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Sala:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Usuarios en esta sala:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>desde:</value>
+  </string>    
+  <string id="409" name="record">
+    <value>reproducir grabación</value>
+  </string>
+  <string id="410" name="record">
+    <value>Duración:</value>
+  </string>
+  <string id="411" name="record">
+    <value>Fecha:</value>
+  </string>
+  <string id="412" name="record">
+    <value>Modo de grabación: no puede cambiar ningún valor ya que se trata de un archivo grabado.</value>
+  </string>
+  <string id="413" name="record">
+    <value>Reproducir esta grabación</value>
+  </string>
+  <string id="414" name="record">
+    <value>Reproducir / Pausa</value>
+  </string>
+  <string id="415" name="record">
+    <value>Iniciar grabación</value>
+  </string>
+  <string id="416" name="record">
+    <value>Detener grabación</value>
+  </string>
+  <string id="417" name="record">
+    <value>Grabación:</value>
+  </string>    
+  <string id="418" name="record_error_msg">
+    <value>Actualmente alguien se encuentra grabando:</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Grabando por el usuario:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>cancelar</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>La grabación será cancelada y no se guardará.</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>reanudar</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Cerrar ventana y reanudar grabación</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>Cambiar el color de línea</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Seleccionar color</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Deshabilitar / Habilitar color de línea</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>Cambiar color de relleno</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>Deshabilitar / Habilitar color de relleno</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Cambiar grosor de línea</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>Cerrar</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>cambiar tamaño de letra</value>
+  </string>    
+  <string id="432" name="recordingslist_delete">
+    <value>Eliminar grabación</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Invitado</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>Por:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Nombre</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Sala</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Fecha</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>cancelar</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>iniciar</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Nombre</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Fecha</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>Eliminar registro (log) de chat en el servidor</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>Chat</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>enviar mensaje</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Emoticones</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>Emoticones</value>
+  </string>    
+  <string id="447" name="choose_video_settings">
+    <value>Seleccionar dispositivos</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Audio y vídeo</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>Sólo audio</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>Sólo vídeo</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>Sin audio/vídeo (Imagen fija)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>No se transmitirá audio/vídeo desde su equipo. En su lugar se mostrará la imagen de su perfil. Seleccione esta configuración si tiene problemas con el ancho de banda de internet.</value>
+  </string>    
+  <string id="453" name="calendar_dayname_monday">
+    <value>LU</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>MA</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>MI</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>JU</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>VI</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>SÁ</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>DO</value>
+  </string>
+  <string id="460" name="calendar_dayname_MondayLabel">
+    <value>Lunes</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Martes</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Miércoles</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Jueves</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Viernes</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Sábado</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Domingo</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>S#</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Número de semana de calendario</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>Enero</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>Febrero</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>Marzo</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>Abril</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>Mayo</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>Junio</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>Julio</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>Agosto</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>Septiembre</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>Octubre</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>Noviembre</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>Diciembre</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Calendario</value>
+  </string>    
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Participantes</value>
+  </string>    
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Mostrar la configuración</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Ancho | Alto</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Contenedor de vídeo</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Contenedor de moderación</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Contenedor de pizarra</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Activado</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Ancho | Alto</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Contenedor de archivos, chat, participantes</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Activado</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Ancho | Alto</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>El moderador se ha retirado por lo que nadie está realizando una presentación en estos momentos. Puede solicitar la moderación o esperar.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>No hay moderador en esta sala, pero sí participantes. Puede solicitar la moderación o esperar.</value>
+  </string>            
+  <string id="499" name="feedback_template_subject">
+    <value>Comentario de $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Invitación</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Mensaje del usuario:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Mensaje:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Pulse en este enlace para poder participar en la conferencia:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Pulse aquí para entrar a la sala</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>Si tiene problemas con el enlace, le sugerimos que copie y pegue el siguiente texto en su navegador:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>Registro $APP_NAME</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>Sus datos de usuario:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Inicio:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Contraseña:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>Correo:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME - Equipo</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME - Registro</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - Resetear contraseña</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Pulse en el siguiente enlace para solicitar una nueva contraseña:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Pulse aquí para introducir una nueva contraseña</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>Si tiene problemas con el enlace, le sugerimos que copie y pegue el siguiente texto en su navegador:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>$APP_NAME - Nueva Contraseña</value>
+  </string>    
+  <string id="518" name="dateRegExpError">
+    <value>Por favor, introduzca una fecha válida con el formato dd.mm.yyyy Ejemplo: 24.12.2008</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Por favor, introduzca una dirección de correo válida</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Por favor, introduzca un número decimal. Ejemplo: 1.00 (use punto y no la coma)</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Por favor, introduzca un número entero</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Por favor, introduzca un número de teléfono válido. Ejemplo: +593 947 225 200</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Por favor introduzca una hora válida en el formato hh:mm. Ejemplo: 12:23</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Contraseña protegida</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Contraseña</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Período de validez</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Sin límite</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Período</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>Una vez</value>
+  </string>
+
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Válido desde:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Válido hasta:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Invitación a $APP_NAME</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>No existe una invitación disponible con este código.</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>Esta invitación ya fue usada y no puede volverse a utilizar.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>El código de invitación no es válido.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Contraseña:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Verificar contraseña</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Contraseña incorrecta</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>Navegador</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Sincronizar audio/vídeo</value>
+  </string>    
+  <string id="541" name="errorCode_invalidSession">
+    <value>El login es correcto, pero la sesión en la que intenta entrar no está activa o no fue guardada en el servidor. Tiene que iniciar una nueva sesión.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>El ID de la sesión no está iniciado o no tiene permisos de administración. La pasarela SOAP necesita un usuario con permisos de administración para añadir nuevos usuarios.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>Esta sesión no tiene datos del usuario remoto conectado. Quizás no llamó a la pasarela SOAP antes de acceder a la aplicación o está utilizando un ID de sesión incorrecto</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>El grabador actualmente está en fase beta</value>
+  </string>    
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>eje-x</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>eje-y</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>a</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>anchura</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>altura</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Cambiar transparencia</value>
+  </string>    
+  <string id="554" name="browserOpen">
+    <value>Abrir el navegador</value>
+  </string>    
+  <string id="555" name="browserClose">
+    <value>Cerrar el navegador</value>
+  </string>    
+  <string id="556" name="connectionLostMessage">
+    <value>Se ha perdido la conexión con el servidor. Necesita recargar la aplicación y/o comprobar su Red.</value>
+  </string>  
+  <string id="557" name="557">
+    <value>Puntero</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Sincronizando</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Sincronizando usuarios. Por favor, espere.</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Descargar como SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Descargar como PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Descargar como JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Descargar como PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Descargar como TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Recuerde:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Categoría:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Repetición:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>ninguno</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Localización:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Inicio</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>Final</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Título:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Comentario:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Invitar a personas</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Diario</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Mensual</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Anual</value>
+  </string>
+  <string id="578" name="alert">
+    <value>La fecha final va después de la fecha de inicio</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Por favor, ponga un título</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>Active esta opción si la escritura de su idioma va de derecha a izquierda</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Panel de control</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Ver eventos o encuentros grabados</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Videoconferencia - Reúnase con 4 ó más (hasta 16) usuarios&lt;br/&gt;todos tendrán acceso de audio y vídeo.</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Auditorio - Reúnase con hasta 200 participantes&lt;br/&gt;sólo el moderador tendrá audio y/o vídeo</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Crear usuarios, salas, organizaciones&lt;br/&gt; + cambios en la configuración</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Usuarios en la sala</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Inicio</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>  
+  <string id="591" name="swf sync message">
+    <value>Cargando documento. Espere hasta que todos los clientes estén sincronizados.</value>
+  </string>  
+  <string id="592" name="upload dialog">
+    <value>Subida completa. Convirtiendo documento...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Iniciar Subida</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Diálogo de subir e importar. Por favor, seleccione un archivo de su disco.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Cancelar</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Seleccionar archivo</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Conexiones</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Valor</value>
+  </string>  
+  <string id="599" name="connection administration panel">
+    <value>ID de flujo</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Inicio</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Conectado desde</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Sala / Ámbito</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Expulsar al usuario</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Expulsar</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>¿Está seguro de querer expulsar a este cliente de la conexión?&lt;br/&gt; El cliente será expulsado de la sala, pero podrá volver a autenticarse de nuevo.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Su sesión ha sido cerrada por el administrador o el moderador.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Teléfono</value>
+  </string>  
+  <string id="608" name="participents panel">
+    <value>El usuario es el moderador de esta sala</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>El usuario tiene permisos para dibujar en la pizarra</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Re) Iniciar audio/vídeo o cambiar la configuración de dispositivos</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Permitir a este usuario dibujar en la pizarra</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Quitar permisos para dibujar en la pizarra</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Usuarios</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Archivos</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Pizarra</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Chat</value>
+  </string>  
+  <string id="617" name="organization choose info">
+    <value>Su cuenta está asignada a varias organizaciones. Seleccione aquella con la que quiera entrar en esta sesión.</value>
+  </string>  
+  <string id="618" name="error message room full">
+    <value>Esta sala está completa. Inténtelo más tarde.</value>
+  </string>    
+  <string id="619" name="roomtypes">
+    <value>Tipo de sala</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Sala para citarse</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Hora del servidor</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - Recordatorio</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Mensaje del usuario:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Mensaje:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Pulse en el enlace para participar en la (Vídeo)Conferencia:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Pulse aquí para entrar en la sala</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>Si tiene problemas, copie y pegue este enlace en su navegador:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>búsqueda interna</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>Añadir externos</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>Nombre</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>Apellidos</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>E-mail</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Confirmar la salida</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>¿Está seguro de que desea salir?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Acciones</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Sala de demostración</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Hora de la demostración</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Horario del encuentro</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>Esta es una sala de demostración. Para desactivar este aviso, debería conseguir una sala privada para uso propio o bien configurar su propio Servidor. Será desconectado automáticamente en:</value>
+  </string>
+   <string id="640" name="meeting room administration">
+    <value>Moderado</value>
+  </string>  
+  <string id="641" name="moderated room waiting message">
+    <value>Por favor, espere hasta que el moderador entre en la sala. El moderador puede ser un profesor, el administrador o el creador de esta sala.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Aceptar</value>
+  </string>  
+  <string id="643" name="window screensharing">
+    <value>Recibiendo el escritorio compartido</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>Hay una nueva recepción de escritorio compartido del usuario:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Comenzar a compartir</value>
+  </string>   
+  <string id="646" name="calendar">
+    <value>Añadir un nuevo encuentro</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Sala de encuentros</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Sala de eventos</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Moderación</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Moderar usuarios</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Moderar salas</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>¿Desea convertir a este usuario en moderador de esa organización?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Por favor, seleccione una organización antes de intentar incluir a un usuario en la misma.</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Organización - Moderador</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>¿Realmente desea borrar a este usuario de la Organización?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>Este usuario es moderador</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>Este usuario no es moderador</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>¿Desea que este usuario deje de ser moderador de esta organización?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Añadir o borrar usuarios y/o salas en su organización</value>
+  </string>
+<string id="661" name="delete confirm question">
+    <value>¿Realmente quiere borrar este registro?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>¿Realmente quiere borrar a este usuario de su organización? Sólo se borrará la conexión entre el usuario y su organización. En realidad, para borrar al usuario debe ingresar al Panel de administración.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>¡Vd no puede borrarse a sí mismo!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>¡Para usar este método necesita de una cuenta de administrador!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>No hay ninguna sesión asociada a este ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>Esta es una cuenta de administrador o de moderador. Sólo puede editar esta cuenta utilizando el Panel de administración.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>Para completar su registro, haga el favor de pulsar en el siguiente enlace. Otra opción es copiar la URL en la barra de su navegador.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Pulse para verificar su correo</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>No se ha encontrado un usuario para ese algoritmo Hash.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>¡Este usuario ya está activado!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>¡Ha activado su cuenta con éxito!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Ingrese ahora</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Su cuenta no está activada. Utilice en primer lugar el enlace que hay en correo recibido al finalizar el proceso de registro.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>Se ha registrado con éxito. Le hemos enviado un correo con un código de verificación. Por favor, revise su cuenta de correo.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Quitar el rol de moderador a este usuario</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Dar permisos de moderación a este usuario</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>Usuario</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Acceso a la pizarra</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Moderador</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Moderación: Por favor, seleccione cualquier usuario de la lista para darle acceso a la pizarra, moderación o vídeo.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>Este usuario ya es moderador, así que automáticamente tiene permisos para dibujar.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>¡Este es Vd! No puede quitarse los permisos de moderación a sí mismo.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Permitir a este usuario publicar su audio/vídeo</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Borrar el audio/vídeo de este usuario</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>Desearía ser moderador de esta sala</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>Desearía utilizar la pizarra</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>Desearía compartir mi audio/vídeo</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>Usted es el moderador de esta sala</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>Tiene permisos para dibujar en la pizarra</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>Tiene permiso para compartir su audio/video</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Mensaje al moderador</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>El Usuario</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>Desearía ser moderador. Use los iconos de estado próximos al usuario en la Lista de Usuarios para agregar o remover el permiso de moderación.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>desearía utilizar la pizarra. Utilice los iconos que hay junto al nombre del usuario (en la Lista de Usuarios) para agregar o quitar los permisos correspondientes.</value>
+  </string>
+  <string id="695" name="695">
+    <value>desearía compartir su audio/vídeo. Use los iconos que hay junto al nombre de usuario (en la Lista de Usuarios) para agregar o quitar los permisos para compartir audio/vídeo.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>Debe esperar hasta que un moderador ingrese a la sala.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Cancelar</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Guardar</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Día</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Mes</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Año</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Subir archivo</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Añadir carpeta</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Actualizar</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Papelera</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>Mis archivos (Dispositivo personal)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Archivos de la sala (Dispositivo público)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Agregar archivo</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Agregar carpeta</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Borrar carpeta</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Editar nombre</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>Nueva carpeta</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>¿Está seguro de que quiere borrar este ítem?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Buscar</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Buscar</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Abrir documento</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Mostrar todos los archivos (Vista de árbol)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Cerrar documento</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Borrar archivo</value>
+  </string>
+   <string id="720" name="file explorer">
+    <value>No tiene permisos para escribir o dibujar en la pizarra. Debe ser moderador o, al menos, tener permisos de edición de la pizarra. Solicíteselo a un moderador.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Propiedades</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Iniciar Java</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Iniciar Flash</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>Un usuario desea compartir su escritorio. ¿Desea visualizarlo?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>Actualmente está compartiendo su escritorio. Para dejar de hacerlo, pulse en el botón Stop en el cliente utilizado.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Compartiendo sesión</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>¡Ya está compartiendo su escritorio!</value>
+  </string>
+  <string id="728" name="sharing client">
+    <value>Visor de escritorio</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Salir</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Compartiendo el escritorio</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Pulse Iniciar para publicar su escritorio</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Iniciar la compartición</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Pausar la compartición</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Seleccione el área de la pantalla:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Cambiar anchura</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>!Ha finalizado esta sesión!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Cambiar altura</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>Desplazamiento eje X</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Desplazamiento eje Y</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Anchura:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Altura:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>La conexión ha sido cerrada por el Servidor</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Cancelar</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Iniciar Java</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>Si cierra esta sesión completamente, no será posible reiniciar el visor durante esta sesión.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Confirmar el cierre de la sesión</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Compartir escritorio</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Grabar sesión</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Co-navegación</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Hum... Firefox en windows no muestra la co-navegación con claridad. Por favor, utilice otro navegador o cierre esta funcionalidad.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Previo</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Siguiente</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Recargar</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Inicio</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Cargar</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Configurar en su perfil este sitio como predeterminado.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Probar configuración</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Compruebe la configuración de su micrófono y/o cámara antes de entrar en la sala. Para ello grabe durante algunos segundos y reprodúzcalo.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>No volver a mostrar este test</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Cancelar</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Iniciar</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>No volver a preguntar</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>Puede continuar sin hacer la comprobación si no desea publicar la imagen y/o el sonido. Los participantes sin audio o sin vídeo pueden en todo caso utilizar la pizarra, compartir su escritorio o enviar mensajes utilizando el chat.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="test setup">
+    <value>Medidor de Nivel</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Presione Iniciar</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Iniciar Conferencia</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Iniciar Evento</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Ir a la sala</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Comprobar Config.</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Iniciar Confer.</value>
+  </string>
+  <string id="774" name="start view">
+    <value>Instrucciones Conferencia:</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Iniciar Grabación</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>No mostrar el test de grabación de audio /vídeo antes de entrar en una Conferencia</value>
+  </string>
+<string id="777" name="overview room">
+    <value>Salas públicas</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Las salas públicas son accesibles para todos los usuarios.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Salas privadas</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Las salas privadas son accesibles sólo para los usuarios de la misma organización.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>Mis salas</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Las salas en esta sección son para uso personal. Se crean utilizando el calendario y tienen una fecha de inicio y de finalización. Sólo se muestran en esta sección durante el intervalo temporal de validez.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>Tiene que ser moderador para ejecutar esta acción.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Solicitar la moderación</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Solicitar acceso a la pizarra</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Solicitar acceso a la cámara/micrófono</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>La autenticación de esta sesión ya ha sido utilizada. No puede hacerse dos veces.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>INICIAR</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>SALIR</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>¿Desea realmente salir? Es conveniente que antes borre los documentos subidos, la pizarra o el historial del chat.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Salir de la conferencia</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Salas</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Seleccione una sala</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>Hay un evento sin guardar en el calendario. Por favor, guárdelo o bien bórrelo.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>¡Añada, al menos, a un participante!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>¿Realmente desea borrar este evento?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Aviso</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Añadir evento</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>día</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>semana</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>mes</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Descripción</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Asistentes</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, su Plataforma Web de Videoconferencia. Sólo siga las instrucciones, presione el botón para iniciar inmediatamente o vaya al Calendario para programar un Encuentro más adelante.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Progr. Encuentro</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>Para planificar una conferencia, añada un nuevo Evento en el Calendario. Para cada Evento se creará automáticamente una sala de (vídeo)conferencia. Usted y el resto de asistentes recibirán un correo con un enlace de la sala.&lt;br/&gt;&lt;br/&gt;Puede escoger entre diferentes tipos de salas con diferentes diseños y sistemas de moderación. También puede escoger entre diferentes tipos de notificación de correo que se envían en cada evento del calendario.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>¿Necesita ayuda?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Restringido</value>
+  </string>
+  <string id="809" name="lzcalender">
+  <value>Buscar</value>
+  </string>
+  <string id="810" name="lzcalender">
+  <value>Añadir</value>
+  </string>
+  <string id="811" name="lzcalendar">
+  <value>No hay ningún usuario seleccionado. Seleccione primero un ítem de la lista y pulse en Añadir.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+  <value>Añadir asistente</value>
+  </string>
+  <string id="813" name="lzcalendar">
+  <value>Guardar</value>
+  </string>
+  <string id="814" name="lzcalendar">
+  <value>Borrar</value>
+  </string>
+  <string id="815" name="lzcalendar">
+  <value>Detalles del Evento</value>
+  </string>
+  <string id="816" name="room admin">
+  <value>Moderadores por defecto</value>
+  </string>
+  <string id="817" name="room admin">
+  <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+  <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+  <value>Nombre</value>
+  </string>
+  <string id="820" name="room admin">
+  <value>Email</value>
+  </string>
+  <string id="821" name="room admin">
+  <value>Añadir nuevo moderador por defecto</value>
+  </string>
+  <string id="822" name="room admin">
+  <value>¿Es supermoderador</value>
+  </string>
+  <string id="823" name="room admin">
+  <value>Si la sala está moderada, quien sea ya moderador seguirá siéndolo. Si no desea que sea así, y sólo quiere que determinado usuario sea el moderador, utilice la opción de moderador por defecto.</value>
+  </string>
+  <string id="824" name="room admin">
+  <value>Un supermoderador es siempre el moderador de una sala cuando entra en ella. Además, nadie puede quitarle la marca de moderación</value>
+  </string>
+  <string id="825" name="room admin">
+  <value>Aplicar supermoderación al usuario</value>
+  </string>
+  <string id="826" name="room admin">
+  <value>Quitar supermoderación al usuario</value>
+  </string>
+  <string id="827" name="room admin">
+  <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+  <value>Si añade una organización a la sala, sólo los usuarios de dicha organización tendrán acceso a la misma (esto sólo es válido si la marca de Pública está configurada como falsa)</value>
+  </string>
+  <string id="829" name="room admin">
+  <value>Moderación</value>
+  </string>
+  <string id="830" name="room admin">
+  <value>Limitaciones</value>
+  </string>
+  <string id="831" name="room admin">
+  <value>Organización</value>
+  </string>
+  <string id="832" name="confirm action">
+  <value>¿Está usted seguro?</value>
+  </string>
+  <string id="833" name="confirm delete">
+  <value>¿Realmente desea borrar este ítem? ¡Tiene que pulsar en el botón de guardar para almacenar los cambios!</value>
+  </string>
+  <string id="834" name="user choose error">
+  <value>No hay ningún usuario seleccionado. Por favor, selecciónelo primero.</value>
+  </string>
+  <string id="835" name="room admin">
+  <value>Añadir un nuevo moderador por defecto</value>
+  </string>
+  <string id="836" name="room admin">
+  <value>¿Desea añadir una marca de supermoderador a este usuario? Recuerde que un supermoderador no sólo es el moderador de una sala, sino que además ningún otro moderador podrá borrar la marca de moderación. Necesita guardar el objeto sala para almacenar estas configuraciones.</value>
+  </string>
+  <string id="837" name="room admin">
+  <value>¿Desea eliminar la marca de supermoderador a este usuario? Necesita guardar el objeto sala para almacenar estas configuraciones.</value>
+  </string>
+  <string id="838" name="super moderator">
+  <value>Este usuario tiene el rol de supermoderador. No puede quitarle la marca de moderación a un supermoderador.</value>
+  </string>
+  <string id="839" name="confirm delete">
+  <value>¿Realmente desea borrar este Archivo/Directorio?</value>
+  </string>
+  <string id="840" name="confirm delete">
+  <value>¿Borrar archivo/directorio?</value>
+  </string>
+  <string id="841" name="salutation">
+  <value>Dña.</value>
+  </string>
+  <string id="842" name="salutation">
+  <value>D.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+  <value>Propiedades</value>
+  </string>
+  <string id="844" name="screen sharer">
+  <value>Mostrar la posición del ratón a los participantes</value>
+  </string>
+  <string id="845" name="publish option">
+  <value>Compartir audio con el applet SIP</value>
+  </string>
+  <string id="846" name="publish option">
+  <value>Compartir audio con SIP y vídeo con Flash</value>
+  </string>
+  <string id="847" name="document panel">
+  <value>Pantalla completa</value>
+  </string>
+  <string id="848" name="screen share">
+  <value>Ver escritorio</value>
+  </string>
+  <string id="849" name="screen share">
+  <value>El usuario</value>
+  </string>
+  <string id="850" name="screen share">
+  <value>desea compartir su escritorio. ¿Desea visualizarlo?</value>
+  </string>
+  <string id="851" name="screen share">
+  <value>Cerrar</value>
+  </string>
+  <string id="852" name="screen sharer">
+  <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+  <value>La sesión ha sido cerrada por quien compartía escritorio</value>
+  </string>
+  <string id="854" name="screen sharer">
+  <value>Pausa</value>
+  </string>
+  <string id="855" name="screen sharer">
+  <value>Nueva compartición de escritorio</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimizar</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximizar</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Vídeo</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Línea temporal de grabación</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>Mis grabaciones</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Grabaciones públicas</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Nombre</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Longitud</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Fecha</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>Por</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>Descarga</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Principal - Vídeo</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Grabación</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>Puede grabar y compartir su escritorio a la vez. Para permitir que otros vean su escritorio, pulse en el botón -iniciar- de la parte superior. Para grabar la sesión, es suficiente con pulsar en iniciar grabación.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Iniciar grabación</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Parar grabación</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Descargar el archivo FLV</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Sala</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>El usuario tiene el micrófono activado</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Detener la compartición</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Permitir preguntas del usuario</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Desactive esta opción para impedir que ningún usuario le moleste en esta sala. Al hacerlo, el botón para solicitar la moderación no será visible.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Permisos</value>
+  </string> 
+  <string id="882" name="flvrecording">
+    <value>Descargar como AVI</value>
+  </string>
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Sólo audio</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>Ha habido errores mientras se procesaba la grabación.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>La grabación aún no esta lista. Inténtelo de nuevo en un par de minutos.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Mensaje del grabador:</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>El applet SIP no está listo</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>Configuración de la cuenta SIP</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>Configuración SIP para cada usuario. Puede activar o desactivar SIP desde Administración > Configuración (Key: enable_sip). Los datos SIP de cada usuario deberían crearse automáticamente.</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>Usuario SIP</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Contraseña SIP</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>ID Aut-SIP</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>La autenticación SIP ha fallado. Debería comprobar los datos de autenticación de su proveedor SIP y de la cuenta SIP de cada usuario. Como administrador, podrá autenticarse y comprobar la configuración. Si entra como usuario o como moderador, cualquier intento de interacción será bloqueado.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>La autenticación SIP ha fallado. Contacte con el servicio técnico.</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Autenticando en la puerta de enlace SIP...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Autenticando en la puerta de enlace SIP...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Mostrar Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Mensajes Log del proceso de postgrabación</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>Mensaje del applet SIP</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>El applet SIP no está listo. Por favor, acepte el applet y pulse OK.</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Solicitar la moderación</value>
+  </string> 
+  <string id="907" name="lzcalendar">
+    <value>Guardar cambios de la cita</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>La cita ha sido cambiada. ¿Desea guardar dichos cambios? <br/><br/>Todos los participantes implicados recibirán un correo con la fecha y hora actualizadas (dependiendo del tipo de notificación de esta cita).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>Para acceder a otras grabaciones, tiene que autenticarse en la aplicación $APP_NAME.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Seleccione el usuario para este vídeo</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Usuarios disponsibles para esta transmisión Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>Usted es moderador en esta entrevista. Puede decidir quién habla así como iniciar / parar la grabación de la sesión.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Iniciar Grabación</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Parar Grabación</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>La grabación de la entrevista está ya iniciada.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>La grabación está ya parada o bien no ha sido iniciada aún.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>¡Ya se ha iniciado la grabación de esta entrevista!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancelar</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>El post-proceso de una entrevista lleva cinco veces más tiempo que el de la propia entrevista. El progreso actual de este proceso es el siguiente:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>Tiene que introducir de nuevo su contraseña para autocrear los datos SIP</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Regenerar datos SIP</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>¡No puede mover este archivo o carpeta dentro de su propio subdirectorio!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Tamaño del dispositivo personal</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Tamaño del dispositivo público</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>Ajustes de licencia</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>Al habilitar la licencia puede obligar a los usuarios bien con una fecha de caducidad bien con un número máximo de minutos.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Comprobar licencia</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Tarifa plana</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Fecha de caducidad</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Segundos restantes</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Tiempo total</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Su licencia ha expirado. Necesita comprar más tiempo (pago por minuto) o bien pasarse a una tarifa plana.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Pulsar y comprar</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Tiempo restante de su cuenta:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>Información de la licencia del usuario</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Cerrar</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Su licencia ha expirado. Necesita comprar o un paquete de tiempo (pago-por-minutos) o una tarifa plana.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>Configuración de la licencia</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>Puede o bien comprar minutos de uso de la videoconferencia.&lt;br/&gt;&lt;br/&gt; O puede comprar una tarifa plana de 3 a 12 meses.&lt;br/&gt;&lt;br/&gt;Sólo se permite el envío de invitaciones (enlaces directos para entrar en las salas) o la creación de salas de conferencia a través del calendario a usuarios con tarifa plana.</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Comprar 60 minutos 9,99 € (16 céntimos por minuto)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Comprar 5 horas 19,99 € (6 céntimos por minuto)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Comprar 3 meses por 29,99 € (9,99 € por mes)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Comporar 6 meses por 39,99 € (6,66 € por mes)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pago-por-minuto</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Tarifa plana</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>Tiene una licencia ilimitada</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Su licencia expirará a las:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>Ha comprado Pago-por-minuto. Todavía tiene:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>¡Ampliar el crédito!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>¿Desea tener su propio servidor?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>Puede que desee tener $APP_NAME instalado en su servidor o integrado con Moodle, SugarCRM, la página web o la intranet. El precio mínimo es de 500 € por la instalación.</value>
+</string>
+<string id="953" name="user-license">
+<value>O envíenos un mensaje</value>
+</string>
+<string id="954" name="user-license">
+<value>Responder a:</value>
+</string>
+<string id="955" name="user-license">
+<value>Mensaje:</value>
+</string>
+<string id="956" name="user-license">
+<value>Enviar</value>
+</string>
+<string id="957" name="user-license">
+<value>Pulse aquí para conseguir información de contacto y precios</value>
+</string>
+<string id="958" name="payment-form">
+<value>Detalles de la tarjeta de crédito</value>
+</string>
+<string id="959" name="payment-form">
+<value>Nombre</value>
+</string>
+<string id="960" name="payment-form">
+<value>Apellidos</value>
+</string>
+<string id="961" name="payment-form">
+<value>Tipo de tarjeta de crédito</value>
+</string>
+<string id="962" name="payment-form">
+<value>Tarjeta VISA</value>
+</string>
+<string id="963" name="payment-form">
+<value>MasterCard</value>
+</string>
+<string id="964" name="payment-form">
+<value>Discover</value>
+</string>
+<string id="965" name="payment-form">
+<value>American Express</value>
+</string>
+<string id="966" name="payment-form">
+<value>Número de la tarjeta de crédito</value>
+</string>
+<string id="967" name="payment-form">
+<value>Fecha de caducidad</value>
+</string>
+<string id="968" name="payment-form">
+<value>Número de verificación de la tarjeta</value>
+</string>
+<string id="969" name="payment-form">
+<value>Dirección de facturación</value>
+</string>
+<string id="970" name="payment-form">
+<value>Dirección</value>
+</string>
+<string id="971" name="payment-form">
+<value></value>
+</string>
+<string id="972" name="payment-form">
+<value>Ciudad</value>
+</string>
+<string id="973" name="payment-form">
+<value>País</value>
+</string>
+<string id="974" name="payment-form">
+<value>Estado (Sólo US)</value>
+</string>
+<string id="975" name="payment-form">
+<value>Código Postal</value>
+</string>
+<string id="976" name="payment-form">
+<value>Cantidad</value>
+</string>
+<string id="977" name="payment-form">
+<value>Enviar</value>
+</string>
+<string id="978" name="payment-form">
+<value>Paso 1: $APP_NAME - Forma de pago</value>
+</string>
+<string id="979" name="payment-form">
+<value>Correo</value>
+</string>
+<string id="980" name="payment-form">
+<value>Pulse "Verificar con Paypal" para pagar.&lt;br/&gt; Paypal acepta VISA, MasterCard, Discover o American Express. &lt;br/&gt;No es obligatorio registrarse con Paypal. &lt;br/&gt;Los ciudadanos de Alemana pueden pagar también utilizando domiciliación bancaria.</value>
+</string>
+<string id="981" name="payment-form">
+<value>Gracias por comprar $APP_NAME. &lt;br/&gt; &lt;br/&gt; Tan pronto como tengamos confirmación del pago, su cuenta será actualizada.&lt;br/&gt; Recibirá un correo con su factura en pdf.&lt;br/&gt;Puede también comprobar los movimientos pasados y actuales en su perfil.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Si lo desea, pueda ya cerrar esta ventana en el navegador y volver a $APP_NAME.</value>
+</string>
+<string id="982" name="payment-form">
+<value>Enviar y Comprar</value>
+</string>
+<string id="983" name="payment-from">
+<value>Pulsar y Comprar</value>
+</string>
+<string id="984" name="payment-from">
+<value>Paso 3: Pago por $APP_NAME - Verifique la orden y pague</value>
+</string>
+<string id="985" name="payment-from">
+<value>Nombre</value>
+</string>
+<string id="986" name="payment-mail">
+<value>¡Pago recibido!</value>
+</string>
+<string id="987" name="payment-mail">
+<value>Saludos,</value>
+</string>
+<string id="988" name="payment-mail">
+<value>Hemos recibido su pago. Su perfil de usuario se ha actualizado convenientemente. Vea adjuntada su factura. Esta (así como todas las anteriores) podrá ser descargada desde su perfil.</value>
+</string>
+<string id="989" name="payment-mail">
+<value>Gracias por utilizar $APP_NAME!</value>
+</string>
+<string id="990" name="payment-mail">
+<value>Pago recibido de $APP_NAME -</value>
+</string>
+<string id="991" name="user-settings">
+<value>Estado de pagos y transferencias</value>
+</string>
+<string id="992" name="user-settings">
+<value>Transcation Hash</value>
+</string>
+<string id="993" name="user-settings">
+<value>Minutos</value>
+</string>
+<string id="994" name="user-settings">
+<value>Meses</value>
+</string>
+<string id="995" name="user-settings">
+<value>EUR</value>
+</string>
+<string id="996" name="user-settings">
+<value>Estado</value>
+</string>
+<string id="997" name="user-settings">
+<value>Factura</value>
+</string>
+<string id="998" name="user-settings">
+<value></value>
+</string>
+<string id="999" name="error-license-flat">
+<value>Necesita comprar una tarifa plana para poder enviar invitaciones o crear encuentros utilizando el calendario. Con el sistema pago por minutos sólo es posible acceder a $APP_NAME.</value>
+</string>
+<string id="1000" name="error user">
+<value>Esta dirección de correo está siendo utilizada por otro usuario.</value>
+</string>
+<string id="1001" name="room-admin">
+<value>Ajustes SIP</value>
+</string>
+<string id="1002" name="room-admin">
+<value>El número de la videoconferencia y el PIN son creados automáticamente utilizando la pasarela OpenXG RPC-Gateway</value>
+</string>
+<string id="1003" name="room-admin">
+<value>Número SIP</value>
+</string>
+<string id="1004" name="room-admin">
+<value>PIN</value>
+</string>
+<string id="1005" name="whiteboard">
+<value>¡Limpiar sólo los objetos de la presentación actual!</value>
+</string>
+<string id="1006" name="co-browser">
+<value>Sólo se enviará a los participantes la URL introducida en la barra de estado</value>
+</string>
+<string id="1007" name="team-split">
+<value>Hacer salas de equipos</value>
+</string>
+<string id="1008" name="team-split">
+<value>Seleccione usuarios para una nueva sala de equipo</value>
+</string>
+<string id="1009" name="team-split">
+<value>Puede seleccionar usuarios aquí y crear una nueva sala de (vídeo)conferencia ("sala de equipo") para los mismos. Los usuarios seleccionados automáticamente podrán conectarse a la nueva sala o bien recibir una notificación. Los moderadores conseguirán adicionalmente una lista de las salas actuales de tal modo que puedan conectarse a cada sala si fuera necesario moderarlas.</value>
+</string>
+<string id="1010" name="team-split">
+<value>Usuario</value>
+</string>
+<string id="1011" name="team-split">
+<value>Login</value>
+</string>
+<string id="1012" name="team-split">
+<value/>
+</string>
+<string id="1013" name="team-split">
+<value>Usuarios para la nueva sala de equipo:</value>
+</string>
+<string id="1014" name="team-split">
+<value>Crear sala de equipo</value>
+</string>
+<string id="1015" name="team-split">
+<value>Cancelar</value>
+</string>
+<string id="1016" name="team-split">
+<value>Seleccione al menos un usuario para la sala de equipo</value>
+</string>
+<string id="1017" name="team-split">
+<value>Añadir un usuario al equipo</value>
+</string>
+<string id="1018" name="team-split">
+<value>Quitar usuarios de la sala de equipo</value>
+</string>
+<string id="1019" name="team-split">
+<value>El usuario es moderador de la sala de equipo (puede gestionar salas, y los usuarios del equipo pueden soliciarte entrar)</value>
+</string>
+<string id="1020" name="team-split">
+<value>Tipo de sala</value>
+</string>
+<string id="1021" name="team-split">
+<value>Si activa "Forzar a los usuarios a conectarse a la nueva sala de equipo" todos los usuarios seleccionados serán conectados automáticamente a la última sala creada. Por otro lado, reciben una notificación con un botón que ellos <i>pueden</i> cambiar a la nueva sala. Los moderadores de equipo siempre tienen libertad de elección para gestionar las salas y conectarse a la que deseen.</value>
+</string>
+<string id="1022" name="team-split">
+<value>Gestionar Salas de Equipos</value>
+</string>
+<string id="1023" name="team-split">
+<value>Puede conectarse aquí a la sala que desee de las que es moderador. Los usuarios del equipo pueden enviarle un mensaje, por ejemplo para pedirle que entre en su sala y les ayude. También puede finalizar la sala de equipo con lo que todos los usuarios serán desconectados.</value>
+</string>
+<string id="1024" name="team-split">
+<value>Forzar al usuario a conectarse a la nueva sala de equipo</value>
+</string>
+<string id="1025" name="team-split">
+<value>Nombre</value>
+</string>
+<string id="1026" name="team-split">
+<value>Creado</value>
+</string>
+<string id="1027" name="team-split">
+<value/>
+</string>
+<string id="1028" name="team-split">
+<value/>
+</string>
+<string id="1029" name="team-split">
+<value>Usuarios disponibles</value>
+</string>
+<string id="1030" name="team-split">
+<value>Añada un usuario con el + en la izquierda o bórrelo con la x de la derecha</value>
+</string>
+<string id="1031" name="team-split">
+<value>1) Configuración de la sala</value>
+</string>
+<string id="1032" name="team-split">
+<value>2) Añadir usuarios a la sala de equipo</value>
+</string>
+<string id="1033" name="team-split">
+<value>Nombre de la sala de equipo</value>
+</string>
+<string id="1034" name="team-split">
+<value>Sala de equipo</value>
+</string>
+<string id="1035" name="team-split">
+<value>Cambiar a la sala</value>
+</string>
+<string id="1036" name="team-split">
+<value>Conectar a esta sala de equipo</value>
+</string>
+<string id="1037" name="team-split">
+<value>Finalizar sala y desconectar a todos los usuarios</value>
+</string>
+<string id="1038" name="team-split">
+<value>Nueva sala de equipo</value>
+</string>
+<string id="1039" name="team-split">
+<value>Hay una nueva sala de equipo disponible para usted.</value>
+</string>
+<string id="1040" name="team-split">
+<value>Cambiar a la sala de equipo</value>
+</string>
+<string id="1041" name="team-split">
+<value>Acciones de la sala de equipo</value>
+</string>
+<string id="1042" name="team-split">
+<value>Puede reabrir esta ventana a través del menú principal en la sección "Acciones"</value>
+</string>
+<string id="1043" name="team-split">
+<value>Enviar mensaje al moderador de la sala de equipo</value>
+</string>
+<string id="1044" name="team-split">
+<value>Nueva sala de equipo</value>
+</string>
+<string id="1045" name="team-split">
+<value>Hay una nueva sala de equipo disponible. Puede cambiarse a esa sala. Las salas de equipo son como "grupos de trabajo" con posibilidades adicionales para solicitar ayuda al moderador. Sus salas de equipo son también accesibles desde la sección "Mis Reuniones".</value>
+</string>
+<string id="1046" name="team-split">
+<value>Cambiar a la sala de equipo</value>
+</string>
+<string id="1047" name="team-split">
+<value>Creada por:</value>
+</string>
+<string id="1048" name="team-split">
+<value>Nombre de la sala de equipo:</value>
+</string>
+<string id="1049" name="team-split">
+<value>Esta ventana permanecerá abierta aunque salga de la sala.</value>
+</string>
+<string id="1050" name="team-split">
+<value>Usuarios de esta sala de equipo</value>
+</string>
+<string id="1051" name="team-split">
+<value>3) Otras salas de equipo a las que podría conectarse</value>
+</string>
+<string id="1052" name="team-split">
+<value>Enviar un mensaje a los moderadores de esta sala. Por ejemplo, si necesita ayuda en la moderación de la sala o si tiene alguna pregunta sobre el tema.</value>
+</string>
+<string id="1053" name="team-split">
+<value>Enviar</value>
+</string>
+<string id="1054" name="team-split">
+<value>2) Usuarios que están invitados a esta sala de equipo</value>
+</string>
+<string id="1055" name="team-split">
+<value>Es moderador de la sala de equipo</value>
+</string>
+<string id="1056" name="team-split">
+<value>Estos son todos los usuarios a los que el moderador ha invitado a entrar a esta sala de equipo.</value>
+</string>
+<string id="1057" name="team-split">
+<value>No hay un moderador conectado en este momento</value>
+</string>
+<string id="1058" name="team-split">
+<value>Por favor, introduzca un mensaje</value>
+</string>
+<string id="1059" name="team-split">
+<value>Por favor, ayúdenos. Tenemos un problema en nuestra sala de equipo</value>
+</string>
+<string id="1060" name="team-split">
+<value>Un usuario de una sala de equipo solicita su ayuda.</value>
+</string>
+<string id="1061" name="team-split">
+<value>El Equipo pide ayuda</value>
+</string>
+<string id="1062" name="team-split">
+<value>Mensaje:</value>
+</string>
+<string id="1063" name="team-split">
+<value>De:</value>
+</string>
+<string id="1064" name="team-split">
+<value>Actualmente no está en ninguna sala de equipo. Puede entrar aquí a todas las Salas a las que tiene acceso.</value>
+</string>
+<string id="1065" name="backupContent">
+    <value>Resguarde el sistma. El backup incluye los datos generados por todos los usuarios. La configuración no se incluye, al igual que las etiquetas de idiomas, ya que esos valores se importan con el instalador de sistema. Para actualizar su sistema, exporte los valores antiguos (1), reinstale en una nueva base de datos el nuevo paquete (2) e importe la archivo de backup de nuevo (3). El Backup debiera ser importado antes  de generar los datos en el nuevo sistema.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>Sistema de Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Permitir al usuario compartir Pantalla/Grabación</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Denegar al usuario compartir Pantalla/Grabación</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>El usuario es moderador, tiene todos los permisos.</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>le gustaría compartir/grabar pantalla.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>Puede compartir/grabar pantalla</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Aplicar para permitir compartir/grabar pantalla.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Permitir/Denegar permisos para compartir/grabar pantalla.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Apagar sonido</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Activar sonido</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Sala de sólo audio</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Active esta bandera y los usuarios tendrán sólo la opción de Audio (sin vídeo) en la sala. Es indicado para ahorrar ancho de banda.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Permitir control remoto (durante la compartición de pantalla)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Denegar control remoto (durante la compartición de pantalla)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Aplicar para permitir el control remoto de la pantalla</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>Tiene permisos para el control remoto de la pantalla (durante la compartición de pantalla)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>le gustaría tener control remoto de la pantalla.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>El usuario es moderador, así que tiene todos los permisos.</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Permitir/Denegar permisos en la Pantalla de Control Remoto (durante la compartición de pantalla)</value>
+  </string>
+ <string id="1085" name="right click screen share">
+    <value>1) De su PC a un PC remoto: para copiar y pegar texto de su portapapeles a una pantalla remota, pulse sobre la pantalla, luego pulse el botón derecho del ratón y, en el campo de texto, seleccione "Insertar" del menú.&lt;br/&gt;&lt;br/&gt;2) Del PC remoto a su PC: para copiar texto de un PC remoto al portapapeles de su PC, seleccione el texto con el ratón en la pantalla remota, luego pulse el botón derecho del ratón sobre la pantalla remota y seleccione &lt;i&gt;Copiar texto destacado&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copie y pegue texto de su PC al PC remoto y viceversa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copie el texto destacado</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>Cómo copiar y pegar</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Calidad para compartir pantalla:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Calidad muy Alta</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>Calidad Alta</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Calidad Media</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Calidad baja</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Teclado:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>¡Cerrar conferencia!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>La conferencia ya está cerrada, será redirigido a otras ofertas interesantes</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Cerra sala</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>URL de Salida</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Configuración de finalización de sala</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>Si la sala está cerrada los usuarios serán redirigidos a la URL de salida.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Nombre</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Archivo de Configuración</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Configuración Ldap</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Nombre</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Activado</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Insertado</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Insertado por</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Actualizado</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Actualizado por</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>Los archivos de configuración están en la misma carpeta que hibernate.cfg.xml. Necesita subir manualmente los archivos a esta carpeta. Los cambios realizados en el archivo estarán online inmediatamente.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Nombre del archivo de configuración</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>Si activa "Añadir Dominio al nombre de usuario" el valor del campo "dominio" se añade a cada registro que el usuario introduce en la casilla de login. Esto es útil si el Login en el Ldap se almacena incluyendo el nombre de dominio. Ejemplo: supongamos que el usuario introduce "hans" y el dominio está especificado como "localhost.com". El login que se verificará contra el Ldap será: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Añadir Dominio al nombre de usuario</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Dominio</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+    <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/swedish.xml b/WebContent/languages/swedish.xml
new file mode 100644
index 0000000..0e9b7e4
--- /dev/null
+++ b/WebContent/languages/swedish.xml
@@ -0,0 +1,4505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Konferens</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>Möte</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>Auditorium</value>
+  </string>
+  <string id="4" name="settings">
+    <value>Inställningar</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>Profil</value>
+  </string>
+  <string id="6" name="admin">
+    <value>Administration</value>
+  </string>
+  <string id="7" name="stop">
+    <value>Stopp</value>
+  </string>
+  <string id="8" name="record">
+    <value>Spela in</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>Ingen fil tillgänglig</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>Inspelad av lärare</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>Anslutna användare:</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>Starta en konferens</value>
+  </string>
+  <string id="13" name="myname">
+    <value>Mitt namn</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>Videokonferens</value>
+  </string>
+  <string id="15" name="import">
+    <value>Importera Presentation</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>Uppdatera lista</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>Till huvudfil</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>Ny omröstning</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>En ny omröstning för konferensen.</value>
+  </string>
+  <string id="20" name="question">
+    <value>Fråga:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>Typ av omröstning:</value>
+  </string>
+  <string id="22" name="create">
+    <value>Skapa</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>Info: Varje ansluten användare får ett meddelande med den nya röstningen.</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>Skapa en omröstning</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>Avbryt</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>Ja/Nej</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>Numerisk 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>Röst</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>Du måste vara Moderator för att skapa en omröstning</value>
+  </string>
+  <string id="30" name="vote">
+    <value>Din röst är accepterad</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>Du har redan röstat i denna omröstning.</value>
+  </string>
+  <string id="32" name="voting">
+    <value>Rösta!</value>
+  </string>
+  <string id="33" name="answer">
+    <value>Din respons:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>Ja</value>
+  </string>
+  <string id="35" name="no">
+    <value>Nej</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>vill veta:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>Röstningsresultat</value>
+  </string>
+  <string id="38" name="question">
+    <value>Fråga:</value>
+  </string>
+  <string id="39" name="results">
+    <value>Resultat:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>Svar:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>Inga nya omröstningar har påbörjats.</value>
+  </string>
+  <string id="42" name="votings">
+    <value>Rösta!</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>Möte (max 4 platser)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>Konferens (max 50 platser)</value>
+  </string>
+  <string id="45" name="type">
+    <value>Typ</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>Andra platser</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>Redan valt</value>
+  </string>
+  <string id="48" name="enter">
+    <value>Stig in</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>Moderatorn har lämnat mötet.</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>Systeminformation</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>Välj utrustning</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Välj webcam:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>Välj mikrofon:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>ok</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>Avbryt</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>Återanslut.</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>Ändra setup.</value>
+  </string>
+  <string id="58" name="course">
+    <value>Kurs:</value>
+  </string>
+  <string id="59" name="language">
+    <value>Språk:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>Ok</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>Avbryt</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>Rensa skrivbordet</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Vill du att skrivbordet skall rensas innan du lägger till en ny bild?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>Fråga inte igen</value>
+  </string>
+  <string id="65" name="no">
+    <value>Nej</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>Ändra setup</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Fråga innan skrivbordet töms?.</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>Användarinfo</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>Rensa ritområdet</value>
+  </string>
+  <string id="70" name="undo">
+    <value>Ångra</value>
+  </string>
+  <string id="71" name="redo">
+    <value>Redo</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>Välj ett objekt</value>
+  </string>
+  <string id="73" name="text">
+    <value>Text</value>
+  </string>
+  <string id="74" name="paint">
+    <value>Måla</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>Rita linje</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>Rita understrykning</value>
+  </string>
+  <string id="77" name="rect">
+    <value>Rektangel</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>Ellips</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>Pil</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>radera valt objekt</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>Lägg till för moderation</value>
+  </string>
+  <string id="82" name="apply">
+    <value>Lägg till</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>Avbryt</value>
+  </string>
+  <string id="84" name="mod">
+    <value>Bli moderator</value>
+  </string>
+  <string id="85" name="close">
+    <value>Stäng</value>
+  </string>
+  <string id="86" name="italic">
+    <value>italic</value>
+  </string>
+  <string id="87" name="bold">
+    <value>fet</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>VÄNTAR</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>En användare väntar för att bli moderator:</value>
+  </string>
+  <string id="90" name="accept">
+    <value>Acceptera</value>
+  </string>
+  <string id="91" name="reject">
+    <value>Neka</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>Avbryt</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>Skicka fråga till följande användare</value>
+  </string>
+  <string id="94" name="accept">
+    <value>Accepterad</value>
+  </string>
+  <string id="95" name="reject">
+    <value>Nekad</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>Ändra moderator</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>Du är inte moderator i denna kurs!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>Moderator:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>Rummet är fullt. Försök igen senare.</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>Ellips</value>
+  </string>
+  <string id="101" name="close">
+    <value>Stäng</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>Fel data angivet</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>Användarnamnet måste innehålla minst 4 tecken</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>Lösenordet måste innehålla minst 4 tecken</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>Användarnamnet är redan använt</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>Denna epost är redan använd</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>Systemfel, kontakta systemadmin</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>Login</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>Användare:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>Lösen:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>Språk</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>Login</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>Registrera</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>Användare:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>Lösen:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>Lösen igen:</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Förnamn:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Efternamn:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>E-post:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>Land:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>Registrera</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>Avbryt</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>Registrera</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>Hem</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>Användare</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>Grupper</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>Organisationer</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>Konferensrum</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>Publik</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>Organisation</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>Stig in</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>Login</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>Lösenord</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>Lösenord igen</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Förnamn</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Efternamn</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>E-post</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>Födelseår</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>Gata/nr</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>Pnr/Stad</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>Land</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Adress-Info</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Användardata</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>Spara</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>Spara</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>Användar-ID</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>Login</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>Förnamn</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>Efternamn</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>Visa nästa</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>Visa föregående</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>Radera innehåll</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>Avbryt</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>Radera</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>Nytt innehåll</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>Uppdatera innehåll</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>Radera innehåll</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>Status</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>Ej tillgänglig</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>Tillgänglig</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>Organisation</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>Kalender</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>Stäng</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>Organisation-ID</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>Namn</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>Användare</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>Moderator</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>Admin</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>Användarnivå</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>Organisation</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>Namn</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>Lägg till organisation</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>Lägg till organisation</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>Avbryt</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>Lägg till</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>Ta bort organisation</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>Användare</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>Lägg till användare</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>Radera användare</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>Lägg till användare</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>Sök användare</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>sök</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>Användare</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>Organisation</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>Stig in</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>Konferensrum</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>Konferensrum</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>Id</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>Namn</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>Publik</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>Organisationer</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>Konferensrum</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>Namn</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>Typ</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>Publik</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>Kommentar</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>Spara</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>Ladda</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>Spara som</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>Filnamn</value>
+  </string>
+  <string id="201" name="files">
+    <value>Filnamn</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>Avbryt</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>Spara</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>Bearbetar</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>Laddar</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>Objekt laddade</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>Synkroniserar, vänta:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>Laddar bilddata</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>Synkroniserar, vänta:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>Rensa ritutrymmet</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>Rensa ritutrymmet, all data kommer att förloras</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Fråga innan inladdning av fil</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>Skicka inbjudan</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>Skicka inbjudan</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>Ämne</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Mottagare</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>Meddelande</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Skicka</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>Avbryt</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>Skicka</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>Användardata</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>Ditt alias i denna konferens</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>Alias</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>Förnamn</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>Efternamn</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>E-post</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>Språk</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>Stig in</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>Laddar</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>Laddar data, vänta!</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>Fel lösenord</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>2 identiska lösenord med minst 6 tecken, tack!</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>Fel e-postadress</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>Du har angett en ogiltig e-postadress</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>Registrering klar</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>Ditt konto är skapat. Du kan logga in.</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>Du kan inte dela din skärm just nu. Någon annan delar sin skärm.</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Delning förbjuden</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Dela skärm</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Dålig bandbredd: Du kan inte synkronisera skärmen. Du kommer att tappa frames. Om denna varning visas ofta kan du be din moderator att sänka kvaliteten.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>Skärm av:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Måla</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Dokument</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>Chat</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>Filer</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Medlemmar</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Ladda ner originaldokument</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>Ladda ner PDF-dokument</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Ladda presentationen till whiteboard</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Konfiguration</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Dra det här objektet</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Ändra storleken på det här objektet</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>av</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>Gå till första sidan</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>Gå till föregående sida</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>Gå till nästa sida</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>Gå till sista sidan</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Zoom --</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Zoom ++</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>Herr</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>Fröken</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Konfiguration</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>Nyckel</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Konfiguration</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>Nyckel</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>senast uppdaterat</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>uppdaterat av</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>kommentar</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>nyckel</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>av</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>Användare</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>radera användare från organisationen</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>radera</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>Den här användaren är redan medlem av den här organisationen.</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>Nyheter</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Snabblänkar</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>Gå till Konferens</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>Gå till Auditorium</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Hjälp och Support</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>Buggrapport</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>mera</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Projektets Webbsida (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>Epostlista För Användare (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Kom Ihåg Inloggning</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Innehåll</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>Min Hemsida</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>Mina Schemalagda Möten</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>Mina Planerade Auditorier</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Allmänna Möten</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Privata Möten</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Allmänna Auditorier</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Privata Auditorier</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Allmänt Innehåll</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Privat Innehåll</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Personligt Innehåll</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value></value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Moderering</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>Anhåll om Moderering</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Omröstningar</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Välj en fil</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Inställningar</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Kam. &amp; Mik. Inställn.</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Whiteboard Inställningar</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Avsluta</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Lämna Rummet</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Logga ut</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Glömt ditt lösenord?</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>Återställ Lösenord</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>Via E-post</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>Via Användarnamn</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>Din E-postadress</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>Ditt Användarnamn</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>OK</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>Användare</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Omröstningar</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>Det finns ingen Användare kopplad till detta Användarnamn</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>Ett e-postmeddelande innehållande en unik länk har skickats till din epostadress, var vänlig kolla din epost. Om du fortfarande inte fått något e-postmeddelande, var vänlig ändra spaminställningarna för din e-post och skicka bekräftelsemeddelandet på nytt.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Bearbetar</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Meddelande</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>Ogiltig Hash. Ingen Användare Funnen.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Återställ Ditt Lösenord</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Login</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>Ändra Lösenord</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>Nytt Lösenord</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>Ange Lösenord på nytt</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>Lösenorden du angett är inte identiska.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>4 eller mer tecken; versalisering inverkar!</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>Lösenord valt. Du kan logga in nu.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Okänt Fel. Var vänlig rapportera detta till ditt Service-Team.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>Användarnamnet hittades inte.</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Ogiltigt Lösenord.</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Utloggning Lyckades.</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Registrering via gränssnittet är Inaktiverat.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>Ogiltig Epostadress.</value>
+  </string>
+  <string id="340" name="registration">
+    <value>Duplikat filnamn, var vänlig välj ett annat filnamn.</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>Filnamnet är för kort.</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>Kunde inte spara Adressen.</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>Användare tillagd, men du måste tilldela honom en Organisation för att kunna logga in.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>Nytt Record</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>Inget fält med detta FältId hittades.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>Ingen Etikett hittades för det Fältet.</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Admin Auktorisering krävs.</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Språk-Editor</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Språk</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>Etikett-ID</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>Etikett-Namn</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Värde</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Fältvärden</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>EtikettNamn</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>EtikettVärde</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>Etikett-ID</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>Du raderade endast Etiketten, INTE Fältet! Du kan inte radera Fältet, det innehåller kanske Etiketter på andra Språk.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>Ogiltig Etikett-ID. FieldLanguagesvalues_Id kan inte hittas i databasen.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>Du kan inte radera det här Fältet. Du kan endast radera Etiketter, INTE Fält. För tillfället är ingen Etikett laddad, detta kan bero på att ingen Etikett är vald eller för att inga Etiketter är definierade för det här fältet och språket.</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>Exportera</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>Du måste logga ut för att se ändringar.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Lägg till nytt språk</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>Ta bort språk</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Lägg till nytt språk</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Namn</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>Lägg till språk</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Säkerhetskopia</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>Gå till första</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>Gå till föregående</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>Gå till nästa</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>Gå till sista</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>Användare talar (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>Sätt på/av ljudet</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>System</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>Dina inställningar</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>Hej,</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Ändra din profil</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>Nya meddelanden:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Ladda upp nya bilder</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Användardata - Exportera</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>Alla organisationer måste finnas från tidigare!</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>Påbörja exporteringen</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>Enligt organisation</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>Påbörja exporteringen</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Användardata - Importera</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>Välj users.xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>Importera</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Exportera till XML - Dessa filer kan användas för att: - Bidra till projektet - Importera till ett annat system - Göra säkerhetskopior - Skräddarsy programmet - Lägga i language-mappen för kommande installationer</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Välj en språkfil att importera. Välj rätt språk från Comboboxen! Språkfilen kommer att importeras till detta språk oberoende av namnet på filen!</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>Importera - välj fil</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Spara som</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Namn:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>Kommentar:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>Spara</value>
+  </string>
+  <string id="395" name="record">
+    <value>Inspelningar</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Inspelningsförevisaren</value>
+  </string>
+  <string id="397" name="record">
+    <value>Inspelningar från allmänna och privata rum</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>Användare:</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>Anslöt sig:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Användare i det här rummet:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>Uppdatera</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>Det här rummet är fullt. Försök igenom om någon minut.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>Klicka på ett rum för att få mera detaljer</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Chatta med användarna i det här rummet:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Rum:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Användare i det här rummet:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>Sedan:</value>
+  </string>
+  <string id="409" name="record">
+    <value>Spela upp inspelning</value>
+  </string>
+  <string id="410" name="record">
+    <value>Längd:</value>
+  </string>
+  <string id="411" name="record">
+    <value>Datum:</value>
+  </string>
+  <string id="412" name="record">
+    <value>Inspelningsläge! Du kan inte ändra några värden, detta är en inspelad fil.</value>
+  </string>
+  <string id="413" name="record">
+    <value>Spela upp denna inspelning</value>
+  </string>
+  <string id="414" name="record">
+    <value>Spela upp / Pausa</value>
+  </string>
+  <string id="415" name="record">
+    <value>Påbörja inspelning</value>
+  </string>
+  <string id="416" name="record">
+    <value>Stoppa inspelning</value>
+  </string>
+  <string id="417" name="record">
+    <value>Inspelning:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>Det är redan någon som spelar in:</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Inspelning! Av användare:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>Avbryt</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>Inspelningen kommer att avbryts och inte heller sparas.</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>Återuppta</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Stäng det här fönstret och återuppta inspelningen</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>Ändra Linjefärg</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Välj Färg</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Inaktivera / Aktivera Linjefärg</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>Ändra Fyllfärg</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>Inaktivera / Aktivera Fyllfärg</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Ändra Linjebredd</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>Stäng</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>Ändra storlek på teckensnitt</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>Ta bort Inspelning</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Gäst</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>Av:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Namn</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Rum</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Datum</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>Avbryt</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>Starta</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Namn</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Datum</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>Radera Serverns Chatlogg</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>Chat</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>Skicka meddelande</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Emotikoner</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value></value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Välj Enheter</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Ljud och Video</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>Endast Ljud</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>Endast Video</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>Inget Ljud/Video (statisk bild)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>Inget Ljud/Video kommer att publiceras, i stället kommer en bild från din profil att visas. Välj den här inställningen om du har dålig bandbredd.</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>MÅ</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>TI</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>ON</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>TO</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>FR</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>LÖ</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>SÖ</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>Måndag</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Tisdag</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Onsdag</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Torsdag</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Fridag</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Lördag</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Söndag</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>KV</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Kalender vecka</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>Januari</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>Februari</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>Mars</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>April</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>Maj</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>Juni</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>Juli</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>Augusti</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>September</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>Oktober</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>November</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>December</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Kalender</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Deltagare</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Visa Layout inställningar</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Bredd | Höjd</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Video-Platshållare</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Modererings-Platshållare</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Whiteboard-Platshållare</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Aktiverad</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Bredd | Höjd</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Filer, Chat, Deltagare - Platshållare</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Aktiverad</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Bredd | Höjd</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>Moderatorn har lämnat rummet. För tillfället finns det ingen presentatör. Du kan ansöka om att bli Moderator eller vänta.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>Det finns ingen Moderator i det här rummet, men det finns några deltagare. Du kan ansöka om att bli Moderator eller vänta.</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>Feedback för $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Inbjudan</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Meddelande från Användare:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Meddelande:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Klicka på den här länken för att delta i Mötet:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Klicka här för att gå in i Rummet.</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>Om du har problem med den här länken, var vänlig kopiera och klistra in det här i din webbläsare:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME Registrering</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>Din användardata:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Login:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Lösenord:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>Epost:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>$APP_NAME-Teamet</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME Registrering</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - Återställ Lösenord</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Klicka på den här länken för att ange ett nytt lösenord:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Klicka här för att ange ett nytt lösenord</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>Om du har problem med länken, var vänlig kopiera och klistra in detta i din webbläsare:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>$APP_NAME lösenordsåterställning</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>Var vänlig ange ett giltigt Datum, till exempel 24.12.2001 (dd.mm.åååå)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Var vänlig ange en giltig Epostadress, till exempel namn@mail.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Var vänlig ange ett Flytande-Nummer, till exempel 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Var vänlig ange ett Nummer (Integer), till exempel 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Var vänlig ange ett Telefonnummer, till exempel +358 40 352 3250</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Var vänlig ange en tid, till exempel 12:23 (tt:mm)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Lösenordsskyddad</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Lösenord</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Giltighetstid</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Oändlig</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Period</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>Engångs</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Giltig från och med:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Giltig till:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Inbjudan till $APP_NAME</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>Ingen inbjudan tillgänglig med den här Inbjudningskoden.</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>Inbjudan användes redan. Den här typen av inbjudningar kan inte återanvändas.</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>Inbjudningskoden är inte giltig.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Lösenord:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Kontrollera Lösenord</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Ogiltigt Lösenord!</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>Webbläsare</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Synkronisera Ljud/Video</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>Inloggningen var korrekt, men sessionen är inte längre aktiv eller lagrad på servern. Försök att logga in igen efter att du fått ett nytt SessionId.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>SessionId är inte inloggat eller har inga Admin-rättigheter. SOAP Gateway kräver en användare med admin-rättigheter för att innesluta nya användare.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>Den här sessionen är inte kopplad till någon Remoteuser-Data. Antingen så kallades inte SOAP-Gateway före applikationen kördes eller så används ett felaktigt Session-ID.</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>Inspelaren är fortfarande i Beta-stadie!</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>x-axel</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>y-axel</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>b</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>bredd</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>höjd</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Ändra Genomskinlighet</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Öppna bläddraren</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Stäng bläddraren</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>Anslutningen till Servern är förlorad. Du måste ladda om Applikationen och/eller kolla din Nätverksanslutning.</value>
+  </string>
+  <string id="557" name="557">
+    <value>Pekare</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Synkroniserar</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Synkroniserar användare, var vänlig vänta</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Ladda ner som SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Ladda ner som PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Ladda ner som JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Ladda ner som PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Ladda ner som TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Påminnelse:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Kategori:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Repetition:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>ingen</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Läge:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Börjar</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>Slutar</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Titel:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Kommentar:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Bjud in folk</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Daglig</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Månatlig</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Årlig</value>
+  </string>
+  <string id="578" name="alert">
+    <value>Tidpunkten för mötets slut måste vara efter dess början!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Lägg till en Titel, tack!</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>Aktivera det här om du skriver på ett höger till vänster-språk (inverterad ordfölj)</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Dashboard</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Se på inspelade Möten och Auditorier</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Möte - Skapa en konferens med 4 (upp till 16) Användare &lt;br&gt; alla kommer att ha tillgång till ljud + video.</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Auditorium - Skapa en konferens med upp till 200 deltagare&lt;br/&gt;Endast Moderatorn kommer att ha tillgång till ljud + video</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Skapa användare, rum, organisationer&lt;br/&gt; + ändra konfigurationer</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Användare i det här Rummet nu</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Login</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Laddar Dokument. Vänligen vänta tills alla klienter är synkroniserade.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Uppladdning klar, konverterar Dokument ...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Påbörja Uppladdning</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Dialog för Uppladdning och Importering. Var vänlig välj en Fil från din Hårdskiva.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Avbryt</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Välj Fil</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Anslutningar</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Värde</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Login</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Ansluten sedan</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Rum</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Sparka Användare</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Sparka Användare</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Vill du verkligen sparka den här Klienten?&lt;br/&gt; Det här avlägsnar endast Klienten från det aktuella rummet och ger honom möjlighet att återansluta sig.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Din session har stängts av en Administratör eller Moderator.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Telefon</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>Användaren är Moderator i det här rummet</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>Användaren har tillåtelse att rita på Whiteboarden</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>Starta (om) Ljud/Video eller ändra Anordningens Inställningar</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Tillåt den här Användaren att rita på Whiteboarden</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Ta bort möjligheten att rita på Whiteboarden</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Användare</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Filer</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Whiteboard</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Chat</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Ditt konto är tilldelat flera Organisationer. Var vänlig välj en för den här Sessionen.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>Det här rummet är fullt för tillfället. Var vänlig försök på nytt senare.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Typ av rum</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Tidsbokat rum</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Servertid</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - Påminnelse</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Meddelande från Användare:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Meddelande:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Klicka på den här länken för att delta i Mötet:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Klicka här för att gå in i rummet</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>Om du har problem med länken, vänligen kopiera och klistra in det här i din webbläsare:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>Sök internt</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>externa användare</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>förnamn</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>namn</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>E-post</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Bekräfta utloggning</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Är du säker på att du vill logga ut?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Åtgärder</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Demo Rum</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Demo Tid</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Mötestimer</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>Det här Rummet är ett Demo Rum. För att få bort den här varningen så måste du antingen skaffa ett privat mötesrum eller sätta upp en egen Server. Du kommer att loggas ut automatiskt om:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Modererat</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Var vänlig vänta tills Moderatorn har anslutigt sig till Rummet. Moderatorn kan antingen vara en Lärare, Admin eller skapare av det här Rummet.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Ok</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Inkommande Skärmdelning</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>En ny Skärmdelning vill påbörjas av användaren:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Börja Dela</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Lägg Till Ett Möte</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Mötesrum</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Auditorium</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Moderering</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Moderera Användare</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Moderera Rum</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Vill du ändra den här Användaren till Moderator av den Organisationen?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Var vänlig välj en Organisation före du försöker lägga till en Användare till den!</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Organisation - Moderator</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Vill du verkligen ta bort den här Användaren från Organisationen?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>Den här Användaren är Moderator</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>Den här Användaren är inte Moderator</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Vill du ta bort den här Användaren som Moderator för den här Organisationen?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Lägg till eller ta bort Användare eller Rum inom din Organisation</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Vill du verkligen ta bort det här?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Vill du verkligen ta bort den här Användaren från Organisationen? Du kommer endast att ta bort kopplingen mellan Användaren och Organisationen, för att ta bort själva Användaren så måste du logga in på Administrationspanelen.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>Du kan inte ta bort din egen Användare!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>Den här Metoden kräver ett Administrationskonto för att kunna åberopas!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>Det finns ingen Session associerad med detta ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>Det här är ett Administratörs- eller Moderatorkonto. Du kan endast ändra det här kontot via Administratörspanelen.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>Var vänlig klicka på följande länk eller klistra in den i din webbläsares adressfält för att slutföra registreringen.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Klicka här för att verifiera din E-postadress</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Ingen Användare hittades med detta Hash.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Den här Användaren är redan aktiverad!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Du har aktiverat ditt konto!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Logga in nu</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Ditt konto är inte aktiverat. Använd länken i det e-postmeddelande du fick när du registrerade dig.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>Du har framgångsrikt registrerat dig. Vi har skickat ett e-postmeddelande till dig med din verifikationskod. Vänligen kolla din Inkorg.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Ta bort den här användaren som Moderator</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Bevilja Moderator-rättigheter till den här Användaren</value>
+  </string> 
+  <string id="677" name="event user list">
+    <value>Användare</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Tillgång till Whiteboarden</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Moderator</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Moderering: Vänligen välj en Användare från Listan för att bevilja honom tillträde till Whiteboard, Moderering eller Video.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>Den här Användaren är redan Moderator, så han har automatiskt rätt att rita.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>Det här är du! Du kan inte ta bort Moderator-rättigheterna från dig själv.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Tillåt den här Användaren att Publicera Ljud/Video</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Ta bort Ljud/Video från den här Användaren</value>
+  </string> 
+  <string id="685" name="event user list">
+    <value>Jag skulle vilja få Moderering för det här rummet</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>Jag skulle vilja rita på Whiteboarden</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>Jag skulle vilja dela Ljud/Video</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>Du är Moderator för det här Rummet</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>Du har tillåtelse att rita på Whiteboarden</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>Du har tillåtelse att publicera Audio/Video</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Meddelande till Moderatorn</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>Användaren</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>vill ha Moderator-rättigheter. Använd Statusikonerna i Användarlistan för att dela ut och ta bort Moderator-rättigheter.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>vill rita på Whiteboarden. Använd Statusikonerna i Användarlistan för att dela ut och ta bort rättigheter att rita på Whiteboarden.</value>
+  </string>
+  <string id="695" name="695">
+    <value>vill publicera Ljud/Video. Använd Statusikonerna i Användarlistan för att dela ut och ta bort rättigheter att publicera Ljud/Video.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>Du måste vänta tills en Moderator har stigit in i rummet.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Avbryt</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Spara</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Dag</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Månad</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>År</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Upload File</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Refresh</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Trash (Drag and Drop item here)</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>My Files (Home Drive)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Room Files (Public Drive)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Add File</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Delete Folder</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Edit Name</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>New Folder</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Are you sure you want to delete this Item?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Open Document</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Show all Files (Tree View)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Close Document</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Delete File</value>
+  </string> 
+  <string id="720" name="file explorer">
+    <value>You are not allowed to draw anything on the Whiteboard. You have to become Moderator or at least get the Right to edit Whiteboard. You may ask a Moderator to give you that right.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Document Properties</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Start Client (external)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Start Client (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>A user want to share his screen. Do you want to see it?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>You are currently sharing your Desktop. For stopping the Sharing Session please hit the Stop button in the Sharing Client.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Sharing Session</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>You are already sharing your desktop!</value>
+  </string> 
+  <string id="728" name="sharing client">
+    <value>Desktop Viewer</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Exit</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Desktop Sharer</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Click Start to publish your screen</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Start Sharing</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Select your screen area:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Change width</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>The Sharer has finished this session!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Change height</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X-Offset</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y-Offset</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Width:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Height:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>Connection was closed by Server</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Cancel</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Start External</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>If you close this session completely you are not able to restart the viewer for this session.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Confirm Closing Viewer Session</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Share Screen</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Record Session</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Co-Browsing</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Ooops, ... Firefox on Windows does not show clear Co-Browsing. Please use another Browser for using the Co-Browsing feature.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Previous</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Next</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Reload</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Home</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Load</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Add this website as Default website to your Profile.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Test Setup</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Check you Microphone and Camera setup before you enter a room by recording some seconds. You can then replay your recording to check your voice and picture.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Don't show this test anymore</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Cancel</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Start Conference</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Do not ask again</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>You may proceed without testing if you do not plan to publish your voice or picture. Participants without Audio or Video can still use the Whiteboard, share their Desktop or write Chat messages.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="test setup">
+    <value>Level-Meter</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Press Start</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Start Event</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Choose Room</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Check Setup</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="774" name="start view">
+    <value>How to conference</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Start Recording</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Do not show Audio / Video Test (Recording) before entering a Conference</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Public Rooms</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Public Rooms are accessible for all Users.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Private Rooms</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Private Rooms are only accessible for users of the same organization.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>My Rooms</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Rooms in this section are created for personal usage. There are some standard rooms plus the ones that are created through the calendar and have a start and an end date. The rooms created via the calendar are only listed in this section as long as they are valid.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>You have to be moderator to do this.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Apply for moderation</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Apply for whiteboard access</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Apply for camera/microphone access</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>This Session Hash was already used. You cannot use it twice.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>START</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>EXIT</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Do you really want to exit? You might should clear uploaded documents, whiteboard and the chat history.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Exit conference</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Rooms</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Choose a room for a meeting</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>There is an unsaved Event in the Calendar. Please either save it or remove it.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Please add at least one attendee for your meeting!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Do you really want to delete this Event?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Warning</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Add Event</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>Day</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>Week</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>Month</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Description</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Attendees</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, your Web Conferencing Platform. Either follow the Instructions, press the start button to start to conference immediatelly or you goto the Calendar and set up a Conference for the future.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Plan a Meeting</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>To set up a conference you can add a new Event in the Calendar.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Need help?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Restricted</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Search</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Add</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>There is no User selected. Please select an item from the list first and then hit add.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Add Attendee</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Save</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Delete</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Event Details</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Default Moderators</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Name</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>E-Mail</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Add new default Moderator</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Is Super Moderator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>If the Room is moderated, User with Level Moderator or Administrator are automatically Moderator if they enter the Room. If you don't want to specify that and only want a certain User to become Moderator use the Default Moderator option.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>A Super Moderator is always a Moderator when he enters a Room, and nobody can remove the Moderation Flag from him</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Apply Super-Moderation to User</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Remove Super Moderation from User</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>If you add an Organization to the room only users of that Organization have access to it (This is only valid if the isPublic flag is set to false!)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Limitations</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organization</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Are you sure?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Do you really want to delete this Item? You have to press the save button to store the changes!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>There is no User selected. Please select first before you add it!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Add new Default Moderator</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Do you want to add the Super Moderation Flag for this User? A Super Moderator is not only Moderator of a Room, but also no other Moderator can remove the Moderation Flag for this User. You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Do you want to remove the Super Moderation Flag for this User? You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>This User is a Super-Moderator. You cannot remove the Moderation flag from a Super-Moderator!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Do you really want to delete this File/Folder?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Delete File/Folder?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Mrs.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Dr.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Properties</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Show mouse position to viewers</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Share Audio with SIP Applet</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Share Audio with SIP and Video with Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Full-Fit</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>View Screen</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>The user</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>wants to share its screen. Do you want to see it?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Close</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>The Session was closed by the sharing User!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>New Screen Sharing</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimize</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximize</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Recording Timeline</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>My Recordings</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Public Recordings</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Name</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Length</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Date</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>By</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>PLAY</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Main - Video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Recording</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>You may record and share your screen at the same time. To enable others to see your screen just hit the start button on the top. To only record the Session it is sufficient to click start recording.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Start Recording</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Stop Recording</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download the FLV-File</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Room</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>User has microphone on</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Allow User Questions</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Turn this off to prevent that any user is disturbing you in this room. Effect is that the Button to ask for Moderation ("I have a question") is not visible.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Rights</value>
+  </string>  
+  <string id="882" name="flvrecording">
+    <value>Download as AVI</value>
+  </string>  
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio only</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the Recording.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>The Recording is not yet ready for watching. Please retry in a couple of minutes again.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Recorder Message</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIP Applet is not Ready</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP-Account Settings</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP settings for each user. You can turn on or off SIP via the Administration &gt; Configuration (Key: enable_sip). The SIP data for each user should be created automatically. You can re-create the data by checking "Re-generate SIP Data"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. You should check the authentification data of your SIP-Provider and the SIP-Account Data for each User. As Administrator you are still able to login and check the Configuration. As User or Moderator you will be blocked from any interaction.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. Contact your Service Team!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet Message</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>The SIP-Applet is not ready. Accept the Applet please and click ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Get Moderation</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login the $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choose the User for this Video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>You are a Moderator in this Interview. You can decide who is speaking in this interview and you can start / stop the recording of the Session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Start Recording</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Stop Recording</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+    <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/thai.xml b/WebContent/languages/thai.xml
new file mode 100644
index 0000000..ccc0152
--- /dev/null
+++ b/WebContent/languages/thai.xml
@@ -0,0 +1,4505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>การประชุมกลุ่ม</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>การประชุม</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>งานต่างๆ</value>
+  </string>
+  <string id="4" name="settings">
+    <value>การตั้งค่า</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>โปรไฟล์</value>
+  </string>
+  <string id="6" name="admin">
+    <value>การบริหารงาน</value>
+  </string>
+  <string id="7" name="stop">
+    <value>หยุด</value>
+  </string>
+  <string id="8" name="record">
+    <value>บันทึก</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>ไม่มีไฟล์</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>บันทึกโดยอาจารย์</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>ผู้ใช้ที่เชื่อมต่อ:</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>เริ่มการประชุม</value>
+  </string>
+  <string id="13" name="myname">
+    <value>ชื่อของฉัน</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>การประชุมผ่านวีดีโอ</value>
+  </string>
+  <string id="15" name="import">
+    <value>อัพโหลดไฟล์</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>รีเฟรชลิสต์รายการ</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>ไปยังไฟล์หลัก</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>โพลล์ใหม่</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>โพลล์ใหม่สำหรับการประชุม</value>
+  </string>
+  <string id="20" name="question">
+    <value>คำถาม:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>ประเภทของโพลล์:</value>
+  </string>
+  <string id="22" name="create">
+    <value>จัดทำ</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>ข้อมูล: ผู้ใช้ที่เชื่อมต่ออยู่แต่ละรายได้รับข้อความพร้อมด้วยโพลล์ใหม่</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>จัดทำโพลล์</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>ยกเลิก</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>ใช่/ไม่</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>เลข 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>โพลล์</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>ต้องเป็นผู้ดำเนินรายการจึงจะตั้งคำถามได้</value>
+  </string>
+  <string id="30" name="vote">
+    <value>การโหวตของคุณได้รับการลงทะเบียนแล้ว</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>คุณโหวตโพลล์นี้ไปแล้ว</value>
+  </string>
+  <string id="32" name="voting">
+    <value>เชิญโหวต!</value>
+  </string>
+  <string id="33" name="answer">
+    <value>คำตอบของคุณ:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>ใช่</value>
+  </string>
+  <string id="35" name="no">
+    <value>ไม่</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>อยากรู้:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>ผลการสำรวจโพลล์</value>
+  </string>
+  <string id="38" name="question">
+    <value>คำถาม:</value>
+  </string>
+  <string id="39" name="results">
+    <value>ผล:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>คำตอบ:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>ยังไม่มีการเริ่มการสำรวจโพลล์ใดเลย</value>
+  </string>
+  <string id="42" name="votings">
+    <value>เชิญโหวต!</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>การประชุม (สูงสุด 4 ที่นั่ง)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>การประชุมกลุ่ม (สูงสุด 50 ที่นั่ง)</value>
+  </string>
+  <string id="45" name="type">
+    <value>ประเภท</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>ที่นั่งอื่นๆ</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>เลือกไปแล้ว</value>
+  </string>
+  <string id="48" name="enter">
+    <value>ป้อนข้อมูล</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>ผู้ดำเนินรายการออกจากที่ประชุมไปแล้ว</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>ข้อมูลระบบ</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>เลือกอุปกรณ์</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>เลือกเว็บแคม:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>เลือกไมโครโฟน:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>ตกลง</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>ยกเลิก</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>คุณต้องทำการเชื่อมต่อใหม่</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>แก้ไขการตั้งค่า</value>
+  </string>
+  <string id="58" name="course">
+    <value>หลักสูตร:</value>
+  </string>
+  <string id="59" name="language">
+    <value>ภาษา:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>ตกลง</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>ยกเลิก</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>ลบไวท์บอร์ด</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>คุณต้องการให้ลบไวท์บอร์ดให้ว่างก่อนที่จะเพิ่มรูปใหม่หรือไม่</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>ไม่ต้องถามอีก</value>
+  </string>
+  <string id="65" name="no">
+    <value>ไม่</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>แก้ไขการตั้งค่า</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>ขอให้ยืนยันอีกครั้งก่อนจะลบไวท์บอร์ดให้ว่าง</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>ข้อมูลผู้ใช้</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>ลบบริเวณวาดรูป</value>
+  </string>
+  <string id="70" name="undo">
+    <value>เลิกทำ</value>
+  </string>
+  <string id="71" name="redo">
+    <value>ทำซ้ำ</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>เลือกรายการ</value>
+  </string>
+  <string id="73" name="text">
+    <value>ข้อความ</value>
+  </string>
+  <string id="74" name="paint">
+    <value>ระบายสี</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>วาดเส้น</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>ขีดเส้นใต้</value>
+  </string>
+  <string id="77" name="rect">
+    <value>สี่เหลี่ยมผืนผ้า</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>วงรี</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>ลูกศร</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>ลบรายการที่เลือกไว้</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>สมัครเพื่อทำหน้าที่ดำเนินรายการ</value>
+  </string>
+  <string id="82" name="apply">
+    <value>สมัคร</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>ยกเลิก</value>
+  </string>
+  <string id="84" name="mod">
+    <value>กลายเป็นผู้ดำเนินรายการ</value>
+  </string>
+  <string id="85" name="close">
+    <value>ปิด</value>
+  </string>
+  <string id="86" name="italic">
+    <value>ตัวเอียง</value>
+  </string>
+  <string id="87" name="bold">
+    <value>ตัวหนา</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>กำลังรอ</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>ผู้ใช้ต้องการสมัครเป็นผู้ดำเนินรายการ:</value>
+  </string>
+  <string id="90" name="accept">
+    <value>ยอมรับ</value>
+  </string>
+  <string id="91" name="reject">
+    <value>ปฏิเสธ</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>ยกเลิก</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>ส่งคำขอไปยังผู้ใช้ดังต่อไปนี้</value>
+  </string>
+  <string id="94" name="accept">
+    <value>ยอมรับแล้ว</value>
+  </string>
+  <string id="95" name="reject">
+    <value>ปฏิเสธแล้ว</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>เปลี่ยนผู้ดำเนินรายการ</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>คุณไม่ได้กำลังดำเนินหลักสูตรนี้!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>ผู้ดำเนินรายการ:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>ห้องนี้เต็มแล้ว ขออภัย โปรดลองใหม่ภายหลัง</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>วงรี</value>
+  </string>
+  <string id="101" name="close">
+    <value>ปิด</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>ข้อมูลที่กรอกขัดข้อง</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>ตัวอักษร 4 ตัวขึ้นไป อักษรตัวใหญ่มีผลสำคัญ</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>รหัสผู้ใช้ต้องมีตัวอักษรอย่างน้อย 4 ตัว</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>มีผู้ใช้ชื่อนี้ไปแล้ว</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>อีเมล์นี้ลงทะเบียนไปแล้ว</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>ระบบขัดข้อง โปรดติดต่อผู้ดูแลระบบ</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>ล็อคอิน</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>ผู้ใช้:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>รหัสผ่าน:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>ภาษา</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>ลงชื่อเข้าใช้</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>ลงทะเบียน</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>ผู้ใช้:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>รหัสผ่าน:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>พิมพ์ซ้ำ:</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>ชื่อ:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>นามสกุล:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>อีเมล์:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>ประเทศ:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>ลงทะเบียน</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>ยกเลิก</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>ไม่ได้เป็นสมาชิก?</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>หน้าแรก</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>ผู้ใช้</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>กลุ่ม</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>องค์กร</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>ห้องประชุม</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>สาธารณะ</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>องค์กร</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>เข้าห้อง</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>ล็อกอิน</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>รหัสผ่าน</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>พิมพ์ซ้ำ</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>ชื่อ</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>นามสกุล</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>อีเมล์</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>วันเกิด</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>ถนน/เลขที่</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>รหัสไปรษณีย์/จังหวัด</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>ประเทศ</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>ข้อมูลที่อยู่</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>ข้อมูลผู้ใช้</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>บันทึก</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>บันทึก</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>หมายเลขประจำตัวผู้ใช้</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>ล็อคอิน</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>ชื่อ</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>นามสกุล</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>แสดงถัดไป</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>แสดงก่อนหน้านี้</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>ลบบันทึก</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>ยกเลิก</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>ลบ</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>บันทึกใหม่</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>รีเฟรชบันทึก</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>ลบบันทึก</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>สถานะ</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>ยกเลิกแล้ว</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>ใช้งานแล้ว</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>องค์กร</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>ปฏิทิน</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>ปิด</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>หมายเลขประจำองค์กร</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>ชื่อ</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>ผู้ใช้</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>ผู้ดำเนินรายการ</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>ผู้ดูแล</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>ระดับผู้ใช้</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>องค์กร</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>ชื่อ</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>เพิ่มองค์กร</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>เพิ่มองค์กร</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>ยกเลิก</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>เพิ่ม</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>ย้ายองค์กรออก</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>ผู้ใช้</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>เพิ่มผู้ใช้</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>ลบผู้ใช้</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>เพิ่มผู้ใช้</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>ค้นหาผู้ใช้</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>ค้นหา</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>ผู้ใช้</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>องค์กร</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>ป้อนข้อมูล</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>ห้องประชุมกลุ่ม</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>ห้องประชุมกลุ่ม</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>หมายเลขประจำตัว</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>ชื่อ</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>สาธารณะ</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>องค์กร</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>ห้องประชุม</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>ชื่อ</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>ประเภท</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>สาธารณะ</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>ข้อคิดเห็น</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>บันทึกและเอ็กซ์พอร์ต</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>โหลด</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>บันทึกเป็น</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>ชื่อไฟล์</value>
+  </string>
+  <string id="201" name="files">
+    <value>ชื่อไฟล์</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>ยกเลิก</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>ยกเลิก</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>ขัดข้อง</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>กำลังโหลด</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>รายการที่โหลดแล้ว</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>กำลังซิงค์โครไนซ์ลูกค้าอยู่ ลูกค้าต้องรอ:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>กำลังโหลดข้อมูลรูปภาพ</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>กำลังซิงค์โครไนซ์ลูกค้าอยู่ ลูกค้าต้องรอ:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>ลบบริเวณวาดรูป</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>ลบบริเวณวาดรูป ข้อมูลทั้งหมดบนไวท์บอร์ดจะสูญหายไป</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>ยืนยันก่อนโหลดไฟล์</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>ส่งคำเชิญ</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>ส่งคำเชิญ</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>เรื่อง</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>ผู้รับ</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>ข้อความ</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>ส่ง</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>ยกเลิก</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>ส่ง</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>ข้อมูลผู้ใช้</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>ชื่อเล่นของคุณในการประชุมครั้งนี้</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>ชื่อเล่น</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>ชื่อ</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>นามสกุล</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>อีเมล์</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>ภาษา</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>ป้อนข้อมูล</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>กำลังโหลด</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>กำลังดาวน์โหลดข้อมูล โปรดรอสักครู่!</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>รหัสผ่านผิด</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>โปรดใส่รหัสผ่านสองครั้งให้ตรงกันโดยมีตัวอักษรอย่างน้อย 6 ตัว</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>อีเมล์ผิด</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>อีเมล์ที่คุณกรอกไม่ถูกต้อง</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>การลงทะเบียนเสร็จสมบูรณ์</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>จัดทำบัญชีของคุณเสร็จเรียบร้อยแล้ว คุณสามารถล็อคอินได้แล้ว</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>คุณไม่สามารถแชร์หน้าจอได้ในขณะนี้ มีใครบางคนแชร์หน้าจอไปแล้ว</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>ห้ามแชร์</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>แชร์หน้าจอ</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>แบนด์วิธไม่ดี: คุณไม่สามารถซิงค์โครไนซ์หน้าจอได้ เฟรมต่างๆ จะถูกทิ้งไป หากมีคำเตือนนี้ปรากฏบ่อยครั้ง ควรขอให้ผู้ดำเนินรายการลดคุณภาพหน้าจอ</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>หน้าจอของ:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>ระบายสี</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>เอกสาร</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>แชท</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>ไฟล์</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>สมาชิก</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>ดาวน์โหลดเอกสารต้นฉบับ</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>ดาวน์โหลดเอกสาร PDF</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>โหลดการนำเสนอไปยังไวท์บอร์ด</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>การปรับแต่งค่า</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>ลากรายการนี้</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>ปรับขนาดรายการนี้</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>ของ</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>ไปยังหน้าแรก</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>ไปยังหน้าก่อนนี้</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>ไปยังหน้าถัดไป</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>ไปยังหน้าสุดท้าย</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>ขยายย่อ --</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>ขยายใหญ่ ++</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>นาย</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>นางสาว</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>การปรับแต่งค่า</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>หมายเลขประจำตัว</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>ปุ่ม</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>การปรับแต่งค่า</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>ปุ่ม</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>อัพเดทล่าสุด</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>อัพเดทโดย</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>ข้อคิดเห็น</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>ค่า</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>ของ</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>ผู้ใช้</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>ลบผู้ใช้ออกจากองค์กร</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>ลบ</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>ผู้ใช้รายนี้เป็นสมาชิกขององค์กรนี้อยู่แล้ว</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>ข่าวสาร</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>ควิกลิงค์</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>ไปยังการประชุม</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>ไปยังหอประชุม</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>ข้อมูลช่วยเหลือและสนับสนุน</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>รายงานเหตุขัดข้อง!</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>เพิ่มเติม</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>เว็บไซต์ของโครงการ (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>รายชื่ออีเมล์ของผู้ใช้ (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>จำชื่อล็อคอิน</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>เนื้อหา</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>หน้าหลักของฉัน</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>การประชุมที่นัดหมายไว้ของฉัน</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>งานที่นัดหมายไว้ของฉัน</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>การประชุมสาธารณะ</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>การประชุมส่วนตัว</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>งานสาธารณะ</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>งานส่วนตัว</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>เนื้อหาสาธารณะ</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>เนื้อหาส่วนตัว</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>เนื้อหาส่วนบุคคล</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value></value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>การดำเนินรายการ</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>สมัครเพื่อทำหน้าที่ดำเนินรายการ</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>โพลล์</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>เลือกไฟล์</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>การตั้งค่า</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>การตั้งค่ากล้องและไมโครโฟน</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>การตั้งค่าไวท์บอร์ด</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>ออก</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>กลับไปยังห้อง</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>ล็อคเอ้าท์</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>ลืมรหัสผ่าน?</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>ตั้งรหัสผ่านใหม่</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>โดยอีเมล์</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>โดยชื่อล็อคอิน</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>อีเมล์ของคุณ</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>ชื่อล็อคอินของคุณ</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>ส่งอีเมล์พร้อมลิงค์สำหรับตั้งรหัสผ่านใหม่</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>ไม่พบอีเมล์แอดเดรสดังกล่าว ดูให้แน่ใจว่าคุณกรอกอีเมล์แอดเดรสเดียวกับที่คุณใช้ในการจัดทำบัญชีของคุณ</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>โปรดกรอกอีเมล์หรือชื่อผู้ใช้</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>ไม่มีผู้ใช้รายใดเชื่อมต่อกับชื่อผู้ใช้รายนี้</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>ได้ส่งอีเมล์ซึ่งมีลิงค์พิเศษไปยังอีเมล์แอดเดรสของคุณแล้ว โปรดเช็คอีเมล์ด้วย หากยังคงไม่ได้รับอีเมล์ โปรดปรับการตั้งค่าอีเมล์สแปมและส่งอีเมล์ยืนยันใหม่อีกครั้ง</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>ขัดข้อง</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>ข้อความ</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>รหัสผ่านไม่ถูกต้อง ไม่พบผู้ใช้</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>ตั้งรหัสผ่านของคุณใหม่</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>ล็อคอิน</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>เปลี่ยนรหัสผ่าน</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>รหัสผ่านใหม่</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>กรอกรหัสผ่านใหม่</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>รหัสผ่านที่คุณกรอกไม่ตรงกัน</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>ตัวอักษร 4 ตัวขึ้นไป อักษรตัวใหญ่มีผลสำคัญ</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>ตั้งรหัสผ่านแล้ว คุณสามารถล็อคอินได้แล้ว</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>ตกลง</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>ขัดข้องโดยไม่ทราบสาเหตุ โปรดรายงานต่อทีมบริการของคุณ</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>ไม่พบชื่อผู้ใช้</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>รหัสผ่านไม่ถูกต้อง</value>
+  </string>
+  <string id="337" name="logout">
+    <value>ออกจากระบบเรียบร้อยแล้ว</value>
+  </string>
+  <string id="338" name="registration">
+    <value>การลงทะเบียนถูกยกเลิกแล้ว</value>
+  </string>
+  <string id="339" name="registration">
+    <value>อีเมล์ไม่ถูกต้อง</value>
+  </string>
+  <string id="340" name="registration">
+    <value>ชื่อไฟล์ซ้ำ โปรดเลือกชื่อไฟล์อื่น</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>ชื่อไฟล์สั้นเกินไป</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>บันทึกที่อยู่ไม่ได้</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>เพิ่มผู้ใช้แล้ว แต่คุณต้องมอบหมายผู้ใช้รายนี้ให้แก่องค์กรใดองค์กรหนึ่ง มิฉะนั้นเขาจะไม่สามารถลงชื่อเข้าใช้ได้</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>บันทึกใหม่</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>ไม่พบฟิลด์ที่มาพร้อมกับหมายเลขฟิลด์นี้</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>ไม่พบป้ายชื่อสำหรับฟิลด์นั้น</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>ต้องใช้การอนุญาตจากผู้ดูแล</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>โปรแกรมแก้ไขภาษา</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>ภาษา</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>หมายเลขประจำป้าย</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>ป้ายชื่อ</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>ค่า</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>ค่าฟิลด์</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>ป้ายชื่อ</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>ค่าป้าย</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>หมายเลขประจำป้าย</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>คุณลบแต่ป้ายเท่านั้น ไม่ได้ลบฟิลด์! คุณลบฟิลด์ไม่ได้ อาจเป็นเพราะว่าฟิลด์มีป้ายเป็นภาษาอื่น</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>หมายเลขประจำป้ายไม่ถูกต้อง ไม่พบหมายเลขประจำค่าภาษาของฟิลด์นั้นในฐานข้อมูล</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>คุณลบฟิลด์นี้ไม่ได้ คุณลบได้แต่เพียงป้ายเท่านั้น ลบฟิลด์ไม่ได้ ไม่มีการโหลดป้ายในขณะนี้ อาจเป็นเพราะว่าไม่ได้เลือกฟิลด์ใดเลยหรือว่าไม่มีป้ายสำหรับภาษานี้สำหรับฟิลด์ที่กำหนด</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>เอ็กซ์พอร์ต</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>คุณจะต้องออกจากระบบก่อน จึงจะเห็นการเปลี่ยนแปลง</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>เพิ่มภาษาใหม่</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>ลบภาษา</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>เพิ่มภาษาใหม่</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>ชื่อ</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>เพิ่มภาษา</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>สำรองข้อมูล</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>ไปยังหน้าแรก</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>ไปยังหน้าก่อนนี้</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>ไปยังหน้าถัดไป</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>ไปยังหน้าสุดท้าย</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>ผู้ใช้พูด (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>เปิด/ปิดเสียง</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>ระบบ</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>การตั้งค่าของคุณ</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>สวัสดี</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>แก้ไขโปรไฟล์ของคุณ</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>ข้อความใหม่:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>อัพโหลดภาพใหม่ๆ</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>ข้อมูลผู้ใช้ - เอ็กซ์พอร์ต</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>ต้องมีทุกองค์กรอยู่ก่อนแล้ว</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>เริ่มเอ็กซ์พอร์ต</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>โดยองค์กร</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>เริ่มเอ็กซ์พอร์ต</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>ข้อมูลผู้ใช้ - อิมพอร์ต</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>เลือกผู้ใช้.xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>อิมพอร์ต</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>เอ็กซ์พอร์ตไปยัง XML – ไฟล์เหล่านี้สามารถใช้เพื่อ – ส่งเสริมโครงการ – อิมพอร์ตไปยังระบบอื่น – สำรองข้อมูล – การปรับตามความต้องการ - ใส่ไว้ในรายชื่อภาษาสำหรับการติดตั้งครั้งต่อไป</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>เลือกไฟล์ภาษาเพื่ออิมพอร์ต เลือกภาษาที่ถูกต้องจาก Combobox! ไม่ว่าชื่อไฟล์จะเป็นอะไรก็ตาม ก็จะอิมพอร์ตเป็นภาษานี้!</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>อิมพอร์ต - เลือกไฟล์</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>บันทึกเป็น</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>ชื่อ:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>ข้อคิดเห็น:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>บันทึก</value>
+  </string>
+  <string id="395" name="record">
+    <value>บันทึก</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>บันทึกผู้ชม</value>
+  </string>
+  <string id="397" name="record">
+    <value>บันทึกห้องสาธารณะและห้องส่วนตัว</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>ผู้ใช้:</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>เข้าร่วม:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>ผู้ใช้ในห้องนี้:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>รีเฟรช</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>ห้องนี้เต็มแล้ว อีกสักครู่โปรดลองใหม่</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>คลิกที่ห้องเพื่อดูรายละเอียด</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>แชทกับผู้ใช้ในห้องนี้</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>ห้อง:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>ผู้ใช้ในห้องนี้:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>ตั้งแต่:</value>
+  </string>
+  <string id="409" name="record">
+    <value>เล่นบันทึก</value>
+  </string>
+  <string id="410" name="record">
+    <value>ความยาว</value>
+  </string>
+  <string id="411" name="record">
+    <value>วันที่</value>
+  </string>
+  <string id="412" name="record">
+    <value>โหมดการบันทึก! คุณไม่สามารถเปลี่ยนแปลงค่าใดๆ ได้ ไฟล์นี้ได้รับการบันทึกไว้แล้ว</value>
+  </string>
+  <string id="413" name="record">
+    <value>เล่นบันทึกนี้</value>
+  </string>
+  <string id="414" name="record">
+    <value>เล่น / หยุดชั่วคราว</value>
+  </string>
+  <string id="415" name="record">
+    <value>เริ่มการบันทึก</value>
+  </string>
+  <string id="416" name="record">
+    <value>หยุดการบันทึก</value>
+  </string>
+  <string id="417" name="record">
+    <value>Recording: / บันทึก:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>มีคนกำลังบันทึกอยู่ในขณะนี้</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>กำลังบันทึก! โดยผู้ใช้:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>ยกเลิก</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>การบันทึกจะถูกยกเลิกและไม่บันทึกไว้</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>เล่นต่อ</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>ปิดหน้าต่างนี้และกลับเข้าสู่การบันทึก</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>เปลี่ยนสีเส้น</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>เลือกสี</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>ยกเลิก / เริ่มใช้เส้นสี</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>เปลี่ยนสีเติม</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>ยกเลิก / เริ่มใช้สีเติม</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>เปลี่ยนความหนาของเส้น</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>ปิด</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>เปลี่ยนขนาดตัวอักษร</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>ลบการบันทึก</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>แขก</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>โดย:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>ชื่อ</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>ห้อง</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>วันที่</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>ยกเลิก</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>เริ่ม</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>ชื่อ</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>วันที่</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>ลบเซิร์ฟเวอร์-บันทึกการแชท</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>แชท</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>ส่งข้อความ</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>อีโมติคอน</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>อีโมติคอน</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>เลือกอุปกรณ์ที่ใช้เผยแพร่</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>เสียงและภาพวีดีโอ</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>เสียงเท่านั้น</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>ภาพวีดีโอเท่านั้น</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>ไม่มีเสียง/ภาพวีดีโอ (ภาพนิ่ง)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>ไม่เผยแพร่เสียง/ภาพวีดีโอจากเครื่องคอมพิวเตอร์ของคุณสู่สาธารณะ โดยที่จะแสดงภาพจากโปรโฟล์ของคุณแทน ควรเลือกการตั้งค่าเหล่านี้หากคุณมีปัญหากับแบนด์วิธหรืออินเตอร์เน็ตช้ามาก</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>จ</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>อ</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>พ</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>พฤ</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>ศ</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>ส</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>อา</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>วันจันทร์</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>วันอังคาร</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>วันพุธ</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>วันพฤหัสบดี</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>วันศุกร์</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>วันเสาร์</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>วันอาทิตย์</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>สัปดาห์</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>สัปดาห์ตามปฏิทิน</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>มกราคม</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>กุมภาพันธ์</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>มีนาคม</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>เมษายน</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>พฤษภาคม</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>มิถุนายน</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>กรกฎาคม</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>สิงหาคม</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>กันยายน</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>ตุลาคม</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>พฤศจิกายน</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>ธันวาคม</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>ปฏิทิน</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>ผู้เข้าร่วม</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>แสดงการตั้งค่าโครงร่าง</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>กว้าง | สูง</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>กล่องวีดีโอ</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>กล่องการดำเนินรายการ</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>กล่องไวท์บอร์ด</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>ดำเนินการแล้ว</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>กว้าง | สูง</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>กล่องไฟล์ แชท ผู้เข้าร่วม</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>ดำเนินการแล้ว</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>กว้าง | สูง</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>ผู้ดำเนินรายการออกจากห้องไปแล้ว ไม่มีใครอยู่ในขณะนี้ คุณสามารถสมัครเพื่อทำหน้าที่ดำเนินรายการได้หรือรอ</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>ผู้ดำเนินรายการออกจากห้องไปแล้ว แต่มีผู้เข้าร่วมบางรายอยู่ คุณต้องสมัครเพื่อทำหน้าที่ดำเนินรายการหรือรอ</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>ผลตอบรับการประชุมแบบเปิด</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>การประชุมแบบเปิด – คำเชิญ</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>ข้อความจากผู้ใช้</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>ข้อความ</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>คลิกลิงค์นี้เพื่อเข้าร่วมการประชุม</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>คลิกที่นี่เพื่อเข้าห้อง</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>หากมีปัญหากับลิงค์นี้ โปรดคัดลอกลิงค์นี้แล้วนำไปวางที่เบราวเซอร์:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>ลงทะเบียนการประชุมแบบเปิด</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>ข้อมูลผู้ใช้ของคุณ:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>ชื่อล็อคอิน:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>รหัสผ่าน:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>อีเมล์:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>การประชุมแบบเปิด - ทีม</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>ลงทะเบียนการประชุมแบบเปิด</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>การประชุมแบบเปิด - ตั้งรหัสผ่านใหม่</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>คลิกลิงค์นี้เพื่อกรอกรหัสผ่านใหม่:</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>คลิกที่นี่เพื่อกรอกรหัสผ่านใหม่</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>หากมีปัญหากับลิงค์นี้ โปรดคัดลอกลิงค์นี้แล้วนำไปวางที่เบราวเซอร์:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>การประชุมแบบเปิด ตั้งรหัสผ่านใหม่</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>โปรดกรอกวันที่ที่ถูกต้อง ตัวอย่างเช่น 24/12/2001 (วว/ดด/ปปปป)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>โปรดกรอกอีเมล์ที่ถูกต้อง ตัวอย่างเช่น name@mail.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>โปรดกรอกตัวเลขที่มีจุดทศนิยม เช่น 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>โปรดกรอกตัวเลข (จำนวนเต็ม) ตัวอย่างเช่น 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>โปรดกรอกหมายเลขโทรศัพท์ที่ถูกต้อง ตัวอย่างเช่น ++49 0123 123123</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>โปรดกรอกเวลาที่ถูกต้อง เช่น 12.33 (ชช.นน)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>ป้องกันรหัสผ่านแล้ว</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>รหัสผ่าน</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>ระยะเวลาที่ใช้การได้</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>ไม่จำกัด</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>จำกัดระยะเวลา</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>ใช้ครั้งเดียว</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>ใช้งานได้ตั้งแต่:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>ถึง:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>คำเชิญเข้าสู่การประชุมแบบเปิด</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>ไม่มีคำเชิญสำหรับรหัสคำเชิญนี้</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>คำเชิญนี้ใช้ไปแล้ว คำเชิญประเภทนี้ไม่สามารถใช้ซ้ำได้</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>รหัสคำเชิญนี้ไม่ถูกต้อง</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>รหัสผ่าน:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>ตรวจสอบรหัสผ่าน</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>รหัสผ่านไม่ถูกต้อง!</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>เสียง_ภาพวีดีโอ</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>ซิงค์โครไนซ์เสียง/ภาพวีดีโอ</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>ล็อคอินถูกต้อง แต่หมวดที่คุณล็อกอินนั้นไม่ได้ใช้งานอยู่หรือไม่ได้จัดเก็บไว้ในเซิร์ฟเวอร์ คุณจะต้องขอหมายเลขประจำหมวดใหม่และลองล็อกอินอีกครั้ง</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>ยังไม่ได้ล็อคอินหมายเลขประจำหมวดหรือไม่มีสิทธิ์ของผู้ดูแล SOAP Gateway จำเป็นต้องใช้ผู้ใช้ที่สิทธิ์ของผู้ดูแลในการฝากฝังผู้ใช้รายใหม่</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>หมวดนี้ไม่มีการเชื่อมต่อข้อมูลผู้ใช้ระยะไกล อาจเป็นเพราะว่าคุณไม่ได้เรียก SOAP-Gateway ก่อนที่จะเข้าใช้โปรแกรมหรือว่าคุณใช้หมายเลขประจำหมวดผิด</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>ตัวบันทึกในปัจจุบันอยู่ในช่วงทดลองใช้!</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>แกน x</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>แกน y</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>กว้าง</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>ความกว้าง</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>สูง</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>ความสูง</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>เปลี่ยนความโปร่งแสง</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>เปิดเบราวเซอร์</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>ปิดเบราวเซอร์</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>การเชื่อมต่อกับเซิร์ฟเวอร์ขาดลง คุณจำเป็นต้องโหลดโปรแกรมใหม่หรือ/และตรวจสอบเครือข่ายของคุณ</value>
+  </string>
+  <string id="557" name="557">
+    <value>พอยเตอร์</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>กำลังซิงค์โครไนซ์</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>กำลังซิงค์โครไนซ์กับผู้ใช้ โปรดรอสักครู่</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;ดาวน์โหลดเป็น SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;ดาวน์โหลดเป็น PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;ดาวน์โหลดเป็น JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;ดาวน์โหลดเป็น PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;ดาวน์โหลดเป็น TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>เตือนความจำ:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>ประเภท:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>การทำซ้ำ:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>ไม่มี</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>สถานที่ตั้ง:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>เริ่ม</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>สิ้นสุด</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>หัวข้อ:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>ข้อคิดเห็น:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>เชิญผู้อื่น</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>รายวัน</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>รายเดือน</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>รายปี</value>
+  </string>
+  <string id="578" name="alert">
+    <value>การสิ้นสุดการนัดต้องเป็นหลังจากการเริ่มต้นการนัด!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>โปรดแทรกหัวข้อ!</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>เปิดใช้งานส่วนนี้หากภาษาที่คุณใช้เป็นแบบขวาไปซ้าย (การเรียงคำกลับกัน)</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>แดชบอร์ด</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>ชมการประชุมและงานอีเวนท์ที่บันทึกไว้</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>การประชุม - เปิดการประชุมตั้งแต่ผู้ใช้ 4 รายขึ้นไป (มากที่สุด 16 ราย)&lt;br/&gt;ทุกท่านสามารถเข้าใช้เสียง + ภาพวีดีโอได้</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>งานอีเวนท์ - เปิดการประชุมโดยมีผู้เข้าร่วมได้มากที่สุด 200 ราย&lt;br/&gt;ผู้ดำเนินรายการเท่านั้นที่สามารถใช้เสียง/ภาพวีดีโอได้</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>สร้างผู้ใช้ ห้อง องค์กร&lt;br/&gt; + เปลี่ยนการปรับแต่งค่า</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Users in this Room now</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Login</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Loading Document. Please wait untill all Client have been synchronized.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Upload complete, converting Document ...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Start Upload</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Upload and Import Dialog. Please select a File from your Disk.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Cancel</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Select File</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Connections</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Value</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Login</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Connected since</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Room / Scope</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Kick User</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Kick User</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Do you really want to kick this Client from the Connection?&lt;br/&gt; This does only remove the Client from the current Room.The Client could re-login again.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Your session has been closed by an Administrator or Moderator.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Phone</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>User is the Moderator of this Room</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>User is allowed to draw on the Whiteboard</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Re) Start Audio/Video or change Device Settings</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Allow this User to draw on the Whiteboard</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Remove ability to draw on whiteboard</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Users</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Files</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Whiteboard</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Chat</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Your account is assigned to multiple Organizations. Please choose one for this Session.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>This room is full at the moment. Please try again later.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Room Type</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Appointment Room</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Server Time</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - Reminder</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Message from User:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Message:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Click this link to participate in the Meetings:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Click here to enter room</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>if you have problems with the link, please copy and paste this to your browser:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>search intern</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>extern users</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>pre name</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>name</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>E-mail</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Confirm logout</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Are you sure you want to logout now?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Actions</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Demo Room</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Demo Time</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Meeting Timer</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>This Room is a Demo Room. To disable this warning you either should get a private meeting room for your personal usage or set up an own Server. You will be automatically logged off in:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Moderated</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Please wait untill the Moderator has entered the Room. The Moderator can be either a Teacher, Admin or the creator of this Room.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Ok</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Incoming Screen Sharing</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>There is a new Screen Sharing incoming from the User:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Start Sharing</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Add new Meeting</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Meeting Room</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Event Room</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Moderation</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Moderate Users</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Moderate Rooms</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Do you want to change this User to become a Moderator of that Organization?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Please choose an Organization before you try to add a User to it!</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Organization - Moderator</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Do you really want to delete this User from the Organization?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>This User is Moderator</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>This User is No-Moderator</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Do you want this User to be not a Moderator of this Organization?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Add or delete Users or Rooms within your Organization</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Do you really want to delete this record?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Do you really want to delete this user from your organization? You will only delete the connection between the user and your organization, to really delete the user itself you have to login into the Administration-Panel.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>You cannot delete your own User!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>This Method needs a Adminstration Account to be invoked!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>There was no Session associated with this ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>This is an Administrator or Moderator account. You can only edit this account through the Administration Panel.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>To complete your registration please click on the following link. Or copy the URL to your browser bar.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Click to verify your E-Mail</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>No user was found for this Hash.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>This user is already activated!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>You did successfully activate your account!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Login Now</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Your account is not activated. First use the link in the Email you've received during registration.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>You successfully signed up. We've send an EMail with a verification Code to your Mail. Please check your Inbox.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Remove Moderation Role from this User</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Grant Moderation Rights to this User</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>User</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Access to whiteboard</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Moderator</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Moderation: Please choose any User on the List to grant him access to the Whiteboard, Moderation or Video.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>This User is already Moderator, so he has automatically the right to draw.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>This is you! You cannot remove the Moderation rights from yourself.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Allow this User to Publish his Audio / Video</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Remove Audio/Video of this User</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>I would like to get the moderation of this room</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>I would like to draw on whiteboard</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>I would like to share my Audio/Video</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>You are moderator of this room</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>You are allowed to draw on whiteboard</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>You are allowed to share your Audio/Video</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Message to Moderator</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>The User</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>would like to get the Moderation. Use the status Icons next to the user in the List of Users to add or remove the Moderation.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>would like to draw on whiteboard. Use the status Icons next to the user in the List of Users to add or remove the right to draw anything on the whiteboard.</value>
+  </string>
+  <string id="695" name="695">
+    <value>would like to share his Audio/Video. Use the status Icons next to the user in the List of Users to add or remove the right to share Audio/Video for any User.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>You have to wait untill a Moderator enters the room.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Cancel</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Save</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Day</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Month</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Year</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Upload File</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Refresh</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Trash (Drag and Drop item here)</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>My Files (Home Drive)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Room Files (Public Drive)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Add File</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Delete Folder</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Edit Name</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>New Folder</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Are you sure you want to delete this Item?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Open Document</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Show all Files (Tree View)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Close Document</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Delete File</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>You are not allowed to draw anything on the Whiteboard. You have to become Moderator or at least get the Right to edit Whiteboard. You may ask a Moderator to give you that right.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Document Properties</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Start Client (external)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Start Client (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>A user want to share his screen. Do you want to see it?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>You are currently sharing your Desktop. For stopping the Sharing Session please hit the Stop button in the Sharing Client.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Sharing Session</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>You are already sharing your desktop!</value>
+  </string>
+  <string id="728" name="sharing client">
+    <value>Desktop Viewer</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Exit</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Desktop Sharer</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Click Start to publish your screen</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Start Sharing</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Select your screen area:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Change width</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>The Sharer has finished this session!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Change height</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X-Offset</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y-Offset</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Width:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Height:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>Connection was closed by Server</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Cancel</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Start External</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>If you close this session completely you are not able to restart the viewer for this session.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Confirm Closing Viewer Session</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Share Screen</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Record Session</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Co-Browsing</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Ooops, ... Firefox on Windows does not show clear Co-Browsing. Please use another Browser for using the Co-Browsing feature.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Previous</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Next</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Reload</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Home</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Load</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Add this website as Default website to your Profile.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Test Setup</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Check you Microphone and Camera setup before you enter a room by recording some seconds. You can then replay your recording to check your voice and picture.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Don't show this test anymore</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Cancel</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Start Conference</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Do not ask again</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>You may proceed without testing if you do not plan to publish your voice or picture. Participants without Audio or Video can still use the Whiteboard, share their Desktop or write Chat messages.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="test setup">
+    <value>Level-Meter</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Press Start</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Start Event</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Choose Room</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Check Setup</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="774" name="start view">
+    <value>How to conference</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Start Recording</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Do not show Audio / Video Test (Recording) before entering a Conference</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Public Rooms</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Public Rooms are accessible for all Users.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Private Rooms</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Private Rooms are only accessible for users of the same organization.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>My Rooms</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Rooms in this section are created for personal usage. There are some standard rooms plus the ones that are created through the calendar and have a start and an end date. The rooms created via the calendar are only listed in this section as long as they are valid.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>You have to be moderator to do this.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Apply for moderation</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Apply for whiteboard access</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Apply for camera/microphone access</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>This Session Hash was already used. You cannot use it twice.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>START</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>EXIT</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Do you really want to exit? You might should clear uploaded documents, whiteboard and the chat history.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Exit conference</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Rooms</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Choose a room for a meeting</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>There is an unsaved Event in the Calendar. Please either save it or remove it.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Please add at least one attendee for your meeting!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Do you really want to delete this Event?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Warning</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Add Event</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>Day</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>Week</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>Month</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Description</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Attendees</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, your Web Conferencing Platform. Either follow the Instructions, press the start button to start to conference immediatelly or you goto the Calendar and set up a Conference for the future.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Plan a Meeting</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>To set up a conference you can add a new Event in the Calendar.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Need help?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Restricted</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Search</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Add</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>There is no User selected. Please select an item from the list first and then hit add.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Add Attendee</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Save</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Delete</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Event Details</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Default Moderators</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Name</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>E-Mail</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Add new default Moderator</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Is Super Moderator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>If the Room is moderated, User with Level Moderator or Administrator are automatically Moderator if they enter the Room. If you don't want to specify that and only want a certain User to become Moderator use the Default Moderator option.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>A Super Moderator is always a Moderator when he enters a Room, and nobody can remove the Moderation Flag from him</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Apply Super-Moderation to User</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Remove Super Moderation from User</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>If you add an Organization to the room only users of that Organization have access to it (This is only valid if the isPublic flag is set to false!)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Limitations</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organization</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Are you sure?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Do you really want to delete this Item? You have to press the save button to store the changes!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>There is no User selected. Please select first before you add it!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Add new Default Moderator</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Do you want to add the Super Moderation Flag for this User? A Super Moderator is not only Moderator of a Room, but also no other Moderator can remove the Moderation Flag for this User. You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Do you want to remove the Super Moderation Flag for this User? You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>This User is a Super-Moderator. You cannot remove the Moderation flag from a Super-Moderator!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Do you really want to delete this File/Folder?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Delete File/Folder?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Mrs.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Dr.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Properties</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Show mouse position to viewers</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Share Audio with SIP Applet</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Share Audio with SIP and Video with Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Full-Fit</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>View Screen</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>The user</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>wants to share its screen. Do you want to see it?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Close</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>The Session was closed by the sharing User!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>New Screen Sharing</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimize</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximize</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Recording Timeline</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>My Recordings</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Public Recordings</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Name</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Length</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Date</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>By</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>PLAY</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Main - Video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Recording</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>You may record and share your screen at the same time. To enable others to see your screen just hit the start button on the top. To only record the Session it is sufficient to click start recording.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Start Recording</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Stop Recording</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download the FLV-File</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Room</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>User has microphone on</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Allow User Questions</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Turn this off to prevent that any user is disturbing you in this room. Effect is that the Button to ask for Moderation ("I have a question") is not visible.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Rights</value>
+  </string>  
+  <string id="882" name="flvrecording">
+    <value>Download as AVI</value>
+  </string>  
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio only</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the Recording.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>The Recording is not yet ready for watching. Please retry in a couple of minutes again.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Recorder Message</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIP Applet is not Ready</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP-Account Settings</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP settings for each user. You can turn on or off SIP via the Administration &gt; Configuration (Key: enable_sip). The SIP data for each user should be created automatically. You can re-create the data by checking "Re-generate SIP Data"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. You should check the authentification data of your SIP-Provider and the SIP-Account Data for each User. As Administrator you are still able to login and check the Configuration. As User or Moderator you will be blocked from any interaction.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. Contact your Service Team!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet Message</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>The SIP-Applet is not ready. Accept the Applet please and click ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Get Moderation</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login the $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choose the User for this Video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>You are a Moderator in this Interview. You can decide who is speaking in this interview and you can start / stop the recording of the Session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Start Recording</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Stop Recording</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+    <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/timezones.xml b/WebContent/languages/timezones.xml
new file mode 100644
index 0000000..983f0e1
--- /dev/null
+++ b/WebContent/languages/timezones.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<timezones xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="timezones.xsd">
+	<!-- 
+		This file is loaded during installation to the database table "om_timezones" of OpenMeetings. 
+		Changes at runtime to this file have no effect to OpenMeetings.
+	
+		Attributes:
+	
+		1) orderId
+		The orderId is just an indicator for the position in the drow down box inside 
+		OpenMeetings UI, there can be duplicates
+		However the order in the XML should be correct cause the Web-installer/CLI-Installer
+		will display the timezones exactly in the order of the XML.
+		
+		2) name
+		A common name in short
+		
+		3) label
+		Long name, displayed in UI
+		
+		4) iCal
+		this is the actual name, OpenMeetings will use to match again Java's timezones 
+		(http://docs.oracle.com/javase/6/docs/api/java/util/TimeZone.html)
+		
+		to get all available id that are available in your Java JRE see:
+		http://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/test/timezone/TestGetIds.java
+		
+		For updating the JRE runtime with different tz-file, see:		
+		http://www.oracle.com/technetwork/java/javase/timezones-137583.html
+	 -->
+	<timezone orderId="1" name="Etc/GMT+12 (New Zealand)" label="New Zealand" iCal="Pacific/Auckland" />
+    <timezone orderId="1" name="Etc/GMT+12" label="Kiribati (Gilbert Islands), Fiji, Russia (Kamchatka Krai)" iCal="Pacific/Fiji" />
+    <timezone orderId="2" name="Etc/GMT+11" label="Vladivostok, Kamchatka, Solomon Islands, New Caledonia" iCal="Asia/Vladivostok" />
+    <timezone orderId="3" name="Etc/GMT+10 (Australia/NSW)" label="Australia (NSW,Sydney,Tasmania), Yakutsk" iCal="Australia/Sydney" />
+    <timezone orderId="3" name="Etc/GMT+10 (Australia/Queensland)" label="Russia (Zabaykalsky Krai), Papua New Guinea, Australia (Queensland)" iCal="Australia/Queensland" />
+    <timezone orderId="3" name="Etc/GMT+10" label="Lord Howe Island - Australia GMT+10:30" iCal="Australia/Lord_Howe" />
+    <timezone orderId="4" name="Etc/GMT+9 (Japan)" label="Japan/Korea Standard Time, Irkutsk, East Timor" iCal="Asia/Tokyo" />
+    <timezone orderId="4" name="Etc/GMT+9 (Australia-North)" label="Australia (Nothern Territory,Darwin) GMT+9:30" iCal="Australia/Darwin" />
+    <timezone orderId="4" name="Etc/GMT+9 (Australia-South)" label="Australia (Southern Territory,Adelaide) GMT+9:30" iCal="Australia/Adelaide" />
+    <timezone orderId="5" name="Etc/GMT+8" label="China Standard Time, Krasnoyarsk, Philippines, Singapore" iCal="Asia/Singapore" />
+    <timezone orderId="6" name="Etc/GMT+7" label="Novosibirsk, Indochina Time, Thailand, Vietnam, Jakarta" iCal="Asia/Jakarta" />
+    <timezone orderId="7" name="Etc/GMT+6" label="Yekaterinburg, Almaty, Bangladesh" iCal="Asia/Yekaterinburg" />
+    <timezone orderId="8" name="IST" label="Indian Standard Time GMT+5.30" iCal="Asia/Kolkata" />
+    <timezone orderId="9" name="Etc/GMT+5" label="Uzbekistan, Pakistan, Maldives" iCal="Asia/Karachi" />
+    <timezone orderId="10" name="Asia/Kabul" label="Kabul GMT+4.30 " iCal="Asia/Kabul" />
+    <timezone orderId="11" name="Etc/GMT+4" label="Moscow, Saint Petersburg, Georgia, Armenia, Azerbaijan, United Arab Emirates" iCal="Europe/Moscow" />
+    <timezone orderId="12" name="Asia/Tehran" label="Tehran GMT+3.30" iCal="Asia/Tehran" />
+    <timezone orderId="13" name="Etc/GMT+3" label="Kaliningrad, Minsk, Iraq, Saudi Arabia" iCal="Europe/Kaliningrad" />
+    <timezone orderId="14" name="Etc/GMT+2" label="Finland, Lithuania, Belarus, Ukraine, Romania, Bulgaria" iCal="Europe/Helsinki" />
+    <timezone orderId="14" name="Etc/GMT+2" label="Libya, Egypt, South Africa, Zimbabwe" iCal="Africa/Cairo" />
+    <timezone orderId="15" name="Etc/GMT+1" label="France, Germany, Spain, Italy" iCal="Europe/Berlin" />
+    <timezone orderId="15" name="Etc/GMT+1 (North Africa)" label="Angola, Cameroon, Nigeria, Tunisia" iCal="Africa/Tunis" />
+    <timezone orderId="16" name="Etc/GMT" label="Iceland, United Kingdom, Ireland" iCal="Europe/London" />
+    <timezone orderId="16" name="Etc/GMT (North Africa)" label="Côte d'Ivoire, Faroe Islands, Ghana, Iceland, Senegal" iCal="Africa/Dakar" />
+    <timezone orderId="17" name="Etc/GMT-1" label="Azores, Cape Verde" iCal="Atlantic/Cape_Verde" />
+    <timezone orderId="18" name="Etc/GMT-2" label="Fernando de Noronha" iCal="America/Noronha" />
+    <timezone orderId="19" name="Etc/GMT-3 (Brazil)" label="Brazil (Brasília, Rio de Janeiro, São Paulo), most of Greenland, Uruguay" iCal="America/Sao_Paulo" />
+    <timezone orderId="19" name="Etc/GMT-3" label="Argentina, Paraguay" iCal="America/Buenos_Aires" />
+    <timezone orderId="19" name="Etc/GMT-3:30" label="Canada GMT+3:30" iCal="CNT" />
+    <timezone orderId="20" name="Etc/GMT-4" label="Nova Scotia, Dominican Republic, Puerto Rico, Santiago" iCal="America/Santiago" />
+    <timezone orderId="20" name="Etc/GMT-4:30" label="Venezuela GMT+4:30" iCal="America/Caracas" />
+    <timezone orderId="21" name="Etc/GMT-5 (New York)" label="Ottawa, Toronto, Montreal, Boston, New York" iCal="America/New_York" />
+    <timezone orderId="21" name="Etc/GMT-5" label="Colombia, Cuba, Ecuador, Haiti, Jamaica, Panama, Peru" iCal="America/Jamaica" />
+    <timezone orderId="22" name="Etc/GMT-5 (Panama)" label="Panama Port-au-Prince" iCal="America/Panama" />
+    <timezone orderId="23" name="Etc/GMT-6 (Chicago)" label="Chicago, Dallas" iCal="America/Chicago" />
+    <timezone orderId="24" name="Etc/GMT-6" label="Costa Rica , El Salvador, Guatemala, Honduras" iCal="America/El_Salvador" />
+    <timezone orderId="24" name="Etc/GMT-6 (Illinois)" label="Canada (Manitoba), United States (Illinois, most of Texas)" iCal="America/Chicago" />
+    <timezone orderId="25" name="Etc/GMT-7 (Phoenix)" label="Alberta, Colorado, Phoenix" iCal="America/Phoenix" />
+    <timezone orderId="26" name="Etc/GMT-7 (Colorado)" label="Canada (Alberta), Mexico (Chihuahua), USA (Colorado)" iCal="America/Denver" />
+    <timezone orderId="26" name="Etc/GMT-7" label="Canada (northeastern British Columbia), Mexico (Sonora), USA (Arizona)" iCal="America/Phoenix" />
+    <timezone orderId="27" name="Etc/GMT-8" label="Vancouver, Portland, Las Vegas, California" iCal="America/Los_Angeles" />
+    <timezone orderId="28" name="Etc/GMT-9" label="Anchorage, Fairbanks, Juneau" iCal="America/Juneau" />
+    <timezone orderId="28" name="Etc/GMT-9 (Alaska)" label="United States (most of Alaska)" iCal="US/Alaska" />
+    <timezone orderId="29" name="Etc/GMT-10" label="Hawaii" iCal="Pacific/Honolulu" />
+    <timezone orderId="30" name="Etc/GMT-11" label="Samoa" iCal="Pacific/Apia" />
+</timezones>
diff --git a/WebContent/languages/timezones.xsd b/WebContent/languages/timezones.xsd
new file mode 100644
index 0000000..d693ab3
--- /dev/null
+++ b/WebContent/languages/timezones.xsd
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

+  <xs:element name="timezones">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element maxOccurs="unbounded" ref="timezone"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="timezone">

+    <xs:complexType>

+      <xs:attribute name="iCal" use="required"/>

+      <xs:attribute name="label" use="required"/>

+      <xs:attribute name="name" use="required"/>

+      <xs:attribute name="orderId" use="required" type="xs:integer"/>

+    </xs:complexType>

+  </xs:element>

+</xs:schema>

diff --git a/WebContent/languages/turkish.xml b/WebContent/languages/turkish.xml
new file mode 100644
index 0000000..55b5582
--- /dev/null
+++ b/WebContent/languages/turkish.xml
@@ -0,0 +1,4504 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+	<string id="1" name="conference">
+		<value>konferans</value>
+	</string>
+	<string id="2" name="meeting">
+		<value>toplantı</value>
+	</string>
+	<string id="3" name="classroom">
+		<value>Etkinlikler</value>
+	</string>
+	<string id="4" name="settings">
+		<value>Ayarlar</value>
+	</string>
+	<string id="5" name="benutzer">
+		<value>Profil</value>
+	</string>
+	<string id="6" name="admin">
+		<value>Yönetim</value>
+	</string>
+	<string id="7" name="stop">
+		<value>Dur</value>
+	</string>
+	<string id="8" name="record">
+		<value>Kayıt</value>
+	</string>
+	<string id="9" name="nofile">
+		<value>Kullanılabilir dosya yok</value>
+	</string>
+	<string id="10" name="recordbyteacher">
+		<value>Öğretmene Göre Kayıt</value>
+	</string>
+	<string id="11" name="connectedusers">
+		<value>Bağlı kullanıcılar:</value>
+	</string>
+	<string id="12" name="startconf">
+		<value>Bir konferans başlat</value>
+	</string>
+	<string id="13" name="myname">
+		<value>Benim Adım</value>
+	</string>
+	<string id="14" name="videoconference">
+		<value>Görüntülü Konferans</value>
+	</string>
+	<string id="15" name="import">
+		<value>Dosya Yükleme</value>
+	</string>
+	<string id="16" name="refreshfiles">
+		<value>Listeyi Yenile</value>
+	</string>
+	<string id="17" name="tomainfile">
+		<value>Ana Dosyaya</value>
+	</string>
+	<string id="18" name="newpoll">
+		<value>Yeni Anket</value>
+	</string>
+	<string id="19" name="newpollheader">
+		<value>Konferans için yeni bir anket.</value>
+	</string>
+	<string id="20" name="question">
+		<value>Soru:</value>
+	</string>
+	<string id="21" name="polltype">
+		<value>Anket tipi:</value>
+	</string>
+	<string id="22" name="create">
+		<value>Yarat</value>
+	</string>
+	<string id="23" name="infomessage">
+		<value>Bilgi: Bağlı her kullanıcı yeni anketle ilgili bir mesaj alır.</value>
+	</string>
+	<string id="24" name="creatpoll">
+		<value>Bir anket yarat</value>
+	</string>
+	<string id="25" name="cancel">
+		<value>İptal</value>
+	</string>
+	<string id="26" name="yesno">
+		<value>Evet/Hayır</value>
+	</string>
+	<string id="27" name="numeric">
+		<value>Sayısal 1-10</value>
+	</string>
+	<string id="28" name="poll">
+		<value>Anket</value>
+	</string>
+	<string id="29" name="moderation">
+		<value>Soru oluşturabilmek için Düzenleyici olmanız gerekmekte</value>
+	</string>
+	<string id="30" name="vote">
+		<value>Oyunuz kaydedildi.</value>
+	</string>
+	<string id="31" name="alreadyvoted">
+		<value>Bu anket için zaten oy kullanmıştınız.</value>
+	</string>
+	<string id="32" name="voting">
+		<value>Oyla !</value>
+	</string>
+	<string id="33" name="answer">
+		<value>Sizin yanıtınız:</value>
+	</string>
+	<string id="34" name="yes">
+		<value>Evet</value>
+	</string>
+	<string id="35" name="no">
+		<value>Hayır</value>
+	</string>
+	<string id="36" name="questionwant">
+		<value>Sonuçları gör:</value>
+	</string>
+	<string id="37" name="pollresults">
+		<value>Anket sonuçları</value>
+	</string>
+	<string id="38" name="question">
+		<value>Soru:</value>
+	</string>
+	<string id="39" name="results">
+		<value>Sonuçlar:</value>
+	</string>
+	<string id="40" name="answers">
+		<value>Cevaplar:</value>
+	</string>
+	<string id="41" name="nopoll">
+		<value>Başlamış olan anket yok.</value>
+	</string>
+	<string id="42" name="votings">
+		<value>Oyla!</value>
+	</string>
+	<string id="43" name="meeting">
+		<value>Toplantı (en fazla 4 yer)</value>
+	</string>
+	<string id="44" name="conference">
+		<value>Konferans (en fazla 50 yer)</value>
+	</string>
+	<string id="45" name="type">
+		<value>Tip</value>
+	</string>
+	<string id="46" name="remainingseats">
+		<value>Diğer yerler</value>
+	</string>
+	<string id="47" name="alreadychosen">
+		<value>Halihazırda seçili</value>
+	</string>
+	<string id="48" name="enter">
+		<value>giriş</value>
+	</string>
+	<string id="49" name="modleave">
+		<value>Düzenleyici toplantıyı terk etti.</value>
+	</string>
+	<string id="50" name="systemmessage">
+		<value>Sistem bilgisi</value>
+	</string>
+	<string id="51" name="chossedevice">
+		<value>Araç seçiniz</value>
+	</string>
+	<string id="52" name="choosecam">
+		<value>Web Kamerası seçiniz:</value>
+	</string>
+	<string id="53" name="choosemic">
+		<value>Mikrofon seçiniz:</value>
+	</string>
+	<string id="54" name="ok">
+		<value>tamam</value>
+	</string>
+	<string id="55" name="cancel2">
+		<value>iptal</value>
+	</string>
+	<string id="56" name="reconeectneeded">
+		<value>Yeniden bağlanmanız gerekmekte.</value>
+	</string>
+	<string id="57" name="editsetup">
+		<value>Ayarları düzenle.</value>
+	</string>
+	<string id="58" name="course">
+		<value>Ders:</value>
+	</string>
+	<string id="59" name="language">
+		<value>Dil:</value>
+	</string>
+	<string id="60" name="ok2">
+		<value>tamam</value>
+	</string>
+	<string id="61" name="cancel3">
+		<value>iptal</value>
+	</string>
+	<string id="62" name="clearwhiteboard">
+		<value>Tahtayı temizle</value>
+	</string>
+	<string id="63" name="clearwhiteboardquestion">
+		<value>Yeni resim eklenmeden önce tahtanın temizlenmesini istiyor musunuz?</value>
+	</string>
+	<string id="64" name="dontaskagain">
+		<value>Tekrar sormayın</value>
+	</string>
+	<string id="65" name="no">
+		<value>no</value>
+	</string>
+	<string id="66" name="editsetup2">
+		<value>Ayarları düzenle</value>
+	</string>
+	<string id="67" name="needconfirmationwhiteboard">
+		<value>Tahtanın temizlenmesinden önce onay başvurusu.</value>
+	</string>
+	<string id="68" name="userinfo">
+		<value>Kullanıcı Bilgisi</value>
+	</string>
+	<string id="69" name="cleardrawarea">
+		<value>Çizim alanını temizle</value>
+	</string>
+	<string id="70" name="undo">
+		<value>Geri al</value>
+	</string>
+	<string id="71" name="redo">
+		<value>İleri al</value>
+	</string>
+	<string id="72" name="selectobject">
+		<value>Bir Nesne Seçin</value>
+	</string>
+	<string id="73" name="text">
+		<value>Metin</value>
+	</string>
+	<string id="74" name="paint">
+		<value>Boyama</value>
+	</string>
+	<string id="75" name="drawline">
+		<value>Çizgi çiz</value>
+	</string>
+	<string id="76" name="drawu">
+		<value>Altını çiz</value>
+	</string>
+	<string id="77" name="rect">
+		<value>Dikdörtgen</value>
+	</string>
+	<string id="78" name="ellipse">
+		<value>Elips</value>
+	</string>
+	<string id="79" name="arrow">
+		<value>Ok</value>
+	</string>
+	<string id="80" name="deletechosen">
+		<value>Seçili öğeyi sil</value>
+	</string>
+	<string id="81" name="appliymod">
+		<value>Düzenleme için uygula</value>
+	</string>
+	<string id="82" name="apply">
+		<value>uygula</value>
+	</string>
+	<string id="83" name="cancel">
+		<value>iptal</value>
+	</string>
+	<string id="84" name="mod">
+		<value>Düzenleyici ol</value>
+	</string>
+	<string id="85" name="close">
+		<value>kapat</value>
+	</string>
+	<string id="86" name="italic">
+		<value>eğik</value>
+	</string>
+	<string id="87" name="bold">
+		<value>kalın</value>
+	</string>
+	<string id="88" name="waiting">
+		<value>BEKLİYOR</value>
+	</string>
+	<string id="89" name="applyMessage">
+		<value>Düzenleyicilik için bir kullanıcı bekleniyor:</value>
+	</string>
+	<string id="90" name="accept">
+		<value>onay</value>
+	</string>
+	<string id="91" name="reject">
+		<value>reddet</value>
+	</string>
+	<string id="92" name="cancel">
+		<value>iptal</value>
+	</string>
+	<string id="93" name="sendmodrequestmessage">
+		<value>Bu kullanıcılar için istek gönder</value>
+	</string>
+	<string id="94" name="accept">
+		<value>Onaylandı</value>
+	</string>
+	<string id="95" name="reject">
+		<value>Reddedildi</value>
+	</string>
+	<string id="96" name="changemod">
+		<value>Düzenleyiciyi Değiştir</value>
+	</string>
+	<string id="97" name="nonmoderrormessage">
+		<value>Bu dersin düzenleyicisi değilsiniz!</value>
+	</string>
+	<string id="98" name="moderator">
+		<value>Düzenleyici:</value>
+	</string>
+	<string id="99" name="roomfullmessage">
+		<value>Bu oda dolu. Lütfen daha sonra yeniden deneyiniz.</value>
+	</string>
+	<string id="100" name="elllipse">
+		<value>Elips</value>
+	</string>
+	<string id="101" name="close">
+		<value>kapat</value>
+	</string>
+	<string id="102" name="AuthError">
+		<value>veri giriş hatası</value>
+	</string>
+	<string id="103" name="min4username">
+		<value>4 ya da daha fazla karakter; büyük-küçük harfe duyarlı!</value>
+	</string>
+	<string id="104" name="min4pass">
+		<value>Kullanıcı şifresi en az 4 karakter olmalıdır</value>
+	</string>
+	<string id="105" name="usernametaken">
+		<value>Bu kullanıcı adı alınmış</value>
+	</string>
+	<string id="106" name="emailtaken">
+		<value>Bu e-posta adresi zaten kayıtlı</value>
+	</string>
+	<string id="107" name="emailtaken">
+		<value>Sistem hatası. Lütfen sistem yöneticileri ile bağlantıya geçiniz.</value>
+	</string>
+	<string id="108" name="Authlogin">
+		<value>Oturum Aç</value>
+	</string>
+	<string id="109" name="Authuser">
+		<value>Kullanıcı Adı:</value>
+	</string>
+	<string id="110" name="Authpass">
+		<value>Şifre:</value>
+	</string>
+	<string id="111" name="Authlang">
+		<value>Dil</value>
+	</string>
+	<string id="112" name="Authreg">
+		<value>Giriş Yap</value>
+	</string>
+	<string id="113" name="regformhead">
+		<value>Kayıt Ol</value>
+	</string>
+	<string id="114" name="regformuser">
+		<value>Kullanıcı Adı:</value>
+	</string>
+	<string id="115" name="regformpass">
+		<value>Şifre:</value>
+	</string>
+	<string id="116" name="regformretype">
+		<value>Yeniden Yazın:</value>
+	</string>
+	<string id="117" name="regformfirstname">
+		<value>Ad:</value>
+	</string>
+	<string id="118" name="regformlastname">
+		<value>Soyad:</value>
+	</string>
+	<string id="119" name="regformmail">
+		<value>E-posta:</value>
+	</string>
+	<string id="120" name="regformstate">
+		<value>Ülke:</value>
+	</string>
+	<string id="121" name="regformbtn1">
+		<value>Kayıt</value>
+	</string>
+	<string id="122" name="regformbtn2">
+		<value>İptal</value>
+	</string>
+	<string id="123" name="Authbtn2">
+		<value>Üye değil misiniz?</value>
+	</string>
+	<string id="124" name="dashboard">
+		<value>Ev</value>
+	</string>
+	<string id="125" name="useradmin">
+		<value>Kullanıcılar</value>
+	</string>
+	<string id="126" name="groupadmin">
+		<value>Gruplar</value>
+	</string>
+	<string id="127" name="orgadmin">
+		<value>Kurumlar</value>
+	</string>
+	<string id="128" name="headconf">
+		<value>Toplantı-Odaları</value>
+	</string>
+	<string id="129" name="conf_pub">
+		<value>herkese açık</value>
+	</string>
+	<string id="130" name="head_org">
+		<value>Kurum</value>
+	</string>
+	<string id="131" name="btn_enterroom">
+		<value>giriş</value>
+	</string>
+	<string id="132" name="useralterself_login">
+		<value>Oturum Aç</value>
+	</string>
+	<string id="133" name="useralterself_pass">
+		<value>Şifre</value>
+	</string>
+	<string id="134" name="useralterself_passretype">
+		<value>Yeniden yaz</value>
+	</string>
+	<string id="135" name="useralterself_firstname">
+		<value>Ad</value>
+	</string>
+	<string id="136" name="useralterself_lastname">
+		<value>Soyad</value>
+	</string>
+	<string id="137" name="useralterself_email">
+		<value>E-Posta</value>
+	</string>
+	<string id="138" name="useralterself_birth">
+		<value>Doğum günü</value>
+	</string>
+	<string id="139" name="useralterself_streetno">
+		<value>Cadde/No</value>
+	</string>
+	<string id="140" name="useralterself_town">
+		<value>ZIP/Şehir</value>
+	</string>
+	<string id="141" name="useralterself_state">
+		<value>Ülke</value>
+	</string>
+	<string id="142" name="useralterself_adresscomment">
+		<value>Adres</value>
+	</string>
+	<string id="143" name="useralterself_header">
+		<value>Kullanıcı bilgisi</value>
+	</string>
+	<string id="144" name="savemenubar_savelabel">
+		<value>kaydet</value>
+	</string>
+	<string id="145" name="savemenubar_savelabel">
+		<value>Kaydet</value>
+	</string>
+	<string id="146" name="admin_userlist_user_id">
+		<value>Kullanıcı kodu</value>
+	</string>
+	<string id="147" name="admin_userlist_login">
+		<value>Oturum aç</value>
+	</string>
+	<string id="148" name="admin_userlist_firstnam">
+		<value>Ad</value>
+	</string>
+	<string id="149" name="admin_userlist_lastname">
+		<value>Soyad</value>
+	</string>
+	<string id="150" name="turnoverlist_next">
+		<value>sonrakini göster</value>
+	</string>
+	<string id="151" name="turnoverlist_pre">
+		<value>öncekini göster</value>
+	</string>
+	<string id="152" name="savecontent_confirm">
+		<value>kaydı sil</value>
+	</string>
+	<string id="153" name="savecontent_confirm_cancel_btn">
+		<value>iptal</value>
+	</string>
+	<string id="154" name="savecontent_confirm_confirm_btn">
+		<value>sil</value>
+	</string>
+	<string id="155" name="savemenubar_addlabel">
+		<value>yeni kayıt</value>
+	</string>
+	<string id="156" name="savemenubar_reloadlabel">
+		<value>kayıt yenile</value>
+	</string>
+	<string id="157" name="savemenubar_deletelabel">
+		<value>kayıt sil</value>
+	</string>
+	<string id="158" name="useralter_admin_status">
+		<value>durum</value>
+	</string>
+	<string id="159" name="useralter_admin_statusItem">
+		<value>devre dışı</value>
+	</string>
+	<string id="160" name="useralter_admin_statusItem">
+		<value>etkin</value>
+	</string>
+	<string id="161" name="useralter_admin_organisation">
+		<value>Kurumlar</value>
+	</string>
+	<string id="162" name="calendar_iconlabel">
+		<value>takvim</value>
+	</string>
+	<string id="163" name="savewindow_btn">
+		<value>kapat</value>
+	</string>
+	<string id="164" name="organisationtablelist_idrow">
+		<value>Kurum Kodu</value>
+	</string>
+	<string id="165" name="organisationtablelist_namerow">
+		<value>Ad</value>
+	</string>
+	<string id="166" name="uservalue_levelid1">
+		<value>Kullanıcı</value>
+	</string>
+	<string id="167" name="uservalue_levelid2">
+		<value>Düzenleyici</value>
+	</string>
+	<string id="168" name="uservalue_levelid3">
+		<value>Yönetici</value>
+	</string>
+	<string id="169" name="uservalue_levellabel">
+		<value>kullanıcı seviyesi</value>
+	</string>
+	<string id="170" name="orgvalue_header">
+		<value>Kurum</value>
+	</string>
+	<string id="171" name="orgvalue_orgname">
+		<value>ad</value>
+	</string>
+	<string id="172" name="orgvalue_orgname">
+		<value>kurum ekle</value>
+	</string>
+	<string id="173" name="orgvalue_orgname">
+		<value>kurum ekle</value>
+	</string>
+	<string id="174" name="orgvalue_userwin">
+		<value>iptal</value>
+	</string>
+	<string id="175" name="orgvalue_userwin">
+		<value>ekle</value>
+	</string>
+	<string id="176" name="orgvalue_userwin">
+		<value>kurumu kaldır</value>
+	</string>
+	<string id="177" name="orgvalue_userlist">
+		<value>kullanıcı</value>
+	</string>
+	<string id="178" name="orgvalue_userlistadd">
+		<value>kullanıcı ekle</value>
+	</string>
+	<string id="179" name="orgvalue_userlistdelete">
+		<value>kullanıcı sil</value>
+	</string>
+	<string id="180" name="orgvalue_userwinheader">
+		<value>kullanıcı ekle</value>
+	</string>
+	<string id="181" name="orgvalue_userwinsearchfield">
+		<value>kullanıcı ara</value>
+	</string>
+	<string id="182" name="orgvalue_userwinsearchbtn">
+		<value>ara</value>
+	</string>
+	<string id="183" name="orgvalue_userwinsearchresult">
+		<value>kullanıcı</value>
+	</string>
+	<string id="184" name="loginwin_chooseorganisation">
+		<value>Kurum</value>
+	</string>
+	<string id="185" name="loginwin_chooseorganisationbtn">
+		<value>giriş</value>
+	</string>
+	<string id="186" name="navi_roomadmin">
+		<value>Konferans Odaları</value>
+	</string>
+	<string id="187" name="roomadmin_header">
+		<value>Konferans Odaları</value>
+	</string>
+	<string id="188" name="roomadmin_header">
+		<value>kod</value>
+	</string>
+	<string id="189" name="roomadmin_header">
+		<value>Ad</value>
+	</string>
+	<string id="190" name="roomadmin_header">
+		<value>herkese açık</value>
+	</string>
+	<string id="191" name="roomadmin_header">
+		<value>Kurumlar</value>
+	</string>
+	<string id="192" name="roomadmin_header">
+		<value>Toplantı Odaları</value>
+	</string>
+	<string id="193" name="roomvalue_name">
+		<value>Ad</value>
+	</string>
+	<string id="194" name="roomvalue_type">
+		<value>Tip</value>
+	</string>
+	<string id="195" name="roomvalue_ispublic">
+		<value>Herkese Açık</value>
+	</string>
+	<string id="196" name="roomvalue_comment">
+		<value>Yorum</value>
+	</string>
+	<string id="197" name="whiteboard_saveicon">
+		<value>kaydet</value>
+	</string>
+	<string id="198" name="whiteboard_openicon">
+		<value>yükle</value>
+	</string>
+	<string id="199" name="whiteboard_saveaswinheader">
+		<value>farklı kaydet</value>
+	</string>
+	<string id="200" name="whiteboard_saveaswintext">
+		<value>Dosya adı</value>
+	</string>
+	<string id="201" name="files">
+		<value>dosya adı</value>
+	</string>
+	<string id="202" name="whiteboard_saveaswinbtn1">
+		<value>iptal</value>
+	</string>
+	<string id="203" name="whiteboard_saveaswinbtn2">
+		<value>kaydet</value>
+	</string>
+	<string id="204" name="rpcerrorwin_header">
+		<value>hata</value>
+	</string>
+	<string id="205" name="loadwml_header">
+		<value>yükleniyor</value>
+	</string>
+	<string id="206" name="loadwml_messsload">
+		<value>nesneler yüklendi</value>
+	</string>
+	<string id="207" name="loadwml_messsync">
+		<value>istemciler senkronize oluyor, bekleyen istemciler:</value>
+	</string>
+	<string id="208" name="loadimage_messload">
+		<value>İmaj verisi yükleniyor</value>
+	</string>
+	<string id="209" name="loadimage_messsync">
+		<value>istemciler senkronize oluyor, bekleyen istemciler:</value>
+	</string>
+	<string id="210" name="loadwml_confirmheader">
+		<value>çizim alanını temizle</value>
+	</string>
+	<string id="211" name="loadwml_confirmmess">
+		<value>çizim alanını temizle, tahtadaki tüm bilgiler silinecek</value>
+	</string>
+	<string id="212" name="loadwml_confirmmess2">
+		<value>Dosyayı yollamadan önce onaylayınız</value>
+	</string>
+	<string id="213" name="send_invitation_btn">
+		<value>Davet gönder</value>
+	</string>
+	<string id="214" name="send_invitationwin_header">
+		<value>Davet gönder</value>
+	</string>
+	<string id="215" name="send_invitationwin_subject">
+		<value>Konu</value>
+	</string>
+	<string id="216" name="send_invitationwin_recipient">
+		<value>Alıcı</value>
+	</string>
+	<string id="217" name="send_invitationwin_message">
+		<value>Mesaj</value>
+	</string>
+	<string id="218" name="send_invitationwin_btn_confirm">
+		<value>Yolla</value>
+	</string>
+	<string id="219" name="send_invitationwin_btn_cancel">
+		<value>İptal</value>
+	</string>
+	<string id="220" name="send_chat_text_btn">
+		<value>gönder</value>
+	</string>
+	<string id="221" name="invited_userwin_header">
+		<value>Kullanıcı verisi</value>
+	</string>
+	<string id="222" name="invited_userwin_subject">
+		<value>Bu konferans için takma adınız</value>
+	</string>
+	<string id="223" name="invited_userwin_login">
+		<value>Takma Ad</value>
+	</string>
+	<string id="224" name="invited_userwin_firstname">
+		<value>Ad</value>
+	</string>
+	<string id="225" name="invited_userwin_lastname">
+		<value>Soyad</value>
+	</string>
+	<string id="226" name="invited_userwin_mail">
+		<value>E-posta</value>
+	</string>
+	<string id="227" name="invited_userwin_lang">
+		<value>Dil</value>
+	</string>
+	<string id="228" name="invited_userwin_enter">
+		<value>giriş</value>
+	</string>
+	<string id="229" name="invited_userwin_enter">
+		<value>Yükleniyor</value>
+	</string>
+	<string id="230" name="invited_userwin_enter">
+		<value>Veri yükleniyor, lütfen bekleyin!</value>
+	</string>
+	<string id="231" name="user_registerFalsePWD">
+		<value>Hatalı Şifre</value>
+	</string>
+	<string id="232" name="user_registerFalsePWDHeader">
+		<value>Lütfen en az 6 karakter içeren birbiri ile aynı iki şifre giriniz</value>
+	</string>
+	<string id="233" name="user_registerMailError">
+		<value>Hatalı E-posta</value>
+	</string>
+	<string id="234" name="user_registerMailErrorHeader">
+		<value>Hatalı bir e-posta adresi girdiniz</value>
+	</string>
+	<string id="235" name="user_registerSuccess">
+		<value>Kayıt Başarılı</value>
+	</string>
+	<string id="236" name="user_registerSuccessHeader">
+		<value>Hesabınız oluşturuldu, oturum açabilirsiniz.</value>
+	</string>
+	<string id="237" name="user_sharing_message">
+		<value>Şu anda ekranınızı paylaşamazsınız. Başka biri hâlihazırda ekranı paylaşmış.</value>
+	</string>
+	<string id="238" name="user_sharing_messageHeader">
+		<value>Paylaşıma izin yok</value>
+	</string>
+	<string id="239" name="user_doStartScreenViewer">
+		<value>Ekranı Paylaş</value>
+	</string>
+	<string id="240" name="screen_warnBandwidth">
+		<value>Düşük Bağlantı Hızı: Ekranınız senkronize edilemiyor. Görüntüler atlanacak. Eğer bu uyarıyı almaya devam ederseniz, düzenleyiciden kaliteyi düşürmesini isteyebilirsiniz.</value>
+	</string>
+	<string id="241" name="screen_userlabel">
+		<value>Ekranı:</value>
+	</string>
+	<string id="242" name="whiteboard_tab_paint">
+		<value>Boyama</value>
+	</string>
+	<string id="243" name="whiteboard_tab_document">
+		<value>Doküman</value>
+	</string>
+	<string id="244" name="tabbar_chaticon">
+		<value>Sohbet</value>
+	</string>
+	<string id="245" name="tabbar_filesicon">
+		<value>Dosyalar</value>
+	</string>
+	<string id="246" name="tabbar_participantsicon">
+		<value>Üyeler</value>
+	</string>
+	<string id="247" name="swfpresentation_listsaveorig">
+		<value>Orijinal dokümanı indir</value>
+	</string>
+	<string id="248" name="swfpresentation_listsavepdf">
+		<value>PDF dokümanı indir</value>
+	</string>
+	<string id="249" name="swfpresentation_listloadswf">
+		<value>Sunumu tahtaya yükle</value>
+	</string>
+	<string id="250" name="navimain_config">
+		<value>Konfigürasyon</value>
+	</string>
+	<string id="251" name="whiteboard_boundingbox_drag">
+		<value>Bu nesneyi bırak</value>
+	</string>
+	<string id="252" name="whiteboard_boundingbox_resize">
+		<value>Bu nesneyi boyutlandır</value>
+	</string>
+	<string id="253" name="whiteboard_documenttoolbar_zoom">
+		<value>%</value>
+	</string>
+	<string id="254" name="whiteboard_documenttoolbar_slide">
+		<value>of</value>
+	</string>
+	<string id="255" name="whiteboard_documenttoolbar_firstslide">
+		<value>İlk sayfaya git</value>
+	</string>
+	<string id="256" name="whiteboard_documenttoolbar_preslide">
+		<value>Önceki sayfaya git</value>
+	</string>
+	<string id="257" name="whiteboard_documenttoolbar_nextslide">
+		<value>Sonraki sayfaya git</value>
+	</string>
+	<string id="258" name="whiteboard_documenttoolbar_lastslide">
+		<value>Son sayfaya git</value>
+	</string>
+	<string id="259" name="whiteboard_documenttoolbar_zoomminus">
+		<value>Uzaklaştır --</value>
+	</string>
+	<string id="260" name="whiteboard_documenttoolbar_zoomplus">
+		<value>Yakınlaştır ++</value>
+	</string>
+	<string id="261" name="salutation_mr">
+		<value>Sayın</value>
+	</string>
+	<string id="262" name="salutation_miss">
+		<value>Sayın</value>
+	</string>
+	<string id="263" name="navimain_confadmin">
+		<value>Konfigürasyon</value>
+	</string>
+	<string id="264" name="conftable_headerId">
+		<value>KOD</value>
+	</string>
+	<string id="265" name="conftable_headerkey">
+		<value>Anahtar</value>
+	</string>
+	<string id="266" name="confadminform_header">
+		<value>Konfigürasyon</value>
+	</string>
+	<string id="267" name="confadminform_labelkey">
+		<value>Anahtar</value>
+	</string>
+	<string id="268" name="confadminform_labelupdated">
+		<value>son güncelleme</value>
+	</string>
+	<string id="269" name="confadminform_labelupdatedby">
+		<value>güncellemeye göre</value>
+	</string>
+	<string id="270" name="confadminform_labelcomment">
+		<value>yorum</value>
+	</string>
+	<string id="271" name="confadminform_labelkey">
+		<value>Değer</value>
+	</string>
+	<string id="272" name="turnoverlist_maxresults">
+		<value>of</value>
+	</string>
+	<string id="273" name="organisation_usersheader">
+		<value>Kullanıcılar</value>
+	</string>
+	<string id="274" name="organisation_usersicondelete">
+		<value>kullanıcıyı kurumdan sil</value>
+	</string>
+	<string id="275" name="organisation_usersdeletedhead">
+		<value>sil</value>
+	</string>
+	<string id="276" name="organisation_usersalreadadded">
+		<value>Bu kullanıcı hâlihazırda bu grubun bir üyesi.</value>
+	</string>
+	<string id="277" name="dashboard_newsheader">
+		<value>Haberler</value>
+	</string>
+	<string id="278" name="dashboard_quicklinksheader">
+		<value>Hızlı Bağlantılar</value>
+	</string>
+	<string id="279" name="dashboard_quicklinkConf">
+		<value>Konferansa git</value>
+	</string>
+	<string id="280" name="dashboard_quicklinkAudit">
+		<value>Oditoryuma git</value>
+	</string>
+	<string id="281" name="dashboard_quicklinksupport">
+		<value>yardım ve Destek</value>
+	</string>
+	<string id="282" name="dashboard_quickhomepageurl">
+		<value>http://incubator.apache.org/openmeetings/</value>
+	</string>
+	<string id="283" name="dashboard_quickmailinglisturl">
+		<value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+	</string>
+	<string id="284" name="dashboard_reportbugs">
+		<value>Hata bildir!</value>
+	</string>
+	<string id="285" name="dashboard_rsslistitemlinktext">
+		<value>daha fazlası</value>
+	</string>
+	<string id="286" name="dashboard_quicklinkhomepagelabel">
+		<value>Proje Web Sitesi (http://incubator.apache.org/openmeetings)</value>
+	</string>
+	<string id="287" name="dashboard_quicklinkmailinglistlabel">
+		<value>Kullanıcı E-Posta Listesi (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+	</string>
+	<string id="288" name="login_rememberuser">
+		<value>Oturumu Hatırla</value>
+	</string>
+	<string id="289" name="main_navi">
+		<value>İçerik</value>
+	</string>
+	<string id="290" name="subnavi">
+		<value>Ana Sayfam</value>
+	</string>
+	<string id="291" name="subnavi">
+		<value>Planlanmış Toplantılarım</value>
+	</string>
+	<string id="292" name="subnavi">
+		<value>Planlanmış Etkinliklerim</value>
+	</string>
+	<string id="293" name="subnavi">
+		<value>Herkese Açık Toplantılar</value>
+	</string>
+	<string id="294" name="subnavi">
+		<value>Özel Toplantılar</value>
+	</string>
+	<string id="295" name="subnavi">
+		<value>Herkese Açık Etkinlikler</value>
+	</string>
+	<string id="296" name="subnavi">
+		<value>Özel Etkinlikler</value>
+	</string>
+	<string id="297" name="subnavi">
+		<value>Herkese Açık İçerik</value>
+	</string>
+	<string id="298" name="subnavi">
+		<value>Özel İçerik</value>
+	</string>
+	<string id="299" name="subnavi">
+		<value>Kişisel İçerik</value>
+	</string>
+	<string id="300" name="subnavi">
+		<value></value>
+	</string>
+	<string id="301" name="conferencebar">
+		<value>Düzenleme</value>
+	</string>
+	<string id="302" name="conferencebar">
+		<value>Düzenleyicilik için onay</value>
+	</string>
+	<string id="303" name="conferencebar">
+		<value>Anketler</value>
+	</string>
+	<string id="304" name="conferencebar">
+		<value>Bir dosya seçin</value>
+	</string>
+	<string id="305" name="conferencebar">
+		<value>Ayarlar</value>
+	</string>
+	<string id="306" name="conferencebar">
+		<value>Kamera ve Mikrofon Ayarları</value>
+	</string>
+	<string id="307" name="conferencebar">
+		<value>Tahta Ayarları</value>
+	</string>
+	<string id="308" name="conferencebar">
+		<value>Çıkış</value>
+	</string>
+	<string id="309" name="conferencebar">
+		<value>Odalara geri dön</value>
+	</string>
+	<string id="310" name="conferencebar">
+		<value>Oturumu Kapat</value>
+	</string>
+	<string id="311" name="loginwindow">
+		<value>Şifreyi Unut?</value>
+	</string>
+	<string id="312" name="loginwindow">
+		<value>Şİfreyi Sıfırla</value>
+	</string>
+	<string id="313" name="loginwindow">
+		<value>E-postaya göre</value>
+	</string>
+	<string id="314" name="loginwindow">
+		<value>Oturuma göre</value>
+	</string>
+	<string id="315" name="loginwindow">
+		<value>Postanız</value>
+	</string>
+	<string id="316" name="loginwindow">
+		<value>Oturumunuz</value>
+	</string>
+	<string id="317" name="loginwindow">
+		<value>Sınıflama bağlantısı ile e-posta gönder</value>
+	</string>
+	<string id="318" name="loginwindow">
+		<value>E-posta adresi bulunamadı. Kayıt esnasında kullandığınız e-posta adresini girdiğinizden emin olun.</value>
+	</string>
+	<string id="319" name="loginwindow">
+		<value>Lütfen bir e-posta adresi ya da bir kullanıcı adı giriniz</value>
+	</string>
+	<string id="320" name="loginwindow">
+		<value>Bu kullanıcı adı ile bağlanmış bir kullanıcı yok</value>
+	</string>
+	<string id="321" name="loginwindow">
+		<value>Özel bir bağlantıya sahip olan bir e-posta, e-posta adresinize yollanmış durumda. Lütfen posta kutunuzu kontrol edin. Eğer e-posta mesajını alamazsanız, lütfen posta kutunuzun gereksiz posta ayarlarını kontrol edin ve/veya yeniden doğrulama mesajının gönderilmesini sağlayın.</value>
+	</string>
+	<string id="322" name="errortype">
+		<value>Hata</value>
+	</string>
+	<string id="323" name="errortype">
+		<value>Mesaj</value>
+	</string>
+	<string id="324" name="resetpass">
+		<value>Geçersiz Komut. Hiçbir Kullanıcı Bulunamadı.</value>
+	</string>
+	<string id="325" name="resetpass">
+		<value>Şifrenizi Sıfırlayın</value>
+	</string>
+	<string id="326" name="resetpass">
+		<value>Oturum Aç</value>
+	</string>
+	<string id="327" name="resetpass">
+		<value>Şifre değiştir</value>
+	</string>
+	<string id="328" name="resetpass">
+		<value>Yeni Şifre</value>
+	</string>
+	<string id="329" name="resetpass">
+		<value>Şifrenizi yeniden girin</value>
+	</string>
+	<string id="330" name="resetpass">
+		<value>Girmiş olduğunuz şifreler birbiri ile aynı değil.</value>
+	</string>
+	<string id="331" name="resetpass">
+		<value>4 ya da daha fazla karakter; büyük-küçük harfe duyarlı!</value>
+	</string>
+	<string id="332" name="resetpass">
+		<value>Şİfre belirlendi. Şuan oturum açabilirsiniz.</value>
+	</string>
+	<string id="333" name="rpccallback">
+		<value>TAMAM</value>
+	</string>
+	<string id="334" name="rpcgeneralerror">
+		<value>Bilinmeyen Hata. Lütfen bu durumu sistem sorumlusuna rapor ediniz.</value>
+	</string>
+	<string id="335" name="loginwindow">
+		<value>Kullanıcı adı bulunamadı</value>
+	</string>
+	<string id="336" name="loginwindow">
+		<value>Geçersiz Şifre</value>
+	</string>
+	<string id="337" name="logout">
+		<value>Oturum başarıyla kapatıldı</value>
+	</string>
+	<string id="338" name="registration">
+		<value>Geriplan kayıt işlemi devre dışı.</value>
+	</string>
+	<string id="339" name="registration">
+		<value>Geçersiz E-posta</value>
+	</string>
+	<string id="340" name="registration">
+		<value>yinelenen dosya adı, lütfen farklı bir dosya adu seçiniz</value>
+	</string>
+	<string id="341" name="filebrowser">
+		<value>dosya adı çok kısa</value>
+	</string>
+	<string id="342" name="filebrowser">
+		<value>Adres kayıt edilemiyor</value>
+	</string>
+	<string id="343" name="useradmin">
+		<value>Kullanıcı eklendi fakat kullanıcıyı bir kuruma atamanız gerekmekte, aksi halde oturum açması mümkün olamayacak.</value>
+	</string>
+	<string id="344" name="adminforms">
+		<value>Yeni Kayıt</value>
+	</string>
+	<string id="345" name="languageseditor">
+		<value>Bu alan kodu ile bir alan bulunamadı.</value>
+	</string>
+	<string id="346" name="languageseditor">
+		<value>Bu alan için etiket bulunamadı.</value>
+	</string>
+	<string id="347" name="errormessage">
+		<value>Yönetici oturumu gerekmektedir</value>
+	</string>
+	<string id="348" name="mainnavi">
+		<value>Dil Düzenleyicisi</value>
+	</string>
+	<string id="349" name="languageseditor">
+		<value>Dil</value>
+	</string>
+	<string id="350" name="languageseditor">
+		<value>Etiket-Kodu</value>
+	</string>
+	<string id="351" name="languageseditor">
+		<value>Etiket-Adı</value>
+	</string>
+	<string id="352" name="languageseditor">
+		<value>Değer</value>
+	</string>
+	<string id="353" name="languageseditor">
+		<value>Alan değerleri</value>
+	</string>
+	<string id="354" name="languageseditor">
+		<value>EtiketAdı</value>
+	</string>
+	<string id="355" name="languageseditor">
+		<value>EtiketDeğeri</value>
+	</string>
+	<string id="356" name="languageseditor">
+		<value>Etiket-Kodu</value>
+	</string>
+	<string id="357" name="languageseditor">
+		<value>Sadece etiketi sildiniz, alanı değil! Alanı silemezsiniz; diğer dillerde etiketleri bulunmakta.</value>
+	</string>
+	<string id="358" name="languageseditor">
+		<value>Geçersiz EtiketKodu. Dil alanı değer kodu (FieldLanguagesvalues_Id) veritabanında bulunamıyor.</value>
+	</string>
+	<string id="359" name="languageseditor">
+		<value>Bu alanı silemezsiniz. Sadece etiketleri silebilirsiniz, alanları değil. Şu anda yüklenmiş olan bir etiket yok, herhangi bir alan seçilmemiş ya da tanımlanmış bu alan için bu dilde etiket yok.</value>
+	</string>
+	<string id="360" name="languageseditor">
+		<value>ihraç</value>
+	</string>
+	<string id="361" name="languageseditor">
+		<value>Değişiklikleri görebilmeniz için oturumu kapatmanız gerekmektedir.</value>
+	</string>
+	<string id="362" name="languageseditor">
+		<value>Yeni dil ekle</value>
+	</string>
+	<string id="363" name="languageseditor">
+		<value>dil sil</value>
+	</string>
+	<string id="364" name="languageseditor">
+		<value>Yeni dil ekle</value>
+	</string>
+	<string id="365" name="languageseditor">
+		<value>Ad</value>
+	</string>
+	<string id="366" name="languageseditor">
+		<value>dil ekle</value>
+	</string>
+	<string id="367" name="languageseditor">
+		<value>Yedekleme</value>
+	</string>
+	<string id="368" name="turnoverlist">
+		<value>ilke git</value>
+	</string>
+	<string id="369" name="turnoverlist">
+		<value>öncekine git</value>
+	</string>
+	<string id="370" name="turnoverlist">
+		<value>sonrakine git</value>
+	</string>
+	<string id="371" name="turnoverlist">
+		<value>sonuncuya git</value>
+	</string>
+	<string id="372" name="videobox">
+		<value>kullanıcı konuşuyor (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+	</string>
+	<string id="373" name="videobox">
+		<value>sesi aç/kapa</value>
+	</string>
+	<string id="374" name="dashboard">
+		<value>Sistem</value>
+	</string>
+	<string id="375" name="dashboard">
+		<value>Ayarlarınız</value>
+	</string>
+	<string id="376" name="dashboard">
+		<value>selam,</value>
+	</string>
+	<string id="377" name="dashboard">
+		<value>Profilinizi düzenleyin</value>
+	</string>
+	<string id="378" name="dashboard">
+		<value>Yeni Mesaj:</value>
+	</string>
+	<string id="379" name="dashboard">
+		<value>Yeni resim yükle</value>
+	</string>
+	<string id="380" name="backuppanel">
+		<value>Kullanıcı verisi - İhraç Et</value>
+	</string>
+	<string id="381" name="backuppanel">
+		<value>Tüm kurumlar daha önceden oluşturulmuş olmalı!</value>
+	</string>
+	<string id="382" name="backuppanel">
+		<value>ihraç (export) işlemine başla</value>
+	</string>
+	<string id="383" name="backuppanel">
+		<value>Kuruma göre</value>
+	</string>
+	<string id="384" name="backuppanel">
+		<value>ihraç (export) işlemine başla</value>
+	</string>
+	<string id="385" name="backuppanel">
+		<value>Kullanıcı verisi - Import</value>
+	</string>
+	<string id="386" name="backuppanel">
+		<value>users.xml dosyasını seç</value>
+	</string>
+	<string id="387" name="languageseditor">
+		<value>ithal et (import)</value>
+	</string>
+	<string id="388" name="languageseditor">
+		<value>XML olarak ihraç et - Bu dosyalar şu amaçlar için kullanılabilir: - Projeye katılmak - Bilgileri başka bir sisteme aktarmak - Yedekleme - Özelleştirme - Bir sonraki yüklemede dil klasörünün içine koymak için.</value>
+	</string>
+	<string id="389" name="languageseditor">
+		<value>İthal (import) etmek istediğiniz dil dosyasını seçiniz. Açılan kutudan doğru dili seçiniz! Dosyanın adı önemli değildir, bu dilin içine ithal edilecektir!</value>
+	</string>
+	<string id="390" name="importwindow">
+		<value>ithal et - dosya seç</value>
+	</string>
+	<string id="391" name="recordingsavewin">
+		<value>Farklı kaydet</value>
+	</string>
+	<string id="392" name="recordingsavewin">
+		<value>Ad:</value>
+	</string>
+	<string id="393" name="recordingsavewin">
+		<value>Yorum:</value>
+	</string>
+	<string id="394" name="recordingsavewin">
+		<value>kaydet</value>
+	</string>
+	<string id="395" name="record">
+		<value>Kayıtlar</value>
+	</string>
+	<string id="396" name="recorder">
+		<value>Kayıt Görüntüleyicisi</value>
+	</string>
+	<string id="397" name="record">
+		<value>Genel (herkese açık) ve Özel Odaların kayıtları</value>
+	</string>
+	<string id="398" name="roomslist">
+		<value>Kullanıcılar :</value>
+	</string>
+	<string id="399" name="roomslist">
+		<value>Katılanlar:</value>
+	</string>
+	<string id="400" name="roomslist">
+		<value></value>
+	</string>
+	<string id="401" name="roomslist">
+		<value>Bu odadaki kullanıcılar:</value>
+	</string>
+	<string id="402" name="roomslist">
+		<value>yenile</value>
+	</string>
+	<string id="403" name="roomslist">
+		<value>Bu oda dolu. Bir kaç dakika içinde yeniden deneyiniz.</value>
+	</string>
+	<string id="404" name="roomsList">
+		<value>Detaylı bilgi için bir odanın üzerine tıklayınız</value>
+	</string>
+	<string id="405" name="roomslist">
+		<value>Bu odanın içindeki kullanıcılar ile sohbet et:</value>
+	</string>
+	<string id="406" name="roomslist">
+		<value>Oda:</value>
+	</string>
+	<string id="407" name="roomslist">
+		<value>Bu odadaki kullanıcılar:</value>
+	</string>
+	<string id="408" name="roomslist">
+		<value>den beri:</value>
+	</string>
+	<string id="409" name="record">
+		<value>kaydı oynat</value>
+	</string>
+	<string id="410" name="record">
+		<value>Uzunluk:</value>
+	</string>
+	<string id="411" name="record">
+		<value>Tarih:</value>
+	</string>
+	<string id="412" name="record">
+		<value>Kaydedici Kipi! Hiçbir ayarı değiştiremezsiniz, bu kaydedilmiş bir dosyadır!</value>
+	</string>
+	<string id="413" name="record">
+		<value>Bu kaydı onat</value>
+	</string>
+	<string id="414" name="record">
+		<value>Oynat / Durdur</value>
+	</string>
+	<string id="415" name="record">
+		<value>Kaydı başlat</value>
+	</string>
+	<string id="416" name="record">
+		<value>kaydı durdur</value>
+	</string>
+	<string id="417" name="record">
+		<value>Kayıt:</value>
+	</string>
+	<string id="418" name="record_error_msg">
+		<value>Şu an zaten biri kayıtta:</value>
+	</string>
+	<string id="419" name="record_message">
+		<value>Kayıt! Kullanıcıya göre:</value>
+	</string>
+	<string id="420" name="record_cancel">
+		<value>iptal</value>
+	</string>
+	<string id="421" name="record_cancal_tooltip">
+		<value>Kayıt iptal edilecek ve kaydedilmeyecek.</value>
+	</string>
+	<string id="422" name="cancel_dialog_resume">
+		<value>devam et</value>
+	</string>
+	<string id="423" name="cancel_dialog_resume_tooltip">
+		<value>Bu pencereyi kapat ve kayda devam et</value>
+	</string>
+	<string id="424" name="painttools_ellipse_color">
+		<value>Çizgi rengini değiştir</value>
+	</string>
+	<string id="425" name="colorpicker_head">
+		<value>Renk seç</value>
+	</string>
+	<string id="426" name="painttools_line_disable">
+		<value>Çizgi rengini Devre Dışı Bırak / Etkinleştir</value>
+	</string>
+	<string id="427" name="painttools_fill_disable">
+		<value>İç rengi değiştir</value>
+	</string>
+	<string id="428" name="painttools_line_disable">
+		<value>İç rengi Devre Dışı Bırak / Etkinleştir</value>
+	</string>
+	<string id="429" name="change_width_arrow_down_slider">
+		<value>Çizgi genişliğini değiştir</value>
+	</string>
+	<string id="430" name="close_small_popups">
+		<value>kapat</value>
+	</string>
+	<string id="431" name="paint_tool_letter">
+		<value>Yazı tipini değiştir</value>
+	</string>
+	<string id="432" name="recordingslist_delete">
+		<value>Kaydı Sil</value>
+	</string>
+	<string id="433" name="recordingslist_recordedByGuest">
+		<value>Misafir</value>
+	</string>
+	<string id="434" name="recordingslist_recordedby">
+		<value>Göre:</value>
+	</string>
+	<string id="435" name="recordings_table_head_name">
+		<value>Ad</value>
+	</string>
+	<string id="436" name="recordings_table_head_room">
+		<value>Oda</value>
+	</string>
+	<string id="437" name="recordings_table_head_date">
+		<value>Tarih</value>
+	</string>
+	<string id="438" name="record_start_cancel">
+		<value>iptal</value>
+	</string>
+	<string id="439" name="record_start_start">
+		<value>başlat</value>
+	</string>
+	<string id="440" name="filesbrowser_table_head_name">
+		<value>Ad</value>
+	</string>
+	<string id="441" name="filesbrowser_table_head_date">
+		<value>Tarih</value>
+	</string>
+	<string id="442" name="chat_clear_history">
+		<value>Sunucu sohbet kayıtlarını sil</value>
+	</string>
+	<string id="443" name="chat_overall_header">
+		<value>Sohbet</value>
+	</string>
+	<string id="444" name="chat_send_btn">
+		<value>Mesaj yolla</value>
+	</string>
+	<string id="445" name="chat_emot_btn">
+		<value>Yüz İfadeleri</value>
+	</string>
+	<string id="446" name="chat_emot_win">
+		<value>İfadeler</value>
+	</string>
+	<string id="447" name="choose_video_settings">
+		<value>Yayınlanmış Araçları Seç</value>
+	</string>
+	<string id="448" name="choose_video_settings_combo">
+		<value>Ses ve Görüntü</value>
+	</string>
+	<string id="449" name="choose_video_settings_combo">
+		<value>Sadece Ses</value>
+	</string>
+	<string id="450" name="choose_video_settings_combo">
+		<value>Sadece Görüntü</value>
+	</string>
+	<string id="451" name="choose_video_settings_combo">
+		<value>Ses Görüntü yok (sabit resim)</value>
+	</string>
+	<string id="452" name="choose_video_settings_info_text">
+		<value>Bilgisayarınız tarafından yayınlanabilecek olan ses / görüntü bulunmamaktadır, bunun yerine profilinizde yer alan resim kullnılacaktır. Bu seçeneği bant genişliğinizde bir sorun varsa ya da İnternet bağlantınız çok yavaşsa tercih ediniz.</value>
+	</string>
+	<string id="453" name="calendar_dayname_monday">
+		<value>PZT</value>
+	</string>
+	<string id="454" name="calendar_dayname_tuesday">
+		<value>SAL</value>
+	</string>
+	<string id="455" name="calendar_dayname_wednesday">
+		<value>ÇAR</value>
+	</string>
+	<string id="456" name="calendar_dayname_thursday">
+		<value>PER</value>
+	</string>
+	<string id="457" name="calendar_dayname_friday">
+		<value>CUM</value>
+	</string>
+	<string id="458" name="calendar_dayname_saturday">
+		<value>CMT</value>
+	</string>
+	<string id="459" name="calendar_dayname_sunday">
+		<value>PAZ</value>
+	</string>
+	<string id="460" name="calendar_dayname_monday">
+		<value>Pazartesi</value>
+	</string>
+	<string id="461" name="calendar_dayname_TuesdayLabel">
+		<value>Salı</value>
+	</string>
+	<string id="462" name="calendar_dayname_WednesdayLabel">
+		<value>Çarşamba</value>
+	</string>
+	<string id="463" name="calendar_dayname_ThursdayLabel">
+		<value>Perşembe</value>
+	</string>
+	<string id="464" name="calendar_dayname_FridayLabel">
+		<value>Cuma</value>
+	</string>
+	<string id="465" name="calendar_dayname_SaturdayLabel">
+		<value>Cumartesi</value>
+	</string>
+	<string id="466" name="calendar_dayname_SundayLabel">
+		<value>Pazar</value>
+	</string>
+	<string id="467" name="calendar_weeknumber_header">
+		<value>TH</value>
+	</string>
+	<string id="468" name="calendar_weeknumber_headerTooltip">
+		<value>Takvim hafta</value>
+	</string>
+	<string id="469" name="calendar_monthnames">
+		<value>Ocak</value>
+	</string>
+	<string id="470" name="calendar_monthnames">
+		<value>Şubat</value>
+	</string>
+	<string id="471" name="calendar_monthnames">
+		<value>Mart</value>
+	</string>
+	<string id="472" name="calendar_monthnames">
+		<value>Nisan</value>
+	</string>
+	<string id="473" name="calendar_monthnames">
+		<value>Mayıs</value>
+	</string>
+	<string id="474" name="calendar_monthnames">
+		<value>Haziran</value>
+	</string>
+	<string id="475" name="calendar_monthnames">
+		<value>Temmuz</value>
+	</string>
+	<string id="476" name="calendar_monthnames">
+		<value>Ağustos</value>
+	</string>
+	<string id="477" name="calendar_monthnames">
+		<value>Eylül</value>
+	</string>
+	<string id="478" name="calendar_monthnames">
+		<value>Ekim</value>
+	</string>
+	<string id="479" name="calendar_monthnames">
+		<value>Kasım</value>
+	</string>
+	<string id="480" name="calendar_monthnames">
+		<value>Aralık</value>
+	</string>
+	<string id="481" name="calendarwin_header">
+		<value>Takvim</value>
+	</string>
+	<string id="482" name="roomadmin_labelNumberOfParticipants">
+		<value>Katılımcılar</value>
+	</string>
+	<string id="483" name="roomValue_advancedSettings">
+		<value>Mizanpaj Ayarlarını Göster</value>
+	</string>
+	<string id="484" name="roomAdmin_layout_videoX">
+		<value>X | Y</value>
+	</string>
+	<string id="485" name="roomAdmin_layout_videoY">
+		<value>Genişlik | Yükseklik</value>
+	</string>
+	<string id="486" name="roomAdmin_layout">
+		<value>Video-Gösterici</value>
+	</string>
+	<string id="487" name="roomAdmin_layout_mod">
+		<value>Düzenleyici-Gösterici</value>
+	</string>
+	<string id="488" name="roomAdmin_layout_mod_pos">
+		<value>X</value>
+	</string>
+	<string id="489" name="roomAdmin_layout_whiteboard">
+		<value>Tahta-Gösterici</value>
+	</string>
+	<string id="490" name="roomAdmin_layout_whiteboard_show">
+		<value>Etkin</value>
+	</string>
+	<string id="491" name="roomAdmin_layout_whiteboard_pos">
+		<value>X | Y</value>
+	</string>
+	<string id="492" name="roomAdmin_layout_whiteboard">
+		<value>Genişlik | Yükseklik</value>
+	</string>
+	<string id="493" name="roomAdmin_layout_files">
+		<value>Dosyalar,Sohbet,Katılımcı-Gösterici</value>
+	</string>
+	<string id="494" name="roomAdmin_layout_files_show">
+		<value>Etkin</value>
+	</string>
+	<string id="495" name="roomAdmin_layout_files_pos">
+		<value>X |Y</value>
+	</string>
+	<string id="496" name="roomAdmin_layout_files">
+		<value>Genişlik | Yükseklik</value>
+	</string>
+	<string id="497" name="moderator_gone_message">
+		<value>Düzenleyici odayı terk etti. Şu anda sunum yapan kimse yok. Düzenleyicilik için başvuruda bulunabilirsiniz ya da bekleyebilirsiniz.</value>
+	</string>
+	<string id="498" name="moderator_message_event_no_mod">
+		<value>Odada bir Düzenleyici yok, fakat bazı katılımcılar var. Düzenleyicilik için başvuruda bulunabilirsiniz ya da bekleyebilirsiniz.</value>
+	</string>
+	<string id="499" name="feedback_template_subject">
+		<value>$APP_NAME geribildirim</value>
+	</string>
+	<string id="500" name="invitation_template_head">
+		<value>$APP_NAME - Davet</value>
+	</string>
+	<string id="501" name="invitation_text_from">
+		<value>Kullanıcıdan Mesaj:</value>
+	</string>
+	<string id="502" name="invitation_text_message">
+		<value>Mesaj:</value>
+	</string>
+	<string id="503" name="invitation_text_click_text">
+		<value>Toplantıya katılmak için linke tıklayınız:</value>
+	</string>
+	<string id="504" name="invitation_text_click_text_link">
+		<value>Odaya girmek için buraya tıklayınız</value>
+	</string>
+	<string id="505" name="invitation_text_click_text_help">
+		<value>Bağlantı (link) ile ilgili probleminiz varsa, lütfen bağlantıyı kopyalayarak tarayıcınızın adres çubuğuna yapıştırınız:</value>
+	</string>
+	<string id="506" name="registering_mail_text_head">
+		<value>$APP_NAME Kayıt</value>
+	</string>
+	<string id="507" name="registering_mail_text_head2">
+		<value>Kullanıcı verileriniz:</value>
+	</string>
+	<string id="508" name="registering_mail_text_username">
+		<value>Kullanıcı Adı:</value>
+	</string>
+	<string id="509" name="registering_mail_text_pass">
+		<value>Şifre:</value>
+	</string>
+	<string id="510" name="registering_mail_text_mail">
+		<value>E-posta:</value>
+	</string>
+	<string id="511" name="registering_mail_text_bye">
+		<value>$APP_NAME-Takımı</value>
+	</string>
+	<string id="512" name="register_mail_subject">
+		<value>$APP_NAME Kayıt Ol</value>
+	</string>
+	<string id="513" name="reset_password_template_head">
+		<value>$APP_NAME - Şifre Sıfırla</value>
+	</string>
+	<string id="514" name="reset_password_template_test_link">
+		<value>Yeni bir şifre girmek için bağlantıya tıklayınız:</value>
+	</string>
+	<string id="515" name="reset_password_template_text2_link">
+		<value>Yeni bir şifre girmek için buraya tıklayınız</value>
+	</string>
+	<string id="516" name="reset_password_template_text3_link">
+		<value>bu bağlantı (link) ile ilgili probleminiz varsa, lütfen bağlantıyı kopyalayarak tarayıcınızın adres çubuğuna yapıştırınız:</value>
+	</string>
+	<string id="517" name="reset_password_mail_subject">
+		<value>$APP_NAME Şifre Sıfırla</value>
+	</string>
+	<string id="518" name="dateRegExpError">
+		<value>Lütfen geçerli bir tarih girin, örnek olarak 25.06.2005 (gg.aa.yyyy)</value>
+	</string>
+	<string id="519" name="emailRegExpError">
+		<value>Lütfen geçerli bir e-posta adresi girin, örnek olarak ad@posta.com</value>
+	</string>
+	<string id="520" name="floatRegExpError">
+		<value>Lütfen Float-Sayı giriniz, örnek olarak 1.00</value>
+	</string>
+	<string id="521" name="numberRegExpError">
+		<value>Lütfen bir tamsayı giriniz, örnek olarak 100</value>
+	</string>
+	<string id="522" name="phoneRegExpError">
+		<value>Lütfen geçerli bir telefon numarası giriniz, örnek olarak ++90 0123 123123</value>
+	</string>
+	<string id="523" name="timeRegExpError">
+		<value>Lütfen geçerli bir saat bilgisi giriniz, örnek olarak 12:23 (ss:dd)</value>
+	</string>
+	<string id="524" name="invitation_window">
+		<value>Şifre korumalı</value>
+	</string>
+	<string id="525" name="invitation_window_passwordLabel">
+		<value>Şifre</value>
+	</string>
+	<string id="526" name="invitation_window_validLabel">
+		<value>Geçerlilik periyodu</value>
+	</string>
+	<string id="527" name="invitation_window_valid">
+		<value>Süresiz</value>
+	</string>
+	<string id="528" name="invitation_window_valid">
+		<value>Periyot</value>
+	</string>
+	<string id="529" name="invitation_window_valid">
+		<value>Bir kerelik</value>
+	</string>
+	<string id="530" name="invitation_window_validFromLabel">
+		<value>Oturum başlangıcı:</value>
+	</string>
+	<string id="531" name="invitation_window_validToLabel">
+		<value>Oturum sonu:</value>
+	</string>
+	<string id="532" name="invitation_window_MailSubject">
+		<value>$APP_NAME'e Davet</value>
+	</string>
+	<string id="533" name="invitation_error">
+		<value>Bu davet kodu için geçerli olan bir davet yok.</value>
+	</string>
+	<string id="534" name="invitation_error">
+		<value>Bu davet halihazırda kullanılmakta. Bu bip bir davet tekrar kullanılamaz.</value>
+	</string>
+	<string id="535" name="invitation_error">
+		<value>Bu davet kodu geçerli değil.</value>
+	</string>
+	<string id="536" name="invitation_pass">
+		<value>Şifre:</value>
+	</string>
+	<string id="537" name="invitation_pass_btn">
+		<value>Şifre Kontrol</value>
+	</string>
+	<string id="538" name="invitation_pass_error">
+		<value>Geçersiz Şifre!</value>
+	</string>
+	<string id="539" name="Browser">
+		<value>Ses-Görüntü</value>
+	</string>
+	<string id="540" name="audio_video">
+		<value>Ses/Görüntü Senkronizasyonu</value>
+	</string>
+	<string id="541" name="errorCode_invalidSession">
+		<value>Kullanıcı adı doğru, fakat girmeye çalıştığınız oturum aktif durumda değil ya da sunucuda depolanmış. Yeni bir oturum kodu almalısınız ve yeniden oturum açmalısınız.</value>
+	</string>
+	<string id="542" name="errorcode_setUserObject">
+		<value>Oturum kodu kayıtlı değil ya da yönetici haklarına sahip değil. SOAP Gateway yeni bir kullanıcı ekleyebilmek için yönetici haklarına sahip bir kullanıcıya ihtiyaç duyar.</value>
+	</string>
+	<string id="543" name="errorcode_loginByRemoteUser">
+		<value>Bu oturum uzak kullanıcı veri bağlantısı içermiyor. Uygulamaya girmeden veya yanlış oturum kodu ile SOAP-Gateway araması yapamazsınız.</value>
+	</string>
+	<string id="544" name="debug_message_recording">
+		<value>Kaydedici halen Beta versiyonunda!</value>
+	</string>
+	<string id="545" name="propertyPanelXValue">
+		<value>x</value>
+	</string>
+	<string id="546" name="propertyPanelXValueLabel">
+		<value>x-ekseni</value>
+	</string>
+	<string id="547" name="propertyPanelYValue">
+		<value>y</value>
+	</string>
+	<string id="548" name="propertyPanelYValueLabel">
+		<value>y-ekseni</value>
+	</string>
+	<string id="549" name="propertyPanelWidthValue">
+		<value>g</value>
+	</string>
+	<string id="550" name="propertyPanelWidthValueLabel">
+		<value>genişlik</value>
+	</string>
+	<string id="551" name="propertyPanelHeightValue">
+		<value>y</value>
+	</string>
+	<string id="552" name="propertyPanelHeightValueLabel">
+		<value>yükseklik</value>
+	</string>
+	<string id="553" name="propertyOpacitySlider">
+		<value>Transparanlığı değiştir</value>
+	</string>
+	<string id="554" name="browserOpen">
+		<value>Tarayıcı Aç</value>
+	</string>
+	<string id="555" name="browserClose">
+		<value>Tarayıcı Kapat</value>
+	</string>
+	<string id="556" name="connectionLostMessage">
+		<value>Şunucuyla bağlantı kesildi. Uygulamayı yeniden yüklemeli veya Ağ Bağlantısını kontrol etmelisiniz.</value>
+	</string>
+	<string id="557" name="557">
+		<value>İmleç</value>
+	</string>
+	<string id="558" name="sync message header">
+		<value>Eşitliyor…</value>
+	</string>
+	<string id="559" name="Synchronizing message">
+		<value>Kullanıcıları eşitliyor, lütfen bekleyiniz</value>
+	</string>
+	<string id="560" name="exportToSVG">
+		<value>&lt;u&gt;SVG Olarak Yükle&lt;/u&gt;</value>
+	</string>
+	<string id="561" name="exportToImage">
+		<value>&lt;u&gt;PNG Olarak Yükle&lt;/u&gt;</value>
+	</string>
+	<string id="562" name="exportToImage">
+		<value>&lt;u&gt;JPG Olarak Yükle&lt;/u&gt;</value>
+	</string>
+	<string id="563" name="exportToImage">
+		<value>&lt;u&gt;PDF Olarak Yükle&lt;/u&gt;</value>
+	</string>
+	<string id="564" name="exportToImage">
+		<value>&lt;u&gt;TIF Olarak Yükle&lt;/u&gt;</value>
+	</string>
+	<string id="565" name="calendarLabel">
+		<value>Hatırlatıcı:</value>
+	</string>
+	<string id="566" name="calendarLabel">
+		<value>Kategori:</value>
+	</string>
+	<string id="567" name="calendarLabel">
+		<value>Tekrar:</value>
+	</string>
+	<string id="568" name="calendarLabel">
+		<value>hiçbiri</value>
+	</string>
+	<string id="569" name="calendarLabel">
+		<value>Konum:</value>
+	</string>
+	<string id="570" name="calendarLabel">
+		<value>Baş</value>
+	</string>
+	<string id="571" name="calendarLabel">
+		<value>Son</value>
+	</string>
+	<string id="572" name="calendarLabel">
+		<value>Başlık:</value>
+	</string>
+	<string id="573" name="calendarLabel">
+		<value>Yorum:</value>
+	</string>
+	<string id="574" name="calendarLabel">
+		<value>Kişi Davet Et</value>
+	</string>
+	<string id="575" name="calendarLabel">
+		<value>Günlük</value>
+	</string>
+	<string id="576" name="calendarLabel">
+		<value>Aylık</value>
+	</string>
+	<string id="577" name="calendarLabel">
+		<value>Yıllık</value>
+	</string>
+	<string id="578" name="alert">
+		<value>Yetkilendirme sonu yetkilendirme başından sonradır!</value>
+	</string>
+	<string id="579" name="alert">
+		<value>Lütfen bir başlık giriniz!</value>
+	</string>
+	<string id="580" name="580">
+		<value>RTL</value>
+	</string>
+	<string id="581" name="581">
+		<value>Sağdan sola yazım modunu açmak için bunu aktifleştirin</value>
+	</string>
+	<string id="582" name="tooltip main-menu">
+		<value>Pano</value>
+	</string>
+	<string id="583" name="tooltip main-menu">
+		<value>Kayıtlı Görüşmeleri İzle</value>
+	</string>
+	<string id="584" name="tooltip main-menu">
+		<value>Görüşme – 4 kişilik konferans oluştur (en fazla 16 kişi) &lt;br/&gt;herkes ses + görüntü yayın hakkına sahip</value>
+	</string>
+	<string id="585" name="tooltip main-menu">
+		<value>Etkinlik – 200 katılımcılı konferans ayarla&lt;br/&gt;Sadece düzenleyici ses ve görüntü yayın hakkına sahip</value>
+	</string>
+	<string id="586" name="tooltip main-menu">
+		<value>Kullanıcıları, odaları ve organizasyonları oluştur &lt;br/&gt; + yapılandırmayı değiştir</value>
+	</string>
+	<string id="587" name="room Administration roomclients list">
+		<value>Kullanıcılar şu anda bu odada</value>
+	</string>
+	<string id="588" name="room Administration roomclients list">
+		<value>ID</value>
+	</string>
+	<string id="589" name="room Administration roomclients list">
+		<value>Giriş</value>
+	</string>
+	<string id="590" name="room Administration roomclients list">
+		<value>D</value>
+	</string>
+	<string id="591" name="swf sync message">
+		<value>Belge Yükleniyor. Tüm istemciler eşitleninceye kadar lütfen bekleyiniz.</value>
+	</string>
+	<string id="592" name="upload dialog">
+		<value>Aktarım tamamlandı, belge dönüştürülüyor ...</value>
+	</string>
+	<string id="593" name="upload dialog">
+		<value>Aktarımı Başlat</value>
+	</string>
+	<string id="594" name="upload dialog">
+		<value>Aktarım ve Yükleme Penceresi. Lütfen Diskinizden bir Dosya seçiniz.</value>
+	</string>
+	<string id="595" name="upload Dialog">
+		<value>İptal</value>
+	</string>
+	<string id="596" name="upload Dialog">
+		<value>Dosya Seç</value>
+	</string>
+	<string id="597" name="administration navigation">
+		<value>Bağlantılar</value>
+	</string>
+	<string id="598" name="confadmin value list">
+		<value>Değer</value>
+	</string>
+	<string id="599" name="connection administration panel">
+		<value>Yayın_ID</value>
+	</string>
+	<string id="600" name="connection administration panel">
+		<value>Giriş</value>
+	</string>
+	<string id="601" name="connection administration panel">
+		<value>Bağlantı zamanı</value>
+	</string>
+	<string id="602" name="connection administration panel">
+		<value>Oda / Kapsam</value>
+	</string>
+	<string id="603" name="connection administration panel">
+		<value>Kick User</value>
+	</string>
+	<string id="604" name="kick user confirmation dialog">
+		<value>Kullanıcıyı At</value>
+	</string>
+	<string id="605" name="kick user confirmation dialog">
+		<value>Bu istemciyi bağlantıdan çıkarmak istediğinize emin misiniz?&lt;br/&gt;Bu işlem sadece uyarı amaçlıdır ve kullanıcının odaya yeniden giriş yapmasını engellemez.</value>
+	</string>
+	<string id="606" name="kick user message dialog">
+		<value>Oturumunuz Yönetici veya Düzenleyici tarafından sonlandırıldı.</value>
+	</string>
+	<string id="607" name="useralterself_phone">
+		<value>Telefon</value>
+	</string>
+	<string id="608" name="participents panel">
+		<value>Kullanıcı bu Oda’nın Düzenleyicisi</value>
+	</string>
+	<string id="609" name="participents panel">
+		<value>Kullanıcı Karatahtayı düzenleme hakkına sahip</value>
+	</string>
+	<string id="610" name="participents panel">
+		<value>Ses/Görüntüyü (Yeniden) Başlat veya Aygıt Ayarlarını değiştir</value>
+	</string>
+	<string id="611" name="participents panel">
+		<value>Bu kullanıcının Karatahtayı kullanmasına izin ver</value>
+	</string>
+	<string id="612" name="participents panel">
+		<value>Kullanıcının Karatahtayı kullanmasını engelle</value>
+	</string>
+	<string id="613" name="conferencePanels">
+		<value>Kullanıcılar</value>
+	</string>
+	<string id="614" name="conferencePanels">
+		<value>Dosyalar</value>
+	</string>
+	<string id="615" name="conferencePanels">
+		<value>Karatahta</value>
+	</string>
+	<string id="616" name="conferencePanels">
+		<value>Sohbet</value>
+	</string>
+	<string id="617" name="organization choose info">
+		<value>Hesabınız pek çok Organizasyonla ilişkilendirilmiş. Bu oturum için lütfen birini seçiniz.</value>
+	</string>
+	<string id="618" name="error message room full">
+		<value>Bu oda şu anda dolu; lütfen daha sonra tekrar deneyiniz.</value>
+	</string>
+	<string id="619" name="roomtypes">
+		<value>Oda Tipi</value>
+	</string>
+	<string id="620" name="appointed_room">
+		<value>Randevu Odası</value>
+	</string>
+	<string id="621" name="servertime">
+		<value>Sunucu Zamanı</value>
+	</string>
+	<string id="622" name="inv_reminder_template_head">
+		<value>$APP_NAME - Hatırlatıcı</value>
+	</string>
+	<string id="623" name="inv_reminder_text_from">
+		<value>Kullanıcıdan Mesaj:</value>
+	</string>
+	<string id="624" name="inv_reminder_text_message">
+		<value>Mesaj:</value>
+	</string>
+	<string id="625" name="inv_reminder_text_click_text">
+		<value>Görüşmelere katılmak için bu bağlantıyı tıklayınız:</value>
+	</string>
+	<string id="626" name="inv_reminder_text_click_text_link">
+		<value>Odaya giriş için burayı tıklayın</value>
+	</string>
+	<string id="627" name="inv_reminder_text_click_text_help">
+		<value>bağlantıyı tıklamakla ilgili sorun yaşıyorsanız kopyalayıp gezgin penceresine yapıştırabilirsiniz:</value>
+	</string>
+	<string id="628" name="btn_search_intern">
+		<value>iç kullanıcılar</value>
+	</string>
+	<string id="629" name="btn_search_extern">
+		<value>dış kullanıcılar</value>
+	</string>
+	<string id="630" name="lbl_prename">
+		<value>ön ad</value>
+	</string>
+	<string id="631" name="lbl_name">
+		<value>ad</value>
+	</string>
+	<string id="632" name="lbl_email">
+		<value>E-Posta</value>
+	</string>
+	<string id="633" name="logoutConfirm_title">
+		<value>Oturum kapatmayı onayla</value>
+	</string>
+	<string id="634" name="logoutConfirm_sure_to_logout_question">
+		<value>Oturumu kapatmak istediğinize emin misiniz?</value>
+	</string>
+	<string id="635" name="main menu">
+		<value>Eylemler</value>
+	</string>
+	<string id="636" name="room admin">
+		<value>Demo Odası</value>
+	</string>
+	<string id="637" name="room admin">
+		<value>Demo Zamanı</value>
+	</string>
+	<string id="638" name="meeting Timer">
+		<value>Görüşme İçin Kalan Zaman</value>
+	</string>
+	<string id="639" name="meeting Timer">
+		<value>Bu Oda bir Demo Odası’dır. Bu uyarıyı almak istemiyorsanız özel bir oda alabilir veya kendinize özel bir sunucu ayarlayabilirsiniz. Oturumunuzun otomatik kapatılma zamanı:</value>
+	</string>
+	<string id="640" name="meeting room administration">
+		<value>Dengeli</value>
+	</string>
+	<string id="641" name="moderated room waiting message">
+		<value>Düzenleyici odaya girinceye kadar lütfen bekleyiniz. Düzenleyici olarak anılan kişi Düzenleyici, Yönetici veya odayı oluşturan kişi olabilir.</value>
+	</string>
+	<string id="642" name="error popup">
+		<value>Tamam</value>
+	</string>
+	<string id="643" name="window screensharing">
+		<value>Ekran Paylaşımı Başlıyor</value>
+	</string>
+	<string id="644" name="window screen sharing">
+		<value>Kullanıcı Ekran Paylaşımı uygulamasını başlatıyor:</value>
+	</string>
+	<string id="645" name="window screen sharing">
+		<value>Paylaşımı Başlat</value>
+	</string>
+	<string id="646" name="calendar">
+		<value>Yeni bir Görüşme ekle</value>
+	</string>
+	<string id="647" name="calendar">
+		<value>Görüşme Odası</value>
+	</string>
+	<string id="648" name="calendar">
+		<value>Etkinlik Odası</value>
+	</string>
+	<string id="649" name="main menu moderation">
+		<value>Düzenleme</value>
+	</string>
+	<string id="650" name="menu moderation">
+		<value>Kullanıcıları Düzenle</value>
+	</string>
+	<string id="651" name="menu moderation">
+		<value>Odaları Düzenle</value>
+	</string>
+	<string id="652" name="moderator org">
+		<value>M</value>
+	</string>
+	<string id="653" name="confirm moderation">
+		<value>Bu kullanıcının organizasyonun Düzenleyicisi olmasını istediğinize emin misiniz?</value>
+	</string>
+	<string id="654" name="error message">
+		<value>Kullanıcıyı bir Organizasyona eklemeden önce lütfen listeden bir tane Organizasyon seçiniz!</value>
+	</string>
+	<string id="655" name="choose user window">
+		<value>Organizasyon - Düzenleyici</value>
+	</string>
+	<string id="656" name="moderator org users">
+		<value>Bu kullanıcıyı Organizasyondan silmek istediğinize emin misiniz?</value>
+	</string>
+	<string id="657" name="org moderation">
+		<value>Bu Kullanıcı Düzenleyici</value>
+	</string>
+	<string id="658" name="org moderation">
+		<value>Bu Kullanıcı Düzenleyici Değil</value>
+	</string>
+	<string id="659" name="error message moderation">
+		<value>Bu kullanıcının Organizasyonda Düzenleyici Olmamasını İstediğinize Emin Misiniz?</value>
+	</string>
+	<string id="660" name="moderation">
+		<value>Kullanıcıları Organizasyona ekle veya Organizasyondan sil</value>
+	</string>
+	<string id="661" name="delete confirm question">
+		<value>Bu kaydı silmek istediğinize emin misiniz?</value>
+	</string>
+	<string id="662" name="delete confirm question user moderation">
+		<value>Bu kullanıcıyı organizasyondan silmek istediğinize emin misiniz? Bu kullanıcıyı sadece organizasyondan silersiniz. Eğer kullanıcıyı tamamen silmek istiyorsanız Yönetici-Panelinden giriş yapmalısınız.</value>
+	</string>
+	<string id="663" name="error message self deleting">
+		<value>Kendi kullanıcınızı silemezsiniz!</value>
+	</string>
+	<string id="664" name="error message auth">
+		<value>Bu yöntem Yönetici hakları erişimini gerektirir!</value>
+	</string>
+	<string id="665" name="error message SOAP">
+		<value>Bu ID ile ilişkilendirilmiş Oturum bulunmamaktadır.</value>
+	</string>
+	<string id="666" name="error message moderation">
+		<value>Bu bir Yönetici veya Düzenleyici hesabı. Bu hesabı sadece Yönetici Panelinden düzenleyebilirsiniz.</value>
+	</string>
+	<string id="667" name="email verification">
+		<value>Kaydınızı tamamlamak için lütfen bağlantıyı tıklayın ya da tarayıcı adres çubuğuna kopyalayıp oradan açın.</value>
+	</string>
+	<string id="668" name="email verification">
+		<value>E-Postanızı Onaylamak İçin Tıklayınız</value>
+	</string>
+	<string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+		<value>Bu Hash bilgisine uyan hiçbir kullanıcı bulunamadı.</value>
+	</string>
+	<string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+		<value>Bu kullanıcı zaten aktif edildi!</value>
+	</string>
+	<string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+		<value>Hesabınızı başarıyla aktifleştirdiniz!</value>
+	</string>
+	<string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+		<value>Giriş Yap</value>
+	</string>
+	<string id="673" name="loginErrorMessage = user was not activated">
+		<value>Hesabınız aktifleştirilmedi. Kayıt sırasında vermiş olduğunuz E-Postanıza gelen bağlantıyı tıklayarak aktivasyon işlemini tamamlayınız. </value>
+	</string>
+	<string id="674" name="register verification message">
+		<value>Kaydınız başarıyla tamamlandı. Vermiş olduğunuz e-posta adresinize hesabınızı aktifleştirmek için ileti gönderdik. İletideki bağlantıyı açarak hesabınızı aktifleştirebilirsiniz.</value>
+	</string>
+	<string id="675" name="participants panel">
+		<value>Bu Kullanıcının Düzenleyici Yetkisini İptal Et</value>
+	</string>
+	<string id="676" name="participants panel">
+		<value>Bu Kullanıcıya Düzenleyici Yetkileri Ver</value>
+	</string>
+	<string id="677" name="event user list">
+		<value>Kullanıcı</value>
+	</string>
+	<string id="678" name="event user list">
+		<value>Karatahtaya eriş</value>
+	</string>
+	<string id="679" name="event user list">
+		<value>Düzenleyici</value>
+	</string>
+	<string id="680" name="event user list">
+		<value>Düzenleme: Lütfen kendisine Karatahtaya Erişme, Düzenleme ve Ses/Görüntü yetkisi vermek üzere bir kullanıcı seçiniz.</value>
+	</string>
+	<string id="681" name="event user list">
+		<value>Bu kullanıcı Düzenleyici haklarına sahip olduğundan çizme yetkisine zaten sahip.</value>
+	</string>
+	<string id="682" name="event user list error">
+		<value>Kendi kendinizin Düzenleyici hakkını iptal edemezsiniz.</value>
+	</string>
+	<string id="683" name="event user list">
+		<value>Bu kullanıcının Ses/Görüntüsünü Yayınlamasına İzin Ver</value>
+	</string>
+	<string id="684" name="event user list">
+		<value>Kullanıcının Ses/Görüntüsünü İptal Et</value>
+	</string>
+	<string id="685" name="event user list">
+		<value>Bu odanın düzenleyicisi olmak istiyorum.</value>
+	</string>
+	<string id="686" name="event user list">
+		<value>Tahtayı düzenleyebilmek istiyorum.</value>
+	</string>
+	<string id="687" name="event user list">
+		<value>Ses/Görüntümü paylaşmak istiyorum.</value>
+	</string>
+	<string id="688" name="event user list">
+		<value>Bu odanın Düzenleyicisisiniz.</value>
+	</string>
+	<string id="689" name="event user list">
+		<value>Tahtayı düzenleme hakkına sahipsiniz.</value>
+	</string>
+	<string id="690" name="event user list">
+		<value>Ses/Görüntünüzü paylaşma hakkına sahipsiniz.</value>
+	</string>
+	<string id="691" name="errortype">
+		<value>Düzenleyiciye Mesaj</value>
+	</string>
+	<string id="692" name="apply for mod message">
+		<value>Kullanıcı</value>
+	</string>
+	<string id="693" name="apply for mod message">
+		<value>düzenleyici olmak istiyor. Kullanıcıya bu hakkı vermek istiyorsanız durum simgelerini kullanın.</value>
+	</string>
+	<string id="694" name="apply for whiteboard">
+		<value>tahtayı düzenlemek istiyor. Kullanıcıya bu hakkı vermek istiyorsanız durum simgelerini kullanın.</value>
+	</string>
+	<string id="695" name="695">
+		<value>Ses ve Görüntüsünü paylaşmak istiyor. Kullanıcıya bu hakkı vermek istiyorsanız durum simgelerini kullanın.</value>
+	</string>
+	<string id="696" name="moderation message">
+		<value>Düzenleyici odaya giriş yapana kadar beklemelisiniz.</value>
+	</string>
+	<string id="697" name="calendar button">
+		<value>İptal</value>
+	</string>
+	<string id="698" name="calendar button">
+		<value>Kaydet</value>
+	</string>
+	<string id="699" name="calendar component">
+		<value>Gün</value>
+	</string>
+	<string id="700" name="calendar component">
+		<value>Ay</value>
+	</string>
+	<string id="701" name="calendar component">
+		<value>Yıl</value>
+	</string>
+	<string id="702" name="file explorer">
+		<value>Upload File</value>
+	</string>
+	<string id="703" name="file explorer">
+		<value>Add Folder</value>
+	</string>
+	<string id="704" name="file explorer">
+		<value>Refresh</value>
+	</string>
+	<string id="705" name="file explorer">
+		<value>Trash (Drag and Drop item here)</value>
+	</string>
+	<string id="706" name="file explorer">
+		<value>My Files (Home Drive)</value>
+	</string>
+	<string id="707" name="file explorer">
+		<value>Room Files (Public Drive)</value>
+	</string>
+	<string id="708" name="file explorer">
+		<value>Add File</value>
+	</string>
+	<string id="709" name="file explorer">
+		<value>Add Folder</value>
+	</string>
+	<string id="710" name="file explorer">
+		<value>Delete Folder</value>
+	</string>
+	<string id="711" name="file explorer">
+		<value>Edit Name</value>
+	</string>
+	<string id="712" name="file explorer">
+		<value>New Folder</value>
+	</string>
+	<string id="713" name="file explorer">
+		<value>Are you sure you want to delete this Item?</value>
+	</string>
+	<string id="714" name="user admin">
+		<value>Search</value>
+	</string>
+	<string id="715" name="user admin">
+		<value>Search</value>
+	</string>
+	<string id="716" name="file explorer">
+		<value>Open Document</value>
+	</string>
+	<string id="717" name="file explorer">
+		<value>Show all Files (Tree View)</value>
+	</string>
+	<string id="718" name="file explorer">
+		<value>Close Document</value>
+	</string>
+	<string id="719" name="file explorer">
+		<value>Delete File</value>
+	</string> 
+	<string id="720" name="file explorer">
+    <value>You are not allowed to draw anything on the Whiteboard. You have to become Moderator or at least get the Right to edit Whiteboard. You may ask a Moderator to give you that right.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Document Properties</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Start Client (external)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Start Client (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>A user want to share his screen. Do you want to see it?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>You are currently sharing your Desktop. For stopping the Sharing Session please hit the Stop button in the Sharing Client.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Sharing Session</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>You are already sharing your desktop!</value>
+  </string>
+  <string id="728" name="sharing client">
+    <value>Desktop Viewer</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Exit</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Desktop Sharer</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Click Start to publish your screen</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Start Sharing</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Select your screen area:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Change width</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>The Sharer has finished this session!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Change height</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X-Offset</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y-Offset</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Width:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Height:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>Connection was closed by Server</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Cancel</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Start External</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>If you close this session completely you are not able to restart the viewer for this session.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Confirm Closing Viewer Session</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Share Screen</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Record Session</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Co-Browsing</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Ooops, ... Firefox on Windows does not show clear Co-Browsing. Please use another Browser for using the Co-Browsing feature.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Previous</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Next</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Reload</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Home</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Load</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Add this website as Default website to your Profile.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Test Setup</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Check you Microphone and Camera setup before you enter a room by recording some seconds. You can then replay your recording to check your voice and picture.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Don't show this test anymore</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Cancel</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Start Conference</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Do not ask again</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>You may proceed without testing if you do not plan to publish your voice or picture. Participants without Audio or Video can still use the Whiteboard, share their Desktop or write Chat messages.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="test setup">
+    <value>Level-Meter</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Press Start</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Start Event</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Choose Room</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Check Setup</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="774" name="start view">
+    <value>How to conference</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Start Recording</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Do not show Audio / Video Test (Recording) before entering a Conference</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Public Rooms</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Public Rooms are accessible for all Users.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Private Rooms</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Private Rooms are only accessible for users of the same organization.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>My Rooms</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Rooms in this section are created for personal usage. There are some standard rooms plus the ones that are created through the calendar and have a start and an end date. The rooms created via the calendar are only listed in this section as long as they are valid.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>You have to be moderator to do this.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Apply for moderation</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Apply for whiteboard access</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Apply for camera/microphone access</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>This Session Hash was already used. You cannot use it twice.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>START</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>EXIT</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Do you really want to exit? You might should clear uploaded documents, whiteboard and the chat history.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Exit conference</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Rooms</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Choose a room for a meeting</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>There is an unsaved Event in the Calendar. Please either save it or remove it.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Please add at least one attendee for your meeting!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Do you really want to delete this Event?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Warning</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Add Event</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>Day</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>Week</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>Month</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Description</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Attendees</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, your Web Conferencing Platform. Either follow the Instructions, press the start button to start to conference immediatelly or you goto the Calendar and set up a Conference for the future.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Plan a Meeting</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>To set up a conference you can add a new Event in the Calendar.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Need help?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Restricted</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Search</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Add</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>There is no User selected. Please select an item from the list first and then hit add.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Add Attendee</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Save</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Delete</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Event Details</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Default Moderators</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Name</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>E-Mail</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Add new default Moderator</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Is Super Moderator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>If the Room is moderated, User with Level Moderator or Administrator are automatically Moderator if they enter the Room. If you don't want to specify that and only want a certain User to become Moderator use the Default Moderator option.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>A Super Moderator is always a Moderator when he enters a Room, and nobody can remove the Moderation Flag from him</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Apply Super-Moderation to User</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Remove Super Moderation from User</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>If you add an Organization to the room only users of that Organization have access to it (This is only valid if the isPublic flag is set to false!)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Limitations</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organization</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Are you sure?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Do you really want to delete this Item? You have to press the save button to store the changes!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>There is no User selected. Please select first before you add it!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Add new Default Moderator</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Do you want to add the Super Moderation Flag for this User? A Super Moderator is not only Moderator of a Room, but also no other Moderator can remove the Moderation Flag for this User. You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Do you want to remove the Super Moderation Flag for this User? You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>This User is a Super-Moderator. You cannot remove the Moderation flag from a Super-Moderator!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Do you really want to delete this File/Folder?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Delete File/Folder?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Mrs.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Dr.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Properties</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Show mouse position to viewers</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Share Audio with SIP Applet</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Share Audio with SIP and Video with Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Full-Fit</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>View Screen</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>The user</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>wants to share its screen. Do you want to see it?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Close</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>The Session was closed by the sharing User!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>New Screen Sharing</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimize</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximize</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Recording Timeline</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>My Recordings</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Public Recordings</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Name</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Length</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Date</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>By</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>PLAY</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Main - Video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Recording</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>You may record and share your screen at the same time. To enable others to see your screen just hit the start button on the top. To only record the Session it is sufficient to click start recording.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Start Recording</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Stop Recording</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download the FLV-File</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Room</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>User has microphone on</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Allow User Questions</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Turn this off to prevent that any user is disturbing you in this room. Effect is that the Button to ask for Moderation ("I have a question") is not visible.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Rights</value>
+  </string>  
+  <string id="882" name="flvrecording">
+    <value>Download as AVI</value>
+  </string>  
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio only</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the Recording.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>The Recording is not yet ready for watching. Please retry in a couple of minutes again.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Recorder Message</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIP Applet is not Ready</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP-Account Settings</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP settings for each user. You can turn on or off SIP via the Administration &gt; Configuration (Key: enable_sip). The SIP data for each user should be created automatically. You can re-create the data by checking "Re-generate SIP Data"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. You should check the authentification data of your SIP-Provider and the SIP-Account Data for each User. As Administrator you are still able to login and check the Configuration. As User or Moderator you will be blocked from any interaction.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. Contact your Service Team!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet Message</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>The SIP-Applet is not ready. Accept the Applet please and click ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Get Moderation</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login the $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choose the User for this Video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>You are a Moderator in this Interview. You can decide who is speaking in this interview and you can start / stop the recording of the Session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Start Recording</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Stop Recording</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+  <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/languages/ukrainian.xml b/WebContent/languages/ukrainian.xml
new file mode 100644
index 0000000..4b8a8e8
--- /dev/null
+++ b/WebContent/languages/ukrainian.xml
@@ -0,0 +1,4505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!--###############################################
+This File is auto-generated by the LanguageEditor 
+to add new Languages or modify/customize it use the LanguageEditor 
+see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details 
+###############################################-->
+<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="language.xsd">
+  <string id="1" name="conference">
+    <value>Конференція</value>
+  </string>
+  <string id="2" name="meeting">
+    <value>Зустріч</value>
+  </string>
+  <string id="3" name="classroom">
+    <value>Аудиторія</value>
+  </string>
+  <string id="4" name="settings">
+    <value>Налаштування</value>
+  </string>
+  <string id="5" name="benutzer">
+    <value>Користувач</value>
+  </string>
+  <string id="6" name="admin">
+    <value>Адміністратор</value>
+  </string>
+  <string id="7" name="stop">
+    <value>Пауза</value>
+  </string>
+  <string id="8" name="record">
+    <value>Запис</value>
+  </string>
+  <string id="9" name="nofile">
+    <value>Немає даних</value>
+  </string>
+  <string id="10" name="recordbyteacher">
+    <value>Функція запису для модераторів</value>
+  </string>
+  <string id="11" name="connectedusers">
+    <value>Пов'язаний користувач:</value>
+  </string>
+  <string id="12" name="startconf">
+    <value>Почати конференцію</value>
+  </string>
+  <string id="13" name="myname">
+    <value>Моє ім'я</value>
+  </string>
+  <string id="14" name="videoconference">
+    <value>Відеоконференція</value>
+  </string>
+  <string id="15" name="import">
+    <value>Імпорт</value>
+  </string>
+  <string id="16" name="refreshfiles">
+    <value>Оновити список</value>
+  </string>
+  <string id="17" name="tomainfile">
+    <value>На головну</value>
+  </string>
+  <string id="18" name="newpoll">
+    <value>Нове опитування</value>
+  </string>
+  <string id="19" name="newpollheader">
+    <value>Нове опитування для конференції.</value>
+  </string>
+  <string id="20" name="question">
+    <value>Запитання:</value>
+  </string>
+  <string id="21" name="polltype">
+    <value>Вид опитування:</value>
+  </string>
+  <string id="22" name="create">
+    <value>Створити</value>
+  </string>
+  <string id="23" name="infomessage">
+    <value>Інформація: кожен пов'язани користувач отримує повідомлення з новим опитуванням</value>
+  </string>
+  <string id="24" name="creatpoll">
+    <value>Створити опитування</value>
+  </string>
+  <string id="25" name="cancel">
+    <value>Відмінити</value>
+  </string>
+  <string id="26" name="yesno">
+    <value>Так/Ні</value>
+  </string>
+  <string id="27" name="numeric">
+    <value>В числовому порядку 1-10</value>
+  </string>
+  <string id="28" name="poll">
+    <value>Опитування</value>
+  </string>
+  <string id="29" name="moderation">
+    <value>Для створення опитування Ви повинні бути модератором/інструктором даної кімнати.</value>
+  </string>
+  <string id="30" name="vote">
+    <value>Ви проголосували.</value>
+  </string>
+  <string id="31" name="alreadyvoted">
+    <value>Ви вже проголосували в даному опитуванні.</value>
+  </string>
+  <string id="32" name="voting">
+    <value>Проголосувати!</value>
+  </string>
+  <string id="33" name="answer">
+    <value>Ваша відповідь:</value>
+  </string>
+  <string id="34" name="yes">
+    <value>Так</value>
+  </string>
+  <string id="35" name="no">
+    <value>Ні</value>
+  </string>
+  <string id="36" name="questionwant">
+    <value>Хочу знати:</value>
+  </string>
+  <string id="37" name="pollresults">
+    <value>Результати опитування</value>
+  </string>
+  <string id="38" name="question">
+    <value>Запитання:</value>
+  </string>
+  <string id="39" name="results">
+    <value>Відповіді:</value>
+  </string>
+  <string id="40" name="answers">
+    <value>Результати:</value>
+  </string>
+  <string id="41" name="nopoll">
+    <value>В даний момент опитування не існує.</value>
+  </string>
+  <string id="42" name="votings">
+    <value>Проголосувати!</value>
+  </string>
+  <string id="43" name="meeting">
+    <value>Зустріч (максимум 4 місця)</value>
+  </string>
+  <string id="44" name="conference">
+    <value>Конференція (максимум 50 місць)</value>
+  </string>
+  <string id="45" name="type">
+    <value>Тип</value>
+  </string>
+  <string id="46" name="remainingseats">
+    <value>Залишилось місць</value>
+  </string>
+  <string id="47" name="alreadychosen">
+    <value>Вже присвоєно</value>
+  </string>
+  <string id="48" name="enter">
+    <value>Вхід</value>
+  </string>
+  <string id="49" name="modleave">
+    <value>Модератор/інструктор цієї кімнати покинув кімнату</value>
+  </string>
+  <string id="50" name="systemmessage">
+    <value>Системне повідомлення</value>
+  </string>
+  <string id="51" name="chossedevice">
+    <value>Вибір пристрою</value>
+  </string>
+  <string id="52" name="choosecam">
+    <value>Обрати камеру:</value>
+  </string>
+  <string id="53" name="choosemic">
+    <value>Обрати мікрофон:</value>
+  </string>
+  <string id="54" name="ok">
+    <value>OK</value>
+  </string>
+  <string id="55" name="cancel2">
+    <value>Скасувати</value>
+  </string>
+  <string id="56" name="reconeectneeded">
+    <value>Ви повинні ввійти знову, щоб активізувати зміни.</value>
+  </string>
+  <string id="57" name="editsetup">
+    <value>Змінити налаштування.</value>
+  </string>
+  <string id="58" name="course">
+    <value>Курс:</value>
+  </string>
+  <string id="59" name="language">
+    <value>Мова:</value>
+  </string>
+  <string id="60" name="ok2">
+    <value>OK</value>
+  </string>
+  <string id="61" name="cancel3">
+    <value>Скасувати</value>
+  </string>
+  <string id="62" name="clearwhiteboard">
+    <value>Очистити планшет</value>
+  </string>
+  <string id="63" name="clearwhiteboardquestion">
+    <value>Очистити планшет перед додаванням нового зображення?</value>
+  </string>
+  <string id="64" name="dontaskagain">
+    <value>чистити планшет перед додаванням нового зображення</value>
+  </string>
+  <string id="65" name="no">
+    <value>ні</value>
+  </string>
+  <string id="66" name="editsetup2">
+    <value>Обробити налаштування</value>
+  </string>
+  <string id="67" name="needconfirmationwhiteboard">
+    <value>Запросити підтвердження перед очисткою планшету.</value>
+  </string>
+  <string id="68" name="userinfo">
+    <value>Наша інформація</value>
+  </string>
+  <string id="69" name="cleardrawarea">
+    <value>Очистити планшет</value>
+  </string>
+  <string id="70" name="undo">
+    <value>Відмінити</value>
+  </string>
+  <string id="71" name="redo">
+    <value>Відновлення</value>
+  </string>
+  <string id="72" name="selectobject">
+    <value>Вибрати об'єкт</value>
+  </string>
+  <string id="73" name="text">
+    <value>Текст</value>
+  </string>
+  <string id="74" name="paint">
+    <value>Малювання</value>
+  </string>
+  <string id="75" name="drawline">
+    <value>Провести лінію</value>
+  </string>
+  <string id="76" name="drawu">
+    <value>Підкреслити</value>
+  </string>
+  <string id="77" name="rect">
+    <value>Прямокутник</value>
+  </string>
+  <string id="78" name="ellipse">
+    <value>Еліпс</value>
+  </string>
+  <string id="79" name="arrow">
+    <value>Стрілка</value>
+  </string>
+  <string id="80" name="deletechosen">
+    <value>Стерти обраний елемент</value>
+  </string>
+  <string id="81" name="appliymod">
+    <value>Запит функції модератора</value>
+  </string>
+  <string id="82" name="apply">
+    <value>Запит</value>
+  </string>
+  <string id="83" name="cancel">
+    <value>Скасувати</value>
+  </string>
+  <string id="84" name="mod">
+    <value>Отримати функцію модератора</value>
+  </string>
+  <string id="85" name="close">
+    <value>Закрити</value>
+  </string>
+  <string id="86" name="italic">
+    <value>Курсив</value>
+  </string>
+  <string id="87" name="bold">
+    <value>Жирний шрифт</value>
+  </string>
+  <string id="88" name="waiting">
+    <value>Будь-ласкаа зачекайте...</value>
+  </string>
+  <string id="89" name="applyMessage">
+    <value>Користувач бажає отримати функцію модератора</value>
+  </string>
+  <string id="90" name="accept">
+    <value>Згода</value>
+  </string>
+  <string id="91" name="reject">
+    <value>Скасування</value>
+  </string>
+  <string id="92" name="cancel">
+    <value>Скасувати</value>
+  </string>
+  <string id="93" name="sendmodrequestmessage">
+    <value>Надсилання запиту наступному користувачу</value>
+  </string>
+  <string id="94" name="accept">
+    <value>Дано згоду</value>
+  </string>
+  <string id="95" name="reject">
+    <value>Скасовано</value>
+  </string>
+  <string id="96" name="changemod">
+    <value>Заміна модератора</value>
+  </string>
+  <string id="97" name="nonmoderrormessage">
+    <value>Ви не є модератором даного курсу!</value>
+  </string>
+  <string id="98" name="moderator">
+    <value>Модератор:</value>
+  </string>
+  <string id="99" name="roomfullmessage">
+    <value>Вибачте, в цій кімнаті немає місця. Будь-ласка попробуйте ще через деякий час.</value>
+  </string>
+  <string id="100" name="elllipse">
+    <value>Еліпс</value>
+  </string>
+  <string id="101" name="close">
+    <value>Закрити</value>
+  </string>
+  <string id="102" name="AuthError">
+    <value>Помилка при вводі</value>
+  </string>
+  <string id="103" name="min4username">
+    <value>Ім'я користувача повинно складатись мінімум з 4 знаків</value>
+  </string>
+  <string id="104" name="min4pass">
+    <value>Пароль повинен містити мінімум 4 знаки</value>
+  </string>
+  <string id="105" name="usernametaken">
+    <value>Це ім'я користувача вже присвоєне</value>
+  </string>
+  <string id="106" name="emailtaken">
+    <value>Введена електронна адреса вже зареєстрована</value>
+  </string>
+  <string id="107" name="emailtaken">
+    <value>Присутня помилка, просимо зв''язатись з адміністрацією</value>
+  </string>
+  <string id="108" name="Authlogin">
+    <value>Логін</value>
+  </string>
+  <string id="109" name="Authuser">
+    <value>Користувач:</value>
+  </string>
+  <string id="110" name="Authpass">
+    <value>Пароль:</value>
+  </string>
+  <string id="111" name="Authlang">
+    <value>Мова</value>
+  </string>
+  <string id="112" name="Authreg">
+    <value>Логін</value>
+  </string>
+  <string id="113" name="regformhead">
+    <value>Зареєструватись</value>
+  </string>
+  <string id="114" name="regformuser">
+    <value>Користувач:</value>
+  </string>
+  <string id="115" name="regformpass">
+    <value>Пароль:</value>
+  </string>
+  <string id="116" name="regformretype">
+    <value>Повторити:</value>
+  </string>
+  <string id="117" name="regformfirstname">
+    <value>Ім'я:</value>
+  </string>
+  <string id="118" name="regformlastname">
+    <value>Прізвище:</value>
+  </string>
+  <string id="119" name="regformmail">
+    <value>E-Mail:</value>
+  </string>
+  <string id="120" name="regformstate">
+    <value>Країна:</value>
+  </string>
+  <string id="121" name="regformbtn1">
+    <value>Зареєструватись</value>
+  </string>
+  <string id="122" name="regformbtn2">
+    <value>Скасувати</value>
+  </string>
+  <string id="123" name="Authbtn2">
+    <value>Регістр</value>
+  </string>
+  <string id="124" name="dashboard">
+    <value>На головну</value>
+  </string>
+  <string id="125" name="useradmin">
+    <value>Користувачі</value>
+  </string>
+  <string id="126" name="groupadmin">
+    <value>Групи</value>
+  </string>
+  <string id="127" name="orgadmin">
+    <value>Організації</value>
+  </string>
+  <string id="128" name="headconf">
+    <value>Кімнати для конференцій</value>
+  </string>
+  <string id="129" name="conf_pub">
+    <value>Публічно</value>
+  </string>
+  <string id="130" name="head_org">
+    <value>Організація</value>
+  </string>
+  <string id="131" name="btn_enterroom">
+    <value>Вхід</value>
+  </string>
+  <string id="132" name="useralterself_login">
+    <value>Користувач</value>
+  </string>
+  <string id="133" name="useralterself_pass">
+    <value>Пароль</value>
+  </string>
+  <string id="134" name="useralterself_passretype">
+    <value>Повторити</value>
+  </string>
+  <string id="135" name="useralterself_firstname">
+    <value>Ім'я</value>
+  </string>
+  <string id="136" name="useralterself_lastname">
+    <value>Прізвище</value>
+  </string>
+  <string id="137" name="useralterself_email">
+    <value>E-Mail</value>
+  </string>
+  <string id="138" name="useralterself_birth">
+    <value>Дата народження</value>
+  </string>
+  <string id="139" name="useralterself_streetno">
+    <value>Вулиця/№ будинка</value>
+  </string>
+  <string id="140" name="useralterself_town">
+    <value>Індекс/населений пункт</value>
+  </string>
+  <string id="141" name="useralterself_state">
+    <value>Країна</value>
+  </string>
+  <string id="142" name="useralterself_adresscomment">
+    <value>Додаткова brінформація</value>
+  </string>
+  <string id="143" name="useralterself_header">
+    <value>Дані користувача</value>
+  </string>
+  <string id="144" name="savemenubar_savelabel">
+    <value>Зберегти</value>
+  </string>
+  <string id="145" name="savemenubar_savelabel">
+    <value>Процес збереження</value>
+  </string>
+  <string id="146" name="admin_userlist_user_id">
+    <value>Ідент. № користувача</value>
+  </string>
+  <string id="147" name="admin_userlist_login">
+    <value>Логін</value>
+  </string>
+  <string id="148" name="admin_userlist_firstnam">
+    <value>Ім'я</value>
+  </string>
+  <string id="149" name="admin_userlist_lastname">
+    <value>Прізвище</value>
+  </string>
+  <string id="150" name="turnoverlist_next">
+    <value>Вперед</value>
+  </string>
+  <string id="151" name="turnoverlist_pre">
+    <value>Назад</value>
+  </string>
+  <string id="152" name="savecontent_confirm">
+    <value>Стерти запис</value>
+  </string>
+  <string id="153" name="savecontent_confirm_cancel_btn">
+    <value>Скасувати</value>
+  </string>
+  <string id="154" name="savecontent_confirm_confirm_btn">
+    <value>Стери</value>
+  </string>
+  <string id="155" name="savemenubar_addlabel">
+    <value>Створити запис</value>
+  </string>
+  <string id="156" name="savemenubar_reloadlabel">
+    <value>Оновити запис</value>
+  </string>
+  <string id="157" name="savemenubar_deletelabel">
+    <value>Стерти запис</value>
+  </string>
+  <string id="158" name="useralter_admin_status">
+    <value>Статус</value>
+  </string>
+  <string id="159" name="useralter_admin_statusItem">
+    <value>Заблоковано</value>
+  </string>
+  <string id="160" name="useralter_admin_statusItem">
+    <value>Активно</value>
+  </string>
+  <string id="161" name="useralter_admin_organisation">
+    <value>Організації</value>
+  </string>
+  <string id="162" name="calendar_iconlabel">
+    <value>Календар</value>
+  </string>
+  <string id="163" name="savewindow_btn">
+    <value>Закрити</value>
+  </string>
+  <string id="164" name="organisationtablelist_idrow">
+    <value>Ідент. № організації</value>
+  </string>
+  <string id="165" name="organisationtablelist_namerow">
+    <value>Ім'я</value>
+  </string>
+  <string id="166" name="uservalue_levelid1">
+    <value>Користувач</value>
+  </string>
+  <string id="167" name="uservalue_levelid2">
+    <value>Модератор</value>
+  </string>
+  <string id="168" name="uservalue_levelid3">
+    <value>Адміністратор</value>
+  </string>
+  <string id="169" name="uservalue_levellabel">
+    <value>Роль користувача</value>
+  </string>
+  <string id="170" name="orgvalue_header">
+    <value>Організація</value>
+  </string>
+  <string id="171" name="orgvalue_orgname">
+    <value>Ім'я</value>
+  </string>
+  <string id="172" name="orgvalue_orgname">
+    <value>Додати організацію</value>
+  </string>
+  <string id="173" name="orgvalue_orgname">
+    <value>Додати організацію</value>
+  </string>
+  <string id="174" name="orgvalue_userwin">
+    <value>Скасувати</value>
+  </string>
+  <string id="175" name="orgvalue_userwin">
+    <value>Додати</value>
+  </string>
+  <string id="176" name="orgvalue_userwin">
+    <value>Стерти організацію</value>
+  </string>
+  <string id="177" name="orgvalue_userlist">
+    <value>Користувач</value>
+  </string>
+  <string id="178" name="orgvalue_userlistadd">
+    <value>Додати користувача</value>
+  </string>
+  <string id="179" name="orgvalue_userlistdelete">
+    <value>Видалити користувача</value>
+  </string>
+  <string id="180" name="orgvalue_userwinheader">
+    <value>Додати користувача</value>
+  </string>
+  <string id="181" name="orgvalue_userwinsearchfield">
+    <value>Пошук користувача</value>
+  </string>
+  <string id="182" name="orgvalue_userwinsearchbtn">
+    <value>Шукати</value>
+  </string>
+  <string id="183" name="orgvalue_userwinsearchresult">
+    <value>Користувач</value>
+  </string>
+  <string id="184" name="loginwin_chooseorganisation">
+    <value>Організація</value>
+  </string>
+  <string id="185" name="loginwin_chooseorganisationbtn">
+    <value>Обрати</value>
+  </string>
+  <string id="186" name="navi_roomadmin">
+    <value>Кімнати для конференцій</value>
+  </string>
+  <string id="187" name="roomadmin_header">
+    <value>Кімнати для конференцій</value>
+  </string>
+  <string id="188" name="roomadmin_header">
+    <value>Ідент. №</value>
+  </string>
+  <string id="189" name="roomadmin_header">
+    <value>Ім'я</value>
+  </string>
+  <string id="190" name="roomadmin_header">
+    <value>Публічно</value>
+  </string>
+  <string id="191" name="roomadmin_header">
+    <value>Організації</value>
+  </string>
+  <string id="192" name="roomadmin_header">
+    <value>Кімнати для конференцій</value>
+  </string>
+  <string id="193" name="roomvalue_name">
+    <value>Ім'я</value>
+  </string>
+  <string id="194" name="roomvalue_type">
+    <value>Тип</value>
+  </string>
+  <string id="195" name="roomvalue_ispublic">
+    <value>Публічно</value>
+  </string>
+  <string id="196" name="roomvalue_comment">
+    <value>Коментар</value>
+  </string>
+  <string id="197" name="whiteboard_saveicon">
+    <value>Зберегти</value>
+  </string>
+  <string id="198" name="whiteboard_openicon">
+    <value>Вікдрити</value>
+  </string>
+  <string id="199" name="whiteboard_saveaswinheader">
+    <value>Зберегти як</value>
+  </string>
+  <string id="200" name="whiteboard_saveaswintext">
+    <value>Ім'я файлу</value>
+  </string>
+  <string id="201" name="files">
+    <value>Ім'я файлу</value>
+  </string>
+  <string id="202" name="whiteboard_saveaswinbtn1">
+    <value>Скасувати</value>
+  </string>
+  <string id="203" name="whiteboard_saveaswinbtn2">
+    <value>Зберегти</value>
+  </string>
+  <string id="204" name="rpcerrorwin_header">
+    <value>Помилка</value>
+  </string>
+  <string id="205" name="loadwml_header">
+    <value>Завантажити</value>
+  </string>
+  <string id="206" name="loadwml_messsload">
+    <value>Об'єкт завантажений</value>
+  </string>
+  <string id="207" name="loadwml_messsync">
+    <value>Синхронізація клієнтів. Залишилось клієнтів:</value>
+  </string>
+  <string id="208" name="loadimage_messload">
+    <value>Завантаження графічних даних</value>
+  </string>
+  <string id="209" name="loadimage_messsync">
+    <value>Синхронізація клієнтів. Залишилось клієнтів:</value>
+  </string>
+  <string id="210" name="loadwml_confirmheader">
+    <value>Очистити планшет</value>
+  </string>
+  <string id="211" name="loadwml_confirmmess">
+    <value>Очистити планшет, при цьому всі зміни будуть втрачені!</value>
+  </string>
+  <string id="212" name="loadwml_confirmmess2">
+    <value>Перед завантаженням файлу запросити підтвердження</value>
+  </string>
+  <string id="213" name="send_invitation_btn">
+    <value>Відіслати запрошення</value>
+  </string>
+  <string id="214" name="send_invitationwin_header">
+    <value>Відправити запрошення</value>
+  </string>
+  <string id="215" name="send_invitationwin_subject">
+    <value>Тема</value>
+  </string>
+  <string id="216" name="send_invitationwin_recipient">
+    <value>Адреса одержувача</value>
+  </string>
+  <string id="217" name="send_invitationwin_message">
+    <value>Повідомлення</value>
+  </string>
+  <string id="218" name="send_invitationwin_btn_confirm">
+    <value>Відправити</value>
+  </string>
+  <string id="219" name="send_invitationwin_btn_cancel">
+    <value>Скасувати</value>
+  </string>
+  <string id="220" name="send_chat_text_btn">
+    <value>Відправити</value>
+  </string>
+  <string id="221" name="invited_userwin_header">
+    <value>Данні користувача</value>
+  </string>
+  <string id="222" name="invited_userwin_subject">
+    <value>Нік для даної конфренції</value>
+  </string>
+  <string id="223" name="invited_userwin_login">
+    <value>Прізвище/псевдонім</value>
+  </string>
+  <string id="224" name="invited_userwin_firstname">
+    <value>Ім'я</value>
+  </string>
+  <string id="225" name="invited_userwin_lastname">
+    <value>Прізвище</value>
+  </string>
+  <string id="226" name="invited_userwin_mail">
+    <value>E-Mail</value>
+  </string>
+  <string id="227" name="invited_userwin_lang">
+    <value>Мова</value>
+  </string>
+  <string id="228" name="invited_userwin_enter">
+    <value>Відправити</value>
+  </string>
+  <string id="229" name="invited_userwin_enter">
+    <value>Триває завантаження...</value>
+  </string>
+  <string id="230" name="invited_userwin_enter">
+    <value>Дані завантажуються, будь-ласка зачекайте...</value>
+  </string>
+  <string id="231" name="user_registerFalsePWD">
+    <value>Невірний пароль</value>
+  </string>
+  <string id="232" name="user_registerFalsePWDHeader">
+    <value>Будь ласка введіть два ідентичні паролі, що містять мінімум 6 символи.</value>
+  </string>
+  <string id="233" name="user_registerMailError">
+    <value>Невірний e-mail</value>
+  </string>
+  <string id="234" name="user_registerMailErrorHeader">
+    <value>Ви ввели не вірний e-mail</value>
+  </string>
+  <string id="235" name="user_registerSuccess">
+    <value>Реєстрація завершена</value>
+  </string>
+  <string id="236" name="user_registerSuccessHeader">
+    <value>Ваш акаунт створено. Тепер Ви можете ввійти в систему.</value>
+  </string>
+  <string id="237" name="user_sharing_message">
+    <value>Ви не можете завантажити ваш знімок. Хтось вже зробив це.</value>
+  </string>
+  <string id="238" name="user_sharing_messageHeader">
+    <value>Завантаження заборонене</value>
+  </string>
+  <string id="239" name="user_doStartScreenViewer">
+    <value>Зробити знімок екрану</value>
+  </string>
+  <string id="240" name="screen_warnBandwidth">
+    <value>Поганий пропускний кнаал: Ви не можете синхронізувати ваш екран. Фрейми будуть втрачені. Якщо це повідомлення повториться запитайте в модератора про зменшення якості.</value>
+  </string>
+  <string id="241" name="screen_userlabel">
+    <value>Екран:</value>
+  </string>
+  <string id="242" name="whiteboard_tab_paint">
+    <value>Малюнок</value>
+  </string>
+  <string id="243" name="whiteboard_tab_document">
+    <value>Документ</value>
+  </string>
+  <string id="244" name="tabbar_chaticon">
+    <value>Чат</value>
+  </string>
+  <string id="245" name="tabbar_filesicon">
+    <value>Файли</value>
+  </string>
+  <string id="246" name="tabbar_participantsicon">
+    <value>Користувачі</value>
+  </string>
+  <string id="247" name="swfpresentation_listsaveorig">
+    <value>Завантажити оригінальні документи</value>
+  </string>
+  <string id="248" name="swfpresentation_listsavepdf">
+    <value>Завантажити pdf документ</value>
+  </string>
+  <string id="249" name="swfpresentation_listloadswf">
+    <value>Завантажити презентацію на планшет</value>
+  </string>
+  <string id="250" name="navimain_config">
+    <value>Налаштування</value>
+  </string>
+  <string id="251" name="whiteboard_boundingbox_drag">
+    <value>Потягнути цей об'єкт</value>
+  </string>
+  <string id="252" name="whiteboard_boundingbox_resize">
+    <value>Змінити розмір об'єкта</value>
+  </string>
+  <string id="253" name="whiteboard_documenttoolbar_zoom">
+    <value>%</value>
+  </string>
+  <string id="254" name="whiteboard_documenttoolbar_slide">
+    <value>з</value>
+  </string>
+  <string id="255" name="whiteboard_documenttoolbar_firstslide">
+    <value>На 1 сторінку</value>
+  </string>
+  <string id="256" name="whiteboard_documenttoolbar_preslide">
+    <value>На попередню сторінку</value>
+  </string>
+  <string id="257" name="whiteboard_documenttoolbar_nextslide">
+    <value>На наступну сторінку</value>
+  </string>
+  <string id="258" name="whiteboard_documenttoolbar_lastslide">
+    <value>На останню сторінку</value>
+  </string>
+  <string id="259" name="whiteboard_documenttoolbar_zoomminus">
+    <value>Зменшити</value>
+  </string>
+  <string id="260" name="whiteboard_documenttoolbar_zoomplus">
+    <value>Збільшити</value>
+  </string>
+  <string id="261" name="salutation_mr">
+    <value>П.</value>
+  </string>
+  <string id="262" name="salutation_miss">
+    <value>П.</value>
+  </string>
+  <string id="263" name="navimain_confadmin">
+    <value>Налаштування</value>
+  </string>
+  <string id="264" name="conftable_headerId">
+    <value>ID</value>
+  </string>
+  <string id="265" name="conftable_headerkey">
+    <value>Ключ</value>
+  </string>
+  <string id="266" name="confadminform_header">
+    <value>Налаштування</value>
+  </string>
+  <string id="267" name="confadminform_labelkey">
+    <value>Ключ</value>
+  </string>
+  <string id="268" name="confadminform_labelupdated">
+    <value>Останнє оновлення</value>
+  </string>
+  <string id="269" name="confadminform_labelupdatedby">
+    <value>Оновлення</value>
+  </string>
+  <string id="270" name="confadminform_labelcomment">
+    <value>Коментарі</value>
+  </string>
+  <string id="271" name="confadminform_labelkey">
+    <value>Ключ</value>
+  </string>
+  <string id="272" name="turnoverlist_maxresults">
+    <value>з</value>
+  </string>
+  <string id="273" name="organisation_usersheader">
+    <value>Користувачі</value>
+  </string>
+  <string id="274" name="organisation_usersicondelete">
+    <value>Стерти користувача з організації</value>
+  </string>
+  <string id="275" name="organisation_usersdeletedhead">
+    <value>Стерти</value>
+  </string>
+  <string id="276" name="organisation_usersalreadadded">
+    <value>Цей користувач є вже учасником цієї організації.</value>
+  </string>
+  <string id="277" name="dashboard_newsheader">
+    <value>Новини</value>
+  </string>
+  <string id="278" name="dashboard_quicklinksheader">
+    <value>Посиланння</value>
+  </string>
+  <string id="279" name="dashboard_quicklinkConf">
+    <value>В Конференції</value>
+  </string>
+  <string id="280" name="dashboard_quicklinkAudit">
+    <value>В Аудиторії</value>
+  </string>
+  <string id="281" name="dashboard_quicklinksupport">
+    <value>Допомога і підтримка</value>
+  </string>
+  <string id="282" name="dashboard_quickhomepageurl">
+    <value>http://incubator.apache.org/openmeetings/</value>
+  </string>
+  <string id="283" name="dashboard_quickmailinglisturl">
+    <value>http://incubator.apache.org/openmeetings/mail-lists.html</value>
+  </string>
+  <string id="284" name="dashboard_reportbugs">
+    <value>Повідомити про помилки!</value>
+  </string>
+  <string id="285" name="dashboard_rsslistitemlinktext">
+    <value>Більше</value>
+  </string>
+  <string id="286" name="dashboard_quicklinkhomepagelabel">
+    <value>Сайт проекту (http://incubator.apache.org/openmeetings)</value>
+  </string>
+  <string id="287" name="dashboard_quicklinkmailinglistlabel">
+    <value>User Mailing List (http://incubator.apache.org/openmeetings/mail-lists.html)</value>
+  </string>
+  <string id="288" name="login_rememberuser">
+    <value>Запам'ятати вхід</value>
+  </string>
+  <string id="289" name="main_navi">
+    <value>Контент</value>
+  </string>
+  <string id="290" name="subnavi">
+    <value>Моя домашня сторінка</value>
+  </string>
+  <string id="291" name="subnavi">
+    <value>Заплановані конференції</value>
+  </string>
+  <string id="292" name="subnavi">
+    <value>Заплановані події</value>
+  </string>
+  <string id="293" name="subnavi">
+    <value>Публічні конференції</value>
+  </string>
+  <string id="294" name="subnavi">
+    <value>Приватні конференції</value>
+  </string>
+  <string id="295" name="subnavi">
+    <value>Публічні події</value>
+  </string>
+  <string id="296" name="subnavi">
+    <value>Приватні події</value>
+  </string>
+  <string id="297" name="subnavi">
+    <value>Публічний контент</value>
+  </string>
+  <string id="298" name="subnavi">
+    <value>Приватний контент</value>
+  </string>
+  <string id="299" name="subnavi">
+    <value>Персональний контент</value>
+  </string>
+  <string id="300" name="subnavi">
+    <value></value>
+  </string>
+  <string id="301" name="conferencebar">
+    <value>Модерація</value>
+  </string>
+  <string id="302" name="conferencebar">
+    <value>Призначити модератором</value>
+  </string>
+  <string id="303" name="conferencebar">
+    <value>Опитування</value>
+  </string>
+  <string id="304" name="conferencebar">
+    <value>Вибрати файл</value>
+  </string>
+  <string id="305" name="conferencebar">
+    <value>Налаштування</value>
+  </string>
+  <string id="306" name="conferencebar">
+    <value>Налаштування камери і мікрофона</value>
+  </string>
+  <string id="307" name="conferencebar">
+    <value>Налаштування планшету</value>
+  </string>
+  <string id="308" name="conferencebar">
+    <value>Вихід</value>
+  </string>
+  <string id="309" name="conferencebar">
+    <value>Повернутись до кімнат</value>
+  </string>
+  <string id="310" name="conferencebar">
+    <value>Вийти</value>
+  </string>
+  <string id="311" name="loginwindow">
+    <value>Провідник</value>
+  </string>
+  <string id="312" name="loginwindow">
+    <value>Запуск провідника</value>
+  </string>
+  <string id="313" name="loginwindow">
+    <value>Відео і Аудіо</value>
+  </string>
+  <string id="314" name="loginwindow">
+    <value>Чат</value>
+  </string>
+  <string id="315" name="loginwindow">
+    <value>Планшет</value>
+  </string>
+  <string id="316" name="loginwindow">
+    <value>Модерація</value>
+  </string>
+  <string id="317" name="loginwindow">
+    <value>Файли</value>
+  </string>
+  <string id="318" name="loginwindow">
+    <value>Користувачі</value>
+  </string>
+  <string id="319" name="loginwindow">
+    <value>Опитування</value>
+  </string>
+  <string id="320" name="loginwindow">
+    <value>Користувач з даним іменем відсутній</value>
+  </string>
+  <string id="321" name="loginwindow">
+    <value>На вашу поштоу скриньку вислано лист. Будь-ласка перевірте ваш поштову скриньку.</value>
+  </string>
+  <string id="322" name="errortype">
+    <value>Помилка</value>
+  </string>
+  <string id="323" name="errortype">
+    <value>Повідомлення</value>
+  </string>
+  <string id="324" name="resetpass">
+    <value>Неправильний хеш. Користувача не знайдено.</value>
+  </string>
+  <string id="325" name="resetpass">
+    <value>Скинути Ваш пароль</value>
+  </string>
+  <string id="326" name="resetpass">
+    <value>Логін</value>
+  </string>
+  <string id="327" name="resetpass">
+    <value>змінити пароль</value>
+  </string>
+  <string id="328" name="resetpass">
+    <value>Новий пароль</value>
+  </string>
+  <string id="329" name="resetpass">
+    <value>Повторіть пароль</value>
+  </string>
+  <string id="330" name="resetpass">
+    <value>Введені паролі не ідентичні.</value>
+  </string>
+  <string id="331" name="resetpass">
+    <value>Пароль повинен містити мінімум 4 символи!</value>
+  </string>
+  <string id="332" name="resetpass">
+    <value>Пароль встановлено. Тепер ви можете ввійти.</value>
+  </string>
+  <string id="333" name="rpccallback">
+    <value>OK</value>
+  </string>
+  <string id="334" name="rpcgeneralerror">
+    <value>Невідома помилка. Будь-ласка зв'яжіться з адміністратором.</value>
+  </string>
+  <string id="335" name="loginwindow">
+    <value>Невідоме ім'я користувача</value>
+  </string>
+  <string id="336" name="loginwindow">
+    <value>Невірний пароль</value>
+  </string>
+  <string id="337" name="logout">
+    <value>Ви успішно вийшли з системи</value>
+  </string>
+  <string id="338" name="registration">
+    <value>Попередня реєстрація вимкнена.</value>
+  </string>
+  <string id="339" name="registration">
+    <value>Невірний e-mail</value>
+  </string>
+  <string id="340" name="registration">
+    <value>Однакові імена файлів, будь-ласка виберіть інше ім'я</value>
+  </string>
+  <string id="341" name="filebrowser">
+    <value>Ім'я файлу надто коротке</value>
+  </string>
+  <string id="342" name="filebrowser">
+    <value>Неможливо зберегти адресу</value>
+  </string>
+  <string id="343" name="useradmin">
+    <value>Користувач доданий, але Ви повинні додати користувача в організацію, бо інакше він не зможе ввійти в систему.</value>
+  </string>
+  <string id="344" name="adminforms">
+    <value>Новий запис</value>
+  </string>
+  <string id="345" name="languageseditor">
+    <value>Не знайдено полів з цим ID.</value>
+  </string>
+  <string id="346" name="languageseditor">
+    <value>Не знайдено міток для цього поля.</value>
+  </string>
+  <string id="347" name="errormessage">
+    <value>Потрібні права адміністратора</value>
+  </string>
+  <string id="348" name="mainnavi">
+    <value>Редактор мови</value>
+  </string>
+  <string id="349" name="languageseditor">
+    <value>Мова</value>
+  </string>
+  <string id="350" name="languageseditor">
+    <value>ID змінної</value>
+  </string>
+  <string id="351" name="languageseditor">
+    <value>ID змінної</value>
+  </string>
+  <string id="352" name="languageseditor">
+    <value>Значення</value>
+  </string>
+  <string id="353" name="languageseditor">
+    <value>Значення полів</value>
+  </string>
+  <string id="354" name="languageseditor">
+    <value>Назви міток</value>
+  </string>
+  <string id="355" name="languageseditor">
+    <value>Значення міток</value>
+  </string>
+  <string id="356" name="languageseditor">
+    <value>ID мітки</value>
+  </string>
+  <string id="357" name="languageseditor">
+    <value>Ви тільки стираєте мітку, а не поле! Ви не можете стерти поле, оскільки воно маже мітки на інших мовах.</value>
+  </string>
+  <string id="358" name="languageseditor">
+    <value>Невірний ID мітки. FieldLanguagesvalues_Id не знайдено в базі даних.</value>
+  </string>
+  <string id="359" name="languageseditor">
+    <value>Ви не можете стерти поле. Ви можете стирати лише мітки, а не поля. Немає мітки завантаженої в даний момент, або не існує мітки для даного поля.</value>
+  </string>
+  <string id="360" name="languageseditor">
+    <value>Експорт</value>
+  </string>
+  <string id="361" name="languageseditor">
+    <value>Ви повинні вийти з системи, щоб побачити внесені зміни.</value>
+  </string>
+  <string id="362" name="languageseditor">
+    <value>Додати нову мову</value>
+  </string>
+  <string id="363" name="languageseditor">
+    <value>Видалити мову</value>
+  </string>
+  <string id="364" name="languageseditor">
+    <value>Додати нову мову</value>
+  </string>
+  <string id="365" name="languageseditor">
+    <value>Ім'я</value>
+  </string>
+  <string id="366" name="languageseditor">
+    <value>Додати мову</value>
+  </string>
+  <string id="367" name="languageseditor">
+    <value>Резервні копії</value>
+  </string>
+  <string id="368" name="turnoverlist">
+    <value>На початок</value>
+  </string>
+  <string id="369" name="turnoverlist">
+    <value>Назад</value>
+  </string>
+  <string id="370" name="turnoverlist">
+    <value>Наступне</value>
+  </string>
+  <string id="371" name="turnoverlist">
+    <value>В кінець</value>
+  </string>
+  <string id="372" name="videobox">
+    <value>Розмови користувача (By clicking here you can give exclusive audio / mute the microphone of others)</value>
+  </string>
+  <string id="373" name="videobox">
+    <value>вкл/викл звук</value>
+  </string>
+  <string id="374" name="dashboard">
+    <value>Система</value>
+  </string>
+  <string id="375" name="dashboard">
+    <value>Особисті налаштування</value>
+  </string>
+  <string id="376" name="dashboard">
+    <value>Привіт,</value>
+  </string>
+  <string id="377" name="dashboard">
+    <value>Налаштувати профіль</value>
+  </string>
+  <string id="378" name="dashboard">
+    <value>Нове повідомлення:</value>
+  </string>
+  <string id="379" name="dashboard">
+    <value>Завантажити малюнок</value>
+  </string>
+  <string id="380" name="backuppanel">
+    <value>Дані користувача - Експорт</value>
+  </string>
+  <string id="381" name="backuppanel">
+    <value>Спочатку повинні бути створені усі організації</value>
+  </string>
+  <string id="382" name="backuppanel">
+    <value>Почати експорт</value>
+  </string>
+  <string id="383" name="backuppanel">
+    <value>По організаціях</value>
+  </string>
+  <string id="384" name="backuppanel">
+    <value>Почати експорт</value>
+  </string>
+  <string id="385" name="backuppanel">
+    <value>Дані користувача - імпорт</value>
+  </string>
+  <string id="386" name="backuppanel">
+    <value>Вибрати users.xml</value>
+  </string>
+  <string id="387" name="languageseditor">
+    <value>Імпорт</value>
+  </string>
+  <string id="388" name="languageseditor">
+    <value>Експортувати в XML</value>
+  </string>
+  <string id="389" name="languageseditor">
+    <value>Виберіть мовний файл для імпорту. Виберіть правильну мову зі списку! Незаважаючи, яку назву має файл, він буде імпортований в цю мову</value>
+  </string>
+  <string id="390" name="importwindow">
+    <value>Імпорт - вибрати файл</value>
+  </string>
+  <string id="391" name="recordingsavewin">
+    <value>Зберегти як</value>
+  </string>
+  <string id="392" name="recordingsavewin">
+    <value>Ім'я:</value>
+  </string>
+  <string id="393" name="recordingsavewin">
+    <value>Коментарі:</value>
+  </string>
+  <string id="394" name="recordingsavewin">
+    <value>Зберегти</value>
+  </string>
+  <string id="395" name="record">
+    <value>Записи</value>
+  </string>
+  <string id="396" name="recorder">
+    <value>Перегляд записів</value>
+  </string>
+  <string id="397" name="record">
+    <value>Записи публічних і приватних кімнат</value>
+  </string>
+  <string id="398" name="roomslist">
+    <value>Користувачі:</value>
+  </string>
+  <string id="399" name="roomslist">
+    <value>Під'єднано:</value>
+  </string>
+  <string id="400" name="roomslist">
+    <value></value>
+  </string>
+  <string id="401" name="roomslist">
+    <value>Користувачів в кімнаті:</value>
+  </string>
+  <string id="402" name="roomslist">
+    <value>Оновити</value>
+  </string>
+  <string id="403" name="roomslist">
+    <value>Ця кімната переповнена. Спробуйте ще через декілька хвилин.</value>
+  </string>
+  <string id="404" name="roomsList">
+    <value>Виберіть кімнату щоб взнати деталі</value>
+  </string>
+  <string id="405" name="roomslist">
+    <value>Чат з користувачами даної кімнати:</value>
+  </string>
+  <string id="406" name="roomslist">
+    <value>Кімната:</value>
+  </string>
+  <string id="407" name="roomslist">
+    <value>Користувачів в цій кімнаті:</value>
+  </string>
+  <string id="408" name="roomslist">
+    <value>Після:</value>
+  </string>
+  <string id="409" name="record">
+    <value>Програти запис</value>
+  </string>
+  <string id="410" name="record">
+    <value>Довжина:</value>
+  </string>
+  <string id="411" name="record">
+    <value>Дата:</value>
+  </string>
+  <string id="412" name="record">
+    <value>Режим запису! Ви не можете змінити ніяких значень, цей файл вже записаний!</value>
+  </string>
+  <string id="413" name="record">
+    <value>Програти запис</value>
+  </string>
+  <string id="414" name="record">
+    <value>Програти / Пауза</value>
+  </string>
+  <string id="415" name="record">
+    <value>Початок запису</value>
+  </string>
+  <string id="416" name="record">
+    <value>Зупинити запис</value>
+  </string>
+  <string id="417" name="record">
+    <value>Запис:</value>
+  </string>
+  <string id="418" name="record_error_msg">
+    <value>На даний момент хтось уже виконує запис:</value>
+  </string>
+  <string id="419" name="record_message">
+    <value>Запис! Користувач:</value>
+  </string>
+  <string id="420" name="record_cancel">
+    <value>Скасувати</value>
+  </string>
+  <string id="421" name="record_cancal_tooltip">
+    <value>Запису був скасований і не може бути збережений.</value>
+  </string>
+  <string id="422" name="cancel_dialog_resume">
+    <value>Продовжити</value>
+  </string>
+  <string id="423" name="cancel_dialog_resume_tooltip">
+    <value>Закрити це вікно і продовжити запис</value>
+  </string>
+  <string id="424" name="painttools_ellipse_color">
+    <value>Інший колір лінії</value>
+  </string>
+  <string id="425" name="colorpicker_head">
+    <value>Вибрати колір</value>
+  </string>
+  <string id="426" name="painttools_line_disable">
+    <value>Вкл / Викл колір лінії</value>
+  </string>
+  <string id="427" name="painttools_fill_disable">
+    <value>Змінити колір наповнення</value>
+  </string>
+  <string id="428" name="painttools_line_disable">
+    <value>Викл / Вкл колір наповнення</value>
+  </string>
+  <string id="429" name="change_width_arrow_down_slider">
+    <value>Змінити ширину лінії</value>
+  </string>
+  <string id="430" name="close_small_popups">
+    <value>Закрити</value>
+  </string>
+  <string id="431" name="paint_tool_letter">
+    <value>Змінити розмір шрифту</value>
+  </string>
+  <string id="432" name="recordingslist_delete">
+    <value>Стерти запис</value>
+  </string>
+  <string id="433" name="recordingslist_recordedByGuest">
+    <value>Гість</value>
+  </string>
+  <string id="434" name="recordingslist_recordedby">
+    <value>В:</value>
+  </string>
+  <string id="435" name="recordings_table_head_name">
+    <value>Ім'я</value>
+  </string>
+  <string id="436" name="recordings_table_head_room">
+    <value>Кімната</value>
+  </string>
+  <string id="437" name="recordings_table_head_date">
+    <value>Дата</value>
+  </string>
+  <string id="438" name="record_start_cancel">
+    <value>Відміна</value>
+  </string>
+  <string id="439" name="record_start_start">
+    <value>Старт</value>
+  </string>
+  <string id="440" name="filesbrowser_table_head_name">
+    <value>Ім'я</value>
+  </string>
+  <string id="441" name="filesbrowser_table_head_date">
+    <value>Дата</value>
+  </string>
+  <string id="442" name="chat_clear_history">
+    <value>Стерти лог чату серверу</value>
+  </string>
+  <string id="443" name="chat_overall_header">
+    <value>Чат</value>
+  </string>
+  <string id="444" name="chat_send_btn">
+    <value>Відправити повідомлення</value>
+  </string>
+  <string id="445" name="chat_emot_btn">
+    <value>Емоції</value>
+  </string>
+  <string id="446" name="chat_emot_win">
+    <value>Емоції</value>
+  </string>
+  <string id="447" name="choose_video_settings">
+    <value>Виберіть публічні пристрої</value>
+  </string>
+  <string id="448" name="choose_video_settings_combo">
+    <value>Аудіо і відео</value>
+  </string>
+  <string id="449" name="choose_video_settings_combo">
+    <value>Лише аудіо</value>
+  </string>
+  <string id="450" name="choose_video_settings_combo">
+    <value>Лише відео</value>
+  </string>
+  <string id="451" name="choose_video_settings_combo">
+    <value>без Аудіо/Відео (статичні малюнки)</value>
+  </string>
+  <string id="452" name="choose_video_settings_info_text">
+    <value>Без показу Аудіо/Відео від вашого ПК. Буде доступна лиша картинка вашого профілю. Виберіть ці параметри якщо у вас поганий канал Internet.</value>
+  </string>
+  <string id="453" name="calendar_dayname_monday">
+    <value>ПН</value>
+  </string>
+  <string id="454" name="calendar_dayname_tuesday">
+    <value>ВТ</value>
+  </string>
+  <string id="455" name="calendar_dayname_wednesday">
+    <value>СР</value>
+  </string>
+  <string id="456" name="calendar_dayname_thursday">
+    <value>ЧТ</value>
+  </string>
+  <string id="457" name="calendar_dayname_friday">
+    <value>ПТ</value>
+  </string>
+  <string id="458" name="calendar_dayname_saturday">
+    <value>СБ</value>
+  </string>
+  <string id="459" name="calendar_dayname_sunday">
+    <value>НД</value>
+  </string>
+  <string id="460" name="calendar_dayname_monday">
+    <value>Понеділок</value>
+  </string>
+  <string id="461" name="calendar_dayname_TuesdayLabel">
+    <value>Вівторок</value>
+  </string>
+  <string id="462" name="calendar_dayname_WednesdayLabel">
+    <value>Середа</value>
+  </string>
+  <string id="463" name="calendar_dayname_ThursdayLabel">
+    <value>Четвер</value>
+  </string>
+  <string id="464" name="calendar_dayname_FridayLabel">
+    <value>Пятниця</value>
+  </string>
+  <string id="465" name="calendar_dayname_SaturdayLabel">
+    <value>Субота</value>
+  </string>
+  <string id="466" name="calendar_dayname_SundayLabel">
+    <value>Неділя</value>
+  </string>
+  <string id="467" name="calendar_weeknumber_header">
+    <value>КТ</value>
+  </string>
+  <string id="468" name="calendar_weeknumber_headerTooltip">
+    <value>Календарний тиждень</value>
+  </string>
+  <string id="469" name="calendar_monthnames">
+    <value>Січень</value>
+  </string>
+  <string id="470" name="calendar_monthnames">
+    <value>Лютий</value>
+  </string>
+  <string id="471" name="calendar_monthnames">
+    <value>Березень</value>
+  </string>
+  <string id="472" name="calendar_monthnames">
+    <value>Квітень</value>
+  </string>
+  <string id="473" name="calendar_monthnames">
+    <value>Травень</value>
+  </string>
+  <string id="474" name="calendar_monthnames">
+    <value>Червень</value>
+  </string>
+  <string id="475" name="calendar_monthnames">
+    <value>Липень</value>
+  </string>
+  <string id="476" name="calendar_monthnames">
+    <value>Серпень</value>
+  </string>
+  <string id="477" name="calendar_monthnames">
+    <value>Вересень</value>
+  </string>
+  <string id="478" name="calendar_monthnames">
+    <value>Жовтень</value>
+  </string>
+  <string id="479" name="calendar_monthnames">
+    <value>Листопад</value>
+  </string>
+  <string id="480" name="calendar_monthnames">
+    <value>Грудень</value>
+  </string>
+  <string id="481" name="calendarwin_header">
+    <value>Календар</value>
+  </string>
+  <string id="482" name="roomadmin_labelNumberOfParticipants">
+    <value>Учасники</value>
+  </string>
+  <string id="483" name="roomValue_advancedSettings">
+    <value>Показати налаштування показу</value>
+  </string>
+  <string id="484" name="roomAdmin_layout_videoX">
+    <value>X | Y</value>
+  </string>
+  <string id="485" name="roomAdmin_layout_videoY">
+    <value>Ширина | Висота</value>
+  </string>
+  <string id="486" name="roomAdmin_layout">
+    <value>Відео-контейнер</value>
+  </string>
+  <string id="487" name="roomAdmin_layout_mod">
+    <value>Контейнер модерації</value>
+  </string>
+  <string id="488" name="roomAdmin_layout_mod_pos">
+    <value>X</value>
+  </string>
+  <string id="489" name="roomAdmin_layout_whiteboard">
+    <value>Контейнер планшету</value>
+  </string>
+  <string id="490" name="roomAdmin_layout_whiteboard_show">
+    <value>Активізувати</value>
+  </string>
+  <string id="491" name="roomAdmin_layout_whiteboard_pos">
+    <value>X | Y</value>
+  </string>
+  <string id="492" name="roomAdmin_layout_whiteboard">
+    <value>Ширина | Висота</value>
+  </string>
+  <string id="493" name="roomAdmin_layout_files">
+    <value>Контейнер файлів,чату,учасників -</value>
+  </string>
+  <string id="494" name="roomAdmin_layout_files_show">
+    <value>Активізувати</value>
+  </string>
+  <string id="495" name="roomAdmin_layout_files_pos">
+    <value>X |Y</value>
+  </string>
+  <string id="496" name="roomAdmin_layout_files">
+    <value>Ширина | Висота</value>
+  </string>
+  <string id="497" name="moderator_gone_message">
+    <value>Модератор покинув кімнату. Ви можете стати модератором або чекати.</value>
+  </string>
+  <string id="498" name="moderator_message_event_no_mod">
+    <value>Немає модератора в даній кімнаті, але є учасники. Ви можете стати модератором або чекати</value>
+  </string>
+  <string id="499" name="feedback_template_subject">
+    <value>Зворотній зв'язок $APP_NAME</value>
+  </string>
+  <string id="500" name="invitation_template_head">
+    <value>$APP_NAME - Запрошення</value>
+  </string>
+  <string id="501" name="invitation_text_from">
+    <value>Повідомлення для користувачів:</value>
+  </string>
+  <string id="502" name="invitation_text_message">
+    <value>Повідомлення:</value>
+  </string>
+  <string id="503" name="invitation_text_click_text">
+    <value>Натисніть на цей лінк щоб взяти участь в конференції:</value>
+  </string>
+  <string id="504" name="invitation_text_click_text_link">
+    <value>Натисніть тут, щоб увійти в кімнату</value>
+  </string>
+  <string id="505" name="invitation_text_click_text_help">
+    <value>Якщо ви має проблему з даним посилання, будь-ласка скопіюйте його і вставте в свій браузер:</value>
+  </string>
+  <string id="506" name="registering_mail_text_head">
+    <value>$APP_NAME SignUp</value>
+  </string>
+  <string id="507" name="registering_mail_text_head2">
+    <value>Ваші дані користувача:</value>
+  </string>
+  <string id="508" name="registering_mail_text_username">
+    <value>Логін:</value>
+  </string>
+  <string id="509" name="registering_mail_text_pass">
+    <value>Пароль:</value>
+  </string>
+  <string id="510" name="registering_mail_text_mail">
+    <value>E-mail:</value>
+  </string>
+  <string id="511" name="registering_mail_text_bye">
+    <value>Команда $APP_NAME</value>
+  </string>
+  <string id="512" name="register_mail_subject">
+    <value>$APP_NAME Sign-Up</value>
+  </string>
+  <string id="513" name="reset_password_template_head">
+    <value>$APP_NAME - Відновити пароль</value>
+  </string>
+  <string id="514" name="reset_password_template_test_link">
+    <value>Натисніть на це посилання, щоб ввести новий пароль</value>
+  </string>
+  <string id="515" name="reset_password_template_text2_link">
+    <value>Натисніть тут, щоб вести новий пароль</value>
+  </string>
+  <string id="516" name="reset_password_template_text3_link">
+    <value>Якщо ви має проблему з даним посилання, будь-ласка скопіюйте його і вставте в свій браузер:</value>
+  </string>
+  <string id="517" name="reset_password_mail_subject">
+    <value>Відновлення пароля $APP_NAME</value>
+  </string>
+  <string id="518" name="dateRegExpError">
+    <value>Будь-ласка введіть правильну дату, наприклад 24.12.2007 (dd.mm.yyyy)</value>
+  </string>
+  <string id="519" name="emailRegExpError">
+    <value>Будь ласка введіть дійсний E-mail, наприклад name@mail.com</value>
+  </string>
+  <string id="520" name="floatRegExpError">
+    <value>Будь ласка введіть число з плаваючою крапкою, наприклад 1.00</value>
+  </string>
+  <string id="521" name="numberRegExpError">
+    <value>Будь ласка введіть число, наприклад 100</value>
+  </string>
+  <string id="522" name="phoneRegExpError">
+    <value>Будь ласка введіть дійсний номер, наприклад ++49 0123 123123</value>
+  </string>
+  <string id="523" name="timeRegExpError">
+    <value>Будь-ласка введіть час, наприклад 12:23 (hh:mm)</value>
+  </string>
+  <string id="524" name="invitation_window">
+    <value>Пароль захищений</value>
+  </string>
+  <string id="525" name="invitation_window_passwordLabel">
+    <value>Пароль</value>
+  </string>
+  <string id="526" name="invitation_window_validLabel">
+    <value>Період дійсності</value>
+  </string>
+  <string id="527" name="invitation_window_valid">
+    <value>Бескінечний</value>
+  </string>
+  <string id="528" name="invitation_window_valid">
+    <value>Період</value>
+  </string>
+  <string id="529" name="invitation_window_valid">
+    <value>Минулий</value>
+  </string>
+  <string id="530" name="invitation_window_validFromLabel">
+    <value>Дійсни з:</value>
+  </string>
+  <string id="531" name="invitation_window_validToLabel">
+    <value>Дійсний до:</value>
+  </string>
+  <string id="532" name="invitation_window_MailSubject">
+    <value>Запрошення на $APP_NAME</value>
+  </string>
+  <string id="533" name="invitation_error">
+    <value>Нема запрошення для цього коду</value>
+  </string>
+  <string id="534" name="invitation_error">
+    <value>Запрошення вже використане. Даний тип запрошення не може бути використаний багаторазово</value>
+  </string>
+  <string id="535" name="invitation_error">
+    <value>Код запрошення не дійсний.</value>
+  </string>
+  <string id="536" name="invitation_pass">
+    <value>Пароль:</value>
+  </string>
+  <string id="537" name="invitation_pass_btn">
+    <value>Перевірити пароль</value>
+  </string>
+  <string id="538" name="invitation_pass_error">
+    <value>Невірний пароль!</value>
+  </string>
+  <string id="539" name="Browser">
+    <value>Бравзер</value>
+  </string>
+  <string id="540" name="audio_video">
+    <value>Синхронізувати аудіо/відео</value>
+  </string>
+  <string id="541" name="errorCode_invalidSession">
+    <value>Вхід виконано, але Ваша сесія, яку ви пробували не активна чи збережена на сервері. Ви повинні отримати новий SessionId і повторити вхід.</value>
+  </string>
+  <string id="542" name="errorcode_setUserObject">
+    <value>SessionId не є loggedin чи не має адміністраторських прав. SOAP шлюз потребує адміністаривних прав для додання нових користувачів.</value>
+  </string>
+  <string id="543" name="errorcode_loginByRemoteUser">
+    <value>This Session has no Remoteuser-Data connected. Wether you did not call the SOAP-Gateway before accessing the Application or you are usnig a wrong Session-ID</value>
+  </string>
+  <string id="544" name="debug_message_recording">
+    <value>На даний момент функція запису є в Beta-тестуванні!</value>
+  </string>
+  <string id="545" name="propertyPanelXValue">
+    <value>x</value>
+  </string>
+  <string id="546" name="propertyPanelXValueLabel">
+    <value>x-axis</value>
+  </string>
+  <string id="547" name="propertyPanelYValue">
+    <value>y</value>
+  </string>
+  <string id="548" name="propertyPanelYValueLabel">
+    <value>y-axis</value>
+  </string>
+  <string id="549" name="propertyPanelWidthValue">
+    <value>w</value>
+  </string>
+  <string id="550" name="propertyPanelWidthValueLabel">
+    <value>width</value>
+  </string>
+  <string id="551" name="propertyPanelHeightValue">
+    <value>h</value>
+  </string>
+  <string id="552" name="propertyPanelHeightValueLabel">
+    <value>height</value>
+  </string>
+  <string id="553" name="propertyOpacitySlider">
+    <value>Change Transparency</value>
+  </string>
+  <string id="554" name="browserOpen">
+    <value>Browser Open</value>
+  </string>
+  <string id="555" name="browserClose">
+    <value>Browser Close</value>
+  </string>
+  <string id="556" name="connectionLostMessage">
+    <value>The Connection to the Server is lost. You need to reload the Application or/and check your Network.</value>
+  </string>
+  <string id="557" name="557">
+    <value>Pointer</value>
+  </string>
+  <string id="558" name="sync message header">
+    <value>Synchronizing</value>
+  </string>
+  <string id="559" name="Synchronizing message">
+    <value>Synchronizing Users, please wait</value>
+  </string>
+  <string id="560" name="exportToSVG">
+    <value>&lt;u&gt;Download as SVG&lt;/u&gt;</value>
+  </string>
+  <string id="561" name="exportToImage">
+    <value>&lt;u&gt;Download as PNG&lt;/u&gt;</value>
+  </string>
+  <string id="562" name="exportToImage">
+    <value>&lt;u&gt;Download as JPG&lt;/u&gt;</value>
+  </string>
+  <string id="563" name="exportToImage">
+    <value>&lt;u&gt;Download as PDF&lt;/u&gt;</value>
+  </string>
+  <string id="564" name="exportToImage">
+    <value>&lt;u&gt;Download as TIF&lt;/u&gt;</value>
+  </string>
+  <string id="565" name="calendarLabel">
+    <value>Reminder:</value>
+  </string>
+  <string id="566" name="calendarLabel">
+    <value>Category:</value>
+  </string>
+  <string id="567" name="calendarLabel">
+    <value>Repetition:</value>
+  </string>
+  <string id="568" name="calendarLabel">
+    <value>none</value>
+  </string>
+  <string id="569" name="calendarLabel">
+    <value>Location:</value>
+  </string>
+  <string id="570" name="calendarLabel">
+    <value>Start</value>
+  </string>
+  <string id="571" name="calendarLabel">
+    <value>End</value>
+  </string>
+  <string id="572" name="calendarLabel">
+    <value>Title:</value>
+  </string>
+  <string id="573" name="calendarLabel">
+    <value>Comment:</value>
+  </string>
+  <string id="574" name="calendarLabel">
+    <value>Invite People</value>
+  </string>
+  <string id="575" name="calendarLabel">
+    <value>Daily</value>
+  </string>
+  <string id="576" name="calendarLabel">
+    <value>Monthly</value>
+  </string>
+  <string id="577" name="calendarLabel">
+    <value>Yearly</value>
+  </string>
+  <string id="578" name="alert">
+    <value>Appointment-end is after of appointment-start!</value>
+  </string>
+  <string id="579" name="alert">
+    <value>Please insert a title!</value>
+  </string>
+  <string id="580" name="580">
+    <value>RTL</value>
+  </string>
+  <string id="581" name="581">
+    <value>Activate this if you write in a right to left language (inverse word order)</value>
+  </string>
+  <string id="582" name="tooltip main-menu">
+    <value>Dashboard</value>
+  </string>
+  <string id="583" name="tooltip main-menu">
+    <value>Watch recorded Meetings or Events</value>
+  </string>
+  <string id="584" name="tooltip main-menu">
+    <value>Meeting - Make a conference with 4 (up to 16) Users&lt;br/&gt;everybody will have audio + video access</value>
+  </string>
+  <string id="585" name="tooltip main-menu">
+    <value>Event - Make a conference with up to 200 participents&lt;br/&gt;Only the Moderator will have audio/video</value>
+  </string>
+  <string id="586" name="tooltip main-menu">
+    <value>Create users, rooms, organizations&lt;br/&gt; + change configuration</value>
+  </string>
+  <string id="587" name="room Administration roomclients list">
+    <value>Users in this Room now</value>
+  </string>
+  <string id="588" name="room Administration roomclients list">
+    <value>ID</value>
+  </string>
+  <string id="589" name="room Administration roomclients list">
+    <value>Login</value>
+  </string>
+  <string id="590" name="room Administration roomclients list">
+    <value>D</value>
+  </string>
+  <string id="591" name="swf sync message">
+    <value>Loading Document. Please wait untill all Client have been synchronized.</value>
+  </string>
+  <string id="592" name="upload dialog">
+    <value>Upload complete, converting Document ...</value>
+  </string>
+  <string id="593" name="upload dialog">
+    <value>Start Upload</value>
+  </string>
+  <string id="594" name="upload dialog">
+    <value>Upload and Import Dialog. Please select a File from your Disk.</value>
+  </string>
+  <string id="595" name="upload Dialog">
+    <value>Cancel</value>
+  </string>
+  <string id="596" name="upload Dialog">
+    <value>Select File</value>
+  </string>
+  <string id="597" name="administration navigation">
+    <value>Connections</value>
+  </string>
+  <string id="598" name="confadmin value list">
+    <value>Value</value>
+  </string>
+  <string id="599" name="connection administration panel">
+    <value>Streamid</value>
+  </string>
+  <string id="600" name="connection administration panel">
+    <value>Login</value>
+  </string>
+  <string id="601" name="connection administration panel">
+    <value>Connected since</value>
+  </string>
+  <string id="602" name="connection administration panel">
+    <value>Room / Scope</value>
+  </string>
+  <string id="603" name="connection administration panel">
+    <value>Kick User</value>
+  </string>
+  <string id="604" name="kick user confirmation dialog">
+    <value>Kick User</value>
+  </string>
+  <string id="605" name="kick user confirmation dialog">
+    <value>Do you really want to kick this Client from the Connection?&lt;br/&gt; This does only remove the Client from the current Room.The Client could re-login again.</value>
+  </string>
+  <string id="606" name="kick user message dialog">
+    <value>Your session has been closed by an Administrator or Moderator.</value>
+  </string>
+  <string id="607" name="useralterself_phone">
+    <value>Phone</value>
+  </string>
+  <string id="608" name="participents panel">
+    <value>User is the Moderator of this Room</value>
+  </string>
+  <string id="609" name="participents panel">
+    <value>User is allowed to draw on the Whiteboard</value>
+  </string>
+  <string id="610" name="participents panel">
+    <value>(Re) Start Audio/Video or change Device Settings</value>
+  </string>
+  <string id="611" name="participents panel">
+    <value>Allow this User to draw on the Whiteboard</value>
+  </string>
+  <string id="612" name="participents panel">
+    <value>Remove ability to draw on whiteboard</value>
+  </string>
+  <string id="613" name="conferencePanels">
+    <value>Users</value>
+  </string>
+  <string id="614" name="conferencePanels">
+    <value>Files</value>
+  </string>
+  <string id="615" name="conferencePanels">
+    <value>Whiteboard</value>
+  </string>
+  <string id="616" name="conferencePanels">
+    <value>Chat</value>
+  </string>
+  <string id="617" name="organization choose info">
+    <value>Your account is assigned to multiple Organizations. Please choose one for this Session.</value>
+  </string>
+  <string id="618" name="error message room full">
+    <value>This room is full at the moment. Please try again later.</value>
+  </string>
+  <string id="619" name="roomtypes">
+    <value>Room Type</value>
+  </string>
+  <string id="620" name="appointed_room">
+    <value>Appointment Room</value>
+  </string>
+  <string id="621" name="servertime">
+    <value>Server Time</value>
+  </string>
+  <string id="622" name="inv_reminder_template_head">
+    <value>$APP_NAME - Reminder</value>
+  </string>
+  <string id="623" name="inv_reminder_text_from">
+    <value>Message from User:</value>
+  </string>
+  <string id="624" name="inv_reminder_text_message">
+    <value>Message:</value>
+  </string>
+  <string id="625" name="inv_reminder_text_click_text">
+    <value>Click this link to participate in the Meetings:</value>
+  </string>
+  <string id="626" name="inv_reminder_text_click_text_link">
+    <value>Click here to enter room</value>
+  </string>
+  <string id="627" name="inv_reminder_text_click_text_help">
+    <value>if you have problems with the link, please copy and paste this to your browser:</value>
+  </string>
+  <string id="628" name="btn_search_intern">
+    <value>search intern</value>
+  </string>
+  <string id="629" name="btn_search_extern">
+    <value>extern users</value>
+  </string>
+  <string id="630" name="lbl_prename">
+    <value>pre name</value>
+  </string>
+  <string id="631" name="lbl_name">
+    <value>name</value>
+  </string>
+  <string id="632" name="lbl_email">
+    <value>E-mail</value>
+  </string>
+  <string id="633" name="logoutConfirm_title">
+    <value>Confirm logout</value>
+  </string>
+  <string id="634" name="logoutConfirm_sure_to_logout_question">
+    <value>Are you sure you want to logout now?</value>
+  </string>
+  <string id="635" name="main menu">
+    <value>Actions</value>
+  </string>
+  <string id="636" name="room admin">
+    <value>Demo Room</value>
+  </string>
+  <string id="637" name="room admin">
+    <value>Demo Time</value>
+  </string>
+  <string id="638" name="meeting Timer">
+    <value>Meeting Timer</value>
+  </string>
+  <string id="639" name="meeting Timer">
+    <value>This Room is a Demo Room. To disable this warning you either should get a private meeting room for your personal usage or set up an own Server. You will be automatically logged off in:</value>
+  </string>
+  <string id="640" name="meeting room administration">
+    <value>Moderated</value>
+  </string>
+  <string id="641" name="moderated room waiting message">
+    <value>Please wait untill the Moderator has entered the Room. The Moderator can be either a Teacher, Admin or the creator of this Room.</value>
+  </string>
+  <string id="642" name="error popup">
+    <value>Ok</value>
+  </string>
+  <string id="643" name="window screensharing">
+    <value>Incoming Screen Sharing</value>
+  </string>
+  <string id="644" name="window screen sharing">
+    <value>There is a new Screen Sharing incoming from the User:</value>
+  </string>
+  <string id="645" name="window screen sharing">
+    <value>Start Sharing</value>
+  </string>
+  <string id="646" name="calendar">
+    <value>Add new Meeting</value>
+  </string>
+  <string id="647" name="calendar">
+    <value>Meeting Room</value>
+  </string>
+  <string id="648" name="calendar">
+    <value>Event Room</value>
+  </string>
+  <string id="649" name="main menu moderation">
+    <value>Moderation</value>
+  </string>
+  <string id="650" name="menu moderation">
+    <value>Moderate Users</value>
+  </string>
+  <string id="651" name="menu moderation">
+    <value>Moderate Rooms</value>
+  </string>
+  <string id="652" name="moderator org">
+    <value>M</value>
+  </string>
+  <string id="653" name="confirm moderation">
+    <value>Do you want to change this User to become a Moderator of that Organization?</value>
+  </string>
+  <string id="654" name="error message">
+    <value>Please choose an Organization before you try to add a User to it!</value>
+  </string>
+  <string id="655" name="choose user window">
+    <value>Organization - Moderator</value>
+  </string>
+  <string id="656" name="moderator org users">
+    <value>Do you really want to delete this User from the Organization?</value>
+  </string>
+  <string id="657" name="org moderation">
+    <value>This User is Moderator</value>
+  </string>
+  <string id="658" name="org moderation">
+    <value>This User is No-Moderator</value>
+  </string>
+  <string id="659" name="error message moderation">
+    <value>Do you want this User to be not a Moderator of this Organization?</value>
+  </string>
+  <string id="660" name="moderation">
+    <value>Add or delete Users or Rooms within your Organization</value>
+  </string>
+  <string id="661" name="delete confirm question">
+    <value>Do you really want to delete this record?</value>
+  </string>
+  <string id="662" name="delete confirm question user moderation">
+    <value>Do you really want to delete this user from your organization? You will only delete the connection between the user and your organization, to really delete the user itself you have to login into the Administration-Panel.</value>
+  </string>
+  <string id="663" name="error message self deleting">
+    <value>You cannot delete your own User!</value>
+  </string>
+  <string id="664" name="error message auth">
+    <value>This Method needs a Adminstration Account to be invoked!</value>
+  </string>
+  <string id="665" name="error message SOAP">
+    <value>There was no Session associated with this ID.</value>
+  </string>
+  <string id="666" name="error message moderation">
+    <value>This is an Administrator or Moderator account. You can only edit this account through the Administration Panel.</value>
+  </string>
+  <string id="667" name="email verification">
+    <value>To complete your registration please click on the following link. Or copy the URL to your browser bar.</value>
+  </string>
+  <string id="668" name="email verification">
+    <value>Click to verify your E-Mail</value>
+  </string>
+  <string id="669" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>No user was found for this Hash.</value>
+  </string>
+  <string id="670" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>This user is already activated!</value>
+  </string>
+  <string id="671" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>You did successfully activate your account!</value>
+  </string>
+  <string id="672" name="errorMessage_UserActivationServlet [ActivateUser]">
+    <value>Login Now</value>
+  </string>
+  <string id="673" name="loginErrorMessage = user was not activated">
+    <value>Your account is not activated. First use the link in the Email you've received during registration.</value>
+  </string>
+  <string id="674" name="register verification message">
+    <value>You successfully signed up. We've send an EMail with a verification Code to your Mail. Please check your Inbox.</value>
+  </string>
+  <string id="675" name="participants panel">
+    <value>Remove Moderation Role from this User</value>
+  </string>
+  <string id="676" name="participants panel">
+    <value>Grant Moderation Rights to this User</value>
+  </string>
+  <string id="677" name="event user list">
+    <value>User</value>
+  </string>
+  <string id="678" name="event user list">
+    <value>Access to whiteboard</value>
+  </string>
+  <string id="679" name="event user list">
+    <value>Moderator</value>
+  </string>
+  <string id="680" name="event user list">
+    <value>Moderation: Please choose any User on the List to grant him access to the Whiteboard, Moderation or Video.</value>
+  </string>
+  <string id="681" name="event user list">
+    <value>This User is already Moderator, so he has automatically the right to draw.</value>
+  </string>
+  <string id="682" name="event user list error">
+    <value>This is you! You cannot remove the Moderation rights from yourself.</value>
+  </string>
+  <string id="683" name="event user list">
+    <value>Allow this User to Publish his Audio / Video</value>
+  </string>
+  <string id="684" name="event user list">
+    <value>Remove Audio/Video of this User</value>
+  </string>
+  <string id="685" name="event user list">
+    <value>I would like to get the moderation of this room</value>
+  </string>
+  <string id="686" name="event user list">
+    <value>I would like to draw on whiteboard</value>
+  </string>
+  <string id="687" name="event user list">
+    <value>I would like to share my Audio/Video</value>
+  </string>
+  <string id="688" name="event user list">
+    <value>You are moderator of this room</value>
+  </string>
+  <string id="689" name="event user list">
+    <value>You are allowed to draw on whiteboard</value>
+  </string>
+  <string id="690" name="event user list">
+    <value>You are allowed to share your Audio/Video</value>
+  </string>
+  <string id="691" name="errortype">
+    <value>Message to Moderator</value>
+  </string>
+  <string id="692" name="apply for mod message">
+    <value>The User</value>
+  </string>
+  <string id="693" name="apply for mod message">
+    <value>would like to get the Moderation. Use the status Icons next to the user in the List of Users to add or remove the Moderation.</value>
+  </string>
+  <string id="694" name="apply for whiteboard">
+    <value>would like to draw on whiteboard. Use the status Icons next to the user in the List of Users to add or remove the right to draw anything on the whiteboard.</value>
+  </string>
+  <string id="695" name="695">
+    <value>would like to share his Audio/Video. Use the status Icons next to the user in the List of Users to add or remove the right to share Audio/Video for any User.</value>
+  </string>
+  <string id="696" name="moderation message">
+    <value>You have to wait untill a Moderator enters the room.</value>
+  </string>
+  <string id="697" name="calendar button">
+    <value>Cancel</value>
+  </string>
+  <string id="698" name="calendar button">
+    <value>Save</value>
+  </string>
+  <string id="699" name="calendar component">
+    <value>Day</value>
+  </string>
+  <string id="700" name="calendar component">
+    <value>Month</value>
+  </string>
+  <string id="701" name="calendar component">
+    <value>Year</value>
+  </string>
+  <string id="702" name="file explorer">
+    <value>Upload File</value>
+  </string>
+  <string id="703" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="704" name="file explorer">
+    <value>Refresh</value>
+  </string>
+  <string id="705" name="file explorer">
+    <value>Trash (Drag and Drop item here)</value>
+  </string>
+  <string id="706" name="file explorer">
+    <value>My Files (Home Drive)</value>
+  </string>
+  <string id="707" name="file explorer">
+    <value>Room Files (Public Drive)</value>
+  </string>
+  <string id="708" name="file explorer">
+    <value>Add File</value>
+  </string>
+  <string id="709" name="file explorer">
+    <value>Add Folder</value>
+  </string>
+  <string id="710" name="file explorer">
+    <value>Delete Folder</value>
+  </string>
+  <string id="711" name="file explorer">
+    <value>Edit Name</value>
+  </string>
+  <string id="712" name="file explorer">
+    <value>New Folder</value>
+  </string>
+  <string id="713" name="file explorer">
+    <value>Are you sure you want to delete this Item?</value>
+  </string>
+  <string id="714" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="715" name="user admin">
+    <value>Search</value>
+  </string>
+  <string id="716" name="file explorer">
+    <value>Open Document</value>
+  </string>
+  <string id="717" name="file explorer">
+    <value>Show all Files (Tree View)</value>
+  </string>
+  <string id="718" name="file explorer">
+    <value>Close Document</value>
+  </string>
+  <string id="719" name="file explorer">
+    <value>Delete File</value>
+  </string>
+  <string id="720" name="file explorer">
+    <value>You are not allowed to draw anything on the Whiteboard. You have to become Moderator or at least get the Right to edit Whiteboard. You may ask a Moderator to give you that right.</value>
+  </string>
+  <string id="721" name="property panel">
+    <value>Document Properties</value>
+  </string>
+  <string id="722" name="sharing session">
+    <value>Start Client (external)</value>
+  </string>
+  <string id="723" name="sharing session">
+    <value>Start Client (HTTP)</value>
+  </string>
+  <string id="724" name="sharing session">
+    <value>A user want to share his screen. Do you want to see it?</value>
+  </string>
+  <string id="725" name="sharing session">
+    <value>You are currently sharing your Desktop. For stopping the Sharing Session please hit the Stop button in the Sharing Client.</value>
+  </string>
+  <string id="726" name="sharing session">
+    <value>Sharing Session</value>
+  </string>
+  <string id="727" name="sharing session">
+    <value>You are already sharing your desktop!</value>
+  </string>  
+  <string id="728" name="sharing client">
+    <value>Desktop Viewer</value>
+  </string>
+  <string id="729" name="sharing client">
+    <value>Exit</value>
+  </string>
+  <string id="730" name="sharing client">
+    <value>Desktop Sharer</value>
+  </string>
+  <string id="731" name="sharing client">
+    <value>Click Start to publish your screen</value>
+  </string>
+  <string id="732" name="sharing client">
+    <value>Start Sharing</value>
+  </string>
+  <string id="733" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="734" name="sharing client">
+    <value>Select your screen area:</value>
+  </string>
+  <string id="735" name="sharing client">
+    <value>Change width</value>
+  </string>
+  <string id="736" name="sharing client">
+    <value>The Sharer has finished this session!</value>
+  </string>
+  <string id="737" name="sharing client">
+    <value>Change height</value>
+  </string>
+  <string id="738" name="sharing client">
+    <value>X-Offset</value>
+  </string>
+  <string id="739" name="sharing client">
+    <value>Y-Offset</value>
+  </string>
+  <string id="740" name="sharing client">
+    <value>Width:</value>
+  </string>
+  <string id="741" name="sharing client">
+    <value>Height:</value>
+  </string>
+  <string id="742" name="sharing client">
+    <value>Connection was closed by Server</value>
+  </string>
+  <string id="743" name="sharing viewer">
+    <value>Cancel</value>
+  </string>
+  <string id="744" name="sharing viewer">
+    <value>Start External</value>
+  </string>
+  <string id="745" name="sharing viewer">
+    <value>If you close this session completely you are not able to restart the viewer for this session.</value>
+  </string>
+  <string id="746" name="sharing viewer">
+    <value>Confirm Closing Viewer Session</value>
+  </string>
+  <string id="747" name="sharing viewer">
+    <value>Share Screen</value>
+  </string>
+  <string id="748" name="sharing viewer">
+    <value>Record Session</value>
+  </string>
+  <string id="749" name="co-browser">
+    <value>Co-Browsing</value>
+  </string>
+  <string id="750" name="co-browser">
+    <value>Ooops, ... Firefox on Windows does not show clear Co-Browsing. Please use another Browser for using the Co-Browsing feature.</value>
+  </string>
+  <string id="751" name="co-browser">
+    <value>Previous</value>
+  </string>
+  <string id="752" name="co-browser">
+    <value>Next</value>
+  </string>
+  <string id="753" name="co-browser">
+    <value>Reload</value>
+  </string>
+  <string id="754" name="co-browser">
+    <value>Home</value>
+  </string>
+  <string id="755" name="co-browser">
+    <value>Load</value>
+  </string>
+  <string id="756" name="co-browser">
+    <value>Add this website as Default website to your Profile.</value>
+  </string>
+  <string id="757" name="test setup">
+    <value>Test Setup</value>
+  </string>
+  <string id="758" name="test setup">
+    <value>Check you Microphone and Camera setup before you enter a room by recording some seconds. You can then replay your recording to check your voice and picture.</value>
+  </string>
+  <string id="759" name="test setup">
+    <value>Don't show this test anymore</value>
+  </string>
+  <string id="760" name="test setup">
+    <value>Cancel</value>
+  </string>
+  <string id="761" name="test setup">
+    <value>Start Conference</value>
+  </string>
+  <string id="762" name="edit video settings">
+    <value>Do not ask again</value>
+  </string>
+  <string id="763" name="test setup">
+    <value>REC</value>
+  </string>
+  <string id="764" name="test setup">
+    <value>PLAY</value>
+  </string>
+  <string id="765" name="test setup">
+    <value>You may proceed without testing if you do not plan to publish your voice or picture. Participants without Audio or Video can still use the Whiteboard, share their Desktop or write Chat messages.</value>
+  </string>
+  <string id="766" name="test setup">
+    <value>STOP</value>
+  </string>
+  <string id="767" name="test setup">
+    <value>Level-Meter</value>
+  </string>
+  <string id="768" name="start view">
+    <value>Press Start</value>
+  </string>
+  <string id="769" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="770" name="start view">
+    <value>Start Event</value>
+  </string>
+  <string id="771" name="start view">
+    <value>Choose Room</value>
+  </string>
+  <string id="772" name="start view">
+    <value>Check Setup</value>
+  </string>
+  <string id="773" name="start view">
+    <value>Start Conference</value>
+  </string>
+  <string id="774" name="start view">
+    <value>How to conference</value>
+  </string>
+  <string id="775" name="test setup">
+    <value>Start Recording</value>
+  </string>
+  <string id="776" name="test setup">
+    <value>Do not show Audio / Video Test (Recording) before entering a Conference</value>
+  </string>
+  <string id="777" name="overview room">
+    <value>Public Rooms</value>
+  </string>
+  <string id="778" name="overview room">
+    <value>Public Rooms are accessible for all Users.</value>
+  </string>
+  <string id="779" name="overview room">
+    <value>Private Rooms</value>
+  </string>
+  <string id="780" name="Private Rooms">
+    <value>Private Rooms are only accessible for users of the same organization.</value>
+  </string>
+  <string id="781" name="overview room">
+    <value>My Rooms</value>
+  </string>
+  <string id="782" name="overview room">
+    <value>Rooms in this section are created for personal usage. There are some standard rooms plus the ones that are created through the calendar and have a start and an end date. The rooms created via the calendar are only listed in this section as long as they are valid.</value>
+  </string>
+  <string id="783" name="restricted room">
+    <value>You have to be moderator to do this.</value>
+  </string>
+  <string id="784" name="menu option">
+    <value>Apply for moderation</value>
+  </string>
+  <string id="785" name="menu option">
+    <value>Apply for whiteboard access</value>
+  </string>
+  <string id="786" name="menu option">
+    <value>Apply for camera/microphone access</value>
+  </string>
+  <string id="787" name="error message soap secure login">
+    <value>This Session Hash was already used. You cannot use it twice.</value>
+  </string>
+  <string id="788" name="dashboard button">
+    <value>START</value>
+  </string>
+  <string id="789" name="exit conference">
+    <value>EXIT</value>
+  </string>
+  <string id="790" name="conference view">
+    <value>Do you really want to exit? You might should clear uploaded documents, whiteboard and the chat history.</value>
+  </string>
+  <string id="791" name="conference view">
+    <value>Exit conference</value>
+  </string>
+  <string id="792" name="main menu">
+    <value>Rooms</value>
+  </string>
+  <string id="793" name="main menu">
+    <value>Choose a room for a meeting</value>
+  </string>
+  <string id="794" name="calendar">
+    <value>There is an unsaved Event in the Calendar. Please either save it or remove it.</value>
+  </string>
+  <string id="795" name="calendar">
+    <value>Please add at least one attendee for your meeting!</value>
+  </string>
+  <string id="796" name="calendar">
+    <value>Do you really want to delete this Event?</value>
+  </string>
+  <string id="797" name="calendar">
+    <value>Warning</value>
+  </string>
+  <string id="798" name="calendar">
+    <value>Add Event</value>
+  </string>
+  <string id="799" name="calendar">
+    <value>Day</value>
+  </string>
+  <string id="800" name="calendar">
+    <value>Week</value>
+  </string>
+  <string id="801" name="calendar">
+    <value>Month</value>
+  </string>
+  <string id="802" name="calendar">
+    <value>Description</value>
+  </string>
+  <string id="803" name="calendar">
+    <value>Attendees</value>
+  </string>
+  <string id="804" name="dashboard">
+    <value>$APP_NAME, your Web Conferencing Platform. Either follow the Instructions, press the start button to start to conference immediatelly or you goto the Calendar and set up a Conference for the future.</value>
+  </string>
+  <string id="805" name="dashboard">
+    <value>Plan a Meeting</value>
+  </string>
+  <string id="806" name="lzcalendar">
+    <value>To set up a conference you can add a new Event in the Calendar.</value>
+  </string>
+  <string id="807" name="lzcalendar">
+    <value>Need help?</value>
+  </string>
+  <string id="808" name="lzcalendar">
+    <value>Restricted</value>
+  </string>
+  <string id="809" name="lzcalender">
+    <value>Search</value>
+  </string>
+  <string id="810" name="lzcalender">
+    <value>Add</value>
+  </string>
+  <string id="811" name="lzcalendar">
+    <value>There is no User selected. Please select an item from the list first and then hit add.</value>
+  </string>
+  <string id="812" name="lzcalendar">
+    <value>Add Attendee</value>
+  </string>
+  <string id="813" name="lzcalendar">
+    <value>Save</value>
+  </string>
+  <string id="814" name="lzcalendar">
+    <value>Delete</value>
+  </string>
+  <string id="815" name="lzcalendar">
+    <value>Event Details</value>
+  </string>
+  <string id="816" name="room admin">
+    <value>Default Moderators</value>
+  </string>
+  <string id="817" name="room admin">
+    <value>Super</value>
+  </string>
+  <string id="818" name="room admin">
+    <value>ID</value>
+  </string>
+  <string id="819" name="room admin">
+    <value>Name</value>
+  </string>
+  <string id="820" name="room admin">
+    <value>E-Mail</value>
+  </string>
+  <string id="821" name="room admin">
+    <value>Add new default Moderator</value>
+  </string>
+  <string id="822" name="room admin">
+    <value>Is Super Moderator</value>
+  </string>
+  <string id="823" name="room admin">
+    <value>If the Room is moderated, User with Level Moderator or Administrator are automatically Moderator if they enter the Room. If you don't want to specify that and only want a certain User to become Moderator use the Default Moderator option.</value>
+  </string>
+  <string id="824" name="room admin">
+    <value>A Super Moderator is always a Moderator when he enters a Room, and nobody can remove the Moderation Flag from him</value>
+  </string>
+  <string id="825" name="room admin">
+    <value>Apply Super-Moderation to User</value>
+  </string>
+  <string id="826" name="room admin">
+    <value>Remove Super Moderation from User</value>
+  </string>
+  <string id="827" name="room admin">
+    <value>D</value>
+  </string>
+  <string id="828" name="room admin">
+    <value>If you add an Organization to the room only users of that Organization have access to it (This is only valid if the isPublic flag is set to false!)</value>
+  </string>
+  <string id="829" name="room admin">
+    <value>Moderation</value>
+  </string>
+  <string id="830" name="room admin">
+    <value>Limitations</value>
+  </string>
+  <string id="831" name="room admin">
+    <value>Organization</value>
+  </string>
+  <string id="832" name="confirm action">
+    <value>Are you sure?</value>
+  </string>
+  <string id="833" name="confirm delete">
+    <value>Do you really want to delete this Item? You have to press the save button to store the changes!</value>
+  </string>
+  <string id="834" name="user choose error">
+    <value>There is no User selected. Please select first before you add it!</value>
+  </string>
+  <string id="835" name="room admin">
+    <value>Add new Default Moderator</value>
+  </string>
+  <string id="836" name="room admin">
+    <value>Do you want to add the Super Moderation Flag for this User? A Super Moderator is not only Moderator of a Room, but also no other Moderator can remove the Moderation Flag for this User. You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="837" name="room admin">
+    <value>Do you want to remove the Super Moderation Flag for this User? You need to save the Room Object to save these settings!</value>
+  </string>
+  <string id="838" name="super moderator">
+    <value>This User is a Super-Moderator. You cannot remove the Moderation flag from a Super-Moderator!</value>
+  </string>
+  <string id="839" name="confirm delete">
+    <value>Do you really want to delete this File/Folder?</value>
+  </string>
+  <string id="840" name="confirm delete">
+    <value>Delete File/Folder?</value>
+  </string>
+  <string id="841" name="salutation">
+    <value>Mrs.</value>
+  </string>
+  <string id="842" name="salutation">
+    <value>Dr.</value>
+  </string>
+  <string id="843" name="property panel whiteboard">
+    <value>Properties</value>
+  </string>
+  <string id="844" name="screen sharer">
+    <value>Show mouse position to viewers</value>
+  </string>
+  <string id="845" name="publish option">
+    <value>Share Audio with SIP Applet</value>
+  </string>
+  <string id="846" name="publish option">
+    <value>Share Audio with SIP and Video with Flash</value>
+  </string>
+  <string id="847" name="document panel">
+    <value>Full-Fit</value>
+  </string>
+  <string id="848" name="screen share">
+    <value>View Screen</value>
+  </string>
+  <string id="849" name="screen share">
+    <value>The user</value>
+  </string>
+  <string id="850" name="screen share">
+    <value>wants to share its screen. Do you want to see it?</value>
+  </string>
+  <string id="851" name="screen share">
+    <value>Close</value>
+  </string>
+  <string id="852" name="screen sharer">
+    <value>Zoom</value>
+  </string>
+  <string id="853" name="screen sharer">
+    <value>The Session was closed by the sharing User!</value>
+  </string>
+  <string id="854" name="screen sharer">
+    <value>Pause</value>
+  </string>
+  <string id="855" name="screen sharer">
+    <value>New Screen Sharing</value>
+  </string>
+  <string id="856" name="presenter mini icon">
+    <value>Minimize</value>
+  </string>
+  <string id="857" name="presenter mini icon">
+    <value>Maximize</value>
+  </string>
+  <string id="858" name="flvrecording">
+    <value>Video</value>
+  </string>
+  <string id="859" name="flvrecording">
+    <value>Recording Timeline</value>
+  </string>
+  <string id="860" name="flvrecording">
+    <value>My Recordings</value>
+  </string>
+  <string id="861" name="flvrecording">
+    <value>Public Recordings</value>
+  </string>
+  <string id="862" name="flvrecording">
+    <value>Info</value>
+  </string>
+  <string id="863" name="flvrecording">
+    <value>Name</value>
+  </string>
+  <string id="864" name="flvrecording">
+    <value>Length</value>
+  </string>
+  <string id="865" name="flvrecording">
+    <value>Date</value>
+  </string>
+  <string id="866" name="flvrecording">
+    <value>By</value>
+  </string>
+  <string id="867" name="flvrecording">
+    <value>PLAY</value>
+  </string>
+  <string id="868" name="flvrecording">
+    <value>Main - Video</value>
+  </string>
+  <string id="869" name="screen share">
+    <value>Recording</value>
+  </string>
+  <string id="870" name="screen share">
+    <value>You may record and share your screen at the same time. To enable others to see your screen just hit the start button on the top. To only record the Session it is sufficient to click start recording.</value>
+  </string>
+  <string id="871" name="screen share">
+    <value>Start Recording</value>
+  </string>
+  <string id="872" name="screen share">
+    <value>Stop Recording</value>
+  </string>
+  <string id="873" name="flvrecording">
+    <value>Download the FLV-File</value>
+  </string>
+  <string id="874" name="flvrecording">
+    <value>Room</value>
+  </string>
+  <string id="875" name="flvrecording">
+    <value>Play</value>
+  </string>
+  <string id="876" name="flvrecording">
+    <value>Stop</value>
+  </string>
+  <string id="877" name="flvrecording">
+    <value>User has microphone on</value>
+  </string>
+  <string id="878" name="sharing client">
+    <value>Stop Sharing</value>
+  </string>
+  <string id="879" name="room config">
+    <value>Allow User Questions</value>
+  </string>
+  <string id="880" name="room config">
+    <value>Turn this off to prevent that any user is disturbing you in this room. Effect is that the Button to ask for Moderation ("I have a question") is not visible.</value>
+  </string>
+  <string id="881" name="room config">
+    <value>Rights</value>
+  </string>  
+  <string id="882" name="flvrecording">
+    <value>Download as AVI</value>
+  </string>  
+  <string id="883" name="flvrecording">
+    <value>FLV</value>
+  </string>
+  <string id="884" name="flvrecording">
+    <value>AVI</value>
+  </string>
+  <string id="885" name="flvrecording">
+    <value>Raw Screenvideo</value>
+  </string>
+  <string id="886" name="flvrecording">
+    <value>Audio only</value>
+  </string>
+  <string id="887" name="flvrecording">
+    <value>The have been errors while processing the Recording.</value>
+  </string>
+  <string id="888" name="flvrecording">
+    <value>The Recording is not yet ready for watching. Please retry in a couple of minutes again.</value>
+  </string>
+  <string id="889" name="flvrecording">
+    <value>Log:</value>
+  </string>
+  <string id="890" name="flvrecording">
+    <value>Recorder Message</value>
+  </string>
+  <string id="891" name="flvrecording">
+    <value>Ok</value>
+  </string>
+  <string id="892" name="sip applet">
+    <value>SIP Applet is not Ready</value>
+  </string>
+  <string id="893" name="user administration">
+    <value>SIP-Account Settings</value>
+  </string>
+  <string id="894" name="user administration">
+    <value>SIP settings for each user. You can turn on or off SIP via the Administration &gt; Configuration (Key: enable_sip). The SIP data for each user should be created automatically. You can re-create the data by checking "Re-generate SIP Data"</value>
+  </string>
+  <string id="895" name="user administration">
+    <value>SIP-User</value>
+  </string>
+  <string id="896" name="user administration">
+    <value>Sip-Pass</value>
+  </string>
+  <string id="897" name="user administration">
+    <value>Sip-Auth-Id</value>
+  </string>
+  <string id="898" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. You should check the authentification data of your SIP-Provider and the SIP-Account Data for each User. As Administrator you are still able to login and check the Configuration. As User or Moderator you will be blocked from any interaction.</value>
+  </string>
+  <string id="899" name="sip status message">
+    <value>The Login to the SIP Gateway has failed. Contact your Service Team!</value>
+  </string>
+  <string id="900" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="901" name="sip status message">
+    <value>Logging in to SIP-Gateway ...</value>
+  </string>
+  <string id="902" name="flvrecording">
+    <value>Show Log</value>
+  </string>
+  <string id="903" name="flvrecording">
+    <value>Log messages from post recorder process</value>
+  </string>
+  <string id="904" name="sip login">
+    <value>SIP-Applet Message</value>
+  </string>
+  <string id="905" name="sip login">
+    <value>The SIP-Applet is not ready. Accept the Applet please and click ok!</value>
+  </string>
+  <string id="906" name="moderator pop up">
+    <value>Get Moderation</value>
+  </string>
+  <string id="907" name="lzcalendar">
+    <value>Save Appointment Changes</value>
+  </string>
+  <string id="908" name="lzcalendar">
+    <value>The appointement has been changed. Do you want to save those changes? &lt;br/&gt;&lt;br/&gt;All attendees of the appointment will receive a EMail with the updated date and time (depending on the notification type of this appointment).</value>
+  </string>
+  <string id="909" name="flv recorder error message">
+    <value>To access other recordings you have to login the $APP_NAME Application.</value>
+  </string>
+  <string id="910" name="interview video pod">
+    <value>Choose the User for this Video</value>
+  </string>
+  <string id="911" name="interview video choose user">
+    <value>Available Users for this Pod</value>
+  </string>
+  <string id="912" name="interview info">
+    <value>You are a Moderator in this Interview. You can decide who is speaking in this interview and you can start / stop the recording of the Session.</value>
+  </string>
+  <string id="913" name="interview button recording">
+    <value>Start Recording</value>
+  </string>
+  <string id="914" name="interview button recording">
+    <value>Stop Recording</value>
+  </string>
+  <string id="915" name="interview error message">
+    <value>The recording of the Interview is already started.</value>
+  </string>
+  <string id="916" name="interview error message">
+    <value>The recording is already stopped or not been started yet.</value>
+  </string>
+  <string id="917" name="interview recording message">
+    <value>The recording for this interview is already started!</value>
+  </string>
+  <string id="918" name="interview error message">
+    <value>Cancel</value>
+  </string>
+  <string id="919" name="interview error message">
+    <value>The post-processing of an interview takes 5 minutes per 1 minute interview. The current progress of the interview post-processing transcoding is:</value>
+  </string>
+  <string id="920" name="sip creation">
+    <value>You have to enter your password again to auto create the SIP Data</value>
+  </string>
+  <string id="921" name="sip creation">
+    <value>Re-generate SIP Data</value>
+  </string>
+  <string id="922" name="fileexplorer">
+    <value>You cannot move this file or folder into its own sub folder!</value>
+  </string>
+  <string id="923" name="file explorer ">
+    <value>Home drive size</value>
+  </string>
+  <string id="924" name="file explorer">
+    <value>Public drive size</value>
+  </string>
+  <string id="925" name="user-admin">
+    <value>License Settings</value>
+  </string>
+  <string id="926" name="user-admin">
+    <value>You can either bind the user to a expire Date or to a maximum number of minutes when you enable licensing.</value>
+  </string>
+  <string id="927" name="user-admin">
+    <value>Check license</value>
+  </string>
+  <string id="928" name="user-admin">
+    <value>Flatrate</value>
+  </string>
+  <string id="929" name="user-admin">
+    <value>Expire date</value>
+  </string>
+  <string id="930" name="user-admin">
+    <value>Seconds left</value>
+  </string>
+  <string id="931" name="user-admin">
+    <value>Total time</value>
+  </string>
+  <string id="932" name="user-license">
+    <value>Your License has expired. You need to buy new minutes (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="933" name="user-license">
+    <value>Click and buy</value>
+  </string>
+  <string id="934" name="user-license">
+    <value>Time Left on your account:</value>
+  </string>
+  <string id="935" name="user-license">
+    <value>User License Info</value>
+  </string>
+  <string id="936" name="user-license">
+    <value>Info</value>
+  </string>
+  <string id="937" name="user-license">
+    <value>Close</value>
+  </string>
+  <string id="938" name="license-info">
+    <value>Your license has expired. You need either to buy a minute package (Pay-per-minute) or a volume flatrate.</value>
+  </string>
+  <string id="939" name="user-license">
+    <value>License settings</value>
+  </string>
+  <string id="940" name="user-license">
+    <value>You can either buy minutes to make Web-Conferencing (Pay-per-minute).&lt;br/&gt;&lt;br/&gt; Or you buy a volume flatrate about 3-12 months.&lt;br/&gt;&lt;br/&gt;Sending invitations (direct links into Conference Rooms) or creating conference Rooms via the Calendar with external Users is only allowed with a volume flatrate!</value>
+  </string>
+  <string id="941" name="user-license">
+    <value>Buy 60 Minutes 9,99 EURO (16 Cent per Minute)</value>
+  </string>
+  <string id="942" name="user-license">
+    <value>Buy 5 hours 19,99 EURO (6 Cent per minute)</value>
+  </string>
+  <string id="943" name="user-license">
+    <value>Buy 3 month for 29,99 EURO (9,99 Euro per Month)</value>
+  </string>
+  <string id="944" name="user-license">
+    <value>Buy 6 month for 39,99 EURO (6,66 Euro per month)</value>
+  </string>
+  <string id="945" name="user-license">
+    <value>Pay-per-minute</value>
+  </string>
+  <string id="946" name="user-license">
+    <value>Volume flatrate</value>
+  </string>
+  <string id="947" name="user-license">
+    <value>You have unlimited License</value>
+  </string>
+  <string id="948" name="user-license">
+    <value>Your license will expire at:</value>
+  </string>
+  <string id="949" name="user-license">
+    <value>You bought Pay-per-minute. You still have:</value>
+  </string>
+  <string id="950" name="user-license">
+    <value>Buy new credit!</value>
+  </string>
+  <string id="951" name="user-license">
+    <value>Want your own Server?</value>
+  </string>
+  <string id="952" name="user-license">
+    <value>You would like to have $APP_NAME installed on your Server or integrated into your Moodle, SugarCRM, Website or Intranet? Prizings start at 500 Euro per Installation!</value>
+  </string>
+  <string id="953" name="user-license">
+    <value>Or send us a message</value>
+  </string>
+  <string id="954" name="user-license">
+    <value>Answer to:</value>
+  </string>
+  <string id="955" name="user-license">
+    <value>Message:</value>
+  </string>
+  <string id="956" name="user-license">
+    <value>Send</value>
+  </string>
+  <string id="957" name="user-license">
+    <value>Click here to get contact Info and Prizings</value>
+  </string>
+  <string id="958" name="payment-form">
+    <value>Credit Card Details</value>
+  </string>
+  <string id="959" name="payment-form">
+    <value>Firstname</value>
+  </string>
+  <string id="960" name="payment-form">
+    <value>Lastname</value>
+  </string>
+  <string id="961" name="payment-form">
+    <value>Credit Card Type</value>
+  </string>
+  <string id="962" name="payment-form">
+    <value>VISA Card</value>
+  </string>
+  <string id="963" name="payment-form">
+    <value>MasterCard</value>
+  </string>
+  <string id="964" name="payment-form">
+    <value>Discover</value>
+  </string>
+  <string id="965" name="payment-form">
+    <value>American Express</value>
+  </string>
+  <string id="966" name="payment-form">
+    <value>Credit Card Number</value>
+  </string>
+  <string id="967" name="payment-form">
+    <value>Expiration Date</value>
+  </string>
+  <string id="968" name="payment-form">
+    <value>Card Verification Number</value>
+  </string>
+  <string id="969" name="payment-form">
+    <value>Billing Address</value>
+  </string>
+  <string id="970" name="payment-form">
+    <value>Address</value>
+  </string>
+  <string id="971" name="payment-form">
+    <value></value>
+  </string>
+  <string id="972" name="payment-form">
+    <value>City</value>
+  </string>
+  <string id="973" name="payment-form">
+    <value>Country</value>
+  </string>
+  <string id="974" name="payment-form">
+    <value>State (Only US)</value>
+  </string>
+  <string id="975" name="payment-form">
+    <value>ZIP</value>
+  </string>
+  <string id="976" name="payment-form">
+    <value>Amount</value>
+  </string>
+  <string id="977" name="payment-form">
+    <value>Submit</value>
+  </string>
+  <string id="978" name="payment-form">
+    <value>Step 1: $APP_NAME - Payment Form</value>
+  </string>
+  <string id="979" name="payment-form">
+    <value>EMail</value>
+  </string>
+  <string id="980" name="payment-form">
+    <value>Click "Check out with Paypal" to pay.&lt;br/&gt; Paypal accepts VISA, MasterCard, Discover or American Express. &lt;br/&gt;It does not require to sign up with Paypal. &lt;br/&gt;Citizens from Germany can also pay with direct debit (Per Lastschrift-Einzug).</value>
+  </string>
+  <string id="981" name="payment-form">
+    <value>Thank you for buying $APP_NAME. &lt;br/&gt; &lt;br/&gt; As soon as we received the payment your account will be updated.&lt;br/&gt; You will receive an EMail with your invoice as PDF.&lt;br/&gt;You can also check current and past transactions in your profile settings.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can close this browser window/tab now and return to $APP_NAME.</value>
+  </string>
+  <string id="982" name="payment-form">
+    <value>Submit and Buy!</value>
+  </string>
+  <string id="983" name="payment-from">
+    <value>Click and Buy!</value>
+  </string>
+  <string id="984" name="payment-from">
+    <value>Step 3: $APP_NAME Payment - Check order and buy!</value>
+  </string>
+  <string id="985" name="payment-from">
+    <value>Name</value>
+  </string>
+  <string id="986" name="payment-mail">
+    <value>Payment received!</value>
+  </string>
+  <string id="987" name="payment-mail">
+    <value>Hi,</value>
+  </string>
+  <string id="988" name="payment-mail">
+    <value>We have received your payment. Your user profile is updated now. See attached your Invoice. The Invoice and all past Invoice can also be downloaded in your user profile.</value>
+  </string>
+  <string id="989" name="payment-mail">
+    <value>Thank you for using $APP_NAME!</value>
+  </string>
+  <string id="990" name="payment-mail">
+    <value>Payment Received $APP_NAME -</value>
+  </string>
+  <string id="991" name="user-settings">
+    <value>Payment and Transaction Status</value>
+  </string>
+  <string id="992" name="user-settings">
+    <value>Transcation Hash</value>
+  </string>
+  <string id="993" name="user-settings">
+    <value>Minutes</value>
+  </string>
+  <string id="994" name="user-settings">
+    <value>Months</value>
+  </string>
+  <string id="995" name="user-settings">
+    <value>EUR</value>
+  </string>
+  <string id="996" name="user-settings">
+    <value>Status</value>
+  </string>
+  <string id="997" name="user-settings">
+    <value>Invoice</value>
+  </string>
+  <string id="998" name="user-settings">
+    <value></value>
+  </string>
+  <string id="999" name="error-license-flat">
+    <value>You need to buy a volume flatrate to be able to send invitations or create meetings via the calendar. With Pay-per-minute it is only possible for you to access $APP_NAME. You cannot allow 3th Parties to access a Meeting.</value>
+  </string>
+  <string id="1000" name="error user">
+    <value>This Email is already used by another User.</value>
+  </string>
+  <string id="1001" name="room-admin">
+    <value>SIP-Settings</value>
+  </string>
+  <string id="1002" name="room-admin">
+    <value>The Conference Number and PIN is automatically created via the OpenXG RPC-Gateway</value>
+  </string>
+  <string id="1003" name="room-admin">
+    <value>SIP Number</value>
+  </string>
+  <string id="1004" name="room-admin">
+    <value>PIN</value>
+  </string>
+  <string id="1005" name="whiteboard">
+    <value>Clear objects on current slide only!</value>
+  </string>
+  <string id="1006" name="co-browser">
+    <value>Only the URL entered in the Status bar is send to participants!</value>
+  </string>
+  <string id="1007" name="team-split">
+    <value>Make Team-Rooms [Breakout session]</value>
+  </string>
+  <string id="1008" name="team-split">
+    <value>Choose users for a new Team-Room!</value>
+  </string>
+  <string id="1009" name="team-split">
+    <value>You can choose users here and create a new Conference Room ("Team Room") for them. The chosen users will automatically switch to the new Team-Room or get a notification. Team-Room Moderators will get additionally a list of current rooms so that they can switch to each room if there are is need for a Moderator.</value>
+  </string>
+  <string id="1010" name="team-split">
+    <value>Username</value>
+  </string>
+  <string id="1011" name="team-split">
+    <value>Login</value>
+  </string>
+  <string id="1012" name="team-split">
+    <value></value>
+  </string>
+  <string id="1013" name="team-split">
+    <value>Users for the new Team-Room:</value>
+  </string>
+  <string id="1014" name="team-split">
+    <value>Create Team-Room</value>
+  </string>
+  <string id="1015" name="team-split">
+    <value>Cancel</value>
+  </string>
+  <string id="1016" name="team-split">
+    <value>Choose at least one user for the Team-Room!</value>
+  </string>
+  <string id="1017" name="team-split">
+    <value>Add user to team</value>
+  </string>
+  <string id="1018" name="team-split">
+    <value>Remove user from Team-Room</value>
+  </string>
+  <string id="1019" name="team-split">
+    <value>User is Team-Room Moderator (He is able to manage Team-Rooms and users of the Team-Room can ask him to come inside)</value>
+  </string>
+  <string id="1020" name="team-split">
+    <value>Roomtype</value>
+  </string>
+  <string id="1021" name="team-split">
+    <value>If you check "Force user to switch to new Team-Room" all chosen users will automatically switch to the newly created Team-Room. Otherwise they get a notification with a button that they &lt;i&gt;can&lt;/i&gt; switch to the new room. Team-Moderators always have the free choice to manage the Team-Rooms and switch between them.</value>
+  </string>
+  <string id="1022" name="team-split">
+    <value>Manage Team-Rooms</value>
+  </string>
+  <string id="1023" name="team-split">
+    <value>You can switch here between all Team-Rooms that you are assigned as Team-Room Moderator. Users inside the Team-Room can send you a message, for example to ask you to come to their room and help them. You can also terminate the Team-Room and all Users will be logged out.</value>
+  </string>
+  <string id="1024" name="team-split">
+    <value>Force user to switch to new Team-Room</value>
+  </string>
+  <string id="1025" name="team-split">
+    <value>Name</value>
+  </string>
+  <string id="1026" name="team-split">
+    <value>Created</value>
+  </string>
+  <string id="1027" name="team-split">
+    <value></value>
+  </string>
+  <string id="1028" name="team-split">
+    <value></value>
+  </string>
+  <string id="1029" name="team-split">
+    <value>Users available</value>
+  </string>
+  <string id="1030" name="team-split">
+    <value>Add a user with the plus from the left or remove it with the cross from the right!</value>
+  </string>
+  <string id="1031" name="team-split">
+    <value>1) Team-Room settings</value>
+  </string>
+  <string id="1032" name="team-split">
+    <value>2) Add users to the Team-Room</value>
+  </string>
+  <string id="1033" name="team-split">
+    <value>Team-Room Name</value>
+  </string>
+  <string id="1034" name="team-split">
+    <value>Team-Room</value>
+  </string>
+  <string id="1035" name="team-split">
+    <value>Change to the Room</value>
+  </string>
+  <string id="1036" name="team-split">
+    <value>Switch to this Team-Room</value>
+  </string>
+  <string id="1037" name="team-split">
+    <value>Terminate Team-Room and logout all Users</value>
+  </string>
+  <string id="1038" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1039" name="team-split">
+    <value>There is a new Team-Room available for you.</value>
+  </string>
+  <string id="1040" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1041" name="team-split">
+    <value>Team-Room Actions</value>
+  </string>
+  <string id="1042" name="team-split">
+    <value>You can re-open this window via the main menu in the "Actions" section!</value>
+  </string>
+  <string id="1043" name="team-split">
+    <value>Send message to Team-Room Moderator</value>
+  </string>
+  <string id="1044" name="team-split">
+    <value>New Team-Room</value>
+  </string>
+  <string id="1045" name="team-split">
+    <value>There is a new Team-Room available. You can switch to that Room. Team-Rooms are like "Workgroups" with additionally possibilities to ask the Team-Room Moderator for help. Your Team-Rooms are also available in the "My Meetings" section.</value>
+  </string>
+  <string id="1046" name="team-split">
+    <value>Switch to Team-Room</value>
+  </string>
+  <string id="1047" name="team-split">
+    <value>Created by:</value>
+  </string>
+  <string id="1048" name="team-split">
+    <value>Team-Room name:</value>
+  </string>
+  <string id="1049" name="team-split">
+    <value>This Window will stay open even if you leave the room!</value>
+  </string>
+  <string id="1050" name="team-split">
+    <value>Users for this Team-Room</value>
+  </string>
+  <string id="1051" name="team-split">
+    <value>3) Other Team-Rooms that you could switch to</value>
+  </string>
+  <string id="1052" name="team-split">
+    <value>Send a message to the Team-Room Moderators. For example if you need help in Moderating the Room or if you have a question about the topic.</value>
+  </string>
+  <string id="1053" name="team-split">
+    <value>Send</value>
+  </string>
+  <string id="1054" name="team-split">
+    <value>2) Users that are invited to this Team-Room</value>
+  </string>
+  <string id="1055" name="team-split">
+    <value>Is Team-Room Moderator</value>
+  </string>
+  <string id="1056" name="team-split">
+    <value>These are all users that the moderator has invited to this Team-Room.</value>
+  </string>
+  <string id="1057" name="team-split">
+    <value>There is no Team-Moderator logged in at the moment!</value>
+  </string>
+  <string id="1058" name="team-split">
+    <value>Please enter a message</value>
+  </string>
+  <string id="1059" name="team-split">
+    <value>Please help us, we have a problem in our Team-Room!</value>
+  </string>
+  <string id="1060" name="team-split">
+    <value>A user from a Team-Room requests your help.</value>
+  </string>
+  <string id="1061" name="team-split">
+    <value>Team-Room request for help</value>
+  </string>
+  <string id="1062" name="team-split">
+    <value>Message:</value>
+  </string>
+  <string id="1063" name="team-split">
+    <value>From:</value>
+  </string>
+  <string id="1064" name="team-split">
+    <value>You are currently not in any Team-Room. But you can switch here to all Team-Rooms that you have access to.</value>
+  </string>
+  <string id="1065" name="backupContent">
+    <value>Backup the System. The Backup includes all User generated data. The configuration is not included as well as the language labels. Because those values are imported with the System Installer. To update your System, export your old system (1) re-install into a new database the new package (2) and import the Backup file again (3). The Backup should be imported before generating data in the newly installed system.</value>
+  </string>
+  <string id="1066" name="backupContent">
+    <value>System Backup</value>
+  </string>
+  <string id="1067" name="user-list">
+    <value>Allow user to share Screen/Record</value>
+  </string>
+  <string id="1068" name="user-list">
+    <value>Deny user to share Screen/Record</value>
+  </string>
+  <string id="1069" name="user-list">
+    <value>User is Moderator, he can do anything!</value>
+  </string>
+  <string id="1070" name="apply for screen/recording">
+    <value>would like to share/record screen.</value>
+  </string>
+  <string id="1071" name="moderation mini icons">
+    <value>You are allowed to share/record screen</value>
+  </string>
+  <string id="1072" name="moderation mini icons">
+    <value>Apply for right to share/record screen.</value>
+  </string>
+  <string id="1073" name="moderation mini icons conference">
+    <value>Allow/Deny right to share/record screen.</value>
+  </string>
+  <string id="1074" name="sound icon">
+    <value>Turn sound off</value>
+  </string>
+  <string id="1075" name="sound icon">
+    <value>Turn sound on</value>
+  </string>
+  <string id="1076" name="room administration">
+    <value>Audio only room</value>
+  </string>
+  <string id="1077" name="room administration">
+    <value>Turn this Flag on and the users will have only the Audio-Option and no Video in a conference room. This can by good to save bandwidth.</value>
+  </string>
+  <string id="1078" name="user list">
+    <value>Allow Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1079" name="user list">
+    <value>Deny Remote Control (During Screen Sharing)</value>
+  </string>
+  <string id="1080" name="user list">
+    <value>Apply for right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1081" name="user list">
+    <value>You are allowed to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1082" name="apply for remote control">
+    <value>would like to remote control screen.</value>
+  </string>
+  <string id="1083" name="user list">
+    <value>User is Moderator, he can do anything! [Remote Desktop Control]</value>
+  </string>
+  <string id="1084" name="user list">
+    <value>Allow/Deny right to Remote Control Screen (During Screen Sharing)</value>
+  </string>
+  <string id="1085" name="right click screen share">
+    <value>1) Your PC to remote PC: To copy and paste text from your clipboard into the remote controlled screen, click on the screen, then right click in the text field and choose "Insert" from the context (right click) menu.&lt;br/&gt;&lt;br/&gt;2) From remote PC to your PC: To copy text from the remote PC to your PC's clipboard, highlight the text with the mouse on the remote screen, then right-click on the remote screen and choose &lt;i&gt;Copy highlighted text&lt;/i&gt;</value>
+  </string>
+  <string id="1086" name="right click screen share">
+    <value>Copy and Paste text from your PC to remote PC and vice-versa.</value>
+  </string>
+  <string id="1087" name="right click screen share">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1088" name="right click screen share">
+    <value>How to copy n paste</value>
+  </string>
+  <string id="1089" name="screen-sharer-quality">
+    <value>Quality of the ScreenShare:</value>
+  </string>
+  <string id="1090" name="screen-sharer-quality">
+    <value>Very high Quality</value>
+  </string>
+  <string id="1091" name="screen-sharer-quality">
+    <value>High Quality</value>
+  </string>
+  <string id="1092" name="screen-sharer-quality">
+    <value>Medium Quality</value>
+  </string>
+  <string id="1093" name="screen-sharer-quality">
+    <value>Low Quality</value>
+  </string>
+  <string id="1094" name="keyboard-input">
+    <value>en_US</value>
+  </string>
+  <string id="1095" name="keyboard-input">
+    <value>de_DE</value>
+  </string>
+  <string id="1096" name="keyboard-input">
+    <value>Keyboard:</value>
+  </string>
+  <string id="1097" name="keyboard-input">
+    <value>Close Webinar!</value>
+  </string>
+  <string id="1098" name="keyboard-input">
+    <value>The Webinar is already closed, you will be redirected to some interesting offerings in</value>
+  </string>
+  <string id="1099" name="room config">
+    <value>Close Room</value>
+  </string>
+  <string id="1100" name="room config">
+    <value>Exit URL</value>
+  </string>
+  <string id="1101" name="room config">
+    <value>Room termination settings</value>
+  </string>
+  <string id="1102" name="room config">
+    <value>If the room is closed users will be redirected to the exit URL.</value>
+  </string>
+  <string id="1103" name="ldap config">
+    <value>Ldap</value>
+  </string>
+  <string id="1104" name="ldap config">
+    <value>ID</value>
+  </string>
+  <string id="1105" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1106" name="ldap config">
+    <value>Config File</value>
+  </string>
+  <string id="1107" name="ldap config">
+    <value>Ldap Config</value>
+  </string>
+  <string id="1108" name="ldap config">
+    <value>Name</value>
+  </string>
+  <string id="1109" name="ldap config">
+    <value>Enabled</value>
+  </string>
+  <string id="1110" name="ldap config">
+    <value>Inserted</value>
+  </string>
+  <string id="1111" name="ldap config">
+    <value>Inserted by</value>
+  </string>
+  <string id="1112" name="ldap config">
+    <value>Updated</value>
+  </string>
+  <string id="1113" name="ldap config">
+    <value>Updated by</value>
+  </string>
+  <string id="1114" name="ldap config">
+    <value>The config files are in the same folder as the hibernate.cfg.xml. You need to manually upload the files to this folder. Changes to the config file are immediately online.</value>
+  </string>
+  <string id="1115" name="ldap config">
+    <value>Config file name</value>
+  </string>
+  <string id="1116" name="ldap config">
+    <value>If you enable "Add Domain to username" the value of the field "domain" is added to each login that the user enters in the login box. This is useful if the Login in the Ldap is stored including the domain name. Example: User enters "hans" domain is specified as "localhost.com", login that is verified against Ldap is: hans@localhost.com</value>
+  </string>
+  <string id="1117" name="ldap config">
+    <value>Add Domain to username</value>
+  </string>
+  <string id="1118" name="ldap config">
+    <value>Domain</value>
+  </string>
+  <string id="1119" name="remote control">
+    <value>Insert</value>
+  </string>
+  <string id="1120" name="remote control">
+    <value>Copy highlighted text</value>
+  </string>
+  <string id="1121" name="remote control">
+    <value>Remote Clipboard Text</value>
+  </string>
+  <string id="1122" name="remote control">
+    <value>Show remote Clipboard</value>
+  </string>
+  <string id="1123" name="right click screen share">
+    <value>Do not show again</value>
+  </string>
+  <string id="1124" name="right click screen share">
+    <value>Copy text here ...</value>
+  </string>
+  <string id="1125" name="right click screen share">
+    <value>You need the right to remote control (or the moderation) to copy and paste text to or from the remote screen.</value>
+  </string>
+  <string id="1126" name="right click screen share">
+    <value>Edit default settings ...</value>
+  </string>
+  <string id="1127" name="right click screen share">
+    <value>Do not show info box in Remote Control about Copy and Paste</value>
+  </string>
+  <string id="1128" name="calendar">
+    <value>Save</value>
+  </string>
+  <string id="1129" name="calendar">
+    <value>Remove</value>
+  </string>
+  <string id="1130" name="calendar">
+    <value>Cancel</value>
+  </string>
+  <string id="1131" name="chat invite user">
+    <value>Invite user to conference room</value>
+  </string>
+  <string id="1132" name="chat invite user">
+    <value>Choose a conference room. The invited user will get a message with your name and a link to the room.</value>
+  </string>
+  <string id="1133" name="chat user">
+    <value>Connected since:</value>
+  </string>
+  <string id="1134" name="chat invite user">
+    <value>Enter room after sending invitation</value>
+  </string>
+  <string id="1135" name="chat invite user">
+    <value>Invite</value>
+  </string>
+  <string id="1136" name="chat invite user">
+    <value>Message</value>
+  </string>
+  <string id="1137" name="chat invite user">
+    <value>would like to invite you to the conference room:</value>
+  </string>
+  <string id="1138" name="chat invite user">
+    <value>Invite message</value>
+  </string>
+  <string id="1139" name="chat invite user">
+    <value>Send Invitation</value>
+  </string>
+  <string id="1140" name="chat invite user">
+    <value>did &lt;b&gt;not&lt;/b&gt; accept your invitation!</value>
+  </string>
+  <string id="1141" name="chat invite user">
+    <value>Accept</value>
+  </string>
+  <string id="1142" name="chat invite user">
+    <value>Deny</value>
+  </string>
+  <string id="1143" name="user profile">
+    <value>Timezone</value>
+  </string>
+  <string id="1144" name="appointment notification">
+    <value>Event Details</value>
+  </string>
+  <string id="1145" name="appointment notification">
+    <value>Name</value>
+  </string>
+  <string id="1146" name="appointment notification">
+    <value>Description</value>
+  </string>
+  <string id="1147" name="appointment notification">
+    <value>Created by</value>
+  </string>
+  <string id="1148" name="user administration">
+    <value>TimeZone Message</value>
+  </string>
+  <string id="1149" name="user administration">
+    <value>Check "TimeZone Message" to give users a message next time they login to update their profile.</value>
+  </string>
+  <string id="1150" name="time zone update message">
+    <value>Please check the time zone in your user profile.</value>
+  </string>
+  <string id="1151" name="calendar invitation message">
+    <value>New $APP_NAME conference:</value>
+  </string>
+  <string id="1152" name="calendar invitation message">
+    <value>Details:&lt;br/&gt;</value>
+  </string>
+  <string id="1153" name="calendar invitation message">
+    <value>Start:</value>
+  </string>
+  <string id="1154" name="calendar invitation message">
+    <value>End:</value>
+  </string>
+  <string id="1155" name="calendar invitation message">
+    <value>Changed $APP_NAME conference:</value>
+  </string>
+  <string id="1156" name="calendar invitation message">
+    <value>Organizer:</value>
+  </string>
+  <string id="1157" name="calendar invitation message">
+    <value>Canceled $APP_NAME conference:</value>
+  </string>
+  <string id="1158" name="calendar invitation message">
+    <value>$APP_NAME conference Reminder:</value>
+  </string>
+  <string id="1159" name="user settings">
+    <value>Community settings</value>
+  </string>
+  <string id="1160" name="user settings">
+    <value>Show contact data to everybody</value>
+  </string>
+  <string id="1161" name="user settings">
+    <value>Add fields of interest that you offer or that you are searching to find interesting partners for a conference. Comma separate the terms (for example: Medical Service, Health assurance, ...)</value>
+  </string>
+  <string id="1162" name="user settings">
+    <value>My offerings</value>
+  </string>
+  <string id="1163" name="user settings">
+    <value>My interests</value>
+  </string>
+  <string id="1164" name="user settings">
+    <value>Name</value>
+  </string>
+  <string id="1165" name="user settings">
+    <value>Timezone</value>
+  </string>
+  <string id="1166" name="user settings">
+    <value>Fields of interest</value>
+  </string>
+  <string id="1167" name="user settings">
+    <value>Contact information</value>
+  </string>
+  <string id="1168" name="user settings">
+    <value>Show contact data to contacts only</value>
+  </string>
+  <string id="1169" name="user settings">
+    <value>Show contact data to nobody</value>
+  </string>
+  <string id="1170" name="user settings">
+    <value>My Profile</value>
+  </string>
+  <string id="1171" name="user settings">
+    <value>Edit settings</value>
+  </string>
+  <string id="1172" name="user settings">
+    <value>Search users</value>
+  </string>
+  <string id="1173" name="user settings">
+    <value>Watch your profile like other see you</value>
+  </string>
+  <string id="1174" name="user settings">
+    <value>Edit your settings, add your interests to be found</value>
+  </string>
+  <string id="1175" name="user settings">
+    <value>Search for other users and extend your network</value>
+  </string>
+  <string id="1176" name="user search">
+    <value>Search</value>
+  </string>
+  <string id="1177" name="user search">
+    <value>User offers</value>
+  </string>
+  <string id="1178" name="user search">
+    <value>User looks for</value>
+  </string>
+  <string id="1179" name="user search">
+    <value>Freetext</value>
+  </string>
+  <string id="1180" name="user search">
+    <value>Name</value>
+  </string>
+  <string id="1181" name="user search">
+    <value>Timezone</value>
+  </string>
+  <string id="1182" name="user search">
+    <value>Offers</value>
+  </string>
+  <string id="1183" name="user search">
+    <value>Searchs</value>
+  </string>
+  <string id="1184" name="user search">
+    <value>Searchresult</value>
+  </string>
+  <string id="1185" name="user search">
+    <value>Actions</value>
+  </string>
+  <string id="1186" name="user search">
+    <value>Add to contacts</value>
+  </string>
+  <string id="1187" name="user search">
+    <value>Send message</value>
+  </string>
+  <string id="1188" name="user search">
+    <value>Contacts and Messages</value>
+  </string>
+  <string id="1189" name="user search">
+    <value>Pending contacts</value>
+  </string>
+  <string id="1190" name="user contacts">
+    <value>Accept</value>
+  </string>
+  <string id="1191" name="user contacts">
+    <value>Deny</value>
+  </string>
+  <string id="1192" name="user contact request">
+    <value>Hi,</value>
+  </string>
+  <string id="1193" name="user contact request">
+    <value>would like to add you as contact.</value>
+  </string>
+  <string id="1194" name="user contact request">
+    <value>Check your contact requests in $APP_NAME or click on those links to accept or deny the request</value>
+  </string>
+  <string id="1195" name="add user contact">
+    <value>This user is already in your contact list or has received an invitation to your contact list that is not answered yet.</value>
+  </string>
+  <string id="1196" name="user contact mail">
+    <value>Your contact list</value>
+  </string>
+  <string id="1197" name="user contacts">
+    <value>Edit your contact and messages,&lt;br/&gt; manage your pending contacts!</value>
+  </string>
+  <string id="1198" name="user contacts">
+    <value>confirmed you as contact!</value>
+  </string>
+  <string id="1199" name="chat info message">
+    <value></value>
+  </string>
+  <string id="1200" name="chat log icon">
+    <value>Show / Copy chat log</value>
+  </string>
+  <string id="1201" name="chat log window">
+    <value>Chat Log</value>
+  </string>
+  <string id="1202" name="private message">
+    <value>From</value>
+  </string>
+  <string id="1203" name="private message">
+    <value>Subject</value>
+  </string>
+  <string id="1204" name="private message">
+    <value>Send</value>
+  </string>
+  <string id="1205" name="private message">
+    <value></value>
+  </string>
+  <string id="1206" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1207" name="private message">
+    <value>New Mail</value>
+  </string>
+  <string id="1208" name="private message">
+    <value>Click to write a new message to any of your contacts</value>
+  </string>
+  <string id="1209" name="private message">
+    <value>Write new message</value>
+  </string>
+  <string id="1210" name="private message">
+    <value>To:</value>
+  </string>
+  <string id="1211" name="private message">
+    <value>Subject:</value>
+  </string>
+  <string id="1212" name="whiteboard full-fit">
+    <value>Enable full fit and the whiteboard will zoom the whole whiteboard so that all&lt;br/&gt;documents are visible according to each participants screen resolution.</value>
+  </string>
+  <string id="1213" name="user-list">
+    <value>Kick user</value>
+  </string>
+  <string id="1214" name="user-list">
+    <value>You cannot kick yourself out of the conference room! If you want to leave it close the browser or use the exit button!</value>
+  </string>
+  <string id="1215" name="kick-user">
+    <value>Do you really want to disconnect this user from this conference room?</value>
+  </string>
+  <string id="1216" name="kick-user">
+    <value>Confirm action ...</value>
+  </string>
+  <string id="1217" name="kick-user">
+    <value>You cannot kick a Super-Moderator out of a room!</value>
+  </string>
+  <string id="1218" name="private message">
+    <value>Book conference room</value>
+  </string>
+  <string id="1219" name="private message">
+    <value>Start</value>
+  </string>
+  <string id="1220" name="private message">
+    <value>End</value>
+  </string>
+  <string id="1221" name="private message">
+    <value>Add an optional request for meeting to the message and create a conference room. The Event is then copied in the calendar of every participant.</value>
+  </string>
+  <string id="1222" name="private message">
+    <value>Inbox</value>
+  </string>
+  <string id="1223" name="private message">
+    <value>Sent</value>
+  </string>
+  <string id="1224" name="private message">
+    <value>Trash</value>
+  </string>
+  <string id="1225" name="private message">
+    <value>This is you! You cannot add yourself as your own contact.</value>
+  </string>
+  <string id="1226" name="user contacts">
+    <value>The user is already denied!</value>
+  </string>
+  <string id="1227" name="user contacts">
+    <value>The user is already approved!</value>
+  </string>
+  <string id="1228" name="user contacts">
+    <value>This user contact hash is invalid!</value>
+  </string>
+  <string id="1229" name="user contacts">
+    <value>User added to contact list!</value>
+  </string>
+  <string id="1230" name="user contacts">
+    <value>User denied as contact and removed from pending contact list!</value>
+  </string>
+  <string id="1231" name="user contacts">
+    <value>There is no such contact!</value>
+  </string>
+  <string id="1232" name="user contacts">
+    <value>Would you really like to remove that contact?</value>
+  </string>
+  <string id="1233" name="user contacts">
+    <value>Confirm contact removal</value>
+  </string>
+  <string id="1234" name="user contacts">
+    <value>Delete contact from list</value>
+  </string>
+  <string id="1235" name="user profile">
+    <value>User Profile</value>
+  </string>
+  <string id="1236" name="user profile">
+    <value>Show user profile</value>
+  </string>
+  <string id="1237" name="private message">
+    <value>Messages</value>
+  </string>
+  <string id="1238" name="private message">
+    <value>Search</value>
+  </string>
+  <string id="1239" name="private message">
+    <value>Select all</value>
+  </string>
+  <string id="1240" name="private message">
+    <value>Select none</value>
+  </string>
+  <string id="1241" name="private message">
+    <value>Select unread</value>
+  </string>
+  <string id="1242" name="private message">
+    <value>Select read</value>
+  </string>
+  <string id="1243" name="private message">
+    <value>Move to folder ...</value>
+  </string>
+  <string id="1244" name="private message">
+    <value>Add new folder ...</value>
+  </string>
+  <string id="1245" name="private message">
+    <value>Delete</value>
+  </string>
+  <string id="1246" name="private message">
+    <value>Deleted mails are still in your trash folder!</value>
+  </string>
+  <string id="1247" name="private message">
+    <value>Mark unread</value>
+  </string>
+  <string id="1248" name="private message">
+    <value>Mark read</value>
+  </string>
+  <string id="1249" name="private message">
+    <value>Answer</value>
+  </string>
+  <string id="1250" name="private message">
+    <value>Answer everybody</value>
+  </string>
+  <string id="1251" name="private message">
+    <value>Forward</value>
+  </string>
+  <string id="1252" name="private message">
+    <value>Actions ...</value>
+  </string>
+  <string id="1253" name="user contacts">
+    <value>Send private message</value>
+  </string>
+  <string id="1254" name="private message">
+    <value>Nothing selected!</value>
+  </string>
+  <string id="1255" name="private message">
+    <value>Move to Inbox</value>
+  </string>
+  <string id="1256" name="private message">
+    <value>Delete (final)</value>
+  </string>
+  <string id="1257" name="private message">
+    <value>This action cannot be undone!</value>
+  </string>
+  <string id="1258" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1259" name="private message">
+    <value>Add folders and organize your messages!</value>
+  </string>
+  <string id="1260" name="private message">
+    <value>Add folder</value>
+  </string>
+  <string id="1261" name="private message">
+    <value>Add</value>
+  </string>
+  <string id="1262" name="private message folder">
+    <value>Delete folder</value>
+  </string>
+  <string id="1263" name="private message folder">
+    <value>You cannot delete this folder, there are still messages inside! Delete first the messages or move them to another folder.</value>
+  </string>
+  <string id="1264" name="private message folder">
+    <value>Edit name</value>
+  </string>
+  <string id="1265" name="private message folder">
+    <value>Do you really want to delete this folder? There is no way to undo that.</value>
+  </string>
+  <string id="1266" name="user contacts">
+    <value>Your request was send to the user. The user will receive a notification to accept or deny your request. Only accepted requests are in your contact list of course!</value>
+  </string>
+  <string id="1267" name="user contacts">
+    <value>Message</value>
+  </string>
+  <string id="1268" name="user view profile">
+    <value>The user does not share his personal contact data.</value>
+  </string>
+  <string id="1269" name="user view profile">
+    <value>The user does share his personal contact data only to contacts.</value>
+  </string>
+  <string id="1270" name="user view profile">
+    <value>Address &amp; Phone</value>
+  </string>
+  <string id="1271" name="error code">
+    <value>You invitation code is no valid, the code is only valid during this specific date and time:</value>
+  </string>
+  <string id="1272" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your change will also update their calendar. Would you really like to update the event?</value>
+  </string>
+  <string id="1273" name="user calendar">
+    <value>Confirm update</value>
+  </string>
+  <string id="1274" name="user contacts">
+    <value>Allow contact to see my calendar (view only)</value>
+  </string>
+  <string id="1275" name="user contacts">
+    <value>Do not share calendar</value>
+  </string>
+  <string id="1276" name="user contacts">
+    <value>Calendar of contacts</value>
+  </string>
+  <string id="1277" name="user contacts">
+    <value>Your contacts need to approve you first to be able to see their calendar.</value>
+  </string>
+  <string id="1278" name="user contacts">
+    <value>You cannot store or delete events from other calendars then your own!</value>
+  </string>
+  <string id="1279" name="user contacts">
+    <value>Show my own calendar again!</value>
+  </string>
+  <string id="1280" name="user calendar">
+    <value>This event is connected to several calendars of other users. Your action will also delete the event from their calendar. Would you really like to delete the event?</value>
+  </string>
+  <string id="1281" name="user calendar">
+    <value>Confirm action</value>
+  </string>
+  <string id="1282" name="user calendar">
+    <value>Enter room</value>
+  </string>
+  <string id="1283" name="user calendar">
+    <value>Access the conference room</value>
+  </string>
+  <string id="1284" name="private message">
+    <value>There is a conference room and event booked with this private message.</value>
+  </string>
+  <string id="1285" name="user calendar">
+    <value>You need to store the event first!</value>
+  </string>
+  <string id="1286" name="access rooms error">
+    <value>There is no such room available. The event in the calendar and connected room is already deleted!</value>
+  </string>
+  <string id="1287" name="nick name">
+    <value>Choose your nickname</value>
+  </string>
+  <string id="1288" name="nick name">
+    <value>Firstname</value>
+  </string>
+  <string id="1289" name="nick name">
+    <value>Lastname</value>
+  </string>
+  <string id="1290" name="nick name">
+    <value>Email</value>
+  </string>
+  <string id="1291" name="nick name">
+    <value>Ok</value>
+  </string>
+  <string id="1292" name="nick name">
+    <value>Minimum length 4 chars! For both, firstname and lastname.</value>
+  </string>
+  <string id="1293" name="nick name">
+    <value>Please enter a valid email!</value>
+  </string>
+  <string id="1294" name="auth from">
+    <value>Facebook</value>
+  </string>
+  <string id="1295" name="auth form">
+    <value>Login with your Facebook account</value>
+  </string>
+  <string id="1296" name="view profile">
+    <value>Member since</value>
+  </string>
+  <string id="1297" name="direct login message">
+    <value>You've logged with your Facebook account. You should update your profile with the correct email. Otherwise you will not receive invitations and private messages from other users.</value>
+  </string>
+  <string id="1298" name="direct login message header">
+    <value>Message</value>
+  </string>
+  <string id="1299" name="direct login message checkbox control">
+    <value>Do not show update profile message again</value>
+  </string>
+  <string id="1300" name="profile settings button">
+    <value>more display options ...</value>
+  </string>
+  <string id="1301" name="private message">
+    <value>New private message:</value>
+  </string>
+  <string id="1302" name="private message">
+    <value>Click here to visit your profile to see the full message ...</value>
+  </string>
+  <string id="1303" name="private message">
+    <value>Reply</value>
+  </string>
+  <string id="1304" name="dashboard">
+    <value>Rooms and chats</value>
+  </string>
+  <string id="1305" name="dashboard">
+    <value>My rooms</value>
+  </string>
+  <string id="1306" name="my rooms">
+    <value>My conference room (for 1-16 users)</value>
+  </string>
+  <string id="1307" name="my rooms">
+    <value>My webinar room (for 1-120 users)</value>
+  </string>
+  <string id="1308" name="room administration">
+    <value>Owner Id</value>
+  </string>
+  <string id="1309" name="login error">
+    <value>Please enter a password</value>
+  </string>
+  <string id="1310" name="login error">
+    <value>You need an account with User-Level User, Moderator or Admin</value>
+  </string>
+  <string id="1311" name="user administration">
+    <value>Web-Service (only access via SOAP)</value>
+  </string>
+  <string id="1312" name="upload file explorer">
+    <value>Do directly load to whiteboard</value>
+  </string>
+  <string id="1313" name="whiteboard close confirmation">
+    <value>Do you really want to remove this whiteboard? This action cannot be undone!</value>
+  </string>
+  <string id="1314" name="whiteboard load WML">
+    <value>Load to whiteboard</value>
+  </string>
+  <string id="1315" name="recording flag">
+    <value>Do not forget start recording! One user per room always needs to start it to have the recording afterwards.</value>
+  </string>
+  <string id="1316" name="recording flag">
+    <value>Start Recording</value>
+  </string>
+  <string id="1317" name="shape">
+    <value>Arrow</value>
+  </string>
+  <string id="1318" name="shape">
+    <value>Circle</value>
+  </string>
+  <string id="1319" name="shape">
+    <value>Line</value>
+  </string>
+  <string id="1320" name="shape">
+    <value>Square</value>
+  </string>
+  <string id="1321" name="shape">
+    <value>Triangle</value>
+  </string>
+  <string id="1322" name="icon">
+    <value>Text/Note</value>
+  </string>
+  <string id="1323" name="icon">
+    <value>Cliparts</value>
+  </string>
+  <string id="1324" name="icon">
+    <value>Draw Free</value>
+  </string>
+  <string id="1325" name="icon">
+    <value>Select/Move</value>
+  </string>
+  <string id="1326" name="icon">
+    <value>Draw Shape</value>
+  </string>
+  <string id="1327" name="icon">
+    <value>Cut/Move</value>
+  </string>
+  <string id="1328" name="icon">
+    <value>Zoom In/Out</value>
+  </string>
+  <string id="1329" name="icon">
+    <value>Print</value>
+  </string>
+  <string id="1330" name="icon">
+    <value>Undo</value>
+  </string>
+  <string id="1331" name="icon">
+    <value>Trash</value>
+  </string>
+  <string id="1332" name="icon">
+    <value>Add Grid</value>
+  </string>
+  <string id="1333" name="icon">
+    <value>Share File</value>
+  </string>
+  <string id="1334" name="icon submenu">
+    <value>Select Shape</value>
+  </string>
+  <string id="1335" name="icon submenu">
+    <value>Select Clipart</value>
+  </string>
+  <string id="1336" name="submenu">
+    <value>Copy</value>
+  </string>
+  <string id="1337" name="submenu">
+    <value>Cut</value>
+  </string>
+  <string id="1338" name="submenu">
+    <value>Paste</value>
+  </string>
+  <string id="1339" name="submenu">
+    <value>Delete</value>
+  </string>
+  <string id="1340" name="submenu">
+    <value>Do you really want to delete the complete content on the whiteboard?</value>
+  </string>
+  <string id="1341" name="submenu">
+    <value>Load directly to whiteboard</value>
+  </string>
+    <string id="1342" name="attendees">
+    <value>Attendees</value>
+  </string>
+  <string id="1343" name="atendee manager">
+    <value>Attendee Manager</value>
+  </string>
+  <string id="1344" name="atendee manager">
+    <value>Present</value>
+  </string>
+  <string id="1345" name="atendee manager">
+    <value>Remote Controll</value>
+  </string>
+  <string id="1346" name="atendee manager">
+    <value>Eject</value>
+  </string>
+  <string id="1347" name="chat">
+    <value>Chat</value>
+  </string>
+  <string id="1348" name="invite attendee">
+    <value>Invite Attendees</value>
+  </string>
+  <string id="1349" name="invite attendee">
+    <value>By Email</value>
+  </string>
+  <string id="1350" name="invite attendee">
+    <value>User is moderator</value>
+  </string>
+  <string id="1351" name="invite attendee">
+    <value>User has webcam switched on</value>
+  </string>
+  <string id="1352" name="fill_option">
+    <value>Deactivate shape fill</value>
+  </string>
+  <string id="1353" name="fill_option">
+    <value>Activate shape fill</value>
+  </string>
+  <string id="1354" name="icon">
+    <value>Snap to Grid</value>
+  </string>
+  <string id="1355" name="allow_recording">
+    <value>Allow recording</value>
+  </string>
+  <string id="1356" name="wait_for_recording">
+    <value>Wait for recording</value>
+  </string>
+  <string id="1357" name="hide_top_bar">
+    <value>Hide topbar</value>
+  </string>
+  <string id="1358" name="fileExplorer">
+    <value>Play video</value>
+  </string>
+  <string id="1359" name="submenu">
+    <value>Do you really want to delete the content on the current slide?</value>
+  </string>
+  <string id="1360" name="activity_window">
+    <value>Accept and grant user right</value>
+  </string>
+  <string id="1361" name="activity_window">
+    <value>Deny</value>
+  </string>
+  <string id="1362" name="activity_window">
+    <value>I</value>
+  </string>
+  <string id="1363" name="activity_window">
+    <value>Activities and actions</value>
+  </string>
+  <string id="1364" name="whiteboard">
+    <value>Remove whiteboard</value>
+  </string>
+  <string id="1365" name="whiteboard">
+    <value>You need the moderation or the right to draw on the whiteboard to remove whiteboards!</value>
+  </string>
+  <string id="1366" name="whiteboard">
+    <value>Not allowed</value>
+  </string>
+  <string id="1367" name="user_left_act_msg">
+    <value> has left the room.</value>
+  </string>
+  <string id="1368" name="clipart icons">
+    <value>Math icons</value>
+  </string>
+  <string id="1369" name="clipart icons">
+    <value>No category</value>
+  </string>
+  <string id="1370" name="login_screen">
+    <value>Color-Style</value>
+  </string>
+  <string id="1371" name="login_screen">
+    <value>Quality</value>
+  </string>
+  <string id="1372" name="login_screen">
+    <value>Domain</value>
+  </string>
+  <string id="1373" name="login_screen">
+    <value>visit</value>
+  </string>
+  <string id="1374" name="login_screen">
+    <value>redorange</value>
+  </string>
+  <string id="1375" name="login_screen">
+    <value>mediumseagreen</value>
+  </string>
+  <string id="1376" name="login_screen">
+    <value>steelblue</value>
+  </string>
+  <string id="1377" name="login_screen">
+    <value>lightsteelblue</value>
+  </string>
+  <string id="1378" name="login_screen">
+    <value>goldenred</value>
+  </string>
+  <string id="1379" name="login_screen">
+    <value>silvergray</value>
+  </string>
+  <string id="1380" name="login_screen">
+    <value>userdefined</value>
+  </string>
+  <string id="1381" name="login_screen">
+    <value>best</value>
+  </string>
+  <string id="1382" name="login_screen">
+    <value>upload</value>
+  </string>
+  <string id="1383" name="login_screen">
+    <value>medium</value>
+  </string>
+  <string id="1384" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1385" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1386" name="give exclusive audio">
+    <value>Mute microphone of others</value>
+  </string>
+  <string id="1387" name="mute self message">
+    <value>You are globally muted by the moderator. You cannot unmute yourself!</value>
+  </string>
+  <string id="1388" name="mute self confirm message title">
+    <value>Mute microphone globally?</value>
+  </string>
+  <string id="1389" name="mute self confirm message message">
+    <value>Do you really want to mute yourself globally? No other user will hear you anymore!</value>
+  </string>
+  <string id="1390" name="mute others confirm message title">
+    <value>Mute microphone locally?</value>
+  </string>
+  <string id="1391" name="mute others confirm message">
+    <value>Do you really want to mute this microphone? You can only mute it locally on your screen. It has no effect to how other users hear this user. Only moderators can turn it off globally!</value>
+  </string>
+  <string id="1392" name="mute others confirm message title">
+    <value>Mute microphone off globally?</value>
+  </string>
+  <string id="1393" name="mute others moderator message">
+    <value>Do you really want to mute this user globally? No other user will hear him anymore!</value>
+  </string>
+  <string id="1394" name="mute status icons">
+    <value>Your sound is on. Click here to send moderator message to mute your microphone globally  (in the complete conference room) off!</value>
+  </string>
+  <string id="1395" name="mute status icons">
+    <value>Your sound is off. Click here to send moderator message to unmute your microphone globally  (in the complete conference room) on!</value>
+  </string>
+  <string id="1396" name="mute apply self on message">
+    <value>would like that the moderator mutes my microphone globally.</value>
+  </string>
+  <string id="1397" name="mute apply self off message">
+    <value>would like that the moderator unmutes my microphone globally.</value>
+  </string>
+  <string id="1398" name="mute apply of message">
+    <value>want that the moderator unmutes his/her microphone.</value>
+  </string>
+  <string id="1399" name="mute apply of message">
+    <value>want that the moderator mutes his/her microphone.</value>
+  </string>
+  <string id="1400" name="mute status icons">
+    <value>Unmute microphone. Click here to mute his/her microphone globally!</value>
+  </string>
+  <string id="1401" name="mute status icons">
+    <value>Mute microphone. Click here to unmute his/her microphone globally!</value>
+  </string>
+  <string id="1402" name="mute self message">
+    <value>This user is globally muted by the moderator. You cannot unmute him!</value>
+  </string>
+  <string id="1403" name="mute micro">
+    <value>Mute your microphone globally</value>
+  </string>
+  <string id="1404" name="unmute micro">
+    <value>Unmute your microphone globally</value>
+  </string>
+  <string id="1405" name="mute micro">
+    <value>Mute microphone</value>
+  </string>
+  <string id="1406" name="unmute micro">
+    <value>Unmute microphone</value>
+  </string>
+  <string id="1407" name="mute micro">
+    <value>Mute microphone globally</value>
+  </string>
+  <string id="1408" name="unmute micro">
+    <value>Unmute microphone globally</value>
+  </string>
+  <string id="1409" name="mute moderator message">
+    <value>Only moderators can mute or unmute an user globally! To mute your own microphone: Please use the microphone icon in your video pod!</value>
+  </string>
+  <string id="1410" name="poll_name">
+    <value>Poll Name</value>
+  </string>
+  <string id="1411" name="poll_name">
+    <value>You</value>
+  </string>
+  <string id="1412" name="archived_polls">
+    <value>Archieved Polls</value>
+  </string>
+  <string id="1413" name="active_poll">
+    <value>active</value>
+  </string>
+  <string id="1414" name="chart_simple">
+    <value>Simple Chart</value>
+  </string>
+  <string id="1415" name="chart_pie">
+    <value>Pie Chart</value>
+  </string>
+  <string id="1416" name="sign_up_validation">
+    <value>Please enter email</value>
+  </string>
+  <string id="1417" name="chat_notification">
+    <value>New message(s)</value>
+  </string>
+  <string id="1418" name="poll_close">
+    <value>Close Poll</value>
+  </string>
+  <string id="1419" name="poll_close_confirm">
+    <value>Are you sure you want to close this Poll? No one will be able to vote</value>
+  </string>
+  <string id="1420" name="poll_delete">
+    <value>Delete Poll</value>
+  </string>
+  <string id="1421" name="poll_delete_confirm">
+    <value>Are you sure you want to delete this Poll? The results will be deleted as well.</value>
+  </string>
+  <string id="1422" name="language_code">
+    <value>Language ISO Code</value>
+  </string>
+  <string id="1423" name="exclusive_audio_permission">
+    <value>Allow/Deny right to give exclusive audio.</value>
+  </string>
+  <string id="1424" name="allow_exclusive_audio_permission">
+    <value>Allow user to give exclusive audio</value>
+  </string>
+  <string id="1425" name="deny_exclusive_audio_permission">
+    <value>Deny user to give exclusive audio</value>
+  </string>
+  <string id="1426" name="excl_audio apply self on message">
+    <value>would like to get a permission for exclusive audio.</value>
+  </string>
+  <string id="1427" name="excl_audio apply of message">
+    <value>want that the moderator gives me a permission for exclusive audio.</value>
+  </string>
+  <string id="1428" name="excl_audio status icons">
+    <value>Give a permission for exclusive audio.</value>
+  </string>
+  <string id="1429" name="cam_resolution">
+    <value>Cam resolution</value>
+  </string>
+  <string id="1430" name="cam_resolution_info">
+    <value>Changing the resolution affects bandwidth, bigger picture needs more bandwith!</value>
+  </string>
+  <string id="1431" name="exclusive_audio_error">
+    <value>You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.</value>
+  </string>
+  <string id="1432" name="exclusive_audio_ask">
+    <value>I would like to get the right for exclusive audio</value>
+  </string>
+  <string id="1433" name="exclusive_audio_action">
+    <value>Give exclusive audio to me (alternatively click on your video pod or press F12)</value>
+  </string>
+  <string id="1434" name="micro is on">
+    <value>Microphone is on!</value>
+  </string>
+  <string id="1435" name="micro is off">
+    <value>Microphone is muted</value>
+  </string>
+  <string id="1436" name="hide_chat">
+    <value>Hide chat</value>
+  </string>
+  <string id="1437" name="hide_activities_and_actions">
+    <value>Hide activities</value>
+  </string>
+  <string id="1438" name="hide_files_explorer">
+    <value>Hide files explorer</value>
+  </string>
+  <string id="1439" name="hide_actions_menu">
+    <value>Hide actions menu</value>
+  </string>
+  <string id="1440" name="hide_screen_sharing">
+    <value>Hide screen sharing</value>
+  </string>
+  <string id="1441" name="hide_whiteboard">
+    <value>Hide whiteboard</value>
+  </string>
+  <string id="1442" name="show microphone status">
+    <value>Show micro status in video</value>
+  </string>
+  <string id="1443" name="layout_options">
+    <value>Layout options</value>
+  </string>
+  <string id="1444" name="calendar new button">
+    <value>New Event</value>
+  </string>
+  <string id="1445" name="calendar password info text">
+    <value>Password protected are the links to the conference that are send to the participents when you save the calendar event, not the room! That means if you save the event multiple times but with different passwords every participent receives a new link that has a different password. But old links still work once send!</value>
+  </string>
+  <string id="1446" name="calendar edit button">
+    <value>Edit details</value>
+  </string>
+  <string id="1447" name="sip show dialer">
+    <value>Show sip dialer</value>
+  </string>
+  <string id="1448" name="sip call">
+    <value>Call</value>
+  </string>
+  <string id="1449" name="calendar contact list">
+    <value>Show calendar events of contact</value>
+  </string>
+  <string id="1450" name="tooltip menu">
+    <value>Your home!</value>
+  </string>
+  <string id="1451" name="tooltip menu">
+    <value>Plan your meetings</value>
+  </string>
+  <string id="1452" name="tooltip menu">
+    <value>Watch recording and interviews</value>
+  </string>
+  <string id="1453" name="tooltip menu">
+    <value>Choose and start a web-conference</value>
+  </string>
+  <string id="1454" name="tooltip menu">
+    <value>Manage users and rights</value>
+  </string>
+  <string id="1455" name="tooltip menu">
+    <value>Manage connections and kick users</value>
+  </string>
+  <string id="1456" name="tooltip menu">
+    <value>Manage usergroups</value>
+  </string>
+  <string id="1457" name="tooltip menu">
+    <value>Manage conference rooms</value>
+  </string>
+  <string id="1458" name="tooltip menu">
+    <value>Manage system settings</value>
+  </string>
+  <string id="1459" name="tooltip menu">
+    <value>Manage labels and wording</value>
+  </string>
+  <string id="1460" name="tooltip menu">
+    <value>Manage LDAP and ADS configurations</value>
+  </string>
+  <string id="1461" name="tooltip menu">
+    <value>Export/Import System Backups</value>
+  </string>
+  <string id="1462" name="file explorer">
+    <value>You need moderation or the right to draw on whiteboard to upload, add, delete or load files and folders.</value>
+  </string>
+  <string id="1463" name="whiteboard">
+    <value>Edit text</value>
+  </string>
+  <string id="1464" name="salutation">
+    <value>Prof</value>
+  </string>
+  <string id="1465" name="sharing client">
+    <value>Publish</value>
+  </string>
+  <string id="1466" name="sharing client">
+    <value>Start Publish</value>
+  </string>
+  <string id="1467" name="sharing client">
+    <value>Stop Publish</value>
+  </string>
+  <string id="1468" name="sharing client">
+    <value>Host</value>
+  </string>
+  <string id="1469" name="sharing client">
+    <value>Publish App</value>
+  </string>
+  <string id="1470" name="sharing client">
+    <value>Publish Id</value>
+  </string>
+  <string id="1471" name="sharing client">
+    <value>Reduce the width of the SharingScreen before you try to move it left</value>
+  </string>
+  <string id="1472" name="sharing client">
+    <value>Reduce the height of the SharingScreen before you try to move it bottom</value>
+  </string>
+  <string id="1473" name="sharing client">
+    <value>Reduce the x of the SharingScreen before you try to make it wider</value>
+  </string>
+  <string id="1474" name="sharing client">
+    <value>Reduce the y of the SharingScreen before you try to make it higher</value>
+  </string>
+  <string id="1475" name="sharing client">
+    <value>Fill these settings stream your screen data to 3th party providers like justin.tv</value>
+  </string>
+  <string id="1476" name="sharing client">
+    <value>Please start Screen sharing to be able to publish it</value>
+  </string>
+  <string id="1477" name="sharing client">
+    <value>Moderator permission required to start recording</value>
+  </string>
+  <string id="1478" name="no right for exclusive audio">
+    <value>You don't have permission to apply exclusive audio to any participant. You need moderation role or the right for exclusive audio to make any microphone exclusive turned on..</value>
+  </string>
+  <string id="1479" name="conference menu">
+    <value>Upload new file to file explorer</value>
+  </string>
+  <string id="1480" name="conference menu">
+    <value>Open new dialog with sharing settings</value>
+  </string>
+  <string id="1481" name="conference menu">
+    <value>An existing moderator must approve it</value>
+  </string>
+  <string id="1482" name="conference menu">
+    <value>Ask moderator to share your webcam/micro</value>
+  </string>
+  <string id="1483" name="conference menu">
+    <value>Gather feedback by creating a poll</value>
+  </string>
+  <string id="1484" name="conference menu">
+    <value>Past and current poll results as charts</value>
+  </string>
+  <string id="1485" name="conference menu">
+    <value>Vote if there is a poll for this conference room</value>
+  </string>
+  <string id="1486" name="conference menu">
+    <value>Edit cam and mic settings</value>
+  </string>
+  <string id="1487" name="conference menu">
+    <value>Confirm and leave the room</value>
+  </string>
+  <string id="1488" name="conference menu">
+    <value>Call external people via VoIP/SIP</value>
+  </string>
+  <string id="1489" name="conference menu">
+    <value>Send an email with a direct link to this room</value>
+  </string>
+  <string id="1490" name="conference menu">
+    <value>Change your whiteboard settings</value>
+  </string>
+  <string id="1491" name="backup admin">
+    <value>Max upload size</value>
+  </string>
+  <string id="1492" name="conference menu">
+    <value>Ask moderator to share your whiteboard</value>
+  </string>
+</language>
diff --git a/WebContent/lzx.xsd b/WebContent/lzx.xsd
new file mode 100644
index 0000000..3146f4f
--- /dev/null
+++ b/WebContent/lzx.xsd
@@ -0,0 +1,14742 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" 
+  targetNamespace="http://localhost/openlaszlo/lzx" 
+  xmlns:lzx="http://localhost/openlaszlo/lzx">
+  <xs:simpleType name="booleanLiteral">
+    <xs:restriction base="xs:boolean"/>
+  </xs:simpleType>
+  <xs:simpleType name="colorLiteral">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="numberLiteral">
+    <xs:restriction base="xs:double"/>
+  </xs:simpleType>
+  <xs:simpleType name="sizeLiteral">
+    <xs:restriction base="xs:double">
+      <xs:minInclusive value="0"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="inheritableBooleanLiteral">
+    <xs:union memberTypes="lzx:booleanLiteral">
+      <xs:simpleType>
+        <xs:restriction base="xs:token">
+          <xs:enumeration value="inherit"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:union>
+  </xs:simpleType>
+  <xs:simpleType name="constraint">
+    <xs:restriction base="xs:string">
+      <xs:pattern value="$(style|path|immediately|once|always)?\{.*\}"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="boolean">
+    <xs:union memberTypes="lzx:booleanLiteral lzx:constraint">
+    <xs:simpleType>
+        <xs:restriction base="xs:token">
+          <xs:enumeration value="null"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:union>
+  </xs:simpleType>
+  <xs:simpleType name="booleanOrNull">
+    <xs:union memberTypes="lzx:boolean">
+      <xs:simpleType>
+        <xs:restriction base="xs:token">
+          <xs:enumeration value="null"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:union>
+  </xs:simpleType>
+  <xs:simpleType name="color">
+    <xs:union memberTypes="lzx:colorLiteral lzx:constraint"/>
+  </xs:simpleType>
+  <xs:simpleType name="expression">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="reference">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="number">
+    <xs:union memberTypes="lzx:numberLiteral lzx:constraint xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="token">
+    <xs:union memberTypes="xs:token"/>
+  </xs:simpleType>
+  <xs:simpleType name="size">
+    <xs:union memberTypes="lzx:sizeLiteral lzx:constraint"/>
+  </xs:simpleType>
+  <xs:simpleType name="numberExpression">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="sizeExpression">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="css">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="opacity">
+    <xs:union memberTypes="lzx:constraint">
+      <xs:simpleType>
+        <xs:restriction base="xs:double">
+          <xs:minInclusive value="0.0"/>
+          <xs:maxInclusive value="1.0"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:union>
+  </xs:simpleType>
+  <xs:simpleType name="percentage">
+    <xs:restriction base="xs:string">
+      <xs:pattern value="(\d+(.\d?)|.\d+)%"/>
+    </xs:restriction>
+  </xs:simpleType>
+<xs:element name="passthrough" type="lzx:passthrough" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Provides a way to import SWF10 declarations. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="passthrough" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+      <xs:attribute name="when" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Provides a way to import SWF10 declarations. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:complexType>
+<xs:element name="styledtext" type="lzx:styledtext" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A text subclass which allows use of text styles
+        @START_CODE
+            &lt;styledtext text="hello" style="mytextstyle" /&gt;
+        @END_CODE
+    </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="styledtext" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:text">
+      <xs:attribute name="style" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ should be an object of type "textstyle" </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="menubutton" type="lzx:menubutton" >
+</xs:element>
+  <xs:complexType name="menubutton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:button">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="lzeditcombobox" type="lzx:lzeditcombobox" >
+</xs:element>
+  <xs:complexType name="lzeditcombobox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:lzcombobox">
+      <xs:attribute name="y_offset" type="xs:string" default="2" >
+</xs:attribute>
+      <xs:attribute name="x_offset" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="width_offset" type="xs:string" default="-9" >
+</xs:attribute>
+      <xs:attribute name="height_offset" type="xs:string" default="-3" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="vsliderthumb" type="lzx:vsliderthumb" >
+</xs:element>
+  <xs:complexType name="vsliderthumb" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:button">
+      <xs:attribute name="showvalue" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="drag_min" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="drag_max" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="closebox" type="lzx:closebox" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the closebox class has its own resource </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="closebox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basebutton">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="myday" type="lzx:myday" >
+</xs:element>
+  <xs:complexType name="myday" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basedatepickerday">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="radiogroup" type="lzx:radiogroup" >
+</xs:element>
+  <xs:complexType name="radiogroup" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baselist">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="Test" type="lzx:Test" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+  Test is the abstract interface class for all LZUnit tests.
+
+  It accumulates the results of the test and defines the various
+  assert methods that can be used to implement each test.
+
+  &lt;xref linkend="lz.TestCase"/&gt; and &lt;xref linkend="lz.TestResult"/&gt; extend this class to provide
+  functionality.
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="Test" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:DebugObject">
+      <xs:attribute name="formatter" type="xs:string" default="new lz.text()" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseradiogroup" type="lzx:baseradiogroup" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Class baseradiogroup: a class representing the selected radiobutton,
+          that can have many radiobuttons associated with it </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="baseradiogroup" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baseformitem">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="event" type="lzx:event" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The sender in Laszlo's point-to-point event system.
+Events underly most of the functionality in OpenLaszlo applications. Unlike events in similar systems, OpenLaszlo's events are point-to-point, meaning that there is no general broadcast mechanism for events, and events do not trickle up or down the instance hierarchy. Instead, objects called &lt;handler&gt;s use LzDelegate.register() to register to receive events.
+
+An event is implicitly declared for every attribute of a class or instance and sent when that attribute is changed. So, for instance, if a class has an attribute foo, you can receive events when foo changes by registering for the onfoo event.
+
+Events are sent with a single argument, which usually conveys information about the property that changed. The default behavior of the LzEventable.setAttribute() method is to set the named property and send the event called "on" + property. This is general mechanism that updates constraints in a OpenLaszlo programs. For instance, when a view changes its x position, it sends the event onx with the new value for its x property.
+
+Example:
+&lt;handler name="onavalue" reference="eventSender" args="v"&gt;
+  this.setAttribute('x' , v);
+&lt;/handler&gt; 
+ </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="event" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+      <xs:attribute name="name" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The name of the event </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:complexType>
+<xs:element name="inittimer" type="lzx:inittimer" >
+</xs:element>
+  <xs:complexType name="inittimer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="tabscontent" type="lzx:tabscontent" >
+</xs:element>
+  <xs:complexType name="tabscontent" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basetabscontent">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseformitem" type="lzx:baseformitem" >
+</xs:element>
+  <xs:complexType name="baseformitem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basevaluecomponent">
+      <xs:attribute name="submitname" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The name used when submitting the data of the form item.
+              If no submitname is given before oninit, the 'name' attribute is used.
+              Unlike the name attribute, submitname may be changed at runtime. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="submit" type="lzx:boolean" default="${enabled}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If submit is true, then the value of this element will be submitted
+              with the form.  By default, submit is true when enabled.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="rollbackvalue" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Rollback value for the baseformitem. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onvalue" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Event sent whenever checkbox value changes. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onchanged" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Event sent when baseformitem is changed. Only sent once when true
+              or once when false. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ignoreform" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, the component will not inform its parent form
+             that it has changed. Useful in conjunction with submit=false </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="changed" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Boolean to determine whether the baseformitem was changed. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="emailvalidator" type="lzx:emailvalidator" >
+</xs:element>
+  <xs:complexType name="emailvalidator" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basevalidator">
+      <xs:attribute name="toomanyatmarkErrorstring" type="xs:string" default="Too many @ characters in your email address." >
+</xs:attribute>
+      <xs:attribute name="missingperiodErrorstring" type="xs:string" default="The domain in your email address is missing a period." >
+</xs:attribute>
+      <xs:attribute name="missingatmarkErrorstring" type="xs:string" default="Missing the @ character in your email address." >
+</xs:attribute>
+      <xs:attribute name="incorrectlydomainErrorstring" type="xs:string" default="The domain in your email address is incorrectly formatted." >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="datapoints" type="lzx:datapoints" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keywords private
+          datapoints for the chart </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="datapoints" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="valuepoints" type="lzx:valuepoints" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+       Represents a value point in the chart
+       @access public
+       </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="valuepoints" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="tip" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the tooltip value will be display when the mouse over the line </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="label" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the label will be display next to the line </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="datay" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the y point will be draw </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="datax" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the x point will be draw </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="stylishbutton" type="lzx:stylishbutton" >
+</xs:element>
+  <xs:complexType name="stylishbutton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basebutton">
+      <xs:attribute name="tint" type="lzx:color" default="0xD9DCF5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Control the look of the button. These attributes can and should
+              be controlled with css. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="texty" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ y position of text, for fine tuning </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showrightedge" type="xs:string" default="true" >
+</xs:attribute>
+      <xs:attribute name="showrightborder" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ whether to show highlight on left side of button </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showleftedge" type="xs:string" default="true" >
+</xs:attribute>
+      <xs:attribute name="showleftborder" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ whether to show shadow on right side of button </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="rightresource" type="xs:string" default="stylishbutton_right_rsc" >
+</xs:attribute>
+      <xs:attribute name="middleresource" type="xs:string" default="stylishbutton_middle_rsc" >
+</xs:attribute>
+      <xs:attribute name="leftresource" type="xs:string" default="stylishbutton_left_rsc" >
+</xs:attribute>
+      <xs:attribute name="icony" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ y position of icon, for fine tuning.
+            if not specified, center the icon vertically. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="iconname" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ icon resource name prefix </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fontcolor" type="lzx:color" default="0x373B56" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="fisheye" type="lzx:fisheye" >
+</xs:element>
+  <xs:complexType name="fisheye" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="start_size" type="xs:string" default="24" >
+</xs:attribute>
+      <xs:attribute name="halo_size" type="xs:string" default="20" >
+</xs:attribute>
+      <xs:attribute name="expanded_size" type="xs:string" default="100" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="_scrubstate" type="lzx:_scrubstate" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+   enclosing view must have the following attributes:
+   stream  the stream to control, assume it is paused
+   min     min 'x' value
+   max     max 'x' value
+
+   @keywords private </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="_scrubstate" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:state">
+      <xs:attribute name="x" type="xs:string" default="this.__scrubstate_getnewpos(                 this.immediateparent.getMouse( 'x' ) + this.__scrubstate_xdoffset)" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="microphone" type="lzx:microphone" >
+</xs:element>
+  <xs:complexType name="microphone" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:mediadevice">
+      <xs:attribute name="stream" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Mediastream to associate with the microphone, for audio recording. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="silencetimeout" type="lzx:number" default="-1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Silence timeout in ms, the amount of silent time signifying that 
+              silence has actually begun.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="silencelevel" type="lzx:number" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Silence level, 0-100, the amount of sound required to activate 
+              the microphone.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="rate" type="lzx:number" default="8" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Rate in khz the microphone is using to capture sound, either 5, 8, 11, 22, or 44.
+              @keywords final  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="level" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Audio level, 0-100, the amount of sound detected by this microphone.
+              Reset to 0 when there is no audio (no activity or not allowed).
+              @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="gain" type="lzx:number" default="50" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The amount the microphone boosts the signal.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="framesperpacket" type="lzx:number" default="6" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Number of Speex speech frames transmitted in a packet.
+              @keywords final  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="encodequality" type="lzx:number" default="6" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The quality of encoded speech quality when using the Speex codec.
+              Possible values are from 0 to 10.
+              @keywords final  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="echosuppression" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, the microphone will attempt to use echo suppression.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="codec" type="xs:string" default="NellyMoser" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The codec to use, either 'NellyMoser' or 'Speex'.
+              @keywords final  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="image" type="lzx:image" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ image represents an image that can be loaded at runtime, either by specifying a URL directly or by binding to data</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="image" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="src" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The URL to load the image from.  May be set directly on this attribute or indirectly by specifying a datapath for this tag. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="prefix" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ an optional prefix URL to load from. If specified, the url will be appended to this prefix.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onsrc" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="lastloaded" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The last URL loaded by this image tag.  Used to prevent the same URL from loading twice.  
+              @keywords readonly</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="forcereload" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, the same URL will be reloaded.  If false, the same URL will not load multiple times.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="tooltipManager" type="lzx:tooltipManager" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+      @topic Incubator
+      @subtopic Tooltip Manager
+  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="tooltipManager" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="tooltip_obj" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onMouseOverDelegateArray" type="xs:string" default="[]" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onMouseOutDelegateArray" type="xs:string" default="[]" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="messages" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+      @topic Incubator
+      @subtopic Tooltip Manager
+  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="messageMap" type="xs:string" default="[]" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="delay" type="lzx:number" default="1000" >
+</xs:attribute>
+      <xs:attribute name="component_identifier" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="databar" type="lzx:databar" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private
+    Render a bar or column of data in the chart</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="databar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="totalsets" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Total number of bar sets. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="tooltip" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, will display additional information about data
+            in a popup when the cursor is placed over a bar.
+            (Tooltip to be developed in a future version.) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="siblingbars" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The number of sibling bars. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="drawaxis" type="xs:string" default="x" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The chart's direction.  (Set here as well for easier reference.) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dataresource" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The image to be loaded over the bar, if any. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bvalue" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Numerical value of bar. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="barspace" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The space between bars. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="barset" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This bar's group's set number. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="barnumber" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This bar's number in its series. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="animationinit" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Animation style for when bars appear. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basevalidator" type="lzx:basevalidator" >
+</xs:element>
+  <xs:complexType name="basevalidator" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="trim" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="requiredErrorstring" type="xs:string" default="this field is required." >
+</xs:attribute>
+      <xs:attribute name="required" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isformvalidator" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="iserror" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="innercompornent" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="errorstring" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="autocompletecombobox" type="lzx:autocompletecombobox" >
+</xs:element>
+  <xs:complexType name="autocompletecombobox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="defaulttext" type="xs:string" default="Type Here" >
+</xs:attribute>
+      <xs:attribute name="contentpath" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="actuallyTyped" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="labeledinputtext" type="lzx:labeledinputtext" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+        A horizontal container for a right-aligned label and text field.
+        usage:
+            @START_CODE
+                &lt;labeledinputtext label="Title" datapath="details/@title" fieldwidth="50"/&gt;
+            @END_CODE
+
+        datapath should be set to resolve to a text value
+    </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="labeledinputtext" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="textcolor" type="xs:string" default="0x000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ color of text </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="multiline" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ set to true for multiline </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maxlength" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Maximum length for the editable text field. Default is null
+              (no limit) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelwidth" type="lzx:number" default="68" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ column for right-aligned label </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelsize" type="xs:string" default="${detailslabel_style.fontsize}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ label font size </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelfont" type="xs:string" default="${detailslabel_style.font}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ label font </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelcolor" type="lzx:number" default="${detailslabel_style.textcolor}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ color of label </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="label" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the right-aligned label </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fontname" type="xs:string" default="Verdana, Arial, sans" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ font face </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fieldwidth" type="lzx:number" default="128" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ width of editable text field </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fieldheight" type="lzx:number" default="18" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ set this to larger if multiline is true </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="dragstate" type="lzx:dragstate" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ this state provides standard 'drag' functionality to its immediateparent when applied </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="dragstate" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:state">
+      <xs:attribute name="drag_min_y" type="lzx:number" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the minimum value for the y attribute. Default : null, no minimum </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="drag_min_x" type="lzx:number" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the minimum value for the x attribute. Default : null, no minimum </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="drag_max_y" type="lzx:number" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the maximum value for the y attribute. Default : null, no maximum </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="drag_max_x" type="lzx:number" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the maximum value for the x attribute. Default : null, no maximum </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="drag_axis" type="xs:string" default="both" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 'x', 'y' or 'both' </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basetab" type="lzx:basetab" >
+</xs:element>
+  <xs:complexType name="basetab" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baselistitem">
+      <xs:attribute name="tabpane" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The tabpane associated with this tab.
+              @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="_internalinputtext" type="lzx:_internalinputtext" >
+</xs:element>
+  <xs:complexType name="_internalinputtext" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:inputtext">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videolibraryicon" type="lzx:videolibraryicon" >
+</xs:element>
+  <xs:complexType name="videolibraryicon" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="selected" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="over" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="maxHeight" type="xs:string" default="48" >
+</xs:attribute>
+      <xs:attribute name="icon" type="xs:string" default="video_no_icon_rsc" >
+</xs:attribute>
+      <xs:attribute name="aspectRatio" type="xs:string" default="1" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="TextTestCase" type="lzx:TextTestCase" >
+</xs:element>
+  <xs:complexType name="TextTestCase" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:TestCase">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="regionstyle" type="lzx:regionstyle" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ style for a region
+      @access public
+      </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="regionstyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basestyle">
+      <xs:attribute name="image" type="xs:string" default="${null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ image path </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="gradient" type="xs:string" default="none" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 'none', 'linear', 'radial' </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="color" type="lzx:color" default="0xFF0000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ RGB color on the axis line </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="view" type="lzx:view" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The &lt;view&gt; is the most basic viewable element in an OpenLaszlo application. Anything that is displayed on the canvas is a view or extends the view class. A view is a rectangle, which can be visible or invisible, and which can contain other views or display "resources" such as images, .swf files, or other supported media. One view controls one displayable resource. The view system is strictly hierarchical; that is, each view has a single parent but can have multiple children.  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="view" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="yscale" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Specifies this vertical scale for this and all child views. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="yoffset" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Specifies a translation point for drawing of this view. If the yoffset is set, then rotation and y position will be calculated by first adding the yoffset.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="y" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The vertical offset of this view's upper left corner from the upper left corner of its container  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="xscale" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Specifies this horizontal scale for this and all child views. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="xoffset" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Specifies a translation point for drawing of this view. If the xoffset is set, then rotation and x position will be calculated by first adding the xoffset.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="x" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The horizontal offset of this view's upper left corner from the upper left corner of its container.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="with" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="width" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+The width of the view. Can be set to either a number, or null, to indicate that the view should be sized to hold its content. If the view is set to stretch its resource, the resource will be resized to the new value. When read, reflects the actual size of the view.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="visible" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	A value of true means that this view is shown. A value of false means that this view is hidden. Note that an otherwise clickable view that is not visible will have no click region and will not be clickable.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="visibility" type="xs:string" default="collapse" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	A value of "visible" means that this view is shown. A value of "hidden" means that this view is hidden. Setting this attribute to "collapse" means that the runtime will hide this view when: its opacity is zero, it has a datapath that does not match a node, or it is loading its media. In this case, the the value of the 'visible' attribute of the view will reflect the view's current visible state. 
+	One of: hidden|visible|collapse </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="valign" type="xs:string" default="top" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Sets the vertical alignment for the view to the given value. The alignment is based on the height of this view as compared to the height of the view's immediateparent. 
+	One of: 	"top" | "middle" | "bottom" | constraint </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="usegetbounds" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	True if this view requires a call to getBounds() for accurate width and height measurement. This may be necessary when an offset or rotation are applied.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="unstretchedwidth" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	If stretches is not set to none, the width that this view would be if it weren't stretched. This attribute can be used to scale a view by a percentage of its original size, or to determine the aspect ratio for a view.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="unstretchedheight" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	If stretches is not set to none, the height that this view would be if it weren't stretched. This attribute can be used to scale a view by a percentage of its original size, or to determine the aspect ratio for a view.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="totalframes" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The total number of frames for this view's resource. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="tintcolor" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Sets the color offset, based on a hexadecimal color string, e.g. '#ff00ff'. See setColorTransform() for details. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="subviews" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	An array of the subviews that are children of this view. This is initialized to an empty array for views that have no subviews.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="stretches" type="xs:string" default="none" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Setting stretches causes a view to change its coordinate space so that everything it contains (resources and other views) fit exactly into the view's width and/or height. The default for this property is "none". This is used to resize a view's contents by setting its width and/or height. 
+	One of: 	"width" | "height" | "both" | "none" </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="source" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The URL from which to load the resource for this view. If this attribute is set, the media for the view is loaded at runtime.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showhandcursor" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Show or hide the hand cursor for this view, if clickable </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="shadowdistance" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The distance for the drop shadow, in pixels </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="shadowcolor" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+The color for the drop shadow </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="shadowblurradius" type="lzx:number" default="4" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+The blur radius for the drop shadow, in pixels. A negative value will cause the shadow to be inset. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="shadowangle" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The angle for the drop shadow, in degrees </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="rotation" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The rotation value for the view (in degrees). Value may be less than zero or greater than 360.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="resourcewidth" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+The width of the resource that this view attached </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="resourceheight" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The height of the resource that this view attached </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="resource" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+A resource that is presented in the background of this view. The value can be either the name of a resource defined with the resource tag, a URL, or a pathname. If the value is a URL, the resource is requested when the view is displayed. If it's a pathname, the file named by the pathname is compiled into the application, and attached to this view.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ratio" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This element is only available in the splash SWF specific </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="proxyurl" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The url of the proxy server, if the app is running in proxied mode. proxyurl can be null, a URL string, or a function.
+
+    If the value is a string, treat it as a URL to the proxy server.
+    If the value is a function, it should return the URL of the proxy server.
+
+The default proxy policy references the proxyurl of the canvas.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="playing" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	If true, this view is currently playing. Setting to true causes the view to play, false causes playback to stop. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="pixellock" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 	The view system supports sub-pixel positioning to enable smooth animation. This may be turned off to make the view snap to a pixel boundary by setting pixellock to true.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="opacity" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The opacity of the view's contents. 1.0 is opaque; 0.0 is totally transparent (invisible).  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ony" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+event for changes to view's y property </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onx" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+event for changes to view's x property </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onwidth" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+event for changes to view's width property </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onvisible" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Sent when the view changes visibility (true/false) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ontouch" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+The ontouch event is sent when a touch device receives a multitouch event. The value sent with the event is an array of objects with with two properties: clientX and clientY. Currently supported only in iOS on DHTML. Note that Android Webkit doesn't send multitouch events - see http://www.quirksmode.org/mobile/tableTouch.html </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ontimeout" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Sent when the request to load media for the view times out </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onstop" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Sent when a view's resource that is capable of playing is stopped. This is only called if stop is called directly; when a resource hits its last frame, the lz.view event onlastframe is called. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onshadowdistance" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Sent when shadowdistance changes </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onshadowcolor" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Sent when shadowcolor changes </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onshadowblurradius" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Sent when shadowblurradius changes </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onshadowangle" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Sent when shadowangle changes </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onremovesubview" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Event called when this view removes a subview </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onplaying" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Sent when a view begins playing its resource </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onplay" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Sent when a view begins playing its resource </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onopacity" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Sent when a view changes its opacity </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onmouseupoutside" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+The onmouseup event is sent when the pointing device button is released outside the element it went down on. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onmouseup" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+The onmouseup event is sent when the pointing device button is released over an element. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onmousetrackup" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Sent when the mouse button is released over a view that is registered to an active track group. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onmousetrackover" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Sent when the mouse is over a view that is registered to an active track group. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onmousetrackout" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Sent when the mouse leaves the visible area of a view that previously sent an 'ontrackover' event. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onmouseover" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+The onmouseover event is sent when the pointing device is moved onto an element. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onmouseout" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+The onmouseout event is sent when the pointing device is moved so that is is no longer over an element. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onmousedragout" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+The onmousedragout event is sent when the pointing device is moved off the element while the button is down. down. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onmousedragin" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+The onmousedragin event is sent when the pointing device button has moved off the element and back on again while the button is down. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onmousedown" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+The onmousedown event is sent when the pointing device button is pressed over an element. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onloadratio" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Sends a percentage (0-1) reflecting the amount of a media file that's been downloaded. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onload" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Send when the view finishes loading media. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onlastframe" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Sent when the view sets its frame (resource number) to the last frame. This can be used to find out when a streaming media clip is done playing. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onkeyup" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The onkeyup event is sent when this view has the focus and a key is released. This event is sent with the keycode for the key that went up. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onkeydown" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The onkeydown event is sent when this view has the focus and a key is pressed down. Multiple key down events are sent for a key that is held down. If you want the script executed only once, use onkeyup. This event is sent with the keycode for the key that is down.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onheight" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Event for changes to view's height property</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ongesture" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+The ongesture event is sent when a touch device receives a gesture event. The value sent with the event is an object with two properties: scale and rotation. Currently supported only in iOS on DHTML. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onframesloadratio" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Sends a percentage (0-1) reflecting the number of frames downloaded.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onframe" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Sent onidle while view is playing its resource</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onfocus" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The onfocus event is sent when an element receives focus either by the pointing device or by tabbing navigation.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onerror" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Sent when there is an error loading the view's resource. The argument sent with the event is an error string.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ondblclick" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The ondblclick event is sent when the pointing device button is double clicked over an element.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="oncornerradius" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Sent when cornerradius changes</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="oncontext" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Sent when the drawing context is ready to use, which can take some time in IE DHTML.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onclip" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The onclip event is sent when the clip attribute of a view is changed</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onclickable" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Event for changes to view's clickable property</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onclick" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+   The onclick event is sent when the pointing device button is clicked over an element.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onblur" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  The onblur event is sent when an element loses focus either by the pointing device or by tabbing navigation.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onbackgroundrepeat" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ event for changes to view's backgroundrepeat property </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onaddsubview" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Event called when this view adds a subview </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="mask" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Reference to closest masked view in the hierarchy at or above this one  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="loadratio" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	For views whose resource is loaded at runtime, ratio of the loaded bytes to the total bytes. This is a number between zero and 1.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="layout" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	A CSS declaration of property: value pairs of layout attributes, which are used to create a layout that is attached to this view. If there is a class property, it names the class of the layout to be created, otherwise &lt;simplelayout&gt; is used. To remove the previously set layout, use {'class': 'none'} Examples: layout="axis: x", layout="class: constantlayout", layout="axis: y", layout="axis: x; spacing: 5".  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="height" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The height of the view. Can be set to either a number, or null, to indicate that the view should be sized to hold its content. If the view is set to stretch its resource, the resource will be resized to the new value. When read, reflects the actual size of the view.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hassetwidth" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	If true, then this view has an assigned or constrained width, and the view will not be sized to its contents.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hassetheight" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	If true, then this view has an assigned or constrained height, and the view will not be sized to its contents.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hasdirectionallayout" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+If true, sprite will use TLF text framework class that supports bidirectional text layout. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="framesloadratio" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	For views whose resource is loaded at runtime, the ratio of the loaded frames to the total frames. This is a number between zero and 1.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="frame" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	If this view has a multi-frame resource, this allows setting which resource frame is displayed. Defaults to the first frame (1). See also the resource attribute. Setting this attribute will change the frame that is being displayed by the resource associated with this view. The first frame of the resource is frame 1. Setting a view's 'donttrackplay' option to true will allow the view's resource to play without updating the value of the view's frame property. This can save CPU usage in cases where the application doesn't need to know what frame the resource is showing while it is playing.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fontstyle" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The style to use to render text fields that appear inside of this view. One of "plain", "bold" , "italic" or "bolditalic".  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fontsize" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Pixel size to use to render text which appears inside this view. The default is 8.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="font" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The font to use for any &lt;text&gt; or &lt;inputtext&gt; elements that appear inside this view. Like all the font properties (fontstyle and fontsize too) these properties cascade down the view hierarchy until a new value is specified.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="focustrap" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	If true, this view "traps" the focus, for example in a window or dialog. See focus manager (lz.Focus) for more details.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="focusable" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	If true, this view will receive focus events. See focus manager (lz.Focus) for more details.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fgcolor" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+The foreground color of any &lt;text&gt; or &lt;inputtext&gt; elements that appear inside this view. To apply a color transform, see tintcolor. May be set to any valid CSS color specification. When read, will be read as the equivalent numeric value. To retrieve a CSS color specification, use this.presentAttribute('fgcolor', 'color'). Default is 0 (black).  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="cursor" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The cursor to display when the mouse is over this view. Any resource ID can be used as a cursor, or '' for the default cursor. This attribute can be set for any view with clickable=true.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="cornerradius" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The corner radius for the background, e.g. '4' or a list of up to 8 numbers '4 0 0 4 / 2 0 0 2'. Per http://www.w3.org/TR/css3-background/#the-border-radius the 8 values for each radii are given in the order top-left, top-right, bottom-right, bottom-left. If you use the '/' notation, the values before the slash are the horizontal radii, and the values after the slash are the vertical radii.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="contextmenu" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+The context menu installed on this view </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="context" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 	Contains a reference to the raw drawing context. The oncontext event is sent when the context is ready to use, which can take some time in IE DHTML.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="colortransform" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	color transforms everything contained in the view (except the background) by the transformation dictionary given in o. The dictionary has the following possible keys: o.redMultiplier: multiplier for red component (0 to 1) defaults to 1 o.redOffset: offset for red component (-255 to 255) defaults to 0 o.greenMultiplier: multiplier for green component (0 to 1) defaults to 1 o.greenOffset: offset for green component (-255 to 255) defaults to 0 o.blueMultiplier: multiplier for blue component (0 to 1) defaults to 1 o.blueOffset: offset for blue component (-255 to 255) defaults to 0 o.alphaMultiplier: multiplier for alpha component (0 to 1) defaults to 1 o.alphaOffset: offset for alpha component (-255 to 255) defaults to 0  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="clip" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 	Clip the view's contents to its size. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="clickregion" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Setting to a vector-based resource changes the clickable hotspot for the mouse. Check capabilities.clickregion before using to avoid debugger warnings.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="clickable" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	If true, this view intercepts click events; otherwise they are passed to its container. This defaults to true if the view defines a mouse event handler or a cursor. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="center" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This element is only available in the splash SWF specific </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="capabilities" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+An object containing properties corresponding to the current runtime's capabilities. For example, capabilities.rotation is true in swf and recent versions of Safari and Firefox.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="cachebitmap" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	A value of true means that this view's bitmap will be cached, if available. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bgcolor" type="lzx:color" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The background color of the view. Setting bgcolor to null will make the view transparent. May be set to any valid CSS color specification. When read, will be read as the equivalent numeric value. To retrieve a CSS color specification, use this.presentAttribute('bgcolor', 'color'). Default is null (transparent).  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="backgroundrepeat" type="xs:string" default="norepeat" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Setting backgroundrepeat causes a view to repeat its resource to fit the view's width and/or height. Can be 'repeat', 'repeat-x', 'repeat-y' or 'norepeat' per the CSS1 background-repeat style. 
+	One of: 	"repeat" | "repeat-x" | "repeat-y" | "norepeat" </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="align" type="xs:string" default="left" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Sets the alignment for the view to the given value. The alignment is based on the size of this view as compared to the size of the view's immediate parent. 
+	One of: 	"left" | "center" | "right" | constraint </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="aatabindex" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Set accessibility tab order </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="aasilent" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 	Set accessibility silencing/unsilencing </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="aaname" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 	Set accessibility description </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="aadescription" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="aaactive" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 	Activate/inactivate children for accessibility </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="soap" type="lzx:soap" >
+</xs:element>
+  <xs:complexType name="soap" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:rpc">
+      <xs:attribute name="wsdl" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Required attribute that specifies WSDL to read for the SOAP
+              object. The value for wsdl should be an href. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="service" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The SOAP service to fetch. If not specified, the first service
+              encountered in the WSDL is used. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="responseheaders" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If set, the SOAP response header returned by the last
+              call. The value for this must be a dataset. Default is null. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="requestheaders" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The SOAP header to pass with each request. This can be either a
+              string or a dataset. Default is null. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="proto" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The prototypes that can be used to create objects. 
+              @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="port" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The SOAP port to use. If not specified, the first SOAP port
+              encountered in the WSDL is used. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseform" type="lzx:baseform" >
+</xs:element>
+  <xs:complexType name="baseform" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="onchanged" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Event sent when baseformitem is changed. Only sent once when true
+              or once when false. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="formdata" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Holds a reference to each datacomponent contained within the
+              form. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="changed" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Boolean to determine whether the baseformitem was changed. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="rangeslider" type="lzx:rangeslider" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="rangeslider" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:custombaseslider">
+      <xs:attribute name="minx" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="minvalue" type="xs:string" default="this.minlimit + this.leftknob.x * this.valueratio" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maxx" type="xs:string" default="${parent.rightknob.x}" >
+</xs:attribute>
+      <xs:attribute name="maxvalue" type="xs:string" default="this.minlimit + this.rightknob.x * this.valueratio" >
+</xs:attribute>
+      <xs:attribute name="isMouseDown" type="xs:string" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="mediadevice" type="lzx:mediadevice" >
+</xs:element>
+  <xs:complexType name="mediadevice" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="devicename" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Name of the device. 
+              @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="deviceindex" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Zero-based index of the device, or null for user's default device. 
+              Default is null, which selects the default device. 
+              When the default device is initialized, deviceindex is updated to
+              its actual index. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="debug" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ set to true for verbose debugging messages </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="capturing" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Boolean flag that controls if the media device
+              is currently capturing input. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="allowed" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Tracks whether the user has allowed device access. 
+              True after user has accepted security dialog,
+              false if the user denies access with security dialog.
+              @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="active" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Flag that tracks if there's device activity (audio sound, video motion). 
+              @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="legenditem" type="lzx:legenditem" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private
+    individual legend item </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="legenditem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="textsize" type="lzx:number" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The font size of the label text for this item in the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="textcolor" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The color of the label text for this item in the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="linevisible" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="itemvalue" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The value for this item in the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="itemlabel" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The text label for this item. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="identifier" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private
+    individual legend item </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="iconshape" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The shape of the icon drawn. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="iconcolor" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The color for the icon. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hlcolor" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The highlight color to be used when this item has been
+            moused over. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="face" type="lzx:face" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Defines a font face or style within the font family that the outer element defines.
+ </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="face" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+      <xs:attribute name="style" type="xs:string" default="bold|italic|bold italic|italic bold|plain" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Corresponds to the fontstyle attribute of a view.
+    One of: 	bold | italic | bold italic | italic bold | plain  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="src" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The path of a file that contains the source for this object. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:complexType>
+<xs:element name="vslidertrack" type="lzx:vslidertrack" >
+</xs:element>
+  <xs:complexType name="vslidertrack" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="simplelayout" type="lzx:simplelayout" >
+</xs:element>
+  <xs:complexType name="simplelayout" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:layout">
+      <xs:attribute name="spacing" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A pixel amount to use between each view in the layout </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A pixel amount to inset the first view controlled by the layout</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="axis" type="xs:string" default="y" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The axis in which this layout operates. One of 'x' or 'y'. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="newvscrollbar" type="lzx:newvscrollbar" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The vertical scrollbar manipulates the y position of a target view that is
+      clipped by its parent, creating a scrolling effect when the user
+      clicks up/down arrows, clicks on the scroll track or drags the thumb. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="newvscrollbar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basescrollbar">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="silverstyle" type="lzx:silverstyle" >
+</xs:element>
+  <xs:complexType name="silverstyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:style">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="viewspool" type="lzx:viewspool" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private
+     Represents a pool of view </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="viewspool" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="viewclass" type="xs:string" default="$once{null}" >
+</xs:attribute>
+      <xs:attribute name="used" type="xs:string" default="$once{[]}" >
+</xs:attribute>
+      <xs:attribute name="unused" type="xs:string" default="$once{[]}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private
+     Represents a pool of view </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="parentview" type="xs:string" default="$once{null}" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="param" type="lzx:param" >
+</xs:element>
+  <xs:complexType name="param" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="value" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Value to use for parameter. A &lt;code&gt;getValue()&lt;/code&gt; method can be declared
+              inside param to use its return as the parameter value. If both
+              &lt;code&gt;value&lt;/code&gt; attribute and &lt;code&gt;getValue()&lt;/code&gt; method are declared, param will use
+              &lt;code&gt;getValue()&lt;/code&gt;. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="datepickerday" type="lzx:datepickerday" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This is the implementation of the datepickerday for 
+          the datepicker </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="datepickerday" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basedatepickerday">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="columnchartplotarea" type="lzx:columnchartplotarea" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keywords private
+     plotarea of column chart </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="columnchartplotarea" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:virtualdrawview">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="multiplefileupload" type="lzx:multiplefileupload" >
+</xs:element>
+  <xs:complexType name="multiplefileupload" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="numfields" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ numbers of fileuploadlist   </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="erroroccured" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Error occured</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="newhscrollbar" type="lzx:newhscrollbar" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A scrollbar manipulates the x or y position of a target view that is
+      clipped by its parent, creating a scrolling effect when the user clicks
+      up/down arrows, clicks on the scroll track or drags the thumb. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="newhscrollbar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basescrollbar">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="numbervalidator" type="lzx:numbervalidator" >
+</xs:element>
+  <xs:complexType name="numbervalidator" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basevalidator">
+      <xs:attribute name="toosmallErrorstring" type="xs:string" default="This number is too small." >
+</xs:attribute>
+      <xs:attribute name="toobigErrorstring" type="xs:string" default="This number is too large." >
+</xs:attribute>
+      <xs:attribute name="notnumberErrorstring" type="xs:string" default="This field contains invalid characters." >
+</xs:attribute>
+      <xs:attribute name="notintErrorstring" type="xs:string" default="Enter integer value." >
+</xs:attribute>
+      <xs:attribute name="minvalue" type="lzx:number" default="null" >
+</xs:attribute>
+      <xs:attribute name="maxvalue" type="lzx:number" default="null" >
+</xs:attribute>
+      <xs:attribute name="domain" type="xs:string" default="real" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basetabelement" type="lzx:basetabelement" >
+</xs:element>
+  <xs:complexType name="basetabelement" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baselistitem">
+      <xs:attribute name="onopenstop" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Sent at the end of the open animation. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onopenstart" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Sent at the start of the open animation. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onclosestop" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Sent at the end of the close animation. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onclosestart" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Sent at the start of the close animation. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="minheight" type="lzx:number" default="22" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The height the tab will close to. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="itemclassname" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ When creating tabelements via additem, this is the class that gets
+              created. The default value is the class of the first tabelement or
+              its descendant. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hideonclose" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Content is automatically hidden when tabelement is closed. To
+              override, set this attribute to false. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="headerheight" type="lzx:number" default="$once{minheight}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The height of the header. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="contentvisible" type="xs:string" default="$once{! hideonclose}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This is set to true when a basetabelement begins to open and is
+              set to false when it finishes its close. Default is the inverse of
+              hideonclose. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basetree" type="lzx:basetree" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An abstract base class to build tree controls. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="basetree" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecomponent">
+      <xs:attribute name="yindent" type="lzx:number" default="20" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Spacing to indent trees on the y-axis. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="xindent" type="lzx:number" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Spacing to indent trees on the x-axis. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="toggleselected" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Meaningful only in root. Flag to toggle selected nodes.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showroot" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Meaningful only in root tree. If false, the root item is invisible
+              and its children are displayed.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="selected" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Check to see if this tree is selected. Default is false, except
+              for the root of a tree, which its selected attribute is set to
+              true. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="recurse" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Meaningful only with data replication. If true, it will
+              recursively follow the datapath's children.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="open" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Check to see if this tree is open. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onselected" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This event gets triggered whenever this tree is selected. The
+              value of the selection (true or false) is sent with this
+              event.
+              Note the args of this has changed from the previous release. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onselect" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This event gets triggered whenever this tree is selected. This
+              tree is sent with the event. The tree root also receives this
+              event. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onopen" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This event gets triggered whenever this tree is open. The open
+              value of this tree is also sent. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onfocused" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This event gets triggered whenever this tree is focused. The value
+              of the focus (true or false) is sent with this event. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="multiselect" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Meaningful only in root. Whether to multiselect items.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="isleaf" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, this basetree is a leaf node. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="focusselect" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Meaningful only in root. Flag to select a tree on focus.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="focusoverlay" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Meaningful only in root. If focusselect is false and focusoverlay
+              is true, then focus has a visual bracket overlay over the focused
+              tree. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="focused" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, this tree is focused.
+              @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="closesiblings" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Flag to close other siblings when this tree is open. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="closechildren" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Close all immediate children when this tree is closed. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="autoscroll" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Auto scroll if tree is clipped. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="debug" type="lzx:debug" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+     @lzxname debug
+     @keywords private_constructor
+     @access public
+     @topic LZX
+     @subtopic Debugging
+     @devnote NOTE [2008-11-25 ptw] Dummy class to hold documentation for debug tag
+     @devnote TODO [2008-11-26 ptw] Make this the real class!
+  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="debug" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="datacolumn" type="lzx:datacolumn" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ datacolumn contain a list of values of a series. List of values typically are data for x series,
+        y series, tooltip series and datalabel series.
+        @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="datacolumn" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="values" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ array of data representing the series values </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labeldatapath" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the name of the label in the datapath for the series </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="datatype" type="xs:string" default="string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ type of data: string or number </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="datadone" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ true when data had been loaded at least once </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="columndatapath" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the name of the column in the datapath for the series </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="hsplitpane" type="lzx:hsplitpane" >
+</xs:element>
+  <xs:complexType name="hsplitpane" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="sizer_width" type="xs:string" default="5" >
+</xs:attribute>
+      <xs:attribute name="rhs_placed" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="lhs_width_start" type="xs:string" default="180" >
+</xs:attribute>
+      <xs:attribute name="lhs_placed" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="lhs_min_width" type="xs:string" default="10" >
+</xs:attribute>
+      <xs:attribute name="lhs_max_width" type="xs:string" default="${this.width-20}" >
+</xs:attribute>
+      <xs:attribute name="bordersize" type="xs:string" default="1" >
+</xs:attribute>
+      <xs:attribute name="bordercolor" type="lzx:color" default="0x000000" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="mediastream" type="lzx:mediastream" >
+</xs:element>
+  <xs:complexType name="mediastream" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="url" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The url of the mediastream, maybe be relative URL, 
+          for example: http://localhost/myvideo.flv, or simply myvideo.flv
+          when type="rtmp" the url is always relative to the rtmpconnection.
+          @type String
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="type" type="xs:string" default="http" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Protocol "rtmp" or "http".
+          @type String
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="totaltime" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Total length (in seconds) of mediastream currently playing.
+          @type Number
+          @access public
+          @keywords readonly
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="time" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Current time of mediastream currently playing or recording (in seconds)
+          @type Number
+          @access public
+          @keywords readonly
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="streamname" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The rtmp streamname (without .flv suffix).
+          @type String
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="rtmp" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The rtmp connection to use (defaults to the first one created).
+          @type lz.rtmpconnection
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="recording" type="xs:string" default="${this.mode == 'recording'}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ True if recording right now.
+          @type Boolean 
+          @access public
+          @keywords readonly
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="progress" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Progress of mediastream currently downloading.
+          (from 0 for none to 1 for all).
+          @type Number
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="playing" type="xs:string" default="${(this.mode == 'playing') &amp;&amp; (!this.paused)}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ True if playing right now.
+          @type Boolean   
+          @access public
+          @keywords readonly
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="paused" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ True to pause playback. Named this way to pun with paused for animators.
+          @type Boolean
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onstop" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Event sent when playing or recording stops.
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onstart" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Event sent when playing or recording starts.
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onmetadata" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Event sent when metadata is received, whose parameter is a 
+    dictionary of metadata.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="oninsufficientbandwidth" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Event sent when insufficient bandwidth.
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="oncuepoint" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Event sent when a cue point occurs,
+          whose parameter is a dictionary of metadata.
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="mutevideo" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ True iff video is muted.
+          @type Boolean 
+          @access public
+          @keywords readonly
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="muteaudio" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ True iff audio is muted.
+          @type Boolean 
+          @access public
+          @keywords readonly
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="mode" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Mode: "" if doing nothing, "playing" if playing,
+          "broadcasting" if can be received, "recording" if recording.
+          Recording also implies can be received, i.e., broadcasting. 
+          Pausing does not affect the mode, unlike stopping.
+          @type String
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="mic" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A reference to the microphone. This must be set if broadcasting.
+          This is set automatically if the stream is a child of a videoview.
+          @type lz.microphone
+          @access public
+          @keywords readonly
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fps" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The current frames per second for playing video.
+          @type Number
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="debug" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ When true, print extra info to the debugger.
+          @type Boolean
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="cam" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A reference to the camera. This must be set if broadcasting.
+          This is set automatically if the stream is a child of a videoview.
+          @type lz.camera
+          @access public
+          @keywords readonly
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="buffertime" type="lzx:number" default="0.1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Amount of time (in seconds) to buffer before starting to display the 
+          stream.  For a publishing stream, bufferTime specifies how long the 
+          outgoing buffer can grow before the application starts dropping 
+          frames.
+          @type Number
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="broadcasting" type="xs:string" default="${(this.mode == 'broadcasting') || (this.mode == 'recording')}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ True if broadcasting right now.
+          @type Boolean 
+          @access public
+          @keywords readonly
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="autorewind" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, video will automatically rewind to the beginning
+          (and remain in a paused state) when playback ends.
+          @type Boolean
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="autoplayStart" type="xs:string" default="'either'" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Autoplay start argument passed to mediastream.play().
+          See the mediastream.play documentation for its values. 
+          @type String
+          @accesss public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="autoplayReset" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Autoplay reset argument passed to mediastream.play(). 
+          See the mediastream.play documentation for its values. 
+          @type Boolean
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="autoplayPause" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Autoplay pause argument passed to mediastream.play().
+          See the mediastream.play documentation for its values. 
+          @type Boolean
+          @access public
+     </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="autoplayLength" type="xs:string" default="'end'" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Autoplay length argument passed to mediastream.play(). 
+          See the mediastream.play documentation for its values. 
+          @type String
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="autoplay" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, video will start playing as soon as url is set.
+          @type Boolean
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="_plainfloatshadow" type="lzx:_plainfloatshadow" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The shadows width and height are set to the width and height of the view
+          it is trying to apply a shadow to.
+          @keywords private </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="_plainfloatshadow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="shadowsize" type="xs:string" default="1.5" >
+</xs:attribute>
+      <xs:attribute name="offsety" type="xs:string" default="10" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="scrollbar" type="lzx:scrollbar" >
+</xs:element>
+  <xs:complexType name="scrollbar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basescrollbar">
+      <xs:attribute name="disabledbgcolor" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If this is defined, it will be used as the scrollbar's background
+          color when it is disabled. If not provided, the scrollbar will use
+          the bgcolor of its closest parent that has a bgcolor defined.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="setter" type="lzx:setter" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A tag to declare or override attribute setter methods. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="setter" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+      <xs:attribute name="name" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A tag to declare or override attribute setter methods. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="args" type="xs:string" >
+</xs:attribute>
+  </xs:complexType>
+<xs:element name="basedatepicker" type="lzx:basedatepicker" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Abstract class for the datepicker.  The basedatepicker class
+          shows the days of the week in a typical month based layout.  Extend
+          this class to create a full featured UI of a datepicker, or just use
+          the datepicker component.
+    </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="basedatepicker" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecomponent">
+      <xs:attribute name="yinset" type="lzx:number" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The number if pixels from this.y to show the datepicker days 
+              @keywords public 
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="xinset" type="lzx:number" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The number if pixels from this.x to show the datepicker days 
+              @keywords public 
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="weekclass" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The weekclass to use for this basedatepicker 
+              @keywords public 
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showingyear" type="lzx:number" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The year that is currently showing in the datepicker.
+              @keywords public
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showingmonth" type="lzx:number" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The month that is currently showing in the datepicker.
+              @keywords public
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showingdate" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A Date object which represents the month to be shown. 
+              @keywords public 
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="selecteddatepickerday" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The datepickerday which has been selected. 
+              @keywords public  
+           </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="selecteddate" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The Date that is currently selected.
+              @keywords public </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="latestdate" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The latest date that is selectable. 
+              @keywords public </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hasfocus" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="earliestdate" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The earliest date that is selectable. 
+              @keywords public </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dayclass" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The dayclass to use for this basedatepicker 
+              @keywords public 
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="colorbox" type="lzx:colorbox" >
+</xs:element>
+  <xs:complexType name="colorbox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="obj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="color" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chartbgstyle" type="lzx:chartbgstyle" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ style for chart background
+      @access public
+      </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="chartbgstyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basestyle">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="myslider" type="lzx:myslider" >
+</xs:element>
+  <xs:complexType name="myslider" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:slider">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chartlegend" type="lzx:chartlegend" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A legend for charts and graphs. It is imperative
+        that this is declared at the very end of a chart.
+        (Of beta quality.) Due to a couple bugs in drawview,
+        performance is spotty in DHTML. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="chartlegend" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:drawview">
+      <xs:attribute name="titletextsize" type="lzx:number" default="12" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Size of the legend title's text. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="titleposition" type="xs:string" default="left" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The position of the title: left, right, center. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="titlecolor" type="lzx:color" default="#000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Color of the legend title's text. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="textsize" type="lzx:number" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Size of the text in legend items. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="textcolor" type="lzx:color" default="#000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Color of the text in legend items. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="resizetodata" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to resize the legend to the data.  If not, this will
+            use the specified width and height for the legend, and fit
+            legend items into this size to the best of its ability.  If so,
+            this will use a rough guess at legend item dimensions, and
+            resize the legend.  Accepted values: "tall", "wide", "$once{null}".
+            "tall" will make a taller legend, "wide" will make a wider legend,
+            "$once{null}" will not resize. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="posit" type="xs:string" default="right" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The position of the legend: left, right, top, bottom, manualleft,
+            manualright, manualtop, manualbottom.
+            If left or right, the legend will behave as though
+            resizetodata="tall" is in effect.  If top or bottom,
+            the legend will behave as though resizetodata="wide" is
+            in effect.  If manual, additional values must be set to
+            place and size legend, and the legend will fit the
+            legenditems within the legend to the best of its ability. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="pieradius" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Radius of the pie.  This helps determine placement. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="piepieces" type="xs:string" default="$once{[]}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Pie pieces associated with this legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="piececolors" type="xs:string" default="$once{[]}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Respective piece colors. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ltitle" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The legend title, if any. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendy" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If posit is 'manual', this sets the y coordinate of the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendx" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If posit is 'manual', this sets the x coordinate of the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendwidth" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If posit is 'manual', this sets the width of the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendvalues" type="xs:string" default="$once{[]}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The values to use in the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendheight" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If posit is 'manual', this sets the height of the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="itemnums" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Number of items in the legend. (a.k.a. Number of pie pieces.) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hlcolor" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The highlight color of individual legend items. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="charttype" type="xs:string" default="$once{typeof linechart != 'undefined' ?                 (parent instanceof lz.linechart ? 'line' : null) : null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The type of chart associated with this legend.
+            Currently, only needs to be specified if this
+            is used on a piechart. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="centery" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Center x coordinate of the pie.  This helps determine
+            placement. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="centerx" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Center x coordinate of the pie.  This helps determine
+            placement. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderwidth" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The width of the border around the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="border" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The color of the border around the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="backcolor" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The background color of the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basetabpane" type="lzx:basetabpane" >
+</xs:element>
+  <xs:complexType name="basetabpane" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecomponent">
+      <xs:attribute name="tabclass" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The tabclass to use to instantiate its associated tab. This
+              overrides the basetabs tabclass. Leave undefined here so that
+              basetabs can have it.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="tab" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The tab associated with this basetabpane.
+              @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="selected" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If a basetabpane is selected, then it will be shown.
+              Its associated tab will be also be selected. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_top" type="lzx:number" default="${parent.inset_top}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Top inset for basetabpane in tabs content. Default is basetabs's
+              inset_top. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_right" type="lzx:number" default="${parent.inset_right}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Right inset for basetabpane in tabs content. Default is basetabs's
+              inset_right. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_left" type="lzx:number" default="${parent.inset_left}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Left inset for basetabpane in tabs content. Default is basetabs's
+              inset_left. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_bottom" type="lzx:number" default="${parent.inset_bottom}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Bottom inset for basetabpane in tabs content. Default is basetabs's
+              inset_bottom. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="_dbg_lzvdrag" type="lzx:_dbg_lzvdrag" >
+</xs:element>
+  <xs:complexType name="_dbg_lzvdrag" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:state">
+      <xs:attribute name="ydoffset" type="xs:string" default="this.getMouse( 'y' )" >
+</xs:attribute>
+      <xs:attribute name="y" type="xs:string" default="${this.immediateparent.getMouse( 'y' ) - this.ydoffset}" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="b" type="lzx:b" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ HTML specific </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="b" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+  </xs:complexType>
+<xs:element name="scrolledittext" type="lzx:scrolledittext" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Implements visual baseedittext with scrollbar. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="scrolledittext" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baseedittext">
+      <xs:attribute name="vscrollbarclassname" type="xs:string" default="vscrollbar" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Name of class to instantiate for vertical scroll bar.
+              @keywords public </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="pos" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="maxtextheight" type="xs:string" default="${this.lineheight * this.maxscroll}" >
+</xs:attribute>
+      <xs:attribute name="maxheight" type="xs:string" default="${this.height + this.maxtextheight}" >
+</xs:attribute>
+      <xs:attribute name="border" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Implements visual baseedittext with scrollbar. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="a" type="lzx:a" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ HTML specific </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="a" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+      <xs:attribute name="target" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The value of this attribute determines where the link target will be displayed. The interpretation is the same as in HTML, where the "current frame" is the frame containing the LZX application. The value must be a name beginning with an alphabetic character, or one of the following:
+
+_blank
+    The user agent should load the designated document in a new, unnamed window. 
+_parent
+    The user agent should load the document into the full, original window (thus canceling all other frames). This value is equivalent to _self if the current frame has no parent. 
+_self
+    The user agent should load the document in the same frame as the element that refers to this target. 
+_top
+    The user agent should load the document into the immediate FRAMESET parent of the current frame. This value is equivalent to _self if the current frame has no parent. 
+
+	 </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="href" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 	The link target </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:complexType>
+<xs:element name="linechart" type="lzx:linechart" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A chart class that renders as lines.
+      Inherits from the chart class.
+      (Warning: Of beta quality.)
+      @access public
+      </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="linechart" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basechart">
+      <xs:attribute name="onminimum" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whenever minimum, maximum, altminimum and altmaximum are changed, the
+            chart needs to be redrawn entirely.  (Normally, tick and data labels aren't
+            redrawn, because it would be far too huge a resource drag to continually
+            break down and rebuild them whenever a person zoomed in.  Instead, they're
+            constrained to scale to the appropriate distances from each other.)  When
+            the mins and maxes are changed, however, the scaling gets thrown off for
+            existing objects.  These handlers ensures that when these values are changed,
+            the labels are broken down and redrawn. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onmaximum" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onaltminimum" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onaltmaximum" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="drawready" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Line drawview.  This draws all the lines of the chart. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="sessionrpc" type="lzx:sessionrpc" >
+</xs:element>
+  <xs:complexType name="sessionrpc" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:rpc">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="styleparser" type="lzx:styleparser" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private
+This class complete the chart style class in case the developer has not defined the chart styles </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="styleparser" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="style" type="xs:string" default="${null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The user's defined style. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="isleaf" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Test if the current style's node has no more children </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="haschildren" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Test if the current style's node has children </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="defaultstyle" type="xs:string" default="${null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The dafault defined style. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="tickstyle" type="lzx:tickstyle" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ tickstyle is used by the axis style to render major and minor ticks on a chart.
+     NOTE: tickstyle extends linestyle
+     @access public
+     </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="tickstyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:linestyle">
+      <xs:attribute name="position" type="xs:string" default="inside" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ inside | outside | centered | none  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="length" type="lzx:number" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ length of tick in pixels perpendicualr to the axis </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="constantboundslayout" type="lzx:constantboundslayout" >
+</xs:element>
+  <xs:complexType name="constantboundslayout" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:layout">
+      <xs:attribute name="value" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The constant value that is applied to the attribute
+              ( defined in 'axis' as 'x' or 'y' ) of each subview in the layout. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="axis" type="xs:string" default="y" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The axis in which this layout operates either 'x' or 'y'.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="printer" type="lzx:printer" >
+</xs:element>
+  <xs:complexType name="printer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="i" type="lzx:i" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ HTML specific </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="i" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+  </xs:complexType>
+<xs:element name="valuepointstyle" type="lzx:valuepointstyle" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ valuepointstyle is used to set style to the 
+     NOTE: valuelinestyle extends basestyle
+     @access public
+     </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="valuepointstyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basestyle">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="u" type="lzx:u" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ HTML specific </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="u" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+  </xs:complexType>
+<xs:element name="hscrollbar" type="lzx:hscrollbar" >
+</xs:element>
+  <xs:complexType name="hscrollbar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basescrollbar">
+      <xs:attribute name="disabledbgcolor" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If this is defined, it will be used as the scrollbar's background
+          color when it is disabled. If not provided, the scrollbar will use
+          the bgcolor of its closest parent that has a bgcolor defined.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="legend" type="lzx:legend" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+     simple legend class
+     @access public
+      </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="legend" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:drawview">
+      <xs:attribute name="verticalgap" type="lzx:number" default="4" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="topmargin" type="lzx:number" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="styleBorder" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates the style will be applied tho the border legend box </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="rightmargin" type="lzx:number" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="position" type="xs:string" default="right" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates where the legend box will be positioned, default: right </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onitemmouseup" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ event that allows custom action for mouse up event
+            @param Number item: The identifier legend item
+         </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onitemmouseover" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ event that allows custom action for mouse over event
+            @param Number item: The identifier legend item
+         </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onitemmouseout" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ event that allows custom action for mouse out event
+            @param Number item: The identifier legend item
+         </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onitemmousedown" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ event that allows custom action for mouse down event
+            @param Number item: The identifier legend item
+         </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onitemmouseclick" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ event that allows custom action for mouse click event
+            @param Number item: The identifier legend item
+         </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendborder" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates if legend box will have a border, default: true </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendFontsize" type="lzx:size" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates the Font size wiil be used in the legend item text, default: 10px </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendFontcolor" type="lzx:color" default="0x000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates the Font color wiil be used in the legend item text, default: black </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendFont" type="xs:string" default="serif" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates the Font will be used in the legend item text </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="leftmargin" type="lzx:number" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fillColor" type="lzx:color" default="0xFFFFFF" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Allow to set the fill color from the legend tag </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="direction" type="xs:string" default="vertical" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates how the legend items will be displayed, default: vertical </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="chartClassName" type="xs:string" default="${null}" >
+</xs:attribute>
+      <xs:attribute name="chart" type="xs:string" default="${null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Takes the relationship with the chart </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bottommargin" type="lzx:number" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderWidth" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Allow to set the line width from the legend tag </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderColor" type="lzx:color" default="0x000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Allow to set the color line from the legend tag </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="p" type="lzx:p" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ HTML specific </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="p" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+  </xs:complexType>
+<xs:element name="library" type="lzx:library" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The &lt;library&gt; tag defines the root element of a library file. An application can use the &lt;include&gt; tag to include the code in a library file.
+
+See the Guide for a complete discussion. Also see the &lt;include&gt; tag. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="library" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="validate" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If false, disables validation against the schema during compilation. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="proxied" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The &lt;library&gt; tag defines the root element of a library file. An application can use the &lt;include&gt; tag to include the code in a library file.
+
+See the Guide for a complete discussion. Also see the &lt;include&gt; tag. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="javarpc" type="lzx:javarpc" >
+</xs:element>
+  <xs:complexType name="javarpc" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:rpc">
+      <xs:attribute name="scope" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ One of 'session', 'webapp', or 'none' to set the scope of the
+              remote object. This attribute must be set before creating or
+              loading the object. If scope is 'session' or 'webapp', name or
+              attributename must be set. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="remoteclassname" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The remote class name associated with the remote object. This must
+              be set if creating the remote object. If loading the object, the
+              classname will be set during onload. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="objectreturntype" type="xs:string" default="pojo" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Used to determine what server-side object member values are
+              returned to the client. One of 'pojo' (returns public member
+              values) or 'javabean' (returns members that have associated
+              getters). Default is 'pojo' (plain old java object). </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="loadoption" type="xs:string" default="loadcreate" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ One of 'loadcreate', 'loadonly', or 'create'. 'Loadcreate' tries
+              to load javarpc object if it exists in the server, else it creates
+              it before loading. 'Loadonly' will only load object if it exists,
+              else an error is returned. 'Create' will always create the object
+              in the server. Default is 'loadcreate'. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="createargs" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Used if loadoption='loadcreate' or loadoption='create'. Arguments
+              to construct remote object with. The value passed in must be an
+              array, e.g., [1, 'mystring', 1.45]. Default is null. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="attributename" type="xs:string" default="$once{this.name}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Attribute name of server remote object. Name or attributename must
+              be set when scope is 'session' and 'webapp'. Default is the name
+              of this object. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chart" type="lzx:chart" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+        chart is the base class representing a chart. In general,
+        this class is not instantiated directly. A chart contains 
+            at least one dataseries element 
+            at least one axis element 
+        The chart needs to look at its dataseries children and pass 
+        the relevant dataseries to each axis. Relevent dataseries 
+        for the chart must have columns for each of the axes 
+        that the chart cares about.  
+        @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="chart" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecomponent">
+      <xs:attribute name="zoomEnabled" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ enable zoom</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="verticalGap" type="lzx:number" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The vertical blank space between components. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="valueregionsenabled" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ enable value region </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="valuepointsenabled" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ enable value points </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="valuelinesenabled" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ enable value lines </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="topMargin" type="lzx:number" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The blank space bordering the top of the chart area. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="rightMargin" type="lzx:number" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The blank space bordering the right side of the chart area. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="plotarea" type="xs:string" default="${null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="leftMargin" type="lzx:number" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The blank space bordering the left side of the chart area. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="initdone" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ subview have  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="horizontalGap" type="lzx:number" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The horizontal blank space between components. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="defaultstyle" type="xs:string" default="${defaultchartstyle}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The default style to be applied to the chart. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="defaultRightMargin" type="lzx:number" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The default blank space bordering the right side of the chart area. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="datatipEnabled" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ enable tooltip for data </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="datatipColumn" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ data column name of the tooltip </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="datalabelEnabled" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ enable data label </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="datalabelColumn" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ data column name of the data label </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="databorderEnabled" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="dataPointsEnabled" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ enable data point(data marker) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bottomMargin" type="lzx:number" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The blank space bordering the bottom of the chart area. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="resizestate" type="lzx:resizestate" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ resizes its immediateparent in response to mouse events, when applied </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="resizestate" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:state">
+      <xs:attribute name="width" type="xs:string" default="${this.immediateparent.getMouse( 'x' )- this.__resize_xroffset}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="height" type="xs:string" default="${this.immediateparent.getMouse( 'y' )- this.__resize_yroffset}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="lzcombobox" type="lzx:lzcombobox" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Subclass of basedatacombobox with laszlo mail look. See basedatacombobox for
+          details. Usage:
+          &lt;code&gt;
+          &lt;dataset name="dsHours"&gt;
+              &lt;item value="1"&gt;1&lt;/item&gt;
+              &lt;item value="2"&gt;2&lt;/item&gt;
+              &lt;item value="3"&gt;3&lt;/item&gt;
+              &lt;item value="4"&gt;4&lt;/item&gt;
+              &lt;item value="5"&gt;5&lt;/item&gt;
+              &lt;item value="6"&gt;6&lt;/item&gt;
+              &lt;item value="7"&gt;7&lt;/item&gt;
+              &lt;item value="8"&gt;8&lt;/item&gt;
+              &lt;item value="9"&gt;9&lt;/item&gt;
+              &lt;item value="10"&gt;10&lt;/item&gt;
+              &lt;item value="11"&gt;11&lt;/item&gt;
+              &lt;item value="12"&gt;12&lt;/item&gt;
+          &lt;/dataset&gt;
+
+          &lt;lzcombobox width="50" shownitems="3" itemdatapath="dsHours:/item"&gt;
+              &lt;handler name="onselect" args="dptr"&gt;
+                  Debug.write('value:', this.value);
+                  Debug.write('datapointer:', dptr);
+              &lt;/handler&gt;
+          &lt;/lzcombobox&gt;
+          &lt;/code&gt;
+    </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="lzcombobox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basedatacombobox">
+      <xs:attribute name="tooltip" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ tooltip text, if any </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="texty" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="textx" type="xs:string" default="8" >
+</xs:attribute>
+      <xs:attribute name="frnum" type="xs:string" default="1" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="splash" type="lzx:splash" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Controls the presentation while the application is loading.  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="splash" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="y" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="x" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="resource" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="ratio" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="persistent" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Controls the presentation while the application is loading.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="center" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="ticks" type="lzx:ticks" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="ticks" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:drawview">
+      <xs:attribute name="numticks" type="xs:string" default="2" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="opttree" type="lzx:opttree" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A keyboard navigable (with arrow keys) tree control that supports 
+         selection and dynamic data loading. This tree must be backed by an
+         XML DOM datastructure and presented within a clipping region. 
+         
+         The datapath for an opttree must resolve to a single LzDataElement
+         which is the undisplayed root of the tree. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="opttree" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="openattrpath" type="xs:string" default="@__OPTTREE_META_open" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ (Protected) An xpath that selects the openattr attribute from
+              a node. This should match openattr but prepend the '@' symbol.
+              This cannot be when=always or when=once because it is used as
+              a reference in a $path expression in baseopttreenode </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="openattr" type="xs:string" default="__OPTTREE_META_open" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ (Protected) The attribute name to use in the data to mark a
+              a node as open.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="nodepath" type="xs:string" default="*" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The xpath expression to use to retrieve nodes out of the 
+              datapath. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="nodelist" type="xs:string" default="nodecollection" >
+</xs:attribute>
+      <xs:attribute name="nodecollection" type="xs:string" default="${ opttreecontroller.nodelist }" >
+</xs:attribute>
+      <xs:attribute name="nodeclass" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The name of the class to use to represent nodes in the tree.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="movedel" type="xs:string" default="$once{ new lz.Delegate( this, '_updatePos' ) }" >
+</xs:attribute>
+      <xs:attribute name="highlighted" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The keyboard nav highlighted baseopttreenode or null. This
+              attribute is read-only. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dragged" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="dragee" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="depthattrpath" type="xs:string" default="@__OPTTREE_META_depth" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ (Protected) An xpath that selects the depthattr attribute from
+              a node. This should match depthattr but prepend the '@' symbol.
+              This cannot be when=always or when=once because it is used as
+              a reference in a $path expression n baseopttreenode </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="depthattr" type="xs:string" default="__OPTTREE_META_depth" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ (Protected) The attribute name to use in the data to mark a
+              a node's depth in the tree hierarchy </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="lzedittext" type="lzx:lzedittext" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Implements the laszlo look of baseedittext. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="lzedittext" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baseedittext">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="piepiece" type="lzx:piepiece" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private 
+   Represents a single pie slice in the chart </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="piepiece" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:drawview">
+      <xs:attribute name="yRadius" type="lzx:number" default="${null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The y radius of the slice. default = null </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="tooltip" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private 
+   Represents a single pie slice in the chart </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="radius" type="lzx:number" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The length of the radius in pixels </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="piecevalue" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The numeric value of the piece. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="pieceradius" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The radius of the whole pie. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="pieceopacity" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The opacity of the piece.  Determined by attributes on dataseries. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="piececolor" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The color of the piece.  Determined by attributes on dataseries. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onexploded" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The events that handle explosion of pieces. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="label" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The data label of this pie slice </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="exploded" type="lzx:boolean" default="${parent.wedgeover == this}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether this piece is moused over or not. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="explode" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to actually move the piece outward when the mouse is over it. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="centery" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The y coordinate of the center of the pie. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="centerx" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The x coordinate of the center of the pie. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderwidth" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The width of the border of the piece.  Determined by attributes
+            on dataseries. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bordercolor" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The color of the border of the piece.  Determined by attributes
+            on dataseries. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="arcvalue" type="lzx:number" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The segment of the circle that defines the current pie slice </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="angle" type="lzx:number" default="25" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="datevalidator" type="lzx:datevalidator" >
+</xs:element>
+  <xs:complexType name="datevalidator" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basevalidator">
+      <xs:attribute name="invalidyearErrorstring" type="xs:string" default="Please enter a year between 0 and 9999." >
+</xs:attribute>
+      <xs:attribute name="invalidmonthErrorstring" type="xs:string" default="Please enter a month between 1 and 12." >
+</xs:attribute>
+      <xs:attribute name="invalidformatErrorstring" type="xs:string" default="Please input the date in a valid format." >
+</xs:attribute>
+      <xs:attribute name="invaliddateErrorstring" type="xs:string" default="Please enter a valid date." >
+</xs:attribute>
+      <xs:attribute name="format" type="xs:string" default="mm/dd/yyyy" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="br" type="lzx:br" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ HTML specific </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="br" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+  </xs:complexType>
+<xs:element name="basescrolltrack" type="lzx:basescrolltrack" >
+</xs:element>
+  <xs:complexType name="basescrolltrack" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basebuttonrepeater">
+      <xs:attribute name="direction" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The direction in which the scroll should move. Set to -1 for back,
+             1 for forward. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="vbox" type="lzx:vbox" >
+</xs:element>
+  <xs:complexType name="vbox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="spacing" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="inset" type="xs:string" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="remotecall" type="lzx:remotecall" >
+</xs:element>
+  <xs:complexType name="remotecall" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="remotecontext" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If set, this is the remote object context in which funcname is run
+              from. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onerror" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This event is triggered when an error occurs. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inforeturnvalue" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, a remote response returns an object. The object of a
+             successful response will contain the return value (data), an object
+             containing specific information about the request (info), and the
+             associated unique sequence request number (seqnum), e.g., { data:
+             ..., info: ..., seqnu: ...}. A failure response returns an object
+             that contains the error message (message), the error type (error),
+             an object containing specific information about the request (info),
+             and the associated unique sequence request number (seqnum), e.g., {
+             message: ..., error: ..., info: ..., seqnum: ...}. If false, an
+             error just returns the error message and a successful response
+             returns a value. Default is false. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="funcname" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Name of remote function this remotecall refers. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dataobject" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If an LzDataset or an LzDataElement is set, return values will
+              be mapped into the dataobject. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basescrollarrow" type="lzx:basescrollarrow" >
+</xs:element>
+  <xs:complexType name="basescrollarrow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basebuttonrepeater">
+      <xs:attribute name="direction" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The direction in which the scroll should move. Use -1 to go
+                  back. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="zoomarea" type="lzx:zoomarea" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ chart zoom area </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="zoomarea" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basezoomarea">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="simpleslider" type="lzx:simpleslider" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="simpleslider" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:custombaseslider">
+      <xs:attribute name="value" type="xs:string" default="this.minlimit + this.knob.x * this.valueratio" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="minx" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="maxx" type="xs:string" default="$once{parent.width}" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="hbox" type="lzx:hbox" >
+</xs:element>
+  <xs:complexType name="hbox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="spacing" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="inset" type="xs:string" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="timetext" type="lzx:timetext" >
+</xs:element>
+  <xs:complexType name="timetext" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:text">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="plotstyle" type="lzx:plotstyle" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ style for plot area
+      @access public
+      </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="plotstyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basestyle">
+      <xs:attribute name="linesize" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ size of border of the plot area </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="linecolor" type="lzx:color" default="${null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ color of the border for the plot area </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fillcolor" type="lzx:color" default="0xFFFFFF" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ bgcolor for the plot area </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="wholepie" type="lzx:wholepie" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This is the class that assembles and contains all the elements
+        of an individual pie.  Nearly all of the attributes are set when the
+        object is instantiated by piechart.  There should be one of these
+        for each dataseries.  (Of beta quality.) </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="wholepie" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="wedgeover" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Wedge the mouse is currently over </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showlegendminimized" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to show the legend when the chart is minimized, when
+            there are multiple charts. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="radiusvalues" type="xs:string" default="$once{[]}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An array of the radius alterations for pie
+            pieces, if any. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="piecevalues" type="xs:string" default="$once{[]}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An array of the values of individual pieces. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="opacvalues" type="xs:string" default="$once{[]}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An array of piece opacity values. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ltitle" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Title of the legend, if any. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="lhlcolor" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Highlight color of an individual legend element, when
+            moused over. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendy" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If legend is 'manual', this sets the y coordinate of the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendx" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If legend is 'manual', this sets the x coordinate of the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendwidth" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If legend is 'manual', this sets the width of the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendvalues" type="xs:string" default="$once{[]}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An array of the values to use in the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendtitleposition" type="xs:string" default="left" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The position of the title: left, right, center. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendheight" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If legend is 'manual', this sets the height of the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legend" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to include a legend, and if so, where to place it. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="lborderwidth" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Border width of the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="lborder" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Border color for the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="lbgcolor" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Background color of the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelvalues" type="xs:string" default="$once{[]}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An array of the label values for pie pieces. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labeltsize" type="xs:string" default="$once{[]}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An array of label text sizes for pie pieces. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labeltcolor" type="xs:string" default="$once{[]}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An array of label text colors for pie pieces. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelcolors" type="xs:string" default="$once{[]}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An array of label colors for pie pieces. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelbwidth" type="xs:string" default="$once{[]}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An array of label border widths for pie pieces. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelborders" type="xs:string" default="$once{[]}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An array of label borders for pie pieces. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="explode" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether or not to explode the pie pieces onmouseover. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="expanded" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If there are multiple charts, this indicates whether this chart
+            is currently expanded. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="drawbgborder" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to draw the background border around the circle
+            behind the pie pieces, and if so, what color. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="drawbg" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to draw the background circle behind the pie pieces,
+            and if so, what color. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="colorvalues" type="xs:string" default="$once{[]}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An array of the colors of individual pieces. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderwidths" type="xs:string" default="$once{[]}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An array of border widths of individual pieces. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bordercolors" type="xs:string" default="$once{[]}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An array of border colors of individual pieces. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bgborderwidth" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The width of the background border around the circle
+            behind the pie pieces. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="statictext" type="lzx:statictext" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A simple text class that provide default font attributes for
+          Laszlo components. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="statictext" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:text">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="purplestyle" type="lzx:purplestyle" >
+</xs:element>
+  <xs:complexType name="purplestyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:style">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="custombaseslider" type="lzx:custombaseslider" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="custombaseslider" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="valueratio" type="xs:string" default="(this.maxlimit  - this.minlimit) / this.width" >
+</xs:attribute>
+      <xs:attribute name="startlabel" type="xs:string" default="this.minlimit" >
+</xs:attribute>
+      <xs:attribute name="minordivision" type="xs:string" default="5" >
+</xs:attribute>
+      <xs:attribute name="minlimit" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="maxlimit" type="xs:string" default="100" >
+</xs:attribute>
+      <xs:attribute name="majordivision" type="xs:string" default="2" >
+</xs:attribute>
+      <xs:attribute name="endlabel" type="xs:string" default="this.maxlimit" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basebutton" type="lzx:basebutton" >
+</xs:element>
+  <xs:complexType name="basebutton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecomponent">
+      <xs:attribute name="respondtomouseout" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If this button does not respond to onmouseout or onmousedragout
+              events, set this flag to false. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="resourceviewcount" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The first 'n' subviews that will respond to mouseevents by
+              changing the frame number of their resource. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="reference" type="xs:string" default="this" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Where to send mouse events (the view that will be "clickable").
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="overResourceNumber" type="lzx:number" default="2" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The resource for the mouse over state. 
+              Use 0 if the resource has at least 2 frames, but there is no over
+              state.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onresourceviewcount" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This event is sent when the resourceviewcount changes. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="normalResourceNumber" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The resource for the mouse up state, and initial state of the
+              button.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maxframes" type="lzx:number" default="$once{this.totalframes}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The maximum number of frames to use, defaults to the number of
+              frames for the resource associated with this view. This is useful
+              for a subclass that has no resource for this view.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="downResourceNumber" type="lzx:number" default="3" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The resource for the mouse down state.
+              Use 0 if the resources has at least 3 frames, but there is no down
+              state.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="disabledResourceNumber" type="lzx:number" default="4" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The resource for the disabled state.
+              Use 0 if the resource has at least 4 frames, but there
+              is no disabled state.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="PopupPolygon" type="lzx:PopupPolygon" >
+</xs:element>
+  <xs:complexType name="PopupPolygon" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:polygonhotspot">
+      <xs:attribute name="text" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="parentView" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="text" type="lzx:text" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+The basic text display element. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="text" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="yscroll" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  The y scroll offset of the content in pixels (a negative number specifying how many pixels the content should be scrolled vertically). Default 0. NOTE: A constraint or handler on onyscroll will automatically enable updating the attribute. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="xscroll" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  The x scroll offset of the content in pixels (a negative number specifying how many pixels the content should be scrolled horizontally). Default 0. NOTE: A constraint or handler on onxscroll will automatically enable updating the attribute. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="thickness" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  The thickness for this text, between -200 and 200, Flash only</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="textindent" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  textindent accepts any number which is interpreted as a px value</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="textdecoration" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  text-decoration for this text, either 'none' or 'underline'.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="textalign" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  textalign accepts one of [left, right, center, justify]</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="text" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  The text to display in this text field. If set to a value that is not a string, the value will first be converted to a string as if by String(value). To display nothing, set the value to the empty string "". </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="sharpness" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  The sharpness for this text, between -400 and 400, Flash only</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="selectable" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  If true, the text is selectable </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="scrollwidth" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  The total width of the content in pixels. this.setAttribute('width', this.scrollwidth) is equivalent to this.setAttribute('width', null) (for the current content: the former will not follow content changes as the latter does). If this.scrollwidth &gt; this.width, this.setAttribute('yscroll', this.width - this.scrollwidth) will cause the end of content to be visible at the edge of the view. (The rightmost content will appear at the right edge of the view for left-to-right scripts.) NOTE: A constraint or handler on onscrollwidth will automatically enable updating the attribute. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="scrollheight" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  The total height of the content in pixels. this.setAttribute('height', this.scrollheight) is equivalent to this.setAttribute('height', null) (for the current content: the former will not follow content changes as the latter does). If this.scrollheight &gt; this.height, this.setAttribute('yscroll', this.height - this.scrollheight) will scroll the content so that the bottom of the content appears in the bottom of the view. NOTE: A constraint or handler on onscrollheight will automatically enable updating the attribute. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="scrollevents" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  Use setAttribute('scrollevents', true) to cause scroll events to be sent. NOTE: A constraint or handler on onyscroll, onscroll, onxscroll, onhscroll, onscrollheight, onmaxscroll, onscrollwidth or onmaxhscroll will automatically enable scrollevents. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="scroll" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  The vertical scroll position (in lines, 1-based). Default 1.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="resize" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  If true, the width of the text field will be recomputed each time text is changed, so that the text view is exactly as wide as the width of the widest line. Defaults to true. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="pattern" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  regexp describing set of characters allowed in this field Restrict the characters that can be entered to a pattern specified by a regular expression. Currently only the expression [ ]* enclosing a set of characters or character ranges, preceded by an optional "^", is supported. examples: [0-9]* , [a-zA-Z0-9]*, [^0-9]* </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onyscroll" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onxscroll" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="ontextlink" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onselectable" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onscrollwidth" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onscrollheight" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onscrollevents" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onscroll" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onpattern" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onmaxscroll" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onmaxlength" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onmaxhscroll" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onlineheight" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onhscroll" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="ondirection" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="multiline" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  If true, the lines of text are wrapped to fit within the text width. (The name multiline is a misnomer. Unwrapped text can be multiple lines if it contains a &lt;br /&gt; or &lt;p&gt; element, or a line break within a &lt;pre&gt; element. This attribute defaults to true if width and height are explicitly specified. If you set multiline=true, you probably want to explicitly a width for the text also; if multiline=true and you do not specify a width, the system will pick an arbitrary width (100 pixels at the moment). When multiline=true, the text is automatially re-wrapped whenever the content is modified by calls to setText, or whenever the width of the text view is modified. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maxscroll" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  The maximum vertical scroll position (in lines, 1-based). this.setAttribute('scroll', this.maxscroll) will cause the last line of the content to be visible at the bottom of the view (hence this is the line number of the line that will appear at the top of the view when scrolled all the way to the bottom). NOTE: A constraint or handler on onmaxscroll will automatically enable updating the attribute.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maxlength" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  Maximum number of characters allowed in this field </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maxhscroll" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  The maximum horizontal scroll position in pixels. this.setAttribute('hscroll', this.maxhscroll) will cause the end of content to be visible at the edge of the view. (The rightmost content will appear at the right edge of the view for left-to-right scripts, hence this is the pixel position of the leftmost pixel that will appear in the view when scrolled all the way to the right.) NOTE: A constraint or handler on onmaxhscroll will automatically enable updating the attribute. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="lineheight" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The height of a line of text in the current style </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="letterspacing" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  letterspacing accepts any number which is interpreted as a px value </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hscroll" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  The horizontal scroll position in pixels. Default 0. NOTE: A constraint or handler on onhscroll will automatically enable updating the attribute. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="gridFit" type="xs:string" default="none|pixel|subpixel" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  Grid fit for this text, Flash only One of:  "none" | "pixel" | "subpixel" </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="direction" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  Text direction, either "ltr" (default) or "rtl", Flash only </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="cdata" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  An alias for the text attribute, but with the type cdata, allowing it to be bound to a value that should not be interpreted as markup (when data binding, CSS style binding, or ??? or ???). </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="antiAliasType" type="xs:string" default="normal|subpixel|advanced" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Antialias type for this text, Flash only One of:  "normal" | "subpixel" | "advanced" </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="submit" type="lzx:submit" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Associates a form with a dataset. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="submit" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="status" type="xs:string" default="ok" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Read-only status of data request. Possible values are 'ok',
+              'requesting', and 'error'. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="error" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Error from most recent response or empty string; cleared to empty
+              string each time a request on the dataset is made. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dataset" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The dataset that specifies the request url, which will also hold
+              the result of the query. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basetabscontent" type="lzx:basetabscontent" >
+</xs:element>
+  <xs:complexType name="basetabscontent" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecomponent">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chartactionhelper" type="lzx:chartactionhelper" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private 
+        class that help with the zoom animation and undo ability
+    </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="chartactionhelper" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="chart" type="xs:string" default="${null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private 
+        class that help with the zoom animation and undo ability
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="animateProgress" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="actionlist" type="xs:string" default="[]" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="TestResult" type="lzx:TestResult" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+  A TestResult accumulates the results of a test run: the total number
+  of tests run, the number of failures, and the number of errors.  A
+  TestResult is automatically created by a TestSuite and included as
+  its first child view so the results of the test suite will be
+  displayed.
+
+  See the documentation for &lt;xref linkend="lz.TestSuite"/&gt;
+  for an example of this tag.
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="TestResult" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:DebugObject">
+      <xs:attribute name="messages" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="lzcombobox_item" type="lzx:lzcombobox_item" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Class used as the default item class in lzcombobox. See lzcombobox's
+          itemclassname attribute. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="lzcombobox_item" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basedatacombobox_item">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basesliderthumb" type="lzx:basesliderthumb" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Basesliderthumb expects to be within a baseslidertrack (or its
+          subclass). In other words, its "classroot" should be a slidertrack. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="basesliderthumb" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:button">
+      <xs:attribute name="showvalue" type="xs:string" default="${this.parent.parent.showvalue}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Toggles the floating value text when dragging thumb. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="canvas" type="lzx:canvas" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 
+The canvas is the container for all views within an application.
+
+The lz.canvas class represents the viewable area of the application. There is one instance of lz.canvas, named canvas. The canvas contains all views within an application.
+
+The &lt;canvas&gt; tag is the document root of an LZX application file. It contains class, resource, and font definitions, library includes, and view and other instances.
+
+See the Guide for a complete discussion of the &lt;canvas&gt; tag. 
+ </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="canvas" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="title" type="xs:string" default="string" >
+</xs:attribute>
+      <xs:attribute name="scriptlimits" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+   A CSS declaration of property: value pairs used to advise the underlying runtime of desired recursion and timeout limits. Not all runtimes respect this advice. The default value is runtime dependent, but typically recursion is at least 100 and timeout at least 10 (seconds). Example: scriptlimits="recursion: 256, timeout: 15"</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="screenorientation" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+   Used to tell what the screen orientation is, 'portrait' or 'landscape' </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="runtime" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+   A String describing the target runtime. "dhtml" | "swf8" | "swf9" | "swf10" are currently supported. Others are in development.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="proxied" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, requests for data and media are proxied through LPS server. if false, requests are made directly to target URLs. if inherit, inherit from lzproxied query arg. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="percentcreated" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+   A number from 0-1 that represents the percentage of the app that has been instantiated.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="medialoadtimeout" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+   If present, specifies the default timeout in milliseconds for media load requests </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="mediaerrortimeout" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+   If present, specifies the default timeout in milliseconds for media errors. An error occurs when no bytes have been received. This is used in Flash to detect media loads that have failed due to the security policy. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="lpsversion" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ version number of the LPS that generated this application (for .lzo files, this is the version number of the server that generated the optimized file, not the one that served it). </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="lpsrelease" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+   release of the LPS that generated this application (for .lzo files, this is the release of the server that generated the optimized file, not the one that served it). </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="lpsbuilddate" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+   A String specifying the date and time of the LPS build. "2007-03-05T15:33:42-0800" </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="lpsbuild" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+   A String specifying the LPS build revision and the build directory: e.g. "4075 /Users/maxcarlson/openlaszlo/legals" </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="httpdataprovider" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+   
+httpdataprovider is bound to the system default HTTP DataProvider.
+This will be an instance of LzHTTPDataProvider, which implements HTTP request transport. The default value of the canvas.defaultdataprovider is initially set to point to this same object. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fullscreen" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+   Used to switch into fullscreen display mode or back to normal display. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="framerate" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The framerate that should be used for this application </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="defaultdataprovider" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 
+defaultdataprovider is bound to the system default DataProvider.
+By default, this will be an instance of LzHTTPDataProvider, which will also be pointed to by the canvas.httpdataprovider. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="debug" type="xs:string" default="boolean" >
+</xs:attribute>
+      <xs:attribute name="datasets" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+   Dictionary of all named datasets. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dataloadtimeout" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+   If present, specifies the default timeout in milliseconds for data load requests </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="appbuilddate" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  A String specifying the date and time of the application build. "2008-09-12T14:15:12Z" </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="allowfullscreen" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether fullscreen display state is supported for the SWFx runtimes. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="label" type="lzx:label" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+      An abstract class that applies all features label.
+      @access public
+      </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="label" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:drawview">
+      <xs:attribute name="style" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the style will be applied
+            @keyword private</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="rvaly" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The original y value for this label. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="rvalx" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The original x value for this label. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ltextsize" type="lzx:number" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The text size of this label. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ltext" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The text of this label. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ltcolor" type="lzx:color" default="#000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The color of the text of this label. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="lbwidth" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The width of the border of this label. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="lborder" type="lzx:color" default="#000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The color of the border of this label. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fadein" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to initially fade this label in. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="enableCache" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="rte" type="lzx:rte" >
+</xs:element>
+  <xs:complexType name="rte" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:html">
+      <xs:attribute name="wrapperfile" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Location of the html wrapper file used by the editor.
+          An empty string (default) loads the system wrapper file.
+          If a custom wrapper file is used, the path is relative to where
+          the application runs from.
+          @initarg String
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="toolbar_order" type="xs:string" default="undo,redo,|,cut,copy,paste,|,bold,italic,underline,strikethrough,|,insertOrderedList,insertUnorderedList,indent,outdent,|,justifyLeft,justifyRight,justifyCenter,justifyFull,|,foreColor,hiliteColor,|,createLink,unlink,insertImage,|,print,smiley,||,fontName,fontSize" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ dijit.Editor toolbar order. The list of items to show in the editor
+          toolbar. The default is to show all toolbar features.
+          A '|' inserts a separator between blocks of toolbars. 
+          A '||' will force a linebreak in the toolbar.
+          @initarg String
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="text" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The initial value of the text to edit. The text is updated while
+          the rte is running.
+          @type html
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ontext" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The ontext event is generated whenever the rte text content changes. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="oneditorready" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The oneditor event is generated whenever the rte editor is completely loaded. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="on_text" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="on_rte_loaded" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="on_editorready" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="extra_plugins" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Comma-separated list of additional dijit.Editor plugins to load.
+          An empty string (default) will load only the plugins used by default.
+          @initarg String
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="editorready" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, the rte editor is ready to receive commands
+          @type Boolean
+          @access public
+          @keywords readonly
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dojo_theme" type="xs:string" default="tundra" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ dojo theme to use. Default value is 'tundra'
+          Other values in dojo 1.5 are soria, nihilo, claro
+          @initarg String
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dojo_root" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ root url where Dojo library is loaded. An empty string (default)
+          will load the library from Google. This path must end with a '/'.
+          For example, if you have a local version located at /trunk, 
+          you would specify something like '/trunk/dojo-release-1.5.0/'.
+          @initarg String
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dojo_locale" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ dojo locale to use. Default value is '' which will use the
+          locale from the browser.
+          @initarg String
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dojo_js" type="xs:string" default="dojo/dojo.js" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Dojo library to load (relative to dojo_root). This value is
+          ignored if dojo_root is empty. Default value is 'dojo/dojo.js'.
+          If you want to load an uncompressed version of dojo, specify
+          'dojo/dojo.js.uncompressed.js'
+          @initarg String
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dojo_css" type="xs:string" default="dijit/themes/" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Dojo stylesheet root (relative to dojo_root). This value is
+          ignored if dojo_root is empty. Default value is 'dijit/themes/'
+          @initarg String
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="script" type="lzx:script" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Client executed script </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="script" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+      <xs:attribute name="src" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Client executed script </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:complexType>
+<xs:element name="datapointer" type="lzx:datapointer" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+The binder between data and nodes.
+Datapaths are used to merge data hierarchies with the hierarchy of an OpenLaszlo application. This is done using the the XPath syntax supported by lz.datapointer. When a node is given a datapath attribute, a datapath with the given value as its XPath is created. If the datapath retrieves a node (i.e. it doesn't terminate in an attribute getter or a () operator) then the node is mapped to that data context and all child nodes will implicitly share the datacontext, but no further action is taken. If the datapath retrieves data, rather than just a node, a few extra things happen. First, the node's data property is set and the node's ondata event is sent. Second, the node's applyData method is called with the data as the argument. In cases where a datapath matches more than one data node, the view with the matching datapath is replicated once for each data node that matches, and a lz.ReplicationManager takes over the view's spot in its parent.
+
+When a node is replicated, an LzReplicationManager takes it's place, and an onclones will be sent when the node's clones are updated.
+
+A node can only have one datapath, and datapaths always have the name datapath. Additional options available on datapath such as pooling and replication are specified by writing the &lt;datapath&gt; tag as a separate node. 
+ </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="datapointer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="xpath" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="rerunxpath" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	This determines the behavior of the datapointer in response to notification that the dataset the datapointer is mapped to has changed. If rerunxpath is true, the datapointer will always rerun its remembered XPath (set with the xpath property). If it is false, the datapointer will only verify that the node it is pointing to is still in the dataset. If it isn't, the datapointer will rerun its remembered xpath (if it has one) or will print a debug message if any further attempt is made to use its current node as the basis for a relative XPath query.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="p" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The LzDataNodeMixin that the datapointer is pointing to. Calling setAttribute on p calls LzDatapointer.setPointer.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="context" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The reference to a clonemanager from a clone. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="contextmenu" type="lzx:contextmenu" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+A contextual menu </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="contextmenu" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="delegate" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+		Sets the delegate which will be called when a menu item is selected. An onselect event is also sent.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basefocusview" type="lzx:basefocusview" >
+</xs:element>
+  <xs:complexType name="basefocusview" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="target" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ a reference to the view that is currently focused </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="duration" type="xs:string" default="400" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the duration of the animation from one focused view to the next </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="active" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ true during keyboard navigation, when this view is visible 
+              @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="node" type="lzx:node" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+The base class for all Laszlo classes.
+JavaScript: lz.node
+The lz.node class provides the basic interface for OpenLaszlo objects: parent/child hierarchy, setters, interaction with the instantiator, and reference resolution. New nodes (and subclasses thereof) can be created by new-ing the class, like this: var mynode= new LzNode( parent , args ); where parent is the parent for the new node, and args is an Object whose name/value pairs are attributes to be set on the new node.  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="node" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+      <xs:attribute name="transition" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Allows node attributes to be automatically animated when set. A string of transitions, according to the css3 transition spec http://dev.w3.org/csswg/css3-transitions/#the-transition-shorthand-property- e.g. 'x 2s'. Note that transition-delay is not currently supported. [transition-property || transition-duration || transition-timing-function || transition-delay [, [transition-property || transition-duration || transition-timing-function || transition-delay]]*  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="subnodes" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	An array of all of the LzNodes which consider this LzNode their parent. This list is similar to the subviews list, but it contains all the children of this node, not just the view children.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="styleclass" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	
+A space-separated list of CSS classes that can be used in a stylesheet to select this node.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="placement" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Instructions to this element's container about where it should go within its container's internal hierarchy. See the LzNode.determinePlacement method. Defaults to the container itself.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="parent" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Reference to the node that was passed as this node's ancestor in the constructor. If this node was created by declaring it in a tag, the parent will be its lexical parent. Its lexical parent is the tag that encloses it. Allow a null parent so that nodes can be garbage collected when they are no longer needed. See also, immediateparent.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="options" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	A CSS declaration of property: value pairs that modify the interaction of this node with controllers such as replicators and layouts. For example, setting options="ignorelayout: true" on a view will cause the view to not be controlled by any layout.
+[Note] 	Note
+The options that affect particular controllers and replicators are documented with each controller and replicator.
+[Note] 	Note
+options should not be accessed directly. You must use getOption and setOption to get or set the value of an option.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="oninit" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+This event is sent after the node's init method has been called. Simple actions that need to occur after the node's children have been initialized can be assigned to this event. For more complex initialization, see the init method. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ondata" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+The ondata script is executed when the data selected by a view's datapath changes. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onconstruct" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+This is the first event a node sends, right at the end of the instantiation process, but before any subnodes have been created or references resolved </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="nodeLevel" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The depth of this node in the overall node hierarchy </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="name" type="lzx:token" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The name for this subnode. If given, then this node's parent and immediate parent will store a pointer to this node as the given name value.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="initstage" type="xs:string" default="normal" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The execution of a node's init method and sending of the oninit event is under the control of its initstage attribute, as follows:
+
+immediate
+    The init method is called immediately as the last stage of instantiation. 
+early
+    The init method is called immediately after the view and its children have been instantiated. 
+normal
+    The init method is called when the parent is initialized. 
+late
+    The init method is called during idle time. To check whether init has been called, check the inited property. Force calling init using the completeInstantiation method. 
+defer
+    The init method will not be called unless explicitly requested by the completeInstantiation method. 
+
+	 </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inited" type="lzx:boolean" >
+</xs:attribute>
+      <xs:attribute name="immediateparent" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Reference to this nodes's parent in the node hierarchy. This will be different from "parent" when a class uses placement or defaultplacement to assign a subnode a specific place. For example, always use immediateparent to get a mouse position in your views coordinate system.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ignoreplacement" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Overrides placement attribute (and defaultplacement in lexical parent). See the LzNode.determinePlacement method. Defaults to false.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="id" type="lzx:token" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	A unique identifier for this element. Can be used as a global variable name in JavaScript code.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="defaultplacement" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	An attribute used in container classes. If set to a non-null value, this forces this node to run its determinePlacement method for any node whose parent is this node. If the subnode has its own placement attribute, determinePlacement will be called with that value, otherwise it will be called with this value. Note that a class's defaultplacement attribute only applies to children in subclasses or in instances, not to the children of the class itself. This means that if a class and its subclass both define a defaultplacement attribute, the attribute will be set to one value before the subclass children are created and to a different one after they are created. See the determinePlacement method.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="datapath" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	A shorthand version of &lt;datapath&gt;, specifies the data source for this node and its children. You write a string to datapath; reading datapath will yield a lz.datapath. If the value begins with an identifier followed by a colon, the identifier names a dataset, and the portion of the string after the colon is an XPath description of a portion of the data. Otherwise the entire attribute value is an XPath description of the data, relative to the data source of this node's parent element. Examples: "mydata:", "mydata:/a/b", "/a/b".  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="data" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The data context for the node </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="cloneManager" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	If this node is replicated due to data replication, the LzReplicationManager which controls this node.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="classroot" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	A reference to the node that is an instance of the &lt;class&gt; where this node is defined. Members of state subclasses do not define classroot. This is convenient to use when you want to access an attribute of the class in a method or event handler that is nested deep in the node hierarchy. For example, to set the bgcolor of the class object, instead of parent.parent.parent.setAttribute(bgcolor, 0xFFFFFF) you can simply use classroot.setAttribute(bgcolor, 0xFFFFFF).  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:complexType>
+<xs:element name="frame" type="lzx:frame" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+A frame of a multi-frame resource.
+
+The &lt;frame&gt; tag is used to define a single frame of a multi-frame &lt;resource&gt;. A multi-frame resource contains several images which can be toggled among by script commands.
+
+Multiple frame tags can be declared consecutively to produce a single resource constructed of an unlimited number of frames. Such composed resources are often used to conveniently implement mouse rollovers, button states, or other UI elements where alternate views of a resource are required. Once a multi-frame resource has been defined and presented within a &lt;view&gt;, the developer can designate which frame is actively visible through the use of the view's setResourceNumber method.
+
+Multi-frame resources can be used in conjunction with components such as &lt;basebutton&gt;, which pre-define complex button behavior using frames designated by the user. 
+
+ </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="frame" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+      <xs:attribute name="src" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The path of a file that contains the source for this object. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="name" type="lzx:token" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The name of a variable that will be set to this object when the application is started. If this element is directly within a &lt;canvas&gt; or &lt;library&gt; element, the global variable and the canvas property with this name will be set to this object. If this element is within another object, that object's property with this name will be set to this object.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:complexType>
+<xs:element name="webapprpc" type="lzx:webapprpc" >
+</xs:element>
+  <xs:complexType name="webapprpc" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:rpc">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseslider" type="lzx:baseslider" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The base class for implementing sliders representing a range of
+              values. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="baseslider" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basevaluecomponent">
+      <xs:attribute name="trackheight" type="lzx:number" default="8" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The height of the track. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="track" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The base class for implementing sliders representing a range of
+              values. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="thumbwidth" type="lzx:number" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The width of the thumb. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="thumbheight" type="lzx:number" default="18" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The height of the thumb. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showvalue" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Turns on / off the floating value text when the user
+              drags. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showrange" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Turns on / off the bounding range text. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showfill" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Turns on / off the slider's filled area. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="precision" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ significant digits of precision </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onminvalue" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onmaxvalue" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="minvalue" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The minimum value. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maxvalue" type="lzx:number" default="100" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The maximum value. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="keystep" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ How far to move value when key navigating. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bordersize" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The border width. This can be set with a style. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chartzoomer" type="lzx:chartzoomer" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Allows users to zoom in on specific areas of the chart.
+        Click or drag right-to-left to zoom back out.  (Of beta quality.)
+        Due to a bug with drawview, this doesn't currently work in DHTML. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="chartzoomer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="zoomcolor" type="lzx:color" default="${parent.zoomcolor}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The color tint of the zoomer. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="stableborderlayout" type="lzx:stableborderlayout" >
+</xs:element>
+  <xs:complexType name="stableborderlayout" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:layout">
+      <xs:attribute name="axis" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The axis in which this layout operates. One of 'x' or 'y'. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="windowpanel" type="lzx:windowpanel" >
+</xs:element>
+  <xs:complexType name="windowpanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basewindow">
+      <xs:attribute name="titlearea_inset_top" type="xs:string" default="6" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The top inset for the window title area. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="title" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the title of a window : this string appears at the top
+              of the window. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_top" type="xs:string" default="22" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The top inset for the window content area. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_right" type="xs:string" default="11" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The right inset for the window content area. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_left" type="xs:string" default="6" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The left inset for the window content area. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_bottom" type="xs:string" default="20" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The bottom inset for the window content area. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="closeable" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, the window will have a close control. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="iconradioitem" type="lzx:iconradioitem" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the iconradioitem class is a radio button with only an icon
+        @START_CODE
+        &lt;iconradioitem iconname="target" /&gt;
+        @END_CODE
+    </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="iconradioitem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baselistitem">
+      <xs:attribute name="rightrsc" type="xs:string" default="iconradiobutton_small_right_rsc" >
+</xs:attribute>
+      <xs:attribute name="middlersc" type="xs:string" default="iconradiobutton_small_middle_rsc" >
+</xs:attribute>
+      <xs:attribute name="leftrsc" type="xs:string" default="iconradiobutton_small_left_rsc" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ background resources </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="iconname" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ icon filename </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="icon_y" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ icon y position. calculated if not specified explicitly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="icon_x" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ icon x position. calculated if not specified explicitly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawview" type="lzx:drawview" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+
+    @copyright Copyright 2001-2010 Laszlo Systems, Inc.  All Rights Reserved.
+               Use is subject to license terms.
+
+    @access public
+    @affects lzdrawview
+    @topic LFC
+    @subtopic Views
+  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="drawview" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="strokeStyle" type="xs:string" default="#000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Represents the colour to use for the lines around shapes.  Specified as a hexadecimal number (0xffffff) or a CSS string ('#ff00ff' or '#f0f').
+        @type String
+        @lzxtype string
+        @lzxdefault "#000000"
+        @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="miterLimit" type="lzx:number" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Gives the default miterLimit value for lines.
+          @type Number
+          @lzxtype number
+          @lzxdefault 10
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="measuresize" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, the size of the drawview will be set dynamically based on its contents, where possible. (swf-only)
+      @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="lineWidth" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Gives the default width of lines, in coordinate space units.
+          Negative values are ignored.  0 draws hairlines in swf - lines that
+          are always 1 pixel wide even when scaled.
+          @type Number
+          @lzxtype number
+          @lzxdefault 1
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="lineJoin" type="xs:string" default="miter" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Gives the default lineJoin value for lines. Round for consistency between swf and dhtml.
+          @type String
+          @lzxtype "round" | "bevel" | "miter"
+          @lzxdefault "miter"
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="lineCap" type="xs:string" default="butt" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Gives the default lineCap value for lines. Round for consistency between swf and dhtml.
+          @type String
+          @lzxtype "butt" | "round" | "square"
+          @lzxdefault "butt"
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="globalAlpha" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Gives an alpha value that is applied to shapes and images
+          before they are composited onto the canvas. The valid range of
+          values is from 0.0 (fully transparent) to 1.0 (no additional
+          transparency). If the attribute is set to values outside this range,
+          it is ignored. When the context is created, the globalAlpha
+          attribute initially has the value 1.0.
+          @type Number
+          @lzxtype number
+          @lzxdefault 1.0
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fillStyle" type="xs:string" default="#000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Represents the colour or style to use for the fill inside the shapes. Can be either a hexadecimal number (0xffffff), a CSS string ('#ff00ff' or '#f0f'), or a CanvasGradient/LzCanvasGradient.
+        @type String
+        @lzxtype string
+        @lzxdefault "#000000"
+        @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="aliaslines" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, lines will be offset by lineWidth / 2 to appear aliased (dhtml-only)
+      @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="slider" type="lzx:slider" >
+</xs:element>
+  <xs:complexType name="slider" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baseslider">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="resizestatemin" type="lzx:resizestatemin" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Resizes its immediateparent with a minimum size in response to mouse events, when applied. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="resizestatemin" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:resizestate">
+      <xs:attribute name="resize_min_width" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The minimum width to resize to </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="resize_min_height" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The minimum height to resize to </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="propedit" type="lzx:propedit" >
+</xs:element>
+  <xs:complexType name="propedit" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:toggletext">
+      <xs:attribute name="prop" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="obj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="isnumber" type="xs:string" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="icontogglebutton" type="lzx:icontogglebutton" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the icontogglebutton class is a icon button with two states, no text. the resource passed in should
+          have two frames, one for each state.
+        @START_CODE
+        &lt;icontogglebutton iconresource="resourcename"/&gt;
+        @END_CODE
+    </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="icontogglebutton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basebutton">
+      <xs:attribute name="statenum" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ button state (either 0 or 1)  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="icony" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ fine-tune the vertical position of icon </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="iconresource" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ icon resource name </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="menuseparator" type="lzx:menuseparator" >
+</xs:element>
+  <xs:complexType name="menuseparator" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecomponent">
+      <xs:attribute name="xinset" type="lzx:number" default="3" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the number of pixels to inset the menuseparartor from the sides of the menu </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basetabsbar" type="lzx:basetabsbar" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This class is a container for basetab items. It must be a child of
+          basetabs. The default layout for its subviews is "class: simplelayout;
+          axis: x; spacing: 0". You can pass the name of this class in the
+          'barclass' attribute of tabpane, basetabpane, basetabs, and
+          tabs. Basetabs uses this class as its default 'barclass'. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="basetabsbar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baselist">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="viewlistmanager" type="lzx:viewlistmanager" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private  
+        Manage a hash table of viewslist 
+     </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="viewlistmanager" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="pools" type="xs:string" default="${new Object()}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private  
+        Manage a hash table of viewslist 
+     </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="swatchview" type="lzx:swatchview" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ swatchview is a simple view that is filled with a single color.
+    Either 'fgcolor' and 'bgcolor' may be used to set the color of the view.
+    By default it fills the space of the parent with white </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="swatchview" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="color" type="xs:string" default="0xffffff" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ this is the color that was set (by setting 'bgcolor' or 'fgcolor' ),
+        bgcolor may be different if setColorTransform has been called
+        @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="dataselectionmanager" type="lzx:dataselectionmanager" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+   
+    @copyright Copyright 2001-2010 Laszlo Systems, Inc.  All Rights Reserved.
+               Use is subject to license terms.
+   
+    @affects lzdataselectionmanager
+    @access public
+    @topic LFC
+    @subtopic Helpers
+    @devnote TODO: [20080930 anba] (LPP-6080) uncomment typing in method signatures
+  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="dataselectionmanager" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:selectionmanager">
+      <xs:attribute name="manager" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="horizontalaxis" type="lzx:horizontalaxis" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+     Represents the X-axis on the rectangular chart extends from Axis class
+     @access public
+     </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="horizontalaxis" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:axis">
+      <xs:attribute name="labelLenght" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="datacolumn" type="xs:string" default="x" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="constantlayout" type="lzx:constantlayout" >
+</xs:element>
+  <xs:complexType name="constantlayout" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:layout">
+      <xs:attribute name="value" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The constant value that is applied to the attribute
+          ( defined in 'axis' as 'x' or 'y' ) of each subview in the layout. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="axis" type="xs:string" default="y" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The axis in which this layout operates either 'x' or 'y'.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="streamprogress" type="lzx:streamprogress" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An instance of this class will set its width relative to the
+      progress of the given stream and its maxwidth attribute. It is
+      green by default; however, to make it appear with a resource, you may
+      set the bgcolor to null and provde a resource (and don't forget to set
+      stretches attribute).
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="streamprogress" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="totaltime" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ read-only </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="time" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ read-only </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="stream" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ stream for which to show the progress </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="progress" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ a value between 0 and 1 indicating how much of the stream has played
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maxwidth" type="lzx:number" default="${parent.width}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ max width that this will grow to (defaults to parent's width </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="multistatebutton" type="lzx:multistatebutton" >
+</xs:element>
+  <xs:complexType name="multistatebutton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basebutton">
+      <xs:attribute name="statenum" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the current state </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="statelength" type="lzx:number" default="3" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the number of frames in a state </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maxstate" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the largest number allowed for the value of statenum </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="tabsbar" type="lzx:tabsbar" >
+</xs:element>
+  <xs:complexType name="tabsbar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basetabsbar">
+      <xs:attribute name="spacing" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Spacing between tab items. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videovolumebutton" type="lzx:videovolumebutton" >
+</xs:element>
+  <xs:complexType name="videovolumebutton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="volumeInternal" type="xs:string" default="1.0" >
+</xs:attribute>
+      <xs:attribute name="volume" type="xs:string" default="${this.mute ? 0.0 : this.volumeInternal}" >
+</xs:attribute>
+      <xs:attribute name="trackingDelegate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="tracking" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="over" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="mute" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="adjusting" type="xs:string" default="${             this.button.over ||              this.button.tracking ||              this.adjuster.over  ||              this.adjuster.tracking}" >
+</xs:attribute>
+      <xs:attribute name="adjusterHeight" type="xs:string" default="100" >
+</xs:attribute>
+      <xs:attribute name="adjusterBorder" type="xs:string" default="2" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basescrollthumb" type="lzx:basescrollthumb" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Basescrollthumb expects to be within a basescrollbar (or a subclass).
+          In other words, its "classroot" must be a scrollbar. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="basescrollthumb" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecomponent">
+      <xs:attribute name="doffset" type="xs:string" default="this.getMouse( 'y' )" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="tabslider" type="lzx:tabslider" >
+</xs:element>
+  <xs:complexType name="tabslider" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basetabslider">
+      <xs:attribute name="bordersize" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The size of the border. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bordercolor" type="lzx:color" default="${this.style != null ? this.style.bordercolor : null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The border color. Default is constrained to the 
+              &lt;tagname&gt;style&lt;/tagname&gt;'s &lt;attribute&gt;bordercolor&lt;/attribute&gt; 
+              value. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="style" type="lzx:style" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ contains style attributes which are applied to components to modify their look </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="style" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="textselectedcolor" type="lzx:color" default="black" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ used as the text color with 'selectedcolor' to color the
+        selected item </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="texthilitecolor" type="lzx:color" default="iceblue1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ used as the text color with 'hilitecolor' to highlight an item,
+        such as when mouse is over a menu item </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="textfieldcolor" type="lzx:color" default="white" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ background color for text areas </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="textdisabledcolor" type="lzx:color" default="gray60" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ used as the text color when a component is disabled </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="textcolor" type="lzx:color" default="gray10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ color for text </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="selectedcolor" type="lzx:color" default="iceblue3" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ used when an item is selected, such as in a list </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="menuitembgcolor" type="lzx:color" default="textfieldcolor" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ background color for menu items, defaults to the 'textfieldcolor' </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="isstyle" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ this is a style object
+          @access private
+          @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="isdefault" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ if true, this style is the default style for components  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hilitecolor" type="lzx:color" default="iceblue4" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ used when the background color changes to highlight an item,
+        such as when mouse is over a menu item </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="disabledcolor" type="lzx:color" default="gray30" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ used when an item is disabled </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="canvascolor" type="lzx:color" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ canvas color, default: null (will use whatever is specified
+        as the canvas bgcolor, default: white) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bordersize" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the line width used in those components that have a visual border </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bordercolor" type="lzx:color" default="gray40" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ used to color the frame of a component for those that have a visual
+        border </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bgcolor" type="lzx:color" default="white" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ used for colorizing the backgrounds of content areas, such
+          as the background in tabslider's content, and window's content </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="basecolor" type="lzx:color" default="offwhite" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ used for colorizing a component, components will typically use
+        varying shades of this color </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basescrollbar" type="lzx:basescrollbar" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Contains non-visual aspects of a scrollbar. Subclasses are expected to
+          define this.thumb and this.scrolltrack to reference the views that
+          perform those functions. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="basescrollbar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecomponent">
+      <xs:attribute name="usemousewheel" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, this scrollbar listens for mousewheel events </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="stepsize" type="xs:string" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The amount that the scrolltarget is moved when the user clicks on
+              the scrolltrack or when the step method is called. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="scrolltarget" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The view that is controlled by the scrollbar.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="scrollmax" type="lzx:number" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The maximum distance to scroll, default: the height or width
+              of the scrolltarget. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="scrollattr" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The attribute of the scrolltarget that is modified by the scrollbar,
+              default: value of axis attribute.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="scrollable" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ True if the scrolltarget is bigger than the containing view
+              therefore the scrollbar is active. The scrollbar appears disabled
+              when scrollable is false. You can make the scrollbar invisible
+              when there is nothing to scroll by setting visible="${scrollable}"
+              @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="pagesize" type="lzx:number" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The maximum distance to scroll, default: the height or width
+              of the scrollbar.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onscrollmax" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keywords public </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="mousewheelevent_on" type="xs:string" default="onfocus" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The event that activates the mousewhen when sent from the focusview </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="mousewheelevent_off" type="xs:string" default="onblur" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The event that deactivates the mousewhen when sent from the focusview </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="mousewheelactive" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, the mousewheel is active for the focusview.
+              @keywords read-only </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="focusview" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The view to which the scrollbar should listen for focus 
+            events. If not set, it will be set to the scrolltarget
+            or the immediateparent of the scrollbar,
+            whichever is focusable </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="axis" type="xs:string" default="y" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Axis may be "x" or "y", controls the orientation and default
+              scrollattr
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="validatingForm" type="lzx:validatingForm" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+      @topic Incubator
+      @subtopic Validators
+  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="validatingForm" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:form">
+      <xs:attribute name="validators" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+      @topic Incubator
+      @subtopic Validators
+  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="errorcount" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="PopupCircle" type="lzx:PopupCircle" >
+</xs:element>
+  <xs:complexType name="PopupCircle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:circlehotspot">
+      <xs:attribute name="text" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="parentView" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baselistitem" type="lzx:baselistitem" >
+</xs:element>
+  <xs:complexType name="baselistitem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basevaluecomponent">
+      <xs:attribute name="selected" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether this item is selected. Our containing list will adopt the value
+              of this component when it is selected. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onselected" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Event sent when this item is selected. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onselect" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Event sent when the user makes a selection. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="piechartplotarea" type="lzx:piechartplotarea" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+         A pie chart plot area where the pie slices are rendered
+         @access public
+         </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="piechartplotarea" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:drawview">
+      <xs:attribute name="style" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Defines the pie slice's style </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="formlayout" type="lzx:formlayout" >
+</xs:element>
+  <xs:complexType name="formlayout" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:layout">
+      <xs:attribute name="spacing" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A pixel amount to use between each view in the layout </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maxwidth" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="inset" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A pixel amount to inset the first view controlled by the layout</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="counter" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="axis" type="xs:string" default="y" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The axis in which this layout operates. One of 'x' or 'y'. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="align" type="xs:string" default="left" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="mred" type="lzx:mred" >
+</xs:element>
+  <xs:complexType name="mred" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="urls" type="xs:string" default="[ 'http://www.openlaszlo.org/images/edsurf.gif',                      'http://www.openlaszlo.org/images/ednpals2.gif',                      'http://www.openlaszlo.org/images/edchess1.jpg',                      'http://www.openlaszlo.org/images/edandalaninbarn.jpg'                    ]" >
+</xs:attribute>
+      <xs:attribute name="urlnum" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="timedel" type="xs:string" default="${new LzDelegate ( this , 'advance' )}" >
+</xs:attribute>
+      <xs:attribute name="running" type="xs:string" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="bluestyle" type="lzx:bluestyle" >
+</xs:element>
+  <xs:complexType name="bluestyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:style">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="axis" type="lzx:axis" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A abstract class that represents one of the axes of a rectangular chart. In general, axis isn't instantiated directly     
+    @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="axis" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:drawview">
+      <xs:attribute name="type" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates the axis type can be 'linear' or 'categorical' </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="titleY" type="lzx:number" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates the placement in Y position of the Axis title </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="titleX" type="lzx:number" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates the placement in X position of the Axis title </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="titleLocation" type="xs:string" default="default" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates the placement of the Axis title possible values: 'low','high','default'</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="titleGap" type="lzx:number" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="title" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Axis title label</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="tickmarkLabelMaxDecimals" type="lzx:number" default="2" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ticklabelcolumn" type="xs:string" default="$once{''}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Data Column that is used to override the values of Tic Marks labels   </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="tickMarksLabelsEnabled" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ enable the rendering of tic Marks labels </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="tickMarkPositions" type="xs:string" default="[]" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Exposes distances where tickmarks are drawn 
+        @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="scale" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ratioPixel" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="offset" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="minorTickEnabled" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ enable minor Tics Marks </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="minimumRender" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="minimum" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Numerical value that indicates the Minimum value in the axis can be positive or negative value </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maximumRender" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maximum" type="xs:string" default="100" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Numerical value that indicates the Maximum value in the axis can be positive or negative value </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="majorTickEnabled" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ enable Major Tics Marks </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="majorInterval" type="lzx:number" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Allows to customize the interval of the Major Tics Marks</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelrotation" type="xs:string" default="horizontal" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates the axis title rotation can be 'horizontal' or 'vertical' </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelTextArray" type="xs:string" default="[]" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Exposes distances where tickmarks are drawn 
+        @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelReposEnabled" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Attribute that controls if the labels are vertically repositioned to avoid overlaping </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelArray" type="xs:string" default="[]" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="interval" type="xs:string" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates the interval of values between the tic marks of the axis </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fixedRange" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Fix the range of the axis to the maximum &amp;amp; minimum   </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dataSeries" type="xs:string" default="[]" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="columnName" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates the column name associated to the axis </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="categoricalArray" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="axisEnabled" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ enable or disable the axis </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="adjustmin" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="colormenuitem" type="lzx:colormenuitem" >
+</xs:element>
+  <xs:complexType name="colormenuitem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="mycolor" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="sliderknob" type="lzx:sliderknob" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="sliderknob" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="minx" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maxy" type="xs:string" default="100" >
+</xs:attribute>
+      <xs:attribute name="isMouseDown" type="xs:string" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="custombutton" type="lzx:custombutton" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The custombutton class can include text and/or an icon, with our app-specific background graphic
+        &lt;example&gt;
+          &amp;lt;canvas&amp;gt;
+            &amp;lt;include href="incubator/custombutton.lzx"/&amp;gt;
+            &amp;lt;custombutton iconname="target" text="Hit Me"/&amp;gt;
+          &amp;lt;/canvas&amp;gt;
+        &lt;/example&gt;
+
+        the icon should be a resource with a name ending in "_icon_rsc";
+        the iconname should be that resource name, without the "_icon_rsc"
+    </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="custombutton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basebutton">
+      <xs:attribute name="texty" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ use to fine-tune text y position </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="rightrsc" type="xs:string" default="custombutton_small_right_rsc" >
+</xs:attribute>
+      <xs:attribute name="middlersc" type="xs:string" default="custombutton_small_middle_rsc" >
+</xs:attribute>
+      <xs:attribute name="leftrsc" type="xs:string" default="custombutton_small_left_rsc" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ background resources </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="icony" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ fine-tune the vertical position of icon </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="iconstretches" type="xs:string" default="none" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ controls whether the icon stretches (none|both) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="iconspace" type="xs:string" default="2" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ fine-tune the horizontal spacing of icon to text </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="iconname" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ icon resource name prefix </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="expandedWidth" type="xs:string" default="$once{this.width}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ max width of button </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="collapsedWidth" type="xs:string" default="30" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ min width of button </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="barchartplotarea" type="lzx:barchartplotarea" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keywords private
+     plotarea of barchart </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="barchartplotarea" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:virtualdrawview">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="xdragstate" type="lzx:xdragstate" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="xdragstate" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:state">
+      <xs:attribute name="xdoffset" type="xs:string" default="this.getMouse( 'x' )" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="x" type="xs:string" default="${limit(minx, maxx,                     this.immediateparent.getMouse( 'x' ) - this.xdoffset)}" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basecombobox" type="lzx:basecombobox" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A dropdown list of selectable items. Can either be editable or
+          not. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="basecombobox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baseformitem">
+      <xs:attribute name="text_y" type="lzx:number" default="2" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the y position of the text. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="text_x" type="lzx:number" default="2" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the x position of the text. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="text_width" type="lzx:number" default="${this.width - 19}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the width the text. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="spacing" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The spacing size ( in pixels ) between items in the pop-up list.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="shownitems" type="xs:string" default="-1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Sets the height of the combobox to show 'n' items. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="selected" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The initial selected item. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onselect" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This event is triggered whenever the user makes a selection. It
+              may be used as a script in the combobox tag or as an event method.
+              </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ondefaultselection" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This event is sent when the default selection is set.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="min_width" type="lzx:number" default="50" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The minimum width this component is allowed to be.
+              @keywords defaultsetter </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="itemclassname" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The class that is used to create an item in the list. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="isopen" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates whether or not the popup list is showing.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="editable" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Make the text field of this combobox editable. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="defaulttext" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The text that appears in the text field when no item is selected. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="defaultselection" type="lzx:number" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The number of the item that is initially selected. This overrides
+              the value defined in the defaulttext attribute </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dataoption" type="xs:string" default="none" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ One of "lazy", "resize", "pooling", "none". </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="datacontrolsvisibility" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="bordersize" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The border size ( in pixels ) of the popup list.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="autoscrollbar" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether a scrollbar should automatically show up when there are more
+              items than shownitems. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="attachoffset" type="lzx:number" default="-1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The vertical offset of the floatinglist attached to this
+              combobox. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="audio" type="lzx:audio" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Imports an audio file.
+[Warning]This tag is obsolete. Its functionality has been replaced by the &lt;resource&gt; tag. 
+ </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="audio" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+      <xs:attribute name="src" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Imports an audio file.
+[Warning]This tag is obsolete. Its functionality has been replaced by the &lt;resource&gt; tag. 
+ </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:complexType>
+<xs:element name="basefloatinglist" type="lzx:basefloatinglist" >
+</xs:element>
+  <xs:complexType name="basefloatinglist" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:list">
+      <xs:attribute name="attachtarget" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The view to which this floatinglist will attach. By default, this
+              will be the lexical parent.  The style of the attachtarget will be
+              inherited. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="attachoffset" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The distance from the attachtarget. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="attach" type="xs:string" default="bottom" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Where this floatinglist should attach to its owner. Possible
+              values: bottom, top, left, right.  In the event of a canvas
+              out-of-bounds, the floating list will attach in a visible
+              location. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basecomponent" type="lzx:basecomponent" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ an abstract class which all components subclass </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="basecomponent" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="text" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the label or title of the component: instead of using this 
+              attribute text may instead be placed withing the tag, for
+              example: &amp;lt;button&amp;gt;OK&amp;lt;/button&amp;gt; </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="styleable" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ whether style should be applied to this component </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="style" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  if null, the style is set to the inherited style from the parent
+               component, if no parent component the style will be the canvas
+               'defaultstyle' attribute </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onstyle" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onisdefault" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ event: when isdefault changes
+              @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onfocusable" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="on_enabled" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="isdefault" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If set to true, this component will be the default (and will
+              therefore receive the enter key) if it is nearest to the focussed
+              view, and if that focussed view does not have doesenter set to
+              true. "Nearness" is defined to mean the closest common parent
+              with the focussed view that is not excluded from the mode, and
+              which is visible onscreen.
+              </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hasdefault" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ set to true when this component will receive enter key events </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="enabled" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ when false the component should appear as its disabled state and
+              not respond to user events. The component is
+              automatically set to clickable when enabled, and not clickable
+              when disabled.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="doesenter" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ if set to true, the component manager will call this component
+              with doEnterDown and doEnterUp when the enter key goes up or down
+              if it is focussed. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="camera" type="lzx:camera" >
+</xs:element>
+  <xs:complexType name="camera" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:mediadevice">
+      <xs:attribute name="width" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The width (resolution) that will be captured by the camera. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="show" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, show camera on immediateparent videoview.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="picturequality" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Camera picture quality: a value between 0 and 1, where 1
+              represents the highest quality (no compression). When
+              0 is passed, this indicates to use highest quality that
+              fits into the available bandwidth </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="height" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The height (resolution) that will be captured by the camera. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fps" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The number of frames per second that will be captured 
+              by the camera. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="favorsize" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Often several capture modes are available per camera device.
+              These modes will allow capturing at a specific size (width/height)
+              and framerate.  If you specify both fps and width and height for
+              this camera, this attribute will control which capturing mode
+              for the camera device will be used. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bandwidth" type="xs:string" default="16384" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Camera bandwidth (in bytes per second). </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="toggletext" type="lzx:toggletext" >
+</xs:element>
+  <xs:complexType name="toggletext" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="text" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="editing" type="xs:string" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="tickmarklabel" type="lzx:tickmarklabel" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private Represents the tickmark text which appears on a computerized note </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="tickmarklabel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:label">
+      <xs:attribute name="styleSet" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Attribute to handle style set optimization
+        @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="photo" type="lzx:photo" >
+</xs:element>
+  <xs:complexType name="photo" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="datamarker" type="lzx:datamarker" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+      datamarker for the chart
+      @access public
+      </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="datamarker" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:drawview">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="colorpicker" type="lzx:colorpicker" >
+</xs:element>
+  <xs:complexType name="colorpicker" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:window">
+      <xs:attribute name="selectedColor" type="lzx:number" default="0x000000" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseslidertrack" type="lzx:baseslidertrack" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Baseslidertrack expects to be within a baseslider (or its
+          subclass). In other words, its "classroot" should be a slider. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="baseslidertrack" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="colorpot" type="lzx:colorpot" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+      @topic Incubator
+      @subtopic Components
+  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="colorpot" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="mycolor" type="lzx:color" default="#000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+      @topic Incubator
+      @subtopic Components
+  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="listener" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="pre" type="lzx:pre" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ HTML specific </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="pre" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+  </xs:complexType>
+<xs:element name="wrappinglayout" type="lzx:wrappinglayout" >
+</xs:element>
+  <xs:complexType name="wrappinglayout" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:layout">
+      <xs:attribute name="yspacing" type="xs:string" default="${this.spacing}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A pixel amount to use between the views controlled by the layout in
+          the y axis. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="yinset" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A pixel amount to offset the first view controlled by the layout in y
+          axis </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="xspacing" type="xs:string" default="${this.spacing}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A pixel amount to use between the views controlled by the layout in
+          the x axis. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="xinset" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A pixel amount to offset the first view controlled by the layout in x
+          axis </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="spacing" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A pixel amount to use between the views controlled by the layout in
+          both axes. By default, both xspacing and yspacing are set to this
+          value. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="duration" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If given, a number of miliseconds to use to animate the views in to
+          place.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="axis" type="xs:string" default="x" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The primary axis for wrapping. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="checkbox" type="lzx:checkbox" >
+</xs:element>
+  <xs:complexType name="checkbox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baseformitem">
+      <xs:attribute name="text_y" type="lzx:number" default="${this.cb.height/2 - this._title.height/2+1}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the y position of the text label. default: centered </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="resizeview_x" type="lzx:resizeview_x" >
+</xs:element>
+  <xs:complexType name="resizeview_x" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="right" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="middle" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="left" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="html" type="lzx:html" >
+</xs:element>
+  <xs:complexType name="html" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="target" type="xs:string" default="$once{this.parent}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Sets the view to listen to for x/y/width/height change events.  Defaults to this.parent.
+          @type LzView
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="src" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Sets the URL the html tag should load
+          @type String
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="shownativecontextmenu" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, show native context menus in the iframe.  Otherwise, show OpenLaszlo context menus.  Note that this only works in DHTML because it's not possible to programatically display a context menu in Flash.
+          @type Boolean
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="scrollbars" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, the html tag will have scrollbars.
+          @type Boolean
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="rpcmethods" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Contains a list of method names available to call with callRPC().
+          @type Array
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ready" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, the html tag is ready to receive commands
+          @type Boolean
+          @access public
+          @keywords readonly
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ontarget" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onsrc" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onready" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="mouseevents" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, attempt to listen for mouse events on the iframe.  Cross-domain security restrictions apply, so if the content loaded in the iframe is from a different domain, mouse events won't be sent.
+          @type Boolean
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="minimumwidth" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The minimum width of the iframe: embedded swfs won't load with a size less than 1
+          @type Number
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="minimumheight" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The minimum height of the iframe: embedded swfs won't load with a size less than 1
+          @type Number
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="loading" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, the html tag is currently loading
+          @type Boolean
+          @access public
+          @keywords readonly
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="iframeid" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="html" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The HTML that the iframe starts out containing.
+          @type String
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="history" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, the html tag will set browser history.
+          @type Boolean
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="framename" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Sets the name/target of the html iframe.
+          @type String
+          @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="frametimer" type="lzx:frametimer" >
+</xs:element>
+  <xs:complexType name="frametimer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="fps" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="delta" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="resizeview_y" type="lzx:resizeview_y" >
+</xs:element>
+  <xs:complexType name="resizeview_y" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="top" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="middle" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="bottom" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baselist" type="lzx:baselist" >
+</xs:element>
+  <xs:complexType name="baselist" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baseformitem">
+      <xs:attribute name="toggleselected" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ When true, the first click on a list item selects it and the
+              second click deselects it. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onselect" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This event is triggered whenever the user makes a selection it may
+              used as a script in the tag or as an event method. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onitemclassname" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This event is triggered whenever the itemclassname attribute 
+              changes. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="multiselect" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If multiselect is true, multiple items may be selected. When the
+              shift key is down, a range of items is selected. When the control
+              key is down, any item may be added to the selection. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="itemclassname" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The name of the class for new items that will be created with
+              addItem(). </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="defaultselection" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The index of the default selected item, if none is provided via
+              the selected="true" attribute on an item. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dataoption" type="xs:string" default="none" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ One of "lazy", "resize", "pooling", "none". </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="selectionmanager" type="lzx:selectionmanager" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+   
+    @copyright Copyright 2001-2010 Laszlo Systems, Inc.  All Rights Reserved.
+               Use is subject to license terms.
+   
+    @affects lzselectionmanager
+    @access public
+    @topic LFC
+    @subtopic Helpers
+    @lzxname selectionmanager
+    @devnote TODO: [20080930 anba] (LPP-6080) uncomment typing in method signatures
+  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="selectionmanager" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="toggle" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+        @type Boolean
+        @lzxtype boolean
+      </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="selectedHash" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+        @access private
+        @type Object
+      </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="selected" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+        @access private
+        @type Array
+      </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="sel" type="xs:string" default="setSelected" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The name of the method to call on an object when an object's
+        selectedness changes. The method is called with a single Boolean
+        argument. The default value for this field is &lt;code&gt;setSelected&lt;/code&gt;.
+        (This feature is not available for &lt;tagname&gt;dataselectionmanager&lt;/tagname&gt;.)
+        @type String
+        @lzxtype string
+      </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="lastRangeStart" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+        @type *
+        @access private
+      </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="datalabel" type="lzx:datalabel" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+      Represents the data text which appears on a computerized note
+      @access public
+      </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="datalabel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:label">
+      <xs:attribute name="labelOut" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelEnabled" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="handler" type="lzx:handler" >
+</xs:element>
+  <xs:complexType name="handler" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+      <xs:attribute name="reference" type="xs:string" default="this" >
+</xs:attribute>
+      <xs:attribute name="name" type="xs:string" use="required" >
+</xs:attribute>
+      <xs:attribute name="method" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="args" type="xs:string" default="" >
+</xs:attribute>
+  </xs:complexType>
+<xs:element name="tooltip" type="lzx:tooltip" >
+</xs:element>
+  <xs:complexType name="tooltip" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="yoffset" type="xs:string" default="25" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+        The vertical offset of tooltip from the mouse position.
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="tipvalign" type="xs:string" default="default" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+        Whether the tooltip shows up above or below the mouse
+        position. Default will position heuristically to keep
+        the tooltip visible on the canvas.
+
+        @lzxtype above | below | default
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="tipalign" type="xs:string" default="left" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+        Whether the tooltip is horizontally aligned by it's left edge
+        (default) or right edge relative to the mouse position.
+
+        @lzxtype right | left
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="text" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+        The text that will be displayed by the tooltip.  If the text
+        is &lt;code&gt;null&lt;/code&gt; or empty, no tooltip will be displayed.
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="viewslist" type="lzx:viewslist" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A pool of ordered view  
+         - @keyword private
+        </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="viewslist" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="vlist" type="xs:string" default="$once{[]}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A pool of ordered view  
+         - @keyword private
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="viewclass" type="xs:string" default="$once{null}" >
+</xs:attribute>
+      <xs:attribute name="parentview" type="xs:string" default="${parent}" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="combobox" type="lzx:combobox" >
+</xs:element>
+  <xs:complexType name="combobox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecombobox">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="datepickerlistitem" type="lzx:datepickerlistitem" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="datepickerlistitem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:textlistitem">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="rtmpconnection" type="lzx:rtmpconnection" >
+</xs:element>
+  <xs:complexType name="rtmpconnection" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="status" type="xs:string" default="disconnected" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ String to indicate connection status.
+            @type string
+            @access public
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="stage" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Number to indicate what stage of connection we're in:
+            0: disconnected, 1: connecting, 2: connected.
+            @type Number
+            @access public
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="src" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Application url, for example
+            "rtmp:/appname" or "rtmp://myserver.com/myapp/".
+            @type String
+            @access private
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onconnect" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Event sent when connection established. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="objectencoding" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The AMF object encoding to use for this connection, either 0 or 3.
+            @type Number
+            @keywords final  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="debug" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Turn on for verbose debugger output.
+            @type Boolean
+            @access public
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="connectiontimeout" type="lzx:number" default="3000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Number of milliseconds to wait for connection at src before 
+                using altsrc URL </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="connections" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A shared hash of connections
+            @type Object
+            @access private
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="connectionparams" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Connection parameters that will be sent to the server when NetConnection.connect() is called
+            @type Expression
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="autoconnect" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Connect automatically during init. If false, you need to explicitly
+            call connect().
+            @type Boolean
+            @access public
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="altsrc" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Alternate application url, used if the connection for src 
+                fails for example : "rtmp:/appname" or 
+                "rtmp://myserver.com/myapp/". </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="resizelayout" type="lzx:resizelayout" >
+</xs:element>
+  <xs:complexType name="resizelayout" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:layout">
+      <xs:attribute name="spacing" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A pixel amount to use between each view in the layout </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="axis" type="xs:string" default="y" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The axis in which this layout operates either 'x' or 'y'.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basedatacombobox_item" type="lzx:basedatacombobox_item" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Class used to create an item in a basedatacombobox's list.
+          @keywords private </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="basedatacombobox_item" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:textlistitem">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="greenstyle" type="lzx:greenstyle" >
+</xs:element>
+  <xs:complexType name="greenstyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:style">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="tab" type="lzx:tab" >
+</xs:element>
+  <xs:complexType name="tab" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basetab">
+      <xs:attribute name="padding" type="xs:string" default="20" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Text padding. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basechart" type="lzx:basechart" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The base class for non-pie charts.  Contains most of the
+        shared attributes and elements.  (Of beta quality.) </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="basechart" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="zoomcolor" type="lzx:color" default="#DDDDDD" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The color of the zoom selector. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="zoomable" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether bars are zoomable or not. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="zerowidth" type="lzx:number" default="2" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Width of the line drawn at zero. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="vtickwidth" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Width of drawn vertical tick marks. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="vticklength" type="lzx:number" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Length of drawn vertical tick marks. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="vticklabelsize" type="lzx:number" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Text size of vertical tick labels. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="vticklabel" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Color of vertical tick labels.  If not specified, no
+            labels are drawn. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="vtick" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to draw vertical tick marks, and if so,
+            what color.  If no color is specified, ticks are not drawn.
+            These are the tick marks that are drawn vertically, along the
+            bottom axis.  Note: In barchart, setting drawaxis to y changes
+            overall chart orientation, with the "bottom" on the left. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="vgridwidth" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Vertical grid line thickness. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="vgridspacing" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Vertical grid line spacing.  (Units, not pixels.  In
+            barchart, the space between one bar and the next is
+            considered one unit.) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="vgridlines" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Color of the vertical grid lines.  Note: In barchart,
+            vertical axis is considered the axis that runs parallel to the
+            orientation of the chart. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="vgridbands" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Vertical grid bands. Note: In barchart, vertical axis is
+            considered the axis that runs parallel to the orientation of
+            the chart. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="vbopacity" type="lzx:number" default=".5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Vertical grid band opacity.  Note: In barchart, vertical
+            axis is considered the axis that runs parallel to the
+            orientation of the chart. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="vaxiswidth" type="lzx:number" default="3" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Width of drawn vertical axis. Note: In barchart, vertical
+            axis is considered the axis that runs parallel to the
+            bars in the chart. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="vaxis" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to draw a line along the vertical axis, and if so,
+            what color.  (If no color is specified, axis is not drawn.)
+            Note: In barchart, vertical axis is considered the axis
+            that runs parallel to the bars in the chart. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ploty" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Plot area's y position, relative to chart as a whole. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="plotx" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Plot area's x position, relative to chart as a whole. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="plotwidth" type="lzx:number" default="${this.width - 1}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Width of plotting area. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="plotheight" type="lzx:number" default="${this.height - 1}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Height of plotting area. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="paneslider" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The position of the view in which the data is drawn in
+            relation to its parent clipping frame.  Allows data to be
+            dragged or slid around. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="minimum" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Grid's minimum displayed value. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maximum" type="lzx:number" default="100" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Grid's maximum displayed value. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="htickwidth" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Width of drawn horizontal tick marks. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hticklength" type="lzx:number" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Length of drawn horizontal tick marks. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hticklabelsize" type="lzx:number" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Text size of horizontal tick labels. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hticklabel" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Color of horizontal tick labels.  If not specified, no
+            labels are drawn. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="htick" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to draw horizontal tick marks, and if so,
+            what color.  If no color is specified, ticks are not
+            drawn.  These are the tick marks that are drawn horizontally,
+            along the side axis.  Note: In barchart, setting drawaxis to y
+            changes overall chart orientation, with the "bottom" on the
+            left. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hgridwidth" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Horizontal grid line thickness. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hgridspacing" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Horizontal grid line spacing.  (Units, not pixels.) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hgridlines" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Color of the horizontal grid lines. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hgridbands" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Horizontal grid bands. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hbopacity" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Horizontal grid band opacity. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="haxiswidth" type="lzx:number" default="3" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Width of drawn horizontal axis. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="haxis" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to draw the horizontal axis, and what color.
+            (If no color is specified, axis is not drawn.) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="drawzero" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to draw a line at zero, and what color.  If
+            no color is specified, line is not drawn. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="drawaxis" type="xs:string" default="x" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The direction in which the data will be drawn.
+            Accepts values x and y.  (x - vertical bars drawn
+            from left to right.  y - horizontal bars drawn
+            top to bottom.)  Only applicable to barchart, but
+            necessary for certain shared elements. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="draggable" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether bars are able to be dragged or not. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderwidth" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Width of the plot area's border. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="border" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether there's a border around the plot area, and if so,
+            what color. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bgresource" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If desired, a resource can be used in the background.
+            If specified, this view will appear behind the chart,
+            with everything drawn on top of it. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="belowzeroopacity" type="lzx:number" default=".2" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Opacity for area below zero.  Defaults to a low number
+            for a hazy, translucent effect. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="belowzero" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to fill the area below zero, and what color.
+            (Will not be drawn if no color specified.) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="baselabels" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to label the individual bar ticks, and if so,
+            what color. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="barticks" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to have ticks for individual bars, and if so,
+            what color. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="altslider" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The slider for the alternate direction to paneslider. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="altminimum" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Grid's maximum for width.  (If lines are drawn
+            vertically, this controls horizontal visible area.  If lines are drawn
+            horizontally, this controls vertical visible area.  Changing these
+            will allow the user to zoom in and out on a particular area, and
+            will scale data accordingly.)  Note: Not settable in barchart. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="altmaximum" type="lzx:number" default="100" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Grid's minimum for width.  (If lines are drawn
+            vertically, this controls horizontal visible area.  If lines are drawn
+            horizontally, this controls vertical visible area.  Changing these
+            will allow the user to zoom in and out on a particular area, and
+            will scale data accordingly.)  Note: Not settable in barchart. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="adjusttodata" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to adjust the graph to data. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="memorymonitor_model" type="lzx:memorymonitor_model" >
+</xs:element>
+  <xs:complexType name="memorymonitor_model" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="scale" type="lzx:number" default="1 / 1024" >
+</xs:attribute>
+      <xs:attribute name="max" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="current" type="lzx:number" default="-1" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="roundrectbutton" type="lzx:roundrectbutton" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 
+A class for making nice-looking, styleable buttons with gradients, without any art assets.
+
+See test/test-roundrectbutton.lzx for several examples of how to use this component. 
+
+The component attributes are only used for initialization. They are not live constraints.
+Currently the best way to change them at runtime is to apply a &amp;lt;style&amp;gt;. 
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="roundrectbutton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecomponent">
+      <xs:attribute name="upStopColor" type="lzx:color" default="0x999999" >
+</xs:attribute>
+      <xs:attribute name="upStartColor" type="lzx:color" default="0xcccccc" >
+</xs:attribute>
+      <xs:attribute name="overStopColor" type="lzx:color" default="0x777777" >
+</xs:attribute>
+      <xs:attribute name="overStartColor" type="lzx:color" default="0x999999" >
+</xs:attribute>
+      <xs:attribute name="downStopColor" type="lzx:color" default="0xCCCCCC" >
+</xs:attribute>
+      <xs:attribute name="downStartColor" type="lzx:color" default="0xFFFFFF" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 
+A class for making nice-looking, styleable buttons with gradients, without any art assets.
+
+See test/test-roundrectbutton.lzx for several examples of how to use this component. 
+
+The component attributes are only used for initialization. They are not live constraints.
+Currently the best way to change them at runtime is to apply a &amp;lt;style&amp;gt;. 
+</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="boxShadowY" type="xs:string" default="2" >
+</xs:attribute>
+      <xs:attribute name="boxShadowX" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="boxShadowColor" type="xs:string" default="0xb3b3b3" >
+</xs:attribute>
+      <xs:attribute name="borderWidth" type="xs:string" default="1" >
+</xs:attribute>
+      <xs:attribute name="borderRadius" type="xs:string" default="15" >
+</xs:attribute>
+      <xs:attribute name="borderColor" type="lzx:color" default="0x999999" >
+</xs:attribute>
+      <xs:attribute name="backgroundStopColor" type="lzx:color" default="$once{parent.upStopColor}" >
+</xs:attribute>
+      <xs:attribute name="backgroundStartColor" type="lzx:color" default="$once{parent.upStartColor}" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="LzTextFormat" type="lzx:LzTextFormat" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+    LzTextFormat is deprecated.  Use 'textformat' instead.
+    @keyword deprecated
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="LzTextFormat" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:textformat">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="myweek" type="lzx:myweek" >
+</xs:element>
+  <xs:complexType name="myweek" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basedatepickerweek">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="rpc" type="lzx:rpc" >
+</xs:element>
+  <xs:complexType name="rpc" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="secureport" type="lzx:number" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The port to use for the secure socket between the client and the
+              LPS. If secure is false, this value is ignored.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="secure" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Make connection secure between client and the LPS secure
+             (HTTPS). Default is false. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="proxyinfo" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="proxy" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The remote proxy object. Proxy is set after the rpc object
+              loads. Proxy contains client-side function stubs to remote
+              methods. Each method takes an array of arguments and a delegate
+              like:
+
+                myrpc.proxy.remoteFunc( [ p1, p2, ..., pN ], delegate );
+
+              Remote methods with no arguments are passed in an empty array
+              like:
+
+                myrpc.proxy.otherRemoteFunc( [], delegate );
+
+              The delegate is used to handle the return value since RPC calls
+              are asynchronous.
+
+              @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onunload" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This event is triggered when the remote object is unloaded.
+              @access public
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onload" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This event is triggered when the remote object is loaded.
+              @access public </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onerror" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This event is triggered when an error or timeout occurs associated
+              with getting this object or calling one of its remote methods. 
+              @access public </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="autoload" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Load remote object during init. If false, create remote object by
+              calling load(). Default is true. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="datacombobox" type="lzx:datacombobox" >
+</xs:element>
+  <xs:complexType name="datacombobox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basedatacombobox">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basezoomarea" type="lzx:basezoomarea" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An abstract class that provide basic zooming ability. 
+        Allow subclasses to modify the look and feel
+        and action to be taken
+        @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="basezoomarea" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="starty" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="startx" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="selectionDel" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="selecting" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ user is selecting or not </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="plotarea" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="endy" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="endx" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="enabled" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ enable zoom area </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="duration" type="lzx:number" default="500" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ zoom animation duration </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="chart" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the chart instance </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="_componentmanager" type="lzx:_componentmanager" >
+</xs:element>
+  <xs:complexType name="_componentmanager" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="tree" type="lzx:tree" >
+</xs:element>
+  <xs:complexType name="tree" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basetree">
+      <xs:attribute name="onactivate" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Double-clicking on the icon or text triggers this event. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="icon" type="xs:string" default="lztree_folder_rsc" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The resource for the item icon:
+              frame 1 (closed), frame 2 (opened), frame 3 (leaf) 
+              Default is lztree_folder_rsc defined in lz/tree.lzx.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="expander" type="xs:string" default="lztree_arrow_rsc" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The resource for the expanding icon:
+              frame 1 (closed), frame 2 (opened), frame 3 (leaf).
+              Default is lztree_arrow_rsc defined in lz/tree.lzx.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chartdata" type="lzx:chartdata" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A container class for dataseries instances.  Helps organize and
+        locate the data. All dataseries tags in a chart must be children
+        of this class. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="chartdata" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="button" type="lzx:button" >
+</xs:element>
+  <xs:complexType name="button" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basebutton">
+      <xs:attribute name="text_y" type="lzx:number" default="${this.height/2 - this._title.height/2}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the y position of the button text. default: centered </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="text_x" type="lzx:number" default="${this.width/2 - this._title.width/2}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the x position of the button text. default: centered </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="text_padding_y" type="lzx:number" default="4" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the amount of space to add vertically  when sizing button to its
+        text. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="text_padding_x" type="lzx:number" default="11" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the amount of space to add horizontally when sizing button to its
+        text. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="slidertrack" type="lzx:slidertrack" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the inner track on which the sliderthumb rides </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="slidertrack" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baseslidertrack">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="listselector" type="lzx:listselector" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ a helper class that wraps the selectionmanager in some
+        higher level APIs, used by baselist </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="listselector" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:selectionmanager">
+      <xs:attribute name="multiselect" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If multiselect is true, multiple selection is enabled.
+        When the shift key is down, a range of items is selected.
+        When the control key is down, any item may be added to the
+        selection.
+             Default: false </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="piechart" type="lzx:piechart" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+          A pie chart represents a chart that is displayed in the 2D
+          polar plane. This class inherits immediately from chart class
+          and can be instantiated directly. (Warning: Of beta quality.)
+          @access public
+          </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="piechart" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="selectedpie" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Which pie is selected, if there are multiple pies. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ploty" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Plot area y coordinate, relative to chart as a whole. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="plotx" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Plot area x coordinate, relative to chart as a whole. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="plotwidth" type="lzx:number" default="${this.width - 1}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Width of plotting area. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="plotheight" type="lzx:number" default="${this.height - 1}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Height of plotting area. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="plotbgcolor" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Background color of the plot area. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="piespacing" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The space between the pies, if there are multiple pies. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderwidth" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Width of the plot area's border. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="border" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Border around the plot area, if anything. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bgresource" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If desired, a resource can be used in the background.
+            If specified, this view will appear behind the chart,
+            with everything drawn on top of it. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="menuarrow" type="lzx:menuarrow" >
+</xs:element>
+  <xs:complexType name="menuarrow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="import" type="lzx:import" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The &lt;import&gt; tag is used to import, at run time, source code contained in another (library) file. See the Guide for a complete discussion. Also see the &lt;library&gt; tag. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="import" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="stage" type="xs:string" default="late|defer" >
+</xs:attribute>
+      <xs:attribute name="proxied" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="href" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  A reference to a target file whose content is treated as a loadable module </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="textlistitem" type="lzx:textlistitem" >
+</xs:element>
+  <xs:complexType name="textlistitem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:listitem">
+      <xs:attribute name="text_y" type="xs:string" default="${this.height/2 - this._title.height/2}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the y position of the text label. default: centered </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="text_x" type="xs:string" default="4" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The x position of the displayed text. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="rtmpstatus" type="lzx:rtmpstatus" >
+</xs:element>
+  <xs:complexType name="rtmpstatus" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="rtmpc" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ rtmpconnection to monitor </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="valueline" type="lzx:valueline" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+       Represents a line in the chart
+       @access public
+       </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="valueline" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:drawview">
+      <xs:attribute name="tipEnable" type="lzx:boolean" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ enable tooltip for data </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="tip" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the tooltip value will be display when the mouse over the line </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="label" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the label will be display next to the line </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="axis" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the axis value could be "x" or "y" </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="labelstyle" type="lzx:labelstyle" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ style object used for anything that contains a label within the chart.
+      @access public
+      </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="labelstyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basestyle">
+      <xs:attribute name="linesize" type="lzx:number" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ size of border of label background  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="linecolor" type="lzx:color" default="${null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ color of bounding box border </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset" type="lzx:number" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the number of pixels the font is inset from the border </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fontcolor" type="lzx:color" default="0x000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ color of the font </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fontangle" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ angle of rotation of the font </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fillcolor" type="lzx:color" default="${null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ color of bounding box fill </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basevaluecomponent" type="lzx:basevaluecomponent" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ an abstract class for components that represent a value for data </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="basevaluecomponent" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecomponent">
+      <xs:attribute name="value" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the value that this item represents. When selected,
+        the parent selection group's value will be set to this value.
+        Most subclasses require you to call getValue() to get the
+        value of the attribute.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="type" type="xs:string" default="expression" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The type of value of the item. Default is 'expression',
+             which will attempt to heuristicate the type from the
+             value. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basetooltip" type="lzx:basetooltip" >
+</xs:element>
+  <xs:complexType name="basetooltip" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="text" type="xs:string" default="Default Value" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="form" type="lzx:form" >
+</xs:element>
+  <xs:complexType name="form" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baseform">
+      <xs:attribute name="spacing" type="xs:string" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Vertical space between content and button area. If forms height is
+              specified, the button area will be flush against the form's bottom
+              right corner (adjusted by any layout that the form has). </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_top" type="xs:string" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The top inset for content appearing within form. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_right" type="xs:string" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The right inset for content appearing within form. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_left" type="xs:string" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The left inset for content appearing within form. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_bottom" type="xs:string" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The bottom inset for content appearing within form. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basestyle" type="lzx:basestyle" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ base style for all chart styles
+      @access public
+  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="basestyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="valueregionstyle" type="lzx:valueregionstyle" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ valueregionstyle is used for drawing the appearance of a value region
+      @access public
+  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="valueregionstyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basestyle">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chartstyle" type="lzx:chartstyle" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ style for chart, contain nested level of style extend from basestyle
+      @access public
+  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="chartstyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basestyle">
+      <xs:attribute name="version" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="onversion" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="datastyleindex" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="radiobutton" type="lzx:radiobutton" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Implements a "radio" button, allows a one-of-many selection when
+          several of these are in a radiogroup. Radiobutton expects its parent
+          to be radiogroup. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="radiobutton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baselistitem">
+      <xs:attribute name="text_y" type="lzx:number" default="${this.rb.height/2 - this._title.height/2}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the y position of the text label. default: centered </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="alert" type="lzx:alert" >
+</xs:element>
+  <xs:complexType name="alert" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:modaldialog">
+      <xs:attribute name="text_y" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The y position of the button text. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="text_x" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The x position of the button text. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="result" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ After the alert is closed, this is set to true if button1 ("OK")
+              is pressed or false if button2 is pressed. You can check for the
+              result value using the onresult event. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onresult" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This event is sent when a button is pressed. Use this to check the
+              result value. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maxtextwidth" type="xs:string" default="${Math.round(parent.width/3) - inset_left - inset_right                     - content_inset_left - content_inset_right}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The max length of a line of text before it wraps. Default: 1/3 of
+              the parent's width - width of window dressing and margin. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="button2" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If a string is set for this attribute, a second button will be
+              shown to the left of the first with this text. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="button1" type="xs:string" default="OK" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Alert shows only this button, if button2 isn't set.
+              You may specify a different string to change the text of the
+              button. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basegridcolumn" type="lzx:basegridcolumn" >
+</xs:element>
+  <xs:complexType name="basegridcolumn" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecomponent">
+      <xs:attribute name="sortpath" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An xpath expression to use to determine the sort key for this
+              column. By default, this is the column's datapath's xpath. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="minwidth" type="lzx:number" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The minimum width for this column. This is relevant if the column
+              can be resized. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hasSort" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Set by &lt;code&gt;doSort()&lt;/code&gt; method. If true, then this is the current
+              sort column.
+              @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="descendComparator" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An optional method. If defined, this method will be used when 
+              the column is sorted when ascendsort is set to false. This method
+              should have the comparator signature. It should accept to string
+              argument and return 1, 0 , or -1, indicating that the two
+              arguments are in order, equivalent, or out of order,
+              respectively. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="datatype" type="xs:string" default="string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Either "number" or "string". If "string", then dictionary sort
+              is used. If "number", then types are coerced to a number before
+              sorting. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="colwidth" type="xs:string" default="${this.width}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The current width of the column. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ascendsort" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, the next sort will be ascending, otherwise it will
+              be descending.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ascendComparator" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An optional method. If defined, this method will be used when 
+              the column is sorted when ascendsort is set to true. This method
+              should have the comparator signature. It should accept to string
+              argument and return 1, 0 , or -1, indicating that the two
+              arguments are in order, equivalent, or out of order,
+              respectively. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="strokestyle" type="lzx:strokestyle" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private 
+Implementes the Stroke rendering lines </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="strokestyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:drawview">
+      <xs:attribute name="strokeWidth" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ -    Numerical value that indicate the thickness of the Stroke line in pixels. Default value ="1"</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="strokeType" type="xs:string" default="solid" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ String value that indicates the type of the Stroke, possible values : "solid", "dashed" or "dotted". Default value "solid"</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="strokeColor" type="lzx:color" default="0x000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Color of the Stroke in  hexadecimal value, default value "0x000000"</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="spaceLength" type="lzx:number" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Number of pixels of spacing between each small line that compose the stylish line. Default value ="5"</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dottedLength" type="lzx:number" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Number of pixel of each small line that compose the stylish line. Default value ="10"</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="menu" type="lzx:menu" >
+</xs:element>
+  <xs:complexType name="menu" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecomponent">
+      <xs:attribute name="opened" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ a boolean indicating whether or not the menu is in opened </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="attach" type="xs:string" default="bottom" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ a string to indicate how the floating part of the menu attaches to 
+              the menubutton or menuitem. Possible values are: 'top', 'bottom', 'left', and 'right' </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chartbacking" type="lzx:chartbacking" >
+</xs:element>
+  <xs:complexType name="chartbacking" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basechartbacking">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="vslider" type="lzx:vslider" >
+</xs:element>
+  <xs:complexType name="vslider" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="switchaxis" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ switchaxis true means minimum-value is 
+                t op maximum is bottom false turns around </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showvalue" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ showvalue should the slider show the numbers of min/max </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showrange" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Showrange should the slidertrack be with color while 'sliding' </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="minvalue" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Minimum Value </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maxvalue" type="lzx:number" default="100" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Maximum Value </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="initvalue" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basedatacombobox" type="lzx:basedatacombobox" >
+</xs:element>
+  <xs:complexType name="basedatacombobox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baseformitem">
+      <xs:attribute name="valuedatapath" type="xs:string" default="@value" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Datapath to value for items in list. See caveat.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="textdatapath" type="xs:string" default="text()" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Datapath to text to display for items in list. 
+              See caveat.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="statictext" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If set, this will always be displayed instead of selected item
+              text. Behaves like a menu button. Also see defaulttext. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="shownitems" type="xs:string" default="4" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Sets the height to the number of items to show in combobox
+              popup list. Must be greater than 0. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="selectfirst" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ When true, the 1st item is selected oninit. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="selected" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Datapointer to selected item. 
+              @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onselected" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Event sent when an item is selected. Sends selected item. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onselect" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Event sent when an item is selected. Sends selected item. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onisopen" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Called when combobox opens or closes </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="oncombofocus" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The equivalent for onfocus for combobox. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="oncomboblur" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The equivalent for onblur for combobox. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="menuclassname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="listwidth" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Width of popup list, defaults to width of combobox view. During
+              setup, the width of the floating list view might not yet be set,
+              so this returns the expected width. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="listattach" type="xs:string" default="bottom" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Where the floatinglist should attach to its owner. Possible
+              values: bottom, top, left, right.  In the event of a canvas
+              out-of-bounds, the floating list will attach in a visible
+              location. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="itemdatapath" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Datapath to items in list. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="itemclassname" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The name of the class for items in the floating list. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="isopen" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates whether or not the popup list is showing.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ismenu" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, the combobox will behave like a menu. "value" is
+              ignored, and items will not remain selected. Selecting an
+              item generates an onselect event </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="defaulttext" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Default text to display before a selection is made. No default
+              item is selected if defaulttext is set. Defaulttext is replaced
+              with selected item's text. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="columnchart" type="lzx:columnchart" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+       A chart class that renders vertical bars.
+       Inherits from the chart class.  (Warning: Of beta quality.)
+       @access public
+      </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="columnchart" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:rectangularchart">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="row" type="lzx:row" >
+</xs:element>
+  <xs:complexType name="row" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="label" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="include" type="lzx:include" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The &lt;include&gt; tag is used to include source code contained in another file. See the Guide for a complete discussion. Also see the &lt;library&gt; tag. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="include" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+      <xs:attribute name="type" type="xs:string" default="text|xml" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  If this attribute has the value text , the content of the target file is included as text. Otherwise, it is read as XML.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="href" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  A reference to a target file whose content is included in the application that contains this include element. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:complexType>
+<xs:element name="menutrackgroup" type="lzx:menutrackgroup" >
+</xs:element>
+  <xs:complexType name="menutrackgroup" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basetrackgroup">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="roundrect" type="lzx:roundrect" >
+</xs:element>
+  <xs:complexType name="roundrect" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:drawview">
+      <xs:attribute name="oninsettop" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="oninsetright" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="oninsetleft" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="oninsetbottom" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="oninset" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="insettop" type="lzx:size" default="${null}" >
+</xs:attribute>
+      <xs:attribute name="insetright" type="lzx:size" default="${null}" >
+</xs:attribute>
+      <xs:attribute name="insetleft" type="lzx:size" default="${null}" >
+</xs:attribute>
+      <xs:attribute name="insetbottom" type="lzx:size" default="${null}" >
+</xs:attribute>
+      <xs:attribute name="inset" type="lzx:size" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The margin between the outside view and the content view </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="boxShadowY" type="xs:string" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The x offset of the box shadow.  The box shadow is not drawn by default.
+            Specify a boxShadowColor in order to draw it. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="boxShadowX" type="xs:string" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The x offset of the box shadow.  The box shadow is not drawn by default.
+            Specify a boxShadowColor in order to draw it. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="boxShadowOpacity" type="xs:string" default="0.5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The box shadow opacity. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="boxShadowColor" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The box shadow color.  If this is specified, a box shadow is drawn.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderWidth" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The width of the border.  If this is zero, no frame is drawn. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderRadius" type="xs:string" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The rounding radius of the border corners.  Because the default
+            join type is a round join, even a radius of zero will product some
+            rounding. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderOpacity" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The border opacity </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderColor" type="lzx:color" default="black" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The border color </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="backgroundStopOpacity" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The background stop opacity.  This defaults to one (opaque) unless the
+            stop color is not specified and the start color is, in which case it
+            defaults to zero (fully transparent). </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="backgroundStopColor" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The background stop color.  This is the color that is drawn at the
+            bottom or right of the view, depending on the value of
+            backgroundGradientOrientation.  See the documentation for
+            backgroundStartColor for additional documentation. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="backgroundStartOpacity" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The background start opacity.  This defaults to one (opaque) unless the
+            start color is not specified and the stop color is, in which case it
+            defaults to zero (fully transparent). </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="backgroundStartColor" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The background start color.  This is the color that is drawn at
+            the top or left of the view, depending on the value of
+            backgroundGradientOrientation.  If this and the backround stop color
+            are specified, a gradient background is drawn in the direction specified
+            by backgroundGradientOrientation.  If only one of the background start
+            and stop color are specified, a gradient of the same color that fades to
+            transparent at the unspecified end is drawn.  If a box shadow is drawn,
+            the background defaults to white.  Specify a start and stop opacity to
+            suppress this behavior. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="backgroundGradientOrientation" type="xs:string" default="vertical" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The background gradient orientation.  One of 'vertical' (the default)
+            and 'horizontal'. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="versioninfo" type="lzx:versioninfo" >
+</xs:element>
+  <xs:complexType name="versioninfo" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:text">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="_newinternalinputtext" type="lzx:_newinternalinputtext" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A private inputtext class used by baseedittext that basically passes
+          its events (onfocus, onblur, onkeyup, onkeydown, ontext) up. Instances
+          of _internalinputtext should only exist in a baseedittext class. Note
+          that _internalinputtext assumes that its parent is a baseedittext.
+
+          Baseedittext controls _internalinputtexts y position and multiline
+          setting. Subclasses and instances should not override these
+          attributes.
+
+          @keywords private </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="_newinternalinputtext" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:inputtext">
+      <xs:attribute name="ignorecallup" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ True means that doSetValue called internal inputtext and inputtext
+              should not call doSetValue back. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="pointstyle" type="lzx:pointstyle" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ style for point and datamarker
+      @access public
+      </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="pointstyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basestyle">
+      <xs:attribute name="strokeStyle" type="lzx:color" default="0x000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Color of the stroke </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="shape" type="xs:string" default="square" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 'circle','square','triangle', [name of resource] </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="lineWidth" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Width of the stroke line </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="image" type="xs:string" default="${null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ image path </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="gradient" type="xs:string" default="none" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 'none', 'linear', 'radial' </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="color" type="lzx:color" default="black" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ RGB color </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="checkdragstate" type="lzx:checkdragstate" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  This should be declared as a child of the thing for which you want to
+        enable dragging.  You will need to define a view (an instance of a
+        subclass of &lt;xref linkend="lz.basedragimage"/&gt;)
+        to define the visual look of the thing while its being dragged.
+        &lt;example executable="false"&gt;
+        &amp;lt;class name="dragger" &amp;gt;
+            ...
+            &amp;lt;handler name="onmousedown"&amp;gt;
+                checkdrag.setAttribute('applied', true);
+            &amp;lt;/handler&gt;
+            &amp;lt;handler name="onmouseup"&amp;gt;
+                canvas.dragimage.stopdrag(this);
+                checkdrag.setAttribute('applied', false);
+            &amp;lt;/handler&amp;gt;
+
+            &amp;lt;checkdragstate name="checkdrag" draggername="dragimage"/&amp;gt;
+        &amp;lt;/class&amp;gt;
+        &lt;/example&gt;
+
+        The object that you want to accept a drop action, needs to register with
+        lz.Track using the same group as is declared in the dragimage.
+
+        &lt;example executable="false"&gt;
+        &amp;lt;class name="droptarget"&amp;gt;
+            ...
+            &amp;lt;method name="init"&amp;gt;
+                super.init();
+                lz.Track.register(this, 'target');
+            &amp;lt;/method&amp;gt;
+
+            &amp;lt;handler name="onmousetrackover"&amp;gt;
+               setAttribute('bgcolor', 0xffff00); // hilite
+            &amp;lt;/handler&amp;gt;
+            &amp;lt;handler name="onmousetrackout"&amp;gt;
+               setAttribute('bgcolor', null); // normal
+            &amp;lt;/handler&amp;gt;
+            &amp;lt;handler name="onmousetrackup"&amp;gt;
+               setAttribute('bgcolor', null); // normal
+               canvas.dragimage.dropcomplete(this);
+               Debug.write('dropped: '+dragimage.source.text);
+            &amp;lt;/handler&amp;gt;
+        &amp;lt;/class&gt;
+        &lt;/example&gt;
+        
+        @access public
+  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="checkdragstate" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:state">
+      <xs:attribute name="draggername" type="xs:string" default="dragimage" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ an instance subclass of basedragimage that defines the
+         visual representation of the item while it is being dragged
+         </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="ticklabel" type="lzx:ticklabel" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Labels along the tick axes. Either incremental, or, in a barchart,
+        determined by specified data. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="ticklabel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="ltextsize" type="lzx:number" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The size of the text for this label. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ltext" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The text of this label. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ltcolor" type="lzx:color" default="#000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The color of this label's text. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelangle" type="lzx:number" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ XX To be implemented: The rotation of this particular label. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="radioitem" type="lzx:radioitem" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  A selectable list item which works like a Radio Button
+            though uses an icon instead of radio button graphics.
+    </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="radioitem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baselistitem">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basegridrow" type="lzx:basegridrow" >
+</xs:element>
+  <xs:complexType name="basegridrow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecomponent">
+      <xs:attribute name="styleRegularColor" type="lzx:color" default="black" >
+</xs:attribute>
+      <xs:attribute name="selectedColor" type="lzx:color" default="black" >
+</xs:attribute>
+      <xs:attribute name="selected" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="selectable" type="lzx:boolean" >
+</xs:attribute>
+      <xs:attribute name="regularColor" type="lzx:color" default="black" >
+</xs:attribute>
+      <xs:attribute name="ownerGrid" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="onselected" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="lineColor" type="lzx:color" default="black" >
+</xs:attribute>
+      <xs:attribute name="highlighted" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="highlightColor" type="lzx:color" default="black" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basedatepickerday" type="lzx:basedatepickerday" >
+</xs:element>
+  <xs:complexType name="basedatepickerday" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="selected" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates if this day is currently selected 
+              @keywords public
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="selectable" type="lzx:boolean" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates if this day is selectable.  The day is selectable if 
+              it is within the range of possible selected dates 
+              @keywords public 
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="disabled" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates if this day should be enabled or disabled.  The day 
+              would be disbled if it should not show its daynum.
+              @keywords public 
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="daynum" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The day of the month to be displayed 
+              @keywords public </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="viewspoolmanager" type="lzx:viewspoolmanager" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private 
+    Manage a hash table of viewspool 
+    </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="viewspoolmanager" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="pools" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private 
+    Manage a hash table of viewspool 
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="datapath" type="lzx:datapath" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+A cursor in a dataset.
+A datapointer is an object that represents a pointer to a node in a lz.dataset. The datapointer can be repositioned using either cursor movements calls such as LzDatapointer.selectNext(), or by running an XPath request via LzDatapointer.setXPath().
+
+Datapointers support a subset of the XPath specification, which uses a notation similar to the UNIX file-system to refer to nodes within a dataset. Once a datapointer is bound to a node in a dataset it will keep pointing to that node until it is moved. If the dataset is edited, the behavior of the datapointer will be controlled by its rerunxpath attribute. If this attribute is true, it will continue pointing to its current node as long as it is valid. 
+ </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="datapath" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:datapointer">
+      <xs:attribute name="spacing" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The spacing (in pixels) between replicated views.
+[Note] 	Note
+This attribute is only available if replication is set to either "lazy" or "resize".  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="sortpath" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+An XPath to use to obtain the sort key for sorting if replication occurs. To change this attribute, use .setAttribute('sortpath', ...),  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="sortorder" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The order to use to sort the dataset if replication occurs. One of "ascending" or "descending" to use built in dictionary sort, or a function which compares two strings and returns 1 if the strings are in order, 0 if they are the same, and -1 if they are out of order. To change this attribute, use setAttribute('sortorder', ...).  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="replication" type="xs:string" default="normal" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Determines whether to use normal or lazy replication, if the datapath matches more than one node. See the section on Replication in the Guide for information about the use of this attribute.
+[Note] 	Note
+The choice of replication style implies a choice of replication manager. Each replication manager may have additional attributes which are specified as attributes of the datapath. For example, lz.LazyReplicationManager takes axis and spacing attributes. See the documentaion for the corresponding replication manager for detailed information on these additional attributes.
+
+One of: 	'normal' | 'lazy' | 'resize'  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="pooling" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+		This attribute applies to datapaths which match multiple nodes and force replication. If pooling is true, views that are data-bound to this datapath are recycled if the dataset changes. Otherwise, views are deleted when the data nodes they are bound to disappear, and created when new data nodes match the datapath. See the section on Pooling in the Guide for information about the use of this attribute. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="axis" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The direction in which the replicated elements will be layed out.
+		Note
+This attribute is only available if replication is set to either "lazy" or "resize".  
+	One of: "x" | "y"  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="icontab" type="lzx:icontab" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A tab item for use in sidebar.lzx - switches between listpanel views </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="icontab" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baselistitem">
+      <xs:attribute name="label_y" type="xs:string" default="-1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the y offset for the label </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_x" type="xs:string" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the icon and text are contained in one view, and inset_x sets the x for its position </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="iconname" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ optional icon for tab </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="icon_y" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the y postion of the icon </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="linestyle" type="lzx:linestyle" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ style for point or border
+      @access public
+      </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="linestyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basestyle">
+      <xs:attribute name="type" type="xs:string" default="solid" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 'solid', 'dotted' </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="size" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ pixel size for the stroke of the line </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="color" type="lzx:color" default="0x000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ RGB color on the axis line </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="sliderthumb" type="lzx:sliderthumb" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the visual thumb the user drags to select a value </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="sliderthumb" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basesliderthumb">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="datepicker" type="lzx:datepicker" >
+</xs:element>
+  <xs:complexType name="datepicker" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basedatepicker">
+      <xs:attribute name="startAsIcon" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Set to true to initially show the datepicker as an
+              icon, otherwise set to false.
+              @keywords public </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="oldvalue" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="allowdrag" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keywords public </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="linechartplotarea" type="lzx:linechartplotarea" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keywords private
+     plotarea of linechart </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="linechartplotarea" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:virtualdrawview">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="TestSuite" type="lzx:TestSuite" >
+</xs:element>
+  <xs:complexType name="TestSuite" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:Test">
+      <xs:attribute name="onteststart" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="ontestfinish" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="ontestfail" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onsuitestart" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onsuitefinish" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="controlPanel" type="xs:string" default="${canvas.lzunitControlPanel}" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="_datepicker_dirButton" type="lzx:_datepicker_dirButton" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="_datepicker_dirButton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basebutton">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="colorslider" type="lzx:colorslider" >
+</xs:element>
+  <xs:complexType name="colorslider" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="inputtext" type="lzx:inputtext" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+The basic input-text element.
+JavaScript: lz.inputtext
+
+This tag creates an area of the canvas that the user can use to edit text. It is equivalent to the HTML &lt;input type="text"&gt;, &lt;input type="password"&gt;, and textarea tags.
+
+See the documentation for the &lt;text&gt; tag for a description of the width and height attributes, and of scrolling. 
+ </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="inputtext" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:text">
+      <xs:attribute name="password" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	If true, the inputtext contents will be obscured </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onenabled" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Sent whenever the text field is enabled. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="enabled" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	If true, the inputtext will be editable </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="lazyreplicator" type="lzx:lazyreplicator" >
+</xs:element>
+  <xs:complexType name="lazyreplicator" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:replicator">
+      <xs:attribute name="clonesoffset" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="clonedel" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videoscreen" type="lzx:videoscreen" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ used by videoplayer component
+          @access private </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="videoscreen" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="volume" type="xs:string" default="1.0" >
+</xs:attribute>
+      <xs:attribute name="videoWidth" type="xs:string" default="${             Math.min(this.innerWidth,                      this.innerHeight * this.aspectRatio)}" >
+</xs:attribute>
+      <xs:attribute name="videoHeight" type="xs:string" default="${             Math.min(this.innerHeight,                      this.innerWidth / this.aspectRatio)}" >
+</xs:attribute>
+      <xs:attribute name="url" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="type" type="xs:string" default="http" >
+</xs:attribute>
+      <xs:attribute name="starttime" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="innerWidth" type="xs:string" default="${             this.width - (this.borderLeft + this.borderRight)}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the actual width of the videoview 
+            @access private
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="innerHeight" type="xs:string" default="${             this.height - (this.borderTop + this.borderBottom)}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the actual height of the videoview 
+            @access private
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="debug" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ true for verbose debug logging </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="capturing" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="borderTop" type="xs:string" default="5" >
+</xs:attribute>
+      <xs:attribute name="borderRight" type="xs:string" default="5" >
+</xs:attribute>
+      <xs:attribute name="borderLeft" type="xs:string" default="5" >
+</xs:attribute>
+      <xs:attribute name="borderBottom" type="xs:string" default="5" >
+</xs:attribute>
+      <xs:attribute name="autoplay" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="aspectRatio" type="xs:string" default="$once{             4 / 3}" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="lzradiobutton" type="lzx:lzradiobutton" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Subclass of radiobutton with customizable look.  apps should either
+        include lzradio_resources.lzx (to get default look) or define
+        a "lzradio_rsrc" resource with the same format. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="lzradiobutton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baseradiobutton">
+      <xs:attribute name="text_y" type="lzx:number" default="$once{this._rb.height/2 - this._title.height/2}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The y position of the text label. Default: centered. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="text_x" type="lzx:number" default="$once{this._rb.width + 2}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The x position of the text label. Default: 2 pixels past
+              radiobutton resource. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="XMLHttpRequest" type="lzx:XMLHttpRequest" >
+</xs:element>
+  <xs:complexType name="XMLHttpRequest" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="timeout" type="xs:string" default="60000" >
+</xs:attribute>
+      <xs:attribute name="statusText" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ String message accompanying the status code </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="status" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Numeric code returned by server, such as 404 for "Not Found" or 200 for "OK" </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="responseXML" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ DOM-compatible document object of data returned from server process </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="responseText" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ String version of data returned from server process </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="readyState" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  Object status integer: 0 Uninitialised The initial value. 1 Open The open() method has been successfully called. 
+              2 Sent The send() method has been successfully called, but no data has yet been received. 3 Receiving Data is being received, 
+              but the data transfer is not yet complete. 4 Loaded The data transfer has been completed. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="proxied" type="xs:string" default="$once{canvas.proxied}" >
+</xs:attribute>
+      <xs:attribute name="parsexml" type="xs:string" default="true" >
+</xs:attribute>
+      <xs:attribute name="onreadystatechange" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="headers" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="valuelinestyle" type="lzx:valuelinestyle" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ valuelinestyle is used to set style to the 
+     NOTE: valuelinestyle extends basestyle
+     @access public
+     </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="valuelinestyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basestyle">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="fileupload" type="lzx:fileupload" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+    @topic Incubator
+    @subtopic Components
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="fileupload" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="uploadenable" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Enable upload. True to enable uploading, false to disable uploading. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="msg" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ message of feedback to user </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maxsize" type="xs:string" default="10000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Max file size in bytes </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fileref" type="xs:string" default="$once{new flash.net.FileReference()}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ file reference, for internal use 
+            @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="command" type="lzx:command" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+   
+    @copyright Copyright 2001-2010 Laszlo Systems, Inc.  All Rights Reserved.
+               Use is subject to license terms.
+   
+    @affects lzcommand
+    @access public
+    @topic LFC
+    @subtopic Views
+    @devnote A command is an object that sends an event in response to keyboard input.
+  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="command" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="onselect" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+    If the command is active, this event is sent
+    when the keys array are pressed simultaneously.
+    @lzxtype event
+  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="keys" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ array of keys (strings) that, when pressed together,
+    cause the onselect event of the command to be sent. For example:
+    setAttribute('key', ['a', 'shift'])
+    @type [String]
+  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="key" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+  WTF?  See LPP-4982, LPP-7814
+  Necessary to add "key" to the schema
+  @access private
+</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="active" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+    true if the command is currently active.
+    The default is &lt;i&gt;true&lt;/i&gt;.
+    @type Boolean
+  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="DisplayKeys" type="xs:string" default="{control:'Ctrl', shift:'Shift', alt:'Alt'}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+ * Mapping from key names to display strings used by keysToString
+ * @type Dictionary
+ * @keywords read-only
+ </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="colormenu" type="lzx:colormenu" >
+</xs:element>
+  <xs:complexType name="colormenu" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basetrackgroup">
+      <xs:attribute name="owner" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="datastyle" type="lzx:datastyle" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ dataseriesstyle is used for drawing the appearance of a dataseries
+      @access public
+  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="datastyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basestyle">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="hotspot" type="lzx:hotspot" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+This class is a contract interface for hotspots that can be used
+by the imagemap class. A generic hotspot does three things:
+1. Tells us if it contains a point
+2. Performs some action on entry
+3. Performs some action on leaving
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="hotspot" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="circlehotspot" type="lzx:circlehotspot" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+A general hotspot for points inside a circle.
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="circlehotspot" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:hotspot">
+      <xs:attribute name="y" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The Y coordinate of the center </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="x" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The X coordinate of the center </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="radius" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The radius of the circle </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basedatepickerweek" type="lzx:basedatepickerweek" >
+</xs:element>
+  <xs:complexType name="basedatepickerweek" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="dayclass" type="xs:string" default="$once{classroot.dayclass}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Name of the day class instance to use.  
+              @keywords public </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videolibrarypopup" type="lzx:videolibrarypopup" >
+</xs:element>
+  <xs:complexType name="videolibrarypopup" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="yourY" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="yourX" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="yourWidth" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="yourHeight" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="url" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="type" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="title" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="popupWidth" type="xs:string" default="300" >
+</xs:attribute>
+      <xs:attribute name="popupHeight" type="xs:string" default="${this.f.height + 2}" >
+</xs:attribute>
+      <xs:attribute name="pinYourYPos" type="xs:string" default="0.0" >
+</xs:attribute>
+      <xs:attribute name="pinYourXPos" type="xs:string" default="0.5" >
+</xs:attribute>
+      <xs:attribute name="pinY" type="xs:string" default="${             this.yourY +             (this.pinYourYPos * this.yourHeight) -             (this.pinMyYPos * this.height)}" >
+</xs:attribute>
+      <xs:attribute name="pinX" type="xs:string" default="${             this.yourX +             (this.pinYourXPos * this.yourWidth) -             (this.pinMyXPos * this.width)}" >
+</xs:attribute>
+      <xs:attribute name="pinMyYPos" type="xs:string" default="1.0" >
+</xs:attribute>
+      <xs:attribute name="pinMyXPos" type="xs:string" default="0.5" >
+</xs:attribute>
+      <xs:attribute name="description" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="atts" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="tabpane" type="lzx:tabpane" >
+</xs:element>
+  <xs:complexType name="tabpane" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basetabpane">
+      <xs:attribute name="tabwidth" type="lzx:number" default="-1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Width of the tab associated with this tabpane. If not set, the tab
+              will resize itself to fit. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basetabpanecontent" type="lzx:basetabpanecontent" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This is the content of a basetabpane.
+          @keywords private </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="basetabpanecontent" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="borderinput" type="lzx:borderinput" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+      @topic Incubator
+      @subtopic Components
+  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="borderinput" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="text" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="labelwidth" type="lzx:number" default="80" >
+</xs:attribute>
+      <xs:attribute name="labelstyle" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ should be an object of type "textstyle" </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="label" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="changed" type="xs:string" default="${this.txt.changed}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+      @topic Incubator
+      @subtopic Components
+  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="stepper" type="lzx:stepper" >
+</xs:element>
+  <xs:complexType name="stepper" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baseformitem">
+      <xs:attribute name="step" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="numberAlign" type="xs:string" default="left" >
+</xs:attribute>
+      <xs:attribute name="minimum" type="lzx:number" >
+</xs:attribute>
+      <xs:attribute name="maximum" type="lzx:number" >
+</xs:attribute>
+      <xs:attribute name="initialNumber" type="lzx:number" default="1" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="rectangularchart" type="lzx:rectangularchart" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+       class that provides all common features for the rectangular charts like line, bar and column
+       @access public
+       </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="rectangularchart" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:chart">
+      <xs:attribute name="verticalGridLines" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Determines if the vertical grid lines are going to be used </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onRenderStop" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onRenderStart" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="miny" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The minimum virtual value to be rendered in the 'y' axis </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="minx" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The minimum virtual value to be rendered in the 'x' axis </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maxy" type="lzx:number" default="100" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The maximum virtual value to be rendered in the 'y' axis </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maxx" type="lzx:number" default="100" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The maximum virtual value to be rendered in the 'x' axis </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="horizontalGridLines" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="horizontalGridBands" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Determines if the horizontal grid lines are going to be used </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="gridlinecolor" type="lzx:color" default="0x000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="defaultminy" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="defaultminx" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="defaultmaxy" type="lzx:number" default="100" >
+</xs:attribute>
+      <xs:attribute name="defaultmaxx" type="lzx:number" default="100" >
+</xs:attribute>
+      <xs:attribute name="dataSeriesLeaf" type="xs:string" default="${null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="modaldialog" type="lzx:modaldialog" >
+</xs:element>
+  <xs:complexType name="modaldialog" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:windowpanel">
+      <xs:attribute name="content_inset_top" type="xs:string" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The top inset for the dialog contents from the edge of the window
+              inner frame. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="content_inset_right" type="xs:string" default="14" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The right inset for the dialog contents from the edge of the
+              window inner frame </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="content_inset_left" type="xs:string" default="14" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The left inset for the dialog contents from the edge of the
+              window inner frame. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="content_inset_bottom" type="xs:string" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The bottom inset for the dialog contents from the edge of the
+              window inner frame. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="menufloatinglist" type="lzx:menufloatinglist" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="menufloatinglist" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:floatinglist">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="ZoomView" type="lzx:ZoomView" >
+</xs:element>
+  <xs:complexType name="ZoomView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="text" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="opened" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="closed" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basecheckbox" type="lzx:basecheckbox" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A checkbox component representing a boolean. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="basecheckbox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baseformitem">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="gridcolumn" type="lzx:gridcolumn" >
+</xs:element>
+  <xs:complexType name="gridcolumn" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basegridcolumn">
+      <xs:attribute name="sortable" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, the column header is clickable and will initiate a 
+              sort </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showheader" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If set to false, then no header will be shown for this column.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="resizemargin" type="lzx:number" default="3" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The width of the resizer between columns.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="resizable" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If set to false, the column cannot be resized. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="item" type="lzx:item" >
+</xs:element>
+  <xs:complexType name="item" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="showcomponenthelpers" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="root" type="xs:string" default="this" >
+</xs:attribute>
+      <xs:attribute name="reference" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="opendefaultplacement" type="xs:string" default="true" >
+</xs:attribute>
+      <xs:attribute name="open" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="isview" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="method" type="lzx:method" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Attaches a function or event handler to an object or class. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="method" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+      <xs:attribute name="name" type="xs:string" use="required" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  The name of a variable that will be set to this object when the application is started. If this element is directly within a canvas or library element, the global variable and the canvas property with this name will be set to this object. If this element is within another object, that object's property with this name will be set to this object. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="args" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The parameter names of this method. The value of this attribute is a comma-separated list of JavaScript identifiers. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="allocation" type="xs:string" default="instance|class" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ One of:
+class
+    The attribute will be an attribute of the class; to refer to it, you say lz.classname.attributename . 
+instance
+    Each instance will have an attribute with the specified properties ( name , type , value , etc.). 
+
+You can set allocation to class to get static attributes. Static properties are attached to the class itself, for example lz.classname . </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:complexType>
+<xs:element name="baseopttreenode" type="lzx:baseopttreenode" >
+</xs:element>
+  <xs:complexType name="baseopttreenode" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="startdragdelay" type="xs:string" default="800" >
+</xs:attribute>
+      <xs:attribute name="startdragdel" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="open" type="xs:string" default="${ dopen }" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A boolean value representing whether or not this node
+              is open. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="indent" type="xs:string" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The amount, in pixels, to indent each element of the tree.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="highlight" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, this element is selected </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dragging" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="depth" type="xs:string" default="${ ddepth }" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A 0-based depth number that indicates the depth of this
+              element in the tree. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="datalistselector" type="lzx:datalistselector" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ a helper class that wraps the dataselectionmanager in some
+        higher level APIs, used by baselist </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="datalistselector" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:dataselectionmanager">
+      <xs:attribute name="multiselect" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If multiselect is true, multiple selection is enabled.
+        When the shift key is down, a range of items is selected.
+        When the control key is down, any item may be added to the
+        selection.
+             Default: false </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="gradientview" type="lzx:gradientview" >
+</xs:element>
+  <xs:complexType name="gradientview" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:drawview">
+      <xs:attribute name="stretchWidth" type="lzx:number" >
+</xs:attribute>
+      <xs:attribute name="stretchHeight" type="lzx:number" >
+</xs:attribute>
+      <xs:attribute name="gradientType" type="xs:string" default="linear" >
+</xs:attribute>
+      <xs:attribute name="gradientOrientation" type="xs:string" default="vertical" >
+</xs:attribute>
+      <xs:attribute name="colorTo" type="lzx:color" >
+</xs:attribute>
+      <xs:attribute name="colorFrom" type="lzx:color" >
+</xs:attribute>
+      <xs:attribute name="borderSizeTop" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="borderSizeRight" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="borderSizeLeft" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="borderSizeBottom" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="borderSize" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="borderColorTop" type="lzx:color" >
+</xs:attribute>
+      <xs:attribute name="borderColorRight" type="lzx:color" >
+</xs:attribute>
+      <xs:attribute name="borderColorLeft" type="lzx:color" >
+</xs:attribute>
+      <xs:attribute name="borderColorBottom" type="lzx:color" >
+</xs:attribute>
+      <xs:attribute name="borderColor" type="lzx:color" default="0x000000" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="dragger" type="lzx:dragger" >
+</xs:element>
+  <xs:complexType name="dragger" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="text" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="tabs" type="lzx:tabs" >
+</xs:element>
+  <xs:complexType name="tabs" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basetabs">
+      <xs:attribute name="tabspacing" type="lzx:number" default="-15" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Spacing between the tabs. Defaults to -15 so tabs overlap. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="tabalign" type="xs:string" default="left" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Align the set of tabs within the dimensions of the "tabs"
+             container ("left", "center", "right"). </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="simpledefaultlist" type="lzx:simpledefaultlist" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A list class that handles a default value. 
+          Input and output for the list is defined to be in this format:
+          &lt;code&gt;
+          &lt;list name="fubar"&gt;
+            &lt;item text="foo" value="bar" default="true"/&gt;
+            &lt;item text="goo" value="mar"/&gt;
+          &lt;/list&gt;
+          &lt;/code&gt;
+         
+          Currently only works with dataoption="lazy" or "pooling"
+    </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="simpledefaultlist" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:list">
+      <xs:attribute name="defaultitem" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ LzDataElement of the default node 
+              null means the list has no default </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="autoselectdefault" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Set to true if the default item should be selected whenever
+            data is received </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="vscrollbar" type="lzx:vscrollbar" >
+</xs:element>
+  <xs:complexType name="vscrollbar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basescrollbar">
+      <xs:attribute name="disabledbgcolor" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If this is defined, it will be used as the scrollbar's background
+          color when it is disabled. If not provided, the scrollbar will use
+          the bgcolor of its closest parent that has a bgcolor defined.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="polygonhotspot" type="lzx:polygonhotspot" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+A general hotspot for an N-sided polygon.
+This will create a polygon whose sides are described
+by moving in order to the points added by calling addPoint,
+returning back to the first point added to close the polygon.
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="polygonhotspot" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:hotspot">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="debugger_shadow_right" type="lzx:debugger_shadow_right" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 
+    Drop shadow for the right side of the debugger window 
+
+    @keywords private
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="debugger_shadow_right" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="colorspot" type="lzx:colorspot" >
+</xs:element>
+  <xs:complexType name="colorspot" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:colormenuitem">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="datepickerweek" type="lzx:datepickerweek" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This is the implementation of the datepickerweek for 
+          the datepicker </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="datepickerweek" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basedatepickerweek">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseradiobutton" type="lzx:baseradiobutton" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Class baseradiobutton: represents a single radio button. If groupname
+           is defined, it will reference an baseradiogroup that's named
+           groupname. If both groupname and group are not defined, this
+           radiobutton will attempt to use a baseradiogroup ancestor in its view
+           hierarchy. If it can't find one, it will use a default baseradiogroup
+           with groupname 'lzdefaultgroup'. If this radiobutton is inside a
+           form, an implicit baseradiogroup is created as a child the form.
+
+           The first radiobutton is special for implicitly created
+           baseradiogroups. A baseradiogroup will inherit the groupdatapath,
+           used as the baseradiogroup's datapath, and submit attributes from the
+           first radiobutton, which are used during its instantiation. Those
+           same attributes are ignored for subsequent radiobuttons belonging in
+           the same group. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="baseradiobutton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecomponent">
+      <xs:attribute name="value" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Value of this radiobutton. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="submitname" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The submit name for a baseradiogroup. This must be set by the first
+              radiobutton in a baseradiogroup to take effect. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="submit" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether a baseradiogroup will send its data when a form is
+              submitted. This must be set by the first radiobutton in a
+              baseradiogroup to take effect. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="selected" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ True if radio's group value is the same as group's. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onselected" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Event sent when selected attribute selected or unselected. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="groupname" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Name of baseradiogroup. If not defined, it will use group reference as
+              its group. If both groupname and group are not defined, this
+              radiobutton will attempt to use a baseradiogroup ancestor in its view
+              hierarchy. If it can't find one, it will use a default baseradiogroup
+              with groupname 'lzdefaultgroup'. If this radiobutton is inside a
+              form, an implicit baseradiogroup is created as a child of the
+              form. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="groupdatapath" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The value datapath for a baseradiogroup. This must be set by the first
+              radiobutton in a baseradiogroup to take effect. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="group" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Reference to baseradiogroup. If groupname is defined, it will
+              reference an baseradiogroup that's named groupname. If both groupname
+              and group are not defined, this radiobutton will attempt to use a
+              baseradiogroup ancestor in its view hierarchy. If it can't find one,
+              it will use a default baseradiogroup with groupname
+              'lzdefaultgroup'. If this radiobutton is inside a form, an
+              implicit baseradiogroup is created as a child of the form. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="_floatshadow" type="lzx:_floatshadow" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The shadows width and height are set to the width and height of the view
+          it is trying to apply a shadow to.
+          @keywords private </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="_floatshadow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="shadowsize" type="xs:string" default="5" >
+</xs:attribute>
+      <xs:attribute name="oncornerresourcenumber" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onbottomvisible" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="offsety" type="xs:string" default="10" >
+</xs:attribute>
+      <xs:attribute name="cornerresourcenumber" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="bottomvisible" type="xs:string" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="edittext" type="lzx:edittext" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This component provides the look and feel for user editable text, data
+          binding, and focus events. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="edittext" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baseformitem">
+      <xs:attribute name="text_y" type="lzx:number" default="${multiline ? 2 : Math.round(((this.height - this.field.getTextHeight())/2))} " >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the y position of the text. default: centered, unless it is mutltiline </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="resizable" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Set to true if you plan to change the width or height of the
+              component at run-time.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="pattern" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A regular expression describing set of characters allowed in
+              this field. Restrict the characters that can be entered to a
+              pattern specified by a regular expression. Currently only the
+              expression [ ]* enclosing a set of characters or character
+              ranges, preceded by an optional "^", is supported. 
+              examples: [0-9]* , [a-zA-Z0-9]*, [^0-9]* </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="password" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Set to true for a password field. Text will appear as ****.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="multiline" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Set to true for multiple lines.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maxlength" type="lzx:number" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The maximum number of chars that can be entered. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="debugger_shadow_bottom" type="lzx:debugger_shadow_bottom" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 
+    Drop shadow for the bottom of the debugger window
+
+    @keywords private
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="debugger_shadow_bottom" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="img" type="lzx:img" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ HTML specific </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="img" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+      <xs:attribute name="width" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="vspace" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="src" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="hspace" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="height" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="align" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ HTML specific </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:complexType>
+<xs:element name="basebuttonrepeater" type="lzx:basebuttonrepeater" >
+</xs:element>
+  <xs:complexType name="basebuttonrepeater" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basebutton">
+      <xs:attribute name="onmousestilldown" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keywords public </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="simpleboundslayout" type="lzx:simpleboundslayout" >
+</xs:element>
+  <xs:complexType name="simpleboundslayout" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:layout">
+      <xs:attribute name="spacing" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A pixel amount to use between each view in the layout. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="axis" type="xs:string" default="y" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The axis in which this layout operates, 'x' or 'y'. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="newcheckbox" type="lzx:newcheckbox" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The basecheckbox implementation representing a boolean, i.e., checked
+          if true, else false. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="newcheckbox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecheckbox">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="menubar" type="lzx:menubar" >
+</xs:element>
+  <xs:complexType name="menubar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecomponent">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="imagemap" type="lzx:imagemap" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+A class which will activate hotspots as the mouse passes over them in a parent view, or deactivate
+them as they leave. This class operates by havign a number of objects subclassed from hotspot added.
+Each of these is then queried as the mouse passes about the view to alter its activation state.
+This class will operate either exclusively, only one active hotspot at a time, or may allow
+multiple active hotspots at once if exclusive is true (it is false by default). The class
+also provides suspend and resume methods to pause the classes handling of the hotspots and
+resume respectively. Note that the priority of choosing an active spot is random. That is
+in exclusive mode (or switching from non-exclusive to exclusive mode) if two spot a and b
+both contain x and y, no guarantee is made as to which of a and b will be chosen to be
+the active exclusive view. Additionally this will only activate and deactivate hotspots
+within the parent view. Even if a hotspot added to this map defines an active region outside
+the parent view it will not be honored. Therefore it is strongly recommended that no hotspots
+define an area outside of the view in which the are active. In order for this class
+to work the view in which it is defined must be clickable.
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="imagemap" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="exclusive" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="reverselayout" type="lzx:reverselayout" >
+</xs:element>
+  <xs:complexType name="reverselayout" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:layout">
+      <xs:attribute name="spacing" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A pixel amount to use between each view in the layout </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A pixel amount to inset the last view controlled by the layout</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="end" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ When true (the default), then the layout will push the subviews 
+              to the right (or bottom) of the containing view </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="axis" type="xs:string" default="y" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The axis in which this layout operates. One of 'x' or 'y'. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="textstyle" type="lzx:textstyle" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Simple class that adds font attributes to style class
+        &lt;example executable="false"&gt;
+        &amp;lt;textstyle font="futura" fontsize="12" fontstyle="bold" /&amp;gt;
+        &lt;/example&gt;
+    </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="textstyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:style">
+      <xs:attribute name="fontstyle" type="xs:string" default="plain" >
+</xs:attribute>
+      <xs:attribute name="fontsize" type="xs:string" default="11" >
+</xs:attribute>
+      <xs:attribute name="font" type="xs:string" default="arial" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Simple class that adds font attributes to style class
+        &lt;example executable="false"&gt;
+        &amp;lt;textstyle font="futura" fontsize="12" fontstyle="bold" /&amp;gt;
+        &lt;/example&gt;
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basetrackgroup" type="lzx:basetrackgroup" >
+</xs:element>
+  <xs:complexType name="basetrackgroup" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="trackingrate" type="xs:string" default="150" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The periodic rate in milliseconds to track the mouse</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="tracking" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates if this trackgroup is currently tracking or not.
+              It can bet set to turn tracking on or off, or use the methods
+              activatetrackgroup and deactivatetrackgroup </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="deactivateevents" type="xs:string" default="['onmouseup']" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ an array of events which will deactivate tracking. 
+           To override, you must declare as once. For example:
+           &lt;programlisting&gt;&amp;lt;attribute name="deactivateevents" value="['onmouseover']" when="once"/&amp;gt;&lt;/programlisting&gt;
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="boundsref" type="xs:string" default="${this}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The view that will be used to define the bounding rect for tracking
+              the mouse </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="activateevents" type="xs:string" default="['onmousedown']" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ an array of events which will activate tracking. 
+           To override, you must declare as once. For example:
+           &lt;programlisting&gt;&amp;lt;attribute name="activateevents" value="['onmouseover']" when="once"/&amp;gt;&lt;/programlisting&gt;
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="shadowbox" type="lzx:shadowbox" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A basic container view with an inner dropshadow effect.
+        &lt;example executable="false"&gt;
+            &amp;lt;shadowbox width="200" height="200"&amp;gt;
+                &amp;lt;view bgcolor="red" width="200" height="200"/&amp;gt;
+            &amp;lt;/shadowbox&amp;gt;
+        &lt;/example&gt;
+    </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="shadowbox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="shadowleft" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ display shadow along left side </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="edgecolor_tl" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ bgcolor of one pixel wide border on right and bottom sides only </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="edgecolor" type="xs:string" default="0xD9D9D9" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ bgcolor of one pixel wide border on right and bottom sides only </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="textformat" type="lzx:textformat" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+    An object to specify the format of a text object.  Used only in 
+    Javascript by richinputtext.setTextFormat.
+    @shortdesc Formats rich text
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="textformat" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="url" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="underline" type="lzx:boolean" >
+</xs:attribute>
+      <xs:attribute name="target" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="size" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="rightmargin" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="leftmargin" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="leading" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="italic" type="lzx:boolean" >
+</xs:attribute>
+      <xs:attribute name="indent" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="font" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+    An object to specify the format of a text object.  Used only in 
+    Javascript by richinputtext.setTextFormat.
+    @shortdesc Formats rich text
+</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="color" type="lzx:color" >
+</xs:attribute>
+      <xs:attribute name="bold" type="lzx:boolean" >
+</xs:attribute>
+      <xs:attribute name="align" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="boxview" type="lzx:boxview" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+                implements the CSS box model in a view that allows for margins, padding, and a border.
+                Allows for an italized title.
+                By default functions the same as a view, but has a 1 pixel black border.
+                v1.0 - Original
+                v1.1 - Bugfix added " - parent.parent.vTitle.height" to vPadding height on !_contentheight state
+                @author Brad Erickson
+         </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="boxview" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="title" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Italized title of the view, appears in upper left </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="paddingsize" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Size of the padding </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="marginsize" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Size of the margin </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="contentbgcolor" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Background color of the element, default is transparent</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bordersize" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Size of the border </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bordercolor" type="xs:string" default="0x000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Color of the border, default is black </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="virtualdrawview" type="lzx:virtualdrawview" >
+</xs:element>
+  <xs:complexType name="virtualdrawview" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:drawview">
+      <xs:attribute name="miny" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="minx" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maxy" type="lzx:number" default="100" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maxx" type="lzx:number" default="100" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="markers" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="tabelement" type="lzx:tabelement" >
+</xs:element>
+  <xs:complexType name="tabelement" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basetabelement">
+      <xs:attribute name="text_y" type="xs:string" default="${this.top.header.height/2 - this.top.header.txt.height/2}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The y position of the text field in the header area. Default is centered. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="text_x" type="xs:string" default="4" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The x position of the text field in the header area. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="shadowvisible" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Boolean to set the shadow of this tabelement. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="shadowheight" type="xs:string" default="4" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The height of the shadow. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_top" type="xs:string" default="${parent.inset_top}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The top inset for content appearing within a tabelement. Default
+              is the containing tabslider's inset_top value. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_right" type="xs:string" default="${parent.inset_right}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The right inset for content appearing within a tabelement. Default
+              is the containing tabslider's inset_right value. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_left" type="xs:string" default="${parent.inset_left}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The left inset for content appearing within a tabelement. Default
+              is the containing tabslider's inset_left value. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_bottom" type="xs:string" default="${parent.inset_bottom}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The bottom inset for content appearing within a tabelement. Default
+              is the containing tabslider's inset_bottom value. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="headerpadding" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Insets the header art on the x-axis. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="colorrow" type="lzx:colorrow" >
+</xs:element>
+  <xs:complexType name="colorrow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="axisstyle" type="lzx:axisstyle" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ style for axis
+      @access public
+  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="axisstyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basestyle">
+      <xs:attribute name="direction" type="xs:string" default="y | x" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ direction of the axis: x or y </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videoplayer" type="lzx:videoplayer" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ provides standard UI controls for video playback
+    </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="videoplayer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="url" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ url of the stream to play
+              see mediastream for details </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="type" type="xs:string" default="http" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ type of stream: 'http' or 'rtmp', 
+              see mediastream for details </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="stream" type="xs:string" default="${vscreen.ms}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ a reference to the stream to enable direct control,
+              such as vp.steam.play or vp.stream.seek(20) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="starttime" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Show the frame from this time (in seconds) whenever the url 
+            is set for video playback.
+            Use -1 to show no frame (which will leave the image as it
+            was when switching videos) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="sliderTop" type="xs:string" default="${             this.height - (this.borderBottom + this.sliderHeight)}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ internal: derived from public attributes 
+              @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="sliderHeightVal" type="xs:string" default="16" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ see note above 
+          @access private
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="sliderHeight" type="xs:string" default="${             this.showslider ? this.sliderHeightVal : 0}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the controls stretch to this height, but I don't see a test
+              for this and I can't imagine it looks good so I'm marking
+              this private
+          @access private
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="sliderGap" type="xs:string" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the vertical space between the video image and the controls </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showslider" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ why would you want this? no test case, marking private 
+              @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showscreen" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ why would you want this? no test case, marking private 
+              @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showVolumeControl" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ if true, display a volume control </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showTimeDisplay" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ if true, display the current and total time </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="screenWidth" type="xs:string" default="${             this.width - (this.borderLeft + this.borderRight)}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ internal: derived from public attributes 
+              @access private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="progressColor" type="xs:string" default="0x00ff00" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ color of the progress bar </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="debug" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ true for verbose debug logging </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderTop" type="xs:string" default="${this.border}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the top border on the video image.  Default: this.border </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderRight" type="xs:string" default="${this.border}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the right border on the video image.  Default: this.border </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderLeft" type="xs:string" default="${this.border}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the left border on the video image.  Default: this.border </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderBottom" type="xs:string" default="${this.border}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the bottom border on the video image.  Default: this.border </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="border" type="xs:string" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the border around the video image.  Default: 5 </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="autoplay" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ when true, playback will start automatically
+              without user action </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="aspectRatio" type="xs:string" default="$once{4/3}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ if non-zero, then this will be used to maintain the
+              aspect ratio based on the width of the videoscreen.
+              Default: 4/3
+        </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="datastylelist" type="lzx:datastylelist" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ list of datastyle
+      @access public
+  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="datastylelist" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basestyle">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basegrid" type="lzx:basegrid" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An abstract container for data rows, relying on lazy replication
+          to make it possible to display large datasets.</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="basegrid" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecomponent">
+      <xs:attribute name="spacing" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Spacing between the rows. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="sizetoheader" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A boolean. If true, the grid will keep its width set to the size
+              of the header. This is automatically set to true for grids that
+              do not have a set width.  This is initially set to 0, which means
+              that it is not true, but if it is explicitly set to false, the
+              automatic behavior will be disabled for grids with no set
+              width.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showvlines" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, lines will be drawn (in component's style's bordercolor)
+              horizontally at each at each row division. This attribute cannot
+              be set after instantiation.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="shownitems" type="xs:string" default="-1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Sets the height of the grid to show a maximum of 'n' items. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showhlines" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, lines will be drawn (in component's style's bordercolor)
+              vertically at each at each column division. This attribute can be
+              set after instantiation.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="selectable" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If false, the rows are not clickable and the grid does not support selection. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="rowheight" type="lzx:number" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Optional height for the rows contained by the grid. If no
+              value is given for this attribute, it will be set to the
+              calculated height of rows. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onselect" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Event sent when the grid selection changes.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="multiselect" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, the list will allow for multiple selection, and the 
+              getSelection method will always return a list. If false, only
+              single selection is allowed.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hilite" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The view which is currently hilited.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="contentdatapath" type="xs:string" default="*" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The datapath to use for the contents of the grid. By
+              default, this is set to "*", meaning all of the nodes underneath
+              the datacontext of the grid. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="columns" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An array holding the basegridcolumns used by this grid </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bgcolor1" type="lzx:color" default="$immediately{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If given, sets the bgcolor for odd numbered rows. If not given,
+              the bgcolor for these rows is taken from the style's bgcolor.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bgcolor0" type="lzx:color" default="$immediately{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If given, sets the bgcolor for even numbered rows. If not given,
+              the bgcolor for these rows is taken from the style's bgcolor.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="verticalaxis" type="lzx:verticalaxis" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Represents the Y axis on the rectangular chart, extends from Axis class
+     @access public
+        </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="verticalaxis" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:axis">
+      <xs:attribute name="datacolumn" type="xs:string" default="y" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="DebugObject" type="lzx:DebugObject" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+  DebugObject is a base class for all the other classes in LZUnit that
+  supports the debugging of LZUnit itself.
+
+  @keywords public
+
+  @param Boolean debugWrite: Whether or not to emit debugging statements.
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="DebugObject" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="debugWrite" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ whether or not to emit debugging statements </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videoslider" type="lzx:videoslider" >
+</xs:element>
+  <xs:complexType name="videoslider" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="waspaused" type="xs:string" default="true" >
+</xs:attribute>
+      <xs:attribute name="volume" type="xs:string" default="${this.controls.volumebutton.volume}" >
+</xs:attribute>
+      <xs:attribute name="value" type="xs:string" default="${this.tracking ? this.trackvalue : this.sourcevalue}" >
+</xs:attribute>
+      <xs:attribute name="trackvalue" type="xs:string" default="0.0" >
+</xs:attribute>
+      <xs:attribute name="tracktime" type="xs:string" default="${this.trackvalue * this.totaltime}" >
+</xs:attribute>
+      <xs:attribute name="trackingDelegate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="tracking" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="totaltime" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="timedisplay" type="xs:string" default="${this.tracking ? this.tracktime : this.time}" >
+</xs:attribute>
+      <xs:attribute name="time" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="sourcevalue" type="xs:string" default="${this.time / (this.totaltime || 1.0)}" >
+</xs:attribute>
+      <xs:attribute name="showVolumeControl" type="xs:string" default="true" >
+</xs:attribute>
+      <xs:attribute name="showTimeDisplay" type="xs:string" default="true" >
+</xs:attribute>
+      <xs:attribute name="ms" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="color" type="xs:string" default="0x00ff00" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="barchart" type="lzx:barchart" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A chart class that renders horizontal bars.
+      Inherits from the chart class.  (Warning: Of beta quality.)
+      @access public
+      </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="barchart" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basechart">
+      <xs:attribute name="staggerticks" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to alternate lengths of tick lines. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ondrawaxis" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Refreshes drawn chart when direction changes. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="barspace" type="lzx:number" default="2" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The space between bars. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="anicomplete" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Dataclip is a view at a fixed size (plotwidth and plotheight, with location
+            set by plotx and ploty) that contains an internal view with all the points,
+            lines and labels.  As the internal view datapane is scalable and able to be
+            dragged around once scaled, it needs to be clipped. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="font" type="lzx:font" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Tag for including fonts.
+The &lt;font&gt; tag is used to import fonts into an LZX application. Each font in an LZX application has a source file (in TrueType format), a name, and a style (plain, bold, italic, or bold italic).
+
+A font element within a &lt;canvas&gt; or &lt;library&gt; defines a font, which can be referenced by the font attribute of a view, or by the face attribute of the &lt;font&gt; tag within HTML markup. A font element can define a single font face or style, by using the src attribute to refer to a TrueType font that is included in the application. 
+ </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="font" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+      <xs:attribute name="src" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="size" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="name" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Tag for including fonts.
+The &lt;font&gt; tag is used to import fonts into an LZX application. Each font in an LZX application has a source file (in TrueType format), a name, and a style (plain, bold, italic, or bold italic).
+
+A font element within a &lt;canvas&gt; or &lt;library&gt; defines a font, which can be referenced by the font attribute of a view, or by the face attribute of the &lt;font&gt; tag within HTML markup. A font element can define a single font face or style, by using the src attribute to refer to a TrueType font that is included in the application. 
+ </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="face" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="color" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ HTML specific </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:complexType>
+<xs:element name="gridtext" type="lzx:gridtext" >
+</xs:element>
+  <xs:complexType name="gridtext" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:gridcolumn">
+      <xs:attribute name="textalign" type="xs:string" default="left" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Type of content's alignment.
+              Possible values are: left, center, right </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="selectable" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether one is able to select the text.  (Only applies
+            if the grid isn't editable, because when it's editable,
+            the text is automatically selectable.) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="editing" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="editbox" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="editable" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If set to false, the field will not be editable. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="fileuploadlist" type="lzx:fileuploadlist" >
+</xs:element>
+  <xs:complexType name="fileuploadlist" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="selected" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ select file or not</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onselect" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Events</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="oncomplete" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="maxsize" type="xs:string" default="15000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Max file size  unit: bytes </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="erroroccured" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Error occured </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="class" type="lzx:class" >
+</xs:element>
+  <xs:complexType name="class" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="isRoot" type="lzx:boolean" >
+</xs:attribute>
+      <xs:attribute name="implements" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="extends" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="listitem" type="lzx:listitem" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A simple listitem that is usually declared inside of a list. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="listitem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baselistitem">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="focusoverlay" type="lzx:focusoverlay" >
+</xs:element>
+  <xs:complexType name="focusoverlay" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basefocusview">
+      <xs:attribute name="offset" type="xs:string" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the offset is used by the brackets to 'offset' themselves from the
+              bounding rect of the focusoverlay. The bounce effect is achieved
+              by animating this parameter </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="contextmenuitem" type="lzx:contextmenuitem" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+A menu item within a context menu </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="contextmenuitem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="visible" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Sets the visibility of the menu item. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="separatorbefore" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Draw a horizontal separator line before this item in the menu. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="enabled" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 	Sets the enabled status of the menu item. If false, the menu item is grayed out and will not respond to clicks  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="delegate" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 	Sets the delegate which will be called when the menu item is selected. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="caption" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+		Sets the text which is displayed for the menu item</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="menuitem" type="lzx:menuitem" >
+</xs:element>
+  <xs:complexType name="menuitem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:textlistitem">
+      <xs:attribute name="command" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the command object assigned to be executed when this menuitem is selected </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basedragimage" type="lzx:basedragimage" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the visual representation of an object being dragged.
+        See &lt;xref linkend="lz.checkdragstate"/&gt; for usage details 
+        @access public
+  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="basedragimage" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="dropgroup" type="xs:string" default="droptarget" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the group that drop targets will register with </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basetabslider" type="lzx:basetabslider" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This class is a non-visual container that animates and coordinates the
+          sliding of basetabelements. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="basetabslider" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baselist">
+      <xs:attribute name="spacing" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The spacing of the tabs. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="slideduration" type="xs:string" default="300" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The duration of the tabs openning and closing. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="mintabheight" type="xs:string" default="22" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The default height of every tab when closed. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_top" type="xs:string" default="8" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The top inset for content appearing within a tabelement. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_right" type="xs:string" default="8" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The right inset for content appearing within a tabelement. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_left" type="xs:string" default="8" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The left inset for content appearing within a tabelement. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_bottom" type="xs:string" default="8" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The bottom inset for content appearing within a tabelement. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="ZoomPolygon" type="lzx:ZoomPolygon" >
+</xs:element>
+  <xs:complexType name="ZoomPolygon" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:polygonhotspot">
+      <xs:attribute name="text" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="parentView" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="map" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="whitestyle" type="lzx:whitestyle" >
+</xs:element>
+  <xs:complexType name="whitestyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:style">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="bigcheckbox" type="lzx:bigcheckbox" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The basecheckbox implementation representing a boolean, i.e., checked
+          if true, else false. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="bigcheckbox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecheckbox">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="backcircle" type="lzx:backcircle" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The background circle of the pie.  Has properties set by attributes on the
+        respective dataseries. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="backcircle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:drawview">
+      <xs:attribute name="pieradius" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The radius of the pie. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="drawbgborder" type="lzx:color" default="0x000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The border color of the circle. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="drawbg" type="lzx:color" default="0xCCCCCC" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The background color of the circle. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ctry" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The center y coordinate of the pie. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ctrx" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The center x coordinate of the pie. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bgborderwidth" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The width of the circle's border. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="window" type="lzx:window" >
+</xs:element>
+  <xs:complexType name="window" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:windowpanel">
+      <xs:attribute name="resizable" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, a resize control will appear in the lower-right corner,
+              allowing the user to resize the window. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseedittext" type="lzx:baseedittext" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This component provides the look and feel for user editable text, data
+          binding, and focus events. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="baseedittext" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baseformitem">
+      <xs:attribute name="pattern" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ An expression to restrict the set of characters that are allowed
+              to be entered. For example, [0-9]*, [012]*, [a-zA-Z]*,
+              [0-9A-Z]*. You can restrict the number of characters using
+              maxlength. Default is any character. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="password" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Set to true for a password field. Text will appear as ****. 
+              This attribute cannot be changed at runtime.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onpattern" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="multiline" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Set to true for multiple lines. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maxlength" type="lzx:number" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The maximum number of chars that can be entered. Default is
+              unlimited. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="TestCase" type="lzx:TestCase" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+  TestCase implements an individual test case.
+
+  See the documentation for &lt;xref linkend="lz.TestSuite"/&gt;
+  for an example of this tag.
+
+  @param testName: the name of the test
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="TestCase" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:Test">
+      <xs:attribute name="testnames" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="datepickercombobox" type="lzx:datepickercombobox" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="datepickercombobox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecombobox">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="marker" type="lzx:marker" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private
+         data marker class </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="marker" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="droptarget" type="lzx:droptarget" >
+</xs:element>
+  <xs:complexType name="droptarget" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="text" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="replicator" type="lzx:replicator" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This is a declared replicator for visual elements. Unlike
+        OpenLaszlo''s data-replication feature, a replicator can take an
+        arbitrary node set that may be passed in as an array.
+        Non-replicating elements may be used inside a replicator; only
+        the last child inside the replicator is replicated.
+
+        The data attribute of the replicated (cloned) view is set by the
+        setData method with data from the nodes array when the clone is
+        bound. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="replicator" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="xpath" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Compute nodes from this xpath query against the specified dataset </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="spacing" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A pixel amount to use between each replicated view </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="replicatedsize" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The size (width or height) in the replication axis of the view
+            being replicated.  Assumes all subviews have same replicated size. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="pool" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, then instances of the replicated instance are reused
+            when possible </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onnodes" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="nodes" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The list of nodes over which this replictor acts </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="mask" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The view that will clip the replicated nodes.  Defaults to the immediateparent of the container </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dataset" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Compute nodes from this dataset </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="container" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The view that will contain the replicated nodes.  Defaults to the immediateparent of the replicator. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="clones" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The list of elements controlled by this repliator </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="axis" type="xs:string" default="y" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The axis in which to replicate</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="_dbg_lzhdrag" type="lzx:_dbg_lzhdrag" >
+</xs:element>
+  <xs:complexType name="_dbg_lzhdrag" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:state">
+      <xs:attribute name="xdoffset" type="xs:string" default="this.getMouse( 'x' )" >
+</xs:attribute>
+      <xs:attribute name="x" type="xs:string" default="${this.immediateparent.getMouse( 'x' ) - this.xdoffset}" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="legendtitle" type="lzx:legendtitle" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The title for the legend.  This is its own small class because it
+        makes constraints easier for adjustments. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="legendtitle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="ttsize" type="xs:string" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The title text's font size. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="tposit" type="xs:string" default="left" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The title text's alignment.  (left, right, center) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="tcolor" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The title text's color. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ltitle" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The title text for the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="defaultlistitem" type="lzx:defaultlistitem" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Text list item that displays a default </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="defaultlistitem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:textlistitem">
+      <xs:attribute name="default_y" type="xs:string" default="$once{this.height/2 - this.defaultlabel._default.height/2}" >
+</xs:attribute>
+      <xs:attribute name="default_x" type="xs:string" default="40" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ x position of default label </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="SyncTester" type="lzx:SyncTester" >
+</xs:element>
+  <xs:complexType name="SyncTester" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:TestCase">
+      <xs:attribute name="tested_object" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+     Refers to object to be tested; this is dependent on specific test run
+     @keywords required
+     </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="del" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="current_method" type="xs:string" default="${cur_meth.xpathQuery('@name')}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+     Helps keep track of currently executed method
+     @keywords readonly
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="dataseries" type="lzx:dataseries" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+          
+        A dataseries in a container for dataseries and datacolumn.
+        dataseries can be nested.
+        @access public
+    </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="dataseries" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="ydatapath" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The data to be linked to the y axis. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="xdatapath" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The data to be linked to the x axis.  (Also used for piechart data.) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="tooltip" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ (To be developed:) Whether a tooltip is available onmouseover. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showlegendminimized" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to show the legend when the chart is minimized, when
+            there are multiple charts. (It is strongly recommended this
+            be set to false for multiple pies.) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="radiusadjust" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether certain pieces should have radii different from the
+            overall pie, and if so, how much shorter or longer, percentage-wise.
+            (e.g. A value of 10 would mean 10% greater a radius.) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="pointsvisible" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to draw points, and if so, which color. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="pointshape" type="xs:string" default="square" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ What shape to make the point. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="pointopacity" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The opacity of the points. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="pointdiameter" type="xs:string" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The size of the points. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="pointborderwidth" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The border around the points. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="pointborder" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to draw borders around points, and if so, which color. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="piebgcolor" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether the area behind the pie is colored, and if so,
+            what color. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="linethickness" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The thickness of the line from the last point to the current point.
+            If using data for this attribute, this will determine the thickness
+            of the line from the last point to the current point. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="linesvisible" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to draw a line between points, and if so, which color.
+            If using data for this attribute, this will determine whether
+            to draw a line from the last point to the current point. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendy" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If legend is 'manual', this sets the y coordinate of the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendx" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If legend is 'manual', this sets the x coordinate of the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendwidth" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If legend is 'manual', this sets the width of the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendtitleposition" type="xs:string" default="left" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The position of the title: left, right, center. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendtitle" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The title of the legend.  If not null, appears at the top of
+            the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendhl" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The onmouseover highlight for legend elements. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendheight" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If legend is 'manual', this sets the height of the legend. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legenddatapath" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The location of the data to be used in the legend.  If unspecified,
+            the numerical values of the piechart will be used. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendborderwidth" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The width of the legend border. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendborder" type="lzx:color" default="#000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The color of the legend border, if any. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendbg" type="lzx:color" default="#CCCCCC" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Background color of the legend, if any. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legend" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether or not there's a legend associated with this data.
+            Values: top, bottom, left, right,
+            manualtop, manualbottom, manualleft, manualright. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labeltextsize" type="xs:string" default="10" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Size of a label's text. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labeltextcolor" type="lzx:color" default="#000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Color of a label's text. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelcolor" type="lzx:color" default="#EEEEEE" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Color of the label. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelborderwidth" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Width of a label's border.  (Set 0 for none.)</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelborder" type="xs:string" default="#000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Color of a label's border. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="label" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ label of the dataseries </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fillbelow" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to fill beneath the line, and if so, which color. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fbopacity" type="xs:string" default=".2" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The opacity of the filled area below the line. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="explode" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether the pieces should move away from the center on mouseover. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="enabled" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ enable the dataseries </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="drawbgborder" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to draw an outline around the background circle's
+            circumference, and if so, what color. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="drawbg" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to draw the background circle, and if so, what color. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dataseriesleafs" type="xs:string" default="$once{[]}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private
+            cache a leaf nodes of the dataseries </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dataresource" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Bar resource, if any. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dataopacity" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Opacity of the bar, line or pie piece. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dataenabled" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Is this series of data enabled? </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="datacolumnsmap" type="xs:string" default="$once{new Object()}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private
+            cache the a hashtable of datacolumn </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="datacolor" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Color of the line, bar or pie piece. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderwidth" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The width of each piece's border. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bordercolor" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The color of each piece's border. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bgborderwidth" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Thickness of the background circle's circumference outline. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="baselabels" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether to draw labels at the bases of bars, and
+            what data to use.  No labels are drawn if not specified. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="baselabelangle" type="lzx:number" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Angle of baselabels.  (Determines rotation of tick labels
+            at the bases of bars.  Not compatible with DHTML.) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="animationinit" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether a bar has animation.  Currently only works
+            for bars, but may eventually be worked into other
+            chart types. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="inspector" type="lzx:inspector" >
+</xs:element>
+  <xs:complexType name="inspector" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:window">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basewindow" type="lzx:basewindow" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The basewindow class defines methods, attributes that are used by window
+      subclasses.</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="basewindow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecomponent">
+      <xs:attribute name="ydoffset" type="xs:string" default="this.getMouse( 'y' )" >
+</xs:attribute>
+      <xs:attribute name="xdoffset" type="xs:string" default="this.getMouse( 'x' )" >
+</xs:attribute>
+      <xs:attribute name="state" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The state of the window: 1=selected (frontmost) window,
+              2=not-selected window, 3=dragging, 4=disabled, 5=resizing.
+              @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="starty" type="xs:string" default="$once{this.y}" >
+</xs:attribute>
+      <xs:attribute name="startx" type="xs:string" default="$once{this.x}" >
+</xs:attribute>
+      <xs:attribute name="minwidth" type="xs:string" default="60" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Minimum width for the window.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="minheight" type="xs:string" default="50" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Minimum height for the window.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="haswindowfocus" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ True if the window is frontmost. Set this
+              attribute to bring the window to the fore of its sibling
+              windows, and bring window focus.
+              @keywords defaultsetter </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="allowdrag" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Attribute handles whether window can be dragged or not </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videothumbnail" type="lzx:videothumbnail" >
+</xs:element>
+  <xs:complexType name="videothumbnail" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="url" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="type" type="xs:string" default="http" >
+</xs:attribute>
+      <xs:attribute name="thumbnailtime" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="border" type="xs:string" default="1" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="simpleinputtext" type="lzx:simpleinputtext" >
+</xs:element>
+  <xs:complexType name="simpleinputtext" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="textOpacity" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The text opacity. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="text" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The text for input. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="focusborderOpacity" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The opacity for the border on focus. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="blurborderOpacity" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The opacity for the border on blur. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bgOpacity" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The opacity for the input background. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="ulink" type="lzx:ulink" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A class for URL links.
+    
+    This differs from the use of the XHTML &amp;lt;a&amp;gt; attribute, e.g in '&amp;lt;text&amp;gt;&amp;lt;a href="http://openlaszlo.org"&amp;gt;OpenLaszlo.org&amp;lt;/a&amp;gt;lt;/text&amp;gt;', in these ways:
+    - There is a hover effect.  (This defaults to underline.)
+    - There is a hover color.  (This defaults to blue.)
+    - The link content and target can be databound. 
+    
+    &lt;example executable="false"&gt;
+      &amp;lt;ulink href="http://openlaszlo.org"&amp;gt;OpenLaszlo.org&amp;lt;/ulink&amp;gt;
+    &lt;/example&gt;
+    
+    See ulink-test.lzx for additional examples. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="ulink" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="text" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The text of the link. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="target" type="xs:string" default="_new" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Where the target opens.  See lz.Browser.loadURL for
+    a list of values. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="href" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The URL target. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hoverTags" type="xs:string" default="u" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A list of tags that are applied to the link when
+    it is hovered.  This is either a list of tag names, e.g. "u"
+    or "u b", or the HTML itself, e.g. "&amp;lt;u&amp;gt;". </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="hoverColor" type="lzx:color" default="blue" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The color when the link is hovered. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="color" type="lzx:color" default="blue" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The color when the link is &lt;em&gt;not&lt;/em&gt; being hovered. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="state" type="lzx:state" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  A description of an instance hierarchy that can be applied and removed at runtime.
+JavaScript: lz.state 
+
+A state is an object that holds its children and attributes for creation or application at a later time when the state's apply method is called. In addition to representing visual state by adding and removing children from a view, states are often used to control constraints which are applied and removed at different times during the run of an application.
+
+For the most part, the declarative style used in OpenLaszlo applications represents an initial state for the application. All modification to application state can be made using the script API's, but it is often convenient to declaratively describe a bit of application state which may be selectively applied or removed at runtime. The &lt;state&gt; tag is provided for this purpose.
+
+Everything within a &lt;state&gt; tag acts as if it were written inside the parent when the state is applied. States can contain attributes, methods, and other nodes.
+
+When a state is removed, any children or constraints created when the state was applied are then removed, but attributes that were set by the application of the state are not restored. 
+
+ </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="state" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="pooling" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+        If true, the state will merely hide any views it has created when it is removed (not applied), instead of destroying them. 
+         </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="applied" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 
+        Whether or not the state is applied. setAttribute('applied', true) will apply the state. setAttribute('applied', false) will remove the state.
+         </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="attribute" type="lzx:attribute" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Sets an attribute of the object that contains it. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="attribute" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+      <xs:attribute name="value" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  The initial value of the attribute. The type of this value is specified by the value of the type attribute; if that attribute is not present, it's the type of this attribute in this element's tag. The attribute is given this value when the element is created. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="type" type="xs:string" default="string" >
+</xs:attribute>
+      <xs:attribute name="style" type="xs:string" default="string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The CSS property name that can be used to set the value of this attribute under the control of a &lt;stylesheet&gt; (See Chapter 19. Cascading Style Sheets ). style can be any valid CSS property name, and need not be the same as the attribute name; for example you could use the standard CSS property name background-color as the style of the bgcolor attribute. When an attribute has a style property, the value property acts as the default value for the attribute: in the absence of any applicable CSS rule specifying the corresponding property, the attribute will be given the default value. In the case of dynamic CSS, the attribute will revert to the default value if CSS was applied and is removed. (See Dynamic CSS .) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="setter" type="xs:string" default="string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Delegate the event to a method on changes through setAttribute('...',$value) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="required" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ True if this is a required attribute. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="name" type="lzx:token" use="required" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The name of the attribute. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="allocation" type="xs:string" default="instance|class" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ One of:
+class
+    The attribute will be an attribute of the class; to refer to it, you say lz.classname.attributename . 
+instance
+    Each instance will have an attribute with the specified properties ( name , type , value , etc.). 
+
+You can set allocation to class to get static attributes. Static properties are attached to the class itself, for example lz.classname . </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:complexType>
+<xs:element name="streamscrubber" type="lzx:streamscrubber" >
+</xs:element>
+  <xs:complexType name="streamscrubber" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="totaltime" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ read only </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="time" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ read only </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="stream" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the stream to control </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="scrubbing" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ true when user has the mouse down and is scrubbing the stream </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="progress" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ read only </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="min" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ min 'x' value, defaults to zero (typically the left side of parent) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="max" type="lzx:number" default="$once{parent.width-this.width}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ max 'x' value, defaults to the right side of the parent </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="stringvalidator" type="lzx:stringvalidator" >
+</xs:element>
+  <xs:complexType name="stringvalidator" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basevalidator">
+      <xs:attribute name="minLength" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="minErrorstring" type="xs:string" default="this string is shorter than the minimum allowed length." >
+</xs:attribute>
+      <xs:attribute name="maxLength" type="lzx:number" default="255" >
+</xs:attribute>
+      <xs:attribute name="maxErrorstring" type="xs:string" default="this string is longer than the maximum allowed length." >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="LzDebugWindow" type="lzx:LzDebugWindow" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 
+    The Laszlo debugger window. An instance will be automatically
+    instantiated when the application is compiled in debug mode
+    (requested by either using the
+    &lt;code&gt;canvas&lt;/code&gt; &lt;code&gt;debug&lt;/code&gt; attribute or by loading the
+    application using the &lt;code&gt;?debug=true&lt;/code&gt; option).  
+
+    @keywords private_constructor
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="LzDebugWindow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="title" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="smallInputAreaHeight" type="xs:string" default="29" >
+</xs:attribute>
+      <xs:attribute name="savedYPos" type="xs:string" default="10" >
+</xs:attribute>
+      <xs:attribute name="savedXPos" type="xs:string" default="10" >
+</xs:attribute>
+      <xs:attribute name="savedWidth" type="xs:string" default="340" >
+</xs:attribute>
+      <xs:attribute name="savedInputAreaHeight" type="xs:string" default="53" >
+</xs:attribute>
+      <xs:attribute name="savedHeight" type="xs:string" default="125" >
+</xs:attribute>
+      <xs:attribute name="resizable" type="xs:string" default="true" >
+</xs:attribute>
+      <xs:attribute name="persist" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="minimized" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="lineheight" type="xs:string" default="13" >
+</xs:attribute>
+      <xs:attribute name="lastpart" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="lastobj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="keep_width_on_canvas" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="keep_height_on_canvas" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="isLoaded" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="evalloader" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="default_width" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="default_height" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="debuggerBorderWidth" type="xs:string" default="5" >
+</xs:attribute>
+      <xs:attribute name="consoleRemote" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="commandhistory_ptr" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="commandhistory" type="xs:string" default="[]" >
+</xs:attribute>
+      <xs:attribute name="closeable" type="xs:string" default="true" >
+</xs:attribute>
+      <xs:attribute name="clientBridge" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="autoscroll" type="xs:string" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="layout" type="lzx:layout" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+    layout.lzx
+   
+    @copyright Copyright 2001-2010 Laszlo Systems, Inc.  All Rights Reserved.
+               Use is subject to license terms.
+   
+    @topic LFC
+    @subtopic Controllers
+    @affects lzlayout
+    @access public
+  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="layout" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="vip" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @access private
+ * Just used to effect a type cast of immediateparent to LzView 
+ * TODO [max 2010-07] add LzView type back when possible
+ </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="updateDelegate" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A delegate used to update the layout.
+      @type LzDelegate
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="subviews" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+     Array of the views this layout controls. Used by subclasses of
+     &lt;code&gt;layout&lt;/code&gt; to implement their arrangement algorithm by
+     adjusting the appropriate attribute of each view.
+    
+     @type [LzView]
+     @access public
+   </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="locked" type="xs:string" default="2" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+     Set to true if layout is locked from updates.
+    
+     @devnote locked is set to 2 in the prototype of the layout. This
+     is a special signal that the layout is locked temporarily until
+     it resolves its references
+    
+     @type Boolean
+   </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="valueregion" type="lzx:valueregion" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+        Represents a region of values in the chart
+        @access public
+        </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="valueregion" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:drawview">
+      <xs:attribute name="tipEnabled" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ enable the value region's tooltip </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="tip" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Tip label that appear when the mouse is over the value region</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="regionEnabled" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ enable the rendering of the value region in the chart </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="label" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ label of the value region, it is shown next to the region </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="data2" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Maximum value for the Value region</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="data1" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Minimum value for the Value region</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="axis" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the associated axis to the Region can be"x" or "y" </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="grid" type="lzx:grid" >
+</xs:element>
+  <xs:complexType name="grid" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basegrid">
+      <xs:attribute name="showvscroll" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If false, the grid will never show a vertical scrollbar,
+            even if the rows are wider than the grid.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showhscroll" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If false, the grid will never show a horizontal scrollbar,
+              even if the rows are wider than the grid.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="goldstyle" type="lzx:goldstyle" >
+</xs:element>
+  <xs:complexType name="goldstyle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:style">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="treeselector" type="lzx:treeselector" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Selection manager used by tree. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="treeselector" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:selectionmanager">
+      <xs:attribute name="multiselect" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If multiselect is true, multiple selection is enabled.  When the
+              shift key is down, a range of items is selected.  When the control
+              key is down, any item may be added to the selection. Default is
+              false. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="_dbg_lztextscroller" type="lzx:_dbg_lztextscroller" >
+</xs:element>
+  <xs:complexType name="_dbg_lztextscroller" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="visiblelines" type="xs:string" default="4" >
+</xs:attribute>
+      <xs:attribute name="thumbheight" type="xs:string" default="24" >
+</xs:attribute>
+      <xs:attribute name="textlines" type="xs:string" default="[]" >
+</xs:attribute>
+      <xs:attribute name="lineptr" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="autoscroll" type="xs:string" default="true" >
+</xs:attribute>
+      <xs:attribute name="arrowbuttonheight" type="xs:string" default="12" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basetabs" type="lzx:basetabs" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The base tabs object. This is the outermost containing component
+          within which there are a basetabsbar and the basetabscontent. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="basetabs" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecomponent">
+      <xs:attribute name="tabclass" type="xs:string" default="basetab" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Class to instantiate tab items for basetabsbar. Can be
+              overridden by basetabpane.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_top" type="lzx:number" default="8" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The top inset for content appearing within a basetabpane. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_right" type="lzx:number" default="8" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The right inset for content appearing within a basetabpane. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_left" type="lzx:number" default="8" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The left inset for content appearing within a basetabpane. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="inset_bottom" type="lzx:number" default="8" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The bottom inset for content appearing within a basetabpane. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="contentclass" type="xs:string" default="basetabscontent" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Class to instantiate to contain basetabpanes.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="content" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This is a reference to basetab's content area. This is where all
+              basetabpanes in tabs are placed.
+              @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bordersize" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The size of the border surrounding a basetabpane. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="barclass" type="xs:string" default="basetabsbar" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Class to instantiate to contain tab items.
+              @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bar" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This is a reference to its basetabsbar. 
+              @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="resource" type="lzx:resource" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+A tag that defines a media object that can be associated with a view. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="resource" mixed="true">
+  <xs:group ref="lzx:topLevelElements" />
+      <xs:attribute name="src" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The path of a file that contains the source for this object. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="offsety" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The y offset of a bitmap resource used for a custom cursor. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="offsetx" type="lzx:number" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The x offset of a bitmap resource used for a custom cursor. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="name" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The name of a variable that will be set to this object when the application is started. If this element is directly within a canvas or library element, the global variable and the canvas property with this name will be set to this object. If this element is within another object, that object's property with this name will be set to this object.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:complexType>
+<xs:element name="datatip" type="lzx:datatip" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+     tooltip is a tool tip to be use be the chart elements such as the plot area
+     @access public
+      </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="datatip" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:label">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="list" type="lzx:list" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A list containing listitems and providing selection capabilities. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="list" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baselist">
+      <xs:attribute name="tracking" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Toggles the mousedown tracking. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="spacing" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The number of pixels that items should be spaced from one another. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="shownitems" type="xs:string" default="-1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The number of items that are displayed. This value will ignored if
+              this view attempts to draw past the canvas boundary. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="scrollbarclassname" type="xs:string" default="vscrollbar" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The name of the class to instantiate as our scrollbar.
+              @keywords public </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="scrollable" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onmousetrackoutright" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ event not used - declared to remove debugger warnings </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onmousetrackoutleft" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ event not used - declared to remove debugger warnings </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="minheight" type="lzx:number" default="24" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ minumum height of the list </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bordersize" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The size in pixels for this list. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="border_top" type="xs:string" default="${this.bordersize}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The size of the top border. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="border_right" type="xs:string" default="${this.bordersize}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The size of the right border. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="border_left" type="xs:string" default="${this.bordersize}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The size of the left border. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="border_bottom" type="xs:string" default="${this.bordersize}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The size of the bottom border. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="autoscrollbar" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, a scrollbar will show up automatically when there are
+              more items than shownitems. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videoview" type="lzx:videoview" >
+</xs:element>
+  <xs:complexType name="videoview" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="url" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The url of the video, may be a relative URL, 
+            for example: "http://localhost/myvideo.flv", 
+            or simply "myvideo.flv".
+
+            When type="rtmp", the url is always relative the rtmpconnection.
+            (Use only when you are not explicitly declaring the mediastream.)
+    </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="type" type="xs:string" default="http" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Protocol "rtmp" or "http". </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="stream" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The mediastream object.  A mediastream will be automatically generated if one is not specified at init time. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="starttime" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Show the frame from this time (in seconds) whenever the url 
+          is set for video playback.
+          Use -1 to show no frame (which will leave the image as it
+          was when switching videos) </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="playvolume" type="xs:string" default="1.0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The volume for video playback, a float from 0 to 1. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="mic" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The microphone object. 
+            @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="debug" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, Debug.write extra stuff (this may go away). </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="cam" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The camera object. 
+            @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="buffertime" type="xs:string" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, video will start playing as soon as url is set. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="autoplay" type="xs:string" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true, video will start playing as soon as url is set. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="timevalidator" type="lzx:timevalidator" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ timevalidator class </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="timevalidator" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basevalidator">
+      <xs:attribute name="separator" type="xs:string" default=":" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Separator must be the same as specified in "format" attribute
+              it's needed to prevent input with different separator </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="invalidformatErrorstring" type="xs:string" default="Please input the time in a valid format" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The five attributes above are five different message errors </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="invalidSeparatorErrorstring" type="xs:string" default="Please enter a valid separator" >
+</xs:attribute>
+      <xs:attribute name="invalidSecondsErrorstring" type="xs:string" default="Please enter seconds between 0 and 59" >
+</xs:attribute>
+      <xs:attribute name="invalidMinutesErrorstring" type="xs:string" default="Please enter minutes between 0 and 59" >
+</xs:attribute>
+      <xs:attribute name="invalidHourErrorstring" type="xs:string" default="Please enter hour between 0 and 23" >
+</xs:attribute>
+      <xs:attribute name="incongruentSeparatorErrorstring" type="xs:string" default="Warning! Two different separators are defined in format and separator attribute" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Warning message when the two attribute "format" and "separator" have different separator's char </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="format" type="xs:string" default="hh:mi:ss" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The time format attribute. Default: hh:mi:ss
+              hh = hour
+              mi = minutes
+              ss = seconds 
+              The separator must be the same ss specified in "separator" attribute </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="floatinglist" type="lzx:floatinglist" >
+</xs:element>
+  <xs:complexType name="floatinglist" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basefloatinglist">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="_dbg_horiz_scrollbar" type="lzx:_dbg_horiz_scrollbar" >
+</xs:element>
+  <xs:complexType name="_dbg_horiz_scrollbar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="thumbwidth" type="xs:string" default="24" >
+</xs:attribute>
+      <xs:attribute name="autoscroll" type="xs:string" default="true" >
+</xs:attribute>
+      <xs:attribute name="arrowbuttonwidth" type="xs:string" default="12" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="xmlrpc" type="lzx:xmlrpc" >
+</xs:element>
+  <xs:complexType name="xmlrpc" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:rpc">
+      <xs:attribute name="service" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ (Required) XML-RPC service URL. The URL must be http. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="treenode" type="lzx:treenode" >
+</xs:element>
+  <xs:complexType name="treenode" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baseopttreenode">
+      <xs:attribute name="mousein" type="xs:string" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="fisheye_item" type="lzx:fisheye_item" >
+</xs:element>
+  <xs:complexType name="fisheye_item" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="tooltip" type="xs:string" default="${this.text}" >
+</xs:attribute>
+      <xs:attribute name="text" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="start_size" type="xs:string" default="${parent.start_size}" >
+</xs:attribute>
+      <xs:attribute name="old_y" type="xs:string" default="$once{canvas.getMouse('y')}" >
+</xs:attribute>
+      <xs:attribute name="old_x" type="xs:string" default="$once{canvas.getMouse('x')}" >
+</xs:attribute>
+      <xs:attribute name="myTooltipManager" type="xs:string" default="$once{parent.tooltipmanager}" >
+</xs:attribute>
+      <xs:attribute name="icon" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="halo_size" type="xs:string" default="${parent.halo_size}" >
+</xs:attribute>
+      <xs:attribute name="expanded_size" type="xs:string" default="${parent.expanded_size}" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videotogglebutton" type="lzx:videotogglebutton" >
+</xs:element>
+  <xs:complexType name="videotogglebutton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="tracking" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="over" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="icon" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="frameTable" type="xs:string" default="$once{             [1, 2, 1, 2, 3, 3, 3, 3]}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This look-up table maps a state value to a frame index. 
+              Currently 2^3=8 states: 
+              over (2^0=1), tracking (2^1=2) and engaged (2^2=4). </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="engaged" type="xs:string" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="dataset" type="lzx:dataset" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+An in-memory xml-style data hierarchy. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="dataset" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="type" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	When set to "http" or "soap", the dataset interprets it's src attribute as a URL to be loaded at runtime. If the "src" attribute is set to a URL (e.g., starts with "http:") then the type attribute implicitly becomes "http".  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="trimwhitespace" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	When true, the server will trim whitespace in the XML data (defaults to false).  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="timeout" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The numer of milliseconds to wait before the request times out, and an ontimeout event is sent. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="src" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The source for requests made by this dataset. The value can be a pathname or an absolute or relative URL. If the value is a URL (starts with "http:"), the dataset will be configured to load its data at runtime. Otherwise, the data is included inline into the application at compile time.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="sel" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Selection state of this node, used by dataselectionmanager </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="secureport" type="lzx:number" default="443" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	TCP port number to use for secure (HTTPS) requests </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="request" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	If true, the datset will make a request upon initialization </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="rawdata" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Holds raw data response string from data source </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="querytype" type="xs:string" default="GET" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+HTTP request method. Value must be one of "GET" or "POST". </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="querystring" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	A string to be appended to the request that the dataset makes.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="proxyurl" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The URL of the proxy server, for proxied requests </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="proxied" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+Sets whether or not the dataset makes its request directly to the target server or via the server proxy. Inherits value from canvas.proxied flag.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="postbody" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Used to send a string as the entire body of a POST request. For a POST request, setting postbody to a non-null string value will send that string as the complete body of the POST request. In this case any other query parameters that have been set via setQueryParam dataset will be ignored. The behavior of a GET request with a non-null postbody is not defined. Note, the swf8 runtime is forced to XML-quote the postbody, due to limitations in the Flash 8 player API. This restriction is not present in later swf runtimes, or in the DHTML runtime.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="parentNode" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 	The parent of this node </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="params" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	An lz.Param object which holds query key-value pairs. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ownerDocument" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	The owner document for this node. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="nsprefix" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	When true, the server will preserve namespace prefixes on data node names and attribute names  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="nodeType" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 	The type of this node one of lz.DataElement.DOCUMENT_NODE, lz.DataElement.ELEMENT_NODE or lz.DataElement.TEXT_NODE </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="nodeName" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 	The name of this node. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="multirequest" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	Create a new data request object for each request. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="getresponseheaders" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	When true, the proxy server (if making a proxied request) will encode and send the HTTP response headers along with the data (defaults to false). Due to a lack of a native API to get this information, SOLO SWF applications will always return an empty set. When making a proxied request, getresponseheaders must be true in order for the response headers to be retrieved via the getResponseHeader or getAllResponseHeaders methods.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dataprovider" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 	Holds a pointer to the DataProvider which handles data load requests for this dataset. Default value is canvas.defaultdataprovider  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="credentialled" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+When true, the withCredentials property on the XHR object will be set to true, allowing credentialled cross-origin resource sharing (CORS) requests. If withCredentials is not set for a CORS request using credentials, the browser will not set any cookies sent by the server. See http://www.w3.org/TR/cors/#access-control-allow-credentials-respons and http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-withcredentials-attribute for more information.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="clientcacheable" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 	When true, data responses can be cached by the client (browser). When false, a unique valued argument will be added to the request string in the format '__lzbc__=1204685840777' to defeat the browser's cache.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="childNodes" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	An array of children of this node </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="cacheable" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	When true, the server will attempt to cache response (defaults to false). There are security concerns when this field is true. When this field is true, you will usually want the getresponseheaders field to be false. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="autorequest" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	If true, changes to src or querystring attributes cause doRequest() to be called automatically. If false, doRequest() must be called manually when src or querystring attributes change.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="attributes" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The dictionary of attributes for this node. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="acceptencodings" type="lzx:boolean" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+	When true, the server will accept encoded responses for this request. Encoded responses require more work for the LPS (encoding the response) and client (decoding the response) in trade for lower network bandwidth usage.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="minibutton" type="lzx:minibutton" >
+</xs:element>
+  <xs:complexType name="minibutton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:stylishbutton">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="plainfloatinglist" type="lzx:plainfloatinglist" >
+</xs:element>
+  <xs:complexType name="plainfloatinglist" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basefloatinglist">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basechartbacking" type="lzx:basechartbacking" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The base chart background class for rectangular charts.
+        (That is, not used in piechart.)  (Of beta quality.) </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="basechartbacking" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="drawready" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The drawview responsible for drawing horizontal ticks. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="lwzendatepicker" type="lzx:lwzendatepicker" >
+</xs:element>
+  <xs:complexType name="lwzendatepicker" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basedatepicker">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:group name="topLevelElements">
+<xs:sequence>
+<xs:choice minOccurs="0" maxOccurs="unbounded">
+<xs:any />
+</xs:choice>
+</xs:sequence>
+</xs:group>
+</xs:schema>
diff --git a/WebContent/openmeetings/WEB-INF/classes/logback-config.xml b/WebContent/openmeetings/WEB-INF/classes/logback-config.xml
new file mode 100644
index 0000000..13a6417
--- /dev/null
+++ b/WebContent/openmeetings/WEB-INF/classes/logback-config.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="logback.xsd">
+	<contextName>${current_openmeetings_context_name}</contextName>
+	
+	<jmxConfigurator contextName="${current_openmeetings_context_name}" />
+
+  <appender name="FLOG2" class="ch.qos.logback.core.FileAppender">
+		<File>log/${current_openmeetings_context_name}.log</File>
+		<Append>false</Append>
+		<Encoding>UTF-8</Encoding>
+		<BufferedIO>false</BufferedIO>
+		<ImmediateFlush>true</ImmediateFlush>
+		<layout class="ch.qos.logback.classic.PatternLayout">
+			<Pattern>
+				%5p %d{MM-dd HH:mm:ss.SSS } %F %r %L %c [%t] - %m%n
+			</Pattern>
+		</layout>
+  </appender>
+  <appender name="CONSOLE2" class="ch.qos.logback.core.ConsoleAppender">
+    <layout class="ch.qos.logback.classic.PatternLayout">
+      <pattern>%5p %d{MM-dd HH:mm:ss.SSS } %F %r %L %c [%t] - %m%n</pattern>
+    </layout>
+  </appender>
+  <logger name="org.apache.axis2">
+    <level value="ERROR"/>
+  </logger>
+  <logger name="com.mchange.v2">
+    <level value="ERROR"/>
+  </logger>
+  <logger name="org.apache.axiom">
+    <level value="ERROR"/>
+  </logger>
+  <logger name="org.apache.commons.httpclient">
+    <level value="ERROR"/>
+  </logger>
+  <logger name="de.hunsicker.jalopy.io">
+    <level value="ERROR"/>
+  </logger>
+  <logger name="org.apache.axis2.enterprise">
+    <level value="ERROR"/>
+  </logger>
+  <logger name="httpclient.wire.header">
+    <level value="ERROR"/>
+  </logger>
+  <root>
+    <level value="DEBUG"/>
+    <appender-ref ref="FLOG2"/>
+    <appender-ref ref="CONSOLE2"/>
+  </root>
+</configuration>
diff --git a/WebContent/openmeetings/WEB-INF/classes/logback.xsd b/WebContent/openmeetings/WEB-INF/classes/logback.xsd
new file mode 100644
index 0000000..c06e5a7
--- /dev/null
+++ b/WebContent/openmeetings/WEB-INF/classes/logback.xsd
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

+  <xs:element name="configuration">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element ref="contextName"/>

+        <xs:element ref="jmxConfigurator"/>

+        <xs:element maxOccurs="unbounded" ref="appender"/>

+        <xs:element maxOccurs="unbounded" ref="logger"/>

+        <xs:element ref="root"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="contextName" type="xs:string"/>

+  <xs:element name="jmxConfigurator">

+    <xs:complexType>

+      <xs:attribute name="contextName" use="required"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="appender">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:sequence minOccurs="0">

+          <xs:element ref="File"/>

+          <xs:element ref="Append"/>

+          <xs:element ref="Encoding"/>

+          <xs:element ref="BufferedIO"/>

+          <xs:element ref="ImmediateFlush"/>

+        </xs:sequence>

+        <xs:element ref="layout"/>

+      </xs:sequence>

+      <xs:attribute name="class" use="required"/>

+      <xs:attribute name="name" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="File" type="xs:string"/>

+  <xs:element name="Append" type="xs:boolean"/>

+  <xs:element name="Encoding" type="xs:NCName"/>

+  <xs:element name="BufferedIO" type="xs:boolean"/>

+  <xs:element name="ImmediateFlush" type="xs:boolean"/>

+  <xs:element name="layout">

+    <xs:complexType>

+      <xs:choice>

+        <xs:element ref="Pattern"/>

+        <xs:element ref="pattern"/>

+      </xs:choice>

+      <xs:attribute name="class" use="required"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="Pattern" type="xs:string"/>

+  <xs:element name="pattern" type="xs:string"/>

+  <xs:element name="logger">

+    <xs:complexType>

+      <xs:complexContent>

+        <xs:extension base="level">

+          <xs:attribute name="name" use="required" type="xs:NCName"/>

+        </xs:extension>

+      </xs:complexContent>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="root">

+    <xs:complexType>

+      <xs:complexContent>

+        <xs:extension base="level">

+          <xs:sequence>

+            <xs:element maxOccurs="unbounded" ref="appender-ref"/>

+          </xs:sequence>

+        </xs:extension>

+      </xs:complexContent>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="appender-ref">

+    <xs:complexType>

+      <xs:attribute name="ref" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:complexType name="level">

+    <xs:sequence>

+      <xs:element ref="level"/>

+    </xs:sequence>

+  </xs:complexType>

+  <xs:element name="level">

+    <xs:complexType>

+      <xs:attribute name="value" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+</xs:schema>

diff --git a/WebContent/openmeetings/WEB-INF/conf/axis2.xml b/WebContent/openmeetings/WEB-INF/conf/axis2.xml
new file mode 100644
index 0000000..a6620f6
--- /dev/null
+++ b/WebContent/openmeetings/WEB-INF/conf/axis2.xml
@@ -0,0 +1,531 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements. See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership. The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License. You may obtain a copy of the License at
+  ~
+  ~ http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied. See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+
+<axisconfig name="AxisJava2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:noNamespaceSchemaLocation="axis2.xsd">
+    <!-- ================================================= -->
+    <!-- Parameters -->
+    <!-- ================================================= -->
+    <parameter name="hotdeployment">true</parameter>
+    <parameter name="hotupdate">false</parameter>
+    <parameter name="enableMTOM">false</parameter>
+    <parameter name="enableSwA">false</parameter>
+
+    <!--Uncomment if you want to enable file caching for attachments -->
+    <!--parameter name="cacheAttachments">true</parameter>
+    <parameter name="attachmentDIR"></parameter>
+    <parameter name="sizeThreshold">4000</parameter-->
+
+    <parameter name="EnableChildFirstClassLoading">false</parameter>
+
+    <!--
+    The exposeServiceMetadata parameter decides whether the metadata (WSDL, schema, policy) of
+    the services deployed on Axis2 should be visible when ?wsdl, ?wsdl2, ?xsd, ?policy requests
+    are received.
+    This parameter can be defined in the axi2.xml file, in which case this will be applicable
+    globally, or in the services.xml files, in which case, it will be applicable to the
+    Service groups and/or services, depending on the level at which the parameter is declared.
+    This value of this parameter defaults to true.
+    -->
+    <parameter name="exposeServiceMetadata">true</parameter>
+
+
+    <!--Uncomment if you want to plugin your own attachments lifecycle implementation -->
+    <!--<attachmentsLifecycleManager class="org.apache.axiom.attachments.lifecycle.impl.LifecycleManagerImpl"/>-->
+
+
+    <!--Uncomment if you want to enable the reduction of the in-memory cache of WSDL definitions -->
+    <!--In some server environments, the available memory heap is limited and can fill up under load -->
+    <!--Since in-memory copies of WSDL definitions can be large, some steps can be taken-->
+    <!--to reduce the memory needed for the cached WSDL definitions. -->
+    <!--parameter name="reduceWSDLMemoryCache">true</parameter-->
+
+    <!--This will give out the timout of the configuration contexts, in milliseconds-->
+    <parameter name="ConfigContextTimeoutInterval">30000</parameter>
+
+    <!--During a fault, stack trace can be sent with the fault message. The following flag will control -->
+    <!--that behavior.-->
+    <parameter name="sendStacktraceDetailsWithFaults">false</parameter>
+
+    <!--If there aren't any information available to find out the fault reason, we set the message of the exception-->
+    <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
+    <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
+    <!--is set, then Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
+    <parameter name="DrillDownToRootCauseForFaultReason">false</parameter>
+
+    <parameter name="userName">admin</parameter>
+    <parameter name="password">axis2</parameter>
+
+    <!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
+    <!--ServicesDirectory only works on the following cases-->
+    <!---File based configurator and in that case the value should be a file URL (http:// not allowed)-->
+    <!---When creating URL Based configurator with URL file:// -->
+    <!--- War based configurator with expanded case , -->
+
+    <!--All the other scenarios it will be ignored.-->
+    <!--<parameter name="ServicesDirectory">service</parameter>-->
+    <!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
+    <!--<parameter name="ModulesDirectory">modules</parameter>-->
+
+
+    <!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context-->
+    <!--root which can configured using the following contextRoot parameter-->
+    <!--<parameter name="contextRoot">axis2</parameter>-->
+
+    <!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distinguiush those endpoints-->
+    <!--In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this -->
+    <!--context path to proper Axis2 servlets-->
+    <!--<parameter name="servicePath">services</parameter>-->
+    <!--<parameter name="restPath">rest</parameter>-->
+
+    <!-- Following parameter will completely disable REST handling in Axis2-->
+    <parameter name="disableREST" locked="false">false</parameter>
+
+    <!-- Following parameter will suppress generation of SOAP 1.2 bindings in auto-generated WSDL files -->
+    <parameter name="disableSOAP12" locked="true">false</parameter>
+
+    <!-- ================================================= -->
+    <!-- Deployers -->
+    <!-- ================================================= -->
+
+    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->
+    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">
+        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>
+        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>
+    </deployer>
+    
+    <!--POJO deployer , this will alow users to drop .class file and make that into a service-->
+    <deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/>
+    <deployer extension=".jar" directory="servicejars"
+              class="org.apache.axis2.jaxws.framework.JAXWSDeployer"/>
+    <deployer extension=".jar" directory="transports"
+              class="org.apache.axis2.deployment.TransportDeployer"/>
+
+    <!--CORBA deployer , this will alow users to invoke remote CORBA services through Axis2-->
+    <!--<deployer extension=".xml" directory="corba" class="org.apache.axis2.corba.deployer.CorbaDeployer"/>-->
+
+    <!--<deployer extension=".jsa" directory="rmiservices" class="org.apache.axis2.rmi.deploy.RMIServiceDeployer"/>-->
+
+
+    <!-- Following parameter will set the host name for the epr-->
+    <!--<parameter name="hostname" locked="true">myhost.com</parameter>-->
+
+    <!-- If you have a front end host which exposes this webservice using a different public URL  -->
+    <!-- use this parameter to override autodetected url -->
+    <!--<parameter name="httpFrontendHostUrl">https://someotherhost/context</parameter>-->
+
+    <!--By default, JAXWS services are created by reading annotations. WSDL and schema are generated-->
+    <!--using a separate WSDL generator only when ?wsdl is called. Therefore, even if you engage-->
+    <!--policies etc.. to AxisService, it doesn't appear in the WSDL. By setting the following property-->
+    <!--to true, you can create the AxisService using the generated WSDL and remove the need for a-->
+    <!--WSDL generator. When ?wsdl is called, WSDL is generated in the normal way.-->
+    <parameter name="useGeneratedWSDLinJAXWS">false</parameter>
+
+    <!--    The way of adding listener to the system-->
+    <!--    <listener class="org.apache.axis2.ObserverIMPL">-->
+    <!--        <parameter name="RSS_URL">http://127.0.0.1/rss</parameter>-->
+    <!--    </listener>-->
+
+    <threadContextMigrators>
+        <threadContextMigrator listId="JAXWS-ThreadContextMigrator-List"
+                               class="org.apache.axis2.jaxws.addressing.migrator.EndpointContextMapMigrator"/>
+    </threadContextMigrators>
+
+    <!-- ================================================= -->
+    <!-- Message Receivers -->
+    <!-- ================================================= -->
+    <!--This is the default MessageReceiver for the system , if you want to have MessageReceivers for -->
+    <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
+    <!--any operation -->
+    <!--Note : You can override this for a particular service by adding the same element with your requirement-->
+    <messageReceivers>        
+        <messageReceiver mep="http://www.w3.org/ns/wsdl/in-only"
+                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
+        <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out"
+                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+    </messageReceivers>
+
+    <!-- ================================================= -->
+    <!-- Message Formatter -->
+    <!-- ================================================= -->
+    <!--Following content type to message formatter mapping can be used to implement support for different message -->
+    <!--format  serialization in Axis2. These message formats are expected to be resolved based on the content type. -->
+    <messageFormatters>
+        <messageFormatter contentType="application/x-www-form-urlencoded"
+                          class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/>
+        <messageFormatter contentType="multipart/form-data"
+                          class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/>
+        <messageFormatter contentType="application/xml"
+                          class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
+        <messageFormatter contentType="text/xml"
+                          class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
+        <messageFormatter contentType="application/soap+xml"
+                          class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
+    </messageFormatters>
+
+    <!-- ================================================= -->
+    <!-- Message Builders -->
+    <!-- ================================================= -->
+    <!--Following content type to builder mapping can be used to implement support for different message -->
+    <!--formats in Axis2. These message formats are expected to be resolved based on the content type. -->
+    <messageBuilders>
+        <messageBuilder contentType="application/xml"
+                        class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
+        <messageBuilder contentType="application/x-www-form-urlencoded"
+                        class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
+        <messageBuilder contentType="multipart/form-data"
+                        class="org.apache.axis2.builder.MultipartFormDataBuilder"/>
+    </messageBuilders>
+
+    <!-- ================================================= -->
+    <!-- Transport Ins -->
+    <!-- ================================================= -->
+    <transportReceiver name="http"
+                       class="org.apache.axis2.transport.http.SimpleHTTPServer">
+        <parameter name="port">8080</parameter>
+        <!-- Here is the complete list of supported parameters (see example settings further below):
+            port: the port to listen on (default 6060)
+            hostname:  if non-null, url prefix used in reply-to endpoint references                                 (default null)
+            originServer:  value of http Server header in outgoing messages                                         (default "Simple-Server/1.1")
+            requestTimeout:  value in millis of time that requests can wait for data                                (default 20000)
+            requestTcpNoDelay:  true to maximize performance and minimize latency                                   (default true)
+                                false to minimize bandwidth consumption by combining segments
+            requestCoreThreadPoolSize:  number of threads available for request processing (unless queue fills up)  (default 25)
+            requestMaxThreadPoolSize:  number of threads available for request processing if queue fills up         (default 150)
+                                       note that default queue never fills up:  see HttpFactory
+            threadKeepAliveTime:  time to keep threads in excess of core size alive while inactive                  (default 180)
+                                  note that no such threads can exist with default unbounded request queue
+            threadKeepAliveTimeUnit:  TimeUnit of value in threadKeepAliveTime (default SECONDS)                    (default SECONDS)
+        -->
+        <!-- <parameter name="hostname">http://www.myApp.com/ws</parameter> -->
+        <!-- <parameter name="originServer">My-Server/1.1</parameter>           -->
+        <!-- <parameter name="requestTimeout">10000</parameter>                   -->
+        <!-- <parameter name="requestTcpNoDelay">false</parameter>                   -->
+        <!-- <parameter name="requestCoreThreadPoolSize">50</parameter>                      -->
+        <!-- <parameter name="requestMaxThreadPoolSize">100</parameter>                     -->
+        <!-- <parameter name="threadKeepAliveTime">240000</parameter>                  -->
+        <!-- <parameter name="threadKeepAliveTimeUnit">MILLISECONDS</parameter>            -->
+    </transportReceiver>
+
+    <!-- This is where you'd put custom transports.  See the transports project -->
+    <!-- for more.  http://ws.apache.org/commons/transport                      -->
+
+    <!-- ================================================= -->
+    <!-- Transport Outs -->
+    <!-- ================================================= -->
+
+    <transportSender name="local"
+                     class="org.apache.axis2.transport.local.LocalTransportSender"/>
+    <transportSender name="http"
+                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
+        <parameter name="PROTOCOL">HTTP/1.1</parameter>
+        <parameter name="Transfer-Encoding">chunked</parameter>
+
+        <!-- If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages -->
+        <!--  <parameter name="OmitSOAP12Action">true</parameter>  -->
+    </transportSender>
+
+    <transportSender name="https"
+                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
+        <parameter name="PROTOCOL">HTTP/1.1</parameter>
+        <parameter name="Transfer-Encoding">chunked</parameter>
+    </transportSender>
+
+    <!-- Please enable this if you need the java transport -->
+    <!-- <transportSender name="java"
+                     class="org.apache.axis2.transport.java.JavaTransportSender"/> -->
+
+    <!-- ================================================= -->
+    <!-- Global Modules  -->
+    <!-- ================================================= -->
+    <!-- Comment this to disable Addressing -->
+    <module ref="addressing"/>
+
+    <!--Configuring module , providing parameters for modules whether they refer or not-->
+    <!--<moduleConfig name="addressing">-->
+    <!--<parameter name="addressingPara">N/A</parameter>-->
+    <!--</moduleConfig>-->
+
+    <!-- ================================================= -->
+    <!-- Clustering  -->
+    <!-- ================================================= -->
+    <!--
+     To enable clustering for this node, set the value of "enable" attribute of the "clustering"
+     element to "true". The initialization of a node in the cluster is handled by the class
+     corresponding to the "class" attribute of the "clustering" element. It is also responsible for
+     getting this node to join the cluster.
+     -->
+    <clustering class="org.apache.axis2.clustering.tribes.TribesClusteringAgent" enable="false">
+
+        <!--
+           This parameter indicates whether the cluster has to be automatically initalized
+           when the AxisConfiguration is built. If set to "true" the initialization will not be
+           done at that stage, and some other party will have to explictly initialize the cluster.
+        -->
+        <parameter name="AvoidInitiation">true</parameter>
+
+        <!--
+           The membership scheme used in this setup. The only values supported at the moment are
+           "multicast" and "wka"
+
+           1. multicast - membership is automatically discovered using multicasting
+           2. wka - Well-Known Address based multicasting. Membership is discovered with the help
+                    of one or more nodes running at a Well-Known Address. New members joining a
+                    cluster will first connect to a well-known node, register with the well-known node
+                    and get the membership list from it. When new members join, one of the well-known
+                    nodes will notify the others in the group. When a member leaves the cluster or
+                    is deemed to have left the cluster, it will be detected by the Group Membership
+                    Service (GMS) using a TCP ping mechanism.
+        -->
+        <parameter name="membershipScheme">multicast</parameter>
+
+        <!--
+         The clustering domain/group. Nodes in the same group will belong to the same multicast
+         domain. There will not be interference between nodes in different groups.
+        -->
+        <parameter name="domain">wso2.carbon.domain</parameter>
+
+        <!--
+           When a Web service request is received, and processed, before the response is sent to the
+           client, should we update the states of all members in the cluster? If the value of
+           this parameter is set to "true", the response to the client will be sent only after
+           all the members have been updated. Obviously, this can be time consuming. In some cases,
+           such this overhead may not be acceptable, in which case the value of this parameter
+           should be set to "false"
+        -->
+        <parameter name="synchronizeAll">true</parameter>
+
+        <!--
+          The maximum number of times we need to retry to send a message to a particular node
+          before giving up and considering that node to be faulty
+        -->
+        <parameter name="maxRetries">10</parameter>
+
+        <!-- The multicast address to be used -->
+        <parameter name="mcastAddress">228.0.0.4</parameter>
+
+        <!-- The multicast port to be used -->
+        <parameter name="mcastPort">45564</parameter>
+
+        <!-- The frequency of sending membership multicast messages (in ms) -->
+        <parameter name="mcastFrequency">500</parameter>
+
+        <!-- The time interval within which if a member does not respond, the member will be
+         deemed to have left the group (in ms)
+         -->
+        <parameter name="memberDropTime">3000</parameter>
+
+        <!--
+           The IP address of the network interface to which the multicasting has to be bound to.
+           Multicasting would be done using this interface.
+        -->
+        <parameter name="mcastBindAddress">127.0.0.1</parameter>
+
+        <!-- The host name or IP address of this member -->
+        <parameter name="localMemberHost">127.0.0.1</parameter>
+
+        <!--
+        The TCP port used by this member. This is the port through which other nodes will
+        contact this member
+         -->
+        <parameter name="localMemberPort">4000</parameter>
+
+        <!--
+        Preserve message ordering. This will be done according to sender order.
+        -->
+        <parameter name="preserveMessageOrder">true</parameter>
+
+        <!--
+        Maintain atmost-once message processing semantics
+        -->
+        <parameter name="atmostOnceMessageSemantics">true</parameter>
+
+        <!--
+        Properties specific to this member
+        -->
+        <parameter name="properties">
+            <property name="backendServerURL" value="https://${hostName}:${httpsPort}/services/"/>
+            <property name="mgtConsoleURL" value="https://${hostName}:${httpsPort}/"/>
+        </parameter>
+
+        <!--
+           The list of static or well-known members. These entries will only be valid if the
+           "membershipScheme" above is set to "wka"
+        -->
+        <members>
+            <member>
+                <hostName>127.0.0.1</hostName>
+                <port>4000</port>
+            </member>
+            <member>
+                <hostName>127.0.0.1</hostName>
+                <port>4001</port>
+            </member>
+        </members>
+
+        <!--
+        Enable the groupManagement entry if you need to run this node as a cluster manager.
+        Multiple application domains with different GroupManagementAgent implementations
+        can be defined in this section.
+        -->
+        <groupManagement enable="false">
+            <applicationDomain name="apache.axis2.application.domain"
+                               description="Axis2 group"
+                               agent="org.apache.axis2.clustering.management.DefaultGroupManagementAgent"/>
+        </groupManagement>
+
+        <!--
+           This interface is responsible for handling management of a specific node in the cluster
+           The "enable" attribute indicates whether Node management has been enabled
+        -->
+        <nodeManager class="org.apache.axis2.clustering.management.DefaultNodeManager"
+                         enable="true"/>
+
+        <!--
+           This interface is responsible for handling state replication. The property changes in
+           the Axis2 context hierarchy in this node, are propagated to all other nodes in the cluster.
+
+           The "excludes" patterns can be used to specify the prefixes (e.g. local_*) or
+           suffixes (e.g. *_local) of the properties to be excluded from replication. The pattern
+           "*" indicates that all properties in a particular context should not be replicated.
+
+            The "enable" attribute indicates whether context replication has been enabled
+        -->
+        <stateManager class="org.apache.axis2.clustering.state.DefaultStateManager"
+                      enable="true">
+            <replication>
+                <defaults>
+                    <exclude name="local_*"/>
+                    <exclude name="LOCAL_*"/>
+                </defaults>
+                <context class="org.apache.axis2.context.ConfigurationContext">
+                    <exclude name="local_*"/>
+                </context>
+                <context class="org.apache.axis2.context.ServiceGroupContext">
+                    <exclude name="local_*"/>
+                </context>
+                <context class="org.apache.axis2.context.ServiceContext">
+                    <exclude name="local_*"/>
+                </context>
+            </replication>
+        </stateManager>
+    </clustering>
+
+    <!-- ================================================= -->
+    <!-- Phases  -->
+    <!-- ================================================= -->
+    <phaseOrder type="InFlow">
+        <!--  System predefined phases       -->
+        <phase name="Transport">
+            <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
+                <order phase="Transport"/>
+            </handler>
+            <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
+                <order phase="Transport"/>
+            </handler>
+        </phase>
+        <phase name="Addressing">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
+                <order phase="Addressing"/>
+            </handler>
+        </phase>
+        <phase name="Security"/>
+        <phase name="PreDispatch"/>
+        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
+            <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
+            <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
+            <handler name="RequestURIOperationDispatcher"
+                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
+            <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
+            <handler name="HTTPLocationBasedDispatcher"
+                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
+            <handler name="GenericProviderDispatcher"
+                     class="org.apache.axis2.jaxws.dispatchers.GenericProviderDispatcher"/>
+            <handler name="MustUnderstandValidationDispatcher"
+                     class="org.apache.axis2.jaxws.dispatchers.MustUnderstandValidationDispatcher"/>
+        </phase>
+        <phase name="RMPhase"/>
+        <!--  System predefined phases       -->
+        <!--   After Postdispatch phase module author or service author can add any phase he want      -->
+        <phase name="OperationInPhase">
+            <handler name="MustUnderstandChecker"
+                     class="org.apache.axis2.jaxws.dispatchers.MustUnderstandChecker">
+                <order phase="OperationInPhase"/>
+            </handler>
+        </phase>
+        <phase name="soapmonitorPhase"/>
+    </phaseOrder>
+    <phaseOrder type="OutFlow">
+        <!--      user can add his own phases to this area  -->
+        <phase name="soapmonitorPhase"/>
+        <phase name="OperationOutPhase"/>
+        <!--system predefined phase-->
+        <!--these phase will run irrespective of the service-->
+        <phase name="RMPhase"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
+        <phase name="Security"/>
+    </phaseOrder>
+    <phaseOrder type="InFaultFlow">
+        <phase name="Addressing">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
+                <order phase="Addressing"/>
+            </handler>
+        </phase>
+        <phase name="Security"/>
+        <phase name="PreDispatch"/>
+        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
+            <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
+            <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
+            <handler name="RequestURIOperationDispatcher"
+                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
+            <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
+            <handler name="HTTPLocationBasedDispatcher"
+                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
+            <handler name="GenericProviderDispatcher"
+                     class="org.apache.axis2.jaxws.dispatchers.GenericProviderDispatcher"/>
+            <handler name="MustUnderstandValidationDispatcher"
+                     class="org.apache.axis2.jaxws.dispatchers.MustUnderstandValidationDispatcher"/>
+        </phase>
+        <phase name="RMPhase"/>
+        <!--      user can add his own phases to this area  -->
+        <phase name="OperationInFaultPhase"/>
+        <phase name="soapmonitorPhase"/>
+    </phaseOrder>
+    <phaseOrder type="OutFaultFlow">
+        <!--      user can add his own phases to this area  -->
+        <phase name="soapmonitorPhase"/>
+        <phase name="OperationOutFaultPhase"/>
+        <phase name="RMPhase"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
+        <phase name="Security"/>
+    </phaseOrder>
+</axisconfig>
+
diff --git a/WebContent/openmeetings/WEB-INF/conf/axis2.xsd b/WebContent/openmeetings/WEB-INF/conf/axis2.xsd
new file mode 100644
index 0000000..df95257
--- /dev/null
+++ b/WebContent/openmeetings/WEB-INF/conf/axis2.xsd
@@ -0,0 +1,267 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

+  <xs:element name="axisconfig">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:choice maxOccurs="unbounded">

+          <xs:element ref="parameter"/>

+          <xs:element ref="deployer"/>

+        </xs:choice>

+        <xs:element ref="threadContextMigrators"/>

+        <xs:element ref="messageReceivers"/>

+        <xs:element ref="messageFormatters"/>

+        <xs:element ref="messageBuilders"/>

+        <xs:element ref="transportReceiver"/>

+        <xs:element maxOccurs="unbounded" ref="transportSender"/>

+        <xs:element ref="module"/>

+        <xs:element ref="clustering"/>

+        <xs:element maxOccurs="unbounded" ref="phaseOrder"/>

+      </xs:sequence>

+      <xs:attribute name="name" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="deployer">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="serviceBuilderExtension"/>

+      </xs:sequence>

+      <xs:attribute name="class" use="required"/>

+      <xs:attribute name="directory" use="required" type="xs:NCName"/>

+      <xs:attribute name="extension" use="required" type="xs:NMTOKEN"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="serviceBuilderExtension">

+    <xs:complexType>

+      <xs:attribute name="class" use="required"/>

+      <xs:attribute name="name" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="threadContextMigrators">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element ref="threadContextMigrator"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="threadContextMigrator">

+    <xs:complexType>

+      <xs:attribute name="class" use="required"/>

+      <xs:attribute name="listId" use="required"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="messageReceivers">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element maxOccurs="unbounded" ref="messageReceiver"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="messageReceiver">

+    <xs:complexType>

+      <xs:attribute name="class" use="required"/>

+      <xs:attribute name="mep" use="required" type="xs:anyURI"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="messageFormatters">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element maxOccurs="unbounded" ref="messageFormatter"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="messageFormatter">

+    <xs:complexType>

+      <xs:attribute name="class" use="required"/>

+      <xs:attribute name="contentType" use="required"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="messageBuilders">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element maxOccurs="unbounded" ref="messageBuilder"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="messageBuilder">

+    <xs:complexType>

+      <xs:attribute name="class" use="required"/>

+      <xs:attribute name="contentType" use="required"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="transportReceiver">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element ref="parameter"/>

+      </xs:sequence>

+      <xs:attribute name="class" use="required"/>

+      <xs:attribute name="name" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="transportSender">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="parameter"/>

+      </xs:sequence>

+      <xs:attribute name="class" use="required"/>

+      <xs:attribute name="name" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="module">

+    <xs:complexType>

+      <xs:attribute name="ref" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="clustering">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element maxOccurs="unbounded" ref="parameter"/>

+        <xs:element ref="members"/>

+        <xs:element ref="groupManagement"/>

+        <xs:element ref="nodeManager"/>

+        <xs:element ref="stateManager"/>

+      </xs:sequence>

+      <xs:attribute name="class" use="required"/>

+      <xs:attribute name="enable" use="required" type="xs:boolean"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="members">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element maxOccurs="unbounded" ref="member"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="member">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element ref="hostName"/>

+        <xs:element ref="port"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="hostName" type="xs:NMTOKEN"/>

+  <xs:element name="port" type="xs:integer"/>

+  <xs:element name="groupManagement">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element ref="applicationDomain"/>

+      </xs:sequence>

+      <xs:attribute name="enable" use="required" type="xs:boolean"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="applicationDomain">

+    <xs:complexType>

+      <xs:attribute name="agent" use="required"/>

+      <xs:attribute name="description" use="required"/>

+      <xs:attribute name="name" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="nodeManager">

+    <xs:complexType>

+      <xs:attribute name="class" use="required"/>

+      <xs:attribute name="enable" use="required" type="xs:boolean"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="stateManager">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element ref="replication"/>

+      </xs:sequence>

+      <xs:attribute name="class" use="required"/>

+      <xs:attribute name="enable" use="required" type="xs:boolean"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="replication">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element ref="defaults"/>

+        <xs:element maxOccurs="unbounded" ref="context"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="defaults">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element maxOccurs="unbounded" ref="exclude"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="context">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element ref="exclude"/>

+      </xs:sequence>

+      <xs:attribute name="class" use="required"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="phaseOrder">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element maxOccurs="unbounded" ref="phase"/>

+      </xs:sequence>

+      <xs:attribute name="type" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="phase">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="handler"/>

+      </xs:sequence>

+      <xs:attribute name="class"/>

+      <xs:attribute name="name" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="handler">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element minOccurs="0" ref="order"/>

+      </xs:sequence>

+      <xs:attribute name="class" use="required"/>

+      <xs:attribute name="name" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="order">

+    <xs:complexType>

+      <xs:attribute name="phase" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="parameter">

+    <xs:complexType mixed="true">

+      <xs:sequence>

+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="property"/>

+      </xs:sequence>

+      <xs:attribute name="locked" type="xs:boolean"/>

+      <xs:attribute name="name" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="property">

+    <xs:complexType>

+      <xs:attribute name="name" use="required" type="xs:NCName"/>

+      <xs:attribute name="value" use="required"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="exclude">

+    <xs:complexType>

+      <xs:attribute name="name" use="required"/>

+    </xs:complexType>

+  </xs:element>

+</xs:schema>

diff --git a/WebContent/openmeetings/WEB-INF/services/services.list b/WebContent/openmeetings/WEB-INF/services/services.list
new file mode 100644
index 0000000..7910cc1
--- /dev/null
+++ b/WebContent/openmeetings/WEB-INF/services/services.list
@@ -0,0 +1 @@
+version.aar
\ No newline at end of file
diff --git a/WebContent/openmeetings/WEB-INF/services/version.aar b/WebContent/openmeetings/WEB-INF/services/version.aar
new file mode 100644
index 0000000..4408130
--- /dev/null
+++ b/WebContent/openmeetings/WEB-INF/services/version.aar
Binary files differ
diff --git a/WebContent/openmeetings/config.xml b/WebContent/openmeetings/config.xml
new file mode 100644
index 0000000..b24be3d
--- /dev/null
+++ b/WebContent/openmeetings/config.xml
@@ -0,0 +1,330 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<config 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="openmeetings-config.xsd">
+
+<!-- URL/IP to use for the Server
+    if this value is empty it will try to connect to the 
+    domain-name the OpenMeetings-Client has been loading from  
+    -->
+<!--<rtmphostlocal>192.168.254.182</rtmphostlocal>-->
+<rtmphostlocal></rtmphostlocal>
+
+<!--  
+Port to use for the Server
+To this port the default server lookup is done
+
+You can find all this configuration in your red5-Config in: $RED5_HOME/conf/red5.properties
+ -->
+<rtmpport>1935</rtmpport>
+
+<!-- 
+Port to use for the Server
+To this port the fallback is done once the default rtmport failed
+this should workaround 99% of all firewalls
+ -->
+<rtmpTunnelport>8088</rtmpTunnelport>
+
+<rtmpsslport>443</rtmpsslport>
+<!--
+Wether it should try to connect to rtmps first or not
+Valid values: yes / no
+
+NOTE: The OSx and Linux Flash Player are NOT able to connect via rtmps
+The support for Windows is experimental
+ -->
+<useSSL>no</useSSL>
+
+<!-- 
+Port to use for the Server
+This port is used to connect to the http-servlet
+of the red5-servlet
+ -->
+<red5httpport>5080</red5httpport>
+
+<!--
+    The protocol to use for the http connections
+    for example upload/download of files 
+ -->
+<protocol>http</protocol>
+
+<!--
+    The setting for the NetConnection
+    default settings is "none"
+    set to value "best" if you are trying to use rtmp over native SSL
+    see: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetConnection.html#proxyType
+ -->
+<proxyType>none</proxyType>
+	
+<!--
+    Name of the Application
+    this is the Top-Icon Name of the Application
+ -->    
+<currentappname>Apache OpenMeetings [Incubating]</currentappname>    
+    
+<!-- 
+    URL to the Home of the Application
+    this is the URL which is used if you click on the Top-icon
+-->    
+<currentappnameurl>http://incubator.apache.org/openmeetings</currentappnameurl>        
+
+<!--
+    URL to Bugs/Support
+    this is the URL which is used if you click on *report a bug*
+ -->
+<currentappnamebugurl>https://issues.apache.org/jira/browse/OPENMEETINGS</currentappnamebugurl>   
+        
+<!--
+    Video-Settings
+    
+    Number that specifies the amount of sound required to activate the microphone 
+	Acceptable values from 0 to 100.	
+    this value is used in Audio_Streaming, at which the *activity-meter* will
+    send a notification for all connected hosts of a conference
+    the result of this notification is that you see the green-light highlighted if
+    a remote user is speaking
+ -->
+<loudnessAcitviation>0</loudnessAcitviation>  
+    
+<!--
+    OpenMeetings-Webapp Name
+    This is the name of the WebApp the Client will try to connect
+    in former versions (till 0.5 Beta7) the name was xmlcrm
+    the same param kann be find in the webapp in the Red5-Webapp
+    red5-web.properties
+    web.xml
+ -->
+<webAppRootKey>openmeetings</webAppRootKey>  
+
+<!--
+    We need this additional ROOT-Key as we have to deploy the application 
+    as Global Contex Root. 
+    
+    If the rtmpt issues is solved sothat several Webapps can use different RTMPT connection
+    we might change this value again to its origin / webapp-context
+
+ -->
+<httpRootKey>/openmeetings/</httpRootKey>  
+    
+<!--
+    Window-Effect Settings
+    showWindowEffect-values:
+    y = yes
+    n = no
+    showWindowEffectOpacity-values
+    between 0 and 1
+ -->
+<showWindowEffect>n</showWindowEffect> 
+
+<!--
+    Show the recorder buttons in the Conference Rooms
+    visible = yes
+    hidden = no
+ -->	
+<showRecording>hidden</showRecording>
+
+<!--
+    
+	To enable the modern whiteboard Panel you need to switch this to y
+    old menu bar is not active any more
+    
+<showmodernWhiteBoard>y</showmodernWhiteBoard>    
+ -->    
+	
+<!--
+	First day in the Week used by the Calendar
+	0 means Sunday
+	1 means Monday
+	this is the way how the calendar UI shows a week
+-->
+<firstdayinweek>0</firstdayinweek>	
+    
+    
+<!--
+    #############################################################################
+    Audio and Video Settings
+    Before you change settings here,
+    you should first Play and learn how the Settings work in the Documentation:
+    http://code.google.com/p/openmeetings/wiki/AudioVideoTestingApplication
+    #############################################################################
+ -->
+    
+<!-- Camera Settings for the FramesPerSecond
+    
+    fps:Number [optional] - The requested rate at which the camera should capture 
+    data, in frames per second. The default value is 15.
+ -->    
+<framesPerSecond>30</framesPerSecond>
+    
+    
+<!-- Camera Settings for the Bandwidth:
+    
+    bandwidth:Number [optional] - An integer that specifies the maximum amount 
+    of bandwidth that the current outgoing video feed can use, in bytes per second. 
+    To specify that Flash video can use as much bandwidth as needed to maintain 
+    the value of frameQuality, pass 0 for bandwidth. The default value is 16384.
+ -->
+<!-- These are the settings for the Quality-Modus *normal*
+    The Quality-Modus can be chosen in the Login-Box --> 
+<bandwidthNeededNormal>16384</bandwidthNeededNormal>    
+<!-- These are the settings for the Quality-Modus *best* -->    
+<bandwidthNeededBest>0</bandwidthNeededBest>
+    
+    
+<!-- Camera Settings for the Quality
+    
+    quality:Number [optional] - An integer that specifies the required level of 
+    picture quality, as determined by the amount of compression being applied to 
+    each video frame. Acceptable values range from 1 (lowest quality, maximum 
+    compression) to 100 (highest quality, no compression). To specify that picture 
+    quality can vary as needed to avoid exceeding bandwidth, pass 0 for quality. 
+    The default value is 0.
+ --> 
+<!-- These are the settings for the Quality-Modus *normal* -->  
+<camQualityNormal>85</camQualityNormal>     
+<!-- These are the settings for the Quality-Modus *best* -->       
+<camQualityBest>90</camQualityBest> 
+    
+    
+<!-- Microphone Settings for the Rate:
+    
+    rate:Number - 
+    The rate at which the microphone should capture sound, in kHz. 
+    Acceptable values are 5, 8, 11, 22, and 44. 
+    The default value is 8 kHz if your sound capture 
+    device supports this value. Otherwise, the default value 
+    is the next available capture level above 8 kHz that your sound 
+    capture device supports, usually 11 kHz.
+ -->
+<!-- Quality-Modus *normal* -->
+<microphoneRateNormal>22</microphoneRateNormal>
+<!-- Microphone Settings Quality-Modus *best* -->
+<!-- TODO: red5sip support only 8 -->
+<microphoneRateBest>44</microphoneRateBest>
+
+<!--
+    The Size of the Whiteboard
+    The Whiteboard has scrollbars so you may increase the size without problems
+ -->
+<defaultWhiteboardWidth>2400</defaultWhiteboardWidth>  
+<defaultWhiteboardHeight>1200</defaultWhiteboardHeight>  
+
+<!-- Available Configurations -->
+
+<availableCameraResolutions>
+    <resolution type="4:3 (~6 KByte/sec)" width="40" height="30" isDefault="false" />
+    <resolution type="4:3 (~12 KByte/sec)" width="80" height="60" isDefault="false" />
+    <resolution type="4:3 (~20 KByte/sec)" width="120" height="90" isDefault="true" />
+    <resolution type="QQVGA 4:3 (~36 KByte/sec)" width="160" height="120" isDefault="false" />
+    <resolution type="4:3 (~40 KByte/sec)" width="240" height="180" isDefault="false" />
+    <resolution type="HVGA 4:3 (~56 KByte/sec)" width="320" height="240" isDefault="false" />
+    <resolution type="4:3  (~60 KByte/sec)" width="480" height="360" isDefault="false" />
+    <resolution type="4:3 (~68 KByte/sec)" width="640" height="480" isDefault="false" />
+    <resolution type="XGA 4:3" width="1024" height="768" isDefault="false" />
+    <resolution type="16:9" width="256" height="150" isDefault="false" />
+    <resolution type="WQVGA 9:5" width="432" height="240" isDefault="false" />
+    <resolution type="pseudo 16:9" width="480" height="234" isDefault="false" />
+    <resolution type="16:9" width="512" height="300" isDefault="false" />
+    <resolution type="nHD 16:9" width="640" height="360" isDefault="false" />
+    <resolution type="16:9" width="1024" height="600" isDefault="false" />
+</availableCameraResolutions>
+    
+ 
+<!-- Module Configuration -->
+<!-- #############################################
+    Admin Modules
+  -->   
+    
+<adminModuleUser>userAdmin</adminModuleUser>
+
+<adminModuleRoom>roomAdmin</adminModuleRoom>
+
+<adminModuleOrg>orgAdmin</adminModuleOrg>
+
+<adminModuleLanguages>languagesEditor</adminModuleLanguages>
+
+<adminModuleConnections>roomClient</adminModuleConnections>
+
+<adminModuleConfiguration>confAdmin</adminModuleConfiguration>
+
+<adminModuleBackup>backupContent</adminModuleBackup>
+
+<adminModuleLDAP>ldapAdmin</adminModuleLDAP>
+
+<!-- #############################################
+    Moderator Modules
+ -->
+
+<moderatorModuleUser>userModerate</moderatorModuleUser>
+
+<moderatorModuleRoom>roomModerate</moderatorModuleRoom>
+
+
+<!-- #############################################
+    Dashboard Modules
+ -->
+
+<dashboardModuleStartScreen>mainDashboard</dashboardModuleStartScreen>
+
+<dashboardModuleCalendar>lzCalendar</dashboardModuleCalendar>
+
+
+<!-- Conference Room Modules -->
+
+<conferenceModuleRoomList>allmeetings</conferenceModuleRoomList>
+
+
+<!-- #############################################
+    Conference Room
+    
+    Room Layout's: flexibleConferenceRoom,conferenceView
+ -->
+
+<conferenceRoomModule>flexibleConferenceRoom</conferenceRoomModule>
+
+<!-- #############################################
+    Event Room
+    
+    Room Layouts: flexibleRestrictedConferenceRoom,restrictedConferenceRoom
+ -->
+<restrictedRoomModule>restrictedConferenceRoom</restrictedRoomModule>
+
+<!-- #############################################
+    Interview Room
+    
+    Room Layouts: interviewConferenceRoom
+ -->
+<interviewRoomModule>interviewConferenceRoom</interviewRoomModule>
+
+<!-- #############################################
+    Event Room Modules
+ -->
+
+<recordModule>lzRecordContent</recordModule>
+
+<!-- #############################################
+    Profiles Panel Modules
+ -->
+
+<userSettingsModule>userSettings</userSettingsModule>
+        
+</config>
diff --git a/WebContent/openmeetings/default-theme.xml b/WebContent/openmeetings/default-theme.xml
new file mode 100644
index 0000000..d181407
--- /dev/null
+++ b/WebContent/openmeetings/default-theme.xml
@@ -0,0 +1,322 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+    xsi:noNamespaceSchemaLocation="theme.xsd">

+

+	<!-- Colors -->

+

+	<color name="mainBackgroundColor" value="0xEEF0EB" 

+				description="main background color" />

+

+	<color name="basebgcolorizer" value="0xBDC0DB" 

+				description="Color for background" />

+				

+	<color name="baseMousecolorizer" value="0xBDC0DB" 

+				description="Color Mouseover color for list items" />

+	

+	<color name="baseMouseOvercolorizer" value="0xBDC0DB" 

+				description="Color Mouseover color for list items" />	

+	

+	<color name="styleMenuBarBaseColor" value="0x000088" 

+				description="menu bar background color" />				

+	

+	<color name="mainBorderColor" value="0xCCCCCC" 

+				description="main border color" />

+				

+	<color name="secondBorderColor" value="0xE0E0E0" 

+				description="main border color" />	

+		

+	<color name="menuBackgroundColor" value="0xEFEFEF" 

+				description="main border color" />

+				

+	<color name="menuTextColor" value="0x666666" 

+				description="color of text for menus" />

+	

+	<color name="menuTextDisabledColor" value="0xBBBBBB" 

+				description="color of text for menus" />		

+	

+	<!-- Icons -->

+	

+	<resource name="icon_facebook_rsc_png" 

+				description="Icon for facebook button in login" 

+				license="Unkown"

+				src="public/themes/basic-theme/auth/icon_facebook.png" />

+				

+	<resource name="warning_popup_icon_rsc" 

+				description="Toolbar Icon" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/general/error.png" />	

+				

+	<resource name="info_text_icon_rsc" 

+				description="Info Icon" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/general/information.png" />

+	

+	<!-- Save Toolbar (for example Admin section) -->

+	

+	<resource name="filesave_rsc" 

+				description="Save Icon" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/general/disk.png" />

+

+	<resource name="edit_add_rsc" 

+				description="Save Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/general/plus_icon.png" />

+

+	<resource name="reload_rsc" 

+				description="Save Icon" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/general/arrow_refresh_small.png" />

+	

+	<resource name="button_cancel_rsc" 

+				description="Save Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/general/cancel_icon.png" />

+

+	<resource name="add_rsc" 

+				description="Edit Add Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/general/add.png" />

+				

+	<resource name="date_icon_rsc" 

+				description="Edit Add Icon" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/general/calendar_view_week.png" />

+				

+	<!-- Sorted list -->

+	

+	<resource name="step_back_two_arrow" 

+				description="Step to first" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/general/resultset_first.png" />

+				

+	<resource name="step_fwd_two_arrow" 

+				description="Step to last" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/general/resultset_last.png" />

+						

+    <resource name="step_back_arrow" 

+    			description="Step one back" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/general/resultset_previous.png" />

+    

+    <resource name="step_fwd_arrow" 

+    			description="Step one next" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/general/resultset_next.png" />

+				

+    <resource name="sort_up_rsc" 

+    			description="Sort up" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/general/resultset_up.png" />

+    

+    <resource name="sort_down_rsc" 

+    			description="Sort down" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/general/resultset_down.png" />

+				

+	<!-- Whiteboard Toolbar -->

+	

+	<resource name="plain" 

+				description="Toolbar Icon" 

+				license="APL author sebawagner"

+				src="public/themes/basic-theme/whiteboard/delete_all.png" />

+	

+	<resource name="plainSlides" 

+				description="Toolbar Icon" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/whiteboard/page_delete.png" />

+	

+	<resource name="arrow_draw_panel_tool_cursor" 

+				description="Toolbar Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/whiteboard/arrow_cursor_tool.png" />

+

+	<resource name="saveobj" 

+				description="Toolbar Icon" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/general/disk.png" />

+

+	<resource name="revert" 

+				description="Toolbar Icon" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/whiteboard/arrow_rotate_anticlockwise.png" />

+

+	<resource name="next" 

+				description="Toolbar Icon" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/whiteboard/arrow_rotate_clockwise.png" />

+

+	<resource name="menupointer_rsc" 

+				description="Toolbar Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/whiteboard/menupointer.png" />

+				

+	<resource name="pointer_whiteboard_menu_rsc" 

+				description="Toolbar Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/whiteboard/pointerWhiteBoard_menu_rsc.png" />

+				

+	<resource name="letter" 

+				description="Toolbar Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/whiteboard/letter.png" />

+

+	<resource name="paint" 

+				description="Toolbar Icon" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/whiteboard/pencil.png" />

+	

+	<resource name="line_rsc" 

+				description="Toolbar Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/whiteboard/line.png" />	

+	

+	<resource name="uline_rsc" 

+				description="Toolbar Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/whiteboard/uline.png" />	

+		

+	<resource name="rectangle" 

+				description="Toolbar Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/whiteboard/rectangle.png" />	

+

+	<resource name="ellipse" 

+				description="Toolbar Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/whiteboard/ellipse.png" />	

+				

+	<resource name="drawarrowicon_rsc" 

+				description="Toolbar Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/whiteboard/drawarrowicon.png" />			

+		

+	<!-- whiteboard general -->		

+				

+	<resource name="bounding_box_delete_item_rsc" 

+				description="Toolbar Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/general/cancel_icon_small.png" />	

+	

+	<resource name="bounding_box_textedit_item_rsc" 

+				description="Toolbar Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/whiteboard/text_signature.png" />				

+					

+	<!-- document Tools -->	

+	

+	<resource name="doc_next" 

+				description="Toolbar Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/whiteboard/doc_next.png" />		

+				

+	<resource name="doc_pre" 

+				description="Toolbar Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/whiteboard/doc_pre.png" />		

+				

+	<resource name="doc_first" 

+				description="Toolbar Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/whiteboard/doc_first.png" />		

+				

+	<resource name="doc_last" 

+				description="Toolbar Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/whiteboard/doc_last.png" />		

+				

+	<!-- property panel -->	

+	<resource name="colorlinechoose_rsc" 

+				description="Property bar icon line color" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/whiteboard/pencil.png" />

+	

+	<resource name="colorfillchoose_rsc" 

+				description="Property bar icon fill color" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/whiteboard/paintcan.png" />

+	

+	<resource name="color_lock_rsc" 

+				description="Property bar icon color lock" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/whiteboard/lock.png" />

+	

+	<resource name="color_lock_open_rsc" 

+				description="Property bar icon color lock open" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/whiteboard/lock_open.png" />	

+				

+	<!-- Dashboard -->

+	

+	<resource name="icon_btn_dashboard_1" 

+				description="Info Guide Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/dashboard/wizzard_button_1.png" />

+				

+    <resource name="icon_btn_dashboard_2" 

+    			description="Info Guide Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/dashboard/wizzard_button_2.png" />

+				

+    <resource name="icon_btn_dashboard_3" 

+    			description="Info Guide Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/dashboard/wizzard_button_3.png" />

+				

+    <resource name="icon_btn_dashboard_4" 

+    			description="Info Guide Icon" 

+				license="APL Author sebawagner"

+				src="public/themes/basic-theme/dashboard/wizzard_button_4.png" />

+	

+	<resource name="icon_btn_rss_conference" 

+    			description="RSS Tab Icon" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/dashboard/feed.png" />

+	

+	<resource name="icon_btn_chat_dashboard" 

+				description="Chat Tab Icon" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/dashboard/comments.png" />

+	

+    <resource name="icon_btn_rooms_conference" 

+				description="Conference Room Tab Icon" 

+				license="APL author sebawagner"

+				src="public/themes/basic-theme/dashboard/conference_icon_normal.png" />	

+				

+	<!-- Conference room -->	

+	<resource name="users_tab_btn" 

+				description="Conference Room Tab User" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/conference/group.png" />

+		

+	<resource name="files_tab_btn" 

+				description="Conference Room Tab Files" 

+				license="FamFam Icon Set"

+				src="public/themes/basic-theme/conference/folder_explore.png" />

+	

+	<resource name="exit_btn_rsc" 

+				description="Conference Room Tab Icon" 

+				license="APL author sebawagner"

+				src="public/themes/basic-theme/conference/exit_button.png" />			

+	

+</theme>
\ No newline at end of file
diff --git a/WebContent/openmeetings/default/_big_profile_pic.jpg b/WebContent/openmeetings/default/_big_profile_pic.jpg
new file mode 100644
index 0000000..07a1286
--- /dev/null
+++ b/WebContent/openmeetings/default/_big_profile_pic.jpg
Binary files differ
diff --git a/WebContent/openmeetings/default/_chat_profile_pic.jpg b/WebContent/openmeetings/default/_chat_profile_pic.jpg
new file mode 100644
index 0000000..15df4e5
--- /dev/null
+++ b/WebContent/openmeetings/default/_chat_profile_pic.jpg
Binary files differ
diff --git a/WebContent/openmeetings/default/_profile_profile_pic.jpg b/WebContent/openmeetings/default/_profile_profile_pic.jpg
new file mode 100644
index 0000000..3b63f01
--- /dev/null
+++ b/WebContent/openmeetings/default/_profile_profile_pic.jpg
Binary files differ
diff --git a/WebContent/openmeetings/default/_thumb_deleted.jpg b/WebContent/openmeetings/default/_thumb_deleted.jpg
new file mode 100644
index 0000000..18f0895
--- /dev/null
+++ b/WebContent/openmeetings/default/_thumb_deleted.jpg
Binary files differ
diff --git a/WebContent/openmeetings/default/deleted.jpg b/WebContent/openmeetings/default/deleted.jpg
new file mode 100644
index 0000000..932c9bd
--- /dev/null
+++ b/WebContent/openmeetings/default/deleted.jpg
Binary files differ
diff --git a/WebContent/openmeetings/default/deleted.odp b/WebContent/openmeetings/default/deleted.odp
new file mode 100644
index 0000000..892044c
--- /dev/null
+++ b/WebContent/openmeetings/default/deleted.odp
Binary files differ
diff --git a/WebContent/openmeetings/default/deleted.pdf b/WebContent/openmeetings/default/deleted.pdf
new file mode 100644
index 0000000..85ef078
--- /dev/null
+++ b/WebContent/openmeetings/default/deleted.pdf
Binary files differ
diff --git a/WebContent/openmeetings/default/deleted.swf b/WebContent/openmeetings/default/deleted.swf
new file mode 100644
index 0000000..061df24
--- /dev/null
+++ b/WebContent/openmeetings/default/deleted.swf
Binary files differ
diff --git a/WebContent/openmeetings/default/deleted.xcf b/WebContent/openmeetings/default/deleted.xcf
new file mode 100644
index 0000000..67b2f85
--- /dev/null
+++ b/WebContent/openmeetings/default/deleted.xcf
Binary files differ
diff --git a/WebContent/openmeetings/default/profile_pic.jpg b/WebContent/openmeetings/default/profile_pic.jpg
new file mode 100644
index 0000000..3b63f01
--- /dev/null
+++ b/WebContent/openmeetings/default/profile_pic.jpg
Binary files differ
diff --git a/WebContent/openmeetings/embed-compressed.js b/WebContent/openmeetings/embed-compressed.js
new file mode 100644
index 0000000..9dc2ec2
--- /dev/null
+++ b/WebContent/openmeetings/embed-compressed.js
@@ -0,0 +1,879 @@
+var $dhtml=true;var $as3=false;var $js1=true;var $swf7=false;var $swf8=false;var $svg=false;var $as2=false;var $swf9=false;var $profile=false;var $runtime="dhtml";var $swf10=false;var $debug=false;var $j2me=false;try{

+if(lz){

+

+}}

+catch(e){

+lz={}};lz.embed={options:{},swf:function($1,$2){

+if($2==null){

+$2=8

+};var $3=$1.url;var $4=this.__getqueryurl($3);if($1.accessible&&$1.accessible!="false"){

+$4.flashvars+="&accessible=true"

+};if($1.history){

+$4.flashvars+="&history=true"

+};if($1.bgcolor!=null){

+$4.flashvars+="&bgcolor="+escape($1.bgcolor)

+};$4.flashvars+="&width="+escape($1.width);$4.flashvars+="&height="+escape($1.height);$4.flashvars+="&__lzurl="+escape($3);$4.flashvars+="&__lzminimumversion="+escape($2);$4.flashvars+="&id="+escape($1.id);var $3=$4.url+"?"+$4.query;var $5={width:$1.width+"",height:$1.height+"",id:$1.id,bgcolor:$1.bgcolor,wmode:$1.wmode,flashvars:$4.flashvars,allowfullscreen:$1.allowfullscreen,flash8:$3,appenddiv:lz.embed._getAppendDiv($1.id,$1.appenddivid)};if(lz.embed[$1.id]){

+alert("Warning: an app with the id: "+$1.id+" already exists.")

+};var app=lz.embed[$1.id]=lz.embed.applications[$1.id]={runtime:"swf",_id:$1.id,setCanvasAttribute:lz.embed._setCanvasAttributeSWF,getCanvasAttribute:lz.embed._getCanvasAttributeSWF,callMethod:lz.embed._callMethodSWF,_ready:lz.embed._ready,_onload:[],_getSWFDiv:lz.embed._getSWFDiv,loaded:false,_sendMouseWheel:lz.embed._sendMouseWheel,_sendAllKeysUp:lz.embed._sendAllKeysUpSWF,_setCanvasAttributeDequeue:lz.embed._setCanvasAttributeDequeue,_sendPercLoad:lz.embed._sendPercLoad};if($1.history==false){

+lz.embed.history.active=false

+};lz.embed.dojo.addLoadedListener(lz.embed._loaded,app);lz.embed.dojo.setSwf($5,$2);if($1.cancelmousewheel!=true&&(lz.embed.browser.OS=="Mac"||($5.wmode=="transparent"||$5.wmode=="opaque")&&lz.embed.browser.OS=="Windows"&&(lz.embed.browser.isOpera||lz.embed.browser.isFirefox))){

+if(lz.embed["mousewheel"]){

+lz.embed.mousewheel.setCallback(app,"_sendMouseWheel")

+}};if(($5.wmode=="transparent"||$5.wmode=="opaque")&&lz.embed.browser.OS=="Windows"&&(lz.embed.browser.isOpera||lz.embed.browser.isFirefox)){

+var div=$5.appenddiv;div.onmouseout=function($1){

+div.mouseisoutside=true

+};div.onmouseover=function($1){

+div.mouseisoutside=false

+};div._gotmouseup=document.onmouseup=function($1){

+if(div.mouseisoutside){

+app.callMethod("LzMouseKernel.__mouseUpOutsideHandler()")

+}}}},lfc:function($1,$2){

+if($2==""){

+$2="."

+}else{

+if(!$2||typeof $2!="string"){

+alert("WARNING: lz.embed.lfc() requires a valid serverroot to be specified.");return

+}};lz.embed.options.serverroot=$2;if(lz.embed.browser.isIE){

+var $3=$2+"lps/includes/excanvas.js";this.__dhtmlLoadScript($3)

+};if(lz.embed.browser.isIE&&lz.embed.browser.version<7||lz.embed.browser.isSafari&&lz.embed.browser.version<=419.3){

+var $4=$1.indexOf("debug.js")||$1.indexOf("backtrace.js");if($4!=-1){

+var $5=$1.substring($4,$1.length-3);$1=$1.substring(0,$4)+$5+"-simple.js"

+}};this.__dhtmlLoadScript($1)

+},dhtml:function($1){

+var $2=this.__getqueryurl($1.url,true);var $3=$2.url+"?lzt=object&"+$2.query;lz.embed.__propcache={bgcolor:$1.bgcolor,width:$1.width.indexOf("%")==-1?$1.width+"px":$1.width,height:$1.height.indexOf("%")==-1?$1.height+"px":$1.height,id:$1.id,appenddiv:lz.embed._getAppendDiv($1.id,$1.appenddivid),url:$3,cancelkeyboardcontrol:$1.cancelkeyboardcontrol,serverroot:$1.serverroot,approot:$1.approot!=null?$1.approot:""};if(lz.embed[$1.id]){

+alert("Warning: an app with the id: "+$1.id+" already exists.")

+};var $4=lz.embed[$1.id]=lz.embed.applications[$1.id]={runtime:"dhtml",_id:$1.id,_ready:lz.embed._ready,_onload:[],loaded:false,setCanvasAttribute:lz.embed._setCanvasAttributeDHTML,getCanvasAttribute:lz.embed._getCanvasAttributeDHTML,_sendAllKeysUp:lz.embed._sendAllKeysUpDHTML};if($1.history==false){

+lz.embed.history.active=false

+};this.__dhtmlLoadScript($3);if(lz.embed.browser.OS=="Windows"&&lz.embed.browser.isFirefox){

+window.focus()

+}},applications:{},__dhtmlLoadScript:function($1){

+var $2='<script type="text/javascript" language="JavaScript1.5" src="'+$1+'"></script>';document.writeln($2);return $2

+},__dhtmlLoadLibrary:function($1){

+var $2=document.createElement("script");this.__setAttr($2,"type","text/javascript");this.__setAttr($2,"src",$1);document.getElementsByTagName("head")[0].appendChild($2);return $2

+},__getqueryurl:function($1,$2){

+var $3=$1.split("?");$1=$3[0];if($3.length==1){

+return {url:$1,flashvars:"",query:""}};var $4=this.__parseQuery($3[1]);var $5="";var $6="";var $7=new RegExp("\\+","g");for(var $8 in $4){

+if($8==""||$8==null){

+continue

+};var $9=$4[$8];if($8=="lzr"||$8=="lzt"||$8=="debug"||$8=="profile"||$8=="lzbacktrace"||$8=="lzconsoledebug"||$8=="lzdebug"||$8=="lzkrank"||$8=="lzprofile"||$8=="lzcopyresources"||$8=="fb"||$8=="sourcelocators"||$8=="_canvas_debug"||$8=="lzsourceannotations"){

+$5+=$8+"="+$9+"&"

+};if($2){

+if(window[$8]==null){

+window[$8]=unescape($9.replace($7," "))

+}};$6+=$8+"="+$9+"&"

+};$5=$5.substr(0,$5.length-1);$6=$6.substr(0,$6.length-1);return {url:$1,flashvars:$6,query:$5}},__parseQuery:function($1){

+if($1.indexOf("=")==-1){

+return

+};var $2=$1.split("&");var $3={};for(var $4=0;$4<$2.length;$4++){

+var $5=$2[$4].split("=");if($5.length==1){

+continue

+};var $6=$5[0];var $7=$5[1];$3[$6]=$7

+};return $3

+},__setAttr:function($1,$2,$3){

+$1.setAttribute($2,$3)

+},_setCanvasAttributeSWF:function($1,$2,$3){

+if(this.loaded&&lz.embed.dojo.comm[this._id]&&lz.embed.dojo.comm[this._id]["callMethod"]){

+if($3){

+lz.embed.history._store($1,$2)

+}else{

+lz.embed.dojo.comm[this._id].setCanvasAttribute($1,$2+"")

+}}else{

+if(this._setCanvasAttributeQ==null){

+this._setCanvasAttributeQ=[[$1,$2,$3]]

+}else{

+this._setCanvasAttributeQ.push([$1,$2,$3])

+}}},_setCanvasAttributeDHTML:function($1,$2,$3){

+if($3){

+lz.embed.history._store($1,$2)

+}else{

+if(canvas){

+if(!canvas.__LZdeleted){

+var $lzsc$102169433="$lzc$set_"+$1;if(Function["$lzsc$isa"]?Function.$lzsc$isa(canvas[$lzsc$102169433]):canvas[$lzsc$102169433] instanceof Function){

+canvas[$lzsc$102169433]($2)

+}else{

+canvas[$1]=$2;var $lzsc$1997357926=canvas["on"+$1];if(LzEvent["$lzsc$isa"]?LzEvent.$lzsc$isa($lzsc$1997357926):$lzsc$1997357926 instanceof LzEvent){

+if($lzsc$1997357926.ready){

+$lzsc$1997357926.sendEvent($2)

+}}}}}}},_loaded:function($1){

+if(lz.embed[$1].loaded){

+return

+};if(lz.embed.dojo.info.commVersion==8){

+setTimeout('lz.embed["'+$1+'"]._ready.call(lz.embed["'+$1+'"])',100)

+}else{

+lz.embed[$1]._ready.call(lz.embed[$1])

+}},_setCanvasAttributeDequeue:function(){

+while(this._setCanvasAttributeQ.length>0){

+var $1=this._setCanvasAttributeQ.pop();this.setCanvasAttribute($1[0],$1[1],$1[2])

+}},_ready:function($1){

+this.loaded=true;if(this._callmethod){

+for(var $2=0;$2<this._callmethod.length;$2++){

+this.callMethod(this._callmethod[$2])

+};this._callmethod=null

+};if(this._setCanvasAttributeQ){

+this._setCanvasAttributeDequeue()

+};if($1){

+this.canvas=$1

+};for(var $2=0;$2<this._onload.length;$2++){

+var $3=this._onload[$2];if(typeof $3=="function"){

+$3(this)

+}};if(this.onload&&typeof this.onload=="function"){

+this.onload(this)

+}},_getCanvasAttributeSWF:function($1){

+if(this.loaded){

+return lz.embed.dojo.comm[this._id].getCanvasAttribute($1)

+}else{

+alert("Flash is not ready: getCanvasAttribute"+$1)

+}},_getCanvasAttributeDHTML:function($1){

+return canvas[$1]

+},browser:{init:function(){

+if(this.initted){

+return

+};this.browser=this.searchString(this.dataBrowser)||"An unknown browser";this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version";this.osversion=this.searchOSVersion(navigator.userAgent)||"an unknown osversion";this.subversion=this.searchSubVersion(navigator.userAgent);this.OS=this.searchString(this.dataOS)||"an unknown OS";this.initted=true;this.isNetscape=this.isSafari=this.isOpera=this.isFirefox=this.isIE=this.isIphone=false;if(this.browser=="Netscape"){

+this.isNetscape=true

+}else{

+if(this.browser=="Safari"){

+this.isSafari=true

+}else{

+if(this.browser=="Opera"){

+this.isOpera=true

+}else{

+if(this.browser=="Firefox"){

+this.isFirefox=true

+}else{

+if(this.browser=="Explorer"){

+this.isIE=true

+}else{

+if(this.browser=="iPhone"){

+this.isSafari=true;this.isIphone=true

+}}}}}}},searchString:function($1){

+for(var $2=0;$2<$1.length;$2++){

+var $3=$1[$2].string;var $4=$1[$2].prop;this.versionSearchString=$1[$2].versionSearch||$1[$2].identity;this.osversionSearchString=$1[$2].osversionSearch||"";if($3){

+if($3.indexOf($1[$2].subString)!=-1){

+return $1[$2].identity

+}}else{

+if($4){

+return $1[$2].identity

+}}}},searchVersion:function($1){

+var $2=$1.indexOf(this.versionSearchString);if($2==-1){

+return

+};return parseFloat($1.substring($2+this.versionSearchString.length+1))

+},searchSubVersion:function($1){

+var $2=new RegExp(this.versionSearchString+".\\d+\\.\\d+\\.([\\d.]+)");var $3=$2.exec($1);if($3&&$3.length>1){

+return parseFloat($3[1])

+}},searchOSVersion:function($1){

+var $2=$1.indexOf(this.osversionSearchString);if($2==-1){

+return

+};return parseFloat($1.substring($2+this.osversionSearchString.length+1))

+},dataBrowser:[{string:navigator.userAgent,subString:"iPhone",identity:"iPhone",versionSearch:"WebKit"},{string:navigator.userAgent,subString:"Chrome",identity:"Chrome"},{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari",versionSearch:"WebKit"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.userAgent,subString:"Iceweasel",versionSearch:"Iceweasel",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE",osversionSearch:"Windows NT"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}],dataOS:[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.userAgent,subString:"iPhone",identity:"iPhone/iPod"},{string:navigator.platform,subString:"Linux",identity:"Linux"}]},_callMethodSWF:function($1){

+if(this.loaded){

+return lz.embed.dojo.comm[this._id].callMethod($1)

+}else{

+if(!this._callmethod){

+this._callmethod=[]

+};this._callmethod.push($1)

+}},_broadcastMethod:function($1){

+var $2=[].slice.call(arguments,1);for(var $3 in lz.embed.applications){

+var $4=lz.embed.applications[$3];if($4[$1]){

+$4[$1].apply($4,$2)

+}}},setCanvasAttribute:function($1,$2,$3){

+lz.embed._broadcastMethod("setCanvasAttribute",$1,$2,$3)

+},callMethod:function($1){

+lz.embed._broadcastMethod("callMethod",$1)

+},_getAppendDiv:function($1,$2){

+var $3=$2?$2:$1+"Container";var $4=document.getElementById($3);if(!$4){

+document.writeln('<div id="'+$3+'"></div>');$4=document.getElementById($3)

+};return $4

+},_getSWFDiv:function(){

+return lz.embed.dojo.obj[this._id].get()

+},_sendMouseWheel:function($1){

+if($1!=null){

+this.callMethod("lz.Keys.__mousewheelEvent("+$1+")")

+}},_gotFocus:function(){

+lz.embed._broadcastMethod("_sendAllKeysUp")

+},_sendAllKeysUpSWF:function(){

+this.callMethod("lz.Keys.__allKeysUp()")

+},_sendAllKeysUpDHTML:function(){

+if(lz["Keys"]&&lz.Keys["__allKeysUp"]){

+lz.Keys.__allKeysUp()

+}},_sendPercLoad:function($1){

+if(this.onloadstatus&&typeof this.onloadstatus=="function"){

+this.onloadstatus($1)

+}},attachEventHandler:function($1,$2,callbackscope,callbackname,closure){

+if(!(callbackscope&&callbackname&&typeof callbackscope[callbackname]=="function")){

+return

+};var $3=$1+$2+callbackscope+callbackname;var $4=this._handlers[$3];if($4!=null){

+if($4 instanceof Array){

+for(var $5=$4.length-1;$5>=0;--$5){

+if($4[$5].$e===$1&&$4[$5].$c===callbackscope){

+return

+}}}else{

+if($4.$e===$1&&$4.$c===callbackscope){

+return

+}}};var $6=function(){

+var $1=window.event?[window.event]:[].slice.call(arguments,0);if(closure){

+$1.push(closure)

+};callbackscope[callbackname].apply(callbackscope,$1)

+};$6.$e=$1;$6.$c=callbackscope;if($4!=null){

+if($4 instanceof Array){

+$4.push($6)

+}else{

+$4=[$4,$6]

+}}else{

+$4=$6

+};this._handlers[$3]=$4;if($1["addEventListener"]){

+$1.addEventListener($2,$6,false);return true

+}else{

+if($1["attachEvent"]){

+return $1.attachEvent("on"+$2,$6)

+}}},removeEventHandler:function($1,$2,$3,$4){

+var $5=$1+$2+$3+$4;var $6,$7=this._handlers[$5];if($7!=null){

+if($7 instanceof Array){

+for(var $8=$7.length-1;$8>=0;--$8){

+if($7[$8].$e===$1&&$7[$8].$c===$3){

+$6=$7[$8];$7.splice($8,1);if($7.length==0){

+delete this._handlers[$5]

+}}}}else{

+if($7.$e===$1&&$7.$c===$3){

+$6=$7;delete this._handlers[$5]

+}}};if(!$6){

+return

+};if($1["removeEventListener"]){

+$1.removeEventListener($2,$6,false);return true

+}else{

+if($1["detachEvent"]){

+return $1.detachEvent("on"+$2,$6)

+}}},_handlers:{},_cleanupHandlers:function(){

+lz.embed._handlers={}},getAbsolutePosition:function($1){

+var $2=null;var $3={};var $4;if(!(lz.embed.browser.isFirefox&&$1==document.body)&&$1.getBoundingClientRect){

+$4=$1.getBoundingClientRect();var $5=document.documentElement.scrollTop||document.body.scrollTop;var $6=document.documentElement.scrollLeft||document.body.scrollLeft;return {x:Math.floor($4.left+$6),y:Math.floor($4.top+$5)}}else{

+if(document.getBoxObjectFor){

+$4=document.getBoxObjectFor($1);$3={x:$4.x,y:$4.y}}else{

+$3={x:$1.offsetLeft,y:$1.offsetTop};$2=$1.offsetParent;if($2!=$1){

+while($2){

+$3.x+=$2.offsetLeft;$3.y+=$2.offsetTop;$2=$2.offsetParent

+}};if(lz.embed.browser.isSafari&&document.defaultView&&document.defaultView.getComputedStyle){

+var $7=document.defaultView.getComputedStyle($1,"")

+};if(lz.embed.browser.isOpera||lz.embed.browser.isSafari&&$7&&$7["position"]=="absolute"){

+$3.y-=document.body.offsetTop

+}}};if($1.parentNode){

+$2=$1.parentNode

+}else{

+return $3

+};while($2&&$2.tagName!="BODY"&&$2.tagName!="HTML"){

+$3.x-=$2.scrollLeft;$3.y-=$2.scrollTop;if($2.parentNode){

+$2=$2.parentNode

+}else{

+return $3

+}};return $3

+}};lz.embed.browser.init();lz.embed.attachEventHandler(window,"beforeunload",lz.embed,"_cleanupHandlers");lz.embed.attachEventHandler(window,"focus",lz.embed,"_gotFocus");if(lz.embed.browser.isIE){

+lz.embed.attachEventHandler(window,"activate",lz.embed,"_gotFocus")

+};try{

+if(lzOptions){

+if(lzOptions.dhtmlKeyboardControl){

+alert("WARNING: this page uses lzOptions.dhtmlKeyboardControl.  Please use the cancelkeyboardcontrol embed argument for lz.embed.dhtml() instead.")

+};if(lzOptions.ServerRoot){

+alert("WARNING: this page uses lzOptions.ServerRoot.  Please use the second argument of lz.embed.lfc() instead.")

+}}}

+catch(e){

+

+};lz.embed.dojo=function(){

+

+};lz.embed.dojo={defaults:{flash8:null,ready:false,visible:true,width:500,height:400,bgcolor:"#ffffff",allowfullscreen:false,wmode:"window",flashvars:"",minimumVersion:8,id:"flashObject",appenddiv:null},obj:{},comm:{},_loadedListeners:[],_loadedListenerScopes:[],_installingListeners:[],_installingListenerScopes:[],setSwf:function($1,$2){

+if($1==null){

+return

+};var $3={};for(var $4 in this.defaults){

+var $5=$1[$4];if($5!=null){

+$3[$4]=$5

+}else{

+$3[$4]=this.defaults[$4]

+}};if($2!=null){

+this.minimumVersion=$2

+};this._initialize($3)

+},addLoadedListener:function($1,$2){

+this._loadedListeners.push($1);this._loadedListenerScopes.push($2)

+},addInstallingListener:function($1,$2){

+this._installingListeners.push($1);this._installingListenerScopes.push($2)

+},loaded:function($1){

+var $2=lz.embed.dojo;if($2._isinstaller){

+top.location=top.location+""

+};$2.info.installing=false;$2.ready=true;if($2._loadedListeners.length>0){

+for(var $3=0;$3<$2._loadedListeners.length;$3++){

+var $4=$2._loadedListenerScopes[$3];if($1!=$4._id){

+continue

+};lz.embed.dojo._loadedListeners[$3].apply($4,[$4._id])

+}}},installing:function(){

+var $1=lz.embed.dojo;if($1._installingListeners.length>0){

+for(var $2=0;$2<$1._installingListeners.length;$2++){

+var $3=$1._installingListenerScopes[$2];$1._installingListeners[$2].apply($3,[$3._id])

+}}},_initialize:function($1){

+var $2=lz.embed.dojo;var $3=new ($2.Install)($1.id);$2.installer=$3;var $4=new ($2.Embed)($1);$2.obj[$1.id]=$4;if($3.needed()==true){

+$3.install()

+}else{

+$4.write($2.info.commVersion);$2.comm[$1.id]=new ($2.Communicator)($1.id)

+}}};lz.embed.dojo.Info=function(){

+if(lz.embed.browser.isIE){

+document.writeln('<script language="VBScript" type="text/vbscript">');document.writeln("Function VBGetSwfVer(i)");document.writeln("  on error resume next");document.writeln("  Dim swControl, swVersion");document.writeln("  swVersion = 0");document.writeln('  set swControl = CreateObject("ShockwaveFlash.ShockwaveFlash." + CStr(i))');document.writeln("  if (IsObject(swControl)) then");document.writeln('    swVersion = swControl.GetVariable("$version")');document.writeln("  end if");document.writeln("  VBGetSwfVer = swVersion");document.writeln("End Function");document.writeln("</script>")

+};this._detectVersion();this._detectCommunicationVersion()

+};lz.embed.dojo.Info.prototype={version:-1,versionMajor:-1,versionMinor:-1,versionRevision:-1,capable:false,commVersion:8,installing:false,isVersionOrAbove:function($1,$2,$3){

+$3=parseFloat("."+$3);if(this.versionMajor>=$1&&this.versionMinor>=$2&&this.versionRevision>=$3){

+return true

+}else{

+return false

+}},_detectVersion:function(){

+var $1;var $2=lz.embed.browser.isIE;for(var $3=25;$3>0;$3--){

+if($2){

+$1=VBGetSwfVer($3)

+}else{

+$1=this._JSFlashInfo($3)

+};if($1==-1){

+this.capable=false;return

+}else{

+if($1!=0){

+var $4;if($2){

+var $5=$1.split(" ");var $6=$5[1];$4=$6.split(",")

+}else{

+$4=$1.split(".")

+};this.versionMajor=$4[0];this.versionMinor=$4[1];this.versionRevision=$4[2];var $7=this.versionMajor+"."+this.versionRevision;this.version=parseFloat($7);this.capable=true;break

+}}}},_JSFlashInfo:function($1){

+if(navigator.plugins!=null&&navigator.plugins.length>0){

+if(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]){

+var $2=navigator.plugins["Shockwave Flash 2.0"]?" 2.0":"";var $3=navigator.plugins["Shockwave Flash"+$2].description;var $4=$3.split(" ");var $5=$4[2].split(".");var $6=$5[0];var $7=$5[1];if($4[3]!=""){

+var $8=$4[3].split("r")

+}else{

+var $8=$4[4].split("r")

+};var $9=$8[1]>0?$8[1]:0;var $10=$6+"."+$7+"."+$9;return $10

+}};return -1

+},_detectCommunicationVersion:function(){

+if(this.capable==false){

+this.commVersion=null;return

+}}};lz.embed.dojo.Embed=function($1){

+this.properties=$1;if(!this.properties.width){

+this.properties.width="100%"

+};if(!this.properties.height){

+this.properties.height="100%"

+};if(!this.properties.bgcolor){

+this.properties.bgcolor="#ffffff"

+};if(!this.properties.visible){

+this.properties.visible=true

+}};lz.embed.dojo.Embed.prototype={protocol:function(){

+switch(window.location.protocol){

+case "https:":

+return "https";break;

+default:

+return "http";break;

+

+}},__getCSSValue:function($1){

+if($1&&$1.length&&$1.indexOf("%")!=-1){

+return "100%"

+}else{

+return $1+"px"

+}},write:function($1,$2){

+var $3="";$3+="width: "+this.__getCSSValue(this.properties.width)+";";$3+="height: "+this.__getCSSValue(this.properties.height)+";";if(this.properties.visible==false){

+$3+="position: absolute; ";$3+="z-index: 10000; ";$3+="top: -1000px; ";$3+="left: -1000px; "

+};var $4;var $5;var $6=lz.embed;if($1>$6.dojo.version){

+$2=true

+};$5=this.properties.flash8;var $7=this.properties.flashvars;var $8=this.properties.flashvars;if($2){

+var $9=escape(window.location);document.title=document.title.slice(0,47)+" - Flash Player Installation";var $10=escape(document.title);$7+="&MMredirectURL="+$9+"&MMplayerType=ActiveX"+"&MMdoctitle="+$10;$8+="&MMredirectURL="+$9+"&MMplayerType=PlugIn"

+};if($6.browser.isIE){

+$4='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" '+'codebase="'+this.protocol()+"://fpdownload.macromedia.com/pub/shockwave/cabs/flash/"+'swflash.cab#version=8,0,0,0" '+'width="'+this.properties.width+'" '+'height="'+this.properties.height+'" '+'id="'+this.properties.id+'" '+'align="middle"> '+'<param name="allowScriptAccess" value="sameDomain" /> '+'<param name="movie" value="'+$5+'" /> '+'<param name="quality" value="high" /> '+'<param name="FlashVars" value="'+$7+'" /> '+'<param name="bgcolor" value="'+this.properties.bgcolor+'" /> '+'<param name="wmode" value="'+this.properties.wmode+'" /> '+'<param name="allowFullScreen" value="'+this.properties.allowfullscreen+'" /> '+"</object>"

+}else{

+$4='<embed src="'+$5+'" '+'quality="high" '+'bgcolor="'+this.properties.bgcolor+'" '+'wmode="'+this.properties.wmode+'" '+'allowFullScreen="'+this.properties.allowfullscreen+'" '+'width="'+this.properties.width+'" '+'height="'+this.properties.height+'" '+'id="'+this.properties.id+'" '+'name="'+this.properties.id+'" '+'FlashVars="'+$8+'" '+'swLiveConnect="true" '+'align="middle" '+'allowScriptAccess="sameDomain" '+'type="application/x-shockwave-flash" '+'pluginspage="'+this.protocol()+'://www.macromedia.com/go/getflashplayer" />'

+};var $11=this.properties.id+"Container";var $12=this.properties.appenddiv;if($12){

+$12.innerHTML=$4;$12.setAttribute("style",$3)

+}else{

+$4='<div id="'+$11+'" style="'+$3+'"> '+$4+"</div>";document.writeln($4)

+}},get:function(){

+try{

+var $1=document.getElementById(this.properties.id+"")

+}

+catch(e){

+

+};return $1

+},setVisible:function($1){

+var $2=document.getElementById(this.properties.id+"Container");if($1==true){

+$2.style.visibility="visible"

+}else{

+$2.style.position="absolute";$2.style.x="-1000px";$2.style.y="-1000px";$2.style.visibility="hidden"

+}},center:function(){

+var $1=this.properties.width;var $2=this.properties.height;var $3=0;var $4=0;var $5=document.getElementById(this.properties.id+"Container");$5.style.top=$4+"px";$5.style.left=$3+"px"

+}};lz.embed.dojo.Communicator=function($1){

+this._id=$1

+};lz.embed.dojo.Communicator.prototype={_addExternalInterfaceCallback:function(methodName,id){

+var dojo=lz.embed.dojo;var $1=function(){

+var $1=[];for(var $2=0;$2<arguments.length;$2++){

+$1[$2]=arguments[$2]

+};$1.length=arguments.length;return dojo.comm[id]._execFlash(methodName,$1,id)

+};dojo.comm[id][methodName]=$1

+},_encodeData:function($1){

+var $2=RegExp("\\&([^;]*)\\;","g");$1=$1.replace($2,"&amp;$1;");$1=$1.replace(RegExp("<","g"),"&lt;");$1=$1.replace(RegExp(">","g"),"&gt;");$1=$1.replace("\\","&custom_backslash;&custom_backslash;");$1=$1.replace(RegExp("\\n","g"),"\\n");$1=$1.replace(RegExp("\\r","g"),"\\r");$1=$1.replace(RegExp("\\f","g"),"\\f");$1=$1.replace(RegExp("\\0","g"),"\\0");$1=$1.replace(RegExp("\\'","g"),"\\'");$1=$1.replace(RegExp('\\"',"g"),'\\"');return $1

+},_decodeData:function($1){

+if($1==null||typeof $1=="undefined"){

+return $1

+};$1=$1.replace(RegExp("\\&custom_lt\\;","g"),"<");$1=$1.replace(RegExp("\\&custom_gt\\;","g"),">");$1=eval('"'+$1+'"');return $1

+},_chunkArgumentData:function($1,$2,$3){

+var $4=lz.embed.dojo.obj[$3].get();var $5=Math.ceil($1.length/1024);for(var $6=0;$6<$5;$6++){

+var $7=$6*1024;var $8=$6*1024+1024;if($6==$5-1){

+$8=$6*1024+$1.length

+};var $9=$1.substring($7,$8);$9=this._encodeData($9);$4.CallFunction('<invoke name="chunkArgumentData" '+'returntype="javascript">'+"<arguments>"+"<string>"+$9+"</string>"+"<number>"+$2+"</number>"+"</arguments>"+"</invoke>")

+}},_chunkReturnData:function($1){

+var $2=lz.embed.dojo.obj[$1].get();var $3=$2.getReturnLength();var $4=[];for(var $5=0;$5<$3;$5++){

+var $6=$2.CallFunction('<invoke name="chunkReturnData" '+'returntype="javascript">'+"<arguments>"+"<number>"+$5+"</number>"+"</arguments>"+"</invoke>");if($6=='""'||$6=="''"){

+$6=""

+}else{

+$6=$6.substring(1,$6.length-1)

+};$4.push($6)

+};var $7=$4.join("");return $7

+},_execFlash:function($1,$2,$3){

+var $4=lz.embed.dojo.obj[$3].get();$4.startExec();$4.setNumberArguments($2.length);for(var $5=0;$5<$2.length;$5++){

+this._chunkArgumentData($2[$5],$5,$3)

+};$4.exec($1);var $6=this._chunkReturnData($3);$6=this._decodeData($6);$4.endExec();return $6

+}};lz.embed.dojo.Install=function($1){

+this._id=$1

+};lz.embed.dojo.Install.prototype={needed:function(){

+var $1=lz.embed.dojo;if($1.info.capable==false){

+return true

+};if(lz.embed.browser.isSafari==true&&!$1.info.isVersionOrAbove(8,0,0)){

+return true

+};if($1.minimumVersion>$1.info.versionMajor){

+return true

+};if(!$1.info.isVersionOrAbove(8,0,0)){

+return true

+};return false

+},install:function(){

+var $1=lz.embed.dojo;$1.info.installing=true;$1.installing();var $2=$1.obj[this._id].properties;var $3=$2.flash8;var $4=$3.indexOf("swf7");if($4!=-1){

+$1._tempurl=$3;$3=$3.substring(0,$4+3)+"8"+$3.substring($4+4,$3.length);$2.flash8=$3

+};var $4=$3.indexOf("swf9");if($4!=-1){

+$1._tempurl=$3;$3=$3.substring(0,$4+3)+"8"+$3.substring($4+4,$3.length);$2.flash8=$3

+};$1.ready=false;if($1.info.capable==false){

+$1._isinstaller=true;var $5=new ($1.Embed)($2);$5.write($1.minimumVersion)

+}else{

+if($1.info.isVersionOrAbove(6,0,65)){

+var $5=new ($1.Embed)($2);$5.write($1.minimumVersion,true);$5.setVisible(true);$5.center()

+}else{

+alert("This content requires a more recent version of the Macromedia "+" Flash Player.");window.location="http://www.macromedia.com/go/getflashplayer"

+}}},_onInstallStatus:function($1){

+if($1=="Download.Complete"){

+if(lz.embed.browser.isIE){

+top.location=top.location+""

+}}else{

+if($1=="Download.Cancelled"){

+alert("This content requires a more recent version of the Macromedia "+" Flash Player.");window.location="http://www.macromedia.com/go/getflashplayer"

+}else{

+if($1=="Download.Failed"){

+alert("There was an error downloading the Flash Player update. "+"Please try again later, or visit macromedia.com to download "+"the latest version of the Flash plugin.");window.location="http://www.macromedia.com/go/getflashplayer"

+}}}}};lz.embed.dojo.info=new (lz.embed.dojo.Info)();lz.embed.iframemanager={__counter:0,__frames:{},__namebyid:{},__loading:{},__callqueue:{},__calljsqueue:{},__sendmouseevents:{},__hidenativecontextmenu:{},__selectionbookmarks:{},create:function($1,$2,$3,$4,$5,$6){

+var $7="__lz"+lz.embed.iframemanager.__counter++;var $8='javascript:""';var $9='lz.embed.iframemanager.__gotload("'+$7+'")';if($2==null||$2=="null"||$2==""){

+$2=$7

+};lz.embed.iframemanager.__namebyid[$7]=$2;if($4==null||$4=="undefined"){

+$4=document.body

+};if(document.all){

+var $10="<iframe name='"+$2+"' id='"+$7+"' src='"+$8+"' onload='"+$9+"' frameBorder='0'";if($3!=true){

+$10+=" scrolling='no'"

+};$10+="></iframe>";var $11=document.createElement("div");lz.embed.__setAttr($11,"id",$7+"Container");$4.appendChild($11);$11.innerHTML=$10;var $12=document.getElementById($7)

+}else{

+var $12=document.createElement("iframe");lz.embed.__setAttr($12,"name",$2);lz.embed.__setAttr($12,"src",$8);lz.embed.__setAttr($12,"id",$7);lz.embed.__setAttr($12,"onload",$9);if($3!=true){

+lz.embed.__setAttr($12,"scrolling","no")

+};this.appendTo($12,$4)

+};if($12){

+this.__finishCreate($7,$1,$2,$3,$4,$5,$6)

+}else{

+this.__callqueue[$7]=[["__finishCreate",$7,$1,$2,$3,$4,$5,$6]];setTimeout('lz.embed.iframemanager.__checkiframe("'+$7+'")',10)

+};return $7+""

+},__checkiframe:function($1){

+var $2=document.getElementById($1);if($2){

+var $3=lz.embed.iframemanager.__callqueue[$1];delete lz.embed.iframemanager.__callqueue[$1];lz.embed.iframemanager.__playQueue($3)

+}else{

+setTimeout('lz.embed.iframemanager.__checkiframe("'+$1+'")',10)

+}},__playQueue:function($1){

+var $2=lz.embed.iframemanager;for(var $3=0;$3<$1.length;$3++){

+var $4=$1[$3];var $5=$4.splice(0,1);$2[$5].apply($2,$4)

+}},__finishCreate:function($1,$2,$3,$4,$5,$6,$7){

+var $8=document.getElementById($1);if(typeof $2=="string"){

+$8.appcontainer=lz.embed.applications[$2]._getSWFDiv()

+};$8.owner=$2;lz.embed.iframemanager.__frames[$1]=$8;this.__namebyid[$1]=$3;var $9=lz.embed.iframemanager.getFrame($1);$9.__gotload=lz.embed.iframemanager.__gotload;$9._defaultz=$6?$6:99900;this.setZ($1,$9._defaultz);lz.embed.iframemanager.__topiframe=$1;if(document.getElementById&&!document.all){

+$9.style.border="0"

+}else{

+if(document.all){

+lz.embed.__setAttr($9,"allowtransparency","true");var $10=lz.embed[$9.owner];if($10&&$10.runtime=="swf"){

+var $11=$10._getSWFDiv();$11.onfocus=lz.embed.iframemanager.__refresh

+}}};$9.style.position="absolute"

+},appendTo:function($1,$2){

+if($2.__appended==$2){

+return

+};if($1.__appended){

+old=$1.__appended.removeChild($1);$2.appendChild(old)

+}else{

+$2.appendChild($1)

+};$1.__appended=$2

+},getFrame:function($1){

+return lz.embed.iframemanager.__frames[$1]

+},getFrameWindow:function($1){

+if(!this["framesColl"]){

+if(document.frames){

+this.framesColl=document.frames

+}else{

+this.framesColl=window.frames

+}};return this.framesColl[$1]

+},setSrc:function($1,$2,$3){

+if(this.__callqueue[$1]){

+this.__callqueue[$1].push(["setSrc",$1,$2,$3]);return

+};this.__setSendMouseEvents($1,false);if($3){

+var $4=lz.embed.iframemanager.getFrame($1);if(!$4){

+return

+};lz.embed.__setAttr($4,"src",$2)

+}else{

+var $1=lz.embed.iframemanager.__namebyid[$1];var $4=window[$1];if(!$4){

+return

+};$4.location.replace($2)

+};this.__loading[$1]=true

+},setPosition:function($1,$2,$3,$4,$5,$6,$7){

+if(this.__callqueue[$1]){

+this.__callqueue[$1].push(["setPosition",$1,$2,$3,$4,$5,$6,$7]);return

+};var $8=lz.embed.iframemanager.getFrame($1);if(!$8){

+return

+};if($8.appcontainer){

+var $9=lz.embed.getAbsolutePosition($8.appcontainer)

+}else{

+var $9={x:0,y:0}};if($2!=null&&!isNaN($2)){

+$8.style.left=$2+$9.x+"px"

+};if($3!=null&&!isNaN($3)){

+$8.style.top=$3+$9.y+"px"

+};if($4!=null&&!isNaN($4)){

+$8.style.width=$4+"px"

+};if($5!=null&&!isNaN($5)){

+$8.style.height=$5+"px"

+};if($6!=null){

+if(typeof $6=="string"){

+$6=$6=="true"

+};$8.style.display=$6?"block":"none"

+};if($7!=null){

+this.setZ($1,$7+$8._defaultz)

+}},setVisible:function($1,$2){

+if(this.__callqueue[$1]){

+this.__callqueue[$1].push(["setVisible",$1,$2]);return

+};if(typeof $2=="string"){

+$2=$2=="true"

+};var $3=lz.embed.iframemanager.getFrame($1);if(!$3){

+return

+};$3.style.display=$2?"block":"none"

+},bringToFront:function($1){

+if(this.__callqueue[$1]){

+this.__callqueue[$1].push(["bringToFront",$1]);return

+};var $2=lz.embed.iframemanager.getFrame($1);if(!$2){

+return

+};$2._defaultz=100000;this.setZ($1,$2._defaultz);lz.embed.iframemanager.__topiframe=$1

+},sendToBack:function($1){

+if(this.__callqueue[$1]){

+this.__callqueue[$1].push(["sendToBack",$1]);return

+};var $2=lz.embed.iframemanager.getFrame($1);if(!$2){

+return

+};$2._defaultz=99900;this.setZ($1,$2._defaultz)

+},__gotload:function($1){

+var $2=lz.embed.iframemanager.getFrame($1);if(!$2){

+return

+};if($2.owner&&$2.owner.__gotload){

+$2.owner.__gotload()

+}else{

+lz.embed[$2.owner].callMethod("lz.embed.iframemanager.__gotload('"+$1+"')")

+};this.__loading[$1]=false;if(this.__sendmouseevents[$1]){

+this.__setSendMouseEvents($1,true)

+};if(this.__calljsqueue[$1]){

+this.__playQueue(this.__calljsqueue[$1]);delete this.__calljsqueue[$1]

+}},__refresh:function(){

+if(lz.embed.iframemanager.__topiframe){

+var $1=lz.embed.iframemanager.getFrame(lz.embed.iframemanager.__topiframe);if($1.style.display=="block"){

+$1.style.display="none";$1.style.display="block"

+}}},setZ:function($1,$2){

+if(this.__callqueue[$1]){

+this.__callqueue[$1].push(["setZ",$1,$2]);return

+};var $3=lz.embed.iframemanager.getFrame($1);if(!$3){

+return

+};$3.style.zIndex=$2

+},scrollBy:function($1,$2,$3){

+if(this.__callqueue[$1]){

+this.__callqueue[$1].push(["scrollBy",$1,$2,$3]);return

+};var $1=lz.embed.iframemanager.__namebyid[$1];var $4=window.frames[$1];if(!$4){

+return

+};$4.scrollBy($2,$3)

+},__destroy:function($1){

+if(this.__callqueue[$1]){

+this.__callqueue[$1].push(["__destroy",$1]);return

+};var $2=lz.embed.iframemanager.__frames[$1];if($2){

+this.__setSendMouseEvents($1,false);$2.owner=null;$2.appcontainer=null;LzSprite.prototype.__discardElement($2);delete lz.embed.iframemanager.__frames[$1];delete lz.embed.iframemanager.__namebyid[$1]

+}},callJavascript:function($1,$2,$3,$4){

+if(this.__callqueue[$1]){

+this.__callqueue[$1].push(["callJavascript",$1,$2,$3,$4]);return

+};if(this.__loading[$1]){

+if(!this.__calljsqueue[$1]){

+this.__calljsqueue[$1]=[]

+};this.__calljsqueue[$1].push(["callJavascript",$1,$2,$3,$4]);return

+};var $5=lz.embed.iframemanager.getFrameWindow($1);if(!$4){

+$4=[]

+};try{

+var $6=$5.eval($2);if($6){

+var $7=$6.apply($5,$4);if($3){

+$3.execute($7)

+};return $7

+}}

+catch(e){

+

+}},__globalMouseover:function($1,$2){

+var $3=lz.embed.iframemanager.getFrame($2);if(!$3){

+return

+};$1=window.event;if($3.owner&&$3.owner.sprite){

+if($1.toElement&&$1.toElement.nodeName!="IFRAME"){

+LzMouseKernel.__resetMouse()

+}}},__mouseEvent:function($1,$2){

+var $3=lz.embed;var $4=$3.iframemanager.getFrame($2);if(!$4){

+return

+};if(!$1){

+$1=window.event

+};var $5="on"+$1.type;if($4.owner&&$4.owner.sprite&&$4.owner.sprite.__mouseEvent){

+if($5=="oncontextmenu"){

+if(!$3.iframemanager.__hidenativecontextmenu[$2]){

+return

+}else{

+var $6=$3.getAbsolutePosition($4);LzMouseKernel.__sendMouseMove($1,$6.x,$6.y);return LzMouseKernel.__showContextMenu($1)

+}};$4.owner.sprite.__mouseEvent($1);if($5=="onmouseup"){

+if(LzMouseKernel.__lastMouseDown==$4.owner.sprite){

+LzMouseKernel.__lastMouseDown=null

+}}}else{

+if($5=="onmouseleave"){

+$5="onmouseout"

+}else{

+if($5=="onmouseenter"){

+$5="onmouseover"

+}else{

+if($5=="oncontextmenu"){

+return

+}}};$3[$4.owner].callMethod("lz.embed.iframemanager.__gotMouseEvent('"+$2+"','"+$5+"')")

+}},setSendMouseEvents:function($1,$2){

+if(this.__callqueue[$1]){

+this.__callqueue[$1].push(["setSendMouseEvents",$1,$2]);return

+};this.__sendmouseevents[$1]=$2

+},__setSendMouseEvents:function(id,$1){

+var iframe=lz.embed.iframemanager.getFrameWindow(id);if(!iframe){

+return

+};if($1){

+if(lz.embed.browser.isIE){

+lz.embed.attachEventHandler(document,"mouseover",lz.embed.iframemanager,"__globalMouseover",id)

+};try{

+lz.embed.attachEventHandler(iframe.document,"mousedown",lz.embed.iframemanager,"__mouseEvent",id);lz.embed.attachEventHandler(iframe.document,"mouseup",lz.embed.iframemanager,"__mouseEvent",id);lz.embed.attachEventHandler(iframe.document,"click",lz.embed.iframemanager,"__mouseEvent",id);iframe.document.oncontextmenu=function($1){

+if(!$1){

+$1=iframe.event

+};return lz.embed.iframemanager.__mouseEvent($1,id)

+};if(lz.embed.browser.isIE){

+lz.embed.attachEventHandler(iframe.document,"mouseenter",lz.embed.iframemanager,"__mouseEvent",id);lz.embed.attachEventHandler(iframe.document,"mouseleave",lz.embed.iframemanager,"__mouseEvent",id)

+}else{

+lz.embed.attachEventHandler(iframe.document,"mouseover",lz.embed.iframemanager,"__mouseEvent",id);lz.embed.attachEventHandler(iframe.document,"mouseout",lz.embed.iframemanager,"__mouseEvent",id)

+}}

+catch(e){

+

+}}else{

+if(lz.embed.browser.isIE){

+lz.embed.removeEventHandler(document,"mouseover",lz.embed.iframemanager,"__globalMouseover")

+};try{

+lz.embed.removeEventHandler(iframe.document,"mousedown",lz.embed.iframemanager,"__mouseEvent");lz.embed.removeEventHandler(iframe.document,"mouseup",lz.embed.iframemanager,"__mouseEvent");lz.embed.removeEventHandler(iframe.document,"click",lz.embed.iframemanager,"__mouseEvent");iframe.document.oncontextmenu=null;if(lz.embed.browser.isIE){

+lz.embed.removeEventHandler(iframe.document,"mouseenter",lz.embed.iframemanager,"__mouseEvent");lz.embed.removeEventHandler(iframe.document,"mouseleave",lz.embed.iframemanager,"__mouseEvent")

+}else{

+lz.embed.removeEventHandler(iframe.document,"mouseover",lz.embed.iframemanager,"__mouseEvent");lz.embed.removeEventHandler(iframe.document,"mouseout",lz.embed.iframemanager,"__mouseEvent")

+}}

+catch(e){

+

+}}},setShowNativeContextMenu:function($1,$2){

+this.__hidenativecontextmenu[$1]=!$2

+},storeSelection:function($1){

+var $2=lz.embed.iframemanager;var $3=$2.getFrameWindow($1);if($3&&$3.document&&$3.document.selection&&$3.document.selection.type=="Text"){

+$2.__selectionbookmarks[$1]=$3.document.selection.createRange().getBookmark()

+}},restoreSelection:function($1){

+var $2=lz.embed.iframemanager;var $3=$2.getFrameWindow($1);if($2.__selectionbookmarks[$1]&&$3){

+var $4=$2.__selectionbookmarks[$1];var $5=$3.document.body.createTextRange();$5.moveToBookmark($4);$5.select()

+}}};lz.embed.mousewheel={__mousewheelEvent:function($1){

+if(!$1){

+$1=window.event

+};var $2=0;if($1.wheelDelta){

+$2=$1.wheelDelta/120;if(lz.embed.browser.isOpera){

+$2=-$2

+}}else{

+if($1.detail){

+$2=-$1.detail/3

+}};if($1.preventDefault){

+$1.preventDefault()

+};$1.returnValue=false;var $3=lz.embed.mousewheel.__callbacks.length;if($2!=null&&$3>0){

+for(var $4=0;$4<$3;$4+=2){

+var $5=lz.embed.mousewheel.__callbacks[$4];var $6=lz.embed.mousewheel.__callbacks[$4+1];if($5&&$5[$6]){

+$5[$6]($2)

+}}}},__callbacks:[],setCallback:function($1,$2){

+var $3=lz&&lz.embed&&lz.embed.options&&lz.embed.options.cancelkeyboardcontrol!=true||true;if(lz.embed.mousewheel.__callbacks.length==0&&$3){

+if(window.addEventListener){

+lz.embed.attachEventHandler(window,"DOMMouseScroll",lz.embed.mousewheel,"__mousewheelEvent")

+};lz.embed.attachEventHandler(document,"mousewheel",lz.embed.mousewheel,"__mousewheelEvent")

+};lz.embed.mousewheel.__callbacks.push($1,$2)

+}};lz.embed.history={active:null,_currentstate:null,_apps:[],_intervalID:null,_registeredapps:{},intervaltime:200,init:function(){

+var $1=lz.embed.history;if($1.active||$1.active==false){

+return

+};$1.active=true;$1._title=top.document.title;var $2=$1.get();if(lz.embed.browser.isSafari){

+$1._historylength=history.length;$1._history=[];for(var $3=1;$3<$1._historylength;$3++){

+$1._history.push("")

+};$1._history.push($2);var $4=document.createElement("form");$4.method="get";document.body.appendChild($4);$1._form=$4;if(!top.document.location.lzaddr){

+top.document.location.lzaddr={}};if(top.document.location.lzaddr.history){

+$1._history=top.document.location.lzaddr.history.split(",")

+};if($2!=""){

+$1.set($2)

+}}else{

+if(lz.embed.browser.isIE){

+var $2=top.location.hash;if($2){

+$2=$2.substring(1)

+};var $3=document.createElement("iframe");lz.embed.__setAttr($3,"id","lzHistory");lz.embed.__setAttr($3,"frameborder","no");lz.embed.__setAttr($3,"scrolling","no");lz.embed.__setAttr($3,"width","0");lz.embed.__setAttr($3,"height","0");lz.embed.__setAttr($3,"src",'javascript:""');document.body.appendChild($3);$3=document.getElementById("lzHistory");$1._iframe=$3;$3.style.display="none";$3.style.position="absolute";$3.style.left="-999px";var $5=$3.contentDocument||$3.contentWindow.document;$5.open();$5.close();if($2!=""){

+$5.location.hash="#"+$2;$1._parse($2)

+}}else{

+if($2!=""){

+$1._parse($2);$1._currentstate=$2

+}}};if($1._intervalID!=null){

+clearInterval($1._intervalID)

+};if($1.intervaltime>0){

+$1._intervalID=setInterval("lz.embed.history._checklocationhash()",$1.intervaltime)

+}},listen:function($1){

+if(typeof $1=="string"){

+$1=lz.embed.applications[$1];if(!$1||!$1.runtime){

+return

+}};if(!$1){

+return

+};var $2=lz.embed.history;if($2._registeredapps[$1._id]){

+return

+};$2._registeredapps[$1.id]=true;$2._apps.push($1);$2.init()

+},_checklocationhash:function(){

+if(lz.embed.dojo&&lz.embed.dojo.info&&lz.embed.dojo.info.installing){

+return

+};if(lz.embed.browser.isSafari){

+var $1=this._history[this._historylength-1];if($1==""||$1=="#"){

+$1="#0"

+};if(!this._skip&&this._historylength!=history.length){

+this._historylength=history.length;if(typeof $1!="undefined"){

+$1=$1.substring(1);this._currentstate=$1;this._parse($1)

+}}else{

+this._parse($1.substring(1))

+}}else{

+var $1=lz.embed.history.get();if($1==""){

+$1="0"

+};if(lz.embed.browser.isIE){

+if($1!=this._currentstate){

+top.location.hash=$1=="0"?"":"#"+$1;this._currentstate=$1;this._parse($1)

+};if(top.document.title!=this._title){

+top.document.title=this._title

+}}else{

+this._currentstate=$1;this._parse($1)

+}}},set:function($1){

+if(lz.embed.history.active==false){

+return

+};if($1==null){

+$1=""

+};if(lz.embed.history._currentstate==$1){

+return

+};lz.embed.history._currentstate=$1;var $2="#"+$1;if(lz.embed.browser.isIE){

+top.location.hash=$2=="#0"?"":$2;var $3=lz.embed.history._iframe.contentDocument||lz.embed.history._iframe.contentWindow.document;$3.open();$3.close();$3.location.hash=$2;lz.embed.history._parse($1+"")

+}else{

+if(lz.embed.browser.isSafari){

+lz.embed.history._history[history.length]=$2;lz.embed.history._historylength=history.length+1;if(lz.embed.browser.version<412){

+if(top.location.search==""){

+lz.embed.history._form.action=$2;top.document.location.lzaddr.history=lz.embed.history._history.toString();lz.embed.history._skip=true;lz.embed.history._form.submit();lz.embed.history._skip=false

+}}else{

+var $4=document.createEvent("MouseEvents");$4.initEvent("click",true,true);var $5=document.createElement("a");$5.href=$2;$5.dispatchEvent($4)

+}}else{

+top.location.hash=$2;lz.embed.history._parse($1+"")

+}};return true

+},get:function(){

+var $1="";if(lz.embed.browser.isIE){

+if(lz.embed.history._iframe){

+var $2=lz.embed.history._iframe.contentDocument||lz.embed.history._iframe.contentWindow.document;$1=$2.location.hash

+}}else{

+$1=top.location.href

+};var $3=$1.indexOf("#");if($3!=-1){

+return $1.substring($3+1)

+};return ""

+},_parse:function($1){

+var $2=lz.embed.history;if($1.length==0){

+return

+};for(var $3=0,$4=lz.embed.history._apps.length;$3<$4;$3++){

+var $5=lz.embed.history._apps[$3];if(!$5.loaded||$5._lasthash==$1){

+continue

+};$5._lasthash=$1;if($1.indexOf("_lz")!=-1){

+$1=$1.substring(3);var $6=$1.split(",");for(var $7=0;$7<$6.length;$7++){

+var $8=$6[$7];var $9=$8.indexOf("=");var $10=unescape($8.substring(0,$9));var $11=unescape($8.substring($9+1));lz.embed.setCanvasAttribute($10,$11);if(window["canvas"]){

+canvas.setAttribute($10,$11)

+}}}else{

+if($5.runtime=="swf"){

+$2.__setFlash($1,$5._id)

+}else{

+if(window["lz"]&&lz["History"]&&lz.History["isReady"]&&lz.History["receiveHistory"]){

+lz.History.receiveHistory($1)

+}}}}},_store:function($1,$2){

+if($1 instanceof Object){

+var $3="";for(var $4 in $1){

+if($3!=""){

+$3+=","

+};$3+=escape($4)+"="+escape($1[$4])

+}}else{

+var $3=escape($1)+"="+escape($2)

+};this.set("_lz"+$3)

+},__setFlash:function($1,$2){

+var $3=lz.embed[$2];if($3&&$3.loaded&&$3.runtime=="swf"){

+var $4=$3._getSWFDiv();if($4){

+var $5=$3.callMethod("lz.History.receiveHistory("+$1+")");$3._lasthash=$1

+}}}};if(lz.embed.browser.isFirefox){

+window.onunload=function(){

+

+}};lz.embed.regex={cache:{},create:function($1,$2,$3){

+try{

+var $4=lz.embed.regex;$4.cache[$1]=new RegExp($4.unmask($2),$4.unmask($3));return true

+}

+catch(e){

+return e.name+": "+e.message

+}},test:function($1,$2,$3){

+var $4=lz.embed.regex;var $5=$4.cache[$1];$5.lastIndex=$3;return [$5.test($4.unmask($2)),$5.lastIndex]

+},exec:function($1,$2,$3){

+var $4=lz.embed.regex;var $5=$4.cache[$1];$5.lastIndex=$3;var $6=$5.exec($4.unmask($2));if($6){

+($6=$4.maskArr($6)).push($6.index,$5.lastIndex);return $6

+}else{

+return null

+}},match:function($1,$2){

+var $3=lz.embed.regex;var $4=$3.unmask($2).match($3.cache[$1]);return $4?$3.maskArr($4):null

+},replace:function($1,$2,$3){

+var $4=lz.embed.regex;return $4.mask($4.unmask($2).replace($4.cache[$1],$4.unmask($3)))

+},search:function($1,$2){

+var $3=lz.embed.regex;return $3.unmask($2).search($3.cache[$1])

+},split:function($1,$2,$3){

+var $4=lz.embed.regex;return $4.maskArr($4.unmask($2).split($4.cache[$1],$3))

+},remove:function($1){

+delete lz.embed.regex.cache[$1]

+},mask:function($1){

+

+var re = /^\s*$/;

+var re2 = /\s/g;

+;return( $1==null||!re.test($1)?$1:"__#lznull"+$1.replace(re2,function($1){

+switch($1){

+case " ":

+return "w";

+case "\f":

+return "f";

+case "\n":

+return "n";

+case "\r":

+return "r";

+case "\t":

+return "t";

+case "\xA0":

+return "s";

+case "\u2028":

+return "l";

+case "\u2029":

+return "p";

+

+}}))

+},unmask:function($1){

+return $1=="__#lznull"?"":$1

+},maskArr:function($1){

+var $2=lz.embed.regex;for(var $3=0;$3<$1.length;++$3){

+$1[$3]=$2.mask($1[$3])

+};return $1

+}};
\ No newline at end of file
diff --git a/WebContent/openmeetings/favicon.ico b/WebContent/openmeetings/favicon.ico
new file mode 100644
index 0000000..f0c22ad
--- /dev/null
+++ b/WebContent/openmeetings/favicon.ico
Binary files differ
diff --git a/WebContent/openmeetings/networktesting-config.xml b/WebContent/openmeetings/networktesting-config.xml
new file mode 100644
index 0000000..826192a
--- /dev/null
+++ b/WebContent/openmeetings/networktesting-config.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<config 

+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+    xsi:noNamespaceSchemaLocation="networktesting-config.xsd">

+

+    <hostAddress>192.168.56.101</hostAddress>

+    <rtmpPort>1935</rtmpPort>

+    <httpPort>5080</httpPort>

+    <uriContext>/openmeetings</uriContext>

+    <rtmpUriPath>/openmeetings/hibernate</rtmpUriPath>

+

+</config>

diff --git a/WebContent/openmeetings/networktesting-config.xsd b/WebContent/openmeetings/networktesting-config.xsd
new file mode 100644
index 0000000..ac6b1e7
--- /dev/null
+++ b/WebContent/openmeetings/networktesting-config.xsd
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

+

+  <xs:element name="config">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element ref="hostAddress"/>

+        <xs:element ref="rtmpPort"/>

+        <xs:element ref="httpPort"/>

+        <xs:element ref="uriContext"/>

+        <xs:element ref="rtmpUriPath"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+

+  <xs:element name="hostAddress" type="xs:anyURI"/>

+  <xs:element name="rtmpPort" type="xs:integer"/>

+  <xs:element name="httpPort" type="xs:integer"/>

+  <xs:element name="uriContext" type="xs:string"/>

+  <xs:element name="rtmpUriPath" type="xs:string"/>

+

+</xs:schema>

diff --git a/WebContent/openmeetings/openmeetings-config.xsd b/WebContent/openmeetings/openmeetings-config.xsd
new file mode 100644
index 0000000..0daaf43
--- /dev/null
+++ b/WebContent/openmeetings/openmeetings-config.xsd
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

+  <xs:element name="config">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element ref="rtmphostlocal"/>

+        <xs:element ref="rtmpport"/>

+        <xs:element ref="rtmpTunnelport"/>

+        <xs:element ref="rtmpsslport"/>

+        <xs:element ref="useSSL"/>

+        <xs:element ref="red5httpport"/>

+        <xs:element ref="protocol"/>

+        <xs:element ref="proxyType"/>

+        <xs:element ref="currentappname"/>

+        <xs:element ref="currentappnameurl"/>

+        <xs:element ref="currentappnamebugurl"/>

+        <xs:element ref="loudnessAcitviation"/>

+        <xs:element ref="webAppRootKey"/>

+        <xs:element ref="httpRootKey"/>

+        <xs:element ref="showWindowEffect"/>

+        <xs:element ref="showRecording"/>

+        <xs:element ref="firstdayinweek"/>

+        <xs:element ref="framesPerSecond"/>

+        <xs:element ref="bandwidthNeededNormal"/>

+        <xs:element ref="bandwidthNeededBest"/>

+        <xs:element ref="camQualityNormal"/>

+        <xs:element ref="camQualityBest"/>

+        <xs:element ref="microphoneRateNormal"/>

+        <xs:element ref="microphoneRateBest"/>

+        <xs:element ref="defaultWhiteboardWidth"/>

+        <xs:element ref="defaultWhiteboardHeight"/>

+        <xs:element ref="availableCameraResolutions"/>

+        <xs:element ref="adminModuleUser"/>

+        <xs:element ref="adminModuleRoom"/>

+        <xs:element ref="adminModuleOrg"/>

+        <xs:element ref="adminModuleLanguages"/>

+        <xs:element ref="adminModuleConnections"/>

+        <xs:element ref="adminModuleConfiguration"/>

+        <xs:element ref="adminModuleBackup"/>

+        <xs:element ref="adminModuleLDAP"/>

+        <xs:element ref="moderatorModuleUser"/>

+        <xs:element ref="moderatorModuleRoom"/>

+        <xs:element ref="dashboardModuleStartScreen"/>

+        <xs:element ref="dashboardModuleCalendar"/>

+        <xs:element ref="conferenceModuleRoomList"/>

+        <xs:element ref="conferenceRoomModule"/>

+        <xs:element ref="restrictedRoomModule"/>

+        <xs:element ref="interviewRoomModule"/>

+        <xs:element ref="recordModule"/>

+        <xs:element ref="userSettingsModule"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="rtmphostlocal">

+    <xs:complexType/>

+  </xs:element>

+  <xs:element name="rtmpport" type="xs:integer"/>

+  <xs:element name="rtmpTunnelport" type="xs:integer"/>

+  <xs:element name="rtmpsslport" type="xs:integer"/>

+  <xs:element name="useSSL" type="xs:NCName"/>

+  <xs:element name="red5httpport" type="xs:integer"/>

+  <xs:element name="protocol" type="xs:NCName"/>

+  <xs:element name="proxyType" type="xs:NCName"/>

+  <xs:element name="currentappname" type="xs:string"/>

+  <xs:element name="currentappnameurl" type="xs:anyURI"/>

+  <xs:element name="currentappnamebugurl" type="xs:anyURI"/>

+  <xs:element name="loudnessAcitviation" type="xs:integer"/>

+  <xs:element name="webAppRootKey" type="xs:NCName"/>

+  <xs:element name="httpRootKey" type="xs:string"/>

+  <xs:element name="showWindowEffect" type="xs:NCName"/>

+  <xs:element name="showRecording" type="xs:NCName"/>

+  <xs:element name="firstdayinweek" type="xs:integer"/>

+  <xs:element name="framesPerSecond" type="xs:integer"/>

+  <xs:element name="bandwidthNeededNormal" type="xs:integer"/>

+  <xs:element name="bandwidthNeededBest" type="xs:integer"/>

+  <xs:element name="camQualityNormal" type="xs:integer"/>

+  <xs:element name="camQualityBest" type="xs:integer"/>

+  <xs:element name="microphoneRateNormal" type="xs:integer"/>

+  <xs:element name="microphoneRateBest" type="xs:integer"/>

+  <xs:element name="defaultWhiteboardWidth" type="xs:integer"/>

+  <xs:element name="defaultWhiteboardHeight" type="xs:integer"/>

+  <xs:element name="availableCameraResolutions">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element maxOccurs="unbounded" ref="resolution"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="resolution">

+    <xs:complexType>

+      <xs:attribute name="height" use="required" type="xs:integer"/>

+      <xs:attribute name="isDefault" use="required" type="xs:boolean"/>

+      <xs:attribute name="type" use="required"/>

+      <xs:attribute name="width" use="required" type="xs:integer"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="adminModuleUser" type="xs:NCName"/>

+  <xs:element name="adminModuleRoom" type="xs:NCName"/>

+  <xs:element name="adminModuleOrg" type="xs:NCName"/>

+  <xs:element name="adminModuleLanguages" type="xs:NCName"/>

+  <xs:element name="adminModuleConnections" type="xs:NCName"/>

+  <xs:element name="adminModuleConfiguration" type="xs:NCName"/>

+  <xs:element name="adminModuleBackup" type="xs:NCName"/>

+  <xs:element name="adminModuleLDAP" type="xs:NCName"/>

+  <xs:element name="moderatorModuleUser" type="xs:NCName"/>

+  <xs:element name="moderatorModuleRoom" type="xs:NCName"/>

+  <xs:element name="dashboardModuleStartScreen" type="xs:NCName"/>

+  <xs:element name="dashboardModuleCalendar" type="xs:NCName"/>

+  <xs:element name="conferenceModuleRoomList" type="xs:NCName"/>

+  <xs:element name="conferenceRoomModule" type="xs:NCName"/>

+  <xs:element name="restrictedRoomModule" type="xs:NCName"/>

+  <xs:element name="interviewRoomModule" type="xs:NCName"/>

+  <xs:element name="recordModule" type="xs:NCName"/>

+  <xs:element name="userSettingsModule" type="xs:NCName"/>

+</xs:schema>

diff --git a/WebContent/openmeetings/openmeetings_functions.js b/WebContent/openmeetings/openmeetings_functions.js
new file mode 100644
index 0000000..1474e3a
--- /dev/null
+++ b/WebContent/openmeetings/openmeetings_functions.js
@@ -0,0 +1,32 @@
+/*

+ * Functions to be included in the HTML wrapper,

+ * see the templates dir (*.vm) for the include statements

+ *  

+ */ 

+

+function getBrowserInfo() {

+	//alert(navigator.userAgent);

+	document.getElementById("lzapp").getBrowserInfoCallback(navigator.userAgent);

+}

+

+function getBrowserLang() {

+	//alert(navigator.userAgent);

+	document.getElementById("lzapp").getBrowserLangCallback(navigator.language);

+}

+

+function redirectToUrl(url) {

+	//alert(navigator.userAgent);

+	window.location = url;

+	

+	document.getElementById("lzapp").redirectToUrlCallback("ok");

+}

+

+function getTimeZoneOffset(){

+	var rightNow = new Date();

+            var jan1 = new Date(rightNow.getFullYear(), 0, 1, 0, 0, 0, 0);

+            var temp = jan1.toGMTString();

+            var jan2 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));

+            var std_time_offset = (jan1 - jan2) / (1000 * 60 * 60);

+            

+    document.getElementById("lzapp").getTimeZoneOffsetCallback(std_time_offset);

+}
\ No newline at end of file
diff --git a/WebContent/openmeetings/public/cliparts/ambulance.png b/WebContent/openmeetings/public/cliparts/ambulance.png
new file mode 100644
index 0000000..c61cc33
--- /dev/null
+++ b/WebContent/openmeetings/public/cliparts/ambulance.png
Binary files differ
diff --git a/WebContent/openmeetings/public/cliparts/bow.png b/WebContent/openmeetings/public/cliparts/bow.png
new file mode 100644
index 0000000..43cc3f5
--- /dev/null
+++ b/WebContent/openmeetings/public/cliparts/bow.png
Binary files differ
diff --git a/WebContent/openmeetings/public/cliparts/community.png b/WebContent/openmeetings/public/cliparts/community.png
new file mode 100644
index 0000000..d56e169
--- /dev/null
+++ b/WebContent/openmeetings/public/cliparts/community.png
Binary files differ
diff --git a/WebContent/openmeetings/public/cliparts/help.png b/WebContent/openmeetings/public/cliparts/help.png
new file mode 100644
index 0000000..6b7db6a
--- /dev/null
+++ b/WebContent/openmeetings/public/cliparts/help.png
Binary files differ
diff --git a/WebContent/openmeetings/public/cliparts/home.png b/WebContent/openmeetings/public/cliparts/home.png
new file mode 100644
index 0000000..149583c
--- /dev/null
+++ b/WebContent/openmeetings/public/cliparts/home.png
Binary files differ
diff --git a/WebContent/openmeetings/public/cliparts/idea.png b/WebContent/openmeetings/public/cliparts/idea.png
new file mode 100644
index 0000000..cc2a3c7
--- /dev/null
+++ b/WebContent/openmeetings/public/cliparts/idea.png
Binary files differ
diff --git a/WebContent/openmeetings/public/cliparts/swim.png b/WebContent/openmeetings/public/cliparts/swim.png
new file mode 100644
index 0000000..fbb6f25
--- /dev/null
+++ b/WebContent/openmeetings/public/cliparts/swim.png
Binary files differ
diff --git a/WebContent/openmeetings/public/cliparts/thumb/ambulance.png b/WebContent/openmeetings/public/cliparts/thumb/ambulance.png
new file mode 100644
index 0000000..c61cc33
--- /dev/null
+++ b/WebContent/openmeetings/public/cliparts/thumb/ambulance.png
Binary files differ
diff --git a/WebContent/openmeetings/public/cliparts/thumb/bow.png b/WebContent/openmeetings/public/cliparts/thumb/bow.png
new file mode 100644
index 0000000..43cc3f5
--- /dev/null
+++ b/WebContent/openmeetings/public/cliparts/thumb/bow.png
Binary files differ
diff --git a/WebContent/openmeetings/public/cliparts/thumb/community.png b/WebContent/openmeetings/public/cliparts/thumb/community.png
new file mode 100644
index 0000000..d56e169
--- /dev/null
+++ b/WebContent/openmeetings/public/cliparts/thumb/community.png
Binary files differ
diff --git a/WebContent/openmeetings/public/cliparts/thumb/help.png b/WebContent/openmeetings/public/cliparts/thumb/help.png
new file mode 100644
index 0000000..6b7db6a
--- /dev/null
+++ b/WebContent/openmeetings/public/cliparts/thumb/help.png
Binary files differ
diff --git a/WebContent/openmeetings/public/cliparts/thumb/home.png b/WebContent/openmeetings/public/cliparts/thumb/home.png
new file mode 100644
index 0000000..149583c
--- /dev/null
+++ b/WebContent/openmeetings/public/cliparts/thumb/home.png
Binary files differ
diff --git a/WebContent/openmeetings/public/cliparts/thumb/idea.png b/WebContent/openmeetings/public/cliparts/thumb/idea.png
new file mode 100644
index 0000000..cc2a3c7
--- /dev/null
+++ b/WebContent/openmeetings/public/cliparts/thumb/idea.png
Binary files differ
diff --git a/WebContent/openmeetings/public/cliparts/thumb/swim.png b/WebContent/openmeetings/public/cliparts/thumb/swim.png
new file mode 100644
index 0000000..fbb6f25
--- /dev/null
+++ b/WebContent/openmeetings/public/cliparts/thumb/swim.png
Binary files differ
diff --git a/WebContent/openmeetings/public/emoticons/emotes.xml b/WebContent/openmeetings/public/emoticons/emotes.xml
new file mode 100644
index 0000000..5d12618
--- /dev/null
+++ b/WebContent/openmeetings/public/emoticons/emotes.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--

+   Licensed under the Apache License, Version 2.0 (the "License");

+   you may not use this file except in compliance with the License.

+   You may obtain a copy of the License at

+

+       http://www.apache.org/licenses/LICENSE-2.0

+

+   Unless required by applicable law or agreed to in writing, software

+   distributed under the License is distributed on an "AS IS" BASIS,

+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+   See the License for the specific language governing permissions and

+   limitations under the License.

+ -->

+<linked-list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="emotes.xsd">
+  <linked-list>
+    <string>emoticon_evilgrin.png</string>
+    <string>&gt;:(</string>
+    <string>(\_/)</string>
+	<string>    </string>
+	<string>y</string>
+  </linked-list>
+  <linked-list>
+    <string>emoticon_grin.png</string>
+    <string>:D</string>
+	<string>    </string>
+	<string>y</string>
+  </linked-list>
+  <linked-list>
+    <string>emoticon_happy.png</string>
+    <string>8D</string>
+	<string>    </string>
+	<string>y</string>
+  </linked-list>
+  <linked-list>
+    <string>emoticon_smile.png</string>
+    <string>:)</string>
+    <string>(^_^)</string>
+	<string>    </string>
+	<string>y</string>
+  </linked-list>
+  <linked-list>
+    <string>emoticon_surprised.png</string>
+    <string>o_O</string>
+	<string>    </string>
+	<string>y</string>
+  </linked-list>
+  <linked-list>
+    <string>emoticon_tongue.png</string>
+    <string>:P</string>
+	<string>    </string>
+	<string>y</string>
+  </linked-list>
+  <linked-list>
+    <string>emoticon_unhappy.png</string>
+    <string>:(</string>
+	<string>    </string>
+	<string>y</string>
+  </linked-list>
+  <linked-list>
+    <string>emoticon_wink.png</string>
+    <string>;)</string>
+	<string>    </string>
+	<string>y</string>
+  </linked-list>
+</linked-list>
diff --git a/WebContent/openmeetings/public/emoticons/emotes.xsd b/WebContent/openmeetings/public/emoticons/emotes.xsd
new file mode 100644
index 0000000..fe10285
--- /dev/null
+++ b/WebContent/openmeetings/public/emoticons/emotes.xsd
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

+  <xs:element name="linked-list">

+    <xs:complexType>

+      <xs:sequence minOccurs="0">

+        <xs:element ref="linked-list" minOccurs="0" maxOccurs="unbounded"/>

+        <xs:element maxOccurs="unbounded" ref="string" minOccurs="0"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="string" type="xs:string"/>

+</xs:schema>

diff --git a/WebContent/openmeetings/public/emoticons/emoticon_evilgrin.png b/WebContent/openmeetings/public/emoticons/emoticon_evilgrin.png
new file mode 100644
index 0000000..817bd50
--- /dev/null
+++ b/WebContent/openmeetings/public/emoticons/emoticon_evilgrin.png
Binary files differ
diff --git a/WebContent/openmeetings/public/emoticons/emoticon_grin.png b/WebContent/openmeetings/public/emoticons/emoticon_grin.png
new file mode 100644
index 0000000..fc60c5e
--- /dev/null
+++ b/WebContent/openmeetings/public/emoticons/emoticon_grin.png
Binary files differ
diff --git a/WebContent/openmeetings/public/emoticons/emoticon_happy.png b/WebContent/openmeetings/public/emoticons/emoticon_happy.png
new file mode 100644
index 0000000..6b7336e
--- /dev/null
+++ b/WebContent/openmeetings/public/emoticons/emoticon_happy.png
Binary files differ
diff --git a/WebContent/openmeetings/public/emoticons/emoticon_smile.png b/WebContent/openmeetings/public/emoticons/emoticon_smile.png
new file mode 100644
index 0000000..ade4318
--- /dev/null
+++ b/WebContent/openmeetings/public/emoticons/emoticon_smile.png
Binary files differ
diff --git a/WebContent/openmeetings/public/emoticons/emoticon_surprised.png b/WebContent/openmeetings/public/emoticons/emoticon_surprised.png
new file mode 100644
index 0000000..4520cfc
--- /dev/null
+++ b/WebContent/openmeetings/public/emoticons/emoticon_surprised.png
Binary files differ
diff --git a/WebContent/openmeetings/public/emoticons/emoticon_tongue.png b/WebContent/openmeetings/public/emoticons/emoticon_tongue.png
new file mode 100644
index 0000000..ecafd2f
--- /dev/null
+++ b/WebContent/openmeetings/public/emoticons/emoticon_tongue.png
Binary files differ
diff --git a/WebContent/openmeetings/public/emoticons/emoticon_unhappy.png b/WebContent/openmeetings/public/emoticons/emoticon_unhappy.png
new file mode 100644
index 0000000..fd5d030
--- /dev/null
+++ b/WebContent/openmeetings/public/emoticons/emoticon_unhappy.png
Binary files differ
diff --git a/WebContent/openmeetings/public/emoticons/emoticon_wink.png b/WebContent/openmeetings/public/emoticons/emoticon_wink.png
new file mode 100644
index 0000000..a631949
--- /dev/null
+++ b/WebContent/openmeetings/public/emoticons/emoticon_wink.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/auth/icon_facebook.png b/WebContent/openmeetings/public/themes/basic-theme/auth/icon_facebook.png
new file mode 100644
index 0000000..a0f667c
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/auth/icon_facebook.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/conference/exit_button.fla b/WebContent/openmeetings/public/themes/basic-theme/conference/exit_button.fla
new file mode 100644
index 0000000..808954f
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/conference/exit_button.fla
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/conference/exit_button.png b/WebContent/openmeetings/public/themes/basic-theme/conference/exit_button.png
new file mode 100644
index 0000000..7234c99
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/conference/exit_button.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/conference/folder_explore.png b/WebContent/openmeetings/public/themes/basic-theme/conference/folder_explore.png
new file mode 100644
index 0000000..0ba9391
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/conference/folder_explore.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/conference/group.png b/WebContent/openmeetings/public/themes/basic-theme/conference/group.png
new file mode 100644
index 0000000..7fb4e1f
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/conference/group.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/dashboard/comments.png b/WebContent/openmeetings/public/themes/basic-theme/dashboard/comments.png
new file mode 100644
index 0000000..39433cf
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/dashboard/comments.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/dashboard/conference_icon_normal.fla b/WebContent/openmeetings/public/themes/basic-theme/dashboard/conference_icon_normal.fla
new file mode 100644
index 0000000..1f013f2
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/dashboard/conference_icon_normal.fla
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/dashboard/conference_icon_normal.png b/WebContent/openmeetings/public/themes/basic-theme/dashboard/conference_icon_normal.png
new file mode 100644
index 0000000..44d450d
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/dashboard/conference_icon_normal.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/dashboard/feed.png b/WebContent/openmeetings/public/themes/basic-theme/dashboard/feed.png
new file mode 100644
index 0000000..315c4f4
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/dashboard/feed.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_1.fla b/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_1.fla
new file mode 100644
index 0000000..a97ff6b
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_1.fla
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_1.png b/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_1.png
new file mode 100644
index 0000000..fa3a7e2
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_1.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_2.fla b/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_2.fla
new file mode 100644
index 0000000..9aa80f1
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_2.fla
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_2.png b/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_2.png
new file mode 100644
index 0000000..75eb60e
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_2.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_3.fla b/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_3.fla
new file mode 100644
index 0000000..e005420
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_3.fla
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_3.png b/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_3.png
new file mode 100644
index 0000000..cc68320
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_3.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_4.fla b/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_4.fla
new file mode 100644
index 0000000..8088a64
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_4.fla
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_4.png b/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_4.png
new file mode 100644
index 0000000..228b85c
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/dashboard/wizzard_button_4.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/general/add.png b/WebContent/openmeetings/public/themes/basic-theme/general/add.png
new file mode 100644
index 0000000..6332fef
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/general/add.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/general/arrow_refresh_small.png b/WebContent/openmeetings/public/themes/basic-theme/general/arrow_refresh_small.png
new file mode 100644
index 0000000..d3087df
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/general/arrow_refresh_small.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/general/calendar_view_week.png b/WebContent/openmeetings/public/themes/basic-theme/general/calendar_view_week.png
new file mode 100644
index 0000000..8fe695f
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/general/calendar_view_week.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/general/cancel_icon.fla b/WebContent/openmeetings/public/themes/basic-theme/general/cancel_icon.fla
new file mode 100644
index 0000000..ecc498d
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/general/cancel_icon.fla
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/general/cancel_icon.png b/WebContent/openmeetings/public/themes/basic-theme/general/cancel_icon.png
new file mode 100644
index 0000000..2d26062
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/general/cancel_icon.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/general/cancel_icon_small.fla b/WebContent/openmeetings/public/themes/basic-theme/general/cancel_icon_small.fla
new file mode 100644
index 0000000..0bd3258
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/general/cancel_icon_small.fla
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/general/cancel_icon_small.png b/WebContent/openmeetings/public/themes/basic-theme/general/cancel_icon_small.png
new file mode 100644
index 0000000..267e6c2
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/general/cancel_icon_small.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/general/disk.png b/WebContent/openmeetings/public/themes/basic-theme/general/disk.png
new file mode 100644
index 0000000..99d532e
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/general/disk.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/general/error.png b/WebContent/openmeetings/public/themes/basic-theme/general/error.png
new file mode 100644
index 0000000..628cf2d
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/general/error.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/general/information.png b/WebContent/openmeetings/public/themes/basic-theme/general/information.png
new file mode 100644
index 0000000..12cd1ae
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/general/information.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/general/plus_icon.fla b/WebContent/openmeetings/public/themes/basic-theme/general/plus_icon.fla
new file mode 100644
index 0000000..9ac11ed
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/general/plus_icon.fla
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/general/plus_icon.png b/WebContent/openmeetings/public/themes/basic-theme/general/plus_icon.png
new file mode 100644
index 0000000..acec291
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/general/plus_icon.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/general/resultset_down.png b/WebContent/openmeetings/public/themes/basic-theme/general/resultset_down.png
new file mode 100644
index 0000000..0469642
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/general/resultset_down.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/general/resultset_first.png b/WebContent/openmeetings/public/themes/basic-theme/general/resultset_first.png
new file mode 100644
index 0000000..b03eaf8
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/general/resultset_first.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/general/resultset_last.png b/WebContent/openmeetings/public/themes/basic-theme/general/resultset_last.png
new file mode 100644
index 0000000..8ec8947
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/general/resultset_last.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/general/resultset_next.png b/WebContent/openmeetings/public/themes/basic-theme/general/resultset_next.png
new file mode 100644
index 0000000..e252606
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/general/resultset_next.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/general/resultset_previous.png b/WebContent/openmeetings/public/themes/basic-theme/general/resultset_previous.png
new file mode 100644
index 0000000..18f9cc1
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/general/resultset_previous.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/general/resultset_up.png b/WebContent/openmeetings/public/themes/basic-theme/general/resultset_up.png
new file mode 100644
index 0000000..f121481
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/general/resultset_up.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/arrow_cursor_tool.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/arrow_cursor_tool.png
new file mode 100644
index 0000000..a9f3169
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/arrow_cursor_tool.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/arrow_rotate_anticlockwise.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/arrow_rotate_anticlockwise.png
new file mode 100644
index 0000000..46c75aa
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/arrow_rotate_anticlockwise.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/arrow_rotate_clockwise.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/arrow_rotate_clockwise.png
new file mode 100644
index 0000000..aa65210
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/arrow_rotate_clockwise.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/cancel.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/cancel.png
new file mode 100644
index 0000000..c149c2b
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/cancel.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/delete_all.fla b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/delete_all.fla
new file mode 100644
index 0000000..bafe7e3
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/delete_all.fla
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/delete_all.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/delete_all.png
new file mode 100644
index 0000000..3e42c07
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/delete_all.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_first.fla b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_first.fla
new file mode 100644
index 0000000..80b49ec
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_first.fla
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_first.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_first.png
new file mode 100644
index 0000000..c1e5ac9
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_first.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_last.fla b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_last.fla
new file mode 100644
index 0000000..e44d536
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_last.fla
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_last.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_last.png
new file mode 100644
index 0000000..1ef3056
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_last.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_next.fla b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_next.fla
new file mode 100644
index 0000000..f9ea5cb
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_next.fla
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_next.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_next.png
new file mode 100644
index 0000000..6cede29
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_next.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_pre.fla b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_pre.fla
new file mode 100644
index 0000000..7050168
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_pre.fla
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_pre.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_pre.png
new file mode 100644
index 0000000..f974ec6
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/doc_pre.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/drawarrowicon.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/drawarrowicon.png
new file mode 100644
index 0000000..0e73cb5
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/drawarrowicon.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/ellipse.fla b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/ellipse.fla
new file mode 100644
index 0000000..e437461
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/ellipse.fla
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/ellipse.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/ellipse.png
new file mode 100644
index 0000000..9cc51f3
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/ellipse.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/letter.fla b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/letter.fla
new file mode 100644
index 0000000..f1aba8e
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/letter.fla
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/letter.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/letter.png
new file mode 100644
index 0000000..eb036ef
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/letter.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/line.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/line.png
new file mode 100644
index 0000000..10b420a
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/line.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/lock.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/lock.png
new file mode 100644
index 0000000..2ebc4f6
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/lock.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/lock_open.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/lock_open.png
new file mode 100644
index 0000000..a471765
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/lock_open.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/menupointer.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/menupointer.png
new file mode 100644
index 0000000..98031f6
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/menupointer.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/page_delete.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/page_delete.png
new file mode 100644
index 0000000..3141467
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/page_delete.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/paintcan.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/paintcan.png
new file mode 100644
index 0000000..f82a886
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/paintcan.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/pencil.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/pencil.png
new file mode 100644
index 0000000..0bfecd5
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/pencil.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/pointerWhiteBoard_menu_rsc.fla b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/pointerWhiteBoard_menu_rsc.fla
new file mode 100644
index 0000000..ecd9bfc
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/pointerWhiteBoard_menu_rsc.fla
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/pointerWhiteBoard_menu_rsc.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/pointerWhiteBoard_menu_rsc.png
new file mode 100644
index 0000000..3a3ee30
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/pointerWhiteBoard_menu_rsc.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/rectangle.fla b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/rectangle.fla
new file mode 100644
index 0000000..f9038d1
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/rectangle.fla
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/rectangle.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/rectangle.png
new file mode 100644
index 0000000..db799f4
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/rectangle.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/text_signature.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/text_signature.png
new file mode 100644
index 0000000..c72fd80
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/text_signature.png
Binary files differ
diff --git a/WebContent/openmeetings/public/themes/basic-theme/whiteboard/uline.png b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/uline.png
new file mode 100644
index 0000000..32914f0
--- /dev/null
+++ b/WebContent/openmeetings/public/themes/basic-theme/whiteboard/uline.png
Binary files differ
diff --git a/WebContent/openmeetings/streams/hibernate/default_interview_image.fla b/WebContent/openmeetings/streams/hibernate/default_interview_image.fla
new file mode 100644
index 0000000..31398dc
--- /dev/null
+++ b/WebContent/openmeetings/streams/hibernate/default_interview_image.fla
Binary files differ
diff --git a/WebContent/openmeetings/streams/hibernate/default_interview_image.jpg b/WebContent/openmeetings/streams/hibernate/default_interview_image.jpg
new file mode 100644
index 0000000..4b0f26b
--- /dev/null
+++ b/WebContent/openmeetings/streams/hibernate/default_interview_image.jpg
Binary files differ
diff --git a/WebContent/openmeetings/streams/hibernate/default_interview_image.png b/WebContent/openmeetings/streams/hibernate/default_interview_image.png
new file mode 100644
index 0000000..e87d640
--- /dev/null
+++ b/WebContent/openmeetings/streams/hibernate/default_interview_image.png
Binary files differ
diff --git a/WebContent/openmeetings/streams/hibernate/one_second.wav b/WebContent/openmeetings/streams/hibernate/one_second.wav
new file mode 100644
index 0000000..24d262a
--- /dev/null
+++ b/WebContent/openmeetings/streams/hibernate/one_second.wav
Binary files differ
diff --git a/WebContent/openmeetings/testingTools/downloadTest b/WebContent/openmeetings/testingTools/downloadTest
new file mode 100644
index 0000000..ee938d3
--- /dev/null
+++ b/WebContent/openmeetings/testingTools/downloadTest
Binary files differ
diff --git a/WebContent/openmeetings/testingTools/jitterTest b/WebContent/openmeetings/testingTools/jitterTest
new file mode 100644
index 0000000..cb61c2e
--- /dev/null
+++ b/WebContent/openmeetings/testingTools/jitterTest
Binary files differ
diff --git a/WebContent/openmeetings/testingTools/pingTest b/WebContent/openmeetings/testingTools/pingTest
new file mode 100644
index 0000000..efa91ce
--- /dev/null
+++ b/WebContent/openmeetings/testingTools/pingTest
Binary files differ
diff --git a/WebContent/openmeetings/theme.xsd b/WebContent/openmeetings/theme.xsd
new file mode 100644
index 0000000..c7a1885
--- /dev/null
+++ b/WebContent/openmeetings/theme.xsd
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

+  <xs:element name="theme">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element maxOccurs="unbounded" ref="color"/>

+        <xs:element maxOccurs="unbounded" ref="resource"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="color">

+    <xs:complexType>

+      <xs:attribute name="description" use="required"/>

+      <xs:attribute name="name" use="required" type="xs:NCName"/>

+      <xs:attribute name="value" use="required" type="xs:NMTOKEN"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="resource">

+    <xs:complexType>

+      <xs:attribute name="description" use="required"/>

+      <xs:attribute name="license" use="required"/>

+      <xs:attribute name="name" use="required" type="xs:NCName"/>

+      <xs:attribute name="src" use="required"/>

+    </xs:complexType>

+  </xs:element>

+</xs:schema>

diff --git a/WebContent/openmeetings/upload/library.xml b/WebContent/openmeetings/upload/library.xml
new file mode 100644
index 0000000..794be23
--- /dev/null
+++ b/WebContent/openmeetings/upload/library.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<presentation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="library.xsd"><originalDocument lastmod="1185461814000" size="240233">Tutorat.pdf</originalDocument><swfDocument lastmod="1185461814000" size="240233">Tutorat.swf</swfDocument><thumbs><thumb lastmod="1185461813000" size="3998">_thumb_pages-000.jpg</thumb><thumb lastmod="1185461813000" size="3855">_thumb_pages-001.jpg</thumb><thumb lastmod="1185461813000" size="4306">_thumb_pages-002.jpg</thumb><thumb lastmod="1185461813000" size="3747">_thumb_pages-003.jpg</thumb><thumb lastmod="1185461813000" size="3162">_thumb_pages-004.jpg</thumb><thumb lastmod="1185461813000" size="3232">_thumb_pages-005.jpg</thumb><thumb lastmod="1185461813000" size="2981">_thumb_pages-006.jpg</thumb><thumb lastmod="1185461813000" size="3126">_thumb_pages-007.jpg</thumb><thumb lastmod="1185461813000" size="4457">_thumb_pages-008.jpg</thumb><thumb lastmod="1185461813000" size="4264">_thumb_pages-009.jpg</thumb><thumb lastmod="1185461813000" size="4263">_thumb_pages-010.jpg</thumb><thumb lastmod="1185461813000" size="3770">_thumb_pages-011.jpg</thumb><thumb lastmod="1185461813000" size="3354">_thumb_pages-012.jpg</thumb><thumb lastmod="1185461813000" size="3006">_thumb_pages-013.jpg</thumb><thumb lastmod="1185461813000" size="3972">_thumb_pages-014.jpg</thumb><thumb lastmod="1185461813000" size="4353">_thumb_pages-015.jpg</thumb><thumb lastmod="1185461813000" size="4184">_thumb_pages-016.jpg</thumb><thumb lastmod="1185461813000" size="4021">_thumb_pages-017.jpg</thumb><thumb lastmod="1185461813000" size="3225">_thumb_pages-018.jpg</thumb><thumb lastmod="1185461813000" size="3847">_thumb_pages-019.jpg</thumb><thumb lastmod="1185461813000" size="3046">_thumb_pages-020.jpg</thumb><thumb lastmod="1185461813000" size="2633">_thumb_pages-021.jpg</thumb><thumb lastmod="1185461813000" size="4001">_thumb_pages-022.jpg</thumb><thumb lastmod="1185461813000" size="4243">_thumb_pages-023.jpg</thumb></thumbs></presentation>
diff --git a/WebContent/openmeetings/upload/library.xsd b/WebContent/openmeetings/upload/library.xsd
new file mode 100644
index 0000000..71f2b7d
--- /dev/null
+++ b/WebContent/openmeetings/upload/library.xsd
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

+  <xs:element name="presentation">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element ref="originalDocument"/>

+        <xs:element ref="swfDocument"/>

+        <xs:element ref="thumbs"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="originalDocument">

+    <xs:complexType>

+      <xs:simpleContent>

+        <xs:extension base="xs:NCName">

+          <xs:attribute name="lastmod" use="required" type="xs:integer"/>

+          <xs:attribute name="size" use="required" type="xs:integer"/>

+        </xs:extension>

+      </xs:simpleContent>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="swfDocument">

+    <xs:complexType>

+      <xs:simpleContent>

+        <xs:extension base="xs:NCName">

+          <xs:attribute name="lastmod" use="required" type="xs:integer"/>

+          <xs:attribute name="size" use="required" type="xs:integer"/>

+        </xs:extension>

+      </xs:simpleContent>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="thumbs">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element maxOccurs="unbounded" ref="thumb"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="thumb">

+    <xs:complexType>

+      <xs:simpleContent>

+        <xs:extension base="xs:NCName">

+          <xs:attribute name="lastmod" use="required" type="xs:integer"/>

+          <xs:attribute name="size" use="required" type="xs:integer"/>

+        </xs:extension>

+      </xs:simpleContent>

+    </xs:complexType>

+  </xs:element>

+</xs:schema>

diff --git a/WebContent/project.xsd b/WebContent/project.xsd
new file mode 100644
index 0000000..31e72df
--- /dev/null
+++ b/WebContent/project.xsd
@@ -0,0 +1,9846 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" 
+  targetNamespace="http://localhost/openlaszlo/project" 
+  xmlns:lzx="http://localhost/openlaszlo/lzx" 
+  xmlns:project="http://localhost/openlaszlo/project">
+<xs:import namespace="http://localhost/openlaszlo/lzx" schemaLocation="lzx.xsd"/><xs:element name="resultPollWin" type="project:resultPollWin" >
+</xs:element>
+  <xs:complexType name="resultPollWin" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="roomPoll" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="resultpollvotes" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="displayedPoll" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="archPolls" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="innerListPagingContent" type="project:innerListPagingContent" >
+</xs:element>
+  <xs:complexType name="innerListPagingContent" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseDateSelector" type="project:baseDateSelector" >
+</xs:element>
+  <xs:complexType name="baseDateSelector" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseDateSelectorComponent">
+      <xs:attribute name="year" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="selecteddate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="selected" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="onyearSel" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onselect" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onmonthSel" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="ondoubleselect" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="monthnames" type="xs:string" default="['Januar','Februar','Maerz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember']" >
+</xs:attribute>
+      <xs:attribute name="firstdayinweek" type="lzx:number" default="$once{ canvas.firstdayinweek }" >
+</xs:attribute>
+      <xs:attribute name="dayNamesLabelIds" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="dayLabelNamesLabelIds" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="labeledTabpane" type="project:labeledTabpane" >
+</xs:element>
+  <xs:complexType name="labeledTabpane" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:tabpane">
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="editRecordStream" type="project:editRecordStream" >
+</xs:element>
+  <xs:complexType name="editRecordStream" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="remoteMessage" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="myvideocontainer" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="isSyncUpdate" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isInterview" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="doDefaultAnimation" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="currentClient" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="chosenSetting" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="chosenMic" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="chosenCam" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="horizontalMenuIconBarPointer" type="project:horizontalMenuIconBarPointer" >
+</xs:element>
+  <xs:complexType name="horizontalMenuIconBarPointer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="errorPopup" type="project:errorPopup" >
+</xs:element>
+  <xs:complexType name="errorPopup" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="makeModal" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="error" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="imageForScreenViewer" type="project:imageForScreenViewer" >
+</xs:element>
+  <xs:complexType name="imageForScreenViewer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:image">
+      <xs:attribute name="username" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="room" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="parentPath" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="moduleName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="fileName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="downloadurl" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="domain" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="baseurl" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="alterModus" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="terminareaForWeekView" type="project:terminareaForWeekView" >
+</xs:element>
+  <xs:complexType name="terminareaForWeekView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="terminObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="description" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="countX" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="calenderObjRef" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="previousNextButton" type="project:previousNextButton" >
+</xs:element>
+  <xs:complexType name="previousNextButton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="organisation_id" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="dateSelectorDay" type="project:dateSelectorDay" >
+</xs:element>
+  <xs:complexType name="dateSelectorDay" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseDateSelectorComponent">
+      <xs:attribute name="daydate" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="confmenucommand" type="project:confmenucommand" >
+</xs:element>
+  <xs:complexType name="confmenucommand" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:command">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseMenuSeperator" type="project:baseMenuSeperator" >
+</xs:element>
+  <xs:complexType name="baseMenuSeperator" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="interviewModerationMiniIcons" type="project:interviewModerationMiniIcons" >
+</xs:element>
+  <xs:complexType name="interviewModerationMiniIcons" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="isSuperModerator" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isMod" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="changeWidthLetterSlider" type="project:changeWidthLetterSlider" >
+</xs:element>
+  <xs:complexType name="changeWidthLetterSlider" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:basePropertySelector">
+      <xs:attribute name="tempValue" type="lzx:number" default="$once{ parent.initialNumber }" >
+</xs:attribute>
+      <xs:attribute name="step" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="onplus" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onminus" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="numberAlign" type="xs:string" default="right" >
+</xs:attribute>
+      <xs:attribute name="minimum" type="lzx:number" default="4" >
+</xs:attribute>
+      <xs:attribute name="maximum" type="lzx:number" default="100" >
+</xs:attribute>
+      <xs:attribute name="initialNumberInit" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="initialNumber" type="lzx:number" default="12" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawChooseModirPlain" type="project:drawChooseModirPlain" >
+</xs:element>
+  <xs:complexType name="drawChooseModirPlain" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseChooseIcon">
+      <xs:attribute name="modi" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isSelectablemodi" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="toolTipCustomPic" type="project:toolTipCustomPic" >
+</xs:element>
+  <xs:complexType name="toolTipCustomPic" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:text">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="simpleLabelButtonTooltip" type="project:simpleLabelButtonTooltip" >
+</xs:element>
+  <xs:complexType name="simpleLabelButtonTooltip" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:button">
+      <xs:attribute name="tooltipId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="mainToolsLeftPanel" type="project:mainToolsLeftPanel" >
+</xs:element>
+  <xs:complexType name="mainToolsLeftPanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseLeftPanel">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="moderationMiniIconsEventUserList" type="project:moderationMiniIconsEventUserList" >
+</xs:element>
+  <xs:complexType name="moderationMiniIconsEventUserList" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="showAvIcons" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="isActive" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="eventUserListTable" type="project:eventUserListTable" >
+</xs:element>
+  <xs:complexType name="eventUserListTable" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="userStatus" type="project:userStatus" >
+</xs:element>
+  <xs:complexType name="userStatus" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="statusText" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="statusColor" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="tableListItem" type="project:tableListItem" >
+</xs:element>
+  <xs:complexType name="tableListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="isdatarecord" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="isaltered" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="changeholder" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basePagingListItem" type="project:basePagingListItem" >
+</xs:element>
+  <xs:complexType name="basePagingListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentListItem">
+      <xs:attribute name="itemId" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="customEdittext" type="project:customEdittext" >
+</xs:element>
+  <xs:complexType name="customEdittext" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:edittext">
+      <xs:attribute name="regexpType" type="xs:string" default="none" >
+</xs:attribute>
+      <xs:attribute name="regexpLabelid" type="lzx:number" >
+</xs:attribute>
+      <xs:attribute name="preText" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="onafterCheck" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+      <xs:attribute name="isvalidInput" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="termindetails" type="project:termindetails" >
+</xs:element>
+  <xs:complexType name="termindetails" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="terminObjRef" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="roomtype" type="xs:string" default="1" >
+</xs:attribute>
+      <xs:attribute name="contact" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="baseUrl" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="arrayMeetingMember" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="appointmentId" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="changeWidthSlider" type="project:changeWidthSlider" >
+</xs:element>
+  <xs:complexType name="changeWidthSlider" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:basePropertySelector">
+      <xs:attribute name="tempValue" type="lzx:number" default="$once{ parent.initialNumber }" >
+</xs:attribute>
+      <xs:attribute name="step" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="onplus" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onminus" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="numberAlign" type="xs:string" default="right" >
+</xs:attribute>
+      <xs:attribute name="minimum" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="maximum" type="lzx:number" default="100" >
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" default="429" >
+</xs:attribute>
+      <xs:attribute name="initialNumberInit" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="initialNumber" type="lzx:number" default="3" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="conferenceBrowser" type="project:conferenceBrowser" >
+</xs:element>
+  <xs:complexType name="conferenceBrowser" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="objMessage" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="initedByUser" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="initURL" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="ignoreNextEvent" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="callBackJSDelegate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="browserhistoryPre" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="browserhistoryPost" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="activityListRestrictedRoomRemote" type="project:activityListRestrictedRoomRemote" >
+</xs:element>
+  <xs:complexType name="activityListRestrictedRoomRemote" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseItemActivityList">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="searchContact" type="project:searchContact" >
+</xs:element>
+  <xs:complexType name="searchContact" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="vorname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="userId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="nachname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="email" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="testingApplication" type="project:testingApplication" >
+</xs:element>
+  <xs:complexType name="testingApplication" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="timerIsRunning" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="recordingsCounter" type="lzx:number" default="5" >
+</xs:attribute>
+      <xs:attribute name="lastRecorded" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isRunning" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="counterDelegate" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="roomListInviteUserItem" type="project:roomListInviteUserItem" >
+</xs:element>
+  <xs:complexType name="roomListInviteUserItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="user_id" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="starttime" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="roomname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="roomid" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="roomType" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="roomClassName" type="xs:string" default="conferenceView" >
+</xs:attribute>
+      <xs:attribute name="publicSID" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="obj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="maxUsers" type="lzx:number" default="4" >
+</xs:attribute>
+      <xs:attribute name="ispublic" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isaudience" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="currentusers" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="checkForMaxUsers" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="fileExplorer" type="project:fileExplorer" >
+</xs:element>
+  <xs:complexType name="fileExplorer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="parentFolderId" type="lzx:number" default="-2" >
+</xs:attribute>
+      <xs:attribute name="onClose" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="isTrashCan" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="currentTrackGroupName" type="xs:string" default="fileExplorer" >
+</xs:attribute>
+      <xs:attribute name="currentDragItem" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="editWhiteboardDefault" type="project:editWhiteboardDefault" >
+</xs:element>
+  <xs:complexType name="editWhiteboardDefault" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="ibutton" type="project:ibutton" >
+</xs:element>
+  <xs:complexType name="ibutton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="overRsrcNumber" type="lzx:number" default="2" >
+</xs:attribute>
+      <xs:attribute name="normalRsrcNumber" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="mouseisdown" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="label" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="downRsrcNumber" type="lzx:number" default="3" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseConferenceRoom" type="project:baseConferenceRoom" >
+</xs:element>
+  <xs:complexType name="baseConferenceRoom" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+      <xs:attribute name="sipNumberIndex" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="sipNumberAsArray" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="roomobj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="meetingTimer" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="eventUserListInner" type="project:eventUserListInner" >
+</xs:element>
+  <xs:complexType name="eventUserListInner" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseRoomInnerList">
+      <xs:attribute name="sortType" type="xs:string" default="alphabetical" >
+</xs:attribute>
+      <xs:attribute name="selectedItem" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="listType" type="xs:string" default="eventUserListTable" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="turnoverlistheaderitemResize" type="project:turnoverlistheaderitemResize" >
+</xs:element>
+  <xs:complexType name="turnoverlistheaderitemResize" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:basicturnoverlistheaderitem">
+      <xs:attribute name="subviewsid" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="minwidth" type="lzx:number" default="2" >
+</xs:attribute>
+      <xs:attribute name="minheight" type="lzx:number" default="10" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="monthView" type="project:monthView" >
+</xs:element>
+  <xs:complexType name="monthView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="year" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="weekdaynames" type="xs:string" default="['So.','Mo.','Di.','Mi.','Do.','Fr.','Sa.']" >
+</xs:attribute>
+      <xs:attribute name="showingdate" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="selecteddate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="monthnames" type="xs:string" default="['Januar','Februar','Maerz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember']" >
+</xs:attribute>
+      <xs:attribute name="firstdayinweek" type="lzx:number" default="$once{ canvas.firstdayinweek }" >
+</xs:attribute>
+      <xs:attribute name="dayNamesLabelIds" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="dayLabelNamesLabelIds" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="monitorListItemView" type="project:monitorListItemView" >
+</xs:element>
+  <xs:complexType name="monitorListItemView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="conferenceMenubar" type="project:conferenceMenubar" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Menu for public/private conference and audience room. This class shows 
+		exit, moderator, file, setteings and poll menu. Those menu items are connected 
+		to each command that has been declared in base/mainMethods.lzx. May 24 2008 
+		commented by onokeiji@gmail.com </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="conferenceMenubar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:menubar">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videoBoard" type="project:videoBoard" >
+</xs:element>
+  <xs:complexType name="videoBoard" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:conferenceBox">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="sponsorsPopUp" type="project:sponsorsPopUp" >
+</xs:element>
+  <xs:complexType name="sponsorsPopUp" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chatTab" type="project:chatTab" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+Chat tabpane class. It contains chatOutput-class and catTabBottom-class.
+This is used in the conference.
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="chatTab" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:simpleBaseTabpane">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="editUserProfile" type="project:editUserProfile" >
+</xs:element>
+  <xs:complexType name="editUserProfile" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentSaveView">
+      <xs:attribute name="user_id" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="userObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="sendObject" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="turnOverListHeaderItem" type="project:turnOverListHeaderItem" >
+</xs:element>
+  <xs:complexType name="turnOverListHeaderItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:simpleLabelButton">
+      <xs:attribute name="subviewsid" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basePropertySelector" type="project:basePropertySelector" >
+</xs:element>
+  <xs:complexType name="basePropertySelector" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="isEnabled" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="enabledView" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="boxPosition" type="xs:string" default="down" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ position of the SliderWin or ColorPicker </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="overAllChatOutput" type="project:overAllChatOutput" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ chat output area. It shows chat history on-init.  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="overAllChatOutput" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="answerPoll" type="project:answerPoll" >
+</xs:element>
+  <xs:complexType name="answerPoll" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="roomScopeName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="roomPollId" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="roomPollAnswerList" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="pollvalue" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="pollTypesId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="pollTypeId" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="pollQuestion" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="pollDate" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="createdBy" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="documentsLoaderIcon" type="project:documentsLoaderIcon" >
+</xs:element>
+  <xs:complexType name="documentsLoaderIcon" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="resourceN" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="labeltext" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isselected" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="remoteWhiteboard" type="project:remoteWhiteboard" >
+</xs:element>
+  <xs:complexType name="remoteWhiteboard" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseDrawSave">
+      <xs:attribute name="uniqueObjectSyncName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="loadingObjectListId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="loadingObjectList" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="loadObjectDelegate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="isStarting" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="fileExplorerItemId" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawPaintTools" type="project:drawPaintTools" >
+</xs:element>
+  <xs:complexType name="drawPaintTools" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="sharedObject" type="project:sharedObject" >
+</xs:element>
+  <xs:complexType name="sharedObject" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="so" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="onStatus" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="monitorList" type="project:monitorList" >
+</xs:element>
+  <xs:complexType name="monitorList" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="selected" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="onselect" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="doubleclickEvent" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="listPresentationFilePDF" type="project:listPresentationFilePDF" >
+</xs:element>
+  <xs:complexType name="listPresentationFilePDF" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseListPresentationItem">
+      <xs:attribute name="swfName" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="pdfname" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="confAdminListItem" type="project:confAdminListItem" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Configuration list. It shows ID-KEY pairs. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="confAdminListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentListItem">
+      <xs:attribute name="configuration_id" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Configuration list. It shows ID-KEY pairs. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="conf_value" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="conf_key" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseVideoStreamDevice" type="project:baseVideoStreamDevice" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	extends the baseVideoStream with functions to catch Device Events
+	this Class uses Events from the Base Class baseVideoStream
+	onmicro and oncamera, which are thrown, once a device was set
+ </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="baseVideoStreamDevice" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseVideoStream">
+      <xs:attribute name="sendMicroStatus" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="sendCameraStatus" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="objMessage" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 
+	Message to send to Clients
+	 </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="micactive" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Shows if there is Activity on the Microphone </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="level" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Audio level, 0-100, the amount of sound detected by this microphone.
+          Reset to 0 when there is no audio (no activity or not allowed).
+          @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="isgreater" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 
+		indicates if the message should be send, you can change the notification 
+		level by changing the loudnessAcitviation in the config.xml
+	 </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="doSendNotification" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="camactive" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Shows if there is Activity on the Camera </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="closableViewLetter" type="project:closableViewLetter" >
+</xs:element>
+  <xs:complexType name="closableViewLetter" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="userListItem" type="project:userListItem" >
+</xs:element>
+  <xs:complexType name="userListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="login" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="lastname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="firstname" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="dragItemFileExplorer" type="project:dragItemFileExplorer" >
+</xs:element>
+  <xs:complexType name="dragItemFileExplorer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="overItem" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="newParentFileExplorerItemId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="moveToHome" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isOwner" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="fileExplorerItemId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="dragItemResource" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="alreadySent" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="attendeeListItem" type="project:attendeeListItem" >
+</xs:element>
+  <xs:complexType name="attendeeListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="userId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="memberId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="lastName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="jNameTimeZone" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="firstName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="email" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="labelTooltip" type="project:labelTooltip" >
+</xs:element>
+  <xs:complexType name="labelTooltip" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="text" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="setContent" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="multiline" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+      <xs:attribute name="ismenubuttonlabel" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="inittwice" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="initByDataPathparent" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="holder" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="browserButton" type="project:browserButton" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ TODO:
+		inprement of history feature
+		add resize feature to labelExplorerBox component
+	</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="browserButton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="enabled" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ TODO:
+		inprement of history feature
+		add resize feature to labelExplorerBox component
+	</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="sharingSession" type="project:sharingSession" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+    View for recorded contents list.
+    When you select 'Recordings' on the top menu, this class shows the list.
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="sharingSession" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="sharingSessionObject" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+    View for recorded contents list.
+    When you select 'Recordings' on the top menu, this class shows the list.
+</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="sharerPublicSID" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="registerToViewers" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="httpSessionStarted" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="currentCursorObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="closeByRemote" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="devmediadevice" type="project:devmediadevice" >
+</xs:element>
+  <xs:complexType name="devmediadevice" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="itemKkk" type="project:itemKkk" >
+</xs:element>
+  <xs:complexType name="itemKkk" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="netparam" type="project:netparam" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+        Net parameter.
+        Element to use inside netremotecall.
+        @todo Document netparam class.
+    </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="netparam" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="value" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The value of the netparam. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="_recorderClickMask" type="project:_recorderClickMask" >
+</xs:element>
+  <xs:complexType name="_recorderClickMask" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawDoAndUndo" type="project:drawDoAndUndo" >
+</xs:element>
+  <xs:complexType name="drawDoAndUndo" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseChooseIcon">
+      <xs:attribute name="doredo" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chatTabItemEmoticons" type="project:chatTabItemEmoticons" >
+</xs:element>
+  <xs:complexType name="chatTabItemEmoticons" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="usertime" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="username" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="usercolor" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="user_id" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="publicSID" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="picture_uri" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="messageObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="message" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="leading" type="lzx:number" default="5" >
+</xs:attribute>
+      <xs:attribute name="isDirectLink" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basePropertyPanel" type="project:basePropertyPanel" >
+</xs:element>
+  <xs:complexType name="basePropertyPanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="title" type="xs:string" default="basePanel" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Title of this window </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+      <xs:attribute name="closable" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ if this Box should be closeable </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="searchUserProfile" type="project:searchUserProfile" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  modules:dashboard </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="searchUserProfile" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="newMessageActive" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="miniIconSmybolExtraIcons" type="project:miniIconSmybolExtraIcons" >
+</xs:element>
+  <xs:complexType name="miniIconSmybolExtraIcons" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="modi" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="innerlistViewParticipentsTable" type="project:innerlistViewParticipentsTable" >
+</xs:element>
+  <xs:complexType name="innerlistViewParticipentsTable" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="lineOnlyColorChoose" type="project:lineOnlyColorChoose" >
+</xs:element>
+  <xs:complexType name="lineOnlyColorChoose" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:basePropertySelector">
+      <xs:attribute name="selectedColorTransformedString" type="xs:string" default="0xFF6600" >
+</xs:attribute>
+      <xs:attribute name="selectedColor" type="lzx:number" default="0xFF6600" >
+</xs:attribute>
+      <xs:attribute name="isopen" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="colorPickRef" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="colorIsEnabled" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="screenSharingDialog" type="project:screenSharingDialog" >
+</xs:element>
+  <xs:complexType name="screenSharingDialog" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:guiPresenter">
+      <xs:attribute name="tObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="lastMouseY" type="lzx:number" default="-1" >
+</xs:attribute>
+      <xs:attribute name="lastMouseX" type="lzx:number" default="-1" >
+</xs:attribute>
+      <xs:attribute name="isWindows" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isStarted" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isMouseOverActive" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isMac" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isLinux" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="initObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="idleDelegate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="doSendEvents" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="currentCursorObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="checkboxIsinited" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="filesPanel" type="project:filesPanel" >
+</xs:element>
+  <xs:complexType name="filesPanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:guiPresenter">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="invitationQuickLoader" type="project:invitationQuickLoader" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="invitationQuickLoader" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="userlang" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="messageRecordingWin" type="project:messageRecordingWin" >
+</xs:element>
+  <xs:complexType name="messageRecordingWin" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:guiPresenter">
+      <xs:attribute name="labelTitleId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="error" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chatOutputRoomsList" type="project:chatOutputRoomsList" >
+</xs:element>
+  <xs:complexType name="chatOutputRoomsList" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="wmlFileExplorerItem" type="project:wmlFileExplorerItem" >
+</xs:element>
+  <xs:complexType name="wmlFileExplorerItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseFileExplorerItem">
+      <xs:attribute name="isWmlFile" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="simplebaseItemActivityList" type="project:simplebaseItemActivityList" >
+</xs:element>
+  <xs:complexType name="simplebaseItemActivityList" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="tStamp" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="rcl" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="message" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseDrawClipArt" type="project:baseDrawClipArt" >
+</xs:element>
+  <xs:complexType name="baseDrawClipArt" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseDrawArrow">
+      <xs:attribute name="minClipArty" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="minClipArtx" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="maxClipArty" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="maxClipArtx" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="deltaClipArty" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="deltaClipArtx" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="currentClipArtRessourceName" type="xs:string" default="icons.png" >
+</xs:attribute>
+      <xs:attribute name="clipArtEndy" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="clipArtEndx" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="interviewConferenceMenubar" type="project:interviewConferenceMenubar" >
+</xs:element>
+  <xs:complexType name="interviewConferenceMenubar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:menubar">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="listFolderDrag" type="project:listFolderDrag" >
+</xs:element>
+  <xs:complexType name="listFolderDrag" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:text">
+      <xs:attribute name="uploadmodul" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isPpt" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="foldername" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="singletonErrorPopup" type="project:singletonErrorPopup" >
+</xs:element>
+  <xs:complexType name="singletonErrorPopup" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:errorPopup">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="backupContent" type="project:backupContent" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Backup module for admin. It can export or import user account data as xml-file. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="backupContent" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="iframeView" type="project:iframeView" >
+</xs:element>
+  <xs:complexType name="iframeView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="isrc" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="iname" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="iid" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="iFrameJsStack" type="xs:string" default="javascript:" >
+</xs:attribute>
+      <xs:attribute name="createIFrame_callbackMax" type="lzx:number" default="1000" >
+</xs:attribute>
+      <xs:attribute name="createIFrame_callbackCounter" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="createIFrameDone_attr" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="callbackTimerDelay" type="lzx:number" default="100" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="confAdmin" type="project:confAdmin" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Configuration module for ADMIN </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="confAdmin" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="labelerrorPopup" type="project:labelerrorPopup" >
+</xs:element>
+  <xs:complexType name="labelerrorPopup" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:errorPopup">
+      <xs:attribute name="errorlabelid" type="lzx:number" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawViewInner" type="project:drawViewInner" >
+</xs:element>
+  <xs:complexType name="drawViewInner" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:drawview">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="dateSelectorDayHeader" type="project:dateSelectorDayHeader" >
+</xs:element>
+  <xs:complexType name="dateSelectorDayHeader" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseDateSelectorComponent">
+      <xs:attribute name="daynumber" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="labelPanel" type="project:labelPanel" >
+</xs:element>
+  <xs:complexType name="labelPanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:basePanel">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="weekbkgnd" type="project:weekbkgnd" >
+</xs:element>
+  <xs:complexType name="weekbkgnd" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="innerlistView" type="project:innerlistView" >
+</xs:element>
+  <xs:complexType name="innerlistView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="addExternalAttendee" type="project:addExternalAttendee" >
+</xs:element>
+  <xs:complexType name="addExternalAttendee" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="selectionActive" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="loginWeb" type="project:loginWeb" >
+</xs:element>
+  <xs:complexType name="loginWeb" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:explorerBox">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="applyForModeration" type="project:applyForModeration" >
+</xs:element>
+  <xs:complexType name="applyForModeration" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="applymessage" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="guiPresenter" type="project:guiPresenter" >
+</xs:element>
+  <xs:complexType name="guiPresenter" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="title" type="xs:string" default="defaulttitle" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The Title of this Box </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="resizeable" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ if this Box should be resizeable  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onresized" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ this Event will be triggered after resizing </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onclose" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the Event will be thrown if you close the Box </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onactivate" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the Event will be thrown if you do click on it and drag </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="minimized" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="minimizable" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="maximizable" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="maxi_y" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="maxi_x" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="maxi_width" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="maxi_height" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+      <xs:attribute name="isresizeing" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="ismaximized" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ if this Box should be resizeable  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="initialHeight" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="hasshadow" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="dockingbarrier" type="lzx:number" default="15" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Hard to explain but its clear if you play around 
+		with that. Its the number of minimum pixels before 
+		the "docking" effect will be there </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="docking" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Can this Box be docked to others and 
+			the width/height of parent compoent barrier </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="customMinimizeMethod" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="closable" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ if this Box should be closeable </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="editUserContacts" type="project:editUserContacts" >
+</xs:element>
+  <xs:complexType name="editUserContacts" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="contactContent" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="parentResultPollBalk" type="project:parentResultPollBalk" >
+</xs:element>
+  <xs:complexType name="parentResultPollBalk" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="textA" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="newX" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="newPercent" type="xs:string" default="0%" >
+</xs:attribute>
+      <xs:attribute name="answer" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="activityListRestrictedRoomScreen" type="project:activityListRestrictedRoomScreen" >
+</xs:element>
+  <xs:complexType name="activityListRestrictedRoomScreen" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseItemActivityList">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="roomClient" type="project:roomClient" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Admin module to configure the Conference or Audience room.</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="roomClient" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="questionCheckbox" type="project:questionCheckbox" >
+</xs:element>
+  <xs:complexType name="questionCheckbox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="valBool" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="calendar" type="project:calendar" >
+</xs:element>
+  <xs:complexType name="calendar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+      <xs:attribute name="terminareaObjRef" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="terminObjRef" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="terminObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="selecteddate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="detailsInited" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="currentSelection" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="contact" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="appointmentId" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basePanel" type="project:basePanel" >
+</xs:element>
+  <xs:complexType name="basePanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseBoundingBorderView">
+      <xs:attribute name="title" type="xs:string" default="basePanel" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Title of this window </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+      <xs:attribute name="closable" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ if this Box should be closeable </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="rootFLVExplorerItem" type="project:rootFLVExplorerItem" >
+</xs:element>
+  <xs:complexType name="rootFLVExplorerItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseFLVExplorerItem">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="rootFileExplorerItem" type="project:rootFileExplorerItem" >
+</xs:element>
+  <xs:complexType name="rootFileExplorerItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseFileExplorerItem">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basepanel" type="project:basepanel" >
+</xs:element>
+  <xs:complexType name="basepanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="simpleTurnOverList" type="project:simpleTurnOverList" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ common simpleTurnOverList view class. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="simpleTurnOverList" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="ondblclickedItem" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="mainBgColor" type="xs:string" default="0xEEF0EB" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="lzRecordingsViewMain" type="project:lzRecordingsViewMain" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	View for recorded contents list.
+	When you select 'Recordings' on the top menu, this class shows the list.
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="lzRecordingsViewMain" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:conferenceBox">
+      <xs:attribute name="timerDelegateStarted" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="timerDelegate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="rightTime" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="right" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="recordingName" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	View for recorded contents list.
+	When you select 'Recordings' on the top menu, this class shows the list.
+</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="recordingLog" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="leftTime" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="left" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="isPaused" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="initW" type="lzx:number" default="640" >
+</xs:attribute>
+      <xs:attribute name="initH" type="lzx:number" default="480" >
+</xs:attribute>
+      <xs:attribute name="flvRecordingId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="deltaInSeconds" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="roomValueForm" type="project:roomValueForm" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ configure value for roomadmin module </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="roomValueForm" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentSaveView">
+      <xs:attribute name="sendObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="rooms_id" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ configure value for roomadmin module </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="roomsObj" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="dateSelectorMonth" type="project:dateSelectorMonth" >
+</xs:element>
+  <xs:complexType name="dateSelectorMonth" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseDateSelectorComponent">
+      <xs:attribute name="month" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="firstweekNumber" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="currentMonthName" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="colorPot" type="project:colorPot" >
+</xs:element>
+  <xs:complexType name="colorPot" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="mycolorString" type="xs:string" default="0x000000" >
+</xs:attribute>
+      <xs:attribute name="mycolor" type="lzx:color" default="0x000000" >
+</xs:attribute>
+      <xs:attribute name="listener" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="userAdminListItem" type="project:userAdminListItem" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Existing user list. used by userAdmin only </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="userAdminListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentListItem">
+      <xs:attribute name="user_id" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Existing user list. used by userAdmin only </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="login" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="lastname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="firstname" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="participentListItem" type="project:participentListItem" >
+</xs:element>
+  <xs:complexType name="participentListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="userroom" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="username" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="user_id" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="streamid" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="publicSID" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="lastname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isSuperModerator" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isMod" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="formatedDate" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="firstname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="connectedSince" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="canRemote" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="turnoverlistheaderitem" type="project:turnoverlistheaderitem" >
+</xs:element>
+  <xs:complexType name="turnoverlistheaderitem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:basicturnoverlistheaderitem">
+      <xs:attribute name="subviewsid" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chooseDrawAreaObjectWindow" type="project:chooseDrawAreaObjectWindow" >
+</xs:element>
+  <xs:complexType name="chooseDrawAreaObjectWindow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:explorerBox">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="listV" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="restrictedUserList" type="project:restrictedUserList" >
+</xs:element>
+  <xs:complexType name="restrictedUserList" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="organisation_id" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="colorArray" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ colors for each user </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="broadCastViewRef" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ holds a references to the videoview which is broadcasting </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="applyDefaultModeration" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="allowUserQuestions" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="monitorSubListItem" type="project:monitorSubListItem" >
+</xs:element>
+  <xs:complexType name="monitorSubListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="textitem" type="xs:string" default="def" >
+</xs:attribute>
+      <xs:attribute name="lableid" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="itemid" type="xs:string" default="def" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="turnOverListHeaderItemSimple" type="project:turnOverListHeaderItemSimple" >
+</xs:element>
+  <xs:complexType name="turnOverListHeaderItemSimple" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:simpleLabelButton">
+      <xs:attribute name="pathOrder" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="asc" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="labelBlueButton" type="project:labelBlueButton" >
+</xs:element>
+  <xs:complexType name="labelBlueButton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:blueButton">
+      <xs:attribute name="labelid" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="turnoverlistheaderitemResizeWizzardRefresh" type="project:turnoverlistheaderitemResizeWizzardRefresh" >
+</xs:element>
+  <xs:complexType name="turnoverlistheaderitemResizeWizzardRefresh" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:basicturnoverlistheaderitem">
+      <xs:attribute name="subviewsid" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="minwidth" type="lzx:number" default="2" >
+</xs:attribute>
+      <xs:attribute name="minheight" type="lzx:number" default="10" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="openmeetingsTabButtonBackground" type="project:openmeetingsTabButtonBackground" >
+</xs:element>
+  <xs:complexType name="openmeetingsTabButtonBackground" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:roundRectGradient">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="sharingScreenImage" type="project:sharingScreenImage" >
+</xs:element>
+  <xs:complexType name="sharingScreenImage" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:image">
+      <xs:attribute name="imageCompleted" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="lzRecordContent" type="project:lzRecordContent" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	View for recorded contents list.
+	When you select 'Recordings' on the top menu, this class shows the list.
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="lzRecordContent" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="subMenuIconToolsToUpload" type="project:subMenuIconToolsToUpload" >
+</xs:element>
+  <xs:complexType name="subMenuIconToolsToUpload" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:guiPresenter">
+      <xs:attribute name="refToolbar" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="currentSelected" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="currentContainer" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="labelExplorerBox" type="project:labelExplorerBox" >
+</xs:element>
+  <xs:complexType name="labelExplorerBox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:explorerBox">
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="userSettings" type="project:userSettings" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ User Profile Setting Panel </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="userSettings" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+      <xs:attribute name="currentSelected" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="pendingContactsListItem" type="project:pendingContactsListItem" >
+</xs:element>
+  <xs:complexType name="pendingContactsListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:basePagingListItem">
+      <xs:attribute name="username" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="searchUserProfileImage" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="documentsTabBar" type="project:documentsTabBar" >
+</xs:element>
+  <xs:complexType name="documentsTabBar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="currentItem" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="paintMenu" type="project:paintMenu" >
+</xs:element>
+  <xs:complexType name="paintMenu" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseToolbarMenu">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseErrorDialog" type="project:baseErrorDialog" >
+</xs:element>
+  <xs:complexType name="baseErrorDialog" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="errortext" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="errorid" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="addInfo" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseListPresentationItemExplorer" type="project:baseListPresentationItemExplorer" >
+</xs:element>
+  <xs:complexType name="baseListPresentationItemExplorer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="uploadmoduleimgfolder" type="xs:string" default="$once{ canvas.uploadmoduleimgfolder }" >
+</xs:attribute>
+      <xs:attribute name="uploadmodul" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="selectable" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="isselected" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isoriginal" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="interviewListInner" type="project:interviewListInner" >
+</xs:element>
+  <xs:complexType name="interviewListInner" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseRoomInnerList">
+      <xs:attribute name="sortType" type="xs:string" default="alphabetical" >
+</xs:attribute>
+      <xs:attribute name="selectedItem" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseToolbarMenu" type="project:baseToolbarMenu" >
+</xs:element>
+  <xs:complexType name="baseToolbarMenu" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="selectedButton" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videoBoardAudience" type="project:videoBoardAudience" >
+</xs:element>
+  <xs:complexType name="videoBoardAudience" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:conferenceBox">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="rpcErrorDialog" type="project:rpcErrorDialog" >
+</xs:element>
+  <xs:complexType name="rpcErrorDialog" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:errorDialog">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="listPresentationFileOrigExplorer" type="project:listPresentationFileOrigExplorer" >
+</xs:element>
+  <xs:complexType name="listPresentationFileOrigExplorer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:listPresentationFilePDFExplorer">
+      <xs:attribute name="originalName" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="folderFLVExplorerItem" type="project:folderFLVExplorerItem" >
+</xs:element>
+  <xs:complexType name="folderFLVExplorerItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseFLVExplorerItem">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="autoLoader" type="project:autoLoader" >
+</xs:element>
+  <xs:complexType name="autoLoader" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="maxwidth" type="lzx:number" default="100" >
+</xs:attribute>
+      <xs:attribute name="maxsteps" type="lzx:number" default="19" >
+</xs:attribute>
+      <xs:attribute name="currentsteps" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="logoutConfirm" type="project:logoutConfirm" >
+</xs:element>
+  <xs:complexType name="logoutConfirm" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="objectsToClean" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="boxInitEffect" type="project:boxInitEffect" >
+</xs:element>
+  <xs:complexType name="boxInitEffect" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="ziely" type="lzx:number" default="200" >
+</xs:attribute>
+      <xs:attribute name="zielx" type="lzx:number" default="200" >
+</xs:attribute>
+      <xs:attribute name="zielwidth" type="lzx:number" default="100" >
+</xs:attribute>
+      <xs:attribute name="zielheight" type="lzx:number" default="100" >
+</xs:attribute>
+      <xs:attribute name="objRef" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="appointmentNotificationPopUp" type="project:appointmentNotificationPopUp" >
+</xs:element>
+  <xs:complexType name="appointmentNotificationPopUp" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:guiPresenter">
+      <xs:attribute name="roomobj" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="eventRoomSidebar" type="project:eventRoomSidebar" >
+</xs:element>
+  <xs:complexType name="eventRoomSidebar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="selected" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="restricted" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="listType" type="xs:string" default="eventUserListTable" >
+</xs:attribute>
+      <xs:attribute name="isOpen" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="borderedInputtext" type="project:borderedInputtext" >
+</xs:element>
+  <xs:complexType name="borderedInputtext" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="tvalue" type="xs:string" default="default" >
+</xs:attribute>
+      <xs:attribute name="text" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="sendchange" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="preText" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="multiline" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="maxlength" type="lzx:number" default="null" >
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+      <xs:attribute name="editable" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="checkIsNumber" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="checkIsDouble" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="monthViewAlt" type="project:monthViewAlt" >
+</xs:element>
+  <xs:complexType name="monthViewAlt" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="calendarTabs" type="project:calendarTabs" >
+</xs:element>
+  <xs:complexType name="calendarTabs" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:tabslider">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basePropertyPanelWhiteboard" type="project:basePropertyPanelWhiteboard" >
+</xs:element>
+  <xs:complexType name="basePropertyPanelWhiteboard" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="title" type="xs:string" default="basePanel" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Title of this window </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="usersTable" type="project:usersTable" >
+</xs:element>
+  <xs:complexType name="usersTable" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videoObjectBroadcast" type="project:videoObjectBroadcast" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	contains microphone and camera for broadcasting,
+	this class is used only in Meetings-Modus
+ </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="videoObjectBroadcast" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseVideoObject">
+      <xs:attribute name="ratioW" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	contains microphone and camera for broadcasting,
+	this class is used only in Meetings-Modus
+ </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ratioH" type="xs:string" default="1" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="selectedDayLook" type="project:selectedDayLook" >
+</xs:element>
+  <xs:complexType name="selectedDayLook" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="open" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="dayview" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="borderedMultiInputtext" type="project:borderedMultiInputtext" >
+</xs:element>
+  <xs:complexType name="borderedMultiInputtext" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="tvalue" type="xs:string" default="default" >
+</xs:attribute>
+      <xs:attribute name="text" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="sendchange" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="multiline" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="maxlength" type="lzx:number" default="null" >
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+      <xs:attribute name="editable" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="checkIsNumber" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="checkIsDouble" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="cursorObject" type="project:cursorObject" >
+</xs:element>
+  <xs:complexType name="cursorObject" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videoObjectPlayScreenShare" type="project:videoObjectPlayScreenShare" >
+</xs:element>
+  <xs:complexType name="videoObjectPlayScreenShare" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="currentY" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="currentX" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="fixedFileExplorerWhiteboardPanel" type="project:fixedFileExplorerWhiteboardPanel" >
+</xs:element>
+  <xs:complexType name="fixedFileExplorerWhiteboardPanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:basePropertyPanelWhiteboard">
+      <xs:attribute name="whiteboardId" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="_labelMenu" type="project:_labelMenu" >
+</xs:element>
+  <xs:complexType name="_labelMenu" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:menu">
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="userTagView" type="project:userTagView" >
+</xs:element>
+  <xs:complexType name="userTagView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:text">
+      <xs:attribute name="userroom" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="username" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="user_id" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="streamid" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="lastname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isMod" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="formatedDate" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="firstname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="connectedSince" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="customInputtext" type="project:customInputtext" >
+</xs:element>
+  <xs:complexType name="customInputtext" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:inputtext">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="singletonErrorPopupHolder" type="project:singletonErrorPopupHolder" >
+</xs:element>
+  <xs:complexType name="singletonErrorPopupHolder" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="error" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="dialogPresent" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="dialogObject" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="panelBoundBox" type="project:panelBoundBox" >
+</xs:element>
+  <xs:complexType name="panelBoundBox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:drawview">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="turnOverTextItem" type="project:turnOverTextItem" >
+</xs:element>
+  <xs:complexType name="turnOverTextItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:text">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="simpleLabelRoundButtonIcon" type="project:simpleLabelRoundButtonIcon" >
+</xs:element>
+  <xs:complexType name="simpleLabelRoundButtonIcon" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:simpleLabelRoundButton">
+      <xs:attribute name="tlabelid" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="ressourceIcon" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="incomingScreenSharing" type="project:incomingScreenSharing" >
+</xs:element>
+  <xs:complexType name="incomingScreenSharing" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="messageObj" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseChooseIconFLVView" type="project:baseChooseIconFLVView" >
+</xs:element>
+  <xs:complexType name="baseChooseIconFLVView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="resourceN" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="isselected" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="menuListItemUserProfile" type="project:menuListItemUserProfile" >
+</xs:element>
+  <xs:complexType name="menuListItemUserProfile" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="textvalue" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="textLabel" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="selected" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="list" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+      <xs:attribute name="labelLabelid" type="lzx:number" default="-1" >
+</xs:attribute>
+      <xs:attribute name="isopen" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isleaf" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="action" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chatParticipantsInviteConference" type="project:chatParticipantsInviteConference" >
+</xs:element>
+  <xs:complexType name="chatParticipantsInviteConference" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:guiPresenter">
+      <xs:attribute name="user_id" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="publicSID" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="rtmpConnection" type="project:rtmpConnection" >
+</xs:element>
+  <xs:complexType name="rtmpConnection" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="src" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="onerror" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onconnect" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="lastCalled" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="debug" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="resultPollBalk" type="project:resultPollBalk" >
+</xs:element>
+  <xs:complexType name="resultPollBalk" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="orgAdminChooseUserWindow" type="project:orgAdminChooseUserWindow" >
+</xs:element>
+  <xs:complexType name="orgAdminChooseUserWindow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="usersId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="refObjectDialog" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="organisation_id" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="isOrgUserAddForm" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="conferenceRoomSidebarTabButton" type="project:conferenceRoomSidebarTabButton" >
+</xs:element>
+  <xs:complexType name="conferenceRoomSidebarTabButton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="selected" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="currentIconRsc" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="newPrivateMessageFolder" type="project:newPrivateMessageFolder" >
+</xs:element>
+  <xs:complexType name="newPrivateMessageFolder" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:guiPresenter">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="folderName" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawAreaObjectCombobox" type="project:drawAreaObjectCombobox" >
+</xs:element>
+  <xs:complexType name="drawAreaObjectCombobox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecombobox">
+      <xs:attribute name="preselectedName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="modus" type="xs:string" default="${ this.parent.canvas._drawarea.drawmodus }" >
+</xs:attribute>
+      <xs:attribute name="ObjectByName" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawAreaObjectValueBox" type="project:drawAreaObjectValueBox" >
+</xs:element>
+  <xs:complexType name="drawAreaObjectValueBox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:borderedInputtext">
+      <xs:attribute name="posName" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseFLVExplorerItem" type="project:baseFLVExplorerItem" >
+</xs:element>
+  <xs:complexType name="baseFLVExplorerItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="singleClickStarted" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="singleClickDelegate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="selected" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="refObjListRoot" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="open" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="mouseDownClickUsed" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="mouseDownClickDelegate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="isTrashCan" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isRoot" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isPresentation" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isOwner" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isMouseDownDragAction" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isImage" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isFolder" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="fileName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="fileIcon" type="xs:string" default="string" >
+</xs:attribute>
+      <xs:attribute name="fileHash" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="fileExplorerItemId" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videoObjectTestBroadcast" type="project:videoObjectTestBroadcast" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	contains microphone and camera for broadcasting,
+	this class is used only in Meetings-Modus
+ </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="videoObjectTestBroadcast" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="sendMicroStatus" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="sendCameraStatus" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	contains microphone and camera for broadcasting,
+	this class is used only in Meetings-Modus
+ </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videoContainerStream" type="project:videoContainerStream" >
+</xs:element>
+  <xs:complexType name="videoContainerStream" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawChooseSizeRadio" type="project:drawChooseSizeRadio" >
+</xs:element>
+  <xs:complexType name="drawChooseSizeRadio" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:radiogroup">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="converterPopup" type="project:converterPopup" >
+</xs:element>
+  <xs:complexType name="converterPopup" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="error" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="activityListRestrictedRoomA" type="project:activityListRestrictedRoomA" >
+</xs:element>
+  <xs:complexType name="activityListRestrictedRoomA" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseItemActivityList">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videoFileExplorerItem" type="project:videoFileExplorerItem" >
+</xs:element>
+  <xs:complexType name="videoFileExplorerItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseFileExplorerItem">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="turnOverList" type="project:turnOverList" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ common TurnOverList view class. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="turnOverList" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="step" type="lzx:number" default="100" >
+</xs:attribute>
+      <xs:attribute name="start" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ common TurnOverList view class. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="sendEventToReload" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="records" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="orderby" type="xs:string" default="firstname" >
+</xs:attribute>
+      <xs:attribute name="ondblclickedItem" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="oncallpre" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="oncallnext" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onUpdateOrder" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="mainBgColor" type="xs:string" default="0xEEF0EB" >
+</xs:attribute>
+      <xs:attribute name="currentSelectedOrder" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="asc" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="languagesEditor" type="project:languagesEditor" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Language editor module. You can edit the label for your language. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="languagesEditor" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+      <xs:attribute name="tempValue" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="language_id" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="xmlCrmTooltipMulti" type="project:xmlCrmTooltipMulti" >
+</xs:element>
+  <xs:complexType name="xmlCrmTooltipMulti" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="text" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="holder" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="flvExplorerItem" type="project:flvExplorerItem" >
+</xs:element>
+  <xs:complexType name="flvExplorerItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseFLVExplorerItem">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="pendingUserStatus" type="project:pendingUserStatus" >
+</xs:element>
+  <xs:complexType name="pendingUserStatus" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="userContactId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="pending" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="message" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="userActivityItem" type="project:userActivityItem" >
+</xs:element>
+  <xs:complexType name="userActivityItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="userText" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawDrawarrowTools" type="project:drawDrawarrowTools" >
+</xs:element>
+  <xs:complexType name="drawDrawarrowTools" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="hibRtmpConnection" type="project:hibRtmpConnection" >
+</xs:element>
+  <xs:complexType name="hibRtmpConnection" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:rtmpConnection">
+      <xs:attribute name="userobject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="userlang" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="userScope" type="xs:string" default="hibernate" >
+</xs:attribute>
+      <xs:attribute name="testAppLoading" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="step" type="lzx:number" default="100" >
+</xs:attribute>
+      <xs:attribute name="start" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="sipLoader" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="showKickMessage" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="showFullMessage" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="roomtype" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="room_id" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="refreshDelegate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="reconnectionAction" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="reconnectedRoomInstance" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="reconnectObjRef" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="reconnectAfterRoomleft" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="publicSIDOfNewModerator" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="publicSID" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="protocollPort" type="xs:string" default="$once{ canvas.rtmpport }" >
+</xs:attribute>
+      <xs:attribute name="protocollName" type="xs:string" default="rtmp" >
+</xs:attribute>
+      <xs:attribute name="mute" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="modus" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="messageObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="max" type="lzx:number" default="1300" >
+</xs:attribute>
+      <xs:attribute name="loaderVar" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="isClosed" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="isAllowedToBroadCastAV" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="interviewPodId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="initlanguageLoaded" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="currentroomid" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="currentdomainObj" type="xs:string" default="domain1" >
+</xs:attribute>
+      <xs:attribute name="currentdomain" type="xs:string" default="domain1" >
+</xs:attribute>
+      <xs:attribute name="currentInvitation" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the current Invitation-Object </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="currentHashSession" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="counterror" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="conferencedomain" type="xs:string" default="public" >
+</xs:attribute>
+      <xs:attribute name="canShare" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="canRemote" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="canDraw" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="avsettings" type="xs:string" default="av" >
+</xs:attribute>
+      <xs:attribute name="UserID" type="lzx:number" default="1" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseDrawRect" type="project:baseDrawRect" >
+</xs:element>
+  <xs:complexType name="baseDrawRect" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseDrawSelect">
+      <xs:attribute name="currentrectanglestrokeFillDis" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="currentrectanglestrokeFill" type="xs:string" default="0xFFFF33" >
+</xs:attribute>
+      <xs:attribute name="currentrectanglestrokeDis" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="currentrectanglestroke" type="xs:string" default="0xFF6600" >
+</xs:attribute>
+      <xs:attribute name="currentrectangleineWidth" type="lzx:number" default="4" >
+</xs:attribute>
+      <xs:attribute name="currentrectangleOpacity" type="lzx:number" default="1" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="userActivityDevider" type="project:userActivityDevider" >
+</xs:element>
+  <xs:complexType name="userActivityDevider" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="deviderText" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="paintToolsPalette" type="project:paintToolsPalette" >
+</xs:element>
+  <xs:complexType name="paintToolsPalette" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="addAttendee" type="project:addAttendee" >
+</xs:element>
+  <xs:complexType name="addAttendee" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="isSuperModerator" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="testSetup" type="project:testSetup" >
+</xs:element>
+  <xs:complexType name="testSetup" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="roomObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="roomClassName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isDirectLink" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="forceTest" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="dragItemFLVExplorer" type="project:dragItemFLVExplorer" >
+</xs:element>
+  <xs:complexType name="dragItemFLVExplorer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="overItem" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="newParentFileExplorerItemId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="isOwner" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="fileExplorerItemId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="dragItemResource" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="alreadySent" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="appointmentMonth" type="project:appointmentMonth" >
+</xs:element>
+  <xs:complexType name="appointmentMonth" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="terminObj" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="textbox" type="project:textbox" >
+</xs:element>
+  <xs:complexType name="textbox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="bordercolor" type="xs:string" default="0x000000" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chatInnerSmily" type="project:chatInnerSmily" >
+</xs:element>
+  <xs:complexType name="chatInnerSmily" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="iconlabel" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="rssFeedListItem" type="project:rssFeedListItem" >
+</xs:element>
+  <xs:complexType name="rssFeedListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="updated" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="titel" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="summary" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="link" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="listPresentationThumb" type="project:listPresentationThumb" >
+</xs:element>
+  <xs:complexType name="listPresentationThumb" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseListPresentationItem">
+      <xs:attribute name="thumbname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="no" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="aquaButton" type="project:aquaButton" >
+</xs:element>
+  <xs:complexType name="aquaButton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="labelTextWidthTooltip" type="project:labelTextWidthTooltip" >
+</xs:element>
+  <xs:complexType name="labelTextWidthTooltip" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:text">
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+      <xs:attribute name="labelLabelid" type="lzx:number" default="-1" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="participents" type="project:participents" >
+</xs:element>
+  <xs:complexType name="participents" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="userNewVideoContainer" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="organisation_id" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="colorArray" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ colors for each user </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="broadCastViewRef" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ holds a references to the videoview which is broadcasting </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="applyDefaultModeration" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="privateMessagItem" type="project:privateMessagItem" >
+</xs:element>
+  <xs:complexType name="privateMessagItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:basePagingListItem">
+      <xs:attribute name="subject" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="strTime" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="itemSelected" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isRead" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="from" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="activityListRestrictedRoomV" type="project:activityListRestrictedRoomV" >
+</xs:element>
+  <xs:complexType name="activityListRestrictedRoomV" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseItemActivityList">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="miniIcons" type="project:miniIcons" >
+</xs:element>
+  <xs:complexType name="miniIcons" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="eventSelectorbar" type="project:eventSelectorbar" >
+</xs:element>
+  <xs:complexType name="eventSelectorbar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="yoff" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="xoff" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="startDragDel" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="startDate2" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="startDate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="snapEdge" type="xs:string" default="30" >
+</xs:attribute>
+      <xs:attribute name="origx" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="obarx" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="mdel" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="hidedel" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="freedragging" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="endDate2" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="endDate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="dragging" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="clipping" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="clipdel" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="baseUrl" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="appointementId" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="newPrivateMessage" type="project:newPrivateMessage" >
+</xs:element>
+  <xs:complexType name="newPrivateMessage" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:guiPresenter">
+      <xs:attribute name="user_id" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="userObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="sendUpdateText" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="sendUpdateAttr" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="sendSingleUpdateText" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="receipents" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="parentMessageId" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="labeltabelement" type="project:labeltabelement" >
+</xs:element>
+  <xs:complexType name="labeltabelement" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:tabelement">
+      <xs:attribute name="labelid" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseturnOverListPaged" type="project:baseturnOverListPaged" >
+</xs:element>
+  <xs:complexType name="baseturnOverListPaged" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="step" type="lzx:number" default="100" >
+</xs:attribute>
+      <xs:attribute name="start" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="showTopBar" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="showHScrollbar" type="xs:string" default="visible" >
+</xs:attribute>
+      <xs:attribute name="selected" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="rerender" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="renderList" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="records" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="orderby" type="xs:string" default="firstname" >
+</xs:attribute>
+      <xs:attribute name="oncallpre" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="oncallnext" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onScrollItem" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onNextScrollItem" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onMoveList" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="multiselect" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="menuBarXIndent" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="listLabelId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="listItemName" type="xs:string" default="basePagingListItem" >
+</xs:attribute>
+      <xs:attribute name="itemHeight" type="lzx:number" default="20" >
+</xs:attribute>
+      <xs:attribute name="headerHeight" type="lzx:number" default="20" >
+</xs:attribute>
+      <xs:attribute name="asc" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawViewNew" type="project:drawViewNew" >
+</xs:element>
+  <xs:complexType name="drawViewNew" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:drawview">
+      <xs:attribute name="typeOfObject" type="xs:string" default="paint" >
+</xs:attribute>
+      <xs:attribute name="initwidth" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="initheight" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="mainToolsHPanelSeperator" type="project:mainToolsHPanelSeperator" >
+</xs:element>
+  <xs:complexType name="mainToolsHPanelSeperator" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="turnOverListOrderedPaged" type="project:turnOverListOrderedPaged" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ common TurnOverList view class. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="turnOverListOrderedPaged" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:turnOverListPaged">
+      <xs:attribute name="onUpdateOrder" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="currentSelectedOrder" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ common TurnOverList view class. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="iconStepButtonWizzard" type="project:iconStepButtonWizzard" >
+</xs:element>
+  <xs:complexType name="iconStepButtonWizzard" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="resourceViewName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseRoomInnerList" type="project:baseRoomInnerList" >
+</xs:element>
+  <xs:complexType name="baseRoomInnerList" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="colorArray" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="roundRectGradient" type="project:roundRectGradient" >
+</xs:element>
+  <xs:complexType name="roundRectGradient" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:drawview">
+      <xs:attribute name="oninsettop" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="oninsetright" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="oninsetleft" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="oninsetbottom" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="oninset" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="oncomplete" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="insettop" type="lzx:size" default="${null}" >
+</xs:attribute>
+      <xs:attribute name="insetright" type="lzx:size" default="${null}" >
+</xs:attribute>
+      <xs:attribute name="insetleft" type="lzx:size" default="${null}" >
+</xs:attribute>
+      <xs:attribute name="insetbottom" type="lzx:size" default="${null}" >
+</xs:attribute>
+      <xs:attribute name="inset" type="lzx:size" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The margin between the outside view and the content view </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="boxShadowY" type="xs:string" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The x offset of the box shadow.  The box shadow is not drawn by default.
+            Specify a boxShadowColor in order to draw it. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="boxShadowX" type="xs:string" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The x offset of the box shadow.  The box shadow is not drawn by default.
+            Specify a boxShadowColor in order to draw it. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="boxShadowOpacity" type="xs:string" default="0.5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The box shadow opacity. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="boxShadowColor" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The box shadow color.  If this is specified, a box shadow is drawn.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderWidth" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The width of the border.  If this is zero, no frame is drawn. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderRadius" type="xs:string" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The rounding radius of the border corners.  Because the default
+            join type is a round join, even a radius of zero will product some
+            rounding. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderOpacity" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The border opacity </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderColor" type="lzx:color" default="black" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The border color </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="backgroundStopOpacity" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The background stop opacity.  This defaults to one (opaque) unless the
+            stop color is not specified and the start color is, in which case it
+            defaults to zero (fully transparent). </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="backgroundStopColor" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The background stop color.  This is the color that is drawn at the
+            bottom or right of the view, depending on the value of
+            backgroundGradientOrientation.  See the documentation for
+            backgroundStartColor for additional documentation. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="backgroundStartOpacity" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The background start opacity.  This defaults to one (opaque) unless the
+            start color is not specified and the stop color is, in which case it
+            defaults to zero (fully transparent). </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="backgroundStartColor" type="lzx:color" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The background start color.  This is the color that is drawn at
+            the top or left of the view, depending on the value of
+            backgroundGradientOrientation.  If this and the backround stop color
+            are specified, a gradient background is drawn in the direction specified
+            by backgroundGradientOrientation.  If only one of the background start
+            and stop color are specified, a gradient of the same color that fades to
+            transparent at the unspecified end is drawn.  If a box shadow is drawn,
+            the background defaults to white.  Specify a start and stop opacity to
+            suppress this behavior. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="backgroundGradientOrientation" type="xs:string" default="vertical" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The background gradient orientation.  One of 'vertical' (the default)
+            and 'horizontal'. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="errorPopupUserInfo" type="project:errorPopupUserInfo" >
+</xs:element>
+  <xs:complexType name="errorPopupUserInfo" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="user" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="error" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawEllipseTools" type="project:drawEllipseTools" >
+</xs:element>
+  <xs:complexType name="drawEllipseTools" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="registerNewUser" type="project:registerNewUser" >
+</xs:element>
+  <xs:complexType name="registerNewUser" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="user_pass_minimum_length" type="lzx:number" default="4" >
+</xs:attribute>
+      <xs:attribute name="user_login_minimum_length" type="lzx:number" default="4" >
+</xs:attribute>
+      <xs:attribute name="regObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseDrawSelect" type="project:baseDrawSelect" >
+</xs:element>
+  <xs:complexType name="baseDrawSelect" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseDrawTriangle">
+      <xs:attribute name="currentSelectanglestrokeFillDis" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="currentSelectanglestrokeFill" type="xs:string" default="0x8e8986" >
+</xs:attribute>
+      <xs:attribute name="currentSelectanglestrokeDis" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="currentSelectanglestroke" type="xs:string" default="0x8e8986" >
+</xs:attribute>
+      <xs:attribute name="currentSelectangleineWidth" type="lzx:number" default="4" >
+</xs:attribute>
+      <xs:attribute name="currentSelectangleOpacity" type="lzx:number" default="0.2" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawColorPicker" type="project:drawColorPicker" >
+</xs:element>
+  <xs:complexType name="drawColorPicker" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="onnewcolor" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="defaultno" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawChooseSeperator" type="project:drawChooseSeperator" >
+</xs:element>
+  <xs:complexType name="drawChooseSeperator" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseMenuSeperator">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="fixedFileExplorerWhiteBoard" type="project:fixedFileExplorerWhiteBoard" >
+</xs:element>
+  <xs:complexType name="fixedFileExplorerWhiteBoard" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="timeisInited" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="sendUpdate" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="sendObjectToClientID" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="sendObjectDel" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="sendObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="room" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="restricted" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="parentPath" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="onsharedMessage" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="objectRef" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="moduleName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isloadingImage" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="isloadedImage" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="initW" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="initH" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="imagey" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="ignoreUpdates" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="iamgex" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="fileName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="downloadurl" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="domain" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="documentmenuIsInited" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="confirmdialog" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="baseurl" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="propertyPanelLetterButton" type="project:propertyPanelLetterButton" >
+</xs:element>
+  <xs:complexType name="propertyPanelLetterButton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="labelid" type="lzx:number" default="87" >
+</xs:attribute>
+      <xs:attribute name="itemResourceName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="enabled" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="currentVal" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="importWindow" type="project:importWindow" >
+</xs:element>
+  <xs:complexType name="importWindow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="winobj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="uploadmodule" type="xs:string" default="users" >
+</xs:attribute>
+      <xs:attribute name="sessionid" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="secondid" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="recordValueList" type="project:recordValueList" >
+</xs:element>
+  <xs:complexType name="recordValueList" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:turnOverList">
+      <xs:attribute name="itemToDelete" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="deleteItem" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="loadWhiteboardWindow" type="project:loadWhiteboardWindow" >
+</xs:element>
+  <xs:complexType name="loadWhiteboardWindow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelText">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseTopPanel" type="project:baseTopPanel" >
+</xs:element>
+  <xs:complexType name="baseTopPanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseBoundingBorderView">
+      <xs:attribute name="title" type="xs:string" default="basePanel" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Title of this window </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+      <xs:attribute name="closable" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ if this Box should be closeable </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="attendeItemListItem" type="project:attendeItemListItem" >
+</xs:element>
+  <xs:complexType name="attendeItemListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentListItem">
+      <xs:attribute name="userId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="omTimeZone" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="login" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="lastname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="firstname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="email" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="calendarWeekView" type="project:calendarWeekView" >
+</xs:element>
+  <xs:complexType name="calendarWeekView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="infosPanel" type="project:infosPanel" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ "System" panel on the dashboard </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="infosPanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:guiPresenter">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="helpAndBugs2" type="project:helpAndBugs2" >
+</xs:element>
+  <xs:complexType name="helpAndBugs2" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="vsliderThumb" type="project:vsliderThumb" >
+</xs:element>
+  <xs:complexType name="vsliderThumb" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:button">
+      <xs:attribute name="showvalue" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="drag_min" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="drag_max" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="tableCombobox" type="project:tableCombobox" >
+</xs:element>
+  <xs:complexType name="tableCombobox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:combobox">
+      <xs:attribute name="tvalue" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="sendchange" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="initvalue" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="imageListInnerTable" type="project:imageListInnerTable" >
+</xs:element>
+  <xs:complexType name="imageListInnerTable" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseDrawImage" type="project:baseDrawImage" >
+</xs:element>
+  <xs:complexType name="baseDrawImage" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseDrawLetter">
+      <xs:attribute name="syncImageRefObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="syncImageCheckTime" type="lzx:number" default="1000" >
+</xs:attribute>
+      <xs:attribute name="setNewScreenUserName" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="screenImageRefNumber" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="screenImageRef2" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="screenImageRef1" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="loadingUsersImageListIndex" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="loadimageDataWinRef" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="loadImageObjectTimer" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="isWmlLoaderImage" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isScreenImageLoading" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="imageSyncMessageText" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="imageSyncMessageId" type="lzx:number" default="209" >
+</xs:attribute>
+      <xs:attribute name="imageLoadingCompleteMessage" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="imageLoadMessageId" type="lzx:number" default="208" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="dynamicFLVName" type="project:dynamicFLVName" >
+</xs:element>
+  <xs:complexType name="dynamicFLVName" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:customInputtext">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="parentFileExplorerItemId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="isOwner" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isNew" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="fileExplorerItemId" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="whiteboardBarMenu" type="project:whiteboardBarMenu" >
+</xs:element>
+  <xs:complexType name="whiteboardBarMenu" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="staticwidth" type="lzx:number" default="120" >
+</xs:attribute>
+      <xs:attribute name="currentBtn" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="_recordPlayerBG" type="project:_recordPlayerBG" >
+</xs:element>
+  <xs:complexType name="_recordPlayerBG" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="_videoBoardStream" type="project:_videoBoardStream" >
+</xs:element>
+  <xs:complexType name="_videoBoardStream" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:guiPresenter">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="whiteboardVideoPlayer" type="project:whiteboardVideoPlayer" >
+</xs:element>
+  <xs:complexType name="whiteboardVideoPlayer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:guiPresenter">
+      <xs:attribute name="timerDelegateStarted" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="timerDelegate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="sendInit" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="recordingName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isLoaded" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="fileExplorerItemId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="deltaInSeconds" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="interviewWhiteboard" type="project:interviewWhiteboard" >
+</xs:element>
+  <xs:complexType name="interviewWhiteboard" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="checkLoginData" type="project:checkLoginData" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ LOGIN panel window </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="checkLoginData" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="user_pass_minimum_length" type="lzx:number" default="4" >
+</xs:attribute>
+      <xs:attribute name="user_login_minimum_length" type="lzx:number" default="4" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ LOGIN panel window </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="sipLoader" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="showResetBox" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="labeliderror" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="initselect" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="enterPressed" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="childObj" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="lzRecordingsViewBottom" type="project:lzRecordingsViewBottom" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	View for recorded contents list.
+	When you select 'Recordings' on the top menu, this class shows the list.
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="lzRecordingsViewBottom" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:conferenceBox">
+      <xs:attribute name="pixelFactor" type="lzx:number" default="5" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	View for recorded contents list.
+	When you select 'Recordings' on the top menu, this class shows the list.
+</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="deltaInSeconds" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="currentRecording" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="ldapAdminListItem" type="project:ldapAdminListItem" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Existing organization list. used by orgAdmin only </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="ldapAdminListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentListItem">
+      <xs:attribute name="tName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="ldapConfigId" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Existing organization list. used by orgAdmin only </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="configFileName" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="turnoverlistheaderitemIcon" type="project:turnoverlistheaderitemIcon" >
+</xs:element>
+  <xs:complexType name="turnoverlistheaderitemIcon" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:basicturnoverlistheaderitem">
+      <xs:attribute name="toolTipLabelId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="subviewsid" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="iconResource" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="moderationMiniIconsInterviewUserList" type="project:moderationMiniIconsInterviewUserList" >
+</xs:element>
+  <xs:complexType name="moderationMiniIconsInterviewUserList" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="colorRectChoose" type="project:colorRectChoose" >
+</xs:element>
+  <xs:complexType name="colorRectChoose" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:colorRectChoosebase">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="verticalMenuIconBar" type="project:verticalMenuIconBar" >
+</xs:element>
+  <xs:complexType name="verticalMenuIconBar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="modi" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="omlegend" type="project:omlegend" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+     simple legend class
+     @access public
+      </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="omlegend" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:drawview">
+      <xs:attribute name="verticalgap" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="topmargin" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="styleBorder" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates the style will be applied tho the border legend box </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="rightmargin" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="position" type="xs:string" default="right" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates where the legend box will be positioned, default: right </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onitemmouseup" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ event that allows custom action for mouse up event
+            @param Number item: The identifier legend item
+         </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onitemmouseover" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ event that allows custom action for mouse over event
+            @param Number item: The identifier legend item
+         </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onitemmouseout" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ event that allows custom action for mouse out event
+            @param Number item: The identifier legend item
+         </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onitemmousedown" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ event that allows custom action for mouse down event
+            @param Number item: The identifier legend item
+         </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onitemmouseclick" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ event that allows custom action for mouse click event
+            @param Number item: The identifier legend item
+         </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendborder" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates if legend box will have a border, default: true </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendFontsize" type="lzx:size" default="6" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates the Font size wiil be used in the legend item text, default: 10px </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendFontcolor" type="lzx:color" default="0x000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates the Font color wiil be used in the legend item text, default: black </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="legendFont" type="xs:string" default="serif" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates the Font will be used in the legend item text </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="leftmargin" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fillColor" type="lzx:color" default="0xFFFFFF" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Allow to set the fill color from the legend tag </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="direction" type="xs:string" default="vertical" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Indicates how the legend items will be displayed, default: vertical </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="chartClassName" type="xs:string" default="${null}" >
+</xs:attribute>
+      <xs:attribute name="chart" type="xs:string" default="${null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Takes the relationship with the chart </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bottommargin" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderWidth" type="lzx:number" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Allow to set the line width from the legend tag </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="borderColor" type="lzx:color" default="0x000000" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Allow to set the color line from the legend tag </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videoInfoStuff" type="project:videoInfoStuff" >
+</xs:element>
+  <xs:complexType name="videoInfoStuff" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="documentIconLeftPanel" type="project:documentIconLeftPanel" >
+</xs:element>
+  <xs:complexType name="documentIconLeftPanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseLeftPanel">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="closableView" type="project:closableView" >
+</xs:element>
+  <xs:complexType name="closableView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="colorRectChooseSmall" type="project:colorRectChooseSmall" >
+</xs:element>
+  <xs:complexType name="colorRectChooseSmall" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:colorRectChoosebase">
+      <xs:attribute name="defaultno" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseDraw" type="project:baseDraw" >
+</xs:element>
+  <xs:complexType name="baseDraw" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="starty" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="startx" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="showGrid" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="selectedObjects" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="restricted" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="redolayers" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="prevy" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="prevx" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="onupdateScale" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onopenWhiteBoard" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="my" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="mx" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="mousetracker_del" type="xs:string" default="$once{ new LzDelegate(this, 'trackmouse' )}" >
+</xs:attribute>
+      <xs:attribute name="layers" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="last_y" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="last_x" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="isSnapToGrid" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isRemoteOID" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ If true it will try to load the ObjectIdentifier Extension from the Server </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="isDragging" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="hasprevious" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="hasenext" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="gridWidth" type="lzx:number" default="24" >
+</xs:attribute>
+      <xs:attribute name="endy" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="endx" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="drawmodus" type="xs:string" default="hand" >
+</xs:attribute>
+      <xs:attribute name="doClearSlide" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="doClearAll" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="currentlayer" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="counter" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="copyObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="boundingref" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="boundingIsActive" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="basetempactionobjectList" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="baseredoactionobjectList" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="baseactionobjectList" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="basdrawredoView" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="ObjectByName" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="interviewConferenceRoom" type="project:interviewConferenceRoom" >
+</xs:element>
+  <xs:complexType name="interviewConferenceRoom" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseConferenceRoom">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="multiWhiteboardPanel" type="project:multiWhiteboardPanel" >
+</xs:element>
+  <xs:complexType name="multiWhiteboardPanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:fixedFileExplorerWhiteBoard">
+      <xs:attribute name="whiteboardId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="objWhiteboard" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="objMessage" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="listPresentationThumbExplorer" type="project:listPresentationThumbExplorer" >
+</xs:element>
+  <xs:complexType name="listPresentationThumbExplorer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseListPresentationItemExplorer">
+      <xs:attribute name="thumbname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="no" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="roomAdmin" type="project:roomAdmin" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Admin module to configure the Conference or Audience room.</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="roomAdmin" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseFileExplorerItem" type="project:baseFileExplorerItem" >
+</xs:element>
+  <xs:complexType name="baseFileExplorerItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="singleClickStarted" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="singleClickDelegate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="selected" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="refObjListRoot" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="open" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="mouseDownClickUsed" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="mouseDownClickDelegate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="isVideo" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isTrashCan" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isRoot" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isPresentation" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isOwner" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isMouseDownDragAction" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isImage" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isFolder" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="fileName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="fileIcon" type="xs:string" default="string" >
+</xs:attribute>
+      <xs:attribute name="fileHash" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="fileExplorerItemId" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="searchUserProfileImage" type="project:searchUserProfileImage" >
+</xs:element>
+  <xs:complexType name="searchUserProfileImage" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="profileUrl" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chooseNickName" type="project:chooseNickName" >
+</xs:element>
+  <xs:complexType name="chooseNickName" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="swfResourceView" type="project:swfResourceView" >
+</xs:element>
+  <xs:complexType name="swfResourceView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="zoomlevel" type="lzx:number" default="20" >
+</xs:attribute>
+      <xs:attribute name="uniqueObjectSyncName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="typeOfObject" type="xs:string" default="swf" >
+</xs:attribute>
+      <xs:attribute name="standardFileName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="slideNumber" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="room" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="recorderModus" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="parentPath" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="moduleName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="innery" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="innerx" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="innerwidth" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="innerheight" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="initwidth" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="initheight" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="fullFit" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="fileName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="domain" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="doSendChangeValue" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="currentzoomFactor" type="lzx:number" default="100" >
+</xs:attribute>
+      <xs:attribute name="currentzoom" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="baseurl" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="alterModus" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="userRoomTabItem" type="project:userRoomTabItem" >
+</xs:element>
+  <xs:complexType name="userRoomTabItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="usertime" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="username" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="user_id" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="cbtext" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="colorRow" type="project:colorRow" >
+</xs:element>
+  <xs:complexType name="colorRow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="roomClientListItem" type="project:roomClientListItem" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ list of conference/audience rooms </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="roomClientListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentListItem">
+      <xs:attribute name="streamid" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ list of conference/audience rooms </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="scope" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="login" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="dateConnected" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="moderationMiniIcons" type="project:moderationMiniIcons" >
+</xs:element>
+  <xs:complexType name="moderationMiniIcons" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="publicSID" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isSuperModerator" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isMod" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isActive" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="redirectBox" type="project:redirectBox" >
+</xs:element>
+  <xs:complexType name="redirectBox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="timerDel" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="redirectURL" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="maxTime" type="lzx:number" default="5000" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="rememberMessage" type="project:rememberMessage" >
+</xs:element>
+  <xs:complexType name="rememberMessage" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="showCheckBox" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="labeliderror" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="inputtextbox" type="project:inputtextbox" >
+</xs:element>
+  <xs:complexType name="inputtextbox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:inputtext">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="participentsTable" type="project:participentsTable" >
+</xs:element>
+  <xs:complexType name="participentsTable" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseDrawSave" type="project:baseDrawSave" >
+</xs:element>
+  <xs:complexType name="baseDrawSave" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseDrawImage">
+      <xs:attribute name="wmlspreadNews" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="wmlroom" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="wmlfileName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="wmldomain" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="wmlLoadingCompleteMessage" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="w" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="syncmessageId" type="lzx:number" default="207" >
+</xs:attribute>
+      <xs:attribute name="synccheckTime" type="lzx:number" default="1000" >
+</xs:attribute>
+      <xs:attribute name="snap" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="sendpictureName" type="xs:string" default="snapchot.jpg" >
+</xs:attribute>
+      <xs:attribute name="sendURL" type="xs:string" default="http://www.webbase-design.de/dokeos/videoconference/createimagefrombitmap.php" >
+</xs:attribute>
+      <xs:attribute name="sendPartURL" type="xs:string" default="http://www.webbase-design.de/dokeos/videoconference/createimagefrombitmap.php" >
+</xs:attribute>
+      <xs:attribute name="savefileName" type="xs:string" default="savefileName1" >
+</xs:attribute>
+      <xs:attribute name="savefileDataWinRef" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="pixel_del" type="xs:string" default="$once{ new LzDelegate(this, 'buildPixelArray' )}" >
+</xs:attribute>
+      <xs:attribute name="pixelArray" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="onwmlloadStop" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onwmlloadStart" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onprogress" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="loadmessageId" type="lzx:number" default="206" >
+</xs:attribute>
+      <xs:attribute name="loadfileDataWinRef" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="loadfileDataIndex" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="loadfileData" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="loadObjectTimer" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="isinitRecordingLoad" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isSendPartArray" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="isRecordingLoad" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isInitLoader" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="h" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="fileData" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="exportType" type="xs:string" default="svg" >
+</xs:attribute>
+      <xs:attribute name="bpData" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="a" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="MatrixValue" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="MCRef" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="simpleLabelButton" type="project:simpleLabelButton" >
+</xs:element>
+  <xs:complexType name="simpleLabelButton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:button">
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chatTabBottomRoomList" type="project:chatTabBottomRoomList" >
+</xs:element>
+  <xs:complexType name="chatTabBottomRoomList" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="objMessage" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="doUpdate" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chatTabItem" type="project:chatTabItem" >
+</xs:element>
+  <xs:complexType name="chatTabItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="usertime" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="username" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="usercolor" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="user_id" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="cbtext" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="boundingBoxAll" type="project:boundingBoxAll" >
+</xs:element>
+  <xs:complexType name="boundingBoxAll" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="whiteboardRef" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="startdragY" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="startdragX" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="startdragWidth" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="startdragHeight" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="objRef" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="minwidth" type="xs:string" default="2" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Minimum width for the windowy, default: 60.
+          @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="minheight" type="xs:string" default="2" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Minimum height for the window, default: 50.
+          @keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="innerInsetScrollbars" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="ey" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="ex" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="ewidth" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="eheight" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="doHandlerUpdates" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="canBeResized" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="canBeDragged" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="boundingDoUpdateOnInit" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="saveAsWmlWindow" type="project:saveAsWmlWindow" >
+</xs:element>
+  <xs:complexType name="saveAsWmlWindow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="fileExplorerWindow" type="project:fileExplorerWindow" >
+</xs:element>
+  <xs:complexType name="fileExplorerWindow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="contactSearchHead" type="project:contactSearchHead" >
+</xs:element>
+  <xs:complexType name="contactSearchHead" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="uploadWindowExplorer" type="project:uploadWindowExplorer" >
+</xs:element>
+  <xs:complexType name="uploadWindowExplorer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="winobj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="usersid" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="uploadmodule" type="xs:string" default="videoconf1" >
+</xs:attribute>
+      <xs:attribute name="singleslidesmodule_id" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="sessionid" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="servletName" type="xs:string" default="UploadHandler" >
+</xs:attribute>
+      <xs:attribute name="returnObj" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="parentFolderId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="isdefaultreturn" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="isStarted" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isOwner" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="isOnlyXml" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isOnlyProfile" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isOnlyPpt" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isOnlyImage" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="fileExplorerRef" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="moderationPanel" type="project:moderationPanel" >
+</xs:element>
+  <xs:complexType name="moderationPanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="roomName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="recordingsName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="recordingUser" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="initial" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="allowUserQuestions" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="presentationFilesList" type="project:presentationFilesList" >
+</xs:element>
+  <xs:complexType name="presentationFilesList" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="uploadmodul" type="xs:string" default="$once{ canvas.uploadmoduleimg }" >
+</xs:attribute>
+      <xs:attribute name="onclose" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="conferencecontainertab" type="project:conferencecontainertab" >
+</xs:element>
+  <xs:complexType name="conferencecontainertab" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="whiteboardMiniButton" type="project:whiteboardMiniButton" >
+</xs:element>
+  <xs:complexType name="whiteboardMiniButton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="zielx" type="lzx:number" default="200" >
+</xs:attribute>
+      <xs:attribute name="zielwidth" type="lzx:number" default="100" >
+</xs:attribute>
+      <xs:attribute name="objRef" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="isactive" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="isHidden" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="btnName" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="orgUsersRecordValueList" type="project:orgUsersRecordValueList" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Existing organization list. used by orgAdmin only </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="orgUsersRecordValueList" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:recordValueList">
+      <xs:attribute name="usersId" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Existing organization list. used by orgAdmin only </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="labelCheckbox" type="project:labelCheckbox" >
+</xs:element>
+  <xs:complexType name="labelCheckbox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:checkbox">
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseChooseIcon" type="project:baseChooseIcon" >
+</xs:element>
+  <xs:complexType name="baseChooseIcon" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="resourceN" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="isselected" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="initY" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="initX" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawLineTools" type="project:drawLineTools" >
+</xs:element>
+  <xs:complexType name="drawLineTools" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseContentListItem" type="project:baseContentListItem" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ base class for the item list views</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="baseContentListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="obj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="isselected" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ base class for the item list views</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="imagesListdraw" type="project:imagesListdraw" >
+</xs:element>
+  <xs:complexType name="imagesListdraw" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="uploadmodul" type="xs:string" default="$once{ canvas.uploadmoduleimg }" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="meetingTimer" type="project:meetingTimer" >
+</xs:element>
+  <xs:complexType name="meetingTimer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="roomobj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="demoTime" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chatOutput" type="project:chatOutput" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ chat output specialized for video-conference </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="chatOutput" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="isAlreadyLoaded" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ chat output specialized for video-conference </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="mainDashboardSponsored" type="project:mainDashboardSponsored" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  modules:dashboard </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="mainDashboardSponsored" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="debugPinCode" type="project:debugPinCode" >
+</xs:element>
+  <xs:complexType name="debugPinCode" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="activityListRestrictedRoomApplyForMuteOff" type="project:activityListRestrictedRoomApplyForMuteOff" >
+</xs:element>
+  <xs:complexType name="activityListRestrictedRoomApplyForMuteOff" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseItemActivityList">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="textBoxSubBlank" type="project:textBoxSubBlank" >
+</xs:element>
+  <xs:complexType name="textBoxSubBlank" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:text">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="netremotecall" type="project:netremotecall" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+        Net remote call. 
+        @todo Document netremotecall class.
+    </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="netremotecall" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:node">
+      <xs:attribute name="remotecontext" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="onerror" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Error handling event. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="funcname" type="xs:string" default="$once{null}" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Name of the remote function. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dataobject" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="flexibleConferenceRoom" type="project:flexibleConferenceRoom" >
+</xs:element>
+  <xs:complexType name="flexibleConferenceRoom" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseConferenceRoom">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="menubarButton" type="project:menubarButton" >
+</xs:element>
+  <xs:complexType name="menubarButton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:simpleLabelButton">
+      <xs:attribute name="isselected" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="clientobjectArea" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="clientmaskname" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="_whiteBoardPanelRecord" type="project:_whiteBoardPanelRecord" >
+</xs:element>
+  <xs:complexType name="_whiteBoardPanelRecord" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:guiPresenter">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="validText" type="project:validText" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ A editfieldText with the possibility of a dropdown menu </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="validText" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:edittext">
+      <xs:attribute name="validate_method" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The method to be called for validating </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="typetime" type="lzx:number" default="500" >
+</xs:attribute>
+      <xs:attribute name="timerIsInited" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="timerDelegate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="spacing" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="shownitems" type="lzx:number" default="7" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ items to be shown in the floatinglist </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="resultName" type="xs:string" default="name" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the name-attribute of the resultset </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="resultId" type="xs:string" default="id" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the id-attribute of the resultset </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onselect" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onisopen" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="isopen" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="initSelect" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="currentValue" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="bordersize" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The border size ( in pixels ) of the popup list.  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="autoscrollbar" type="xs:string" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Whether a scrollbar should automatically show up when there are more
+              items than shownitems. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="attachoffset" type="lzx:number" default="-1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The vertical offset of the floatinglist attached to this
+              combobox. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawAreaAlterPosition" type="project:drawAreaAlterPosition" >
+</xs:element>
+  <xs:complexType name="drawAreaAlterPosition" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="objName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="obj" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="calendarDayView" type="project:calendarDayView" >
+</xs:element>
+  <xs:complexType name="calendarDayView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="clickBox" type="project:clickBox" >
+</xs:element>
+  <xs:complexType name="clickBox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecomponent">
+      <xs:attribute name="onvalue" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="isupdateCheck" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="initval" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="colorSlider" type="project:colorSlider" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+      changed by swagner
+  </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="colorSlider" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:slider">
+      <xs:attribute name="doSendValueEvent" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+      changed by swagner
+  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="newWhiteBoard" type="project:newWhiteBoard" >
+</xs:element>
+  <xs:complexType name="newWhiteBoard" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="sendObjectToClientID" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="sendObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="room" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="parentPath" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="onsharedMessage" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="objectRef" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="moduleName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isloadingImage" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="isloadedImage" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="initW" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="initH" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="imagey" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="iamgex" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="fileName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="downloadurl" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="domain" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="documentmenuIsInited" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="confirmdialog" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="baseurl" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="vsliderTrack" type="project:vsliderTrack" >
+</xs:element>
+  <xs:complexType name="vsliderTrack" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="netRemoteCallHib" type="project:netRemoteCallHib" >
+</xs:element>
+  <xs:complexType name="netRemoteCallHib" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:netremotecall">
+      <xs:attribute name="showLoading" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ show Error Messages with normal Box </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="sendCallBack" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="returnObj" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ this should be the contentSaveWindow </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="registerObject" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ if true this object will register at the update-observer </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="isCallBackHandler" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ show Error Messages with Callback Box </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="activeErrorHandler" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ show Error Messages with normal Box </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="omlegenditem" type="project:omlegenditem" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private
+    individual legend item </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="omlegenditem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="tBox" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="linevisible" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="identifier" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ @keyword private
+    individual legend item </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawArrowWhiteBoard" type="project:drawArrowWhiteBoard" >
+</xs:element>
+  <xs:complexType name="drawArrowWhiteBoard" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="customScrollEdittext" type="project:customScrollEdittext" >
+</xs:element>
+  <xs:complexType name="customScrollEdittext" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="text" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="ontextChange" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="styleableInput" type="project:styleableInput" >
+</xs:element>
+  <xs:complexType name="styleableInput" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:customInputtext">
+      <xs:attribute name="startAdjustHight" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="setFocusOnInit" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="interviewRoomSidebar" type="project:interviewRoomSidebar" >
+</xs:element>
+  <xs:complexType name="interviewRoomSidebar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="selected" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="restricted" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="listType" type="xs:string" default="eventUserListTable" >
+</xs:attribute>
+      <xs:attribute name="isOpen" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseDrawPointer" type="project:baseDrawPointer" >
+</xs:element>
+  <xs:complexType name="baseDrawPointer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseDrawEllipse">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chartFileExplorerItem" type="project:chartFileExplorerItem" >
+</xs:element>
+  <xs:complexType name="chartFileExplorerItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseFileExplorerItem">
+      <xs:attribute name="isChartFile" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="gridsliderlayout" type="project:gridsliderlayout" >
+</xs:element>
+  <xs:complexType name="gridsliderlayout" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:layout">
+      <xs:attribute name="spacing" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="rows" type="xs:string" default="6" >
+</xs:attribute>
+      <xs:attribute name="positiondel" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="openview" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="openrow_only" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="openrow" type="xs:string" default="-1" >
+</xs:attribute>
+      <xs:attribute name="opencol_only" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="opencol" type="xs:string" default="-1" >
+</xs:attribute>
+      <xs:attribute name="onupdatestop" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onupdatestart" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onopenstart" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onclosestart" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="lastsel" type="xs:string" default="${null}" >
+</xs:attribute>
+      <xs:attribute name="duration" type="xs:string" default="300" >
+</xs:attribute>
+      <xs:attribute name="doanimation" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="displayrow" type="xs:string" default="-1" >
+</xs:attribute>
+      <xs:attribute name="displaymode" type="xs:string" default="grid" >
+</xs:attribute>
+      <xs:attribute name="displaycol" type="xs:string" default="-1" >
+</xs:attribute>
+      <xs:attribute name="cw" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="cols" type="xs:string" default="6" >
+</xs:attribute>
+      <xs:attribute name="ch" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="cellwidth" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="cellheight" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="addedOpenWidth" type="xs:string" default="150" >
+</xs:attribute>
+      <xs:attribute name="addedOpenHeight" type="xs:string" default="170" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseChooseIconView" type="project:baseChooseIconView" >
+</xs:element>
+  <xs:complexType name="baseChooseIconView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="resourceN" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="isselected" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="miniIconSmybolExtraIconsImageMap" type="project:miniIconSmybolExtraIconsImageMap" >
+</xs:element>
+  <xs:complexType name="miniIconSmybolExtraIconsImageMap" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="miniIconsPresenter" type="project:miniIconsPresenter" >
+</xs:element>
+  <xs:complexType name="miniIconsPresenter" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="iconRessourceName" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="calButton" type="project:calButton" >
+</xs:element>
+  <xs:complexType name="calButton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="yadjust" type="lzx:number" default="2" >
+</xs:attribute>
+      <xs:attribute name="rightinset" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="rightcap" type="xs:string" default="oval" >
+</xs:attribute>
+      <xs:attribute name="overRsrcNumber" type="lzx:number" default="2" >
+</xs:attribute>
+      <xs:attribute name="onsafeclick" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="normalRsrcNumber" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="mouseisdown" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="leftinset" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="leftcap" type="xs:string" default="oval" >
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+      <xs:attribute name="label" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="keepinitialwidth" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="icon" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="enabled" type="xs:string" default="true" >
+</xs:attribute>
+      <xs:attribute name="downRsrcNumber" type="lzx:number" default="3" >
+</xs:attribute>
+      <xs:attribute name="divider" type="lzx:number" default="3" >
+</xs:attribute>
+      <xs:attribute name="deselectRsrcNumber" type="lzx:number" default="4" >
+</xs:attribute>
+      <xs:attribute name="applied" type="xs:string" default="classroot.leftcap == 'rect'" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawChooseSizeRadioT" type="project:drawChooseSizeRadioT" >
+</xs:element>
+  <xs:complexType name="drawChooseSizeRadioT" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:radiogroup">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="confirmCancelPopup" type="project:confirmCancelPopup" >
+</xs:element>
+  <xs:complexType name="confirmCancelPopup" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="makeModal" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="errorlabelid" type="lzx:number" >
+</xs:attribute>
+      <xs:attribute name="error" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="boundingBoxAllRotationMarger" type="project:boundingBoxAllRotationMarger" >
+</xs:element>
+  <xs:complexType name="boundingBoxAllRotationMarger" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="dragStarted" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseTabbarButton" type="project:baseTabbarButton" >
+</xs:element>
+  <xs:complexType name="baseTabbarButton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="labelid" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="restrictedRoomSidebar" type="project:restrictedRoomSidebar" >
+</xs:element>
+  <xs:complexType name="restrictedRoomSidebar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="selected" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="restricted" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="listType" type="xs:string" default="eventUserListTable" >
+</xs:attribute>
+      <xs:attribute name="isOpen" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="presentationPreview" type="project:presentationPreview" >
+</xs:element>
+  <xs:complexType name="presentationPreview" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="refObjList" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="miniButton" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="documentObj" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="userAdmin" type="project:userAdmin" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ User administration module for ADMIN.</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="userAdmin" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="resetForm" type="project:resetForm" >
+</xs:element>
+  <xs:complexType name="resetForm" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="showResetBox" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="baseUrl" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawClipArtWhiteBoard" type="project:drawClipArtWhiteBoard" >
+</xs:element>
+  <xs:complexType name="drawClipArtWhiteBoard" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="clipArtEndy" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="clipArtEndx" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="allmeetings" type="project:allmeetings" >
+</xs:element>
+  <xs:complexType name="allmeetings" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+      <xs:attribute name="refObjItem" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="finishedTabsQuantity" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="clickedButton" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="dayname" type="project:dayname" >
+</xs:element>
+  <xs:complexType name="dayname" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="modPanel" type="project:modPanel" >
+</xs:element>
+  <xs:complexType name="modPanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:guiPresenter">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="profilesPanel" type="project:profilesPanel" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Logged-in User Profile Panel on the dashboard </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="profilesPanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:guiPresenter">
+      <xs:attribute name="link" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="fillColorChoose" type="project:fillColorChoose" >
+</xs:element>
+  <xs:complexType name="fillColorChoose" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:basePropertySelector">
+      <xs:attribute name="selectedColorTransformedString" type="xs:string" default="0xFFFF33" >
+</xs:attribute>
+      <xs:attribute name="selectedColorDis" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="selectedColor" type="lzx:number" default="0xFFFF33" >
+</xs:attribute>
+      <xs:attribute name="isopen" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="inInitColorSelection" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="colorPickRef" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="colorIsEnabled" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="regexptip" type="project:regexptip" >
+</xs:element>
+  <xs:complexType name="regexptip" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="regexptext" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="fadeDelegate" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="simpleListItem" type="project:simpleListItem" >
+</xs:element>
+  <xs:complexType name="simpleListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="value" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="text" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="selected" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="xmlCrmTooltip" type="project:xmlCrmTooltip" >
+</xs:element>
+  <xs:complexType name="xmlCrmTooltip" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="text" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="holder" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="documentFileExplorerItem" type="project:documentFileExplorerItem" >
+</xs:element>
+  <xs:complexType name="documentFileExplorerItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseFileExplorerItem">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="verticalMenuIconBarPointer" type="project:verticalMenuIconBarPointer" >
+</xs:element>
+  <xs:complexType name="verticalMenuIconBarPointer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="mainToolsPanelItem" type="project:mainToolsPanelItem" >
+</xs:element>
+  <xs:complexType name="mainToolsPanelItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:blueButton">
+      <xs:attribute name="setSelectionToItem" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="modi" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="conferenceContainerTab" type="project:conferenceContainerTab" >
+</xs:element>
+  <xs:complexType name="conferenceContainerTab" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="uploadTapIsInited" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="membersTapIsInited" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="fadeDelegate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="doBlink" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videoContainerAudience" type="project:videoContainerAudience" >
+</xs:element>
+  <xs:complexType name="videoContainerAudience" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="streams" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="modLoaded" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="allUsers" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="flvMetaInfoContentArea" type="project:flvMetaInfoContentArea" >
+</xs:element>
+  <xs:complexType name="flvMetaInfoContentArea" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="baseWidthForPointer" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawDocumentItem" type="project:drawDocumentItem" >
+</xs:element>
+  <xs:complexType name="drawDocumentItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseChooseIcon">
+      <xs:attribute name="modi" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="simpletimelayout" type="project:simpletimelayout" >
+</xs:element>
+  <xs:complexType name="simpletimelayout" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:layout">
+      <xs:attribute name="viewheight" type="xs:string" default="22" >
+</xs:attribute>
+      <xs:attribute name="enabled" type="xs:string" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chatInnerTextBox" type="project:chatInnerTextBox" >
+</xs:element>
+  <xs:complexType name="chatInnerTextBox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:text">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="_chatInnerSmilyIcon" type="project:_chatInnerSmilyIcon" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ private class of emotIconsSelector.class. resource view of chat smily icons. it shows icons and label tooltips.</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="_chatInnerSmilyIcon" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="iconvalue" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="iconlabel" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ private class of emotIconsSelector.class. resource view of chat smily icons. it shows icons and label tooltips.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="colorRectChoosebase" type="project:colorRectChoosebase" >
+</xs:element>
+  <xs:complexType name="colorRectChoosebase" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="colorchoose" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="loginScreen" type="project:loginScreen" >
+</xs:element>
+  <xs:complexType name="loginScreen" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videoObjectAudience" type="project:videoObjectAudience" >
+</xs:element>
+  <xs:complexType name="videoObjectAudience" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseVideoObject">
+      <xs:attribute name="isAssigned" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="hidePropertyView" type="project:hidePropertyView" >
+</xs:element>
+  <xs:complexType name="hidePropertyView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="activityList" type="project:activityList" >
+</xs:element>
+  <xs:complexType name="activityList" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:basePropertyPanelWhiteboard">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="roomAccessMessage" type="project:roomAccessMessage" >
+</xs:element>
+  <xs:complexType name="roomAccessMessage" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="rooms_id" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="simpleLabelRoundButton" type="project:simpleLabelRoundButton" >
+</xs:element>
+  <xs:complexType name="simpleLabelRoundButton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:roundrectbutton">
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="blueButton" type="project:blueButton" >
+</xs:element>
+  <xs:complexType name="blueButton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecomponent">
+      <xs:attribute name="y_insetResource" type="lzx:number" default="4" >
+</xs:attribute>
+      <xs:attribute name="x_insetResource" type="lzx:number" default="4" >
+</xs:attribute>
+      <xs:attribute name="width_insetResource" type="lzx:number" default="18" >
+</xs:attribute>
+      <xs:attribute name="resourceItem" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="height_insetResource" type="lzx:number" default="18" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="info_Panel" type="project:info_Panel" >
+</xs:element>
+  <xs:complexType name="info_Panel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:basepanel">
+      <xs:attribute name="startDate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="roomtype" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="rooms_id" type="lzx:number" default="$path{ 'rooms_id/@value'}" >
+</xs:attribute>
+      <xs:attribute name="opened" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="isConnectedEvent" type="lzx:boolean" default="$path{ 'isConnectedEvent/@value' }" >
+</xs:attribute>
+      <xs:attribute name="endDate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="dataapply" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="baseUrl" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="arrayMeetingMember" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="appointementId" type="lzx:number" default="$path{ 'appointementId/@value' }" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="documentToolsPalette" type="project:documentToolsPalette" >
+</xs:element>
+  <xs:complexType name="documentToolsPalette" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="activityListMessageRequest" type="project:activityListMessageRequest" >
+</xs:element>
+  <xs:complexType name="activityListMessageRequest" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:simplebaseItemActivityList">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="interviewVideoBox" type="project:interviewVideoBox" >
+</xs:element>
+  <xs:complexType name="interviewVideoBox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="publicSID" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="messageObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="interviewPodId" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="imageListInnerTableExplorer" type="project:imageListInnerTableExplorer" >
+</xs:element>
+  <xs:complexType name="imageListInnerTableExplorer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="dateSelectorWeekNumber" type="project:dateSelectorWeekNumber" >
+</xs:element>
+  <xs:complexType name="dateSelectorWeekNumber" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="weeknumber" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="recordingSaveWin" type="project:recordingSaveWin" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+		Dialog box for recording data.
+		Similar with recordingStartWIn.lzx, but any other class dose not invoke this class.
+		Maybe this class could be deleted.
+	</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="recordingSaveWin" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="recordingsName" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+		Dialog box for recording data.
+		Similar with recordingStartWIn.lzx, but any other class dose not invoke this class.
+		Maybe this class could be deleted.
+	</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chatParticipantsInviteMessage" type="project:chatParticipantsInviteMessage" >
+</xs:element>
+  <xs:complexType name="chatParticipantsInviteMessage" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:guiPresenter">
+      <xs:attribute name="user_id" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="roomId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="publicSID" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="messageObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="conferenceRoomName" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="lzCalendar" type="project:lzCalendar" >
+</xs:element>
+  <xs:complexType name="lzCalendar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="activityListRestrictedRoomAV" type="project:activityListRestrictedRoomAV" >
+</xs:element>
+  <xs:complexType name="activityListRestrictedRoomAV" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseItemActivityList">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="labeldTextListItem" type="project:labeldTextListItem" >
+</xs:element>
+  <xs:complexType name="labeldTextListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:textlistitem">
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="orgAdmin" type="project:orgAdmin" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Organization administration module for ADMIN.</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="orgAdmin" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="interviewUserList" type="project:interviewUserList" >
+</xs:element>
+  <xs:complexType name="interviewUserList" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="organisation_id" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="colorArray" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ colors for each user </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="broadCastViewRef" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ holds a references to the videoview which is broadcasting </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="applyDefaultModeration" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="terminareaWeekView" type="project:terminareaWeekView" >
+</xs:element>
+  <xs:complexType name="terminareaWeekView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="terminObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="description" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="calenderObjRef" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="innerlistViewEventUserListTableWithNames" type="project:innerlistViewEventUserListTableWithNames" >
+</xs:element>
+  <xs:complexType name="innerlistViewEventUserListTableWithNames" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="screenShareCursorObject" type="project:screenShareCursorObject" >
+</xs:element>
+  <xs:complexType name="screenShareCursorObject" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="participantsPanel" type="project:participantsPanel" >
+</xs:element>
+  <xs:complexType name="participantsPanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:simpleBaseTabpane">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="redoUndoToolsPanelItem" type="project:redoUndoToolsPanelItem" >
+</xs:element>
+  <xs:complexType name="redoUndoToolsPanelItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:mainToolsPanelItem">
+      <xs:attribute name="doredo" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="tempTextBox" type="project:tempTextBox" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	Contains no microphone or camera Object, this view can only 
+	subscribe to a video or live-stream
+
+ </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="tempTextBox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="isStopped" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	Contains no microphone or camera Object, this view can only 
+	subscribe to a video or live-stream
+
+ </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="responseForModeration" type="project:responseForModeration" >
+</xs:element>
+  <xs:complexType name="responseForModeration" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="userobject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="userautoTimerDelegate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="userautoTimerCounter" type="lzx:number" default="31" >
+</xs:attribute>
+      <xs:attribute name="clientId" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="applymessage" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="dragView" type="project:dragView" >
+</xs:element>
+  <xs:complexType name="dragView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="uploadmodul" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="startY" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="startX" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="room" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="parentPath" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="moduleName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="filesid" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="filename" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="fileName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="domain" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="baseurl" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="roomModeratorsRoomClientListItem" type="project:roomModeratorsRoomClientListItem" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ list of ddefault moderators rooms </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="roomModeratorsRoomClientListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentListItem">
+      <xs:attribute name="userId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="uName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="roomModeratorsId" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ list of ddefault moderators rooms </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="modRoomId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="isSuperModerator" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="email" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chatParticipants" type="project:chatParticipants" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ it shows chat participants. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="chatParticipants" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="username" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="user_id" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ it shows chat participants. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="publicSID" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="picture_uri" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="connectedSince" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawRectangleTools" type="project:drawRectangleTools" >
+</xs:element>
+  <xs:complexType name="drawRectangleTools" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="verticalDocumentIconBar" type="project:verticalDocumentIconBar" >
+</xs:element>
+  <xs:complexType name="verticalDocumentIconBar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="recordingsViewer" type="project:recordingsViewer" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	This class shows a play-viewer panel for recording data.
+	When you select and click a recording data from the recording list that is invoked with recordContent.lzx,
+	you can see a big start button on this panel. Then you click it, regording data starts with video/audio panel, 
+	whiteboard panel and files panel.
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="recordingsViewer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+      <xs:attribute name="timerDel" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	This class shows a play-viewer panel for recording data.
+	When you select and click a recording data from the recording list that is invoked with recordContent.lzx,
+	you can see a big start button on this panel. Then you click it, regording data starts with video/audio panel, 
+	whiteboard panel and files panel.
+</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="timeStepSyncing" type="lzx:number" default="500" >
+</xs:attribute>
+      <xs:attribute name="roomobj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="recordingValue" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="initObjectCount" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="downloadUrlWhiteboard" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="currentTime" type="lzx:number" default="-500" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="calenderlistitem" type="project:calenderlistitem" >
+</xs:element>
+  <xs:complexType name="calenderlistitem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="textAttr" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="terminObjRef" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="fixedWhiteboardPanel" type="project:fixedWhiteboardPanel" >
+</xs:element>
+  <xs:complexType name="fixedWhiteboardPanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:conferenceBox">
+      <xs:attribute name="restricted" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseVideoStream" type="project:baseVideoStream" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	extends the Video-View with Streaming functions
+ </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="baseVideoStream" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseVideoView">
+      <xs:attribute name="streamName" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="soundRefMC" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Reference To the Sound MovieClip
+		@keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="soundRef" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Reference To the Sound Object
+		@keywords final </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onPlayStatus" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onMetaData" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="mode" type="xs:string" default="play" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This value does indicate if this stream play or broadcasts
+              @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="micro" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This is a reference to the current microphone, only set if broadcasting
+              @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="delay" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="camera" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This is a reference to the current camara, only set if broadcasting
+              @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="bufferTime" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This is the current buffer used, in Live Streaming this MUST be 0
+              @keywords readonly </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="infoTab" type="project:infoTab" >
+</xs:element>
+  <xs:complexType name="infoTab" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basetabelement">
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+      <xs:attribute name="label" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseTabChatPanel" type="project:baseTabChatPanel" >
+</xs:element>
+  <xs:complexType name="baseTabChatPanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:basePropertyPanel">
+      <xs:attribute name="fadeDelegate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="doBlink" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="userContacts" type="project:userContacts" >
+</xs:element>
+  <xs:complexType name="userContacts" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="userContactId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="pending" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="doShare" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="copiedTextPopup" type="project:copiedTextPopup" >
+</xs:element>
+  <xs:complexType name="copiedTextPopup" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="error" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="restrictedConferenceRoom" type="project:restrictedConferenceRoom" >
+</xs:element>
+  <xs:complexType name="restrictedConferenceRoom" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseConferenceRoom">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="confAdminValueForm" type="project:confAdminValueForm" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ configuration edit panel. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="confAdminValueForm" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentSaveView">
+      <xs:attribute name="sendObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="confobj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="configuration_id" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ configuration edit panel. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="ldapAdmin" type="project:ldapAdmin" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Organization administration module for ADMIN.</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="ldapAdmin" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="dateSelectorWeekNumberHeader" type="project:dateSelectorWeekNumberHeader" >
+</xs:element>
+  <xs:complexType name="dateSelectorWeekNumberHeader" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="labelWeekHeader" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="fieldValueForm" type="project:fieldValueForm" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ right block of the LanguageEditor. you can edit the label.</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="fieldValueForm" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentSaveView">
+      <xs:attribute name="sendObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="fieldvalues_id" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="fieldlanguagesvalues_id" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="resetPassword" type="project:resetPassword" >
+</xs:element>
+  <xs:complexType name="resetPassword" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="tempValue" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="lzRecordNavigation" type="project:lzRecordNavigation" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	View for recorded contents list.
+	When you select 'Recordings' on the top menu, this class shows the list.
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="lzRecordNavigation" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="recordingName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="playSelected" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="parentFolderId" type="lzx:number" default="-2" >
+</xs:attribute>
+      <xs:attribute name="isTrashCan" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="isOpen" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	View for recorded contents list.
+	When you select 'Recordings' on the top menu, this class shows the list.
+</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="currentTrackGroupName" type="xs:string" default="fileExplorer" >
+</xs:attribute>
+      <xs:attribute name="currentRecording" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="currentDragItem" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="alternateName" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="ordnerInhaltHead" type="project:ordnerInhaltHead" >
+</xs:element>
+  <xs:complexType name="ordnerInhaltHead" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="showChatLog" type="project:showChatLog" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+Chat tabpane class. It contains chatOutput-class and catTabBottom-class.
+This is used in the conference.
+</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="showChatLog" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="error" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+Chat tabpane class. It contains chatOutput-class and catTabBottom-class.
+This is used in the conference.
+</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="rssBox" type="project:rssBox" >
+</xs:element>
+  <xs:complexType name="rssBox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="filesPanelStrict" type="project:filesPanelStrict" >
+</xs:element>
+  <xs:complexType name="filesPanelStrict" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:conferenceBox">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="recordingStartWin" type="project:recordingStartWin" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+		Dialog box for recording data.
+		When you click the Recording button on your conference menu, this class shows a dialog box for saving it.
+	</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="recordingStartWin" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="recordingsName" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+		Dialog box for recording data.
+		When you click the Recording button on your conference menu, this class shows a dialog box for saving it.
+	</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="screenSharingDialogContainer" type="project:screenSharingDialogContainer" >
+</xs:element>
+  <xs:complexType name="screenSharingDialogContainer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="toolbarTabList" type="project:toolbarTabList" >
+</xs:element>
+  <xs:complexType name="toolbarTabList" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="selected" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawUlineTools" type="project:drawUlineTools" >
+</xs:element>
+  <xs:complexType name="drawUlineTools" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="privateMessageFolder" type="project:privateMessageFolder" >
+</xs:element>
+  <xs:complexType name="privateMessageFolder" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="selected" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="privateMessageFolderId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="folderName" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseDrawPaint" type="project:baseDrawPaint" >
+</xs:element>
+  <xs:complexType name="baseDrawPaint" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseDraw">
+      <xs:attribute name="painttrans" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="currentlayerstroke" type="xs:string" default="0xFF6600" >
+</xs:attribute>
+      <xs:attribute name="currentlayerlineWidth" type="lzx:number" default="2" >
+</xs:attribute>
+      <xs:attribute name="currentlayerOpacity" type="lzx:number" default="1" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="searchResultsAddContact" type="project:searchResultsAddContact" >
+</xs:element>
+  <xs:complexType name="searchResultsAddContact" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="ldapAdminValueForm" type="project:ldapAdminValueForm" >
+</xs:element>
+  <xs:complexType name="ldapAdminValueForm" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentSaveView">
+      <xs:attribute name="sendObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="ldapConfigId" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ recordContent id </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="dtmfButton" type="project:dtmfButton" >
+</xs:element>
+  <xs:complexType name="dtmfButton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:button">
+      <xs:attribute name="dtmf" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="roomAdminOrgListItem" type="project:roomAdminOrgListItem" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ list of conference/audience rooms </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="roomAdminOrgListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentListItem">
+      <xs:attribute name="orgName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="orgId" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ list of conference/audience rooms </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="lzCalendarContent" type="project:lzCalendarContent" >
+</xs:element>
+  <xs:complexType name="lzCalendarContent" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="viewstyle" type="xs:string" default="month" >
+</xs:attribute>
+      <xs:attribute name="viewmode" type="xs:string" default="month" >
+</xs:attribute>
+      <xs:attribute name="selectionActive" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="keepinfoopen" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="jName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isloaded" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="firstDay" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="confirmationBox" type="project:confirmationBox" >
+</xs:element>
+  <xs:complexType name="confirmationBox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="labeliderror" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="doAskAgain" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="callbackRpcErrorDialog" type="project:callbackRpcErrorDialog" >
+</xs:element>
+  <xs:complexType name="callbackRpcErrorDialog" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:errorDialog">
+      <xs:attribute name="callBackObject" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="orgAdminValueForm" type="project:orgAdminValueForm" >
+</xs:element>
+  <xs:complexType name="orgAdminValueForm" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentSaveView">
+      <xs:attribute name="sendObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="organisation_id" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ recordContent id </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="emotIconsSelector" type="project:emotIconsSelector" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ view to select emoticons. size is 160x140 </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="emotIconsSelector" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:closableView">
+      <xs:attribute name="btnRef" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ view to select emoticons. size is 160x140 </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="colorpicker" type="project:colorpicker" >
+</xs:element>
+  <xs:complexType name="colorpicker" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:guiPresenter">
+      <xs:attribute name="selectedColor" type="lzx:number" default="0x00aeef" >
+</xs:attribute>
+      <xs:attribute name="btnRef" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="overAllChatTabBottom" type="project:overAllChatTabBottom" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ View of the buttom area of chat. It contains buttons of message,emoticons,clear. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="overAllChatTabBottom" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="objMessage" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="doUpdate" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="dateField" type="project:dateField" >
+</xs:element>
+  <xs:complexType name="dateField" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="text" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="setDefaultToday" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="enabled" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="additionalDay" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="labelRadioButton" type="project:labelRadioButton" >
+</xs:element>
+  <xs:complexType name="labelRadioButton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:radiobutton">
+      <xs:attribute name="labelid" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="imageFileExplorerItem" type="project:imageFileExplorerItem" >
+</xs:element>
+  <xs:complexType name="imageFileExplorerItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseFileExplorerItem">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="whiteBoard" type="project:whiteBoard" >
+</xs:element>
+  <xs:complexType name="whiteBoard" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="sendObjectToClientID" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="sendObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="room" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="parentPath" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="onsharedMessage" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="moduleName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isloadingImage" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="isloadedImage" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="initW" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="initH" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="imagey" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="iamgex" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="fileName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="downloadurl" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="domain" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="documentmenuIsInited" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="confirmdialog" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="baseurl" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="confirmationSingle" type="project:confirmationSingle" >
+</xs:element>
+  <xs:complexType name="confirmationSingle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="showCheckBox" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="refReturnMethod" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="labeliderror" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="changeWidthSliderWin" type="project:changeWidthSliderWin" >
+</xs:element>
+  <xs:complexType name="changeWidthSliderWin" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:closableView">
+      <xs:attribute name="maxvalue" type="lzx:number" default="100" >
+</xs:attribute>
+      <xs:attribute name="initialNumber" type="lzx:number" default="3" >
+</xs:attribute>
+      <xs:attribute name="btnRef" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="mainToolsLeftPanelPointer" type="project:mainToolsLeftPanelPointer" >
+</xs:element>
+  <xs:complexType name="mainToolsLeftPanelPointer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseLeftPanel">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseDrawWords" type="project:baseDrawWords" >
+</xs:element>
+  <xs:complexType name="baseDrawWords" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="inittext" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="initTextName" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="winni" type="project:winni" >
+</xs:element>
+  <xs:complexType name="winni" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:window">
+      <xs:attribute name="roomobj" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="activityListRestrictedRoomApplyForMuteOn" type="project:activityListRestrictedRoomApplyForMuteOn" >
+</xs:element>
+  <xs:complexType name="activityListRestrictedRoomApplyForMuteOn" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseItemActivityList">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videoObjectPlayTestBroadcast" type="project:videoObjectPlayTestBroadcast" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	contains microphone and camera for broadcasting,
+	this class is used only in Meetings-Modus
+ </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="videoObjectPlayTestBroadcast" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawLetterTools" type="project:drawLetterTools" >
+</xs:element>
+  <xs:complexType name="drawLetterTools" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="innerList" type="project:innerList" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ private class for turnOverList only. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="innerList" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="changeDevice" type="project:changeDevice" >
+</xs:element>
+  <xs:complexType name="changeDevice" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="myalert" type="project:myalert" >
+</xs:element>
+  <xs:complexType name="myalert" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:alert">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videoUserProfilePic" type="project:videoUserProfilePic" >
+</xs:element>
+  <xs:complexType name="videoUserProfilePic" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="value" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="fieldValuesListItem" type="project:fieldValuesListItem" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This class shows label-ID,label name, value.</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="fieldValuesListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentListItem">
+      <xs:attribute name="fieldvalues_id" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ This class shows label-ID,label name, value.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="fieldvalue" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="fieldname" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="editPrivateMessageFolder" type="project:editPrivateMessageFolder" >
+</xs:element>
+  <xs:complexType name="editPrivateMessageFolder" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:customInputtext">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="privateMessageFolderId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="folderName" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="createPollWin" type="project:createPollWin" >
+</xs:element>
+  <xs:complexType name="createPollWin" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="polltypesid" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="pollquestion" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="pollname" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="borderedPasswordText" type="project:borderedPasswordText" >
+</xs:element>
+  <xs:complexType name="borderedPasswordText" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="tvalue" type="xs:string" default="default" >
+</xs:attribute>
+      <xs:attribute name="sendchange" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="multiline" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="maxlength" type="lzx:number" default="null" >
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+      <xs:attribute name="editable" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="checkIsNumber" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="checkIsDouble" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="errorModeratorPopup" type="project:errorModeratorPopup" >
+</xs:element>
+  <xs:complexType name="errorModeratorPopup" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="error" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="openmeetingsTabButton" type="project:openmeetingsTabButton" >
+</xs:element>
+  <xs:complexType name="openmeetingsTabButton" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:roundRectGradient">
+      <xs:attribute name="labelid" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="iconresourcename" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="fixedWhiteBoard" type="project:fixedWhiteBoard" >
+</xs:element>
+  <xs:complexType name="fixedWhiteBoard" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="timeisInited" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="sendUpdate" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="sendObjectToClientID" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="sendObjectDel" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="sendObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="room" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="restricted" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="parentPath" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="onsharedMessage" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="objectRef" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="moduleName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isloadingImage" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="isloadedImage" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="initW" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="initH" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="imagey" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="ignoreUpdates" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="iamgex" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="fileName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="downloadurl" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="domain" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="documentmenuIsInited" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="confirmdialog" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="baseurl" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="basicturnoverlistheaderitem" type="project:basicturnoverlistheaderitem" >
+</xs:element>
+  <xs:complexType name="basicturnoverlistheaderitem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:simpleLabelButton">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseListPresentationItem" type="project:baseListPresentationItem" >
+</xs:element>
+  <xs:complexType name="baseListPresentationItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="uploadmoduleimgfolder" type="xs:string" default="$once{ canvas.uploadmoduleimgfolder }" >
+</xs:attribute>
+      <xs:attribute name="uploadmodul" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="selectable" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="isselected" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isoriginal" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="viewUserProfile" type="project:viewUserProfile" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ User Profile Setting Panel </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="viewUserProfile" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="userObject" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ User Profile Setting Panel </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="listOfUsers" type="project:listOfUsers" >
+</xs:element>
+  <xs:complexType name="listOfUsers" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="subitemsListItem" type="project:subitemsListItem" >
+</xs:element>
+  <xs:complexType name="subitemsListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="textvalue" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="selected" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="list" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="isopen" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isleaf" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="action" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="eventUserListTableWithNames" type="project:eventUserListTableWithNames" >
+</xs:element>
+  <xs:complexType name="eventUserListTableWithNames" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="horizontalDocumentIconBar" type="project:horizontalDocumentIconBar" >
+</xs:element>
+  <xs:complexType name="horizontalDocumentIconBar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="sendSelection" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="multiWhiteBoard" type="project:multiWhiteBoard" >
+</xs:element>
+  <xs:complexType name="multiWhiteBoard" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="sendObjectToClientID" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="sendObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="room" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="parentPath" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="onsharedMessage" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="objectRef" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="moduleName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isloadingImage" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="isloadedImage" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="initW" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="initH" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="imagey" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="iamgex" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="fileName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="downloadurl" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="domain" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="documentmenuIsInited" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="confirmdialog" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="baseurl" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="headerMenu" type="project:headerMenu" >
+</xs:element>
+  <xs:complexType name="headerMenu" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="sharingFrame" type="project:sharingFrame" >
+</xs:element>
+  <xs:complexType name="sharingFrame" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="sharingStarted" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="initSrc" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="bufferIndex" type="lzx:number" default="1" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawChooseModir" type="project:drawChooseModir" >
+</xs:element>
+  <xs:complexType name="drawChooseModir" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseChooseIcon">
+      <xs:attribute name="modi" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isSelectablemodi" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="listPpt" type="project:listPpt" >
+</xs:element>
+  <xs:complexType name="listPpt" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:text">
+      <xs:attribute name="uploadmodul" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isPpt" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="filenamePure" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="filename" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="ext" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chooseDrawAreaObjectCombobox" type="project:chooseDrawAreaObjectCombobox" >
+</xs:element>
+  <xs:complexType name="chooseDrawAreaObjectCombobox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:basecombobox">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="listV" type="xs:string" default="${ this.parent.listV }" >
+</xs:attribute>
+      <xs:attribute name="ObjectByName" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="whiteBoardPointer" type="project:whiteBoardPointer" >
+</xs:element>
+  <xs:complexType name="whiteBoardPointer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="userName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="fadeDelegate" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="dateSelector" type="project:dateSelector" >
+</xs:element>
+  <xs:complexType name="dateSelector" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseDateSelector">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="documentMenu" type="project:documentMenu" >
+</xs:element>
+  <xs:complexType name="documentMenu" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseToolbarMenu">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="myView" type="project:myView" >
+</xs:element>
+  <xs:complexType name="myView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:drawview">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseDrawLetter" type="project:baseDrawLetter" >
+</xs:element>
+  <xs:complexType name="baseDrawLetter" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseDrawObject">
+      <xs:attribute name="letterObjectIsActive" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="italic" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="edittextLetterObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="edittextLetter" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="currentletterObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="currentlayerstyle" type="xs:string" default="plain" >
+</xs:attribute>
+      <xs:attribute name="currentlayersize" type="lzx:number" default="12" >
+</xs:attribute>
+      <xs:attribute name="currentlayerletter" type="xs:string" default="0x000000" >
+</xs:attribute>
+      <xs:attribute name="bold" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="_labelMenuItem" type="project:_labelMenuItem" >
+</xs:element>
+  <xs:complexType name="_labelMenuItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:menuitem">
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="userItem" type="project:userItem" >
+</xs:element>
+  <xs:complexType name="userItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="username" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="streamid" type="xs:string" default="0" >
+</xs:attribute>
+      <xs:attribute name="hasAnswered" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="answer" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="vslider" type="project:vslider" >
+</xs:element>
+  <xs:complexType name="vslider" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="switchaxis" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ switchaxis true means minimum-value is 
+            t op maximum is bottom false turns around </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showvalue" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ showvalue should the slider show the numbers of min/max </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="showrange" type="lzx:boolean" default="true" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Showrange should the slidertrack be with color while 'sliding' </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="minvalue" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Minimum Value </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="maxvalue" type="lzx:number" default="100" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Maximum Value </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="initvalue" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseDrawLine" type="project:baseDrawLine" >
+</xs:element>
+  <xs:complexType name="baseDrawLine" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseDrawPaint">
+      <xs:attribute name="currentlinestroke" type="xs:string" default="0xFF6600" >
+</xs:attribute>
+      <xs:attribute name="currentlinelineWidth" type="lzx:number" default="2" >
+</xs:attribute>
+      <xs:attribute name="currentlineOpacity" type="lzx:number" default="1" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="eventUserListItem" type="project:eventUserListItem" >
+</xs:element>
+  <xs:complexType name="eventUserListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="withNames" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="userroom" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="username" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="user_id" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="streamid" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="maxWidth" type="lzx:number" default="82" >
+</xs:attribute>
+      <xs:attribute name="maxHeight" type="lzx:number" default="72" >
+</xs:attribute>
+      <xs:attribute name="lastname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isSuperModerator" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isSelected" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isMod" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="initWidth" type="lzx:number" default="42" >
+</xs:attribute>
+      <xs:attribute name="formatedDate" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="firstname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="connectedSince" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="whiteBoardTextField" type="project:whiteBoardTextField" >
+</xs:element>
+  <xs:complexType name="whiteBoardTextField" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:text">
+      <xs:attribute name="typeOfObject" type="xs:string" default="text" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="mainToolsVPanelSeperator" type="project:mainToolsVPanelSeperator" >
+</xs:element>
+  <xs:complexType name="mainToolsVPanelSeperator" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="participentList" type="project:participentList" >
+</xs:element>
+  <xs:complexType name="participentList" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="sortType" type="xs:string" default="alphabetical" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="searchContactInCalendar" type="project:searchContactInCalendar" >
+</xs:element>
+  <xs:complexType name="searchContactInCalendar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="userId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="nachname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="meetingMemberId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="email" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="xmlCrmUserAdmin" type="project:xmlCrmUserAdmin" >
+</xs:element>
+  <xs:complexType name="xmlCrmUserAdmin" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="moderationMiniIconRestricted" type="project:moderationMiniIconRestricted" >
+</xs:element>
+  <xs:complexType name="moderationMiniIconRestricted" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="publicSID" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isSuperModerator" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isMod" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isActive" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="_recorderProgressBar" type="project:_recorderProgressBar" >
+</xs:element>
+  <xs:complexType name="_recorderProgressBar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="_videoBoardStreamEvent" type="project:_videoBoardStreamEvent" >
+</xs:element>
+  <xs:complexType name="_videoBoardStreamEvent" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:guiPresenter">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="labelText" type="project:labelText" >
+</xs:element>
+  <xs:complexType name="labelText" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:text">
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="roomListDetails" type="project:roomListDetails" >
+</xs:element>
+  <xs:complexType name="roomListDetails" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="roomname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="roomid" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="roomcomment" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="currentusers" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="errorDialog" type="project:errorDialog" >
+</xs:element>
+  <xs:complexType name="errorDialog" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseErrorDialog">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="confirmDeleteWindow" type="project:confirmDeleteWindow" >
+</xs:element>
+  <xs:complexType name="confirmDeleteWindow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="messagelabelid" type="lzx:number" default="153" >
+</xs:attribute>
+      <xs:attribute name="confirmlabelid" type="lzx:number" default="154" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="restrictedUserListInner" type="project:restrictedUserListInner" >
+</xs:element>
+  <xs:complexType name="restrictedUserListInner" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseRoomInnerList">
+      <xs:attribute name="sortType" type="xs:string" default="alphabetical" >
+</xs:attribute>
+      <xs:attribute name="selectedItem" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="resizeDelegateStarted" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="resizeDelegate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="renderDelegateStarted" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="renderDelegate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="listType" type="xs:string" default="eventUserListTable" >
+</xs:attribute>
+      <xs:attribute name="isLoaded" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="currentSelectedIndex" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="searchResultsContact" type="project:searchResultsContact" >
+</xs:element>
+  <xs:complexType name="searchResultsContact" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="bigTextListItem" type="project:bigTextListItem" >
+</xs:element>
+  <xs:complexType name="bigTextListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:textlistitem">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="interviewUserListItem" type="project:interviewUserListItem" >
+</xs:element>
+  <xs:complexType name="interviewUserListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="userroom" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="username" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="user_id" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="streamid" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="lastname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isSuperModerator" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isSelected" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isMod" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="formatedDate" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="firstname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="connectedSince" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseVideoView" type="project:baseVideoView" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ 
+	This class provides the basic functions for the video-output
+	
+	    @START_CODE
+            &lt;baseVideoView x="20" y="20" width="320" height="240" bgcolor="black" /&gt;
+        @END_CODE	
+ </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="baseVideoView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="weekView" type="project:weekView" >
+</xs:element>
+  <xs:complexType name="weekView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="dayNamesLabelIds" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="dayLabelNamesLabelIds" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="myScheduledMeetings" type="project:myScheduledMeetings" >
+</xs:element>
+  <xs:complexType name="myScheduledMeetings" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chatParticipantsInviteNotification" type="project:chatParticipantsInviteNotification" >
+</xs:element>
+  <xs:complexType name="chatParticipantsInviteNotification" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:guiPresenter">
+      <xs:attribute name="usermessage" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="roomId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="publicSID" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="messageObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="conferenceRoomName" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="dateSelectorWeek" type="project:dateSelectorWeek" >
+</xs:element>
+  <xs:complexType name="dateSelectorWeek" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseDateSelectorComponent">
+      <xs:attribute name="firstweekddaydate" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawSimpleClick" type="project:drawSimpleClick" >
+</xs:element>
+  <xs:complexType name="drawSimpleClick" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseChooseIcon">
+      <xs:attribute name="modi" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="advancedRoomSettings" type="project:advancedRoomSettings" >
+</xs:element>
+  <xs:complexType name="advancedRoomSettings" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="uploadTab" type="project:uploadTab" >
+</xs:element>
+  <xs:complexType name="uploadTab" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:simpleBaseTabpane">
+      <xs:attribute name="sortOrder" type="xs:string" default="file" >
+</xs:attribute>
+      <xs:attribute name="preButton" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="currentFilesValue" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="ascFile" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="ascDate" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseDateSelectorComponent" type="project:baseDateSelectorComponent" >
+</xs:element>
+  <xs:complexType name="baseDateSelectorComponent" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="weekclass" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="showingdate" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="showcalenderweek" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="showcalendermonth" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="monthclass" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="daynumbers" type="xs:string" default="[0,1,2,3,4,5,6]" >
+</xs:attribute>
+      <xs:attribute name="dayclass" type="xs:string" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="simpleValueList" type="project:simpleValueList" >
+</xs:element>
+  <xs:complexType name="simpleValueList" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="onselect" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="multiselect" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="itemclassname" type="xs:string" default="simpleListItem" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="simplebasetabpane" type="project:simplebasetabpane" >
+</xs:element>
+  <xs:complexType name="simplebasetabpane" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseLeftPanel" type="project:baseLeftPanel" >
+</xs:element>
+  <xs:complexType name="baseLeftPanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseBoundingBorderView">
+      <xs:attribute name="title" type="xs:string" default="basePanel" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Title of this window </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+      <xs:attribute name="closable" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ if this Box should be closeable </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="imageForDrawView" type="project:imageForDrawView" >
+</xs:element>
+  <xs:complexType name="imageForDrawView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:image">
+      <xs:attribute name="uniqueObjectSyncName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="typeOfObject" type="xs:string" default="image" >
+</xs:attribute>
+      <xs:attribute name="room" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="remotewidth" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="remoteheight" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="recorderModus" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="parentPath" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="moduleName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isLocalSync" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="fileName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="downloadurl" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="domain" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="baseurl" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="alterModus" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="dynamicCombobox" type="project:dynamicCombobox" >
+</xs:element>
+  <xs:complexType name="dynamicCombobox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:baseformitem">
+      <xs:attribute name="onselect" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="isCountryCombobox" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="propertyPanel" type="project:propertyPanel" >
+</xs:element>
+  <xs:complexType name="propertyPanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:basePropertyPanel">
+      <xs:attribute name="sendSelection" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="ignoreUpdates" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseDrawArrow" type="project:baseDrawArrow" >
+</xs:element>
+  <xs:complexType name="baseDrawArrow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseDrawULine">
+      <xs:attribute name="currentdrawarrowlinestrokeFillDis" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="currentdrawarrowlinestrokeFill" type="xs:string" default="0xFF6600" >
+</xs:attribute>
+      <xs:attribute name="currentdrawarrowlinestrokeDis" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="currentdrawarrowlinestroke" type="xs:string" default="0x000000" >
+</xs:attribute>
+      <xs:attribute name="currentdrawarrowlinelineWidth" type="lzx:number" default="4" >
+</xs:attribute>
+      <xs:attribute name="currentdrawarrowOpacity" type="lzx:number" default="1" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseDrawObject" type="project:baseDrawObject" >
+</xs:element>
+  <xs:complexType name="baseDrawObject" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseDrawPointer">
+      <xs:attribute name="newSlideNumber" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="modernToolbar" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="fullFit" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseContentView" type="project:baseContentView" >
+</xs:element>
+  <xs:complexType name="baseContentView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="sendInit" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="ontabcontentleave" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="destroyByMethod" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="overAllChat" type="project:overAllChat" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Chat module of the dashboard. The fixed size is 810x280 </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="overAllChat" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="mainDashboard" type="project:mainDashboard" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+  modules:dashboard </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="mainDashboard" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+      <xs:attribute name="refObjItem" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Chat module of the dashboard. The fixed size is 810x280
+    &lt;class name="overAllChat" extends="guiPresenter" resizeable="false"
+        width="${ canvas.width-20 }" height="${ canvas.height-360 }" 
+        y="240" x="10" closable="true" labelid="443" 
+        isdragable="false" minimizable="false" 
+                 maximizable="false" closable="false"&gt;
+     </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="mainMenuMeetingsItem" type="project:mainMenuMeetingsItem" >
+</xs:element>
+  <xs:complexType name="mainMenuMeetingsItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="textvalue" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="textToolTip" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="selected" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="list" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="isopen" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isleaf" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="action" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="innerlistViewEventUserListTable" type="project:innerlistViewEventUserListTable" >
+</xs:element>
+  <xs:complexType name="innerlistViewEventUserListTable" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="terminarea" type="project:terminarea" >
+</xs:element>
+  <xs:complexType name="terminarea" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="terminObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="isActive" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="calenderObjRef" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="arrayMeetingMember" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="calendar_day" type="project:calendar_day" >
+</xs:element>
+  <xs:complexType name="calendar_day" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="year" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="startdate" type="xs:string" default="1" >
+</xs:attribute>
+      <xs:attribute name="pixels_per_hour" type="xs:string" default="22" >
+</xs:attribute>
+      <xs:attribute name="opened" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="newYear" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="newMonth" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="newDay" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="month" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="eventwidth" type="xs:string" default="${details.bgrect.width - ( this.opened ? 38 : 0 )}" >
+</xs:attribute>
+      <xs:attribute name="enddate" type="xs:string" default="1" >
+</xs:attribute>
+      <xs:attribute name="dayOfMonth" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="asyncNew" type="xs:string" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="inviteMainWindow" type="project:inviteMainWindow" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+		This class shows a invitation window with clicking button which is located in video and audio panel.
+	</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="inviteMainWindow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="roomType" type="xs:string" default="conference" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+		This class shows a invitation window with clicking button which is located in video and audio panel.
+	</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="baseUrl" type="xs:string" default="http://www.denic.de" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="mainNavi" type="project:mainNavi" >
+</xs:element>
+  <xs:complexType name="mainNavi" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="pending" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="naviObject" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="currentmenu" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="currentSubmenu" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="currentMainmenu" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="searchUserProfileListItem" type="project:searchUserProfileListItem" >
+</xs:element>
+  <xs:complexType name="searchUserProfileListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:basePagingListItem">
+      <xs:attribute name="username" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="timezone" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="searchUserProfileImage" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="searchSearchs" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="searchOffers" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="pending" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="resultPieCharPoll" type="project:resultPieCharPoll" >
+</xs:element>
+  <xs:complexType name="resultPieCharPoll" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:ompiechart">
+      <xs:attribute name="yseries" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="xseries" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="tooltipseries" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseItemActivityList" type="project:baseItemActivityList" >
+</xs:element>
+  <xs:complexType name="baseItemActivityList" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="tStamp" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="rcl" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="message" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="labelidToolTipOkButton" type="lzx:number" default="1360" >
+</xs:attribute>
+      <xs:attribute name="labelidToolTipDenyButton" type="lzx:number" default="1361" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videoContainer" type="project:videoContainer" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+        Container view including all audio/video - views for a Meeting
+        
+        @keywords deprecated see participents.lzx
+ </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="videoContainer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="colorArray" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ colors for each user </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="broadCastViewRef" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ holds a references to the videoview which is broadcasting </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="roomListItem" type="project:roomListItem" >
+</xs:element>
+  <xs:complexType name="roomListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="starttime" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="roomname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="roomid" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="roomcomment" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="roomType" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="roomClassName" type="xs:string" default="conferenceView" >
+</xs:attribute>
+      <xs:attribute name="obj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="maxUsers" type="lzx:number" default="4" >
+</xs:attribute>
+      <xs:attribute name="ispublic" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isaudience" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="currentusers" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="checkForMaxUsers" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="sipLoader" type="project:sipLoader" >
+</xs:element>
+  <xs:complexType name="sipLoader" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="countryCombobox" type="project:countryCombobox" >
+</xs:element>
+  <xs:complexType name="countryCombobox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:resetCombobox">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="doUpdate" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="audienceView" type="project:audienceView" >
+</xs:element>
+  <xs:complexType name="audienceView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseContentSaveView" type="project:baseContentSaveView" >
+</xs:element>
+  <xs:complexType name="baseContentSaveView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+      <xs:attribute name="saveIsVisible" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="refreshIsVisible" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="onreload" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="onnew" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="ondelete" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="observerViews" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="deleteIsVisible" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="confirmMessageLabelId" type="lzx:number" default="661" >
+</xs:attribute>
+      <xs:attribute name="addIsVisible" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="conferenceBox" type="project:conferenceBox" >
+</xs:element>
+  <xs:complexType name="conferenceBox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="textInset" type="lzx:number" default="10" >
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" >
+</xs:attribute>
+      <xs:attribute name="isopen" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="initHeight" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="headerText" type="xs:string" default="Users" >
+</xs:attribute>
+      <xs:attribute name="closedHeight" type="lzx:number" default="40" >
+</xs:attribute>
+      <xs:attribute name="closeable" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="interviewListTable" type="project:interviewListTable" >
+</xs:element>
+  <xs:complexType name="interviewListTable" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="calendarWindow" type="project:calendarWindow" >
+</xs:element>
+  <xs:complexType name="calendarWindow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="fieldRef" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="horizontalMenuIconBar" type="project:horizontalMenuIconBar" >
+</xs:element>
+  <xs:complexType name="horizontalMenuIconBar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="modi" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="recordListItem" type="project:recordListItem" >
+</xs:element>
+  <xs:complexType name="recordListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentListItem">
+      <xs:attribute name="valueName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="value" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseDrawTriangle" type="project:baseDrawTriangle" >
+</xs:element>
+  <xs:complexType name="baseDrawTriangle" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseDrawClipArt">
+      <xs:attribute name="currenttrianglestrokeFillDis" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="currenttrianglestrokeFill" type="xs:string" default="0xFFFF33" >
+</xs:attribute>
+      <xs:attribute name="currenttrianglestrokeDis" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="currenttrianglestroke" type="xs:string" default="0xFF6600" >
+</xs:attribute>
+      <xs:attribute name="currenttriangleineWidth" type="lzx:number" default="4" >
+</xs:attribute>
+      <xs:attribute name="currenttriangleOpacity" type="lzx:number" default="1" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="explorerBox" type="project:explorerBox" >
+</xs:element>
+  <xs:complexType name="explorerBox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="title" type="xs:string" default="defaulttitle" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ The Title of this Box </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="resizeable" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ if this Box should be resizeable  </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onclose" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the Event will be thrown if you close the Box </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="dockingbarrier" type="lzx:number" default="15" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Hard to explain but its clear if you play around 
+		with that. Its the number of minimum pixels before 
+		the "docking" effect will be there </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="docking" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Can this Box be docked to others and 
+			the width/height of parent compoent barrier </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="closable" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ if this Box should be closeable </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="documentPanelVPanelSeperator" type="project:documentPanelVPanelSeperator" >
+</xs:element>
+  <xs:complexType name="documentPanelVPanelSeperator" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="viewUserProfileWindow" type="project:viewUserProfileWindow" >
+</xs:element>
+  <xs:complexType name="viewUserProfileWindow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:guiPresenter">
+      <xs:attribute name="userId" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="backupImportWindow" type="project:backupImportWindow" >
+</xs:element>
+  <xs:complexType name="backupImportWindow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="winobj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="uploadmodule" type="xs:string" default="users" >
+</xs:attribute>
+      <xs:attribute name="sessionid" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="secondid" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="syncWin" type="project:syncWin" >
+</xs:element>
+  <xs:complexType name="syncWin" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelText">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="labeliderror" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="simpleBaseTabpane" type="project:simpleBaseTabpane" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Tabpane. it used by chat. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="simpleBaseTabpane" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="listPresentationFilePDFExplorer" type="project:listPresentationFilePDFExplorer" >
+</xs:element>
+  <xs:complexType name="listPresentationFilePDFExplorer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseListPresentationItemExplorer">
+      <xs:attribute name="swfName" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="pdfname" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="calendarMonthView" type="project:calendarMonthView" >
+</xs:element>
+  <xs:complexType name="calendarMonthView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="fullDate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="daydate" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="countsubwievs" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="miniIconSmybolExtraIconsSeparator" type="project:miniIconSmybolExtraIconsSeparator" >
+</xs:element>
+  <xs:complexType name="miniIconSmybolExtraIconsSeparator" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="title" type="xs:string" default="title" >
+</xs:attribute>
+      <xs:attribute name="isopen" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="restrictedConferenceMenubar" type="project:restrictedConferenceMenubar" >
+</xs:element>
+  <xs:complexType name="restrictedConferenceMenubar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:menubar">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="autoloaderBarOnly" type="project:autoloaderBarOnly" >
+</xs:element>
+  <xs:complexType name="autoloaderBarOnly" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="step" type="lzx:number" default="100" >
+</xs:attribute>
+      <xs:attribute name="start" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="maxwidth" type="lzx:number" default="100" >
+</xs:attribute>
+      <xs:attribute name="maxsteps" type="lzx:number" default="19" >
+</xs:attribute>
+      <xs:attribute name="max" type="lzx:number" default="1300" >
+</xs:attribute>
+      <xs:attribute name="currentsteps" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="documentIconTopPanel" type="project:documentIconTopPanel" >
+</xs:element>
+  <xs:complexType name="documentIconTopPanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseTopPanel">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="commonVideoViewContent" type="project:commonVideoViewContent" >
+</xs:element>
+  <xs:complexType name="commonVideoViewContent" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="restrictedUserListItem" type="project:restrictedUserListItem" >
+</xs:element>
+  <xs:complexType name="restrictedUserListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:basePagingListItem">
+      <xs:attribute name="userroom" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="userpicView" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="userpicURL" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="username" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="user_id" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="streamid" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="selfItem" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="micMuted" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="lastname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isSuperModerator" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isMod" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isBroadcasting" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="formatedDate" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="firstname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="connectedSince" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="canShare" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="canRemote" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="canDraw" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="folderFileExplorerItem" type="project:folderFileExplorerItem" >
+</xs:element>
+  <xs:complexType name="folderFileExplorerItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseFileExplorerItem">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="iconView" type="project:iconView" >
+</xs:element>
+  <xs:complexType name="iconView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="enabled" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="enterExternMember" type="project:enterExternMember" >
+</xs:element>
+  <xs:complexType name="enterExternMember" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="interviewVideoChooseUser" type="project:interviewVideoChooseUser" >
+</xs:element>
+  <xs:complexType name="interviewVideoChooseUser" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:guiPresenter">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videoEventContainerStream" type="project:videoEventContainerStream" >
+</xs:element>
+  <xs:complexType name="videoEventContainerStream" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="orgAdminListItem" type="project:orgAdminListItem" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Existing organization list. used by orgAdmin only </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="orgAdminListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentListItem">
+      <xs:attribute name="orgname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="organisation_id" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Existing organization list. used by orgAdmin only </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseVideoObject" type="project:baseVideoObject" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	Base container for a client, can be either:
+	a remote-video (subscribing/playing a video)
+	or a self-video (broadcasting a cam/mic)
+ </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="baseVideoObject" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="usercolor" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ color of this user, this is the color the user will also use for his chat-color </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="respectRatio" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="publicSID" type="xs:string" default="" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ publicSID is a hash-value to identify a user </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="minimized" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="micMuted" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ micMuted indicates if the microphone is currently turned sound or gain to 0 </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="isload" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="isShowMicMute" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isMutedByModerator" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="initW" type="lzx:number" default="40" >
+</xs:attribute>
+      <xs:attribute name="initH" type="lzx:number" default="40" >
+</xs:attribute>
+      <xs:attribute name="hidebyAudioOnly" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="custom" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="messageWin" type="project:messageWin" >
+</xs:element>
+  <xs:complexType name="messageWin" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="labeliderror" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="conferenceRoomSidebar" type="project:conferenceRoomSidebar" >
+</xs:element>
+  <xs:complexType name="conferenceRoomSidebar" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="selected" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="isOpen" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="ompiechart" type="project:ompiechart" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+          A pie chart represents a chart that is displayed in the 2D
+          polar plane. This class inherits immediately from chart class
+          and can be instantiated directly. (Warning: Of beta quality.)
+          @access public
+          </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="ompiechart" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:chart">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="eventUserList" type="project:eventUserList" >
+</xs:element>
+  <xs:complexType name="eventUserList" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="userNewVideoContainer" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="organisation_id" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="listType" type="xs:string" default="eventUserListTable" >
+</xs:attribute>
+      <xs:attribute name="colorArray" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ colors for each user </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="broadCastViewRef" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ holds a references to the videoview which is broadcasting </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="applyDefaultModeration" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="allowUserQuestions" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="contactsListItem" type="project:contactsListItem" >
+</xs:element>
+  <xs:complexType name="contactsListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:basePagingListItem">
+      <xs:attribute name="username" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="shareCalendar" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="searchUserProfileImage" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="comoboxListItemNoHeaders" type="project:comoboxListItemNoHeaders" >
+</xs:element>
+  <xs:complexType name="comoboxListItemNoHeaders" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:basePagingListItem">
+      <xs:attribute name="text" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="activityListRestrictedRoomModeration" type="project:activityListRestrictedRoomModeration" >
+</xs:element>
+  <xs:complexType name="activityListRestrictedRoomModeration" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseItemActivityList">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="turnOverListHeaderItemOrdered" type="project:turnOverListHeaderItemOrdered" >
+</xs:element>
+  <xs:complexType name="turnOverListHeaderItemOrdered" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:turnoverlistheaderitemResize">
+      <xs:attribute name="orderBy" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isSelected" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="asc" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="browserjavascriptcallback" type="project:browserjavascriptcallback" >
+</xs:element>
+  <xs:complexType name="browserjavascriptcallback" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="value" type="xs:string" >
+</xs:attribute>
+      <xs:attribute name="timer" type="lzx:number" default="10" >
+</xs:attribute>
+      <xs:attribute name="prevalue" type="xs:string" default="_browserjavascriptcallbackprevalue" >
+</xs:attribute>
+      <xs:attribute name="lzappId" type="xs:string" default="lzapp" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chooseOrganisationWindow" type="project:chooseOrganisationWindow" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Organization choice modal window when an organization is added to a user.</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="chooseOrganisationWindow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="item_id" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Organization choice modal window when an organization is added to a user.</xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="documentPanelHPanelSeperator" type="project:documentPanelHPanelSeperator" >
+</xs:element>
+  <xs:complexType name="documentPanelHPanelSeperator" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="lineColorChoose" type="project:lineColorChoose" >
+</xs:element>
+  <xs:complexType name="lineColorChoose" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:basePropertySelector">
+      <xs:attribute name="selectedColorTransformedString" type="xs:string" default="0xFF6600" >
+</xs:attribute>
+      <xs:attribute name="selectedColorDis" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="selectedColor" type="lzx:number" default="0xFF6600" >
+</xs:attribute>
+      <xs:attribute name="isopen" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="inInitColorSelection" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="colorPickRef" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="colorIsEnabled" type="lzx:boolean" default="true" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="resetCombobox" type="project:resetCombobox" >
+</xs:element>
+  <xs:complexType name="resetCombobox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:combobox">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="recordListitem" type="project:recordListitem" >
+</xs:element>
+  <xs:complexType name="recordListitem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="fileUpload" type="project:fileUpload" >
+</xs:element>
+  <xs:complexType name="fileUpload" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="isOnlyZip" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isOnlyXml" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isOnlyProfile" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isOnlyPpt" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isOnlyImage" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="fr" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseBoundingBorderView" type="project:baseBoundingBorderView" >
+</xs:element>
+  <xs:complexType name="baseBoundingBorderView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="verticalClassActive" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="vWidth" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="vHeight" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="topClassPanel" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="rightClassPanel" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="preclose" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ extra Event for this kind of view
+		will be thrown before the view inits new </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="onclose" type="xs:string" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ the Event will be thrown if you close the Box </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="mousetracker_del" type="xs:string" default="$once{ new LzDelegate(this, 'checkStaticBorders' )}" >
+</xs:attribute>
+      <xs:attribute name="leftClassPanel" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="hasshadow" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="hWidth" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="hHeight" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="dockingbarrier" type="lzx:number" default="15" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Hard to explain but its clear if you play around 
+		with that. Its the number of minimum pixels before 
+		the "docking" effect will be there </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="docking" type="lzx:boolean" default="false" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Can this Box be docked to others and 
+			the width/height of parent compoent barrier </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="currentBoundingBox" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="boundingbarrier" type="lzx:number" default="2" >
+</xs:attribute>
+      <xs:attribute name="bottomClassPanel" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="activationVClassBounding" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="activationClassBounding" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="listImageDrag" type="project:listImageDrag" >
+</xs:element>
+  <xs:complexType name="listImageDrag" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="uploadmodul" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isPpt" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="filenamePure" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="filename" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="ext" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="modernWhiteBoardPanel" type="project:modernWhiteBoardPanel" >
+</xs:element>
+  <xs:complexType name="modernWhiteBoardPanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:conferenceBox">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="miniIconSmybolExtraIconsContainer" type="project:miniIconSmybolExtraIconsContainer" >
+</xs:element>
+  <xs:complexType name="miniIconSmybolExtraIconsContainer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:text">
+      <xs:attribute name="toolTipReference" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isopen" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="iconList" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="folderName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="fName" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="calcItem" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="contentSaveWindow" type="project:contentSaveWindow" >
+</xs:element>
+  <xs:complexType name="contentSaveWindow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseErrorDialog">
+      <xs:attribute name="saveObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="processNextIndex" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="listPresentationFileOrig" type="project:listPresentationFileOrig" >
+</xs:element>
+  <xs:complexType name="listPresentationFileOrig" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:listPresentationFilePDF">
+      <xs:attribute name="originalName" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="turnOverListPaged" type="project:turnOverListPaged" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ common TurnOverList view class. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="turnOverListPaged" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseturnOverListPaged">
+      <xs:attribute name="sendEventToReload" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="rssPanel" type="project:rssPanel" >
+</xs:element>
+  <xs:complexType name="rssPanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:guiPresenter">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="drawDocumentPanelItem" type="project:drawDocumentPanelItem" >
+</xs:element>
+  <xs:complexType name="drawDocumentPanelItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:blueButton">
+      <xs:attribute name="modi" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="labelid" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="remoteUserDetails" type="project:remoteUserDetails" >
+</xs:element>
+  <xs:complexType name="remoteUserDetails" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="mainToolsTopPanel" type="project:mainToolsTopPanel" >
+</xs:element>
+  <xs:complexType name="mainToolsTopPanel" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseTopPanel">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="flexibleEventRoom" type="project:flexibleEventRoom" >
+</xs:element>
+  <xs:complexType name="flexibleEventRoom" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseConferenceRoom">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="appointmentMembers" type="project:appointmentMembers" >
+</xs:element>
+  <xs:complexType name="appointmentMembers" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="terminObjRef" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="numberOfStart" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="numberOfRecords" type="lzx:number" default="20" >
+</xs:attribute>
+      <xs:attribute name="numberOfMessage" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="conferenceView" type="project:conferenceView" >
+</xs:element>
+  <xs:complexType name="conferenceView" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+      <xs:attribute name="roomobj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="meetingTimer" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="listPagedContent" type="project:listPagedContent" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ common TurnOverList view class. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="listPagedContent" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="totalItemsInList" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="showHScrollbar" type="xs:string" default="visible" >
+</xs:attribute>
+      <xs:attribute name="itemsToShow" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="itemHeight" type="lzx:number" default="20" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ common TurnOverList view class. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="currentLastItemInList" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="privateMessages" type="project:privateMessages" >
+</xs:element>
+  <xs:complexType name="privateMessages" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="userContactId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="senderuserId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="sendEventToReload" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="selectedRefObjIds" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="selected" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="selectMenuItemObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="roomObjectRef" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="privateMessageId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="privateMessageFolderId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="pendingUserStatusRef" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="onlyUpdateDropDown" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="newMessageActive" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="newFolderId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="isTrash" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isSend" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isRead" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isInbox" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isFolder" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="countUnRead" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="screenSharingContainer" type="project:screenSharingContainer" >
+</xs:element>
+  <xs:complexType name="screenSharingContainer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="userListAdmin" type="project:userListAdmin" >
+</xs:element>
+  <xs:complexType name="userListAdmin" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseDrawULine" type="project:baseDrawULine" >
+</xs:element>
+  <xs:complexType name="baseDrawULine" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseDrawLine">
+      <xs:attribute name="currentulinestroke" type="xs:string" default="0xFF6600" >
+</xs:attribute>
+      <xs:attribute name="currentulinelineWidth" type="lzx:number" default="20" >
+</xs:attribute>
+      <xs:attribute name="currentulineOpacity" type="lzx:number" default="0.5" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="liste" type="project:liste" >
+</xs:element>
+  <xs:complexType name="liste" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="recordContent" type="project:recordContent" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+		View for recorded contents list.
+		When you select 'Recordings' on the top menu, this class shows the list.
+	</xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="recordContent" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentView">
+      <xs:attribute name="recordedFileToDelete" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="preButton" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="roomAdminRoomClientListItem" type="project:roomAdminRoomClientListItem" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ list of conference/audience rooms </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="roomAdminRoomClientListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentListItem">
+      <xs:attribute name="red5_id" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ list of conference/audience rooms </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="login" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="ispublic" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="editUserContactsContent" type="project:editUserContactsContent" >
+</xs:element>
+  <xs:complexType name="editUserContactsContent" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="dynamicFileName" type="project:dynamicFileName" >
+</xs:element>
+  <xs:complexType name="dynamicFileName" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:customInputtext">
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="parentFileExplorerItemId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="isOwner" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isNew" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="fileExplorerItemId" type="lzx:number" default="0" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="calendar_event" type="project:calendar_event" >
+</xs:element>
+  <xs:complexType name="calendar_event" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="startTime" type="xs:string" default="${this.startHour * 60 + Number( this.startMin )}" >
+</xs:attribute>
+      <xs:attribute name="startMin" type="xs:string" default="$path{'start[1]/@minute'}" >
+</xs:attribute>
+      <xs:attribute name="startHour" type="xs:string" default="$path{'start[1]/@hour'}" >
+</xs:attribute>
+      <xs:attribute name="selected" type="xs:string" default="$path{'@selected'}" >
+</xs:attribute>
+      <xs:attribute name="pixelPerMin" type="lzx:number" default="22/60" >
+</xs:attribute>
+      <xs:attribute name="normalColor" type="lzx:color" default="${this.getEventColor( this.category )}" >
+</xs:attribute>
+      <xs:attribute name="mouseIsDown" type="xs:string" default="false" >
+</xs:attribute>
+      <xs:attribute name="hiColor" type="lzx:color" default="0xDDDDDD" >
+</xs:attribute>
+      <xs:attribute name="endTime" type="xs:string" default="${this.endHour * 60 + Number( this.endMin )}" >
+</xs:attribute>
+      <xs:attribute name="endMin" type="xs:string" default="$path{'end[1]/@minute'}" >
+</xs:attribute>
+      <xs:attribute name="endHour" type="xs:string" default="$path{'end[1]/@hour'}" >
+</xs:attribute>
+      <xs:attribute name="defaultTimes" type="xs:string" default="{startHour: 0, startMin: 0, endHour: 0, endMin: 0}" >
+</xs:attribute>
+      <xs:attribute name="category" type="xs:string" default="$path{'category[1]/@value'}" >
+</xs:attribute>
+      <xs:attribute name="bkgndColor" type="lzx:color" default="0x5D84CB" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="addLanguage" type="project:addLanguage" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Popup view to input a new language name to be added. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="addLanguage" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="tempValue" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="refObj" type="xs:string" default="null" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ Popup view to input a new language name to be added. </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="userAdminValueForm" type="project:userAdminValueForm" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ User Profile edit panel in the useradmin leftblock. Private class only for useradmin </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="userAdminValueForm" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentSaveView">
+      <xs:attribute name="user_id" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ recordContent-id </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="sendObject" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="activityListRestrictedRoomWhiteboard" type="project:activityListRestrictedRoomWhiteboard" >
+</xs:element>
+  <xs:complexType name="activityListRestrictedRoomWhiteboard" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseItemActivityList">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="subitemsListContainter" type="project:subitemsListContainter" >
+</xs:element>
+  <xs:complexType name="subitemsListContainter" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="uploadWindow" type="project:uploadWindow" >
+</xs:element>
+  <xs:complexType name="uploadWindow" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:labelExplorerBox">
+      <xs:attribute name="winobj" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="usersid" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="uploadmodule" type="xs:string" default="videoconf1" >
+</xs:attribute>
+      <xs:attribute name="singleslidesmodule_id" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="sessionid" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="servletName" type="xs:string" default="UploadHandler" >
+</xs:attribute>
+      <xs:attribute name="returnObj" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="parentFolderId" type="lzx:number" default="0" >
+</xs:attribute>
+      <xs:attribute name="isdefaultreturn" type="lzx:boolean" default="true" >
+</xs:attribute>
+      <xs:attribute name="isOnlyXml" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isOnlyProfile" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isOnlyPpt" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="isOnlyImage" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="updatecheckbox" type="project:updatecheckbox" >
+</xs:element>
+  <xs:complexType name="updatecheckbox" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:checkbox">
+      <xs:attribute name="tvalue" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="sendchange" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="changeWidthLetterSliderWin" type="project:changeWidthLetterSliderWin" >
+</xs:element>
+  <xs:complexType name="changeWidthLetterSliderWin" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:closableViewLetter">
+      <xs:attribute name="initialNumber" type="lzx:number" default="12" >
+</xs:attribute>
+      <xs:attribute name="btnRef" type="xs:string" default="null" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="helpAndBugs" type="project:helpAndBugs" >
+</xs:element>
+  <xs:complexType name="helpAndBugs" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="roomAdminListItem" type="project:roomAdminListItem" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ list of conference/audience rooms </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="roomAdminListItem" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseContentListItem">
+      <xs:attribute name="rooms_id" type="lzx:number" default="0" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ list of conference/audience rooms </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="roomname" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="ispublic" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="chatTabBottom" type="project:chatTabBottom" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+ View of the buttom area of chat. It contains buttons of message,emoticons,clear. </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="chatTabBottom" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:view">
+      <xs:attribute name="objMessage" type="xs:string" default="null" >
+</xs:attribute>
+      <xs:attribute name="doUpdate" type="lzx:boolean" default="false" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="videoObjectPlayBroadcast" type="project:videoObjectPlayBroadcast" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	Contains no microphone or camera Object, this view can only 
+	subscribe to a video or live-stream
+
+ </xs:documentation>
+</xs:annotation>
+</xs:element>
+  <xs:complexType name="videoObjectPlayBroadcast" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseVideoObject">
+      <xs:attribute name="ratioW" type="xs:string" default="1" >
+<xs:annotation>
+<xs:documentation xml:lang="en">
+
+	Contains no microphone or camera Object, this view can only 
+	subscribe to a video or live-stream
+
+ </xs:documentation>
+</xs:annotation>
+</xs:attribute>
+      <xs:attribute name="ratioH" type="xs:string" default="1" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="listWml" type="project:listWml" >
+</xs:element>
+  <xs:complexType name="listWml" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="lzx:text">
+      <xs:attribute name="uploadmodul" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="isPpt" type="lzx:boolean" default="false" >
+</xs:attribute>
+      <xs:attribute name="filenamePure" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="filename" type="xs:string" default="" >
+</xs:attribute>
+      <xs:attribute name="ext" type="xs:string" default="" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="mainToolsTopPanelPointer" type="project:mainToolsTopPanelPointer" >
+</xs:element>
+  <xs:complexType name="mainToolsTopPanelPointer" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseTopPanel">
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:element name="baseDrawEllipse" type="project:baseDrawEllipse" >
+</xs:element>
+  <xs:complexType name="baseDrawEllipse" mixed="true">
+  <xs:complexContent>
+  <xs:extension base="project:baseDrawRect">
+      <xs:attribute name="currentellipsestrokeFillDis" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="currentellipsestrokeFill" type="xs:string" default="0xFFFF33" >
+</xs:attribute>
+      <xs:attribute name="currentellipsestrokeDis" type="lzx:number" default="1" >
+</xs:attribute>
+      <xs:attribute name="currentellipsestroke" type="xs:string" default="0xFF6600" >
+</xs:attribute>
+      <xs:attribute name="currentellipselineWidth" type="xs:string" default="4" >
+</xs:attribute>
+      <xs:attribute name="currentellipseOpacity" type="lzx:number" default="1" >
+</xs:attribute>
+  </xs:extension>
+  </xs:complexContent>
+  </xs:complexType>
+<xs:group name="topLevelElements">
+<xs:sequence>
+<xs:choice minOccurs="0" maxOccurs="unbounded">
+<xs:any />
+</xs:choice>
+</xs:sequence>
+</xs:group>
+</xs:schema>
diff --git a/WebContent/red5/admin.bat b/WebContent/red5/admin.bat
new file mode 100644
index 0000000..38ddb9a
--- /dev/null
+++ b/WebContent/red5/admin.bat
@@ -0,0 +1,21 @@
+REM #############################################

+REM Licensed under the Apache License, Version 2.0 (the "License");

+REM you may not use this file except in compliance with the License.

+REM You may obtain a copy of the License at

+REM

+REM     http://www.apache.org/licenses/LICENSE-2.0

+REM

+REM Unless required by applicable law or agreed to in writing, software

+REM distributed under the License is distributed on an "AS IS" BASIS,

+REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+REM See the License for the specific language governing permissions and

+REM limitations under the License.

+REM #############################################

+@echo off

+set RED5_HOME=%~dp0

+set OM_CONTEXT=openmeetings

+

+set CLASSPATH=%RED5_HOME%\*;%RED5_HOME%\conf;%RED5_HOME%\lib\*;%RED5_HOME%\webapps\%OM_CONTEXT%\WEB-INF\lib\*;%RED5_HOME%\webapps\%OM_CONTEXT%\WEB-INF;%RED5_HOME%\webapps\%OM_CONTEXT%\WEB-INF\classes

+

+java -cp "%CLASSPATH%" -Dcontext=%OM_CONTEXT% -Dlogback.ContextSelector=org.red5.logging.LoggingContextSelector org.openmeetings.cli.Admin %*

+

diff --git a/WebContent/red5/admin.sh b/WebContent/red5/admin.sh
new file mode 100644
index 0000000..585565f
--- /dev/null
+++ b/WebContent/red5/admin.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+# #############################################
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# #############################################
+export RED5_HOME=$(cd $(dirname "$0"); pwd) 
+export OM_CONTEXT=openmeetings
+
+export CLASSPATH=$RED5_HOME/*:$RED5_HOME/conf:$RED5_HOME/lib/*:$RED5_HOME/webapps/${OM_CONTEXT}/WEB-INF/lib/*:$RED5_HOME/webapps/${OM_CONTEXT}/WEB-INF:$RED5_HOME/webapps/${OM_CONTEXT}/WEB-INF/classes
+
+java -cp "$CLASSPATH" -Dcontext=${OM_CONTEXT} -Dlogback.ContextSelector=org.red5.logging.LoggingContextSelector org.openmeetings.cli.Admin $*
+
diff --git a/WebContent/red5/client_rtmpt_patch/RTMPTClient.java b/WebContent/red5/client_rtmpt_patch/RTMPTClient.java
new file mode 100644
index 0000000..a5860c5
--- /dev/null
+++ b/WebContent/red5/client_rtmpt_patch/RTMPTClient.java
@@ -0,0 +1,130 @@
+/*

+ * RED5 Open Source Flash Server - http://code.google.com/p/red5/

+ * 

+ * Copyright 2006-2012 by respective authors (see below). All rights reserved.

+ * 

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ * 

+ * http://www.apache.org/licenses/LICENSE-2.0

+ * 

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.red5.client.net.rtmpt;

+

+import java.util.Map;

+

+import org.apache.mina.core.buffer.IoBuffer;

+import org.apache.mina.core.session.IoSession;

+import org.red5.client.net.rtmp.BaseRTMPClientHandler;

+import org.red5.io.object.Deserializer;

+import org.red5.io.object.Serializer;

+import org.red5.server.net.protocol.ProtocolState;

+import org.red5.server.net.rtmp.RTMPConnection;

+import org.red5.server.net.rtmp.RTMPMinaConnection;

+import org.red5.server.net.rtmp.codec.RTMP;

+import org.red5.server.net.rtmp.codec.RTMPProtocolDecoder;

+import org.red5.server.net.rtmp.codec.RTMPProtocolEncoder;

+import org.red5.server.net.rtmp.message.Constants;

+import org.red5.server.net.rtmpt.codec.RTMPTCodecFactory;

+import org.slf4j.Logger;

+import org.slf4j.LoggerFactory;

+

+/**

+ * RTMPT client object

+ * 

+ * @author Anton Lebedevich

+ */

+public class RTMPTClient extends BaseRTMPClientHandler {

+

+	private static final Logger log = LoggerFactory.getLogger(RTMPTClient.class);

+

+	// guarded by this

+	private RTMPTClientConnector connector;

+	

+	private RTMPTCodecFactory codecFactory;

+	

+	public RTMPTClient() {

+		codecFactory = new RTMPTCodecFactory();

+		codecFactory.setDeserializer(new Deserializer());

+		codecFactory.setSerializer(new Serializer());

+		codecFactory.init();

+	}

+

+	public Map<String, Object> makeDefaultConnectionParams(String server, int port, String application) {

+		Map<String, Object> params = super.makeDefaultConnectionParams(server, port, application);

+		if (!params.containsKey("tcUrl")) {

+			params.put("tcUrl", "rtmpt://" + server + ':' + port + '/' + application);

+		}

+		return params;

+	}

+

+	protected synchronized void startConnector(String server, int port) {

+		connector = new RTMPTClientConnector(server, port, this);

+		log.debug("Created connector {}", connector);

+		connector.start();

+	}

+

+	/** {@inheritDoc} */

+	@Override

+	public void messageReceived(Object in, IoSession session) throws Exception {

+		RTMPConnection conn = (RTMPTClientConnection) session.getAttribute(RTMPConnection.RTMP_CONNECTION_KEY);

+		RTMP state = (RTMP) session.getAttribute(ProtocolState.SESSION_KEY);

+		if (in instanceof IoBuffer) {

+			rawBufferRecieved(conn, state, (IoBuffer) in);

+		} else {

+			super.messageReceived(in, session);

+		}

+	}

+

+	/**

+	 * Handle raw buffer receipt

+	 * 

+	 * @param conn

+	 *            RTMP connection

+	 * @param state

+	 *            Protocol state

+	 * @param in

+	 *            IoBuffer with input raw data

+	 */

+	private void rawBufferRecieved(RTMPConnection conn, ProtocolState state, IoBuffer _in) {

+		log.debug("Handshake 3d phase - size: {}", _in.remaining());

+		IoBuffer out = IoBuffer.allocate(Constants.HANDSHAKE_SIZE);

+		IoBuffer in = _in;

+		if (!in.isAutoExpand()) {

+			in = IoBuffer.allocate(in.position() + Constants.HANDSHAKE_SIZE);

+			in.setAutoExpand(true);

+			in.put(in);

+		}

+		in.skip(1);

+		in.limit(in.position() + Constants.HANDSHAKE_SIZE);

+		out.put(in);

+		out.flip();

+		conn.writeRaw(out);

+		connectionOpened(conn, conn.getState());

+	}

+

+	public synchronized void disconnect() {

+		if (connector != null) {

+			connector.setStopRequested(true);

+			connector.interrupt();

+		}

+		super.disconnect();

+	}

+

+	public RTMPProtocolDecoder getDecoder() {

+		return codecFactory.getRTMPDecoder();

+	}

+

+	public RTMPProtocolEncoder getEncoder() {

+		return codecFactory.getRTMPEncoder();

+	}

+	

+	

+}

diff --git a/WebContent/red5/client_rtmpt_patch/RTMPTClientConnector.java b/WebContent/red5/client_rtmpt_patch/RTMPTClientConnector.java
new file mode 100644
index 0000000..e8bd3fc
--- /dev/null
+++ b/WebContent/red5/client_rtmpt_patch/RTMPTClientConnector.java
@@ -0,0 +1,215 @@
+/*

+ * RED5 Open Source Flash Server - http://code.google.com/p/red5/

+ * 

+ * Copyright 2006-2012 by respective authors (see below). All rights reserved.

+ * 

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ * 

+ * http://www.apache.org/licenses/LICENSE-2.0

+ * 

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.red5.client.net.rtmpt;

+

+import java.io.IOException;

+import java.util.List;

+

+import org.apache.http.HttpEntity;

+import org.apache.http.HttpHost;

+import org.apache.http.HttpResponse;

+import org.apache.http.HttpStatus;

+import org.apache.http.HttpVersion;

+import org.apache.http.ParseException;

+import org.apache.http.client.methods.HttpPost;

+import org.apache.http.entity.ByteArrayEntity;

+import org.apache.http.entity.InputStreamEntity;

+import org.apache.http.impl.client.DefaultHttpClient;

+import org.apache.http.params.CoreProtocolPNames;

+import org.apache.http.util.EntityUtils;

+import org.apache.mina.core.buffer.IoBuffer;

+import org.apache.mina.core.session.DummySession;

+import org.apache.mina.core.session.IoSession;

+import org.red5.client.net.rtmp.RTMPClientConnManager;

+import org.red5.server.net.protocol.ProtocolState;

+import org.red5.server.net.rtmp.RTMPConnection;

+import org.red5.server.net.rtmp.codec.RTMP;

+import org.red5.server.net.rtmp.message.Constants;

+import org.red5.server.util.HttpConnectionUtil;

+import org.slf4j.Logger;

+import org.slf4j.LoggerFactory;

+

+/**

+ * Client connector for RTMPT

+ * 

+ * @author Anton Lebedevich (mabrek@gmail.com)

+ * @author Paul Gregoire (mondain@gmail.com)

+ */

+class RTMPTClientConnector extends Thread {

+	

+	private static final Logger log = LoggerFactory.getLogger(RTMPTClientConnector.class);

+

+	private static final String CONTENT_TYPE = "application/x-fcs";

+

+	private static final ByteArrayEntity ZERO_REQUEST_ENTITY = new ByteArrayEntity(new byte[] { 0 });

+

+	/**

+	 * Size to split messages queue by, borrowed from

+	 * RTMPTServlet.RESPONSE_TARGET_SIZE

+	 */

+	private static final int SEND_TARGET_SIZE = 32768;

+

+	private final DefaultHttpClient httpClient = HttpConnectionUtil.getClient();

+

+	private final HttpHost targetHost;

+	

+	private final RTMPTClient client;

+

+	private final RTMPClientConnManager connManager;

+

+	private int clientId;

+

+	private long messageCount = 1;

+

+	private volatile boolean stopRequested = false;

+

+	public RTMPTClientConnector(String server, int port, RTMPTClient client) {

+		targetHost = new HttpHost(server, port, "http");

+		httpClient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);

+		this.client = client;

+		this.connManager = RTMPClientConnManager.getInstance();

+	}

+

+	public void run() {

+		HttpPost post = null;	

+		try {

+			RTMPTClientConnection connection = openConnection();

+			while (!connection.isClosing() && !stopRequested) {

+				IoBuffer toSend = connection.getPendingMessages(SEND_TARGET_SIZE);			

+				int limit = toSend != null ? toSend.limit() : 0;

+				if (limit > 0) {

+					post = makePost("send");

+					post.setEntity(new InputStreamEntity(toSend.asInputStream(), limit));

+					post.addHeader("Content-Type", CONTENT_TYPE);

+				} else {

+					post = makePost("idle");

+					post.setEntity(ZERO_REQUEST_ENTITY);

+				}

+				// execute

+				HttpResponse response = httpClient.execute(targetHost, post);

+				// check for error

+				checkResponseCode(response);

+				// handle data

+				byte[] received = EntityUtils.toByteArray(response.getEntity());

+				IoBuffer data = IoBuffer.wrap(received);

+				if (data.limit() > 0) {

+					data.skip(1); // XXX: polling interval lies in this byte

+				}

+				List<?> messages = connection.decode(data);

+				if (messages == null || messages.isEmpty()) {

+					try {

+						// XXX handle polling delay

+						Thread.sleep(250);

+					} catch (InterruptedException e) {

+						if (stopRequested) {

+							post.abort();

+							break;

+						}

+					}

+					continue;

+				}

+				IoSession session = new DummySession();

+				session.setAttribute(RTMPConnection.RTMP_CONNECTION_KEY, connection);

+				session.setAttribute(ProtocolState.SESSION_KEY, connection.getState());

+				for (Object message : messages) {

+					try {

+						client.messageReceived(message, session);

+					} catch (Exception e) {

+						log.error("Could not process message.", e);

+					}

+				}

+			}

+			finalizeConnection();

+			client.connectionClosed(connection, connection.getState());

+		} catch (Throwable e) {

+			log.debug("RTMPT handling exception", e);

+			client.handleException(e);

+			if (post != null) {

+				post.abort();

+			}

+		}

+	}

+

+	private RTMPTClientConnection openConnection() throws IOException {

+		RTMPTClientConnection connection = null;

+		HttpPost openPost = new HttpPost("/open/1");

+		setCommonHeaders(openPost);

+		openPost.setEntity(ZERO_REQUEST_ENTITY);

+		// execute

+		HttpResponse response = httpClient.execute(targetHost, openPost);

+		checkResponseCode(response);

+		// get the response entity

+		HttpEntity entity = response.getEntity();

+		if (entity != null) {

+			String responseStr = EntityUtils.toString(entity);

+			clientId = Integer.parseInt(responseStr.substring(0, responseStr.length() - 1));

+			log.debug("Got client id {}", clientId);

+			// create a new connection

+			connection = (RTMPTClientConnection) connManager.createConnection(RTMPTClientConnection.class);

+			// client state

+			RTMP state = new RTMP();

+			connection.setState(state);

+			connection.setHandler(client);

+			connection.setDecoder(client.getDecoder());

+			connection.setEncoder(client.getEncoder());

+			log.debug("Handshake 1st phase");

+			IoBuffer handshake = IoBuffer.allocate(Constants.HANDSHAKE_SIZE + 1);

+			handshake.put((byte) 0x03);

+			handshake.fill((byte) 0x01, Constants.HANDSHAKE_SIZE);

+			handshake.flip();

+			connection.writeRaw(handshake);

+		}

+		return connection;			

+	}

+

+	private void finalizeConnection() throws IOException {

+		log.debug("Sending close post");

+		HttpPost closePost = new HttpPost(makeUrl("close"));

+		closePost.setEntity(ZERO_REQUEST_ENTITY);

+		HttpResponse response = httpClient.execute(targetHost, closePost);

+		EntityUtils.consume(response.getEntity());

+	}

+

+	private HttpPost makePost(String command) {

+		HttpPost post = new HttpPost(makeUrl(command));

+		setCommonHeaders(post);

+		return post;

+	}

+

+	private String makeUrl(String command) {

+		// use message count from connection

+		return String.format("/%s/%s/%s", command, clientId, messageCount++);

+	}

+

+	private void setCommonHeaders(HttpPost post) {

+		post.addHeader("Connection", "Keep-Alive");

+		post.addHeader("Cache-Control", "no-cache");

+	}

+

+	private void checkResponseCode(HttpResponse response) throws ParseException, IOException {

+		int code = response.getStatusLine().getStatusCode();

+		if (code != HttpStatus.SC_OK) {

+			throw new RuntimeException("Bad HTTP status returned, line: " + response.getStatusLine() + "; body: " + EntityUtils.toString(response.getEntity()));

+		}

+	}

+

+	public void setStopRequested(boolean stopRequested) {

+		this.stopRequested = stopRequested;

+	}

+}

diff --git a/WebContent/red5/index.html b/WebContent/red5/index.html
new file mode 100644
index 0000000..612a618
--- /dev/null
+++ b/WebContent/red5/index.html
@@ -0,0 +1,23 @@
+<!--
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+ -->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<title>Your Page Title</title>
+<meta http-equiv="REFRESH" content="0;url=openmeetings/"></HEAD>
+<BODY>
+Redirect to openmeetings/
+</BODY>
+</HTML>
+
diff --git a/WebContent/red5/jee-container-ssl.xml b/WebContent/red5/jee-container-ssl.xml
new file mode 100644
index 0000000..c89b3eb
--- /dev/null
+++ b/WebContent/red5/jee-container-ssl.xml
@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<beans xmlns="http://www.springframework.org/schema/beans"

+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+       xmlns:lang="http://www.springframework.org/schema/lang"

+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

+                           http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-3.0.xsd">

+				   			   						   

+	<bean id="tomcat.server" class="org.red5.server.tomcat.TomcatLoader" init-method="init" destroy-method="shutdown" depends-on="context.loader">

+

+		<property name="webappFolder" value="${red5.root}/webapps" />

+			      

+	    <property name="connector">

+			<bean class="org.apache.catalina.connector.Connector">

+				<!-- Blocking I/O -->

+				<constructor-arg type="java.lang.String" value="org.apache.coyote.http11.Http11Protocol" />

+				<!-- Non-blocking I/O -->

+				<!--

+				<constructor-arg type="java.lang.String" value="org.apache.coyote.http11.Http11NioProtocol" />	

+				-->

+                <property name="port"><value>${https.port}</value></property>

+		        <property name="redirectPort"><value>${http.port}</value></property>

+                <property name="enableLookups"><value>false</value></property>

+                <property name="useIPVHosts"><value>true</value></property>

+			</bean>

+	    </property>

+	    	

+        <property name="address">

+            <bean class="java.net.InetSocketAddress">

+                <constructor-arg index="0" type="java.lang.String" value="${http.host}" />  

+                <constructor-arg index="1" type="int" value="${http.port}" />  

+            </bean>	

+        </property>

+        

+        		<property name="connectionProperties">

+			<map>

+				<entry>

+					<key><value>port</value></key>

+					<value>${https.port}</value>

+				</entry>

+				<entry>

+					<key><value>redirectPort</value></key>

+					<value>${http.port}</value>

+				</entry>

+				<entry>

+					<key><value>SSLEnabled</value></key>

+					<value>true</value>

+				</entry>

+				<entry>

+					<key><value>sslProtocol</value></key>

+					<value>TLS</value>

+				</entry>

+				<entry>

+					<key><value>clientAuth</value></key>

+					<value>false</value>

+				</entry>

+				<entry>

+					<key><value>keystoreFile</value></key>

+					<value>conf/keystore</value>

+				</entry>

+				<entry>

+					<key><value>keystorePass</value></key>

+					<value>${rtmps.keystorepass}</value>

+				</entry>

+				<entry>

+					<key><value>keystoreType</value></key>

+					<value>JKS</value>

+				</entry>

+				<entry key="maxKeepAliveRequests" value="${rtmps.max_keep_alive_requests}"/>

+				<entry key="useExecutor" value="true"/>

+				<entry key="maxThreads" value="${rtmps.max_threads}"/>

+				<entry key="acceptorThreadCount" value="${rtmps.acceptor_thread_count}"/>

+				<entry key="processorCache" value="${rtmps.processor_cache}"/>

+			</map>

+		</property>	

+

+	    	

+        <property name="baseHost">

+	       <bean class="org.apache.catalina.core.StandardHost">

+	           <property name="name" value="${http.host}" />

+	           <property name="unpackWARs" value="true" />

+	           <property name="autoDeploy" value="true" />

+	           <property name="xmlValidation" value="false" />

+	           <property name="xmlNamespaceAware" value="false" />

+	       </bean>	   

+	    </property>		

+

+		<property name="valves">

+      		<list>

+	    		<bean id="valve.access" class="org.apache.catalina.valves.AccessLogValve">

+	                <property name="directory" value="log" />

+	                <property name="prefix" value="${http.host}_access." />

+	                <property name="suffix" value=".log" />

+	                <property name="pattern" value="common" />

+	                <property name="resolveHosts" value="false" />

+	                <property name="rotatable" value="true" />

+	        	</bean>

+        	</list>

+        </property>

+	    

+	</bean>

+	

+	<!-- RTMPT (dedicated server) -->

+<!--

+	<bean id="rtmpt.server" class="org.red5.server.tomcat.rtmpt.RTMPTLoader" init-method="init" lazy-init="true">

+	

+		<property name="webappFolder" value="${red5.root}/webapps" />

+		

+		<property name="connector">

+			<bean class="org.apache.catalina.connector.Connector">

+				<constructor-arg type="java.lang.String" value="org.apache.coyote.http11.Http11NioProtocol" />	

+				<property name="port"><value>${rtmpt.port}</value></property>

+				<property name="enableLookups"><value>false</value></property>

+			</bean>

+		</property>

+

+		<property name="connectionProperties">

+			<map>

+				<entry key="maxKeepAliveRequests" value="${rtmpt.max_keep_alive_requests}"/>

+				<entry key="useExecutor" value="true"/>

+				<entry key="maxThreads" value="${rtmpt.max_threads}"/>

+				<entry key="acceptorThreadCount" value="${rtmpt.acceptor_thread_count}"/>

+				<entry key="processorCache" value="${rtmpt.processor_cache}"/>

+			</map>

+		</property>

+		

+		<property name="host">

+			<bean class="org.apache.catalina.core.StandardHost">

+				<property name="name" value="${rtmpt.host}" />

+				<property name="unpackWARs" value="false" />

+				<property name="autoDeploy" value="false" />

+				<property name="xmlValidation" value="false" />

+				<property name="xmlNamespaceAware" value="false" />

+			</bean>	   

+		</property>		

+

+	</bean>

+-->

+	

+	<!-- RTMPS (dedicated server) -->	

+<!--

+	<bean id="rtmps.server" class="org.red5.server.tomcat.rtmps.RTMPSLoader" init-method="init" lazy-init="true">

+	

+		<property name="webappFolder" value="${red5.root}/webapps" />

+		

+		<property name="connector">

+			<bean class="org.apache.catalina.connector.Connector">

+				<constructor-arg type="java.lang.String" value="org.apache.coyote.http11.Http11NioProtocol" />	

+				<property name="port" value="${rtmps.port}" />

+				<property name="redirectPort" value="${rtmp.port}" />

+			</bean>			

+		</property>	

+		

+		<property name="host">

+			<bean class="org.apache.catalina.core.StandardHost">

+				<property name="name" value="${rtmps.host}" />

+				<property name="unpackWARs" value="false" />

+				<property name="autoDeploy" value="false" />

+				<property name="xmlValidation" value="false" />

+				<property name="xmlNamespaceAware" value="false" />

+			</bean>	   

+		</property>		

+	

+		<property name="connectionProperties">

+			<map>

+				<entry>

+					<key><value>port</value></key>

+					<value>${rtmps.port}</value>

+				</entry>

+				<entry>

+					<key><value>redirectPort</value></key>

+					<value>${rtmp.port}</value>

+				</entry>

+				<entry>

+					<key><value>SSLEnabled</value></key>

+					<value>true</value>

+				</entry>

+				<entry>

+					<key><value>sslProtocol</value></key>

+					<value>TLS</value>

+				</entry>

+				<entry>

+					<key><value>clientAuth</value></key>

+					<value>false</value>

+				</entry>

+				<entry>

+					<key><value>keystoreFile</value></key>

+					<value>conf/keystore</value>

+				</entry>

+				<entry>

+					<key><value>keystorePass</value></key>

+					<value>${rtmps.keystorepass}</value>

+				</entry>

+				<entry>

+					<key><value>keystoreType</value></key>

+					<value>JKS</value>

+				</entry>

+				<entry key="maxKeepAliveRequests" value="${rtmps.max_keep_alive_requests}"/>

+				<entry key="useExecutor" value="true"/>

+				<entry key="maxThreads" value="${rtmps.max_threads}"/>

+				<entry key="acceptorThreadCount" value="${rtmps.acceptor_thread_count}"/>

+				<entry key="processorCache" value="${rtmps.processor_cache}"/>

+			</map>

+		</property>	

+

+		<property name="valves">

+      		<list>

+	    		<bean id="valve.access" class="org.apache.catalina.valves.AccessLogValve">

+	                <property name="directory" value="log" />

+	                <property name="prefix" value="${rtmps.host}_rtmps_access." />

+	                <property name="suffix" value=".log" />

+	                <property name="pattern" value="common" />

+	                <property name="resolveHosts" value="false" />

+	                <property name="rotatable" value="true" />

+	        	</bean>

+        	</list>

+        </property>			

+	

+	</bean>		

+-->

+	

+</beans>

diff --git a/WebContent/red5/jee-container.xml b/WebContent/red5/jee-container.xml
new file mode 100644
index 0000000..4c002f6
--- /dev/null
+++ b/WebContent/red5/jee-container.xml
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<beans xmlns="http://www.springframework.org/schema/beans"

+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+       xmlns:lang="http://www.springframework.org/schema/lang"

+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

+                           http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-3.0.xsd">

+				   			   						   

+	<bean id="tomcat.server" class="org.red5.server.tomcat.TomcatLoader" init-method="init" destroy-method="shutdown" depends-on="context.loader">

+

+		<property name="webappFolder" value="${red5.root}/webapps" />

+			      

+	    <property name="connector">

+			<bean class="org.apache.catalina.connector.Connector">

+				<!-- Blocking I/O -->

+				<constructor-arg type="java.lang.String" value="org.apache.coyote.http11.Http11Protocol" />

+				<!-- Non-blocking I/O -->

+				<!--

+				<constructor-arg type="java.lang.String" value="org.apache.coyote.http11.Http11NioProtocol" />	

+				-->

+                <property name="port"><value>${http.port}</value></property>

+		        <property name="redirectPort"><value>${https.port}</value></property>

+                <property name="enableLookups"><value>false</value></property>

+                <property name="useIPVHosts"><value>true</value></property>

+                <property name="URIEncoding"><value>${http.URIEncoding}</value></property>

+			</bean>

+	    </property>

+	    	

+        <property name="address">

+            <bean class="java.net.InetSocketAddress">

+                <constructor-arg index="0" type="java.lang.String" value="${http.host}" />  

+                <constructor-arg index="1" type="int" value="${http.port}" />  

+            </bean>	

+        </property>

+	    	

+        <property name="baseHost">

+	       <bean class="org.apache.catalina.core.StandardHost">

+	           <property name="name" value="${http.host}" />

+	           <property name="unpackWARs" value="true" />

+	           <property name="autoDeploy" value="true" />

+	           <property name="xmlValidation" value="false" />

+	           <property name="xmlNamespaceAware" value="false" />

+	       </bean>	   

+	    </property>		

+

+		<property name="valves">

+      		<list>

+	    		<bean id="valve.access" class="org.apache.catalina.valves.AccessLogValve">

+	                <property name="directory" value="log" />

+	                <property name="prefix" value="${http.host}_access." />

+	                <property name="suffix" value=".log" />

+	                <property name="pattern" value="common" />

+	                <property name="resolveHosts" value="false" />

+	                <property name="rotatable" value="true" />

+	        	</bean>

+        	</list>

+        </property>

+	    

+	</bean>

+	

+	<!-- RTMPT (dedicated server) -->

+	<bean id="rtmpt.server" class="org.red5.server.tomcat.rtmpt.RTMPTLoader" init-method="init" lazy-init="true">

+	

+		<property name="webappFolder" value="${red5.root}/webapps" />

+		

+		<property name="connector">

+			<bean class="org.apache.catalina.connector.Connector">

+				<constructor-arg type="java.lang.String" value="org.apache.coyote.http11.Http11NioProtocol" />	

+				<property name="port"><value>${rtmpt.port}</value></property>

+				<property name="enableLookups"><value>false</value></property>

+			</bean>

+		</property>

+

+        <property name="address">

+            <bean class="java.net.InetSocketAddress">

+                <constructor-arg index="0" type="java.lang.String" value="${rtmpt.host}" />  

+                <constructor-arg index="1" type="int" value="${rtmpt.port}" />  

+            </bean>

+        </property>

+		

+		<property name="connectionProperties">

+			<map>

+				<entry key="maxKeepAliveRequests" value="${rtmpt.max_keep_alive_requests}"/>

+				<entry key="useExecutor" value="true"/>

+				<entry key="maxThreads" value="${rtmpt.max_threads}"/>

+				<entry key="acceptorThreadCount" value="${rtmpt.acceptor_thread_count}"/>

+				<entry key="processorCache" value="${rtmpt.processor_cache}"/>

+			</map>

+		</property>

+		

+		<property name="host">

+			<bean class="org.apache.catalina.core.StandardHost">

+				<property name="name" value="${rtmpt.host}" />

+				<property name="unpackWARs" value="false" />

+				<property name="autoDeploy" value="false" />

+				<property name="xmlValidation" value="false" />

+				<property name="xmlNamespaceAware" value="false" />

+			</bean>	   

+		</property>		

+

+	</bean>

+	

+	<!-- RTMPS (dedicated server) -->	

+<!--

+	<bean id="rtmps.server" class="org.red5.server.tomcat.rtmps.RTMPSLoader" init-method="init" lazy-init="true">

+	

+		<property name="webappFolder" value="${red5.root}/webapps" />

+		

+		<property name="connector">

+			<bean class="org.apache.catalina.connector.Connector">

+				<constructor-arg type="java.lang.String" value="org.apache.coyote.http11.Http11NioProtocol" />	

+				<property name="port" value="${rtmps.port}" />

+				<property name="redirectPort" value="${rtmp.port}" />

+			</bean>			

+		</property>	

+		

+        <property name="address">

+            <bean class="java.net.InetSocketAddress">

+                <constructor-arg index="0" type="java.lang.String" value="${rtmps.host}" />  

+                <constructor-arg index="1" type="int" value="${rtmps.port}" />  

+            </bean>

+        </property>

+		

+		<property name="host">

+			<bean class="org.apache.catalina.core.StandardHost">

+				<property name="name" value="${rtmps.host}" />

+				<property name="unpackWARs" value="false" />

+				<property name="autoDeploy" value="false" />

+				<property name="xmlValidation" value="false" />

+				<property name="xmlNamespaceAware" value="false" />

+			</bean>	   

+		</property>		

+	

+		<property name="connectionProperties">

+			<map>

+				<entry>

+					<key><value>port</value></key>

+					<value>${rtmps.port}</value>

+				</entry>

+				<entry>

+					<key><value>redirectPort</value></key>

+					<value>${rtmp.port}</value>

+				</entry>

+				<entry>

+					<key><value>SSLEnabled</value></key>

+					<value>true</value>

+				</entry>

+				<entry>

+					<key><value>sslProtocol</value></key>

+					<value>TLS</value>

+				</entry>

+				<entry>

+					<key><value>clientAuth</value></key>

+					<value>false</value>

+				</entry>

+				<entry>

+					<key><value>keystoreFile</value></key>

+					<value>conf/keystore</value>

+				</entry>

+				<entry>

+					<key><value>keystorePass</value></key>

+					<value>${rtmps.keystorepass}</value>

+				</entry>

+				<entry>

+					<key><value>keystoreType</value></key>

+					<value>JKS</value>

+				</entry>

+				<entry key="maxKeepAliveRequests" value="${rtmps.max_keep_alive_requests}"/>

+				<entry key="useExecutor" value="true"/>

+				<entry key="maxThreads" value="${rtmps.max_threads}"/>

+				<entry key="acceptorThreadCount" value="${rtmps.acceptor_thread_count}"/>

+				<entry key="processorCache" value="${rtmps.processor_cache}"/>

+			</map>

+		</property>	

+

+		<property name="valves">

+      		<list>

+	    		<bean id="valve.access" class="org.apache.catalina.valves.AccessLogValve">

+	                <property name="directory" value="log" />

+	                <property name="prefix" value="${rtmps.host}_rtmps_access." />

+	                <property name="suffix" value=".log" />

+	                <property name="pattern" value="common" />

+	                <property name="resolveHosts" value="false" />

+	                <property name="rotatable" value="true" />

+	        	</bean>

+        	</list>

+        </property>			

+	

+	</bean>		

+-->

+	

+</beans>

diff --git a/WebContent/screensharing/icon.jpg b/WebContent/screensharing/icon.jpg
new file mode 100644
index 0000000..a9f29e4
--- /dev/null
+++ b/WebContent/screensharing/icon.jpg
Binary files differ
diff --git a/WebContent/screensharing/logback.xml b/WebContent/screensharing/logback.xml
new file mode 100644
index 0000000..bf96767
--- /dev/null
+++ b/WebContent/screensharing/logback.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="logback.xsd">
+	<contextName>${current_openmeetings_context_name}</contextName>
+	
+	<jmxConfigurator contextName="${current_openmeetings_context_name}" />
+
+  <appender name="FLOG2" class="ch.qos.logback.core.FileAppender">
+		<File>screensharing.log</File>
+		<Append>false</Append>
+		<Encoding>UTF-8</Encoding>
+		<BufferedIO>false</BufferedIO>
+		<ImmediateFlush>true</ImmediateFlush>
+		<layout class="ch.qos.logback.classic.PatternLayout">
+			<Pattern>
+				%5p %d{MM-dd HH:mm:ss.SSS } %F %r %L %c [%t] - %m%n
+			</Pattern>
+		</layout>
+  </appender>
+  <appender name="CONSOLE2" class="ch.qos.logback.core.ConsoleAppender">
+    <layout class="ch.qos.logback.classic.PatternLayout">
+      <pattern>%5p %d{MM-dd HH:mm:ss.SSS } %F %r %L %c [%t] - %m%n</pattern>
+    </layout>
+  </appender>
+  <logger name="org.openmeetings">
+    <level value="DEBUG"/>
+  </logger>
+  <root>
+    <level value="ERROR"/>
+    <appender-ref ref="FLOG2"/>
+    <appender-ref ref="CONSOLE2"/>
+  </root>
+</configuration>
diff --git a/WebContent/screensharing/logback.xsd b/WebContent/screensharing/logback.xsd
new file mode 100644
index 0000000..c06e5a7
--- /dev/null
+++ b/WebContent/screensharing/logback.xsd
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

+  <xs:element name="configuration">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element ref="contextName"/>

+        <xs:element ref="jmxConfigurator"/>

+        <xs:element maxOccurs="unbounded" ref="appender"/>

+        <xs:element maxOccurs="unbounded" ref="logger"/>

+        <xs:element ref="root"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="contextName" type="xs:string"/>

+  <xs:element name="jmxConfigurator">

+    <xs:complexType>

+      <xs:attribute name="contextName" use="required"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="appender">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:sequence minOccurs="0">

+          <xs:element ref="File"/>

+          <xs:element ref="Append"/>

+          <xs:element ref="Encoding"/>

+          <xs:element ref="BufferedIO"/>

+          <xs:element ref="ImmediateFlush"/>

+        </xs:sequence>

+        <xs:element ref="layout"/>

+      </xs:sequence>

+      <xs:attribute name="class" use="required"/>

+      <xs:attribute name="name" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="File" type="xs:string"/>

+  <xs:element name="Append" type="xs:boolean"/>

+  <xs:element name="Encoding" type="xs:NCName"/>

+  <xs:element name="BufferedIO" type="xs:boolean"/>

+  <xs:element name="ImmediateFlush" type="xs:boolean"/>

+  <xs:element name="layout">

+    <xs:complexType>

+      <xs:choice>

+        <xs:element ref="Pattern"/>

+        <xs:element ref="pattern"/>

+      </xs:choice>

+      <xs:attribute name="class" use="required"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="Pattern" type="xs:string"/>

+  <xs:element name="pattern" type="xs:string"/>

+  <xs:element name="logger">

+    <xs:complexType>

+      <xs:complexContent>

+        <xs:extension base="level">

+          <xs:attribute name="name" use="required" type="xs:NCName"/>

+        </xs:extension>

+      </xs:complexContent>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="root">

+    <xs:complexType>

+      <xs:complexContent>

+        <xs:extension base="level">

+          <xs:sequence>

+            <xs:element maxOccurs="unbounded" ref="appender-ref"/>

+          </xs:sequence>

+        </xs:extension>

+      </xs:complexContent>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="appender-ref">

+    <xs:complexType>

+      <xs:attribute name="ref" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:complexType name="level">

+    <xs:sequence>

+      <xs:element ref="level"/>

+    </xs:sequence>

+  </xs:complexType>

+  <xs:element name="level">

+    <xs:complexType>

+      <xs:attribute name="value" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+</xs:schema>

diff --git a/WebContent/screensharing/splashicon.jpg b/WebContent/screensharing/splashicon.jpg
new file mode 100644
index 0000000..a9f29e4
--- /dev/null
+++ b/WebContent/screensharing/splashicon.jpg
Binary files differ
diff --git a/WebContent/sipindex.html b/WebContent/sipindex.html
new file mode 100644
index 0000000..7e4d3f2
--- /dev/null
+++ b/WebContent/sipindex.html
@@ -0,0 +1,4 @@
+<!--
+	designed to be empty
+	necessary for tomcat process to default-index-page
+-->
\ No newline at end of file
diff --git a/WebContent/src/.project b/WebContent/src/.project
new file mode 100644
index 0000000..6b78cf1
--- /dev/null
+++ b/WebContent/src/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<projectDescription>

+	<name>openmeetings_lps411</name>

+	<comment></comment>

+	<projects>

+	</projects>

+	<buildSpec>

+	</buildSpec>

+	<natures>

+	</natures>

+</projectDescription>

diff --git a/WebContent/src/base/auth/checkLoginData.lzx b/WebContent/src/base/auth/checkLoginData.lzx
new file mode 100644
index 0000000..1717666
--- /dev/null
+++ b/WebContent/src/base/auth/checkLoginData.lzx
@@ -0,0 +1,430 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<!DOCTYPE library SYSTEM "/project.dtd">
+<library>
+
+<!--- LOGIN panel window -->
+<class name="checkLoginData" extends="labelExplorerBox" labelid="108"
+    docking="true" resizeable="false" closable="false" 
+    width="460" height="230"
+     x="$once{ canvas.width/2 - this.width/2 }"  y="60">
+     
+    <attribute name="user_login_minimum_length" type="number" value="4" />
+    <attribute name="user_pass_minimum_length" type="number" value="4" />
+    
+    <handler name="onclose">
+        if (this.childObj!=null) this.childObj.close();
+    </handler>
+    
+    <handler name="oninit">
+    	canvas.thishib.setDefaultUserLanguage();
+    	_mainScrollBar.setAttribute("visibility","hidden");
+        lz.Focus.setFocus(this.username,true);
+    </handler>
+
+    <method name="login" args="item">
+        canvas.focusOnItem = this.username;
+        this.enterPressed = false;
+        
+        if (this.b2.visible) {
+            this.b2.onclick.sendEvent();
+        } else {
+            this.b3.onclick.sendEvent();
+        }
+    </method>   
+    
+    <attribute name="refObj" value="null" />
+    <attribute name="childObj" value="null" />
+    
+    <attribute name="labeliderror" value="0" type="number" />
+    <attribute name="enterPressed" type="boolean" value="false"/>
+    
+    <labelText name="n1" labelid="109" width="300" y="26" resize="false" x="2" fontstyle="bold"/>
+    <customEdittext name="username" y="24" x="120" width="330" >
+        <handler name="oninit">
+            var g = canvas.getUserData();
+            if($debug) Debug.write("checkLoginData/g: ",g);
+            if (g["username"]!=null) this.setAttribute('text',g["username"]);
+        </handler>      
+        <handler name="onkeyup" args="key">
+            <![CDATA[
+            if ( this.parent.enterPressed && ( key == 13 ) )
+            {
+                parent.login();
+            }
+            ]]>
+        </handler>
+        <handler name="onkeydown" args="key">
+            if ( key == 13 )
+            {
+                this.parent.enterPressed = true;
+            }
+        </handler>
+    </customEdittext>    
+
+    <labelText name="n2" labelid="110" width="300" y="48" resize="false" x="2" fontstyle="bold"/>
+    <customEdittext name="userpass" y="48" password="true" x="120" width="330" >
+        <handler name="oninit">
+            var g = canvas.getUserData();
+            if (g["userpass"]!=null) this.setAttribute('text',g["userpass"]);
+        </handler>                
+        <handler name="onkeyup" args="key">
+            <![CDATA[
+            if ( this.parent.enterPressed && ( key == 13 ) )
+            {
+                parent.login();
+            }
+            ]]>
+        </handler>
+        <handler name="onkeydown" args="key">
+            if ( key == 13 )
+            {
+                this.parent.enterPressed = true;
+            }
+        </handler>
+    </customEdittext>
+    
+	<labelText name="domain_label" labelid="1372" width="300" y="72" resize="false" x="2" fontstyle="bold"/>     
+    <resetCombobox name="domain" width="330" y="72" x="120" editable="false">
+    	<handler name="oninit">
+    		//this.selectItemAt(0);
+    		this.getActiveLdapConfigs.doCall();
+    	</handler>
+    	
+    	<!--
+    	public List<LdapConfig> getActiveLdapConfigs() 
+    	 -->
+        <netRemoteCallHib name="getActiveLdapConfigs" funcname="ldapconfigservice.getActiveLdapConfigs" 
+    				        remotecontext="$once{ canvas.thishib }" >      
+            <handler name="ondata" args="value">
+                //The onResult-Handler will be called be the rtmpconnection
+                <![CDATA[
+                    if ($debug) Debug.write("getActiveLdapConfigs: ",value);
+                    for (var i=0;i<value.length;i++) {
+                        parent.addItem(value[i].name,value[i].ldapConfigId);
+                    }
+                    
+                    var g = canvas.getUserData();
+                    if (g["userdomain"]!=null) {
+                    	
+                    	var tItem = parent.getItem(g["userdomain"]);
+                    	if (tItem != null) {
+                            parent.selectItem(g["userdomain"]);
+                    	} else {
+                    		parent.selectItemAt(0);
+                    	}
+                    	
+                    } else {
+                        parent.selectItemAt(0);
+                    }
+                    
+                    parent.parent.getLoginOptions.doCall();
+                ]]>
+            </handler>  
+        </netRemoteCallHib>         	 
+    	
+    </resetCombobox>        
+
+    <labelText name="organisation_label_info" labelid="617" width="350" 
+               multiline="true" y="22" resize="false" x="2" visible="false" />     
+    
+    <labelText name="organisation_label" labelid="184" width="300" y="86" 
+    			resize="false" x="2" visible="false" fontstyle="bold" />     
+        <resetCombobox name="organisation" width="330" y="84" x="120" editable="false" visible="false" />
+        
+    <simpleLabelButton labelid="123" name="_register" width="120" y="$once{ parent.height-40 }" 
+        visible="false" x="10" height="22">
+        <handler name="onclick">
+	        <![CDATA[
+	            this.parent._register.setAttribute('visible',false);
+	            this.parent.childObj = new lz.registerNewUser(canvas,{
+	            									refObj:this.parent,
+	            									user_login_minimum_length:parent.user_login_minimum_length,
+	            									user_pass_minimum_length:parent.user_pass_minimum_length
+	            								});     
+	            lz.Keys.removeKeyComboCall(this.parent.pressEnter, ["enter"]);
+	            //parent.showRegForm.doStart();
+            ]]>
+        </handler>
+    </simpleLabelButton>     
+    
+    <simpleLabelButton labelid="1294" name="_facebook" width="120" y="$once{ parent.height-40 }" 
+            visible="false" x="200" height="22">
+    	<image src="$once{ canvas.getThemeImage('icon_facebook_rsc_png') }" x="2" y="1" />
+        <handler name="onclick">
+            lz.Browser.loadURL("http://apps.facebook.com/openmeetings/","_parent");
+        </handler>
+        <labelTooltip labelid="1295" />
+    </simpleLabelButton>       
+        
+    <simpleLabelButton name="b2" labelid="112" width="120" x="330" 
+    				   y="$once{ parent.height-40 }" height="22">
+        <handler name="onclick" >
+            this.parent.errormess.setAttribute('text','');
+            
+            if (this.parent.userpass.getText().length == 0) {
+            	new lz.rpcErrorDialog(canvas.main_content._content.inner,{errorid:-51});
+            	return;
+            }
+            
+            this.parent.loginUser.doCall();
+            
+            //Recheck the Applet Status 
+            getAppletStatus();
+            
+        </handler>
+    </simpleLabelButton>   
+        
+    <simpleLabelButton name="b3" labelid="185" width="120" x="330" y="$once{ parent.height-40 }"
+            visible="false" height="22">
+        <handler name="onclick">
+            var orgIndexId = Number(parent.organisation.getValue());
+            hib.currentdomain = hib.userobject.organisation_users[orgIndexId].organisation.name;
+            hib.currentdomainObj = hib.userobject.organisation_users[orgIndexId].organisation;
+            hib.setCurrentUserOrganization.doCall();
+            hib.getLanguageByIdAndMax.start = 0;
+            hib.getLanguageByIdAndMax.doCall();
+            parent.close();
+        </handler>
+    </simpleLabelButton>    
+    
+    <text name="errormess" resize="true" y="168" x="2" fgcolor="red" fontsize="11"/>
+
+    <netRemoteCallHib name="loginUser" funcname="xmlcrm.loginUser" 
+        remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >   
+        <attribute name="sipLoader" value="null"/>   
+        <netparam><method name="getValue"> return canvas.sessionId; </method></netparam>  
+        <netparam><method name="getValue"> return parent.parent.username.getText(); </method></netparam>  
+        <netparam><method name="getValue"> return parent.parent.userpass.getText(); </method></netparam>
+        <netparam><method name="getValue"> return parent.parent._savelogindata.getValue(); </method></netparam> 
+        <netparam><method name="getValue"> return null; </method></netparam> 
+        <netparam><method name="getValue"> return Number(parent.parent.domain.getValue()); </method></netparam> 
+        <handler name="ondata" args="value">
+            <![CDATA[
+            //The onResult-Handler will be called be the rtmpconnection
+            	if ($debug) {
+                    Debug.write("loginUser: ", value);
+                }
+            	
+                if (!(value<0)){
+                	if (!isNaN(Number(value.language_id))) {
+                    	hib.userlang = Number(value.language_id);
+                    }
+                    
+                    var g = canvas.getUserData();
+                    if (this.parent._savelogindata.getValue()) {
+                        g["username"] = parent.username.getText();
+                        g["userpass"] = parent.userpass.getText();
+                        g["userlang"] = hib.userlang;
+                        g["userdomain"] = parent.domain.getValue();
+                        g["saveuserdata"]=true;
+                        g["storedSession"] = canvas.sessionId;
+                    } else {
+                        g["username"] = '';
+                        g["userpass"] = '';
+                        g["userlang"] = null;
+                        g["userdomain"] = null;
+                        g["saveuserdata"]=false;
+                        g["storedSession"] = "";
+                    }
+                    canvas.setUserData(g);
+                
+                    canvas.setAttribute('user_id',value.user_id);
+                    canvas.setAttribute('firstName',value.firstname);
+                    canvas.setAttribute('lastName',value.lastname);
+                    canvas.setAttribute('mail','');
+                    canvas.setAttribute('lastLogin','');
+                    canvas.setAttribute('official_code','');
+                    canvas.setAttribute('picture_uri','');
+                    canvas.setAttribute('userlang', hib.userlang);
+                    canvas.setAttribute('language_id', hib.userlang);
+                    canvas.setAttribute('language','');
+                    canvas.setAttribute('currentuser',value.login);
+                    if (value.omTimeZone != null) {
+                        canvas.setAttribute('jNameTimeZone',value.omTimeZone.jname);
+                        canvas.timeZoneId = value.omTimeZone.omtimezoneId;
+                    }
+                    
+                    if (value.forceTimeZoneCheck) {
+                    	new lz.labelerrorPopup(canvas,{errorlabelid:1150});
+                    }
+                    
+                    if (value.level_id >= 2) {
+                    	canvas.becomemoderator = true;
+                    } else {
+                        canvas.becomemoderator = false;
+                    }
+                    
+                    if ($debug) Debug.write("value.organisation_users ",value.organisation_users);
+                    
+                    hib.userobject = value;
+                    if (value.organisation_users.length==0){
+                        if ($debug) Debug.warn("this user has no Organisation ");
+                    } else if (value.organisation_users.length==1){
+                        hib.currentdomain = value.organisation_users[0].organisation.name;
+                        hib.currentdomainObj = value.organisation_users[0].organisation;
+                        hib.setCurrentUserOrganization.doCall();
+                        hib.getLanguageByIdAndMax.start = 0;
+                        
+                        if (canvas.thishib.sip_enabled) {
+                            //Perform the Login to the SIP Applet
+                            if (sipIsEnabled()) {
+                                if ($debug) Debug.write(" -- sipIsEnabled -- ");
+                                
+                                parent.setAttribute("visibility","hidden");
+                                this.sipLoader = new lz.sipLoader(canvas);
+                                
+                                loginSipUser(hib.userobject.userSipData,this);
+                            } else {
+                            	
+                            	new lz.labelerrorPopup(canvas,{error:'SIP Applet is not ready!'});
+                            	
+                            	hib.getLanguageByIdAndMax.doCall();
+                                canvas.focusOnItem = null;
+                                parent.close();
+                            
+                            }
+                        } else {
+                        	
+                        	hib.getLanguageByIdAndMax.doCall();
+                        	canvas.focusOnItem = null;
+                            parent.close();
+                            
+                        }
+                        
+                    } else {
+                        parent._savelogindata.setAttribute('visible',false);
+                        parent.n1.setAttribute('visible',false);
+                        parent.username.setAttribute('visible',false);
+                        parent.n2.setAttribute('visible',false);
+                        parent.userpass.setAttribute('visible',false);
+                        parent.n5.setAttribute('visible',false);
+                        parent.colors.setAttribute('visible',false);
+                        parent._register.setAttribute('visible',false);
+                        parent.b2.setAttribute('visible',false);
+                        parent.organisation_label_info.setAttribute('visible',true);
+                        parent.organisation_label.setAttribute('visible',true);
+                        parent.organisation.setAttribute('visible',true);
+                        parent.b3.setAttribute('visible',true);
+                        parent.domain_label.setAttribute('visible',false);
+                        parent.domain.setAttribute('visible',false);
+                
+                        for (var i=0;i<value.organisation_users.length;i++){
+                            parent.organisation.addItem(value.organisation_users[i].organisation.name,String(i));
+                        }
+                        parent.organisation.selectItem(String(i-1));
+                    }
+                    
+                }
+            ]]>
+        </handler>  
+        <handler name="onSipSuccess">
+        	this.sipLoader.destroy();
+        	hib.getLanguageByIdAndMax.doCall();
+            canvas.focusOnItem = null;
+            parent.close();
+        </handler>
+    </netRemoteCallHib>
+    
+    <netRemoteCallHib name="getLoginOptions" funcname="xmlcrm.getLoginOptions" remotecontext="$once{ canvas.thishib }" >      
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+            //Debug.write("allowFrontendRegister: ",value);
+            if (value[0].conf_value==1){
+                parent._register.setAttribute('visible',true);
+            }
+            if (value[1].conf_value==1){
+                parent._facebook.setAttribute('visible',true);
+            }
+            if (value[5].conf_value > 0){
+                parent.domain.selectItemAt(value[5].conf_value);
+            }
+            parent.user_login_minimum_length = Number(value[2].conf_value);
+            parent.user_pass_minimum_length = Number(value[3].conf_value);
+        </handler>  
+    </netRemoteCallHib>    
+    
+    <labelCheckbox x="120" y="96" fontsize="11"
+        	name="_savelogindata" labelid="288" >
+        <handler name="oninit">
+            var g = canvas.getUserData();
+            if($debug) Debug.write("checkLoginData/g: ",g);
+            var save = g["saveuserdata"];
+            if($debug) Debug.write("checkLoginData/save: ",save);
+            if(save) this.setValue(true);
+        </handler>
+    </labelCheckbox>        
+
+    <labelText align="right" resize="true" valign="bottom" >
+        <handler name="oninit">
+            <![CDATA[
+                this.setAttribute('text',"<u><FONT color='#0000CC'>" + canvas.getLabelName(1373) + " "+ canvas.currentappname +"</FONT></u>");
+            ]]>
+        </handler>
+        <handler name="onclick">
+            lz.Browser.loadURL(canvas.currentappnameurl,"_blank");
+        </handler>        
+    </labelText>
+    
+    <labelText align="left" resize="true" valign="bottom">
+        <handler name="oninit">
+            <![CDATA[
+                this.setAttribute('text',"<u><FONT color='#0000CC'>"+ canvas.getLabelName(311) +"</FONT></u>");
+            ]]>
+        </handler>
+        <attribute name="showResetBox" value="false" type="boolean" />
+        <handler name="onclick">
+            if (!this.showResetBox){
+                this.parent.showResetForm.doStart();
+                this.showResetBox = true;
+            } else {
+                this.parent.disableResetForm.doStart();
+                this.showResetBox = false;
+            }
+        </handler>       
+    </labelText>        
+    
+    <method name="createReset" args="value">
+       var resetF=new lz.resetForm(value,{name:'_resetForm'});
+       lz.Keys.removeKeyComboCall(this.pressEnter, ["enter"]);
+       this.pressEnter = new LzDelegate(resetF, "reset");
+       lz.Keys.callOnKeyCombo(this.pressEnter, ["enter"]);
+    </method>
+    <method name="destroyReset" args="value">
+       value._resetForm.destroy();
+       lz.Keys.removeKeyComboCall(this.pressEnter, ["enter"]);
+       this.pressEnter = new LzDelegate(value, "login");
+       lz.Keys.callOnKeyCombo(this.pressEnter, ["enter"]);
+    </method>
+
+    <animator name="showRegForm" attribute="x" to="20" duration="1000" start="false" />
+    <animator name="doreset" attribute="x" to="$once{ canvas.width/2 - parent.width/2 }" 
+              duration="1000" start="false" />
+    
+    <animator name="showResetForm" attribute="height" to="370" duration="1000" 
+        onstop="parent.createReset(parent)" start="false" />
+    <animator name="disableResetForm" attribute="height" to="230" duration="1000" 
+        onstart="parent.destroyReset(parent);" start="false" />    
+
+</class>
+    
+
+</library>
diff --git a/WebContent/src/base/auth/library.lzx b/WebContent/src/base/auth/library.lzx
new file mode 100644
index 0000000..7671e66
--- /dev/null
+++ b/WebContent/src/base/auth/library.lzx
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<!DOCTYPE library SYSTEM "/project.dtd">
+<library >
+    
+	<include href="resetForm.lzx" />
+    <include href="checkLoginData.lzx" />
+    <include href="registerNewUser.lzx" />
+	<include href="resetPassword.lzx" />
+
+</library>
diff --git a/WebContent/src/base/auth/registerNewUser.lzx b/WebContent/src/base/auth/registerNewUser.lzx
new file mode 100644
index 0000000..a88bb0a
--- /dev/null
+++ b/WebContent/src/base/auth/registerNewUser.lzx
@@ -0,0 +1,225 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<!DOCTYPE library SYSTEM "/project.dtd">
+<library>
+
+<class name="registerNewUser" extends="labelExplorerBox" labelid="113"
+    docking="true" resizeable="false" closable="false" width="500" 
+    x="$once{ canvas.width/2 - this.width/2 }" y="-370" height="360">
+    
+    <attribute name="refObj" value="null" />
+    <attribute name="regObject" value="null" />
+    
+    <attribute name="user_login_minimum_length" type="number" value="4" />
+    <attribute name="user_pass_minimum_length" type="number" value="4" />
+    
+    <handler name="oninit">
+    	<![CDATA[
+            var pressEnter = new LzDelegate(this, "register");
+            lz.Keys.callOnKeyCombo(pressEnter, ["enter"]);
+            
+            getTimeZoneOffset(this);
+            
+        ]]>
+    </handler>
+    
+    <method name="callback" args="returnValue">
+    	if ($debug) Debug.write("getTimeZoneOffset callback ",returnValue);
+                
+        var std_time_offset = Number(returnValue);
+        
+        this.setOffset(std_time_offset);
+    </method>
+    
+    <method name="setOffset" args="std_time_offset">
+        <![CDATA[
+        std_time_offset = Math.round(std_time_offset);
+        var timeZoneJavaFormat = "Etc/GMT";
+        if (std_time_offset > 0) {
+            timeZoneJavaFormat += "+"+std_time_offset;
+        } else {
+            timeZoneJavaFormat += "-"+std_time_offset;
+        }
+        
+        if ($debug) Debug.write("timeZoneJavaFormat :: ",timeZoneJavaFormat);
+        
+        this._timeZone.selectItem(timeZoneJavaFormat);
+        ]]>
+    </method>    
+    
+    <handler name="onclose">
+    	this.refObj._register.setAttribute('visible',true);
+        lz.Keys.callOnKeyCombo(refObj.pressEnter, ["enter"]);
+    	this.refObj.doreset.doStart();
+    </handler>
+    
+
+    <method name="register" args="itemObj">
+        this.registerB.onclick.sendEvent();
+    </method>
+    
+    <labelText labelid="117" width="300" y="42" resize="false" x="2"/>
+        <customEdittext name="firstname" y="42" x="120" width="370" text="">
+        	<handler name="onvalue" args="txt">
+        		parent.username.setAttribute("text",txt+"."+parent.lastname.text);
+        	</handler>
+        </customEdittext>
+        
+    <labelText labelid="118" width="300" y="72" resize="false" x="2"/>
+        <customEdittext name="lastname" y="72" x="120" width="370" text="">
+        	<handler name="onvalue" args="txt">
+        		parent.username.setAttribute("text",parent.firstname.text+"."+txt);
+        	</handler>
+        </customEdittext>
+        
+    <labelText labelid="114" width="300" y="102" resize="false" x="2"/>
+        <customEdittext name="username" y="102" x="120" width="370" text="" />
+
+    <labelText labelid="115" width="300" y="132" resize="false" x="2"/>
+        <customEdittext name="userpass1" y="132" password="true" x="120" width="370" text="" />
+        
+    <labelText labelid="116" width="300" y="162" resize="false" x="2"/>
+        <customEdittext name="userpass2" y="162" password="true" x="120" width="370" text="" />
+                    
+
+    <labelText labelid="119" width="300" y="192" resize="false" x="2"/>
+        <customEdittext name="email" y="192" x="120" regexpType="email" 
+        				width="370" text="" />
+        				
+    <labelText labelid="1143" width="300" y="222" resize="false" x="2"/>
+         <resetCombobox name="_timeZone" editable="false" y="222" width="370" x="120"
+                       fontsize="11" style="componentStyle">
+            <labeldTextListItem datapath="timeZoneSet:/item" text="$path{ 'frontEndLabel/text()' }" 
+                value="$path{ 'jname/text()' }" />
+         </resetCombobox>         				
+         
+    <labelText labelid="120" width="300" y="252" resize="false" x="2"/>  
+
+		<dynamicCombobox name="_state" width="370" y="252" x="120" 
+						 text="Switzerland" value="204" />
+		
+		<!--
+		<validText name="state" width="370" y="222" x="120" fontsize="11" 
+            shownitems="7" validate_method="$once{ canvas.validateCountry }" 
+            resultId="state_id" resultName="name" />        
+             -->
+        
+    <labelText labelid="111" width="300" y="282" resize="false" x="2"/>  
+        
+        <resetCombobox name="languages" width="370" y="282" x="120" editable="false">
+            <labeldTextListItem datapath="languagesSet:/item" text="$path{ 'name/text()' }" 
+                value="$path{ 'language_id/text()' }" />
+                <handler name="oninit">
+                var g = canvas.getUserData();
+                if($debug) Debug.write("checkLoginData/g: ",g);
+                if (g["userlang"]!=null) {
+                    this.selectItem(g["userlang"]);
+                } else {
+                    this.selectItem(String(canvas.thishib.userlang));
+                }
+                </handler>  
+        </resetCombobox>       
+
+    <simpleLabelButton name="registerB" labelid="121" width="120" x="240" y="332">
+    	<handler name="onclick">
+            <![CDATA[
+                var pwd1 = strtrim(this.parent.userpass1.getText());
+                var pwd2 = strtrim(this.parent.userpass2.getText());   
+                var login = strtrim(this.parent.username.getText());     
+                var email = strtrim(this.parent.email.getText()); 
+                if (pwd1!=pwd2) {
+					new lz.rpcErrorDialog(canvas,{errorid:-6});
+				} else if(pwd1.length<parent.user_pass_minimum_length 
+						|| login<parent.user_login_minimum_length){
+				    var addInfo = "<br/> "
+				    					+ parent.user_pass_minimum_length + " / " 
+				    					+ parent.user_login_minimum_length;
+                    new lz.rpcErrorDialog(canvas,{errorid:-7,addInfo:addInfo});
+                } else if (email=="") {
+                    new lz.rpcErrorDialog(canvas,{errorid:-53});
+                } else {
+                    this.parent.regObject = new Array();
+                    this.parent.regObject["SID"]=canvas.sessionId;
+                    this.parent.regObject["Username"]=login;
+                    this.parent.regObject["Userpass"]=this.parent.userpass1.getText();
+                    this.parent.regObject["lastname"]=this.parent.lastname.getText();
+                    this.parent.regObject["firstname"]=this.parent.firstname.getText();
+                    this.parent.regObject["email"]=email;
+                    this.parent.regObject["jNameTimeZone"]=this.parent._timeZone.getValue();
+                    this.parent.regObject["age"]=0;
+                    this.parent.regObject["street"]='';
+                    this.parent.regObject["additionalname"]='';
+                    this.parent.regObject["fax"]='';
+                    this.parent.regObject["zip"]='';
+                    this.parent.regObject["states_id"]=Number(this.parent._state.getValue());
+                    this.parent.regObject["town"]='';
+                    this.parent.regObject["language_id"]=this.parent.languages.getValue();
+                    
+                    this.parent.regObject["domain"]=canvas.rtmphostlocal; 
+                    this.parent.regObject["port"]=canvas.red5httpport; 
+                    this.parent.regObject["webapp"]=canvas.httpRootKey; 
+                    
+                    if( $debug ) Debug.write("parent.regObject: ",parent.regObject);
+                    
+                    this.parent.registerUserByObject.doCall();
+                }
+            ]]>
+    	</handler>
+    </simpleLabelButton>   
+    
+    <simpleLabelButton labelid="122" width="120" x="370" y="332">
+    	<handler name="onclick">
+    		this.parent.close();
+    	</handler>
+    </simpleLabelButton>   
+	
+     <netRemoteCallHib name="registerUserByObject" funcname="xmlcrm.registerUserByObject" 
+     	remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >     
+        <netparam>
+        	<method name="getValue"> 
+        		return this.parent.parent.regObject; 
+        	</method>
+        </netparam>           
+         <handler name="ondata" args="value">
+         	<![CDATA[
+            //The onResult-Handler will be called be the rtmpconnection
+            if ($debug) Debug.write("registerUserByObject: ",value);
+			if (!(value<0)){
+				//Debug.write("successfully registered");
+                 new lz.rpcErrorDialog(canvas.main_content._content.inner,{errorid:-18});
+                 this.parent.refObj.username.setAttribute('text',this.parent.username.getText());
+                 this.parent.refObj.userpass.setAttribute('text',this.parent.userpass1.getText());
+                 this.parent.close();
+			} else if (value == -40) {
+				this.parent.refObj.username.setAttribute('text',this.parent.username.getText());
+                this.parent.refObj.userpass.setAttribute('text',this.parent.userpass1.getText());
+                this.parent.close();
+			}
+			]]>
+         </handler>  
+     </netRemoteCallHib>	
+     
+     
+     <animator name="showRegForm" attribute="y" to="120" duration="1000" start="true" />
+	
+</class>
+
+</library>
diff --git a/WebContent/src/base/auth/resetForm.lzx b/WebContent/src/base/auth/resetForm.lzx
new file mode 100644
index 0000000..ee8d3a0
--- /dev/null
+++ b/WebContent/src/base/auth/resetForm.lzx
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<!DOCTYPE library SYSTEM "/project.dtd">
+<library>
+	
+<!-- Form shown in the Login Box -->
+    
+<class name="resetForm" extends="view" x="10" y="230" >
+    
+    <attribute name="baseUrl" value="" type="string" />
+    
+    <labelText name="resetLabel" labelid="312" width="200" />
+
+    <radiogroup name="chooseTextType" layout="class:simplelayout;axis:x;spacing:2" y="30" >
+        <labelRadioButton labelid="313" value="1" text="Mail" />
+        <labelRadioButton labelid="314" value="2" text="Login" />
+    </radiogroup>   
+    
+    <!-- reset Values Area -->
+    <labelText name="resetByMailLabel" 
+        visibility="${ ( (parent.chooseTextType.value==1) ? 'visible' : 'hidden' ) }"
+        labelid="315" y="60" x="2"/>
+    <customEdittext name="resetByMail" y="60" regexpType="email"
+        visibility="${ ( (parent.chooseTextType.value==1) ? 'visible' : 'hidden' ) }"
+        password="false" x="120" width="170" />
+    
+    <labelText name="resetByLoginLabel" 
+        visibility="${ ( (parent.chooseTextType.value==2) ? 'visible' : 'hidden' ) }"
+        labelid="316" y="60" x="2"/>
+    <customEdittext name="resetByLogin" y="60" 
+        visibility="${ ( (parent.chooseTextType.value==2) ? 'visible' : 'hidden' ) }"
+        password="false" x="120" width="170" />
+    
+    <simpleLabelButton name="sendBtn" labelid="317" x="120" y="90" >
+        <attribute name="showResetBox" value="false" type="boolean" />
+    	<handler name="onclick">
+    		<![CDATA[
+                if (parent.chooseTextType.value==1){
+                    parent.resetByLogin.setAttribute('text','');
+                } else {
+                    parent.resetByMail.setAttribute('text','');
+                }
+                
+                //Point URL to actual File
+                var urlObject =  lz.Browser.getBaseURL();
+                //If Port is Null or undefinied use port 80
+                if (urlObject.port!=null && urlObject.port!=undefined){
+                    var port = urlObject.port;
+                    
+                    if (port != 80) {
+                        parent.baseUrl = urlObject.protocol+"://"+urlObject.host+":"+port+urlObject.path;
+                    } else {
+                        parent.baseUrl = urlObject.protocol+"://"+urlObject.host+urlObject.path;
+                    }
+                } else {
+                    parent.baseUrl = urlObject.protocol+"://"+urlObject.host+urlObject.path;
+                }
+                
+    			parent.resetUserPwd.doCall();
+			]]>
+    	</handler>
+    </simpleLabelButton>   
+    
+    <netRemoteCallHib name="resetUserPwd" funcname="userservice.resetUserPwd" 
+        remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >      
+        <netparam><method name="getValue"> return canvas.sessionId; </method></netparam>  
+        <netparam><method name="getValue"> return parent.parent.resetByMail.getText(); </method></netparam>  
+        <netparam><method name="getValue"> return parent.parent.resetByLogin.getText(); </method></netparam>
+        <netparam><method name="getValue"> return parent.parent.baseUrl; </method></netparam>
+        <handler name="ondata" args="value">
+			<![CDATA[
+                if ($debug) Debug.write("onvalue",value);
+            ]]>
+        </handler>  
+    </netRemoteCallHib>    
+
+    <method name="reset">
+            this.sendBtn.onclick.sendEvent();
+    </method>
+    
+</class>    
+    
+
+</library>
diff --git a/WebContent/src/base/auth/resetPassword.lzx b/WebContent/src/base/auth/resetPassword.lzx
new file mode 100644
index 0000000..eba0ac9
--- /dev/null
+++ b/WebContent/src/base/auth/resetPassword.lzx
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="resetPassword" extends="labelExplorerBox" labelid="325"
+    docking="true" resizeable="false" closable="false" 
+	width="360" x="350" height="160">
+    
+    <handler name="onclose">
+    	if (this.childObj!=null) this.childObj.close();
+    </handler>
+    
+    <handler name="oninit">
+        var pressEnter = new LzDelegate(this, "sendValues");
+        lz.Keys.callOnKeyCombo(pressEnter, ["enter"]);
+		this.getUserByHash.doCall();
+	</handler>  
+    
+    <netRemoteCallHib name="getUserByHash" funcname="userservice.getUserByHash" 
+		remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >      
+        <netparam><method name="getValue"> return canvas.sessionId;</method></netparam> 
+        <netparam><method name="getValue"> return canvas.resetHash;</method></netparam> 
+        <handler name="ondata" args="value">
+			<![CDATA[
+				//if ($debug) Debug.write("getUserByHash: ",value);
+            	//The onResult-Handler will be called be the rtmpconnection
+				if (value<0) {
+					parent.close();
+				} else {
+					parent.username.setAttribute('text',value.login);
+					lz.Focus.setFocus(parent.pass1,true);
+				}
+			]]>
+        </handler>  
+    </netRemoteCallHib>	
+	
+	<method name="sendValues">
+		<![CDATA[
+			if (this.pass1.getText()!=this.pass1.getText()){
+				new lz.rpcErrorDialog(canvas.main_content._content.inner,{errorid:-6});
+			} else if (this.pass1.getText().length<4) {
+				new lz.rpcErrorDialog(canvas.main_content._content.inner,{errorid:-7});
+			} else {
+				this.resetPassByHash.doCall();
+			}
+		]]>
+	</method>
+	
+    <netRemoteCallHib name="resetPassByHash" funcname="userservice.resetPassByHash" 
+		remotecontext="$once{ canvas.thishib }" activeErrorHandler="true"
+		isCallBackHandler="true" >      
+		<attribute name="tempValue" value="0" type="number" />
+        <netparam><method name="getValue"> return canvas.sessionId;</method></netparam> 
+        <netparam><method name="getValue"> return canvas.resetHash;</method></netparam>
+		<netparam><method name="getValue"> return parent.parent.pass1.getText();</method></netparam>  
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+			//if ($debug) Debug.write(value);
+			this.tempValue = value;
+        </handler>  
+		<handler name="sendCallBack">
+			if (this.tempValue==-8) {
+				if ($debug) Debug.write("success");
+				var authLogin = new lz.checkLoginData(canvas.main_content._content.inner);
+				authLogin.username.setAttribute('text',parent.username.getText());
+				authLogin.userpass.setAttribute('text',parent.pass1.getText());
+				parent.close();
+			}
+		</handler>
+    </netRemoteCallHib>		
+	
+    <labelText labelid="326" width="200" y="24" x="2"/>
+        <labelText name="username" y="24" x="140" width="170" />
+   
+    <labelText labelid="328" width="200" y="54" x="2"/>
+        <customEdittext password="true" name="pass1" y="54" x="140" width="170" />
+	
+    <labelText labelid="329" width="200" y="84" x="2"/>
+        <customEdittext password="true" name="pass2" y="84" x="140" width="170" />
+	
+    <simpleLabelButton name="_btn" labelid="327" width="120" x="230" 
+		y="$once{ parent.height-40 }" onclick="parent.sendValues()" />   
+	
+</class>    
+
+</library>
diff --git a/WebContent/src/base/components/button/baseChooseIcon.lzx b/WebContent/src/base/components/button/baseChooseIcon.lzx
new file mode 100644
index 0000000..86007c3
--- /dev/null
+++ b/WebContent/src/base/components/button/baseChooseIcon.lzx
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<resource name="background_drawchoose_rsc">
+    <frame src="resources/menudraw_up.png" />
+    <frame src="resources/menudraw_over.png" />
+    <frame src="resources/menudraw_down.png" />
+</resource>
+
+<class name="baseChooseIcon" extends="view" width="24" height="24" 
+	   bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" >
+    <attribute name="resourceN" value="" type="string" />
+    
+    <view name="_bg" x="1" y="1" height="$once{ parent.height - 2 }"
+    	  width="$once{ parent.width - 2 }" bgcolor="$once{ canvas.getThemeColor('baseMousecolorizer') }" />
+    
+    <image name="_icon" src="$once{ canvas.getThemeImage(parent.resourceN) }" 
+    	  x="$once{ (parent.width-this.width) / 2 }"
+    	  y="$once{ (parent.height-this.height) / 2 }" 
+    	  width="18" height="18" stretches="both"/>
+    <attribute name="initX" value="0" type="number"/>
+    <attribute name="initY" value="0" type="number"/>
+    <attribute name="isselected" value="false" type="boolean" />
+	<!--
+    <attribute name="enabled" value="true" type="boolean" />
+	 -->
+    <attribute name="labelid" value="0" type="number" />
+    <handler name="onmouseover">
+    	this.isOut = false;
+    	this._bg.setAttribute("bgcolor",canvas.getThemeColor('baseMouseOvercolorizer'));
+    	this._icon.setAttribute("x",this._icon.x-1);
+    	this._icon.setAttribute("y",this._icon.y-1);
+    	this._icon.setAttribute("width",this._icon.width+2);
+    	this._icon.setAttribute("height",this._icon.height+2);
+    </handler>
+    <handler name="onmouseout">
+    	this._bg.setAttribute("bgcolor",canvas.getThemeColor('baseMousecolorizer'));
+    	if (this.initX == this._icon.x) {
+    		return;
+    	}
+    	this.isOut = true;
+    	this._icon.setAttribute("x",this.initX);
+    	this._icon.setAttribute("y",this.initY);
+    	this._icon.setAttribute("width",this._icon.width-2);
+    	this._icon.setAttribute("height",this._icon.height-2);
+    </handler>
+    <handler name="onclick">
+    	this.onmouseout.sendEvent(null);
+    </handler>
+    <handler name="oninit">
+    	this.initX = this._icon.x;
+    	this.initY = this._icon.y;
+        if (this.isselected){
+            this.onclick.sendEvent();
+            this.setAttribute('frame',3);
+        }
+    </handler>          
+    <labelTooltip labelid="$once{ parent.labelid }" inittwice="true" />
+</class>
+
+
+</library>
diff --git a/WebContent/src/base/components/button/blueButton.lzx b/WebContent/src/base/components/button/blueButton.lzx
new file mode 100644
index 0000000..c30474e
--- /dev/null
+++ b/WebContent/src/base/components/button/blueButton.lzx
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<class name="blueButton" extends="basecomponent" width="200" height="18" 
+	       bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" focusable="true">
+	    
+	    <attribute name="resourceItem" value="" type="string" />
+	    
+	    <attribute name="x_insetResource" value="4" type="number" />
+	    <attribute name="y_insetResource" value="4" type="number" />
+	    
+	    <attribute name="width_insetResource" value="18" type="number" />
+	    <attribute name="height_insetResource" value="18" type="number" />
+	    
+		<method name="setText" args="txt">
+			this.setAttribute('text',txt);
+		</method>
+		<view name="_bg" x="1" y="1" bgcolor="$once{ canvas.getThemeColor('mainBackgroundColor') }"
+				width="${ parent.width-2 }" height="${ parent.height-2 }" />
+		<view name="_bgOver" x="1" y="1" bgcolor="0xFFFFFF" opacity="0.5" visibility="hidden"
+				width="${ parent.width-2 }" height="${ parent.height-2 }" />
+		<view name="_bgDown" x="1" y="1" bgcolor="0x000000" opacity="0.5" visibility="hidden"
+				width="${ parent.width-2 }" height="${ parent.height-2 }" />
+		
+		<view name="disAbledView" visibility="${ ( parent.enabled ) ? 'hidden' : 'visible' }"
+	          bgcolor="white" opacity="1" x="1" y="1"
+	          width="$once{ parent.width-2 }" height="$once{ parent.height-2 }" />
+		
+	    <image name="_rscIcon" stretches="both" 
+	    	  opacity="${ ( parent.enabled ) ? 1 : 0.4 }"
+		  	  x="$once{ parent.x_insetResource }" 
+	    	  y="$once{ parent.y_insetResource }" 
+	          width="$once{ parent.width_insetResource }" 
+	          height="$once{ parent.height_insetResource }" 
+	          src="$once{ canvas.getThemeImage(parent.resourceItem) }" />
+	          
+	    
+	     
+		<handler name="onmouseover">
+			this._rscIcon.setAttribute("x",this._rscIcon.x-1);
+			this._rscIcon.setAttribute("y",this._rscIcon.y-1);
+			this._rscIcon.setAttribute("width",this._rscIcon.width+2);
+			this._rscIcon.setAttribute("height",this._rscIcon.height+2);
+			this._bgOver.setAttribute('visibility','visible');
+		</handler>
+		<handler name="onmouseout">
+			this._rscIcon.setAttribute("x",this._rscIcon.x+1);
+			this._rscIcon.setAttribute("y",this._rscIcon.y+1);
+			this._rscIcon.setAttribute("width",this._rscIcon.width-2);
+			this._rscIcon.setAttribute("height",this._rscIcon.height-2);
+		</handler>
+		<handler name="onmousedown">
+			if (!this.enabled) {
+				return;
+			}
+			this._bgOver.setAttribute('visibility','hidden');
+			this._bgDown.setAttribute('visibility','visible');
+		</handler>
+		<handler name="onmouseup">
+			this._bgDown.setAttribute('visibility','hidden');
+		</handler>	
+			
+	</class>
+
+</library>
diff --git a/WebContent/src/base/components/button/labelBlueButton.lzx b/WebContent/src/base/components/button/labelBlueButton.lzx
new file mode 100644
index 0000000..318ddfa
--- /dev/null
+++ b/WebContent/src/base/components/button/labelBlueButton.lzx
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="labelBlueButton" extends="blueButton" >
+
+	<attribute name="labelid" value="0" type="number" setter="setLabelId(labelid)" />
+	<method name="setLabelId" args="_labelid" >
+		this.labelid = _labelid;
+		//Debug.write(this.labelid);
+		this.setAttribute('text',canvas.getLabelName(this.labelid));
+	</method>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/button/library.lzx b/WebContent/src/base/components/button/library.lzx
new file mode 100644
index 0000000..fa5dc19
--- /dev/null
+++ b/WebContent/src/base/components/button/library.lzx
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+    <include href="incubator/roundrectbutton.lzx" />
+    
+	<include href="blueButton.lzx" />
+	<include href="labelBlueButton.lzx" />
+	<include href="simpleLabelButton.lzx" />
+    <include href="baseChooseIcon.lzx" />
+
+</library>
diff --git a/WebContent/src/base/components/button/resources/menudraw_down.png b/WebContent/src/base/components/button/resources/menudraw_down.png
new file mode 100644
index 0000000..8ba606b
--- /dev/null
+++ b/WebContent/src/base/components/button/resources/menudraw_down.png
Binary files differ
diff --git a/WebContent/src/base/components/button/resources/menudraw_over.png b/WebContent/src/base/components/button/resources/menudraw_over.png
new file mode 100644
index 0000000..d7e9f26
--- /dev/null
+++ b/WebContent/src/base/components/button/resources/menudraw_over.png
Binary files differ
diff --git a/WebContent/src/base/components/button/resources/menudraw_up.png b/WebContent/src/base/components/button/resources/menudraw_up.png
new file mode 100644
index 0000000..cebc7c5
--- /dev/null
+++ b/WebContent/src/base/components/button/resources/menudraw_up.png
Binary files differ
diff --git a/WebContent/src/base/components/button/simpleLabelButton.lzx b/WebContent/src/base/components/button/simpleLabelButton.lzx
new file mode 100644
index 0000000..5f63fad
--- /dev/null
+++ b/WebContent/src/base/components/button/simpleLabelButton.lzx
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="simpleLabelButton" extends="button" fontstyle="bold"
+	   fontsize="11" height="20" style="componentStyle">
+
+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+	<method name="setLabelId" args="_labelid" >
+		this.labelid = _labelid;
+		this.setAttribute('text',canvas.getLabelName(this.labelid));
+	</method>
+	
+</class>
+
+<class name="simpleLabelRoundButton" extends="roundrectbutton" 
+	   fontsize="11" height="20" style="componentStyle" fontstyle="bold">
+
+    <attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+    <method name="setLabelId" args="_labelid" >
+        this.labelid = _labelid;
+        this.setAttribute('text',canvas.getLabelName(this.labelid));
+    </method>
+    
+</class>
+
+<class name="simpleLabelButtonTooltip" extends="button" fontstyle="bold"
+	   fontsize="11" height="20" style="componentStyle">
+	
+	<attribute name="tooltipId" type="number" value="0" />
+
+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+	<method name="setLabelId" args="_labelid" >
+		this.labelid = _labelid;
+		this.setAttribute('text',canvas.getLabelName(this.labelid));
+	</method>
+	<labelTooltip labelid="$once{ parent.tooltipId }" />
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/calendar/calendarWindow.lzx b/WebContent/src/base/components/calendar/calendarWindow.lzx
new file mode 100644
index 0000000..1118862
--- /dev/null
+++ b/WebContent/src/base/components/calendar/calendarWindow.lzx
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="calendarWindow" extends="view" clickable="true" 
+	   bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }">	
+
+	<attribute name="fieldRef" value="null" />
+	
+	<handler name="oninit">
+		lz.ModeManager.makeModal(this);
+	</handler>
+	<method name="close">
+		lz.ModeManager.release(this);
+		this.destroy();
+	</method>	
+	
+    <!--- @keywords private -->
+    <method name="passModeEvent" args="eventStr,view" > 
+        <![CDATA[
+            if ( eventStr == "onmousedown"  ){
+                if ( view != null ) {
+                   if ( !view.childOf(this) ) {
+                        this.close();
+                   }
+                } else {
+                    this.close();
+                }
+            }
+            if (view && view.childOf(this)) {
+                if (view[ eventStr ]) {
+                    view[ eventStr ].sendEvent( view );
+                }
+                return false;
+            }
+            return true;
+        ]]> 
+    </method> 	
+	
+	<labelText fgcolor="0xFFFFFF" fontstyle="bold" labelid="481" x="1" y="1" />
+	
+    <view name="_close" x="${ this.parent.width-19 }" y="1" 
+        resource="btn_presenter_close"
+        onmouseover="this.setAttribute('frame',2)"
+        onmouseout="this.setAttribute('frame',1)"
+        onmousedown="this.setAttribute('frame',3)"
+        onmouseup="this.setAttribute('frame',1)" >
+        <handler name="onclick">
+            this.setAttribute('frame',2);
+            this.parent.close();
+        </handler>
+        <labelTooltip labelid="430" />
+    </view>  	
+
+	<dateSelector y="20" name="_dateselector">
+		<handler name="oninit">
+			<![CDATA[
+			//Debug.write("dateselector oninit. ",this);
+			var t = parent.fieldRef.getText();
+			var newDate = parseStringToDate(t);
+			this.showingdate = newDate;
+			//Debug.write("n1:",this.showingdate);
+			this.init();
+			]]>
+		</handler>
+		<handler name="ondoubleselect" args="d">
+			parent.fieldRef.setAttribute('text',parseDateToString(d));
+			this.parent.close();
+		</handler>
+	</dateSelector>	
+
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/calendar/dateField.lzx b/WebContent/src/base/components/calendar/dateField.lzx
new file mode 100644
index 0000000..fd83911
--- /dev/null
+++ b/WebContent/src/base/components/calendar/dateField.lzx
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="dateField" extends="view" width="104">
+	
+	<attribute name="enabled" value="true" type="boolean" />
+	<attribute name="setDefaultToday" value="false" type="boolean" />
+	<attribute name="additionalDay" value="0" type="number" />
+	
+	<handler name="oninit">
+		if (this.setDefaultToday){
+			if (this.additionalDay==0){
+				this._text.setAttribute('text',parseDateToString(new Date()));
+			} else {
+				var date = new Date();
+				date.setTime(date.getTime()+86400000);
+				this._text.setAttribute('text',parseDateToString(date));
+			}
+		}
+	</handler>
+ 
+	<method name="setText" args="txt">
+		this.setAttribute('text',txt);
+	</method>
+	<method name="getText" >
+		return this._text.getText();
+	</method>	
+    
+    <method name="setDate" args="d">
+        
+    </method>
+    <method name="getDate">
+        var tString = this._text.getText();
+        var y = tString.substring(6,10);
+        var m = Number(tString.substring(3,5))-1;
+        var d = tString.substring(0,2);     
+        var date = new Date(y,m,d);
+        if ($debug) Debug.write(date); 
+        return date;
+    </method>
+    
+	<attribute name="text" value="" type="string" />
+
+	<customEdittext name="_text" width="$once{ parent.width-22 }" regexpType="date" 
+					align="left" text="${ parent.text }" enabled="${ parent.enabled }" />
+
+	<blueButton resourceItem="date_icon_rsc" align="right"
+		  opacity="${ ((parent.enabled) ? 1 : 0.4) }"
+		  x_insetResource="2" y_insetResource="2" width="20" height="20"
+		  width_insetResource="16" height_insetResource="16">
+		<handler name="onclick">
+			if (parent.enabled) {
+				new lz.calendarWindow(this.parent.parent,{fieldRef:this.parent._text,x:this.parent.x+(this.parent.width-200),y:this.parent.y});
+			}
+		</handler>
+		<labelTooltip labelid="162" />
+	</blueButton>
+
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/calendar/dateSelector.lzx b/WebContent/src/base/components/calendar/dateSelector.lzx
new file mode 100644
index 0000000..4ac78a3
--- /dev/null
+++ b/WebContent/src/base/components/calendar/dateSelector.lzx
@@ -0,0 +1,502 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="baseDateSelectorComponent" extends="view">
+
+	<attribute name="daynumbers" value="[0,1,2,3,4,5,6]" />
+
+	<attribute name="showingdate" type="string" value="" />
+	
+	<attribute name="dayclass" when="once" />
+
+	<attribute name="weekclass" when="once" />
+	<attribute name="showcalenderweek" value="true" type="boolean" />
+	
+	<attribute name="monthclass" when="once" />
+	<attribute name="showcalendermonth" value="true" type="boolean" />	
+	
+</class>
+
+<class name="dateSelectorDay" extends="baseDateSelectorComponent" width="24" bgcolor="0xFFFFFF">
+
+	<attribute name="dayIndexNumber" value="-1" type="number" />
+	<attribute name="weekIndexNumber" value="-1" type="number" />
+
+	<handler name="onclick">
+		this.parent.parent.parent.parent.parent.parent.selectDate(this.daydate,this.dayIndexNumber,this.weekIndexNumber);
+	</handler>
+	
+	<handler name="ondblclick">
+		this.parent.parent.parent.parent.parent.parent.selectDoubleDate(this.daydate);
+	</handler>
+	
+	<attribute name="daydate" value="null" />
+	
+	<method name="init">
+		<![CDATA[
+        super.init();
+        if (parent.parent.parent.parent.month!=daydate.getMonth())
+        	this._date.setAttribute('text','<FONT COLOR="#CCCCCC">'+daydate.getDate()+'</FONT>');
+        else 
+        	this._date.setAttribute('text',daydate.getDate());
+        ]]>
+	</method>
+	
+	<text name="_date" fontsize="10" align="center" resize="true" />
+
+</class>
+
+<class name="dateSelectorDayHeader" extends="baseDateSelectorComponent" width="24" bgcolor="0xF9F9F9" >
+
+	<attribute name="daynumber" value="0" type="number" />
+	
+	<method name="init">
+		<![CDATA[
+	        super.init();
+	        var dateRoot = parent.parent.parent.parent;
+	        //if ($debug) Debug.write("daynumber",this,dateRoot);
+	        this._date.setAttribute('text',canvas.getLabelName(dateRoot.dayNamesLabelIds[( (daynumber>6) ? (daynumber-7) : daynumber )]));
+	        this._date._tip.setAttribute('labelid',dateRoot.dayLabelNamesLabelIds[( (daynumber>6) ? (daynumber-7) : daynumber )]); 
+        ]]>
+	</method>
+	
+	<text fgcolor="0x000000" name="_date" fontsize="10" align="center" resize="true"
+		  onmouseover="" onmouseout="">
+		<labelTooltip name="_tip" />
+	</text>
+
+</class>
+
+<class name="dateSelectorWeekNumber" extends="view" width="24" bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }">
+
+	<attribute name="weeknumber" value="0" type="number" />	
+	<text name="_date" fgcolor="white" fontsize="10" text="$once{ parent.weeknumber }" 
+		  align="center" resize="true" />
+
+</class>
+
+<class name="dateSelectorWeekNumberHeader" extends="view" width="24" bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }">
+
+	<attribute name="labelWeekHeader" value="" type="string" />	
+	<text name="_date" fgcolor="white" fontsize="10" text="$once{ parent.labelWeekHeader }" 
+		  align="center" resize="true" 
+		  onmouseover="" onmouseout="">
+		<labelTooltip name="_tip" labelid="468" />
+	</text>
+
+</class>
+
+<class name="dateSelectorWeek" extends="baseDateSelectorComponent" 
+		bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }">
+
+	<attribute name="weekIndexNumber" value="-1" type="number" />
+
+	<attribute name="firstweekddaydate" value="null" />
+	
+	<method name="init">
+        <![CDATA[ 
+        super.init();
+        for( var i = 0 ; i < 7 ; i++ )  {
+        	new dayclass(this.content,{
+        						daydate:new Date(firstweekddaydate.getTime()+(86400000*i)),
+        						weekIndexNumber:this.weekIndexNumber,
+        						dayIndexNumber:i
+        					});
+       	}  
+		]]>
+	</method>
+	
+	<view name="content" layout="axis:x;spacing:1" />
+	
+</class>
+
+
+<class name="dateSelectorMonth" extends="baseDateSelectorComponent" 
+		bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" height="137" width="176">
+            
+	<attribute name="month" value="0" type="number" />
+	<attribute name="firstweekNumber" value="0" type="number" />
+	<attribute name="currentMonthName" value="" type="string" />
+
+	<method name="init">
+        <![CDATA[ 
+        super.init();
+        var dateRoot = parent.parent;
+        //if ($debug) Debug.write("dateRoot: ",dateRoot);
+        this.setAttribute('currentMonthName',dateRoot.monthnames[month]); 
+        for( var i = 0 ; i < 6 ; i++ ) new lz.dateSelectorWeek(this.content,{firstweekddaydate:new Date(this.showingdate.getTime()+(604800000*i)),dayclass:dayclass,month:month,weekIndexNumber:i});  
+        for( var i = 0 ; i < 7 ; i++ ) new lz.dateSelectorDayHeader(this.weekheader,{daynumber:(this.showingdate.getDay()+i)});  
+		]]>
+	</method> 
+	<view name="header" layout="axis:x" height="18" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }">
+		<text width="20" fgcolor="0x000000" height="18" 
+			onmouseover="this.setAttribute('bgcolor',0xFFFFFF)" onmouseout="this.setAttribute('bgcolor',canvas.getThemeColor('secondBorderColor'))">
+			<handler name="oninit"><![CDATA[
+				this.setAttribute('text','&#60;');]]>
+			</handler>
+			<handler name="onclick">
+				this.parent.parent.parent.parent.showPreviewsMonth();
+			</handler>
+		</text>
+		<text width="22" fgcolor="0x000000" height="18"
+			onmouseover="this.setAttribute('bgcolor',0xFFFFFF)" onmouseout="this.setAttribute('bgcolor',canvas.getThemeColor('secondBorderColor'))">
+			<handler name="oninit"><![CDATA[
+				this.setAttribute('text','&#60;&#60;');]]>
+			</handler>			
+			<handler name="onclick">
+				this.parent.parent.parent.parent.showPreviewsYear();
+			</handler>
+		</text>	
+		<view width="91" height="$once{ parent.height }" >
+			<text fontsize="10" fgcolor="0x000000" align="center" text="${ parent.parent.parent.currentMonthName+' '+parent.parent.parent.parent.parent.year }" resize="true" />
+		</view>
+		<text width="22" fgcolor="0x000000" text=">>" height="18"
+			onmouseover="this.setAttribute('bgcolor',0xFFFFFF)" onmouseout="this.setAttribute('bgcolor',canvas.getThemeColor('secondBorderColor'))">
+			<handler name="onclick">
+				this.parent.parent.parent.parent.showNextYear();
+			</handler>
+		</text>
+		<text width="20" fgcolor="0x000000" text="  >" height="18"
+			onmouseover="this.setAttribute('bgcolor',0xFFFFFF)" onmouseout="this.setAttribute('bgcolor',canvas.getThemeColor('secondBorderColor'))">
+			<handler name="onclick">
+				this.parent.parent.parent.parent.showNextMonth();
+			</handler>
+		</text>	
+	</view>
+	<view name="weekheader" layout="axis:x;spacing:1" x="1" y="18" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }"/>
+	<!-- 
+	<view name="weekNumber" layout="axis:y;spacing:1" x="1" y="35" />
+	 -->
+	<view name="content" layout="axis:y;spacing:1" x="1" y="35" />
+</class>
+
+<class name="baseDateSelector" extends="baseDateSelectorComponent" >
+	
+	<attribute name="dayNamesLabelIds" value="null" />
+	<attribute name="dayLabelNamesLabelIds" value="null" />
+	<attribute name="monthnames" value="['Januar','Februar','Maerz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember']"/> 
+
+
+	<attribute name="firstdayinweek" value="$once{ canvas.firstdayinweek }" type="number" />
+	<attribute name="year" value="" type="string" />
+	<attribute name="selecteddate" value="null" />
+	<attribute name="selected" value="null" />
+	
+	<event name="onselect" />
+	<event name="ondoubleselect" />
+	
+	<event name="onmonthSel" />
+	<event name="onyearSel" />
+	
+	<attribute name="dayIndexNumber" value="-1" type="number" />
+	<attribute name="weekIndexNumber" value="-1" type="number" />
+	
+	<handler name="oninit">
+		<![CDATA[
+			this.dayNamesLabelIds = [459,453,454,455,456,457,458];
+			this.dayLabelNamesLabelIds = [466,460,461,462,463,464,465];
+			this.monthnames = [canvas.getLabelName(469),canvas.getLabelName(470),
+								canvas.getLabelName(471),canvas.getLabelName(472),
+								canvas.getLabelName(473),canvas.getLabelName(474),
+								canvas.getLabelName(475),canvas.getLabelName(476),
+								canvas.getLabelName(477),canvas.getLabelName(478),
+								canvas.getLabelName(479),canvas.getLabelName(480)]
+			
+			this.init();
+		]]>
+	</handler>	
+	
+	<method name="loadDate" args="datObj">
+		this.showingdate = datObj;
+		this.init();
+		this.showDate(this.selecteddate);
+		//this.onselect.sendEvent(this.selecteddate);
+	</method>
+	
+	<method name="init">
+        <![CDATA[ 
+	        super.init();
+	        
+	        var tIsInit = false;
+	        if (this.showingdate==""){
+	        	tIsInit = true;
+	        	this.showingdate = new Date();
+	        }
+	        this.setAttribute('year',this.showingdate.getFullYear());
+	        this.selecteddate = this.showingdate;
+	        var firstdayDate = this.getDateFirstDayInMonth();
+	        this.content.content.destroy();
+	        new lz.dateSelectorMonth(this.content,{name:'content',
+		        	firstweekNumber:this.getWeekNumber(firstdayDate.getTime()),
+		        	month:this.selecteddate.getMonth(),
+		        	showingdate:firstdayDate,
+		        	dayclass:dayclass,
+		        	weekclass:weekclass,
+		        	showcalenderweek:showcalenderweek,
+		        	showcalendermonth:showcalendermonth
+	        	});
+	        this.hiliteDate(this.showingdate);
+	        //this.onselect.sendEvent(this.selecteddate);
+	        var ref = this.checkToday();
+	        
+	        if ($debug) Debug.write("INIT ",ref,ref.daydate);
+	        
+	        if (ref != null && tIsInit) {
+		        this.selectDate(ref.daydate, ref.dayIndexNumber, ref.weekIndexNumber);
+	        }
+		]]>
+	</method>
+	
+	<method name="checkToday">
+		<![CDATA[
+		var tDate = new Date();
+        if (this.showingdate.getMonth()== tDate.getMonth() && this.showingdate.getFullYear() == tDate.getFullYear()){
+        	//Debug.write("+++++++ Found Today");
+        	var ref = this.getDateRefByDateNumber(tDate.getDate(),tDate.getMonth());
+        	if (ref == null) {
+        		if ($debug) Debug.warn("Could not find date ref",tDate);
+        	}
+        	ref.setAttribute('bgcolor',0xCECECE);
+        	return ref;
+        }
+        
+        return this.getDateRefByDateNumber(this.showingdate.getDate(),this.showingdate.getMonth())
+		]]>
+	</method>
+	
+	<method name="showDate" args="dateObj">
+		<![CDATA[
+		if(this.selected!=null) this.selected.setAttribute('bgcolor',"white");
+		var i=0;
+		while (i<this.content.content.content.subviews.length){
+			var k=0;
+			while (k<this.content.content.content.subviews[i].content.subviews.length){
+				var t = this.content.content.content.subviews[i].content.subviews[k].daydate;
+				if (t.getDate()==dateObj.getDate() && t.getMonth()==dateObj.getMonth()){
+					this.content.content.content.subviews[i].content.subviews[k].onclick.sendEvent(null);
+					return;
+				}
+				k++;
+			}
+			i++;
+		}
+		]]>
+	</method>
+	
+	<method name="selectDate" args="dateObj,dayIndex,weekIndex">
+		dayIndexNumber = dayIndex;
+		weekIndexNumber = weekIndex;
+		this.showingdate = dateObj;
+		this.selecteddate = dateObj;
+		this.hiliteDate(this.showingdate);
+		this.checkToday();
+		this.onselect.sendEvent(this.selecteddate);
+	</method>
+	
+	<method name="selectDoubleDate" args="dateObj">
+		this.showingdate = dateObj;
+		this.selecteddate = dateObj;
+		this.hiliteDate(this.showingdate);
+		this.checkToday();
+		this.ondoubleselect.sendEvent(this.selecteddate);
+	</method>
+	
+	<method name="hiliteDate" args="dateObj">
+		<![CDATA[
+		if(this.selected!=null) this.selected.setAttribute('bgcolor',"white");
+		var i=0;
+		while (i<this.content.content.content.subviews.length){
+			var k=0;
+			while (k<this.content.content.content.subviews[i].content.subviews.length){
+				var t = this.content.content.content.subviews[i].content.subviews[k].daydate;
+				if (t.getDate()==dateObj.getDate() && t.getMonth()==dateObj.getMonth()){
+					this.selected = this.content.content.content.subviews[i].content.subviews[k];
+					this.selected.setAttribute('bgcolor',0xCCD7E1);
+					return;
+				}
+				k++;
+			}
+			i++;
+		}
+		]]>
+	</method>
+	
+	<!-- 
+		Here the Date has to be changed sothat the firstday in week is the first day in month
+	 -->
+	<method name="getDateFirstDayInMonth">
+		<![CDATA[
+		//First calc the date by the given first day in week
+		var newDateTemp = new Date(this.showingdate.getFullYear(), this.showingdate.getMonth(), 1, 12); //set hours to 12 to prevent timezone issues
+		////Debug.write(newDateTemp);
+		var factor = 0;
+		if (newDateTemp.getDay()>this.firstdayinweek)	
+			factor = -((newDateTemp.getDay()-this.firstdayinweek));
+		else if (newDateTemp.getDay()<this.firstdayinweek)
+			factor = (this.firstdayinweek-newDateTemp.getDay());
+		////Debug.write("factor: ",factor);
+		
+		//calc first day
+		var newDate = new Date( (newDateTemp.getTime()+(86400000*factor)) );
+
+		//if the first day is after the first day of the selected month then we have to add 7 Days
+		if (newDate.getDate()>1 && newDate.getMonth()==newDateTemp.getMonth()){
+			newDate = new Date( (newDate.getTime()-(86400000*7)) );
+		}
+		if ($debug) Debug.write("getDateFirstDayInMonth ",newDate);
+		return newDate;
+		]]>
+	</method>
+	
+	<method name="isoWeekDays" args="yday,wday" >
+		<![CDATA[
+		return yday - ((yday - wday + 382) % 7) + 3;
+		]]>
+	</method>
+	
+	<method name="isLeapYear" args="year" >
+		<![CDATA[
+		if (((year % 4) == 0 && (year % 100)!=0) || (year % 400)==0)
+			return 1;
+		else
+			return 0;
+		]]>
+	</method>
+	
+	<method name="getDaysInMonth" args="iYear,iMonth" >
+		<![CDATA[
+			return 32 - new Date(iYear, iMonth, 32).getDate();
+		]]>
+	</method>
+	
+	<method name="getWeekNumber" args="DateInMilliseconds" >
+		<![CDATA[
+		var d = new Date(DateInMilliseconds);
+		if ($debug) Debug.write("getWeekNumber: ",d);
+		var NumerOfDaysIn = d.getDate();
+		
+		for (var i=0;i<d.getMonth();i++) {
+			var monthDays = this.getDaysInMonth(d.getFullYear(),d.getMonth());
+			NumerOfDaysIn+=monthDays;
+		}
+		if ($debug) Debug.write("NumerOfDaysIn,month: ",NumerOfDaysIn,d.getMonth());
+		
+		var days = this.isoWeekDays(NumerOfDaysIn,d.getDay());
+		if ($debug) Debug.write("days: ",days);
+		
+		if (days < 0) {
+			NumerOfDaysIn += 365 + isLeapYear(--NumerOfDaysIn);
+			days = this.isoWeekDays(NumerOfDaysIn, d.getDay());
+		} else {
+			NumerOfDaysIn -= 365 + isLeapYear(NumerOfDaysIn);
+			var d2 = this.isoWeekDays(NumerOfDaysIn,d.getDay());
+			if (0 <= d2) {
+				days = d2;
+			}
+		}
+
+		if ($debug) Debug.write("days: ",days);
+		
+		return (Math.floor((days / 7)));
+		]]>
+	</method>
+	
+	<method name="clearContent">
+		this.content.destroy();
+		new LzView(this,{name:'content'});
+	</method>
+	
+	<method name="showPreviewsMonth">
+		<![CDATA[
+		this.clearContent();
+		var preyear = this.showingdate.getFullYear();
+		var previewsMonth = this.showingdate.getMonth()-1;
+		if (previewsMonth<0) {
+			previewsMonth=11;
+			preyear--;
+		}
+		this.showingdate = new Date(preyear, previewsMonth, this.showingdate.getDate());
+		this.onmonthSel.sendEvent(previewsMonth);
+		this.init();
+		]]>
+	</method>
+	
+	<method name="showNextMonth">
+		<![CDATA[
+		this.clearContent();
+		var nextyear = this.showingdate.getFullYear();
+		var nextMonth = this.showingdate.getMonth()+1;
+		if (nextMonth>11) {
+			nextMonth=0;
+			nextyear++;
+		}		
+		this.showingdate = new Date(nextyear, nextMonth, this.showingdate.getDate());
+		this.onmonthSel.sendEvent(nextMonth);
+		this.init();
+		]]>
+	</method>
+	
+	<method name="showPreviewsYear">
+		this.clearContent();
+		this.showingdate = new Date(this.showingdate.getFullYear()-1, this.showingdate.getMonth(), this.showingdate.getDate());
+		this.onyearSel.sendEvent(this.showingdate.getFullYear());
+		this.init();
+	</method>
+	
+	<method name="showNextYear">
+		this.clearContent();
+		this.showingdate = new Date(this.showingdate.getFullYear()+1, this.showingdate.getMonth(), this.showingdate.getDate());
+		this.onyearSel.sendEvent(this.showingdate.getFullYear());
+		this.init();
+	</method>
+	
+	<method name="getDateRefByDateNumber" args="dayNumber,month">
+		<![CDATA[
+		////Debug.write(this.content.content.content);
+		for (var i=0;i<this.content.content.content.subviews.length;i++){
+			////Debug.write("this.content.content.content.subviews: ",i,this.content.content.content.subviews[i]);
+			for (var k=0;k<this.content.content.content.subviews[i].content.subviews.length;k++){
+				////Debug.write("this.content.content.content.subviews[i].content.subviews[k].daydate.getDate(): ",this.content.content.content.subviews[i].content.subviews[k].daydate.getDate(),dayNumber);
+				////Debug.write("this.content.content.content.subviews[i].content.subviews[k].daydate.getMonth(): ",this.content.content.content.subviews[i].content.subviews[k].daydate.getMonth(),month);
+				if(this.content.content.content.subviews[i].content.subviews[k].daydate.getDate()==dayNumber && this.content.content.content.subviews[i].content.subviews[k].daydate.getMonth()==month){
+					return this.content.content.content.subviews[i].content.subviews[k];
+				}
+				////Debug.write("k: ",k,this.content.content.content.subviews[i].content.subviews[k]);
+				////Debug.write(this.content.content.content.subviews[i].content.subviews[k].daydate);
+			}
+		}
+		return null;
+		]]>
+	</method>
+	
+	<view name="content">
+		<view name="content" />
+	</view>
+
+</class>
+
+<class name="dateSelector" extends="baseDateSelector"
+	weekclass="lz.dateSelectorWeek" dayclass="lz.dateSelectorDay" monthclass="lz.dateSelectorMonth" >
+
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/calendar/library.lzx b/WebContent/src/base/components/calendar/library.lzx
new file mode 100644
index 0000000..31e0d0e
--- /dev/null
+++ b/WebContent/src/base/components/calendar/library.lzx
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<include href="dateSelector.lzx" />
+	<include href="dateField.lzx" />
+	<include href="calendarWindow.lzx" />
+
+</library>
diff --git a/WebContent/src/base/components/conferencebox/conferenceBox.lzx b/WebContent/src/base/components/conferencebox/conferenceBox.lzx
new file mode 100644
index 0000000..8b0ec40
--- /dev/null
+++ b/WebContent/src/base/components/conferencebox/conferenceBox.lzx
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>     
+
+<class name="conferenceBox" extends="view" width="250" height="400" >
+    
+    <attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+    <method name="setLabelId" args="_labelid" >
+        this.labelid = _labelid;
+        this.setAttribute('headerText',canvas.getLabelName(this.labelid));
+    </method>
+    
+    <attribute name="headerText" value="Users" type="string" />
+    
+    <attribute name="closeable" value="false" type="boolean" />
+    <attribute name="isopen" value="true" type="boolean" />
+    
+    <attribute name="textInset" value="10" type="number" />
+    
+    <attribute name="initHeight" value="0" type="number"/>
+    
+    <attribute name="closedHeight" value="40" type="number"/>
+    
+    <handler name="oninit">
+        if (this.initHeight == 0) {
+            this.initHeight = this.height;
+        }
+    </handler>
+    
+    <method name="doOpen">
+        if (!this.isopen) {
+            this.toggleopen();
+        }
+    </method>
+    
+    <method name="toggleopen">
+        if (this.isopen) {
+            this.setAttribute("isopen",false);
+            this.setAttribute("height",this.closedHeight);
+            this.content.setAttribute("visibility","hidden");
+        } else {
+            this.setAttribute("isopen",true);
+            this.setAttribute("height",this.initHeight);
+            //if ($debug) Debug.write("toggleopen TRUE ",this.initHeight)
+            this.content.setAttribute("visibility","visible");
+        }
+    </method>
+    
+    <view name="_head" x="0" y="0" width="${ parent.width }" height="24" 
+    	  clickable="$once{ this.parent.closeable }" >
+        
+        <handler name="onclick">
+        	if (this.parent.closeable) {
+        		this.parent.toggleopen();
+        	}
+        </handler>
+        
+        <view x="8" y="4" visible="${ this.parent.parent.closeable }">
+            
+	        <view visible="${ !this.parent.parent.parent.isopen }" x="2" y="3" resource="conferenceBox_button_min_rsc">
+	            <handler name="onmouseup">
+	                this.parent.parent.parent.toggleopen();
+	            </handler>                                  
+	        </view>
+	        <view visible="${ this.parent.parent.parent.isopen }" x="2" y="3" resource="conferenceBox_button_max_rsc">
+	            <handler name="onmouseup">
+	                this.parent.parent.parent.toggleopen();
+	            </handler>                                  
+	        </view>
+            
+        </view>
+
+        <text x="$once{ parent.parent.textInset }" fontstyle="bold" fontsize="14" fgcolor="0xFFFFFF" 
+              text="${ parent.parent.headerText }" valign="middle"></text>
+        
+    </view>  
+
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/conferencebox/library.lzx b/WebContent/src/base/components/conferencebox/library.lzx
new file mode 100644
index 0000000..c00e280
--- /dev/null
+++ b/WebContent/src/base/components/conferencebox/library.lzx
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+    <resource name="conferenceBox_button_min_rsc" src="resources/box_closed.png" />
+    
+    <resource name="conferenceBox_button_max_rsc" src="resources/box_open.png" />
+    
+    <resource name="kaleidoscope_textbox_milk" 
+          src="resources/milk.swf" />
+
+    <include href="conferenceBox.lzx" />
+
+</library>
diff --git a/WebContent/src/base/components/conferencebox/resources/box_closed.fla b/WebContent/src/base/components/conferencebox/resources/box_closed.fla
new file mode 100644
index 0000000..66e7459
--- /dev/null
+++ b/WebContent/src/base/components/conferencebox/resources/box_closed.fla
Binary files differ
diff --git a/WebContent/src/base/components/conferencebox/resources/box_closed.png b/WebContent/src/base/components/conferencebox/resources/box_closed.png
new file mode 100644
index 0000000..49f20a3
--- /dev/null
+++ b/WebContent/src/base/components/conferencebox/resources/box_closed.png
Binary files differ
diff --git a/WebContent/src/base/components/conferencebox/resources/box_open.fla b/WebContent/src/base/components/conferencebox/resources/box_open.fla
new file mode 100644
index 0000000..9ea85a7
--- /dev/null
+++ b/WebContent/src/base/components/conferencebox/resources/box_open.fla
Binary files differ
diff --git a/WebContent/src/base/components/conferencebox/resources/box_open.png b/WebContent/src/base/components/conferencebox/resources/box_open.png
new file mode 100644
index 0000000..b5873a8
--- /dev/null
+++ b/WebContent/src/base/components/conferencebox/resources/box_open.png
Binary files differ
diff --git a/WebContent/src/base/components/conferencebox/resources/milk.swf b/WebContent/src/base/components/conferencebox/resources/milk.swf
new file mode 100644
index 0000000..e52a1f8
--- /dev/null
+++ b/WebContent/src/base/components/conferencebox/resources/milk.swf
Binary files differ
diff --git a/WebContent/src/base/components/dynamicCombobox/countryCombobox.lzx b/WebContent/src/base/components/dynamicCombobox/countryCombobox.lzx
new file mode 100644
index 0000000..e1f1d1b
--- /dev/null
+++ b/WebContent/src/base/components/dynamicCombobox/countryCombobox.lzx
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="countryCombobox" extends="resetCombobox" editable="false" 
+	   fontsize="11" style="componentStyle">
+    
+    <attribute name="refObj" value="null" />
+    
+    <attribute name="doUpdate" value="false" type="boolean"/>
+    
+    <handler name="onselect" args="sel">
+        if ($debug) Debug.write("onselect ",sel,this.refObj,this.doUpdate);
+    	if (this.refObj != null) {
+    		if (this.doUpdate) {
+    			
+    			this.refObj.setSelectedValue(sel.text,sel.value);
+    			
+    			this.setAttribute("visibility","hidden");
+    			this.doUpdate = false;
+    			
+    		}
+    	}
+    </handler>
+    
+    <handler name="onisopen" args="o">
+        if ($debug) Debug.write("on isopen ",o);
+        
+        if (!o) {
+            lz.Timer.addTimer( new LzDelegate( this, "removeItem" ), 200 );
+        }
+    </handler>
+    
+    <!--
+        You can close the combobox without selection, for that purpose we need
+        another way to trigger a close event
+     -->
+    <method name="removeItem" args="o">
+        if (this.visibility == "visible") {
+	        this.setAttribute("visibility","hidden");
+	        this.doUpdate = false;
+        }
+    </method>
+    
+    <labeldTextListItem datapath="countrySet:/item" text="$path{ 'name/text()' }" 
+                value="$path{ 'state_id/text()' }" />
+   
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/dynamicCombobox/dynamicCombobox.lzx b/WebContent/src/base/components/dynamicCombobox/dynamicCombobox.lzx
new file mode 100644
index 0000000..42e41e6
--- /dev/null
+++ b/WebContent/src/base/components/dynamicCombobox/dynamicCombobox.lzx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	
+<countryCombobox name="_countryCombobox" width="200" shownitems="14"
+				 height="20" visibility="hidden" />
+
+<class name="dynamicCombobox" extends="baseformitem" style="componentStyle">
+    
+    <attribute name="isCountryCombobox" value="true" type="boolean" />
+    
+    <event name="onselect" />
+    
+    <handler name="onclick">
+    	<![CDATA[
+    		if (this.isCountryCombobox) {
+    			
+    			canvas._countryCombobox.setAttribute("visibility","visible");
+    			canvas._countryCombobox.bringToFront();
+    			canvas._countryCombobox.setAttribute("x",this.getAttributeRelative("x",canvas));
+    			canvas._countryCombobox.setAttribute("y",this.getAttributeRelative("y",canvas));
+    			canvas._countryCombobox.setAttribute("width",this.width);
+    			canvas._countryCombobox.setAttribute("height",this.height);
+    			
+    			canvas._countryCombobox.refObj = this;
+    			
+    			var item = canvas._countryCombobox.getItem(this.value);
+    			
+    			if (item != null) {
+    				canvas._countryCombobox.selectItem(this.value);
+    			} else {
+    				canvas._countryCombobox.selectItemAt(0);
+    			}
+    			
+    			canvas._countryCombobox.setOpen(true,true);
+    			
+    			canvas._countryCombobox.doUpdate = true;
+    		}
+    	]]>
+    </handler>
+    
+    <!-- to make it backward compatible -->
+    <method name="addAndSelectItem" args="name,id">
+    	this.selectItemByTextValue(name,id);
+    </method>
+    
+    <method name="selectItemByTextValue" args="text,value">
+    	this.setAttribute("text",text);
+    	this.setAttribute("value",value);
+    </method>
+    
+    <method name="setSelectedValue" args="text,value">
+    	this.setAttribute("text",text);
+    	this.setAttribute("value",value);
+    	lz.Focus.setFocus(this);
+    	this.onselect.sendEvent({'text':text,'value':value});
+    </method>
+    
+    <method name="getValue">
+    	return this.value;
+    </method>
+    
+	<view name="lft" resource="lzcombobox_lft_rsc" placement="bkgnd"/>
+	<view name="mid" resource="lzcombobox_mid_rsc" stretches="width" placement="bkgnd"/>
+	<basebutton name="rgt" resource="lzcombobox_rgt_rsc" styleable="true"
+                placement="bkgnd" clickable="false" />
+   
+   	<text x="2" y="2" name="cbtext" text="${ parent.text }"
+   		  width="${ parent.width - 20 }" />
+                    
+    <stableborderlayout axis="x" placement="bkgnd"/>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/dynamicCombobox/library.lzx b/WebContent/src/base/components/dynamicCombobox/library.lzx
new file mode 100644
index 0000000..c4a029c
--- /dev/null
+++ b/WebContent/src/base/components/dynamicCombobox/library.lzx
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+    <include href="dynamicCombobox.lzx" />
+    <include href="countryCombobox.lzx" />
+
+</library>
diff --git a/WebContent/src/base/components/explorer/explorerBox.lzx b/WebContent/src/base/components/explorer/explorerBox.lzx
new file mode 100644
index 0000000..aadc08f
--- /dev/null
+++ b/WebContent/src/base/components/explorer/explorerBox.lzx
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="explorerBox" extends="view" width="250" y="100" visibility="hidden"
+    height="400" bgcolor="$once{ canvas.getThemeColor('styleMenuBarBaseColor') }" 
+	onmousedown="this._startDragState(this)" onmouseup="this._removeDragState(this)" >
+
+	<attribute name="showWindowEffect" value="false" type="boolean" />
+	
+	<attribute name="annimationStartStyle" value="center" type="string" />
+	
+	<attribute name="annimationColor" value="$once{ canvas.getThemeColor('basebgcolorizer') }" type="string" />
+
+	<event name="animationInited" />
+
+    <handler name="oninit">
+    	<![CDATA[
+	    	//if($debug) Debug.write("explorerBox/oninit showWindowEffect? ",canvas.showWindowEffect);
+	    	if (canvas.showWindowEffect=="y" || this.showWindowEffect){
+	    		//if($debug) Debug.write("explorerBox/showWindowEffect == YES");
+	    		if (this.annimationStartStyle == "center") {
+	    			new lz.boxInitEffect(parent,{
+		    					x:this.x+(this.width/2)-50,
+		    					y:this.y+(this.height/2)-10,
+		    					zielx:this.x,
+		    					ziely:this.y,
+		    					bgcolor:annimationColor,
+		    					zielwidth:this.width,
+		    					zielheight:this.height,
+		    					objRef:this
+	    					});
+	    		} else if (this.annimationStartStyle == "mouse"){
+	    			new lz.boxInitEffect(parent,{
+		    					x:parent.getMouse("x"),
+		    					y:parent.getMouse("y"),
+		    					width:2,
+		    					height:2,
+		    					zielx:this.x,
+		    					ziely:this.y,
+		    					bgcolor:annimationColor,
+		    					zielwidth:this.width,
+		    					zielheight:this.height,
+		    					objRef:this
+	    					});
+				} else {
+					if ($debug) Debug.warn("Unkown annimationStartStyle");
+				}
+	    	} else {
+	    		this.sendAnniComplete();
+	    	}
+    	]]>
+    </handler>
+    
+    <method name="sendAnniComplete">
+    	//if($debug) Debug.write("sendAnniComplete");
+    	this.setAttribute('visibility','visible');
+    	this.animationInited.sendEvent(null);
+    	this.setShadow(); 	
+    </method>
+
+    <method name="setShadow" args="bool">
+        this.hasshadow = bool;
+        <![CDATA[
+        if (this.isinited){
+            this.normalMC = this.getDisplayObject();
+            //Debug.write(this.normalMC);
+            ////Debug.write("this.normalMC: ",this.normalMC);
+            ////Debug.write("this: ",this);
+           	this.displacementMap = new flash.filters.DropShadowFilter();
+            this.normalMC.filters = [this.displacementMap];
+        }
+        ]]>              
+    </method>	
+          
+	<!--- The Title of this Box -->
+	<attribute name="title" value="defaulttitle" type="string" />
+	
+	<!--- if this Box should be closeable -->
+	<attribute name="closable" value="false" type="boolean" />
+    
+    <!--- if this Box should be resizeable  -->
+    <attribute name="resizeable" value="false" type="boolean" />
+	
+	<!--- Can this Box be docked to others and 
+			the width/height of parent compoent barrier -->
+	<attribute name="docking" value="false" type="boolean" />
+	
+	<!--- Hard to explain but its clear if you play around 
+		with that. Its the number of minimum pixels before 
+		the "docking" effect will be there -->
+	<attribute name="dockingbarrier" value="15" type="number" />
+	
+	<!--- the Event will be thrown if you close the Box -->
+	<event name="onclose" />
+	
+	<!---@keywords private the list of connected views -->
+	<attribute name="dockinglist" value="null" />
+	
+	<!--- @keywords private temp-older of x-distance to docked-Box  -->
+	<attribute name="tempXdistance" value="0" type="number" />
+
+	<!--- @keywords private temp-older of y-distance to docked-Box  -->
+	<attribute name="tempYdistance" value="0" type="number" />
+	
+	<!--- @keywords private is the Box minimized  -->
+	<attribute name="isopen" value="true" type="boolean" />
+	
+	<!--- @keywords private is the Box minimized  -->
+	<attribute name="open" value="true" type="boolean" />	
+	
+	<!--- @keywords private  -->
+	<attribute name="initheight" value="0" type="number" />
+	
+	<!-- do not allow draging of window -->
+	<attribute name="allowDragging" value="true" type="boolean" />
+	
+	<!--- @keywords private store initial height so toggleopen can reset height  -->
+	<handler name="oninit">
+		this.initheight=this.height;
+		////Debug.write("this.isopen: ",this.isopen);
+		if (!this.open) toggleopen();
+	</handler>
+	
+	<method name="close">
+		if (this.onclose) this.onclose.sendEvent();
+		//this.doOut.doStart();
+		this.doDestroy();
+	</method>
+	
+	<method name="toggleopen">
+		////Debug.write("this.isopen",this.isopen);
+		this.setAttribute('isopen',!this.isopen);
+		if (this.isopen){
+			_calcdockingList();
+			for (var eg in this.dockinglist){
+				if(this.dockinglist[eg].docking){
+					////Debug.write("this.dockinglist[eg]: ",this.dockinglist[eg].title);
+					////Debug.write("open new y",this.y+this.initheight);
+					this.dockinglist[eg].toggleOpenByParent(this.initheight-22);
+					this.dockinglist[eg].setAttribute('y',this.y+this.initheight);
+					
+				}
+			}			
+			this.setAttribute('height',this.initheight);
+		} else {
+			_calcdockingList();
+			for (var eg in this.dockinglist){
+				if(this.dockinglist[eg].docking){
+					////Debug.write("this.dockinglist[eg]: ",this.dockinglist[eg].title);
+					this.dockinglist[eg].toggleOpenByParent(-(this.initheight-22));
+					this.dockinglist[eg].setAttribute('y',this.y+22);
+				}
+			}	
+			this.setAttribute('height',22);		
+		}
+	</method>
+	
+	<method name="toggleOpenByParent" args="changeY">
+		////Debug.write("+++++ toggleOpenByParent +++++ changeY: ",this.title,changeY);
+		var tempList=new Array();
+		<![CDATA[
+		//check for dockable stuff which is connected to this Box
+		for (var eg in this.parent.subviews){
+			//check that you do not calc with yourself
+			if (this.parent.subviews[eg]!=this && this.parent.subviews[eg].docking){
+				// there are 4 cases which have to be proofed to check every possible situation
+				var proof=false;
+				////Debug.write("found some: ",this.parent.subviews[eg].title);
+				//top box-border
+				if  ( ( ((this.y+this.height)-this.parent.subviews[eg].y) < 1 ) && ( ((this.y+this.height)-this.parent.subviews[eg].y) > -1 ) && ( (this.x+this.width) > this.parent.subviews[eg].x )  && ( this.x < (this.parent.subviews[eg].x+this.parent.subviews[eg].width) ) ){
+					proof=true;
+				}
+					
+				if (proof) tempList.push(this.parent.subviews[eg]);
+			}
+		}
+		]]>
+		////Debug.write("tempList.length: ",tempList.length);
+		if (tempList.length!=0){
+			for (var eg in tempList){
+				if(tempList[eg].docking){
+					////Debug.write("toggleOpenByParent 1 [eg],changeY: ",tempList[eg].title,changeY);
+					tempList[eg].toggleOpenByParent(changeY);
+					tempList[eg].setAttribute('y',tempList[eg].y+changeY);
+				}
+			}	
+		}
+		
+	</method>
+	
+	<!--- @keywords private  -->
+	<method name="_removeDragState" args="obj">
+	    if (!this.allowDragging) {
+	       return;
+	    }
+		//It's important to remove the dragger and do docking stuff before you check for connected Boxes
+		dragger.remove();
+		if (obj==this){
+			if (docking) arrangePosition();
+		} else {
+			if (docking) _lookforParentOnly(obj);
+		}
+			
+		//check for connected Boxes
+		for (var eg in this.dockinglist){
+			if(this.dockinglist[eg].docking){
+				this.dockinglist[eg]._removeDragState(this);
+			}
+		}
+
+	</method>
+
+	
+	<!--- @keywords private
+		the arg obj is needed because the dragging can be called by the Box itself
+		or by a Box which is connected to this Box!  -->
+	<method name="_startDragState" args="obj">
+		this.bringToFront();
+		if (!this.allowDragging) {
+           return;
+        }
+		_calcdockingList();
+		for (var eg in this.dockinglist){
+			if(this.dockinglist[eg].docking){
+				this.dockinglist[eg]._startDragState(this);
+			}
+		}
+		//store position cause it wasn't dragged by itself
+		if (obj!=this){
+			storeAdjustmentToParent(obj.x,obj.y);
+		}
+		dragger.apply();
+	</method>
+	
+	<!--- Calc the List of Boxes which will be dragged and setposition if this Box
+		will be dragged,docked or minimized/maximized  -->
+	<method name="_calcdockingList">
+		//Clear list of conencted Boxes
+		this.dockinglist=new Array();
+		<![CDATA[
+		//check for dockable stuff which is connected to this Box
+		for (var eg in this.parent.subviews){
+			//check that you do not calc with yourself
+			if (this.parent.subviews[eg]!=this && this.parent.subviews[eg]["docking"] && this.parent.subviews[eg].docking){
+				// there are 4 cases which have to be proofed to check every possible situation
+				var proof=false;
+
+				//top box-border
+				if  ( ( ((this.y+this.height)-this.parent.subviews[eg].y) < 1 ) && ( ((this.y+this.height)-this.parent.subviews[eg].y) > -1 ) && ( (this.x+this.width) > this.parent.subviews[eg].x )  && ( this.x < (this.parent.subviews[eg].x+this.parent.subviews[eg].width) ) ){
+					proof=true;
+				}
+
+				if (proof) this.dockinglist.push(this.parent.subviews[eg]);
+			}
+		}
+		]]>
+		////Debug.write("this.dockinglist.length:",this.dockinglist.length);
+	</method>
+	
+	<!--- @keywords private  -->
+	<method name="arrangePosition">
+		//do the magic
+		//the idea is: look for all on the view container one level above this one
+		//and look for the width/height and 0/0 and look for "dockable" stuff there
+		var newx=this.x;
+		var newy=this.y;
+	  
+		<![CDATA[
+				
+		for (var eg in this.parent.subviews){
+			//check that you do not calc with yourself
+			if (this.parent.subviews[eg]!=this && this.parent.subviews[eg]["docking"] && this.parent.subviews[eg].docking){
+				// there are 4 cases which have to be proofed to check every possible situation
+				//left box-border
+				if ( ( ((this.x+this.width)-this.parent.subviews[eg].x) < this.dockingbarrier ) && ( ((this.x+this.width)-this.parent.subviews[eg].x) > -this.dockingbarrier ) &&  ( (this.y+this.height) > this.parent.subviews[eg].y ) &&  ( this.y < (this.parent.subviews[eg].y+this.parent.subviews[eg].height) ) ){
+					newx= ( this.parent.subviews[eg].x - this.width );
+				}
+				//right box-border
+				if ( ( ((this.parent.subviews[eg].x+this.parent.subviews[eg].width)-this.x)<this.dockingbarrier ) && ( ((this.parent.subviews[eg].x+this.parent.subviews[eg].width)-this.x)>-this.dockingbarrier ) &&  ( (this.y+this.height) > this.parent.subviews[eg].y ) &&  ( this.y < (this.parent.subviews[eg].y+this.parent.subviews[eg].height) ) ){
+					newx= ( this.parent.subviews[eg].x + this.parent.subviews[eg].width );
+				}
+				//top box-border
+				if  ( ( ((this.y+this.height)-this.parent.subviews[eg].y) < this.dockingbarrier ) && ( ((this.y+this.height)-this.parent.subviews[eg].y) > -this.dockingbarrier ) && ( (this.x+this.width) > this.parent.subviews[eg].x )  && ( this.x < (this.parent.subviews[eg].x+this.parent.subviews[eg].width) ) ){
+					newy = this.parent.subviews[eg].y-this.height;
+				}
+				//bottom box-border
+				if ( ( ((this.parent.subviews[eg].y+this.parent.subviews[eg].height)-this.y) < this.dockingbarrier ) && ( ((this.parent.subviews[eg].y+this.parent.subviews[eg].height)-this.y) > -this.dockingbarrier ) && ( (this.x+this.width) > this.parent.subviews[eg].x )  && ( this.x < (this.parent.subviews[eg].x+this.parent.subviews[eg].width) ) ){
+					newy = this.parent.subviews[eg].y+this.parent.subviews[eg].height;
+				}
+			}
+		}
+		
+		//Check for Borders
+		//should be done _after_ checking for other dockable stuff so it gets 
+		//priority to dock against the border of parent view
+		if (this.x<this.dockingbarrier){
+			newx=0;
+		}
+		if (this.y<this.dockingbarrier){
+			newy=0;
+		}
+		if ( (this.parent.width-(this.x+this.width))<this.dockingbarrier){
+			newx=this.parent.width-this.width;
+		}
+		if ( (this.parent.height-(this.y+this.height))<this.dockingbarrier){
+			newy=this.parent.height-this.height;
+		}
+		
+		//set position
+		this.setAttribute('x',newx);
+		this.setAttribute('y',newy);
+		]]>
+	</method>
+	
+	<method name="storeAdjustmentToParent" args="objX,objY">
+		this.tempXdistance=objX-this.x;
+		this.tempYdistance=objY-this.y;
+	</method>
+	
+	<!--- @keywords private 
+		this method is needed because if the dragging end and
+		it was not dragged _itself_ it was draged just because a connected
+		dockable Box was dragged than it could be that the connected
+		Box was forced to dock against something different onmouseup
+		so you have to rearrange the old "adjustment"	-->
+	<method name="_lookforParentOnly" args="obj">
+		<![CDATA[		
+		var newx=obj.x-tempXdistance;
+		var newy=obj.y-tempYdistance;
+		
+		this.setAttribute('x',newx);
+		this.setAttribute('y',newy);
+		]]>
+	</method>
+	
+	<dragstate name="dragger" />
+    
+    <animator attribute="y" to="20" duration="1000" start="false" />
+        
+    <animator name="doOut" attribute="y" to="-500" duration="1000" start="false" onstop="parent.doDestroy()" />    
+    
+    <method name="doDestroy">
+        this.destroy();
+    </method>
+	
+	<view width="${ this.parent.width-2 }" height="${ this.parent.height-2 }" 
+		  x="1" y="1" bgcolor="$once{ canvas.getThemeColor('mainBackgroundColor') }" />
+	<view x="1" y="1" width="${ this.parent.width-2 }" height="20" >
+	
+		<gradientview x="0" width="${ this.parent.width }" height="20"
+				colorFrom="$once{ canvas.getThemeColor('baseMousecolorizer') }"
+				colorTo="$once{ canvas.getThemeColor('styleMenuBarBaseColor') }" >
+		</gradientview>
+		
+        <text fontsize="10" height="17" x="6" y="1" text="${ this.parent.parent.title }" 
+			fgcolor="0xFFFFFF" resize="true" fontstyle="bold" />
+			
+		<view visible="${ this.parent.parent.closable }" x="${ this.parent.parent.width-20 }" 
+			y="2" resource="btn_presenter_close"
+                onmouseover="this.setAttribute('frame',2)"
+                onmouseout="this.setAttribute('frame',1)"
+                onmousedown="this.setAttribute('frame',3)"
+                onmouseup="this.setAttribute('frame',1)" >
+			<handler name="onclick">
+				this.parent.parent.close();
+			</handler>									
+		</view>
+	</view>
+    <handler name="onaddsubview" args="v">
+		////Debug.write("onaddsubview",v);
+		if (v.parent.subviews.length>2) this._resizeview.bringToFront();
+    </handler>
+    <view visible="${ this.parent.resizeable }" name="_resizeview" 
+    	  x="${ this.parent.width - 17 }" y="${ this.parent.height - 17 }" 
+        resource="explorer_resize_rsc" cursor="explorer_resizemouse_rsc" 
+        onmousedown="this.parent.rs.apply()"
+        onmouseup="this.parent.rs.remove()" >
+    	<handler name="oninit">
+    		//if ($debug) Debug.write("setTint");
+    		//TODO: Fix this, does not work at the moment
+    		//http://code.google.com/p/openmeetings/issues/detail?id=470
+    		this.setColor(canvas.getThemeColor('baseMousecolorizer'));
+    	</handler>  	
+    </view>
+    <resizestate name="rs"/>
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/explorer/labelexplorerBox.lzx b/WebContent/src/base/components/explorer/labelexplorerBox.lzx
new file mode 100644
index 0000000..66a170c
--- /dev/null
+++ b/WebContent/src/base/components/explorer/labelexplorerBox.lzx
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="labelExplorerBox" extends="explorerBox" >
+
+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+	<method name="setLabelId" args="_labelid" >
+		this.labelid = _labelid;
+		this.title=canvas.getLabelName(this.labelid);
+	</method>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/explorer/library.lzx b/WebContent/src/base/components/explorer/library.lzx
new file mode 100644
index 0000000..d53d994
--- /dev/null
+++ b/WebContent/src/base/components/explorer/library.lzx
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<include href="incubator/gradientview.lzx" /> 
+
+	<include href="resources/" />
+	
+	<include href="explorerBox.lzx" />
+	<include href="labelexplorerBox.lzx" />
+
+    
+</library>
diff --git a/WebContent/src/base/components/explorer/resources/explorbar_maximize_dn.png b/WebContent/src/base/components/explorer/resources/explorbar_maximize_dn.png
new file mode 100644
index 0000000..e5ae343
--- /dev/null
+++ b/WebContent/src/base/components/explorer/resources/explorbar_maximize_dn.png
Binary files differ
diff --git a/WebContent/src/base/components/explorer/resources/explorbar_maximize_mo.png b/WebContent/src/base/components/explorer/resources/explorbar_maximize_mo.png
new file mode 100644
index 0000000..093a0b0
--- /dev/null
+++ b/WebContent/src/base/components/explorer/resources/explorbar_maximize_mo.png
Binary files differ
diff --git a/WebContent/src/base/components/explorer/resources/explorbar_maximize_no.png b/WebContent/src/base/components/explorer/resources/explorbar_maximize_no.png
new file mode 100644
index 0000000..fca6ec8
--- /dev/null
+++ b/WebContent/src/base/components/explorer/resources/explorbar_maximize_no.png
Binary files differ
diff --git a/WebContent/src/base/components/explorer/resources/explorbar_minimize_dn.png b/WebContent/src/base/components/explorer/resources/explorbar_minimize_dn.png
new file mode 100644
index 0000000..e05de83
--- /dev/null
+++ b/WebContent/src/base/components/explorer/resources/explorbar_minimize_dn.png
Binary files differ
diff --git a/WebContent/src/base/components/explorer/resources/explorbar_minimize_mo.png b/WebContent/src/base/components/explorer/resources/explorbar_minimize_mo.png
new file mode 100644
index 0000000..faba70d
--- /dev/null
+++ b/WebContent/src/base/components/explorer/resources/explorbar_minimize_mo.png
Binary files differ
diff --git a/WebContent/src/base/components/explorer/resources/explorbar_minimize_no.png b/WebContent/src/base/components/explorer/resources/explorbar_minimize_no.png
new file mode 100644
index 0000000..b4dafa3
--- /dev/null
+++ b/WebContent/src/base/components/explorer/resources/explorbar_minimize_no.png
Binary files differ
diff --git a/WebContent/src/base/components/explorer/resources/explorerbar.png b/WebContent/src/base/components/explorer/resources/explorerbar.png
new file mode 100644
index 0000000..4cb2d59
--- /dev/null
+++ b/WebContent/src/base/components/explorer/resources/explorerbar.png
Binary files differ
diff --git a/WebContent/src/base/components/explorer/resources/feather-1.png b/WebContent/src/base/components/explorer/resources/feather-1.png
new file mode 100644
index 0000000..d8f5175
--- /dev/null
+++ b/WebContent/src/base/components/explorer/resources/feather-1.png
Binary files differ
diff --git a/WebContent/src/base/components/explorer/resources/feather-16x16.png b/WebContent/src/base/components/explorer/resources/feather-16x16.png
new file mode 100644
index 0000000..0db0d36
--- /dev/null
+++ b/WebContent/src/base/components/explorer/resources/feather-16x16.png
Binary files differ
diff --git a/WebContent/src/base/components/explorer/resources/library.lzx b/WebContent/src/base/components/explorer/resources/library.lzx
new file mode 100644
index 0000000..8d3051d
--- /dev/null
+++ b/WebContent/src/base/components/explorer/resources/library.lzx
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<resource src="explorerbar.png" name="explorer_thumb_rsc" />
+
+<resource name="explorer_thumb_rsc" src="feather-16x16.png"/>
+
+
+<resource name="explorer_button_min_rsc" >
+	<frame src="explorbar_minimize_no.png" />
+	<frame src="explorbar_minimize_mo.png" />
+	<frame src="explorbar_minimize_dn.png" />
+</resource>
+
+<resource name="explorer_button_max_rsc" >
+	<frame src="explorbar_maximize_no.png" />
+	<frame src="explorbar_maximize_mo.png" />
+	<frame src="explorbar_maximize_dn.png" />
+</resource>
+
+<resource name="explorer_resize_rsc" src="resizer.swf" />
+
+<resource name="explorer_resizemouse_rsc" src="resizemouse.png" />
+
+
+
+</library>
diff --git a/WebContent/src/base/components/explorer/resources/resizemouse.png b/WebContent/src/base/components/explorer/resources/resizemouse.png
new file mode 100644
index 0000000..be3164f
--- /dev/null
+++ b/WebContent/src/base/components/explorer/resources/resizemouse.png
Binary files differ
diff --git a/WebContent/src/base/components/explorer/resources/resizer.fla b/WebContent/src/base/components/explorer/resources/resizer.fla
new file mode 100644
index 0000000..07de957
--- /dev/null
+++ b/WebContent/src/base/components/explorer/resources/resizer.fla
Binary files differ
diff --git a/WebContent/src/base/components/explorer/resources/resizer.png b/WebContent/src/base/components/explorer/resources/resizer.png
new file mode 100644
index 0000000..2c951fe
--- /dev/null
+++ b/WebContent/src/base/components/explorer/resources/resizer.png
Binary files differ
diff --git a/WebContent/src/base/components/explorer/resources/resizer.swf b/WebContent/src/base/components/explorer/resources/resizer.swf
new file mode 100644
index 0000000..2e5d0da
--- /dev/null
+++ b/WebContent/src/base/components/explorer/resources/resizer.swf
Binary files differ
diff --git a/WebContent/src/base/components/iconView.lzx b/WebContent/src/base/components/iconView.lzx
new file mode 100644
index 0000000..494c5f8
--- /dev/null
+++ b/WebContent/src/base/components/iconView.lzx
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="iconView" extends="view">
+    <attribute name="enabled" value="true" type="boolean" />
+    <handler name="onenabled" args="ena">
+        //Debug.write("onenabled: ",ena);
+        ( this.enabled ) ? this.setAttribute('frame',1) : this.setAttribute('frame',4);
+    </handler>
+    <handler name="onmouseover">
+        if (this.enabled) this.setAttribute('frame',2);
+    </handler>
+    <handler name="onmouseout">
+        if (this.enabled) this.setAttribute('frame',1);
+    </handler>
+    <handler name="onmousedown">
+        if (this.enabled) this.setAttribute('frame',3);
+    </handler>
+    <handler name="onmouseup">
+        if (this.enabled) this.setAttribute('frame',1);
+    </handler>            
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/labelRadioButton.lzx b/WebContent/src/base/components/labelRadioButton.lzx
new file mode 100644
index 0000000..e11d718
--- /dev/null
+++ b/WebContent/src/base/components/labelRadioButton.lzx
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="labelRadioButton" extends="radiobutton" style="componentStyle">
+
+	<attribute name="labelid" value="0" type="number" setter="setLabelId(labelid)" />
+	<method name="setLabelId" args="_labelid" >
+		this.labelid = _labelid;
+		this.setAttribute('text',canvas.getLabelName(this.labelid));
+	</method>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/labeltabelement.lzx b/WebContent/src/base/components/labeltabelement.lzx
new file mode 100644
index 0000000..bab29ad
--- /dev/null
+++ b/WebContent/src/base/components/labeltabelement.lzx
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="labeltabelement" extends="tabelement" style="componentStyle">
+
+	<attribute name="labelid" value="0" type="number" setter="setLabelId(labelid)" />
+	<method name="setLabelId" args="_labelid" >
+		this.labelid = _labelid;
+		this.setAttribute('text',canvas.getLabelName(this.labelid));
+	</method>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/library.lzx b/WebContent/src/base/components/library.lzx
new file mode 100644
index 0000000..1c566fc
--- /dev/null
+++ b/WebContent/src/base/components/library.lzx
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	
+	<include href="miniIcons.lzx" />
+    <include href="iconView.lzx" />
+    <include href="miniIconsNew.lzx" />
+    <include href="resetCombobox.lzx" />
+    <include href="updatecheckbox.lzx" />
+    <include href="tableCombobox.lzx" />
+    <include href="tableListItem.lzx" />
+    <include href="labelRadioButton.lzx" />
+    <include href="labeltabelement.lzx" />
+    
+    <include href="scrollbars/" />
+    <include href="text/" />
+    <include href="omcharts/" />
+    <include href="button/" />
+    <include href="explorer/" />    
+    <include href="panel/" />  
+    <include href="turnoverlist/" />
+    <include href="turnoverlistpaged/" />
+    <include href="calendar/" />
+    <include href="simplevaluelist/" />
+    <include href="upload/" /> 
+    <include href="validbox/" />
+    <include href="presenter/" />
+    <include href="lps/" />
+    <include href="conferencebox/" />
+    <include href="dynamicCombobox/" />
+
+</library>
diff --git a/WebContent/src/base/components/lps/basePropertySelector.lzx b/WebContent/src/base/components/lps/basePropertySelector.lzx
new file mode 100644
index 0000000..2d9a099
--- /dev/null
+++ b/WebContent/src/base/components/lps/basePropertySelector.lzx
@@ -0,0 +1,48 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="hidePropertyView" extends="view"
+	   width="$once{ parent.width }" height="$once{ parent.height }"
+	   opacity="0.7" bgcolor="0xFFFFFF" />
+
+<class name="basePropertySelector" extends="view">
+	
+	<!--- position of the SliderWin or ColorPicker -->
+	<attribute name="boxPosition" value="down" type="string" />
+	
+	<attribute name="isEnabled" value="true" type="boolean" />
+	<attribute name="enabledView" value="null" />
+	
+	<method name="setEnabled" args="b">
+		this.setAttribute('isEnabled',b);
+		if (this.enabledView != null) {
+			this.enabledView.destroy();
+			this.enabledView = null;
+		}
+		if (!b) {
+			this.enabledView = new lz.hidePropertyView(this);
+		} 
+	</method>
+    
+    
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/lps/changeWidthLetterSlider.lzx b/WebContent/src/base/components/lps/changeWidthLetterSlider.lzx
new file mode 100644
index 0000000..646de89
--- /dev/null
+++ b/WebContent/src/base/components/lps/changeWidthLetterSlider.lzx
@@ -0,0 +1,146 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>  
+
+<class name="changeWidthLetterSlider" extends="basePropertySelector" bgcolor="white" width="60" height="24">
+
+    <attribute name="numberAlign" value="right" type="string"/>
+    <attribute name="minimum" type="number" value="4" />
+    <attribute name="maximum" type="number" value="100" />
+    <attribute name="step" value="1" type="number"/>
+    <attribute name="initialNumberInit" value="1" type="number"/>
+    <attribute name="initialNumber" value="12" type="number"/>
+    
+    <event name="onplus" />
+    <event name="onminus" />
+    
+    <handler name="oninit">
+        this.initialNumberInit=initialNumber;
+    </handler>
+    
+    <method name="setSliderValue" args="v">
+    	this.initialNumber = v;
+    	this.numericValue.setAttribute('text',this.initialNumber);
+    	this.setEnabled(true);
+    </method>
+    
+    <method name="getValue">
+        return this.initialNumber;
+    </method>
+
+
+    <edittext name="numericValue" width="34" height="24" text="$once{ parent.initialNumber }" >
+        <attribute name="tempValue" value="$once{ parent.initialNumber }" type="number" />
+        <handler name="onfocus">
+            this.tempValue = Number(this.getText());
+        </handler>            
+        <handler name="onblur">
+            <![CDATA[
+                var t = parseInt(this.getText());
+                if (isNaN(t) || t > this.parent.maximum || t < this.parent.minimum){
+                    t = this.tempValue;
+                    this.setAttribute('text',t);
+                    lz.Focus.setFocus(this);
+                } else {
+                    this.tempValue = t;
+                    parent.setAttribute('initialNumber',t);
+                }
+            ]]>
+        </handler>
+    </edittext>
+
+
+    <button name="arrowView" x="36" width="24" y="1" height="23" >
+        <view name="arrow_down_slider" resource="arrow_down_slider_rsc" 
+            x="4" y="3" />
+            <handler name="onclick">
+                var pick = new lz.changeWidthLetterSliderWin(canvas,{initialNumber:parent.numericValue.tempValue,btnRef:this.parent,x:(parent.getAttributeRelative('x',canvas)),y:(parent.getAttributeRelative('y',canvas))});
+                lz.ModeManager.makeModal( pick );
+            </handler>
+        <labelTooltip labelid="431" />
+    </button>
+    
+</class>
+    
+<class name="closableViewLetter" extends="view">
+    <method name="close">
+        lz.ModeManager.release(this);
+        this.destroy();
+    </method>
+</class>    
+    
+<class name="changeWidthLetterSliderWin" extends="closableViewLetter" bgcolor="white" 
+    clickable="true" width="58" height="140" >
+    
+    <attribute name="btnRef" value="null" />
+    <attribute name="initialNumber" value="12" type="number"/>
+    
+    <!--- @keywords private -->
+    <method name="passModeEvent" args="eventStr,view" > 
+        <![CDATA[
+            if ( eventStr == "onmousedown"  ){
+                if ( view != null ) {
+                   if ( !view.childOf(this) ) {
+                        this.close();
+                   }
+                } else {
+                    this.close();
+                }
+            }
+            if (view && view.childOf(this)) {
+                if (view[ eventStr ]) {
+                    view[ eventStr ].sendEvent( view );
+                }
+                return false;
+            }
+            return true;
+        ]]> 
+    </method>
+
+    <view bgcolor="$once{ canvas.getThemeColor('baseMousecolorizer') }" width="58" height="138" x="1" y="1" />
+    
+    <vslider name="_slider" height="120" y="10" x="10" minvalue="4" maxvalue="100"
+        initvalue="$once{ parent.initialNumber }" showrange="false" >
+        <handler name="onvalue" args="v">
+            parent.btnRef.numericValue.tempValue = Number(v);
+            parent.btnRef.numericValue.setAttribute('text',v);
+            parent.btnRef.setAttribute('initialNumber',v);
+        </handler>
+        <handler name="onvalueChosenFinal">
+            parent.close();
+        </handler>
+    </vslider>
+    
+    <view name="_close" x="$once{ parent.width-this.width-2 }" y="2"
+        resource="btn_presenter_close"
+        onmouseover="this.setAttribute('frame',2)"
+        onmouseout="this.setAttribute('frame',1)"
+        onmousedown="this.setAttribute('frame',3)"
+        onmouseup="this.setAttribute('frame',1)" >
+        <handler name="onclick">
+            this.setAttribute('frame',2);
+            this.parent.close();
+        </handler>
+        <labelTooltip labelid="430" />
+    </view>     
+        
+</class>    
+
+</library>
diff --git a/WebContent/src/base/components/lps/changeWidthSlider.lzx b/WebContent/src/base/components/lps/changeWidthSlider.lzx
new file mode 100644
index 0000000..dfa746a
--- /dev/null
+++ b/WebContent/src/base/components/lps/changeWidthSlider.lzx
@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>  
+
+<class name="changeWidthSlider" extends="basePropertySelector" bgcolor="0xFFFFFF" width="60" height="24">
+
+    <attribute name="numberAlign" value="right" type="string"/>
+    <attribute name="minimum" type="number" value="1" />
+    <attribute name="maximum" type="number" value="100" />
+    <attribute name="step" value="1" type="number"/>
+    <attribute name="initialNumberInit" value="1" type="number"/>
+    <attribute name="initialNumber" value="3" type="number"/>
+    
+    <attribute name="boxPosition" value="down" type="string"/>
+    
+    <attribute name="labelid" value="429" type="number"/>
+    
+    <event name="onplus" />
+    <event name="onminus" />
+    
+    <handler name="oninit">
+        this.initialNumberInit=initialNumber;
+    </handler>
+    
+    <method name="getValue">
+        return this.initialNumber;
+    </method>
+    
+    <method name="setSliderValue" args="v">
+    	this.initialNumber = v;
+    	this.numericValue.setAttribute('tempValue',this.initialNumber);
+    	this.numericValue.setAttribute('text',this.initialNumber);
+    	if ($debug) Debug.write("setSliderValue ",v);
+    	this.setEnabled(true);
+    </method>
+
+    <edittext name="numericValue" width="34" height="24" text="$once{ parent.initialNumber }" >
+        <attribute name="tempValue" value="$once{ parent.initialNumber }" type="number" />
+        <handler name="onfocus">
+            this.tempValue = Number(this.getText());
+        </handler>            
+        <handler name="onblur">
+            <![CDATA[
+                var t = parseInt(this.getText());
+                if (isNaN(t) || t > this.parent.maximum || t < this.parent.minimum){
+                    t = this.tempValue;
+                    this.setAttribute('text',t);
+                    lz.Focus.setFocus(this);
+                } else {
+                    this.tempValue = t;
+                    parent.setAttribute('initialNumber',t);
+                }
+            ]]>
+        </handler>
+    </edittext>
+
+
+    <button name="arrowView" x="36" width="24" y="1" height="23" >
+        <view name="arrow_down_slider" resource="arrow_down_slider_rsc" 
+            x="4" y="3" />
+            <handler name="onclick">
+            	if (this.parent.boxPosition=="up"){
+            		var pick = new lz.changeWidthSliderWin(canvas,{
+					            			initialNumber:parent.numericValue.tempValue,
+					            			btnRef:this.parent,x:(parent.getAttributeRelative('x',canvas)),
+					            			maxvalue:parent.maximum,
+					            			y:(parent.getAttributeRelative('y',canvas)-140+parent.height)
+				            			});
+            	} else {
+            		var pick = new lz.changeWidthSliderWin(canvas,{
+					            			initialNumber:parent.numericValue.tempValue,
+					            			btnRef:this.parent,x:(parent.getAttributeRelative('x',canvas)),
+					            			maxvalue:parent.maximum,
+					            			y:(parent.getAttributeRelative('y',canvas))
+				            			});
+            	}
+                lz.ModeManager.makeModal( pick );
+            </handler>
+        <labelTooltip labelid="$once{ parent.parent.labelid }" />
+    </button>
+    
+</class>
+    
+<class name="closableView" extends="view">
+    <method name="close">
+        lz.ModeManager.release(this);
+        this.destroy();
+    </method>
+</class>    
+    
+<class name="changeWidthSliderWin" extends="closableView" bgcolor="white" 
+    clickable="true" width="58" height="140" >
+    
+    <attribute name="btnRef" value="null" />
+    <attribute name="initialNumber" value="3" type="number"/>
+    <attribute name="maxvalue" value="100" type="number" />
+    
+    <!--- @keywords private -->
+    <method name="passModeEvent" args="eventStr,view" > 
+        <![CDATA[
+            if ( eventStr == "onmousedown"  ){
+                if ( view != null ) {
+                   if ( !view.childOf(this) ) {
+                        this.close();
+                   }
+                } else {
+                    this.close();
+                }
+            }
+            if (view && view.childOf(this)) {
+                if (view[ eventStr ]) {
+                    view[ eventStr ].sendEvent( view );
+                }
+                return false;
+            }
+            return true;
+        ]]> 
+    </method>
+
+    <view bgcolor="$once{ canvas.getThemeColor('baseMousecolorizer') }" width="58" height="138" x="1" y="1" />
+    
+    <vslider name="_slider" height="120" y="10" x="10" minvalue="1" maxvalue="$once{ parent.maxvalue }" 
+        initvalue="$once{ parent.initialNumber }" showrange="false" showvalue="true">
+        <handler name="onvalue" args="v">
+            //if ($debug) Debug.write("onvalue",v);
+            parent.btnRef.numericValue.tempValue = Number(v);
+            parent.btnRef.numericValue.setAttribute('text',v);
+            parent.btnRef.setAttribute('initialNumber',v);
+        </handler>
+        <handler name="onvalueChosenFinal">
+            parent.close();
+        </handler>        
+    </vslider>
+    
+    <view name="_close" x="$once{ parent.width-this.width-2 }" y="2"
+        resource="btn_presenter_close"
+        onmouseover="this.setAttribute('frame',2)"
+        onmouseout="this.setAttribute('frame',1)"
+        onmousedown="this.setAttribute('frame',3)"
+        onmouseup="this.setAttribute('frame',1)" >
+        <handler name="onclick">
+            this.setAttribute('frame',2);
+            this.parent.close();
+        </handler>
+        <labelTooltip labelid="430" />
+    </view>     
+        
+</class>    
+
+</library>
diff --git a/WebContent/src/base/components/lps/colorpicker.lzx b/WebContent/src/base/components/lps/colorpicker.lzx
new file mode 100644
index 0000000..df719d4
--- /dev/null
+++ b/WebContent/src/base/components/lps/colorpicker.lzx
@@ -0,0 +1,333 @@
+<!---
+      changed by swagner
+  -->
+<library>
+    
+    
+<class name="colorSlider" extends="slider" x="4"
+    minvalue="1" maxvalue="240" 
+    trackheight="4" thumbheight="12"
+    showrange="false" showvalue="true">
+    <attribute name="doSendValueEvent" value="false" type="boolean" />
+    <handler name="onvalue">
+        if (this.doSendValueEvent) { 
+            classroot.updateColor();
+        } else {
+            this.doSendValueEvent=true;
+        }
+    </handler>
+</class>    
+
+<class name="colorPot" width="13" height="13" 
+    onmouseout="">
+    <handler name="onmouseover">
+        var t = _root.createEmptyMovieClip('hans2',20);
+        var myColorTZ = new Color(t);
+        myColorTZ.setRGB(this.mycolor);        
+        this.setAttribute('mycolorString',this.parent.parent.parent.numberToRGB(myColorTZ));
+    </handler>
+    <attribute name="mycolor" type="color" value="0x000000"/>
+    <attribute name="mycolorString" type="string" value="0x000000"/>
+    <attribute name="listener" type="expression"/>
+    <handler name="onclick">
+        listener.changeColor(this.mycolor);
+        listener.close();
+    </handler>
+    <handler name="ondblclick">
+        listener.changeColor(this.mycolor);
+        listener.close();
+    </handler>    
+    <labelTooltip text="${ parent.mycolorString }" />
+    <view bgcolor="#444444" width="13" height="13" >
+        <view bgcolor="${classroot.mycolor}"  x="1" y="1" width="11" height="11"/>
+    </view>
+</class>
+  
+<class name="colorRow" layout="axis:x;spacing:-1" />
+    
+<class name="colorpicker" extends="guiPresenter" labelid="425" isdragable="false" 
+    minimizable="false" maximizable="false" fullToolBar="true" 
+    resizeable="false" width="250" height="154" >
+    
+    <attribute name="btnRef" value="null" />
+      
+    <attribute name="selectedColor" type="number" value="0x00aeef"/>
+    
+    <handler name="onclose">
+    	lz.ModeManager.release(this);
+        this.btnRef.closedColorPicker();
+        this.btnRef.setAttribute('selectedColor', this.selectedColor);
+        this.btnRef.setTransformedStringColor();        
+    </handler>
+    
+    <!--- @keywords private -->
+    <method name="passModeEvent" args="eventStr,view" > 
+        <![CDATA[
+           if ( eventStr == "onmousedown"  ){
+               if ( view != null ) {
+                  if ( !view.childOf(this) ) {
+                       this.close();
+                  }
+               } else {
+                   this.close();
+               }
+           }
+           if (view && view.childOf(this)) {
+               if (view[ eventStr ]) {
+                   view[ eventStr ].sendEvent( view );
+               }
+               return false;
+           }
+          return true;
+       ]]> 
+    </method>  
+    
+    <method name="doDefaultColor" args="thisC">
+        <![CDATA[            
+            var c = thisC.getRGB();
+            var r = (c >> 16) & 0xff;
+            var g = (c >> 8) &  0xff;
+            var b = c & 0xff;
+            ////Debug.write("r g b: ",r,g,b);
+            var hsl = RGBtoHLS(r,g,b);
+            ////Debug.write("doDefaultColor ",hsl);
+            this.updateSlidersByValue(hsl);
+            var rgb = HLStoRGB(s_hue.value, s_bri.value, s_sat.value);
+            var c = rgb.r << 16 | rgb.g << 8 | rgb.b
+            this.setAttribute('selectedColor', c);
+        ]]>    
+    </method>  
+    
+    <method name="updateColor" >
+        <![CDATA[
+            ////Debug.write("updateColor ");
+            var rgb = HLStoRGB(s_hue.value, s_bri.value, s_sat.value);
+            var c = rgb.r << 16 | rgb.g << 8 | rgb.b
+            this.setAttribute('selectedColor', c);
+
+        ]]>
+    </method>
+    
+    <method name="changeColor" args="c">
+        <![CDATA[
+            ////Debug.write("changeColor ");
+            this.setAttribute('selectedColor', c);
+            var r = (c >> 16) & 0xff;
+            var g = (c >> 8) &  0xff;
+            var b = c & 0xff;
+            var hsl = RGBtoHLS(r,g,b);
+            this.updateSlidersByValue(hsl);
+        ]]>
+    </method>
+    
+    <method name="updateSlidersByValue" args="hsl">
+        s_hue.doSendValueEvent=false;
+        s_hue.setValue(hsl.h);
+        s_bri.doSendValueEvent=false;
+        s_bri.setValue(hsl.l);
+        s_sat.doSendValueEvent=false;
+        s_sat.setValue(hsl.s);        
+    </method>
+    
+    <method name="numberToRGB" args="thisC">
+        <![CDATA[            
+            var c = thisC.getRGB();
+            var r = (c >> 16) & 0xff;
+            var g = (c >> 8) &  0xff;
+            var b = c & 0xff;
+            ////Debug.write("r g b: ",r,g,b);
+            
+            HEX_R = r.toString(16).toUpperCase();
+            HEX_G = g.toString(16).toUpperCase();
+            HEX_B = b.toString(16).toUpperCase();
+            
+            if (HEX_R.length < 2) {
+                HEX_R = "0"+HEX_R;
+            }
+            if (HEX_G.length < 2) {
+                HEX_G = "0"+HEX_G;
+            }
+            if (HEX_B.length < 2) {
+                HEX_B = "0"+HEX_B;
+            }
+            var hex = "0x"+HEX_R + HEX_G + HEX_B;
+
+            return hex;
+        ]]>
+    </method>
+    
+    <method name="RGBtoHLS" args="r,g,b">
+        <![CDATA[
+            var h,l,s;
+            var max = (Math.max(Math.max(r, g), b))/255;
+            var min = (Math.min(Math.min(r, g), b))/255;
+            var delta = max-min;
+            l = (max+min)/2;
+            s = (max == min) ? 0 : ((l <= 0.5) ? delta/l/2 : delta/(2-l*2));
+            if(r/255 == max) h = (g-b)/delta/255;
+            else if(g/255 == max) h = 2+(b-r)/delta/255;
+            else if(b/255 == max) h = 4+(r-g)/delta/255;
+            h *= 40;
+            if(h < 0) h += 240;
+            h = Math.round(h);
+            return {h:((isNaN(h)) ? 0 : h), l:Math.round(l*240), s:Math.round(s*240)};
+        ]]>
+    </method>
+    
+    <method name="HLStoRGB" args="h,l,s">
+        <![CDATA[
+            var r,g,b;
+            if(s == 0) {
+                r = g = b = Math.round(l/240*255);
+            } else {
+                h /= 240; l /= 240; s /= 240;
+                var temp4,temp3;
+                var temp2 = (l < 0.5) ? l*(s+1) : l+s-l*s;
+                var temp1 = l*2 - temp2;
+                for(var i=0; i<3; i++) {
+                    switch(i) {
+                        case 0: temp3 = h+1/3; break;
+                        case 1: temp3 = h; break;
+                        case 2: temp3 = h-1/3; break;
+                    }
+                    if(temp3 < 0) temp3++;
+                    else if(temp3 > 1) temp3--;
+                    if(temp3*6 < 1) temp4 = temp1+(temp2-temp1)*6*temp3;
+                    else if(temp3*2 < 1) temp4 = temp2;
+                    else if(temp3*3 < 2) temp4 = temp1+(temp2-temp1)*((2/3)-temp3)*6;
+                    else temp4 = temp1;
+                    switch(i) {
+                        case 0: r = Math.round(temp4*255); break;
+                        case 1: g = Math.round(temp4*255); break;
+                        case 2: b = Math.round(temp4*255); break;
+                    }
+                }
+            }
+            return {r:r, g:g, b:b};
+        ]]>
+    </method>
+    
+    
+    <text fontsize="8" x="$once{classroot.s_hue.width + classroot.s_hue.x}"
+          y="$once{classroot.s_hue.y - 4}" text="HUE" width="26"/>
+      
+    <colorSlider name="s_hue" y="102" />
+    
+    <text fontsize="8" x="$once{classroot.s_bri.width + classroot.s_bri.x}"
+          y="$once{classroot.s_bri.y - 4}" text="BRI" />
+      
+    <colorSlider name="s_bri" y="120" />
+    
+    <text fontsize="8" x="$once{classroot.s_sat.width + classroot.s_sat.x}"
+          y="$once{classroot.s_sat.y - 4}" text="SAT" />
+    
+    <colorSlider name="s_sat" y="138" />  
+    
+    
+    <!-- current color -->
+    <view name="c2" bgcolor="black" width="30" height="66" y="24" x="206">
+        <view name="current" x="1" y="1" bgcolor="${classroot.selectedColor}" 
+            width="$once{parent.width -2}" height="$once{parent.height -2}" />
+    </view>
+
+    <!-- default colors -->
+    <view x="4" y="26" layout="axis:y;spacing:-1" >
+
+        <colorRow>
+            <colorPot listener="$once{classroot}" mycolor="#ff0000" mycolorString="0xFF0000" />
+            <colorPot listener="$once{classroot}" mycolor="#ffff00" mycolorString="0xFFFF00" />
+            <colorPot listener="$once{classroot}" mycolor="#00ff00" mycolorString="0x00FF00" />
+            <colorPot listener="$once{classroot}" mycolor="#00ffff" mycolorString="0x00FFFF" />
+            <colorPot listener="$once{classroot}" mycolor="#0000ff" mycolorString="0x0000FF" />
+            <colorPot listener="$once{classroot}" mycolor="#ff00ff" mycolorString="0xFF00Ff" />
+            <colorPot listener="$once{classroot}" mycolor="#ffffff" mycolorString="0xFFFFFF" />
+            <colorPot listener="$once{classroot}" mycolor="#ebebeb" mycolorString="0xEBEBEB" />
+            <colorPot listener="$once{classroot}" mycolor="#e1e1e1" mycolorString="0xE1E1E1" />
+            <colorPot listener="$once{classroot}" mycolor="#d7d7d7" mycolorString="0xD7D7D7" />
+            <colorPot listener="$once{classroot}" mycolor="#cccccc" mycolorString="0xCCCCCC" />
+            <colorPot listener="$once{classroot}" mycolor="#c2c2c2" mycolorString="0xC2C2C2" />
+            <colorPot listener="$once{classroot}" mycolor="#b7b7b7" mycolorString="0xB7B7B7" />
+            <colorPot listener="$once{classroot}" mycolor="#acacac" mycolorString="0xACACAC" />
+            <colorPot listener="$once{classroot}" mycolor="#a0a0a0" mycolorString="0xA0A0A0" />
+            <colorPot listener="$once{classroot}" mycolor="#959595" mycolorString="0x959595" />
+        </colorRow>
+        <colorRow>
+            <colorPot listener="$once{classroot}" mycolor="#ee1d24" mycolorString="0xEE1D24" />
+            <colorPot listener="$once{classroot}" mycolor="#fff100" mycolorString="0xFFF100" />
+            <colorPot listener="$once{classroot}" mycolor="#00a650" mycolorString="0x00A650" />
+            <colorPot listener="$once{classroot}" mycolor="#00aeef" mycolorString="0x00AEEF" />
+            <colorPot listener="$once{classroot}" mycolor="#2f3192" mycolorString="0x2F3192" />
+            <colorPot listener="$once{classroot}" mycolor="#ed008c" mycolorString="0xED008C" />
+            <colorPot listener="$once{classroot}" mycolor="#898989" mycolorString="0x898989" />
+            <colorPot listener="$once{classroot}" mycolor="#7d7d7d" mycolorString="0x7D7D7D" />
+            <colorPot listener="$once{classroot}" mycolor="#707070" mycolorString="0x707070" />
+            <colorPot listener="$once{classroot}" mycolor="#626262" mycolorString="0x626262" />
+            <colorPot listener="$once{classroot}" mycolor="#555555" mycolorString="0x555555" />
+            <colorPot listener="$once{classroot}" mycolor="#464646" mycolorString="0x464646" />
+            <colorPot listener="$once{classroot}" mycolor="#363636" mycolorString="0x363636" />
+            <colorPot listener="$once{classroot}" mycolor="#262626" mycolorString="0x262626" />
+            <colorPot listener="$once{classroot}" mycolor="#111111" mycolorString="0x111111" />
+            <colorPot listener="$once{classroot}" mycolor="#000000" mycolorString="0x000000" />
+        </colorRow>
+          
+        <colorRow>
+            <colorPot listener="$once{classroot}" mycolor="#f7977a" mycolorString="0xF7977A" />
+            <colorPot listener="$once{classroot}" mycolor="#fbad82" mycolorString="0xFBAD82" />
+            <colorPot listener="$once{classroot}" mycolor="#fdc68c" mycolorString="0xFDC68C" />
+            <colorPot listener="$once{classroot}" mycolor="#fff799" mycolorString="0xFFF799" />
+            <colorPot listener="$once{classroot}" mycolor="#c6df9c" mycolorString="0xC6DF9C" />
+            <colorPot listener="$once{classroot}" mycolor="#a4d49d" mycolorString="0xA4D49D" />
+            <colorPot listener="$once{classroot}" mycolor="#81ca9d" mycolorString="0x81CA9D" />
+            <colorPot listener="$once{classroot}" mycolor="#7bcdc9" mycolorString="0x7bcdc9" />
+            <colorPot listener="$once{classroot}" mycolor="#6ccff7" mycolorString="0x6CCFF7" />
+            <colorPot listener="$once{classroot}" mycolor="#7ca6d8" mycolorString="0x7CA6D8" />
+            <colorPot listener="$once{classroot}" mycolor="#8293ca" mycolorString="0x8293CA" />
+            <colorPot listener="$once{classroot}" mycolor="#8881be" mycolorString="0x8881BE" />
+            <colorPot listener="$once{classroot}" mycolor="#a286bd" mycolorString="0xA286BD" />
+            <colorPot listener="$once{classroot}" mycolor="#bc8cbf" mycolorString="0xBC8CBf" />
+            <colorPot listener="$once{classroot}" mycolor="#f49bc1" mycolorString="0xF49BC1" />
+            <colorPot listener="$once{classroot}" mycolor="#f5999d" mycolorString="0xf5999d" />
+        </colorRow>
+          
+        <colorRow>
+            <colorPot listener="$once{classroot}" mycolor="#f16c4d" mycolorString="0xF16C4D" />
+            <colorPot listener="$once{classroot}" mycolor="#f68e54" mycolorString="0xF68E54" />
+            <colorPot listener="$once{classroot}" mycolor="#fbaf5a" mycolorString="0xFBAF5A" />
+            <colorPot listener="$once{classroot}" mycolor="#fff467" mycolorString="0xFFF467" />
+            <colorPot listener="$once{classroot}" mycolor="#acd372" mycolorString="0xACD372" />
+            <colorPot listener="$once{classroot}" mycolor="#7dc473" mycolorString="0x7DC473" />
+            <colorPot listener="$once{classroot}" mycolor="#39b778" mycolorString="0x39B778" />
+            <colorPot listener="$once{classroot}" mycolor="#16bcb4" mycolorString="0x16BCB4" />
+            <colorPot listener="$once{classroot}" mycolor="#00bff3" mycolorString="0x00BFF3" />
+            <colorPot listener="$once{classroot}" mycolor="#438ccb" mycolorString="0x438CCB" />
+            <colorPot listener="$once{classroot}" mycolor="#5573b7" mycolorString="0x5573B7" />
+            <colorPot listener="$once{classroot}" mycolor="#5e5ca7" mycolorString="0x5E5CA7" />
+            <colorPot listener="$once{classroot}" mycolor="#855FA8" mycolorString="0x855FA8" />
+            <colorPot listener="$once{classroot}" mycolor="#a763a9" mycolorString="0xA763A9" />
+            <colorPot listener="$once{classroot}" mycolor="#ef6ea8" mycolorString="0xEf6EA8" />
+            <colorPot listener="$once{classroot}" mycolor="#f16d7e" mycolorString="0xF16D7E" />
+        </colorRow>
+          
+          
+        <colorRow>
+            <colorPot listener="$once{classroot}" mycolor="#9a8575" mycolorString="0x9A8575" />
+            <colorPot listener="$once{classroot}" mycolor="#726357" mycolorString="0x726357" />
+            <colorPot listener="$once{classroot}" mycolor="#524842" mycolorString="0x524842" />
+            <colorPot listener="$once{classroot}" mycolor="#362f2c" mycolorString="0x362F2C" />
+            <colorPot listener="$once{classroot}" mycolor="#c69c6d" mycolorString="0xC69C6D" />
+            <colorPot listener="$once{classroot}" mycolor="#a77c50" mycolorString="0xA77C50" />
+            <colorPot listener="$once{classroot}" mycolor="#8c623a" mycolorString="0x8C623A" />
+            <colorPot listener="$once{classroot}" mycolor="#744b24" mycolorString="0x744B24" />
+            <colorPot listener="$once{classroot}" mycolor="#613813" mycolorString="0x613813" />
+        </colorRow>
+      
+    </view>
+    
+</class>
+
+</library>
+<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
+* Copyright 2005-2007 Laszlo Systems, Inc. All Rights Reserved.               *
+* Use is subject to license terms.                                            *
+* X_LZ_COPYRIGHT_END ****************************************************** -->
+<!-- @LZX_VERSION@                                                         -->
diff --git a/WebContent/src/base/components/lps/fillColorChoose.lzx b/WebContent/src/base/components/lps/fillColorChoose.lzx
new file mode 100644
index 0000000..d2e316e
--- /dev/null
+++ b/WebContent/src/base/components/lps/fillColorChoose.lzx
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+
+<class name="fillColorChoose" extends="basePropertySelector"
+    bgcolor="white" width="80" height="24">
+    
+    <attribute name="isopen" value="false" type="boolean" />
+    
+    <attribute name="colorPickRef" value="null"/>
+    
+    <attribute name="selectedColor" type="number" value="0xFFFF33" />
+    <attribute name="selectedColorDis" type="number" value="1" />
+    <attribute name="selectedColorTransformedString" type="string" value="0xFFFF33"/>
+    <attribute name="colorIsEnabled" value="true" type="boolean" /> 
+    <attribute name="inInitColorSelection" value="true" type="boolean" />
+    
+    <handler name="oninit">
+    	if (this.selectedColorDis==-1){
+    		Debug.write("FillColor Disabled");
+    		this._currentcolor.setAttribute('clickable',false);
+    		this._currentcolor.setAttribute('opacity',0.3);
+    		this.rgt.setAttribute('opacity',0.3);
+    		this.rgt.setAttribute('enabled',false);
+    		this.colorIsEnabled = false;
+    	}
+    </handler>
+    
+    <method name="setSelectedColor" args="c">
+    	this.setEnabled(true);
+		this.setAttribute('selectedColor',c);
+		this.setTransformedStringColor();
+    </method>
+    
+    <method name="setSelectedColorWithDis" args="c,d">
+    	this.setEnabled(true);
+		this.setAttribute('selectedColor',c);
+		this.setTransformedStringColor();
+		this.selectedColorDis = d;
+		if (this.selectedColorDis==-1){
+    		if ($debug) Debug.write("FillColor Disabled");
+    		this._currentcolor.setAttribute('clickable',false);
+    		this._currentcolor.setAttribute('opacity',0.3);
+    		this.rgt.setAttribute('opacity',0.3);
+    		this.rgt.setAttribute('enabled',false);
+    		this.colorIsEnabled = false;
+    		this.rgt_b._lock.setAttribute("visibility","visible");
+	    	this.rgt_b._lock_open.setAttribute("visibility","hidden");
+    	} else {
+			this._currentcolor.setAttribute('clickable',true);
+    		this._currentcolor.setAttribute('opacity',1);
+    		this.rgt.setAttribute('opacity',1);
+    		this.rgt.setAttribute('enabled',true);
+    		this.onselectedColor.sendEvent(this.selectedColor);
+    		this.colorIsEnabled = true;
+    		this.rgt_b._lock.setAttribute("visibility","hidden");
+	    	this.rgt_b._lock_open.setAttribute("visibility","visible");
+    	}
+    </method>
+        
+    <method name="getValue">
+        return this.selectedColor;
+    </method>    
+    
+    <method name="toggle">
+        var t = _root.createEmptyMovieClip('hans',10);
+        var myColor = new Color(t);
+        myColor.setRGB(selectedColor);
+        if (this.boxPosition=="up"){
+	        this.colorPickRef = new lz.colorpicker(canvas,{btnRef:this,
+	        	x:(this.getAttributeRelative('x',canvas)-(250-this.width)),
+	        	y:(this.getAttributeRelative('y',canvas)-154+this.height)});
+        } else {
+	        this.colorPickRef = new lz.colorpicker(canvas,{btnRef:this,
+	        	x:(this.getAttributeRelative('x',canvas)-(250-this.width)),
+	        	y:(this.getAttributeRelative('y',canvas))});
+        }
+        this.colorPickRef.doDefaultColor(myColor);
+        lz.ModeManager.makeModal( this.colorPickRef );
+    </method>
+    
+    <method name="setTransformedStringColor">
+        ////Debug.write("setTransformedStringColor: ",this,this.selectedColor);
+        var t = _root.createEmptyMovieClip('hans2',20);
+        var myColor = new Color(t);
+        myColor.setRGB(this.selectedColor);
+        //var a = myColor.getTransform();
+        ////Debug.write("a: ",a);
+        var col = this.numberToRGB(myColor);
+        ////Debug.write("col: ",col);
+        this.setAttribute('selectedColorTransformedString',col);
+    </method>
+    
+    <method name="numberToRGB" args="thisC">
+        <![CDATA[            
+            var c = thisC.getRGB();
+            var r = (c >> 16) & 0xff;
+            var g = (c >> 8) &  0xff;
+            var b = c & 0xff;
+            ////Debug.write("r g b: ",r,g,b);
+            
+            HEX_R = r.toString(16).toUpperCase();
+            HEX_G = g.toString(16).toUpperCase();
+            HEX_B = b.toString(16).toUpperCase();
+            
+            if (HEX_R.length < 2) {
+                HEX_R = "0"+HEX_R;
+            }
+            if (HEX_G.length < 2) {
+                HEX_G = "0"+HEX_G;
+            }
+            if (HEX_B.length < 2) {
+                HEX_B = "0"+HEX_B;
+            }
+            var hex = "0x"+HEX_R + HEX_G + HEX_B;
+
+            return hex;
+        ]]>
+    </method>    
+    
+    <method name="closedColorPicker">
+        lz.ModeManager.release( this.colorPickRef );
+    </method>
+    
+    <view name="_currentcolor" x="1" y="1" onclick="parent.toggle()" 
+        onmouseover="" onmouseout="" width="30" 
+        height="22" bgcolor="${ parent.selectedColor }" >
+        <labelTooltip text="${ parent.parent.selectedColorTransformedString }" />
+    </view>
+    
+    <button name="rgt" x="32" y="1" onclick="parent.toggle()" width="24" height="23" >
+    	<image x="4" y="3" src="$once{ canvas.getThemeImage('colorfillchoose_rsc') }"
+    			width="16" height="16" stretches="both" />
+        <labelTooltip labelid="427" />
+    </button>
+        
+    <button name="rgt_b" x="56" y="1" width="24" height="23" >
+    	<handler name="onclick">
+    		if (parent.colorIsEnabled){
+	    		parent._currentcolor.setAttribute('clickable',false);
+	    		parent._currentcolor.setAttribute('opacity',0.3);
+	    		parent.rgt.setAttribute('opacity',0.3);
+	    		parent.rgt.setAttribute('enabled',false);
+	    		parent.selectedColorDis = -1;
+	    		parent.onselectedColor.sendEvent(-1);
+	    		parent.colorIsEnabled = false;
+	    		this._lock.setAttribute("visibility","hidden");
+	    		this._lock_open.setAttribute("visibility","visible");
+    		} else {
+	    		parent._currentcolor.setAttribute('clickable',true);
+	    		parent._currentcolor.setAttribute('opacity',1);
+	    		parent.rgt.setAttribute('opacity',1);
+	    		parent.rgt.setAttribute('enabled',true);
+	    		parent.selectedColorDis = 1;
+	    		parent.onselectedColor.sendEvent(parent.selectedColor);
+	    		parent.colorIsEnabled = true;
+	    		this._lock.setAttribute("visibility","visible");
+	    		this._lock_open.setAttribute("visibility","hidden");
+    		}
+    	</handler>
+    	<image x="4" y="3" name="_lock" src="$once{ canvas.getThemeImage('color_lock_rsc') }"
+    			width="16" height="16" stretches="both" />
+ 	    <image x="4" y="3" name="_lock_open" src="$once{ canvas.getThemeImage('color_lock_open_rsc') }"
+    			width="16" height="16" stretches="both" visibility="hidden" />
+        <labelTooltip labelid="428" />
+    </button>
+    
+</class>  
+
+    
+</library>
diff --git a/WebContent/src/base/components/lps/library.lzx b/WebContent/src/base/components/lps/library.lzx
new file mode 100644
index 0000000..9826b0e
--- /dev/null
+++ b/WebContent/src/base/components/lps/library.lzx
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+	<!-- APL Author sebawagner -->
+    <resource name="arrow_down_slider_rsc" src="resources/arrow_down_slider.png" /> 
+
+	<include href="vslider.lzx" /> 
+	<include href="basePropertySelector.lzx" />
+	<include href="colorpicker.lzx" />
+    <include href="lineColorChoose.lzx" />
+    <include href="lineOnlyColorChoose.lzx" />
+    <include href="lineColorChoose.lzx" />
+    <include href="fillColorChoose.lzx" />
+    <include href="changeWidthSlider.lzx" />
+    <include href="changeWidthLetterSlider.lzx" />
+    <include href="regexptip.lzx" />
+    
+</library>
diff --git a/WebContent/src/base/components/lps/lineColorChoose.lzx b/WebContent/src/base/components/lps/lineColorChoose.lzx
new file mode 100644
index 0000000..58a84a4
--- /dev/null
+++ b/WebContent/src/base/components/lps/lineColorChoose.lzx
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="lineColorChoose" extends="basePropertySelector"
+    bgcolor="white" width="80" height="24">
+    
+    <attribute name="isopen" value="false" type="boolean" />
+    
+    <attribute name="colorPickRef" value="null"/>
+    
+    <attribute name="selectedColor" type="number" value="0xFF6600" />
+    <attribute name="selectedColorDis" type="number" value="1" />
+    <attribute name="selectedColorTransformedString" type="string" value="0xFF6600"/>
+    <attribute name="colorIsEnabled" value="true" type="boolean" />
+    <attribute name="inInitColorSelection" value="true" type="boolean" />
+    
+    <handler name="oninit">
+    	if (this.selectedColorDis==-1){
+    		this._currentcolor.setAttribute('clickable',false);
+    		this._currentcolor.setAttribute('opacity',0.3);
+    		this.rgt.setAttribute('opacity',0.3);
+    		this.rgt.setAttribute('enabled',false);
+    		this.colorIsEnabled = false;
+    	}
+    </handler>
+        
+    <handler name="oninit">
+    	this.setTransformedStringColor();
+    </handler>
+    
+    <method name="setSelectedColor" args="c">
+    	this.setEnabled(true);
+		this.setAttribute('selectedColor',c);
+		this.setTransformedStringColor();
+    </method>
+    
+    <method name="setSelectedColorWithDis" args="c,d">
+    	this.setEnabled(true);
+		this.setAttribute('selectedColor',c);
+		this.setTransformedStringColor();
+		this.selectedColorDis = d;
+		if (this.selectedColorDis==-1){
+    		if ($debug) Debug.write("FillColor Disabled");
+    		this._currentcolor.setAttribute('clickable',false);
+    		this._currentcolor.setAttribute('opacity',0.3);
+    		this.rgt.setAttribute('opacity',0.3);
+    		this.rgt.setAttribute('enabled',false);
+    		this.colorIsEnabled = false;
+    		this.rgt_b._lock.setAttribute("visibility","visible");
+	    	this.rgt_b._lock_open.setAttribute("visibility","hidden");
+    	} else {
+			this._currentcolor.setAttribute('clickable',true);
+    		this._currentcolor.setAttribute('opacity',1);
+    		this.rgt.setAttribute('opacity',1);
+    		this.rgt.setAttribute('enabled',true);
+    		this.onselectedColor.sendEvent(this.selectedColor);
+    		this.colorIsEnabled = true;
+    		this.rgt_b._lock.setAttribute("visibility","hidden");
+	    	this.rgt_b._lock_open.setAttribute("visibility","visible");
+    	}
+    </method>
+    
+    <method name="getValue">
+        return this.selectedColor;
+    </method>    
+    
+    <method name="toggle">
+        var t = _root.createEmptyMovieClip('hans',10);
+        var myColor = new Color(t);
+        myColor.setRGB(selectedColor);
+        if (this.boxPosition=="up"){
+	        this.colorPickRef = new lz.colorpicker(canvas,{btnRef:this,
+	        	x:(this.getAttributeRelative('x',canvas)-(250-this.width)),
+	        	y:(this.getAttributeRelative('y',canvas)-154+this.height)});
+        } else {
+	        this.colorPickRef = new lz.colorpicker(canvas,{btnRef:this,
+	        	x:(this.getAttributeRelative('x',canvas)-(250-this.width)),
+	        	y:(this.getAttributeRelative('y',canvas))});
+        }
+
+        this.colorPickRef.doDefaultColor(myColor);
+        lz.ModeManager.makeModal( this.colorPickRef );
+    </method>
+    
+    <method name="setTransformedStringColor">
+        ////Debug.write("setTransformedStringColor: ",this,this.selectedColor);
+        var t = _root.createEmptyMovieClip('hans2',20);
+        var myColor = new Color(t);
+        myColor.setRGB(this.selectedColor);
+        //var a = myColor.getTransform();
+        ////Debug.write("a: ",a);
+        var col = this.numberToRGB(myColor);
+        ////Debug.write("col: ",col);
+        this.setAttribute('selectedColorTransformedString',col);
+    </method>
+    
+    <method name="numberToRGB" args="thisC">
+        <![CDATA[            
+            var c = thisC.getRGB();
+            var r = (c >> 16) & 0xff;
+            var g = (c >> 8) &  0xff;
+            var b = c & 0xff;
+            ////Debug.write("r g b: ",r,g,b);
+            
+            HEX_R = r.toString(16).toUpperCase();
+            HEX_G = g.toString(16).toUpperCase();
+            HEX_B = b.toString(16).toUpperCase();
+            
+            if (HEX_R.length < 2) {
+                HEX_R = "0"+HEX_R;
+            }
+            if (HEX_G.length < 2) {
+                HEX_G = "0"+HEX_G;
+            }
+            if (HEX_B.length < 2) {
+                HEX_B = "0"+HEX_B;
+            }
+            var hex = "0x"+HEX_R + HEX_G + HEX_B;
+
+            return hex;
+        ]]>
+    </method>    
+    
+    <method name="closedColorPicker">
+        lz.ModeManager.release( this.colorPickRef );
+    </method>
+    
+    <view name="_currentcolor" x="1" y="1" onclick="parent.toggle()" 
+        onmouseover="" onmouseout="" width="30" 
+        height="22" bgcolor="${ parent.selectedColor }" >
+        <labelTooltip text="${ parent.parent.selectedColorTransformedString }" />
+    </view>
+    
+    <button name="rgt" x="32" y="1" onclick="parent.toggle()" width="24" height="23" >
+    	<image x="4" y="3" src="$once{ canvas.getThemeImage('colorlinechoose_rsc') }"
+    			width="16" height="16" stretches="both" />
+        <labelTooltip labelid="424" />
+    </button>
+        
+    <button name="rgt_b" x="56" y="1" width="24" height="23" >
+    	<handler name="onclick">
+    		if (parent.colorIsEnabled){
+	    		parent._currentcolor.setAttribute('clickable',false);
+	    		parent._currentcolor.setAttribute('opacity',0.3);
+	    		parent.rgt.setAttribute('opacity',0.3);
+	    		parent.rgt.setAttribute('enabled',false);
+	    		parent.selectedColorDis = -1;
+	    		parent.onselectedColor.sendEvent(-1);
+	    		parent.colorIsEnabled = false;
+	    		this._lock.setAttribute("visibility","hidden");
+	    		this._lock_open.setAttribute("visibility","visible");
+    		} else {
+	    		parent._currentcolor.setAttribute('clickable',true);
+	    		parent._currentcolor.setAttribute('opacity',1);
+	    		parent.rgt.setAttribute('opacity',1);
+	    		parent.rgt.setAttribute('enabled',true);
+	    		parent.selectedColorDis = 1;
+	    		parent.onselectedColor.sendEvent(parent.selectedColor);
+	    		parent.colorIsEnabled = true;
+	    		this._lock.setAttribute("visibility","visible");
+	    		this._lock_open.setAttribute("visibility","hidden");
+    		}
+    	</handler>
+    	<image x="4" y="3" name="_lock" src="$once{ canvas.getThemeImage('color_lock_rsc') }"
+    			width="16" height="16" stretches="both" />
+ 	    <image x="4" y="3" name="_lock_open" src="$once{ canvas.getThemeImage('color_lock_open_rsc') }"
+    			width="16" height="16" stretches="both" visibility="hidden" />
+        <labelTooltip labelid="426" />
+    </button>
+    
+</class>  
+
+    
+</library>
diff --git a/WebContent/src/base/components/lps/lineOnlyColorChoose.lzx b/WebContent/src/base/components/lps/lineOnlyColorChoose.lzx
new file mode 100644
index 0000000..95c7640
--- /dev/null
+++ b/WebContent/src/base/components/lps/lineOnlyColorChoose.lzx
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="lineOnlyColorChoose" extends="basePropertySelector"
+    bgcolor="white" width="56" height="24">
+    
+    <attribute name="isopen" value="false" type="boolean" />
+    
+    <attribute name="colorPickRef" value="null"/>
+    
+    <attribute name="selectedColor" type="number" value="0xFF6600" />
+    <attribute name="selectedColorTransformedString" type="string" value="0xFF6600"/>
+    <attribute name="colorIsEnabled" value="true" type="boolean" />
+    
+    <handler name="oninit">
+    	this.setTransformedStringColor();
+    </handler>
+    
+    <method name="getValue">
+        return this.selectedColor;
+    </method>    
+    
+    <method name="toggle">
+        var t = _root.createEmptyMovieClip('hans',10);
+        var myColor = new Color(t);
+        myColor.setRGB(selectedColor);
+        this.colorPickRef = new lz.colorpicker(canvas,{btnRef:this,x:(this.getAttributeRelative('x',canvas)-(250-this.width)),y:(this.getAttributeRelative('y',canvas))});
+        this.colorPickRef.doDefaultColor(myColor);
+        lz.ModeManager.makeModal( this.colorPickRef );
+    </method>
+    
+    <method name="setTransformedStringColor">
+        ////Debug.write("setTransformedStringColor: ",this,this.selectedColor);
+        var t = _root.createEmptyMovieClip('hans2',20);
+        var myColor = new Color(t);
+        myColor.setRGB(this.selectedColor);
+        //var a = myColor.getTransform();
+        ////Debug.write("a: ",a);
+        var col = this.numberToRGB(myColor);
+        ////Debug.write("col: ",col);
+        this.setAttribute('selectedColorTransformedString',col);
+    </method>
+    
+    <method name="numberToRGB" args="thisC">
+        <![CDATA[            
+            var c = thisC.getRGB();
+            var r = (c >> 16) & 0xff;
+            var g = (c >> 8) &  0xff;
+            var b = c & 0xff;
+            ////Debug.write("r g b: ",r,g,b);
+            
+            HEX_R = r.toString(16).toUpperCase();
+            HEX_G = g.toString(16).toUpperCase();
+            HEX_B = b.toString(16).toUpperCase();
+            
+            if (HEX_R.length < 2) {
+                HEX_R = "0"+HEX_R;
+            }
+            if (HEX_G.length < 2) {
+                HEX_G = "0"+HEX_G;
+            }
+            if (HEX_B.length < 2) {
+                HEX_B = "0"+HEX_B;
+            }
+            var hex = "0x"+HEX_R + HEX_G + HEX_B;
+
+            return hex;
+        ]]>
+    </method>    
+    
+    <method name="closedColorPicker">
+        lz.ModeManager.release( this.colorPickRef );
+    </method>
+    
+    <view name="_currentcolor" x="1" y="1" onclick="parent.toggle()" 
+        onmouseover="" onmouseout="" width="30" 
+        height="22" bgcolor="${parent.selectedColor}" >
+        <labelTooltip text="${ parent.parent.selectedColorTransformedString }" />
+    </view>
+    
+    <button name="rgt" x="32" y="1" onclick="parent.toggle()" width="24" height="23" >
+    	<image x="4" y="3" src="$once{ canvas.getThemeImage('colorlinechoose_rsc') }"
+    			width="16" height="16" stretches="both" />
+        <labelTooltip labelid="424" />
+    </button>
+    
+</class>  
+
+    
+</library>
diff --git a/WebContent/src/base/components/lps/regexptip.lzx b/WebContent/src/base/components/lps/regexptip.lzx
new file mode 100644
index 0000000..a66bc6d
--- /dev/null
+++ b/WebContent/src/base/components/lps/regexptip.lzx
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!-- APL Author sebawagner -->
+<resource name="regexptip_rsc_r" src="resources/regexp/regexp_bg_r.swf" />
+<!-- APL Author sebawagner -->
+<resource name="regexptip_rsc_m" src="resources/regexp/regexp_bg_m.swf" />
+<!-- APL Author sebawagner -->
+<resource name="regexptip_rsc_l" src="resources/regexp/regexp_bg_l.swf" />
+<!-- APL Author sebawagner -->
+<resource name="regexptip_rsc_point" src="resources/regexp/regexp_point.swf" />
+
+<class name="regexptip" extends="view">
+    <attribute name="regexptext" value="" type="string" />
+    <attribute name="fadeDelegate" value="null" />
+    <handler name="oninit">
+        this.fadeDelegate = new LzDelegate( this, "fadeText" );
+        lz.Timer.addTimer( this.fadeDelegate, 5000 );
+    </handler>
+    <method name="fadeText" args="itemRef">
+        this.destroy();
+    </method>
+    <view width="${parent.width}" layout="axis:x">
+        <view name="regexptip_rsc_r" resource="regexptip_rsc_r" width="5" />
+        <view name="regexptip_rsc_m" resource="regexptip_rsc_m" stretches="width" width="${ parent.width-10 }"/>
+        <view name="regexptip_rsc_l" resource="regexptip_rsc_l" width="5" />
+    </view>
+    
+    <view resource="regexptip_rsc_point" y="-7" x="12" />
+
+    <text fontsize="11" text="${ parent.regexptext}" resize="true" multiline="false" />
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/lps/resources/arrow_down_slider.png b/WebContent/src/base/components/lps/resources/arrow_down_slider.png
new file mode 100644
index 0000000..f5107d7
--- /dev/null
+++ b/WebContent/src/base/components/lps/resources/arrow_down_slider.png
Binary files differ
diff --git a/WebContent/src/base/components/lps/resources/color_fill.png b/WebContent/src/base/components/lps/resources/color_fill.png
new file mode 100644
index 0000000..13631ec
--- /dev/null
+++ b/WebContent/src/base/components/lps/resources/color_fill.png
Binary files differ
diff --git a/WebContent/src/base/components/lps/resources/regexp/regexp_bg_l.swf b/WebContent/src/base/components/lps/resources/regexp/regexp_bg_l.swf
new file mode 100644
index 0000000..c2ae7a8
--- /dev/null
+++ b/WebContent/src/base/components/lps/resources/regexp/regexp_bg_l.swf
Binary files differ
diff --git a/WebContent/src/base/components/lps/resources/regexp/regexp_bg_m.swf b/WebContent/src/base/components/lps/resources/regexp/regexp_bg_m.swf
new file mode 100644
index 0000000..119a8ac
--- /dev/null
+++ b/WebContent/src/base/components/lps/resources/regexp/regexp_bg_m.swf
Binary files differ
diff --git a/WebContent/src/base/components/lps/resources/regexp/regexp_bg_r.swf b/WebContent/src/base/components/lps/resources/regexp/regexp_bg_r.swf
new file mode 100644
index 0000000..34383d4
--- /dev/null
+++ b/WebContent/src/base/components/lps/resources/regexp/regexp_bg_r.swf
Binary files differ
diff --git a/WebContent/src/base/components/lps/resources/regexp/regexp_point.swf b/WebContent/src/base/components/lps/resources/regexp/regexp_point.swf
new file mode 100644
index 0000000..22adb7e
--- /dev/null
+++ b/WebContent/src/base/components/lps/resources/regexp/regexp_point.swf
Binary files differ
diff --git a/WebContent/src/base/components/lps/vslider.lzx b/WebContent/src/base/components/lps/vslider.lzx
new file mode 100644
index 0000000..c65a224
--- /dev/null
+++ b/WebContent/src/base/components/lps/vslider.lzx
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<!-- X_LZ_COPYRIGHT_BEGIN ************************************************
+* Copyright 2006 Laszlo Systems, Inc.  All Rights Reserved.              *
+* Use is subject to license terms.                                       *
+* X_LZ_COPYRIGHT_END ************************************************** -->
+<!--
+    vertical slider contributed by Sebastian Wagner
+-->
+<library>
+  
+  <class name="vsliderTrack" extends="view" bgcolor="0x000000">
+        <view width="${ parent.width-2}" height="${ parent.height-2 }" 
+          x="1" y="1" bgcolor="0xFFFFFF"/>
+        <view width="${ parent.width-2}" bgcolor="0xCCCCCC"
+          x="1" y="${ (this.parent.parent.switchaxis) ? 
+                parent.parent._sliderthumb.y : 1 }" 
+          visible="${ parent.parent.showrange }" 
+          height="${ (this.parent.parent.switchaxis) ? 
+        (parent.parent._vslidertrack.height - parent.parent._sliderthumb.y-1) : 
+        parent.parent._sliderthumb.y }" />
+  </class>
+	  
+	<class name="vsliderThumb" extends="button" bgcolor="0x999999" height="10" width="20" 
+		onmousedown="dragger.apply()" onmouseup="dragger.remove()">
+  	
+        <attribute name="drag_min" value="0" type="number" />
+        <attribute name="showvalue" type="boolean" value="true" />
+        <attribute name="drag_max" value="0" type="number" />
+        
+        <handler name="oninit">
+            //Setting the initVal
+            this.setY(getPosFromValue(this.parent.initvalue));
+        </handler>
+        
+        <method name="getValueFromPos">
+            var delta1 = this.parent.maxvalue-this.parent.minvalue;
+            var perc = (this.parent.switchaxis) ? 1-(y / (this.parent.height-this.height)) : (y / (this.parent.height-this.height));
+            //Debug.write(delta1,perc);
+            return (Math.round(perc*delta1))+this.parent.minvalue;
+        </method>
+        
+        <method name="getPosFromValue" args="val">
+            var perc = (val-this.parent.minvalue) / (this.parent.maxvalue-this.parent.minvalue);
+            //Debug.write(perc);
+            valY = (this.parent.switchaxis) ? ( (1-perc) * (this.parent.height-this.height)) : (perc * (this.parent.height-this.height));
+            //Debug.write("valY: ",Math.round(valY));
+            return Math.round(valY);
+        </method>
+        
+        <handler name="ony" args="v">
+            //super.setY(v);
+            //if ($debug) Debug.write("setY: ",v);
+		    var thumbVal = getValueFromPos();
+		    if (thumbVal != parent.value) {
+		        this.parent.setValue(thumbVal);
+		    }               
+        </handler>
+        
+        <handler name="onclick">
+        	parent.onvalueChosenFinal.sendEvent();
+        </handler>
+        
+		<dragstate name="dragger" drag_axis="y"
+		    drag_min_y="${ this.drag_min }"  
+		    drag_max_y="${ this.drag_max }">
+			<text name="t1" x="-26" text="${ this.parent.parent.value }" bgcolor="0xFFFFFF"
+				  y="-4" resize="true" />
+		</dragstate>
+	</class>
+
+<class name="vslider" extends="view" >
+    <!--- Minimum Value -->
+    <attribute name="minvalue" type="number" value="0"/>
+    
+    <!--- Maximum Value -->
+    <attribute name="maxvalue" type="number" value="100"/>
+    
+    <!--- Showrange should the slidertrack be with color while 'sliding' -->
+    <attribute name="showrange" type="boolean" value="true"/>
+    
+    <!--- showvalue should the slider show the numbers of min/max -->
+    <attribute name="showvalue" type="boolean" value="true"/>
+    
+    <!--- switchaxis true means minimum-value is 
+            t op maximum is bottom false turns around -->
+    <attribute name="switchaxis" type="boolean" value="false"/>
+    
+    <!-- Initial Value -->
+    <attribute name="initvalue" value="0" type="number" />          
+        
+    <!--- @keywords private -->
+    <event name="onvalue"/>
+    
+    <!--- @keywords private -->
+    <event name="onvalueChosenFinal"/>
+        
+    <!--- @keywords private -->
+    <attribute name="value" value="0" setter="setValue(value)"/>
+    <method name="setValue" args="v">
+        if (!isinited) {
+          this.value = v;
+          return;
+        }
+        if (this.value == v) return;
+        this.value = v;
+        if (onvalue) onvalue.sendEvent(v);
+    </method>
+       
+	<vsliderTrack name="_vslidertrack" x="5" 
+	    width="10" height="${ parent.height }" />
+	    
+	<vsliderThumb name="_sliderthumb" 
+	    drag_max="${ parent.height-this.height }" 
+	    showvalue="${ parent.showvalue }" />
+	    
+	<text text="${ ( (this.parent.switchaxis) ? 
+	            this.parent.maxvalue : this.parent.minvalue ) }" 
+	    visible="${ parent.showvalue }" 
+	    y="-8" x="${ this.parent._vslidertrack.width+10 }" />
+	    
+	<text text="${ ( (this.parent.switchaxis) ? 
+	            this.parent.minvalue : this.parent.maxvalue ) }" 
+	      visible="${ parent.showvalue }" 
+	      y="${ this.parent.height-10 }" 
+	      x="${ this.parent._vslidertrack.width+10 }" />
+          
+</class>
+  
+  
+
+</library>
diff --git a/WebContent/src/base/components/miniIcons.lzx b/WebContent/src/base/components/miniIcons.lzx
new file mode 100644
index 0000000..301d381
--- /dev/null
+++ b/WebContent/src/base/components/miniIcons.lzx
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+<class name="miniIcons" extends="view" stretches="both">

+	<attribute name="showhandcursor" value="true" type="boolean" />

+    <handler name="onmouseover">

+    	if (this.showhandcursor) {

+        	this.setAttribute("x",this.x-1);

+        	this.setAttribute("y",this.y-1);

+        	this.setAttribute("height",this.height+2);

+        	this.setAttribute("width",this.width+2);

+    	}

+        parent.parent.onmouseover.sendEvent();

+    </handler>

+    <handler name="onmouseout">

+    	if (this.showhandcursor) {

+        	this.setAttribute("x",this.x+1);

+            this.setAttribute("y",this.y+1);

+            this.setAttribute("height",this.height-2);

+            this.setAttribute("width",this.width-2);

+    	}

+        parent.parent.onmouseout.sendEvent();

+    </handler>

+</class>

+

+<class name="miniIconsImage" extends="image" stretches="both">

+	<attribute name="showhandcursor" value="true" type="boolean" />

+    <handler name="onmouseover">

+    	if (this.showhandcursor) {

+        	this.setAttribute("x",this.x-1);

+        	this.setAttribute("y",this.y-1);

+        	this.setAttribute("height",this.height+2);

+        	this.setAttribute("width",this.width+2);

+    	}

+        parent.parent.onmouseover.sendEvent();

+    </handler>

+    <handler name="onmouseout">

+    	if (this.showhandcursor) {

+        	this.setAttribute("x",this.x+1);

+            this.setAttribute("y",this.y+1);

+            this.setAttribute("height",this.height-2);

+            this.setAttribute("width",this.width-2);

+    	}

+        parent.parent.onmouseout.sendEvent();

+    </handler>

+</class>

+

+</library>
\ No newline at end of file
diff --git a/WebContent/src/base/components/miniIconsNew.lzx b/WebContent/src/base/components/miniIconsNew.lzx
new file mode 100644
index 0000000..2e4a1a2
--- /dev/null
+++ b/WebContent/src/base/components/miniIconsNew.lzx
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+	<class name="miniIconsNew" extends="view" >

+		<attribute name="innerResource" value="" type="string" />

+		<handler name="onmouseover">

+	    	if (this.showhandcursor) {

+	        	this.innnerView.setAttribute("x",this.innnerView.x-1);

+	        	this.innnerView.setAttribute("y",this.innnerView.y-1);

+	        	this.innnerView.setAttribute("height",this.innnerView.height+2);

+	        	this.innnerView.setAttribute("width",this.innnerView.width+2);

+	    	}

+	    </handler>

+	    <handler name="onmouseout">

+	    	if (this.showhandcursor) {

+	        	this.innnerView.setAttribute("x",this.innnerView.x+1);

+	            this.innnerView.setAttribute("y",this.innnerView.y+1);

+	            this.innnerView.setAttribute("height",this.innnerView.height-2);

+	            this.innnerView.setAttribute("width",this.innnerView.width-2);

+	    	}

+	    </handler>

+		<view name="innnerView" resource="$once{ parent.innerResource }" stretches="both"

+				width="$once{ parent.width }" height="$once{ parent.height }">

+		    

+		</view>

+	</class>

+	

+</library>
\ No newline at end of file
diff --git a/WebContent/src/base/components/omcharts/library.lzx b/WebContent/src/base/components/omcharts/library.lzx
new file mode 100644
index 0000000..7d16571
--- /dev/null
+++ b/WebContent/src/base/components/omcharts/library.lzx
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+    <include href="charts/styles/chartstyle.lzx"/>
+    <include href="charts/common/dataseries.lzx"/>
+    <include href="charts/common/viewspoolmanager.lzx"/>
+    <include href="charts/common/virtualdrawview.lzx"/>
+    <include href="charts/common/datalabel.lzx"/>
+    <include href="charts/common/chart.lzx"/>
+    <include href="charts/common/legend.lzx"/>
+    <include href="charts/piechart/piepiece.lzx"/>
+    <include href="charts/piechart/piechartplotarea.lzx"/>
+    
+    <include href="charts/styles/strokestyle.lzx"/>
+    <include href="charts/piechart/piepiece.lzx"/>
+    <include href="utils/layouts/simplelayout.lzx"/>
+    <include href="extensions/drawview.lzx"/>
+    
+    <include href="omchartstyle.lzx" />
+    <include href="omlegend.lzx" />
+    <include href="ompiechart.lzx" />
+
+
+</library>
diff --git a/WebContent/src/base/components/omcharts/omchartstyle.lzx b/WebContent/src/base/components/omcharts/omchartstyle.lzx
new file mode 100644
index 0000000..f74905c
--- /dev/null
+++ b/WebContent/src/base/components/omcharts/omchartstyle.lzx
@@ -0,0 +1,138 @@
+<!---
+    @access public
+    @topic Components
+    @subtopic Charts
+  -->
+<library>
+    
+<chartstyle name="omchartstyle">
+    <plotstyle name="plot" linesize="1" linecolor="0xCCCCCC" fillcolor="0xffffff" opacity="0.5"/>
+    <chartbgstyle name="chartbgstyle">
+        <linestyle name="line" size="0"/>
+        <regionstyle name="region" color="0xFFFFFF" opacity="0.5"/>
+    </chartbgstyle>
+    <valueregionstyle name="valueregionstyle">
+        <linestyle name="line" color="0x000000" size="1" opacity="1"/>
+        <regionstyle name="region" color="0xB71CB3" opacity="0.8" gradient="linear"/>
+        <labelstyle name="label" font="serif" fontsize="12" fontcolor="0x000000"/>
+        <labelstyle name="tip" font="serif" fontsize="12" fontcolor="0x000000"/>
+    </valueregionstyle>
+    <axisstyle name="haxisstyle">
+        <labelstyle name="label" font="Helmet" fontsize="16" fontcolor="0x000000" fontangle="0"/>
+        <tickstyle name="tickmajor" color="0x000000" position="outside" length="3" size="1">
+            <labelstyle name="label" font="serif" fontstyle="bold" fontsize="12" fontcolor="0x606060"/>
+        </tickstyle>
+        <tickstyle name="tickminor" color="0xD3D3D3" position="outside" length="3" size="1"/>
+        <linestyle name="axisline" color="0x000000" size="1"/>
+        <linestyle name="gridline" color="0xD3D3D3" size="1"/>
+    </axisstyle>
+    <axisstyle name="vaxisstyle">
+        <labelstyle name="label" font="Helmet" fontsize="16" fontcolor="0x000000" fontangle="-90"/>
+        <tickstyle name="tickmajor" color="0x000000" position="outside" length="3" size="1">
+            <labelstyle name="label" font="serif" fontsize="12" fontcolor="0x606060"/>
+        </tickstyle>
+        <tickstyle name="tickminor" color="0x000000" position="outside" length="3" size="1"/>
+        <linestyle name="axisline" color="0x000000" size="1"/>
+        <linestyle name="gridline" color="0xD3D3D3" size="1"/>
+        <regionstyle name="band1" color="0xE8EBEE" opacity="1" gradient="linear"/>
+        <regionstyle name="band2" color="0xE3E5E7" opacity="1" gradient="linear"/>
+    </axisstyle>
+    <valuelinestyle name="valuelinestyle">
+        <linestyle name="line" color="0xFF9999" size="2" opacity="1"/>
+        <labelstyle name="label" font="serif" fontsize="10" fontcolor="0x000000"
+           linecolor="0x000000" fillcolor="0xFFFFC1" linesize="2"/>
+        <labelstyle name="tip" font="serif" fontsize="10" fontcolor="0x000000"
+           linecolor="0x000000" fillcolor="0xFFFFC1" linesize="2"/>
+    </valuelinestyle>
+    <valuepointstyle name="valuepointstyle">
+        <pointstyle name="point" width="15" height="15" color="0x00ff00" opacity=".5" shape="triangle" image="../../test/images/master.gif"/>
+        <labelstyle name="label" font="serif" fontsize="10" fontcolor="0x000000"
+           linecolor="0x000000" fillcolor="0xFFFFC1" linesize="2"/>
+        <labelstyle name="tip" font="serif" fontsize="10" fontcolor="0x000000"
+           linecolor="0x000000" fillcolor="0xFFFFC1" linesize="2"/>
+    </valuepointstyle>
+    <datastylelist name="datastyles">
+        <datastyle name="yline">
+            <pointstyle name="point" width="10" height="10" color="0xF9F932" opacity="1" shape="diamond" strokeStyle="0xA3A304" lineWidth="1"/>
+            <linestyle name="line" color="0xCCCCCC" size="1" opacity="1" type="solid"/>
+            <regionstyle name="region" color="0xA6CEE3" opacity="1" gradient="none"/>
+            <labelstyle name="label" font="serif" fontsize="9" fontcolor="0x000000" linecolor="0x000000" fillcolor="0xFFFFC1" linesize="12" fontangle="90"/>
+            <labelstyle name="tip" font="serif" fontsize="8" fontcolor="0x000000"
+               linecolor="0xF9F932" fillcolor="0xFFFFC1" linesize="4"/>
+        </datastyle>
+        <datastyle name="bline">
+            <pointstyle name="point" width="10" height="10" color="0x32ADFB" opacity="1" shape="fourpoint" strokeStyle="0x03609C" lineWidth="1"/>
+            <linestyle name="line" color="0xCCCCCC" size="1" opacity="1" type="solid"/>
+            <regionstyle name="region" color="0x1F78B4" opacity="1" gradient="none"/>
+            <labelstyle name="label" font="serif" fontsize="9" fontcolor="0x000000" linecolor="0x000000" fillcolor="0xFFFFC1" linesize="12" fontangle="90"/>
+            <labelstyle name="tip" font="serif" fontsize="8" fontcolor="0x000000"
+               linecolor="0x000000" fillcolor="0xFFFFC1" linesize="2"/>
+        </datastyle>
+        <datastyle name="rline">
+            <pointstyle name="point" width="10" height="10" color="0xFA8159" opacity="1" shape="circle" strokeStyle="0xB24C2C" lineWidth="1"/>
+            <linestyle name="line" color="0xCCCCCC" size="1" opacity="1" type="solid"/>
+            <regionstyle name="region" color="0xB2DF8A" opacity="1" gradient="none"/>
+            <labelstyle name="label" font="serif" fontsize="9" fontcolor="0x000000" linecolor="0x000000" fillcolor="0xFFFFC1" linesize="12" fontangle="90"/>
+            <labelstyle name="tip" font="serif" fontsize="8" fontcolor="0x000000"
+               linecolor="0x000000" fillcolor="0xFFFFC1" linesize="2"/>
+        </datastyle>
+        <datastyle name="gline">
+            <pointstyle name="point" width="10" height="10" color="0x58FB59" opacity="1" shape="square" strokeStyle="0x1D991D" lineWidth="1"/>
+            <linestyle name="line" color="0xCCCCCC" size="1" opacity="1" type="solid"/>
+            <regionstyle name="region" color="0x33A02C" opacity="1" gradient="none"/>
+            <labelstyle name="label" font="serif" fontsize="9" fontcolor="0x000000" linecolor="0x000000" fillcolor="0xFFFFC1" linesize="12" fontangle="90"/>
+            <labelstyle name="tip" font="serif" fontsize="8" fontcolor="0x000000"
+               linecolor="0x000000" fillcolor="0xFFFFC1" linesize="2"/>
+        </datastyle>
+        <datastyle name="hline">
+            <pointstyle name="point" width="10" height="10" color="0x58FB59" opacity="1" shape="square" strokeStyle="0x1D991D" lineWidth="1"/>
+            <linestyle name="line" color="0xCCCCCC" size="1" opacity="1" type="solid"/>
+            <regionstyle name="region" color="0xFB9A99" opacity="1" gradient="none"/>
+            <labelstyle name="label" font="serif" fontsize="9" fontcolor="0x000000" linecolor="0x000000" fillcolor="0xFFFFC1" linesize="12" fontangle="90"/>
+            <labelstyle name="tip" font="serif" fontsize="8" fontcolor="0x000000"
+               linecolor="0x000000" fillcolor="0xFFFFC1" linesize="2"/>
+        </datastyle>
+        <datastyle name="iline">
+            <pointstyle name="point" width="10" height="10" color="0x58FB59" opacity="1" shape="square" strokeStyle="0x1D991D" lineWidth="1"/>
+            <linestyle name="line" color="0xCCCCCC" size="1" opacity="1" type="solid"/>
+            <regionstyle name="region" color="0xE31A1C" opacity="1" gradient="none"/>
+            <labelstyle name="label" font="serif" fontsize="9" fontcolor="0x000000" linecolor="0x000000" fillcolor="0xFFFFC1" linesize="12" fontangle="90"/>
+            <labelstyle name="tip" font="serif" fontsize="8" fontcolor="0x000000"
+               linecolor="0x000000" fillcolor="0xFFFFC1" linesize="2"/>
+        </datastyle>
+        <datastyle name="jline">
+            <pointstyle name="point" width="10" height="10" color="0x58FB59" opacity="1" shape="square" strokeStyle="0x1D991D" lineWidth="1"/>
+            <linestyle name="line" color="0xCCCCCC" size="1" opacity="1" type="solid"/>
+            <regionstyle name="region" color="0xFDBF6F" opacity="1" gradient="none"/>
+            <labelstyle name="label" font="serif" fontsize="9" fontcolor="0x000000" linecolor="0x000000" fillcolor="0xFFFFC1" linesize="12" fontangle="90"/>
+            <labelstyle name="tip" font="serif" fontsize="8" fontcolor="0x000000"
+               linecolor="0x000000" fillcolor="0xFFFFC1" linesize="2"/>
+        </datastyle>
+        <datastyle name="kline">
+            <pointstyle name="point" width="10" height="10" color="0x58FB59" opacity="1" shape="square" strokeStyle="0x1D991D" lineWidth="1"/>
+            <linestyle name="line" color="0xCCCCCC" size="1" opacity="1" type="solid"/>
+            <regionstyle name="region" color="0xFF7F00" opacity="1" gradient="none"/>
+            <labelstyle name="label" font="serif" fontsize="9" fontcolor="0x000000" linecolor="0x000000" fillcolor="0xFFFFC1" linesize="12" fontangle="90"/>
+            <labelstyle name="tip" font="serif" fontsize="8" fontcolor="0x000000"
+               linecolor="0x000000" fillcolor="0xFFFFC1" linesize="2"/>
+        </datastyle>
+        <datastyle name="lline">
+            <pointstyle name="point" width="10" height="10" color="0x58FB59" opacity="1" shape="square" strokeStyle="0x1D991D" lineWidth="1"/>
+            <linestyle name="line" color="0xCCCCCC" size="1" opacity="1" type="solid"/>
+            <regionstyle name="region" color="0xCAB2D6" opacity="1" gradient="none"/>
+            <labelstyle name="label" font="serif" fontsize="9" fontcolor="0x000000" linecolor="0x000000" fillcolor="0xFFFFC1" linesize="12" fontangle="90"/>
+            <labelstyle name="tip" font="serif" fontsize="8" fontcolor="0x000000"
+               linecolor="0x000000" fillcolor="0xFFFFC1" linesize="2"/>
+        </datastyle>
+        <datastyle name="mline">
+            <pointstyle name="point" width="10" height="10" color="0x58FB59" opacity="1" shape="square" strokeStyle="0x1D991D" lineWidth="1"/>
+            <linestyle name="line" color="0xCCCCCC" size="1" opacity="1" type="solid"/>
+            <regionstyle name="region" color="0x6A3D9A" opacity="1" gradient="none"/>
+            <labelstyle name="label" font="serif" fontsize="9" fontcolor="0x000000" linecolor="0x000000" fillcolor="0xFFFFC1" linesize="12" fontangle="90"/>
+            <labelstyle name="tip" font="serif" fontsize="8" fontcolor="0x000000"
+               linecolor="0x000000" fillcolor="0xFFFFC1" linesize="2"/>
+        </datastyle>
+    </datastylelist>
+</chartstyle>    
+    
+</library> 
diff --git a/WebContent/src/base/components/omcharts/omlegend.lzx b/WebContent/src/base/components/omcharts/omlegend.lzx
new file mode 100644
index 0000000..0bbdb12
--- /dev/null
+++ b/WebContent/src/base/components/omcharts/omlegend.lzx
@@ -0,0 +1,262 @@
+<!---
+    @access public
+    @topic Components
+    @subtopic Charts
+  -->
+<library>
+
+    <!---
+     simple legend class
+     @access public
+      -->
+    <class name="omlegend" extends="drawview" >
+        <!--- @keyword private -->
+        <attribute name="topmargin" type="number" value="0"/>
+        <!--- @keyword private -->
+        <attribute name="bottommargin" type="number" value="0"/>
+        <!--- @keyword private -->
+        <attribute name="leftmargin" type="number" value="0"/>
+        <!--- @keyword private -->
+        <attribute name="rightmargin" type="number" value="0"/>
+        <!--- @keyword private -->
+        <attribute name="verticalgap" type="number" value="1"/>
+        <!--- Indicates if legend box will have a border, default: true -->
+        <attribute name="legendborder" type="boolean" value="true"/>
+        <!--- Allow to set the line width from the legend tag -->
+        <attribute name="borderWidth" type="number" value="1"/>
+        <!--- Allow to set the color line from the legend tag -->
+        <attribute name="borderColor" type="color" value="0x000000"/>
+        <!--- Allow to set the fill color from the legend tag -->
+        <attribute name="fillColor" type="color" value="0xFFFFFF"/>
+        <!--- Indicates how the legend items will be displayed, default: vertical -->
+        <attribute name="direction" type="string" value="vertical"/>     
+        <!--- Indicates the style will be applied tho the border legend box -->
+        <attribute name="styleBorder" type="string" value="null"/>
+        <!--- Indicates the Font will be used in the legend item text -->
+        <attribute name="legendFont" type="string" value="serif"/>
+        <!--- Indicates the Font size wiil be used in the legend item text, default: 10px -->
+        <attribute name="legendFontsize" type="size" value="6"/>
+        <!--- Indicates the Font color wiil be used in the legend item text, default: black -->
+        <attribute name="legendFontcolor" type="color" value="0x000000"/>
+        <!--- Indicates where the legend box will be positioned, default: right -->
+        <attribute name="position" type="string" value="right"/>
+
+        <!--- Takes the relationship with the chart -->
+        <attribute name="chart" type="expression" value="${null}"/>
+        <attribute name="chartClassName" type="string" value="${null}"/>
+
+        <simplelayout axis="y"/>
+        
+                
+       <!--- @keywords private
+        <handler name="oninitdone" reference="this.chart">
+            if(chart.initdone)
+            {
+                var lChart = this.getChartInstance();
+                if( lChart != null ) {
+                    this.chartClassName = lChart.constructor.tagname;
+                    this.datapath.setFromPointer(lChart.getDataSeries().getLegend());
+                }   
+            }
+        </handler>
+         -->
+         
+        <handler name="oninit">
+        	<![CDATA[
+        	    var tObject = parent.getOMDataSeries();
+        	    this.chart = parent;
+        	    
+        	    for (var i=0;i<tObject.tooltipseries.length;i++) {
+        	    	
+        	    	new lz.omlegenditem(this.viewlegendbox,{tBox:tObject.tooltipseries[i]});
+        	    	
+        	    }
+        	    
+        	    //this.bringToFront();
+        	    this.border();
+        	]]>
+        </handler> 
+        
+        <!-- Top Margin -->
+        <view height="${parent.topmargin}" />
+        <!-- Legend box -->
+        <view name="viewlegendbox">    
+            <simplelayout spacing="${parent.parent.verticalgap}"/>       
+            <method name="init">
+                <![CDATA[
+    
+                    super.init();
+                    if ( parent.direction == 'horizontal'){
+                        this.layouts[0].setAttribute('axis', 'x');
+                    } else {
+                        this.layouts[0].setAttribute('axis', 'y');
+                    }
+                   
+                ]]>
+            </method>    
+                  
+        </view>
+        <!-- Bottom Margin -->
+        <view height="${parent.bottommargin}"/>        
+
+
+        <!--- @keywords private -->
+        <method name="border">
+            var lStartX = Math.ceil(this.lineWidth/2);
+            var lStartY = Math.ceil(this.lineWidth/2);
+            var lOrgWidth = this.width;
+            var lOrgHeight = this.height;
+
+            this.lineWidth = this.borderWidth;
+            this.strokeStyle = this.borderColor;
+            this.fillStyle = this.fillColor;
+
+            this.beginPath();
+            this.moveTo(lStartX, lStartY);
+            this.lineTo(this.width, lStartY);
+            this.lineTo(this.width, this.height);
+            this.lineTo(lStartY, this.height);
+            this.lineTo(lStartX, lStartY);
+            this.closePath();
+            this.stroke();
+            this.fill();
+
+            // Restores the original dimensions of the legend, due to the changes
+            // that the lineTo()'s calls perform over the legendbox dimensions.
+            this.setAttribute( "width", lOrgWidth );
+            this.setAttribute( "height", lOrgHeight );
+        </method>
+
+        <!--- @keywords private -->
+        <method name="getChartInstance">
+        <![CDATA[
+            return this.chart;
+        ]]>
+        </method>
+
+        <!--- event that allows custom action for mouse over event
+            @param Number item: The identifier legend item
+         -->
+        <event name="onitemmouseover" />
+        <!--- event that allows custom action for mouse out event
+            @param Number item: The identifier legend item
+         -->
+        <event name="onitemmouseout" />
+        <!--- event that allows custom action for mouse down event
+            @param Number item: The identifier legend item
+         -->
+        <event name="onitemmousedown" />
+        <!--- event that allows custom action for mouse up event
+            @param Number item: The identifier legend item
+         -->
+        <event name="onitemmouseup" />
+        <!--- event that allows custom action for mouse click event
+            @param Number item: The identifier legend item
+         -->
+        <event name="onitemmouseclick" />
+        
+    </class>
+    
+    <!--- @keyword private
+    individual legend item -->
+    <class name="omlegenditem" >
+        <attribute name="identifier" type="number" value="0"/>
+        <attribute name="tBox" type="string" value=""/>
+        <attribute name="linevisible" type="boolean" value="false"/>
+        <simplelayout axis="x" spacing="$once{parent.parent.parent.verticalgap}"/>
+        <view name="leftmarginview" width="$once{parent.parent.parent.leftmargin}" />
+        <marker name="legendmarker"></marker>    
+        <text name="legendtext" resize="true" text="$once{ parent.tBox }" 
+        	  fontsize="$once{parent.parent.parent.legendFontsize}"
+              fgcolor="$once{parent.parent.parent.legendFontcolor}"
+              height="$once{parent.parent.parent.legendFontsize+6}">
+        </text>
+        <view name="rightmarginview" width="${parent.parent.parent.rightmargin}"/>
+        <method name="init">
+            <![CDATA[
+                super.init();
+
+                var colors = new Array(0);
+                var imagesPath = new Array(0);
+                var legenditems = parent.subviews;
+                var legendmarkeritem;
+
+                if( parent.parent.chartClassName == "piechart" ) {
+                    var arrPieces = parent.parent.getChartInstance().plotarea.arrPiePieces;
+                    var piePiece;
+
+                    for(var i = 0; i < arrPieces.length; i++){ 
+                        piePiece = arrPieces[i];  
+                        colors[i] = piePiece.style.region.color;
+                        
+                        if ( legenditems[i] != null ){                
+                            legendmarkeritem = legenditems[i].legendmarker;
+                            legendmarkeritem.setAttribute('width', piePiece.style.point.width);
+                            legendmarkeritem.setAttribute('height', piePiece.style.point.height);
+                        }
+                    }
+                } else {
+                    var topseries = parent.parent.getChartInstance().getDataSeries();
+                    var numSeries = topseries.getNumDataSeries();
+                    for(var i = 0; i < numSeries; i++){ 
+                        var ldatastyle = parent.parent.getChartInstance().style.getDataStyle(i);
+                        if ( parent.parent.chartClassName == "linechart" )
+                            colors[i] = ldatastyle.line.color;
+                        else
+                            if ( ldatastyle.region.image != null ){
+                                imagesPath[i] = ldatastyle.region.image;
+                            } else {
+                                colors[i] = ldatastyle.region.color;
+                            }
+                        if ( legenditems[i] != null ){                
+                            legendmarkeritem = legenditems[i].legendmarker;
+                            legendmarkeritem.setAttribute('width', ldatastyle.point.width);
+                            legendmarkeritem.setAttribute('height', ldatastyle.point.height);
+                        }
+                    }
+                }
+
+                for(var i = 0; i < legenditems.length; i++){
+                    var legenditem = legenditems[i];
+                    legendmarkeritem = legenditem.legendmarker;
+                    if ( imagesPath[i] != null ){
+                        legendmarkeritem.setSource(imagesPath[i]);
+                        legendmarkeritem.setAttribute('opacity', ldatastyle.region.opacity);
+                        legendmarkeritem.setAttribute( "visible", true );
+                    }
+                    else
+                        legendmarkeritem.setAttribute('bgcolor', colors[i]);
+                    this.setAttribute('identifier', i);
+                }
+            ]]>
+        </method>
+        <!--- calls the method that implements the acton
+            @keyword private-->
+        <handler name="onmouseover">
+        	this.legendtext.setAttribute("fontstyle","bold");
+            parent.classroot.onitemmouseover.sendEvent(this);
+        </handler>
+        <!--- calls the method that implements the acton
+            @keyword private-->
+        <handler name="onmouseout">
+        	this.legendtext.setAttribute("fontstyle","plain");
+            parent.classroot.onitemmouseout.sendEvent(this);
+        </handler>
+        <!--- calls the method that implements the acton
+            @keyword private-->
+        <handler name="onmousedown">
+            parent.classroot.onitemmousedown.sendEvent(this);
+        </handler>
+        <!--- calls the method that implements the acton
+            @keyword private-->
+        <handler name="onmouseup">
+            parent.classroot.onitemmouseup.sendEvent(this);
+        </handler>
+        <!--- calls the method that implements the acton
+            @keyword private-->
+        <handler name="onclick">
+            parent.classroot.onitemmouseclick.sendEvent(this);
+        </handler>
+    </class>
+
+</library>
diff --git a/WebContent/src/base/components/omcharts/ompiechart.lzx b/WebContent/src/base/components/omcharts/ompiechart.lzx
new file mode 100644
index 0000000..c1a7d12
--- /dev/null
+++ b/WebContent/src/base/components/omcharts/ompiechart.lzx
@@ -0,0 +1,87 @@
+<!---
+    @access public
+    @topic Components
+    @subtopic Charts
+  -->
+<library>
+    
+    <!---
+          A pie chart represents a chart that is displayed in the 2D
+          polar plane. This class inherits immediately from chart class
+          and can be instantiated directly. (Warning: Of beta quality.)
+          @access public
+          -->
+    <class name="ompiechart" extends="chart">
+
+        <!--- @keywords private -->
+        <method name="init">
+            plotarea = this.getNodeOfClass("piechartplotarea");
+            _datalabelpool = this.createLabelViewspool();
+            super.init();            
+        </method>  
+        
+        <!--- Renders the plot area which is an instance of the piechartplotarea 
+              class. The plot area requires to read a group of two data series, one
+              for the groups that are represented by the pie slices and the second
+              for their values. -->
+        <method name="renderPlotArea">
+        <![CDATA[
+            super.renderPlotArea();
+            plotarea.clear();
+
+            var topseries = this.getOMDataSeries();
+            
+            //var numSeries = topseries.getNumDataSeries();
+            var numSeries = 1;
+            
+            var xseries = topseries.xseries;
+            var yseries = topseries.yseries;
+            var tooltipseries = topseries.tooltipseries;
+                                
+            for(var i = 0; i < numSeries; i++)
+            {
+                plotarea.renderSeries(xseries, yseries, tooltipseries);          
+            }
+            if ( this.datalabelEnabled ){
+                this.renderDataLabels();
+            }
+
+        ]]>
+        </method>
+        
+        <!--- Renders the labels that display the values of the data series. -->
+        <method name="renderDataLabels">
+        
+            <![CDATA[
+                _datalabelpool.reclaimAll();
+            
+                var arrPiePieces = this.plotarea.arrPiePieces;
+                var topseries = this.getOMDataSeries();
+                
+                var xseries = topseries.xseries;
+                var yseries = topseries.yseries;
+                var tooltipseries = topseries.tooltipseries;
+                
+                if ($debug) Debug.write("arrPiePieces.length ",arrPiePieces.length);
+
+                for(var i = 0; i < arrPiePieces.length; i++){ 
+                    piePiece = arrPiePieces[i];  
+                    
+                    var lbl = _datalabelpool.getView();
+                    var ldatastyle = piePiece.style;
+                    lbl.setAttribute('style', ldatastyle.label);
+                    lbl.render(yseries[i]);
+                    piePiece.renderLabel(lbl);
+                }
+            ]]>
+                
+        </method>
+        
+        <!--- The plot area where the pie slices are rendered -->
+        <piechartplotarea name="plotarea" x="50" y="20" width="500" height="300">
+        	
+        </piechartplotarea>
+
+    </class>
+    
+</library> 
diff --git a/WebContent/src/base/components/panel/baseBoundingBorderView.lzx b/WebContent/src/base/components/panel/baseBoundingBorderView.lzx
new file mode 100644
index 0000000..db454a5
--- /dev/null
+++ b/WebContent/src/base/components/panel/baseBoundingBorderView.lzx
@@ -0,0 +1,499 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="baseBoundingBorderView" extends="view" width="250" y="100" height="400"
+	onmousedown="this._startDragState(this)" onmouseup="this._removeDragState(this)" >
+	
+	<!--- Can this Box be docked to others and 
+			the width/height of parent compoent barrier -->
+	<attribute name="docking" value="false" type="boolean" />
+	
+	<!--- Hard to explain but its clear if you play around 
+		with that. Its the number of minimum pixels before 
+		the "docking" effect will be there -->
+	<attribute name="dockingbarrier" value="15" type="number" />
+	
+	<attribute name="boundingbarrier" value="2" type="number" />
+	
+	<!--- the Event will be thrown if you close the Box -->
+	<event name="onclose" />
+	
+	<!--- extra Event for this kind of view
+		will be thrown before the view inits new -->
+	<event name="preclose" />
+	
+	<!---@keywords private the list of connected views -->
+	<attribute name="dockinglist" value="null" />
+	
+	<!--- @keywords private temp-older of x-distance to docked-Box  -->
+	<attribute name="tempXdistance" value="0" type="number" />
+
+	<!--- @keywords private temp-older of y-distance to docked-Box  -->
+	<attribute name="tempYdistance" value="0" type="number" />
+	
+	<!--- @keywords private is the Box minimized  -->
+	<attribute name="isopen" value="true" type="boolean" />
+	
+	<!--- @keywords private is the Box minimized  -->
+	<attribute name="open" value="true" type="boolean" />	
+	
+	<attribute name="currentBoundingBox" value="null" />
+	
+	<attribute name="verticalClassActive" value="false" type="boolean" />
+	<attribute name="activationClassBounding" value="" type="string" />
+	<attribute name="activationVClassBounding" value="" type="string" />
+	
+	<attribute name="topClassPanel" value="" type="string" />
+	<attribute name="bottomClassPanel" value="" type="string" />
+	<attribute name="rightClassPanel" value="" type="string" />
+	<attribute name="leftClassPanel" value="" type="string" />
+	
+	<!-- this is the Width and Height of the vertical and horizontal class
+		it can have different values -->
+	<attribute name="hWidth" value="0" type="number" />
+	<attribute name="hHeight" value="0" type="number" />
+	<attribute name="vWidth" value="0" type="number" />
+	<attribute name="vHeight" value="0" type="number" />
+	
+	<!--- @keywords private  -->
+	<attribute name="initheight" value="0" type="number" />
+	
+	<attribute name="hasshadow" value="true" type="boolean" />
+	
+	<attribute name="mousetracker_del" value="$once{ new LzDelegate(this, 'checkStaticBorders' )}" />
+	
+	<!--- @keywords private store initial height so toggleopen can reset height  -->
+    <handler name="oninit">
+    	this.initheight=this.height;
+		////Debug.write("this.isopen: ",this.isopen);
+		if (!this.open) toggleopen();
+    	if (this.hasshadow) this.setShadow(); 
+    </handler>
+    
+    <method name="setShadow" args="bool">
+        this.hasshadow = bool;
+        <![CDATA[
+        if (this.isinited){
+            this.normalMC = this.getDisplayObject();
+            //Debug.write(this.normalMC);
+            ////Debug.write("this.normalMC: ",this.normalMC);
+            ////Debug.write("this: ",this);
+           	this.displacementMap = new flash.filters.DropShadowFilter();
+            this.normalMC.filters = [this.displacementMap];
+        }
+        ]]>              
+    </method>		
+	
+	<method name="close">
+		if (this.onclose) this.onclose.sendEvent();
+		//this.doOut.doStart();
+		this.doDestroy();
+	</method>
+	
+	<method name="toggleopen">
+		////Debug.write("this.isopen",this.isopen);
+		this.setAttribute('isopen',!this.isopen);
+		if (this.isopen){
+			_calcdockingList();
+			for (var eg in this.dockinglist){
+				if(this.dockinglist[eg].docking){
+					////Debug.write("this.dockinglist[eg]: ",this.dockinglist[eg].title);
+					////Debug.write("open new y",this.y+this.initheight);
+					this.dockinglist[eg].toggleOpenByParent(this.initheight-22);
+					this.dockinglist[eg].setAttribute('y',this.y+this.initheight);
+					
+				}
+			}			
+			this.setAttribute('height',this.initheight);
+		} else {
+			_calcdockingList();
+			for (var eg in this.dockinglist){
+				if(this.dockinglist[eg].docking){
+					////Debug.write("this.dockinglist[eg]: ",this.dockinglist[eg].title);
+					this.dockinglist[eg].toggleOpenByParent(-(this.initheight-22));
+					this.dockinglist[eg].setAttribute('y',this.y+22);
+				}
+			}	
+			this.setAttribute('height',22);		
+		}
+	</method>
+	
+	<method name="toggleOpenByParent" args="changeY">
+		////Debug.write("+++++ toggleOpenByParent +++++ changeY: ",this.title,changeY);
+		var tempList=new Array();
+		<![CDATA[
+		//check for dockable stuff which is connected to this Box
+		for (var eg in this.parent.subviews){
+			//check that you do not calc with yourself
+			if (this.parent.subviews[eg]!=this && this.parent.subviews[eg].docking){
+				// there are 4 cases which have to be proofed to check every possible situation
+				var proof=false;
+				////Debug.write("found some: ",this.parent.subviews[eg].title);
+				//top box-border
+				if  ( ( ((this.y+this.height)-this.parent.subviews[eg].y) < 1 ) && ( ((this.y+this.height)-this.parent.subviews[eg].y) > -1 ) && ( (this.x+this.width) > this.parent.subviews[eg].x )  && ( this.x < (this.parent.subviews[eg].x+this.parent.subviews[eg].width) ) ){
+					proof=true;
+				}
+					
+				if (proof) tempList.push(this.parent.subviews[eg]);
+			}
+		}
+		]]>
+		////Debug.write("tempList.length: ",tempList.length);
+		if (tempList.length!=0){
+			for (var eg in tempList){
+				if(tempList[eg].docking){
+					////Debug.write("toggleOpenByParent 1 [eg],changeY: ",tempList[eg].title,changeY);
+					tempList[eg].toggleOpenByParent(changeY);
+					tempList[eg].setAttribute('y',tempList[eg].y+changeY);
+				}
+			}	
+		}
+		
+	</method>
+	
+	<!--- @keywords private  -->
+	<method name="_removeDragState" args="obj">
+		//It's important to remove the dragger and do docking stuff before you check for connencted Boxes
+		dragger.remove();
+		if (obj==this){
+			if (docking) arrangePosition();
+		} else {
+			if (docking) _lookforParentOnly(obj);
+		}
+			
+		//check for connected Boxes
+		for (var eg in this.dockinglist){
+			if(this.dockinglist[eg].docking){
+				this.dockinglist[eg]._removeDragState(this);
+			}
+		}
+		mousetracker_del.unregisterAll();
+		this.preclose.sendEvent();
+		if (this.currentBoundingBox!=null) {
+			
+			if(this.currentBoundingBox.width>this.currentBoundingBox.height){
+				if (this.currentBoundingBox.y==0){
+					if ($debug) Debug.write("TOP");
+					if (this.topClassPanel!=""){
+						new lz[this.topClassPanel](parent,{
+							x:this.currentBoundingBox.x,y:this.currentBoundingBox.y
+						});
+					} else {
+						if ($debug) Debug.warn("No Top Panel Definied");
+						new lz[this.activationVClassBounding](parent,{
+							x:this.currentBoundingBox.x,y:this.currentBoundingBox.y
+						});
+					}
+				} else if (this.currentBoundingBox.y==(parent.height-this.currentBoundingBox.height)){
+					if ($debug) Debug.write("BOTTOM");
+					if (this.bottomClassPanel!=""){
+						new lz[this.bottomClassPanel](parent,{
+							x:this.currentBoundingBox.x,y:this.currentBoundingBox.y
+						});
+					} else {
+						new lz[this.activationVClassBounding](parent,{
+							x:this.currentBoundingBox.x,y:this.currentBoundingBox.y
+						});
+					}
+				} else {
+					new lz[this.activationVClassBounding](parent,{
+						x:this.currentBoundingBox.x,y:this.currentBoundingBox.y
+					});
+				}
+			} else {
+				if (this.currentBoundingBox.x==0){
+					if ($debug) Debug.write("RIGHT");
+					if (this.rightClassPanel!=""){
+						new lz[this.rightClassPanel](parent,{
+							x:this.currentBoundingBox.x,y:this.currentBoundingBox.y
+						});
+					} else {
+						new lz[this.activationClassBounding](parent,{
+							x:this.currentBoundingBox.x,y:this.currentBoundingBox.y
+						});
+					}
+				} else if (this.currentBoundingBox.x==(parent.width-this.currentBoundingBox.width)){
+					if ($debug) Debug.write("LEFT");
+					if (this.leftClassPanel!=""){
+						new lz[this.leftClassPanel](parent,{
+							x:this.currentBoundingBox.x,y:this.currentBoundingBox.y
+						});
+					} else {
+						new lz[this.activationClassBounding](parent,{
+							x:this.currentBoundingBox.x,y:this.currentBoundingBox.y
+						});
+					}
+				} else {
+					new lz[this.activationClassBounding](parent,{
+						x:this.currentBoundingBox.x,y:this.currentBoundingBox.y
+					});
+				}
+			}
+			this.currentBoundingBox.destroy();
+			this.close();
+		} else {
+			if(this.width>this.height){
+				new lz[this.activationVClassBounding](parent,{x:this.x,y:this.y});
+			} else {
+				new lz[this.activationClassBounding](parent,{x:this.x,y:this.y});
+			}
+			this.close();
+		}
+	</method>
+
+	
+	<!--- @keywords private
+		the arg obj is needed because the dragging can be called by the Box itself
+		or by a Box which is connected to this Box!  -->
+	<method name="_startDragState" args="obj">
+		this.bringToFront();
+		_calcdockingList();
+		for (var eg in this.dockinglist){
+			if(this.dockinglist[eg].docking){
+				this.dockinglist[eg]._startDragState(this);
+			}
+		}
+		//store position cause it wasn't dragged by itself
+		if (obj!=this){
+			storeAdjustmentToParent(obj.x,obj.y);
+		}
+		dragger.apply();
+		mousetracker_del.register(lz.Idle,'onidle');
+	</method>
+	
+	<!--- arranges the Box to be build into any border -->
+	<method name="checkStaticBorders" args="item">
+		<![CDATA[
+			if (!this.verticalClassActive){
+				//if ($debug) Debug.write("checkStaticBorders");
+				if (this.x<this.boundingbarrier){
+					this.setAttribute('visibility','hidden');
+					if (this.y<this.boundingbarrier){
+						//if ($debug) Debug.write("a1");
+						this.drawCurrentBoundingBox(0,0,this.vWidth,this.vHeight);
+					} else if ( (this.parent.height-(this.y+this.height))<this.boundingbarrier){
+						//if ($debug) Debug.write("a2");
+						this.drawCurrentBoundingBox(0,parent.height-this.vHeight,this.vWidth,this.vHeight);
+					} else {
+						//if ($debug) Debug.write("a3");
+						this.drawCurrentBoundingBox(0,this.y,this.width,this.height);
+					}
+				} else if (this.y<this.boundingbarrier){
+					this.setAttribute('visibility','hidden');
+					if ( (this.parent.width-(this.x+this.height))<this.boundingbarrier){
+						//if ($debug) Debug.write("b1");
+						this.drawCurrentBoundingBox((this.parent.width-this.vWidth),0,this.vWidth,this.vHeight);
+					} else {
+						//if ($debug) Debug.write("b2");
+						this.drawCurrentBoundingBox(this.x,0,this.vWidth,this.vHeight);
+					}
+				} else if ( (this.parent.width-(this.x+this.width))<this.boundingbarrier){
+					this.setAttribute('visibility','hidden');
+					//if ($debug) Debug.write("c");
+					if ( (this.parent.height-(this.y+this.height))<this.boundingbarrier){
+						this.drawCurrentBoundingBox(parent.width-this.vWidth,parent.height-this.vHeight,this.vWidth,this.vHeight);
+					} else {
+						this.drawCurrentBoundingBox(parent.width-this.width,this.y,this.width,this.height);
+					}
+				} else if ( (this.parent.height-(this.y+this.height))<this.boundingbarrier){
+					
+					this.setAttribute('visibility','hidden');
+					if ( (this.parent.width-(this.x+this.height))<this.boundingbarrier){
+						//if ($debug) Debug.write("d1");
+						this.drawCurrentBoundingBox(parent.width-this.vWidth,parent.height-this.vHeight,this.vWidth,this.vHeight);
+					} else {
+						//if ($debug) Debug.write("d2");
+						this.drawCurrentBoundingBox(this.x,parent.height-this.vHeight,this.vWidth,this.vHeight);
+					}
+				} else {
+					//if ($debug) Debug.write("d");
+					this.setAttribute('visibility','visible');
+					if (this.currentBoundingBox!=null) {
+						this.currentBoundingBox.destroy();
+						this.currentBoundingBox = null;
+					}
+				}
+			} else {
+				if (this.x<this.boundingbarrier){
+					//if ($debug) Debug.write("a",(this.parent.height-(this.y+this.width)));
+					this.setAttribute('visibility','hidden');
+					if (this.y<this.boundingbarrier){
+						//if ($debug) Debug.write("a1");
+						this.drawCurrentBoundingBox(0,0,this.width,this.height);
+					} else if ( (this.parent.height-(this.y+this.width))<this.boundingbarrier){
+						//if ($debug) Debug.write("a2");
+						this.drawCurrentBoundingBox(0,parent.height-this.height,this.width,this.height);
+					} else {
+						//if ($debug) Debug.write("a3");
+						this.drawCurrentBoundingBox(0,this.y,this.hWidth,this.hHeight);
+					}
+				} else if (this.y<this.boundingbarrier){
+					//if ($debug) Debug.write("b");
+					this.setAttribute('visibility','hidden');
+					if ( (this.parent.width-(this.x+this.width))<this.boundingbarrier){
+						this.drawCurrentBoundingBox(this.parent.width-this.width,0,this.width,this.height);
+					} else {
+						this.drawCurrentBoundingBox(this.x,0,this.width,this.height);
+					}
+				} else if ( (this.parent.width-(this.x+this.width))<this.boundingbarrier){
+					this.setAttribute('visibility','hidden');
+					if ( (this.parent.height-(this.y+this.width))<this.boundingbarrier){
+						this.drawCurrentBoundingBox(this.parent.width-this.width,parent.height-this.height,this.width,this.height);
+					} else {
+						this.drawCurrentBoundingBox(parent.width-this.hWidth,this.y,this.hWidth,this.hHeight);
+					}
+				} else if ( (this.parent.height-(this.y+this.height))<this.boundingbarrier){
+					this.setAttribute('visibility','hidden');
+					this.drawCurrentBoundingBox(this.x,parent.height-this.height,this.width,this.height);
+				} else {
+					//if ($debug) Debug.write("d");
+					this.setAttribute('visibility','visible');
+					if (this.currentBoundingBox!=null) {
+						this.currentBoundingBox.destroy();
+						this.currentBoundingBox = null;
+					}
+				}
+			}			
+		]]>
+	</method>
+	
+	<method name="drawCurrentBoundingBox" args="x,y,width,height">
+		if (this.currentBoundingBox!=null) this.currentBoundingBox.destroy();
+		this.currentBoundingBox = new lz.panelBoundBox(parent,{x:x,y:y,
+			width:width,height:height});
+	</method>
+	
+	<!--- Calc the List of Boxes which will be dragged and setposition if this Box
+		will be dragged,docked or minimized/maximized  -->
+	<method name="_calcdockingList">
+		//Clear list of conencted Boxes
+		this.dockinglist=new Array();
+		<![CDATA[
+		//check for dockable stuff which is connected to this Box
+		for (var eg in this.parent.subviews){
+			//check that you do not calc with yourself
+			if (this.parent.subviews[eg]!=this && this.parent.subviews[eg].docking){
+				// there are 4 cases which have to be proofed to check every possible situation
+				var proof=false;
+
+				//top box-border
+				if  ( ( ((this.y+this.height)-this.parent.subviews[eg].y) < 1 ) && ( ((this.y+this.height)-this.parent.subviews[eg].y) > -1 ) && ( (this.x+this.width) > this.parent.subviews[eg].x )  && ( this.x < (this.parent.subviews[eg].x+this.parent.subviews[eg].width) ) ){
+					proof=true;
+				}
+
+				if (proof) this.dockinglist.push(this.parent.subviews[eg]);
+			}
+		}
+		]]>
+		////Debug.write("this.dockinglist.length:",this.dockinglist.length);
+	</method>
+	
+	<!--- @keywords private  -->
+	<method name="arrangePosition">
+		//do the magic
+		//the idea is: look for all on the view container one level above this one
+		//and look for the width/height and 0/0 and look for "dockable" stuff there
+		var newx=this.x;
+		var newy=this.y;
+	  
+		<![CDATA[
+				
+		for (var eg in this.parent.subviews){
+			//check that you do not calc with yourself
+			if (this.parent.subviews[eg]!=this && this.parent.subviews[eg].docking){
+				// there are 4 cases which have to be proofed to check every possible situation
+				//left box-border
+				if ( ( ((this.x+this.width)-this.parent.subviews[eg].x) < this.dockingbarrier ) && ( ((this.x+this.width)-this.parent.subviews[eg].x) > -this.dockingbarrier ) &&  ( (this.y+this.height) > this.parent.subviews[eg].y ) &&  ( this.y < (this.parent.subviews[eg].y+this.parent.subviews[eg].height) ) ){
+					newx= ( this.parent.subviews[eg].x - this.width );
+				}
+				//right box-border
+				if ( ( ((this.parent.subviews[eg].x+this.parent.subviews[eg].width)-this.x)<this.dockingbarrier ) && ( ((this.parent.subviews[eg].x+this.parent.subviews[eg].width)-this.x)>-this.dockingbarrier ) &&  ( (this.y+this.height) > this.parent.subviews[eg].y ) &&  ( this.y < (this.parent.subviews[eg].y+this.parent.subviews[eg].height) ) ){
+					newx= ( this.parent.subviews[eg].x + this.parent.subviews[eg].width );
+				}
+				//top box-border
+				if  ( ( ((this.y+this.height)-this.parent.subviews[eg].y) < this.dockingbarrier ) && ( ((this.y+this.height)-this.parent.subviews[eg].y) > -this.dockingbarrier ) && ( (this.x+this.width) > this.parent.subviews[eg].x )  && ( this.x < (this.parent.subviews[eg].x+this.parent.subviews[eg].width) ) ){
+					newy = this.parent.subviews[eg].y-this.height;
+				}
+				//bottom box-border
+				if ( ( ((this.parent.subviews[eg].y+this.parent.subviews[eg].height)-this.y) < this.dockingbarrier ) && ( ((this.parent.subviews[eg].y+this.parent.subviews[eg].height)-this.y) > -this.dockingbarrier ) && ( (this.x+this.width) > this.parent.subviews[eg].x )  && ( this.x < (this.parent.subviews[eg].x+this.parent.subviews[eg].width) ) ){
+					newy = this.parent.subviews[eg].y+this.parent.subviews[eg].height;
+				}
+			}
+		}
+		
+		//Check for Borders
+		//should be done _after_ checking for other dockable stuff so it gets 
+		//priority to dock against the border of parent view
+		if (this.x<this.dockingbarrier){
+			newx=0;
+		}
+		if (this.y<this.dockingbarrier){
+			newy=0;
+		}
+		if ( (this.parent.width-(this.x+this.width))<this.dockingbarrier){
+			newx=this.parent.width-this.width;
+		}
+		if ( (this.parent.height-(this.y+this.height))<this.dockingbarrier){
+			newy=this.parent.height-this.height;
+		}
+		
+		//set position
+		this.setAttribute('x',newx);
+		this.setAttribute('y',newy);
+		if ($debug) Debug.write("Position: ",newx,newy);
+		]]>
+	</method>
+	
+	<method name="storeAdjustmentToParent" args="objX,objY">
+		this.tempXdistance=objX-this.x;
+		this.tempYdistance=objY-this.y;
+	</method>
+	
+	<!--- @keywords private 
+		this method is needed because if the dragging end and
+		it was not dragged _itself_ it was draged just because a connected
+		dockable Box was dragged than it could be that the connected
+		Box was forced to dock against something different onmouseup
+		so you have to rearrange the old "adjustment"	-->
+	<method name="_lookforParentOnly" args="obj">
+		<![CDATA[		
+		var newx=obj.x-tempXdistance;
+		var newy=obj.y-tempYdistance;
+		
+		this.setAttribute('x',newx);
+		this.setAttribute('y',newy);
+		]]>
+	</method>
+	
+	<dragstate name="dragger" />
+    
+    <animator attribute="y" to="20" duration="1000" start="false" />
+        
+    <animator name="doOut" attribute="y" to="-500" duration="1000" start="false" onstop="parent.doDestroy()" />    
+    
+    <method name="doDestroy">
+        this.destroy();
+    </method>
+
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/panel/baseLeftPanel.lzx b/WebContent/src/base/components/panel/baseLeftPanel.lzx
new file mode 100644
index 0000000..b0b686c
--- /dev/null
+++ b/WebContent/src/base/components/panel/baseLeftPanel.lzx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="baseLeftPanel" extends="baseBoundingBorderView" 
+	   bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" hasshadow="false">
+	
+	<!--- if this Box should be closeable -->
+	<attribute name="closable" value="false" type="boolean" />
+	
+	<!--- Title of this window -->
+	<attribute name="title" type="string" value="basePanel" />
+	
+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+	<method name="setLabelId" args="_labelid" >
+		this.labelid = _labelid;
+		this.title=canvas.getLabelName(this.labelid);
+	</method>
+	
+	<!-- basebgcolorizer -->
+	
+	<view name="_bgItem" x="1" y="1" bgcolor="$once{ canvas.getThemeColor('mainBackgroundColor') }" 
+			width="$once{ this.parent.width-2 }" height="$once{ this.parent.height-2 }" />
+	
+	<view x="1" y="1" width="$once{ this.parent.width-2 }" height="17" 
+		  bgcolor="$once{ canvas.getThemeColor('baseMousecolorizer') }">
+        <handler name="onmousedown">
+        	parent.onmousedown.sendEvent(parent);
+        </handler>
+        <handler name="onmouseup">
+        	lz.Cursor.unlock();
+        	parent.onmouseup.sendEvent(parent);
+        </handler>
+        <handler name="onmouseover">
+        	//cursor="arrow_draw_panel_cursor" 
+        	lz.Cursor.setCursorGlobal("arrow_draw_panel_cursor");
+        </handler>
+        <handler name="onmouseout">
+        	lz.Cursor.unlock();
+        </handler>
+		<view resource="draw_box_horizontal_rsc" />
+	</view>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/panel/basePanel.lzx b/WebContent/src/base/components/panel/basePanel.lzx
new file mode 100644
index 0000000..75d0d32
--- /dev/null
+++ b/WebContent/src/base/components/panel/basePanel.lzx
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="basePanel" extends="baseBoundingBorderView" 
+	   bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" >
+	
+	<!--- if this Box should be closeable -->
+	<attribute name="closable" value="false" type="boolean" />
+	
+	<!--- Title of this window -->
+	<attribute name="title" type="string" value="basePanel" />
+	
+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+	<method name="setLabelId" args="_labelid" >
+		this.labelid = _labelid;
+		this.title=canvas.getLabelName(this.labelid);
+	</method>
+	
+	<view width="${ this.parent.width-2 }" height="${ this.parent.height-2 }" x="1" y="1" bgcolor="0xFFFFFF" />
+	<view x="1" y="1" width="${ this.parent.width-2 }" height="20" >
+				<view width="${ this.parent.parent.width-2 }" y="0" stretches="width"
+            resource="presenter_thumb_rsc" >
+            <handler name="oninit">
+            	<![CDATA[
+            		this.setColor(canvas.getThemeColor('basebgcolorizer'));
+            	]]>
+            </handler>
+			<method name="setTintRGB" args="color, brightness">
+			    <![CDATA[
+			    if (color != "" && color != null){
+			    	
+			        if (brightness == null) { brightness = 0; }
+			        var rgb = color;
+			        var red=(rgb >> 16) & 0xFF;
+			        var green=(rgb >> 8) & 0xFF;
+			        var blue=rgb & 0xFF;
+		
+			        this.setColorTransform( { ra : red, ga : green, ba : blue,
+			                            		rb : 0, gb : 0, bb : 0 } );
+			                            		
+			        if($debug) Debug.write("explorerBox/setTintRGB",this);
+			        if($debug) Debug.write("explorerBox/setTintRGB", { ra : red, ga : green, ba : blue, rb : 0, gb : 0, bb : 0 } );
+			    }
+			    ]]>
+			</method>            
+        </view>
+        <text fontsize="11" height="17" x="16" y="1" text="${ this.parent.parent.title }" 
+			fgcolor="0xFFFFFF" resize="true" fontstyle="bold" />
+		<button visible="${ this.parent.parent.closable }" x="${ this.parent.parent.width-23 }" 
+			y="1" text="X" height="18" width="20" >
+			<handler name="onmouseup">
+				this.parent.parent.close();
+			</handler>									
+		</button>
+		<view visible="${ !this.parent.parent.isopen }" x="2" y="3" resource="explorer_button_min_rsc">
+			<handler name="onmouseover">
+				this.setAttribute('frame',2);
+			</handler>
+			<handler name="onmouseout">
+				this.setAttribute('frame',1);
+			</handler>
+			<handler name="onmousedown">
+				this.setAttribute('frame',3);
+			</handler>	
+			<handler name="onmouseup">
+				this.setAttribute('frame',1);
+				this.parent.parent.toggleopen();
+			</handler>									
+		</view>
+		<view visible="${ this.parent.parent.isopen }" x="2" y="3" resource="explorer_button_max_rsc">
+			<handler name="onmouseover">
+				this.setAttribute('frame',2);
+			</handler>
+			<handler name="onmouseout">
+				this.setAttribute('frame',1);
+			</handler>
+			<handler name="onmousedown">
+				this.setAttribute('frame',3);
+			</handler>	
+			<handler name="onmouseup">
+				this.setAttribute('frame',1);
+				this.parent.parent.toggleopen();
+			</handler>									
+		</view>
+	</view>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/panel/basePropertyPanel.lzx b/WebContent/src/base/components/panel/basePropertyPanel.lzx
new file mode 100644
index 0000000..15d9ac1
--- /dev/null
+++ b/WebContent/src/base/components/panel/basePropertyPanel.lzx
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="basePropertyPanel" extends="view" >
+	
+	<!--- @keywords private is the Box minimized  -->
+	<attribute name="isopen" value="true" type="boolean" />
+	
+	<!--- @keywords private is the Box minimized  -->
+	<attribute name="open" value="true" type="boolean" />		
+	
+	<!--- if this Box should be closeable -->
+	<attribute name="closable" value="false" type="boolean" />
+	
+	<!--- Title of this window -->
+	<attribute name="title" type="string" value="basePanel" />
+	
+	<!--- @keywords private  -->
+	<attribute name="initheight" value="0" type="number" />
+	
+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+		
+	<method name="setLabelId" args="_labelid" >
+		this.labelid = _labelid;
+		this.title=canvas.getLabelName(this.labelid);
+	</method>
+	
+	<method name="toggleopen">
+		////Debug.write("this.isopen",this.isopen);
+		this.setAttribute('isopen',!this.isopen);
+		if (this.isopen){		
+			this.setAttribute('height',this.initheight);
+			this.setAttribute('height',this.initheight);
+		} else {	
+			this.setAttribute('height',22);		
+		}
+	</method>
+	
+    <handler name="oninit">
+    	this.initheight=this.height;
+    </handler>
+	
+	<view width="${ this.parent.width }" height="${ this.parent.height-2 }" 
+		  x="0" y="1"  />
+	
+    <view x="0" y="1" width="${ this.parent.width }" height="20" bgcolor="0xE0E1EB" />
+    
+    <view x="0" y="0" width="${ this.parent.width }" height="1" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" />
+    
+    <view x="0" y="19" width="${ this.parent.width }" height="1" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" />
+	
+		  
+    <view x="0" y="1" width="${ this.parent.width }" height="20" >
+		
+		<handler name="onclick">
+            this.parent.toggleopen();
+        </handler>
+		
+        <text fontsize="11" height="17" x="16" y="1" text="${ this.parent.parent.title }" 
+			fgcolor="$once{ canvas.getThemeColor('menuTextColor') }" resize="true" fontstyle="bold" />
+			
+		<button visible="${ this.parent.parent.closable }" x="${ this.parent.parent.width-23 }" 
+			y="1" text="X" height="18" width="20" >
+			<handler name="onmouseup">
+				this.parent.parent.close();
+			</handler>									
+		</button>
+		
+		<view visible="${ !this.parent.parent.isopen }" x="2" y="2" resource="conferenceBox_button_min_small_rsc">
+			<handler name="onmouseup">
+				this.parent.parent.toggleopen();
+			</handler>	
+			<labelTooltip name="_labelTooltip" labelid="857" />								
+		</view>
+		
+		<view visible="${ this.parent.parent.isopen }" x="2" y="2" resource="conferenceBox_button_max_small_rsc">
+			<handler name="onmouseup">
+				this.parent.parent.toggleopen();
+			</handler>
+			<labelTooltip name="_labelTooltip" labelid="856" />									
+		</view>
+		
+	</view>
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/panel/baseTopPanel.lzx b/WebContent/src/base/components/panel/baseTopPanel.lzx
new file mode 100644
index 0000000..933fc58
--- /dev/null
+++ b/WebContent/src/base/components/panel/baseTopPanel.lzx
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="baseTopPanel" extends="baseBoundingBorderView" 
+	   bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" hasshadow="false">
+	
+	<!--- if this Box should be closeable -->
+	<attribute name="closable" value="false" type="boolean" />
+	
+	<!--- Title of this window -->
+	<attribute name="title" type="string" value="basePanel" />
+	
+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+	<method name="setLabelId" args="_labelid" >
+		this.labelid = _labelid;
+		this.title=canvas.getLabelName(this.labelid);
+	</method>
+	
+	<view name="_bgItem" x="1" y="1" bgcolor="$once{ canvas.getThemeColor('mainBackgroundColor') }" 
+			width="$once{ this.parent.width-2 }" height="$once{ this.parent.height-2 }" />
+			
+	<view x="1" y="1" height="$once{ this.parent.height-2 }" width="17" 
+		  bgcolor="$once{ canvas.getThemeColor('baseMousecolorizer') }">
+        <handler name="onmousedown">
+        	parent.onmousedown.sendEvent(parent);
+        </handler>
+        <handler name="onmouseup">
+        	lz.Cursor.unlock();
+        	parent.onmouseup.sendEvent(parent);
+        </handler>
+        <handler name="onmouseover">
+        	//cursor="arrow_draw_panel_cursor" 
+        	lz.Cursor.setCursorGlobal("arrow_draw_panel_cursor");
+        </handler>
+        <handler name="onmouseout">
+        	lz.Cursor.unlock();
+        </handler>
+		<view resource="draw_box_vertical_rsc" />
+	</view>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/panel/labelPanel.lzx b/WebContent/src/base/components/panel/labelPanel.lzx
new file mode 100644
index 0000000..34aac21
--- /dev/null
+++ b/WebContent/src/base/components/panel/labelPanel.lzx
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="labelPanel" extends="basePanel" >
+	
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/panel/library.lzx b/WebContent/src/base/components/panel/library.lzx
new file mode 100644
index 0000000..96746f9
--- /dev/null
+++ b/WebContent/src/base/components/panel/library.lzx
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<include href="resources/" />
+	
+	<include href="baseBoundingBorderView.lzx" />
+	<include href="basePanel.lzx" />
+	<include href="baseTopPanel.lzx" />
+	<include href="baseLeftPanel.lzx" />
+	<include href="panelBoundBox.lzx" />
+	<include href="basePropertyPanel.lzx" />
+
+    
+</library>
diff --git a/WebContent/src/base/components/panel/panelBoundBox.lzx b/WebContent/src/base/components/panel/panelBoundBox.lzx
new file mode 100644
index 0000000..fb637a6
--- /dev/null
+++ b/WebContent/src/base/components/panel/panelBoundBox.lzx
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--
+
+<class name="drawViewNew" extends="drawview" cachebitmap="false" x="-1" y="-1" >
+ -->
+<class name="panelBoundBox" extends="drawview" cachebitmap="false" >
+	
+	<handler name="oncontext">
+		var numberColor = this.stringRgbToInteger(canvas.getThemeColor('basebgcolorizer'));
+		var fillColor = this.stringRgbToInteger(canvas.getThemeColor('baseMousecolorizer'));
+		this.drawBody(this,0,0,this.width,this.height,fillColor,2);
+		this.drawDottedLine(this,0,0,this.width,0,numberColor,2);
+		this.drawDottedLine(this,this.width,0,this.width,this.height,numberColor,2);
+		this.drawDottedLine(this,this.width,this.height,0,this.height,numberColor,2);
+		this.drawDottedLine(this,0,this.height,0,0,numberColor,2);
+	</handler>
+	
+	<method name="stringRgbToInteger" args="rgb">
+	    <![CDATA[
+	        var red=(rgb >> 16) & 0xFF;
+	        var green=(rgb >> 8) & 0xFF;
+	        var blue=rgb & 0xFF;
+	        return (red * 65536 + green * 256 + blue);
+	    ]]>
+	</method>
+	
+  	<method name="drawBody" args="targetObj,x1,y1,x2,y2,fill,lineWidth">
+   		<![CDATA[
+    		
+            //if ($debug) Debug.write("drawBody: ",targetObj,lineWidth);
+        
+    		targetObj.lineWidth = lineWidth;
+    		targetObj.beginPath();
+    		targetObj.moveTo(x1,y1);
+    		targetObj.lineTo(x1,y2);
+    		targetObj.lineTo(x2,y2);
+    		targetObj.lineTo(x2,y1);
+    		targetObj.lineTo (x1,y1);
+    		targetObj.closePath();
+
+    		targetObj.fillStyle = fill;
+    		targetObj.fill();
+    		
+    	]]>   
+  	</method> 	
+
+	<method name="drawDottedLine" args="targetObj,startx,starty,endx,endy,stroke,lineWidth">
+    	<![CDATA[
+    		//var drawObj = new lz.drawview(targetObj,{width:this.width,height:this.height});	    
+    		//if ($debug) Debug.write("drawDottedLine: ",targetObj,startx,starty,endx,endy,stroke,lineWidth);
+	    	Math.linearTween = function (t, b, c, d) {
+			    return c*t/d + b;
+			};
+
+    		//if($debug)  Debug.write("drawDashLine: ",tObject);
+    		var tx = endx;
+    		var ty = endy;
+    		var sx = startx;
+    		var sy = starty;
+    		var distance = Math.sqrt(Math.pow(tx-sx,2)+Math.pow(ty-sy,2)); 
+    		var steps = Math.floor(distance  / 5 ); 
+    		//if($debug)  Debug.write("steps: ",steps);
+    		var gap = false;
+    		//if($debug)  Debug.write("gap1: ",gap);
+	        for (var i = 1; i<=steps; ++i) {
+	            var ctx = Math.linearTween(i, sx, tx-sx,steps);    //equations by R.Penner!
+	            var cty = Math.linearTween(i, sy, ty-sy,steps);
+	            //if($debug)  Debug.write("gap2: ",gap);
+	            gap = !gap;    //abwechselnd luecke/nichtluecke
+	            if(!gap) {
+	            	//if($debug)  Debug.write(csx,csy,"|",ctx,cty);
+    				targetObj.strokeStyle = stroke;
+    				targetObj.lineWidth = lineWidth;
+    				targetObj.beginPath();    			            	
+	               	targetObj.moveTo(csx,csy);
+	                targetObj.lineTo(ctx,cty);
+	                targetObj.stroke();
+	            }
+	            csx =ctx;
+	            csy = cty;
+	        }       		  		
+    	]]>
+	</method>	
+	
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/panel/resources/arrow_cursor.fla b/WebContent/src/base/components/panel/resources/arrow_cursor.fla
new file mode 100644
index 0000000..7937bab
--- /dev/null
+++ b/WebContent/src/base/components/panel/resources/arrow_cursor.fla
Binary files differ
diff --git a/WebContent/src/base/components/panel/resources/arrow_cursor.swf b/WebContent/src/base/components/panel/resources/arrow_cursor.swf
new file mode 100644
index 0000000..c41d8dc
--- /dev/null
+++ b/WebContent/src/base/components/panel/resources/arrow_cursor.swf
Binary files differ
diff --git a/WebContent/src/base/components/panel/resources/arrow_cursor_resize_tool.fla b/WebContent/src/base/components/panel/resources/arrow_cursor_resize_tool.fla
new file mode 100644
index 0000000..47f6ba9
--- /dev/null
+++ b/WebContent/src/base/components/panel/resources/arrow_cursor_resize_tool.fla
Binary files differ
diff --git a/WebContent/src/base/components/panel/resources/arrow_cursor_resize_tool.swf b/WebContent/src/base/components/panel/resources/arrow_cursor_resize_tool.swf
new file mode 100644
index 0000000..05a2e97
--- /dev/null
+++ b/WebContent/src/base/components/panel/resources/arrow_cursor_resize_tool.swf
Binary files differ
diff --git a/WebContent/src/base/components/panel/resources/arrow_cursor_rotate_tool.fla b/WebContent/src/base/components/panel/resources/arrow_cursor_rotate_tool.fla
new file mode 100644
index 0000000..823ce08
--- /dev/null
+++ b/WebContent/src/base/components/panel/resources/arrow_cursor_rotate_tool.fla
Binary files differ
diff --git a/WebContent/src/base/components/panel/resources/arrow_cursor_rotate_tool.swf b/WebContent/src/base/components/panel/resources/arrow_cursor_rotate_tool.swf
new file mode 100644
index 0000000..1bbb90c
--- /dev/null
+++ b/WebContent/src/base/components/panel/resources/arrow_cursor_rotate_tool.swf
Binary files differ
diff --git a/WebContent/src/base/components/panel/resources/arrow_cursor_tool.fla b/WebContent/src/base/components/panel/resources/arrow_cursor_tool.fla
new file mode 100644
index 0000000..dda794a
--- /dev/null
+++ b/WebContent/src/base/components/panel/resources/arrow_cursor_tool.fla
Binary files differ
diff --git a/WebContent/src/base/components/panel/resources/arrow_cursor_tool.png b/WebContent/src/base/components/panel/resources/arrow_cursor_tool.png
new file mode 100644
index 0000000..a9f3169
--- /dev/null
+++ b/WebContent/src/base/components/panel/resources/arrow_cursor_tool.png
Binary files differ
diff --git a/WebContent/src/base/components/panel/resources/box_closed_small.fla b/WebContent/src/base/components/panel/resources/box_closed_small.fla
new file mode 100644
index 0000000..8b0d901
--- /dev/null
+++ b/WebContent/src/base/components/panel/resources/box_closed_small.fla
Binary files differ
diff --git a/WebContent/src/base/components/panel/resources/box_closed_small.png b/WebContent/src/base/components/panel/resources/box_closed_small.png
new file mode 100644
index 0000000..ca34510
--- /dev/null
+++ b/WebContent/src/base/components/panel/resources/box_closed_small.png
Binary files differ
diff --git a/WebContent/src/base/components/panel/resources/box_open_small.fla b/WebContent/src/base/components/panel/resources/box_open_small.fla
new file mode 100644
index 0000000..1c04bc2
--- /dev/null
+++ b/WebContent/src/base/components/panel/resources/box_open_small.fla
Binary files differ
diff --git a/WebContent/src/base/components/panel/resources/box_open_small.png b/WebContent/src/base/components/panel/resources/box_open_small.png
new file mode 100644
index 0000000..87597a3
--- /dev/null
+++ b/WebContent/src/base/components/panel/resources/box_open_small.png
Binary files differ
diff --git a/WebContent/src/base/components/panel/resources/draw_box_horizontal.fla b/WebContent/src/base/components/panel/resources/draw_box_horizontal.fla
new file mode 100644
index 0000000..223156d
--- /dev/null
+++ b/WebContent/src/base/components/panel/resources/draw_box_horizontal.fla
Binary files differ
diff --git a/WebContent/src/base/components/panel/resources/draw_box_horizontal.swf b/WebContent/src/base/components/panel/resources/draw_box_horizontal.swf
new file mode 100644
index 0000000..c6748e5
--- /dev/null
+++ b/WebContent/src/base/components/panel/resources/draw_box_horizontal.swf
Binary files differ
diff --git a/WebContent/src/base/components/panel/resources/draw_box_vertical.fla b/WebContent/src/base/components/panel/resources/draw_box_vertical.fla
new file mode 100644
index 0000000..7ddd9a4
--- /dev/null
+++ b/WebContent/src/base/components/panel/resources/draw_box_vertical.fla
Binary files differ
diff --git a/WebContent/src/base/components/panel/resources/draw_box_vertical.swf b/WebContent/src/base/components/panel/resources/draw_box_vertical.swf
new file mode 100644
index 0000000..37ffa2c
--- /dev/null
+++ b/WebContent/src/base/components/panel/resources/draw_box_vertical.swf
Binary files differ
diff --git a/WebContent/src/base/components/panel/resources/library.lzx b/WebContent/src/base/components/panel/resources/library.lzx
new file mode 100644
index 0000000..9cfcfd4
--- /dev/null
+++ b/WebContent/src/base/components/panel/resources/library.lzx
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	<!-- APL Author sebawagner -->
+	<resource name="conferenceBox_button_min_small_rsc" src="box_closed_small.png" />
+    <!-- APL Author sebawagner -->
+    <resource name="conferenceBox_button_max_small_rsc" src="box_open_small.png" />
+    <!-- APL Author sebawagner -->
+	<resource name="arrow_draw_panel_cursor" src="arrow_cursor.swf" />
+	<!-- APL Author sebawagner -->
+	<resource name="arrow_resize_panel_cursor" src="arrow_cursor_resize_tool.swf" />
+	<!-- APL Author sebawagner -->
+	<resource name="arrow_rotate_panel_cursor" src="arrow_cursor_rotate_tool.swf" />
+	<!-- APL Author sebawagner -->
+	<resource name="draw_box_vertical_rsc" src="draw_box_vertical.swf" />
+	<!-- APL Author sebawagner -->
+	<resource name="draw_box_horizontal_rsc" src="draw_box_horizontal.swf" />
+    
+</library>
diff --git a/WebContent/src/base/components/presenter/boxInitEffect.lzx b/WebContent/src/base/components/presenter/boxInitEffect.lzx
new file mode 100644
index 0000000..a0c07cc
--- /dev/null
+++ b/WebContent/src/base/components/presenter/boxInitEffect.lzx
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="boxInitEffect" extends="view" width="100" height="20" 
+    opacity="0.3" bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" >
+    
+    <attribute name="zielx" value="200" type="number" />
+    <attribute name="ziely" value="200" type="number" />
+    <attribute name="zielwidth" value="100" type="number" />
+    <attribute name="zielheight" value="100" type="number" />
+    
+    <attribute name="objRef" value="null" />
+    
+    <handler name="oninit">
+    	//It seems like you need additionally to start it oninit, the start = true works
+    	//only for the first initialization, sebawagner 19.03.2012 
+    	this.anm.doStart();
+    </handler>
+    
+    <method name="sendStop">
+        this.objRef.sendAnniComplete();
+        this.destroy();
+    </method>
+
+    <animatorgroup name="anm" start="true" process="simultaneous" 
+        		duration="500" onstop="this.parent.sendStop()" >
+        <animator attribute="x" to="$once{ parent.parent.zielx }" />
+        <animator attribute="y" to="$once{ parent.parent.ziely }" />
+        <animator attribute="width" to="$once{ parent.parent.zielwidth }" />
+        <animator attribute="height" to="$once{ parent.parent.zielheight }" />
+    </animatorgroup>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/presenter/guiPresenter.lzx b/WebContent/src/base/components/presenter/guiPresenter.lzx
new file mode 100644
index 0000000..db432c4
--- /dev/null
+++ b/WebContent/src/base/components/presenter/guiPresenter.lzx
@@ -0,0 +1,542 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>     
+
+<class name="guiPresenter" extends="view" width="250" height="400" 
+    clickable="$once{ this.isdragable }"
+	onmousedown="this._startDragState(this)" onmouseup="this._removeDragState(this)" >
+    
+    <handler name="oninit">
+        this.setShadow();
+    </handler>
+    
+    <method name="setShadow">
+        <![CDATA[
+        if (this.isinited && this.hasshadow){
+            this.normalMC = this.getDisplayObject();
+            this.displacementMap = new flash.filters.DropShadowFilter();
+            this.normalMC.filters = [this.displacementMap];
+        }
+        ]]>              
+    </method>	    
+
+    <attribute name="hasshadow" value="true" type="boolean" />
+          
+	<!--- The Title of this Box -->
+	<attribute name="title" value="defaulttitle" type="string" />
+	
+	<!--- if this Box should be closeable -->
+	<attribute name="closable" value="true" type="boolean" />
+    
+    <!--- if this Box should be resizeable  -->
+    <attribute name="resizeable" value="true" type="boolean" />
+	
+	<!--- Can this Box be docked to others and 
+			the width/height of parent compoent barrier -->
+	<attribute name="docking" value="true" type="boolean" />
+	
+	<!--- Hard to explain but its clear if you play around 
+		with that. Its the number of minimum pixels before 
+		the "docking" effect will be there -->
+	<attribute name="dockingbarrier" value="15" type="number" />
+
+	<!---@keywords private the list of connected views -->
+	<attribute name="dockinglist" value="null" />
+	
+	<!--- @keywords private temp-older of x-distance to docked-Box  -->
+	<attribute name="tempXdistance" value="0" type="number" />
+
+	<!--- @keywords private temp-older of y-distance to docked-Box  -->
+	<attribute name="tempYdistance" value="0" type="number" />
+	
+	<!--- @keywords private is the Box minimized  -->
+	<attribute name="isopen" value="true" type="boolean" />
+	
+	<!--- @keywords private is the Box minimized  -->
+	<attribute name="open" value="true" type="boolean" />	
+	
+	<!--- @keywords private  -->
+	<attribute name="initheight" value="0" type="number" />
+    
+    <!--- @keywords private show minimize, maximize, close buttons -->
+    <attribute name="fullToolBar" value="true" type="boolean" />
+    
+    <attribute name="maximizable" value="true" type="boolean" />
+    
+    <attribute name="minimizable" value="true" type="boolean" />
+    
+    <attribute name="minimized" value="false" type="boolean" />
+    
+    <attribute name="customMinimizeMethod" value="false" type="boolean" />
+    
+    <attribute name="initialHeight" value="0" type="number"/>
+    
+    <!--- @keywords private if this window is dragable -->
+    <attribute name="isdragable" value="true" type="boolean" />
+    
+    <attribute name="_barmenuButtonRef" value="null" />
+    
+    <!--- if this Box should be resizeable  -->
+    <attribute name="ismaximized" value="false" type="boolean" />    
+    <attribute name="maxi_x" value="0" type="number" />
+    <attribute name="maxi_y" value="0" type="number" />
+    <attribute name="maxi_height" value="0" type="number" />
+    <attribute name="maxi_width" value="0" type="number" />
+    
+    <attribute name="isresizeing" value="false" type="boolean" />
+    
+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+	<method name="setLabelId" args="id">
+		this.labelid=id;
+		this.setAttribute('title',canvas.getLabelName(this.labelid));
+	</method>    
+	
+	<!--- the Event will be thrown if you close the Box -->
+	<event name="onclose" />    
+    
+	<!--- the Event will be thrown if you do click on it and drag -->
+	<event name="onactivate" />   
+    
+    <!--- this Event will be triggered after resizing -->
+    <event name="onresized" />
+    
+	<!--- @keywords private store initial height so toggleopen can reset height  -->
+	<handler name="oninit">
+		this.initheight=this.height;
+		//Debug.write("this.isopen: ",this.isopen);
+		if (!this.open) toggleopen();
+	</handler>
+    
+    <handler name="onwidth" args="w">
+        <![CDATA[
+            if (this.isresizeing){
+                if (w<_titlebar._title.width+70) {
+                    this.setAttribute('width',_titlebar._title.width+71); 
+                    this._resizeview.onmouseup.sendEvent();
+                }
+            }
+        ]]>
+    </handler>
+    
+    <handler name="onheight" args="h">
+        <![CDATA[
+            if (this.isresizeing){
+                if (h<40) {
+                    this.setAttribute('height',41); 
+                    this._resizeview.onmouseup.sendEvent();
+                }
+            }
+        ]]>
+    </handler>
+    
+	<method name="close">
+		if (this.onclose) this.onclose.sendEvent();
+        if (this._barmenuButtonRef!=null){
+            this._barmenuButtonRef.destroy();
+            this._barmenuButtonRef.parent.onwidth.sendEvent();
+        }
+		this.destroy();
+	</method>
+    
+    <method name="minimize">
+        <![CDATA[
+	        this.setAttribute("minimized",true);
+	        
+	        this._titlebar._toolbar._minimize.setAttribute("visibility","hidden");
+	        this._titlebar._toolbar._maximize2.setAttribute("visibility","visible");
+	        
+	        if (this.customMinimizeMethod) {
+	            return;
+	        }
+	        
+	        for (var eg in this.subviews) {
+	            if (this.subviews[eg].name != "_titlebar" 
+	                    && this.subviews[eg].name != "_bg") {
+	                 this.subviews[eg].setAttribute("visibility","hidden");   
+	            }
+	        }
+            
+	        this.initialHeight = this.height;
+	        //this.setAttribute("height",20);
+            this._minimizeZoom.setAttribute("to",20);
+            this._minimizeZoom.doStart();
+        ]]>
+    </method>
+    
+    <method name="reminimize">
+        <![CDATA[
+	        this.setAttribute("minimized",false);
+	        
+	        this._titlebar._toolbar._minimize.setAttribute("visibility","visible");
+	        this._titlebar._toolbar._maximize2.setAttribute("visibility","hidden");
+	        
+	        if (this.customMinimizeMethod) {
+	            return;
+	        }
+	        
+	        //this.setAttribute("height",this.initialHeight); 
+            this._minimizeZoom.setAttribute("to",this.initialHeight);
+            this._minimizeZoom.doStart();
+        ]]>
+    </method>
+    
+    <method name="reminimizeComplete">
+        <![CDATA[
+	        if (!this.minimized) {
+	            
+	            for (var eg in this.subviews) {
+	                if (this.subviews[eg].name != "_titlebar" 
+	                        && this.subviews[eg].name != "_bg") {
+	                     this.subviews[eg].setAttribute("visibility","visible");   
+	                }
+	            }
+	            
+	            if (!this.resizeable) {
+	                this._resizeview.setAttribute("visibility","hidden");   
+	            }
+	        
+	        }
+        ]]>
+    </method>
+	
+	<method name="toggleopen">
+		//////Debug.write("this.isopen",this.isopen);
+		this.setAttribute('isopen',!this.isopen);
+		if (this.isopen){
+			_calcdockingList();
+			for (var eg in this.dockinglist){
+				if(this.dockinglist[eg].docking){
+					//////Debug.write("this.dockinglist[eg]: ",this.dockinglist[eg].title);
+					//////Debug.write("open new y",this.y+this.initheight);
+					this.dockinglist[eg].toggleOpenByParent(this.initheight-22);
+					this.dockinglist[eg].setAttribute('y',this.y+this.initheight);
+					
+				}
+			}			
+			this.setAttribute('height',this.initheight);
+		} else {
+			_calcdockingList();
+			for (var eg in this.dockinglist){
+				if(this.dockinglist[eg].docking){
+					//////Debug.write("this.dockinglist[eg]: ",this.dockinglist[eg].title);
+					this.dockinglist[eg].toggleOpenByParent(-(this.initheight-22));
+					this.dockinglist[eg].setAttribute('y',this.y+22);
+				}
+			}	
+			this.setAttribute('height',22);		
+		}
+	</method>
+	
+	<method name="toggleOpenByParent" args="changeY">
+		//////Debug.write("+++++ toggleOpenByParent +++++ changeY: ",this.title,changeY);
+		var tempList=new Array();
+		<![CDATA[
+		//check for dockable stuff which is connected to this Box
+		for (var eg in this.parent.subviews){
+			//check that you do not calc with yourself
+			if (this.parent.subviews[eg]!=this && this.parent.subviews[eg].docking){
+				// there are 4 cases which have to be proofed to check every possible situation
+				var proof=false;
+				//////Debug.write("found some: ",this.parent.subviews[eg].title);
+				//top box-border
+				if  ( ( ((this.y+this.height)-this.parent.subviews[eg].y) < 1 ) && ( ((this.y+this.height)-this.parent.subviews[eg].y) > -1 ) && ( (this.x+this.width) > this.parent.subviews[eg].x )  && ( this.x < (this.parent.subviews[eg].x+this.parent.subviews[eg].width) ) ){
+					proof=true;
+				}
+					
+				if (proof) tempList.push(this.parent.subviews[eg]);
+			}
+		}
+		]]>
+		//////Debug.write("tempList.length: ",tempList.length);
+		if (tempList.length!=0){
+			for (var eg in tempList){
+				if(tempList[eg].docking){
+					//////Debug.write("toggleOpenByParent 1 [eg],changeY: ",tempList[eg].title,changeY);
+					tempList[eg].toggleOpenByParent(changeY);
+					tempList[eg].setAttribute('y',tempList[eg].y+changeY);
+				}
+			}	
+		}
+		
+	</method>
+    
+    <method name="activate">
+        this.onactivate.sendEvent();
+        this.bringToFront();
+        if (this._barmenuButtonRef!=null) this._barmenuButtonRef.sendActiveWindow(this);
+    </method>
+    
+    <method name="rsapply">
+        this.isresizeing=true;
+        this.rs.apply();
+    </method>
+    
+    <method name="rsremove">
+        this.rs.remove();
+        this.isresizeing=false;
+        //Debug.write("rsremove",this,this.isinited);
+        this.onresized.sendEvent();
+    </method>    
+    	
+	<!--- @keywords private  -->
+	<method name="_removeDragState" args="obj">
+        if (!this.ismaximized){
+            //It's important to remove the dragger and do docking stuff before you check for conencted Boxes
+            dragger.remove();
+            if (obj==this){
+                if (docking) arrangePosition();
+            } else {
+                if (docking) _lookforParentOnly(obj);
+            }
+                
+            //check for connected Boxes
+            for (var eg in this.dockinglist){
+                if(this.dockinglist[eg].docking){
+                    this.dockinglist[eg]._removeDragState(this);
+                }
+            }
+        }
+	</method>
+
+
+	
+	<!--- @keywords private
+		the arg obj is needed because the dragging can be called by the Box itself
+		or by a Box which is connected to this Box!  -->
+	<method name="_startDragState" args="obj">
+        this.activate();
+        if (!this.ismaximized){
+            _calcdockingList();
+            for (var eg in this.dockinglist){
+                if(this.dockinglist[eg].docking){
+                    this.dockinglist[eg]._startDragState(this);
+                }
+            }
+            //store position cause it wasn't dragged by itself
+            if (obj!=this){
+                storeAdjustmentToParent(obj.x,obj.y);
+            }
+            dragger.apply();
+        }
+	</method>
+	
+	<!--- Calc the List of Boxes which will be dragged and setposition if this Box
+		will be dragged,docked or minimized/maximized  -->
+	<method name="_calcdockingList">
+		//Clear list of conencted Boxes
+		this.dockinglist=new Array();
+		<![CDATA[
+		//check for dockable stuff which is connected to this Box
+		for (var eg in this.parent.subviews){
+			//check that you do not calc with yourself
+			if (this.parent.subviews[eg]!=this && this.parent.subviews[eg].docking){
+				// there are 4 cases which have to be proofed to check every possible situation
+				var proof=false;
+
+				//top box-border
+				if  ( ( ((this.y+this.height)-this.parent.subviews[eg].y) < 1 ) && ( ((this.y+this.height)-this.parent.subviews[eg].y) > -1 ) && ( (this.x+this.width) > this.parent.subviews[eg].x )  && ( this.x < (this.parent.subviews[eg].x+this.parent.subviews[eg].width) ) ){
+					proof=true;
+				}
+
+				if (proof) this.dockinglist.push(this.parent.subviews[eg]);
+			}
+		}
+		]]>
+		//////Debug.write("this.dockinglist.length:",this.dockinglist.length);
+	</method>
+	
+	<!--- @keywords private  -->
+	<method name="arrangePosition">
+		//do the magic
+		//the idea is: look for all on the view container one level above this one
+		//and look for the width/height and 0/0 and look for "dockable" stuff there
+		var newx=this.x;
+		var newy=this.y;
+	  
+		<![CDATA[
+				
+		for (var eg in this.parent.subviews){
+			//check that you do not calc with yourself
+			if (this.parent.subviews[eg]!=this && this.parent.subviews[eg].docking){
+				// there are 4 cases which have to be proofed to check every possible situation
+				//left box-border
+				if ( ( ((this.x+this.width)-this.parent.subviews[eg].x) < this.dockingbarrier ) && ( ((this.x+this.width)-this.parent.subviews[eg].x) > -this.dockingbarrier ) &&  ( (this.y+this.height) > this.parent.subviews[eg].y ) &&  ( this.y < (this.parent.subviews[eg].y+this.parent.subviews[eg].height) ) ){
+					newx= ( this.parent.subviews[eg].x - this.width );
+				}
+				//right box-border
+				if ( ( ((this.parent.subviews[eg].x+this.parent.subviews[eg].width)-this.x)<this.dockingbarrier ) && ( ((this.parent.subviews[eg].x+this.parent.subviews[eg].width)-this.x)>-this.dockingbarrier ) &&  ( (this.y+this.height) > this.parent.subviews[eg].y ) &&  ( this.y < (this.parent.subviews[eg].y+this.parent.subviews[eg].height) ) ){
+					newx= ( this.parent.subviews[eg].x + this.parent.subviews[eg].width );
+				}
+				//top box-border
+				if  ( ( ((this.y+this.height)-this.parent.subviews[eg].y) < this.dockingbarrier ) && ( ((this.y+this.height)-this.parent.subviews[eg].y) > -this.dockingbarrier ) && ( (this.x+this.width) > this.parent.subviews[eg].x )  && ( this.x < (this.parent.subviews[eg].x+this.parent.subviews[eg].width) ) ){
+					newy = this.parent.subviews[eg].y-this.height;
+				}
+				//bottom box-border
+				if ( ( ((this.parent.subviews[eg].y+this.parent.subviews[eg].height)-this.y) < this.dockingbarrier ) && ( ((this.parent.subviews[eg].y+this.parent.subviews[eg].height)-this.y) > -this.dockingbarrier ) && ( (this.x+this.width) > this.parent.subviews[eg].x )  && ( this.x < (this.parent.subviews[eg].x+this.parent.subviews[eg].width) ) ){
+					newy = this.parent.subviews[eg].y+this.parent.subviews[eg].height;
+				}
+			}
+		}
+		
+		//Check for Borders
+		//should be done _after_ checking for other dockable stuff so it gets 
+		//priority to dock against the border of parent view
+		if (this.x<this.dockingbarrier){
+			newx=0;
+		}
+		if (this.y<this.dockingbarrier){
+			newy=0;
+		}
+		if ( (this.parent.width-(this.x+this.width))<this.dockingbarrier){
+			newx=this.parent.width-this.width;
+		}
+		if ( (this.parent.height-(this.y+this.height))<this.dockingbarrier){
+			newy=this.parent.height-this.height;
+		}
+
+		//set position
+		this.setAttribute('x',newx);
+		this.setAttribute('y',newy);
+		]]>
+	</method>
+	
+	<method name="storeAdjustmentToParent" args="objX,objY">
+		this.tempXdistance=objX-this.x;
+		this.tempYdistance=objY-this.y;
+	</method>
+	
+	<!--- @keywords private 
+		this method is needed because if the dragging end and
+		it was not dragged _itself_ it was draged just because a connected
+		dockable Box was dragged than it could be that the connected
+		Box was forced to dock against something different onmouseup
+		so you have to rearrange the old "adjustment"	-->
+	<method name="_lookforParentOnly" args="obj">
+		<![CDATA[		
+		var newx=obj.x-tempXdistance;
+		var newy=obj.y-tempYdistance;
+		
+		this.setAttribute('x',newx);
+		this.setAttribute('y',newy);
+		]]>
+	</method>
+	
+	<dragstate name="dragger" />
+    
+	<view name="_bg" width="${ this.parent.width }" height="${ this.parent.height }" 
+        bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" > 
+        <view width="${ this.parent.width-2 }" height="${ this.parent.height-2 }"
+             x="1" y="1" bgcolor="$once{ canvas.getThemeColor('mainBackgroundColor') }" />
+    </view>        
+    
+	<view x="1" y="1" width="${ this.parent.width-1 }" height="20" name="_titlebar" >
+		<!-- stretches="width" -->
+		<gradientview x="0" width="${ this.parent.width }" height="20"
+				colorFrom="$once{ canvas.getThemeColor('baseMousecolorizer') }"
+				colorTo="$once{ canvas.getThemeColor('styleMenuBarBaseColor') }" >
+		</gradientview>
+		
+        <text fontsize="10" height="17" x="6" y="1" text="${ this.parent.parent.title }" 
+			fgcolor="0xFFFFFF" resize="true" fontstyle="bold" />
+			
+	    <view name="_toolbar" visibility="$once{ ((parent.parent.fullToolBar) ? 'visible' : 'hidden' ) }" 
+	        x="${ parent.width-this.width-2 }" layout="axis:x;spacing:0" y="2">     
+            
+            <miniIconsPresenter name="_minimize"
+                visibility="$once{ ((parent.parent.parent.minimizable) ? 'visible' : 'hidden' ) }" 
+                iconRessourceName="btn_presenter_minimize">
+                <handler name="onclick">
+                    this.parent.parent.parent.minimize();
+                </handler>
+                <labelTooltip labelid="856" />
+            </miniIconsPresenter>
+            
+            <miniIconsPresenter name="_maximize2" visibility="hidden"
+                iconRessourceName="btn_presenter_maximize">
+                <handler name="onclick">
+                    this.parent.parent.parent.reminimize();
+                </handler>
+                <labelTooltip labelid="857" />
+            </miniIconsPresenter>
+            
+	        <miniIconsPresenter name="_close"
+	            visibility="$once{ ((parent.parent.parent.closable) ? 'visible' : 'hidden' ) }"
+	            iconRessourceName="btn_presenter_close2">
+	            <handler name="onclick">
+	                this.parent.parent.parent.close();
+	            </handler>
+	            <labelTooltip labelid="430" />
+	        </miniIconsPresenter>  
+            
+	    </view>  			
+	</view>
+    <handler name="onaddsubview" args="v">
+		//Debug.write("onaddsubview",v);
+		if (v.parent.subviews.length>2) this._resizeview.bringToFront();
+    </handler>
+    <view visibility="$once{ ((this.parent.resizeable) ? 'visible' : 'hidden' ) }"
+        name="_resizeview" x="${ this.parent.width - 16 }" 
+        y="${ this.parent.height - 16 }" resource="explorer_resize_rsc" 
+        cursor="explorer_resizemouse_rsc" onmousedown="this.parent.rsapply()"
+        onmouseup="this.parent.rsremove()" >
+        <labelTooltip text="resize" />
+    </view>    
+    <resizestate name="rs"/>
+    
+    <animator name="_minimizeZoom" attribute="height" 
+              duration="750" to="20" start="false">
+        <handler name="onstop" args="s">
+            parent.reminimizeComplete();
+        </handler>
+    </animator>
+    
+</class>
+
+<class name="miniIconsPresenter" extends="view">
+    
+    <attribute name="iconRessourceName" value="" type="string"/>
+    
+    <handler name="onmouseover">
+        this._bg.setAttribute("bgcolor",0xFFFFFF);
+        this._bg.setAttribute("visibility","visible");
+    </handler>
+    
+    <handler name="onmouseout">
+        this._bg.setAttribute("visibility","hidden");
+    </handler>
+    
+    <handler name="onmousedown">
+        this._bg.setAttribute("bgcolor",canvas.getThemeColor('basebgcolorizer'));
+        this._bg.setAttribute("visibility","visible");
+    </handler>
+    
+    <handler name="onmouseup">
+        this._bg.setAttribute("visibility","hidden");
+    </handler>
+    
+    <view name="_bg" visibility="hidden" opacity="0.7"
+          width="14" height="14" x="1" y="1" bgcolor="0xFFFFFF" />
+          
+    <view name="_itemRsc" resource="$once{ parent.iconRessourceName }" />
+    
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/presenter/library.lzx b/WebContent/src/base/components/presenter/library.lzx
new file mode 100644
index 0000000..9472fa8
--- /dev/null
+++ b/WebContent/src/base/components/presenter/library.lzx
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<include href="resources/" />
+	<include href="boxInitEffect.lzx" />
+	<include href="guiPresenter.lzx" />
+
+    
+</library>
diff --git a/WebContent/src/base/components/presenter/resources/close_mo.png b/WebContent/src/base/components/presenter/resources/close_mo.png
new file mode 100644
index 0000000..b9d0f94
--- /dev/null
+++ b/WebContent/src/base/components/presenter/resources/close_mo.png
Binary files differ
diff --git a/WebContent/src/base/components/presenter/resources/close_up.png b/WebContent/src/base/components/presenter/resources/close_up.png
new file mode 100644
index 0000000..79d3b72
--- /dev/null
+++ b/WebContent/src/base/components/presenter/resources/close_up.png
Binary files differ
diff --git a/WebContent/src/base/components/presenter/resources/library.lzx b/WebContent/src/base/components/presenter/resources/library.lzx
new file mode 100644
index 0000000..994ca29
--- /dev/null
+++ b/WebContent/src/base/components/presenter/resources/library.lzx
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<!-- APL Author sebawagner -->
+	<resource src="presenter_thumb.swf" name="presenter_thumb_rsc" />
+    <!-- APL Author sebawagner -->
+    <resource name="btn_presenter_minimize" src="minimize_up.png" />
+    <!-- APL Author sebawagner -->
+    <resource name="btn_presenter_maximize" src="maximize_up.png" />
+    <!-- APL Author sebawagner -->
+    <resource name="btn_presenter_maximize2" src="maximize2_up.png" />
+    
+    <!-- APL Author sebawagner -->
+    <resource name="btn_presenter_close2" src="close_up.png" />
+    
+    <!-- APL Author sebawagner -->
+	<resource name="btn_presenter_close">
+        <frame src="close_up.png" />
+        <frame src="close_mo.png" />
+        <frame src="close_up.png" />
+    </resource> 
+    
+</library>
diff --git a/WebContent/src/base/components/presenter/resources/maximize2_up.png b/WebContent/src/base/components/presenter/resources/maximize2_up.png
new file mode 100644
index 0000000..1edd23b
--- /dev/null
+++ b/WebContent/src/base/components/presenter/resources/maximize2_up.png
Binary files differ
diff --git a/WebContent/src/base/components/presenter/resources/maximize_up.png b/WebContent/src/base/components/presenter/resources/maximize_up.png
new file mode 100644
index 0000000..778c05c
--- /dev/null
+++ b/WebContent/src/base/components/presenter/resources/maximize_up.png
Binary files differ
diff --git a/WebContent/src/base/components/presenter/resources/minimize_up.png b/WebContent/src/base/components/presenter/resources/minimize_up.png
new file mode 100644
index 0000000..1637298
--- /dev/null
+++ b/WebContent/src/base/components/presenter/resources/minimize_up.png
Binary files differ
diff --git a/WebContent/src/base/components/presenter/resources/presenter_thumb.swf b/WebContent/src/base/components/presenter/resources/presenter_thumb.swf
new file mode 100644
index 0000000..84f8b96
--- /dev/null
+++ b/WebContent/src/base/components/presenter/resources/presenter_thumb.swf
Binary files differ
diff --git a/WebContent/src/base/components/resetCombobox.lzx b/WebContent/src/base/components/resetCombobox.lzx
new file mode 100644
index 0000000..3c2a54d
--- /dev/null
+++ b/WebContent/src/base/components/resetCombobox.lzx
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+    <class name="resetCombobox" extends="combobox" editable="false" shownitems="12"
+    	   style="componentStyle" itemclassname="labeldTextListItem">
+    
+        <method name="reset" >
+            <![CDATA[
+                var currentCount = this.cblist.getNumItems();
+                for (var i = 0; i < currentCount; i++)
+                    this.removeItemAt(0);
+                this.clearSelection();
+            ]]>
+        </method>
+    
+    </class>
+        
+</library>
diff --git a/WebContent/src/base/components/scrollbars/library.lzx b/WebContent/src/base/components/scrollbars/library.lzx
new file mode 100644
index 0000000..9ee00e1
--- /dev/null
+++ b/WebContent/src/base/components/scrollbars/library.lzx
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+	<!-- APL Author sebawagner -->

+	<resource name="omscrolltrack_y_rsc" src="resources/y_scrolltrack.swf" />

+	

+	<!-- APL Author sebawagner -->

+    <resource name="omscrollbar_ythumbmiddle_rsc" src="resources/scrollthumb_y_mid.swf" />

+    <!-- APL Author sebawagner -->

+    <resource name="omscrollbar_ythumbtop_rsc" src="resources/scrollthumb_y_top.swf" />

+    <!-- APL Author sebawagner -->

+    <resource name="omscrollbar_ythumbbottom_rsc" src="resources/scrollthumb_y_bottom.swf" />

+    <!-- APL Author sebawagner -->

+   	<resource name="omscrolltrack_x_rsc" src="resources/x_scrolltrack.swf" />

+	<!-- APL Author sebawagner -->

+    <resource name="omscrollbar_xthumbmiddle_rsc" src="resources/scrollthumb_x_mid.swf" />

+    <!-- APL Author sebawagner -->

+    <resource name="omscrollbar_xthumbleft_rsc" src="resources/scrollthumb_x_left.swf" />

+    <!-- APL Author sebawagner -->

+    <resource name="omscrollbar_xthumbright_rsc" src="resources/scrollthumb_x_right.swf" />

+

+	<include href="om_vscrollbar.lzx"/>

+	<include href="om_hscrollbar.lzx"/>

+

+</library>

diff --git a/WebContent/src/base/components/scrollbars/om_hscrollbar.lzx b/WebContent/src/base/components/scrollbars/om_hscrollbar.lzx
new file mode 100644
index 0000000..9ea8b63
--- /dev/null
+++ b/WebContent/src/base/components/scrollbars/om_hscrollbar.lzx
@@ -0,0 +1,41 @@
+<library>
+
+<class name="om_hscrollbar" extends="basescrollbar" styleable="false"
+    axis="x">
+
+    <!--- @keywords private -->
+    <attribute name="height" value="10"/>
+    
+    <!--- @keywords private -->
+    <method name="_showEnabled">
+        <![CDATA[
+        if (!_enabled) {
+        	//this.scrolltrack.thumb.setAttribute('height', 0);
+            this.scrolltrack.thumb.setAttribute('visibility', 'hidden');
+        } else {
+            this.scrolltrack.thumb.setAttribute('visibility', 'visible');
+        }
+        super._showEnabled();
+    ]]>
+    </method>
+
+	<view name="rightarrow" width="0" />
+    <view name="scrolltrack">
+    	 <basescrolltrack name="left"
+           resource="omscrolltrack_x_rsc" stretches="width">
+         	<attribute name="height" value="${parent.height}"/>
+            <attribute name="width" value="${parent.width}"/>  
+         </basescrolltrack>
+         <basescrollthumb name="thumb" x="1">
+             <view resource="omscrollbar_xthumbleft_rsc"/>
+             <view resource="omscrollbar_xthumbmiddle_rsc" stretches="both"/>
+             <view resource="omscrollbar_xthumbright_rsc"/>
+             <stableborderlayout axis="x"/>
+        </basescrollthumb>
+    </view>
+
+	<view height="0" name="leftarrow" />
+    <stableborderlayout axis="x"/>
+
+</class>
+</library>
diff --git a/WebContent/src/base/components/scrollbars/om_vscrollbar.lzx b/WebContent/src/base/components/scrollbars/om_vscrollbar.lzx
new file mode 100644
index 0000000..d668899
--- /dev/null
+++ b/WebContent/src/base/components/scrollbars/om_vscrollbar.lzx
@@ -0,0 +1,41 @@
+<library>
+
+<class name="om_vscrollbar" extends="basescrollbar" styleable="false"
+    axis="y">
+
+    <!--- @keywords private -->
+    <attribute name="width" value="10"/>
+    
+    <!--- @keywords private -->
+    <method name="_showEnabled">
+        <![CDATA[
+        if (!_enabled) {
+        	//this.scrolltrack.thumb.setAttribute('height', 0);
+            this.scrolltrack.thumb.setAttribute('visibility', 'hidden');
+        } else {
+            this.scrolltrack.thumb.setAttribute('visibility', 'visible');
+        }
+        super._showEnabled();
+    ]]>
+    </method>
+
+	<view name="toparrow" height="0" />
+    <view name="scrolltrack">
+    	 <basescrolltrack name="top"
+           resource="omscrolltrack_y_rsc" stretches="height">
+         	<attribute name="height" value="${parent.height}"/>
+            <attribute name="width" value="${parent.width}"/>  
+         </basescrolltrack>
+         <basescrollthumb name="thumb" x="1">
+             <view resource="omscrollbar_ythumbtop_rsc"/>
+             <view resource="omscrollbar_ythumbmiddle_rsc" stretches="both"/>
+             <view resource="omscrollbar_ythumbbottom_rsc"/>
+             <stableborderlayout axis="y"/>
+        </basescrollthumb>
+    </view>
+
+	<view height="0" name="bottomarrow" />
+    <stableborderlayout axis="y"/>
+
+</class>
+</library>
diff --git a/WebContent/src/base/components/scrollbars/resources/scrollthumb_x_left.swf b/WebContent/src/base/components/scrollbars/resources/scrollthumb_x_left.swf
new file mode 100644
index 0000000..fd9411b
--- /dev/null
+++ b/WebContent/src/base/components/scrollbars/resources/scrollthumb_x_left.swf
Binary files differ
diff --git a/WebContent/src/base/components/scrollbars/resources/scrollthumb_x_mid.swf b/WebContent/src/base/components/scrollbars/resources/scrollthumb_x_mid.swf
new file mode 100644
index 0000000..fff3744
--- /dev/null
+++ b/WebContent/src/base/components/scrollbars/resources/scrollthumb_x_mid.swf
Binary files differ
diff --git a/WebContent/src/base/components/scrollbars/resources/scrollthumb_x_right.swf b/WebContent/src/base/components/scrollbars/resources/scrollthumb_x_right.swf
new file mode 100644
index 0000000..74ea64a
--- /dev/null
+++ b/WebContent/src/base/components/scrollbars/resources/scrollthumb_x_right.swf
Binary files differ
diff --git a/WebContent/src/base/components/scrollbars/resources/scrollthumb_y_bottom.swf b/WebContent/src/base/components/scrollbars/resources/scrollthumb_y_bottom.swf
new file mode 100644
index 0000000..09a370b
--- /dev/null
+++ b/WebContent/src/base/components/scrollbars/resources/scrollthumb_y_bottom.swf
Binary files differ
diff --git a/WebContent/src/base/components/scrollbars/resources/scrollthumb_y_mid.swf b/WebContent/src/base/components/scrollbars/resources/scrollthumb_y_mid.swf
new file mode 100644
index 0000000..af9015f
--- /dev/null
+++ b/WebContent/src/base/components/scrollbars/resources/scrollthumb_y_mid.swf
Binary files differ
diff --git a/WebContent/src/base/components/scrollbars/resources/scrollthumb_y_top.swf b/WebContent/src/base/components/scrollbars/resources/scrollthumb_y_top.swf
new file mode 100644
index 0000000..c701740
--- /dev/null
+++ b/WebContent/src/base/components/scrollbars/resources/scrollthumb_y_top.swf
Binary files differ
diff --git a/WebContent/src/base/components/scrollbars/resources/x_scrolltrack.swf b/WebContent/src/base/components/scrollbars/resources/x_scrolltrack.swf
new file mode 100644
index 0000000..937dd8d
--- /dev/null
+++ b/WebContent/src/base/components/scrollbars/resources/x_scrolltrack.swf
Binary files differ
diff --git a/WebContent/src/base/components/scrollbars/resources/y_scrolltrack.swf b/WebContent/src/base/components/scrollbars/resources/y_scrolltrack.swf
new file mode 100644
index 0000000..b05b88a
--- /dev/null
+++ b/WebContent/src/base/components/scrollbars/resources/y_scrolltrack.swf
Binary files differ
diff --git a/WebContent/src/base/components/scrollbars/scrollbar_yresources.lzx b/WebContent/src/base/components/scrollbars/scrollbar_yresources.lzx
new file mode 100644
index 0000000..bc08ffe
--- /dev/null
+++ b/WebContent/src/base/components/scrollbars/scrollbar_yresources.lzx
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+

+    

+</library>
\ No newline at end of file
diff --git a/WebContent/src/base/components/simplevaluelist/library.lzx b/WebContent/src/base/components/simplevaluelist/library.lzx
new file mode 100644
index 0000000..b9ca8fe
--- /dev/null
+++ b/WebContent/src/base/components/simplevaluelist/library.lzx
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<include href="simpleValueList.lzx" />
+    <include href="recordValueList.lzx" />
+
+</library>
diff --git a/WebContent/src/base/components/simplevaluelist/recordValueList.lzx b/WebContent/src/base/components/simplevaluelist/recordValueList.lzx
new file mode 100644
index 0000000..95cacae
--- /dev/null
+++ b/WebContent/src/base/components/simplevaluelist/recordValueList.lzx
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="recordListItem" extends="baseContentListItem" height="24">
+    
+    <attribute name="valueName" type="string" value="" />
+    <attribute name="value" type="number" value="0" />
+    
+	<turnOverTextItem text="$once{ parent.valueName }" width="226" />    
+    
+	<view width="60" height="24"
+		onclick="new lz.confirmDeleteWindow(canvas.main_content._content.inner,{refObj:this});" >		
+		<method name="confirmDelete">
+            this.parent.parent.parent.parent.parent.itemToDelete=this;
+			this.parent.parent.parent.parent.parent.deleteItem.sendEvent(parent);
+		</method>
+		<image stretches="both" width="16" height="16" 
+			 src="$once{ canvas.getThemeImage('button_cancel_rsc') }"
+			 align="center" y="4" />
+		<labelTooltip labelid="274" />
+	</view>	
+</class>
+	
+	
+<class name="recordValueList" extends="turnOverList" >
+    
+    <attribute name="itemToDelete" value="null" />
+    
+    <event name="deleteItem" />
+    
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/simplevaluelist/simpleValueList.lzx b/WebContent/src/base/components/simplevaluelist/simpleValueList.lzx
new file mode 100644
index 0000000..2807c56
--- /dev/null
+++ b/WebContent/src/base/components/simplevaluelist/simpleValueList.lzx
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="simpleListItem" extends="view"
+	bgcolor="0xFFFFFF" onmouseup="this.parent.parent.parent.parent.toggleSelected(this)" >
+	<handler name="onmouseover">
+		<![CDATA[
+			if (this.selected) this.setAttribute('bgcolor',canvas.getThemeColor('baseMouseOvercolorizer'))
+			else this.setAttribute('bgcolor',canvas.getThemeColor('baseMouseOvercolorizer'));
+		]]>
+	</handler>
+	<handler name="onmouseout">
+		<![CDATA[
+			if (this.selected)  this.setAttribute('bgcolor',canvas.getThemeColor('baseMouseOvercolorizer'))
+			else this.setAttribute('bgcolor',0xFFFFFF);
+		]]>
+	</handler>
+	<attribute name="selected" value="false" type="boolean"/>
+	<attribute name="value" value="null" />
+	<attribute name="text" value="" type="string" />
+	<text text="$once{ parent.text }" resize="true" fontsize="11" />
+</class>
+	
+	
+<class name="simpleValueList" extends="view" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" >
+	
+	<attribute name="_selected" value="null" />
+	
+	<attribute name="multiselect" value="false" type="boolean" />
+    
+    <attribute name="itemclassname" type="string" value="simpleListItem" />
+	
+	<event name="onselect" />
+	
+	<method name="toggleSelected" args="obj">
+		<![CDATA[
+			var downkeys = lz.Keys.downKeysArray;
+			
+			//Select the Obj
+			
+			
+			if(downkeys.length==1 && downkeys[0]==17 && this.multiselect){
+				if (this._selected == null) this._selected = new Array();
+				if (this._checkForAlreadySelected(obj)) {
+					obj.setAttribute('selected',false);
+					obj.setAttribute('bgcolor',0xFFFFFF);
+				} else {
+					obj.setAttribute('selected',true);
+					this._selected.push(obj);
+				}				
+			} else if (downkeys.length==0 && this.multiselect){
+				if (this._selected == null) this._selected = new Array();
+				this._deslectAll();
+				obj.setAttribute('selected',true);
+				this._selected.push(obj);	
+			} else if (!this.multiselect) {
+				if(this._selected!=null) {
+					this._selected.setAttribute('selected',false);
+					this._selected.setAttribute('bgcolor',0xFFFFFF);
+				}
+				this._selected = obj;
+			    this._selected.setAttribute('selected',true);
+			} else {
+				Debug.warning("not handled",this);
+			}
+			
+		]]>
+	</method>
+	
+	<method name="_checkForAlreadySelected" args="obj">
+		<![CDATA[
+			for (var i=0;i<this._selected.length;i++){
+				if (this._selected[i]==obj) {
+					this._selected.splice(i,1);
+					return true;
+				}
+			}
+			return false;
+		]]>
+	</method>
+	
+	<method name="_deslectAll">
+		<![CDATA[
+			for (var i=0;i<this._selected.length;i++){
+				this._selected[i].setAttribute('selected',false);
+				this._selected[i].setAttribute('bgcolor',0xFFFFFF);
+			}
+			this._selected=new Array();
+		]]>
+	</method>
+	
+    <method name="addItem" args="txt,value">
+    	new lz[this.itemclassname](this.content.content.inn,{text:txt,value:value,width:this.width});
+    </method>
+	
+    <method name="removeItem" args="value">
+		<![CDATA[
+			if (this._selected!=null){
+				if (this.multiselect){
+					for (var i=0;i<this._selected.length;i++){
+						if (this._selected[i].value==value){
+							this._selected.splice(i,1);
+						}
+					}
+				} else {
+					if (this._selected.value==value) this._selected==null;
+				}
+			}
+			for (var i=0;i<this.content.content.inn.subviews.length;i++){
+				if(this.content.content.inn.subviews[i].value==value){
+					this.content.content.inn.subviews[i].destroy();
+				}
+			}
+		]]>
+    </method>
+	<method name="checkValue" args="value">
+		<![CDATA[
+			var t = this.getAllObjects();
+			if (t!=null){
+				for (var i=0;i<t.length;i++){
+					if (t[i].value==value) return true;
+				}
+			}
+			return false;
+		]]>
+	</method>		
+		
+    <method name="getAllItems">
+    	<![CDATA[
+    	var a = new Array();
+    	for (var i=0;i<this.content.content.inn.subviews.length;i++){
+    		//Debug.write("t: ",this.content.content.inn.subviews[i].value);
+    		a.push(Number(this.content.content.inn.subviews[i].value));
+    	}
+    	return a;
+    	]]>
+    </method>
+	<method name="getAllObjects">
+    	<![CDATA[
+    	var a = new Array();
+    	for (var i=0;i<this.content.content.inn.subviews.length;i++){
+    		a.push(this.content.content.inn.subviews[i]);
+    	}
+    	return a;
+    	]]>
+	</method>
+    <method name="clearList">
+    	for (var eg in this.content.content.inn.subviews){
+    		this.content.content.inn.subviews[eg].destroy();
+    	}
+    </method>
+    <view name="content" width="$once{ parent.width-2 }" height="$once{ parent.height-2 }"
+    	x="1" y="1" clip="true" bgcolor="0xFFFFFF">
+    	<view name="content" >
+    		<view name="inn" layout="axis:y;spacing:2" />
+    	</view>
+    	<om_vscrollbar />
+    </view>
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/tableCombobox.lzx b/WebContent/src/base/components/tableCombobox.lzx
new file mode 100644
index 0000000..d8d8fb6
--- /dev/null
+++ b/WebContent/src/base/components/tableCombobox.lzx
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="tableCombobox" extends="combobox" editable="false" fontsize="10" style="componentStyle">
+    <attribute name="initvalue" type="string" />
+    <attribute name="tvalue" type="string" />
+    <attribute name="sendchange" value="false" type="boolean" />
+    <handler name="oninit">
+        this.parent.parent.parent.parent.loadModsCombo(this);
+        this.selectItem(this.initvalue);
+    </handler>
+    <handler name="onblur">
+        if (this.sendchange) this.parent.sendchange(this,tvalue,this.getValue());
+    </handler>
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/tableListItem.lzx b/WebContent/src/base/components/tableListItem.lzx
new file mode 100644
index 0000000..fffa1ad
--- /dev/null
+++ b/WebContent/src/base/components/tableListItem.lzx
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="tableListItem" extends="view"
+    bgcolor="${ ( this.isaltered ) ? red : white }" height="22">
+    
+    <handler name="oninit">
+        this.changeholder = new Array();
+    </handler>
+
+    <attribute name="isdatarecord" value="true" type="boolean" />
+    
+    <attribute name="changeholder" value="null" />
+    <attribute name="isaltered" value="false" type="boolean" />
+
+    <method name="sendchange" args="obj,oldv,newv">
+        ////Debug.write("check Update");
+        var t = false;
+        for (var eg in this.changeholder){
+            if (this.changeholder[eg][0]==obj){
+                t = true;
+                this.changeholder[eg][1]=oldv;
+                this.changeholder[eg][2]=newv;
+                break;
+            }
+        }
+        if (!t) this.changeholder.push(new Array(obj,oldv,newv));
+        
+        t = false;
+        for (var eg in this.changeholder){
+            if (this.changeholder[eg][1]!=this.changeholder[eg][2]){
+                t = true;
+                break;
+            }
+        }
+        
+        this.setAttribute('isaltered',t);
+        this._doupdate.setValue(t);
+        this.parent.parent.parent.sendchange(this);
+        
+    </method>
+    <simplelayout axis="x" spacing="3" inset="2" />
+
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/text/borderedInputtext.lzx b/WebContent/src/base/components/text/borderedInputtext.lzx
new file mode 100644
index 0000000..4e74e26
--- /dev/null
+++ b/WebContent/src/base/components/text/borderedInputtext.lzx
@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="borderedInputtext" extends="view" bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" >
+    <!---@keywords private -->
+	<attribute name="width" value="200" type="size" />
+	<!---@keywords private -->
+	<attribute name="height" value="18" type="size" />
+    <attribute name="tvalue" type="string" value="default"/>
+    <attribute name="sendchange" value="false" type="boolean" />
+    <attribute name="multiline" value="false"/>
+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+	<method name="setLabelId" args="_labelid" >
+		this.labelid = _labelid;
+		this.setAttribute('text',canvas.getLabelName(this.labelid));
+	</method>
+    <attribute name="checkIsNumber" value="false" type="boolean" />
+    <attribute name="checkIsDouble" value="false" type="boolean" />
+    <attribute name="editable" value="true" setter="setEditable(editable)" type="boolean" />
+    <method name="setEditable" args="value">
+        this.editable=value;
+    	this.field.setEnabled(value);
+    </method>
+    <!---@keywords private -->
+    <event name="onblur" />
+    <method name="setItemEnabled" args="value">
+    	this.field.setEnabled(value);
+    </method>    
+    <attribute name="maxlength" value="null" type="number"/>         	
+	<attribute name="text" type="string" value="" />
+		<!-- -->
+  <inputtext name="field" fontsize="10" text="${ this.parent.text }" x="1" y="1" bgcolor="0xFFFFFF" 
+  	multiline="$once{parent.multiline}" width="${ this.parent.width-2 }" height="${ this.parent.height-2 }" >
+  		<attribute name="preText" value="" type="string" />
+  		<handler name="onfocus">
+  			this.preText = this.getText();
+  		</handler>
+      	<handler name="onblur">
+      		var t = this.getText();
+      		if (this.parent.checkIsNumber){
+      			if ( isNaN( Number(t) ) ){
+      				if (this.parent.checkIsDouble){
+      					t="0.00";
+      				} else {
+      					t=this.preText;
+      				}
+      				this.setAttribute('text',t);
+      			}
+      		}
+            if (this.parent.sendchange) this.parent.parent.sendchange(this.parent,this.parent.tvalue,this.getText());
+            if (this.parent.onblur) this.parent.onblur.sendEvent();
+      	</handler>
+        <handler name="oninit">
+            this.setEnabled(this.parent.editable);
+        </handler>       	           
+	</inputtext>	   
+	 
+	<method name="getText">
+		return this.field.getText();
+	</method>
+	<method name="setText" args="txt">
+		this.setAttribute('text',txt);
+	</method> 		
+</class>
+
+<class name="borderedMultiInputtext" extends="view">
+    <!---@keywords private -->
+	<attribute name="width" value="200" type="size" />
+    <!---@keywords private -->	
+	<attribute name="height" value="18" type="size" />
+    <attribute name="tvalue" type="string" value="default"/>
+    <attribute name="sendchange" value="false" type="boolean" />
+    <attribute name="multiline" value="false"/>
+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+	<method name="setLabelId" args="_labelid" >
+		this.labelid = _labelid;
+		this.setAttribute('text',canvas.getLabelName(this.labelid));
+	</method>
+    <attribute name="checkIsNumber" value="false" type="boolean" />
+    <attribute name="checkIsDouble" value="false" type="boolean" />
+    <attribute name="editable" value="true" setter="setEditable(editable)" type="boolean" />
+    <method name="setEditable" args="value">
+        this.editable=value;
+    	this.field.setEnabled(value);
+    </method>
+    <method name="setItemEnabled" args="value">
+    	this.field.setEnabled(value);
+    </method>    
+    <attribute name="maxlength" value="null" type="number"/>       
+    <!---@keywords private -->  	
+	<attribute name="bgcolor" value="0xA3B2CC" type="color" />
+	<attribute name="text" type="string" value="" />
+		<!-- -->
+  <inputtext name="field" fontsize="10" text="${ this.parent.text }" x="1" y="1" bgcolor="0xFFFFFF" 
+  	multiline="true" width="${ this.parent.width-2 }" height="${ this.parent.height-2 }" >
+      	<handler name="onblur">
+      		var t = this.getText();
+      		if (this.parent.checkIsNumber){
+      			if ( isNaN( Number(t) ) ){
+      				if (this.parent.checkIsDouble){
+      					t="0.00";
+      				} else {
+      					t="0";
+      				}
+      				this.setAttribute('text',t);
+      			}
+      		}
+            if (this.parent.sendchange) this.parent.parent.sendchange(this.parent,this.parent.tvalue,this.getText());
+      	</handler>   
+        <handler name="oninit">
+            this.setEnabled(this.parent.editable);
+            if(this.multiline) this.init();
+        </handler>       	           
+        <method name="init">
+            super.init();        
+        </method>
+	</inputtext>	   
+	 
+	<method name="getText">
+		return this.field.getText();
+	</method>
+	<method name="setText" args="txt">
+		this.setAttribute('text',txt);
+	</method> 		
+</class>
+
+<class name="borderedPasswordText" extends="view">
+    <!---@keywords private -->
+	<attribute name="width" value="200" type="size" />
+	<!---@keywords private -->
+	<attribute name="height" value="18" type="size" />
+    <attribute name="tvalue" type="string" value="default"/>
+    <attribute name="sendchange" value="false" type="boolean" />
+    <attribute name="multiline" value="false"/>
+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+	<method name="setLabelId" args="_labelid" >
+		this.labelid = _labelid;
+		this.setAttribute('text',canvas.getLabelName(this.labelid));
+	</method>
+    <attribute name="checkIsNumber" value="false" type="boolean" />
+    <attribute name="checkIsDouble" value="false" type="boolean" />
+    <attribute name="editable" value="true" setter="setEditable(editable)" type="boolean" />
+    <method name="setEditable" args="value">
+        this.editable=value;
+    	this.field.setEnabled(value);
+    </method>
+    <method name="setItemEnabled" args="value">
+    	this.field.setEnabled(value);
+    </method>    
+    <attribute name="maxlength" value="null" type="number"/>  
+    <!---@keywords private -->       	
+	<attribute name="bgcolor" value="0xA3B2CC" type="color" />
+	<!---@keywords private -->
+	<attribute name="text" type="string" value="" />
+		<!-- -->
+  <inputtext name="field" fontsize="10" text="${ this.parent.text }" x="1" y="1" bgcolor="0xFFFFFF" 
+  	multiline="$once{parent.multiline}" password="true" width="${ this.parent.width-2 }" height="${ this.parent.height-2 }" >
+      	<handler name="onblur">
+      		var t = this.getText();
+      		if (this.parent.checkIsNumber){
+      			if ( isNaN( Number(t) ) ){
+      				if (this.parent.checkIsDouble){
+      					t="0.00";
+      				} else {
+      					t="0";
+      				}
+      				this.setAttribute('text',t);
+      			}
+      		}
+            if (this.parent.sendchange) this.parent.parent.sendchange(this.parent,this.parent.tvalue,this.getText());
+      	</handler>   
+        <handler name="oninit">
+            this.setEnabled(this.parent.editable);
+        </handler>       	           
+	</inputtext>	   
+	 
+	<method name="getText">
+		return this.field.getText();
+	</method>
+	<method name="setText" args="txt">
+		this.setAttribute('text',txt);
+	</method> 		
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/text/customEdittext.lzx b/WebContent/src/base/components/text/customEdittext.lzx
new file mode 100644
index 0000000..3604cf4
--- /dev/null
+++ b/WebContent/src/base/components/text/customEdittext.lzx
@@ -0,0 +1,232 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="customEdittext" extends="inputtext" bgcolor="0xFFFFFF" fontsize="11" height="20" >
+	
+	<view name="v_border" height="1"       bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" width="$once{parent.width}" />
+    <view name="h_border" width="1"  y="1" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" height="$once{parent.height -1}" />
+	
+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+	
+	<attribute name="isvalidInput" value="true" type="boolean" />
+	<attribute name="regexpType" value="none" type="string" />
+	<attribute name="regexpLabelid" type="number" />
+	<attribute name="preText" value="" type="string" />
+	
+	<event name="onafterCheck" />
+
+	<handler name="onfocus" args="f">
+    	this.preText = this.getText();
+    </handler>
+    
+    <handler name="oninit">
+    	//this.field.setAttribute("bgcolor",0xFFFFFF);
+    </handler>
+    
+    <handler name="ontext" args="txt">
+    	<![CDATA[
+            
+    	    //
+    	   
+    	    if (System.capabilities.os.indexOf('Linux')==-1) { 
+                return; 
+	        }
+	        
+	        //if ($debug) Debug.write("System.capabilities.os -- START ",System.capabilities.os,txt);
+	        
+	        if (txt == null || txt.length == 0) {
+	        	return;
+	        }
+	        
+	        
+	        //UTF8 character remappings
+            var cp1252 = new Object();
+            cp1252[0x20ac]=0x80;
+            cp1252[0x201a]=0x82;
+            cp1252[0x0192]=0x83;
+            cp1252[0x201e]=0x84;
+            cp1252[0x2026]=0x85;
+            cp1252[0x2020]=0x86;
+            cp1252[0x2021]=0x87;
+            cp1252[0x02c6]=0x88;
+            cp1252[0x2030]=0x89;
+            cp1252[0x0160]=0x8a;
+            cp1252[0x2039]=0x8b;
+            cp1252[0x0152]=0x8c;
+            cp1252[0x017d]=0x8e;
+            cp1252[0x2018]=0x91;
+            cp1252[0x2019]=0x92;
+            cp1252[0x201c]=0x93;
+            cp1252[0x201d]=0x94;
+            cp1252[0x2022]=0x95;
+            cp1252[0x2013]=0x96;
+            cp1252[0x2014]=0x97;
+            cp1252[0x02dc]=0x98;
+            cp1252[0x2122]=0x99;
+            cp1252[0x0161]=0x9a;
+            cp1252[0x203a]=0x9b;
+            cp1252[0x0153]=0x9c;
+            cp1252[0x017e]=0x9e;
+            cp1252[0x0178]=0x9f;
+    	
+            
+            var s=eval(Selection.getFocus()); 
+            var t=txt;
+                    
+            var i=Selection.getCaretIndex()-1; 
+            
+            //if ($debug) Debug.write("i",i,Selection.getCaretIndex());
+            
+            var d=i;
+            
+            //if ($debug) Debug.write("DO WHILE -1- ",t.charCodeAt(i),cp1252[t.charCodeAt(i)],i,0x80,0xBF);
+            
+            while (((t.charCodeAt(i)>=0x80 && t.charCodeAt(i)<=0xBF) || (cp1252[t.charCodeAt(i)])) && i>0) {
+            	
+            	//if ($debug) Debug.write("DO WHILE -2- ",t.charCodeAt(i),cp1252[t.charCodeAt(i)],i);
+            	
+                if (cp1252[t.charCodeAt(i)]) {
+                    t=t.substr(0,i)+String.fromCharCode(cp1252[t.charCodeAt(i)])+t.substr(i+1);
+                }
+                i--;
+            }
+            if (i==d) { 
+            	//if ($debug) Debug.write("i == d NOTHING TO REPLACE!");
+                return; 
+            }
+        
+            var u=0;
+            
+            if (t.charCodeAt(i)>=0xC2 && t.charCodeAt(i)<=0xDF && d-i==1) {
+                 // two-byte sequence
+                u= (t.charCodeAt(i+1) & 0x3F)       +
+                  ((t.charCodeAt(i  ) & 3   ) << 6) +
+                  ((t.charCodeAt(i  ) & 0x1C) << 6);
+            } else if (t.charCodeAt(i)>=0xE0 && t.charCodeAt(i)<=0xEF && d-i==2) {
+                // three-byte sequence
+                // (Flash Player doesn't cope with any more obscure Unicode)
+                u= (t.charCodeAt(i+2) & 0x3F)        +
+                  ((t.charCodeAt(i+1) & 3   ) << 6 ) +
+                  ((t.charCodeAt(i+1) & 0x3C) << 6 ) +
+                  ((t.charCodeAt(i  ) & 0x0F) << 12);
+            }
+        
+            if (u!=0) {
+            	//if ($debug) Debug.write("Replace String -1- ",txt,u,"Replace With ",String.fromCharCode(u));
+            	
+                this.setAttribute("text",t.slice(0,i)+String.fromCharCode(u)+t.slice(d+1));
+                
+                //if ($debug) Debug.write("Replace String -2- ",txt,u);
+                
+                this.setAttribute("text",this.text.split(String.fromCharCode(0x03)).join(''));
+            }
+            
+            //if ($debug) Debug.write("-- END ",this.text);
+            
+    	]]>
+    </handler>
+    
+    <attribute name="callDelegate" value="null" />
+    <attribute name="regExpCheckId" value="-1" />
+	
+	<handler name="onblur">
+		<![CDATA[
+			if (this.regexpType!="none"){
+			
+				//if ($debug) Debug.write("onblur");
+				//if ($debug) Debug.write("onblur check ",this.regexpType);		
+				var fieldValue = this.getText();
+				if (this.regexpType=="email") {
+					//var regExpV = ".+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)";
+					var regExpV = "^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{1,3})$";
+					//var regExpV = "^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";
+					this.regexpLabelid = 519;
+				} else if (this.regexpType=="date"){
+					var regExpV = "(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\\d\\d";
+					this.regexpLabelid = 518;
+				} else if (this.regexpType=="float"){
+					var regExpV = "[0-9]*\\.[0-9]*";
+					this.regexpLabelid = 520;
+				} else if (this.regexpType=="phone"){
+					var regExpV = "\\+[0-9]+ [0-9]+ [0-9\\-]+";
+					this.regexpLabelid = 522;
+				} else if (this.regexpType=="number"){
+					var regExpV = "[0-9]*";
+					this.regexpLabelid = 521;
+				} else if (this.regexpType=="time"){
+					var regExpV = "([01][0-9]|2[0-3]):[0-5][0-9]";
+					this.regexpLabelid = 523;
+				} else {
+					if ($debug) Debug.warn("Unkown Regexp Type: ",this.regexpType);
+				}
+				//if ($debug) Debug.write("regExpV: ",regExpV);
+		  	    var fieldValue = this.getText();
+		  	    
+		  	    this.regExpCheckId = canvas.doRegExpCheck(this.getText(),regExpV);
+		  	    
+		  	    if(this.callDelegate == null) {
+		  	    	this.callDelegate = new LzDelegate( this, "checkRegExpResult" );
+		  	    }
+		
+				lz.Timer.resetTimer( this.callDelegate, 50 );
+			}
+		]]>
+	</handler>
+	
+	<method name="checkRegExpResult" args="item">
+		var tResult = canvas.checkRegExpResult(this.regExpCheckId);
+     	if ($debug) Debug.write("callback",tResult);
+     
+		if(tResult == undefined || tResult == null) {
+			lz.Timer.resetTimer( this.callDelegate, 50 );
+		} else {
+			if(!tResult){
+                if ($debug) Debug.warn("FALSE: regexperror");
+              	disablesTooltips(new lz.regexptip(canvas,{x:this.getAttributeRelative('x',canvas)+12,
+              					y:this.getAttributeRelative('y',canvas)+26,
+              					regexptext:canvas.getLabelName(this.regexpLabelid)}));
+              	this.usePreContent();
+              	this.setAttribute('isvalidInput',false);
+            } else {
+              	if(!this.isvalidInput){
+                	disablesTooltips(null);
+              	}
+              	this.setAttribute('isvalidInput',true);
+            }
+            if ($debug) Debug.write("-- Complete --");
+            this.onafterCheck.sendEvent();
+		}
+     </method>
+	
+    
+    <method name="setLabelId" args="_labelid" >
+        this.labelid = _labelid;
+        this.setAttribute('text',canvas.getLabelName(this.labelid));
+    </method>
+    
+  	<method name="usePreContent">
+  		this.setAttribute('text',this.preText);
+  	</method>    
+    
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/text/customInputtext.lzx b/WebContent/src/base/components/text/customInputtext.lzx
new file mode 100644
index 0000000..b9d6903
--- /dev/null
+++ b/WebContent/src/base/components/text/customInputtext.lzx
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="customInputtext" extends="inputtext">
+	  
+	 <handler name="onfocus">
+	 
+	 	if ($debug) Debug.write("customInputtext onFocus : ", canvas.isrtl);
+	 		
+	 
+		 if(canvas.isrtl == 'true'){
+	 		if ($debug) Debug.write("customInputtext onFocus : RTL is set");
+	 		this.setAttribute('textalign', 'right');
+        }
+        else{
+        	if ($debug) Debug.write("customInputtext onFocus : RTL is NOT set");
+      		this.setAttribute('textalign', 'left');
+        
+        }
+	 </handler>	  
+	  
+	 <handler name="ontext" args="txt">
+        <![CDATA[
+            
+            //
+           
+            if (System.capabilities.os.indexOf('Linux')==-1) { 
+                return; 
+            }
+            
+            //if ($debug) Debug.write("System.capabilities.os -- START ",System.capabilities.os,txt);
+            
+            if (txt == null || txt.length == 0) {
+                return;
+            }
+            
+            
+            //UTF8 character remappings
+            var cp1252 = new Object();
+            cp1252[0x20ac]=0x80;
+            cp1252[0x201a]=0x82;
+            cp1252[0x0192]=0x83;
+            cp1252[0x201e]=0x84;
+            cp1252[0x2026]=0x85;
+            cp1252[0x2020]=0x86;
+            cp1252[0x2021]=0x87;
+            cp1252[0x02c6]=0x88;
+            cp1252[0x2030]=0x89;
+            cp1252[0x0160]=0x8a;
+            cp1252[0x2039]=0x8b;
+            cp1252[0x0152]=0x8c;
+            cp1252[0x017d]=0x8e;
+            cp1252[0x2018]=0x91;
+            cp1252[0x2019]=0x92;
+            cp1252[0x201c]=0x93;
+            cp1252[0x201d]=0x94;
+            cp1252[0x2022]=0x95;
+            cp1252[0x2013]=0x96;
+            cp1252[0x2014]=0x97;
+            cp1252[0x02dc]=0x98;
+            cp1252[0x2122]=0x99;
+            cp1252[0x0161]=0x9a;
+            cp1252[0x203a]=0x9b;
+            cp1252[0x0153]=0x9c;
+            cp1252[0x017e]=0x9e;
+            cp1252[0x0178]=0x9f;
+        
+            
+            var s=eval(Selection.getFocus()); 
+            var t=txt;
+                    
+            var i=Selection.getCaretIndex()-1; 
+            
+            //if ($debug) Debug.write("i",i,Selection.getCaretIndex());
+            
+            var d=i;
+            
+            //if ($debug) Debug.write("DO WHILE -1- ",t.charCodeAt(i),cp1252[t.charCodeAt(i)],i,0x80,0xBF);
+            
+            while (((t.charCodeAt(i)>=0x80 && t.charCodeAt(i)<=0xBF) || (cp1252[t.charCodeAt(i)])) && i>0) {
+                
+                //if ($debug) Debug.write("DO WHILE -2- ",t.charCodeAt(i),cp1252[t.charCodeAt(i)],i);
+                
+                if (cp1252[t.charCodeAt(i)]) {
+                    t=t.substr(0,i)+String.fromCharCode(cp1252[t.charCodeAt(i)])+t.substr(i+1);
+                }
+                i--;
+            }
+            if (i==d) { 
+                //if ($debug) Debug.write("i == d NOTHING TO REPLACE!");
+                return; 
+            }
+        
+            var u=0;
+            
+            if (t.charCodeAt(i)>=0xC2 && t.charCodeAt(i)<=0xDF && d-i==1) {
+                 // two-byte sequence
+                u= (t.charCodeAt(i+1) & 0x3F)       +
+                  ((t.charCodeAt(i  ) & 3   ) << 6) +
+                  ((t.charCodeAt(i  ) & 0x1C) << 6);
+            } else if (t.charCodeAt(i)>=0xE0 && t.charCodeAt(i)<=0xEF && d-i==2) {
+                // three-byte sequence
+                // (Flash Player doesn't cope with any more obscure Unicode)
+                u= (t.charCodeAt(i+2) & 0x3F)        +
+                  ((t.charCodeAt(i+1) & 3   ) << 6 ) +
+                  ((t.charCodeAt(i+1) & 0x3C) << 6 ) +
+                  ((t.charCodeAt(i  ) & 0x0F) << 12);
+            }
+        
+            if (u!=0) {
+                //if ($debug) Debug.write("Replace String -1- ",txt,u,"Replace With ",String.fromCharCode(u));
+                
+                this.setAttribute("text",t.slice(0,i)+String.fromCharCode(u)+t.slice(d+1));
+                
+                //if ($debug) Debug.write("Replace String -2- ",txt,u);
+                
+                this.setAttribute("text",this.text.split(String.fromCharCode(0x03)).join(''));
+            }
+            
+            //if ($debug) Debug.write("-- END ",this.text);
+            
+        ]]>
+    </handler>
+  	
+    
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/text/customscrollEdittext.lzx b/WebContent/src/base/components/text/customscrollEdittext.lzx
new file mode 100644
index 0000000..626e9ad
--- /dev/null
+++ b/WebContent/src/base/components/text/customscrollEdittext.lzx
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+   
+<include href="incubator/scrolledittext.lzx" />
+
+<class name="customScrollEdittext" extends="view" >
+	
+	<attribute name="text" value="" type="string" />
+	
+	<event name="ontextChange" />
+
+    <attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+    <method name="setLabelId" args="_labelid" >
+        this.labelid = _labelid;
+        this.setAttribtue('text',canvas.getLabelName(this.labelid));
+    </method>
+    
+    <method name="getText">
+    	return this._cbtext.getText();
+    </method>
+    
+    <view name="_face" bgcolor="0xFFFFFFF" 
+          width="$once{parent.width}" 
+          height="$once{parent.height}" />
+          
+    <view name="v_border" height="1" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" width="$once{parent.width}" />
+    <view name="h_border" width="1"  y="1" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" height="$once{parent.height -1}" />
+          
+    <scrolledittext name="_cbtext" width="$once{ parent.width-1 }" x="1" y="1" bgcolor="0xFFFFFF"  styleable="false"
+		height="$once{ parent.height-1 }" text="${ parent.text }" vscrollbarclassname="om_vscrollbar"
+		multiline="true" fontsize="11" />
+    
+     
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/text/labelText.lzx b/WebContent/src/base/components/text/labelText.lzx
new file mode 100644
index 0000000..6387078
--- /dev/null
+++ b/WebContent/src/base/components/text/labelText.lzx
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="labelText" extends="text" resize="true" fontsize="11" >
+
+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+	<method name="setLabelId" args="_labelid" >
+		this.labelid = _labelid;
+		this.setAttribute('text',canvas.getLabelName(this.labelid));
+	</method>
+	
+</class>
+
+
+<class name="labelTextWidthTooltip" extends="text" resize="true" 
+	   onmouseover="" onmouseout=""
+	   fontsize="11" >
+	
+	<attribute name="labelLabelid" type="number" value="-1" />
+
+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+	<method name="setLabelId" args="_labelid" >
+		this.labelid = _labelid;
+		this.setAttribute('text',canvas.getLabelName(this.labelid));
+	</method>
+	
+	<labelTooltip name="_labelTooltip" labelid="$once{ parent.labelLabelid }" />
+	
+</class>
+
+<class name="labeldTextListItem" extends="textlistitem">
+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+    <method name="setLabelId" args="_labelid" >
+        this.labelid = _labelid;
+        this.setAttribute('text',canvas.getLabelName(this.labelid));
+    </method>
+    <labelTooltip initByDataPathparent="true" />
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/text/labelTooltip.lzx b/WebContent/src/base/components/text/labelTooltip.lzx
new file mode 100644
index 0000000..b143407
--- /dev/null
+++ b/WebContent/src/base/components/text/labelTooltip.lzx
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="labelTooltip" extends="view" visible="false" >
+
+	<attribute name="inittwice" value="false" type="boolean" />
+    <attribute name="multiline" value="false" type="boolean" />
+    <attribute name="ismenubuttonlabel" value="false" type="boolean" />
+    <attribute name="initByDataPathparent" value="false" type="boolean" />
+    
+    <attribute name="holder" value="null" />
+    
+    <event name="setContent" />
+        
+    <handler name="onmouseover" reference="this.parent">
+    	<![CDATA[
+            this.setContent.sendEvent();
+	    	if (this.ismenubuttonlabel){
+	    		this.parent.setLabel();
+	    	}
+	    	if (this.inittwice){
+	    		this.setAttribute('text',canvas.getLabelName(this.labelid));
+	    	}
+	    	if (this.initByDataPathparent){
+                this.setAttribute('text',parent.text);
+            }
+	        var xVal = canvas.getMouse('x');
+	        var yVal = canvas.getMouse('y');
+			////Debug.write("mytext: ",this.mytext);
+			if (this.multiline && this.text.length!=0){
+				this.holder = new lz.xmlCrmTooltipMulti(canvas,{text:this.text,holder:this});
+			} else if (this.text.length!=0){
+				this.holder = new lz.xmlCrmTooltip(canvas,{text:this.text,holder:this});
+			}
+	        if (xVal<canvas.width/2){
+	            xVal += 0;
+	        } else {
+	            xVal -= this.holder.width-14;
+	        }
+	        if (yVal<canvas.height/2){
+	            yVal += 24;
+	        } else {
+	            yVal -= 24;
+	        }
+	        if (this.holder!=null)  {
+	           this.holder.setAttribute('x',xVal);
+	           this.holder.setAttribute('y',yVal);
+            }
+            canvas.registerToolTip(this);
+        ]]>        
+    </handler>
+    <handler name="onmouseout" reference="this.parent">
+        this.cleanHolder();
+    </handler>
+    <handler name="onmouseup" reference="this.parent">
+        this.cleanHolder();
+    </handler>
+    <handler name="onclick" reference="this.parent">
+        this.cleanHolder();
+    </handler>   
+    <method name="cleanHolder">
+        if (this.holder!=null) {
+            this.holder.destroy();
+            this.holder = null; 
+            canvas.clearToolTip();
+        }
+    </method> 
+    <attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+    <method name="setLabelId" args="_labelid" >
+        this.labelid = _labelid;
+        this.setAttribute('text',canvas.getLabelName(this.labelid));
+    </method>
+    <attribute name="text" value="" type="string" />
+</class>
+
+<class name="xmlCrmTooltip" extends="view" bgcolor="0x000000" 
+    width="${ this._text.width+2 }" height="${ this._text.height+2 }" >
+    <attribute name="text" value="" type="string" />
+    <attribute name="holder" value="null" />
+    <text x="1" y="1" text="${ parent.text }" resize="true" 
+        fontsize="10" name="_text" bgcolor="0xFFFFFF" />
+    <handler name="onmouseout">
+        this.destroy();
+    </handler>
+    <handler name="oninit">
+        this.setShadow();
+    </handler>
+    <method name="setShadow" >
+        <![CDATA[
+        if (this.isinited){
+            this.normalMC = this.getDisplayObject();
+           	this.displacementMap = new flash.filters.DropShadowFilter();
+            this.normalMC.filters = [this.displacementMap];
+        }
+        ]]>              
+    </method> 
+</class>
+
+<class name="xmlCrmTooltipMulti" extends="view" bgcolor="0x000000" 
+    width="${ this._text.width+2 }" height="${ this._text.height+2 }" >
+    <attribute name="text" value="" type="string" />
+    <attribute name="holder" value="null" />
+    <text x="1" y="1" text="${ parent.text }" resize="true" 
+        fontsize="10" name="_text" bgcolor="0xFFFFFF" multiline="true" />
+    <handler name="oninit">
+        this.setShadow();
+    </handler>
+    <method name="setShadow" >
+        <![CDATA[
+        if (this.isinited){
+            this.normalMC = this.getDisplayObject();
+           	this.displacementMap = new flash.filters.DropShadowFilter();
+            this.normalMC.filters = [this.displacementMap];
+        }
+        ]]>              
+    </method>	    
+    <handler name="onmouseout">
+        this.destroy();
+    </handler>
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/text/library.lzx b/WebContent/src/base/components/text/library.lzx
new file mode 100644
index 0000000..facbdab
--- /dev/null
+++ b/WebContent/src/base/components/text/library.lzx
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	<include href="borderedInputtext.lzx" />
+	<include href="labelText.lzx" />
+	<include href="labelTooltip.lzx" />
+    <include href="customEdittext.lzx" />
+    <include href="customscrollEdittext.lzx" />
+    <include href="customInputtext.lzx" />
+
+</library>
diff --git a/WebContent/src/base/components/turnoverlist/baseContentListItem.lzx b/WebContent/src/base/components/turnoverlist/baseContentListItem.lzx
new file mode 100644
index 0000000..799bed3
--- /dev/null
+++ b/WebContent/src/base/components/turnoverlist/baseContentListItem.lzx
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- base class for the item list views-->
+<class name="baseContentListItem" extends="view" 
+	   layout="axis:x;spacing:0" bgcolor="0xFFFFFF" >
+	
+	<attribute name="isselected" value="false" type="boolean"/>
+	
+	<method name="select">
+		this.isselected = true;
+		this.setAttribute('bgcolor',canvas.getThemeColor('baseMouseOvercolorizer'));
+	</method>
+	
+	<method name="deselect">
+		this.isselected = false;
+		this.setAttribute('bgcolor',0xFFFFFF);
+	</method>
+	
+	<method name="doDeselect">
+		this.deselect();
+	</method>
+	
+	<handler name="onmouseover">
+		if (!this.isselected) {
+			this.setAttribute('bgcolor',canvas.getThemeColor('baseMouseOvercolorizer'));
+		}
+	</handler>
+	
+	<handler name="onmouseout">
+		if (!this.isselected) {
+			this.setAttribute('bgcolor',0xFFFFFF);
+		} else {
+			this.setAttribute('bgcolor',canvas.getThemeColor('baseMouseOvercolorizer'));
+		}
+	</handler>
+	
+	<handler name="onclick">
+		if ($debug) Debug.write("baseContentListItem -- onclick");
+		this.parent.parent.parent.parent.onclickedItem.sendEvent(this);
+	</handler>
+    
+    <handler name="ondblclick">
+		this.parent.parent.parent.parent.ondblclickedItem.sendEvent(this);
+	</handler>
+	
+    <attribute name="obj" value="null" />
+
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/turnoverlist/library.lzx b/WebContent/src/base/components/turnoverlist/library.lzx
new file mode 100644
index 0000000..32abb86
--- /dev/null
+++ b/WebContent/src/base/components/turnoverlist/library.lzx
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+    <!-- APL Author sebawagner -->
+    <resource name="width_gripper_rsc" src="resources/width_change_cursor.swf" />
+
+	<!-- APL Author sebawagner -->
+	<resource name="sort_asc_turnover_rsc" src="resources/sort_asc.png" />
+	
+	<!-- APL Author sebawagner -->
+	<resource name="sort_desc_turnover_rsc" src="resources/sort_desc.png" />
+	    
+	<include href="turnOverList.lzx" />
+    <include href="simpleTurnOverList.lzx" />
+	<include href="turnOverListHeaderItem.lzx" />
+	<include href="turnOverTextItem.lzx" />
+    <include href="baseContentListItem.lzx" />
+
+</library>
diff --git a/WebContent/src/base/components/turnoverlist/resources/sort_asc.png b/WebContent/src/base/components/turnoverlist/resources/sort_asc.png
new file mode 100644
index 0000000..a5c9c8b
--- /dev/null
+++ b/WebContent/src/base/components/turnoverlist/resources/sort_asc.png
Binary files differ
diff --git a/WebContent/src/base/components/turnoverlist/resources/sort_desc.png b/WebContent/src/base/components/turnoverlist/resources/sort_desc.png
new file mode 100644
index 0000000..acdb200
--- /dev/null
+++ b/WebContent/src/base/components/turnoverlist/resources/sort_desc.png
Binary files differ
diff --git a/WebContent/src/base/components/turnoverlist/resources/width_change_cursor.fla b/WebContent/src/base/components/turnoverlist/resources/width_change_cursor.fla
new file mode 100644
index 0000000..7205efb
--- /dev/null
+++ b/WebContent/src/base/components/turnoverlist/resources/width_change_cursor.fla
Binary files differ
diff --git a/WebContent/src/base/components/turnoverlist/resources/width_change_cursor.swf b/WebContent/src/base/components/turnoverlist/resources/width_change_cursor.swf
new file mode 100644
index 0000000..39e0f00
--- /dev/null
+++ b/WebContent/src/base/components/turnoverlist/resources/width_change_cursor.swf
Binary files differ
diff --git a/WebContent/src/base/components/turnoverlist/simpleTurnOverList.lzx b/WebContent/src/base/components/turnoverlist/simpleTurnOverList.lzx
new file mode 100644
index 0000000..fd021fe
--- /dev/null
+++ b/WebContent/src/base/components/turnoverlist/simpleTurnOverList.lzx
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<!--- common simpleTurnOverList view class. -->
+<class name="simpleTurnOverList" extends="view">
+    
+    <attribute name="_selected" value="null"/>
+    
+    <event name="ondblclickedItem" />
+
+    <handler name="onclickedItem" args="itemObj">
+        if (this._selected != null) {
+            this._selected.deselect();
+        }
+        this._selected = itemObj;
+        this._selected.select();
+    </handler>
+	
+	<attribute name="mainBgColor" value="0xEEF0EB" />
+    
+	<method name="addHeaderItem" args="labelid,width" >
+		new lz.turnOverListHeaderItem(this._innerlisthead._inn,{labelid:labelid,width:width,subviewsid:this._innerlisthead._inn.subviews.length});
+	</method>
+    
+    <method name="sendInitialWidthUpdate">
+        for (var eg in this._innerlisthead._inn.subviews) {
+            this._innerlisthead._inn.subviews[eg].onwidth.sendEvent(this._innerlisthead._inn.subviews[eg].width);
+        }
+    </method> 
+	
+	<method name="sendWidthUpdate" args="w,subviewsid" >
+		<![CDATA[
+		////Debug.write(w,subviewsid,this._innerlist._inn);
+		for (var i=0;i<this._innerlist._inn._inn.subviews.length;i++){
+			this._innerlist._inn._inn.subviews[i].subviews[subviewsid].setAttribute('width',w);
+		}
+		]]>
+	</method>
+    
+    <method name="initValues" args="numberOfRecords">
+        <![CDATA[
+            this._records.setAttribute('text',numberOfRecords + ' ' + canvas.getLabelName(272) );
+        ]]>
+    </method>
+	
+	<method name="clearList">
+        this._selected = null;
+		this._innerlist._inn._inn.destroy();
+		new lz.innerList(this._innerlist._inn,{name:'_inn'});
+	</method>
+    
+    <!-- =========  BgArea area  =========-->
+    <view width="$once{ parent.width }" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }"
+          height="$once{ parent.height-20 }" x="0" y="20">
+        <view width="$once{ parent.width-2 }" bgcolor="$once{ parent.parent.mainBgColor }"
+          height="$once{ parent.height-2 }" x="1" y="1"></view>
+    </view>
+    
+	<!-- =========  Control area  =========-->
+
+    <labelText name="_records" x="2" resize="true" />
+    
+    
+	<!-- =========  List Header area  =========-->
+
+	<view name="_innerlisthead" height="20" x="1" width="$once{ parent.width-2 }"
+         y="22" clip="true">
+        <view name="_inn" x="${ parent.parent._innerlist._inn.x }" layout="axis:x;spacing:0" />
+    </view> 
+	
+	<!-- =========  List Contents area  =========-->
+	<view name="_innerlist" height="$once{ parent.height-43 }" x="1" width="$once{ parent.width-2 }"
+		y="42" clip="true" bgcolor="$once{ parent.mainBgColor }">
+		<view name="_inn" >
+			<innerList name="_inn" />
+		</view>
+		<om_vscrollbar />
+		<om_hscrollbar />
+	</view>
+
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/turnoverlist/turnOverList.lzx b/WebContent/src/base/components/turnoverlist/turnOverList.lzx
new file mode 100644
index 0000000..821b20f
--- /dev/null
+++ b/WebContent/src/base/components/turnoverlist/turnOverList.lzx
@@ -0,0 +1,283 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- private class for turnOverList only. -->
+<class name="innerList" layout="axis:y;spacing:1" />
+	
+<!--- common TurnOverList view class. -->
+<class name="turnOverList" extends="view" >
+
+	<attribute name="start" value="0" type="number" />
+	<attribute name="step" value="100" type="number" />
+	<attribute name="orderby" value="firstname" type="string" />
+	<attribute name="asc" value="true" type="boolean" />
+	<attribute name="records" value="0" type="number" />
+	
+	<attribute name="_selected" value="null"/>
+    <attribute name="currentSelectedOrder" value="null" />
+    <attribute name="mainBgColor" value="0xEEF0EB" />
+	
+	<event name="oncallnext" />
+	<event name="oncallpre" />
+	<event name="ondblclickedItem" />
+    <event name="onUpdateOrder" />
+	
+	<method name="callfirst">
+		this.start = 0;
+		this.oncallnext.sendEvent();
+	</method>
+    
+    <method name="clearSelection">
+        if (this._selected != null) {
+            this._selected.deselect();
+        }
+    </method>
+	
+	<handler name="onclickedItem" args="itemObj">
+		if (this._selected != null) {
+			this._selected.deselect();
+		}
+		this._selected = itemObj;
+		this._selected.select();
+	</handler>
+	
+	<method name="calllast">
+		var newMaxPages = Math.floor(this.records/this.step);
+        if ($debug) Debug.write("calllast 1 ",newMaxPages);
+        this.start = newMaxPages*this.step;
+        if ($debug) Debug.write("calllast 2 ",this.start);
+        if (this.start == this.records) {
+            this.start = this.records-this.step;
+        }
+        if ($debug) Debug.write("calllast 3 ",this.start);
+        if ($debug) Debug.write("calllast 4 ",this.records);
+        this.oncallnext.sendEvent();
+        this.onload.sendEvent();
+        
+		//this.start = this.records-this.step;
+		//this.oncallnext.sendEvent();
+	</method>
+	
+	<method name="callnext">
+		this._next1.setAttribute('enabled',false);
+		this._pre2.setAttribute('enabled',false);
+		if (this.records>(this.start+this.step)){
+			this.start+=this.step;
+		}
+		this.oncallnext.sendEvent();
+	</method>
+	
+	<method name="callpre">
+		this._next1.setAttribute('enabled',false);
+		this._pre2.setAttribute('enabled',false);
+		if (this.start>0){
+			this.start-=this.step;
+		}
+		this.oncallpre.sendEvent();
+	</method>
+	
+	<method name="initValues" args="rec">
+		<![CDATA[
+            this.records = rec;
+            if (this.records>(this.start+this.step)){
+                this._next1.setAttribute('enabled',true);
+            } else {
+                this._next1.setAttribute('enabled',false);
+            }
+            if (this.start>0){
+                this._pre2.setAttribute('enabled',true);
+            } else {
+                this._pre2.setAttribute('enabled',false);
+            }
+            this._records.setAttribute('text',this.start + ' - ' +(this.start+this.step) + ' ' + canvas.getLabelName(272) + ' ' + this.records);
+		]]>
+	</method>
+	
+	<method name="addHeaderItem" args="labelid,width" >
+		new lz.turnOverListHeaderItem(this._innerlisthead._inn,{labelid:labelid,width:width,subviewsid:this._innerlisthead._inn.subviews.length});
+	</method>
+	
+	<method name="addHeaderItemOrdered" args="labelid,width,orderBy,asc,isSelected" >
+        new lz.turnOverListHeaderItemOrdered(this._innerlisthead._inn,{
+                labelid:labelid,width:width,
+                orderBy:orderBy,asc:asc,isSelected:isSelected,
+                subviewsid:this._innerlisthead._inn.subviews.length
+            });
+    </method> 
+    
+    <method name="updateOrder" args="itemRef">
+        <![CDATA[
+            //only do that if the previous orderBy != new orderby
+            //if (this.currentSelectedOrder == null || 
+            //        this.currentSelectedOrder.orderBy != itemRef.orderBy){
+            if (itemRef.isSelected) {
+                itemRef.asc = !itemRef.asc;
+            } else {
+                itemRef.isSelected = true;
+            }
+            if (itemRef.asc) {
+                itemRef._sortUp.setAttribute('visibility','hidden');
+                itemRef._sortDown.setAttribute('visibility','visible');
+            } else {
+                itemRef._sortUp.setAttribute('visibility','visible');
+                itemRef._sortDown.setAttribute('visibility','hidden'); 
+            }
+            
+            //do not perform search on initial Selection
+            var isInitSelect = false;
+            if (this.currentSelectedOrder != null) {
+                if (this.currentSelectedOrder.orderBy != itemRef.orderBy) {
+                    this.currentSelectedOrder.isSelected = false;
+                    this.currentSelectedOrder._sortUp.setAttribute('visibility','hidden');
+                    this.currentSelectedOrder._sortDown.setAttribute('visibility','hidden'); 
+                }
+            } else {
+                isInitSelect = true;
+            }
+            this.currentSelectedOrder = itemRef;
+            
+            if ($debug) Debug.write("updateOrder: ",itemRef,itemRef.orderBy,itemRef.asc,isInitSelect);
+            this.setAttribute('orderby',itemRef.orderBy);
+            this.setAttribute('asc',itemRef.asc);
+            
+            if (!isInitSelect){
+                this.onUpdateOrder.sendEvent(itemRef);
+            }
+            //}
+        ]]>
+    </method>
+    
+    <method name="sendInitialWidthUpdate">
+        for (var eg in this._innerlisthead._inn.subviews) {
+            this._innerlisthead._inn.subviews[eg].onwidth.sendEvent(this._innerlisthead._inn.subviews[eg].width);
+        }
+    </method> 
+	
+	<method name="sendWidthUpdate" args="w,subviewsid" >
+		<![CDATA[
+		////Debug.write(w,subviewsid,this._innerlist._inn);
+		for (var i=0;i<this._innerlist._inn._inn.subviews.length;i++){
+			this._innerlist._inn._inn.subviews[i].subviews[subviewsid].setAttribute('width',w);
+		}
+		]]>
+	</method>
+	
+	<method name="clearList">
+		this._selected = null;
+		this._innerlist._inn._inn.destroy();
+		new lz.innerList(this._innerlist._inn,{name:'_inn'});
+	</method>
+    
+
+
+	<!-- =========  Control area  =========-->
+
+    <labelText name="_records" x="2" resize="true" />
+    
+    <!-- 368:goto first -->
+    <blueButton name="_pre1" y="0" x="$once{ parent.width-188 }" resourceItem="step_back_two_arrow" 
+					x_insetResource="2" y_insetResource="2" width="20" height="20"
+					width_insetResource="16" height_insetResource="16" >
+        <handler name="onclick">
+            parent.callfirst();
+        </handler>
+        <labelTooltip labelid="368" />
+    </blueButton>
+
+    <!-- 369:goto previous -->
+    <blueButton name="_pre2" y="0" x="$once{ parent.width-166 }" resourceItem="step_back_arrow" 
+					x_insetResource="2" y_insetResource="2" width="20" height="20"
+					width_insetResource="16" height_insetResource="16">
+        <handler name="onclick">
+            parent.callpre();
+        </handler>
+        <labelTooltip labelid="369" />
+    </blueButton>
+
+    <!-- combobox to decide the step number -->
+    <resetCombobox name="languages" width="96" x="$once{ parent.width-144 }" 
+			  editable="false" height="20" >
+		<attribute name="sendEventToReload" value="false" type="boolean" />
+        <textlistitem value="10" text="10" />
+        <textlistitem value="25" text="25" />
+        <textlistitem value="50" text="50" />
+        <textlistitem value="75" text="75" />
+        <textlistitem value="100" text="100" />
+        <textlistitem value="200" text="200" />
+        <handler name="onselect">
+        	if (this.sendEventToReload){ 
+        		parent.setAttribute('step',Number(this.getValue()));
+        	}
+        </handler>
+        <handler name="oninit">
+        	this.selectItem(String(parent.step));
+        	this.sendEventToReload = true;
+        </handler>
+	</resetCombobox>
+	
+	<!-- 370:goto next -->
+	<blueButton name="_next1" y="0" x="$once{ parent.width-44 }" resourceItem="step_fwd_arrow" 
+                x_insetResource="2" y_insetResource="2" width="20" height="20"
+				width_insetResource="16" height_insetResource="16">
+        <handler name="onclick">
+            parent.callnext();
+        </handler>
+        <labelTooltip labelid="370" />
+    </blueButton>
+
+    <!-- 371:goto last -->
+    <blueButton name="_next2" y="0" x="$once{ parent.width-21 }" resourceItem="step_fwd_two_arrow" 
+				x_insetResource="2" y_insetResource="2" width="20" height="20"
+				width_insetResource="16" height_insetResource="16">
+        <handler name="onclick">
+            parent.calllast();
+        </handler>
+        <labelTooltip labelid="371" />
+    </blueButton>
+	
+    <!-- =========  BgArea area  =========-->
+    <view width="$once{ parent.width }" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }"
+          height="${ parent.height-20 }" x="0" y="20">
+        <view width="$once{ parent.width-2 }" bgcolor="$once{ parent.parent.mainBgColor }"
+          height="${ parent.height-2 }" x="1" y="1"></view>
+    </view>
+          
+	<!-- =========  List Header area  =========-->
+
+	<view name="_innerlisthead" height="20" x="1" width="$once{ parent.width-2 }" 
+		 y="22" clip="true">
+		<view name="_inn" x="${ parent.parent._innerlist._inn.x }" layout="axis:x;spacing:0" />
+	</view>	
+	
+	<!-- =========  List Contents area  =========-->
+	<view name="_innerlist" height="${ parent.height-43 }" x="1" width="$once{ parent.width-2 }"
+		y="42" clip="true" bgcolor="$once{ parent.mainBgColor }">
+		<view name="_inn" >
+			<innerList name="_inn" />
+		</view>
+		<om_vscrollbar />
+		<om_hscrollbar />
+	</view>
+
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/turnoverlist/turnOverListHeaderItem.lzx b/WebContent/src/base/components/turnoverlist/turnOverListHeaderItem.lzx
new file mode 100644
index 0000000..a349f4e
--- /dev/null
+++ b/WebContent/src/base/components/turnoverlist/turnOverListHeaderItem.lzx
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="turnOverListHeaderItem" extends="simpleLabelButton" clip="true" fontstyle="plain">
+
+	<attribute name="subviewsid" value="0" type="number" />
+
+	<view height="$once{ parent.height-2 }" width="5" align="right"
+		cursor="width_gripper_rsc" 
+		onmousedown="parent.rs.apply()" onmouseup="parent.rs.remove()" />
+		
+	<handler name="onwidth" args="w">
+		this.parent.parent.parent.sendWidthUpdate(w,this.subviewsid);
+	</handler>
+	<resizestate name="rs" height="20" />
+</class>
+
+<class name="turnOverListHeaderItemSimple" extends="simpleLabelButton" fontstyle="plain">
+	<attribute name="asc" value="false" type="boolean" />
+	<attribute name="pathOrder" value="" type="string" />
+	<handler name="onclick">
+		if (parent.preButton!=null){
+			parent.preButton._asc.setAttribute('visibility','hidden');
+			parent.preButton._desc.setAttribute('visibility','hidden');
+		}
+		if (!this.asc){
+			this._asc.setAttribute('visibility','hidden');
+			this._desc.setAttribute('visibility','visible');
+		} else {
+			this._asc.setAttribute('visibility','visible');
+			this._desc.setAttribute('visibility','hidden');		
+		}
+		parent.preButton = this;
+		parent.setNewSortOrder(this.pathOrder,this);
+	</handler>
+	<view name="_asc" x="$once{ parent.width-20 }" 
+		  visibility="hidden" resource="sort_asc_turnover_rsc" />
+	<view name="_desc" x="$once{ parent.width-20 }" 
+		  visibility="hidden" resource="sort_desc_turnover_rsc" />
+</class>
+
+<class name="basicturnoverlistheaderitem" fontsize="9"
+       extends="simpleLabelButton" clip="true">
+	
+</class>
+
+<class name="turnoverlistheaderitem" extends="basicturnoverlistheaderitem" >
+
+	<attribute name="subviewsid" value="0" type="number" />
+
+	<handler name="onwidth" args="w">
+		this.parent.parent.parent.sendWidthUpdate(w,this.subviewsid);
+	</handler>
+
+</class>
+
+<class name="turnoverlistheaderitemIcon" extends="basicturnoverlistheaderitem" >
+
+    <attribute name="subviewsid" value="0" type="number" />
+    <attribute name="toolTipLabelId" value="0" type="number" />
+    <attribute name="iconResource" value="" type="string" />
+
+    <handler name="onwidth" args="w">
+        this.parent.parent.parent.sendWidthUpdate(w,this.subviewsid);
+    </handler>
+    
+    <handler name="onclick" >
+        this.parent.parent.parent.sendHeaderClick.sendEvent(this);
+    </handler>
+    
+    <view align="center" valign="middle" 
+          resource="$once{ parent.iconResource }" />
+    
+    <labelTooltip labelid="$once{ parent.toolTipLabelId }" />
+    
+</class>
+
+<class name="turnoverlistheaderitemResize" extends="basicturnoverlistheaderitem" >
+
+	<attribute name="subviewsid" value="0" type="number" />
+
+    <attribute name="minwidth" value="2" type="number" />
+    <attribute name="minheight" value="10" type="number" />
+    
+	<view height="$once{ parent.height }" width="4" align="right" bgcolor="black"
+		cursor="width_gripper_rsc" opacity="0.01"
+		onmousedown="parent.rs.apply()" onmouseup="parent.rs.remove()" />
+
+	<handler name="onwidth" args="w">
+        //////if ($debug) //Debug.write("onwidth: ",w);
+		this.parent.parent.parent.sendWidthUpdate(w-1,this.subviewsid);
+	</handler>
+
+	<resizestatemin name="rs" height="20" />
+
+</class>
+
+<class name="turnoverlistheaderitemResizeWizzardRefresh" extends="basicturnoverlistheaderitem" >
+
+    <attribute name="subviewsid" value="0" type="number" />
+
+    <attribute name="minwidth" value="2" type="number" />
+    <attribute name="minheight" value="10" type="number" />
+    
+    <view height="$once{ parent.height }" width="4" align="right" bgcolor="black"
+        cursor="width_gripper_rsc" opacity="0.01"
+        onmousedown="parent.rs.apply()" onmouseup="parent.rs.remove()" />
+
+    <handler name="onwidth" args="w">
+        //////if ($debug) //Debug.write("onwidth: ",w);
+        this.parent.parent.parent.sendWidthUpdate(w-1,this.subviewsid);
+    </handler>
+    
+    <view name="refresh_geomComp" resource="refresh_geomComp" y="1" x="${ parent.width - 19 }"
+        onmouseover="" onmouseout="">
+        <handler name="onclick">
+           this.parent.parent.parent.parent.parent.updateGeomByValue();
+        </handler>
+        <labelTooltip labelid="62" />
+    </view>   
+
+    <resizestatemin name="rs" height="20" />
+
+</class>
+
+
+
+<class name="turnOverListHeaderItemOrdered" extends="turnoverlistheaderitemResize">
+
+    <attribute name="orderBy" value="" type="string" />
+    <attribute name="asc" value="true" type="boolean" />
+    <attribute name="isSelected" value="false" type="boolean" />
+    
+    <handler name="oninit">
+        if (this.isSelected) {
+            parent.parent.parent.updateOrder(this);
+        }
+    </handler>
+    
+    <handler name="onclick">
+        parent.parent.parent.updateOrder(this);
+    </handler>
+    
+    <image name="_sortUp" visibility="hidden" stretches="both" width="8" height="8" y="6"
+        x="${parent.width - 13 }" src="$once{ canvas.getThemeImage('sort_up_rsc') }" />
+    <image name="_sortDown" visibility="hidden" stretches="both" width="8" height="8" y="6"
+        x="${parent.width - 13 }" src="$once{ canvas.getThemeImage('sort_down_rsc') }" />
+
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/turnoverlist/turnOverTextItem.lzx b/WebContent/src/base/components/turnoverlist/turnOverTextItem.lzx
new file mode 100644
index 0000000..c758163
--- /dev/null
+++ b/WebContent/src/base/components/turnoverlist/turnOverTextItem.lzx
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="turnOverTextItem" extends="text" fontsize="11" resize="false">
+	<view height="$once{ parent.parent.height }" width="1" 
+        align="right" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" />
+</class>
+        
+</library>
diff --git a/WebContent/src/base/components/turnoverlistpaged/basePagingListItem.lzx b/WebContent/src/base/components/turnoverlistpaged/basePagingListItem.lzx
new file mode 100644
index 0000000..2d8b24b
--- /dev/null
+++ b/WebContent/src/base/components/turnoverlistpaged/basePagingListItem.lzx
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="basePagingListItem" extends="baseContentListItem" height="20"> 
+
+	<attribute name="itemId" value="0" type="number" />
+    
+</class>
+
+
+<class name="comoboxListItemNoHeaders" extends="basePagingListItem" >
+    
+    <attribute name="text" value="" type="string" />
+    
+    <text width="100" height="20" resize="false" fontsize="10"
+          text="${ parent.text }" />
+          
+    <labelTooltip text="${ parent.text }" />
+    
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/turnoverlistpaged/library.lzx b/WebContent/src/base/components/turnoverlistpaged/library.lzx
new file mode 100644
index 0000000..90f5920
--- /dev/null
+++ b/WebContent/src/base/components/turnoverlistpaged/library.lzx
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+    <include href="basePagingListItem.lzx" />
+    <include href="listPagedContent.lzx" />
+	<include href="turnOverListPaged.lzx" />
+    <include href="turnOverListOrderedPaged.lzx" />
+
+</library>
diff --git a/WebContent/src/base/components/turnoverlistpaged/listPagedContent.lzx b/WebContent/src/base/components/turnoverlistpaged/listPagedContent.lzx
new file mode 100644
index 0000000..dbafcb4
--- /dev/null
+++ b/WebContent/src/base/components/turnoverlistpaged/listPagedContent.lzx
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<!--- common TurnOverList view class. -->
+<class name="listPagedContent" extends="view" clip="true" >
+	
+	<attribute name="itemHeight" value="20" type="number"/>
+    
+    <attribute name="showHScrollbar" value="visible" type="string"/>
+    
+    <method name="initItemsBySubItemNo" args="itemName,noSubItems,subItemClassName"> 
+        this._inn.initItemsBySubItemNo(itemName,noSubItems,subItemClassName);
+    </method>    
+	
+    <view name="_inn" >
+        
+        <!-- calculates the additional items -->
+        <attribute name="itemsToShow" value="0" type="number" />
+        <attribute name="totalItemsInList" value="0" type="number" />
+        
+        <attribute name="currentLastItemInList" value="0" type="number" />
+        
+        <attribute name="itemHeight" value="$once{ parent.itemHeight }" type="number"/>
+        
+		<method name="initItems" args="itemName">
+	        <![CDATA[
+	            this.totalItemsInList = Math.round(parent.height/this.itemHeight);
+	            for (var i=0;i<this.totalItemsInList;i++){
+	                this.currentLastItemInList = i;
+	                new lz[itemName](this._inn,{y:i*this.itemHeight,itemId:i,clickable:false});
+	            }
+                
+                if ($debug) Debug.write("initItems -1- ",i,itemName,lz[itemName]);
+                if ($debug) Debug.write("initItems -2- ",this._inn.subviews.length);
+                if ($debug) Debug.write("initItems -3- ",totalItemsInList);
+                if ($debug) Debug.write("initItems -4- ",parent.height);
+                if ($debug) Debug.write("initItems -5- ",this.itemHeight);
+                
+                //canvas.currentDebugPageList = this;
+                
+	        ]]>
+	    </method>	
+	    
+	    <handler name="ony" args="y">
+	    	parent.parent.onMoveList.sendEvent(y);
+	    </handler> 
+        
+        <method name="initItemsBySubItemNo" args="itemName,noSubItems,subItemClassName">
+           <![CDATA[
+                this.totalItemsInList = Math.round(parent.height/this.itemHeight);
+                for (var i=0;i<this.totalItemsInList;i++){
+                    this.currentLastItemInList = i;
+                    var baseItem = new lz[itemName](this._inn,{y:i*this.itemHeight,itemId:i,clickable:false});
+                    
+                    for (var k=0;k<noSubItems;k++) {
+                        new lz[subItemClassName](baseItem);
+                    }
+                    
+                }
+            ]]>
+        </method>      
+        
+        <method name="resetItems">
+            <![CDATA[
+                for (var i=0;i<this._inn.subviews.length;i++) {
+                    this._inn.subviews[i].itemId = i;
+                    this.currentLastItemInList = i;
+                    this._inn.subviews[i].setAttribute("y",i*this.itemHeight);
+                }
+            ]]>
+        </method>
+        
+        <handler name="ony" args="y">
+            <![CDATA[
+                //if ($debug) Debug.write("ony ",y);
+                var items = Math.round(y/this.itemHeight);
+                //if ($debug) Debug.write("items ",items);
+                if (this.itemsToShow != items) {
+                    var deltaItem = itemsToShow - items;
+                    
+                    //if ($debug) Debug.write("deltaItem ",deltaItem);
+                    
+                    if (deltaItem > 0) {
+                        //Add new Items to the end
+                        for (var i=0;i<deltaItem;i++) {
+                            var item = this._inn.getUpmostItemInList();
+                            this.shiftToLast(item);
+                        }
+                    } else {
+                        //Add new Items to the beginning
+                        for (var i=0;i>deltaItem;i--) {
+                            var item = this._inn.getLastItemInList();
+                            this.shiftToFirst(item);
+                        }
+                    }
+                    
+                    this.itemsToShow = items;
+                }
+            ]]>
+        </handler>
+        
+        <method name="shiftToLast" args="item">
+            <![CDATA[
+                parent.parent.onNextScrollItem.sendEvent(item);
+                //if ($debug) Debug.write("shiftToLast ",item,item.itemId);
+                this.currentLastItemInList++;
+                item.setAttribute("y",this.currentLastItemInList*this.itemHeight);
+                //if ($debug) Debug.write("shiftToLast -1- ",item.y,this.currentLastItemInList);
+                //if ($debug) Debug.write("++ shiftToLast 4 ",item.y,this.currentLastItemInList);
+                item.itemId = this.currentLastItemInList;
+                parent.parent.onScrollItem.sendEvent(item);
+            ]]>
+        </method>
+        
+        <method name="shiftToFirst" args="item">
+            <![CDATA[
+                parent.parent.onNextScrollItem.sendEvent(item);
+                //if ($debug) Debug.write("shiftToFirst 1 ",item.itemId);
+                //if ($debug) Debug.write("shiftToFirst 2 ",item.y);
+                var newItem = this.currentLastItemInList-this.totalItemsInList;
+                //if ($debug) Debug.write("shiftToFirst 3 ",newItem);
+                item.setAttribute("y",newItem*this.itemHeight);
+                //if ($debug) Debug.write("-- shiftToFirst 4 ",item.y,newItem,this.currentLastItemInList);
+                item.itemId = newItem;
+                //if ($debug) Debug.write("shiftToFirst 5 ",item.itemId);
+                this.currentLastItemInList--;
+                parent.parent.onScrollItem.sendEvent(item);
+            ]]>
+        </method>
+            
+        <innerListPagingContent name="_inn" />
+        
+    </view>
+    <om_vscrollbar name="_scrollbar" stepsize="$once{ parent.itemHeight }" />
+    
+    
+    <om_hscrollbar visibility="$once{ parent.showHScrollbar }" />
+
+</class>
+
+<class name="innerListPagingContent" extends="view">
+    
+    <method name="getItemByPosition" args="yPos">
+        <![CDATA[
+            for (var i=0;i<this.subviews.length;i++) {
+                if (this.subviews[i].y == yPos){
+                    return this.subviews[i];
+                }
+            }
+        ]]>
+    </method>
+    
+    <method name="getUpmostItemInList">
+        <![CDATA[
+            var item = this.subviews[0];
+            
+            //if ($debug) Debug.write("getUpmostItemInList ",this.subviews.length);
+            
+            for (var i=0;i<this.subviews.length;i++) {
+                if (this.subviews[i].itemId < item.itemId){
+                    item = this.subviews[i];
+                    //break;
+                }
+            }
+            
+            //if ($debug) Debug.write("getUpmostItemInList ",item);
+            
+            return item;
+        ]]>
+    </method>
+    
+    <method name="getLastItemInList">
+        <![CDATA[
+            var item = this.subviews[0];
+            for (var i=0;i<this.subviews.length;i++) {
+                if (this.subviews[i].itemId > item.itemId){
+                    item = this.subviews[i];
+                    //break;
+                }
+            }
+            return item;
+        ]]>
+    </method>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/turnoverlistpaged/turnOverListOrderedPaged.lzx b/WebContent/src/base/components/turnoverlistpaged/turnOverListOrderedPaged.lzx
new file mode 100644
index 0000000..d4db2a6
--- /dev/null
+++ b/WebContent/src/base/components/turnoverlistpaged/turnOverListOrderedPaged.lzx
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+
+
+<!--- common TurnOverList view class. -->
+<class name="turnOverListOrderedPaged" extends="turnOverListPaged">
+    
+    <attribute name="currentSelectedOrder" value="null" />
+    
+    <event name="onUpdateOrder" />
+    
+    <method name="updateOrder" args="itemRef">
+        <![CDATA[
+	        //only do that if the previous orderBy != new orderby
+	        //if (this.currentSelectedOrder == null || 
+            //        this.currentSelectedOrder.orderBy != itemRef.orderBy){
+	        if (itemRef.isSelected) {
+	            itemRef.asc = !itemRef.asc;
+	        } else {
+	            itemRef.isSelected = true;
+	        }
+	        if (itemRef.asc) {
+	            itemRef._sortUp.setAttribute('visibility','hidden');
+	            itemRef._sortDown.setAttribute('visibility','visible');
+	        } else {
+	            itemRef._sortUp.setAttribute('visibility','visible');
+	            itemRef._sortDown.setAttribute('visibility','hidden'); 
+	        }
+	        
+	        //do not perform search on initial Selection
+	        var isInitSelect = false;
+	        if (this.currentSelectedOrder != null) {
+                if (this.currentSelectedOrder.orderBy != itemRef.orderBy) {
+		            this.currentSelectedOrder.isSelected = false;
+		            this.currentSelectedOrder._sortUp.setAttribute('visibility','hidden');
+		            this.currentSelectedOrder._sortDown.setAttribute('visibility','hidden'); 
+                }
+	        } else {
+	            isInitSelect = true;
+	        }
+	        this.currentSelectedOrder = itemRef;
+	        
+	        if ($debug) Debug.write("updateOrder: ",itemRef,itemRef.orderBy,itemRef.asc,isInitSelect);
+	        this.setAttribute('orderby',itemRef.orderBy);
+	        this.setAttribute('asc',itemRef.asc);
+	        
+	        if (!isInitSelect){
+            	this.onUpdateOrder.sendEvent(itemRef);
+            }
+	        //}
+        ]]>
+    </method>
+
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/turnoverlistpaged/turnOverListPaged.lzx b/WebContent/src/base/components/turnoverlistpaged/turnOverListPaged.lzx
new file mode 100644
index 0000000..b10550d
--- /dev/null
+++ b/WebContent/src/base/components/turnoverlistpaged/turnOverListPaged.lzx
@@ -0,0 +1,540 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<class name="baseturnOverListPaged" extends="view">
+	
+	<attribute name="start" value="0" type="number" />
+    <attribute name="step" value="100" type="number" />
+    <attribute name="orderby" value="firstname" type="string" />
+    <attribute name="asc" value="true" type="boolean" />
+    <attribute name="records" value="0" type="number" />
+    
+    <attribute name="renderList" value="null"/>
+    
+    <attribute name="_selected" value="null" />
+    
+    <attribute name="_selectedRefObj" value="null" />
+    
+    <attribute name="multiselect" value="true" type="boolean" />
+    <attribute name="selected" value="null" />
+    
+    <attribute name="showTopBar" value="true" type="boolean" />
+    
+    <event name="oncallnext" />
+    <event name="oncallpre" />
+    
+    <!--- @keywords private -->
+    <event name="onload" />
+    
+    <event name="rerender" />
+    
+    <event name="onMoveList" />
+    
+    <event name="onScrollItem" />
+    <event name="onNextScrollItem" />
+    
+    <attribute name="listItemName" value="basePagingListItem" type="string" />
+    
+    <attribute name="itemHeight" value="20" type="number"/>
+    
+    <attribute name="menuBarXIndent" value="0" type="number"/>
+    
+    <attribute name="headerHeight" value="20" type="number" />
+    
+    <attribute name="listLabelId" value="0" type="number" />
+    
+    <attribute name="showHScrollbar" value="visible" type="string"/>
+     
+    <handler name="oninit">
+    	<![CDATA[
+            //this inits the items
+            this._innerlist._inn.initItems(this.listItemName);
+            
+            if (this["_menu"] && this["_menu"]["_pre1"]) {
+                this._menu._pre1.setAttribute('isEnabled',false);
+                this._menu._next2.setAttribute('isEnabled',false);
+                this._menu._next1.setAttribute('isEnabled',false);
+                this._menu._pre2.setAttribute('isEnabled',false);
+            }
+        ]]>
+    </handler>  
+    
+    <handler name="onclickedItem" args="obj" >
+        <![CDATA[
+            this.addToSelection(obj,false); 
+        ]]>
+    </handler>
+    
+    <method name="selectAll">
+        <![CDATA[
+        
+            if (!this.multiselect){
+                if ($debug) Debug.warn("Cannot selectAll when multiselect is FALSE");
+                return;
+            }
+            
+            this._selectedRefObj = new Array();
+            this._selected = new Array();
+            
+            for (var i=0;i<this.renderList.length;i++) {
+            	this.renderList[i].itemSelected = true;
+                this.renderList[i].isselected = true;
+                this._selectedRefObj.push(i);
+            }
+            
+            if ($debug) Debug.write("this._selectedRefObj LENGTH ",this._selectedRefObj.length);
+        
+            for (var i=0;i<this._innerlist._inn._inn.subviews.length;i++){
+            	if (this._innerlist._inn._inn.subviews[i].clickable) {
+	            	this._innerlist._inn._inn.subviews[i].setAttribute("itemSelected",true);
+		            this._innerlist._inn._inn.subviews[i].isselected = true;
+	                this._innerlist._inn._inn.subviews[i].onmouseout.sendEvent();
+	                this._selected.push(this._innerlist._inn._inn.subviews[i]);
+            	}
+	        }
+        
+        ]]>
+    </method>
+    
+    <method name="deleteSelected">
+        <![CDATA[
+        
+	        function sortTablePoints(a,b){
+	            var a1 = a;
+	            var b1 = b;
+	            //_root.//Debug.write("natcompare: ",a1,b1,natcompare(a1,b1));
+	            if(a1==b1){
+	                return 0;
+	            } else if(a1>b1){
+	                return 1;
+	            } else {
+	                return -1;
+	            }
+	        }
+            
+            this._selectedRefObj.sort(sortTablePoints);
+            
+            if ($debug) Debug.write("deleteSelected",this._selectedRefObj);
+            
+            if ($debug) Debug.write("-1- this.renderList ",this.renderList.length);
+        
+            for (var i=0;i<this._selectedRefObj.length;i++) {
+                this.renderList.splice(this._selectedRefObj[i],1);
+            }
+            
+            if ($debug) Debug.write("-2- this.renderList ",this.renderList.length);
+            
+            this.deselectAll();
+            
+            this.rerender.sendEvent(this);
+        ]]>
+    </method>
+    
+    <method name="deselectAll">
+        <![CDATA[
+        
+            if (!this.multiselect){
+                if ($debug) Debug.warn("Cannot deselectAll when multiselect is FALSE");
+                return;
+            }
+        
+            this._selectedRefObj = new Array();
+            this._selected = new Array();
+            
+            for (var i=0;i<this.renderList.length;i++) {
+            	this.renderList[i].itemSelected = false;
+                this.renderList[i].isselected = false;
+            }
+            
+            for (var i=0;i<this._innerlist._inn._inn.subviews.length;i++){
+            	this._innerlist._inn._inn.subviews[i].setAttribute("itemSelected",false);
+                this._innerlist._inn._inn.subviews[i].isselected = false;
+                this._innerlist._inn._inn.subviews[i].onmouseout.sendEvent();
+            }
+        
+        ]]>
+    </method>    
+    
+    <method name="addToSelection" args="obj,forceMultiAdd">
+        <![CDATA[
+        
+            if (this._selected!=null ||this._selectedRefObj!=null){
+                if (this.multiselect){
+                    if (lz.Keys.downKeysArray.length==0 || 
+                        (lz.Keys.downKeysArray[0]!=17 && lz.Keys.downKeysArray[0]!=16)){
+                        if (!forceMultiAdd) {
+
+                            if ($debug) Debug.write("onclickedItem Deselect ALL -1- ",this._selected.length);    
+                            if ($debug) Debug.write("onclickedItem Deselect ALL -2- ",this._selectedRefObj.length);    
+                            
+                            for (var i=0;i<this._selected.length;i++){
+                            	this._selected[i].setAttribute("itemSelected",false);
+                                this._selected[i].isselected = false;
+                                this._selected[i].doDeselect();
+                            }
+                            
+                            for (var i=0;i<this._selectedRefObj.length;i++){
+                                if ($debug) Debug.write("DESELECT ITEM ID ",this._selectedRefObj[i]);
+                                this.renderList[this._selectedRefObj[i]].itemSelected = false;
+                                this.renderList[this._selectedRefObj[i]].isselected = false;
+                            }
+                            
+                        }
+                    } else {
+                        //////if ($debug) //Debug.write("onclickedItem Key Hold IT");
+                        for (var i=0;i<this._selected.length;i++){
+                            if (this._selected[i] == obj) {
+                                //////if ($debug) //Debug.write("Found Object: ",obj);
+                                obj.isselected = false;
+                                if ($debug) Debug.write("DESELECT ITEM ID 2 ",this._selectedRefObj[i]);
+                                this.renderList[this._selectedRefObj[i]].isselected = false;
+                                ////if ($debug) //Debug.write("send onmouseout TO: ",obj);
+                                obj.doDeselect();
+                                this._selected.splice(i,1);
+                                this._selectedRefObj.splice(i,1);
+                                return;
+                            }
+                        }
+                    }
+                } else {
+                    this.renderList[this._selected.itemId].isselected = false;
+                    this._selected.isselected = false;
+                    this._selected.doDeselect();
+                }
+            }
+
+            //////if ($debug) //Debug.write("onclickedItem Set IT");
+            if ($debug) Debug.write("SELECT ITEM ID ",obj.itemId);
+            this.renderList[obj.itemId].isselected = true;
+            obj.isselected = true;
+            obj.onmouseout.sendEvent();
+            if (this.multiselect){
+                if (this._selected==null){
+                    this._selected = new Array();
+                    this._selectedRefObj = new Array();
+                }
+                if ((lz.Keys.downKeysArray.length==1 && 
+                    (lz.Keys.downKeysArray[0]==17 || lz.Keys.downKeysArray[0]==16))
+                    || forceMultiAdd){
+                    this._selected.push(obj);
+                    this._selectedRefObj.push(obj.itemId);
+                } else {
+                    this._selected = new Array();
+                    this._selectedRefObj = new Array();
+                    this._selected.push(obj);
+                    this._selectedRefObj.push(obj.itemId);
+                }
+            } else {
+                this._selected = obj;
+            }
+            
+        ]]>
+    </method>    
+    
+    <!--
+    <handler name="onclickedItem" args="obj" >
+        if (this.selected != null) {
+            this.selected.deselect();
+        }
+        this.selected = obj;
+        this.selected.select();
+    </handler>
+     -->
+    
+    <method name="callfirst">
+        this.start = 0;
+        this.oncallnext.sendEvent();
+        this.onload.sendEvent();
+    </method>
+    
+    <method name="reload">
+    	this.oncallnext.sendEvent();
+        this.onload.sendEvent();
+    </method>
+    
+    <method name="calllast">
+    	var newMaxPages = Math.floor(this.records/this.step);
+    	if ($debug) Debug.write("calllast 1 ",newMaxPages);
+        this.start = newMaxPages*this.step;
+        if ($debug) Debug.write("calllast 2 ",this.start);
+        if (this.start == this.records) {
+        	this.start = this.records-this.step;
+        }
+        if ($debug) Debug.write("calllast 3 ",this.start);
+        if ($debug) Debug.write("calllast 4 ",this.records);
+        this.oncallnext.sendEvent();
+        this.onload.sendEvent();
+        
+        //this.start = this.records-this.step;
+        //this.oncallnext.sendEvent();
+        //this.onload.sendEvent();
+    </method>
+    
+    <method name="callnext">
+        if (this.records>(this.start+this.step)){
+            this.start+=this.step;
+        }
+        this.oncallnext.sendEvent();
+        this.onload.sendEvent();
+    </method>
+    
+    <method name="callpre">
+        if (this.start>0){
+            this.start-=this.step;
+        }
+        this.oncallpre.sendEvent();
+        this.onload.sendEvent();
+    </method>
+    
+    <method name="initValues" args="rec">
+        <![CDATA[
+            this.records = rec;
+            
+            if (this.start == 0) {
+                this._menu._pre1.setAttribute('isEnabled',false);
+            } else {
+                this._menu._pre1.setAttribute('isEnabled',true);
+            }
+            
+            if ((this.start+this.step) >= this.records) {
+                this._menu._next2.setAttribute('isEnabled',false);
+            } else {
+                this._menu._next2.setAttribute('isEnabled',true);
+            }
+            
+            if (this.records>(this.start+this.step)){
+                if (this["_menu"]) this._menu._next1.setAttribute('isEnabled',true);
+            } else {
+                if (this["_menu"]) this._menu._next1.setAttribute('isEnabled',false);
+            }
+            if (this.start>0){
+                if (this["_menu"]) this._menu._pre2.setAttribute('isEnabled',true);
+            } else {
+                if (this["_menu"]) this._menu._pre2.setAttribute('isEnabled',false);
+            }
+            
+            if (this.showTopBar) {
+                
+                var maxRecord = this.start+this.step;
+                if ((this.start+this.step) > this.records) {
+                    maxRecord = this.records;
+                }
+                
+                this._records.setAttribute("text",(this.start+1) + ' - ' + maxRecord + ' von ' + this.records);
+                
+            } else {
+                
+                this._records.setAttribute("text",rec);
+            }
+        ]]>
+    </method>
+    
+    <method name="addHeaderItem" args="labelid,width" >
+        new lz.turnoverlistheaderitemResize(this._innerlisthead._inn,{
+                labelid:labelid,width:width,
+                subviewsid:this._innerlisthead._inn.subviews.length
+            });
+    </method>
+    
+    <method name="clearHead">
+        for (var eg in this._innerlisthead._inn.subviews) {
+            this._innerlisthead._inn.subviews[eg].destroy();
+        }
+    </method>
+    
+    <method name="addHeaderItemByText" args="zText,width" >
+        new lz.turnoverlistheaderitemResize(this._innerlisthead._inn,{
+                text:zText,width:width,
+                subviewsid:this._innerlisthead._inn.subviews.length
+            });
+    </method>
+    
+    <method name="addHeaderItemOrdered" args="labelid,width,orderBy,asc,isSelected" >
+    	if ($debug) Debug.write("turnOverListHeaderItemOrdered ",labelid,width,orderBy,asc,isSelected);
+        new lz.turnOverListHeaderItemOrdered(this._innerlisthead._inn,{
+                labelid:labelid,width:width,
+                orderBy:orderBy,asc:asc,isSelected:isSelected,
+                subviewsid:this._innerlisthead._inn.subviews.length
+            });
+    </method> 
+    
+    <method name="setSelectionOrder" args="orderBy,asc">
+    	<![CDATA[
+    		
+    		for (var i=0;i<this._innerlisthead._inn.subviews.length;i++) {
+    			
+    			if (this._innerlisthead._inn.subviews[i]["orderBy"] && 
+    					this._innerlisthead._inn.subviews[i].orderBy == orderBy) {
+    				
+    				if (this.currentSelectedOrder != null) {
+    					this.currentSelectedOrder.isSelected = false;
+    				}
+    				
+					this._innerlisthead._inn.subviews[i].isSelected = true;
+    				this._innerlisthead._inn.subviews[i].asc = !asc;
+    				
+    				this._innerlisthead._inn.subviews[i].onclick.sendEvent();
+    				
+    				return;
+    				
+    			}
+    			
+    		}
+    	
+    	]]>
+    </method>
+    
+    <method name="sendInitialWidthUpdate">
+        for (var eg in this._innerlisthead._inn.subviews) {
+            this._innerlisthead._inn.subviews[eg].onwidth.sendEvent(this._innerlisthead._inn.subviews[eg].width);
+        }
+    </method> 
+    
+    <method name="sendWidthUpdate" args="w,subviewsid" >
+        <![CDATA[
+        ////Debug.write(w,subviewsid,this._innerlist._inn);
+        for (var i=0;i<this._innerlist._inn._inn.subviews.length;i++){
+            this._innerlist._inn._inn.subviews[i].subviews[subviewsid].setAttribute('width',w+1);
+        }
+        ]]>
+    </method>
+    
+    <method name="getListItemNumber">
+        return this._innerlist._inn._inn.subviews.length;
+    </method>
+    
+    <method name="getItemByNumber" args="itemNo">
+        <![CDATA[
+	        if ($debug) Debug.write("getItemByNumber",itemNo);
+	        for (var i=0;i<this._innerlist._inn._inn.subviews.length;i++){
+                if ($debug) Debug.write("getItemByNumber :: ",this._innerlist._inn._inn.subviews[i].itemId);
+	            if (this._innerlist._inn._inn.subviews[i].itemId == itemNo) {
+                    return this._innerlist._inn._inn.subviews[i];
+                }
+	        }
+        ]]>
+        return this._innerlist._inn._inn.subviews[itemNo];
+    </method>
+    
+    <method name="clearList">
+        this._innerlist._inn._inn.destroy();
+        new lz.innerListPagingContent(this._innerlist._inn,{name:'_inn'});
+    </method>
+    
+    <method name="initItemsBySubItemNo" args="itemName,noSubItems,subItemClassName">
+        this._innerlist.initItemsBySubItemNo(itemName,noSubItems,subItemClassName);
+    </method>
+
+    <labelText labelid="${ parent.listLabelId }" visibility="$once{ (parent.showTopBar) ? 'visible' : 'hidden' }"
+                       y="4" fontsize="10" x="2" />
+                       
+    <text fontsize="10" y="4" x="$once{ (!parent.showTopBar) ? 64+parent.menuBarXIndent : 2+parent.menuBarXIndent }"
+          name="_records" resize="true" visibility="$once{ (parent.showTopBar) ? 'visible' : 'hidden' }" />
+    
+    <!-- =========  List Header area  =========-->
+    <view name="_innerlisthead" height="${ parent.headerHeight }" width="${ parent.width }" y="$once{ parent.headerHeight + 2 }" clip="true">
+        <view name="_inn" x="${ parent.parent._innerlist._inn.x }" layout="axis:x;spacing:0" />
+    </view> 
+    
+    <!-- =========  List Contents area  =========-->   
+    <listPagedContent name="_innerlist" height="${ parent.height-22-parent.headerHeight }" bgcolor="0xFFFFFF"
+          width="${ parent.width }" y="$once{ parent.headerHeight + 22 }" showHScrollbar="$once{ parent.showHScrollbar }"
+          itemHeight="$once{ parent.itemHeight }" />
+</class>
+	
+<!--- common TurnOverList view class. -->
+<class name="turnOverListPaged" extends="baseturnOverListPaged">
+
+    <!-- =========  Control area  =========-->
+    <view name="_menu" align="right" y="2" width="180"
+          visibility="$once{ (parent.showTopBar) ? 'visible' : 'hidden' }">
+    	
+	    <!-- 368:goto first -->
+	    <blueButton name="_pre1" y="0" x="0" resourceItem="step_back_two_arrow" 
+					x_insetResource="2" y_insetResource="2" width="20" height="20"
+				width_insetResource="16" height_insetResource="16">
+			<handler name="onclick">
+				parent.parent.callfirst();
+	        </handler>
+	        <labelTooltip labelid="368" />
+	    </blueButton>
+	
+	    <!-- 369:goto previous -->
+	    <blueButton name="_pre2" y="0" x="20" resourceItem="step_back_arrow" 
+					x_insetResource="2" y_insetResource="2" width="20" height="20"
+				width_insetResource="16" height_insetResource="16">
+			<handler name="onclick">
+				parent.parent.callpre();
+	        </handler>
+	        <labelTooltip labelid="369" />
+	    </blueButton>
+    	<resetCombobox name="_step" width="100" x="40" editable="false" fontsize="10" height="20" >
+            <attribute name="sendEventToReload" value="false" type="boolean" />
+            <textlistitem value="10" text="10" />
+            <textlistitem value="25" text="25" />
+            <textlistitem value="50" text="50" />
+            <textlistitem value="75" text="75" />
+            <textlistitem value="100" text="100" />
+            <textlistitem value="200" text="200" />
+            <textlistitem value="500" text="500" />
+            <textlistitem value="1000" text="1000" />
+            <textlistitem value="2500" text="2500" />
+            <textlistitem value="5000" text="5000" />
+            <handler name="onselect">
+                if (this.sendEventToReload){ 
+                	parent.parent.start = 0;
+                    parent.parent.setAttribute('step',Number(this.getValue()));
+                    parent.parent.onload.sendEvent();
+                }
+            </handler>
+            <handler name="oninit">
+                this.selectItem(String(parent.parent.step));
+                this.sendEventToReload = true;
+            </handler>
+        </resetCombobox>
+        
+        <!-- 370:goto next -->
+        <blueButton name="_next1" y="0" x="140" resourceItem="step_fwd_arrow" 
+					x_insetResource="2" y_insetResource="2" width="20" height="20"
+				width_insetResource="16" height_insetResource="16">
+			<handler name="onclick">
+				parent.parent.callnext();
+	        </handler>
+	        <labelTooltip labelid="370" />
+	    </blueButton>
+		
+	    <!-- 371:goto last -->
+	    <blueButton name="_next2" y="0" x="160" resourceItem="step_fwd_two_arrow" 
+					x_insetResource="2" y_insetResource="2" width="20" height="20"
+				width_insetResource="16" height_insetResource="16">
+			<handler name="onclick">
+				parent.parent.calllast();
+	        </handler>
+	        <labelTooltip labelid="371" />
+	    </blueButton>
+		
+		<view width="2" />
+    </view>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/updatecheckbox.lzx b/WebContent/src/base/components/updatecheckbox.lzx
new file mode 100644
index 0000000..1259161
--- /dev/null
+++ b/WebContent/src/base/components/updatecheckbox.lzx
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="updatecheckbox" extends="checkbox" style="componentStyle">
+    <attribute name="tvalue" type="boolean" value="false"/>
+    <attribute name="sendchange" value="false" type="boolean" />       
+    <handler name="onblur">
+        if (this.parent.sendchange) this.parent.sendchange(this,tvalue,this.getValue()); 
+    </handler>  
+</class>
+
+<class name="labelCheckbox" extends="checkbox" style="componentStyle" fontsize="11" >
+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+	<method name="setLabelId" args="_labelid" >
+		this.labelid = _labelid;
+		this.setAttribute('text',canvas.getLabelName(this.labelid));
+	</method>
+</class>
+
+</library>
diff --git a/WebContent/src/base/components/upload/fileUpload.lzx b/WebContent/src/base/components/upload/fileUpload.lzx
new file mode 100644
index 0000000..f166abf
--- /dev/null
+++ b/WebContent/src/base/components/upload/fileUpload.lzx
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+ 
+ 	<class name="fileUpload">
+ 	
+ 		<!--  Show all Documents in FileBrowser -->
+ 		<attribute name="isOnlyImage" value="false" type="boolean" />
+ 		
+ 		<!-- Show only PowerPoint Presentations in FileBrowser -->
+ 		<attribute name="isOnlyPpt" value="false" type="boolean" />
+ 		
+ 		<!-- Show only XML Files in FileBrowser -->
+ 		<attribute name="isOnlyXml" value="false" type="boolean" />
+ 		
+ 		<!-- Show only ZIP Files in FileBrowser -->
+ 		<attribute name="isOnlyZip" value="false" type="boolean" />
+ 		
+ 		<!-- Show only Images Files in FileBrowser -->
+ 		<attribute name="isOnlyProfile" value="false" type="boolean" />
+        
+        <attribute name="fr" value="null" />
+ 		 		
+		<handler name="oninit" args="invoker">
+		<![CDATA[
+			this.fr = new flash.net.FileReference();	
+			//if ($debug) Debug.write(fr);
+    		this.fr.onHTTPError = function(fr, httpError){
+                var t = _root;
+            	if ($debug) t.Debug.write('onHTTPError function: ' + httpError);
+            	new lz.errorPopup(canvas,{error:'Err2: '+httpError});
+			}
+			this.fr.onIOError = function(fr){
+				var t = _root;
+                if ($debug) t.Debug.write.write('onIOError function');
+				new lz.errorPopup(canvas,{error:'onIOError invoked '});
+			}
+			function callbackFunction ( e ) {
+				var t = _root;
+                if ($debug) t.Debug.write( e.data );
+			}		
+			this.fr.onSecurityError = function(fr, errorString){
+				var t = _root;
+                if ($debug) t.Debug.write('onSecurityError function: ' + errorString);
+            	new lz.errorPopup(canvas,{error:'Err2: '+errorString});
+			}
+			this.fr.addListener(invoker, callbackFunction);
+		]]>
+		</handler>
+
+		<method name="browse">
+		<![CDATA[	
+		
+			if (this.isOnlyZip) {
+				
+				var allTypes = new Array();
+				var imageTypes = new Object();
+				imageTypes.description = "ZIP (*.zip)";
+				imageTypes.extension = "*.zip";
+				allTypes.push(imageTypes); 				
+				fr.browse(allTypes);
+				
+			} else if(this.isOnlyProfile){	
+				var allTypes = new Array();
+				var imageTypes = new Object();
+				imageTypes.description = "Allowed Files (*.psd, *.tiff, *.bmp, *.svg, *.dpx, *.exr, *.jpg, *.jpeg, *.gif, *.png)";
+				imageTypes.extension = "*.psd; *.tiff; *.bmp; *.svg; *.dpx; *.exr; *.jpg; *.jpeg; *.gif; *.png";
+				allTypes.push(imageTypes); 				
+				fr.browse(allTypes);
+			} else if (this.isOnlyImage){
+				var allTypes = new Array();
+
+				var imageTypes = new Object();
+				imageTypes.description = "Allowed Files";
+				imageTypes.extension = "*.txt; *.ppt; *.pptx; *.odp; *.odt; *.wpd; *.doc; *.docx; *.rtf; *.txt; *.ods; *.sxc; *.xls; *.xlsx; *.sxi; *.pdf; *.avi; *.mov; *.flv; *.mp4; *.tga; *.xcf; *.wpg; *.ico; *.ttf; *.pcd; *.pcds; *.ps; *.psd; *.tiff; *.bmp; *.svg; *.dpx; *.exr; *.jpg; *.jpeg; *.gif; *.png";
+				allTypes.push(imageTypes); 
+				
+				imageTypes = new Object();
+				imageTypes.extension = "*.txt; *.ppt; *.pptx; *.odp; *.odt; *.wpd; *.doc; *.docx; *.rtf; *.txt; *.ods; *.sxc; *.xls; *.xlsx; *.sxi; *.pdf";
+				imageTypes.description = "Documents";
+				allTypes.push(imageTypes);
+				
+				imageTypes = new Object();
+                imageTypes.extension = "*.avi; *.mov; *.flv; *.mp4";
+                imageTypes.description = "Videos";
+                allTypes.push(imageTypes);
+				
+				imageTypes = new Object();
+				imageTypes.extension = "*.tga; *.xcf; *.wpg; *.ico; *.ttf; *.pcd; *.pcds; *.ps; *.psd; *.tiff; *.bmp; *.svg; *.dpx; *.exr; *.jpg; *.jpeg; *.gif; *.png";
+				imageTypes.description = "Pictures";
+				allTypes.push(imageTypes);
+
+				fr.browse(allTypes);	
+			} else if(this.isOnlyPpt){	
+				var allTypes = new Array();
+				var imageTypes = new Object();
+				imageTypes.description = "Powerpoint (*.ppt, *.odp)";
+				imageTypes.extension = "*.ppt; *.odp;";
+				allTypes.push(imageTypes); 				
+				fr.browse(allTypes);
+			} else if(this.isOnlyXml){	
+				var allTypes = new Array();
+				var imageTypes = new Object();
+				imageTypes.description = "XML (*.xml)";
+				imageTypes.extension = "*.xml;";
+				allTypes.push(imageTypes); 				
+				fr.browse(allTypes);
+			} else {	
+				fr.browse();
+			}
+		]]>
+		</method>
+
+		<method name="getName"><![CDATA[
+			return this.fr.name;
+		]]>
+		</method>
+
+		<method name="upload" args="url"><![CDATA[
+			if ($debug) Debug.write("url: ",url,this.fr);
+			this.fr.upload(url);
+		]]>
+		</method>
+		
+    <method name="onCancel" args="fr">
+        <![CDATA[
+            if ($debug) Debug.write('onCancel invoked');
+        ]]>
+    </method>
+    
+    <method name="onComplete" args="fr">
+        <![CDATA[
+            if ($debug) Debug.write('onComplete invoked');
+            canvas.filedialogRef.progressBar.setValue(100);
+            //canvas.filedialogRef.upload.setAttribute('enabled', false);
+            if (canvas.filedialogRef.sendCompleted)canvas.filedialogRef.sendCompleted.sendEvent();
+        ]]>
+    </method>
+    
+    <method name="onHTTPError" args="fr, httpError">
+        <![CDATA[
+            if ($debug) Debug.write('onHTTPError invoked: ' + httpError);
+        ]]>
+    </method>
+    
+    <method name="onIOError" args="fr">
+        <![CDATA[
+            if ($debug) Debug.write('onIOError invoked',fr);
+        ]]>
+    </method>
+    
+    <method name="onOpen" args="fr">
+        <![CDATA[
+            if ($debug) Debug.write('onOpen invoked',fr);
+        ]]>
+    </method>
+    
+    <method name="onSecurityError" args="fr, errorString">
+        <![CDATA[
+            if ($debug) Debug.write('onSecurityError invoked: ' + errorString);
+        ]]>
+    </method>
+		
+ 	</class>
+ 	
+ </library>
diff --git a/WebContent/src/base/components/upload/library.lzx b/WebContent/src/base/components/upload/library.lzx
new file mode 100644
index 0000000..4120123
--- /dev/null
+++ b/WebContent/src/base/components/upload/library.lzx
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+
+	<include href="fileUpload.lzx" />
+	<include href="uploadWindowExplorer.lzx" />
+	
+	<!--
+	<include href="backupImportWindow.lzx" />
+	<include href="importWindow.lzx" />
+	<include href="uploadWindow.lzx" />
+	 -->
+
+</library>
diff --git a/WebContent/src/base/components/upload/uploadWindowExplorer.lzx b/WebContent/src/base/components/upload/uploadWindowExplorer.lzx
new file mode 100644
index 0000000..889960e
--- /dev/null
+++ b/WebContent/src/base/components/upload/uploadWindowExplorer.lzx
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+ 
+ <class name="uploadWindowExplorer" extends="labelExplorerBox" labelid="304"
+    docking="true" closable="true" width="264" x="200" height="230">
+    
+    <handler name="oninit">
+    	lz.ModeManager.makeModal(this);
+        canvas.currentUploadWindow = this;
+        if (this.servletName != "file.upload") {
+        	this._loadToWhiteboard.destroy();
+        }
+    </handler>
+    
+    <handler name="onclose">
+    	lz.ModeManager.release(this);
+    </handler>
+    
+    <attribute name="winobj" value="null" />
+	<attribute name="sessionid" value="" type="string" />
+	<attribute name="isOwner" value="0" type="string" />
+	<attribute name="usersid" value="" type="string" />
+	<attribute name="singleslidesmodule_id" type="string" value="" />
+	<attribute name="fileExplorerRef" value="null" />
+	<attribute name="secondid" value="0" type="string" />
+	
+	<attribute name="servletName" value="upload.upload" type="string" />
+	<attribute name="parentFolderId" value="0" type="number" />
+    
+    <attribute name="uploadmodule" value="videoconf1" type="string" />
+    
+    <attribute name="isOnlyImage" value="false" type="boolean" />
+    <attribute name="isOnlyPpt" value="false" type="boolean" />
+    <attribute name="isOnlyProfile" value="false" type="boolean" />
+    <attribute name="isOnlyXml" value="false" type="boolean" />
+    <attribute name="isOnlyZip" value="false" type="boolean" />
+    
+    <attribute name="isdefaultreturn" value="true" type="boolean" />
+    <attribute name="returnObj" value="true" type="boolean" />
+    
+ 	<fileUpload name="myFileUpload" isOnlyImage="${ this.parent.isOnlyImage }" 
+ 		 isOnlyPpt="${ this.parent.isOnlyPpt }" isOnlyProfile="${ this.parent.isOnlyProfile }" 
+ 		 isOnlyXml="${ this.parent.isOnlyXml }" isOnlyZip="${ this.parent.isOnlyZip }">
+		<method name="onComplete" args="fr">
+            if ($debug) Debug.write("oncomplete ",fr);
+        </method>
+        <method name="formatURL" args="fileHash">
+            <![CDATA[
+                var uploadmoduleimgfolderVar = '/' + fileHash;
+                var downloadurl = canvas.protocol + '://' + canvas.rtmphostlocal + ':' + canvas.red5httpport + canvas.httpRootKey+'DownloadHandler?' +
+                    'fileName=' + encodeURIComponent(fileHash + ".swf") +
+                    '&moduleName=' + 'videoconf1' + 
+                    '&parentPath=' + encodeURIComponent(uploadmoduleimgfolderVar + '/' )+
+                    '&room_id=files'+ 
+                    '&sid='+canvas.sessionId;
+                ////if ($debug) Debug.write("downloadurl: ",downloadurl);
+                return downloadurl;
+            ]]>
+        </method> 
+        
+        <method name="generateFileLink" args="fileHash">
+            <![CDATA[
+                return canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport+canvas.httpRootKey+'DownloadHandler?' +
+                        'fileName='+ fileHash + 
+                        '&moduleName='+ "videoconf1" +
+                        '&parentPath='+ '/' +
+                        '&room_id=files' +
+                        '&sid='+canvas.sessionId;
+            ]]>
+        </method>
+    
+        <method name="onCompleteByRemote" args="tArrayValueObj">
+            
+            if ($debug) Debug.write("onCompleteByRemote ",tArrayValueObj);
+            this.parent.progressBar.setValue(100);
+            this.parent.upload.setAttribute('enabled', false);
+            this.parent.upload.setAttribute("visible",false);
+            this.parent.browse.setAttribute("visible",false);
+            this.parent.txtFile.setAttribute("visible",false);
+            
+            if (this.isOnlyZip) {
+            	this.parent.close();
+            	return;
+            }
+            
+            if (this.isOnlyXml) {
+            	parent.returnObj.sendRefresh();
+            	this.parent.close();
+            	return;
+            }
+            
+            if (this.isOnlyProfile) {
+            	parent.returnObj.sendRefresh();
+            	this.parent.close();
+            	return;
+            }
+            
+            if (parent._loadToWhiteboard.getValue()) {
+            	
+            	var fileExplorerItem = tArrayValueObj.fileExplorerItem;
+            	
+            	if ($debug) Debug.write(tArrayValueObj);
+            	if (fileExplorerItem.isPresentation) {
+            		var url = this.formatURL(fileExplorerItem.fileHash);
+            		
+            		var uploadmoduleimgfolderVar = '/' + fileExplorerItem.fileHash;
+            		
+            		if ($debug) Debug.write(url);
+            		
+                	canvas._drawarea.loadSWFPresentationSynced(url,fileExplorerItem.fileHash + ".swf",
+                              "videoconf1",uploadmoduleimgfolderVar,"files",hib.conferencedomain,1,
+                              fileExplorerItem.fileName);
+            	} else if (fileExplorerItem.isImage) {
+            		canvas._drawarea.parent.parent.clearAreaAndAddImage(this.generateFileLink(fileExplorerItem.fileHash),0,0,
+                      canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport+canvas.httpRootKey+'DownloadHandler',
+                      fileExplorerItem.fileHash,"videoconf1","/","files",hib.conferencedomain);
+            	}
+            }
+            
+            if (parent.isdefaultreturn) {
+            	
+                var tempSendArray = new Array ();
+                tempSendArray[0] = 'fileslist';
+                var nowTime = new Date();
+                var datumsString = nowTime.getHours()+':'+nowTime.getMinutes();
+                tempSendArray[1] = datumsString;
+                //if ($debug) Debug.write("Setting Message");
+                tempSendArray[2] = 'newfile';
+                tempSendArray[3] = canvas.currentusename;
+                //if ($debug) Debug.write("send: ",tempSendArray);
+                canvas.objMessage = tempSendArray;
+                canvas.thishib.sendMessageAll.doCall();
+
+            } else {
+                parent.returnObj.sendRefresh();
+            }
+            
+            if (parent.fileExplorerRef != null) {
+            	parent.fileExplorerRef.onClose.sendEvent();
+            }
+            
+            parent.close();
+        </method>
+
+		<method name="onProgress" args="fr, bytesLoaded, bytesTotal">
+			<![CDATA[
+    			this.parent.progressBar.setValue(bytesLoaded * 100 / bytesTotal);
+    			if (Math.round(bytesLoaded * 100 / bytesTotal)==100){
+    				this.parent.progressBar.setAttribute('visibility','hidden');
+    				this.parent.progress2.startShowing();
+    			}
+    		]]>
+		</method>
+    
+	    <method name="onHTTPError" args="fr, httpError">
+	        <![CDATA[
+	            if ($debug) Debug.write('onHTTPError invoked: ' + httpError);
+	            new lz.errorPopup(canvas,{error:'HTTP-ERROR: '+httpError});
+	            this.parent.close();
+		  		var tempSendArray = new Array ();
+		  		tempSendArray[0] = 'fileslist';
+		  		var nowTime = new Date();
+		  		var datumsString = nowTime.getHours()+':'+nowTime.getMinutes();
+		  		tempSendArray[1] = datumsString;
+	  			//if ($debug) Debug.write("Setting Message");
+	  			tempSendArray[2] = 'newfile';
+	  			tempSendArray[3] = canvas.currentusename;
+		  		//if ($debug) Debug.write("send: ",tempSendArray);
+		  		canvas.objMessage = tempSendArray;
+		  		hib.sendMessage.doCall();	            
+	        ]]>
+	    </method>
+    
+		<method name="onSelect" args="fr">
+			//if ($debug) Debug.write("onSelect: ",getName());
+			this.parent.txtFile.setAttribute('text',getName());
+			this.parent.upload.setAttribute('enabled', true);
+		</method>
+	</fileUpload>
+    
+    <labelText x="10" width="250" y="24" multiline="true" name="txtFileDescr" labelid="594" />
+	
+	<labelText x="10" fontsize="11" y="60" width="250" name="txtFile" multiline="true" 
+			   resize="false" fgcolor="$once{ canvas.getThemeColor('menuTextColor') }" />
+
+	<simpleLabelButton fontsize="11" name="browse" x="10" y="100" labelid="596" width="250" height="20">
+		<handler name="onclick">
+			parent.myFileUpload.browse();
+		</handler>
+	</simpleLabelButton>
+
+    <!-- moduleName=videoconf1'; -->
+	<simpleLabelButton name="upload" x="10" y="120" labelid="593" width="250" enabled="false" height="20">
+		<handler name="onclick">
+			<![CDATA[
+			var uploadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport+canvas.httpRootKey+ parent.servletName +'?' +
+					'moduleName='+this.parent.uploadmodule +
+                    '&publicSID='+canvas.publicSID +
+                    '&filename='+encodeURIComponent(parent.txtFile.text) +
+                    '&parentFolderId='+parent.parentFolderId +
+					'&room_id='+hib.currentroomid +
+					'&secondid='+parent.secondid +
+					'&isOwner='+parent.isOwner + 
+					'&sid='+canvas.sessionId;
+            if ($debug) Debug.write("uploadurl: ",uploadurl);
+			parent.myFileUpload.upload(uploadurl);
+			]]>
+		</handler>
+	</simpleLabelButton>
+    
+    <!--
+    <labelText labelid="592" name="progress2" visibility="hidden" x="10" y="140" 
+    		   width="250" multiline="true">
+    	
+    </labelText>
+     -->
+    <view name="progress2" x="10" y="158" width="250" visibility="hidden" height="10" bgcolor="#C6CEDF">
+        <attribute name="isStarted" value="false" type="boolean" />
+        <method name="startShowing">
+        	if (!this.isStarted) {
+        		this.isStarted = true;
+        		this.status._hide.doStart();
+        		this.setAttribute("visibility","visible");
+        	} else {
+        		return;
+        	}
+        </method>
+        <view x="1" y="1" width="248" height="8" bgcolor="#FFFFFF"/>
+        <view name="status" x="1" y="1" height="8" width="248" bgcolor="#D6DEEF">
+        	
+        	<animator name="_hide" attribute="opacity" to="0" from="1" duration="1000" start="false">
+        		<handler name="onstop">
+        			if (parent["_show"]) {
+        				parent._show.doStart();
+        			}
+        		</handler>
+        	</animator>
+        	<animator name="_show" attribute="opacity" to="1" from="0" duration="1000" start="false">
+                <handler name="onstop">
+                	if (parent["_show"]) {
+                    	parent._show.doStart();
+                    }
+                </handler>
+            </animator>
+        </view>
+        <labelText name="percent" align="center" resize="true" y="-18" fontstyle="bold" 
+            fontsize="10" fgcolor="#555555" labelid="592"/>
+    </view>
+    		   
+	<view name="progressBar" x="10" y="158" width="250" visibility="hidden" height="10" bgcolor="#C6CEDF">
+		<view x="1" y="1" width="248" height="8" bgcolor="#FFFFFF"/>
+		<view name="status" x="1" y="1" height="8" bgcolor="#D6DEEF"/>
+		<method name="setValue" args="value">
+			<![CDATA[
+                this.setAttribute("visible",true);
+                status.setAttribute('width', value * 248 / 100);
+                percent.setAttribute('text',Math.round(value) + '%');
+			]]>
+		</method>
+		<text name="percent" align="center" resize="true" y="-18" fontstyle="bold" 
+			fontsize="10" fgcolor="#555555" />
+	</view>
+	
+	<labelCheckbox name="_loadToWhiteboard" x="4" y="184" fontsize="11" 
+				   labelid="1312" value="true" />
+	
+	<simpleLabelButton name="_close" x="100" y="204" labelid="595" width="160" height="20">
+		<handler name="onclick">
+			if ($debug) Debug.write("this.parent: ",this.parent);
+			this.parent.close();
+		</handler>
+	</simpleLabelButton>
+</class>
+	
+</library>
+ 
diff --git a/WebContent/src/base/components/validbox/library.lzx b/WebContent/src/base/components/validbox/library.lzx
new file mode 100644
index 0000000..63a46b7
--- /dev/null
+++ b/WebContent/src/base/components/validbox/library.lzx
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<include href="validText.lzx" />
+
+</library>
diff --git a/WebContent/src/base/components/validbox/validText.lzx b/WebContent/src/base/components/validbox/validText.lzx
new file mode 100644
index 0000000..0f5ffc2
--- /dev/null
+++ b/WebContent/src/base/components/validbox/validText.lzx
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+    <!--- A editfieldText with the possibility of a dropdown menu -->
+
+    <class name="validText" extends="edittext">
+        
+        <!--- The method to be called for validating -->
+        <attribute name="validate_method" value="null" />
+        
+        <!--- the id-attribute of the resultset -->
+        <attribute name="resultId" value="id" type="string" />
+        <!--- the name-attribute of the resultset -->
+        <attribute name="resultName" value="name" type="string" />        
+					
+        <attribute name="initSelect" value="false" type="boolean" />
+					
+        <attribute name="timerDelegate" value="null"/>
+        <attribute name="typetime" type="number" value="500"/>
+        <attribute name="timerIsInited" value="false" type="boolean"/>
+        
+        <!--- items to be shown in the floatinglist -->
+        <attribute name="shownitems" value="7" type="number" />          
+        <attribute name="spacing" value="1" type="number" />  
+        <!--- The vertical offset of the floatinglist attached to this
+              combobox. -->
+        <attribute name="attachoffset" value="-1" type="number"/>
+        <!--- Whether a scrollbar should automatically show up when there are more
+              items than shownitems. -->
+        <attribute name="autoscrollbar" value="true"/>   
+
+        <!--- The border size ( in pixels ) of the popup list.  -->
+        <attribute name="bordersize"   value="1" />      
+        
+        <attribute name="currentValue" type="string" value="" />
+        
+        <!--- refernce to the current selected item -->
+        <attribute name="_selected" value="null" />    
+        
+        <method name="addAndSelectItem" args="txt,id">
+            this.cblist.addItem(txt,id);
+            this.currentValue = id;
+            this.setAttribute('text',txt);
+        </method>    
+        
+        <method name="setSelection" args="obj">
+            this._selected = obj;
+            this.currentValue = obj.value;
+            this.setAttribute('text',obj.text);
+            this.setOpen(false,true);
+            this.onselect.sendEvent();
+        </method>    
+        
+        <event name="onselect" />
+        
+        <method name="getValue">
+            return this.currentValue;
+        </method>
+
+                    <!-- arrow down and up both popup floatinglist, and pass the key event to it -->
+        <handler name="onkeydown" args="key">
+            <![CDATA[
+                //Debug.write("onkeydown: ",key);
+                // 38 is up-arrow
+                // 40 is down-arrow
+                // 32 is space
+                // 13 is return
+                if ((key==38) || (key==40)) {
+                    if (!this.isopen) {
+                        this.setOpen(true, true); // open, withKey
+                    } else {
+                        lz.Focus.setFocus(this.cblist, true);
+                    }
+                    // pass the key event on to the floatinglist
+                    this.cblist.onkeydown.sendEvent(key);
+                } else if (key==27){
+                    if (!this.isopen) {
+                        this.setOpen(true, true); // open, withKey
+                    } else {
+                        lz.Focus.setFocus(this.cblist, true);
+                    }
+                    this.cblist.onkeydown.sendEvent(key);
+                } else if (key!=13 && key!=9){
+                    //Don't handle Enter and Tab Events cause it will open the listItems
+                    ////Debug.write("onkeydown txt: ",this.getText());
+                    if (!this.initSelect){
+                        ////Debug.write("onvalue: ",txt,this);
+                        if (!this.timerIsInited){
+                            this.timerIsInited = true;
+                            this.timerDelegate = new LzDelegate( this, "validatedText" );
+                            ////Debug.write("+++++++++++++++++ addTimer");
+                            //Debug.write("+++++++++++++++++ removeTimer ",lz.Timer.countTimers());
+                            lz.Timer.addTimer( this.timerDelegate, this.typetime );
+                        } else {
+                            ////Debug.write("############### resetTimer NO ADDING ");
+                            //Debug.write("############### resetTimer ",lz.Timer.countTimers());
+                            lz.Timer.resetTimer( this.timerDelegate, this.typetime );
+                        }
+                    } else {
+                        this.initSelect = false;
+                    }
+                }
+            ]]>
+        </handler>
+        
+        <method name="validatedText">
+            <![CDATA[
+                ////Debug.write("validatedText: ",this.getText());
+                //this.reset();
+                if (!this.initSelect){
+                    var t = this.validate_method(this.getText());
+                    ////Debug.write('t: ',t.length);
+                    //this.parent._cblist.setAttribute('visible',true);
+                    this.cblist.removeAllItems();
+                    for (var i=0;i<t.length;i++){
+                        ////Debug.write(t[i][this.resultName],t[i][this.resultId]);
+                        this.cblist.addItem(t[i][this.resultName],t[i][this.resultId]);
+                    }                
+
+                    ////Debug.write("validateText: ",this.getText());
+                    if (!this.isopen) {
+                        this.setOpen(true, true); // open, withKey
+                    }
+                    this.timerIsInited = false;
+                } else {
+                    this.initSelect=false;
+                    this.timerIsInited = false;
+                }
+            ]]>
+        </method>	
+        
+        <attribute name="isopen" value="false" type="boolean" setter="this.setOpen(isopen)" />
+        
+        <event name="onisopen" />
+        
+        <method name="setOpen" args="open, withkey" >
+            if (!this.isinited) {
+                this.isopen = open;
+                return;
+            }
+            if (open) { // open combox
+                if (this.isopen) return; // tends to get called more than once, esp when
+                //lz.ModeManager.makeModal( this );
+
+                this.cblist.bringToFront();
+                this.cblist.setVisible(true);
+                //lz.Focus.setFocus(this.cblist, withkey);
+
+                this.isopen = true;
+                if (this['onisopen']) this.onisopen.sendEvent(true);
+            } else { // close combox
+                if (!this['isopen']) return;
+                this.isopen = false;
+
+                //lz.ModeManager.release( this );
+                this.cblist.setVisible(false);
+                if (this['onisopen']) this.onisopen.sendEvent(false);
+                if ( lz.Focus.getFocus() == this.cblist ) {
+                    lz.Focus.setFocus(this, withkey);
+                }
+            }
+        </method>           
+
+        <floatinglist name="cblist"
+                      width="${owner.width - 1}"
+                      bordersize="${this.owner.bordersize}"
+                      spacing="${this.owner.spacing}"
+                      visible="false"
+                      shownitems="${this.owner.shownitems}"
+                      attach="bottom"
+                      attachoffset="${this.owner.attachoffset}"
+                      multiselect="false"
+                      autoscrollbar="${owner.autoscrollbar}" >
+
+            <handler name="onkeyup" args="kc">
+                //name="_dokeyup" 
+                if (kc == 27) {  // escape needs to close floating list
+                    this.owner.setOpen(false);
+                }
+            </handler>
+            <method name="removeAllItems" args="index"> 
+                for (var eg in _contentview.subviews){
+                    _removeitem(_contentview.subviews[eg]); 
+                } 
+            </method>	
+            <handler name="onselect" args="obj">
+                ////Debug.write("obj: ",obj);
+                this.owner.setSelection(obj);
+            </handler>		
+        </floatinglist>
+
+    </class>
+	
+    
+</library>
diff --git a/WebContent/src/base/contentviews/baseContentSaveView.lzx b/WebContent/src/base/contentviews/baseContentSaveView.lzx
new file mode 100644
index 0000000..915c0a6
--- /dev/null
+++ b/WebContent/src/base/contentviews/baseContentSaveView.lzx
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<class name="baseContentSaveView" extends="baseContentView">
+
+    <attribute name="observerViews" value="null" />
+	
+	<attribute name="saveIsVisible" value="true" type="boolean" />
+	<attribute name="addIsVisible" value="true" type="boolean" />
+	<attribute name="refreshIsVisible" value="true" type="boolean" />
+	<attribute name="deleteIsVisible" value="true" type="boolean" />
+	
+	<attribute name="confirmMessageLabelId" value="661" type="number" />
+    
+	<event name="onnew" />
+    <event name="ondelete" />
+    <handler name="onsavecompleted" >
+		this.hideNewRecordText();
+	</handler>
+    
+    <method name="hideNewRecordText">
+        this._newRecord.setAttribute('visibility','hidden');
+    </method>
+    
+	<event name="onreload" />
+
+    <view name="_savecontentbar" layout="axis:x;spacing:2;inset:2" x="2" height="28" width="$once{ parent.width }"
+        bgcolor="$once{ canvas.getThemeColor('baseMousecolorizer') }">
+        
+        <state applied="$once{ parent.parent.saveIsVisible }">
+	        <baseChooseIcon resourceN="filesave_rsc" labelid="144" y="2" 
+	        	onclick="this.parent.parent.doSaveEvent()" />
+        </state>	
+        <state applied="$once{ parent.parent.addIsVisible }">
+        	<baseChooseIcon resourceN="edit_add_rsc" labelid="155" y="2" 
+        		onclick="this.parent.parent.doAddEvent()" />  
+        </state>
+        <state applied="$once{ parent.parent.refreshIsVisible }">
+	        <baseChooseIcon resourceN="reload_rsc" labelid="156" y="2" 
+	        	onclick="this.parent.parent.doReloadEvent()" />
+        </state> 
+        <state applied="$once{ parent.parent.deleteIsVisible }">    
+	        <baseChooseIcon resourceN="button_cancel_rsc" labelid="157" y="2" 
+	        	onclick="this.parent.parent.doDeleteEvent()"  />
+        </state>
+        
+		  
+		 	 	      	
+    </view>
+    
+    <labelText name="_newRecord" x="120"
+   						visibility="hidden" labelid="344" fgcolor="green" width="150" />     
+    
+    <method name="addViewToObserver" args="obj">
+    	if (this.observerViews==null) this.observerViews = new Array();
+        this.observerViews.push(obj);
+    </method>
+	
+	<method name="doAddEvent">
+		this._newRecord.setAttribute('visibility','visible');
+		this.onnew.sendEvent();
+	</method>
+    
+    <method name="doSaveEvent">
+    	if (this.observerViews.length!=0){
+        	new lz.contentSaveWindow(canvas.main_content._content.inner,{refObj:this,saveObj:this.observerViews});
+        }
+    </method>
+	
+	<method name="doReloadEvent">
+		this.onreload.sendEvent();
+	</method>
+    
+    <method name="doDeleteEvent">
+    	new lz.confirmDeleteWindow(canvas.main_content._content.inner,{
+    	                   refObj:this,
+    	                   messagelabelid:confirmMessageLabelId
+    	               });
+    </method> 
+    
+    <method name="confirmDelete">
+    	this.ondelete.sendEvent();
+    </method>
+
+    <event name="ontabcontentleave" />
+    
+    <method name="close">
+        this.ontabcontentleave.sendEvent();
+        this.destroy();
+    </method>
+
+</class>
+
+</library>
diff --git a/WebContent/src/base/contentviews/baseContentView.lzx b/WebContent/src/base/contentviews/baseContentView.lzx
new file mode 100644
index 0000000..167b5bb
--- /dev/null
+++ b/WebContent/src/base/contentviews/baseContentView.lzx
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<class name="baseContentView" extends="view">
+
+    <!---
+        If destroyByMethod is true, the clear content call will not destroy the views, but the method 
+        ontabcontentleave is still invoked, this can be handy if some connections must be closed before 
+        destroying / leaving the module, you could probably also use it to confirm leaving the module 
+     -->
+    <attribute name="destroyByMethod" value="false" type="boolean" />
+    
+    <event name="ontabcontentleave" />
+    
+    <handler name="oninit">
+    	canvas.currentContentView = this;
+    </handler>
+    
+    <!--
+        This Event is for sending additional Init Events, for example after the reconnect
+        the File-List has to be refreshed for the File-Browser Plugin 
+     -->
+    <event name="sendInit" />
+    
+    <method name="close">
+        if ($debug) Debug.write("close: ",this,this.destroyByMethod);
+        //Make sure any cursor status is reset
+		lz.Cursor.restoreCursor();
+		lz.Cursor.showHandCursor(true);
+		//Make sure any tooltip is cleared
+		canvas.clearToolTip();
+        this.ontabcontentleave.sendEvent();
+        if (!this.destroyByMethod) this.destroy();
+        return this.destroyByMethod;
+    </method>
+
+</class>
+
+</library>
diff --git a/WebContent/src/base/contentviews/confirmDeleteWindow.lzx b/WebContent/src/base/contentviews/confirmDeleteWindow.lzx
new file mode 100644
index 0000000..bb090da
--- /dev/null
+++ b/WebContent/src/base/contentviews/confirmDeleteWindow.lzx
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="confirmDeleteWindow" extends="labelExplorerBox" labelid="152"
+    docking="true" width="264" x="450" y="20" height="200">
+    
+    <attribute name="refObj" value="null" />
+    <attribute name="messagelabelid" value="153" type="number" />
+    <attribute name="confirmlabelid" value="154" type="number" />
+    
+    <handler name="oninit">
+        lz.ModeManager.makeModal(this);
+    </handler>
+    
+    <handler name="onclose">
+        lz.ModeManager.release(this);
+    </handler>
+    
+    <labelText labelid="$once{ parent.messagelabelid }" y="22" x="4"
+    		   width="$once{ parent.width - 8 }" multiline="true"/>
+    
+    <simpleLabelButton labelid="$once{ parent.confirmlabelid }" width="100" x="40" y="170">
+        <handler name="onclick">
+            //Debug.write("confirm");
+            this.parent.refObj.confirmDelete();
+            this.parent.close();
+        </handler>
+    </simpleLabelButton>
+    
+    <simpleLabelButton labelid="153" width="100" x="150" y="170">
+        <handler name="onclick">
+            //Debug.write("cancel");
+            this.parent.close();
+        </handler>
+    </simpleLabelButton>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/base/contentviews/library.lzx b/WebContent/src/base/contentviews/library.lzx
new file mode 100644
index 0000000..4e6c9a1
--- /dev/null
+++ b/WebContent/src/base/contentviews/library.lzx
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+    <include href="baseContentView.lzx" />
+    <include href="baseContentSaveView.lzx" />
+    <include href="confirmDeleteWindow.lzx" />
+
+</library>
diff --git a/WebContent/src/base/externalJavaScript.lzx b/WebContent/src/base/externalJavaScript.lzx
new file mode 100644
index 0000000..c19e3c5
--- /dev/null
+++ b/WebContent/src/base/externalJavaScript.lzx
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<script>
+<![CDATA[
+
+
+	flash.external.ExternalInterface.addCallback("redirectToUrlCallback", null, redirectToUrlCallback);
+	flash.external.ExternalInterface.addCallback("getTimeZoneOffsetCallback", null, getTimeZoneOffsetCallback);
+    flash.external.ExternalInterface.addCallback("getBrowserInfoCallback", null, getBrowserInfoCallback);
+    flash.external.ExternalInterface.addCallback("getBrowserLangCallback", null, getBrowserLangCallback);
+
+	
+	var redirectToUrlReturnObject = null;
+	var timeZoneOffsetReturnObject = null;
+	var browserInfoReturnObject = null;
+	var browserLangReturnObject = null;
+	
+	
+	function redirectToUrl(url, returnObject) {
+		
+		redirectToUrlReturnObject = returnObject;
+		
+		flash.external.ExternalInterface.call("redirectToUrl", url);
+		
+		//lz.Browser.callJS("redirectToUrl",callback,this.redirectURL);
+	}
+	
+	function redirectToUrlCallback(returnValue) {
+		if ($debug) Debug.write("redirectToUrlCallback ",returnValue);
+		if (redirectToUrlReturnObject != null) {
+			redirectToUrlReturnObject.callback(returnValue);
+		}
+	}
+
+	
+	function getTimeZoneOffset(returnObject) {
+		
+		timeZoneOffsetReturnObject = returnObject;
+		
+		flash.external.ExternalInterface.call("getTimeZoneOffset");
+		
+		//lz.Browser.callJS("getTimeZoneOffset",getTimeZoneOffsetCallback);
+	}
+	
+	function getTimeZoneOffsetCallback(returnValue) {
+		if ($debug) Debug.write("getTimeZoneOffsetCallback ",returnValue);
+		if (timeZoneOffsetReturnObject != null) {
+			timeZoneOffsetReturnObject.callback(returnValue);
+		}
+	}
+	
+	
+	function getBrowserInfo(returnObject) {
+        
+        browserInfoReturnObject = returnObject;
+        
+        flash.external.ExternalInterface.call("getBrowserInfo");
+        
+        //lz.Browser.callJS("getBrowserInfo",callback);
+    }
+    
+    function getBrowserInfoCallback(returnValue) {
+        if ($debug) Debug.write("getBrowserInfoCallback ",returnValue);
+        if (browserInfoReturnObject != null) {
+            browserInfoReturnObject.callback(returnValue);
+        }
+    }
+    
+    
+    function getBrowserLang(returnObject) {
+        
+        browserLangReturnObject = returnObject;
+        
+        flash.external.ExternalInterface.call("getBrowserLang");
+        
+        //lz.Browser.callJS("getBrowserLang",callback);
+    }
+    
+    function getBrowserLangCallback(returnValue) {
+        if ($debug) Debug.write("getBrowserLangCallback ",returnValue);
+        if (browserLangReturnObject != null) {
+            browserLangReturnObject.callback(returnValue);
+        }
+    }
+	
+
+]]>
+</script>
+
+</library>
diff --git a/WebContent/src/base/functions.lzx b/WebContent/src/base/functions.lzx
new file mode 100644
index 0000000..bd21b1c
--- /dev/null
+++ b/WebContent/src/base/functions.lzx
@@ -0,0 +1,427 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<script>
+<![CDATA[
+
+var labelObj;
+    
+var tempActionForNavi = '';
+
+// Load Labels from List
+var labels = new Object();
+
+String.prototype.startsWith = function(prefix) {
+    return (this.indexOf(prefix) === 0);
+};	
+
+var _labelObject = new Array();
+
+var RegExpTooltiplist = null;
+
+function disablesTooltips(obj){
+  if(RegExpTooltiplist!=null){
+    RegExpTooltiplist.destroy();
+    RegExpTooltiplist=null;
+  }
+  RegExpTooltiplist = obj;
+}
+
+function setLabelObject(lableObj){
+	_labelObject = lableObj;
+}
+
+function getLabelObjectById(labelid){
+	for (var i=0;i<_labelObject.length;i++){
+		if (Number(_labelObject[i]['labelid'])==labelid){
+			return _labelObject[i];
+		}
+	}
+}
+
+function getLabelNameGlob(labelid){
+	for (var i=0;i<_labelObject.length;i++){
+		if (Number(_labelObject[i]['labelid'])==labelid){
+			return _labelObject[i]['labelvalue'];
+		}
+	}
+}
+//Debug.write("end init");
+    
+var currentMouseWheelObject = null;
+    
+function setCurrentMouseWheelObject(obj) {
+    currentMouseWheelObject=obj;
+}    
+function getCurrentMouseWheelObject(obj) {
+    return currentMouseWheelObject;
+}  
+function disableCurrentMouseWheelObject() {
+    currentMouseWheelObject=null;
+}  
+
+function setLabelObjectByHundred(no,obj){
+    canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "hibAdapter_setLabelObjectByHundred", [no, obj]); 
+   	for (var i = 0; i < obj.length; ++i) {
+	    labels["id" + obj[i].id] = obj[i].value;
+   	}
+}
+
+function getLabelTag(labelid){
+	var l = labels["id" + labelid];
+	if (l != undefined) {
+		if ($debug) l += " [" + labelid + "]";
+	} else {
+		l = "Error Missing [" + labelid + "]";
+	}
+    return l;
+}
+
+function quicklink(action){
+	quicklinkAct(action);
+}   
+    
+function quicklinkAct(action){
+    // if($debug) Debug.write("FUNC/quicklinkAct",action);
+    var t = new Array();
+    t.action = action;
+    loadContent(t,null,null);
+}            
+
+function loadContent(obj,parentobj,preparentobj){
+    if($debug) Debug.write("FUNC/loadContent: ",obj.action);
+    
+    tempActionForNavi = obj.action;
+
+	if (obj.action!="logout")
+	{
+		if (!clearStageContent(obj)) 
+		{
+			loadContentByTempActionForNavi();
+		}
+	}
+	else
+	{
+		new lz.logoutConfirm(canvas,{objectsToClean: obj});
+	}
+    
+}
+    
+function loadContentByTempActionForNavi(){
+    // if($debug) Debug.write("FUNC/loadContentByTempActionForNavi");
+    
+	if (canvas.roomJumpId != 0) {
+		
+		canvas.initroomid = canvas.roomJumpId;
+        canvas.thishib.getRoomById.doCall();
+		canvas.roomJumpId = 0;
+		
+	} else {
+		
+        if($debug) Debug.write("FUNC/loadContentByString -1- ",tempActionForNavi);
+        if($debug) Debug.write("FUNC/loadContentByString -2- ",canvas[tempActionForNavi]);
+        if($debug) Debug.write("FUNC/loadContentByString -3- ",lz[canvas[tempActionForNavi]]);
+        
+        new lz[canvas[tempActionForNavi]](canvas.main_content._content.inner);
+	}
+}    
+
+function clearStageContent(obj){
+    // if($debug) Debug.write("FUNC/clearStageContent: ",obj);
+    //can be called with zero arguments
+    //if (arguments.length!=0) obj.parent.parent.clearAllSubItemLists();  
+    
+    return canvas.main_content._content.clearAll();
+}
+function setLabelObject(labelObjRef){
+    // if($debug) Debug.write("FUNC/setLabelObject",labelObjRef);
+    labelObj = labelObjRef;
+}
+
+function getLabelNameXMLCRM(labelid){
+    // if($debug) Debug.write("FUNC/getLabelNameXMLCRM",labelid);
+    for (var i=0;i<labelObj.length;i++){
+        if (labelid==labelObj[i].fieldvalues_id){
+            return labelObj[i].value;
+        }
+    }
+    
+}
+
+function getStringTime(){
+    var dateObj = new Date();
+    var hours = dateObj.getHours();
+    if (hours<10) hours="0"+hours;
+    var minutes = dateObj.getMinutes();
+    if (minutes<10) minutes="0"+minutes;
+    return ''+hours+':'+minutes;
+}   
+
+function getStringTimeWithSeconds(){
+    var dateObj = new Date();
+    var hours = dateObj.getHours();
+    if (hours<10) hours="0"+hours;
+    var minutes = dateObj.getMinutes();
+    if (minutes<10) minutes="0"+minutes;
+    var seconds = dateObj.getSeconds();
+    if (seconds<10) seconds="0"+seconds;
+    return ''+hours+':'+minutes+':'+seconds;
+}   
+
+function parseDateToString(dateObj){
+    // if($debug) Debug.write("FUNC/parseDateToString",dateObj);
+    if (dateObj==null) return "";
+    var d = dateObj.getDate();
+    if (d<10) d = "0"+d;
+    var m = dateObj.getMonth()+1;
+    if (m<10) m = "0"+m;
+    var y = dateObj.getFullYear();
+    if (y<10) y = "0"+y;
+    return d+'.'+m+'.'+y;
+}
+
+function parseDateToStringTimeOnly(dateObj){
+    // if($debug) Debug.write("FUNC/parseDateToStringTime",dateObj);
+    if (dateObj==null) return "";
+    var d = dateObj.getDate();
+    if (d<10) d = "0"+d;
+    var mo = dateObj.getMonth()+1;
+    if (mo<10) mo = "0"+mo;
+    var y = dateObj.getFullYear();
+    if (y<10) y = "0"+y;
+    var h = dateObj.getHours();
+    if (h<10) h = "0"+h;    
+    var m = dateObj.getMinutes();
+    if (m<10) m = "0"+m;        
+    return h+':'+m;
+}
+
+function parseTimeStringToDate(t){
+    // if($debug) Debug.write("FUNC/parseStringToTime",t);
+    if (t.length==5){
+        var d = 1;
+        var m = 1;
+        var y = 1970;
+        var std = Number(t.substring(0, 2));
+        var min = Number(t.substring(3, 5));
+        if (!isNaN(d) && !isNaN(m) && !isNaN(y)){
+            if ($debug) Debug.write("parseTimeStringToDate: ",new Date(y, m-1, d, std, min))
+            return new Date(y, m-1, d, std, min);
+        } else {
+            return new Date();
+        }
+    } else {
+        return new Date();
+    }
+}
+
+function parseDateToStringTime(dateObj){
+    // if($debug) Debug.write("FUNC/parseDateToStringTime",dateObj);
+    if (dateObj==null) return "";
+    var d = dateObj.getDate();
+    if (d<10) d = "0"+d;
+    var mo = dateObj.getMonth()+1;
+    if (mo<10) mo = "0"+mo;
+    var y = dateObj.getFullYear();
+    if (y<10) y = "0"+y;
+    var h = dateObj.getHours();
+    if (h<10) h = "0"+h;    
+    var m = dateObj.getMinutes();
+    if (m<10) m = "0"+m;        
+    return d+'.'+mo+'.'+y+' '+h+':'+m;
+}
+
+function parseDateToStringTimeSeconds(dateObj){
+    // if($debug) Debug.write("FUNC/parseDateToStringTime",dateObj);
+    if (dateObj==null) return "";
+    var d = dateObj.getDate();
+    if (d<10) d = "0"+d;
+    var mo = dateObj.getMonth()+1;
+    if (mo<10) mo = "0"+mo;
+    var y = dateObj.getFullYear();
+    if (y<10) y = "0"+y;
+    var h = dateObj.getHours();
+    if (h<10) h = "0"+h;    
+    var m = dateObj.getMinutes();
+    if (m<10) m = "0"+m; 
+    var s = dateObj.getSeconds();
+    if (s<10) s = "0"+s; 
+    return d+'.'+mo+'.'+y+' '+h+':'+m+':'+s;
+}
+
+function parseStringToDate(t){
+    // if($debug) Debug.write("FUNC/parseStringToDate",t);
+    if (t.length==10){
+        var d = Number(t.substring(0, 2));
+        var m = Number(t.substring(3, 5));
+        var y = Number(t.substring(6, 10));
+        if (!isNaN(d) && !isNaN(m) && !isNaN(y)){
+            return new Date(y, m-1, d);
+        } else {
+            return new Date();
+        }
+    } else {
+        return new Date();
+    }
+}
+
+function parseStringToDateTime(t){
+    // if($debug) Debug.write("FUNC/parseStringToDate",t);
+    if (t.length==15){
+        var d = Number(t.substring(0, 2));
+        var m = Number(t.substring(3, 5));
+        var y = Number(t.substring(6, 10));
+        var h = Number(t.substring(10, 12));
+        var min = Number(t.substring(13, 15));
+        if (!isNaN(d) && !isNaN(m) && !isNaN(y)){
+            if ($debug) Debug.write("parseStringToDateTime+: ",new Date(y, m-1, d, h, min))
+            return new Date(y, m-1, d, h, min);
+        } else {
+            return new Date();
+        }
+    } else {
+        return new Date();
+    }
+}
+
+function getStringDateFileSave(){
+    // if($debug) Debug.write("FUNC/getStringDateFileSave");
+    var dateObj = new Date();
+    var hours = dateObj.getHours();
+    if (hours<10) hours="0"+hours;
+    var minutes = dateObj.getMinutes();
+    if (minutes<10) minutes="0"+minutes;
+    var date = dateObj.getDate();
+    if (date<10) date="0"+date;
+    var month = dateObj.getMonth()+1;
+    if (month<10) month="0"+month;
+    return date+'_'+month+'_'+dateObj.getFullYear()+'_at_'+hours+'_'+minutes;
+} 
+
+function getStringTimeByTimeStamp(tStamp){
+    if ($debug) Debug.write("getStringTimeByTimeStamp "+tStamp);
+    var dateObj = new Date(tStamp);
+    var hours = dateObj.getHours();
+    if (hours<10) hours="0"+hours;
+    var minutes = dateObj.getMinutes();
+    if (minutes<10) minutes="0"+minutes;
+    var seconds = dateObj.getSeconds();
+    if (seconds<10) seconds="0"+seconds;
+    return ''+hours+':'+minutes+':'+seconds;
+}  
+
+
+function strtrim(str)
+{
+    for(var i = 0; str.charCodeAt(i) < 33; i++);
+    for(var j = str.length-1; str.charCodeAt(j) < 33; j--);
+    return str.substring(i, j+1);
+}
+
+function parseDateTimeStringFromXmlString(str) { 
+	//0123456789012345678901234567890
+	//2012-03-08T06:30:00.000+01:00
+	//2012-03-11T15:00:00.713Z
+	var tYear = str.substr(0,4);
+	var tMonth = str.substr(5,2);
+	var tDay = str.substr(8,2);
+	var tHour = str.substr(11,2);
+	var tMin = str.substr(14,2);
+	return ""+tDay+"."+tMonth+"."+tYear+" "+tHour+":"+tMin;
+}
+
+function parseDateStringFromXmlString(str) { 
+	//0123456789012345678901234567890
+	//2012-03-08T06:30:00.000+01:00
+	//2012-03-11T15:00:00.713Z
+	var tYear = str.substr(0,4);
+	var tMonth = str.substr(5,2);
+	var tDay = str.substr(8,2);
+	return ""+tDay+"."+tMonth+"."+tYear;
+}
+
+function parseTimeStringFromXmlString(str) { 
+	//0123456789012345678901234567890
+	//2012-03-08T06:30:00.000+01:00
+	//2012-03-11T15:00:00.713Z
+	var tHour = str.substr(11,2);
+	var tMin = str.substr(14,2);
+	
+	return ""+tHour+":"+tMin;
+}
+
+/*
+ * parse date from string
+ * sample strings:
+ * 2012-03-05
+ */
+function parseDateOnlyFromXmlString(str) { 
+	var tYear = str.substr(0,4);
+	var tMonth = str.substr(5,2);
+	var tDay = str.substr(8,2);
+	return new Date(tYear,Number(tMonth)-1,tDay);
+}
+
+
+/*
+ * parse date from string
+ * sample strings:
+ * 0123456789012345678901234567890
+ * 2012-03-08T06:30:00.000+01:00
+ * 2012-03-11T15:00:00.713Z
+ */
+function parseDateTimeFromXmlString(str) { 
+	var tYear = str.substr(0,4);
+	var tMonth = str.substr(5,2);
+	var tDay = str.substr(8,2);
+	var tHour = str.substr(11,2);
+	var tMin = str.substr(14,2);
+	return new Date(tYear,Number(tMonth)-1,tDay,tHour,tMin,0);
+}
+
+/**
+ * Correct REST format for java.util.Calendar is: yyyy-mm-ddTHH:MM:SS
+ *
+ *
+ */
+function parseDateToRestDateCalendar(dateObj){
+    if($debug) Debug.write("FUNC/parseDateToStringTime 1",dateObj);
+    if (dateObj==null) return "";
+    var d = dateObj.getDate();
+    if (d<10) d = "0"+d;
+    var mo = dateObj.getMonth()+1;
+    if (mo<10) mo = "0"+mo;
+    var y = dateObj.getFullYear();
+    var h = dateObj.getHours();
+    if (h<10) h = "0"+h;    
+    var m = dateObj.getMinutes();
+    if (m<10) m = "0"+m; 
+    var s = dateObj.getSeconds();
+    if (s<10) s = "0"+s; 
+    if($debug) Debug.write("FUNC/parseDateToStringTime 2",""+y+"-"+mo+"-"+d+"T"+h+":"+m+":"+s);
+    return ""+y+"-"+mo+"-"+d+"T"+h+":"+m+":"+s;
+}
+
+]]>
+</script>
+		
+</library>
diff --git a/WebContent/src/base/hibernate/hibRtmpConnection.lzx b/WebContent/src/base/hibernate/hibRtmpConnection.lzx
new file mode 100644
index 0000000..3f8e51b
--- /dev/null
+++ b/WebContent/src/base/hibernate/hibRtmpConnection.lzx
@@ -0,0 +1,1971 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+          
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<dataset name="myresultnavi" />
+
+<dataset name="languagesSet" />        
+
+<dataset name="countrySet" />
+<dataset name="timeZoneSet" />
+
+<class name="userStatus" extends="view" width="250" height="30">
+    <attribute name="statusText" type="string" />
+    <attribute name="statusColor" type="number" value="0" />
+
+    <text name="status" width="240" height="20" x="5" y="5" fontstyle="bold" fgcolor="0" text="defaulttext" fontsize="10"/>
+
+    <handler name="oninit">
+        this.status.setAttribute("text", this.statusText);
+        this.status.setAttribute("fgcolor", this.statusColor);
+        this.setAttribute("visibility", "visible");
+        lz.Timer.addTimer( new LzDelegate( this, "selfDestroy" ), 3000 );
+    </handler>
+
+    <method name="selfDestroy" args="ignore=null">
+        this.destroy();
+    </method>
+</class>
+
+<class name="hibRtmpConnection" extends="rtmpConnection" debug="false"
+    src="$once{ this.getUrl() }" >
+
+    <attribute name="protocollName" type="string" value="rtmp" />
+    <attribute name="protocollPort" type="string" value="$once{ canvas.rtmpport }" />
+    <attribute name="counterror" type="number" value="0" />
+    
+    <attribute name="loaderVar" value="null" />
+    
+    <attribute name="userScope" value="hibernate" type="string" />
+    
+    <!-- refreshing the session regulary -->
+    <attribute name="refreshDelegate" value="null" />
+    
+    <!-- UserId-->
+    <attribute name="UserID" value="1" type="number" />
+    <!-- reconnect after each conferenceView -->
+    <attribute name="reconnectAfterRoomleft" type="boolean" value="false" />
+    <attribute name="reconnectedRoomInstance" value="null" />
+    
+    <attribute name="reconnectionAction" value="false" type="boolean" />
+    <attribute name="reconnectObjRef" value="null" />
+         
+     <attribute name="userobject" value="null" />
+     
+     <!-- default will be loaded on startup -->
+     <attribute name="userlang" value="1" type="number" />
+     
+     <!-- The default Language will be loaded on init  -->
+     <attribute name="initlanguageLoaded" value="false" type="boolean" />
+     
+     <!-- This domain is the orgdomain used in the video-conference -->
+     <attribute name="conferencedomain" value="public" type="string" />
+     
+     <!-- if this connection is used for testing the app
+     see test-setup.lzx -->
+     <attribute name="testAppLoading" value="false" type="boolean" />
+     
+     <!-- 
+        the real ROOM_ID
+     -->
+     <attribute name="currentroomid" value="0" type="number" />
+     
+     <!-- This is the current domain the user has logged-in -->
+     <attribute name="currentdomain" value="domain1" type="string" />
+     <attribute name="currentdomainObj" value="domain1" type="string" />
+     
+     <!--- the current Invitation-Object -->
+     <attribute name="currentInvitation" value="null" />
+    
+    <!-- shows what kind of conferenceView it is at the moment
+        wether its conferenceView or audienceView -->
+    <attribute name="modus" value="" type="string" />
+    
+    <!-- shows what kind of room the use is public or private -->
+    <attribute name="roomtype" value="" type="string" />
+        
+    <attribute name="showKickMessage" value="false" type="boolean"/>
+    <attribute name="showFullMessage" value="false" type="boolean"/>
+         
+    <method name="getUrl">
+        return this.protocollName+'://'+canvas.rtmphostlocal+':'+this.protocollPort+'/'+canvas.webAppRootKey+'/'+this.userScope;
+    </method>
+             
+     <!--
+        The onconnect Method is triggered several times:
+             - When you enter a room the NetConnection will close and reconnect to the Scope of the Room
+             - When you leave the room again it will be re-connected to the default scope again
+      -->
+     <handler name="onconnect">
+        if($debug) Debug.write("hibRtmpConnection/onconnect");
+        if (this.reconnectionAction){
+            this.overwritePublicSID.doCall();
+            this.setUsernameReconnect.doCall();
+        } else if (this.reconnectAfterRoomleft) {
+            //Return to content after reconnect
+            canvas.thishib.reconnectedRoomInstance.destroy();
+            this.overwritePublicSID.doCall();
+            this.setUsernameReconnect.doCall();
+        } else {
+            this.refreshDelegate = new LzDelegate( this, "refreshSessionMeth" );
+            //lz.Timer.addTimer( this.refreshDelegate, 60000 );
+            lz.Timer.addTimer( this.refreshDelegate, canvas.refreshSession );
+            canvas.thishib.loaderVar.setProgress();
+            
+            //check and get the Applet SIP Status
+            getAppletStatus();
+            
+            //Load Session Data
+            this.getsessiondata.callRPC();    
+        }
+    </handler>
+    
+    <handler name="ondisconnect">
+        canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "disconnect", [canvas.thishib.src]);
+    </handler>
+    
+    <method name="reconnectComplete">
+         if (this.reconnectionAction){
+            this.reconnectionAction = false;
+            this.reconnectObjRef.reconnectSuccess();
+        } else if (this.reconnectAfterRoomleft) {
+            loadContentByTempActionForNavi();
+        }
+        canvas.currentContentView.sendInit.sendEvent(this);
+    </method>
+    
+    <handler name="onerror" >
+        <![CDATA[
+            if ($debug) Debug.write("error ",this.status,this.src,this.lastCalled,this.showKickMessage);
+            if (this.showFullMessage) {
+                new lz.labelerrorPopup(canvas,{errorlabelid:99});
+                this.showFullMessage = false;
+                return;
+            } else if (this.showKickMessage) {
+                new lz.labelerrorPopup(canvas,{errorlabelid:606});
+                canvas._loadingAll.hideContentOnly();
+                return;
+            } else if (this.reconnectionAction){
+                this.connect();
+            } else if (this.reconnectAfterRoomleft) {
+                if ($debug) Debug.write("this.reconnectAfterRoomleft: ",this.reconnectAfterRoomleft);
+                this.counterror=0;
+                this.connect();
+            } else {
+                this.setAttribute('protocollName','rtmpt');
+                this.setAttribute('protocollPort',canvas.rtmpTunnelport);
+                var src = getUrl();
+                this.setAttribute('src',src);
+                //Debug.write("new src ",this.src);
+                if (this.counterror<3){
+                    this.counterror++;
+                    //Debug.write("try ",this.counterror,"one");
+                    canvas.thishib.loaderVar.error.setAttribute('text',"try "+this.counterror);
+                    this.connect();
+                } else {
+                    //Debug.write("connection failed");
+                    canvas.thishib.loaderVar.error.setAttribute('text',this.status);
+                    canvas.setAttribute('loadingmessage','connection failed');
+                    new lz.labelerrorPopup(canvas,{errorlabelid:556});
+                }
+                canvas.thishib.loaderVar._src.setAttribute('text',src);
+            }
+        ]]>
+    </handler>    
+    
+    <method name="refreshSessionMeth" args="calleeObj">
+        this.refreshSession.doCall();
+    </method>
+    
+    <!-- This Function is just for refreshing the Session -->
+    <netRemoteCallHib name="refreshSession" funcname="userservice.refreshSession" showLoading="false" >    
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>   
+        <handler name="ondata" args="value">
+            //if ($debug) Debug.write("hibRtmpConnection/refreshSession [",value,"]");
+            lz.Timer.addTimer( parent.refreshDelegate, canvas.refreshSession );
+        </handler>
+    </netRemoteCallHib>
+      
+    <netRemoteCallHib name="getsessiondata" funcname="xmlcrm.getsessiondata" >      
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+            if ($debug) Debug.write("hibRtmpConnection/getsessiondata [",value,"]");
+            canvas.sessionObject = value;
+            canvas.sessionId = value.session_id;     
+            canvas.thishib.loaderVar.setProgress();
+            parent.getPublicSID.doCall();
+        </handler>  
+    </netRemoteCallHib>
+     
+    <netRemoteCallHib name="getPublicSID" funcname="getPublicSID" >      
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+            if ($debug) Debug.write("hibRtmpConnection/getPublicSID [",value,"]");
+            canvas.publicSID = value;     
+            canvas.thishib.loaderVar.setProgress();
+            parent.getSIPModuleStatus.doCall();
+        </handler>  
+    </netRemoteCallHib>
+    
+    <netRemoteCallHib name="getSIPModuleStatus" funcname="xmlcrm.getSIPModuleStatus" >      
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+            if ($debug) Debug.write("hibRtmpConnection/getSIPModuleStatus [",value,"]");
+            canvas.thishib.sip_enabled = value;
+            canvas.thishib.loaderVar.setProgress();
+            parent.getLanguages.doCall();
+        </handler>  
+    </netRemoteCallHib>    
+     
+    <netRemoteCallHib name="overwritePublicSID" funcname="overwritePublicSID" >     
+        <netparam><method name="getValue"> return canvas.publicSID;</method></netparam>
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+            if ($debug) Debug.write("overwritePublicSID: ",value);
+        </handler>  
+    </netRemoteCallHib>    
+    
+    <netRemoteCallHib name="getLanguages" funcname="languageservice.getLanguages" 
+                      dataobject="languagesSet" >      
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+            //Debug.write("getLanguages: ",value);
+            canvas.thishib.loaderVar.setProgress();
+            parent.getDefaultLanguage.doCall();
+        </handler>  
+    </netRemoteCallHib>    
+    
+    <method name="setDefaultUserLanguage">
+	    <![CDATA[
+	        if (userlang == -1 && canvas.language_id != 0) {
+	            userlang = canvas.language_id;
+	        } else if (userlang == -1) {
+	            var lang_id = canvas.default_lang_id;
+	            
+	            var browserLang = flash.external.ExternalInterface.call("function(){return window.navigator.systemLanguage || window.navigator.userLanguage || window.navigator.language;}");
+	            if (browserLang == null) {
+	                browserLang = "" + System.capabilities.language;
+	            }
+	            if (browserLang != null && browserLang.length > 1) {
+	                var lngCode = browserLang.substring(0, 2);
+	                
+	                //openlaszlo XPath is able to search nothing, so will iterate
+	                var xpath = "languagesSet:/item";
+	                var list = languagesSet.getPointer().xpathQuery(xpath);
+	                
+	                var partMatch = -1, fullMatch = -1; 
+	                for (var i = 1; list != null && i <= list.length; ++i) {
+	                    xpath = "languagesSet:/item[" + i + "]/code/text()";
+	                    var val = languagesSet.getPointer().xpathQuery(xpath);
+	                    if (val != null && val.length > 1) {
+	                        var partCode = ("" + val).substring(0, 2);
+	                        
+	                        if (browserLang == val) {
+	                            fullMatch = i;
+	                        } else if (lngCode == val) {
+	                            partMatch = i;
+	                        } else if (partCode == lngCode) {
+	                            partMatch = i;
+	                        }
+	                    }
+	                }
+	                if (partMatch != -1 || fullMatch != -1) {
+	                    i = (fullMatch != -1) ? fullMatch : partMatch;
+	                    xpath = "languagesSet:/item[" + i + "]/language_id/text()";
+	                    lang_id = languagesSet.getPointer().xpathQuery(xpath);
+	                }
+	            }
+	            
+	            if (canvas.language_id == 0) {
+	                userlang = lang_id;
+	            } else {
+	                userlang = canvas.language_id;
+	            }
+	        }
+	    ]]>
+    </method>
+    
+    <netRemoteCallHib name="logoutUser" funcname="xmlcrm.logoutUser"
+        remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" 
+        isCallBackHandler="true">
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <handler name="sendCallBack">
+        <![CDATA[
+            //The onResult-Handler will be called be the rtmpconnection
+            if ($debug) Debug.write("sendCallBack logoutUser: ");    
+            parent.initlanguageLoaded = false;
+            
+            var g = canvas.getUserData();
+            g["username"] = '';
+            g["userpass"] = '';
+            g["userquality"] = null;
+            g["usercolor"] = null;
+            g["userlang"] = null;
+            g["saveuserdata"]=false;
+            g["storedSession"] = "";
+            canvas.setUserData(g);
+            canvas.setColorStyle(canvas.baseColorScheme);
+            
+            parent.userlang = -1;
+            parent.setDefaultUserLanguage();
+
+            parent.getLanguageByIdAndMax.start = 0;
+            parent.getLanguageByIdAndMax.doCall();
+        ]]>
+        </handler>          
+    </netRemoteCallHib>     
+    
+    <netRemoteCallHib name="setUsernameReconnect" funcname="setUsernameReconnect" remotecontext="$once{ canvas.thishib }" >   
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return canvas.user_id;</method></netparam>
+        <netparam><method name="getValue">return canvas.currentuser;</method></netparam>
+        <netparam><method name="getValue">return canvas.firstName;</method></netparam>
+        <netparam><method name="getValue">return canvas.lastName;</method></netparam>   
+        <netparam><method name="getValue">return canvas.picture_uri;</method></netparam>   
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+            if ($debug) Debug.write("setUsernameReconnect: ",canvas.user_id,value);   
+            parent.reconnectComplete();
+        </handler>  
+    </netRemoteCallHib>    
+        
+    <netRemoteCallHib name="getDefaultLanguage" funcname="languageservice.getDefaultLanguage" >      
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+            canvas.default_lang_id = value;
+            if ($debug) Debug.write("getDefaultLanguage: ",value,"; canvas.lang = ", canvas.language_id);
+            if (canvas.language_id==0){
+                parent.userlang = canvas.default_lang_id;
+            } else {
+                parent.userlang = canvas.language_id;
+            }
+            parent.getLanguageByIdAndMax.doCall();
+        </handler>  
+    </netRemoteCallHib>      
+    
+    <netRemoteCallHib name="getInvitationByHash" activeErrorHandler="true" 
+        funcname="invitationservice.getInvitationByHash" >          
+        <netparam name="invitationHash"><method name="getValue">return canvas.invitationHash;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                canvas.thishib.loaderVar.close();
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("getInvitationByHash: ",value);
+                if (value<0){
+                    
+                } else {
+                    
+                    if (value.allowEntry) {
+                        parent.currentInvitation = value;
+                        new lz.invitationQuickLoader(canvas.main_content._content.inner);
+                    } else {
+                        
+                        var addInfo = "" + value.validFrom +"<br/> - <br/>"+ value.validTo;
+                        
+                        var dlg = new lz.rpcErrorDialog(canvas,{errorid:-50,addInfo:addInfo});
+                        
+                    }
+                    
+                    
+                }
+            ]]>
+        </handler>   
+    </netRemoteCallHib> 
+    
+    <netRemoteCallHib name="secureLoginByRemote" activeErrorHandler="true" 
+        funcname="xmlcrm.secureLoginByRemote" >  
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>       
+        <netparam name="remoteSessionId"><method name="getValue">return canvas.secureHash;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                canvas.thishib.loaderVar.close();
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("secureLoginByRemote: ",value);
+                if (value<0){
+                    
+                } else {
+                    
+                    if (value == null) {
+                        new lz.errorPopup(canvas,{error:'Invalid Hash'});
+                        return;
+                    }
+                    
+                    canvas.showNickNameDialog = value.showNickNameDialog;
+                    
+                    if ($debug) Debug.write("markSessionAsLogedIn9 ",canvas.showNickNameDialog);
+                
+                    
+                    canvas.initroomid = value.room_id;
+                    canvas.becomemoderator = value.becomemoderator;
+                    canvas.showAudioVideoTest = value.showAudioVideoTest;
+                    canvas.landingZone = value.landingZone;
+                    
+                    canvas.roomRecordingId = value.roomRecordingId;
+                    
+                    if (canvas.roomRecordingId == null) {
+                        canvas.roomRecordingId = 0;
+                    }
+                    
+                    if (canvas.showNickNameDialog) {
+                        new lz.chooseNickName(canvas);
+                    } else {
+                        parent.getCurrentRoomClient.doCall();
+                    }
+                }
+            ]]>
+        </handler>   
+    </netRemoteCallHib>  
+    
+    <netRemoteCallHib name="loginUserByRemote" activeErrorHandler="true" 
+        funcname="xmlcrm.loginUserByRemote" >          
+        <netparam name="remoteSessionId"><method name="getValue">return canvas.remoteUserSid;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("loginUserByRemote -1-: ",value);
+                if ($debug) Debug.write("loginUserByRemote -2-: ",canvas.remoteUserSid);
+                if (value<0){
+                    
+                } else {
+                    parent.getCurrentRoomClient.doCall();
+                }
+            ]]>
+        </handler>   
+    </netRemoteCallHib>  
+    
+    <netRemoteCallHib name="getCurrentRoomClient" funcname="xmlcrm.getCurrentRoomClient" >          
+        <netparam name="sessionId"><method name="getValue">return canvas.sessionId;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("getCurrentRoomClient: ",value);
+                if (value!=null){
+                    
+                    canvas.setAttribute('currentuser',value.firstname+" "+value.lastname);
+                    
+                    //Somehow this leads to a bug in the implementation of the secure User Login
+                    canvas.setAttribute('user_id',value.user_id);
+                    
+                    canvas.setAttribute('allowRecording',value.allowRecording);
+                    
+                    canvas.setAttribute('firstName',value.firstname);
+                    canvas.setAttribute('lastName',value.lastname);
+                    canvas.setAttribute('mail','');
+                    canvas.setAttribute('lastLogin','');
+                    canvas.setAttribute('official_code','');
+                    canvas.setAttribute('picture_uri',value.picture_uri);
+                    canvas.setAttribute('language','');
+                    //canvas.setAttribute('currentuser',value.login);
+                    
+                    if ($debug) Debug.write("canvas.landingZone :: ",canvas.landingZone);
+                    
+                    if (canvas.landingZone == "dashboard") {
+                        canvas.destroyExitButton = false;
+                        parent.getRoomTypes.doCall();
+                    } else if (canvas.roomRecordingId > 0) {
+                        canvas.thishib.loaderVar.close();
+                        //parent.getRoomById.doCall();
+                        var obj = new Array();
+                        obj["action"] = "recordModule";
+                        loadContent(obj,null,null);
+                    } else {
+                        canvas.thishib.loaderVar.close();
+                        parent.getRoomById.doCall();
+                    }
+                }
+            ]]>
+        </handler>   
+    </netRemoteCallHib>
+    
+    <netRemoteCallHib name="getRoomById" funcname="conferenceservice.getRoomById" >          
+        <netparam name="sessionId"><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam name="roomId"><method name="getValue">return canvas.initroomid;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("getRoomById: ",value);
+                if (value!=null){
+                    if (canvas.directUserLogin) {
+                        canvas.directRoomObj = value;
+                        canvas.thishib.loaderVar.close();
+                        
+                    } else {
+                       canvas.setRoomValues(value.roomtype.roomtypes_id,value.rooms_id,value);
+                       canvas.sendViaLocalConnection(canvas.rtmp_lc_name,"setRoomValues",[value.roomtype.roomtypes_id,value.rooms_id,value]);
+                    }
+                } else {
+                    new lz.labelerrorPopup(canvas,{errorlabelid:1286});
+                }
+            ]]>
+        </handler>   
+    </netRemoteCallHib>
+        
+    <netRemoteCallHib name="getLanguageByIdAndMax" funcname="languageservice.getLanguageByIdAndMax" >
+        <attribute name="start" value="0" type="number" />
+        <attribute name="step" value="100" type="number" />
+        <attribute name="max" value="1500" type="number" />
+        <netparam><method name="getValue">return parent.parent.userlang;</method></netparam> 
+        <netparam><method name="getValue">return parent.start;</method></netparam> 
+        <netparam><method name="getValue">return parent.step;</method></netparam> 
+        <handler name="ondata" args="value">
+            <![CDATA[
+            if($debug) Debug.write("hibRtmpConnection/userlang:[",parent.userlang,"]");
+                //if($debug) Debug.write("hibRtmpConnection/getLanguageByIdAndMax:[",value,"]");
+                setLabelObjectByHundred(this.start,value);
+                //The onResult-Handler will be called be the rtmpconnection
+                if (this.start <= max){
+                    this.start += this.step;
+                    if (canvas.thishib.loaderVar != null) {
+                       canvas.thishib.loaderVar.setProgress();
+                    }
+                    this.doCall();
+                } else {
+                	if($debug) Debug.write("loading lang complete");
+                    if (parent.initlanguageLoaded){
+                        if (canvas.thishib.loaderVar != null) {
+                            canvas.thishib.loaderVar.setProgress();
+                        }
+                        if($debug) Debug.write("getRoomTypes");
+                        parent.getRoomTypes.doCall();
+                    } else {
+                    	if($debug) Debug.write("getStates");
+                        parent.initlanguageLoaded=true;
+                        parent.getStates.doCall();
+                    }
+                }
+            ]]>
+        </handler>  
+    </netRemoteCallHib>
+        
+    <!--
+        There must be a temporary SIP-Account created at this moment
+     -->  
+    <netRemoteCallHib name="markSessionAsLogedIn" funcname="xmlcrm.markSessionAsLogedIn" >
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+                        
+            if (value == null) {
+                new lz.errorPopup(canvas,{error:"Missing User Object, set the Configuration value of the key 'default.rpc.userid' to a valid user Id that has at least one Organization assigned in the OpenMeetings Administrion Configuration Panel "});
+            }
+            
+            if ($debug) Debug.write("markSessionAsLogedIn1 ",value);
+             
+            hib.userobject = value;
+             
+            canvas.user_id = hib.userobject.user_id;
+            
+            if (value.organisation_users.length > 0){
+                hib.currentdomain = value.organisation_users[0].organisation.name;
+                hib.currentdomainObj = value.organisation_users[0].organisation;
+            } else {
+                new lz.errorPopup(canvas,{error:"Missing Organization in User Object, set the Configuration value of the key 'default.rpc.userid' to a valid user Id that has at least one Organization assigned in the OpenMeetings Administrion Configuration Panel "});
+            }
+            
+            //At this moment we have to check that the user does get a valid 
+            //SIP-Account, if the Applet is enabled and ready
+            
+            //=> We need to login the SIP Applet
+            if (sipIsEnabled()) {
+                if ($debug) Debug.write(" -- sipIsEnabled -- ");
+                
+                loginSipUser(hib.userobject.userSipData);
+                
+            } else {
+                
+                if ($debug) Debug.write("markSessionAsLogedIn2 ",canvas.sessionId);
+                if ($debug) Debug.write("markSessionAsLogedIn3 ",canvas.initroomid);
+                if ($debug) Debug.write("markSessionAsLogedIn4 ",canvas.isinitRoomDirect);
+                if ($debug) Debug.write("markSessionAsLogedIn5 ",canvas.remoteUserLogin);
+                if ($debug) Debug.write("markSessionAsLogedIn6 ",canvas.directUserLogin);
+                if ($debug) Debug.write("markSessionAsLogedIn7 ",canvas.directRoomId);
+                if ($debug) Debug.write("markSessionAsLogedIn8 ",canvas.secureRemoteUserLogin);
+                
+                if (canvas.secureRemoteUserLogin) {
+                    
+                    if ($debug) Debug.write("markSessionAsLogedIn == CALL ",canvas.secureHash);
+                 
+                    parent.secureLoginByRemote.doCall();
+                    
+                } else if (canvas.isinitRoomDirect){
+                    parent.getInvitationByHash.doCall();   
+                } else if (canvas.remoteUserLogin) {
+                    parent.loginUserByRemote.doCall();   
+                } else if (canvas.directUserLogin) {
+                    //show Nick Name or Password Protection Dialog
+                    canvas.initroomid = Number(canvas.directRoomId);
+                    parent.getRoomById.doCall();
+                }
+                
+            }
+        </handler>  
+    </netRemoteCallHib> 
+    
+    <netRemoteCallHib name="getStates" funcname="xmlcrm.getStates" dataobject="countrySet">
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+            if ($debug) Debug.write("getStates: ",value);
+            canvas.statesInitValues = value;
+            canvas.thishib.loaderVar.setProgress();
+            parent.getTimeZones.doCall();
+        </handler>  
+    </netRemoteCallHib>  
+    
+    <netRemoteCallHib name="getTimeZones" funcname="xmlcrm.getTimeZones" dataobject="timeZoneSet">
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+            if ($debug) Debug.write("getTimeZones: ",value);
+            canvas.thishib.loaderVar.setProgress();
+            parent.getGeneralOptions.doCall();
+        </handler>  
+    </netRemoteCallHib>
+    
+    <netRemoteCallHib name="getGeneralOptions" funcname="xmlcrm.getGeneralOptions" >
+        <handler name="ondata" args="value">
+            <![CDATA[
+                if (canvas.thishib.loaderVar != null) {
+                  canvas.thishib.loaderVar.setProgress();
+                }
+                if ($debug) Debug.write("getGeneralOptions: ", value.length, value);
+                if (value != null) {
+                	if (value.length > 0) {
+	                    //if ($debug) Debug.write("Give exclusive audio keycode is: ", value[0].conf_value);
+	                    canvas.setAttribute('GIVE_EXCLUSIVE_AUDIO_KEY', value[0].conf_value);
+                    }
+					if (value.length > 1) {
+	                    if ($debug) Debug.write("red5sip.enable is: ", value[1].conf_value);
+	                    canvas.setAttribute('RED5_SIP_ENABLE', value[1].conf_value);
+                    }
+                    if (value.length > 2) {
+	                    if ($debug) Debug.write("max_upload_size is: ", value[2].conf_value);
+	                    canvas.setAttribute('MAX_UPLOAD_SIZE', value[2].conf_value);
+                    }
+                } else {
+                   if ($debug) Debug.warn("xmlcrm.getGeneralOptions empty!");
+                }
+                parent.getUserSalutations.doCall();
+            ]]>
+        </handler>
+    </netRemoteCallHib>
+    
+    <netRemoteCallHib name="setCurrentUserOrganization" funcname="xmlcrm.setCurrentUserOrganization">
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return hib.currentdomainObj.organisation_id;</method></netparam>  
+        <handler name="ondata" args="value">
+            //Sessionmanagement.getInstance() 
+            //The onResult-Handler will be called be the rtmpconnection
+            if ($debug) Debug.write("setCurrentUserOrganization: ",value);
+        </handler>  
+    </netRemoteCallHib> 
+     
+    
+    <netRemoteCallHib name="getUserSalutations" funcname="userservice.getUserSalutations" >
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.parent.userlang; </method></netparam> 
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+            //Debug.write("getUserSalutations ",value);
+            canvas.salutationsInitValues = value;
+            //check for password reset
+            if (canvas.isResetUsername){
+                if (canvas.thishib.loaderVar != null) {
+                  canvas.thishib.loaderVar.close();
+                }
+                new lz.resetPassword(canvas.main_content._content.inner);
+            } else { 
+                if (canvas.thishib.loaderVar != null) {
+                   canvas.thishib.loaderVar.close();
+                }
+                //do not show loggin-PopUp for the test-Application
+                if (parent.testAppLoading){ 
+                    canvas.loadNextStepTestApp();
+                } else {
+                    
+                    if (canvas.isinitRoomDirect || canvas.remoteUserLogin 
+                                || canvas.directUserLogin || canvas.secureRemoteUserLogin){
+                        if (canvas.thishib.loaderVar != null) {
+                          canvas.thishib.loaderVar.setProgress();
+                        }
+                        if($debug) Debug.write("isinitRoomDirect or remoteUserLogin is true");
+                        parent.markSessionAsLogedIn.doCall();
+                    } else {
+                        if (canvas.thishib.loaderVar != null) {
+                          canvas.thishib.loaderVar.setProgress();
+                        }
+                
+                        //Check if user is auto-logged in by session
+                        var g = canvas.getUserData();
+                        if($debug) Debug.write("checkLoginData/g: ",g);
+                        var storedSession = g["storedSession"];
+                        if($debug) Debug.write("checkLoginData/save: ",storedSession);
+                        
+                        parent.loginByRemember.currentHashSession = storedSession;
+                        parent.loginByRemember.doCall();
+                
+                    }
+                    
+                }
+            }
+        </handler>  
+    </netRemoteCallHib>
+    
+    <netRemoteCallHib name="loginByRemember" funcname="xmlcrm.loginByRemember" >
+        <attribute name="currentHashSession" value="" type="string"/>
+        <attribute name="sipLoader" value="null"/>   
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.currentHashSession;</method></netparam> 
+        <handler name="ondata" args="value">
+            <![CDATA[
+               if ($debug) Debug.write("loginByRemember",value);
+               if (value != null){
+                  
+                    canvas.setAttribute('user_id',value.user_id);
+                    canvas.setAttribute('firstName',value.firstname);
+                    canvas.setAttribute('lastName',value.lastname);
+                    canvas.setAttribute('mail','');
+                    canvas.setAttribute('lastLogin','');
+                    canvas.setAttribute('official_code','');
+                    canvas.setAttribute('picture_uri','');
+                    canvas.setAttribute('language','');
+                    canvas.setAttribute('currentuser',value.login);
+                    if (value.omTimeZone != null) {
+                        canvas.setAttribute('jNameTimeZone',value.omTimeZone.jname);
+                        canvas.timeZoneId = value.omTimeZone.omtimezoneId;
+                    }
+                    
+                    if (value.forceTimeZoneCheck) {
+                        new lz.labelerrorPopup(canvas,{errorlabelid:1150});
+                    }
+                    
+                    if (value.level_id >= 2) {
+                        canvas.becomemoderator = true;
+                    } else {
+                        canvas.becomemoderator = false;
+                    }
+                    
+                    if (value.sessionData == null) {
+                        if ($debug) Debug.write("No Language Found to assign");
+                        new lz.checkLoginData(canvas.main_content._content.inner);
+                        return;
+                    }
+                    
+                    if ($debug) Debug.write("value.sessionData: ", value.sessionData);
+                    hib.userlang = isNaN(value.sessionData.language_id) ? 1 :  Number(value.sessionData.language_id);
+                    canvas.setAttribute('userlang', hib.userlang);
+                    canvas.setAttribute('language_id', hib.userlang);
+                    hib.userobject = value;
+                    
+                    var found = false;
+                    
+                    for (var i=0;i<value.organisation_users.length;i++) {
+                        if (value.organisation_users[i].organisation.organisation_id == value.sessionData.organization_id) {
+                            found = true;
+                            hib.currentdomain = value.organisation_users[i].organisation.name;
+                            hib.currentdomainObj = value.organisation_users[i].organisation;
+                            break;
+                        }
+                    }
+                   
+                    if (found) {
+                        hib.getLanguageByIdAndMax.start = 0;
+                        
+                        if (canvas.thishib.sip_enabled) {
+                            //Perform the Login to the SIP Applet
+                            if (sipIsEnabled()) {
+                                
+                                if ($debug) Debug.write(" -- sipIsEnabled -- ");
+                                
+                                this.sipLoader = new lz.sipLoader(canvas);
+                                loginSipUser(hib.userobject.userSipData,this);
+                                
+                            } else {
+                                
+                                new lz.confirmationSingle(canvas.main_content._content.inner,{
+                                           labelid:904,labeliderror:905,
+                                           refObj:this,showCheckBox:false});
+                                
+                            }
+                        } else {
+                            hib.getLanguageByIdAndMax.doCall();
+                            canvas.focusOnItem = null;
+                        }
+                    } else {
+                        if ($debug) Debug.write("No Organization Found to assign");
+                        new lz.checkLoginData(canvas.main_content._content.inner);
+                    }
+                  
+               } else {
+                   if ($debug) Debug.write("No RPC-Sesion Found to assign");
+                   new lz.checkLoginData(canvas.main_content._content.inner);
+               }
+            ]]>
+        </handler>
+        
+        <method name="sendConfirmation" args="yesno" >
+            this.sipLoader = new lz.sipLoader(canvas);
+            loginSipUser(hib.userobject.userSipData,this);
+        </method>
+        
+        <handler name="onSipSuccess">
+            this.sipLoader.destroy();
+            hib.getLanguageByIdAndMax.doCall();
+            canvas.focusOnItem = null;
+        </handler>
+        
+    </netRemoteCallHib>
+    
+    
+    <netRemoteCallHib name="getRoomTypes" funcname="conferenceservice.getRoomTypes" >
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+            //Debug.write("getRoomTypes ",value);
+            canvas.roomTypesInitValues = value;
+            canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "getRoomTypes", [value]);
+            canvas.thishib.loaderVar.setProgress();
+            parent.setUsernameAndSession.doCall();
+        </handler>  
+    </netRemoteCallHib>      
+    
+    <netRemoteCallHib name="getNavi" funcname="xmlcrm.getNavi" dataobject="myresultnavi">      
+        <netparam><method name="getValue"> return canvas.sessionId; </method></netparam> 
+        <netparam><method name="getValue"> return parent.parent.userlang; </method></netparam> 
+        <netparam><method name="getValue"> return hib.currentdomainObj.organisation_id;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("getNavi: ",value);
+                canvas.thishib.loaderVar.close();
+                //The Main-Navi will automatically init the Dashboard 
+                new lz.mainNavi(canvas._mainbgcontentNavi,{name:'navi',naviObject:value});
+                new lz.helpAndBugs(canvas._mainbgcontentNavi,{name:'help'});
+                
+                if (canvas.landingZone == "dashboard") {
+                    
+                    canvas.destroyExitButton = false;
+                    
+                    var g = canvas.getUserData();
+                    
+                    if ($debug) Debug.write("doShowUpdateProfileMessage",g["doShowUpdateProfileMessage"]);
+                    
+                    if (g["doShowUpdateProfileMessage"]) {
+                        //Do not show message
+                    } else {
+                        new lz.rememberMessage(canvas.main_content._content.inner,{labelid:1298,labeliderror:1297,refObj:this});
+                    }
+                    
+                }
+            ]]>
+        </handler>
+        
+        <method name="sendConfirmation" args="askagain" >
+            
+            //Debug.write("clear yesno,askagain: ",yesno,askagain);
+            //can only be true in this case
+        
+             var g = canvas.getUserData();
+             g["doShowUpdateProfileMessage"]=askagain;
+             canvas.setUserData(g);
+        </method>     
+    </netRemoteCallHib>
+    
+        <netRemoteCallHib name="setId" funcname="setId">
+            <handler name="ondata" args="value">
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("################ setId: ",value);
+                canvas.setAttribute('streamid',value);   
+            </handler>  
+        </netRemoteCallHib> 
+        
+        <netRemoteCallHib name="setUsernameAndSession" funcname="setUsernameAndSession" remotecontext="$once{ canvas.thishib }" >   
+            <netparam><method name="getValue"> return canvas.sessionId; </method></netparam> 
+            <netparam><method name="getValue">return canvas.user_id;</method></netparam>
+            <netparam><method name="getValue">return canvas.currentuser;</method></netparam>
+            <netparam><method name="getValue">return canvas.firstName;</method></netparam>
+            <netparam><method name="getValue">return canvas.lastName;</method></netparam>      
+            <handler name="ondata" args="value">
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("setUsernameAndSession: ",canvas.user_id,value);
+                if (canvas.thishib.loaderVar != null) {
+                  canvas.thishib.loaderVar.setProgress();
+                }
+                parent.getNavi.doCall();                    
+            </handler>  
+        </netRemoteCallHib>        
+        
+        <netRemoteCallHib name="testMethod" funcname="testMethod">
+            <handler name="ondata" args="value">
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("testMethod ",value);                   
+            </handler>  
+        </netRemoteCallHib>
+
+        <!--- 
+            this remotecall is quite important as only at this point you can decide which
+            position a newly connected user has => this comment is deprecated! swagner 10.08.2009
+            
+            currentuserpos => is no more important
+        
+        <netRemoteCallHib name="setAudienceModus" funcname="setAudienceModus">
+            <netparam><method name="getValue">return canvas.currentusercolor;</method></netparam>        
+            <netparam><method name="getValue">return canvas.currentuserpos;</method></netparam>      
+            <handler name="ondata" args="value">
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("setAudienceModus: ",value);                   
+            </handler>  
+        </netRemoteCallHib>
+         
+          Notification of new User
+        <netRemoteCallHib name="setAudienceModusClient" funcname="setAudienceModusClient">
+            <handler name="ondata" args="value">
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("setAudienceModusClient: ",value);    
+                canvas._videocontainer.addClientItem(value.connectedSince,value.isMod,value.streamid,value.room_id,'',value.formatedDate,value.userpos,value.usercolor,value); 
+                canvas.setAttribute('numberofpartners',canvas.getAttribute('numberofpartners')+1);                              
+            </handler>  
+        </netRemoteCallHib>  
+         -->   
+         
+        <!--- Notification of new User --> 
+        <netRemoteCallHib name="addNewUser" funcname="addNewUser">
+            <handler name="ondata" args="value">
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("addNewUser: ",value);    
+                canvas._videocontainer.addClientItem(value.connectedSince,value.isMod,value.streamid,value.room_id,'',value.formatedDate,value.userpos,value.usercolor,value);
+                canvas.setAttribute('numberofpartners',canvas.numberofpartners+1);
+            </handler>  
+        </netRemoteCallHib>    
+        
+        <netRemoteCallHib name="getCurrentModeratorList" funcname="getCurrentModeratorList">
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    if ($debug) Debug.write("############ getCurrentModeratorList: ",value);
+                    
+                    canvas.analyzeModerationList(value);
+                    
+                    canvas.currentModeratorList = value;
+                    //Update Moderation Flag
+                    canvas.updateModerationFlag();
+                    
+                    var messageAlreadyThrown = false;
+                    
+                    //if ($debug) Debug.write("throw event to drawarea: ",canvas.moderatorStreamID,canvas.ismoderator);
+                    
+                    if (canvas.ismoderator){
+                        if (this.parent.modus == "conference"){
+                            if ($debug) Debug.write("############## showDevicePopUp 3");
+                            canvas._videocontainer._videoviewcontent.showDevicePopUp(false);
+                        }
+                    } else if (value==null){
+                        //I think we never can run into this! value is always != null, this is from a previous implementation
+                        if ($debug) Debug.write("############   value IS NULL: ",this.parent.modus);
+                        //no moderator availible
+                        //check if this is conferenceViewmodus
+                        if (this.parent.modus == "conference"){
+                            if ($debug) Debug.write("############## showDevicePopUp 4");
+                            canvas._videocontainer._videoviewcontent.showDevicePopUp(false);
+                        } else {
+                            // in audienceView modus you get no notification
+                            // cause you are not able to register your stream
+                            // as non moderator
+                        }       
+                    } else {
+                        if (this.parent.modus == "conference"){
+                            if ($debug) Debug.write("############## showDevicePopUp 1a");
+                            canvas._videocontainer._videoviewcontent.showDevicePopUp(false);
+                        }
+                    }
+                    canvas._drawarea.onopenWhiteBoard.sendEvent();
+                    
+                    if ($debug) Debug.write("roomType_id ",canvas.currentRoomObject);
+                    if ($debug) Debug.write("roomType_id ",canvas.currentRoomObject.roomtype.roomtypes_id);
+                    
+                    if (canvas.currentRoomObject.roomtype.roomtypes_id!=3) {
+                        //We do not show this warning when the roomtype is 3 (restricted)
+                        if (canvas.currentRoomObj.isModeratedRoom) {
+                            if (value.length == 0 && !messageAlreadyThrown){
+                                new lz.labelerrorPopup(canvas,{errorlabelid:641});
+                            }
+                        } else {
+                            if (value.length == 0 && !messageAlreadyThrown){
+                                new lz.errorModeratorPopup(canvas,{error:canvas.getLabelName(498)});
+                            }
+                        }
+                    }
+                    //@deprecated call to old screensharing implementation
+                    //parent.checkSharingSession.doCall();
+                ]]>
+            </handler>
+        </netRemoteCallHib>
+        
+        <netRemoteCallHib name="newStream" funcname="newStream">
+            <handler name="ondata" args="value">
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("newStream: ",value);
+                if (value.isScreenClient) {
+                    return;
+                }
+                canvas._videocontainer.startStream(value.publicSID,value.broadCastID,value.firstname,value.lastname,value.interviewPodId,value.VWidth,value.VHeight); 
+            </handler>   
+        </netRemoteCallHib> 
+           
+        <netRemoteCallHib name="closeStream" funcname="closeStream">
+            <handler name="ondata" args="value">
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("**** closeStream: ",value);
+                if (value.isScreenClient) {
+                    if ($debug) Debug.write(" onResult stopRed5ScreenSharing : ",value.streamPublishName); 
+                    canvas.currentBaseConferenceRoom._screenSharingAdapter.closeScreenSharing(value);
+                } else {
+                    //free the VideoContainer
+                    //canvas._videocontainer.closeStreamClient(value.publicSID);
+                    canvas.sendViaLocalConnection(canvas.vid_lc_name, "closeStreamClient", [value.publicSID]);
+                    canvas.setAttribute('numberofpartners',canvas.numberofpartners-1);
+                }
+                //TODO:check first current tab
+            </handler>   
+        </netRemoteCallHib>  
+        
+        <!---
+            Event is invoked if a red5 stream sharing is closed
+         -->
+        <netRemoteCallHib name="stopRed5ScreenSharing" funcname="stopRed5ScreenSharing">
+            <handler name="ondata" args="value">
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("**** closeStream: ",value);
+                if ($debug) Debug.write(" onResult stopRed5ScreenSharing : ",value.streamPublishName); 
+                canvas.currentBaseConferenceRoom._screenSharingAdapter.closeScreenSharing(value);
+            </handler>   
+        </netRemoteCallHib> 
+             
+        <netRemoteCallHib name="clientregisterRoom" funcname="clientregisterRoom">
+            <handler name="ondata" args="value">
+                //The onResult-Handler will be called be the rtmpconnection
+                ////Debug.write("clientregisterRoom: ",value);
+                //parent.getClientListScope.doCall();  
+            </handler>   
+        </netRemoteCallHib>   
+                      
+        <netRemoteCallHib name="roomDisconnect" funcname="roomDisconnect">
+            <handler name="ondata" args="value">
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("roomDisconnect: ",value);
+                if (value.isScreenClient) {
+                    return;
+                }
+                if (canvas.currentActivityList != null) {
+                    canvas.currentActivityList.addMessageRequest(value, canvas.getLabelName(1367), new Date().getTime());
+                }
+                if (canvas._overallchatcontent!=null){
+                    var parentObj = canvas._overallchatcontent.parent.parent.parent._chatparticipants;
+                    parentObj.removeItemById(value.user_id);
+                }
+                if (canvas._videocontainer!=null){
+                    canvas._videocontainer.disconnectclient(value.publicSID); 
+                    if (canvas.currentModApply!=null) canvas.currentModApply.rejectUser(value);
+                    //parent.getClientListScope.doCall();  
+                    if (value.isRecording) {
+                        canvas._mymod.recordingUser = null;
+                        canvas._mymod.setMessage();                 
+                    }
+                }
+            </handler>   
+        </netRemoteCallHib>
+        
+        <netRemoteCallHib name="stopRecordingMessage" funcname="stopRecordingMessage">
+            <handler name="ondata" args="value">
+                //The onResult-Handler will be called be the rtmpconnection
+                canvas._mymod.recordingUser = null;
+                canvas._mymod.setMessage();                 
+            </handler>   
+        </netRemoteCallHib>
+        
+        <netRemoteCallHib name="setSyncFlag" funcname="setSyncFlag" >      
+            <handler name="ondata" args="value">
+                if ($debug) Debug.write("setSyncFlag: ",value);
+            </handler>
+        </netRemoteCallHib>   
+             
+        <netRemoteCallHib name="logicalRoomLeaveDis" funcname="logicalRoomLeaveDis" >      
+            <handler name="ondata" args="value">
+                if ($debug) Debug.write("logicalRoomLeaveDis: ",value);
+                canvas._videocontainer.disconnectclient(value.broadCastID); 
+                //remove that client from sync list of wmlFileLoader/image if present
+                if (canvas.currentModApply!=null) canvas.currentModApply.rejectUser(value);
+                if (value.isRecording) {
+                    canvas._mymod.recordingUser = null;
+                    canvas._mymod.setMessage();                 
+                }               
+            </handler>
+        </netRemoteCallHib>             
+  
+        <netRemoteCallHib name="sendVars" funcname="sendVars" showLoading="false">
+            <netparam name="vars"><method name="getValue">return canvas.objWhiteboard;</method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                    if ($debug) Debug.write("sendVars : ",value);
+                
+                ]]>
+            </handler>   
+        </netRemoteCallHib>    
+        
+        <method name="setUserStatus" args="ctx,user,o">
+            <![CDATA[
+        if (!o || !user) return;
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) {
+                    Debug.write("setUserStatus: ", user);
+                    Debug.write("setUserStatus: ", o.param);
+                }
+                var aObj = o.param[3];
+                var usPoint = null;
+                if ($debug) Debug.write("drawObj: ", aObj[0]);
+                switch(aObj[0]) {
+                    case 'line':
+                    case 'uline':
+                        usPoint = {x: aObj[aObj.length - 5] + aObj[6], y: aObj[aObj.length - 4] + aObj[7]};
+                        break;
+                    case 'letter':
+                    case 'rectangle':
+                    case 'ellipse':
+                    case 'clipart':
+                        usPoint = {x: aObj[aObj.length - 3] + aObj[aObj.length - 5], y: aObj[aObj.length - 2] + aObj[aObj.length - 4]};
+                        break;
+                    case 'paint':
+                        var points = aObj[1];
+                        //points are empty on 'paint' move
+                        usPoint = {
+                            x: aObj[aObj.length - 5] + (points.length ? points[points.length - 1][3] : aObj[aObj.length - 3])
+                            , y: aObj[aObj.length - 4] + (points.length ? points[points.length - 1][4] : aObj[aObj.length - 2])};
+                        break;
+                    case 'drawarrow':
+                        usPoint = {x: aObj[aObj.length - 5] + aObj[9], y: aObj[aObj.length - 4] + aObj[10]};
+                        break;
+                    case 'clipart':
+                        break;
+                }
+                if (usPoint) {
+                    var us = new lz.userStatus(ctx, {
+                        width:100
+                        , x: usPoint.x
+                        , y: usPoint.y - 25 //little above
+                        , queueable: false
+                        , statusText: user.firstname + " " + user.lastname
+                        });
+                    if ($debug) Debug.write("us: ", us, "; usPoint: ", usPoint);
+                }
+            ]]>
+        </method>
+
+        <netRemoteCallHib name="sendVarsToWhiteboard" funcname="sendVarsToWhiteboard">
+            <handler name="ondata" args="value">
+                <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                    if ($debug) Debug.write("sendVarsToWhiteboard : ",value);
+            parent.setUserStatus(canvas._drawarea, value[0], value[1]);
+            canvas._drawarea.sendWatchObject(canvas._drawarea,value[1][2],value[1][3],false);
+                ]]>
+            </handler>   
+        </netRemoteCallHib>  
+        
+         <netRemoteCallHib name="sendVarsToWhiteboardById" funcname="sendVarsToWhiteboardById">
+            <handler name="ondata" args="value">
+                <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+            if ($debug) Debug.write("sendVarsToWhiteboardById : ",value);
+            parent.setUserStatus(canvas._drawarea, value[0], value[1]);
+            canvas._drawarea.parent.parent.parent.sendWatchObjectByWhiteboard(value[1]);
+                ]]>
+            </handler>   
+        </netRemoteCallHib> 
+        
+        <netRemoteCallHib name="loadWmlToWhiteboardById" funcname="loadWmlToWhiteboardById">
+            <handler name="ondata" args="value">
+                <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                    if ($debug) Debug.write("sendVarsToWhiteboardById : ",value);
+                    canvas._drawarea.parent.parent.parent.loadWmlToWhiteboardById(value);
+                ]]>
+            </handler>   
+        </netRemoteCallHib>
+        
+        <!--
+            Adds this User to the List of current Moderators
+         -->
+        <netRemoteCallHib name="addModerator" funcname="addModerator">
+            <attribute name="publicSIDOfNewModerator" value="0" type="string" />
+            <netparam name="vars"><method name="getValue">return parent.publicSIDOfNewModerator;</method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                //Debug.write(" onResult setModerator : ",value);                   
+                ]]>
+            </handler>   
+        </netRemoteCallHib>
+        
+        <netRemoteCallHib name="removeModerator" funcname="removeModerator">
+            <attribute name="publicSIDOfNewModerator" value="0" type="string" />
+            <netparam name="vars"><method name="getValue">return parent.publicSIDOfNewModerator;</method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                //Debug.write(" onResult setModerator : ",value);                   
+                ]]>
+            </handler>   
+        </netRemoteCallHib>
+        
+        <!--
+        public synchronized Long setBroadCastingFlag(String publicSID, boolean value) 
+         -->
+        <netRemoteCallHib name="setBroadCastingFlag" funcname="setBroadCastingFlag">
+            <attribute name="publicSIDOfNewModerator" value="0" type="string" />
+            <attribute name="isAllowedToBroadCastAV" value="false" type="boolean" />
+            <attribute name="avsettings" value="av" type="string" />
+            <attribute name="interviewPodId" value="0" type="number" />
+            <netparam><method name="getValue">return parent.publicSIDOfNewModerator;</method></netparam>
+            <netparam><method name="getValue">return parent.isAllowedToBroadCastAV;</method></netparam>
+            <netparam><method name="getValue">return parent.interviewPodId;</method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                //Debug.write(" onResult setModerator : ",value);                   
+                ]]>
+            </handler>   
+        </netRemoteCallHib>
+        
+        <netRemoteCallHib name="setNewBroadCastingFlag" funcname="setNewBroadCastingFlag">
+            <netparam><method name="getValue">return null;</method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    //The onResult-Handler will be called be the rtmpconnection
+                    //if ($debug) Debug.write(" onResult setNewBroadCastingFlag : ",value);   
+                    if (canvas.publicSID == value.publicSID) {
+                        if ($debug) Debug.write("Its about You ",value);
+                        if (value.isBroadcasting) {
+                            
+                            if (canvas.thishib.modus == "interview") {
+                               canvas._drawarea.newInterviewStarting(value);
+                            } else {
+                            	canvas._videocontainer._videoviewcontent.showDevicePopUp(false);
+                            }
+                            
+                            canvas.setAttribute("isBroadCasting",true);
+                        } else {
+                            canvas.setAttribute("isBroadCasting",false);
+                        }
+                    } 
+                    canvas.setAttribute("lastBroadCastingUser",value);
+                ]]>
+            </handler>   
+        </netRemoteCallHib>
+
+        <netRemoteCallHib name="giveExclusiveAudio" funcname="giveExclusiveAudio">
+            <attribute name="publicSID" value="0" type="string" />
+            <netparam><method name="getValue">return parent.publicSID;</method></netparam>
+            <method name="setExclusiveAudio" args="tPublicSID">
+                this.publicSID = tPublicSID;
+                this.doCall();
+            </method>
+        </netRemoteCallHib>
+
+        <netRemoteCallHib name="receiveExclusiveAudioFlag" funcname="receiveExclusiveAudioFlag">
+            <netparam><method name="getValue">return null;</method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    //The onResult-Handler will be called be the rtmpconnection
+                    canvas._videocontainer.receiveExclusiveAudioFlag(value.publicSID)
+                ]]>
+            </handler>
+        </netRemoteCallHib>
+
+        <netRemoteCallHib name="switchMicMuted" funcname="switchMicMuted">
+            <attribute name="publicSID" value="" type="string" />
+            <attribute name="mute" value="false" type="boolean" />
+            <event name="onMute" />
+            <method name="setMute" args="tPublicSID,tMute">
+                this.publicSID = tPublicSID;
+                this.mute = tMute;
+                var obj = new Array();
+                obj["mute"] = tMute;
+                obj["publicSID"] = tPublicSID;
+                this.onMute.sendEvent(obj);
+                this.doCall();
+            </method>
+            <netparam><method name="getValue">return parent.publicSID;</method></netparam>
+            <netparam><method name="getValue">return parent.mute;</method></netparam>
+        </netRemoteCallHib>
+
+        <!--
+        <netRemoteCallHib name="receiveMicMuteSwitched" funcname="receiveMicMuteSwitched">
+            <netparam><method name="getValue">return null;</method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write(" onResult receiveMicMuteSwitched : ", value);
+                var obj = canvas._videocontainer.getVideoObjectByPublicSID(value.publicSID);
+                if (canvas.publicSID == value.publicSID) {
+                    obj.muteMicrophone(value.micMuted);
+                } else {
+                    obj.setMicMuted(value.micMuted);
+                }
+                ]]>
+            </handler>
+        </netRemoteCallHib> 
+         -->
+        
+        <netRemoteCallHib name="newRed5ScreenCursor" funcname="newRed5ScreenCursor">
+            <netparam><method name="getValue">return null;</method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    //The onResult-Handler will be called be the rtmpconnection
+                    //if ($debug) Debug.write(" onResult newRed5ScreenCursor : ",value);  
+                    canvas.currentBaseConferenceRoom._screenSharingAdapter.updateCursorScreenSharing(value);
+                ]]>
+            </handler>   
+        </netRemoteCallHib>
+        
+        
+        <!--
+            Red5 Screen Sharing
+            newRed5ScreenSharing
+         -->
+        <netRemoteCallHib name="newRed5ScreenSharing" funcname="newRed5ScreenSharing">
+            <netparam><method name="getValue">return null;</method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                
+                    //The onResult-Handler will be called be the rtmpconnection
+                    //if ($debug) Debug.write(" onResult newRed5ScreenSharing 1 : ",value);  
+                    //if ($debug) Debug.write(" onResult newRed5ScreenSharing 2 : ",value.streamid); 
+                    //if ($debug) Debug.write(" onResult newRed5ScreenSharing 3 : ",canvas.streamid); 
+                    if ($debug) Debug.write(" onResult newRed5ScreenSharing 4 : ",value.streamPublishName); 
+                    if ($debug) Debug.write(" onResult newRed5ScreenSharing 5 : ",canvas.publicSID); 
+                    
+                    canvas.currentBaseConferenceRoom._screenSharingAdapter.newScreenSharing(value);
+                ]]>
+            </handler>   
+        </netRemoteCallHib>
+        
+        <netRemoteCallHib name="checkRed5ScreenSharing" funcname="checkRed5ScreenSharing">
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    //The onResult-Handler will be called be the rtmpconnection
+                    if ($debug) Debug.write(" onResult checkRed5ScreenSharing : ",value);  
+                    if (value != null) {
+                    	canvas.currentBaseConferenceRoom._screenSharingAdapter.newScreenSharings(value);
+                    } else {
+                        if ($debug) Debug.warn("Self Screen Sharing");
+                    }
+                ]]>
+            </handler>   
+        </netRemoteCallHib>
+        
+        
+        <!--
+        public synchronized Long applyForModeration(String publicSID)
+         -->
+        <netRemoteCallHib name="applyForModeration" funcname="applyForModeration"
+                       remotecontext="$once{ canvas.thishib }">
+            <netparam><method name="getValue">return canvas.publicSID;</method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    //The onResult-Handler will be called be the rtmpconnection
+                    if ($debug) Debug.write("applyForModeration : ",value);
+                    if (value == 1) {
+                        //Do add direct
+                        parent.addModerator.publicSIDOfNewModerator = canvas.publicSID;
+                        parent.addModerator.doCall();
+                    } else if (value == 2) {
+                        //Ask the Moderator
+                        var tDate = new Date();
+                        parent.sendMessageWithClient.sendMessage("applyForModeration",tDate.getTime());
+                    } else if (value == 3) {
+                        new lz.labelerrorPopup(canvas,{errorlabelid:696});
+                    }
+                ]]>
+            </handler>
+        </netRemoteCallHib>
+        
+        <netRemoteCallHib name="setCanDraw" funcname="whiteboardservice.setCanDraw"
+                       remotecontext="$once{ canvas.thishib }">
+            <attribute name="publicSID" value="" type="string" />
+            <attribute name="canDraw" value="true" type="boolean" />
+            <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+            <netparam><method name="getValue">return parent.publicSID;</method></netparam>
+            <netparam><method name="getValue">return parent.canDraw;</method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    //The onResult-Handler will be called be the rtmpconnection
+                    if ($debug) Debug.write("setCanDraw : ",value);
+                ]]>
+            </handler>   
+        </netRemoteCallHib>
+        
+        <netRemoteCallHib name="setCanShare" funcname="whiteboardservice.setCanShare"
+                       remotecontext="$once{ canvas.thishib }">
+            <attribute name="publicSID" value="" type="string" />
+            <attribute name="canShare" value="true" type="boolean" />
+            <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+            <netparam><method name="getValue">return parent.publicSID;</method></netparam>
+            <netparam><method name="getValue">return parent.canShare;</method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    //The onResult-Handler will be called be the rtmpconnection
+                    if ($debug) Debug.write("setCanShare : ",value);
+                ]]>
+            </handler>   
+        </netRemoteCallHib>
+        
+        <netRemoteCallHib name="setCanRemote" funcname="whiteboardservice.setCanRemote"
+                       remotecontext="$once{ canvas.thishib }">
+            <attribute name="publicSID" value="" type="string" />
+            <attribute name="canRemote" value="true" type="boolean" />
+            <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+            <netparam><method name="getValue">return parent.publicSID;</method></netparam>
+            <netparam><method name="getValue">return parent.canRemote;</method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    //The onResult-Handler will be called be the rtmpconnection
+                    if ($debug) Debug.write("setCanRemote : ",value);
+                ]]>
+            </handler>   
+        </netRemoteCallHib>
+        
+        <netRemoteCallHib name="setNewModeratorByList" funcname="setNewModeratorByList">
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    if ($debug) Debug.write("setNewModeratorByList ",value);
+                    
+                    canvas.analyzeModerationList(value);
+                    
+                    //The onResult-Handler will be called be the rtmpconnection
+                    canvas.currentModeratorList = value;
+                    //Update Moderation Flag
+                    canvas.updateModerationFlag();
+                ]]>
+            </handler>   
+        </netRemoteCallHib> 
+        
+        <netRemoteCallHib name="sendMessage" funcname="sendMessage">
+            <netparam name="vars"><method name="getValue">return canvas.objMessage;</method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                //Debug.write("getValue : ",value);
+                
+                ]]>
+            </handler>   
+        </netRemoteCallHib> 
+        
+        <netRemoteCallHib name="sendMessageAll" funcname="sendMessageAll">
+            <netparam name="vars"><method name="getValue">return canvas.objMessage;</method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                //Debug.write("getValue : ",value);
+                ]]>
+            </handler>   
+        </netRemoteCallHib> 
+        
+        <netRemoteCallHib name="sendVarsToMessage" funcname="sendVarsToMessage">
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    //The onResult-Handler will be called be the rtmpconnection
+                    //Debug.write("sendVarsToMessage : ",value);
+                    if (value[0]=='audioActivity'){
+                        //canvas.currentModApply
+                        //if ($debug) Debug.write("audioActivity Client ",value[1],value[2]);
+                        canvas._videocontainer.setSpeakingByPos(value[2],value[1]);
+                    } else if (value[0]=='chat'){
+                        // Not Used
+                        //Debug.warn("Not Used");
+                        canvas.addChatHistory(value);
+                    } else if (value[0]=='activateWhiteboard'){
+                        // Not Used
+                        //Debug.warn("Not Used");
+                        canvas._drawarea.parent.parent.parent.activateWhiteboard(value);
+                    } else if (value[0]=='newWhiteboard'){
+                        // Not Used
+                        //Debug.warn("Not Used");
+                        canvas._drawarea.parent.parent.parent.newWhiteboard(value);
+                    } else if (value[0]=='removeWindow'){
+                        // Not Used
+                        //Debug.warn("Not Used");
+                        canvas._drawarea.parent.parent.parent.removeWindow(value);
+                    } else if(value[0]=='fileslist'){
+                        canvas.currentImagesListdraw.parent.onvisible.sendEvent(true);
+                    } else if(value[0]=='initBrowser'){
+                        canvas.startBrowser(value);
+                    } else if(value[0]=='newBrowserURL'){
+                        canvas.startBrowser(value);
+                    } else if(value[0]=='closeBrowserURL'){
+                        canvas.closeBrowser(value);
+                    } else if(value[0]=='clearOverallChatHistory'){
+                        canvas._overallchatcontent.clear();
+                    }
+                    
+                ]]>
+            </handler>   
+        </netRemoteCallHib>   
+        <netRemoteCallHib name="sendVarsModeratorGeneral" funcname="sendVarsModeratorGeneral">
+            <netparam name="vars"><method name="getValue">return canvas.VarsModeratorGeneral;</method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                //Debug.write("sendVarsModeratorGeneral : ",value);
+                
+                ]]>
+            </handler>   
+        </netRemoteCallHib>  
+        
+        <netRemoteCallHib name="sendMessageWithClient" funcname="sendMessageWithClient" 
+                          remotecontext="$once{ canvas.thishib }" >  
+            
+            <attribute name="messageObj" value="null" />
+            <method name="sendMessage" args="typeName,messageObject">
+                this.messageObj = new Object();
+                this.messageObj[0] = typeName;
+                this.messageObj[1] = messageObject;
+                this.doCall();
+            </method>
+            
+            <method name="sendAdvMessage" args="typeName,messageObject,tStamp">
+                this.messageObj = new Object();
+                this.messageObj[0] = typeName;
+                this.messageObj[1] = messageObject;
+                this.messageObj[2] = tStamp;
+                this.doCall();
+            </method>
+            
+            <netparam name="vars"><method name="getValue">return parent.messageObj;</method></netparam>
+            <handler name="ondata" args="value">
+                //The onResult-Handler will be called be the rtmpconnection
+                //Debug.write("sendMessageWithClient : ",value);
+            </handler>
+        </netRemoteCallHib>
+          
+        <netRemoteCallHib name="sendVarsToMessageWithClient" funcname="sendVarsToMessageWithClient" 
+                          remotecontext="$once{ canvas.thishib }" >  
+            <netparam name="vars"><method name="getValue">return parent.parent.applymessage;</method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("sendVarsToMessageWithClient : ",value,value.message,value.message[0]);
+                if (value[0]=='kick' || value.message[0]=='kick'){
+                    //canvas.currentModApply
+                    parent.showKickMessage = true;
+                    parent.disconnect();
+                    
+                } else if (value.message[0]=='copiedText'){
+                    //canvas.currentModApply
+                    
+                    if ($debug) Debug.info("copiedText :: ",value.message[1]);
+                    //System.setClipboard(value.message[1]);
+                    //lz.Browser.setClipboard(value.message[1]);
+                    //LzBrowserKernel.setClipboard (value.message[1]);
+                    
+                    //import flash.System;
+                    //flash.System.setClipboard(value.message[1]);
+                    
+                    new lz.copiedTextPopup(canvas,{
+                                       error:value.message[1]
+                                    });
+                    
+                } else if (value.message[0]=='applyforMod'){
+                    //canvas.currentModApply
+                    if (canvas.streamid!=value.client.streamid) {
+                        new lz.responseForModeration(canvas.main_content._content.inner,{
+                                                                userobject:value.client,
+                                                                clientId:value.client.streamid
+                                                            });
+                    }
+                } else if (value.message[0]=='applyModAnswer'){
+                    canvas.currentModApply.setUserAnswer(value);
+                } else if (value.message[0]=='chat'){
+                    if (canvas._chatcontent) canvas._chatcontent.addChatHistory(value.message,value.client);
+                    if (canvas._chatcontentRPC) canvas._chatcontentRPC.addChatHistory(value.message,value.client);
+                } else if (value.message[0]=='avsettings'){
+                    canvas._videocontainer.setAVSettingsToClient(value.client);
+                } else if (value.message[0]=='whiteboard'){
+                    if (value.message[1]=='wmlloadcomplete'){
+                        canvas._drawarea.sendCompleteWmlLoadedRClient(value.client);
+                    } else if (value.message[1]=='wmlsynccomplete'){
+                        canvas._drawarea.sendCompleteWmlSync(value.client);
+                    } else if (value.message[1]=='imageloadcomplete'){
+                        canvas._drawarea.sendCompleteImageLoadedRClient(value.client);
+                    } else if (value.message[1]=='imagesynccomplete'){
+                        canvas._drawarea.sendCompleteImageSync(value.client);
+                    } else if (value.message[1]=='imageloaderror'){
+                        canvas._drawarea.sendCompleteImageLoadedRClient(value.client);
+                    } else if (value.message[1]=='imageloadtimeout'){
+                        canvas._drawarea.sendCompleteImageLoadedRClient(value.client);
+                    } else if (value.message[1]=='swfloadcomplete'){
+                        canvas._drawarea.sendCompleteSWFLoadedRClient(value.client);
+                    } else if (value.message[1]=='swfsynccomplete'){
+                        canvas._drawarea.sendCompleteSWFSync(value.client);
+                    } else if (value.message[1]=='swfloaderror'){
+                        canvas._drawarea.sendCompleteSWFLoadedRClient(value.client);
+                    } else if (value.message[1]=='swfloadtimeout'){
+                        canvas._drawarea.sendCompleteSWFLoadedRClient(value.client);
+                    } else if (value.message[1]=='inituser'){
+                        
+                        //this message is deprecated and can be removed!
+                        //swagner 12.06.2008
+                        //canvas._drawarea.sendCompleteImageSync(value.client);
+                        if ($debug) Debug.write("inituser loadwmlObjectToStage: ",value.message[2]);
+                        if (!canvas.ismoderator) canvas._drawarea.loadwmlObjectToStage(value.message[2],"","","",true,true);
+                    } else if (value.message[1]=='initgetVars'){
+                        //canvas._drawarea.sendCompleteImageSync(value.client);
+                        //Debug.write("initgetVars sendVarsToMessageWithClient: ",value.message[2]);
+                        canvas._drawarea.sendWatchObject(value.message[1],value.message[2],false);
+                    } else if (value.message[1]=='syncinitLoader'){
+                        //canvas._drawarea.sendCompleteImageSync(value.client);
+                        //Debug.write("syncinitLoader sendVarsToMessageWithClient: ",value.message[2]);
+                        if (value.client.streamid!=canvas.streamid) canvas._drawarea.remoteSyncLoader();
+                    } else if (value.message[1][0]=='isSnapToGrid'){
+                        canvas._drawarea.setAttribute('isSnapToGrid', value.message[1][1]);
+                        //Debug.write("syncinitLoader sendVarsToMessageWithClient: ",value.message[2]);
+                        //if (value.client.streamid!=canvas.streamid) canvas._drawarea.remoteSyncLoader();
+                    }
+                } else if (value.message[0]=='updateMuteStatus'){
+                    canvas.setMuteStatus(value.message[1]);
+                } else if (value.message[0]=='updateDrawStatus'){
+                    canvas.setDrawAllowStatus(value.message[1]);
+                    //Notify all Listeners for change of the item
+                    canvas.setAttribute("drawAllowStatus",value.message[1]);
+                } else if (value.message[0]=='updateGiveAudioStatus') {
+                    canvas.setExclusiveAudioAllowStatus(value.message[1]);
+                    canvas.setAttribute("exclusiveAudioAllowStatus",value.message[1]);                    
+                } else if (value.message[0]=='applyForModeration'){
+                    if ($debug) Debug.write("Somebody wants the Moderation ",value.client);
+                    canvas.currentActivityList.addModerationRequest(value.client,value.message[1]);
+                } else if (value.message[0]=='applyForScreen'){
+                   if ($debug) Debug.write("Somebody wants to share/record Screen ",value.client);
+                    canvas.currentActivityList.addScreenRequest(value.client,value.message[1]);
+                } else if (value.message[0]=='applyForRemote'){
+                    if ($debug) Debug.write("Somebody wants to remote control screen ",value.client);
+                    canvas.currentActivityList.addRemoteRequest(value.client,value.message[1]);
+                } else if (value.message[0]=='applyForWhiteboard'){
+                    if ($debug) Debug.write("Somebody wants to draw on Whiteboard ",value.client);
+                    canvas.currentActivityList.addWhiteboardRequest(value.client,value.message[1]);
+                } else if (value.message[0]=='applyForA'){
+                    if ($debug) Debug.write("Somebody wants to share A ",value.client);
+                    canvas.currentActivityList.addAudioRequest(value.client,value.message[1]);
+                } else if (value.message[0]=='applyForAV'){
+                    if ($debug) Debug.write("Somebody wants to share AV ",value.client);
+                    canvas.currentActivityList.addAudioAndVideoRequest(value.client,value.message[1]);
+                } else if (value.message[0]=='hideActivityObj'){
+                    if ($debug) Debug.write("Somebody wants to hideActivityObj ",value.client);
+                    canvas.currentActivityList.hideActivityObj(value);
+                } else if (value.message[0]=='applyForMuteOn'){
+                    canvas.currentActivityList.applyForMuteOn(value.client,value.message[1]);
+                } else if (value.message[0]=='applyForMuteOff'){
+                    canvas.currentActivityList.applyForMuteOff(value.client,value.message[1]);
+                } else if (value.message[0]=='applyForGiveExclusiveAudioOn'){
+                    canvas.currentActivityList.applyForGiveExclusiveAudioOn(value.client,value.message[1]);
+                } else {
+                    if ($debug) Debug.warn("sendVarsToMessageWithClient unkown message ",value);
+                }
+                ]]>
+            </handler>   
+        </netRemoteCallHib>     
+    
+        <netRemoteCallHib name="newMessageByRoomAndDomain" funcname="newMessageByRoomAndDomain">
+            <handler name="ondata" args="value">
+                //The onResult-Handler will be called be the rtmpconnection
+                //if ($debug) Debug.write("newMessageByRoomAndDomain: ",value);    
+                <![CDATA[
+                    if (value.message=='desktop'){
+                        canvas._drawarea.incomingScreenSharing(value);
+                    } else if (value.message=='library'){
+                        
+                        if (value.action == 'import') {
+                            canvas.currentUploadWindow.myFileUpload.onCompleteByRemote(value);
+                            return;
+                        }
+                        
+                        var error = false;
+                        for (var eg in value.error){
+                            //Debug.write("eg ",eg," value ",value.error[eg]);
+                            //Debug.write("eg ",eg," value ",value.error[eg].exitValue);
+                            if (value.error[eg].exitValue!=0){
+                                error = true;
+                            }
+                        }
+                        canvas.currentUploadWindow.myFileUpload.onCompleteByRemote(value);
+                        if (error) {
+                            new lz.converterPopup(canvas.main_content._content.inner,{error:value.error});
+                        }
+                    } else if (value.message=='startStreaming'){
+                        canvas._drawarea.startStreaming(value);
+                    } else if (value.message=='stopStreaming'){
+                        canvas._drawarea.stopStreaming(value);
+                    } else if (value.message=='roomClosed'){
+                        canvas.roomClosed();
+                    } else if (value.message=='inviteToRoom'){
+                        if ($debug) Debug.write("Incoming Room Invitation ",value);
+                        new lz.chatParticipantsInviteNotification(canvas,{
+                                    publicSID:value.publicSID,
+                                    usermessage:value.usermessage,
+                                    roomId:value.roomId
+                                });
+                    } else if (value.message=='inviteToRoomAnswer'){
+                        if ($debug) Debug.write("Incoming Room inviteToRoomAnswer ",value);
+                        new lz.errorPopup(canvas,{
+                                    error:value.usermessage
+                                });
+                    } else {
+                        if ($debug) Debug.warn("Unknown Event -newMessageByRoomAndDomain- ",value);
+                    }
+                    
+                    
+                ]]>    
+            </handler>  
+        </netRemoteCallHib>      
+               
+        
+        <netRemoteCallHib name="newPoll" funcname="newPoll">
+            <handler name="ondata" args="value">
+                <![CDATA[
+                //The onResult-Handler will be called by the rtmpconnection
+                //Debug.write("newPoll : ",value);
+                if(canvas.user_id!=value.createdBy.user_id)
+                    new lz.answerPoll(
+                        canvas.main_content._content.inner
+                        , {
+                            createdBy: value.createdBy.login
+                            , pollDate: value.created
+                            , pollQuestion: value.pollQuestion
+                            , pollTypeId: value.pollType.pollTypesId
+                            , roomPollAnswerList: value.roomPollAnswerList
+                            , roomPollId: value.roomPollId
+                            , roomScopeName: value.roomScopeName
+                        }
+                    );
+                ]]>
+            </handler>   
+        </netRemoteCallHib>                    
+                                
+        <netRemoteCallHib name="sendVarsToModeratorGeneral" funcname="sendVarsToModeratorGeneral">
+            <handler name="ondata" args="value">
+                <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                //Debug.write("sendVarsToWhiteboard : ",value);
+                if (value[0]=='sharewhiteinit'){
+                    if (!canvas.htmlframeisloaded){         
+                        canvas.ifrm.createIFrame();
+                        canvas.setAttribute('htmlframeisloaded',true);
+                    }
+                } else if (value[0]=='sharewhiteside'){
+                    if (canvas.htmlframeisloaded){      
+                        _htmlside.setAttribute('text',value[2]);
+                        canvas.ifrm.setAttribute('isrc','http://'+value[2]);
+                    }
+                }
+                ]]>
+            </handler>   
+        </netRemoteCallHib>       
+        
+    <netRemoteCallHib name="removeClientFromChatNotification"
+        funcname="chatservice.removeClientFromChatNotification" >      
+        <handler name="ondata" args="value">
+            if ($debug) Debug.write("removeClientFromChatNotification: ",value);
+        </handler>
+    </netRemoteCallHib>
+    
+   <!-- recordContentings Notifications -->
+    <netRemoteCallHib name="stopedRecording" funcname="stopedRecording" >      
+        <handler name="ondata" args="value">
+            if ($debug) Debug.write("stopedRecording: ",value);
+            canvas._mymod.recordingUser = null;
+            canvas._mymod.setMessage();
+        </handler>
+    </netRemoteCallHib>
+    
+    <netRemoteCallHib name="startedRecording" funcname="startedRecording" >      
+        <handler name="ondata" args="value">
+            if ($debug) Debug.write("startedRecording: ",value);
+            canvas._mymod.recordingUser = value;
+            canvas._mymod.setMessage();
+        </handler>
+    </netRemoteCallHib>
+    
+    <netRemoteCallHib name="checkLzRecording" funcname="flvrecorderservice.checkLzRecording" >      
+        <handler name="ondata" args="value">
+            if ($debug) Debug.write("checkLzRecording: ",value);
+            if (value != null) {
+                canvas._mymod.recordingUser = value;
+                canvas._mymod.setMessage();
+            }
+            parent.checkRed5ScreenSharing.doCall();
+        </handler>
+    </netRemoteCallHib>
+    
+    <!-- notifications for Overall-Chat -->
+    <netRemoteCallHib name="sendVarsToOverallChat" funcname="sendVarsToOverallChat" >      
+        <handler name="ondata" args="value">
+            if ($debug) Debug.write("sendVarsToOverallChat: ",value);
+            if (canvas._overallchatcontent!=null){
+                canvas._overallchatcontent.addChatHistory(value.message,value.client);
+            }
+        </handler>
+    </netRemoteCallHib>
+
+    <netRemoteCallHib name="roomConnect" funcname="roomConnect" >      
+        <handler name="ondata" args="value">
+            if ($debug) Debug.write("roomConnect: ",value);
+            if (canvas._overallchatcontent != null){
+                canvas._overallchatcontent.parent.parent.parent._chatparticipants.addItem(value);
+            }
+        </handler>
+    </netRemoteCallHib>
+    
+    
+    <!-- Whiteboard sync Events -->
+    <netRemoteCallHib name="sendSyncFlag" funcname="sendSyncFlag">
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("sendSyncFlag: ",value);
+                if (canvas.syncWindow == null) {
+                    canvas.syncWindow = new lz.syncWin(canvas.main_content._content.inner,{
+                            labelid:558,labeliderror:559});
+                }
+            ]]>
+        </handler>   
+    </netRemoteCallHib>     
+    
+    <netRemoteCallHib name="sendSyncCompleteFlag" funcname="sendSyncCompleteFlag">
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("sendSyncCompleteFlag: ",value);
+                if (canvas.syncWindow != null) {
+                    canvas.syncWindow.close();
+                    canvas.syncWindow = null;
+                }
+            ]]>
+        </handler>   
+    </netRemoteCallHib>  
+    
+    <!-- Whiteboard Object Sync Process -->
+    <netRemoteCallHib name="sendObjectSyncFlag" funcname="sendObjectSyncFlag">
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("sendObjectSyncFlag: ",value);
+                if (canvas.syncImageWindow == null) {
+                    canvas.syncImageWindow = new lz.syncWin(canvas.main_content._content.inner,{labeliderror:591});
+                }
+            ]]>
+        </handler>   
+    </netRemoteCallHib>     
+    
+    <netRemoteCallHib name="sendObjectSyncCompleteFlag" funcname="sendObjectSyncCompleteFlag">
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("sendObjectSyncCompleteFlag: ",value);
+                if (canvas.syncImageWindow != null) {
+                    canvas.syncImageWindow.close();
+                    canvas.syncImageWindow = null;
+                }
+            ]]>
+        </handler>   
+    </netRemoteCallHib>  
+    
+    
+    <!-- Recording of Meetings -->
+    <netRemoteCallHib name="checkForRecording" funcname="flvrecorderservice.checkForRecording">
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("checkForRecording: ",value);
+                if (value == null) {
+                    new lz.recordingStartWin(canvas.main_content._content.inner);
+                } else {
+                    new lz.errorPopupUserInfo(canvas,{error:canvas.getLabelName(418),user:value});
+                }
+            ]]>
+        </handler>   
+    </netRemoteCallHib>  
+    
+    <netRemoteCallHib name="interviewStatus" funcname="interviewStatus">
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("interviewStatus: ",value);
+                canvas._drawarea.reloadStatus();
+            ]]>
+        </handler>   
+    </netRemoteCallHib>  
+    
+    <netRemoteCallHib name="closeRoom" funcname="xmlcrm.closeRoom">
+        <attribute name="room_id" value="0" type="number" />
+        <attribute name="isClosed" value="true" type="boolean" />
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.room_id;</method></netparam>
+        <netparam><method name="getValue">return parent.isClosed;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("closeRoom: ",value);
+            ]]>
+        </handler>   
+    </netRemoteCallHib> 
+    
+    <netRemoteCallHib name="clearChatContent" funcname="clearChatContent">
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                canvas._chatcontent.reload();
+            ]]>
+        </handler>   
+    </netRemoteCallHib> 
+    
+    <netRemoteCallHib name="setCanGiveAudio" funcname="whiteboardservice.setCanGiveAudio"
+                   remotecontext="$once{ canvas.thishib }">
+        <attribute name="publicSID" value="" type="string" />
+        <attribute name="canGiveAudio" value="true" type="boolean" />
+        <method name="sendValue" args="publicSID,giveAudio">
+        	this.publicSID = publicSID;
+        	this.canGiveAudio = giveAudio;
+        	this.doCall();
+        </method>
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.publicSID;</method></netparam>
+        <netparam><method name="getValue">return parent.canGiveAudio;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("setCanGiveAudio : ",value);
+            ]]>
+        </handler>
+    </netRemoteCallHib>
+    
+    
+</class>
+
+<hibRtmpConnection name="thishib" id="hib" />
+
+</library>
diff --git a/WebContent/src/base/hibernate/library.lzx b/WebContent/src/base/hibernate/library.lzx
new file mode 100644
index 0000000..d3bfbf1
--- /dev/null
+++ b/WebContent/src/base/hibernate/library.lzx
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<include href="netRemoteCallHib.lzx" />
+	<include href="hibRtmpConnection.lzx" />
+
+</library>
diff --git a/WebContent/src/base/hibernate/netRemoteCallHib.lzx b/WebContent/src/base/hibernate/netRemoteCallHib.lzx
new file mode 100644
index 0000000..cd13da1
--- /dev/null
+++ b/WebContent/src/base/hibernate/netRemoteCallHib.lzx
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="netRemoteCallHib" extends="netremotecall">
+
+	<!--- this should be the contentSaveWindow -->
+	<attribute name="returnObj" value="null" />
+	 
+	<!--- if true this object will register at the update-observer -->
+	<attribute name="registerObject" value="false" type="boolean" />
+	
+	<!--- show Error Messages with normal Box -->
+    <attribute name="activeErrorHandler" value="false" type="boolean" />	
+    
+	<!--- show Error Messages with normal Box -->
+    <attribute name="showLoading" value="true" type="boolean" />    
+	
+	<!--- show Error Messages with Callback Box -->
+	<attribute name="isCallBackHandler" value="false" type="boolean" />	
+	
+	<handler name="oninit">
+		if (this.registerObject) this.parent.addViewToObserver(this);
+	</handler>	
+	<method name="doCall">
+        if (this.showLoading) canvas._loadingAll.showLoading();
+		//if($debug) Debug.write("netRemoteCallHib/doCall: [ " , this.funcname , " ]",this.parent);
+		this.callRPC();
+	</method>
+	
+	<event name="sendCallBack" />
+	
+	<!---
+        @keywords private
+	 -->
+	<handler name="ondata" args="value">
+		<![CDATA[
+			//Debug.write("ondata: ",this.funcname,value);
+			
+			if (this.showLoading) canvas._loadingAll.hideLoading();
+			
+			//Another Error Handler for the Form-Components
+			if (this.returnObj!=null && Number(value)>0) {
+				//Debug.write("this.returnObj.processNext");
+				this.returnObj.processNext();
+			} else if (this.returnObj!=null && Number(value)<0) {
+				this.returnObj.errorByCode(Number(value));
+			} else if (this.returnObj!=null && value==null) {
+				this.returnObj.errorByCode(-1);
+			}
+			
+            if (this.activeErrorHandler) {
+                if (Number(value)<0){
+                    Debug.warn("Received Error ID: ",value);					
+					if (this.isCallBackHandler) 
+					{
+						var dlg = new lz.callbackRpcErrorDialog(canvas,{callBackObject:this,errorid:Number(value)});						
+						lz.Focus.setFocus(dlg);
+					} else {
+						var dlg = new lz.rpcErrorDialog(canvas,{errorid:Number(value)});
+						lz.Focus.setFocus(dlg);
+					}
+                }
+            }			
+		]]>
+	</handler>	
+</class>
+
+</library>
diff --git a/WebContent/src/base/library.lzx b/WebContent/src/base/library.lzx
new file mode 100644
index 0000000..3065c97
--- /dev/null
+++ b/WebContent/src/base/library.lzx
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+    <include href="remote/" />
+    <include href="components/" /> 
+    <include href="hibernate/" />
+    <include href="contentviews/" />
+    <include href="navi/" />
+
+    <include href="auth/" />
+
+	<!-- for main.lzx -->
+	<include href="externalJavaScript.lzx" />
+    <include href="functions.lzx" />
+    <include href="sipfunctions.lzx" />	
+	<include href="mainAttributes.lzx" /> 
+	<include href="mainDatasets.lzx" /> 
+	<include href="mainMethods.lzx" /> 
+	<include href="logoutConfirm.lzx" />
+	
+	<!-- 
+	   Defines the Core Classes that gets loaded in the Main Navigation
+	 -->
+	<include href="moduleConfiguration.lzx" />
+
+
+</library>
diff --git a/WebContent/src/base/logoutConfirm.lzx b/WebContent/src/base/logoutConfirm.lzx
new file mode 100644
index 0000000..62329f8
--- /dev/null
+++ b/WebContent/src/base/logoutConfirm.lzx
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="logoutConfirm" extends="labelExplorerBox" labelid="633"
+    docking="true" resizeable="false" closable="false" width="270" x="${ canvas.width / 2 - 145 }" y="${ canvas.height / 2 - 120}" height="100">
+
+	<attribute name="objectsToClean" type="expression"/>
+	
+	<labelText fontstyle="bold" y="25" labelid="634" x="10" width="270" multiline="true" />
+	
+	<simpleLabelButton name="ok" x="20" y="70" labelid="54" width="120" height="20">
+		<handler name="onclick">
+			if (!clearStageContent(objectsToClean))
+			{
+				canvas._mainbgcontentNavi.navi.destroy();
+				canvas._mainbgcontentNavi.help.destroy();
+				canvas.thishib.logoutUser.doCall();
+			}
+        
+            this.parent.close();                   
+			
+		</handler>
+	</simpleLabelButton>
+	<simpleLabelButton name="cancel" x="140" y="70" labelid="55" width="120" height="20">
+		<handler name="onclick">
+			this.parent.close();
+		</handler>
+	</simpleLabelButton>		
+</class>
+
+</library>
diff --git a/WebContent/src/base/mainAttributes.lzx b/WebContent/src/base/mainAttributes.lzx
new file mode 100644
index 0000000..ca0598e
--- /dev/null
+++ b/WebContent/src/base/mainAttributes.lzx
@@ -0,0 +1,488 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+          
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!-- all attributes for main.lzx -->
+
+<library>
+<!-- 
+##########################################################
+these properties will be overwritten by config.xml -->  
+
+<attribute name="vid_lc_name" value="" type="string"/>
+
+<attribute name="lc_SID" value="" type="string"/>
+
+<attribute name="lc"/>
+
+<attribute name="rtmp_lc_name" value="" type="string"/>
+
+<attribute name="rtmp_lc"/>
+
+<attribute name="videoComp_lc_name" value="" type="string"/>
+
+<attribute name="videoComp_lc_callback_name" value="" type="string"/>
+
+<attribute name="videoComp_lc"/>
+
+<!--- URL/IP to use for the Server 192.168.178.28
+    inno02.fh-pforzheim.de macbook 192.168.2.103
+    192.168.2.102 bxlug.homelinux.org 213.219.160.72
+        if this value is empty it will try to connect to the 
+    domain-name it has been loading from
+    -->
+<attribute name="rtmphostlocal" value="" type="string" />
+ 
+<!---  
+    Port to use for the Server
+    To this port the default server lookup is done
+    
+    You can find all this configuraiton in your red5-Config in: $RED5_HOME/conf/red5.properties
+ -->
+<attribute name="rtmpport" value="1935" type="string" />
+
+<!--- 
+    Port to use for the Server
+    To this port the fallback is done once the default rtmport failed
+    this should workaround 99% of all firewalls
+ -->
+<attribute name="rtmpTunnelport" value="8088" type="string" />
+
+<!--- 
+    Port to use for the Server
+    This port is used to connec to the http-servlet
+    of the red5-servlet
+ -->
+<attribute name="red5httpport" value="5080" type="string" />
+
+<attribute name="useSSL" value="false" type="boolean" />
+<attribute name="rtmpsslport" value="443" type="string" />
+    
+<!---
+    These colors are the main colors and style the hole application
+ -->
+<attribute name="basebgcolorizer" value="" type="string" /> 
+<attribute name="baseMousecolorizer" value="" type="string" />  
+<attribute name="baseMouseOvercolorizer" value="" type="string" />      
+<attribute name="styleMenuBarBaseColor" value="0xFFFFFF" type="string" />    
+
+<attribute name="fontColorHeader" value="0x000000" type="string" />
+<attribute name="bgColorMenuItems" value="0xEAEAEA" type="string" />
+
+<attribute name="webAppRootKey" value="" type="string" />
+
+<attribute name="httpRootKey" value="/" type="string" />
+
+<attribute name="protocol" value="http" type="string" />
+<attribute name="proxyType" value="none" type="string" />
+
+<attribute name="showAudioVideoTest" value="true" type="boolean" />
+
+<!--
+    Id of the Recording that is played when access the Recordings Player via Direct Link URL
+ -->
+<attribute name="roomRecordingId" value="0" type="number" />
+
+<!--- Name of the Application -->
+<attribute name="currentappname" value="OpenMeetings" type="string" />   
+<attribute name="currentappnameurl" value="OpenMeetings" type="string" />   
+<attribute name="currentappnamebugurl" value="OpenMeetings" type="string" /> 
+
+<!--- Video Settings -->
+<attribute name="loudnessAcitviation" value="10" type="number" />
+<attribute name="showWindowEffect" value="y" type="string" /> 
+
+<!--- Calendar Settings -->
+<attribute name="firstdayinweek" value="1" type="number" />
+
+<attribute name="showmodernWhiteBoard" value="y" type="string" />
+
+<attribute name="showRecording" value="visible" type="string" />
+
+<attribute name="defaultWhiteboardWidth" value="2400" type="number" />
+<attribute name="defaultWhiteboardHeight" value="1200" type="number" />
+
+<!-- END OF config.xml attributes
+##########################################################
+ -->
+
+<attribute name="userHistory" value="null" />
+<attribute name="browserTabHistory" value="null" />
+
+<!-- this attribute holds an object of type RoomClient
+ the LAST RoomClient Object that has been changed the drawstatus
+ so ondrawAllowStatus = will trigger that the draw-status of ANYBODY has changed
+ and canvas.drawAllowStatus = is the RoomClient that has changed
+ and canvas.drawAllowStatus.canDraw = is the new Status of that RoomClient
+ -->
+
+<attribute name="drawAllowStatus" value="null"/>
+
+<!-- this attribute holds an object of type RoomClient
+the LAST RoomClient Object that has been changed the giveExclusiveAudio status
+-->
+<attribute name="exclusiveAudioAllowStatus" value="null"/>
+
+<!--
+    this value indicates if this user is allowed to draw to the Whiteboard
+    If this user is currently Moderator => he ALWAYS can draw to whiteboard
+    even if this isAllowedToDraw == false
+ -->
+<attribute name="isAllowedToDraw" value="false" type="boolean" />
+
+<!-- 
+    this attribute holds an object of type RoomClient
+    the LAST RoomClient Object that has been changed the mute-status
+ -->
+<attribute name="micMutedStatusChangedItem" value="null" />
+
+<!--
+    this value indicates if this user is currently muted
+ -->
+<attribute name="micMuted" value="false" type="boolean" />
+
+<!--- URL/IP to use for the Server -->
+<attribute name="rtmphost" value="" type="string" />
+
+<!--- Username/Nickname -->
+<attribute name="currentuser" value="" type="string" />
+
+<!--- Roomname internaly Scope -->
+<attribute name="currentcourse" value="" type="string" />
+
+<!--- Roomname/Coursename -->
+<attribute name="currentcourseName" value="" type="string" />
+
+<attribute name="currentImagesListdraw" value="null" />
+
+<!--- 
+    The Reference for a Streaming Object
+    This should be removed later when the OpenLaszlo API handles
+    the broadcast better
+    -swagner
+ -->
+<attribute name="_nc" value="null" />
+    
+<attribute name="vaquality" value="best" type="string" />
+    
+<!--
+<attribute name="moderatorStreamID" value="" type="string" />
+<attribute name="moderatorationObject" value="" type="string" />
+<attribute name="moderatorName" type="string" setter="this.setModeratorName(moderatorName)" />
+ -->
+<attribute name="currentModeratorList" value="null" />
+
+<attribute name="newModeratorList" value="null" />
+<attribute name="removeModeratorList" value="null" />
+
+<attribute name="ismoderator" value="false" type="boolean" />
+
+<attribute name="loadingmessage" value="" type="string" />
+<!--- 
+    The state of the Application
+    At the beginning you should choose how many users are allowed to
+    login simultaniously
+ -->
+<attribute name="islogedin" value="false" type="boolean" />
+   
+<attribute name="htmlframeisloaded" value="false" type="boolean" />
+<attribute name="createIFrameDone_attr" value="false" type="boolean" />
+
+
+<attribute name="uploadmoduleppt" value="videoconf1ppt" type="string" />
+<attribute name="uploadmoduleimg" value="videoconf1" type="string" />
+<attribute name="foldersequence" value="null" />
+<attribute name="uploadmoduleimgfolder" value="" type="string" />
+<!---
+    Can be either 2 or 4
+    But theoretically there is no limit
+ -->
+<attribute name="numberofallowedpartners" value="0" type="number" />
+
+<!--- Number of currently connected Users -->
+<attribute name="numberofpartners" value="0" type="number" />
+
+<!--- unique ID of this Stream -->
+<attribute name="streamid" value="0" type="string" />
+
+<!--- id of the current Mod in this room -->
+<attribute name="currentmodid" value="0" type="string" />
+
+<attribute name="currentlanguage" value="english" type="string" />
+
+<attribute name="objWhiteboard" value="null" />
+<attribute name="objMessage" value="null" />
+<attribute name="VarsModeratorGeneral" value="null" />
+
+<attribute name="isConference" value="false" type="boolean" />
+
+<attribute name="statesInitValues" value="null" />
+<attribute name="salutationsInitValues" value="null" />
+<attribute name="roomTypesInitValues" value="null" />
+
+<!--- Audio-Video Quality Settings
+    overwritten by values from the config.xml 
+ -->
+<attribute name="framesPerSecond" value="30" type="number" />
+<attribute name="bandwidthNeededNormal" value="16384" type="number" />
+<attribute name="bandwidthNeededBest" value="32768" type="number" />
+<attribute name="camQualityNormal" value="75" type="number" />
+<attribute name="camQualityBest" value="75" type="number" />
+<attribute name="microphoneRateNormal" value="22" type="number" /> 
+<attribute name="microphoneRateBest" value="44" type="number" /> 
+        
+<!--- Reference to the current active drawarea -->
+<attribute name="_drawarea" value="null" /> 
+
+<!--- Username of current user -->
+<attribute name="currentusename" value="defaultname" type="string" />
+<attribute name="user_id" value="0" type="number" />
+<attribute name="firstName" value="" type="string" />
+<attribute name="timeZoneId" value="0" type="number" />
+<attribute name="jNameTimeZone" value="" type="string" />
+<attribute name="lastName" value="" type="string" />
+<attribute name="mail" value="" type="string" />
+<attribute name="lastLogin" value="" type="string" />
+<attribute name="official_code" value="" type="string" />
+<attribute name="picture_uri" value="" type="string" />
+<attribute name="language" value="" type="string" />
+
+<!--- User porperties -->
+<attribute name="currentusercolor" value="0" type="number" />
+<attribute name="currentuserpos" value="0" type="number" />
+    
+<attribute name="currentModApply" value="null" />   
+
+<attribute name="sessionObject" value="null" />
+<attribute name="sessionId" value="" type="string" />
+
+<attribute name="syncWindow" value="null" />
+<attribute name="syncImageWindow" value="null" />
+<attribute name="syncSWFWindow" value="null" />
+<attribute name="publicSID" value="" type="string" />
+
+<!--- attributes for direct room access -->
+<attribute name="initroomid" value="0" type="number" />
+<attribute name="initroomStr" value="" type="string" />
+<attribute name="initroomtype" value="" type="string" />
+<attribute name="initdomainid" value="" type="string" />
+<attribute name="initlangid" value="1" type="number" />
+<attribute name="isinitRoomDirect" value="false" type="boolean" />
+<attribute name="isinitRoomObject" value="null" /> 
+
+<!-- attributes for direct room access via direct link -->
+<attribute name="directUserLogin" value="false" type="boolean" />
+<attribute name="directRoomId" value="1" type="number" />
+<attribute name="directRoomObj" value="null" />
+
+<!--- attributes for direct room access via remoteUser -->
+<attribute name="remoteUserLogin" value="false" type="boolean" />
+<attribute name="remoteUserSid" value="" type="string" />
+
+<!--- attributes for direct room access via remoteUser
+    This is using the advanced methods to prevent abuse
+ -->
+<attribute name="secureRemoteUserLogin" value="false" type="boolean" />
+<attribute name="secureHash" value="" type="string" />
+
+<!--- skip loading of Language -->
+<attribute name="language_id" value="0" type="number" />
+<!--- application default language -->
+<attribute name="default_lang_id" value="1" type="number" />
+
+<attribute name="isResetUsername" value="false" type="boolean" />
+<attribute name="resetHash" value="" type="string" />
+    
+<attribute name="naviHeight" value="84" type="number" />    
+<attribute name="naviHeightDelta" value="84" type="number" />  
+
+<attribute name="currentrecorder" value="null" /> 
+<attribute name="currentrecorder_id" value="0" type="number" /> 
+
+<!--- 
+Holds a refernce to the current VideoCOntainer Object
+containing the VideoViews
+and some more references to temp-objects
+ -->
+<attribute name="_videocontainer" value="null" />
+<attribute name="_mymod" value="null" />
+
+<attribute name="isrtl" value="false" type="boolean" />    
+
+<!---
+    Attributes for browser panel size.
+    Those attributes are used to determine size of browser class (modules/conference/browser/conferenecBrowser.lzx)
+    in base/mainMethods.lzx.
+        2008 Apr 9 commented by onokeiji@gmail.com
+-->
+<attribute name="browserPanelWidth" value="600"/>
+<attribute name="browserPanelHeight" value="500"/>
+
+<attribute name="currentSlideNo" value="0" type="number" />
+<attribute name="currentSlideTotal" value="0" type="number" />
+<attribute name="currentSlideZoom" value="0" type="number" />
+
+<attribute name="currentUploadWindow" value="null" />
+
+<!--
+    ################################
+    Attributes for direct Moderator setup via Moodle
+ -->
+<attribute name="isMoodleRoom" value="false" type="boolean" /> 
+
+<attribute name="becomemoderator" value="false" type="boolean" />
+<attribute name="becomeSuperModerator" value="false" type="boolean" />
+
+<attribute name="moodleWwwRoot" value="" type="string" />
+<attribute name="moodleUserId" value="0" type="number" />
+<attribute name="moodlePicture" value="0" type="number" />
+
+
+<attribute name="currentRoomObj" value="null" />
+
+<attribute name="refreshSession" value="60000" type="number" />
+
+<attribute name="globalFontSize" value="11" type="number" />
+
+<attribute name="lastBroadCastingUser" value="null" />
+
+<attribute name="isBroadCasting" value="false" type="boolean" />
+
+<attribute name="currentContentView" value="null" />
+
+<!-- item to focus on after rpcErrorDialog has been shown-->
+<attribute name="focusOnItem" value="null"/>
+
+<attribute name="currentRoomObject" value="null"/>
+
+<attribute name="appointmentNotificationPopUp" value="null"/>
+
+<attribute name="conferenceBrowserIsinited" value="false" type="boolean" />
+
+<attribute name="isAllowedToScreenShare" value="false" type="boolean" />
+
+<attribute name="isAllowedToRemoteControl" value="false" type="boolean" />
+
+<attribute name="isAllowedToGiveExclusiveAudio" value="false" type="boolean" />
+
+<attribute name="lzCalendarInfoTab" value="null"/>
+
+<attribute name="roomJumpId" value="0" type="number" />
+
+<attribute name="userContacts" value="null" />
+
+<!--
+    Loads a User profile page directly instead of loading the Dashboard
+    cuser is a hash that can be found in the UserContacts Table
+ -->     
+<attribute name="cuser" value="" type="string"/>
+
+<!--
+    Indicates if the user does accept or deny a user contact request
+ -->    
+<attribute name="cuserStatus" value="none" type="string"/>
+
+<!--
+    Attributes to handle the click search on linked user-keywords
+ -->
+<attribute name="userSettingsModuleOpt" value="userProfile" type="string"/>
+
+<attribute name="userSettingsSearchType" value="" type="string"/>
+<attribute name="userSettingsSearchPhrase" value="" type="string"/>
+<attribute name="userSettingsSearchRef" value="null"/>
+
+<!--
+    Attribute to load a custom user calendar instead of the own one
+-->
+<attribute name="contactUser" value="0" type="number" />
+
+<attribute name="monthnames" value="['Januar','Februar','Maerz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember']"/> 
+
+<attribute name="dayShortNames" value="null" />
+
+<!--
+    Used in SOAP API to indicate if the user will see a pop up to enter its nickname
+ -->
+<attribute name="showNickNameDialog" value="false" type="boolean" />
+
+<!--
+    Used in SOAP API to indicate if the user logs directly into a room or into the dashboard
+ -->
+<attribute name="landingZone" value="" type="string"/>
+
+<!--
+    if the users logs in via SOAP he does not see the exit button by default
+    only if the landingZone == dashboard
+ -->
+<attribute name="destroyExitButton" value="true" type="boolean" />
+
+<attribute name="currentFileExplorer" value="null"/>
+
+<attribute name="allowRecording" value="true" type="boolean" />
+
+<!-- userdata -->
+<attribute name="sharedObject" value="null" />
+
+<attribute name="currentMicName" value="" type="string"/>
+<attribute name="currentCamName" value="" type="string"/>
+
+<attribute name="currentBaseConferenceRoom" value="null" />
+
+<!--F12-->
+<attribute name="GIVE_EXCLUSIVE_AUDIO_KEY" value="123"/> 
+
+<!-- 
+	Indicates if the Red5 SIP Integration is enabled or not and 
+	if the SIP Dialer is shown in the conference menu
+ -->
+<attribute name="RED5_SIP_ENABLE" value="no" type="string" /> 
+
+<!-- 
+	The server side configuration of the max upload size for files
+ -->
+<attribute name="MAX_UPLOAD_SIZE" value="-1" type="string" /> 
+
+<attribute name="currentNC" value="null" />
+
+<!-- 
+	Holds a reference to the current tooltip, if there is one
+ -->
+<attribute name="currentToolTip" value="null" />
+
+<method name="registerToolTip" args="viewInstance">
+	if (this.currentToolTip != null) {
+		this.currentToolTip.cleanHolder();
+	}
+	this.currentToolTip = viewInstance;
+</method>
+
+<method name="clearToolTip">
+	if (this.currentToolTip != null) {
+		this.currentToolTip.cleanHolder();
+		this.currentToolTip = null;
+	}
+</method>
+
+<!-- 
+	Holds a reference to the current activity list, if there is one
+ -->
+<attribute name="currentActivityList" value="null" />
+
+</library>
diff --git a/WebContent/src/base/mainDatasets.lzx b/WebContent/src/base/mainDatasets.lzx
new file mode 100644
index 0000000..23ea6df
--- /dev/null
+++ b/WebContent/src/base/mainDatasets.lzx
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!-- all datasets for main.lzx -->
+
+<library>
+
+<!-- get values from config.xml -->
+<dataset type="http" name="myConfigSet" request="false" ondata="parent.mainTheme.loadTheme()">
+    <handler name="oninit">
+        var d = new Date();
+        this.setAttribute("src","config.xml?random="+d.getTime());
+        this.doRequest();
+    </handler>
+    <handler name="ondata">
+        if ($debug) Debug.write("ondata");
+    </handler>
+    <handler name="onerror" args="e">
+        if ($debug) Debug.write("onerror",e);
+    </handler>
+    <handler name="ontimeout" args="e">
+        if ($debug) Debug.write("ontimeout",e);
+    </handler>
+</dataset>
+
+<!-- get values from config.xml -->
+<dataset type="http" name="mainTheme" request="false" ondata="canvas.myinit()">
+    <method name="loadTheme">
+        var d = new Date();
+        this.setAttribute("src","default-theme.xml?random="+d.getTime());
+        this.doRequest();
+    </method>
+    <handler name="ondata">
+        if ($debug) Debug.write("ondata");
+    </handler>
+    <handler name="onerror" args="e">
+        if ($debug) Debug.write("onerror",e);
+    </handler>
+    <handler name="ontimeout" args="e">
+        if ($debug) Debug.write("ontimeout",e);
+    </handler>
+</dataset>
+
+</library>
diff --git a/WebContent/src/base/mainMethods.lzx b/WebContent/src/base/mainMethods.lzx
new file mode 100644
index 0000000..6c24b5b
--- /dev/null
+++ b/WebContent/src/base/mainMethods.lzx
@@ -0,0 +1,1040 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+          
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!-- methods for main.lzx -->
+
+<library>
+
+	<class name="baseconfmenucommand" extends="command" >
+    	<attribute name="enabled" value="true" type="boolean" />
+    	<attribute name="tipLabelId" value="0" type="number" />
+    </class>
+    
+    <class name="confmenucommand" extends="baseconfmenucommand" >
+    	<attribute name="actionCommand" value="" type="string" />
+    	<handler name="onselect" args="sel">
+    		if (!this.enabled) {
+    			return;
+    		}
+    		canvas.doActionmenu(this.actionCommand);
+    	</handler>
+    </class>
+        
+    <baseconfmenucommand id="cmd_shareDesktop" tipLabelId="1480" >
+    	<handler name="onselect" args="sel">
+    		if (!this.enabled) {
+    			return;
+    		}
+    		canvas._mymod.checkSharerSession.doCall();
+    	</handler>
+    </baseconfmenucommand>
+    
+    <confmenucommand id="cmd_applyforMod" tipLabelId="1481" actionCommand="applyForMod" />
+    
+    <confmenucommand id="cmd_applyforWhiteBoard" tipLabelId="1492" key="['control','shift','2']">
+    	<handler name="onselect" args="tSel">
+    		if (!this.enabled) {
+    			return;
+    		}
+    		if ($debug) Debug.write("cmd_applyforWhiteBoard onselect",tSel);
+    		//Ask for Right to Draw on Whiteboard
+			var tDate = new Date();
+			canvas.thishib.sendMessageWithClient.sendMessage("applyForWhiteboard",tDate.getTime());
+    	</handler>
+    </confmenucommand>
+    
+    <baseconfmenucommand id="cmd_applyforAV" tipLabelId="1482">
+    	<handler name="onselect" args="tSel">
+    		if (!this.enabled) {
+    			return;
+    		}
+    		if ($debug) Debug.write("cmd_applyforAV onselect",canvas.ismoderator,tSel);
+    		if (canvas.ismoderator) {
+				//Do directly send confirmation to share Audio/Video to SELF! so that all users get
+				//the notification and the broadcasting Bit is set for this User
+				canvas.thishib.setBroadCastingFlag.publicSIDOfNewModerator = canvas.publicSID;
+				canvas.thishib.setBroadCastingFlag.isAllowedToBroadCastAV = true;
+				canvas.thishib.setBroadCastingFlag.doCall();
+			} else {
+				//Apply for Right to Share Audio/Video
+				var tDate = new Date();
+				canvas.thishib.sendMessageWithClient.sendMessage("applyForAV",tDate.getTime());
+			}
+    	</handler>
+    </baseconfmenucommand>
+    
+    <confmenucommand id="cmd_createPoll" tipLabelId="1483" actionCommand="createPoll" />
+    <confmenucommand id="cmd_pollResults" tipLabelId="1484" actionCommand="pollResults" />
+    <confmenucommand id="cmd_checkPollVoted" tipLabelId="1485" actionCommand="checkPollVoted" />
+    <confmenucommand id="cmd_importFile" tipLabelId="1479" actionCommand="importFile" />
+    <confmenucommand id="cmd_editCamMicSettings" actionCommand="editCamMicSettings" tipLabelId="1486" /> 
+    <confmenucommand id="cmd_quit" actionCommand="quit" tipLabelId="1487" />
+    <confmenucommand id="cmd_showSipDialer" actionCommand="showSipDialer" tipLabelId="1488" />
+    
+    <confmenucommand id="cmd_invitation" actionCommand="invitation" tipLabelId="1489" /> 
+    <confmenucommand id="cmd_editWhiteboardDefault" actionCommand="editWhiteboardDefault" tipLabelId="1490" /> 
+    
+    <!-- 
+    <confmenucommand id="cmd_coBrowser" actionCommand="browser_open" key="['control','b']"/> 
+     -->
+   
+    <!--  
+    	There is no image export at the moment
+    <confmenucommand id="cmd_exportFilePNG" onselect="canvas.doWhiteboardActionmenu('exportFilePNG')" />
+    <confmenucommand id="cmd_exportFileJPG" onselect="canvas.doWhiteboardActionmenu('exportFileJPG')" />
+    <confmenucommand id="cmd_exportFilePDF" onselect="canvas.doWhiteboardActionmenu('exportFilePDF')" />
+    <confmenucommand id="cmd_exportFileSVG" onselect="canvas.doWhiteboardActionmenu('exportFileSVG')" />
+    <confmenucommand id="cmd_exportFileTIF" onselect="canvas.doWhiteboardActionmenu('exportFileTIF')" />
+     -->
+    
+    <attribute name="colorArray" value="null" />
+    
+    <method name="getColorForUser">
+    	<![CDATA[
+    	   var colorArray = [0x92E8A4,0xC2F1FF,0xFFFCAE,0xE8C792,0xFF8073,
+                            0xE8DB87,0xAFFFB8,0xBED4FF,0xE0BBE8,0xFFBBA5];
+    	   return colorArray[Math.round(Math.random()*10)];
+    	]]>
+    </method>
+        
+    <dataset type="http" name="languageData" request="false" 
+        src="${ canvas.currentlanguage+'.xml' }" proxied="false">
+        <handler name="ondata" args="value">
+            parent.parseLanugageObject(value);
+        </handler>
+    </dataset>
+
+    <method name="myinit">
+        <![CDATA[
+        canvas.mediaerrortimeout = 30000;
+        canvas.medialoadtimeout = 30000;
+        
+        if($debug) Debug.write("main.lzx/config.xml ondata",this);
+        
+        //Set Config-values by config.xml, see comments on config.xml
+        this.setAttribute('rtmphostlocal',canvas.myConfigSet.getPointer().xpathQuery('config/rtmphostlocal/text()'));   
+        this.setAttribute('rtmpport',Number(canvas.myConfigSet.getPointer().xpathQuery('config/rtmpport/text()')));  
+        this.setAttribute('rtmpTunnelport',Number(canvas.myConfigSet.getPointer().xpathQuery('config/rtmpTunnelport/text()'))); 
+        this.setAttribute('rtmpsslport',Number(canvas.myConfigSet.getPointer().xpathQuery('config/rtmpsslport/text()'))); 
+        
+        var userSSLString = canvas.myConfigSet.getPointer().xpathQuery('config/useSSL/text()');
+        if ($debug) Debug.write("userSSLString",userSSLString)
+        if (userSSLString == "yes") {
+            this.setAttribute('useSSL',true);
+        }
+        
+        this.setAttribute('red5httpport',Number(canvas.myConfigSet.getPointer().xpathQuery('config/red5httpport/text()')));
+        
+        this.setAttribute('currentappname',canvas.myConfigSet.getPointer().xpathQuery('config/currentappname/text()'));  
+        this.setAttribute('currentappnameurl',canvas.myConfigSet.getPointer().xpathQuery('config/currentappnameurl/text()'));  
+        this.setAttribute('currentappnamebugurl',canvas.myConfigSet.getPointer().xpathQuery('config/currentappnamebugurl/text()'));
+        this.setAttribute('loudnessAcitviation',canvas.myConfigSet.getPointer().xpathQuery('config/loudnessAcitviation/text()'));
+        this.setAttribute('webAppRootKey',canvas.myConfigSet.getPointer().xpathQuery('config/webAppRootKey/text()'));
+        this.setAttribute('showWindowEffect',canvas.myConfigSet.getPointer().xpathQuery('config/showWindowEffect/text()'));
+        this.setAttribute('firstdayinweek',canvas.myConfigSet.getPointer().xpathQuery('config/firstdayinweek/text()'));
+        this.setAttribute('showRecording',canvas.myConfigSet.getPointer().xpathQuery('config/showRecording/text()'));
+        
+        //old menubar is not active anymore
+        //this.setAttribute('showmodernWhiteBoard',canvas.myConfigSet.getPointer().xpathQuery('config/showmodernWhiteBoard/text()'));
+        
+        //Audio-Video-Settings
+        this.setAttribute('framesPerSecond',Number(canvas.myConfigSet.getPointer().xpathQuery('config/framesPerSecond/text()')));  
+        this.setAttribute('bandwidthNeededNormal',Number(canvas.myConfigSet.getPointer().xpathQuery('config/bandwidthNeededNormal/text()')));  
+        this.setAttribute('bandwidthNeededBest',Number(canvas.myConfigSet.getPointer().xpathQuery('config/bandwidthNeededBest/text()')));  
+        this.setAttribute('camQualityNormal',Number(canvas.myConfigSet.getPointer().xpathQuery('config/camQualityNormal/text()')));  
+        this.setAttribute('camQualityBest',Number(canvas.myConfigSet.getPointer().xpathQuery('config/camQualityBest/text()')));  
+        this.setAttribute('microphoneRateNormal',Number(canvas.myConfigSet.getPointer().xpathQuery('config/microphoneRateNormal/text()')));  
+        this.setAttribute('microphoneRateBest',Number(canvas.myConfigSet.getPointer().xpathQuery('config/microphoneRateBest/text()')));  
+        
+        this.setAttribute('defaultWhiteboardWidth',Number(canvas.myConfigSet.getPointer().xpathQuery('config/defaultWhiteboardWidth/text()')));  
+        this.setAttribute('defaultWhiteboardHeight',Number(canvas.myConfigSet.getPointer().xpathQuery('config/defaultWhiteboardHeight/text()')));  
+        
+        
+        this.setAttribute('adminModuleUser',canvas.myConfigSet.getPointer().xpathQuery('config/adminModuleUser/text()'));  
+        this.setAttribute('adminModuleRoom',canvas.myConfigSet.getPointer().xpathQuery('config/adminModuleRoom/text()'));  
+        this.setAttribute('adminModuleOrg',canvas.myConfigSet.getPointer().xpathQuery('config/adminModuleOrg/text()'));  
+        this.setAttribute('adminModuleLanguages',canvas.myConfigSet.getPointer().xpathQuery('config/adminModuleLanguages/text()'));  
+        this.setAttribute('adminModuleConnections',canvas.myConfigSet.getPointer().xpathQuery('config/adminModuleConnections/text()'));  
+        this.setAttribute('adminModuleConfiguration',canvas.myConfigSet.getPointer().xpathQuery('config/adminModuleConfiguration/text()'));  
+        this.setAttribute('adminModuleBackup',canvas.myConfigSet.getPointer().xpathQuery('config/adminModuleBackup/text()'));  
+        
+        this.setAttribute('moderatorModuleUser',canvas.myConfigSet.getPointer().xpathQuery('config/moderatorModuleUser/text()'));  
+        this.setAttribute('moderatorModuleRoom',canvas.myConfigSet.getPointer().xpathQuery('config/moderatorModuleRoom/text()'));  
+        
+        this.setAttribute('dashboardModuleStartScreen',canvas.myConfigSet.getPointer().xpathQuery('config/dashboardModuleStartScreen/text()'));  
+        this.setAttribute('dashboardModuleCalendar',canvas.myConfigSet.getPointer().xpathQuery('config/dashboardModuleCalendar/text()'));  
+        this.setAttribute('conferenceModuleRoomList',canvas.myConfigSet.getPointer().xpathQuery('config/conferenceModuleRoomList/text()'));  
+        this.setAttribute('conferenceRoomModule',canvas.myConfigSet.getPointer().xpathQuery('config/conferenceRoomModule/text()'));  
+        this.setAttribute('restrictedRoomModule',canvas.myConfigSet.getPointer().xpathQuery('config/restrictedRoomModule/text()'));  
+        this.setAttribute('interviewRoomModule',canvas.myConfigSet.getPointer().xpathQuery('config/interviewRoomModule/text()'));  
+        this.setAttribute('userSettingsModule',canvas.myConfigSet.getPointer().xpathQuery('config/userSettingsModule/text()'));  
+        this.setAttribute('recordModule',canvas.myConfigSet.getPointer().xpathQuery('config/recordModule/text()'));
+          
+        this.setAttribute('httpRootKey',canvas.myConfigSet.getPointer().xpathQuery('config/httpRootKey/text()'));
+        this.setAttribute('protocol',canvas.myConfigSet.getPointer().xpathQuery('config/protocol/text()'));  
+        this.setAttribute('proxyType',canvas.myConfigSet.getPointer().xpathQuery('config/proxyType/text()'));
+
+		//set user color
+		canvas.currentusercolor = canvas.getColorForUser();
+
+        var lc_SID = lz.Browser.getInitArg('lc_SID');
+        
+        if($debug) Debug.write("lc_SID: ", lc_SID);
+        
+        if (lc_SID == undefined) {
+        	new lz.errorPopup(canvas,{'error':'You are loading the wrong SWF, there is no lz_SID given'});
+        	return;
+        }
+        
+        
+
+        this.setAttribute('lc_SID', lc_SID);
+        this.setAttribute('vid_lc_name', this.lc_SID + "__videoLC");
+        this.setAttribute('rtmp_lc_name', this.lc_SID + "__rtmpLC");
+        this.setAttribute('videoComp_lc_name', this.lc_SID + "__streamLC");
+        this.setAttribute('videoComp_lc_callback_name', this.lc_SID + "__streamLC_cback");
+
+        var videoComp_lc = new LocalConnection();
+        videoComp_lc.connect(this.videoComp_lc_name);
+        this.setAttribute('videoComp_lc', videoComp_lc);
+        
+        var t = this;
+    	canvas.videoComp_lc.regExpResult = function(tId,tResult) {
+      		t.regExpResult(tId,tResult);
+        }
+        canvas.videoComp_lc.exitRoom = function(confirm) {
+            if ($debug) Debug.write("confirm exitRoom:", confirm);
+            if (confirm) {
+                canvas.currentBaseConferenceRoom._screenSharingAdapter.closeAllScreenSharings();
+                if (canvas.appointmentNotificationPopUp != null) {
+                    canvas.appointmentNotificationPopUp.destroy();
+                }
+                canvas.doActionmenu('quit');
+            }
+        }
+    
+        mainBaseText.setAttribute('text',canvas.currentappname);
+        mainBaseText.setShadow();
+        mainBaseTextLabel.setAttribute('text',canvas.currentappnameurl);  
+        
+        var cleanUrl = _url;
+        
+        var hasParams = _url.indexOf("?");
+        if (hasParams != -1) {
+            cleanUrl = _url.substr(0,hasParams-1);
+        }
+        
+        if ($debug) Debug.write("_url ",_url,cleanUrl);
+        var doubleSlash = cleanUrl.indexOf("//");
+        var isNotPort80 = cleanUrl.indexOf(":", doubleSlash+2);
+        if ($debug) Debug.write("isNotPort80: ",isNotPort80,doubleSlash);
+        if (isNotPort80!=-1){
+            //Debug.write("isNotPort80: ",doubleSlash+2, _url.indexOf(":", doubleSlash+2)-doubleSlash-2);
+            var server = cleanUrl.substr(doubleSlash+2, _url.indexOf(":", doubleSlash+2)-doubleSlash-2); 
+        } else {
+            var server = cleanUrl.substr(doubleSlash+2, _url.indexOf("/", doubleSlash+2)-doubleSlash-2); 
+        }
+        
+        if ($debug) Debug.write("this zielnr: ",this,server);
+        
+        this.setAttribute('rtmphost',server);
+    
+        if (this.rtmphostlocal.length==0){
+            this.setAttribute('rtmphostlocal',server);
+        }
+        
+        //Check for Invitation
+        var invitationHash = lz.Browser.getInitArg('invitationHash');
+        
+        if ($debug) Debug.info("###################### -1 ");
+        if ($debug) Debug.info("invitationHash :: ",invitationHash);
+        
+        if (invitationHash != undefined){
+            canvas.isinitRoomDirect = true;
+            canvas.invitationHash = invitationHash;
+        }
+        
+        var secureHash = lz.Browser.getInitArg('secureHash');
+        if (secureHash != undefined){
+            canvas.secureRemoteUserLogin = true;
+            canvas.secureHash = secureHash;
+        }
+        
+        if ($debug) Debug.info("###################### -2 ");
+        
+        //sid=fe9ea55284e0b23991b1c1089b2c8f64&roomid=1
+        var sid = lz.Browser.getInitArg('sid');
+        var initroomid = lz.Browser.getInitArg('roomid');
+        if (sid != undefined && initroomid != undefined){
+            canvas.remoteUserLogin = true;
+            canvas.initroomid = initroomid;
+            canvas.remoteUserSid = sid;
+        }
+        
+        var directRoomId = lz.Browser.getInitArg('directRoomId');
+        if (directRoomId != undefined) {
+            canvas.directUserLogin = true;
+            canvas.directRoomId = directRoomId;
+        }
+        
+        var language = lz.Browser.getInitArg('language');
+        if (language != undefined) {
+            canvas.language_id = Number(language);
+        }
+    
+        //check for reset password
+        var hash = lz.Browser.getInitArg('hash');
+        if (hash!=undefined){
+            canvas.isResetUsername = true;
+            canvas.resetHash = hash;        
+        }
+        
+        var cuserItem = lz.Browser.getInitArg('cuser');
+        if (cuserItem!=undefined){
+            canvas.cuser = cuserItem;  
+            
+            //Lookup additional actions
+            var tAccept = lz.Browser.getInitArg('tAccept');
+            if (tAccept != undefined) {
+                canvas.cuserStatus = tAccept;
+            } else {
+                canvas.cuserStatus = "none";
+            }
+            
+        }
+        
+        var moodleRoom = lz.Browser.getInitArg('moodleRoom');
+        var becomemoderator = lz.Browser.getInitArg('becomemoderator');
+        
+        if (becomemoderator != undefined) {
+            if (becomemoderator == "2"){
+                canvas.becomemoderator = true;
+            } else {
+                canvas.becomemoderator = false;
+            }
+        }
+        
+        if (moodleRoom != undefined){
+            canvas.isMoodleRoom = true;
+            
+            var moodleWwwRoot = lz.Browser.getInitArg('wwwroot');
+            var moodleUserId = lz.Browser.getInitArg('user_id');
+            var moodlePicture = lz.Browser.getInitArg('picture');
+            
+            if (moodleWwwRoot != undefined) {
+                canvas.moodleWwwRoot = moodleWwwRoot;
+            }
+            if (moodleUserId != undefined) {
+                canvas.moodleUserId = Number(moodleUserId);
+            }
+            if (moodlePicture != undefined) {
+                canvas.moodlePicture = moodlePicture;
+            }
+        }
+        
+        
+        hib.protocollPort = canvas.rtmpport;
+        
+        if (canvas.useSSL) {
+            hib.protocollName = "rtmps";
+            hib.protocollPort = canvas.rtmpsslport;
+        }
+        
+        var scopeRoomId = lz.Browser.getInitArg('scopeRoomId');
+        if (scopeRoomId != undefined){
+            hib.userScope = scopeRoomId;
+        }
+        
+        this.setBaseColors();
+    
+        //Debug.write("rtmphostlocal,rtmphost: ",canvas.rtmphostlocal,canvas.rtmphost); 
+        var src = hib.getUrl();
+        
+        canvas.thishib.setAttribute('src',src);
+        canvas.thishib.loaderVar = new lz.autoLoader(canvas);
+        canvas.thishib.loaderVar._src.setAttribute('text',src);
+        canvas.thishib.connect();
+        ]]>
+    </method>
+    
+    <method name="getLabelName" args="id">
+        //if($debug) Debug.write("main.lzx/getLabelName()",id);
+        return getLabelTag(id);
+    </method>
+    
+    <!--
+        exportFilePNG exportFileJPG exportFilePDF exportFileSVG exportFileTIF
+     -->
+     
+    <method name="doWhiteboardActionmenu" args="action">
+        if (action == "exportFilePNG") {
+            canvas._drawarea.confirmSaveAsImageTypeExport("image","png");
+        } else if (action == "exportFileJPG") {
+            canvas._drawarea.confirmSaveAsImageTypeExport("image","jpg");
+        } else if (action == "exportFilePDF") {
+            canvas._drawarea.confirmSaveAsImageTypeExport("image","pdf");
+        } else if (action == "exportFileSVG") {
+            canvas._drawarea.confirmSaveAsImageExport("image");
+        } else if (action == "exportFileTIF") {
+            canvas._drawarea.confirmSaveAsImageTypeExport("image","tif");
+        }
+    </method>
+
+	<!---
+		Actions connected to the shortcuts
+	 -->
+    <method name="doActionmenu" args="stringSub">
+        <![CDATA[
+            if($debug) Debug.write("doActionmenu: ",stringSub);
+            if (canvas._conferencemenu.visibility == 'visible'){
+            	 if (stringSub == "invitation") {
+			        new lz.inviteMainWindow(canvas.main_content._content.inner);
+			    } else if (stringSub=='editWhiteboardDefault') {
+                    new lz.editWhiteboardDefault(canvas.main_content._content.inner);
+                } else if (stringSub=='createPoll') {
+                    new lz.createPollWin(canvas.main_content._content.inner);
+                } else if (stringSub=='pollResults') {
+                    this.getVotes.doCall();
+                } else if (stringSub=='checkPollVoted') {
+                    this.checkHasVoted.doCall();
+                } else if (stringSub=='importFile') {
+                    new lz.uploadWindowExplorer(canvas.main_content._content.inner,{
+                            x:60,uploadmodule:canvas.uploadmoduleimg,
+                            parentFolderId:0,
+                            isOwner:false,
+                            fileExplorerRef:null,
+                            isOnlyImage:true,
+                            servletName:'file.upload'
+                        });
+                } else if (stringSub=='applyForMod') {
+                    if ($debug) Debug.info("Apply For Mod through doActionmenu");
+                    //new lz.applyForModeration(canvas.main_content._content.inner);
+                    canvas.thishib.applyForModeration.doCall();
+                } else if (stringSub=='editCamMicSettings') {
+                    canvas._videocontainer._videoviewcontent.changeDevice();
+                } else if (stringSub=='showSipDialer') {
+                    new lz.sipDialer(canvas.main_content._content.inner);
+                } else if (stringSub=='quit') {
+                    
+                    quicklink('conferenceModuleRoomList')
+                
+                } else if( stringSub == "browser_open" ){
+                    var browserPanelWidth  = canvas.browserPanelWidth;
+                    var browserPanelHeight = canvas.browserPanelHeight;
+
+                    if ($debug) Debug.write( "is browser[open] ? ", canvas.main_content._content.inner.conferenceBrowser );
+                    if ($debug) Debug.write( "is browser[browserPanelWidth] ? ", browserPanelWidth );
+                    if ($debug) Debug.write( "is browser[browserPanelHeight] ? ", browserPanelHeight );
+
+                    if( !canvas.conferenceBrowserIsinited ){
+                        new lz.conferenceBrowser( canvas.main_content._content.inner,{
+                                                         name:'conferenceBrowser',y:30,
+                                                         width:canvas.width-220, 
+                                                         height:canvas.height-100,
+                                                         width:browserPanelWidth, 
+                                                         height:browserPanelHeight
+                                                     });
+                    } else{
+                    with( canvas.main_content._content.inner ){
+                            conferenceBrowser.htmlviewer.setVisible( true );
+                            conferenceBrowser.setVisible( true );
+                    }
+                }
+             } else if( stringSub == "browser_close" ){
+                if ($debug) Debug.write( "is browser[close] ? ", canvas.main_content._content.inner.conferenceBrowser );
+                with( canvas.main_content._content.inner ){
+                    if( conferenceBrowser  != undefined ){
+                            conferenceBrowser.htmlviewer.setVisible( false );
+                            conferenceBrowser.setVisible( false );
+                    }
+                }
+            }
+          }
+        ]]>
+    </method> 
+    
+    <method name="startBrowser" args="objMessage">
+        <![CDATA[
+            if( !canvas.conferenceBrowserIsinited ){
+                        if ($debug) Debug.write( "if this" );
+                new lz.conferenceBrowser(canvas.main_content._content.inner,{
+                                             name:'conferenceBrowser',y:30,
+                                             width:canvas.width-220, 
+                                             height:canvas.height-100,
+                                             initedByUser:false,
+                                             initURL:objMessage[1]
+                                        });
+            } else{Debug.write( "else this" );
+                with( canvas.main_content._content.inner ){
+                        conferenceBrowser.htmlviewer.setVisible( true );
+                        conferenceBrowser.setVisible( true );
+                        conferenceBrowser.newBrowserURL(objMessage[1]);
+                }
+            }
+        ]]>
+    </method>   
+    
+    <method name="closeBrowser" args="objMessage">
+        <![CDATA[
+            if( canvas.conferenceBrowserIsinited ){
+                with( canvas.main_content._content.inner ){
+                        conferenceBrowser.close();
+                }
+            }
+        ]]>
+    </method>
+    
+    <netRemoteCallHib name="getVotes" funcname="pollservice.getVotes" remotecontext="$once{ canvas.thishib }" >
+        <handler name="ondata" args="value">
+            new lz.resultPollWin(canvas.main_content._content.inner, {roomPoll: value});
+        </handler>   
+    </netRemoteCallHib>  
+        
+    <netRemoteCallHib name="checkHasVoted" funcname="pollservice.checkHasVoted" remotecontext="$once{ canvas.thishib }" >
+        <handler name="ondata" args="value">
+            <![CDATA[
+                      if (value==1){
+                        parent.getPoll.doCall();
+                      } else if (value==-1){
+                        new lz.messageWin(canvas.main_content._content.inner,{labeliderror:31});
+                      } else if (value==-2){
+                            new lz.messageWin(canvas.main_content._content.inner,{labeliderror:41});
+                }
+            ]]>
+        </handler>   
+    </netRemoteCallHib> 
+    
+    <netRemoteCallHib name="getPoll" funcname="pollservice.getPoll" remotecontext="$once{ canvas.thishib }" >
+        <handler name="ondata" args="value">
+            <![CDATA[
+                if (value!=null){
+                    if ($debug) Debug.write(":: getPoll: ", value);
+                     new lz.answerPoll(
+                        canvas.main_content._content.inner
+                        , {
+                            createdBy: value.createdBy.login
+                            , pollDate: value.created
+                            , pollQuestion: value.pollQuestion
+                            , pollTypeId: value.pollType.pollTypesId
+                            , roomPollAnswerList: value.roomPollAnswerList
+                            , roomPollId: value.roomPollId
+                            , roomScopeName: value.roomScopeName
+                        }
+                     );
+                }
+            ]]>
+        </handler>
+    </netRemoteCallHib> 
+    
+    <method name="setRoomValues" args="roomTypeId,roomId,roomObj">
+        if ($debug) Debug.warn("setRoomValues ",roomTypeId,roomId,roomObj);
+        if (roomTypeId==1){
+                canvas.isConference = true;
+            } else {
+                canvas.isConference = false;
+        }
+        
+        //this is needed cause in the rpc-method *getCurrentModeratorList* we check if its roomtype_id == 3
+        //and if roomtype_id == 3 we will not show any *There is no Moderator* Warning Dialog
+        canvas.currentRoomObject = roomObj;
+        
+        hib.currentroomid = roomId;
+        if (roomObj!=null){
+            if (roomTypeId==1){
+                
+                new lz.testSetup(canvas,{isDirectLink:true,roomClassName:canvas.conferenceRoomModule,roomObj:roomObj});
+                 
+            } else if (roomTypeId==2){
+                
+                new lz.testSetup(canvas,{isDirectLink:true,roomClassName:canvas.restrictedRoomModule,roomObj:roomObj});
+                new lz.labelerrorPopup(canvas,{error:'No RoomType currently available for roomTypeId 2'});
+                 
+            } else if (roomTypeId==3){
+                
+                new lz.testSetup(canvas,{isDirectLink:true,roomClassName:canvas.restrictedRoomModule,roomObj:roomObj});
+                 
+            } else if (roomTypeId==4){
+                
+                new lz.testSetup(canvas,{isDirectLink:true,roomClassName:canvas.interviewRoomModule,roomObj:roomObj});
+                 
+            } else if (roomTypeId==5){
+                
+                new lz.testSetup(canvas,{isDirectLink:true,roomClassName:canvas.customRoomModule,roomObj:roomObj});
+                 
+            } 
+        }
+    </method>
+    
+	<method name="roomClosed">
+	    <![CDATA[
+	        if ($debug) Debug.write("canvas.currentRoomObject ",canvas.currentRoomObject);
+	        new lz.redirectBox(canvas,{redirectURL:canvas.currentRoomObject.redirectURL});
+	    ]]>
+	</method>
+                 
+        
+
+	
+	<method name="parseLanugageObject" args="obj">
+	
+	    ////Debug.write('parseLanugageObject: ',obj);
+	    ////Debug.write('parseLanugageObject: ',obj.childNodes);
+	    <![CDATA[
+	    var t = new Array();
+	    for (var i=0;i<obj.childNodes.length;i++){
+	        for (var k=0;k<obj.childNodes[i].childNodes.length;k++){
+	            ////Debug.write(obj.childNodes[i].childNodes[k]);
+	            var t2 = new Array();
+	            t2[obj.childNodes[i].childNodes[k].childNodes[0].nodeName]=obj.childNodes[i].childNodes[k].childNodes[0].childNodes[0].data;
+	            t2[obj.childNodes[i].childNodes[k].childNodes[1].nodeName]=obj.childNodes[i].childNodes[k].childNodes[1].childNodes[0].data;
+	            t.push(t2);
+	        }
+	    }
+	    setLabelObject(t);
+	    canvas.initScreen();
+	    //Debug.write(t);
+	    ]]>
+	</method>
+	
+	<!-- Data Source Definition -->
+	<dataset name="getSessionVarsData" request="false" proxied="false"
+	    querytype="POST" src="${ 'http://'+canvas.rtmphost+'/webrooms/checksession.php' }" 
+	    type="http" >
+	    <handler name="ondata" args="value">
+	    
+	        //Debug.write(value);
+	        canvas.setAttribute('currentcourse',value.childNodes[0].childNodes[0].childNodes[0].childNodes[0].data);
+	        canvas.setAttribute('currentcourseName',canvas.currentcourse);
+	        canvas.setAttribute('currentcourseNameLong',value.childNodes[0].childNodes[0].childNodes[1].childNodes[0].data);
+	        canvas.setAttribute('currentlanguage',value.childNodes[0].childNodes[0].childNodes[8].childNodes[0].data);
+	
+	        canvas.setAttribute('currentusename',value.childNodes[0].childNodes[1].childNodes[2].childNodes[0].data+' '+value.childNodes[0].childNodes[1].childNodes[1].childNodes[0].data);
+	        
+	        canvas.setAttribute('user_id',value.childNodes[0].childNodes[1].childNodes[0].childNodes[0].data);
+	        canvas.setAttribute('firstName',value.childNodes[0].childNodes[1].childNodes[1].childNodes[0].data);
+	        canvas.setAttribute('lastName',value.childNodes[0].childNodes[1].childNodes[2].childNodes[0].data);
+	        canvas.setAttribute('mail',value.childNodes[0].childNodes[1].childNodes[3].childNodes[0].data);
+	        canvas.setAttribute('lastLogin','');
+	        canvas.setAttribute('official_code',value.childNodes[0].childNodes[1].childNodes[5].childNodes[0].data);
+	        canvas.setAttribute('picture_uri','');
+	        canvas.setAttribute('language',value.childNodes[0].childNodes[1].childNodes[7].childNodes[0].data);
+	
+	        //Debug.write(value.childNodes[0].childNodes[1].childNodes[0].childNodes[0].data);
+	        //Debug.write(value.childNodes[0].childNodes[1].childNodes[1].childNodes[0].data);
+	        //Debug.write(value.childNodes[0].childNodes[1].childNodes[2].childNodes[0].data);
+	        //Debug.write(value.childNodes[0].childNodes[1].childNodes[3].childNodes[0].data);
+	        //Debug.write(value.childNodes[0].childNodes[1].childNodes[4].childNodes[0].data);
+	        //Debug.write(value.childNodes[0].childNodes[1].childNodes[5].childNodes[0].data);
+	        //Debug.write(value.childNodes[0].childNodes[1].childNodes[6].childNodes[0].data);
+	        //Debug.write(value.childNodes[0].childNodes[1].childNodes[7].childNodes[0].data);
+	        
+	        switch (canvas.currentlanguage){
+	            case 'english':
+	            break;
+	            case 'german':
+	            break;
+	            case 'french':
+	            break;          
+	            default:
+	            canvas.setAttribute('currentlanguage','english');
+	            break;
+	        }
+	        
+	        var addIt='conf';
+	        if (!canvas.isConference){
+	            addIt='meet'
+	        }
+	        canvas.setAttribute('currentcourse',canvas.rtmphost+canvas.currentcourse+addIt);
+	        canvas.setAttribute('currentuser',value.childNodes[0].childNodes[1].childNodes[5].childNodes[0].data);
+	        
+	        canvas.setAttribute('loadingmessage','loading language data');
+	        canvas.languageData.doRequest();
+	    </handler>
+	</dataset>
+	
+	<method name="addBrowserTabHistory" args="value">
+	    <![CDATA[
+	    //Debug.write("addBrowserTabHistory: ",value);
+	    _browserhistory.addItem(value);
+	    this.browserTabHistory.push(value);
+	    ]]>
+	</method>
+	  
+	<!---
+	@doc The function does compare the new moderator list with the old and prepares the list 
+		the removeModeratorList is used in the performance optimized user list of the restricted 
+		room type to re-render the list items only if really something has changed in any 
+		of the user list items
+	 -->
+	<method name="analyzeModerationList" args="newList">
+	    <![CDATA[
+	    
+	       canvas.newModeratorList = new Array();
+	       canvas.removeModeratorList = new Array();
+	       
+	       if (canvas.currentModeratorList != null) {
+	           for (var i=0;i<canvas.currentModeratorList.length;i++) {
+	                canvas.currentModeratorList[i].found = false;
+	           }
+	       
+	           for (var i=0;i<canvas.currentModeratorList.length;i++) {
+	                
+	                for (var k=0;k<newList.length;k++) {
+	                    if (newList[k].publicSID == canvas.currentModeratorList[i].publicSID) {
+	                        canvas.currentModeratorList[i].found = true;
+	                    }
+	                }
+	            }
+	        }
+	        
+	        for (var k=0;k<newList.length;k++) {
+	            newList[k].found = false;
+	        }
+	       
+	        for (var k=0;k<newList.length;k++) {
+	        	if (canvas.currentModeratorList != null) {
+	                for (var i=0;i<canvas.currentModeratorList.length;i++) {
+	                    if (newList[k].publicSID == canvas.currentModeratorList[i].publicSID) {
+	                        newList[k].found = true;
+	                    }
+	                }
+	        	}
+	        }
+	        
+	        for (var k=0;k<newList.length;k++) {
+	            if (!newList[k].found) {
+	                canvas.newModeratorList.push(newList[k]);
+	            }
+	        }
+	        
+	        if (canvas.currentModeratorList != null) {
+	            for (var i=0;i<canvas.currentModeratorList.length;i++) {
+	                
+	                if (!canvas.currentModeratorList[i].found) {
+	                    canvas.removeModeratorList.push(canvas.currentModeratorList[i])
+	                }
+	            }
+	        }
+	        
+	        if ($debug) Debug.write("newModeratorList :: ",canvas.newModeratorList);
+	        if ($debug) Debug.write("removeModeratorList :: ",canvas.removeModeratorList);
+	    ]]>
+	</method>
+	
+	<!---
+		Updates the "ismoderator" flag
+		the setAttribute method will broadcast an event to all event listeners that 
+		did subscribe using the "onismoderator" handler with reference to canvas !
+		For example in the userlist's of the roomtypes
+	 -->
+	<method name="updateModerationFlag">
+	    <![CDATA[
+	        if ($debug) Debug.write("updateModerationFlag",canvas.currentModeratorList);
+	        var isCurrentModerator = false;
+	        for (var i=0;i<canvas.currentModeratorList.length;i++) {
+	            var item = canvas.currentModeratorList[i];
+	            if (canvas.publicSID == item.publicSID) {
+	                isCurrentModerator = true;
+	            }
+	        }
+	        
+	        //Only send this event if the current user moderators status changes
+	        if (isCurrentModerator != this.ismoderator) {
+		        canvas.sendViaLocalConnection(canvas.vid_lc_name, "updateModerationFlag", [isCurrentModerator]);
+	        }
+	        
+	        // do always spread this event, we need to broadcast the "onismoderator" event
+	        // so that we can update the status of other users in the user list
+	        this.setAttribute('ismoderator',isCurrentModerator);
+	    ]]>
+	</method> 
+	
+	<!---
+		Checks if a certain publicSID is a moderator
+	 -->
+	<method name="getIsModeratorByPublicSID" args="publicSID">
+	    <![CDATA[
+	        for (var i=0;i<canvas.currentModeratorList.length;i++) {
+	            var item = canvas.currentModeratorList[i];
+	            if (publicSID == item.publicSID) {
+	                return true;
+	            }
+	        }
+	        return false;
+	    ]]>
+	</method>
+	 
+	<!---
+		Sets the flags isAllowedToDraw, isAllowedToScreenShare, isAllowedToRemoteControl 
+		and broadcasts the three rights to SWF10 container
+	 -->
+	<method name="setDrawAllowStatus" args="roomClientObj">
+	    <![CDATA[
+	        if ($debug) Debug.write("drawAllowStatus changes ###### ");
+	        if (roomClientObj.publicSID==canvas.publicSID) {
+	            canvas.setAttribute("isAllowedToDraw",roomClientObj.canDraw);
+	            canvas.setAttribute("isAllowedToScreenShare",roomClientObj.canShare);
+	            canvas.setAttribute("isAllowedToRemoteControl",roomClientObj.canRemote);
+	            canvas.sendViaLocalConnection(canvas.vid_lc_name, "setDrawAllowStatus", [roomClientObj.canDraw, roomClientObj.canShare, roomClientObj.canRemote]);
+	        }
+	    ]]>
+	</method>
+	
+	<!---
+		Sets the flag for the isAllowedToGiveExclusiveAudio status and broadcasts it to the 
+		SWF10 container
+	 -->
+	<method name="setExclusiveAudioAllowStatus" args="roomClientObj">
+	    <![CDATA[
+	        if ($debug) Debug.write("giveExclusiveAudioStatus changes ###### ");
+	        if (roomClientObj.publicSID==canvas.publicSID) {
+	            canvas.setAttribute("isAllowedToGiveExclusiveAudio",roomClientObj.canGiveAudio);
+	            canvas.sendViaLocalConnection(canvas.vid_lc_name, "setExclusiveAudioAllowStatus", [roomClientObj.canGiveAudio]);
+	        }
+	    ]]>
+	</method>
+	
+	<method name="setMuteStatus" args="roomClientObj">
+	    <![CDATA[
+	        if ($debug) Debug.write("setMuteStatus changes ###### ",roomClientObj.micMuted);
+	        //Check for self status
+	        if (roomClientObj.publicSID==canvas.publicSID) {
+	            canvas.setAttribute("micMuted",roomClientObj.micMuted);
+	        }
+	        
+	        canvas._videocontainer.updateMuteStatusVideoView(roomClientObj);
+	        
+	        //Notify all Listeners for change of the item
+	        canvas.setAttribute("micMutedStatusChangedItem",roomClientObj);
+	    ]]>
+	</method>
+	
+	<method name="addFolderSequence" args="foldername">
+	    <![CDATA[
+	    this.uploadmoduleimgfolder = '/';
+	    this.uploadmoduleimgfolder += foldername;
+	    this.setAttribute('uploadmoduleimgfolder',this.uploadmoduleimgfolder);
+	    ]]>
+	</method>
+	    
+	    
+	<!-- country validation -->
+	<method name="validateCountry" args="str">
+	    ////Debug.write("validateCountry: ",str);
+	    str = str.toLowerCase();
+	    <![CDATA[
+	        if (str.length!=0){
+	            var a = new Array();
+	            for (var i=0;i<canvas.statesInitValues.length;i++){
+	                var st = canvas.statesInitValues[i].name.toLowerCase();
+	                if (st.startsWith(str))a.push(canvas.statesInitValues[i]);
+	                //this.addItem(canvas.statesInitValues[i].name,canvas.statesInitValues[i].state_id);
+	            }
+	            return a;
+	        }
+	    ]]> 
+	</method>
+	    
+	<method name="getCountryRecord" args="id">
+	    return canvas.statesInitValues[id];
+	</method>
+	    
+	<handler name="onmousewheeldelta" reference="lz.Keys" args="d">
+	    var obj = getCurrentMouseWheelObject();
+	    ////Debug.write("onmousewheeldelta 12: ",d,obj);
+	    <![CDATA[
+	        if (obj!=null) {
+	            obj.step(-d);
+	        }
+	    ]]>
+	</handler>    
+	
+	<method name="reverseWordingsBySplit" args="str">
+	    <![CDATA[
+	        var words_arr = str.split( " " ); // an array of chars
+	        for ( var i = 0, str = ""; i < words_arr.length; i++ ) // reverse their order
+	        {
+	            str += words_arr[ words_arr.length - i - 1 ];
+	            if (words_arr.length != 1) {
+	                str += " ";
+	            }
+	        }
+	        return str;
+	        
+	    ]]>
+	</method> 
+	
+	<method name="reverseAll" args="str">
+	    <![CDATA[
+	        var words_arr = str.split( "" ); // an array of chars
+	        for ( var i = 0, str = ""; i < words_arr.length; i++ ) // reverse their order
+	        {
+	            str += words_arr[ words_arr.length - i - 1 ];
+	            
+	        }
+	        return str;
+	        
+	    ]]>
+	</method> 
+	    
+	<method name="reverseWords" args="str">
+	    <![CDATA[
+	        if ( str == "" || str == null ) return ""; // undefined
+	        // first char indicates the main directive of str (rtl/ltr)
+	        if ( isLTR( str.charCodeAt( 0 ) ) ) return str; // english or number
+	        var words_arr = str.split( "" ); // an array of chars
+	        for ( var i = 0, str = ""; i < words_arr.length; i++ ) // reverse their order
+	            str += words_arr[ words_arr.length - i - 1 ];
+	        return str;
+	    ]]>
+	</method>
+	    
+	<method name="isLTR" args="c">
+	    <![CDATA[
+	        return ( c >= 48 && c <= 57 || c >= 65 && c <= 90 || c >= 97 && c <= 122 );
+	    ]]>
+	</method>
+	
+	<method name="isHEB" args="c">
+	    <![CDATA[
+	        return ( c >= 224 && c <= 250 );
+	    ]]>
+	</method>    
+	
+	<method name="setTextAlign" args="obj,type">
+	    switch ( type ) {
+	        case "left" :
+	            obj.setX( 0 );
+	        break;
+	        case "center" :
+	            obj.setX( this.parent.width / 2 - this.getTextWidth() / 2 );
+	        break;
+	        case "right" :
+	            obj.setX( this.parent.width - this.getTextWidth() );
+	        break;
+	    }
+	</method>  
+	
+	<method name="initSharedObject">
+	    if (canvas.sharedObject == null) {
+	        if($debug) Debug.write("canvas.initSharedObject sharedObject IS null");
+	        canvas.sharedObject = new lz.sharedObject();
+	        canvas.sharedObject.getLocal('userdata');
+	    }
+	</method>
+	
+	<method name="getUserData">
+	    canvas.initSharedObject();
+	    var g = canvas.sharedObject.getData('userdata');
+	    if (g==null) {
+	        if($debug) Debug.write("sharedObject.getData IS null");
+	        g = new Array();
+	    }
+	    return g;
+	</method>
+	
+	<method name="setUserData" args="g">
+	    canvas.initSharedObject();
+	    canvas.sharedObject.setData('userdata', g);
+	    canvas.sharedObject.flush();
+	</method>
+	
+	<attribute name="regExpCounter" value="0" type="number" />
+	<attribute name="regExpResultArray" value="null" />
+	
+	<method name="doRegExpCheck" args="fieldValue,regExpV">
+		this.regExpCounter = this.regExpCounter +1;
+		canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "regExpTest", [fieldValue, regExpV, this.regExpCounter]);
+		return this.regExpCounter;
+	</method>
+	
+	<method name="regExpResult" args="tId,tResult">
+		if (this.regExpResultArray == null) {
+			this.regExpResultArray = new Array();
+		}
+		this.regExpResultArray[tId] = tResult;
+		if ($debug) Debug.write("regExpResult ",tId,tResult);
+	</method>
+	
+	<method name="checkRegExpResult" args="tId">
+		return this.regExpResultArray[tId];
+	</method>
+	
+	
+	<method name="getThemeImage" args="tName">
+		//if ($debug) Debug.write("load Image by Name: ",tName);
+		var tPath = canvas.mainTheme.getPointer().xpathQuery("theme/resource[@name='"+tName+"']/@src");
+		//if ($debug) Debug.write("tPath "+tPath);
+		if (tPath == null) {
+			if ($debug) Debug.warn("getThemeImage - No Image found for config: ",tName);
+		}
+		return tPath;
+	</method>
+	
+	<method name="getThemeColor" args="tColor">
+		//if ($debug) Debug.write("load Color by Name: ",tColor);
+		var tResColor = canvas.mainTheme.getPointer().xpathQuery("theme/color[@name='"+tColor+"']/@value");
+		//if ($debug) Debug.write("tColor "+tColor);
+		if (tResColor == null) {
+			if ($debug) Debug.warn("getThemeColor - No Color found for config: ",tColor);
+		}
+		return tResColor;
+	</method>
+	
+	<method name="setBaseColors">
+		defaultstyle.setAttribute("basecolor",canvas.getThemeColor('basebgcolorizer'));
+		itemStyle.setAttribute("basecolor",canvas.getThemeColor('basebgcolorizer'));
+		menuStyle.setAttribute("basecolor",canvas.getThemeColor('styleMenuBarBaseColor'));
+		_conferencemenu.setAttribute("bgcolor",canvas.getThemeColor('baseMousecolorizer'));
+		_mainbgcontentNavi.setAttribute("bgcolor",canvas.getThemeColor('mainBackgroundColor'));
+		main_content.setAttribute("bgcolor",canvas.getThemeColor('mainBackgroundColor'));
+	</method>
+	
+	<method name="sendViaLocalConnection" args="lc_name,methodName,tArray">
+		if ($debug) Debug.info("sendViaLocalConnection ",lc_name,methodName); //,tArray
+		if (tArray == null || tArray.length == 0) {
+			canvas.lc.send(lc_name,methodName);
+		} else if (tArray.length == 1) {
+			canvas.lc.send(lc_name,methodName,tArray[0]);
+		} else if (tArray.length == 2) {
+			canvas.lc.send(lc_name,methodName,tArray[0],tArray[1]);
+		} else if (tArray.length == 3) {
+			canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2]);
+		} else if (tArray.length == 4) {
+			canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2],tArray[3]);
+		} else if (tArray.length == 5) {
+			canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2],tArray[3],tArray[4]);
+		} else if (tArray.length == 6) {
+			canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2],tArray[3],tArray[4],tArray[5]);
+		} else if (tArray.length == 7) {
+			canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2],tArray[3],tArray[4],tArray[5],tArray[6]);
+		} else if (tArray.length == 8) {
+			canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2],tArray[3],tArray[4],tArray[5],tArray[6],tArray[7]);
+		} else if (tArray.length == 9) {
+			canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2],tArray[3],tArray[4],tArray[5],tArray[6],tArray[7],tArray[8]);
+		} else if (tArray.length == 10) {
+			canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2],tArray[3],tArray[4],tArray[5],tArray[6],tArray[7],tArray[8],tArray[9]);
+		} else {
+			if ($debug) Debug.error("tArray in sendViaLocalConnection longer then allowed")
+		}
+	</method>
+	
+</library>
diff --git a/WebContent/src/base/moduleConfiguration.lzx b/WebContent/src/base/moduleConfiguration.lzx
new file mode 100644
index 0000000..434d367
--- /dev/null
+++ b/WebContent/src/base/moduleConfiguration.lzx
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<library>
+<!-- 
+##########################################################
+these properties can be overwritten by config.xml -->  
+   
+   
+<!-- #############################################
+    Admin Modules
+  -->   
+    
+<attribute name="adminModuleUser" value="userAdmin" type="string" />
+
+<attribute name="adminModuleRoom" value="roomAdmin" type="string" />
+
+<attribute name="adminModuleOrg" value="orgAdmin" type="string" />
+
+<attribute name="adminModuleLanguages" value="languagesEditor" type="string" />
+
+<attribute name="adminModuleConnections" value="roomClient" type="string" />
+
+<attribute name="adminModuleConfiguration" value="confAdmin" type="string" />
+
+<attribute name="adminModuleLDAP" value="ldapAdmin" type="string" />
+
+<attribute name="adminModuleBackup" value="backupContent" type="string" />
+
+
+<!-- #############################################
+    Moderator Modules
+ -->
+
+<attribute name="moderatorModuleUser" value="userModerate" type="string" />
+
+<attribute name="moderatorModuleRoom" value="roomModerate" type="string" />
+
+
+<!-- #############################################
+    Dashboard Modules
+ -->
+
+<attribute name="dashboardModuleStartScreen" value="mainDashboard" type="string" />
+
+<attribute name="dashboardModuleCalendar" value="myScheduledMeetings" type="string" />
+
+
+<!-- Conference Room Modules -->
+
+<attribute name="conferenceModuleRoomList" value="allmeetings" type="string" />
+
+
+<!-- #############################################
+    Conference Room
+ -->
+
+<attribute name="conferenceRoom" value="conferenceView" type="string" />
+
+
+<!-- #############################################
+    Restricted Room
+    
+    Room Layouts: flexibleRestrictedConferenceRoom,restrictedConferenceRoom
+ -->
+<attribute name="restrictedRoomModule" value="restrictedConferenceRoom" type="string" />
+
+<!-- #############################################
+    Custom Room
+ -->
+
+<attribute name="customRoomModule" value="flexibleCustomRoom" type="string" />
+
+<!-- #############################################
+    Event Room
+    
+    Room Layouts: interviewConferenceRoom
+ -->
+<attribute name="interviewRoomModule" value="interviewConferenceRoom" type="string" />
+
+<!-- #############################################
+    Event Room Modules
+ -->
+
+<attribute name="recordModule" value="recordContent" type="string" />
+
+<!-- #############################################
+    Profiles Panel Modules
+ -->
+
+<attribute name="userSettingsModule" value="userSettings" type="string" />
+
+</library>
diff --git a/WebContent/src/base/navi/helpAndBugs.lzx b/WebContent/src/base/navi/helpAndBugs.lzx
new file mode 100644
index 0000000..dc86266
--- /dev/null
+++ b/WebContent/src/base/navi/helpAndBugs.lzx
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="helpAndBugs" extends="view" x="${ parent.width-470 }" layout="axis:x;spacing:2">
+    <view name="btn0" width="180" height="26">
+        <handler name="onmouseover">
+            this._bg.setAttribute("visibility","visible");
+        </handler>
+        <handler name="onmouseout">
+            this._bg.setAttribute("visibility","hidden");
+        </handler>
+        <handler name="onclick">
+        	canvas.userSettingsModuleOpt = "contactMessages";
+            quicklinkAct("userSettingsModule");
+        </handler>
+        <view name="_bg" visibility="hidden" width="$once{ parent.width }" y="4" opacity="0.4"
+            bgcolor="$once{ canvas.getThemeColor('baseMouseOvercolorizer') }" height="$once{ parent.height-4 }" />
+        <labelText labelid="1188" x="10" y="6" fontsize="12" fgcolor="$once{ canvas.fontColorHeader }"/>
+    </view>
+    <view bgcolor="0x3C86C3" y="10" height="10" width="1" />
+    <view name="btn1" width="80" height="26">
+        <handler name="onmouseover">
+            this._bg.setAttribute("visibility","visible");
+        </handler>
+        <handler name="onmouseout">
+            this._bg.setAttribute("visibility","hidden");
+        </handler>
+        <handler name="onclick">
+        	canvas.userSettingsModuleOpt = "userProfile";
+            quicklinkAct("userSettingsModule");
+        </handler>
+        <view name="_bg" visibility="hidden" width="$once{ parent.width }" y="4" opacity="0.4"
+            bgcolor="$once{ canvas.getThemeColor('baseMouseOvercolorizer') }" height="$once{ parent.height-4 }" />
+        <labelText labelid="5" x="10" y="6" fontsize="12" fgcolor="$once{ canvas.fontColorHeader }"/>
+    </view>
+    <view bgcolor="0x3C86C3" y="10" height="10" width="1" />
+    <view name="btn3" width="80" height="26">
+    	<handler name="onmouseover">
+            this._bg.setAttribute("visibility","visible");
+        </handler>
+        <handler name="onmouseout">
+            this._bg.setAttribute("visibility","hidden");
+        </handler>
+        <handler name="onclick">
+            quicklinkAct('logout');
+        </handler>
+        <view name="_bg" visibility="hidden" width="$once{ parent.width }" y="4" opacity="0.4"
+            bgcolor="$once{ canvas.getThemeColor('baseMouseOvercolorizer') }" height="$once{ parent.height }" />
+        <labelText labelid="310" x="10" y="6" fontsize="12" fgcolor="$once{ canvas.fontColorHeader }"/>
+    </view>
+    <view bgcolor="0x3C86C3" y="10" height="10" width="1" />
+    <view name="btn2" width="120" height="26">
+    	<handler name="onmouseover">
+            this._bg.setAttribute("visibility","visible");
+        </handler>
+        <handler name="onmouseout">
+            this._bg.setAttribute("visibility","hidden");
+        </handler>
+        <handler name="onclick">
+            lz.Browser.loadURL(canvas.currentappnamebugurl,"_blank");
+        </handler>
+        <view name="_bg" visibility="hidden" width="$once{ parent.width-4 }" y="4" opacity="0.4"
+            bgcolor="$once{ canvas.getThemeColor('baseMouseOvercolorizer') }" height="$once{ parent.height-4 }" />
+        <labelText labelid="284" x="10" y="6" fontsize="12" fgcolor="$once{ canvas.fontColorHeader }"/>
+    </view>
+</class>
+	
+
+<class name="helpAndBugs2" extends="view" x="${ parent.width-290 }" layout="axis:x">
+    <view name="btn1" width="80">
+        <view name="v1a" resource="cl_navibar_rsc" />
+        <view name="v1b" x="10" width="$once{ parent.width-10 }"
+            stretches="width" resource="navibar_rsc" />
+
+        <view name="v2a" resource="cl_navibarbtn_rsc" visibility="hidden"/>
+        <view name="v2b" x="10" width="$once{ parent.width-10 }" visibility="hidden"
+            stretches="width" resource="mainnavi_rsc" />
+
+        <handler name="onmouseover">
+            this.v1a.setAttribute('visibility','hidden');
+            this.v1b.setAttribute('visibility','hidden');
+            this.v2a.setAttribute('visibility','visible');
+            this.v2b.setAttribute('visibility','visible');
+        </handler>
+        <handler name="onmouseout">
+            this.v1a.setAttribute('visibility','visible');
+            this.v1b.setAttribute('visibility','visible');
+            this.v2a.setAttribute('visibility','hidden');
+            this.v2b.setAttribute('visibility','hidden');
+        </handler>
+        <labelText labelid="5" x="10" y="6" fontsize="14" width="150" />
+        <handler name="onclick">
+            quicklinkAct("userSettingsModule");
+        </handler>
+
+    </view>
+    <view name="btn3" width="80">
+
+        <view name="v1b" width="$once{ parent.width }"
+            stretches="width" resource="navibar_rsc" />
+
+        <view name="v2b" width="$once{ parent.width }" visibility="hidden"
+            stretches="width" resource="mainnavi_rsc" />
+
+        <handler name="onmouseover">
+            this.v1b.setAttribute('visibility','hidden');
+            this.v2b.setAttribute('visibility','visible');
+        </handler>
+        <handler name="onmouseout">
+            this.v1b.setAttribute('visibility','visible');
+            this.v2b.setAttribute('visibility','hidden');
+        </handler>
+        <labelText labelid="310" x="10" y="6" fontsize="14" width="150" />
+        <handler name="onclick">
+            quicklinkAct('logout');
+        </handler>
+
+    </view>
+    <view name="btn2" width="120">
+
+        <view name="v1b" width="$once{ parent.width-10 }"
+            stretches="width" resource="navibar_rsc" />
+        <view name="v1a"  x="$once{ parent.width-10 }"
+            resource="cr_navibar_rsc" />
+
+        <view name="v2b" width="$once{ parent.width-10 }" visibility="hidden"
+            stretches="width" resource="mainnavi_rsc" />
+        <view name="v2a" x="$once{ parent.width-10 }"
+            resource="cr_navibarbtn_rsc" visibility="hidden"/>
+
+        <handler name="onmouseover">
+            this.v1a.setAttribute('visibility','hidden');
+            this.v1b.setAttribute('visibility','hidden');
+            this.v2a.setAttribute('visibility','visible');
+            this.v2b.setAttribute('visibility','visible');
+        </handler>
+        <handler name="onmouseout">
+            this.v1a.setAttribute('visibility','visible');
+            this.v1b.setAttribute('visibility','visible');
+            this.v2a.setAttribute('visibility','hidden');
+            this.v2b.setAttribute('visibility','hidden');
+        </handler>
+        <labelText labelid="284" x="10" y="6" fontsize="14" width="150" />
+        <handler name="onclick">
+            lz.Browser.loadURL(canvas.currentappnamebugurl,"_blank");
+        </handler>
+
+    </view>
+
+    <handler name="oninit">
+        this.setShadow();
+    </handler>
+    <method name="setShadow" >
+        <![CDATA[
+        if (this.isinited){
+            this.normalMC = this.getDisplayObject();
+               this.displacementMap = new flash.filters.DropShadowFilter();
+            this.normalMC.filters = [this.displacementMap];
+        }
+        ]]>
+    </method>
+
+</class>
+
+</library>
diff --git a/WebContent/src/base/navi/library.lzx b/WebContent/src/base/navi/library.lzx
new file mode 100644
index 0000000..ed96e8a
--- /dev/null
+++ b/WebContent/src/base/navi/library.lzx
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+    <!-- 
+    Icon from FamFam Icon Set
+     -->
+    <resource name="bullet_arrow_down_rsc">
+    	<frame src="resources/bullet_arrow_down.png" /> 
+    	<frame src="resources/bullet_arrow_down_dark.png" /> 
+    </resource>
+    
+    <include href="helpAndBugs.lzx" />
+    <include href="mainNavi.lzx" />
+
+</library>
diff --git a/WebContent/src/base/navi/mainNavi.lzx b/WebContent/src/base/navi/mainNavi.lzx
new file mode 100644
index 0000000..1348a1f
--- /dev/null
+++ b/WebContent/src/base/navi/mainNavi.lzx
@@ -0,0 +1,329 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="textBoxSubBlank" extends="text" text="$once{ parent.text }"
+    fgcolor="0x000000" fontstyle="bold"
+        fontsize="14" y="6" x="10" />
+
+
+<class name="baseDropDownMenuListItem" extends="view" height="36">
+
+    <attribute name="action" value="" type="string" />
+
+    <attribute name="isopen" value="false" type="boolean" />
+    <attribute name="isleaf" value="false" type="boolean" />
+    <attribute name="list" value="null" />
+    <attribute name="textvalue" value="" type="string" />
+    <attribute name="selected" value="false" type="boolean" />
+    <attribute name="textToolTip" value="" type="string" />
+    
+    <attribute name="isSpacer" value="false" type="boolean" />
+    <attribute name="text" value="" type="string" />
+    
+    <handler name="onmouseover">
+        this._bg.setAttribute("visibility","visible");
+    </handler>
+    
+    <handler name="onmouseout">
+        this._bg.setAttribute("visibility","hidden");
+    </handler>
+
+    <view name="_bg" visibility="hidden" width="${ parent.width-2 }" y="0" x="1"
+          bgcolor="0xFFFFFF" opacity="0.5" height="36" />
+    
+    <text text="$once{ parent.text }" name="_ctext" fontstyle="bold" fgcolor="$once{ canvas.getThemeColor('menuTextColor') }"
+        	fontsize="14" y="2" x="10" />
+        	
+    <text text="$once{ parent.textToolTip }" name="_ctextTooltip" fontstyle="plain" fgcolor="$once{ canvas.getThemeColor('menuTextColor') }"
+        	fontsize="10" y="20" x="10" />	
+   
+</class>
+
+<class name="dropDownMenuListItem" extends="baseDropDownMenuListItem" >
+
+    <handler name="onclick">
+        loadContent(this,null,null);
+        parent.parent.close();
+    </handler>
+    
+</class>
+
+<class name="horizontalDropDownSpacer" x="4" height="1" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }">
+	<attribute name="isSpacer" value="true" type="boolean" />
+</class>
+
+<class name="baseDropDownMenuList" extends="view" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }">
+		
+	<attribute name="list" value="null" />
+	
+	<attribute name="btnRef" value="null" />
+	
+	<handler name="oninit">
+		lz.ModeManager.makeModal(this);
+	</handler>
+	
+	<!--- @keywords private -->
+    <method name="passModeEvent" args="eventStr,view" > 
+        <![CDATA[
+           if ( eventStr == "onmousedown"  ){
+               if ( view != null ) {
+                  if ( !view.childOf(this) ) {
+                       this.close();
+                  }
+               } else {
+                   this.close();
+               }
+           }
+           if (view && view.childOf(this)) {
+               if (view[ eventStr ]) {
+                   view[ eventStr ].sendEvent( view );
+               }
+               return false;
+           }
+          return true;
+       ]]> 
+    </method>  
+    
+	<method name="close">
+		this.btnRef.setAttribute("selected",false);
+		lz.ModeManager.release(this);
+		this.destroy();
+	</method>
+	
+	<method name="fixWidth">
+		<![CDATA[
+            //the second round goes through the list of items, as 
+            //now the maxwidth is detected we adjust the rest to it
+            var maxWidth = 0;
+            for (var i=0;i<this._content.subviews.length;i++) {
+            	if (this._content.subviews[i].width > maxWidth) {
+            		maxWidth = this._content.subviews[i].width;
+            	}
+            }
+            //add a little bit of spacing at the end
+            maxWidth += 10;
+            
+            for (var i=0;i<this._content.subviews.length;i++) {
+            	if (this._content.subviews[i].isSpacer) {
+            		this._content.subviews[i].setAttribute("width",maxWidth-8);
+            	} else {
+            		this._content.subviews[i].setAttribute("width",maxWidth);
+            	}
+            }
+		]]>
+	</method>
+
+</class>
+
+<class name="dropDownMenuList" extends="baseDropDownMenuList"
+		height="${ this._content.height+2 }" width="${ this._content.width+2 }">
+		
+	<handler name="oninit">
+		<![CDATA[
+			if (this.list == null) {
+				return;
+			}
+			for (var i=0;i<this.list.length;i++) {
+				if (i!=0) {
+					new lz.horizontalDropDownSpacer(this._content);
+				}
+                new lz.dropDownMenuListItem(this._content,{
+                			textvalue:this.list[i].name,
+                			text:this.list[i].label.value,
+                			isopen:this.list[i].isopen,
+                			isleaf:this.list[i].isleaf,
+                			action:this.list[i].action,
+                			textToolTip:list[i].tooltip.value
+               			});
+            }
+            
+            this.fixWidth();
+		]]>
+	</handler>	
+	
+	<view name="_content" x="1" y="1" 
+			layout="axis:y;spacing:1" bgcolor="$once{ canvas.getThemeColor('menuBackgroundColor') }" />
+		
+</class>
+
+<class name="baseMenuMeetingsItem" extends="view" height="34"
+    width="${ this._ctext.width+36 }" >
+
+    <attribute name="action" value="" type="string" />
+	<attribute name="text" value="" type="string" />
+    <attribute name="textToolTip" value="" type="string" />
+    <attribute name="_menuRef" value="null" />
+    <attribute name="isopen" value="false" type="boolean" />
+    <attribute name="isleaf" value="false" type="boolean" />
+    <attribute name="list" value="null" />
+    <attribute name="textvalue" value="null" />
+    <attribute name="selected" value="false" type="boolean" />
+    
+    <attribute name="text_y_inset" value="6" type="number" />
+    <attribute name="text_fontsize" value="14" type="number" />
+    
+    <attribute name="down_y_inset" value="10" type="number" />
+    
+    <handler name="onmouseover">
+        if (!this.selected){
+            this.bgc.setAttribute('visibility','visible');
+        }
+    </handler>
+    <handler name="onmouseout">
+        if (!this.selected){
+            this.bgc.setAttribute('visibility','hidden');
+        }
+    </handler>
+    
+    <handler name="onselected" args="tSelect">
+    	this.selected = tSelect;
+    	if (tSelect) {
+    		this._icon_down.setAttribute("frame",2);
+    		this.bga.setAttribute("visibility","visible");
+    		this._ctext.setAttribute("fgcolor",0x000088);
+    	} else {
+    		this._icon_down.setAttribute("frame",1);
+    		this.bgc.setAttribute("visibility","hidden");
+    		this.bga.setAttribute("visibility","hidden");
+    		this._ctext.setAttribute("fgcolor",0xFFFFFF);
+    	}
+    </handler>
+    
+    <view width="${ parent.width-1 }" bgcolor="0xFFFFFF" opacity="0.4" height="$once{ parent.height - 2}" y="1"
+        visibility="hidden" name="bgc"/>
+        
+    <view width="${ parent.width-1 }" bgcolor="$once{ canvas.getThemeColor('menuBackgroundColor') }" height="$once{ parent.height }" 
+        visibility="hidden" name="bga">
+        <view width="${ parent.width }" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" height="1" />
+    </view>
+    
+    <view name="_icon_down" x="${ parent.width-20 }" y="$once{ parent.down_y_inset }" 
+    			resource="bullet_arrow_down_rsc" frame="1" />  
+    
+    <view width="1" height="${ parent.height }" y="0" bgcolor="0xEEEEEE" x="${ parent.width-1 }" />
+    <text text="$once{ parent.text }" name="_ctext" fontstyle="plain" fgcolor="0xFFFFFF"
+        	fontsize="$once{ parent.text_fontsize }" y="$once{ parent.text_y_inset }" x="10" />
+
+    <labelTooltip name="_textToolTip" text="$once{ parent.textToolTip }" multiline="false" />
+    
+</class>
+
+<class name="mainMenuMeetingsItem" extends="baseMenuMeetingsItem" >
+
+    <handler name="onclick">
+    	new lz.dropDownMenuList(canvas,{
+    				x:this.getAttributeRelative("x",canvas),
+    				y:this.getAttributeRelative("y",canvas)+this.height,
+    				btnRef:this,
+    				list:this.list
+    			});
+        this.parent.parent.sendOpenMenu(this);
+    </handler>
+
+</class>
+
+<class name="mainNavi" extends="view" bgcolor="$once{ canvas.getThemeColor('styleMenuBarBaseColor') }" 
+	   width="${ canvas.width }" y="50" >
+
+    <attribute name="naviObject" value="null" />
+    
+    <attribute name="selected" value="null" />
+    
+    <method name="sendOpenMenu" args="menuref">
+    	if (this.selected != null) {
+    		this.selected.setAttribute("selected",false);
+    	}
+    	this.selected = menuref;
+    	this.selected.setAttribute("selected",true);
+    </method>
+    
+    <!---
+      Initialize Menu
+    -->
+	<handler name="oninit">
+		<![CDATA[
+	         var value = this.naviObject;
+	         for (var i=0;i<value.length;i++){
+	             var t1 = new lz.mainMenuMeetingsItem(this.itemlist,{
+	                  textvalue:value[i].name,
+	                  list:value[i].mainnavi,
+	                  isleaf:value[i].isleaf,
+	                  text:value[i].label.value,
+	                     textToolTip:value[i].tooltip.value,
+	                  action:value[i].action
+	                 });
+	             
+	             if (canvas.cuser == "") {
+	             	if (i==0) {
+	             		quicklinkAct(value[i].mainnavi[0].action);
+	             	}
+	             }
+	         }
+	         
+	         if (canvas.cuser != "") {
+	         	if (canvas.cuserStatus == "yes") {
+	         		this.changeUserContactByHash.pending = true;
+	         		this.changeUserContactByHash.doCall();
+	         	} else if (canvas.cuserStatus == "no") {
+	         		this.changeUserContactByHash.pending = false;
+	         		this.changeUserContactByHash.doCall();
+	         	} else {
+	         		canvas.userSettingsModuleOpt = "contactMessages";
+	         		quicklinkAct("userSettingsModule");
+	         	}
+			}
+	            
+      	]]>
+	</handler>
+    
+    <!--
+    	public Object changeUserContactByHash(String SID, String hash, Boolean status)
+     -->
+    <netRemoteCallHib name="changeUserContactByHash" funcname="userservice.changeUserContactByHash" 
+				  remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >      
+		<attribute name="pending" value="true" type="boolean" />
+		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+		<netparam><method name="getValue"> return canvas.cuser; </method></netparam>
+    	<netparam><method name="getValue"> return parent.pending; </method></netparam>
+    	<handler name="ondata" args="value">
+    		<![CDATA[
+	    		if ($debug) Debug.write("changePendingStatusUserContacts 1: ",value);
+	    		if ($debug) Debug.write("changePendingStatusUserContacts 2: ",canvas.cuser);
+	    		
+	    		if (value > 0) {
+	    			if (this.pending) {
+	    				new lz.labelerrorPopup(canvas,{labelid:217,errorlabelid:1229});
+	    			} else {
+	    				new lz.labelerrorPopup(canvas,{labelid:217,errorlabelid:1230});
+	    			}
+	    		}
+	    		
+	    		quicklinkAct("userSettingsModule");
+    		]]>
+    	</handler>
+    </netRemoteCallHib>
+    
+    <view name="itemlist" layout="axis:x;spacing:0" />
+    
+</class>
+
+</library>
diff --git a/WebContent/src/base/navi/resources/bullet_arrow_down.png b/WebContent/src/base/navi/resources/bullet_arrow_down.png
new file mode 100644
index 0000000..9b23c06
--- /dev/null
+++ b/WebContent/src/base/navi/resources/bullet_arrow_down.png
Binary files differ
diff --git a/WebContent/src/base/navi/resources/bullet_arrow_down_dark.png b/WebContent/src/base/navi/resources/bullet_arrow_down_dark.png
new file mode 100644
index 0000000..b5504f8
--- /dev/null
+++ b/WebContent/src/base/navi/resources/bullet_arrow_down_dark.png
Binary files differ
diff --git a/WebContent/src/base/remote/library.lzx b/WebContent/src/base/remote/library.lzx
new file mode 100644
index 0000000..e2b80d2
--- /dev/null
+++ b/WebContent/src/base/remote/library.lzx
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	<include href="rtmpConnection.lzx" />
+	<include href="sharedObject.lzx" />
+    
+</library>
diff --git a/WebContent/src/base/remote/rtmpConnection.lzx b/WebContent/src/base/remote/rtmpConnection.lzx
new file mode 100644
index 0000000..dd318b4
--- /dev/null
+++ b/WebContent/src/base/remote/rtmpConnection.lzx
@@ -0,0 +1,336 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+
+<class name="rtmpConnection" extends="node">
+    	
+    	<attribute name="debug" value="false" type="boolean" />
+    	
+    	<event name="onconnect"/>
+    	<event name="onerror"/>
+    	<event name="ondisconnect" />
+        
+        <!-- this attribute holds a reference to the current/last called netremoteCall,
+        in case of error you can debug that way which call did fail -->
+        <attribute name="lastCalled" value="null" />
+    	
+    	<attribute name="src" value="" type="string"/>
+    	
+		<method name="connect">
+            this._nc = new NetConnection();
+
+            // local reference to rtmpconnection
+            this._nc.t = this;     
+            
+            this._nc.proxyType = canvas.proxyType;
+            
+            var ok = this._nc.connect(src == "null" ? null : src, false); //isAVClient = false
+            if (this.debug) {
+            	if($debug) Debug.write("*** debug ***");
+            }
+            
+            //canvas.currentNC is the reference to the NetConnection that is used in the NetStream
+            canvas.currentNC = this._nc;
+            
+            this._nc.onStatus = function(info){
+                this.t._onStatus(info);
+            }
+            
+    		if($debug) Debug.write("devRtmpConnection/registerMethods()");
+			//Register Methods
+			this.registerMethods();    	            
+		</method>
+		
+        <method name="_onStatus" args="info"><![CDATA[
+            if (this.debug) {
+                Debug.write("devrtmpconnection", this, "_onStatus", info.code);
+            }
+
+            var msg = "";
+
+            switch (info.code) {
+
+                case "NetConnection.Connect.Success": {
+                    // The connection attempt succeeded.
+                    msg = info.code;
+                    s = 2;
+                    break;
+                }
+
+                default: {
+                    msg = info.code;
+                    s = 0;
+                    break;
+                }
+
+            }
+
+            this.setAttribute("status", msg);
+
+            if (s == 2) {
+                this.onconnect.sendEvent();
+            } else {
+            	this.onerror.sendEvent();
+            }
+
+          ]]>
+        </method>	
+        
+        <method name="disconnect">
+            this.ondisconnect.sendEvent();
+        	canvas.currentNC = null;
+            this._nc.close();
+        </method>
+    <!--- 
+        With this function all methods are registered to the NetConnection
+        A server can invoke this Method with a call for it from the Client
+        Only subnodes of rtmpconnections which are a instance of netRemoteCallHib
+        are registered, to add dynamically methods to the remotefunction you will
+        have to invoke this method once again
+        -swagner
+     -->
+    <method name="registerMethods">
+        <![CDATA[
+	        if (this.subnodes!=null){
+		        //Register all methods which are onstanceof netRemoteCallHib
+		        for (var i=0;i<this.subnodes.length;i++){
+		            //If it is of Type netRemoteCallHib then register it to the NetConnection
+		            if (this.subnodes[i] instanceof lz.netRemoteCallHib){
+		                var t = hib;
+		                this._nc[this.subnodes[i].funcname] = function( args ){
+                            return hib.remoteCallMethod(arguments.callee,arguments);
+		                    //return hib.remoteCallMethod(arguments.callee,args);
+		                }
+		            }
+		        }
+        	}
+        ]]>
+    </method>
+    
+    <!-- 
+        Process the RemoteCall to the Right Funtion
+        -swagner
+     -->
+    <method name="remoteCallMethod" args="callee,args">
+        <![CDATA[
+            for (var eg in this._nc){
+                if (this._nc[eg]==callee){
+                    if (this.debug) {
+                        //_root.Debug.write.write("DEBUG invoked a function remotely: ",eg,args);
+                    }    
+                    if (args.length == 1) {
+                        return this.callFuntion(eg,args[0]);
+                    } else {
+                        return this.callFuntion(eg,args);
+                    }
+                    //return this.callFuntion(eg,args);
+                }
+            }
+        ]]>
+    </method>
+    
+    <!-- 
+        Map the Function to a netRemoteCallHib
+        -swagner
+     -->
+    <method name="callFuntion" args="funcname,args">
+        <![CDATA[
+            for (var i=0;i<this.subnodes.length;i++){
+                if (this.subnodes[i].funcname==funcname){
+                    return this.subnodes[i].onResult(args);
+                }
+            }
+        ]]>
+    </method>		
+    
+    <method name="callRPC" args="func, obj, params">
+    	if (this.debug) Debug.write("*** call: func, obj, params",func,obj, typeof (params) ,params.length);
+    	if (params.length != 0){
+	    	//does this really work?
+	    	ASSetPropFlags(_global, null, 8, 1);
+	    	//Debug.write("does it work?",arguments);
+	    	<!--
+	    	this._nc.call.apply(this._nc,arguments);
+	    	 -->
+			if (params.length==1){
+			    this._nc.call(func, obj,params[0]);
+			} else if (params.length==2){
+			    this._nc.call(func, obj,params[0],params[1]);
+			} else if (params.length==3){
+			    this._nc.call(func, obj,params[0],params[1],params[2]);
+			} else if (params.length==4){
+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3]);
+			} else if (params.length==5){
+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4]);
+			} else if (params.length==6){
+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5]);
+			} else if (params.length==7){
+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6]);
+			} else if (params.length==8){
+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7]);
+			} else if (params.length==9){
+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8]);
+			} else if (params.length==10){
+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9]);
+			} else if (params.length==11){
+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10]);
+			} else if (params.length==12){
+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11]);
+			} else if (params.length==13){
+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11],params[12]);
+			} else if (params.length==14){
+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11],params[12],params[13]);
+			} else if (params.length==15){
+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11],params[12],params[13],params[14]);
+			} else if (params.length==16){
+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11],params[12],params[13],params[14],params[15]);
+			} else if (params.length==17){
+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11],params[12],params[13],params[14],params[15],params[16]);
+			} else if (params.length==18){
+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11],params[12],params[13],params[14],params[15],params[16],params[17]);
+			} else if (params.length==19){
+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11],params[12],params[13],params[14],params[15],params[16],params[17],params[18]);
+			} else if (params.length==20){
+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11],params[12],params[13],params[14],params[15],params[16],params[17],params[18],params[19]);
+			}	    	 
+        } else {
+            this._nc.call(func, obj);
+        }
+    </method>
+    
+</class>
+
+
+    <!---
+        Net remote call. 
+        @todo Document netremotecall class.
+    -->
+    <class name="netremotecall" extends="node">
+
+
+        <!--- Name of the remote function. -->
+        <attribute name="funcname" value="$once{null}" type="string" />
+    
+        <attribute name="remotecontext" value="null" />
+    
+        <attribute name="dataobject" value="null" />
+		
+        <!--- Data handling event. args="value" 
+        @keywords private  -->
+        <event name="ondata" />
+
+        <!--- Error handling event. -->
+        <event name="onerror"/>
+
+        <!--- Call the remote method, passing the array of params. -->
+        <method name="callRPC" args="params"><![CDATA[
+            if (this.funcname == null) {
+                //Debug.write("No funcname given");
+                if (this.onerror) this.onerror.sendEvent("No funcname given");
+                return;
+            }
+
+            if (params == null) {
+                params = [];
+
+                var subnodes = this.subnodes;
+                if (subnodes != null) {
+                    var i;
+                    var n = subnodes.length;
+                    for (i = 0; i < n; i++) {
+                        // If getValue method is declared in param, call that
+                        // instead to get value.
+                        var tsi = subnodes[i];
+                        if ((tsi["getValue"] != null) && 
+                            (tsi.getValue["prototype"] != null)) {
+                            params[i] = tsi.getValue();
+                        } else {
+                            params[i] = tsi.value;
+                        }
+                    }
+                }
+
+            } else if (params.__proto__ != Array.prototype) {
+                //Debug.write(this.name, "error: first argument (params) is not an array");
+                return -1;
+            }
+
+            //if ($debug) Debug.write("call", this, this.parent, this.parent.status);
+            var rtmpObject = null;
+            if (this.parent instanceof lz.rtmpConnection){
+        	    rtmpObject = this.parent;
+            } else if(this.remotecontext  instanceof lz.rtmpConnection){
+        	    rtmpObject = this.remotecontext;
+            } else {
+        	    if ($debug) Debug.warn("ERROR: no remotecontext availible abort call", this.funcname, this);
+        	    return;
+            }
+        	//Debug.write('call', this, rtmpObject, rtmpObject.status);
+        	//Debug.write('call', this.remotecontext);
+            if (rtmpObject.debug) Debug.write('call', this, rtmpObject, rtmpObject.status);
+            rtmpObject.lastCalled = this;
+            rtmpObject.callRPC(this.funcname, this, params);
+
+          ]]>
+        </method>
+
+
+        <!--- Handle the result returned from the remote method. -->
+        <method name="onResult" args="value"><![CDATA[
+            // Can be overriden.
+            // Would be great if it can be used with dataobject,
+            // but I don't know how to convert Array/primitive to LzDataset/LzDataPointer.
+            ////Debug.write("netremotecall", this, "onResult", value);
+
+            if (this.dataobject!=null) {
+                if ( this.dataobject instanceof LzDataset ) {
+                    //Debug.write("onResult: ",this,value,dataobject);
+                    var element = LzDataElement.valueToElement(value);
+                    this.dataobject.setData(element.childNodes);
+                } else if ( this.dataobject instanceof LzDataElement ) {
+                    var element = LzDataElement.valueToElement(value);
+                    this.dataobject.appendChild( element );
+                } else {
+                    Debug.warn("dataobject is not LzDataset or LzDataElement: ",this,this.dataobject,delegate);
+                }
+            }
+            this.ondata.sendEvent(value);		
+          ]]>
+        </method>
+
+
+    </class>
+
+
+    <!---
+        Net parameter.
+        Element to use inside netremotecall.
+        @todo Document netparam class.
+    -->
+    <class name="netparam" extends="node">
+
+        <!--- The value of the netparam. -->
+        <attribute name="value" value="null"/>
+
+    </class>
+
+
+</library>
diff --git a/WebContent/src/base/remote/sharedObject.lzx b/WebContent/src/base/remote/sharedObject.lzx
new file mode 100644
index 0000000..36da568
--- /dev/null
+++ b/WebContent/src/base/remote/sharedObject.lzx
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="sharedObject" extends="node">
+
+	<attribute name="so" value="null" />
+	<attribute name="onStatus" value="null" />
+	
+
+	<method name="connect" args="so_Name,nc,persistant">
+
+		//Debug.write("connect SharedObject: ",nc.uri);
+		this.so = SharedObject.getRemote(so_Name,nc.uri,persistant); 
+		
+		var t = this;
+		this.so.onSync = function (evtObj){
+			if (t.onStatus)t.onStatus.sendEvent(evtObj);
+			//_root.Debug.write.write("Shared Object onSync",evtObj,arguments);
+		}
+		
+		this.so.connect(nc);
+		
+	</method>
+	
+    
+    <method name="getRemote" args="so_Name,nc,persistant">
+
+        //Debug.write("connect SharedObject: ",nc.uri);
+        this.so = SharedObject.getRemote(so_Name,nc.uri,persistant); 
+
+        var t = this;
+        this.so.onSync = function (evtObj){
+            if (t.onStatus)t.onStatus.sendEvent(evtObj);
+            //_root.Debug.write.write("Shared Object onSync",evtObj,arguments);
+        }
+    </method>
+    
+    <!--- create Object if not existing  -->
+    <method name="getLocal" args="name">
+
+        this.so = SharedObject.getLocal(name); 
+
+        var t = this;
+        this.so.onSync = function (evtObj){
+            if (t.onStatus)t.onStatus.sendEvent(evtObj);
+            //_root.Debug.write.write("Shared Object onSync",evtObj,arguments);
+        }
+        
+    </method>
+    
+    <!--- 
+        force write to disk
+        @return true(success) false(User has forbidden to store data local)
+      -->
+    <method name="flush">
+        return this.so.flush();
+    </method>
+
+    <method name="getData" args="key">
+        if (this.so.data["key"] == undefined){
+            return null;
+           //_root.Debug.write.write("key undefined",key);
+        } else {
+            return this.so.data["key"];
+        }
+    </method>
+	
+    <method name="setData" args="key,val">
+    	//Debug.write("this...... so: ",this.so);
+        this.so.data["key"] = val;
+    </method>
+
+		
+</class>
+
+</library>
diff --git a/WebContent/src/base/sipfunctions.lzx b/WebContent/src/base/sipfunctions.lzx
new file mode 100644
index 0000000..5e97f10
--- /dev/null
+++ b/WebContent/src/base/sipfunctions.lzx
@@ -0,0 +1,224 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<script>
+<![CDATA[
+
+var appletIsLoaded = false;
+var returnObject = null
+
+var returnObjectDialer = null
+
+flash.external.ExternalInterface.addCallback("sipStatusMessage", null, sipStatusMessage);
+flash.external.ExternalInterface.addCallback("sipLoginSuccess", null, sipLoginSuccess);
+flash.external.ExternalInterface.addCallback("sipLoginFail", null, sipLoginFail);
+
+
+flash.external.ExternalInterface.addCallback("callbackgetAppletStatus", null, callbackgetAppletStatus);
+flash.external.ExternalInterface.addCallback("callbackLoginSipUser", null, callbackLoginSipUser);
+flash.external.ExternalInterface.addCallback("callbackregister", null, callbackregister);
+flash.external.ExternalInterface.addCallback("callbackDTMFButton", null, callbackDTMFButton);
+flash.external.ExternalInterface.addCallback("preCustomStartCallByCallToCallBack", null, preCustomStartCallByCallToCallBack);
+flash.external.ExternalInterface.addCallback("preCustomStartCallBack", null, preCustomStartCallBack);
+flash.external.ExternalInterface.addCallback("startCallCallBack", null, startCallCallBack);
+
+
+function sipStatusMessage(msg) {
+	
+	if ($debug) Debug.write("sipStatusMessage :: ",msg);
+	
+}
+
+function sipLoginSuccess(msg) {
+    
+    if ($debug) Debug.write("sipLoginSuccess :: ",msg);
+    
+    returnObject.onSipSuccess.sendEvent();
+    
+}
+
+function sipLoginFail(msg) {
+    
+    if ($debug) Debug.write("sipLoginFail :: ",msg);
+    
+    //In case its an Admin Account we send the success message anyway
+    //So that he can check the User-SIP Data or other SIP credentials
+    
+    if (hib.userobject.level_id >= 2) {
+    	new lz.labelerrorPopup(canvas,{errorlabelid:898});
+        returnObject.onSipSuccess.sendEvent();
+    } else {
+    	new lz.labelerrorPopup(canvas,{errorlabelid:899});
+    }
+    
+}
+
+function callbackgetAppletStatus(returnValue) {
+                    
+    if ($debug) Debug.write("callbackgetAppletStatus ",returnValue);
+    
+    if (returnValue) {
+    	appletIsLoaded = returnValue;
+    	if ($debug) Debug.info("SIP Applet is Ready !");
+    } else {
+    	
+    	//new lz.labelerrorPopup(canvas,{errorlabelid:892});
+    	if ($debug) Debug.warn("SIP Applet is not Ready");
+    }
+    
+}
+
+function sipIsEnabled(){
+	return appletIsLoaded;
+}
+
+function getAppletStatus() {
+    
+    if ($debug) Debug.write("initializeSIPApplet :: flash.external.ExternalInterface (getAppletStatus) ");
+    
+    flash.external.ExternalInterface.call("getAppletStatus");
+    
+    //lz.Browser.callJS("getAppletStatus",callbackgetAppletStatus);
+    
+}
+
+function callbackLoginSipUser(returnValue) {
+                    
+    if ($debug) Debug.write("callbackLoginSipUser ",returnValue);
+    
+    registerSIPUser();
+    
+}
+
+function loginSipUser(userSipData,regObject) {
+	
+	if ($debug) Debug.write("loginSipUser :: ");
+	
+	if ($debug) Debug.write("loginSipUser :1: ",userSipData.username);
+	if ($debug) Debug.write("loginSipUser :2: ",userSipData.userpass);
+	if ($debug) Debug.write("loginSipUser :3: ",userSipData.authId);
+	
+	returnObject = regObject;
+	
+	flash.external.ExternalInterface.call("omCustomRegister",userSipData.username,userSipData.userpass,userSipData.authId);
+	
+    //lz.Browser.callJS("omCustomRegister",callbackLoginSipUser,userSipData.username,userSipData.userpass,userSipData.authId);
+	
+}
+
+function callbackregister(returnValue) {
+                    
+    if ($debug) Debug.write("callbackregister ",returnValue);
+    
+}
+
+function registerSIPUser(userSipData) {
+    
+    if ($debug) Debug.write("loginSipUser :: ");
+    
+    flash.external.ExternalInterface.call("register");
+    
+    //lz.Browser.callJS("register",callbackregister);
+    
+}
+
+
+function callDTMFButton(returnObjectDialerRef,number) {
+    
+    returnObjectDialer = returnObjectDialerRef;
+    
+    if ($debug) Debug.write("callDTMFButton :1: ",number);
+    
+    flash.external.ExternalInterface.call("DTMFButton",number);
+    
+    //lz.Browser.callJS("DTMFButton",callbackDTMFButton,number);
+    
+}
+
+function callbackDTMFButton(returnValue) {
+                    
+    if ($debug) Debug.write("callbackDTMFButton ",returnValue);
+    
+    returnObjectDialer.doNextSipNumber();
+    
+}
+
+function preCustomStartCallByCallTo(sipNumber) {
+	
+	//preCustomStartCall(); startCall();
+	
+	flash.external.ExternalInterface.call("preCustomStartCallByCallTo",sipNumber);
+    
+    //lz.Browser.callJS("preCustomStartCallByCallTo",preCustomStartCallByCallToCallBack,sipNumber);
+    
+}
+
+function preCustomStartCallByCallToCallBack(returnValue) {
+    
+	if ($debug) Debug.write("preCustomStartCallByCallToCallBack ",returnValue);
+	
+    startCall();
+    
+}
+
+
+function preCustomStartCall() {
+    
+    //preCustomStartCall(); startCall();
+    
+	flash.external.ExternalInterface.call("preCustomStartCall");
+    
+    //lz.Browser.callJS("preCustomStartCall",preCustomStartCallBack);
+    
+}
+
+function preCustomStartCallBack(returnValue) {
+    
+	if ($debug) Debug.write("preCustomStartCallBack ",returnValue);
+	
+    //preCustomStartCall(); startCall();
+    startCall();
+    
+}
+
+function startCall() {
+    
+    //preCustomStartCall(); startCall();
+    
+	flash.external.ExternalInterface.call("startCall");
+    
+    //lz.Browser.callJS("startCall",startCallCallBack);
+    
+}
+
+function startCallCallBack(returnValue) {
+    
+    if ($debug) Debug.write("startCallCallBack ",returnValue);
+    
+    returnObjectDialer.ringring();
+    
+}
+
+]]>
+</script>
+		
+</library>
diff --git a/WebContent/src/broadcast.lzx.lzr=swf8.swf b/WebContent/src/broadcast.lzx.lzr=swf8.swf
new file mode 100644
index 0000000..95cdc24
--- /dev/null
+++ b/WebContent/src/broadcast.lzx.lzr=swf8.swf
Binary files differ
diff --git a/WebContent/src/classintro.swf b/WebContent/src/classintro.swf
new file mode 100644
index 0000000..0d0ee92
--- /dev/null
+++ b/WebContent/src/classintro.swf
Binary files differ
diff --git a/WebContent/src/confintro.swf b/WebContent/src/confintro.swf
new file mode 100644
index 0000000..6b4505c
--- /dev/null
+++ b/WebContent/src/confintro.swf
Binary files differ
diff --git a/WebContent/src/embed-compressed.js b/WebContent/src/embed-compressed.js
new file mode 100644
index 0000000..f923243
--- /dev/null
+++ b/WebContent/src/embed-compressed.js
@@ -0,0 +1,879 @@
+var $dhtml=true;var $as3=false;var $js1=true;var $swf7=false;var $swf8=false;var $svg=false;var $as2=false;var $swf9=false;var $profile=false;var $runtime="dhtml";var $swf10=false;var $debug=false;var $j2me=false;try{
+if(lz){
+
+}}
+catch(e){
+lz={}};lz.embed={options:{},swf:function($1,$2){
+if($2==null){
+$2=8
+};var $3=$1.url;var $4=this.__getqueryurl($3);if($1.accessible&&$1.accessible!="false"){
+$4.flashvars+="&accessible=true"
+};if($1.history){
+$4.flashvars+="&history=true"
+};if($1.bgcolor!=null){
+$4.flashvars+="&bgcolor="+escape($1.bgcolor)
+};$4.flashvars+="&width="+escape($1.width);$4.flashvars+="&height="+escape($1.height);$4.flashvars+="&__lzurl="+escape($3);$4.flashvars+="&__lzminimumversion="+escape($2);$4.flashvars+="&id="+escape($1.id);var $3=$4.url+"?"+$4.query;var $5={width:$1.width+"",height:$1.height+"",id:$1.id,bgcolor:$1.bgcolor,wmode:$1.wmode,flashvars:$4.flashvars,allowfullscreen:$1.allowfullscreen,flash8:$3,appenddiv:lz.embed._getAppendDiv($1.id,$1.appenddivid)};if(lz.embed[$1.id]){
+alert("Warning: an app with the id: "+$1.id+" already exists.")
+};var app=lz.embed[$1.id]=lz.embed.applications[$1.id]={runtime:"swf",_id:$1.id,setCanvasAttribute:lz.embed._setCanvasAttributeSWF,getCanvasAttribute:lz.embed._getCanvasAttributeSWF,callMethod:lz.embed._callMethodSWF,_ready:lz.embed._ready,_onload:[],_getSWFDiv:lz.embed._getSWFDiv,loaded:false,_sendMouseWheel:lz.embed._sendMouseWheel,_sendAllKeysUp:lz.embed._sendAllKeysUpSWF,_setCanvasAttributeDequeue:lz.embed._setCanvasAttributeDequeue,_sendPercLoad:lz.embed._sendPercLoad};if($1.history==false){
+lz.embed.history.active=false
+};lz.embed.dojo.addLoadedListener(lz.embed._loaded,app);lz.embed.dojo.setSwf($5,$2);if($1.cancelmousewheel!=true&&(lz.embed.browser.OS=="Mac"||($5.wmode=="transparent"||$5.wmode=="opaque")&&lz.embed.browser.OS=="Windows"&&(lz.embed.browser.isOpera||lz.embed.browser.isFirefox))){
+if(lz.embed["mousewheel"]){
+lz.embed.mousewheel.setCallback(app,"_sendMouseWheel")
+}};if(($5.wmode=="transparent"||$5.wmode=="opaque")&&lz.embed.browser.OS=="Windows"&&(lz.embed.browser.isOpera||lz.embed.browser.isFirefox)){
+var div=$5.appenddiv;div.onmouseout=function($1){
+div.mouseisoutside=true
+};div.onmouseover=function($1){
+div.mouseisoutside=false
+};div._gotmouseup=document.onmouseup=function($1){
+if(div.mouseisoutside){
+app.callMethod("LzMouseKernel.__mouseUpOutsideHandler()")
+}}}},lfc:function($1,$2){
+if($2==""){
+$2="."
+}else{
+if(!$2||typeof $2!="string"){
+alert("WARNING: lz.embed.lfc() requires a valid serverroot to be specified.");return
+}};lz.embed.options.serverroot=$2;if(lz.embed.browser.isIE){
+var $3=$2+"lps/includes/excanvas.js";this.__dhtmlLoadScript($3)
+};if(lz.embed.browser.isIE&&lz.embed.browser.version<7||lz.embed.browser.isSafari&&lz.embed.browser.version<=419.3){
+var $4=$1.indexOf("debug.js")||$1.indexOf("backtrace.js");if($4!=-1){
+var $5=$1.substring($4,$1.length-3);$1=$1.substring(0,$4)+$5+"-simple.js"
+}};this.__dhtmlLoadScript($1)
+},dhtml:function($1){
+var $2=this.__getqueryurl($1.url,true);var $3=$2.url+"?lzt=object&"+$2.query;lz.embed.__propcache={bgcolor:$1.bgcolor,width:$1.width.indexOf("%")==-1?$1.width+"px":$1.width,height:$1.height.indexOf("%")==-1?$1.height+"px":$1.height,id:$1.id,appenddiv:lz.embed._getAppendDiv($1.id,$1.appenddivid),url:$3,cancelkeyboardcontrol:$1.cancelkeyboardcontrol,serverroot:$1.serverroot,approot:$1.approot!=null?$1.approot:""};if(lz.embed[$1.id]){
+alert("Warning: an app with the id: "+$1.id+" already exists.")
+};var $4=lz.embed[$1.id]=lz.embed.applications[$1.id]={runtime:"dhtml",_id:$1.id,_ready:lz.embed._ready,_onload:[],loaded:false,setCanvasAttribute:lz.embed._setCanvasAttributeDHTML,getCanvasAttribute:lz.embed._getCanvasAttributeDHTML,_sendAllKeysUp:lz.embed._sendAllKeysUpDHTML};if($1.history==false){
+lz.embed.history.active=false
+};this.__dhtmlLoadScript($3);if(lz.embed.browser.OS=="Windows"&&lz.embed.browser.isFirefox){
+window.focus()
+}},applications:{},__dhtmlLoadScript:function($1){
+var $2='<script type="text/javascript" language="JavaScript1.5" src="'+$1+'"></script>';document.writeln($2);return $2
+},__dhtmlLoadLibrary:function($1){
+var $2=document.createElement("script");this.__setAttr($2,"type","text/javascript");this.__setAttr($2,"src",$1);document.getElementsByTagName("head")[0].appendChild($2);return $2
+},__getqueryurl:function($1,$2){
+var $3=$1.split("?");$1=$3[0];if($3.length==1){
+return {url:$1,flashvars:"",query:""}};var $4=this.__parseQuery($3[1]);var $5="";var $6="";var $7=new RegExp("\\+","g");for(var $8 in $4){
+if($8==""||$8==null){
+continue
+};var $9=$4[$8];if($8=="lzr"||$8=="lzt"||$8=="debug"||$8=="profile"||$8=="lzbacktrace"||$8=="lzconsoledebug"||$8=="lzdebug"||$8=="lzkrank"||$8=="lzprofile"||$8=="lzcopyresources"||$8=="fb"||$8=="sourcelocators"||$8=="_canvas_debug"||$8=="lzsourceannotations"){
+$5+=$8+"="+$9+"&"
+};if($2){
+if(window[$8]==null){
+window[$8]=unescape($9.replace($7," "))
+}};$6+=$8+"="+$9+"&"
+};$5=$5.substr(0,$5.length-1);$6=$6.substr(0,$6.length-1);return {url:$1,flashvars:$6,query:$5}},__parseQuery:function($1){
+if($1.indexOf("=")==-1){
+return
+};var $2=$1.split("&");var $3={};for(var $4=0;$4<$2.length;$4++){
+var $5=$2[$4].split("=");if($5.length==1){
+continue
+};var $6=$5[0];var $7=$5[1];$3[$6]=$7
+};return $3
+},__setAttr:function($1,$2,$3){
+$1.setAttribute($2,$3)
+},_setCanvasAttributeSWF:function($1,$2,$3){
+if(this.loaded&&lz.embed.dojo.comm[this._id]&&lz.embed.dojo.comm[this._id]["callMethod"]){
+if($3){
+lz.embed.history._store($1,$2)
+}else{
+lz.embed.dojo.comm[this._id].setCanvasAttribute($1,$2+"")
+}}else{
+if(this._setCanvasAttributeQ==null){
+this._setCanvasAttributeQ=[[$1,$2,$3]]
+}else{
+this._setCanvasAttributeQ.push([$1,$2,$3])
+}}},_setCanvasAttributeDHTML:function($1,$2,$3){
+if($3){
+lz.embed.history._store($1,$2)
+}else{
+if(canvas){
+if(!canvas.__LZdeleted){
+var $lzsc$102169433="$lzc$set_"+$1;if(Function["$lzsc$isa"]?Function.$lzsc$isa(canvas[$lzsc$102169433]):canvas[$lzsc$102169433] instanceof Function){
+canvas[$lzsc$102169433]($2)
+}else{
+canvas[$1]=$2;var $lzsc$1997357926=canvas["on"+$1];if(LzEvent["$lzsc$isa"]?LzEvent.$lzsc$isa($lzsc$1997357926):$lzsc$1997357926 instanceof LzEvent){
+if($lzsc$1997357926.ready){
+$lzsc$1997357926.sendEvent($2)
+}}}}}}},_loaded:function($1){
+if(lz.embed[$1].loaded){
+return
+};if(lz.embed.dojo.info.commVersion==8){
+setTimeout('lz.embed["'+$1+'"]._ready.call(lz.embed["'+$1+'"])',100)
+}else{
+lz.embed[$1]._ready.call(lz.embed[$1])
+}},_setCanvasAttributeDequeue:function(){
+while(this._setCanvasAttributeQ.length>0){
+var $1=this._setCanvasAttributeQ.pop();this.setCanvasAttribute($1[0],$1[1],$1[2])
+}},_ready:function($1){
+this.loaded=true;if(this._callmethod){
+for(var $2=0;$2<this._callmethod.length;$2++){
+this.callMethod(this._callmethod[$2])
+};this._callmethod=null
+};if(this._setCanvasAttributeQ){
+this._setCanvasAttributeDequeue()
+};if($1){
+this.canvas=$1
+};for(var $2=0;$2<this._onload.length;$2++){
+var $3=this._onload[$2];if(typeof $3=="function"){
+$3(this)
+}};if(this.onload&&typeof this.onload=="function"){
+this.onload(this)
+}},_getCanvasAttributeSWF:function($1){
+if(this.loaded){
+return lz.embed.dojo.comm[this._id].getCanvasAttribute($1)
+}else{
+alert("Flash is not ready: getCanvasAttribute"+$1)
+}},_getCanvasAttributeDHTML:function($1){
+return canvas[$1]
+},browser:{init:function(){
+if(this.initted){
+return
+};this.browser=this.searchString(this.dataBrowser)||"An unknown browser";this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version";this.osversion=this.searchOSVersion(navigator.userAgent)||"an unknown osversion";this.subversion=this.searchSubVersion(navigator.userAgent);this.OS=this.searchString(this.dataOS)||"an unknown OS";this.initted=true;this.isNetscape=this.isSafari=this.isOpera=this.isFirefox=this.isIE=this.isIphone=false;if(this.browser=="Netscape"){
+this.isNetscape=true
+}else{
+if(this.browser=="Safari"){
+this.isSafari=true
+}else{
+if(this.browser=="Opera"){
+this.isOpera=true
+}else{
+if(this.browser=="Firefox"){
+this.isFirefox=true
+}else{
+if(this.browser=="Explorer"){
+this.isIE=true
+}else{
+if(this.browser=="iPhone"){
+this.isSafari=true;this.isIphone=true
+}}}}}}},searchString:function($1){
+for(var $2=0;$2<$1.length;$2++){
+var $3=$1[$2].string;var $4=$1[$2].prop;this.versionSearchString=$1[$2].versionSearch||$1[$2].identity;this.osversionSearchString=$1[$2].osversionSearch||"";if($3){
+if($3.indexOf($1[$2].subString)!=-1){
+return $1[$2].identity
+}}else{
+if($4){
+return $1[$2].identity
+}}}},searchVersion:function($1){
+var $2=$1.indexOf(this.versionSearchString);if($2==-1){
+return
+};return parseFloat($1.substring($2+this.versionSearchString.length+1))
+},searchSubVersion:function($1){
+var $2=new RegExp(this.versionSearchString+".\\d+\\.\\d+\\.([\\d.]+)");var $3=$2.exec($1);if($3&&$3.length>1){
+return parseFloat($3[1])
+}},searchOSVersion:function($1){
+var $2=$1.indexOf(this.osversionSearchString);if($2==-1){
+return
+};return parseFloat($1.substring($2+this.osversionSearchString.length+1))
+},dataBrowser:[{string:navigator.userAgent,subString:"iPhone",identity:"iPhone",versionSearch:"WebKit"},{string:navigator.userAgent,subString:"Chrome",identity:"Chrome"},{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari",versionSearch:"WebKit"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.userAgent,subString:"Iceweasel",versionSearch:"Iceweasel",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE",osversionSearch:"Windows NT"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}],dataOS:[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.userAgent,subString:"iPhone",identity:"iPhone/iPod"},{string:navigator.platform,subString:"Linux",identity:"Linux"}]},_callMethodSWF:function($1){
+if(this.loaded){
+return lz.embed.dojo.comm[this._id].callMethod($1)
+}else{
+if(!this._callmethod){
+this._callmethod=[]
+};this._callmethod.push($1)
+}},_broadcastMethod:function($1){
+var $2=[].slice.call(arguments,1);for(var $3 in lz.embed.applications){
+var $4=lz.embed.applications[$3];if($4[$1]){
+$4[$1].apply($4,$2)
+}}},setCanvasAttribute:function($1,$2,$3){
+lz.embed._broadcastMethod("setCanvasAttribute",$1,$2,$3)
+},callMethod:function($1){
+lz.embed._broadcastMethod("callMethod",$1)
+},_getAppendDiv:function($1,$2){
+var $3=$2?$2:$1+"Container";var $4=document.getElementById($3);if(!$4){
+document.writeln('<div id="'+$3+'"></div>');$4=document.getElementById($3)
+};return $4
+},_getSWFDiv:function(){
+return lz.embed.dojo.obj[this._id].get()
+},_sendMouseWheel:function($1){
+if($1!=null){
+this.callMethod("lz.Keys.__mousewheelEvent("+$1+")")
+}},_gotFocus:function(){
+lz.embed._broadcastMethod("_sendAllKeysUp")
+},_sendAllKeysUpSWF:function(){
+this.callMethod("lz.Keys.__allKeysUp()")
+},_sendAllKeysUpDHTML:function(){
+if(lz["Keys"]&&lz.Keys["__allKeysUp"]){
+lz.Keys.__allKeysUp()
+}},_sendPercLoad:function($1){
+if(this.onloadstatus&&typeof this.onloadstatus=="function"){
+this.onloadstatus($1)
+}},attachEventHandler:function($1,$2,callbackscope,callbackname,closure){
+if(!(callbackscope&&callbackname&&typeof callbackscope[callbackname]=="function")){
+return
+};var $3=$1+$2+callbackscope+callbackname;var $4=this._handlers[$3];if($4!=null){
+if($4 instanceof Array){
+for(var $5=$4.length-1;$5>=0;--$5){
+if($4[$5].$e===$1&&$4[$5].$c===callbackscope){
+return
+}}}else{
+if($4.$e===$1&&$4.$c===callbackscope){
+return
+}}};var $6=function(){
+var $1=window.event?[window.event]:[].slice.call(arguments,0);if(closure){
+$1.push(closure)
+};callbackscope[callbackname].apply(callbackscope,$1)
+};$6.$e=$1;$6.$c=callbackscope;if($4!=null){
+if($4 instanceof Array){
+$4.push($6)
+}else{
+$4=[$4,$6]
+}}else{
+$4=$6
+};this._handlers[$3]=$4;if($1["addEventListener"]){
+$1.addEventListener($2,$6,false);return true
+}else{
+if($1["attachEvent"]){
+return $1.attachEvent("on"+$2,$6)
+}}},removeEventHandler:function($1,$2,$3,$4){
+var $5=$1+$2+$3+$4;var $6,$7=this._handlers[$5];if($7!=null){
+if($7 instanceof Array){
+for(var $8=$7.length-1;$8>=0;--$8){
+if($7[$8].$e===$1&&$7[$8].$c===$3){
+$6=$7[$8];$7.splice($8,1);if($7.length==0){
+delete this._handlers[$5]
+}}}}else{
+if($7.$e===$1&&$7.$c===$3){
+$6=$7;delete this._handlers[$5]
+}}};if(!$6){
+return
+};if($1["removeEventListener"]){
+$1.removeEventListener($2,$6,false);return true
+}else{
+if($1["detachEvent"]){
+return $1.detachEvent("on"+$2,$6)
+}}},_handlers:{},_cleanupHandlers:function(){
+lz.embed._handlers={}},getAbsolutePosition:function($1){
+var $2=null;var $3={};var $4;if(!(lz.embed.browser.isFirefox&&$1==document.body)&&$1.getBoundingClientRect){
+$4=$1.getBoundingClientRect();var $5=document.documentElement.scrollTop||document.body.scrollTop;var $6=document.documentElement.scrollLeft||document.body.scrollLeft;return {x:Math.floor($4.left+$6),y:Math.floor($4.top+$5)}}else{
+if(document.getBoxObjectFor){
+$4=document.getBoxObjectFor($1);$3={x:$4.x,y:$4.y}}else{
+$3={x:$1.offsetLeft,y:$1.offsetTop};$2=$1.offsetParent;if($2!=$1){
+while($2){
+$3.x+=$2.offsetLeft;$3.y+=$2.offsetTop;$2=$2.offsetParent
+}};if(lz.embed.browser.isSafari&&document.defaultView&&document.defaultView.getComputedStyle){
+var $7=document.defaultView.getComputedStyle($1,"")
+};if(lz.embed.browser.isOpera||lz.embed.browser.isSafari&&$7&&$7["position"]=="absolute"){
+$3.y-=document.body.offsetTop
+}}};if($1.parentNode){
+$2=$1.parentNode
+}else{
+return $3
+};while($2&&$2.tagName!="BODY"&&$2.tagName!="HTML"){
+$3.x-=$2.scrollLeft;$3.y-=$2.scrollTop;if($2.parentNode){
+$2=$2.parentNode
+}else{
+return $3
+}};return $3
+}};lz.embed.browser.init();lz.embed.attachEventHandler(window,"beforeunload",lz.embed,"_cleanupHandlers");lz.embed.attachEventHandler(window,"focus",lz.embed,"_gotFocus");if(lz.embed.browser.isIE){
+lz.embed.attachEventHandler(window,"activate",lz.embed,"_gotFocus")
+};try{
+if(lzOptions){
+if(lzOptions.dhtmlKeyboardControl){
+alert("WARNING: this page uses lzOptions.dhtmlKeyboardControl.  Please use the cancelkeyboardcontrol embed argument for lz.embed.dhtml() instead.")
+};if(lzOptions.ServerRoot){
+alert("WARNING: this page uses lzOptions.ServerRoot.  Please use the second argument of lz.embed.lfc() instead.")
+}}}
+catch(e){
+
+};lz.embed.dojo=function(){
+
+};lz.embed.dojo={defaults:{flash8:null,ready:false,visible:true,width:500,height:400,bgcolor:"#ffffff",allowfullscreen:false,wmode:"window",flashvars:"",minimumVersion:8,id:"flashObject",appenddiv:null},obj:{},comm:{},_loadedListeners:[],_loadedListenerScopes:[],_installingListeners:[],_installingListenerScopes:[],setSwf:function($1,$2){
+if($1==null){
+return
+};var $3={};for(var $4 in this.defaults){
+var $5=$1[$4];if($5!=null){
+$3[$4]=$5
+}else{
+$3[$4]=this.defaults[$4]
+}};if($2!=null){
+this.minimumVersion=$2
+};this._initialize($3)
+},addLoadedListener:function($1,$2){
+this._loadedListeners.push($1);this._loadedListenerScopes.push($2)
+},addInstallingListener:function($1,$2){
+this._installingListeners.push($1);this._installingListenerScopes.push($2)
+},loaded:function($1){
+var $2=lz.embed.dojo;if($2._isinstaller){
+top.location=top.location+""
+};$2.info.installing=false;$2.ready=true;if($2._loadedListeners.length>0){
+for(var $3=0;$3<$2._loadedListeners.length;$3++){
+var $4=$2._loadedListenerScopes[$3];if($1!=$4._id){
+continue
+};lz.embed.dojo._loadedListeners[$3].apply($4,[$4._id])
+}}},installing:function(){
+var $1=lz.embed.dojo;if($1._installingListeners.length>0){
+for(var $2=0;$2<$1._installingListeners.length;$2++){
+var $3=$1._installingListenerScopes[$2];$1._installingListeners[$2].apply($3,[$3._id])
+}}},_initialize:function($1){
+var $2=lz.embed.dojo;var $3=new ($2.Install)($1.id);$2.installer=$3;var $4=new ($2.Embed)($1);$2.obj[$1.id]=$4;if($3.needed()==true){
+$3.install()
+}else{
+$4.write($2.info.commVersion);$2.comm[$1.id]=new ($2.Communicator)($1.id)
+}}};lz.embed.dojo.Info=function(){
+if(lz.embed.browser.isIE){
+document.writeln('<script language="VBScript" type="text/vbscript">');document.writeln("Function VBGetSwfVer(i)");document.writeln("  on error resume next");document.writeln("  Dim swControl, swVersion");document.writeln("  swVersion = 0");document.writeln('  set swControl = CreateObject("ShockwaveFlash.ShockwaveFlash." + CStr(i))');document.writeln("  if (IsObject(swControl)) then");document.writeln('    swVersion = swControl.GetVariable("$version")');document.writeln("  end if");document.writeln("  VBGetSwfVer = swVersion");document.writeln("End Function");document.writeln("</script>")
+};this._detectVersion();this._detectCommunicationVersion()
+};lz.embed.dojo.Info.prototype={version:-1,versionMajor:-1,versionMinor:-1,versionRevision:-1,capable:false,commVersion:8,installing:false,isVersionOrAbove:function($1,$2,$3){
+$3=parseFloat("."+$3);if(this.versionMajor>=$1&&this.versionMinor>=$2&&this.versionRevision>=$3){
+return true
+}else{
+return false
+}},_detectVersion:function(){
+var $1;var $2=lz.embed.browser.isIE;for(var $3=25;$3>0;$3--){
+if($2){
+$1=VBGetSwfVer($3)
+}else{
+$1=this._JSFlashInfo($3)
+};if($1==-1){
+this.capable=false;return
+}else{
+if($1!=0){
+var $4;if($2){
+var $5=$1.split(" ");var $6=$5[1];$4=$6.split(",")
+}else{
+$4=$1.split(".")
+};this.versionMajor=$4[0];this.versionMinor=$4[1];this.versionRevision=$4[2];var $7=this.versionMajor+"."+this.versionRevision;this.version=parseFloat($7);this.capable=true;break
+}}}},_JSFlashInfo:function($1){
+if(navigator.plugins!=null&&navigator.plugins.length>0){
+if(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]){
+var $2=navigator.plugins["Shockwave Flash 2.0"]?" 2.0":"";var $3=navigator.plugins["Shockwave Flash"+$2].description;var $4=$3.split(" ");var $5=$4[2].split(".");var $6=$5[0];var $7=$5[1];if($4[3]!=""){
+var $8=$4[3].split("r")
+}else{
+var $8=$4[4].split("r")
+};var $9=$8[1]>0?$8[1]:0;var $10=$6+"."+$7+"."+$9;return $10
+}};return -1
+},_detectCommunicationVersion:function(){
+if(this.capable==false){
+this.commVersion=null;return
+}}};lz.embed.dojo.Embed=function($1){
+this.properties=$1;if(!this.properties.width){
+this.properties.width="100%"
+};if(!this.properties.height){
+this.properties.height="100%"
+};if(!this.properties.bgcolor){
+this.properties.bgcolor="#ffffff"
+};if(!this.properties.visible){
+this.properties.visible=true
+}};lz.embed.dojo.Embed.prototype={protocol:function(){
+switch(window.location.protocol){
+case "https:":
+return "https";break;
+default:
+return "http";break;
+
+}},__getCSSValue:function($1){
+if($1&&$1.length&&$1.indexOf("%")!=-1){
+return "100%"
+}else{
+return $1+"px"
+}},write:function($1,$2){
+var $3="";$3+="width: "+this.__getCSSValue(this.properties.width)+";";$3+="height: "+this.__getCSSValue(this.properties.height)+";";if(this.properties.visible==false){
+$3+="position: absolute; ";$3+="z-index: 10000; ";$3+="top: -1000px; ";$3+="left: -1000px; "
+};var $4;var $5;var $6=lz.embed;if($1>$6.dojo.version){
+$2=true
+};$5=this.properties.flash8;var $7=this.properties.flashvars;var $8=this.properties.flashvars;if($2){
+var $9=escape(window.location);document.title=document.title.slice(0,47)+" - Flash Player Installation";var $10=escape(document.title);$7+="&MMredirectURL="+$9+"&MMplayerType=ActiveX"+"&MMdoctitle="+$10;$8+="&MMredirectURL="+$9+"&MMplayerType=PlugIn"
+};if($6.browser.isIE){
+$4='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" '+'codebase="'+this.protocol()+"://fpdownload.macromedia.com/pub/shockwave/cabs/flash/"+'swflash.cab#version=8,0,0,0" '+'width="'+this.properties.width+'" '+'height="'+this.properties.height+'" '+'id="'+this.properties.id+'" '+'align="middle"> '+'<param name="allowScriptAccess" value="sameDomain" /> '+'<param name="movie" value="'+$5+'" /> '+'<param name="quality" value="high" /> '+'<param name="FlashVars" value="'+$7+'" /> '+'<param name="bgcolor" value="'+this.properties.bgcolor+'" /> '+'<param name="wmode" value="'+this.properties.wmode+'" /> '+'<param name="allowFullScreen" value="'+this.properties.allowfullscreen+'" /> '+"</object>"
+}else{
+$4='<embed src="'+$5+'" '+'quality="high" '+'bgcolor="'+this.properties.bgcolor+'" '+'wmode="'+this.properties.wmode+'" '+'allowFullScreen="'+this.properties.allowfullscreen+'" '+'width="'+this.properties.width+'" '+'height="'+this.properties.height+'" '+'id="'+this.properties.id+'" '+'name="'+this.properties.id+'" '+'FlashVars="'+$8+'" '+'swLiveConnect="true" '+'align="middle" '+'allowScriptAccess="sameDomain" '+'type="application/x-shockwave-flash" '+'pluginspage="'+this.protocol()+'://www.macromedia.com/go/getflashplayer" />'
+};var $11=this.properties.id+"Container";var $12=this.properties.appenddiv;if($12){
+$12.innerHTML=$4;$12.setAttribute("style",$3)
+}else{
+$4='<div id="'+$11+'" style="'+$3+'"> '+$4+"</div>";document.writeln($4)
+}},get:function(){
+try{
+var $1=document.getElementById(this.properties.id+"")
+}
+catch(e){
+
+};return $1
+},setVisible:function($1){
+var $2=document.getElementById(this.properties.id+"Container");if($1==true){
+$2.style.visibility="visible"
+}else{
+$2.style.position="absolute";$2.style.x="-1000px";$2.style.y="-1000px";$2.style.visibility="hidden"
+}},center:function(){
+var $1=this.properties.width;var $2=this.properties.height;var $3=0;var $4=0;var $5=document.getElementById(this.properties.id+"Container");$5.style.top=$4+"px";$5.style.left=$3+"px"
+}};lz.embed.dojo.Communicator=function($1){
+this._id=$1
+};lz.embed.dojo.Communicator.prototype={_addExternalInterfaceCallback:function(methodName,id){
+var dojo=lz.embed.dojo;var $1=function(){
+var $1=[];for(var $2=0;$2<arguments.length;$2++){
+$1[$2]=arguments[$2]
+};$1.length=arguments.length;return dojo.comm[id]._execFlash(methodName,$1,id)
+};dojo.comm[id][methodName]=$1
+},_encodeData:function($1){
+var $2=RegExp("\\&([^;]*)\\;","g");$1=$1.replace($2,"&amp;$1;");$1=$1.replace(RegExp("<","g"),"&lt;");$1=$1.replace(RegExp(">","g"),"&gt;");$1=$1.replace("\\","&custom_backslash;&custom_backslash;");$1=$1.replace(RegExp("\\n","g"),"\\n");$1=$1.replace(RegExp("\\r","g"),"\\r");$1=$1.replace(RegExp("\\f","g"),"\\f");$1=$1.replace(RegExp("\\0","g"),"\\0");$1=$1.replace(RegExp("\\'","g"),"\\'");$1=$1.replace(RegExp('\\"',"g"),'\\"');return $1
+},_decodeData:function($1){
+if($1==null||typeof $1=="undefined"){
+return $1
+};$1=$1.replace(RegExp("\\&custom_lt\\;","g"),"<");$1=$1.replace(RegExp("\\&custom_gt\\;","g"),">");$1=eval('"'+$1+'"');return $1
+},_chunkArgumentData:function($1,$2,$3){
+var $4=lz.embed.dojo.obj[$3].get();var $5=Math.ceil($1.length/1024);for(var $6=0;$6<$5;$6++){
+var $7=$6*1024;var $8=$6*1024+1024;if($6==$5-1){
+$8=$6*1024+$1.length
+};var $9=$1.substring($7,$8);$9=this._encodeData($9);$4.CallFunction('<invoke name="chunkArgumentData" '+'returntype="javascript">'+"<arguments>"+"<string>"+$9+"</string>"+"<number>"+$2+"</number>"+"</arguments>"+"</invoke>")
+}},_chunkReturnData:function($1){
+var $2=lz.embed.dojo.obj[$1].get();var $3=$2.getReturnLength();var $4=[];for(var $5=0;$5<$3;$5++){
+var $6=$2.CallFunction('<invoke name="chunkReturnData" '+'returntype="javascript">'+"<arguments>"+"<number>"+$5+"</number>"+"</arguments>"+"</invoke>");if($6=='""'||$6=="''"){
+$6=""
+}else{
+$6=$6.substring(1,$6.length-1)
+};$4.push($6)
+};var $7=$4.join("");return $7
+},_execFlash:function($1,$2,$3){
+var $4=lz.embed.dojo.obj[$3].get();$4.startExec();$4.setNumberArguments($2.length);for(var $5=0;$5<$2.length;$5++){
+this._chunkArgumentData($2[$5],$5,$3)
+};$4.exec($1);var $6=this._chunkReturnData($3);$6=this._decodeData($6);$4.endExec();return $6
+}};lz.embed.dojo.Install=function($1){
+this._id=$1
+};lz.embed.dojo.Install.prototype={needed:function(){
+var $1=lz.embed.dojo;if($1.info.capable==false){
+return true
+};if(lz.embed.browser.isSafari==true&&!$1.info.isVersionOrAbove(8,0,0)){
+return true
+};if($1.minimumVersion>$1.info.versionMajor){
+return true
+};if(!$1.info.isVersionOrAbove(8,0,0)){
+return true
+};return false
+},install:function(){
+var $1=lz.embed.dojo;$1.info.installing=true;$1.installing();var $2=$1.obj[this._id].properties;var $3=$2.flash8;var $4=$3.indexOf("swf7");if($4!=-1){
+$1._tempurl=$3;$3=$3.substring(0,$4+3)+"8"+$3.substring($4+4,$3.length);$2.flash8=$3
+};var $4=$3.indexOf("swf9");if($4!=-1){
+$1._tempurl=$3;$3=$3.substring(0,$4+3)+"8"+$3.substring($4+4,$3.length);$2.flash8=$3
+};$1.ready=false;if($1.info.capable==false){
+$1._isinstaller=true;var $5=new ($1.Embed)($2);$5.write($1.minimumVersion)
+}else{
+if($1.info.isVersionOrAbove(6,0,65)){
+var $5=new ($1.Embed)($2);$5.write($1.minimumVersion,true);$5.setVisible(true);$5.center()
+}else{
+alert("This content requires a more recent version of the Macromedia "+" Flash Player.");window.location="http://www.macromedia.com/go/getflashplayer"
+}}},_onInstallStatus:function($1){
+if($1=="Download.Complete"){
+if(lz.embed.browser.isIE){
+top.location=top.location+""
+}}else{
+if($1=="Download.Cancelled"){
+alert("This content requires a more recent version of the Macromedia "+" Flash Player.");window.location="http://www.macromedia.com/go/getflashplayer"
+}else{
+if($1=="Download.Failed"){
+alert("There was an error downloading the Flash Player update. "+"Please try again later, or visit macromedia.com to download "+"the latest version of the Flash plugin.");window.location="http://www.macromedia.com/go/getflashplayer"
+}}}}};lz.embed.dojo.info=new (lz.embed.dojo.Info)();lz.embed.iframemanager={__counter:0,__frames:{},__namebyid:{},__loading:{},__callqueue:{},__calljsqueue:{},__sendmouseevents:{},__hidenativecontextmenu:{},__selectionbookmarks:{},create:function($1,$2,$3,$4,$5,$6){
+var $7="__lz"+lz.embed.iframemanager.__counter++;var $8='javascript:""';var $9='lz.embed.iframemanager.__gotload("'+$7+'")';if($2==null||$2=="null"||$2==""){
+$2=$7
+};lz.embed.iframemanager.__namebyid[$7]=$2;if($4==null||$4=="undefined"){
+$4=document.body
+};if(document.all){
+var $10="<iframe name='"+$2+"' id='"+$7+"' src='"+$8+"' onload='"+$9+"' frameBorder='0'";if($3!=true){
+$10+=" scrolling='no'"
+};$10+="></iframe>";var $11=document.createElement("div");lz.embed.__setAttr($11,"id",$7+"Container");$4.appendChild($11);$11.innerHTML=$10;var $12=document.getElementById($7)
+}else{
+var $12=document.createElement("iframe");lz.embed.__setAttr($12,"name",$2);lz.embed.__setAttr($12,"src",$8);lz.embed.__setAttr($12,"id",$7);lz.embed.__setAttr($12,"onload",$9);if($3!=true){
+lz.embed.__setAttr($12,"scrolling","no")
+};this.appendTo($12,$4)
+};if($12){
+this.__finishCreate($7,$1,$2,$3,$4,$5,$6)
+}else{
+this.__callqueue[$7]=[["__finishCreate",$7,$1,$2,$3,$4,$5,$6]];setTimeout('lz.embed.iframemanager.__checkiframe("'+$7+'")',10)
+};return $7+""
+},__checkiframe:function($1){
+var $2=document.getElementById($1);if($2){
+var $3=lz.embed.iframemanager.__callqueue[$1];delete lz.embed.iframemanager.__callqueue[$1];lz.embed.iframemanager.__playQueue($3)
+}else{
+setTimeout('lz.embed.iframemanager.__checkiframe("'+$1+'")',10)
+}},__playQueue:function($1){
+var $2=lz.embed.iframemanager;for(var $3=0;$3<$1.length;$3++){
+var $4=$1[$3];var $5=$4.splice(0,1);$2[$5].apply($2,$4)
+}},__finishCreate:function($1,$2,$3,$4,$5,$6,$7){
+var $8=document.getElementById($1);if(typeof $2=="string"){
+$8.appcontainer=lz.embed.applications[$2]._getSWFDiv()
+};$8.owner=$2;lz.embed.iframemanager.__frames[$1]=$8;this.__namebyid[$1]=$3;var $9=lz.embed.iframemanager.getFrame($1);$9.__gotload=lz.embed.iframemanager.__gotload;$9._defaultz=$6?$6:99900;this.setZ($1,$9._defaultz);lz.embed.iframemanager.__topiframe=$1;if(document.getElementById&&!document.all){
+$9.style.border="0"
+}else{
+if(document.all){
+lz.embed.__setAttr($9,"allowtransparency","true");var $10=lz.embed[$9.owner];if($10&&$10.runtime=="swf"){
+var $11=$10._getSWFDiv();$11.onfocus=lz.embed.iframemanager.__refresh
+}}};$9.style.position="absolute"
+},appendTo:function($1,$2){
+if($2.__appended==$2){
+return
+};if($1.__appended){
+old=$1.__appended.removeChild($1);$2.appendChild(old)
+}else{
+$2.appendChild($1)
+};$1.__appended=$2
+},getFrame:function($1){
+return lz.embed.iframemanager.__frames[$1]
+},getFrameWindow:function($1){
+if(!this["framesColl"]){
+if(document.frames){
+this.framesColl=document.frames
+}else{
+this.framesColl=window.frames
+}};return this.framesColl[$1]
+},setSrc:function($1,$2,$3){
+if(this.__callqueue[$1]){
+this.__callqueue[$1].push(["setSrc",$1,$2,$3]);return
+};this.__setSendMouseEvents($1,false);if($3){
+var $4=lz.embed.iframemanager.getFrame($1);if(!$4){
+return
+};lz.embed.__setAttr($4,"src",$2)
+}else{
+var $1=lz.embed.iframemanager.__namebyid[$1];var $4=window[$1];if(!$4){
+return
+};$4.location.replace($2)
+};this.__loading[$1]=true
+},setPosition:function($1,$2,$3,$4,$5,$6,$7){
+if(this.__callqueue[$1]){
+this.__callqueue[$1].push(["setPosition",$1,$2,$3,$4,$5,$6,$7]);return
+};var $8=lz.embed.iframemanager.getFrame($1);if(!$8){
+return
+};if($8.appcontainer){
+var $9=lz.embed.getAbsolutePosition($8.appcontainer)
+}else{
+var $9={x:0,y:0}};if($2!=null&&!isNaN($2)){
+$8.style.left=$2+$9.x+"px"
+};if($3!=null&&!isNaN($3)){
+$8.style.top=$3+$9.y+"px"
+};if($4!=null&&!isNaN($4)){
+$8.style.width=$4+"px"
+};if($5!=null&&!isNaN($5)){
+$8.style.height=$5+"px"
+};if($6!=null){
+if(typeof $6=="string"){
+$6=$6=="true"
+};$8.style.display=$6?"block":"none"
+};if($7!=null){
+this.setZ($1,$7+$8._defaultz)
+}},setVisible:function($1,$2){
+if(this.__callqueue[$1]){
+this.__callqueue[$1].push(["setVisible",$1,$2]);return
+};if(typeof $2=="string"){
+$2=$2=="true"
+};var $3=lz.embed.iframemanager.getFrame($1);if(!$3){
+return
+};$3.style.display=$2?"block":"none"
+},bringToFront:function($1){
+if(this.__callqueue[$1]){
+this.__callqueue[$1].push(["bringToFront",$1]);return
+};var $2=lz.embed.iframemanager.getFrame($1);if(!$2){
+return
+};$2._defaultz=100000;this.setZ($1,$2._defaultz);lz.embed.iframemanager.__topiframe=$1
+},sendToBack:function($1){
+if(this.__callqueue[$1]){
+this.__callqueue[$1].push(["sendToBack",$1]);return
+};var $2=lz.embed.iframemanager.getFrame($1);if(!$2){
+return
+};$2._defaultz=99900;this.setZ($1,$2._defaultz)
+},__gotload:function($1){
+var $2=lz.embed.iframemanager.getFrame($1);if(!$2){
+return
+};if($2.owner&&$2.owner.__gotload){
+$2.owner.__gotload()
+}else{
+lz.embed[$2.owner].callMethod("lz.embed.iframemanager.__gotload('"+$1+"')")
+};this.__loading[$1]=false;if(this.__sendmouseevents[$1]){
+this.__setSendMouseEvents($1,true)
+};if(this.__calljsqueue[$1]){
+this.__playQueue(this.__calljsqueue[$1]);delete this.__calljsqueue[$1]
+}},__refresh:function(){
+if(lz.embed.iframemanager.__topiframe){
+var $1=lz.embed.iframemanager.getFrame(lz.embed.iframemanager.__topiframe);if($1.style.display=="block"){
+$1.style.display="none";$1.style.display="block"
+}}},setZ:function($1,$2){
+if(this.__callqueue[$1]){
+this.__callqueue[$1].push(["setZ",$1,$2]);return
+};var $3=lz.embed.iframemanager.getFrame($1);if(!$3){
+return
+};$3.style.zIndex=$2
+},scrollBy:function($1,$2,$3){
+if(this.__callqueue[$1]){
+this.__callqueue[$1].push(["scrollBy",$1,$2,$3]);return
+};var $1=lz.embed.iframemanager.__namebyid[$1];var $4=window.frames[$1];if(!$4){
+return
+};$4.scrollBy($2,$3)
+},__destroy:function($1){
+if(this.__callqueue[$1]){
+this.__callqueue[$1].push(["__destroy",$1]);return
+};var $2=lz.embed.iframemanager.__frames[$1];if($2){
+this.__setSendMouseEvents($1,false);$2.owner=null;$2.appcontainer=null;LzSprite.prototype.__discardElement($2);delete lz.embed.iframemanager.__frames[$1];delete lz.embed.iframemanager.__namebyid[$1]
+}},callJavascript:function($1,$2,$3,$4){
+if(this.__callqueue[$1]){
+this.__callqueue[$1].push(["callJavascript",$1,$2,$3,$4]);return
+};if(this.__loading[$1]){
+if(!this.__calljsqueue[$1]){
+this.__calljsqueue[$1]=[]
+};this.__calljsqueue[$1].push(["callJavascript",$1,$2,$3,$4]);return
+};var $5=lz.embed.iframemanager.getFrameWindow($1);if(!$4){
+$4=[]
+};try{
+var $6=$5.eval($2);if($6){
+var $7=$6.apply($5,$4);if($3){
+$3.execute($7)
+};return $7
+}}
+catch(e){
+
+}},__globalMouseover:function($1,$2){
+var $3=lz.embed.iframemanager.getFrame($2);if(!$3){
+return
+};$1=window.event;if($3.owner&&$3.owner.sprite){
+if($1.toElement&&$1.toElement.nodeName!="IFRAME"){
+LzMouseKernel.__resetMouse()
+}}},__mouseEvent:function($1,$2){
+var $3=lz.embed;var $4=$3.iframemanager.getFrame($2);if(!$4){
+return
+};if(!$1){
+$1=window.event
+};var $5="on"+$1.type;if($4.owner&&$4.owner.sprite&&$4.owner.sprite.__mouseEvent){
+if($5=="oncontextmenu"){
+if(!$3.iframemanager.__hidenativecontextmenu[$2]){
+return
+}else{
+var $6=$3.getAbsolutePosition($4);LzMouseKernel.__sendMouseMove($1,$6.x,$6.y);return LzMouseKernel.__showContextMenu($1)
+}};$4.owner.sprite.__mouseEvent($1);if($5=="onmouseup"){
+if(LzMouseKernel.__lastMouseDown==$4.owner.sprite){
+LzMouseKernel.__lastMouseDown=null
+}}}else{
+if($5=="onmouseleave"){
+$5="onmouseout"
+}else{
+if($5=="onmouseenter"){
+$5="onmouseover"
+}else{
+if($5=="oncontextmenu"){
+return
+}}};$3[$4.owner].callMethod("lz.embed.iframemanager.__gotMouseEvent('"+$2+"','"+$5+"')")
+}},setSendMouseEvents:function($1,$2){
+if(this.__callqueue[$1]){
+this.__callqueue[$1].push(["setSendMouseEvents",$1,$2]);return
+};this.__sendmouseevents[$1]=$2
+},__setSendMouseEvents:function(id,$1){
+var iframe=lz.embed.iframemanager.getFrameWindow(id);if(!iframe){
+return
+};if($1){
+if(lz.embed.browser.isIE){
+lz.embed.attachEventHandler(document,"mouseover",lz.embed.iframemanager,"__globalMouseover",id)
+};try{
+lz.embed.attachEventHandler(iframe.document,"mousedown",lz.embed.iframemanager,"__mouseEvent",id);lz.embed.attachEventHandler(iframe.document,"mouseup",lz.embed.iframemanager,"__mouseEvent",id);lz.embed.attachEventHandler(iframe.document,"click",lz.embed.iframemanager,"__mouseEvent",id);iframe.document.oncontextmenu=function($1){
+if(!$1){
+$1=iframe.event
+};return lz.embed.iframemanager.__mouseEvent($1,id)
+};if(lz.embed.browser.isIE){
+lz.embed.attachEventHandler(iframe.document,"mouseenter",lz.embed.iframemanager,"__mouseEvent",id);lz.embed.attachEventHandler(iframe.document,"mouseleave",lz.embed.iframemanager,"__mouseEvent",id)
+}else{
+lz.embed.attachEventHandler(iframe.document,"mouseover",lz.embed.iframemanager,"__mouseEvent",id);lz.embed.attachEventHandler(iframe.document,"mouseout",lz.embed.iframemanager,"__mouseEvent",id)
+}}
+catch(e){
+
+}}else{
+if(lz.embed.browser.isIE){
+lz.embed.removeEventHandler(document,"mouseover",lz.embed.iframemanager,"__globalMouseover")
+};try{
+lz.embed.removeEventHandler(iframe.document,"mousedown",lz.embed.iframemanager,"__mouseEvent");lz.embed.removeEventHandler(iframe.document,"mouseup",lz.embed.iframemanager,"__mouseEvent");lz.embed.removeEventHandler(iframe.document,"click",lz.embed.iframemanager,"__mouseEvent");iframe.document.oncontextmenu=null;if(lz.embed.browser.isIE){
+lz.embed.removeEventHandler(iframe.document,"mouseenter",lz.embed.iframemanager,"__mouseEvent");lz.embed.removeEventHandler(iframe.document,"mouseleave",lz.embed.iframemanager,"__mouseEvent")
+}else{
+lz.embed.removeEventHandler(iframe.document,"mouseover",lz.embed.iframemanager,"__mouseEvent");lz.embed.removeEventHandler(iframe.document,"mouseout",lz.embed.iframemanager,"__mouseEvent")
+}}
+catch(e){
+
+}}},setShowNativeContextMenu:function($1,$2){
+this.__hidenativecontextmenu[$1]=!$2
+},storeSelection:function($1){
+var $2=lz.embed.iframemanager;var $3=$2.getFrameWindow($1);if($3&&$3.document&&$3.document.selection&&$3.document.selection.type=="Text"){
+$2.__selectionbookmarks[$1]=$3.document.selection.createRange().getBookmark()
+}},restoreSelection:function($1){
+var $2=lz.embed.iframemanager;var $3=$2.getFrameWindow($1);if($2.__selectionbookmarks[$1]&&$3){
+var $4=$2.__selectionbookmarks[$1];var $5=$3.document.body.createTextRange();$5.moveToBookmark($4);$5.select()
+}}};lz.embed.mousewheel={__mousewheelEvent:function($1){
+if(!$1){
+$1=window.event
+};var $2=0;if($1.wheelDelta){
+$2=$1.wheelDelta/120;if(lz.embed.browser.isOpera){
+$2=-$2
+}}else{
+if($1.detail){
+$2=-$1.detail/3
+}};if($1.preventDefault){
+$1.preventDefault()
+};$1.returnValue=false;var $3=lz.embed.mousewheel.__callbacks.length;if($2!=null&&$3>0){
+for(var $4=0;$4<$3;$4+=2){
+var $5=lz.embed.mousewheel.__callbacks[$4];var $6=lz.embed.mousewheel.__callbacks[$4+1];if($5&&$5[$6]){
+$5[$6]($2)
+}}}},__callbacks:[],setCallback:function($1,$2){
+var $3=lz&&lz.embed&&lz.embed.options&&lz.embed.options.cancelkeyboardcontrol!=true||true;if(lz.embed.mousewheel.__callbacks.length==0&&$3){
+if(window.addEventListener){
+lz.embed.attachEventHandler(window,"DOMMouseScroll",lz.embed.mousewheel,"__mousewheelEvent")
+};lz.embed.attachEventHandler(document,"mousewheel",lz.embed.mousewheel,"__mousewheelEvent")
+};lz.embed.mousewheel.__callbacks.push($1,$2)
+}};lz.embed.history={active:null,_currentstate:null,_apps:[],_intervalID:null,_registeredapps:{},intervaltime:200,init:function(){
+var $1=lz.embed.history;if($1.active||$1.active==false){
+return
+};$1.active=true;$1._title=top.document.title;var $2=$1.get();if(lz.embed.browser.isSafari){
+$1._historylength=history.length;$1._history=[];for(var $3=1;$3<$1._historylength;$3++){
+$1._history.push("")
+};$1._history.push($2);var $4=document.createElement("form");$4.method="get";document.body.appendChild($4);$1._form=$4;if(!top.document.location.lzaddr){
+top.document.location.lzaddr={}};if(top.document.location.lzaddr.history){
+$1._history=top.document.location.lzaddr.history.split(",")
+};if($2!=""){
+$1.set($2)
+}}else{
+if(lz.embed.browser.isIE){
+var $2=top.location.hash;if($2){
+$2=$2.substring(1)
+};var $3=document.createElement("iframe");lz.embed.__setAttr($3,"id","lzHistory");lz.embed.__setAttr($3,"frameborder","no");lz.embed.__setAttr($3,"scrolling","no");lz.embed.__setAttr($3,"width","0");lz.embed.__setAttr($3,"height","0");lz.embed.__setAttr($3,"src",'javascript:""');document.body.appendChild($3);$3=document.getElementById("lzHistory");$1._iframe=$3;$3.style.display="none";$3.style.position="absolute";$3.style.left="-999px";var $5=$3.contentDocument||$3.contentWindow.document;$5.open();$5.close();if($2!=""){
+$5.location.hash="#"+$2;$1._parse($2)
+}}else{
+if($2!=""){
+$1._parse($2);$1._currentstate=$2
+}}};if($1._intervalID!=null){
+clearInterval($1._intervalID)
+};if($1.intervaltime>0){
+$1._intervalID=setInterval("lz.embed.history._checklocationhash()",$1.intervaltime)
+}},listen:function($1){
+if(typeof $1=="string"){
+$1=lz.embed.applications[$1];if(!$1||!$1.runtime){
+return
+}};if(!$1){
+return
+};var $2=lz.embed.history;if($2._registeredapps[$1._id]){
+return
+};$2._registeredapps[$1.id]=true;$2._apps.push($1);$2.init()
+},_checklocationhash:function(){
+if(lz.embed.dojo&&lz.embed.dojo.info&&lz.embed.dojo.info.installing){
+return
+};if(lz.embed.browser.isSafari){
+var $1=this._history[this._historylength-1];if($1==""||$1=="#"){
+$1="#0"
+};if(!this._skip&&this._historylength!=history.length){
+this._historylength=history.length;if(typeof $1!="undefined"){
+$1=$1.substring(1);this._currentstate=$1;this._parse($1)
+}}else{
+this._parse($1.substring(1))
+}}else{
+var $1=lz.embed.history.get();if($1==""){
+$1="0"
+};if(lz.embed.browser.isIE){
+if($1!=this._currentstate){
+top.location.hash=$1=="0"?"":"#"+$1;this._currentstate=$1;this._parse($1)
+};if(top.document.title!=this._title){
+top.document.title=this._title
+}}else{
+this._currentstate=$1;this._parse($1)
+}}},set:function($1){
+if(lz.embed.history.active==false){
+return
+};if($1==null){
+$1=""
+};if(lz.embed.history._currentstate==$1){
+return
+};lz.embed.history._currentstate=$1;var $2="#"+$1;if(lz.embed.browser.isIE){
+top.location.hash=$2=="#0"?"":$2;var $3=lz.embed.history._iframe.contentDocument||lz.embed.history._iframe.contentWindow.document;$3.open();$3.close();$3.location.hash=$2;lz.embed.history._parse($1+"")
+}else{
+if(lz.embed.browser.isSafari){
+lz.embed.history._history[history.length]=$2;lz.embed.history._historylength=history.length+1;if(lz.embed.browser.version<412){
+if(top.location.search==""){
+lz.embed.history._form.action=$2;top.document.location.lzaddr.history=lz.embed.history._history.toString();lz.embed.history._skip=true;lz.embed.history._form.submit();lz.embed.history._skip=false
+}}else{
+var $4=document.createEvent("MouseEvents");$4.initEvent("click",true,true);var $5=document.createElement("a");$5.href=$2;$5.dispatchEvent($4)
+}}else{
+top.location.hash=$2;lz.embed.history._parse($1+"")
+}};return true
+},get:function(){
+var $1="";if(lz.embed.browser.isIE){
+if(lz.embed.history._iframe){
+var $2=lz.embed.history._iframe.contentDocument||lz.embed.history._iframe.contentWindow.document;$1=$2.location.hash
+}}else{
+$1=top.location.href
+};var $3=$1.indexOf("#");if($3!=-1){
+return $1.substring($3+1)
+};return ""
+},_parse:function($1){
+var $2=lz.embed.history;if($1.length==0){
+return
+};for(var $3=0,$4=lz.embed.history._apps.length;$3<$4;$3++){
+var $5=lz.embed.history._apps[$3];if(!$5.loaded||$5._lasthash==$1){
+continue
+};$5._lasthash=$1;if($1.indexOf("_lz")!=-1){
+$1=$1.substring(3);var $6=$1.split(",");for(var $7=0;$7<$6.length;$7++){
+var $8=$6[$7];var $9=$8.indexOf("=");var $10=unescape($8.substring(0,$9));var $11=unescape($8.substring($9+1));lz.embed.setCanvasAttribute($10,$11);if(window["canvas"]){
+canvas.setAttribute($10,$11)
+}}}else{
+if($5.runtime=="swf"){
+$2.__setFlash($1,$5._id)
+}else{
+if(window["lz"]&&lz["History"]&&lz.History["isReady"]&&lz.History["receiveHistory"]){
+lz.History.receiveHistory($1)
+}}}}},_store:function($1,$2){
+if($1 instanceof Object){
+var $3="";for(var $4 in $1){
+if($3!=""){
+$3+=","
+};$3+=escape($4)+"="+escape($1[$4])
+}}else{
+var $3=escape($1)+"="+escape($2)
+};this.set("_lz"+$3)
+},__setFlash:function($1,$2){
+var $3=lz.embed[$2];if($3&&$3.loaded&&$3.runtime=="swf"){
+var $4=$3._getSWFDiv();if($4){
+var $5=$3.callMethod("lz.History.receiveHistory("+$1+")");$3._lasthash=$1
+}}}};if(lz.embed.browser.isFirefox){
+window.onunload=function(){
+
+}};lz.embed.regex={cache:{},create:function($1,$2,$3){
+try{
+var $4=lz.embed.regex;$4.cache[$1]=new RegExp($4.unmask($2),$4.unmask($3));return true
+}
+catch(e){
+return e.name+": "+e.message
+}},test:function($1,$2,$3){
+var $4=lz.embed.regex;var $5=$4.cache[$1];$5.lastIndex=$3;return [$5.test($4.unmask($2)),$5.lastIndex]
+},exec:function($1,$2,$3){
+var $4=lz.embed.regex;var $5=$4.cache[$1];$5.lastIndex=$3;var $6=$5.exec($4.unmask($2));if($6){
+($6=$4.maskArr($6)).push($6.index,$5.lastIndex);return $6
+}else{
+return null
+}},match:function($1,$2){
+var $3=lz.embed.regex;var $4=$3.unmask($2).match($3.cache[$1]);return $4?$3.maskArr($4):null
+},replace:function($1,$2,$3){
+var $4=lz.embed.regex;return $4.mask($4.unmask($2).replace($4.cache[$1],$4.unmask($3)))
+},search:function($1,$2){
+var $3=lz.embed.regex;return $3.unmask($2).search($3.cache[$1])
+},split:function($1,$2,$3){
+var $4=lz.embed.regex;return $4.maskArr($4.unmask($2).split($4.cache[$1],$3))
+},remove:function($1){
+delete lz.embed.regex.cache[$1]
+},mask:function($1){
+
+var re = /^\s*$/;
+var re2 = /\s/g;
+;return( $1==null||!re.test($1)?$1:"__#lznull"+$1.replace(re2,function($1){
+switch($1){
+case " ":
+return "w";
+case "\f":
+return "f";
+case "\n":
+return "n";
+case "\r":
+return "r";
+case "\t":
+return "t";
+case "\xA0":
+return "s";
+case "\u2028":
+return "l";
+case "\u2029":
+return "p";
+
+}}))
+},unmask:function($1){
+return $1=="__#lznull"?"":$1
+},maskArr:function($1){
+var $2=lz.embed.regex;for(var $3=0;$3<$1.length;++$3){
+$1[$3]=$2.mask($1[$3])
+};return $1
+}};
\ No newline at end of file
diff --git a/WebContent/src/favicon.ico b/WebContent/src/favicon.ico
new file mode 100644
index 0000000..d83808d
--- /dev/null
+++ b/WebContent/src/favicon.ico
Binary files differ
diff --git a/WebContent/src/index.html b/WebContent/src/index.html
new file mode 100644
index 0000000..dec03c9
--- /dev/null
+++ b/WebContent/src/index.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+
+<meta http-equiv="cache-control" content="no-cache">
+
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
+<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
+<meta name="viewport" content="width=device-width; initial-scale=1.0;">
+<title>OpenLaszlo Application</title>
+<script type="text/javascript">
+          // If loaded bare into a browser, set the browser size to the canvas size
+          if (window === top) {
+            (function (width, height) {
+              // Cf. http://www.quirksmode.org/viewport/compatibility.html
+              if (window.innerHeight) {
+                // Sadly, innerHeight/Width is not r/w on some browsers, and resizeTo is for outerHeight/Width
+                window.resizeTo(width ? (width + window.outerWidth - window.innerWidth) : window.outerWidth,
+                                height ? (height + window.outerHeight - window.innerHeight) : window.outerHeight);
+              } else if (document.documentElement && document.documentElement.clientHeight) {
+                if (width) {
+                  document.documentElement.clientWidth = width;
+                }
+                if (height) {
+                  document.documentElement.clientHeight = height;
+                }
+              } else {
+                if (width) {
+                  document.body.clientWidth = width;
+                }
+                if (height) {
+                  document.body.clientHeight = height;
+                }
+              }
+            })(null, null);
+          }
+        </script>
+<script type="text/javascript"
+	src="embed-compressed.js"></script>
+<script type="text/javascript">
+
+function getBrowserInfo() {
+	//alert(navigator.userAgent);
+	return navigator.userAgent;
+}
+
+</script>
+	
+<style type="text/css">
+html,body { /* http://www.quirksmode.org/css/100percheight.html */
+	height: 100%;
+	/* prevent scrollbars */
+	margin: 0;
+	padding: 0;
+	border: 0 none;
+	overflow: hidden;
+}
+
+body {
+	background-color: #ffffff;
+}
+
+img {
+	border: 0 none;
+}
+</style>
+</head>
+<body>
+<script type="text/javascript">
+    lz.embed.swf({url: 'maindebug.lzx?lzr=swf8&lzproxied=solo&lzt=swf', allowfullscreen: 'true', bgcolor: '#ffffff', width: '100%', height: '100%', id: 'lzapp', accessible: 'false'});
+
+    lz.embed.lzapp.onloadstatus = function loadstatus(p) {
+      // called with a percentage (0-100) indicating load progress
+    }
+
+    lz.embed.lzapp.onload = function loaded() {
+      // called when this application is done loading
+    }
+</script>
+<div style="width: 100%; height: 100%;" id="lzappContainer"><embed
+	src="maindebug.lzx-Dateien/maindebug.lzx" quality="high"
+	bgcolor="#ffffff" wmode="window" allowfullscreen="false" id="lzapp"
+	name="lzapp"
+	flashvars="lzt=swf&amp;lzproxied=solo&amp;lzr=swf8&amp;bgcolor=%23ffffff&amp;width=100%25&amp;height=100%25&amp;__lzurl=maindebug.lzx%3Flzt%3Dswf%26lzproxied%3Dsolo%26lzr%3Dswf8&amp;__lzminimumversion=8&amp;id=lzapp"
+	swliveconnect="true" allowscriptaccess="sameDomain"
+	type="application/x-shockwave-flash"
+	pluginspage="http://www.macromedia.com/go/getflashplayer"
+	align="middle" height="100%" width="100%"></div>
+<noscript>Please enable JavaScript in order to use this
+application.</noscript>
+</body>
+</html>
\ No newline at end of file
diff --git a/WebContent/src/main.lzx b/WebContent/src/main.lzx
new file mode 100644
index 0000000..4e0e864
--- /dev/null
+++ b/WebContent/src/main.lzx
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+          
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas width="100%" height="100%" title="OpenMeetings">
+    
+<!-- 
+    If you use maindebug.lzx, main.lzx with debug=true is loaded. 
+    h.kuze 2008.3.26
+    I re-arranged it back to the old setup,
+    I see that this information is duplicated here, but I would like to 
+    distribute two versions of OpenMeetings in a binary release: 
+    the normal Client and the Client Including the OpenLaszlo-Debug-Player
+    -swagner 2008.3.28
+-->
+     
+<include href="incubator/lzcombobox.lzx" />
+<include href="incubator/shadowbox.lzx" />
+
+<include href="resources/" /> 
+<include href="base/" /><!-- attributes,methods,datasets,are moved into /base -->
+<include href="modules/" />
+<include href="plugins/" />  
+
+<silverstyle name="defaultstyle" isdefault="true" canvascolor="white" />
+
+<silverstyle name="componentStyle" basecolor="0xFFFFFF" textcolor="0x000000" />
+
+<silverstyle name="itemStyle" textcolor="0xFFFFFF" />
+
+<whitestyle name="menuStyle" textcolor="0x000000" />
+             
+
+<!-- main colors: 264269 -->
+<handler name="oninit">
+    //this.setAttribute('framerate',12);
+    var cmenu = new LzContextMenu();
+    canvas.setDefaultContextMenu(cmenu);
+    cmenu.hideBuiltInItems();
+    if($debug) Debug.write("main.lzx/oninit:",this);
+    canvas.lc = new LocalConnection();
+</handler>
+
+
+<!-- View for Contents. All Windows will be loaded on this view. -->
+<view name="main_content" y="${ canvas.naviHeightDelta }" width="${canvas.width}" 
+			    height="${ canvas.height-canvas.naviHeightDelta }"
+			    visibility="hidden" showhandcursor="false">
+    
+    <handler name="onmouseover">
+        setCurrentMouseWheelObject(this._scrollbar);
+    </handler>
+    <handler name="onmouseout">
+        disableCurrentMouseWheelObject();
+    </handler>
+    
+    <view x="0" name="_content" >
+        <view name="inner" />
+        <method name="clearAll">
+            <![CDATA[
+                canvas.sendViaLocalConnection(canvas.vid_lc_name, "clearAll", null);
+                if($debug) Debug.write("main.lzx/main_content._content.inner.clearAll(): ",this.inner,this.inner.subviews.length);
+                var baseContent = this.inner.subviews[0].close();
+                for (var eg in this.inner.subviews) {
+                    if($debug) Debug.write("main.lzx/main_content._content.inner.clearAll()-subviews: ",this.inner.subviews[eg]);
+                    if (eg!=0) this.inner.subviews[eg].close();               
+                }
+                return baseContent;
+            ]]>
+        </method>
+    </view>
+    <om_hscrollbar name="_scrollbarH" id="_mainScrollHBar" visibility="hidden" />
+    <om_vscrollbar name="_scrollbar" id="_mainScrollBar" />
+</view>  
+  
+<!-- View for Navigation-bar and App-name -->
+<view name="_mainbgcontentNavi" x="0" y="0" clip="true"
+    width="100%" height="${ canvas.naviHeight }" visibility="hidden">
+    <text id="mainBaseText" x="10" y="10"
+        fgcolor="${ canvas.fontColorHeader }" fontsize="20" fontstyle="bold">
+        <method name="setShadow" >
+            <![CDATA[
+            if (this.isinited && false){
+                this.normalMC = this.getDisplayObject();
+                this.displacementMap = new flash.filters.DropShadowFilter();
+                this.normalMC.filters = [this.displacementMap];
+            }
+            ]]>              
+        </method> 
+        <handler name="onclick">
+            lz.Browser.loadURL(canvas.currentappnameurl,"_blank");
+        </handler>  
+        <labelTooltip id="mainBaseTextLabel" />      
+    </text>
+    <handler name="oninit">
+        var cmenu = new LzContextMenu();
+        this.setContextMenu(cmenu);
+        cmenu.hideBuiltInItems();
+    </handler>     
+</view>
+
+<!-- View for Conference menu bar at the top side. Visible on conference -->
+<view name="_conferencemenu" y="0" x="0" width="100%" height="20" visibility="hidden" > 
+    <method name="removeAll">
+        <![CDATA[
+            if($debug) Debug.write("main.lzx/_coferencemenu.removeAll(): ");
+            while (this.subviews.length > 0) {
+                this.subviews[0].destroy();
+            }
+            parent._moderatormenu.removeAll();
+        ]]>
+    </method>
+</view> 
+
+<view name="_moderatormenu" y="0" x="0" width="100%" height="20">
+    <method name="removeAll">
+        <![CDATA[
+            if($debug) Debug.write("main.lzx/_moderatormenu.removeAll(): ");
+            while (this.subviews.length > 0) {
+                this.subviews[0].destroy();
+            }
+        ]]>
+    </method>
+</view>  
+    
+<!-- View for "Loading" -->
+<view name="_loadingAll" visible="false" opacity="0.7" 
+    width="${ canvas.width }" height="${ canvas.height }" 
+    bgcolor="0xFFFFFF" clickable="true" showhandcursor="false">
+    <method name="hideContentOnly">
+    	this.showLoadingAnni.doStart();
+        this.setAttribute("visibility","visible");
+        this._text.setAttribute("visibility","hidden");
+    </method>
+    <method name="showLoading">
+    	this.showLoadingAnni.doStart();
+        this.setAttribute("visibility","visible");
+        this._text.setAttribute("visibility","visible");
+    </method>
+    <method name="hideLoading">
+        this.setAttribute("visibility","hidden");
+    </method>
+    <animator name="showLoadingAnni" attribute="opacity" 
+    		from="0" to="0.7" start="false" duration="250" />
+    <text name="_text" align="right" y="56" fontsize="14" fgcolor="red">Loading...</text>
+</view>
+
+</canvas>
\ No newline at end of file
diff --git a/WebContent/src/maindebug.lzx b/WebContent/src/maindebug.lzx
new file mode 100644
index 0000000..d39511d
--- /dev/null
+++ b/WebContent/src/maindebug.lzx
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+          
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas debug="true" width="100%" height="100%" title="OpenMeetings">
+    <debug fontsize="11" oninit="Debug.showInternalProperties = true" width="40%" y="50%" x="0" height="50%" />
+    
+<!-- 
+    If you use maindebug.lzx, main.lzx with debug=true is loaded. 
+    h.kuze 2008.3.26
+    I re-arranged it back to the old setup,
+    I see that this information is duplicated here, but I would like to 
+    distribute two versions of OpenMeetings in a binary release: 
+    the normal Client and the Client Including the OpenLaszlo-Debug-Player
+    -swagner 2008.3.28
+-->
+     
+<include href="incubator/lzcombobox.lzx" />
+<include href="incubator/shadowbox.lzx" />
+
+<include href="resources/" /> 
+<include href="base/" /><!-- attributes,methods,datasets,are moved into /base -->
+<include href="modules/" />
+<include href="plugins/" />  
+
+<silverstyle name="defaultstyle" isdefault="true" canvascolor="white" />
+
+<silverstyle name="componentStyle" basecolor="0xFFFFFF" textcolor="0x000000" />
+
+<silverstyle name="itemStyle" textcolor="0xFFFFFF" />
+
+<whitestyle name="menuStyle" textcolor="0x000000" />
+             
+<!-- main colors: 264269 -->
+<handler name="oninit">
+    //this.setAttribute('framerate',12);
+    var cmenu = new LzContextMenu();
+    canvas.setDefaultContextMenu(cmenu);
+    cmenu.hideBuiltInItems();
+    if($debug) Debug.write("main.lzx/oninit:",this);
+    canvas.lc = new LocalConnection();
+</handler>
+
+
+<!-- View for Contents. All Windows will be loaded on this view. -->
+<view name="main_content" y="${ canvas.naviHeightDelta }" width="${canvas.width}" 
+			    height="${ canvas.height-canvas.naviHeightDelta }"
+			    visibility="hidden" showhandcursor="false">
+    
+    <handler name="onmouseover">
+        setCurrentMouseWheelObject(this._scrollbar);
+    </handler>
+    <handler name="onmouseout">
+        disableCurrentMouseWheelObject();
+    </handler>
+    
+    <view x="0" name="_content" >
+        <view name="inner" />
+        <method name="clearAll">
+            <![CDATA[
+                canvas.sendViaLocalConnection(canvas.vid_lc_name, "clearAll", null);
+                if($debug) Debug.write("main.lzx/main_content._content.inner.clearAll(): ",this.inner,this.inner.subviews.length);
+                var baseContent = this.inner.subviews[0].close();
+                for (var eg in this.inner.subviews) {
+                    if($debug) Debug.write("main.lzx/main_content._content.inner.clearAll()-subviews: ",this.inner.subviews[eg]);
+                    if (eg!=0) this.inner.subviews[eg].close();               
+                }
+                return baseContent;
+            ]]>
+        </method>
+    </view>
+    <om_hscrollbar name="_scrollbarH" id="_mainScrollHBar" visibility="hidden" />
+    <om_vscrollbar name="_scrollbar" id="_mainScrollBar" />
+</view>  
+  
+<!-- View for Navigation-bar and App-name -->
+<view name="_mainbgcontentNavi" x="0" y="0" clip="true"
+    width="100%" height="${ canvas.naviHeight }" visibility="hidden">
+    <text id="mainBaseText" x="10" y="10"
+        fgcolor="${ canvas.fontColorHeader }" fontsize="20" fontstyle="bold">
+        <method name="setShadow" >
+            <![CDATA[
+            if (this.isinited && false){
+                this.normalMC = this.getDisplayObject();
+                this.displacementMap = new flash.filters.DropShadowFilter();
+                this.normalMC.filters = [this.displacementMap];
+            }
+            ]]>              
+        </method> 
+        <handler name="onclick">
+            lz.Browser.loadURL(canvas.currentappnameurl,"_blank");
+        </handler>  
+        <labelTooltip id="mainBaseTextLabel" />      
+    </text>
+    <handler name="oninit">
+        var cmenu = new LzContextMenu();
+        this.setContextMenu(cmenu);
+        cmenu.hideBuiltInItems();
+    </handler>     
+</view>
+
+<!-- View for Conference menu bar at the top side. Visible on conference -->
+<view name="_conferencemenu" y="0" x="0" width="100%" height="20" visibility="hidden" > 
+    <method name="removeAll">
+        <![CDATA[
+            if($debug) Debug.write("main.lzx/_coferencemenu.removeAll(): ");
+            while (this.subviews.length > 0) {
+                this.subviews[0].destroy();
+            }
+            parent._moderatormenu.removeAll();
+        ]]>
+    </method>
+</view> 
+
+<view name="_moderatormenu" y="0" x="0" width="100%" height="20">
+    <method name="removeAll">
+        <![CDATA[
+            if($debug) Debug.write("main.lzx/_moderatormenu.removeAll(): ");
+            while (this.subviews.length > 0) {
+                this.subviews[0].destroy();
+            }
+        ]]>
+    </method>
+</view>  
+    
+<!-- View for "Loading" -->
+<view name="_loadingAll" visible="false" opacity="0.7" 
+    width="${ canvas.width }" height="${ canvas.height }" 
+    bgcolor="0xFFFFFF" clickable="true" showhandcursor="false">
+    <method name="hideContentOnly">
+    	this.showLoadingAnni.doStart();
+        this.setAttribute("visibility","visible");
+        this._text.setAttribute("visibility","hidden");
+    </method>
+    <method name="showLoading">
+    	this.showLoadingAnni.doStart();
+        this.setAttribute("visibility","visible");
+        this._text.setAttribute("visibility","visible");
+    </method>
+    <method name="hideLoading">
+        this.setAttribute("visibility","hidden");
+    </method>
+    <animator name="showLoadingAnni" attribute="opacity" 
+    		from="0" to="0.7" start="false" duration="250" />
+    <text name="_text" align="right" y="56" fontsize="14" fgcolor="red">Loading...</text>
+</view>
+
+</canvas>
\ No newline at end of file
diff --git a/WebContent/src/modules/admin/backup/backupContent.lzx b/WebContent/src/modules/admin/backup/backupContent.lzx
new file mode 100644
index 0000000..aaeeb36
--- /dev/null
+++ b/WebContent/src/modules/admin/backup/backupContent.lzx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- Backup module for admin. It can export or import user account data as xml-file. -->
+<class name="backupContent" extends="baseContentView">
+	
+	<labelText fontsize="10" fontstyle="bold" y="2" x="2" labelid="1066" />
+	
+    <view x="4" resource="warning_icon_rsc" y="26" />
+
+    <labelText fontsize="10" y="24"
+	     x="30" width="600" labelid="1065" multiline="true" />
+	
+	<labelCheckbox x="10" y="180" fontsize="11"
+        name="_includeFileOption" text="Include uploaded files and recordings in backup" >
+        <handler name="oninit">
+            this.setValue(true);
+        </handler>
+    </labelCheckbox>  
+	
+	<!-- System Import -->
+    <simpleLabelButton text="System Import" x="30" y="220" width="200">
+    	<handler name="onclick">
+        	<![CDATA[
+	        	new lz.uploadWindowExplorer(canvas.main_content._content.inner,{
+	                            x:300,
+	                            isOnlyZip:true,
+	                            servletName:'backup.upload'
+	                        });
+        	]]>
+        </handler>
+	    <!-- 
+	        new lz.backupImportWindow(canvas.main_content._content.inner,{x:60,y:60,uploadmodule:'users'});
+	     -->
+    </simpleLabelButton> 
+    
+    <!-- System Backup -->
+    <simpleLabelButton text="System Backup" x="232" y="220" width="200">
+        <handler name="onclick">
+            <![CDATA[
+                var exporturl = canvas.protocol+'://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                        +canvas.httpRootKey+'BackupExport?moduleName=backup'
+                        +'&sid='+canvas.sessionId;
+                
+                if (parent._includeFileOption.getValue()) {
+                	exporturl += "&includeFileOption=yes";
+                } else {
+                	exporturl += "&includeFileOption=no";
+                }
+                        
+                if($debug) Debug.write("BACKUP/exporturl "+exporturl);
+                lz.Browser.loadURL(exporturl,"_parent");
+            ]]>
+        </handler>
+    </simpleLabelButton>  
+    
+    <labelText fontsize="10" fontstyle="italic" y="250" x="10">
+    	<handler name="oninit">
+    		var mBytes = Math.round(Number(canvas.MAX_UPLOAD_SIZE)/1024/1024);
+    		this.setAttribute("text",canvas.getLabelName(1491)+" "+mBytes+" MB  [max_upload_size = "+canvas.MAX_UPLOAD_SIZE+" Bytes]");
+    	</handler>
+    </labelText>    
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/admin/backup/library.lzx b/WebContent/src/modules/admin/backup/library.lzx
new file mode 100644
index 0000000..d11af3d
--- /dev/null
+++ b/WebContent/src/modules/admin/backup/library.lzx
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+    <include href="backupContent.lzx" />
+    
+    
+
+</library>
diff --git a/WebContent/src/modules/admin/confadmin/confAdmin.lzx b/WebContent/src/modules/admin/confadmin/confAdmin.lzx
new file mode 100644
index 0000000..b27cdab
--- /dev/null
+++ b/WebContent/src/modules/admin/confadmin/confAdmin.lzx
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- Configuration module for ADMIN -->
+<class name="confAdmin" extends="baseContentView">
+
+    <turnOverList name="_turnoverlist" width="410" 
+    	height="${ canvas.height - canvas.naviHeight }" x="2" 
+    	y="${ 0 - parent.parent.parent.y }" 
+		orderby="configuration_id" step="50" asc="true">
+
+		<handler name="oninit">
+			this.addHeaderItem(264,80);
+			this.addHeaderItem(265,164);
+            this.addHeaderItem(598,150);
+			this.getAllConf.doCall();
+		</handler>
+		
+		<handler name="oncallnext" >
+			this.getAllConf.doCall();
+		</handler>
+		
+		<handler name="oncallpre" >		
+			this.getAllConf.doCall();
+		</handler>
+		
+		<handler name="onclickedItem" args="obj">
+			if ($debug) Debug.write("onclickedItem",obj,obj.obj);
+            parent._confvalueform.hideNewRecordText();
+			parent._confvalueform.initValueFieldsByObject(obj.obj);
+		</handler>
+		
+		<netRemoteCallHib name="getAllConf" funcname="configservice.getAllConf" remotecontext="$once{ canvas.thishib }" >      
+			<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.start; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.step; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.orderby; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.asc; </method></netparam>
+	    	<handler name="ondata" args="value">
+	    		//Debug.write("getAllConf ",value);
+	    		//this.parent.destroy();
+	    		this.parent.initValues(value.records);
+	    		this.parent.renderContent(value.result);
+	    	</handler>
+	    </netRemoteCallHib>	
+	    
+	    <method name="renderContent" args="records">
+	    	<![CDATA[
+	    	this.clearList();
+	    	for (var i=0;i<records.length;i++){
+	    		new lz.confAdminListItem(this._innerlist._inn._inn,{
+	                    obj:records[i],
+	                    configuration_id:records[i].configuration_id,
+	                    conf_key:records[i].conf_key,
+                        conf_value:records[i].conf_value
+                    });
+	    	}
+            this.sendInitialWidthUpdate();
+	    	]]>
+	    </method>
+
+	</turnOverList>
+    
+    <confAdminValueForm name="_confvalueform" x="416">
+        <handler name="onnew" args="refObj">
+            parent._turnoverlist.clearSelection();
+        </handler>
+    </confAdminValueForm>
+
+        
+</class>
+
+</library>
diff --git a/WebContent/src/modules/admin/confadmin/confAdminListItem.lzx b/WebContent/src/modules/admin/confadmin/confAdminListItem.lzx
new file mode 100644
index 0000000..b4d3fd6
--- /dev/null
+++ b/WebContent/src/modules/admin/confadmin/confAdminListItem.lzx
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- Configuration list. It shows ID-KEY pairs. -->
+<class name="confAdminListItem" extends="baseContentListItem">
+	
+	<attribute name="configuration_id" value="0" type="number" />
+	<attribute name="conf_key" value="" type="string" />
+    <attribute name="conf_value" value="" type="string" />
+	
+	<turnOverTextItem text="$once{ parent.configuration_id }" width="80" />
+	<turnOverTextItem text="$once{ parent.conf_key }" width="166" />
+    <turnOverTextItem text="$once{ parent.conf_value }" width="150" />
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/admin/confadmin/confAdminValueForm.lzx b/WebContent/src/modules/admin/confadmin/confAdminValueForm.lzx
new file mode 100644
index 0000000..77dc9e6
--- /dev/null
+++ b/WebContent/src/modules/admin/confadmin/confAdminValueForm.lzx
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- configuration edit panel. -->
+<class name="confAdminValueForm" extends="baseContentSaveView">
+
+	<!-- recordContent-id -->
+	<attribute name="configuration_id" value="0" type="number" />
+    <attribute name="confobj" value="null" />
+	
+	<!--handlers -->
+
+	<handler name="onsavecompleted" >
+		this.getConfByConfigurationId.doCall();
+	</handler>
+	
+	<handler name="onreload" >
+		if (this.configuration_id!=0) this.getConfByConfigurationId.doCall();
+	</handler>	
+
+	<handler name="onnew">
+		this.configuration_id=0;
+		this.comment.setAttribute('text','');
+		this.conf_key.setAttribute('text','');
+		this.conf_value.setAttribute('text','');
+		this.updatetime.setAttribute('text','');
+        this.users_login.setAttribute('text','');
+	</handler>
+	
+    <handler name="ondelete" >
+		if (this.configuration_id!=0){
+            this.deleteConfiguration.prepareCall();
+			this.deleteConfiguration.doCall();
+		}
+    </handler>
+	
+	<!-- methods -->
+
+    <method name="initValueFieldsByObject" args="obj">
+		this.configuration_id = obj.configuration_id;
+		if (this.configuration_id!=0){
+			this.getConfByConfigurationId.doCall();
+		}
+    </method>
+    
+    <method name="initFields" args="obj">
+    	<![CDATA[
+            //Debug.write("initFields: ",obj);
+            this.confobj = obj;
+			this.comment.setAttribute('text',obj.comment);
+			this.conf_key.setAttribute('text',obj.conf_key);
+			this.conf_value.setAttribute('text',obj.conf_value);
+			this.updatetime.setAttribute('text',obj.updatetime);
+            if(obj.users!=null){
+			    this.users_login.setAttribute('text',obj.users.login);
+            } else {
+                this.users_login.setAttribute('text','');
+            }
+        ]]>
+    </method>
+	
+	<!-- remotecalls -->
+	
+  	<netRemoteCallHib name="getConfByConfigurationId" funcname="configservice.getConfByConfigurationId" 
+  		remotecontext="$once{ canvas.thishib }" > 
+  		<netparam><method name="getValue">return canvas.sessionId; </method></netparam>
+    	<netparam><method name="getValue">return parent.parent.configuration_id;</method></netparam>
+    	<handler name="ondata" args="value">
+    		parent.initFields(value);
+    	</handler>
+  	</netRemoteCallHib>
+	
+	<netRemoteCallHib name="deleteConfiguration" funcname="configservice.deleteConfiguration" remotecontext="$once{ canvas.thishib }" >      
+        <attribute name="sendObject" value="null" />
+		<method name="prepareCall">
+  			this.sendObject=new Array();
+            this.sendObject["configuration_id"] = this.parent.configuration_id;
+            this.sendObject["comment"] = this.parent.comment.getText();
+            this.sendObject["conf_key"] = this.parent.conf_key.getText();
+            this.sendObject["conf_value"] = this.parent.conf_value.getText();
+  			//Debug.write("prepareCall: ",this.sendObject);
+  		</method>
+  		<netparam><method name="getValue">return canvas.sessionId; </method></netparam>
+    	<netparam><method name="getValue">return parent.sendObject;</method></netparam>	
+        <handler name="ondata" args="value">
+			//Debug.write("deleteConfiguration ",value);
+			if (value>0){
+				this.parent.parent._turnoverlist.oncallnext.sendEvent();
+				this.parent.onnew.sendEvent();
+			}
+		</handler>
+	</netRemoteCallHib>		
+
+  	<netRemoteCallHib name="saveOrUpdateConfiguration" funcname="configservice.saveOrUpdateConfiguration" 
+  		remotecontext="$once{ canvas.thishib }" registerObject="true" >   
+		<attribute name="sendObject" value="null" />
+		<!-- gets called by Observer -->
+  		<method name="prepareCall">
+  			this.sendObject=new Array();
+            this.sendObject["configuration_id"] = this.parent.configuration_id;
+            this.sendObject["comment"] = this.parent.comment.getText();
+            this.sendObject["conf_key"] = this.parent.conf_key.getText();
+            this.sendObject["conf_value"] = this.parent.conf_value.getText();
+            //Debug.write("prepareCall: ",this.sendObject);
+  		</method>
+  		<netparam><method name="getValue">return canvas.sessionId; </method></netparam>
+    	<netparam><method name="getValue">return parent.sendObject;</method></netparam>	  		
+    	<handler name="ondata" args="val">
+			<![CDATA[
+    		//Debug.write("saveOrUpdateConfiguration ",val);
+			if (val>0){
+				//Debug.write("updateConfByConfigurationId val greater 0: ",val);
+				this.parent.parent._turnoverlist.oncallnext.sendEvent();
+				var obj = new Array();
+				obj["configuration_id"] = val;
+				this.parent.initValueFieldsByObject(obj);
+			}
+			]]>
+    	</handler>
+  	</netRemoteCallHib>	
+	
+	<!-- content -->
+    
+    <labelText labelid="266" width="200" y="40" resize="false" fontstyle="bold" />
+    
+    <labelText labelid="267" width="200" y="70" resize="false" x="2"/>
+        <customEdittext name="conf_key" y="70" x="120" width="270" text="" />
+
+    <labelText labelid="271" width="200" y="100" resize="false" x="2"/>
+        <customEdittext name="conf_value" y="100" x="120" width="270" text="" />
+
+    <labelText labelid="268" width="200" y="130" resize="false" x="2"/>
+        <labelText name="updatetime" y="130" x="120" width="270" text="" />
+ 
+    <labelText labelid="269" width="200" y="160" resize="false" x="2"/>
+        <labelText name="users_login" y="160" x="120" width="270" text="" />
+
+    <labelText labelid="270" width="200" y="190" resize="false" x="2"/>
+        <customScrollEdittext name="comment" y="190" x="120" width="270" 
+            height="100" text="" />    
+         
+</class>
+
+</library>
diff --git a/WebContent/src/modules/admin/confadmin/library.lzx b/WebContent/src/modules/admin/confadmin/library.lzx
new file mode 100644
index 0000000..bcfdb61
--- /dev/null
+++ b/WebContent/src/modules/admin/confadmin/library.lzx
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<include href="confAdmin.lzx" />
+    <include href="confAdminListItem.lzx" />
+    <include href="confAdminValueForm.lzx" />
+
+</library>
diff --git a/WebContent/src/modules/admin/connections/library.lzx b/WebContent/src/modules/admin/connections/library.lzx
new file mode 100644
index 0000000..0832063
--- /dev/null
+++ b/WebContent/src/modules/admin/connections/library.lzx
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+    <include href="roomClient.lzx" />
+    <include href="roomClientListItem.lzx" />
+
+</library>
diff --git a/WebContent/src/modules/admin/connections/roomClient.lzx b/WebContent/src/modules/admin/connections/roomClient.lzx
new file mode 100644
index 0000000..b04dc55
--- /dev/null
+++ b/WebContent/src/modules/admin/connections/roomClient.lzx
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- Admin module to configure the Conference or Audience room.-->
+<class name="roomClient" extends="baseContentView">	
+
+    <handler name="oninit">
+    	_mainScrollBar.setAttribute("visibility","hidden");
+    </handler>
+    <handler name="ontabcontentleave">
+        _mainScrollBar.setAttribute("visibility","visible");
+    </handler>
+	
+	<turnOverList name="_turnoverlist" width="780" 
+			height="${ canvas.height - canvas.naviHeight }" 
+            x="2" y="0" orderby="room_id" step="50" asc="true">
+
+		<handler name="oninit">
+			this.addHeaderItem(599,80);
+			this.addHeaderItem(600,240);
+			this.addHeaderItem(601,130);
+            this.addHeaderItem(602,150);
+            this.addHeaderItem(603,150);
+			this.getRoomClientsMap.doCall();
+		</handler>
+		
+		<handler name="oncallnext" >
+			this.getRoomClientsMap.doCall();
+		</handler>
+		
+		<handler name="oncallpre" >		
+			this.getRoomClientsMap.doCall();
+		</handler>
+		
+		<handler name="onclickedItem" args="obj">
+			//Debug.write("onclickedItem",obj,obj.obj);
+			parent._roomvalueform.initValueFieldsByObject(obj.obj);
+		</handler>
+		
+		<netRemoteCallHib name="getRoomClientsMap" funcname="conferenceservice.getRoomClientsMap" remotecontext="$once{ canvas.thishib }" >      
+			<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.start; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.step; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.orderby; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.asc; </method></netparam>
+	    	<handler name="ondata" args="value">
+	    		if ($debug) Debug.write("getRoomClientsMap: ",value);
+	    		//this.parent.destroy();
+	    		this.parent.initValues(value.records);
+	    		this.parent.renderContent(value.result);
+	    	</handler>
+	    </netRemoteCallHib>	
+	    
+	    <method name="renderContent" args="records">
+	    	<![CDATA[
+	    	this.clearList();
+	    	for (var i=0;i<records.length;i++){
+	    		new lz.roomClientListItem(this._innerlist._inn._inn,{
+	                    obj:records[i],
+	                    streamid:records[i].streamid,
+	                    login:records[i].username,
+                        dateConnected:parseDateToStringTime(records[i].connectedSince),
+	                    scope:records[i].scope
+                    });
+	    	}
+            this.sendInitialWidthUpdate();
+	    	]]>
+	    </method>
+
+	</turnOverList>
+	
+	<text name="_header" fontstyle="bold" text="Sessionvars" x="790" y="2"/>
+	<view name="_roomvalueform" x="790" y="20" clip="true" 
+		  height="${ canvas.height - canvas.naviHeight - 20 }" width="${ canvas.width - 790 }">
+		
+		<method name="initValueFieldsByObject" args="value">
+			<![CDATA[
+			    var tArray = new Array();
+			    for (var eg in value) {
+			    	tArray.push(new Array(eg, value[eg]))
+			    }
+			
+			    function sortByKey(a,b) {
+                   
+                    if(a[0].toLowerCase() < b[0].toLowerCase()) return -1;
+                    else if(a[0].toLowerCase() > b[0].toLowerCase()) return 1;
+                    else return 0;
+                
+                }
+			    tArray.sort(sortByKey);
+			    
+			    var tString = "";
+			    for (var i=0;i<tArray.length;i++) {
+			    	tString += "" + tArray[i][0] + ": " + tArray[i][1]+ " <br/>";
+			    }
+			    this._contentView.setAttribute("text",tString);
+			]]>
+		</method>
+		
+		<text name="_contentView" multiline="true" selectable="true" />
+		<om_vscrollbar />
+		<om_hscrollbar />
+	</view>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/admin/connections/roomClientListItem.lzx b/WebContent/src/modules/admin/connections/roomClientListItem.lzx
new file mode 100644
index 0000000..202eb50
--- /dev/null
+++ b/WebContent/src/modules/admin/connections/roomClientListItem.lzx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- list of conference/audience rooms -->
+<class name="roomClientListItem" extends="baseContentListItem">
+    
+    <!--
+    RoomClient(Long roomClientId, String username, String streamid,
+            String scope, String publicSID, Boolean isMod, Date connectedSince,
+            String formatedDate, String usercolor, Integer userpos,
+            String userip, int userport, Long room_id, Date roomEnter,
+            long broadCastID, Long user_id, String firstname, String lastname,
+            String mail, String lastLogin, String official_code,
+            String picture_uri, String language, Boolean isChatNotification,
+            Long chatUserRoomId, String avsettings, String swfurl,
+            Boolean isRecording, String roomRecordingName,
+            Boolean zombieCheckFlag)
+            -->
+            
+	<attribute name="streamid" value="0" type="number" />
+	<attribute name="login" value="" type="string" />
+	<attribute name="dateConnected" value="" type="string" />
+    <attribute name="scope" value="" type="string" />
+	
+	<turnOverTextItem text="$once{ parent.streamid }" />
+	<turnOverTextItem text="$once{ parent.login }" />
+	<turnOverTextItem text="$once{ parent.dateConnected }" />
+    <turnOverTextItem text="$once{ parent.scope }" />
+    <simpleLabelButton labelid="603" >
+        <handler name="onclick">
+            if ($debug) Debug.write("onclick ",this);
+            new lz.confirmationSingle(canvas.main_content._content.inner,{labelid:604,labeliderror:605,refObj:this,showCheckBox:false});
+        </handler>
+        <method name="sendConfirmation" args="yesno" >
+	        if ($debug) Debug.write("Kick that User");
+            this.kickUserByStreamId.doCall();
+	    </method>
+        
+        <netRemoteCallHib name="kickUserByStreamId" funcname="userservice.kickUserByStreamId" 
+                          remotecontext="$once{ canvas.thishib }" >      
+            <netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+            <netparam><method name="getValue"> return parent.parent.parent.streamid; </method></netparam>
+            <handler name="ondata" args="value">
+                if ($debug) Debug.write("kickUserByStreamId: ",value);
+                //this.parent.destroy();
+                if (value) {
+                    parent.parent.destroy();
+                }
+            </handler>
+        </netRemoteCallHib> 
+        
+    </simpleLabelButton>
+    
+    <labelTooltip name="_labelTooltip" multiline="false">
+        <handler name="setContent">
+        	if ($debug) Debug.write(parent.obj);
+            this.setAttribute('text',"publicSID: "+parent.obj.publicSID);
+        </handler>
+    </labelTooltip>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/admin/languageseditor/addLanguage.lzx b/WebContent/src/modules/admin/languageseditor/addLanguage.lzx
new file mode 100644
index 0000000..cf0e2a5
--- /dev/null
+++ b/WebContent/src/modules/admin/languageseditor/addLanguage.lzx
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- Popup view to input a new language name to be added. -->
+<class name="addLanguage" extends="labelExplorerBox" labelid="364"
+    docking="true" resizeable="false" closable="true" 
+	width="360" x="350" height="160">
+	<!-- 364:Add new language -->
+	
+	<attribute name="refObj" value="null" />
+
+    <handler name="oninit">
+        var pressEnter = new LzDelegate(this, "sendValues");
+        lz.Keys.callOnKeyCombo(pressEnter, ["enter"]);
+	</handler>  
+	
+	<method name="sendValues">
+		<![CDATA[
+			this.addLanguage.doCall();
+		]]>
+	</method>
+	
+    <netRemoteCallHib name="addLanguage" funcname="languageservice.addLanguage" 
+		remotecontext="$once{ canvas.thishib }" activeErrorHandler="true"
+		isCallBackHandler="true" >      
+		<attribute name="tempValue" value="0" type="number" />
+        <netparam><method name="getValue"> return canvas.sessionId;</method></netparam> 
+        <netparam><method name="getValue"> return parent.parent.langName.getText();</method></netparam>  
+        <netparam><method name="getValue"> return parent.parent.langCode.getText();</method></netparam>  
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+			if($debug) Debug.write(value);
+			parent.refObj.languages.getLanguages.doCall();
+			parent.close();
+        </handler>  
+    </netRemoteCallHib>	      	
+   
+    <!-- 365:Name -->
+    <labelText labelid="365" width="200" y="54" x="2"/>
+        <customEdittext name="langName" y="54" x="140" width="170" />
+	
+    <!-- 1422:Code -->
+    <labelText labelid="1422" width="200" y="74" x="2"/>
+        <customEdittext name="langCode" y="74" x="140" width="170" />
+	
+	<!-- 366:add language  -->
+    <simpleLabelButton name="_btn" labelid="366" width="120" x="230" 
+		y="$once{ parent.height-40 }" onclick="parent.sendValues()" />   
+	
+</class>    
+
+</library>
diff --git a/WebContent/src/modules/admin/languageseditor/fieldValueForm.lzx b/WebContent/src/modules/admin/languageseditor/fieldValueForm.lzx
new file mode 100644
index 0000000..f7471a3
--- /dev/null
+++ b/WebContent/src/modules/admin/languageseditor/fieldValueForm.lzx
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- right block of the LanguageEditor. you can edit the label.-->
+<class name="fieldValueForm" extends="baseContentSaveView">
+	
+	<dataset name="fieldvalues" />
+	<attribute name="fieldvalues_id" value="0" type="number" />
+	<attribute name="fieldlanguagesvalues_id" value="0" type="number" />
+
+	<!-- handler -->
+	
+	<handler name="onsavecompleted" >
+		//this.getFieldvalueById.doCall();
+	</handler>
+	
+	<handler name="onreload" >
+		if (this.fieldvalues_id!=0) {
+            this.getFieldvalueById.doCall();
+        }
+	</handler>	
+
+	<handler name="onnew">
+        this.initValueFieldsByObject(null);
+		this.setAttribute('fieldvalues_id',0);
+        this.fieldlanguagesvalues_id=0;   
+	</handler>
+	
+    <handler name="ondelete" >
+		if (this.fieldlanguagesvalues_id!=0){
+			this.deleteFieldlanguagesvaluesById.doCall();
+		} else {
+			new lz.rpcErrorDialog(canvas.main_content._content.inner,{errorid:-29});
+		}
+    </handler>	
+	
+	<!-- methods -->
+	
+    <method name="initValueFieldsByObject" args="obj">
+        if (obj != null) {
+			if (obj.fieldvalues_id!=null) {
+				this.setAttribute('fieldvalues_id',obj.fieldvalues_id);
+				this.onsavecompleted.sendEvent();
+			}
+	    	if (obj.fieldlanguagesvalue!=null) {
+	    		this.fieldlanguagesvalues_id = obj.fieldlanguagesvalue.fieldlanguagesvalues_id;
+	    	} else {
+	    		this.fieldlanguagesvalues_id = 0;
+	    	}
+            this._output.labelid.setAttribute("text",obj.fieldvalues_id);
+            this._output.fieldname.setAttribute("text",obj.name);
+            this._output.fieldvalue.setAttribute("text",obj.fieldlanguagesvalue.value);
+        } else {
+            this._output.labelid.setAttribute("text","");
+            this._output.fieldname.setAttribute("text","");
+            this._output.fieldvalue.setAttribute("text","");
+        }
+        
+    	//var element = LzDataElement.valueToElement(obj);
+		//this.fieldvalues.setData(element.childNodes);
+    </method>	
+
+  	<netRemoteCallHib name="getFieldvalueById" funcname="languageservice.getFieldvalueById" 
+  		remotecontext="$once{ canvas.thishib }" > 
+  		<netparam><method name="getValue">return canvas.sessionId; </method></netparam>
+    	<netparam><method name="getValue">return parent.parent.fieldvalues_id;</method></netparam>
+    	<netparam><method name="getValue">return parent.parent.parent._turnoverlist.language_id;</method></netparam>
+    	<handler name="ondata" args="value">
+    		//if($debug) Debug.write("getFieldvalueById ",value);
+    		if($debug) Debug.write(parent.fieldvalues_id);
+    		if($debug) Debug.write(parent.parent._turnoverlist.language_id);
+    		parent.initValueFieldsByObject(value);
+    	</handler>
+  	</netRemoteCallHib>	
+
+	<netRemoteCallHib name="deleteFieldlanguagesvaluesById" activeErrorHandler="true"
+		funcname="languageservice.deleteFieldlanguagesvaluesById" remotecontext="$once{ canvas.thishib }" >      
+		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+		<netparam><method name="getValue"> return parent.parent.fieldlanguagesvalues_id; </method></netparam>
+		<handler name="ondata" args="value">
+			//if($debug) Debug.write("deleteFieldlanguagesvaluesById ",value);
+			this.parent.parent._turnoverlist.oncallnext.sendEvent();
+			this.parent.getFieldvalueById.doCall();
+		</handler>
+	</netRemoteCallHib>	
+
+  	<netRemoteCallHib name="saveOrUpdateLabel" funcname="languageservice.saveOrUpdateLabel" 
+  		remotecontext="$once{ canvas.thishib }" registerObject="true" >   
+		<attribute name="sendObject" value="null" />
+
+  		<method name="prepareCall">
+  			this.sendObject=new Array();
+  			this.sendObject["fieldvalues_id"] = this.parent.fieldvalues_id;
+  			this.sendObject["language_id"] = parent.parent._turnoverlist.language_id;
+  			this.sendObject["fieldlanguagesvalues_id"] = this.parent.fieldlanguagesvalues_id;
+  			this.sendObject["name"] = this.parent._output.fieldname.getText();
+  			this.sendObject["value"] = this.parent._output.fieldvalue.getText();
+
+  			if($debug) Debug.write("prepareCall: ",this.sendObject);
+  		</method>
+  		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+    	<netparam><method name="getValue">return parent.sendObject;</method></netparam>	  		
+    	<handler name="ondata" args="val">
+			<![CDATA[
+	    		if($debug) Debug.write("saveOrUpdateOrganisation: ",val);
+				if (val>0){
+					if($debug) Debug.write("saveOrUpdateUser val greater 0: ",val);
+					parent.fieldvalues_id = val;
+					parent.getFieldvalueById.doCall();
+				}
+				parent.parent._turnoverlist.oncallnext.sendEvent();
+			]]>
+    	</handler>
+  	</netRemoteCallHib>		
+
+	<!-- content -->	
+    <view name="_output" datapath="local:classroot.fieldvalues:/">
+
+	    <labelText labelid="353" y="40" fontstyle="bold" />	
+	    
+	    <labelText labelid="356" width="200" y="70" resize="false" x="2"/>
+	        <labelText name="labelid" y="70" x="120" width="270" text="" />
+	        
+	    <labelText labelid="354" width="200" y="100" resize="false" x="2"/>
+	        <customEdittext name="fieldname" y="100" x="120" width="270" 
+	        				enabled="${ ((parent.parent.fieldvalues_id==0) ? true : false ) }" 
+	        				text="" />	
+		
+	    <labelText labelid="355" width="200" y="130" resize="false" x="2"/>
+	       <!--
+	    	<customEdittext name="fieldvalue" y="130" x="120" width="270" height="120"
+	        					  text="" multiline="true" /> -->
+	        <customScrollEdittext name="fieldvalue" y="130" x="120" width="270" height="120"
+	        					  text="" />	
+	        					  
+	</view>
+	
+</class>
+	
+</library>
diff --git a/WebContent/src/modules/admin/languageseditor/fieldValuesListItem.lzx b/WebContent/src/modules/admin/languageseditor/fieldValuesListItem.lzx
new file mode 100644
index 0000000..b2a6761
--- /dev/null
+++ b/WebContent/src/modules/admin/languageseditor/fieldValuesListItem.lzx
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- This class shows label-ID,label name, value.-->
+<class name="fieldValuesListItem" extends="baseContentListItem">
+	
+	<attribute name="fieldvalues_id" value="0" type="number" />
+	<attribute name="fieldname" value="" type="string" />
+	<attribute name="fieldvalue" value="" type="string" />
+	
+	<turnOverTextItem text="$once{ parent.fieldvalues_id }" width="120" />
+	<turnOverTextItem text="$once{ parent.fieldname }" width="126" />
+	<turnOverTextItem text="$once{ parent.fieldvalue }" width="200" />
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/admin/languageseditor/languagesEditor.lzx b/WebContent/src/modules/admin/languageseditor/languagesEditor.lzx
new file mode 100644
index 0000000..b8dd3d2
--- /dev/null
+++ b/WebContent/src/modules/admin/languageseditor/languagesEditor.lzx
@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- Language editor module. You can edit the label for your language. -->
+<class name="languagesEditor" extends="baseContentView">
+	
+    <method name="doDeleteEvent">
+    	new lz.confirmDeleteWindow(canvas.main_content._content.inner,{refObj:this});
+    </method> 
+    
+    <method name="confirmDelete">
+    	var langId = Number(this.languages.getValue());
+    	if (langId>0){
+    		this.deleteLanguage.language_id = langId;
+    		this.deleteLanguage.doCall();
+    	}
+    </method>
+
+    <netRemoteCallHib name="deleteLanguage" funcname="languageservice.deleteLanguage" 
+		remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >    
+		<attribute name="language_id" value="0" type="number" />  
+		<attribute name="tempValue" value="0" type="number" />
+        <netparam><method name="getValue"> return canvas.sessionId;</method></netparam> 
+        <netparam><method name="getValue"> return parent.language_id;</method></netparam>  
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+			if($debug) Debug.write("deleteLanguage",value);
+			parent.languages.getLanguages.doCall();
+        </handler>  
+    </netRemoteCallHib>	         
+    
+    <method name="doAddEvent">
+    	new lz.addLanguage(canvas.main_content._content.inner,{refObj:this});
+    </method>
+    
+    <view name="_savecontentbar" layout="axis:x;spacing:2;inset:2" x="2" height="28" width="$once{ parent.width }"
+        bgcolor="$once{ canvas.getThemeColor('baseMousecolorizer') }">
+
+        <!-- 362:Add new language -->
+        <baseChooseIcon resourceN="edit_add_rsc" labelid="362" y="2" 
+        	onclick="this.parent.parent.doAddEvent()" />  
+
+        <!-- 363:delete language -->
+        <baseChooseIcon resourceN="button_cancel_rsc" labelid="363" y="2" 
+        	onclick="this.parent.parent.doDeleteEvent()" />
+	</view>
+	
+	<!-- 349:Language -->
+    <labelText name="n3" labelid="349" y="32" width="110" x="2"/>  
+        
+        <resetCombobox name="languages" width="170" y="32" x="120" editable="false" >
+        	<handler name="oninit">
+        		this.getLanguages.doCall();
+        	</handler>
+		    <netRemoteCallHib name="getLanguages" funcname="languageservice.getLanguages" 
+		    		remotecontext="$once{ canvas.thishib }" >      
+		        <handler name="ondata" args="value">
+		        	<![CDATA[
+			            //The onResult-Handler will be called be the rtmpconnection
+			            //if($debug) Debug.write("getLanguages: ",value);
+			            this.parent.reset();
+		            	for (var i=0;i<value.length;i++){
+		            		this.parent.addItem(value[i].name,value[i].language_id);
+		            	}
+		            	this.parent.selectItem(String(value[0].language_id));
+		            ]]>
+		        </handler>  
+		    </netRemoteCallHib>          	
+            <handler name="onselect">
+                parent._turnoverlist.language_id = Number(this.value);
+                if (this.parent._turnoverlist.isinited)
+                	parent._turnoverlist.oncallnext.sendEvent();
+            </handler>
+        </resetCombobox>
+    
+    <!-- 360:export -->
+    <simpleLabelButton name="b2" labelid="360" width="75" x="300" y="32">
+    	<handler name="onclick">
+    		<![CDATA[
+	    		var exporturl = canvas.protocol+'://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+	    				+canvas.httpRootKey+'LangExport?language='+parent.languages.getValue()
+	    				+'&sid='+canvas.sessionId;
+	            lz.Browser.loadURL(exporturl,"_parent");
+            ]]>
+    	</handler>
+    	<labelTooltip multiline="true" labelid="388" />
+    </simpleLabelButton>      
+    
+    <!-- 387:import -->
+    <simpleLabelButton labelid="387" x="387" y="32" width="75">
+	    <handler name="onclick">
+	        //new lz.importWindow(canvas.main_content._content.inner,{x:60,secondid:parent.languages.getValue(),uploadmodule:'language'});
+        	new lz.uploadWindowExplorer(canvas.main_content._content.inner,{
+                        x:300,
+                        uploadmodule:'language',
+                        secondid:parent.languages.getValue(),
+                        isOnlyXml:true,
+                        servletName:'import.upload'
+                    });
+	    </handler>
+	    <labelTooltip multiline="true" labelid="389" />
+    </simpleLabelButton>     
+    
+    <labelText x="2" y="64" labelid="714" />
+	
+	<customEdittext name="_search" y="60" x="120" width="200" height="24"/>
+	
+    <simpleLabelButton labelid="715" x="330" width="132" y="60">
+    	<handler name="onclick">
+    		parent._turnoverlist.getFieldsByLanguage.doCall();
+    	</handler>
+    </simpleLabelButton>  
+    
+	<turnOverList name="_turnoverlist" width="460" height="${ canvas.height - canvas.naviHeight-90 }" x="2" y="90" 
+		orderby="c.fieldvalues_id" step="25" asc="true">
+        
+        <attribute name="language_id" value="0" type="number" />
+
+		<handler name="oninit">
+			this.addHeaderItem(350,120);
+			this.addHeaderItem(351,124);
+			this.addHeaderItem(352,200);
+			this.getFieldsByLanguage.doCall();
+		</handler>
+		
+		<handler name="oncallnext" >
+			this.getFieldsByLanguage.doCall();
+		</handler>
+		
+		<handler name="oncallpre" >		
+			this.getFieldsByLanguage.doCall();
+		</handler>
+		
+		<handler name="onclickedItem" args="obj">
+			//if($debug) Debug.write("onclickedItem",obj,obj.obj);
+            parent._fieldvalueform.hideNewRecordText();
+			parent._fieldvalueform.initValueFieldsByObject(obj.obj);
+		</handler>
+		
+		<netRemoteCallHib name="getFieldsByLanguage" funcname="languageservice.getFieldsByLanguage" 
+						  remotecontext="$once{ canvas.thishib }" >      
+			<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.start; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.step; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.orderby; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.asc; </method></netparam>
+            <netparam><method name="getValue"> return parent.parent.language_id; </method></netparam>
+            <netparam><method name="getValue"> return parent.parent.parent._search.getText(); </method></netparam>
+	    	<handler name="ondata" args="value">
+	    		//if($debug) Debug.write("getFieldsByLanguage ",value);
+	    		//this.parent.destroy();
+	    		this.parent.initValues(value.records);
+	    		this.parent.renderContent(value.result);
+	    	</handler>
+	    </netRemoteCallHib>	
+	    
+	    <method name="renderContent" args="records">
+	    	<![CDATA[
+                this.clearList();
+                for (var i=0;i<records.length;i++){
+                    new lz.fieldValuesListItem(this._innerlist._inn._inn,{
+	                        obj:records[i],
+	                        fieldvalues_id:records[i].fieldvalues_id,
+	                        fieldname:records[i].name,
+	                        fieldvalue:records[i].fieldlanguagesvalue.value
+                        });
+                }
+                this.sendInitialWidthUpdate();
+	    	]]>
+	    </method>
+
+	</turnOverList>
+	
+    <!-- 361:You need to logout to see any changes. -->
+	<labelText x="470" labelid="361" y="2" resize="true" />  
+	
+	<fieldValueForm name="_fieldvalueform" x="470" y="32" >
+        <handler name="onnew" args="refObj">
+            parent._turnoverlist.clearSelection();
+        </handler>
+    </fieldValueForm>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/admin/languageseditor/library.lzx b/WebContent/src/modules/admin/languageseditor/library.lzx
new file mode 100644
index 0000000..96bef85
--- /dev/null
+++ b/WebContent/src/modules/admin/languageseditor/library.lzx
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+    <include href="fieldValuesListItem.lzx" />
+    <include href="fieldValueForm.lzx" />
+    <include href="addLanguage.lzx" />
+    <include href="languagesEditor.lzx" />
+
+</library>
diff --git a/WebContent/src/modules/admin/ldap/ldapAdmin.lzx b/WebContent/src/modules/admin/ldap/ldapAdmin.lzx
new file mode 100644
index 0000000..14d6218
--- /dev/null
+++ b/WebContent/src/modules/admin/ldap/ldapAdmin.lzx
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<!--- Existing organization list. used by orgAdmin only -->
+<class name="ldapAdminListItem" extends="baseContentListItem">
+    
+    <attribute name="ldapConfigId" value="0" type="number" />
+    <attribute name="tName" value="" type="string" />
+    <attribute name="configFileName" value="" type="string" />
+    
+    <turnOverTextItem text="$once{ parent.ldapConfigId }" width="120" />
+    <turnOverTextItem text="$once{ parent.tName }" width="200" />
+    <turnOverTextItem text="$once{ parent.configFileName }" width="200" />
+    
+</class>	
+
+<!--- Organization administration module for ADMIN.-->
+<class name="ldapAdmin" extends="baseContentView">
+	
+	<turnOverList name="_turnoverlist" width="420" 
+		height="${ canvas.height - canvas.naviHeight }" x="2" 
+		y="${ 0 - parent.parent.parent.y }" 
+		orderby="ldapConfigId" step="50" asc="true">
+
+		<handler name="oninit">
+			this.addHeaderItem(1104,60);
+			this.addHeaderItem(1105,184);
+			this.addHeaderItem(1106,160);
+			this.getLdapConfigs.doCall();
+		</handler>
+		
+		<handler name="oncallnext" >
+			this.getLdapConfigs.doCall();
+		</handler>
+		
+		<handler name="oncallpre" >		
+			this.getLdapConfigs.doCall();
+		</handler>
+		
+		<handler name="onclickedItem" args="obj">
+			//Debug.write("onclickedItem",obj,obj.obj);
+			parent._ldapAdminValueForm.initValueFieldsByObject(obj.obj);
+		</handler>
+		
+		<netRemoteCallHib name="getLdapConfigs" funcname="ldapconfigservice.getLdapConfigs" remotecontext="$once{ canvas.thishib }" >      
+			<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.start; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.step; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.orderby; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.asc; </method></netparam>
+	    	<handler name="ondata" args="value">
+	    		if ($debug) Debug.write("getLdapConfigs ",value);
+	    		//this.parent.destroy();
+	    		this.parent.initValues(value.records);
+	    		this.parent.renderContent(value.result);
+	    	</handler>
+	    </netRemoteCallHib>	
+	    
+	    <method name="renderContent" args="records">
+	    	<![CDATA[
+	    	this.clearList();
+	    	for (var i=0;i<records.length;i++){
+	    		new lz.ldapAdminListItem(this._innerlist._inn._inn,{
+    	    		                 obj:records[i],
+    	    		                 ldapConfigId:records[i].ldapConfigId,
+    	    		                 tName:records[i].name,
+    	    		                 configFileName:records[i].configFileName
+	    		                 });
+	    	}
+            this.sendInitialWidthUpdate();
+	    	]]>
+	    </method>
+
+	</turnOverList>
+	
+	<ldapAdminValueForm name="_ldapAdminValueForm" x="440">
+        <handler name="onnew" args="refObj">
+            parent._turnoverlist.clearSelection();
+        </handler>
+    </ldapAdminValueForm>
+	 
+</class>
+
+</library>
diff --git a/WebContent/src/modules/admin/ldap/ldapAdminValueForm.lzx b/WebContent/src/modules/admin/ldap/ldapAdminValueForm.lzx
new file mode 100644
index 0000000..9b82a60
--- /dev/null
+++ b/WebContent/src/modules/admin/ldap/ldapAdminValueForm.lzx
@@ -0,0 +1,231 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="ldapAdminValueForm" extends="baseContentSaveView">
+	
+	<!--- recordContent id -->
+	<attribute name="ldapConfigId" value="0" type="number" />	
+
+	<!-- handler -->
+	
+	<handler name="onsavecompleted" >
+		this.getLdapConfigById.doCall();
+	</handler>
+	
+	<handler name="onreload" >
+		if (this.ldapConfigId!=0) {
+            this.getLdapConfigById.doCall();
+        }
+	</handler>	
+
+	<handler name="onnew">
+		this.ldapConfigId=0;
+        this.tName.setAttribute('text','');
+        this.configFileName.setAttribute('text','');
+        
+        this.addDomainToUserName.setValue(false);
+        this.domain.setAttribute('text','');
+        
+        this.isActive.setValue(false);
+        this.updated.setAttribute('text','');
+        this.updatedby.setAttribute('text','');
+        this.inserted.setAttribute('text','');
+        this.updatedby.setAttribute('text','');
+	</handler>
+	
+    <handler name="ondelete" >
+		if (this.ldapConfigId!=0){
+			this.deleteLdapConfigById.doCall();
+		}
+    </handler>	
+	
+	<!-- methods -->
+	
+    <method name="initValueFieldsByObject" args="obj">
+		this.ldapConfigId = obj.ldapConfigId;
+		if (this.ldapConfigId!=0){
+			this.getLdapConfigById.doCall();
+		}
+    </method>	
+	
+  	<netRemoteCallHib name="getLdapConfigById" funcname="ldapconfigservice.getLdapConfigById" 
+  		remotecontext="$once{ canvas.thishib }" > 
+  		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+    	<netparam><method name="getValue">return parent.parent.ldapConfigId;</method></netparam>
+    	<handler name="ondata" args="value">
+    		if ($debug) Debug.write("getLdapConfigById ",value);
+    		parent.initFields(value);
+    	</handler>
+  	</netRemoteCallHib>	
+	
+	
+    
+    <method name="initFields" args="obj">
+    	<![CDATA[
+    	if (obj == null) {
+    		return;
+    	}
+    	this.ldapConfigId = obj.ldapConfigId;
+        this.tName.setAttribute('text',obj.name);
+        this.configFileName.setAttribute('text',obj.configFileName);
+        
+        if (obj.addDomainToUserName) {
+        	this.addDomainToUserName.setValue(obj.addDomainToUserName);
+        } else {
+        	this.addDomainToUserName.setValue(false);
+        }
+        this.domain.setAttribute('text',obj.domain);
+        
+        if (obj.isActive) {
+            this.isActive.setValue(obj.isActive);
+        } else {
+            this.isActive.setValue(false);
+        }
+        
+        if (this.updated != null) {
+            this.updated.setAttribute('text',obj.updated);
+        } else {
+        	this.updated.setAttribute('text','');
+        }
+        if(obj.updatedby!=null){
+            this.updatedby.setAttribute('text',obj.updatedby.firstname+' '+obj.updatedby.lastname+'['+obj.updatedby.login+']');
+        } else {
+            this.updatedby.setAttribute('text','');
+        }
+        
+        if (this.inserted != null) {
+            this.inserted.setAttribute('text',obj.inserted);
+        } else {
+            this.inserted.setAttribute('text','');
+        }
+        if(obj.insertedby!=null){
+            this.insertedby.setAttribute('text',obj.insertedby.firstname+' '+obj.insertedby.lastname+'['+obj.insertedby.login+']');
+        } else {
+            this.insertedby.setAttribute('text','');
+        }
+        
+        ]]>
+    </method>
+	
+	<!-- remotecalls -->
+
+	<netRemoteCallHib name="deleteLdapConfigById" funcname="ldapconfigservice.deleteLdapConfigById" 
+			    remotecontext="$once{ canvas.thishib }" >      
+		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+		<netparam><method name="getValue"> return parent.parent.ldapConfigId; </method></netparam>
+		<handler name="ondata" args="value">
+			//Debug.write("deleteOrganisation ",value);
+			//this.parent.destroy();
+			if (value>0){
+				this.parent.parent._turnoverlist.oncallnext.sendEvent();
+				this.parent.onnew.sendEvent();
+			}
+		</handler>
+	</netRemoteCallHib>	
+	
+  	<netRemoteCallHib name="saveOrUpdateLdapConfig" funcname="ldapconfigservice.saveOrUpdateLdapConfig" 
+  		        remotecontext="$once{ canvas.thishib }" registerObject="true" >   
+		<attribute name="sendObject" value="null" />
+		<!-- gets called by Observer -->
+  		<method name="prepareCall">
+  			this.sendObject=new Array();
+  			this.sendObject["ldapConfigId"] = this.parent.ldapConfigId;
+  			this.sendObject["tName"] = this.parent.tName.getText();
+  			this.sendObject["configFileName"] = this.parent.configFileName.getText();
+  			this.sendObject["addDomainToUserName"] = this.parent.addDomainToUserName.getValue();
+            this.sendObject["isActive"] = this.parent.isActive.getValue();
+            this.sendObject["domain"] = this.parent.domain.getText();
+
+  			//Debug.write("prepareCall: ",this.sendObject);
+  		</method>
+  		<netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+    	<netparam><method name="getValue">return parent.sendObject;</method></netparam>	  		
+    	<handler name="ondata" args="val">
+			<![CDATA[
+    		if ($debug) Debug.write("saveOrUpdateLdapConfig: ",val);
+			if (val>0){
+				//Debug.write("saveOrUpdateUser val greater 0: ",val);
+				this.parent.parent._turnoverlist.oncallnext.sendEvent();
+				var obj = new Array();
+				obj["ldapConfigId"] = val;
+				this.parent.initValueFieldsByObject(obj);
+			}
+			]]>
+    	</handler>
+  	</netRemoteCallHib>		
+	
+	<!-- content
+	
+	public String name;
+    public String configFileName;
+    public Boolean addDomainToUserName;
+    public String domain;
+    public Boolean isActive;
+    public Date inserted;
+    public Date updated;
+    public Users insertedby;
+    public Users updatedby;
+    
+	 -->	
+    
+    <labelText labelid="1107" width="200" y="40" resize="false" fontstyle="bold" />	
+	
+    <labelText labelid="1108" width="200" y="70" resize="false" x="2"/>
+        <customEdittext name="tName" y="70" x="120" width="270" text="" />	
+        
+    <labelText labelid="1109" width="200" y="100" resize="false" x="2"/>  
+        <labelCheckbox name="isActive" width="270" y="100" x="120" fontsize="11" />         
+        
+    <labelText labelid="1110" width="200" y="130" resize="false" x="2"/>
+        <labelText name="inserted" y="130" x="120" width="270" text="" bgcolor="0xCCCCCC"/>
+ 
+    <labelText labelid="1111" width="200" y="150" resize="false" x="2"/>
+        <labelText name="insertedby" y="150" x="120" width="270" text="" bgcolor="0xCCCCCC"/>
+        
+    <labelText labelid="1112" width="200" y="170" resize="false" x="2"/>
+        <labelText name="updated" y="170" x="120" width="270" text="" bgcolor="0xCCCCCC"/>
+ 
+    <labelText labelid="1113" width="200" y="190" resize="false" x="2"/>
+        <labelText name="updatedby" y="190" x="120" width="270" text="" bgcolor="0xCCCCCC"/>
+        
+    <view resource="messagebox_info_rsc" x="0" y="220" />
+    
+    <labelText labelid="1114" x="24" y="220" fontstyle="italic"
+               multiline="true" width="370" />   
+                        
+	<labelText labelid="1115" width="200" y="280" resize="false" x="2"/>
+        <customEdittext name="configFileName" y="280" x="120" width="270" text="" />  
+        
+    <view resource="messagebox_info_rsc" x="0" y="310" />
+    
+    <labelText labelid="1116" x="24" y="310" fontstyle="italic"
+               multiline="true" width="370" /> 
+               
+    <labelText labelid="1117" width="200" y="400" resize="false" x="2"/>  
+        <labelCheckbox name="addDomainToUserName" width="270" y="400" x="160" fontsize="11" />   
+
+    <labelText labelid="1118" width="200" y="430" resize="false" x="2"/>
+        <customEdittext name="domain" y="430" x="120" width="270" text="" /> 
+             
+</class>
+	
+</library>
diff --git a/WebContent/src/modules/admin/ldap/library.lzx b/WebContent/src/modules/admin/ldap/library.lzx
new file mode 100644
index 0000000..546e846
--- /dev/null
+++ b/WebContent/src/modules/admin/ldap/library.lzx
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<include href="ldapAdmin.lzx" />
+	<include href="ldapAdminValueForm.lzx" />
+
+</library>
diff --git a/WebContent/src/modules/admin/library.lzx b/WebContent/src/modules/admin/library.lzx
new file mode 100644
index 0000000..65d8445
--- /dev/null
+++ b/WebContent/src/modules/admin/library.lzx
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<!DOCTYPE library SYSTEM "/project.dtd">
+<library>
+
+<!-- admin modules -->
+<!-- -->
+	<include href="useradmin/" />
+	<include href="orgadmin/" />
+	<include href="roomadmin/" />
+	<include href="confadmin/" />
+	<include href="languageseditor/" />
+	<include href="ldap/" />
+	<!-- -->
+	<include href="backup/" />
+    <include href="connections/" />
+
+</library>
diff --git a/WebContent/src/modules/admin/orgadmin/library.lzx b/WebContent/src/modules/admin/orgadmin/library.lzx
new file mode 100644
index 0000000..a9001af
--- /dev/null
+++ b/WebContent/src/modules/admin/orgadmin/library.lzx
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<include href="orgAdmin.lzx" />
+	<include href="orgUsersRecordValueList.lzx" />
+	<include href="orgAdminListItem.lzx" />
+	<include href="orgAdminValueForm.lzx" />
+	<include href="orgAdminChooseUserWindow.lzx" />
+
+</library>
diff --git a/WebContent/src/modules/admin/orgadmin/orgAdmin.lzx b/WebContent/src/modules/admin/orgadmin/orgAdmin.lzx
new file mode 100644
index 0000000..a223db2
--- /dev/null
+++ b/WebContent/src/modules/admin/orgadmin/orgAdmin.lzx
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- Organization administration module for ADMIN.-->
+<class name="orgAdmin" extends="baseContentView">
+	
+	<turnOverList name="_turnoverlist" width="320" height="${ canvas.height - canvas.naviHeight }" x="2" y="0" 
+		orderby="organisation_id" step="50" asc="true">
+
+		<handler name="oninit">
+			this.addHeaderItem(164,120);
+			this.addHeaderItem(165,184);
+			this.getOrganisations.doCall();
+		</handler>
+		
+		<handler name="oncallnext" >
+			this.getOrganisations.doCall();
+		</handler>
+		
+		<handler name="oncallpre" >		
+			this.getOrganisations.doCall();
+		</handler>
+		
+		<handler name="onclickedItem" args="obj">
+			//Debug.write("onclickedItem",obj,obj.obj);
+            parent._orgadminvalueform.hideNewRecordText();
+			parent._orgadminvalueform.initValueFieldsByObject(obj.obj);
+		</handler>
+		
+		<netRemoteCallHib name="getOrganisations" funcname="organisationservice.getOrganisations" remotecontext="$once{ canvas.thishib }" >      
+			<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.start; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.step; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.orderby; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.asc; </method></netparam>
+	    	<handler name="ondata" args="value">
+	    		//Debug.write("getOrganisations ",value);
+	    		//this.parent.destroy();
+	    		this.parent.initValues(value.records);
+	    		this.parent.renderContent(value.result);
+	    	</handler>
+	    </netRemoteCallHib>	
+	    
+	    <method name="renderContent" args="records">
+	    	<![CDATA[
+	    	this.clearList();
+	    	for (var i=0;i<records.length;i++){
+	    		new lz.orgAdminListItem(this._innerlist._inn._inn,{obj:records[i],organisation_id:records[i].organisation_id,orgname:records[i].name});
+	    	}
+            this.sendInitialWidthUpdate();
+	    	]]>
+	    </method>
+
+	</turnOverList>
+	
+	<orgAdminValueForm name="_orgadminvalueform" x="340">
+        <handler name="onnew" args="refObj">
+            parent._turnoverlist.clearSelection();
+        </handler>
+    </orgAdminValueForm>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/admin/orgadmin/orgAdminChooseUserWindow.lzx b/WebContent/src/modules/admin/orgadmin/orgAdminChooseUserWindow.lzx
new file mode 100644
index 0000000..b44b59a
--- /dev/null
+++ b/WebContent/src/modules/admin/orgadmin/orgAdminChooseUserWindow.lzx
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+ 
+<class name="orgAdminChooseUserWindow" extends="labelExplorerBox" labelid="180"
+    docking="true" width="400" x="200" y="0" height="290">
+    
+    <attribute name="organisation_id" value="0" type="number" />
+    <attribute name="refObj" value="null" />
+    <attribute name="usersId" value="0" type="number" />
+    
+    <attribute name="isOrgUserAddForm" value="false" type="boolean"/>
+    
+    <attribute name="refObjectDialog" value="null"/>
+    
+    <handler name="oninit">
+        lz.ModeManager.makeModal(this);
+    </handler>
+    
+    <handler name="onclose">
+        lz.ModeManager.release(this);
+    </handler>
+	
+	<netRemoteCallHib name="searchUser" funcname="userservice.searchUser" remotecontext="$once{ canvas.thishib }" >      
+		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+		<netparam><method name="getValue"> return "login"; </method></netparam>
+		<netparam><method name="getValue"> return parent.parent.searchstring.getText(); </method></netparam>
+		<netparam><method name="getValue"> return 200; </method></netparam>
+		<netparam><method name="getValue"> return 0; </method></netparam>
+		<netparam><method name="getValue"> return "user_id"; </method></netparam>
+		<netparam><method name="getValue"> return true; </method></netparam>
+		<handler name="ondata" args="value">
+			<![CDATA[
+			//Debug.write("searchUser ",value);
+			if (value!=null){
+				for (var i=0;i<value.length;i++){
+                    var v = value[i].login+' ['+value[i].lastname+', '+value[i].firstname+']';
+					this.parent._userlist.addItem(v,value[i].user_id);
+				}
+			}
+			]]>			
+		</handler>
+	</netRemoteCallHib>	
+	
+	<labelText labelid="181" width="200" y="24" resize="false" x="2"/>    	
+		<customEdittext name="searchstring" y="24" x="120" width="270" text="" />	
+	
+	<simpleLabelButton labelid="182" x="290" y="54" width="100">
+		<handler name="onclick">
+			parent.searchUser.doCall();
+		</handler>
+	</simpleLabelButton>	
+	
+    <labelText labelid="183" width="200" y="84" resize="false" x="2"/>     
+    <simpleValueList name="_userlist" y="84" x="120" width="270" height="100" 
+		multiselect="false" />
+	
+    <simpleLabelButton labelid="175" x="180" y="$once{ parent.height-30 }" width="100">
+        <handler name="onclick">
+            <![CDATA[
+                this.parent.usersId = this.parent._userlist._selected.value;
+                if ($debug) Debug.write(this.parent.usersId);
+                if ($debug) Debug.write(this.parent._userlist._selected.value);
+                if (parent.isOrgUserAddForm) {
+                    this.parent.addUserToOrganisation.doCall();
+                } else {
+                    this.parent.refObjectDialog.addUserById(this.parent.usersId);
+                    parent.close();
+                }
+                //
+            ]]>
+        </handler>
+    </simpleLabelButton>
+    
+    <simpleLabelButton labelid="174" x="290" y="$once{ parent.height-30 }" width="100">
+        <handler name="onclick">
+            this.parent.close();
+        </handler>
+    </simpleLabelButton>    
+    
+        <netRemoteCallHib name="addUserToOrganisation" remotecontext="$once{ canvas.thishib }" 
+            funcname="organisationservice.addUserToOrganisation" >      
+            <netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+            <netparam><method name="getValue"> return parent.parent.organisation_id; </method></netparam>
+            <netparam><method name="getValue"> return parent.parent.usersId; </method></netparam>
+            <handler name="ondata" args="value">
+                if ($debug) Debug.write("addUserToOrganisation ",value);
+                if (value>0){
+                    this.parent.refObj.onreload.sendEvent();
+                    this.parent.close();
+                } else {
+                    new lz.rpcErrorDialog(canvas.main_content._content.inner,{errorid:value});
+                }
+            </handler>
+        </netRemoteCallHib>	      
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/admin/orgadmin/orgAdminListItem.lzx b/WebContent/src/modules/admin/orgadmin/orgAdminListItem.lzx
new file mode 100644
index 0000000..d6203af
--- /dev/null
+++ b/WebContent/src/modules/admin/orgadmin/orgAdminListItem.lzx
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- Existing organization list. used by orgAdmin only -->
+<class name="orgAdminListItem" extends="baseContentListItem">
+	
+	<attribute name="organisation_id" value="0" type="number" />
+	<attribute name="orgname" value="" type="string" />
+	
+	<turnOverTextItem text="$once{ parent.organisation_id }" width="120" />
+	<turnOverTextItem text="$once{ parent.orgname }" width="200" />
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/admin/orgadmin/orgAdminValueForm.lzx b/WebContent/src/modules/admin/orgadmin/orgAdminValueForm.lzx
new file mode 100644
index 0000000..2c59093
--- /dev/null
+++ b/WebContent/src/modules/admin/orgadmin/orgAdminValueForm.lzx
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="orgAdminValueForm" extends="baseContentSaveView">
+	
+	<!--- recordContent id -->
+	<attribute name="organisation_id" value="0" type="number" />	
+
+	<!-- handler -->
+	
+	<handler name="onsavecompleted" >
+		this.getOrganisationById.doCall();
+	</handler>
+	
+	<handler name="onreload" >
+		if (this.organisation_id!=0) {
+            this.getOrganisationById.doCall();
+            this._userlist.getUsersByOrganisation.doCall();
+        }
+	</handler>	
+
+	<handler name="onnew">
+		this.organisation_id=0;
+        this.orgname.setAttribute('text','');
+	</handler>
+	
+    <handler name="ondelete" >
+		if (this.organisation_id!=0){
+			this.deleteOrganisation.doCall();
+		}
+    </handler>	
+	
+	<!-- methods -->
+	
+    <method name="initValueFieldsByObject" args="obj">
+		this.organisation_id = obj.organisation_id;
+		if (this.organisation_id!=0){
+			this.getOrganisationById.doCall();
+			this._userlist.getUsersByOrganisation.doCall();
+		}
+    </method>	
+	
+  	<netRemoteCallHib name="getOrganisationById" funcname="organisationservice.getOrganisationById" 
+  		remotecontext="$once{ canvas.thishib }" > 
+  		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+    	<netparam><method name="getValue">return parent.parent.organisation_id;</method></netparam>
+    	<handler name="ondata" args="value">
+    		parent.initFields(value);
+    	</handler>
+  	</netRemoteCallHib>	
+	
+	
+    
+    <method name="initFields" args="obj">
+    	<![CDATA[
+    	this.organisation_id = obj.organisation_id;
+        this.orgname.setAttribute('text',obj.name);
+        ]]>
+    </method>
+	
+	<!-- remotecalls -->
+
+	<netRemoteCallHib name="deleteOrganisation" funcname="organisationservice.deleteOrganisation" remotecontext="$once{ canvas.thishib }" >      
+		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+		<netparam><method name="getValue"> return parent.parent.organisation_id; </method></netparam>
+		<handler name="ondata" args="value">
+			//Debug.write("deleteOrganisation ",value);
+			//this.parent.destroy();
+			if (value>0){
+				this.parent.parent._turnoverlist.oncallnext.sendEvent();
+				this.parent.onnew.sendEvent();
+			}
+		</handler>
+	</netRemoteCallHib>	
+	
+  	<netRemoteCallHib name="saveOrUpdateOrganisation" funcname="organisationservice.saveOrUpdateOrganisation" 
+  		remotecontext="$once{ canvas.thishib }" registerObject="true" >   
+		<attribute name="sendObject" value="null" />
+		<!-- gets called by Observer -->
+  		<method name="prepareCall">
+  			this.sendObject=new Array();
+  			this.sendObject["organisation_id"] = this.parent.organisation_id;
+  			this.sendObject["orgname"] = this.parent.orgname.getText();
+
+  			//Debug.write("prepareCall: ",this.sendObject);
+  		</method>
+  		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+    	<netparam><method name="getValue">return parent.sendObject;</method></netparam>	  		
+    	<handler name="ondata" args="val">
+			<![CDATA[
+    		//Debug.write("saveOrUpdateOrganisation: ",val);
+			if (val>0){
+				//Debug.write("saveOrUpdateUser val greater 0: ",val);
+				this.parent.parent._turnoverlist.oncallnext.sendEvent();
+				var obj = new Array();
+				obj["organisation_id"] = val;
+				this.parent.initValueFieldsByObject(obj);
+			}
+			]]>
+    	</handler>
+  	</netRemoteCallHib>		
+	
+	<!-- content -->	
+    
+    <labelText labelid="170" width="200" y="40" resize="false" fontstyle="bold" />	
+	
+    <labelText labelid="171" width="200" y="70" resize="false" x="2"/>
+        <customEdittext name="orgname" y="70" x="120" width="270" text="" />	
+	
+    <labelText labelid="273" width="200" y="100" resize="false" x="2" fontstyle="bold" />   
+    
+    <labelText labelid="177" width="200" y="130" resize="false" x="2"/>
+         
+    <orgUsersRecordValueList name="_userlist" y="130" x="120" width="300" height="200" />  
+
+	<blueButton resourceItem="edit_add_rsc" y="100" x="400"
+		x_insetResource="2" y_insetResource="2" width="20" height="20"
+		width_insetResource="16" height_insetResource="16"
+		onclick="this.parent.addOrganisationToUser()">
+		<labelTooltip labelid="178" />
+	</blueButton>
+			
+	<method name="addOrganisationToUser">
+		if (this.organisation_id!=0) {
+			new lz.orgAdminChooseUserWindow(canvas.main_content._content.inner,{
+			     refObj:this,organisation_id:this.organisation_id,
+			     isOrgUserAddForm:true});
+        } else {
+            new lz.labelerrorPopup(canvas.main_content._content.inner,{
+                     errorlabelid:654
+                    })
+        }
+	</method>	
+    
+</class>
+	
+</library>
diff --git a/WebContent/src/modules/admin/orgadmin/orgUsersRecordValueList.lzx b/WebContent/src/modules/admin/orgadmin/orgUsersRecordValueList.lzx
new file mode 100644
index 0000000..4149d00
--- /dev/null
+++ b/WebContent/src/modules/admin/orgadmin/orgUsersRecordValueList.lzx
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- Existing organization list. used by orgAdmin only -->
+<class name="orgUsersRecordValueList" extends="recordValueList" >
+        
+    <attribute name="usersId" value="0" type="number" />
+    
+    <handler name="oninit">
+        this.addHeaderItem(177,226);    
+        this.addHeaderItem(275,60);   
+    </handler>
+        
+    <handler name="deleteItem" args="obj">
+        if ($debug) Debug.write("deleteItem: ",obj.value);
+        this.usersId = Number(obj.value);
+        this.deleteUserFromOrganisation.doCall();
+    </handler>  
+
+    <netRemoteCallHib name="getUsersByOrganisation" funcname="organisationservice.getUsersByOrganisation" 
+          remotecontext="$once{ canvas.thishib }" > 
+          <netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+        <netparam><method name="getValue">return parent.parent.parent.organisation_id;</method></netparam>
+        <netparam><method name="getValue"> return 0; </method></netparam>
+        <netparam><method name="getValue"> return 200; </method></netparam>
+        <netparam><method name="getValue"> return "user_id"; </method></netparam>
+        <netparam><method name="getValue"> return true; </method></netparam>          
+        <handler name="ondata" args="value">
+            Debug.write("getUsersByorganisation ",value);
+            this.parent.initValues(value.records);
+            this.parent.renderContent(value.result);
+        </handler>
+    </netRemoteCallHib> 
+    
+    <method name="renderContent" args="records">
+        <![CDATA[
+        this.clearList();
+        for (var i=0;i<records.length;i++){
+            var v = records[i].login+' ['+records[i].lastname+', '+records[i].firstname+']';
+            new lz.recordListItem(this._innerlist._inn._inn,{valueName:v,value:records[i].user_id});
+        }
+        ]]>
+    </method>
+            
+    <netRemoteCallHib name="deleteUserFromOrganisation" remotecontext="$once{ canvas.thishib }" 
+        funcname="organisationservice.deleteUserFromOrganisation" >      
+        <netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+        <netparam><method name="getValue"> return parent.parent.parent.organisation_id; </method></netparam>
+        <netparam><method name="getValue"> return parent.parent.usersId; </method></netparam>
+        <netparam><method name="getValue"> return ''; </method></netparam>
+        <handler name="ondata" args="value">
+            Debug.write("deleteUserFromOrganisation ",value);
+            //this.parent.destroy();
+            if (value>0){
+                this.parent.parent.onreload.sendEvent();
+            } else {
+                new lz.rpcErrorDialog(canvas.main_content._content.inner,{errorid:value});
+            }
+        </handler>
+    </netRemoteCallHib>       
+      
+</class> 
+
+
+</library>
diff --git a/WebContent/src/modules/admin/roomadmin/advancedRoomSettings.lzx b/WebContent/src/modules/admin/roomadmin/advancedRoomSettings.lzx
new file mode 100644
index 0000000..a9e3654
--- /dev/null
+++ b/WebContent/src/modules/admin/roomadmin/advancedRoomSettings.lzx
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="advancedRoomSettings" extends="view" y="570">
+	
+	<handler name="oninit">
+		<![CDATA[
+			if (parent.rooms_id!=0){
+				this._videoPodHeight.setAttribute('text',parent.roomsObj.videoPodHeight);
+				this._videoPodWidth.setAttribute('text',parent.roomsObj.videoPodWidth);
+				this._videoPodXPosition.setAttribute('text',parent.roomsObj.videoPodXPosition);
+				this._videoPodYPosition.setAttribute('text',parent.roomsObj.videoPodYPosition);
+				
+				this._moderationPanelXPosition.setAttribute('text',parent.roomsObj.moderationPanelXPosition);
+				this._showWhiteBoard.setValue(parent.roomsObj.showWhiteBoard);
+				
+				this._whiteBoardPanelXPosition.setAttribute('text',parent.roomsObj.whiteBoardPanelXPosition);
+				this._whiteBoardPanelYPosition.setAttribute('text',parent.roomsObj.whiteBoardPanelYPosition);
+				this._whiteBoardPanelWidth.setAttribute('text',parent.roomsObj.whiteBoardPanelWidth);
+				this._whiteBoardPanelHeight.setAttribute('text',parent.roomsObj.whiteBoardPanelHeight);
+				
+				this._showFilesPanel.setValue(parent.roomsObj.showFilesPanel);
+				
+				this._filesPanelXPosition.setAttribute('text',parent.roomsObj.filesPanelXPosition);
+				this._filesPanelYPosition.setAttribute('text',parent.roomsObj.filesPanelYPosition);
+				this._filesPanelWidth.setAttribute('text',parent.roomsObj.filesPanelWidth);
+				this._filesPanelHeight.setAttribute('text',parent.roomsObj.filesPanelHeight);
+			} else {
+				this._videoPodHeight.setAttribute('text',280);
+				this._videoPodWidth.setAttribute('text',270);
+				this._videoPodXPosition.setAttribute('text',2);
+				this._videoPodYPosition.setAttribute('text',2);
+				
+				this._moderationPanelXPosition.setAttribute('text',400);
+				this._showWhiteBoard.setValue(true);
+				
+				this._whiteBoardPanelXPosition.setAttribute('text',276);
+				this._whiteBoardPanelYPosition.setAttribute('text',2);
+				this._whiteBoardPanelWidth.setAttribute('text',660);
+				this._whiteBoardPanelHeight.setAttribute('text',592);
+				
+				this._showFilesPanel.setValue(true);
+				
+				this._filesPanelXPosition.setAttribute('text',2);
+				this._filesPanelYPosition.setAttribute('text',284);
+				this._filesPanelWidth.setAttribute('text',270);
+				this._filesPanelHeight.setAttribute('text',310);
+			}
+		]]>
+	</handler>
+    
+    <labelText labelid="486" fontstyle="bold" width="200" 
+    		   y="0" resize="true" x="2" />
+    
+    <labelText labelid="484" width="120" y="30" resize="false" x="2"/>
+    <customEdittext name="_videoPodXPosition" y="30" x="120" width="100" 
+    				regexpType="number" text="" /> 
+    <customEdittext name="_videoPodYPosition" y="30" x="230" width="100" 
+    				regexpType="number" text="" />  
+    
+    <labelText labelid="485" width="200" y="60" resize="false" x="2"/>
+    <customEdittext name="_videoPodWidth" y="60" x="120" width="100" 
+    				regexpType="number" text="" />  
+    <customEdittext name="_videoPodHeight" y="60" x="230" width="100" 
+    				regexpType="number" text="" /> 
+    
+    <labelText labelid="487" fontstyle="bold" width="200"  
+    		   y="90" resize="true" x="2" />
+    		   
+    <labelText labelid="488" width="200" y="120" resize="false" x="2" />
+    <customEdittext name="_moderationPanelXPosition" y="120" 
+    				x="120" width="100"  
+    				regexpType="number" text="" />   
+    
+    <labelText labelid="489" fontstyle="bold" width="200"  
+    		   y="150" resize="true" x="2" />
+    		   
+    <labelText labelid="490" width="200" y="180" resize="false" x="2"/>
+    <checkbox name="_showWhiteBoard" width="100" y="180" x="120" fontsize="11" />
+    
+    <labelText labelid="491" width="200" y="210" resize="false" x="2"/>
+    <customEdittext name="_whiteBoardPanelXPosition" y="210" x="120" width="100"  
+    				regexpType="number" text="" /> 
+    <customEdittext name="_whiteBoardPanelYPosition" y="210" x="230" width="100"  
+    				regexpType="number" text="" /> 
+    
+    <labelText labelid="492" width="200" y="240" resize="false" x="2"/>
+    <customEdittext name="_whiteBoardPanelWidth" y="240" x="120" width="100"  
+    				regexpType="number" text="" />  
+    <customEdittext name="_whiteBoardPanelHeight" y="240" x="230" width="100"  
+    				regexpType="number" text="" />  
+    
+    <labelText labelid="493" fontstyle="bold" width="200"  
+    		   y="270" resize="true" x="2" />
+    		   
+    <labelText labelid="494" width="200" y="300" resize="false" x="2"/>
+    <checkbox name="_showFilesPanel" width="100" y="300" x="120" fontsize="11" />
+    
+    <labelText labelid="495" width="200" y="330" resize="false" x="2"/>
+    <customEdittext name="_filesPanelXPosition" y="330" x="120" width="100"  
+    				regexpType="number" text="" />  
+    <customEdittext name="_filesPanelYPosition" y="330" x="230" width="100"  
+    				regexpType="number" text="" /> 
+    
+    <labelText labelid="496" width="300" y="360" resize="false" x="2"/>
+    <customEdittext name="_filesPanelWidth" y="360" x="120" width="100"  
+    				regexpType="number" text="" /> 
+    <customEdittext name="_filesPanelHeight" y="360" x="230" width="100"  
+    				regexpType="number" text="" />  
+
+</class>
+
+</library>
diff --git a/WebContent/src/modules/admin/roomadmin/library.lzx b/WebContent/src/modules/admin/roomadmin/library.lzx
new file mode 100644
index 0000000..f1ee463
--- /dev/null
+++ b/WebContent/src/modules/admin/roomadmin/library.lzx
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+    <include href="roomAdmin.lzx" />
+	<include href="roomAdminListItem.lzx" />
+    <!--
+	<include href="advancedRoomSettings.lzx" />
+     -->
+	<include href="roomValueForm.lzx" />
+
+</library>
diff --git a/WebContent/src/modules/admin/roomadmin/roomAdmin.lzx b/WebContent/src/modules/admin/roomadmin/roomAdmin.lzx
new file mode 100644
index 0000000..c338e49
--- /dev/null
+++ b/WebContent/src/modules/admin/roomadmin/roomAdmin.lzx
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- Admin module to configure the Conference or Audience room.-->
+<class name="roomAdmin" extends="baseContentView">	
+
+	<handler name="oninit">
+		_mainScrollHBar.setAttribute("visibility","visible");
+	</handler>
+	
+	<handler name="ontabcontentleave" args="tRef">
+		_mainScrollHBar.setAttribute("visibility","hidden");
+	</handler>
+	
+	<labelText x="2" y="${ 8 - parent.parent.parent.y }" labelid="714" />
+	
+	<customEdittext name="_search" y="${ 4 - parent.parent.parent.y }" x="120" width="200" height="24"/>
+    
+    <simpleLabelButton labelid="715" x="330" width="70" height="24" y="${ 4 - parent.parent.parent.y }">
+        <handler name="onclick">
+            parent._turnoverlist.getRooms.doCall();
+        </handler>
+    </simpleLabelButton>
+	
+	<turnOverList name="_turnoverlist" width="400" height="${ canvas.height - canvas.naviHeight - 40 }" x="2" y="${ 30 - parent.parent.parent.y }" 
+		orderby="c.rooms_id" step="50" asc="true">
+
+		<handler name="oninit">
+			this.addHeaderItem(188,60);
+			this.addHeaderItem(189,184);
+			this.addHeaderItem(190,134);
+			this.getRooms.doCall();
+		</handler>
+		
+		<handler name="oncallnext" >
+			this.getRooms.doCall();
+		</handler>
+		
+		<handler name="oncallpre" >		
+			this.getRooms.doCall();
+		</handler>
+		
+		<handler name="onclickedItem" args="obj">
+			//Debug.write("onclickedItem",obj,obj.obj);
+            parent._roomvalueform.hideNewRecordText();
+			parent._roomvalueform.initValueFieldsByObject(obj.obj);
+		</handler>
+		
+		<netRemoteCallHib name="getRooms" funcname="conferenceservice.getRooms" remotecontext="$once{ canvas.thishib }" >      
+			<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.start; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.step; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.orderby; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.asc; </method></netparam>
+	    	<netparam><method name="getValue"> return parent.parent.parent._search.getText(); </method></netparam>
+            <handler name="ondata" args="value">
+	    		//Debug.write("getRooms: ",value);
+	    		//this.parent.destroy();
+	    		this.parent.initValues(value.records);
+	    		this.parent.renderContent(value.result);
+	    	</handler>
+	    </netRemoteCallHib>	
+	    
+	    <method name="renderContent" args="records">
+	    	<![CDATA[
+	    	this.clearList();
+	    	for (var i=0;i<records.length;i++){
+	    		new lz.roomAdminListItem(this._innerlist._inn._inn,{obj:records[i],rooms_id:records[i].rooms_id,roomname:records[i].name,ispublic:records[i].ispublic});
+	    	}
+	    	if (parent._roomvalueform.rooms_id == 0) {
+                if (records.length > 0) {
+                    parent._roomvalueform.initValueFieldsByObject(records[0]);
+                }
+            }
+            this.sendInitialWidthUpdate();
+	    	]]>
+	    </method>
+
+	</turnOverList>
+	
+	<roomValueForm name="_roomvalueform" x="402">
+        <handler name="onnew" args="refObj">
+            parent._turnoverlist.clearSelection();
+        </handler>
+    </roomValueForm>
+		
+</class>
+
+
+
+</library>
diff --git a/WebContent/src/modules/admin/roomadmin/roomAdminListItem.lzx b/WebContent/src/modules/admin/roomadmin/roomAdminListItem.lzx
new file mode 100644
index 0000000..7721a6b
--- /dev/null
+++ b/WebContent/src/modules/admin/roomadmin/roomAdminListItem.lzx
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- list of conference/audience rooms -->
+<class name="roomAdminListItem" extends="baseContentListItem">
+    
+	<attribute name="rooms_id" value="0" type="number" />
+	<attribute name="roomname" value="" type="string" />
+	<attribute name="ispublic" value="" type="string" />
+	
+	<turnOverTextItem text="$once{ parent.rooms_id }" width="60" />
+	<turnOverTextItem text="$once{ parent.roomname }" width="186" />
+	<turnOverTextItem text="$once{ parent.ispublic }" width="140" />
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/admin/roomadmin/roomValueForm.lzx b/WebContent/src/modules/admin/roomadmin/roomValueForm.lzx
new file mode 100644
index 0000000..1d51532
--- /dev/null
+++ b/WebContent/src/modules/admin/roomadmin/roomValueForm.lzx
@@ -0,0 +1,809 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- configure value for roomadmin module -->
+<class name="roomValueForm" extends="baseContentSaveView">
+
+	<!-- recordContent-id -->
+	<attribute name="rooms_id" value="0" type="number" />
+	<attribute name="roomsObj" value="null" />
+	
+	<!--handlers -->
+
+	<handler name="onsavecompleted" >
+		this.getRoomById.doCall();
+	</handler>
+	
+	<handler name="onreload" >
+		if (this.rooms_id!=0) this.getRoomById.doCall();
+	</handler>	
+
+	<handler name="onnew">
+		this.rooms_id=0;
+        this.roomname.setAttribute('text','');
+		this.comment.setAttribute('text','');
+		this.ispublic.setValue(false);
+		this.isModeratedRoom.setValue(false);
+		this.isDemoRoom.setValue(false);
+		this.demoTime.setAttribute('text','');
+		this.isappointment.setValue(false);
+		this.numberOfParticipants.selectItem('4');
+		this._organisationslist.clearList();
+        this._turnoverlist.clearList();
+        this.allowUserQuestions.setValue(true);
+        this.isAudioOnly.setValue(false);
+        this.sipNumber.setAttribute("text","");
+        this.conferencePin.setAttribute("text","");
+        this.isClosed.setValue(false);
+        this.redirectURL.setAttribute("text","");
+        this._listRoomModerators.clearList();
+        this.ownerId.setAttribute("text","0");
+        this.waitForRecording.setValue(false);
+        this.allowRecording.setValue(false);
+        this.hideTopBar.setValue(false);
+        this.hideChat.setValue(false);        
+        this.hideActivitiesAndActions.setValue(false);
+        this.hideFilesExplorer.setValue(false);
+        this.hideActionsMenu.setValue(false);
+        this.hideScreenSharing.setValue(false);
+        this.hideWhiteboard.setValue(false); 
+        this.showMicrophoneStatus.setValue(false);
+	</handler>
+	
+    <handler name="ondelete" >
+		if (this.rooms_id!=0){
+			this.deleteRoom.doCall();
+		}
+    </handler>
+	
+	<!-- methods -->
+
+    <method name="initValueFieldsByObject" args="obj">
+		this.rooms_id = obj.rooms_id;
+		if (this.rooms_id!=0){
+			this.getRoomById.doCall();
+		}
+    </method>
+    
+    <method name="initFields" args="obj">
+    	<![CDATA[
+    	
+    	   if (obj == null) {
+                return;
+            }
+            
+    		this.roomsObj = obj;
+    		if ($debug) Debug.write("initFields: ",obj);
+    		this.rooms_id = obj.rooms_id;
+    		
+			this.roomname.setAttribute('text',obj.name);
+			this.comment.setAttribute('text',obj.comment);
+			this.ispublic.setValue(obj.ispublic);
+            this.demoTime.setAttribute("enabled",true);
+			if ($debug) Debug.write("Appointment: ",obj.appointment);
+			this.isappointment.setValue(obj.appointment);
+			
+		    if (obj.isModeratedRoom != null && obj.isModeratedRoom){
+                this.isModeratedRoom.setValue(true);
+            } else {
+                this.isModeratedRoom.setValue(false);
+            }
+            
+            if (obj.demoTime != null) {
+                this.demoTime.setText(obj.demoTime);
+            } else {
+                this.demoTime.setAttribute("text","");
+            }
+            
+            if (obj.isDemoRoom != null && obj.isDemoRoom){
+                this.isDemoRoom.setValue(true);
+            } else {
+                this.isDemoRoom.setValue(false);
+            }
+            
+            if (obj.allowUserQuestions != null && obj.allowUserQuestions){
+                this.allowUserQuestions.setValue(true);
+            } else {
+                this.allowUserQuestions.setValue(false);
+            }
+            
+            if (obj.isAudioOnly != null && obj.isAudioOnly){
+                this.isAudioOnly.setValue(true);
+            } else {
+                this.isAudioOnly.setValue(false);
+            }
+            
+            if (obj.isClosed != null && obj.isClosed){
+                this.isClosed.setValue(true);
+            } else {
+                this.isClosed.setValue(false);
+            }
+            
+            this.redirectURL.setAttribute("text",obj.redirectURL);
+                
+			this.numberOfParticipants.selectItem(String(obj.numberOfPartizipants));
+			this.roomtype.selectItem(String(obj.roomtype.roomtypes_id));
+			
+			if (obj.sipNumber != null) {
+		        this.sipNumber.setAttribute("text",obj.sipNumber);
+			} else {
+				this.sipNumber.setAttribute("text","");
+			}
+			
+			if (obj.conferencePin != null) {
+                this.conferencePin.setAttribute("text",obj.conferencePin);
+			} else {
+				this.conferencePin.setAttribute("text",obj.conferencePin);
+			}
+			
+            this._turnoverlist.clearList();
+            this._turnoverlist.getRoomClientsMapByRoomId.doCall();
+            
+            if (obj.ownerId != null) {
+                this.ownerId.setAttribute("text",obj.ownerId);
+            } else {
+                this.ownerId.setAttribute("text","0");
+            }
+            
+            if (obj.waitForRecording != null && obj.waitForRecording){
+            	this.waitForRecording.setValue(true);
+            } else {
+            	this.waitForRecording.setValue(false);
+            }
+            
+            if (obj.allowRecording != null && obj.allowRecording){
+                this.allowRecording.setValue(true);
+            } else {
+                this.allowRecording.setValue(false);
+            }
+            
+            if (obj.hideTopBar != null && obj.hideTopBar){
+                this.hideTopBar.setValue(true);
+            } else {
+                this.hideTopBar.setValue(false);
+            }
+            
+            if (obj.hideChat != null && obj.hideChat){
+                this.hideChat.setValue(true);
+            } else {
+                this.hideChat.setValue(false);
+            }
+            
+            if (obj.hideActivitiesAndActions != null && obj.hideActivitiesAndActions){
+                this.hideActivitiesAndActions.setValue(true);
+            } else {
+                this.hideActivitiesAndActions.setValue(false);
+            }
+            
+            if (obj.hideFilesExplorer != null && obj.hideFilesExplorer){
+                this.hideFilesExplorer.setValue(true);
+            } else {
+                this.hideFilesExplorer.setValue(false);
+            }
+            
+            if (obj.hideActionsMenu != null && obj.hideActionsMenu){
+                this.hideActionsMenu.setValue(true);
+            } else {
+                this.hideActionsMenu.setValue(false);
+            }
+            
+            if (obj.hideScreenSharing != null && obj.hideScreenSharing){
+                this.hideScreenSharing.setValue(true);
+            } else {
+                this.hideScreenSharing.setValue(false);
+            }
+            
+            if (obj.hideWhiteboard != null && obj.hideWhiteboard){
+                this.hideWhiteboard.setValue(true);
+            } else {
+                this.hideWhiteboard.setValue(false);
+            }
+            
+            if (obj.showMicrophoneStatus != null && obj.showMicrophoneStatus){
+                this.showMicrophoneStatus.setValue(true);
+            } else {
+                this.showMicrophoneStatus.setValue(false);
+            }
+            
+            this._listRoomModerators.getRoomModeratorsByRoomId.doCall();
+        ]]>
+    </method>
+	
+	<method name="initOrganisations" args="obj">
+		<![CDATA[
+			this._organisationslist.clearList();
+			for (var i=0;i<obj.length;i++){
+				//if ($debug) Debug.write("initOrganisations: ",obj[i]);
+				this._organisationslist.addItem(obj[i].organisation.name,obj[i].organisation.organisation_id);
+			}
+		]]>
+	</method>
+	
+	<!-- remotecalls -->
+	
+  	<netRemoteCallHib name="getRoomById" funcname="conferenceservice.getRoomById" 
+  		remotecontext="$once{ canvas.thishib }" > 
+  		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+    	<netparam><method name="getValue">return parent.parent.rooms_id;</method></netparam>
+    	<handler name="ondata" args="value">
+    		parent.initFields(value);
+			parent.getOrganisationByRoom.doCall();
+    	</handler>
+  	</netRemoteCallHib>
+	
+  	<netRemoteCallHib name="getOrganisationByRoom" funcname="conferenceservice.getOrganisationByRoom" 
+  		remotecontext="$once{ canvas.thishib }" > 
+  		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+    	<netparam><method name="getValue">return parent.parent.rooms_id;</method></netparam>
+    	<handler name="ondata" args="value">
+			//Debug.write("getOrganisationByRoom: ",value);
+    		parent.initOrganisations(value);
+    	</handler>
+  	</netRemoteCallHib>
+	
+	<netRemoteCallHib name="deleteRoom" funcname="conferenceservice.deleteRoom" remotecontext="$once{ canvas.thishib }" >      
+		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+		<netparam><method name="getValue"> return parent.parent.rooms_id; </method></netparam>
+		<handler name="ondata" args="value">
+			//Debug.write("deleteUserAdmin ",value);
+			//this.parent.destroy();
+			if (value>0){
+				this.parent.parent._turnoverlist.oncallnext.sendEvent();
+				this.parent.onnew.sendEvent();
+			}
+		</handler>
+	</netRemoteCallHib>		
+
+  	<netRemoteCallHib name="saveOrUpdateRoom" funcname="conferenceservice.saveOrUpdateRoom" 
+  		remotecontext="$once{ canvas.thishib }" registerObject="true" >   
+		<attribute name="sendObject" value="null" />
+		<!-- gets called by Observer  -->
+  		<method name="prepareCall">
+  			this.sendObject=new Array();
+            
+  			this.sendObject["rooms_id"] = this.parent.rooms_id;
+  			this.sendObject["name"] = this.parent.roomname.getText();
+			this.sendObject["roomtypes_id"] = Number(this.parent.roomtype.getValue());
+  			this.sendObject["comment"] = this.parent.comment.getText();
+  			this.sendObject["ispublic"] = this.parent.ispublic.getValue();
+			this.sendObject["numberOfPartizipants"] = Number(this.parent.numberOfParticipants.getValue());
+  			this.sendObject["organisations"] = this.parent._organisationslist.getAllItems();
+  			this.sendObject["appointment"] = this.parent.isappointment.getValue();
+  			this.sendObject["isModeratedRoom"] = this.parent.isModeratedRoom.getValue();
+            
+            this.sendObject["isDemoRoom"] = parent.isDemoRoom.getValue();
+            this.sendObject["demoTime"] = parent.demoTime.getText();
+            
+            this.sendObject["roomModerators"] = parent._listRoomModerators.getValues();
+
+            this.sendObject["allowUserQuestions"] = parent.allowUserQuestions.getValue();
+            
+            this.sendObject["isAudioOnly"] = parent.isAudioOnly.getValue();
+            
+            this.sendObject["isClosed"] = parent.isClosed.getValue();
+            this.sendObject["redirectURL"] = parent.redirectURL.getText();
+            
+            this.sendObject["sipNumber"] = parent.sipNumber.getText();
+            this.sendObject["conferencePin"] =  parent.conferencePin.getText();
+            
+            this.sendObject["waitForRecording"] = parent.waitForRecording.getValue();
+            this.sendObject["allowRecording"] = parent.allowRecording.getValue();
+            
+            this.sendObject["hideTopBar"] = parent.hideTopBar.getValue();
+            
+            this.sendObject["hideChat"] = parent.hideChat.getValue();
+            
+            this.sendObject["hideActivitiesAndActions"] = parent.hideActivitiesAndActions.getValue();
+            
+            this.sendObject["hideFilesExplorer"] = parent.hideFilesExplorer.getValue();
+            
+            this.sendObject["hideActionsMenu"] = parent.hideActionsMenu.getValue();
+            
+            this.sendObject["hideScreenSharing"] = parent.hideScreenSharing.getValue();
+            
+            this.sendObject["hideWhiteboard"] = parent.hideWhiteboard.getValue();      
+            
+            this.sendObject["showMicrophoneStatus"] = parent.showMicrophoneStatus.getValue(); 
+            
+            var ownerId = parent.ownerId.getText();
+            if (ownerId == "") ownerId = 0;
+            this.sendObject["ownerId"] = ownerId;
+
+  			if ($debug) Debug.write("prepareCall: ",this.sendObject);
+  		</method>
+  		<netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+    	<netparam><method name="getValue">return parent.sendObject;</method></netparam>	  		
+    	<handler name="ondata" args="val">
+			<![CDATA[
+    		//Debug.write("saveOrUpdateRoom ",val);
+			if (val>0){
+				//Debug.write("saveOrUpdateRoom val greater 0: ",val);
+				this.parent.parent._turnoverlist.oncallnext.sendEvent();
+				var obj = new Array();
+				obj["rooms_id"] = val;
+				this.parent.initValueFieldsByObject(obj);
+			}
+			]]>
+    	</handler>
+  	</netRemoteCallHib>	
+	
+	<!-- content -->
+    
+    <!-- 187:Conferencerooms -->
+    <labelText labelid="187" width="200" y="40" resize="false" fontstyle="bold" />
+    
+    <!-- 193:Name -->
+    <labelText labelid="193" width="200" y="70" resize="false" x="2"/>
+        <customEdittext name="roomname" y="70" x="120" width="270" text="" />   
+    
+    <!-- 482:Participants -->
+    <labelText labelid="482" width="200" y="100" resize="false" x="2"/>
+        <resetCombobox name="numberOfParticipants" width="270" y="100" x="120" editable="false" fontsize="11">
+	        <handler name="oninit" >
+	            <![CDATA[
+	            	this.addItem(2,2);
+	            	this.addItem(4,4);
+	            	this.addItem(6,6);
+	            	this.addItem(8,8);
+	            	this.addItem(10,10);
+	            	this.addItem(12,12);
+	            	this.addItem(14,14);
+	            	this.addItem(16,16);
+                    this.addItem(25,25);
+                    this.addItem(50,50);
+                    this.addItem(100,100);
+                    this.addItem(150,150);
+                    this.addItem(200,200);
+                    this.addItem(1000,1000);
+	            	this.selectItemAt(1);
+	            ]]>
+	        </handler> 
+        </resetCombobox> 
+
+	<!-- 194:Type -->
+    <labelText labelid="194" width="200" y="130" resize="false" x="2"/>  
+        <resetCombobox name="roomtype" width="270" y="130" x="120" editable="false" fontsize="11">
+	        <handler name="oninit" >
+	            <![CDATA[
+	            for (var i=0;i<canvas.roomTypesInitValues.length;i++){
+	                this.addItem(canvas.roomTypesInitValues[i].name,canvas.roomTypesInitValues[i].roomtypes_id);
+	            }
+	            this.selectItem(String(canvas.roomTypesInitValues[0].roomtypes_id));
+	            ]]>
+	        </handler> 
+        </resetCombobox> 	                  
+
+	<!-- 196:Comment -->
+	<labelText labelid="196" width="200" y="160" resize="false" x="2"/>
+        <customScrollEdittext name="comment" y="160" x="120" width="270" 
+            height="100" text="" />	
+	
+	<!-- Appointment -->
+	<labelText labelid="620" width="200" y="270" resize="false" x="2"/>  
+        <labelCheckbox name="isappointment" width="270" y="270" x="130" fontsize="11" />
+	
+	<!-- 191:organisations -->
+    <labelText labelid="191" width="200" y="300" fontstyle="bold"
+               resize="false" x="2"/>    
+               
+    <!-- 195:Public -->
+    <labelText labelid="195" width="200" y="320" resize="false" x="2"/>  
+        <labelCheckbox name="ispublic" width="270" y="320" x="130" fontsize="11" />               
+    
+    <view resource="messagebox_info_rsc" x="0" y="340" />
+    
+    <labelText labelid="828" x="24" y="340" fontstyle="italic"
+               multiline="true" width="370" />    
+     
+    <labelText labelid="191" width="200" y="390" resize="false" x="2"/>     
+     
+    <!-- 172:add organisation -->
+    <blueButton width="20" height="20" resourceItem="edit_add_rsc"
+        			x_insetResource="2" y_insetResource="2" y="390" x="370" 
+        			width_insetResource="16" height_insetResource="16"
+        			onclick="this.parent.addOrganisationToUser()" />        
+    <method name="addOrganisationToUser">
+        new lz.chooseOrganisationWindow(canvas.main_content._content.inner,{refObj:this,item_id:this.rooms_id});
+    </method>   
+     
+     <!--
+    <simpleValueList name="_organisationslist" y="410" x="120" width="270" height="80" 
+		multiselect="true" />
+         -->
+        
+	<simpleTurnOverList name="_organisationslist" y="390" x="0" 
+                        width="390" height="100" mainBgColor="0xFFFFFF">
+
+        <handler name="oninit">
+            this.addHeaderItem(588,30);
+            this.addHeaderItem(831,320);
+            this.addHeaderItem(590,22);
+        </handler>
+        
+        <method name="getAllItems">
+            <![CDATA[
+		        var a = new Array();
+		        for (var i=0;i<this._innerlist._inn._inn.subviews.length;i++){
+		            //Debug.write("t: ",this.content.content.inn.subviews[i].value);
+		            a.push(Number(this._innerlist._inn._inn.subviews[i].orgId));
+		        }
+		        return a;
+	        ]]>
+        </method>
+        
+        <method name="addItem" args="orgName,orgId">
+            new lz.roomAdminOrgListItem(this._innerlist._inn._inn,{
+	                obj:null,
+	                orgName:orgName,
+	                orgId:orgId
+                });
+            this.sendInitialWidthUpdate();
+        </method>
+    </simpleTurnOverList>	
+    
+    <!-- Limitations -->
+    <labelText labelid="830" width="200" y="500" fontstyle="bold"
+               resize="false" x="2"/>    
+    
+    <!-- Is Demo Room -->
+    <labelText labelid="636" width="200" y="520" resize="false" x="2"/>  
+        <labelCheckbox name="isDemoRoom" width="270" y="520" x="130" fontsize="11">
+            <handler name="onvalue" args="v">
+                if (!parent.isinited) {
+                    return;
+                }
+                if (v) {
+                    parent.demoTime.setAttribute("editable",true);
+                } else {
+                    parent.demoTime.setAttribute("editable",false);
+                }
+            </handler>
+        </labelCheckbox>   
+	
+    <!-- Demo Time -->
+    <labelText labelid="637" width="200" y="550" resize="false" x="2"/>  
+        <customEdittext name="demoTime" y="546" x="120" width="270" regexpType="number"
+                        text="" /> 
+                        
+     
+    <!-- Rights -->
+    <labelText labelid="881" width="200" y="580" fontstyle="bold"
+               resize="false" x="2"/>    
+     
+    <!-- allowUserQuestions -->          
+    <labelText labelid="879" width="200" y="610" resize="false" x="2"/>  
+        <labelCheckbox name="allowUserQuestions" width="270" y="610" x="130" fontsize="11" />
+    
+    <!-- allowUserQuestions Description -->          
+    <view resource="messagebox_info_rsc" x="0" y="630" />
+    
+    <labelText labelid="880" x="24" y="630"  fontstyle="italic"
+               multiline="true" width="370" /> 
+               
+    <labelText labelid="1076" width="200" y="680" resize="false" x="2"/>  
+        <labelCheckbox name="isAudioOnly" width="270" y="680" x="130" fontsize="11" />  
+        
+    <!-- allowUserQuestions Description -->          
+    <view resource="messagebox_info_rsc" x="0" y="700" />
+    
+    <labelText labelid="1077" x="24" y="700"  fontstyle="italic"
+               multiline="true" width="370" /> 
+                
+                
+               
+    <!-- Room termination settings -->
+    <labelText labelid="1101" width="200" y="750" fontstyle="bold"
+               resize="false" x="2"/>            
+                                   
+    <!-- isClosed -->          
+    <labelText labelid="1099" width="200" y="780" resize="false" x="2"/>  
+        <labelCheckbox name="isClosed" width="270" y="780" x="130" fontsize="11" />
+        
+    <!-- 1100:Exit URL -->
+    <labelText labelid="1100" width="200" y="810" resize="false" x="2"/>
+        <customEdittext name="redirectURL" y="810" x="120" width="270" text="" />    
+      
+    <!-- termination Description -->          
+    <view resource="messagebox_info_rsc" x="0" y="840" />
+    
+    <labelText labelid="1102" x="24" y="840"  fontstyle="italic"
+               multiline="true" width="370" /> 
+                
+    <!-- isClosed -->          
+    <labelText labelid="1355" width="200" y="880" resize="false" x="2"/>  
+        <labelCheckbox name="waitForRecording" width="270" y="880" x="180" fontsize="11" />
+ 
+    <labelText labelid="1356" width="200" y="900" resize="false" x="2" visibility="hidden" />  
+        <labelCheckbox name="allowRecording" width="270" y="900" x="180" fontsize="11" visibility="hidden" />
+ 
+ 	
+ 	<!-- Room Layout options -->
+    <labelText labelid="1443" width="200" y="920" fontstyle="bold"
+               resize="false" x="2"/>  
+ 
+    <labelText labelid="1357" width="200" y="960" resize="false" x="2" />  
+        <labelCheckbox name="hideTopBar" width="270" y="960" x="180" fontsize="11" />
+        
+    <labelText labelid="1436" width="200" y="980" resize="false" x="2" />  
+        <labelCheckbox name="hideChat" width="270" y="980" x="180" fontsize="11" />
+        
+    <labelText labelid="1437" width="200" y="1000" resize="false" x="2" />  
+        <labelCheckbox name="hideActivitiesAndActions" width="270" y="1000" x="180" fontsize="11" />
+        
+    <labelText labelid="1438" width="200" y="1020" resize="false" x="2" />  
+        <labelCheckbox name="hideFilesExplorer" width="270" y="1020" x="180" fontsize="11" />
+    
+    <labelText labelid="1439" width="200" y="1040" resize="false" x="2" />  
+        <labelCheckbox name="hideActionsMenu" width="270" y="1040" x="180" fontsize="11" />
+ 	
+ 	<labelText labelid="1440" width="200" y="1060" resize="false" x="2" />  
+        <labelCheckbox name="hideScreenSharing" width="270" y="1060" x="180" fontsize="11" />
+        
+    <labelText labelid="1441" width="200" y="1080" resize="false" x="2" />  
+        <labelCheckbox name="hideWhiteboard" width="270" y="1080" x="180" fontsize="11" />
+     
+    <labelText labelid="1442" width="200" y="1100" resize="false" x="2" />  
+        <labelCheckbox name="showMicrophoneStatus" width="270" y="1100" x="180" fontsize="11" />
+                                  
+    <!-- RoomClient List Right Side -->
+    <labelText labelid="587" width="300" y="40" resize="false" 
+                x="398" fontstyle="bold" />   
+    
+    <simpleTurnOverList name="_turnoverlist" width="300" mainBgColor="0xFFFFFF"
+                height="200" y="40" x="400">
+
+        <handler name="oninit">
+            this.addHeaderItem(588,30);
+            this.addHeaderItem(589,230);
+            this.addHeaderItem(590,22);
+        </handler>
+        
+        <handler name="onclickedItem" args="obj">
+            if ($debug) Debug.write("onclickedItem",obj,obj.obj);
+        </handler>
+        
+        <netRemoteCallHib name="getRoomClientsMapByRoomId" funcname="conferenceservice.getRoomClientsMapByRoomId" 
+                          remotecontext="$once{ canvas.thishib }" >      
+            <netparam><method name="getValue"> return parent.parent.parent.rooms_id; </method></netparam>
+            <handler name="ondata" args="value">
+                if ($debug) Debug.write("getRoomClientsMapByRoomId: ",value);
+                //this.parent.destroy();
+                this.parent.renderContent(value);
+            </handler>
+        </netRemoteCallHib> 
+        
+        <method name="renderContent" args="records">
+            <![CDATA[
+            this.clearList();
+            for (var i in records){
+                new lz.roomAdminRoomClientListItem(this._innerlist._inn._inn,{
+                    obj:records[i],
+                    red5_id:i,
+                    login:records[i].username+"("+records[i].streamid+")"});
+            }
+            this.sendInitialWidthUpdate();
+            ]]>
+        </method>
+
+    </simpleTurnOverList>
+    
+    <!--Moderated -->
+    <labelText labelid="829" width="200" y="250" resize="false" 
+               x="400" fontstyle="bold" />   
+    
+    <labelText labelid="640" width="200" y="270" resize="false" x="400"/>  
+        <labelCheckbox name="isModeratedRoom" width="270" y="270" x="530" fontsize="11" />
+    
+    <view resource="messagebox_info_rsc" x="400" y="290" />
+    
+    <labelText labelid="823" x="424" y="290"  fontstyle="italic"
+               multiline="true" width="270" />
+        
+    
+    <labelText labelid="816" width="300" y="380" resize="false" x="400"/>  
+    
+    <!-- 172:add default moderator -->
+	<blueButton width="20" height="20" resourceItem="edit_add_rsc"
+        			x_insetResource="2" y_insetResource="2" y="380" x="680" 
+        			width_insetResource="16" height_insetResource="16"    
+        			onclick="this.parent.addModeratorToRoom()" />        
+    <method name="addModeratorToRoom">
+        new lz.addAttendee(canvas.main_content._content.inner,{
+	                                isSuperModerator:true,
+                                    labelid:835,
+	                                refObj:this._listRoomModerators
+                                });
+    </method>   
+
+    <simpleTurnOverList name="_listRoomModerators" width="300" mainBgColor="0xFFFFFF"
+                        height="200" y="382" x="400">
+
+        <handler name="oninit">
+            this.addHeaderItem(817,50);
+            this.addHeaderItem(818,30);
+            this.addHeaderItem(819,100);
+            this.addHeaderItem(820,84);
+            this.addHeaderItem(827,20);
+        </handler>
+        
+        <method name="getValues">
+            <![CDATA[
+                
+                var tArray = new Array();
+                
+                for (var i=0;i<this._innerlist._inn._inn.subviews.length;i++) {
+                    
+                    var tObject = new Object();
+                    var item = this._innerlist._inn._inn.subviews[i];
+                    
+                    tObject.roomModeratorsId = item.roomModeratorsId;
+                    tObject.userId = item.userId;
+                    tObject.isSuperModerator = item.isSuperModerator;
+                    
+                    tArray.push(tObject);
+                }
+            
+                return tArray;
+            ]]>
+        </method>
+        
+        <handler name="onclickedItem" args="obj">
+            if ($debug) Debug.write("onclickedItem",obj,obj.obj);
+        </handler>
+        
+        <netRemoteCallHib name="getRoomModeratorsByRoomId" funcname="conferenceservice.getRoomModeratorsByRoomId" 
+                          remotecontext="$once{ canvas.thishib }" >  
+            <netparam><method name="getValue">return canvas.sessionId;</method></netparam>    
+            <netparam><method name="getValue">return parent.parent.parent.rooms_id;</method></netparam>
+            <handler name="ondata" args="value">
+                if ($debug) Debug.write("getRoomModeratorsByRoomId: ",value);
+                //this.parent.destroy();
+                this.parent.renderContent(value);
+            </handler>
+        </netRemoteCallHib> 
+        
+        <method name="addListItem" args="userId,first,last,email,superAdmin">
+            new lz.roomModeratorsRoomClientListItem(this._innerlist._inn._inn,{
+                    roomModeratorsId:0,
+                    obj:null,
+                    isSuperModerator:superAdmin,
+                    userId:userId,
+                    email:email,
+                    uName:first+' '+last
+                });
+            this.sendInitialWidthUpdate();
+        </method>
+        
+        <method name="renderContent" args="records">
+            <![CDATA[
+	            this.clearList();
+                
+	            for (var i in records){
+	                new lz.roomModeratorsRoomClientListItem(this._innerlist._inn._inn,{
+		                    roomModeratorsId:records[i].roomModeratorsId,
+		                    obj:records[i],
+		                    isSuperModerator:records[i].isSuperModerator,
+		                    userId:records[i].user.user_id,
+		                    email:records[i].user.adresses.email,
+		                    uName:records[i].user.firstname+' '+records[i].user.lastname
+                        });
+	            }
+                
+	            this.sendInitialWidthUpdate();
+            ]]>
+        </method>
+
+    </simpleTurnOverList>    
+    
+    <!--SIP Settings -->
+    <labelText labelid="1001" width="200" y="600" resize="false" 
+               x="400" fontstyle="bold" />   
+    
+    <view resource="messagebox_info_rsc" x="400" y="620" />
+    
+    <labelText labelid="1002" x="424" y="620" fontstyle="italic"
+               multiline="true" width="270" />   
+     
+    <labelText labelid="1003" x="400" y="670" width="270" /> 
+    	<customEdittext name="sipNumber" x="520" y="670" width="180" />  
+               
+    <labelText labelid="1004" x="400" y="692" width="270" />                 
+    	<customEdittext name="conferencePin" x="520" y="692" width="180" />                         
+    
+    <labelText labelid="1308" x="400" y="722" width="270" />                 
+        <customEdittext name="ownerId" x="520" y="722" width="180" />      
+                
+    <view x="400" y="1400" />    
+    
+</class>
+
+<!--- list of conference/audience rooms -->
+<class name="roomAdminRoomClientListItem" extends="baseContentListItem">
+    
+    <attribute name="red5_id" value="0" type="number" />
+    <attribute name="login" value="" type="string" />
+    <attribute name="ispublic" value="" type="string" />
+    
+    <turnOverTextItem text="$once{ parent.red5_id }" width="60" />
+    <turnOverTextItem text="$once{ parent.login }" width="200" />
+    <turnOverTextItem width="40" text="">
+        
+    </turnOverTextItem>
+    
+</class>
+
+<!--- list of conference/audience rooms -->
+<class name="roomAdminOrgListItem" extends="baseContentListItem">
+    
+    <attribute name="orgId" value="0" type="number" />
+    <attribute name="orgName" value="" type="string" />
+    
+    <turnOverTextItem text="$once{ parent.orgId }" width="60" />
+    <turnOverTextItem text="$once{ parent.orgName }" width="200" />
+    
+    <view width="20" height="18" 
+        onclick="new lz.confirmationSingle(canvas.main_content._content.inner,{refObj:this,labeliderror:833,showCheckBox:false});" >       
+        <method name="sendConfirmation">
+            this.parent.destroy();
+        </method>
+        <image src="$once{ canvas.getThemeImage('button_cancel_rsc') }" align="center" valign="middle" />
+        <labelTooltip labelid="274" />
+    </view>  
+    
+</class>
+
+<!--- list of ddefault moderators rooms -->
+<class name="roomModeratorsRoomClientListItem" extends="baseContentListItem">
+    
+    <attribute name="roomModeratorsId" value="0" type="number" />
+    <attribute name="isSuperModerator" value="false" type="boolean" />
+    <attribute name="modRoomId" value="0" type="number" />
+    <attribute name="uName" value="" type="string" />
+    <attribute name="userId" value="0" type="number" />
+    <attribute name="email" value="" type="string" />
+    
+    <view width="20" height="18" opacity="${ (parent.isSuperModerator) ? 1 : 0.4 }" 
+          onclick="new lz.confirmationSingle(canvas.main_content._content.inner,{refObj:this,labeliderror:((parent.isSuperModerator) ? 837 : 836),showCheckBox:false});" >       
+        <method name="sendConfirmation">
+            this.parent.setAttribute("isSuperModerator",!parent.isSuperModerator)
+        </method>
+        <view resource="user_moderator_list_apply_rsc" align="center" valign="middle" />
+        <labelTooltip labelid="${ (parent.parent.isSuperModerator) ? 826 : 825 }" />
+    </view> 
+    
+    <turnOverTextItem text="$once{ parent.userId }" width="200" />
+    <turnOverTextItem text="$once{ parent.uName }" width="200" />
+    <turnOverTextItem text="$once{ parent.email }" width="200" />
+    
+    <view width="20" height="18" 
+        onclick="new lz.confirmationSingle(canvas.main_content._content.inner,{refObj:this,labeliderror:833,showCheckBox:false});" >       
+        <method name="sendConfirmation">
+            this.parent.destroy();
+        </method>
+        <image src="$once{ canvas.getThemeImage('button_cancel_rsc') }"
+        		 align="center" valign="middle" />
+        <labelTooltip labelid="274" />
+    </view>    
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/admin/useradmin/chooseOrganisationWindow.lzx b/WebContent/src/modules/admin/useradmin/chooseOrganisationWindow.lzx
new file mode 100644
index 0000000..557208c
--- /dev/null
+++ b/WebContent/src/modules/admin/useradmin/chooseOrganisationWindow.lzx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+ 
+<!--- Organization choice modal window when an organization is added to a user.-->
+<class name="chooseOrganisationWindow" extends="labelExplorerBox" labelid="173"
+    docking="true" width="400" x="400" y="300" height="200">
+    
+    <attribute name="item_id" value="0" type="number" />
+    <attribute name="refObj" value="null" />
+    
+    <handler name="oninit">
+        //lz.ModeManager.makeModal(this);
+		this.getOrganisations.doCall();
+    </handler>
+    
+    <handler name="onclose">
+        //lz.ModeManager.release(this);
+    </handler>
+	
+	<netRemoteCallHib name="getOrganisations" funcname="organisationservice.getOrganisations" remotecontext="$once{ canvas.thishib }" >      
+		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+		<netparam><method name="getValue"> return 0; </method></netparam>
+		<netparam><method name="getValue"> return 200; </method></netparam>
+		<netparam><method name="getValue"> return "organisation_id"; </method></netparam>
+		<netparam><method name="getValue"> return true; </method></netparam>
+		<handler name="ondata" args="value">
+			<![CDATA[
+			//Debug.write("getOrganisations ",value);
+			if (value!=null){
+				for (var i=0;i<value.result.length;i++){
+					if (!this.parent.refObj._organisationslist.checkValue(value.result[i].organisation_id)){
+						this.parent._organisationslist.addItem(value.result[i].name,value.result[i].organisation_id);
+					}
+				}
+			}
+			]]>			
+		</handler>
+	</netRemoteCallHib>			
+	
+    <labelText labelid="161" width="200" y="24" resize="false" x="2"/>     
+    <simpleValueList name="_organisationslist" y="24" x="120" width="270" height="120" 
+		multiselect="true" />
+	
+	<simpleLabelButton labelid="174" x="290" y="170" width="100">
+		<handler name="onclick">
+			this.parent.close();
+		</handler>
+	</simpleLabelButton>
+	<simpleLabelButton labelid="175" x="180" y="170" width="100">
+		<handler name="onclick">
+			<![CDATA[
+				for (var i=0;i<this.parent._organisationslist._selected.length;i++){
+					//Debug.write("this.parent.refObj._organisationslist.addItem ",this.parent._organisationslist._selected[i].text,this.parent._organisationslist._selected[i].value);
+					this.parent.refObj._organisationslist.addItem(this.parent._organisationslist._selected[i].text,this.parent._organisationslist._selected[i].value);
+				}
+				this.parent.close();
+			]]>
+		</handler>
+	</simpleLabelButton>	
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/admin/useradmin/library.lzx b/WebContent/src/modules/admin/useradmin/library.lzx
new file mode 100644
index 0000000..21b224d
--- /dev/null
+++ b/WebContent/src/modules/admin/useradmin/library.lzx
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+    <include href="userAdmin.lzx" />
+	<include href="userAdminListItem.lzx" />
+	<include href="userAdminValueForm.lzx" />
+	<include href="chooseOrganisationWindow.lzx" />
+
+</library>
diff --git a/WebContent/src/modules/admin/useradmin/userAdmin.lzx b/WebContent/src/modules/admin/useradmin/userAdmin.lzx
new file mode 100644
index 0000000..245cfb3
--- /dev/null
+++ b/WebContent/src/modules/admin/useradmin/userAdmin.lzx
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- User administration module for ADMIN.-->
+<class name="userAdmin" extends="baseContentView">
+	
+	<labelText x="2" y="${ 8 - parent.parent.parent.y }" labelid="714" />
+	
+	<customEdittext name="_search" y="${ 4 - parent.parent.parent.y }" x="120" width="200" height="24"/>
+	
+    <simpleLabelButton labelid="715" x="330" width="112" height="24" y="${ 4 - parent.parent.parent.y }">
+    	<handler name="onclick">
+    		parent._turnoverlist.getUserListWithSearch.doCall();
+    	</handler>
+    </simpleLabelButton>
+
+	<turnOverList name="_turnoverlist" width="440" height="${ canvas.height - canvas.naviHeight - 30 }" x="2" y="${ 30 - parent.parent.parent.y }" 
+		orderby="user_id" step="50" asc="true">
+
+		<handler name="oninit">
+			this.addHeaderItem(146,60);
+			this.addHeaderItem(147,100);
+			this.addHeaderItem(148,132);
+			this.addHeaderItem(149,132);
+			this.getUserListWithSearch.doCall();
+		</handler>
+		
+		<handler name="oncallnext" >
+			this.getUserListWithSearch.doCall();
+		</handler>
+		
+		<handler name="oncallpre" >		
+			this.getUserListWithSearch.doCall();
+		</handler>
+		
+		<handler name="onclickedItem" args="obj">
+			//Debug.write("onclickedItem",obj,obj.obj);
+            parent._useradminvalueform.hideNewRecordText();
+			parent._useradminvalueform.initValueFieldsByObject(obj.obj);
+		</handler>
+		
+		<!--
+		public SearchResult getUserListWithSearch(String SID, int start, int max, 
+            String orderby, boolean asc, String search){
+            -->
+		
+		<netRemoteCallHib name="getUserListWithSearch" funcname="userservice.getUserListWithSearch" 
+						  remotecontext="$once{ canvas.thishib }" >      
+			<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.start; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.step; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.orderby; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.asc; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.parent._search.getText(); </method></netparam>
+	    	<handler name="ondata" args="value">
+	    		if ($debug) Debug.write("getUserListWithSearch: ",value);
+	    		//this.parent.destroy();
+	    		this.parent.initValues(value.records);
+	    		this.parent.renderContent(value.result);
+	    	</handler>
+	    </netRemoteCallHib>	
+	    
+	    <method name="renderContent" args="records">
+	    	<![CDATA[
+	    	this.clearList();
+	    	for (var i=0;i<records.length;i++){
+	    		new lz.userAdminListItem(this._innerlist._inn._inn,{obj:records[i],user_id:records[i].user_id,login:records[i].login,firstname:records[i].firstname,lastname:records[i].lastname});
+	    	}
+	    	if (parent._useradminvalueform.user_id == 0) {
+    			if (records.length>0)
+    			{
+    				parent._useradminvalueform.initValueFieldsByObject(records[0]);
+    			}
+	    	}
+            this.sendInitialWidthUpdate();
+	    	]]>
+	    </method>
+
+	</turnOverList>
+	
+	<userAdminValueForm name="_useradminvalueform" x="460">
+        <handler name="onnew" args="refObj">
+            parent._turnoverlist.clearSelection();
+        </handler>
+    </userAdminValueForm>
+
+</class>
+
+</library>
diff --git a/WebContent/src/modules/admin/useradmin/userAdminListItem.lzx b/WebContent/src/modules/admin/useradmin/userAdminListItem.lzx
new file mode 100644
index 0000000..3186aa9
--- /dev/null
+++ b/WebContent/src/modules/admin/useradmin/userAdminListItem.lzx
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- Existing user list. used by userAdmin only -->
+<class name="userAdminListItem" extends="baseContentListItem"> 
+    
+	<attribute name="user_id" value="0" type="number" />
+	<attribute name="login" value="" type="string" />
+	<attribute name="firstname" value="" type="string" />
+	<attribute name="lastname" value="" type="string" />
+	
+	<turnOverTextItem text="$once{ parent.user_id }" width="60" />
+	<turnOverTextItem text="$once{ parent.login }" width="100" />
+	<turnOverTextItem text="$once{ parent.firstname }" width="132" />
+	<turnOverTextItem text="$once{ parent.lastname }" width="132" />
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/admin/useradmin/userAdminValueForm.lzx b/WebContent/src/modules/admin/useradmin/userAdminValueForm.lzx
new file mode 100644
index 0000000..1680918
--- /dev/null
+++ b/WebContent/src/modules/admin/useradmin/userAdminValueForm.lzx
@@ -0,0 +1,496 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- User Profile edit panel in the useradmin leftblock. Private class only for useradmin -->
+<class name="userAdminValueForm" extends="baseContentSaveView">
+
+	<!--- recordContent-id -->
+	<attribute name="user_id" value="0" type="number" />
+	
+	<!--handlers -->
+
+	<handler name="onsavecompleted" >
+		//this.getUserById.doCall();
+	</handler>
+	
+	<handler name="onreload" >
+		if (this.user_id!=0) this.getUserById.doCall();
+	</handler>	
+
+	<handler name="onnew">
+		<![CDATA[
+    		this.user_id=0;
+    		this.level.selectItemAt(0);
+            this.username.setAttribute('text','');
+            this.firstname.setAttribute('text','');
+            this.lastname.setAttribute('text','');
+            this.email.setAttribute('text','');
+            this.phone.setAttribute('text','');
+            this.age.setAttribute('text','');
+            this.street.setAttribute('text','');
+            this.house.setAttribute('text','');
+            this.zip.setAttribute('text','');
+            this.town.setAttribute('text','');
+    		this.userpass1.setAttribute('text','');
+            var defaultstate = canvas.getCountryRecord(1);
+            this.state.addAndSelectItem(defaultstate.name,defaultstate.state_id);
+            this.adress_comment.setAttribute('text','');
+            this.status.selectItem(String('1'));
+            this.forceTimeZoneCheck.setValue(false);
+            
+            var t = this;
+            
+            function getTimeZoneOffsetCallback(returnValue) {
+                            
+                if ($debug) Debug.write("getTimeZoneOffsetCallback ",returnValue);
+                
+                var std_time_offset = Number(returnValue);
+                
+                t.setOffset(std_time_offset);
+                
+            }
+            
+            getTimeZoneOffset(this);
+            
+            this._organisationslist.clearList();
+            this.generateSipUserData.setValue(false);
+            this.sip_user.setAttribute('text','');
+            this.sip_pass.setAttribute('text','');
+            this.sip_auth.setAttribute('text','');
+            
+			this.userOffers.setAttribute('text',"");
+			this.userSearchs.setAttribute('text',"");
+			this.showContactData.selectItem("3");
+            this.languages.selectItem(String('1'));
+			
+        ]]>
+	</handler>
+	
+	<method name="callback" args="returnValue">
+        if ($debug) Debug.write("getTimeZoneOffset callback ",returnValue);
+                
+        var std_time_offset = Number(returnValue);
+        
+        this.setOffset(std_time_offset);
+    </method>
+	
+	<method name="setOffset" args="std_time_offset">
+		<![CDATA[
+		var timeZoneJavaFormat = "Etc/GMT";
+        if (std_time_offset > 0) {
+            timeZoneJavaFormat += "+"+std_time_offset;
+        } else {
+            timeZoneJavaFormat += "-"+std_time_offset;
+        }
+        
+        if ($debug) Debug.write("timeZoneJavaFormat :: ",timeZoneJavaFormat);
+        
+        this._timeZone.selectItem(timeZoneJavaFormat);
+        ]]>
+	</method>
+	
+    <handler name="ondelete" >
+		if (this.user_id!=0){
+			this.deleteUserAdmin.doCall();
+		}
+    </handler>
+	
+	<!-- methods -->
+
+    <method name="initValueFieldsByObject" args="obj">
+		this.user_id = obj.user_id;
+		if (this.user_id!=0){
+			if ($debug) Debug.write("this.getUserById this.user_id",this.user_id);
+			this.getUserById.doCall();
+		}
+    </method>
+    
+    <method name="initFields" args="obj">
+    	<![CDATA[
+            if (obj == null) {
+                return;
+            }
+        
+			this.level.selectItem(String(obj.level_id));
+			this.username.setAttribute('text',obj.login);
+			this.firstname.setAttribute('text',obj.firstname);
+			this.lastname.setAttribute('text',obj.lastname);
+			this.userpass1.setAttribute('text','');
+			this.email.setAttribute('text',obj.adresses.email);
+			this.phone.setAttribute('text',obj.adresses.phone);
+			this.age.setAttribute('text',parseDateToString(obj.age));
+			this.street.setAttribute('text',obj.adresses.street);
+			this.house.setAttribute('text',obj.adresses.additionalname);
+			this.zip.setAttribute('text',obj.adresses.zip);
+			this.town.setAttribute('text',obj.adresses.town);
+            this.state.addAndSelectItem(obj.adresses.states.name,String(obj.adresses.states.state_id));
+			this.adress_comment.setAttribute('text',obj.adresses.comment);
+			this.status.selectItem(String(obj.status));
+			this.salutation.selectItem(String(obj.title_id));
+			this._timeZone.selectItem(String(obj.omTimeZone.jname));
+            this.languages.selectItem(String(obj.language_id));
+			
+			if (obj["forceTimeZoneCheck"] && obj.forceTimeZoneCheck!= null) {
+				if (obj.forceTimeZoneCheck) {
+					this.forceTimeZoneCheck.setValue(true);
+				} else {
+					this.forceTimeZoneCheck.setValue(false);
+				}
+			} else {
+				this.forceTimeZoneCheck.setValue(false);
+			}
+			
+			
+			this._organisationslist.clearList();
+			for (var i=0;i<obj.organisation_users.length;i++){
+				this._organisationslist.addItem(obj.organisation_users[i].organisation.name,obj.organisation_users[i].organisation.organisation_id);
+			}
+			
+			this.generateSipUserData.setValue(false);
+			
+			if (obj.userSipData != null) {
+				this.sip_user.setAttribute('text',obj.userSipData.username);
+		        this.sip_pass.setAttribute('text',obj.userSipData.userpass);
+		        this.sip_auth.setAttribute('text',obj.userSipData.authId);
+			} else {
+				this.sip_user.setAttribute('text','');
+		        this.sip_pass.setAttribute('text','');
+		        this.sip_auth.setAttribute('text','');
+			}
+			
+			if (obj.userOffers != null) {
+				this.userOffers.setAttribute('text',obj.userOffers);
+			} else {
+				this.userOffers.setAttribute('text',"");
+			}
+			
+			if (obj.userSearchs != null) {
+				this.userSearchs.setAttribute('text',obj.userSearchs);
+			} else {
+				this.userSearchs.setAttribute('text',"");
+			}
+			
+			if (obj.showContactData != null && obj.showContactDataToContacts != null) {
+				
+				if (obj.showContactData) {
+					this.showContactData.selectItem("1");
+				} else if (obj.showContactDataToContacts) {
+					this.showContactData.selectItem("2");
+				} else {
+					this.showContactData.selectItem("3");
+				}
+				
+			}
+			
+        ]]>
+    </method>
+	
+	<!-- remotecalls -->
+	
+  	<netRemoteCallHib name="getUserById" funcname="userservice.getUserById" 
+  		remotecontext="$once{ canvas.thishib }" > 
+  		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+    	<netparam><method name="getValue">return parent.parent.user_id;</method></netparam>
+    	<handler name="ondata" args="value">
+			if($debug) Debug.write("[admin]userValueForm/getUserById: ",value);
+    		parent.initFields(value);
+    	</handler>
+  	</netRemoteCallHib>
+	
+	<netRemoteCallHib name="deleteUserAdmin" funcname="userservice.deleteUserAdmin" 
+					  remotecontext="$once{ canvas.thishib }" activeErrorHandler="true">      
+		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+		<netparam><method name="getValue"> return parent.parent.user_id; </method></netparam>
+		<handler name="ondata" args="value">
+			//Debug.write("deleteUserAdmin ",value);
+			//this.parent.destroy();
+			if (value>0){
+				this.parent.parent._turnoverlist.oncallnext.sendEvent();
+				this.parent.onnew.sendEvent();
+			}
+		</handler>
+	</netRemoteCallHib>		
+
+  	<netRemoteCallHib name="saveOrUpdateUser" funcname="userservice.saveOrUpdateUser" 
+  		remotecontext="$once{ canvas.thishib }" registerObject="true" activeErrorHandler="false" >   
+		<attribute name="sendObject" value="null" />
+		<!-- gets called by Observer -->
+  		<method name="prepareCall">
+  			this.sendObject=new Array();
+  			this.sendObject["user_idClient"] = this.parent.user_id;
+  			this.sendObject["login"] = this.parent.username.getText();
+  			this.sendObject["password"] = this.parent.userpass1.getText();
+  			this.sendObject["firstname"] = this.parent.firstname.getText();
+  			this.sendObject["lastname"] = this.parent.lastname.getText();
+  			this.sendObject["email"] = this.parent.email.getText();
+  			this.sendObject["phone"] = this.parent.phone.getText();
+  			this.sendObject["street"] = this.parent.street.getText();
+  			this.sendObject["additionalname"] = this.parent.house.getText();
+  			this.sendObject["zip"] = this.parent.zip.getText();
+  			this.sendObject["town"] = this.parent.town.getText();
+  			this.sendObject["states_id"] = this.parent.state.getValue();
+  			this.sendObject["comment"] = this.parent.adress_comment.getText();
+  			this.sendObject["telefon"] = '';
+  			this.sendObject["fax"] = '';
+			var date = this.parent.age.getText();
+			if (date.length>0) date = parseStringToDate(date);
+  			this.sendObject["userage"] = date;
+  			this.sendObject["mobil"] = '';
+  			this.sendObject["availible"] = 0;
+  			this.sendObject["status"] = Number(this.parent.status.getValue());
+  			this.sendObject["level_id"] = Number(this.parent.level.getValue());
+			this.sendObject["title_id"] = Number(this.parent.salutation.getValue());
+			this.sendObject["jNameTimeZone"] = parent._timeZone.getValue();
+            this.sendObject["language_id"] = parent.languages.getValue();
+			this.sendObject["forceTimeZoneCheck"] = parent.forceTimeZoneCheck.getValue();
+  			this.sendObject["organisations"] = this.parent._organisationslist.getAllItems();
+  			
+  			this.sendObject["generateSipUserData"] = this.parent.generateSipUserData.getValue();
+  			this.sendObject["sip_user"] = this.parent.sip_user.getText();
+  			this.sendObject["sip_pass"] = this.parent.sip_pass.getText();
+  			this.sendObject["sip_auth"] = this.parent.sip_auth.getText();
+  			
+  			
+			this.sendObject["userOffers"] = parent.userOffers.getText();
+			this.sendObject["userSearchs"] = parent.userSearchs.getText();
+			
+			var showContactData = Number(parent.showContactData.getValue());
+			
+			if (showContactData == 1) {
+				this.sendObject["showContactData"] = true;
+				this.sendObject["showContactDataToContacts"] = true;
+			} else if (showContactData == 2) {
+				this.sendObject["showContactData"] = false;
+				this.sendObject["showContactDataToContacts"] = true;
+			} else if (showContactData == 3) {
+				this.sendObject["showContactData"] = false;
+				this.sendObject["showContactDataToContacts"] = false;
+			}
+
+  			if ($debug) Debug.write("prepareCall: ",this.sendObject);
+  		</method>
+  		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+    	<netparam><method name="getValue">return parent.sendObject;</method></netparam>	  		
+    	<handler name="ondata" args="val">
+			<![CDATA[
+				if ($debug) Debug.write("saveOrUpdateUser ondata: ",val);
+				if (val>0){
+					var obj = new Array();
+					obj["user_id"] = val;
+					this.parent.initValueFieldsByObject(obj);
+					
+					if (this.parent._organisationslist.getAllItems().length < 1)
+					{
+						new lz.rpcErrorDialog(canvas.main_content._content.inner,{errorid:-23});
+					}
+					
+					this.parent.parent._turnoverlist.oncallnext.sendEvent();
+				}
+			]]>
+    	</handler>
+  	</netRemoteCallHib>	
+	
+	<!-- content -->
+    
+    <labelText labelid="143" width="200" y="40" resize="false" fontstyle="bold" />
+    
+    <labelText labelid="132" width="200" y="70" resize="false" x="2"/>
+        <customEdittext name="username" y="70" x="120" width="270" />
+
+    <labelText labelid="133" width="200" y="100" resize="false" x="2"/>
+        <customEdittext name="userpass1" y="100" password="true" x="120" width="270" />
+
+    <labelText labelid="135" width="200" y="130" resize="false" x="2"/>
+        <resetCombobox name="salutation" width="100" y="130" x="120" editable="false" fontsize="11">
+	        <handler name="oninit" >
+	            <![CDATA[
+		            for (var i=0;i<canvas.salutationsInitValues.length;i++){
+		                this.addItem(canvas.salutationsInitValues[i].label.value,canvas.salutationsInitValues[i].salutations_id);
+		            }
+		            this.selectItem(String(canvas.salutationsInitValues[0].salutations_id));
+	            ]]>
+	        </handler> 
+        </resetCombobox> 
+        <customEdittext name="firstname" y="130" x="230" width="160" />
+        
+    <labelText labelid="136" width="200" y="160" resize="false" x="2"/>
+        <customEdittext name="lastname" y="160" x="120" width="270" />   
+        
+    <labelText labelid="1143" width="200" y="190" resize="false" x="2"/>
+         <resetCombobox name="_timeZone" editable="false" y="190" width="270" x="120"
+                       fontsize="11" style="componentStyle">
+            <labeldTextListItem datapath="timeZoneSet:/item" text="$path{ 'frontEndLabel/text()' }" 
+                value="$path{ 'jname/text()' }" />
+         </resetCombobox>   
+             
+	<labelText labelid="111" width="300" y="220" resize="false" x="2"/>
+
+        <resetCombobox name="languages" width="270" y="220" x="120" editable="false">
+            <labeldTextListItem datapath="languagesSet:/item" text="$path{ 'name/text()' }"
+                value="$path{ 'language_id/text()' }" />
+            <handler name="oninit">
+                var g = canvas.getUserData();
+                if($debug) Debug.write("checkLoginData/g: ",g);
+                if (g["userlang"]!=null) {
+                    this.selectItem(g["userlang"]);
+                } else {
+                    this.selectItem(String(canvas.thishib.userlang));
+                }
+            </handler>
+        </resetCombobox>
+
+    <view resource="messagebox_info_rsc" x="0" y="250" />
+    
+    <labelText labelid="1149" x="24" y="250"  fontstyle="italic"
+               multiline="true" width="364" />
+               
+	<labelText labelid="1148" width="200" y="280" resize="false" x="2"/>  
+        <labelCheckbox name="forceTimeZoneCheck" width="270" y="280" x="130" fontsize="11" />
+	
+    <labelText labelid="137" width="200" y="310" resize="false" x="2"/>
+        <customEdittext name="email" y="310" x="120" width="270" regexpType="email" />
+        				
+    <labelText labelid="607" width="200" y="340" resize="false" x="2"/>
+        <customEdittext name="phone" y="340" x="120" width="270" />
+        
+    <labelText labelid="138" width="200" y="370" resize="false" x="2"/>
+        <dateField name="age" y="370" x="120" width="270" />
+        
+    <labelText labelid="139" width="200" y="400" resize="false" x="2"/>
+        <customEdittext name="street" y="400" x="120" width="220" />
+        <customEdittext name="house" y="400" x="350" width="40" />
+        
+    <labelText labelid="140" width="200" y="430" resize="false" x="2"/>
+        <customEdittext name="zip" y="430" x="120" width="70" />   
+        <customEdittext name="town" y="430" x="200" width="190" />                        
+         
+    <labelText labelid="141" width="200" y="460" resize="false" x="2"/>  
+		<dynamicCombobox name="state" width="270" y="460" x="120"
+						 text="Switzerland" value="204" />
+    
+    <labelText labelid="158" width="200" y="490" resize="false" x="2"/>  
+        <resetCombobox name="status" width="270" y="490" x="120" editable="false" fontsize="11">
+	        <handler name="oninit" >
+	            <![CDATA[
+	            this.addItem(canvas.getLabelName(159),'0');
+	            this.addItem(canvas.getLabelName(160),'1');
+	            this.selectItem('0');
+	            ]]>
+	        </handler> 
+        </resetCombobox> 
+
+
+    <labelText labelid="169" width="200" y="520" resize="false" x="2"/>  
+        <resetCombobox name="level" width="270" y="520" x="120" editable="false" fontsize="11">
+	        <handler name="oninit" >
+	            <![CDATA[
+	            this.addItem(canvas.getLabelName(166),'1');
+	            this.addItem(canvas.getLabelName(167),'2');
+				this.addItem(canvas.getLabelName(168),'3');
+				this.addItem(canvas.getLabelName(1311),'4');
+	            this.selectItem('1');
+	            ]]>
+	        </handler> 
+        </resetCombobox> 
+	
+    <labelText labelid="142" width="200" y="550" resize="false" x="2"/>
+        <customScrollEdittext name="adress_comment" y="550" x="120" width="270" 
+                        height="70" />
+       
+    <labelText labelid="161" width="200" y="630" resize="false" x="2"/>     
+    <simpleValueList name="_organisationslist" y="630" x="120" width="270" height="100" 
+		multiselect="true" />
+	
+	<blueButton width="20" height="20" resourceItem="edit_add_rsc"
+        			x_insetResource="2" y_insetResource="2" y="632" x="396"
+        			width_insetResource="16" height_insetResource="16">
+		<handler name="onclick">
+			this.parent.addOrganisationToUser();
+		</handler>
+		<labelTooltip labelid="172" />
+	</blueButton>
+	
+	<method name="addOrganisationToUser">
+		//if (this.user_id!=0)
+			new lz.chooseOrganisationWindow(parent,{refObj:this,item_id:this.user_id});
+	</method>	
+	
+	<blueButton width="20" height="20" resourceItem="button_cancel_rsc"
+        			x_insetResource="2" y_insetResource="2" y="632" x="416"
+        			width_insetResource="16" height_insetResource="16">
+		<handler name="onclick">
+			new lz.confirmDeleteWindow(canvas.main_content._content.inner,{refObj:this});
+		</handler>
+		<method name="confirmDelete">
+			if (this.parent._organisationslist._selected!=null)
+				for (var i in this.parent._organisationslist._selected)	this.parent._organisationslist.removeItem(this.parent._organisationslist._selected[i].value);
+		</method>
+		<labelTooltip labelid="176" />
+	</blueButton>
+	
+    <!-- SIP Account Data -->
+    <labelText labelid="893" width="200" y="740" resize="false" 
+               x="0" fontstyle="bold" />   
+    
+    <view resource="messagebox_info_rsc" x="0" y="760" />
+    
+    <labelText labelid="894" x="24" y="760"  fontstyle="italic"
+               multiline="true" width="364" />
+
+    <labelText labelid="921" width="200" y="830" resize="false" x="2"/>  
+        <labelCheckbox name="generateSipUserData" width="270" y="830" x="140" fontsize="11" />
+
+    <labelText labelid="895" width="200" y="860" resize="false" x="2"/>
+        <customEdittext name="sip_user" y="860" x="120" width="270"  
+        				text="" />
+        				
+	<labelText labelid="896" width="200" y="890" resize="false" x="2"/>
+        <customEdittext name="sip_pass" y="890" x="120" width="270"  
+        				text="" />
+        				
+    <labelText labelid="897" width="200" y="920" resize="false" x="2"/>
+        <customEdittext name="sip_auth" y="920" x="120" width="270"  
+        				text="" />
+        				
+    <!-- Community Settings -->
+    <labelText labelid="1159" width="200" y="950" resize="false" 
+               x="0" fontstyle="bold" />      				
+        				
+   	<radiogroup name="showContactData" layout="class:simplelayout;axis:y;spacing:2" y="980" x="10">
+        <labelRadioButton labelid="1160" value="1" />
+        <labelRadioButton labelid="1168" value="2" />
+        <labelRadioButton labelid="1169" value="3" />
+    </radiogroup> 
+    
+	<labelText labelid="1162" width="200" y="1040" resize="false" x="2"/>
+        <customScrollEdittext name="userOffers" y="1040" x="120" width="270" 
+           			 height="100" />	
+
+	<labelText labelid="1163" width="200" y="1150" resize="false" x="2"/>
+        <customScrollEdittext name="userSearchs" y="1150" x="120" width="270" 
+           			 height="100" />	
+		     				
+	<view y="1440" />        				
+        				        				
+</class>
+
+</library>
diff --git a/WebContent/src/modules/chat/chatParticipants.lzx b/WebContent/src/modules/chat/chatParticipants.lzx
new file mode 100644
index 0000000..8cf8c4f
--- /dev/null
+++ b/WebContent/src/modules/chat/chatParticipants.lzx
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<!--- it shows chat participants. -->
+<class name="chatParticipants" extends="view" height="40" clickable="true"
+	   width="$once{ parent.width }" bgcolor="$once{ canvas.bgColorMenuItems }">
+	
+	<attribute name="user_id" value="0" type="number" />
+	<attribute name="username" value="" type="string" />
+	<attribute name="connectedSince" value="" type="string" />
+	<attribute name="publicSID" value="" type="string" />
+	
+	<attribute name="picture_uri" value="" type="string"/>
+	
+	<handler name="oninit">
+		<![CDATA[
+			if($debug) Debug.write("chatParticipants/picture_uri: ",this.picture_uri);
+			
+			if (this.picture_uri != null && this.picture_uri.startsWith("http")) {
+				
+				this._userpic.setAttribute('src',this.picture_uri);  
+				
+			} else {
+				
+				var downloadurl = canvas.protocol+'://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                        +canvas.httpRootKey+'DownloadHandler?fileName=CHAT'
+                        +'&moduleName=chat&parentPath=&room_id='
+                        +'&remoteUserid='+this.user_id
+                        +'&sid='+canvas.sessionId;
+                //Debug.write("downloadurl "+downloadurl);
+                this._userpic.setAttribute('src',downloadurl);  
+                
+			}
+	        
+	        //Debug.write("TIME: "+this.usertime);
+        ]]>
+	</handler>
+	
+	<!--
+    public Long requestUserToContactList(String SID, Long userToAdd_id, 
+                String domain, String port, String webapp)
+     -->
+    <netRemoteCallHib name="requestUserToContactList" funcname="userservice.requestUserToContactList" 
+                  remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >      
+        <netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+        <netparam><method name="getValue"> return parent.parent.user_id; </method></netparam>
+        <netparam><method name="getValue"> return canvas.rtmphostlocal; </method></netparam>
+        <netparam><method name="getValue"> return canvas.red5httpport; </method></netparam>
+        <netparam><method name="getValue"> return canvas.httpRootKey; </method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                if ($debug) Debug.write("requestUserToContactList: ",value);
+                if (value > 0) {
+                    new lz.labelerrorPopup(canvas,{labelid:1267,errorlabelid:1266});
+                }
+            ]]>
+        </handler>
+    </netRemoteCallHib> 
+    
+    <view width="$once{ parent.width }" height="$once{ parent.height-1 }" 
+    	bgcolor="0xFFFFFF" opacity="0.2" />
+	
+	<image name="_userpic" stretches="both" x="1" y="1">
+		<handler name="onload">
+            <![CDATA[
+                if (this.height > 38) {
+                    //If bigger then containter then scale it
+                    var width = this.width/(this.height/38);
+                    this.setAttribute('height',38);
+                    this.setAttribute('width',width);
+                }
+            ]]>
+        </handler>
+	</image>
+	
+	<text text="$once{ parent.username }" x="40" resize="false"
+		  width="$once{ parent.width - 40 }" />	
+		  
+	<miniIconsImage name="add" src="$once{ canvas.getThemeImage('edit_add_rsc') }" width="16" height="16" 
+                   y="20" x="$once{ parent.width - 80 }" showhandcursor="true">
+        <handler name="onclick">
+            if ($debug) Debug.write("Start Conference");
+            if (hib.userobject.user_id == parent.user_id) {
+                new lz.labelerrorPopup(canvas,{errorlabelid:1225});
+                return;
+            }
+            parent.requestUserToContactList.doCall();
+        </handler>
+        <labelTooltip labelid="1186" />
+    </miniIconsImage>
+    
+    <miniIcons name="private_message_add" resource="private_message_add_rsc" width="16" height="16" 
+                   y="20" x="$once{ parent.width - 60 }" showhandcursor="true">
+        <handler name="onclick">
+            if ($debug) Debug.write("Start Conference");
+            new lz.newPrivateMessage(canvas,{
+                                x:200,y:120,
+                                refObj:null,
+                                minimizable:true,
+                                maximizable:true,
+                                userObject:null,
+                                isdragable:true,
+                                user_id:parent.user_id,
+                                width:canvas.width-300,
+                                height:canvas.height-130
+                            });
+        </handler>
+        <labelTooltip labelid="1253" />
+    </miniIcons>
+	
+	<miniIcons resource="user_profile_rsc" width="16" height="16" 
+               y="20" x="$once{ parent.width - 40 }" showhandcursor="true">
+        <handler name="onclick">
+            if ($debug) Debug.write("Start Conference");
+            new lz.viewUserProfileWindow(canvas,{
+                                userId:parent.user_id
+                            });
+        </handler>
+        <labelTooltip labelid="1236" />
+    </miniIcons>    
+	
+	<miniIcons resource="start_conference2_rsc" width="16" height="16" 
+			   y="20" x="$once{ parent.width - 20 }" showhandcursor="true">
+		<handler name="onclick">
+			if ($debug) Debug.write("Start Conference");
+			new lz.chatParticipantsInviteConference(canvas,{
+            			    publicSID:parent.publicSID
+            			});
+		</handler>
+		<labelTooltip labelid="1131" />
+	</miniIcons>	 
+	
+	<labelTooltip text="$once{ parent.connectedSince }" /> 
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/chat/emotIconsSelector.lzx b/WebContent/src/modules/chat/emotIconsSelector.lzx
new file mode 100644
index 0000000..3aa6730
--- /dev/null
+++ b/WebContent/src/modules/chat/emotIconsSelector.lzx
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<!--- view to select emoticons. size is 160x140 -->
+<class name="emotIconsSelector" extends="closableView" bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" 
+    clickable="true" width="160" height="140" >
+
+    <attribute name="btnRef" value="null" />
+
+    <!--- @keywords private -->
+    <method name="passModeEvent" args="eventStr,view" > 
+        <![CDATA[
+            if ( eventStr == "onmousedown"  ){
+                if ( view != null ) {
+                   if ( !view.childOf(this) ) {
+                        this.close();
+                   }
+                } else {
+                    this.close();
+                }
+            }
+            if (view && view.childOf(this)) {
+                if (view[ eventStr ]) {
+                    view[ eventStr ].sendEvent( view );
+                }
+                return false;
+            }
+            return true;
+        ]]> 
+    </method>
+    
+    <handler name="oninit">
+    	this.getAllPublicEmoticons.doCall();
+    </handler>
+    
+        <netRemoteCallHib name="getAllPublicEmoticons" funcname="chatservice.getAllPublicEmoticons" 
+			remotecontext="$once{ canvas.thishib }" > 
+            <handler name="ondata" args="value">
+            	<![CDATA[
+                	//The onResult-Handler will be called be the rtmpconnection
+					if($debug) Debug.write("emotIconsSelector/getAllPublicEmoticons : ",value);
+					for (var i=0;i<value.length;i++){
+						var swfurl = canvas.protocol+'://'+canvas.rtmphostlocal+':'+canvas.red5httpport+canvas.httpRootKey+'public/emoticons/'+value[i][0];
+						iconlabel = value[i][1];
+						if (value[i].length>4){
+							iconlabel += ", "+value[i][2];							
+						}
+						
+						if ($debug) Debug.write("swfurl "+swfurl);
+						
+						var m = new lz._chatInnerSmilyIcon(parent.inn.inn,{iconvalue:value[i][1],iconlabel:iconlabel});
+						m.setSource(swfurl);						
+					}
+                ]]>
+            </handler>   
+        </netRemoteCallHib>    
+
+    <view bgcolor="$once{ canvas.getThemeColor('baseMousecolorizer') }" width="$once{ parent.width-2 }" 
+    	  height="$once{ parent.height-2 }" x="1" y="1" />
+    	  
+    <labelText x="1" y="1" labelid="446" /><!-- 446:Emoticons -->
+	<view name="inn" width="158" height="118" x="0" y="20" clip="true">
+		<view name="inn" width="$once{ parent.height }" >
+			<wrappinglayout axis="x" spacing="2" />
+		</view>
+		<om_vscrollbar name="myscrollbar" />
+	</view>
+    
+    <view name="_close" x="$once{ parent.width-this.width-2 }" y="2"
+        resource="btn_presenter_close"
+        onmouseover="this.setAttribute('frame',2)"
+        onmouseout="this.setAttribute('frame',1)"
+        onmousedown="this.setAttribute('frame',3)"
+        onmouseup="this.setAttribute('frame',1)" >
+        <handler name="onclick">
+            this.setAttribute('frame',2);
+            this.parent.close();
+        </handler>
+        <labelTooltip labelid="430" /><!-- 430:close -->
+    </view>    
+	
+</class>	
+
+<!--- private class of emotIconsSelector.class. resource view of chat smily icons. it shows icons and label tooltips.-->
+<class name="_chatInnerSmilyIcon" extends="view" onmouseover="" onmouseout="">
+	<attribute name="iconlabel" value="" type="string" />
+	<attribute name="iconvalue" value="" type="string" />
+	<handler name="onclick">
+		var messageBox = parent.parent.parent.btnRef.message;
+		messageBox.setText(messageBox.getText()+" "+iconvalue+"  ");
+		if ($debug) Debug.write("messageBox TEXT: ",messageBox.text,messageBox);
+		lz.Focus.setFocus(messageBox._ctext);
+		messageBox._ctext.setSelection(messageBox.getText().length-1,messageBox.getText().length);
+		parent.parent.parent.close();
+	</handler>
+	<labelTooltip text="$once{ parent.iconlabel }" />
+</class>
+
+</library>
diff --git a/WebContent/src/modules/chat/globalAttributes.lzx b/WebContent/src/modules/chat/globalAttributes.lzx
new file mode 100644
index 0000000..d64f1d6
--- /dev/null
+++ b/WebContent/src/modules/chat/globalAttributes.lzx
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!-- global attributes for chat module -->
+
+<library>
+
+<!--- chat modules: chat history -->
+<attribute name="chathistory" value="null" />
+
+<!--- chat modules: chat content -->
+<attribute name="_chatcontent" value="null" />
+
+<!--- chat modules: chat content RPC -->
+<attribute name="_chatcontentRPC" value="null" />
+
+<!--- chat modules: overall chat content -->
+<attribute name="_overallchatcontent" value="null" />
+
+</library>
diff --git a/WebContent/src/modules/chat/globalMethods.lzx b/WebContent/src/modules/chat/globalMethods.lzx
new file mode 100644
index 0000000..c42394f
--- /dev/null
+++ b/WebContent/src/modules/chat/globalMethods.lzx
@@ -0,0 +1,199 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!-- global methods for chat module -->
+<library>
+
+<script>
+<![CDATA[
+
+	// global chat history array for all chat module
+	this.chathistory=new Array();
+
+var maxsize = 220;
+var textFieldtext = "";
+var startIndex = 0;
+var currentLine = 0;
+var textObject = null;
+var myTextFormat = null;
+var lineHeight = 0;
+
+function calcLineWidthByTextField(maxsizeText,textForCalcing,fontsize, fontname){
+	//check test/testLineWidth.lzx in test-directory for a detailed example calculation 
+	//Debug.write("calcLineWidthByTextField: ",textForCalcing);
+	
+	maxsize = maxsizeText;
+	startIndex = 0;
+	currentLine = 0;
+	textObject = new Array();
+	
+	textFieldtext = textForCalcing;
+	myTextFormat = new TextFormat();
+	myTextFormat.size = fontsize;
+	myTextFormat.font = fontname;
+	
+	var metrics = myTextFormat.getTextExtent(textFieldtext, 100000);
+	lineHeight = metrics.ascent+metrics.descent;
+	//Debug.write(lineHeight);
+	
+	measureLine();
+	
+	return textObject;
+}
+
+function measureLine(){
+    var remainingLength = textFieldtext.length;
+        
+    var testTxt = "";
+    var testTxt2 = "";
+    var textFieldtext2 = textFieldtext;
+    var metrics = 0;
+    var firstSpaceIndex = 0;
+    var isFirstWord = true;
+
+    //if ($debug) Debug.write("FUNC/chat Message: ", textFieldtext);
+    //if ($debug) Debug.write("FUNC/length of chat Message: ", remainingLength);
+
+    while (remainingLength > 0) {
+        testTxt = "";
+        testTxt2 = "";
+        textFieldtext2 = textFieldtext;
+        metrics = myTextFormat.getTextExtent(textFieldtext2, 100000);
+        isFirstWord = true;
+        
+        //if ($debug) Debug.write("size of the current part: ", metrics.width);
+        do {
+            firstSpaceIndex = textFieldtext2.indexOf(" ");
+            testTxt2 = testTxt;
+
+            if (firstSpaceIndex != -1) {
+                //if ($debug) Debug.write("the first space is at position: ", firstSpaceIndex);
+                if (isFirstWord) {
+                    testTxt = textFieldtext2.slice(startIndex, firstSpaceIndex);
+                    isFirstWord = false;
+                } else {
+                    testTxt = testTxt + " " + textFieldtext2.slice(startIndex, firstSpaceIndex);
+                }
+                textFieldtext2 = textFieldtext2.slice(firstSpaceIndex + 1, textFieldtext2.length);
+                metrics = myTextFormat.getTextExtent(testTxt, 100000);
+            } else {
+                // this is the last word
+                //if ($debug) Debug.write("this is the last word!");
+                testTxt = testTxt + " " + textFieldtext2;
+                metrics = myTextFormat.getTextExtent(testTxt, 100000);
+                if (isFirstWord && metrics.width < maxsize) {
+                    testTxt2 = testTxt;
+                    isFirstWord = false;
+                }
+                break;
+            }
+        } while (metrics.width < maxsize)
+        
+        if (metrics.width < maxsize) {
+            testTxt2 = testTxt;
+        }
+
+        if (testTxt2.length == 0) {
+            // the first word is already too long
+            //if ($debug) Debug.write("the first word is already too long!");
+            testTxt = "";
+            textFieldtext2 = textFieldtext;
+            metrics = myTextFormat.getTextExtent(testTxt, 100000);
+            isFirstWord = true;
+
+            while (metrics.width < maxsize) {
+                testTxt = testTxt + textFieldtext2.slice(startIndex, 1);
+                textFieldtext2 = textFieldtext2.slice(1, remainingLength);
+                metrics = myTextFormat.getTextExtent(testTxt, 100000);
+            }
+            
+            testTxt2 = testTxt;
+        }
+                
+        textObject[currentLine] = new Array();
+        textObject[currentLine]["text"] = testTxt2;
+        metrics2 = myTextFormat.getTextExtent(textObject[currentLine]["text"], 100000);
+        textObject[currentLine]["lineWidth"] = metrics2.width;
+        currentLine += 1;
+        //if ($debug) Debug.write("new line: ", textObject[currentLine]["text"]);
+               
+        textFieldtext = textFieldtext.slice(testTxt2.length, textFieldtext.length)
+        if (textFieldtext.indexOf(" ") == 0) {
+           textFieldtext = textFieldtext.slice(1, textFieldtext.length)
+        }
+        remainingLength = textFieldtext.length;
+
+        //if ($debug) Debug.write("remaining text: ", textFieldtext);
+    }
+}
+
+function getLineHeight(){
+	return lineHeight;
+}
+
+
+
+
+]]>
+</script>
+
+
+
+
+<method name="addChatHistory" args="value,client">
+  	<![CDATA[
+  	Debug.write("addChatHistory: ",value,client);
+    if (value[7]){
+          var newmessage = "<FONT COLOR='"+value[5]+"' size='11'>"+client.firstname+" "+client.lastname+"</FONT>:<FONT COLOR='0x000000' size='11'>"+value[4]+"</FONT><br />";
+    } else {
+          var newmessage = "<FONT COLOR='"+value[5]+"' size='11'>"+client.firstname+" "+client.lastname+"</FONT>:<FONT COLOR='0x000000' size='11'>"+value[4]+"</FONT><br />";
+    }
+  	//Debug.write("newmessage: ",newmessage);
+  	canvas._chatcontent.addChatItem(newmessage);  // Is "addChatItem()" used?  By what? h.kuze 2008/3/27
+  	canvas._chathistory.push(newmessage);
+  	]]>
+</method>
+
+<method name="resetFormatedChatHistory">
+  	<![CDATA[
+  	if (this.chathistory==null) return '';
+  	var completeText = '';
+  	for (var i=0;i<chathistory.length;i++){
+  		completeText+=chathistory[i];
+  	}
+  	//Debug.write("getFormatedChatHistory: ",completeText);
+  	return completeText;
+  	]]>
+</method>
+<method name="getFormatedChatHistory">
+  	<![CDATA[
+  	if (this.chathistory==null) return '';
+  	var completeText = '';
+  	for (var i=0;i<chathistory.length;i++){
+  		completeText+=chathistory[i];
+  	}
+  	//Debug.write("getFormatedChatHistory: ",completeText);
+  	return completeText;
+  	]]>
+</method>
+
+
+</library>
diff --git a/WebContent/src/modules/chat/inviteuser/chatParticipantsInviteConference.lzx b/WebContent/src/modules/chat/inviteuser/chatParticipantsInviteConference.lzx
new file mode 100644
index 0000000..cae4835
--- /dev/null
+++ b/WebContent/src/modules/chat/inviteuser/chatParticipantsInviteConference.lzx
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="chatParticipantsInviteConference" extends="guiPresenter" resizeable="false"
+    width="490" height="430" y="240" x="240" closable="true" labelid="1131" >
+	
+	<attribute name="publicSID" value="" type="string" />
+	<attribute name="user_id" value="0" type="number" />
+	
+    <view resource="messagebox_info_rsc" x="10" y="24" />
+    
+    <labelText labelid="1132" x="30" y="22" fontstyle="italic"
+               multiline="true" width="$once{ parent.width - 40 }" />
+	
+	<labelText labelid="777" x="2" y="52" fontstyle="bold" />
+	
+    <view x="4" y="72" height="150">
+                    
+        <handler name="oninit">
+            this.getRoomsPublicWithoutType.doCall();
+        </handler>
+
+        <netRemoteCallHib name="getRoomsPublicWithoutType" funcname="conferenceservice.getRoomsPublicWithoutType" 
+            remotecontext="$once{ canvas.thishib }" >   
+            <netparam><method name="getValue">return canvas.sessionId;</method></netparam>  
+            <handler name="ondata" args="value">    
+                <![CDATA[
+                    if ($debug) Debug.write("getRoomsPublicWithoutType: ", value);
+                    if (value != null) {
+                        for (var eg = 0; eg < value.length; eg++) {
+                            var time = value[eg].starttime.getHours()
+                                    + ':' + value[eg].starttime.getMinutes()
+                                    + ' ' + value[eg].starttime.getDate()
+                                    + '.' + (value[eg].starttime.getMonth() + 1)
+                                    + '.' + value[eg].starttime.getFullYear();
+                                    
+                            new lz.roomListInviteUserItem(parent.inn.inn.inn,
+                                    {
+                                        roomType:value[eg].roomtype.roomtypes_id,
+                                        currentusers : value[eg].currentusers,
+                                        obj : value[eg],
+                                        ispublic : true,
+                                        roomid : value[eg].rooms_id,
+                                        starttime : time,
+                                        roomname : value[eg].name,
+                                        publicSID:parent.parent.publicSID,
+                                        user_id:parent.parent.user_id
+                                    });
+                        }
+                    }
+                ]]>                                     
+            </handler>  
+        </netRemoteCallHib>
+
+        <!-- inn.inn.inn view would be setted object by above ondata hander. -->
+        <view name="inn" width="480" height="${ parent.height }" bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" >
+            <view name="inn" x="1" y="1" width="478" height="${ parent.height-2 }" 
+                        bgcolor="0xFFFFFF" clip="true" >
+                <view name="inn" layout="axis:y;spacing:1"/>
+                <om_vscrollbar />
+            </view>
+        </view>
+    </view>
+	
+	<labelText labelid="779" x="2" y="222" fontstyle="bold" />
+	
+    <view x="4" y="242" height="150">
+        <handler name="oninit">
+            this.getRoomsByOrganisationWithoutType.doCall();
+        </handler>    
+
+        <netRemoteCallHib name="getRoomsByOrganisationWithoutType" funcname="conferenceservice.getRoomsByOrganisationWithoutType" remotecontext="$once{ canvas.thishib }" >   
+            <netparam><method name="getValue">return canvas.sessionId;</method></netparam>  
+            <netparam><method name="getValue">return hib.currentdomainObj.organisation_id;</method></netparam>  
+            <handler name="ondata" args="value">    
+            <![CDATA[
+                if ($debug) Debug.write("getRoomsByOrganisationWithoutType ",value);
+                if (value != null) {
+                    for (var eg = 0; eg < value.length; eg++) {
+                        new lz.roomListInviteUserItem(parent.inn.inn.inn,{
+                                    roomType:value[eg].room.roomtype.roomtypes_id,
+                                    currentusers : value[eg].room.currentusers,
+                                    obj : value[eg],
+                                    ispublic : false,
+                                    roomid : value[eg].room.rooms_id,
+                                    starttime : parseDateToStringTime(value[eg].room.starttime),
+                                    roomname : value[eg].room.name,
+                                    publicSID:parent.parent.publicSID
+                                });
+                    }
+                }
+            ]]>                                     
+            </handler>  
+        </netRemoteCallHib> 
+ 
+                <!-- inn.inn.inn view would be setted object by above ondata hander. -->
+        <view name="inn" width="480" height="${ parent.height }" bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" >
+            <view name="inn" x="1" y="1" width="478" height="${ parent.height-2 }" bgcolor="0xFFFFFF" clip="true" >
+                <view name="inn" layout="axis:y;spacing:1"/>
+                <om_vscrollbar />
+            </view>
+        </view>
+    </view>
+    
+    <simpleLabelButton labelid="55" width="100" onclick="this.parent.close();"
+		   x="$once{ parent.width-104 }" y="$once{ parent.height-26 }" />    	
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/chat/inviteuser/chatParticipantsInviteMessage.lzx b/WebContent/src/modules/chat/inviteuser/chatParticipantsInviteMessage.lzx
new file mode 100644
index 0000000..8d5d5a9
--- /dev/null
+++ b/WebContent/src/modules/chat/inviteuser/chatParticipantsInviteMessage.lzx
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="chatParticipantsInviteMessage" extends="guiPresenter" labelid="1138"
+    docking="true" resizeable="false" closable="true" y="260"
+    width="400" x="300" height="240">
+	
+	<attribute name="refObj" value="null" />
+	
+	<attribute name="publicSID" value="" type="string" />
+	<attribute name="user_id" value="0" type="number" />
+	<attribute name="conferenceRoomName" value="" type="string" />
+	<attribute name="roomId" value="0" type="number" />
+	
+	<handler name="oninit">
+		<![CDATA[
+		  
+		  var tString = canvas.firstName + ' ' + canvas.lastName + ' ' 
+		                  + canvas.getLabelName(1137) + ' ' 
+		                  + this.conferenceRoomName;
+		                  
+		  this.message.setAttribute("text",tString);
+		
+		]]>
+	</handler>
+	
+	<method name="send">
+		
+		this.sendMessageWithClientByPublicSIDOrUser.messageObject = new Object
+		this.sendMessageWithClientByPublicSIDOrUser.messageObject["message"] = "inviteToRoom";
+		this.sendMessageWithClientByPublicSIDOrUser.messageObject["action"] = "inviteToRoom";
+		this.sendMessageWithClientByPublicSIDOrUser.messageObject["roomId"] = this.roomId;
+		this.sendMessageWithClientByPublicSIDOrUser.messageObject["usermessage"] = this.message.getText();
+		this.sendMessageWithClientByPublicSIDOrUser.messageObject["publicSID"] = canvas.publicSID;
+		
+		if ($debug) Debug.write("Send to _ ",this.publicSID);
+		if ($debug) Debug.write("Send to _ ",this.user_id);
+		
+		this.sendMessageWithClientByPublicSIDOrUser.doCall();
+		
+	</method>
+	
+    <netRemoteCallHib name="sendMessageWithClientByPublicSIDOrUser" funcname="sendMessageWithClientByPublicSIDOrUser" 
+                      remotecontext="$once{ canvas.thishib }" >  
+        <attribute name="messageObject" value="null" />
+        <netparam><method name="getValue">return parent.messageObject;</method></netparam>
+        <netparam><method name="getValue">return parent.parent.publicSID;</method></netparam>
+        <netparam><method name="getValue">return parent.parent.user_id;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                if ($debug) Debug.write("+sendMessageWithClientByPublicSIDOrUser : ",value);
+                
+                if (parent._switch.getValue()) {
+            
+                    parent.refObj.checkConditionsWhenButtonClicked(null);
+                    
+                } else {
+                	
+                	parent.refObj.doCloseWindow();
+                	
+                }
+                
+                parent.close();
+            ]]>
+        </handler>  
+    </netRemoteCallHib>	
+    
+    <labelText labelid="1136" x="2" y="22" fontstyle="bold" />
+    
+    <customScrollEdittext name="message" y="42" x="2" width="$once{ parent.width - 4 }" 
+            height="100" text="" />
+            
+    <labelCheckbox x="2" y="$once{ parent.height-48 }" fontsize="11"
+        name="_switch" labelid="1134" >
+    </labelCheckbox>  
+    
+    <simpleLabelButton labelid="1139" width="200" x="88" y="$once{ parent.height-22 }" 
+        onclick="this.parent.send();" />
+        
+    <simpleLabelButton labelid="25" width="100" x="290" y="$once{ parent.height-22 }" 
+        onclick="this.parent.close();" />
+
+</class>
+
+</library>
diff --git a/WebContent/src/modules/chat/inviteuser/chatParticipantsInviteNotification.lzx b/WebContent/src/modules/chat/inviteuser/chatParticipantsInviteNotification.lzx
new file mode 100644
index 0000000..4053ab6
--- /dev/null
+++ b/WebContent/src/modules/chat/inviteuser/chatParticipantsInviteNotification.lzx
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="chatParticipantsInviteNotification" extends="guiPresenter" labelid="1138"
+    docking="true" resizeable="false" closable="true" y="260"
+    width="400" x="300" height="240">
+	
+	<attribute name="refObj" value="null" />
+	
+	<attribute name="publicSID" value="" type="string" />
+	<attribute name="conferenceRoomName" value="" type="string" />
+	<attribute name="usermessage" value="" type="string" />
+	<attribute name="roomId" value="0" type="number" />
+	
+	<handler name="oninit">
+		<![CDATA[
+		  
+		  this.message.message.setAttribute("text",this.usermessage);
+		
+		]]>
+	</handler>
+	
+	<method name="accept">
+		canvas.roomJumpId = this.roomId;
+        quicklinkAct("jumpToRoom");
+		
+		this.close();
+	</method>
+	
+	<method name="deny">
+		
+		this.sendMessageWithClientByPublicSID.messageObject = new Object
+		this.sendMessageWithClientByPublicSID.messageObject["message"] = "inviteToRoomAnswer";
+		this.sendMessageWithClientByPublicSID.messageObject["action"] = "inviteToRoomAnswer";
+		this.sendMessageWithClientByPublicSID.messageObject["usermessage"] = canvas.firstName + ' ' + canvas.lastName + ' ' 
+                                                                                    + canvas.getLabelName(1140);
+		this.sendMessageWithClientByPublicSID.doCall();
+		
+	</method>
+	
+    <netRemoteCallHib name="sendMessageWithClientByPublicSID" funcname="sendMessageWithClientByPublicSID" 
+                      remotecontext="$once{ canvas.thishib }" >  
+        <attribute name="messageObject" value="null" />
+        <netparam><method name="getValue">return parent.messageObject;</method></netparam>
+        <netparam><method name="getValue">return parent.parent.publicSID;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                if ($debug) Debug.write("+sendMessageWithClientByPublicSID : ",value);
+                parent.close();
+            ]]>
+        </handler>  
+    </netRemoteCallHib>	
+    
+    <labelText labelid="1136" x="2" y="22" fontstyle="bold" />
+    
+    <view y="42" x="2" name="message" width="$once{ parent.width - 4 }" clip="true">
+    	<text name="message"  width="$once{ parent.width - 16 }"
+            height="100" text="" multiline="true" />
+    </view>
+    
+    <simpleLabelButton labelid="1141" width="100" x="86" y="$once{ parent.height-22 }" 
+        onclick="this.parent.accept();" />
+        
+    <simpleLabelButton labelid="1142" width="100" x="188" y="$once{ parent.height-22 }" 
+        onclick="this.parent.deny();" />
+        
+    <simpleLabelButton labelid="25" width="100" x="290" y="$once{ parent.height-22 }" 
+        onclick="this.parent.close();" />
+
+</class>
+
+</library>
diff --git a/WebContent/src/modules/chat/inviteuser/library.lzx b/WebContent/src/modules/chat/inviteuser/library.lzx
new file mode 100644
index 0000000..bffbfe1
--- /dev/null
+++ b/WebContent/src/modules/chat/inviteuser/library.lzx
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+
+	<include href="roomListInviteUserItem.lzx" />
+	<include href="chatParticipantsInviteMessage.lzx" />
+	<include href="chatParticipantsInviteNotification.lzx" />
+	<include href="chatParticipantsInviteConference.lzx" />
+	
+    
+</library>
diff --git a/WebContent/src/modules/chat/inviteuser/roomListInviteUserItem.lzx b/WebContent/src/modules/chat/inviteuser/roomListInviteUserItem.lzx
new file mode 100644
index 0000000..2de9ed7
--- /dev/null
+++ b/WebContent/src/modules/chat/inviteuser/roomListInviteUserItem.lzx
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<class name="roomListInviteUserItem" extends="view" bgcolor="$once{ canvas.bgColorMenuItems }" 
+		   height="50" onmouseover="" onmouseout="" width="478" >
+
+		<attribute name="ispublic" value="false" type="boolean" />
+		<attribute name="isaudience" value="false" type="boolean" />
+		<attribute name="obj" value="null" />
+		<attribute name="roomid" value="0" type="number" />
+		<attribute name="starttime" value="" type="string" />
+		<attribute name="roomname" value="" type="string" />
+
+		<attribute name="roomClassName" value="conferenceView" type="string" />
+		<attribute name="currentusers" value="null" />
+
+		<attribute name="maxUsers" value="4" type="number" />
+		
+		<attribute name="roomType" value="0" type="number" />
+
+		<attribute name="checkForMaxUsers" value="false" type="boolean" />
+		
+		<attribute name="publicSID" value="" type="string" />
+		<attribute name="user_id" value="0" type="number" />
+
+		<handler name="oninit">
+		<![CDATA[
+
+			//if ($debug) Debug.write("obj: ",obj);
+			if (this.ispublic) {
+				this.maxUsers = obj.numberOfPartizipants;
+			} else {
+				this.maxUsers = obj.room.numberOfPartizipants;
+			}
+			this._users.setAttribute('text', canvas.getLabelName(398) + ' '
+							+ this.currentusers.length + " / " + this.maxUsers);
+			var tString = canvas.getLabelName(401) + "<br/>";
+			for (var i = 0; i < this.currentusers.length; i++) {
+				tString += this.currentusers[i].firstname + " "
+						+ this.currentusers[i].lastname + " ("
+						+ this.currentusers[i].username + ") "
+						+ canvas.getLabelName(399)
+						+ parseDateToStringTime(this.currentusers[i].roomEnter)
+						+ " <br/>";
+			}
+			this._labeltooltip.setAttribute('text', tString);
+		]]>
+		</handler>
+
+		<handler name="onclick">
+			canvas.isConference = !this.isaudience;
+			if (this.isaudience)
+				connectedIsAudience = '_' + 'audi';
+			if (this.ispublic) {
+				hib.conferencedomain = "public";
+				hib.currentroomid = this.obj.rooms_id;
+				//Debug.write("ispublic");
+			} else {
+				hib.conferencedomain = this.obj.organisation.organisation_id;
+				hib.currentroomid = this.obj.room.rooms_id;
+				//Debug.write("non ispublic");
+			}
+			if ($debug) Debug.write("onclick", this);
+			parent.parent.parent.parent.parent._roomlistdetails.doinit(
+					this.currentusers, this.roomid, this.roomname);
+		</handler>
+
+		<method name="checkMaxUsers">
+		<![CDATA[
+			if (this.currentusers.length < this.maxUsers) {
+				this.enterRoom();
+			} else {
+				new lz.labelerrorPopup(canvas,{errorlabelid:99});
+				//new lz.rpcErrorDialog(canvas.main_content._content.inner, {
+				//			errorid : 30
+				//		});
+			}
+		]]>
+		</method>
+
+		<method name="enterRoom">
+			
+			var roomid = 0;
+			
+			if (this.ispublic) {
+				roomid = this.obj.rooms_id;
+				//Debug.write("ispublic");
+			} else {
+				roomid = this.obj.room.rooms_id;
+				//Debug.write("non ispublic");
+			}
+			
+			canvas.roomJumpId = roomid;
+			quicklinkAct("jumpToRoom");
+			
+			this.doCloseWindow();
+		</method>
+
+		<netRemoteCallHib name="getRoomClientsListByRoomId" funcname="conferenceservice.getRoomClientsListByRoomId"
+			remotecontext="$once{ canvas.thishib }" >
+			<netparam> <method name="getValue">return parent.parent.roomid;</method></netparam>
+			<handler name="ondata" args="value">
+			<![CDATA[
+				if ($debug) Debug.write("getRoomClientsListByRoomId: ", value);
+				parent.currentusers = value;
+				parent.oninit.sendEvent();
+				if (parent.checkForMaxUsers) {
+					parent.checkMaxUsers();
+				}
+			]]>
+			</handler>
+		</netRemoteCallHib>
+
+		<labelText text="$once{ parent.roomname }" />
+
+		<labelText name="_users" y="26" />
+		<image name="_r" src="$once{ canvas.getThemeImage('reload_rsc') }" x="130" y="26"
+			onclick="parent.getRoomClientsListByRoomId.doCall()" >
+			<labelTooltip labelid="402" />
+		</image>
+
+		<method name="checkConditionsWhenButtonClicked" args="_clicked">
+			checkForMaxUsers = true;
+			getRoomClientsListByRoomId.doCall();
+		</method>
+		
+		<method name="doCloseWindow">
+			if ($debug) Debug.write("doCloseWindow :: ");
+			parent.parent.parent.parent.parent.close();
+		</method>
+
+		<simpleLabelButton labelid="1135" x="380" width="80" height="24" y="20">
+			<handler name="onclick">
+				new lz.chatParticipantsInviteMessage(canvas,{
+    				    refObj:parent,
+    				    publicSID:parent.publicSID,
+    				    user_id:parent.user_id,
+    				    conferenceRoomName:parent.roomname,
+    				    roomId:parent.roomid
+    				});
+			</handler>
+		</simpleLabelButton>
+
+		<labelTooltip multiline="true" name="_labeltooltip" />
+
+	</class>
+
+</library>
diff --git a/WebContent/src/modules/chat/library.lzx b/WebContent/src/modules/chat/library.lzx
new file mode 100644
index 0000000..be6a6ff
--- /dev/null
+++ b/WebContent/src/modules/chat/library.lzx
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+
+	<include href="globalAttributes.lzx" />
+	<include href="globalMethods.lzx" />
+	
+	<include href="inviteuser/" />
+	
+	<include href="chatParticipants.lzx" />
+	<include href="emotIconsSelector.lzx" />
+	<include href="overAllChatOutput.lzx" />
+	<include href="overAllChatTabBottom.lzx" />
+	<include href="overAllChat.lzx" />
+    
+</library>
diff --git a/WebContent/src/modules/chat/overAllChat.lzx b/WebContent/src/modules/chat/overAllChat.lzx
new file mode 100644
index 0000000..e02f4e2
--- /dev/null
+++ b/WebContent/src/modules/chat/overAllChat.lzx
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+ 
+<!--- Chat module of the dashboard. The fixed size is 810x280 -->
+<class name="overAllChat" extends="view" x="2"
+    width="${ parent.width-4 }" height="${ parent.height }" >
+    <!-- 443:Chat -->
+    
+    <handler name="onclose">
+        if($debug) Debug.write("overAllChat/close(): ",this);
+        canvas._overallchatcontent=null;
+    </handler>
+    
+    <!-- message and buttons area-->
+    <view y="0" x="196" height="${ parent.height }" >
+        <view name="_chatoutputborder" height="${ parent.height-48 }"
+            width="${ parent.parent.width - 196 }"  bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }">
+        	<!-- 604 -->
+            <overAllChatOutput name="_chatoutput" x="1" y="1" >
+                <handler name="oninit">
+                    if (canvas._overallchatcontent!=null) canvas._overallchatcontent.parent.parent.parent.close();
+                    canvas._overallchatcontent = this;
+                </handler>
+            </overAllChatOutput>
+        </view>
+        <overAllChatTabBottom name="_chattabbottom" 
+                       y="${ parent.height-46 }" x="0" width="${ parent.parent.width - 196 }" />
+    </view>
+    
+    <!-- chat participants area -->
+    <view x="0" y="0" name="_chatparticipants" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }"
+          height="${ parent.height-2 }" width="190" >
+        <handler name="oninit">
+            this.getChatOverallUsers.doCall();
+        </handler>
+        
+        <netRemoteCallHib name="getChatOverallUsers" funcname="chatservice.getChatOverallUsers" 
+            remotecontext="$once{ canvas.thishib }" > 
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    //The onResult-Handler will be called be the rtmpconnection
+                    if ($debug) Debug.write("getChatOverallUsers : ",value);
+                    for (var i=0;i<value.overallList.length;i++){
+                    	if ($debug) Debug.write("value.overallList[i].picture_uri",value.overallList[i].picture_uri);
+                    	parent.addItem(value.overallList[i])
+                    }
+                ]]>
+            </handler>   
+        </netRemoteCallHib>
+        
+        <method name="addItem" args="value">
+			new lz.chatParticipants(this._innerlist._list,{
+			        user_id:value.user_id,
+			        publicSID:value.publicSID,
+			        picture_uri:value.picture_uri,
+			        connectedSince:canvas.getLabelName(1133)+' '+parseDateToStringTimeSeconds(value.connectedSince),
+			        username:value.firstname+" "+value.lastname
+			    });      
+        </method>
+        
+        <method name="removeItemById" args="user_id">
+            <![CDATA[
+                for (var i=0;i<this._innerlist._list.subviews.length;i++) {
+                    if (this._innerlist._list.subviews[i].user_id==user_id) {
+                        this._innerlist._list.subviews[i].destroy();
+                    }
+                }
+            ]]>
+        </method>
+            
+        <view name="_innerlist" x="1" y="1" width="189" clip="true"
+        			height="${ parent.height-1 }" bgcolor="0xFFFFFF">
+	        <view name="_list" width="180" layout="axis:y;spacing:0" />
+	        <om_vscrollbar name="_scroll" />
+        </view>
+    </view>
+    
+</class>
+
+
+</library>
diff --git a/WebContent/src/modules/chat/overAllChatOutput.lzx b/WebContent/src/modules/chat/overAllChatOutput.lzx
new file mode 100644
index 0000000..b038ce6
--- /dev/null
+++ b/WebContent/src/modules/chat/overAllChatOutput.lzx
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- chat output area. It shows chat history on-init.  -->
+<class name="overAllChatOutput" extends="view" height="${ parent.height-1 }" 
+            clip="true" bgcolor="0xFFFFFF" width="${ parent.width-1 }" >
+
+    <handler name="oninit">
+        if($debug) Debug.write("overAllChatOutput/oninit");
+        this.loadContent();
+    </handler>
+    
+    <method name="loadContent">
+        this._cbtext.clearChatOutput();
+        this.getOverallChatHistory.doCall();
+    </method>
+    
+    <method name="clear">
+    	this._cbtext.clearChatOutput();
+    </method>
+    
+    <netRemoteCallHib name="getOverallChatHistory" funcname="chatservice.getOverallChatHistory" 
+        remotecontext="$once{ canvas.thishib }" > 
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if($debug) Debug.write("overAllChatOutput/getRoomChatHistory: ",value);
+                for (var i=0;i<value.length;i++){
+                    if($debug) Debug.write("overAllChatOutput ",value[i].message,value[i].client);
+                    parent.addChatHistory(value[i].message,value[i].client);
+                }
+            ]]>
+        </handler>   
+    </netRemoteCallHib>   
+    
+    <method name="getLog">
+    	<![CDATA[
+    		var tString = "";
+    		
+    		for (var i=0;i<this._cbtext.subviews.length;i++) {
+    			
+    			if (i!=0) {
+    				tString += "<br/>";
+    			}
+    			
+    			tString += this._cbtext.subviews[i].username + ': '
+    					+ this._cbtext.subviews[i].message;
+    			
+    		}
+    		
+    		return tString;
+    	
+    	]]>
+    </method>   
+    
+    <method name="addChatHistory" args="value,client">
+        <![CDATA[
+            //if($debug) Debug.write("overAllChatOutput/addChatHistory: ",value,client);
+            //is Right To Left ? not checked for the moment
+            if (value[7]){
+                var username = client.firstname+" "+client.lastname;
+            } else {
+                var username = client.firstname+" "+client.lastname;
+            }
+            var messageObj = value[9];
+            //var newmessage = "<FONT COLOR='"+value[5]+"' size='11'>"+client.firstname+" "+client.lastname+"</FONT>:<FONT COLOR='0x000000' size='11'>"+value[4]+"</FONT><br />";
+            //if($debug) Debug.write("overAllChatOutput/messageObj: ",messageObj);
+            var usercolor = value[5];
+            
+            if ( usercolor==null || usercolor==0 || usercolor.length==0 )usercolor=0xCCCCCC;
+            
+            new lz.chatTabItemEmoticons(this._cbtext,{
+	                messageObj:messageObj,user_id:value[8],
+	                usercolor:usercolor,
+	                publicSID:value[6],
+	                picture_uri:client.picture_uri,
+	                message:value[4],
+	                username:username,
+	                usertime:value[1]
+                });
+                
+            this.setScrollToMax();              
+        ]]> 
+    </method>           
+    
+    <method name="setScrollToMax">
+        <![CDATA[
+        if(_cbtext.height>this.height){
+            myscrollbar.scrolltarget.setAttribute(myscrollbar.scrollattr,(this.height-_cbtext.height));
+        }
+        
+        ]]>
+    </method>
+    
+    <view name="_cbtext" width="$once{ parent.width }" layout="axis:y;spacing:0" >
+    	<method name="clearChatOutput">
+    		<![CDATA[
+    			if($debug) Debug.write("overAllChatOutput/clearChatOutput ",this.subviews.length);
+    			while (this.subviews.length>0){
+    				this.subviews[0].destroy();
+    			}
+    		]]>
+    	</method>
+    </view>
+    
+    <om_vscrollbar name="myscrollbar" />
+
+</class>
+    
+
+</library>
diff --git a/WebContent/src/modules/chat/overAllChatTabBottom.lzx b/WebContent/src/modules/chat/overAllChatTabBottom.lzx
new file mode 100644
index 0000000..4dea4a0
--- /dev/null
+++ b/WebContent/src/modules/chat/overAllChatTabBottom.lzx
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- 
+	View of the buttom area of chat. It contains buttons of message,emoticons,clear.
+ -->
+<class name="overAllChatTabBottom" extends="view" >
+
+    <view x="0" y="0" height="20" width="${ parent.width }" name="message" 
+          bgcolor="0xBBBBBB">
+        
+        <attribute name="objMessage" value="null" />
+          
+        <method name="getText">
+            return this._ctext.getText();
+        </method>
+        <method name="setText" args="txt">
+            this._ctext.setAttribute('text',txt);
+        </method>
+        <customInputtext name="_ctext" width="${ parent.width-81 }" height="$once{ parent.height-2 }"
+            x="1" y="1" bgcolor="white" >
+            <handler name="onkeyup" args="key">
+                <![CDATA[
+                // 13 is return
+                if ((key==27) || (key==13)) {
+                    this.parent._button.onclick.sendEvent();
+                }
+                ]]>
+            </handler>
+        </customInputtext>     
+        
+        <simpleLabelButton labelid="220" name="_button" 
+        		x="$once{ parent.width-80 }" width="80" height="20"> 
+            <handler name="onclick">
+                parent.objMessage = new Array ();
+                parent.objMessage[0] = 'chat';
+                //The server side will put time here
+                parent.objMessage[1] = "";
+                //Debug.write("Setting Message");
+                parent.objMessage[2] = 'newtextmessage';
+                parent.objMessage[3] = hib.userobject.login;
+                var message = this.parent.getText();
+                if (parent.parent._inverseWording.getValue()) message = canvas.reverseWordingsBySplit(message)
+                parent.objMessage[4] = message;
+                parent.objMessage[5] = canvas.currentusercolor;
+                parent.objMessage[6] = canvas.publicSID;
+                parent.objMessage[7] = canvas.isrtl;
+                parent.objMessage[8] = hib.userobject.user_id;
+                if (this.parent.parent.message.getText().length!=0){
+                    //Debug.write("send: ",this.parent.objMessage);
+                    parent.sendMessageToOverallChat.doCall();
+                    this.parent.setText('');
+                }
+            </handler>
+        </simpleLabelButton>
+        
+        <netRemoteCallHib name="sendMessageToOverallChat" funcname="chatservice.sendMessageToOverallChat" 
+            remotecontext="$once{ canvas.thishib }" > 
+            <netparam><method name="getValue"> return parent.parent.objMessage; </method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    //The onResult-Handler will be called be the rtmpconnection
+                    if ($debug) Debug.write("chatservice.sendMessageToOverallChat getValue: ",value);
+                ]]>
+            </handler>   
+        </netRemoteCallHib>
+           
+    </view>
+    
+    <labelCheckbox name="_inverseWording" x="2" y="24" labelid="580">
+        <attribute name="doUpdate" value="false" type="boolean" />
+        <handler name="oninit">
+            var g = canvas.getUserData();
+            var save = g["rtlCheckbox"];
+            //if ($debug) Debug.write("oninit doUpdate",save,g);
+            if(save) {
+                this.doUpdate = false;
+                this.setValue(true);
+            }
+            this.doUpdate = true;
+        </handler>
+        <handler name="onvalue" args="v">
+            if (this.doUpdate) {
+                //if ($debug) Debug.write("onvalue doUpdate",this.getValue());
+                var g = canvas.getUserData();
+                g["rtlCheckbox"]=this.getValue();
+                //if ($debug) Debug.write("onvalue doUpdate",g["rtlCheckbox"]);
+                canvas.setUserData(g);
+            }
+        </handler>
+        <labelTooltip labelid="581" />
+    </labelCheckbox>
+
+    <view name="_button" width="140" y="22" align="right">
+        
+        <miniIcons y="2" x="82" resource="smile_chat_log_rsc" width="16" height="16" 
+                   showhandcursor="true">
+            <handler name="onclick">
+                var pick = new lz.emotIconsSelector(canvas,{
+                        btnRef:this.parent.parent,
+                        x:(this.getAttributeRelative('x',canvas)-140),
+                        y:(this.getAttributeRelative('y',canvas)-140)
+                    });
+                lz.ModeManager.makeModal( pick );
+            </handler>
+            <labelTooltip labelid="445" />
+        </miniIcons>
+        
+        <miniIcons y="2" x="102" resource="copy_chat_log_rsc" width="16" height="16" 
+                   showhandcursor="true">
+            <handler name="onclick">
+                <![CDATA[
+                    var tString = canvas._overallchatcontent.getLog();
+                    new lz.showChatLog(canvas,{
+                                    error:tString
+                                });
+                ]]>
+            </handler>
+            <labelTooltip labelid="1200" />
+        </miniIcons>
+        
+        <miniIconsImage y="2" x="122" src="$once{ canvas.getThemeImage('button_cancel_rsc') }" 
+        				width="16" height="16" showhandcursor="true">
+            <handler name="onclick">
+                parent.clearOverallChat.doCall();
+            </handler>
+            <labelTooltip labelid="442" />
+        </miniIconsImage>      
+        
+        <netRemoteCallHib name="clearOverallChat" funcname="chatservice.clearOverallChat" 
+            remotecontext="$once{ canvas.thishib }" > 
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    //The onResult-Handler will be called be the rtmpconnection
+                    if ($debug) Debug.write("clearChat : ",value,canvas._overallchatcontent);
+                    canvas._overallchatcontent.loadContent();   
+                ]]>
+            </handler>   
+        </netRemoteCallHib>     
+        
+    </view>
+
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/browser/conferenceBrowser.lzx b/WebContent/src/modules/conference/browser/conferenceBrowser.lzx
new file mode 100644
index 0000000..5fa9312
--- /dev/null
+++ b/WebContent/src/modules/conference/browser/conferenceBrowser.lzx
@@ -0,0 +1,436 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<!--- TODO:
+		inprement of history feature
+		add resize feature to labelExplorerBox component
+	-->
+	<!--
+	<include href="extensions/html.lzx"/>
+     -->
+     
+    <class name="browserButton" extends="view" width="22" height="22">
+    	
+    	<attribute name="enabled" value="true" type="boolean" />
+    	
+    	<handler name="onenabled" args="o">
+    		this.enabled = o;
+    		if (o) {
+    			this.setAttribute("opacity",1);
+    		} else {
+    			this.setAttribute("opacity",0.5);
+    		}
+    	</handler>
+    	
+    </class> 
+     
+	<class name="conferenceBrowser" extends="labelExplorerBox" labelid="749" 
+		   x="200" closable="false" resizeable="true">
+		 
+		<!--
+		      this attribute is true if the user has opened the browser on its own
+		      if the browser is opened by a Remote-Call, the user will get the Web-Site 
+		      notifications from the Moderator(s)
+		 -->
+		<attribute name="initedByUser" value="true" type="boolean" /> 
+		
+		<attribute name="initURL" value="" type="string" /> 
+		
+		<attribute name="callBackJSDelegate" value="null" /> 
+		
+		<attribute name="browserhistoryPre" value="null" />
+		<attribute name="browserhistoryPost" value="null" /> 
+		 
+		<handler name="oninit">
+			<![CDATA[
+			
+			    this.browserhistoryPre = new Array();
+			    this.browserhistoryPost = new Array();
+			    
+			    this.updateIcons();
+			
+				canvas.conferenceBrowserIsinited = true;
+				this.callBackJSDelegate = new LzDelegate(this, "updatedURLValues");
+			
+                var os = lz.Browser.getOS();
+                
+                //We have to detect Firefox, unfortunately it does not work for
+                //Windows with Firefox see: http://jira.openlaszlo.org/jira/browse/LPP-8525
+                
+                if ($debug) Debug.write("os ::",os.indexOf('Win'),os);
+                
+                //To test this you have to run the application with the index.jsp wrapper that
+                //contains the browser-detection code
+                if (false && os.indexOf("Win") >= 0) {
+                
+                    if ($debug) Debug.write("os :: version isWindows check for Firefox Bug ",os,version);
+                    
+                    getBrowserLang(this);
+                
+                }
+                
+                if (canvas.ismoderator) {
+                	
+                    this._navigation._inner._showBar.doStart();
+                    
+                }
+                
+                //see attribute definition for docs
+                if (this.initedByUser) {
+                	this._navigation._inner.browser.navigation.url.setAttribute("text","http://www.google.com");
+                	this._navigation._inner.browser.navigation.readStart.setURL();
+                	
+                	this.sendBrowserMessageToMembers.objMessage = new Array();
+                	this.sendBrowserMessageToMembers.objMessage[0] = "initBrowser";
+                	this.sendBrowserMessageToMembers.objMessage[1] = this._navigation._inner.browser.navigation.url.text;
+                	this.sendBrowserMessageToMembers.doCall();
+                } else {
+                	
+                	this._navigation._inner.browser.navigation.url.setAttribute("text",this.initURL);
+                	this._navigation._inner.browser.navigation.readStart.setURL();
+                	
+                }
+                
+            ]]>
+        </handler>
+        
+        <method name="callback" args="returnValue">
+        	<![CDATA[
+        	
+        	    if ($debug) Debug.write("getBrowserInfo callback ",returnValue);
+                        
+                if (returnValue.indexOf("Firefox") >= 0) {
+                    
+                    this.setAttribute("y",160);
+                    
+                    new lz.labelerrorPopup(canvas,{y:0,errorlabelid:750});
+                }
+        	
+        	]]>
+        </method>
+        
+        <method name="newBrowserURL" args="newURL">
+        	this._navigation._inner.browser.navigation.url.setAttribute("text",newURL);
+        	this._navigation._inner.browser.navigation.readStart.setURL();
+        </method>
+        
+        <method name="updatedURLValues" args="returnValue">
+        	
+        	if ($debug) Debug.write("updatedURLValues ",returnValue);
+        	
+        </method>
+        
+        <method name="getIFrameLocation">
+        	<![CDATA[
+
+                //function callbackIFrameLocation(returnValue) {
+                    
+                //    if ($debug) Debug.write("callbackIFrameLocation ",returnValue);
+                    
+                //}
+                
+                //lz.Browser.callJS("getiFrameOMSource",callbackIFrameLocation, "__lz0");   
+                
+                this.htmlviewer.callJavascript("window.location.href",this.callBackJSDelegate);
+                
+                
+                
+        	]]>
+        </method>
+        
+        <netRemoteCallHib name="sendBrowserMessageToMembers" funcname="sendBrowserMessageToMembers" 
+        				   remotecontext="$once{ canvas.thishib }" >
+        	<attribute name="objMessage" value="null" />
+            <netparam name="vars"><method name="getValue">return parent.objMessage;</method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                	if ($debug) Debug.write("getValue : ",value);
+                	if (this.objMessage[0] == "closeBrowserURL") {
+                		parent.close();
+                	}
+                ]]>
+            </handler>   
+        </netRemoteCallHib> 
+        
+        <handler name="onismoderator" reference="canvas" args="m">
+            if ($debug) Debug.write("###### ismoderator ",m);
+            <![CDATA[
+                //this.isMod = canvas.getIsModeratorByPublicSID(this.refObj.publicSID);
+                if (m) {
+                    this._navigation._inner._showBar.doStart();
+                } else {
+                	this._navigation._inner.setAttribute("y",-40);
+                }
+                //throw a onx/y event to 
+                this.setAttribute("y",this.y);
+            ]]>
+        </handler>
+        
+        <method name="addLocalHistoryPre" args="url">
+        	this.browserhistoryPre.push(url);
+        	this.updateIcons();
+        </method>
+        
+        <method name="addLocalHistoryPost" args="url">
+            this.browserhistoryPost.push(url);
+            this.updateIcons();
+        </method>
+        
+        <method name="updateIcons">
+        	<![CDATA[
+            	if (this.browserhistoryPre.length > 1) {
+            		this._navigation._inner.browser.navigation._pre.setAttribute("enabled",true);
+            	} else {
+            		this._navigation._inner.browser.navigation._pre.setAttribute("enabled",false);
+            	}
+            	
+            	if (this.browserhistoryPost.length > 0) {
+                    this._navigation._inner.browser.navigation._post.setAttribute("enabled",true);
+                } else {
+                    this._navigation._inner.browser.navigation._post.setAttribute("enabled",false);
+                }
+        	]]>
+        </method>
+        
+        <method name="doPreItem">
+        	<![CDATA[
+                if (this.browserhistoryPre.length > 1) {
+                	
+                	if ($debug) Debug.write("doPreItem 1 ",this.browserhistoryPre.length);
+                	
+                	var lastItem = this.browserhistoryPre[this.browserhistoryPre.length-2];
+                	var nextItem = this.browserhistoryPre[this.browserhistoryPre.length-1];
+                	
+                	if ($debug) Debug.write("doPreItem 2 ",lastItem);
+                	
+                	this.browserhistoryPost.push(nextItem);
+                	
+                	this.browserhistoryPre.splice(this.browserhistoryPre.length-2,1);
+                	
+                	if ($debug) Debug.write("doPreItem 3 ",this.browserhistoryPre.length);
+                	
+                	this._navigation._inner.browser.navigation.url.setAttribute("text",lastItem);
+                    this._navigation._inner.browser.navigation.readStart.setURLWithoutEvent();
+                	
+                	this.updateIcons();
+                	
+                	return lastItem;
+                }
+            ]]>
+        </method>
+        
+        <method name="doPostItem">
+            <![CDATA[
+                if (this.browserhistoryPost.length > 0) {
+                    
+                    var lastItem = this.browserhistoryPost[this.browserhistoryPost.length-1];
+                    
+                    this.browserhistoryPost.splice(this.browserhistoryPost.length-1,1);
+                    
+                    this.browserhistoryPre.push(lastItem);
+                    
+                    this._navigation._inner.browser.navigation.url.setAttribute("text",lastItem);
+                    this._navigation._inner.browser.navigation.readStart.setURLWithoutEvent();
+                    
+                    this.updateIcons();
+                    
+                    return lastItem;
+                }
+            ]]>
+        </method>
+        
+        <method name="doClose">
+            if (canvas.ismoderator) {
+            
+                this.sendBrowserMessageToMembers.objMessage = new Array();
+                this.sendBrowserMessageToMembers.objMessage[0] = "closeBrowserURL";
+                this.sendBrowserMessageToMembers.doCall();
+            
+            }
+        </method>
+        
+        <handler name="onclose">
+        	canvas.conferenceBrowserIsinited = false;
+            this.htmlviewer.setVisible(false);
+        </handler>              
+        
+        <!--
+            Broadcast Message to all user
+         -->
+        <view name="_navigation" clip="true" y="22" height="38" width="${ parent.width }" >
+    		<view name="_inner" y="-40">
+    			
+    			<animator name="_showBar" attribute="y" to="0" duration="750" start="false">
+    				<handler name="onstop">
+    					lz.Focus.setFocus(parent.browser.navigation.url,true);
+    				</handler>
+    			</animator>
+    			
+    			<!-- enabled="false" -->
+        		<view name="browser" height="28" bgcolor="0xEEEEEE" x="1" >
+        			
+        			<view name="navigation" layout="axis:x;spacing:1;inset:1">
+        				
+        				<browserButton name="_pre" resource="./resources/pre.png" y="2">
+        					<handler name="onclick">
+        						if ($debug) Debug.write("PRE");
+        						parent.parent.parent.parent.parent.doPreItem();
+        					</handler>
+        					<labelTooltip labelid="751" />
+        				</browserButton>
+        				
+        				<browserButton name="_post" resource="./resources/next.png" y="2" enabled="false">
+                            <handler name="onclick">
+                                if ($debug) Debug.write("NEXT");
+                                parent.parent.parent.parent.parent.doPostItem();
+                            </handler>
+                            <labelTooltip labelid="752" />
+                        </browserButton>
+                        
+                        <browserButton resource="./resources/refresh.png" y="2">
+                            <handler name="onclick">
+                                if ($debug) Debug.write("RELOAD");
+                                parent.readStart.sendURL();
+                            </handler>
+                            <labelTooltip labelid="753" />
+                        </browserButton>
+                        
+                        <browserButton resource="./resources/home.png" y="2">
+                            <handler name="onclick">
+                                if ($debug) Debug.write("HOME");
+                                parent.url.setAttribute("text","http://www.google.com");
+                                parent.readStart.sendURL();
+                            </handler>
+                            <labelTooltip labelid="754" />
+                        </browserButton>
+                        
+        				<edittext name="url" width="${classroot.width- (5*22) - 8}"> 
+        					<handler name="onkeyup" args="key">
+        						if ((key == 27) || (key == 13)) {
+        							this.parent.readStart.onclick.sendEvent();
+        						}
+        					</handler>
+        				</edittext>
+        				
+        				<browserButton name="readStart" resource="./resources/run.png" 
+        							    y="2">
+        					<handler name="onclick">
+            					this.sendURL();
+        					</handler>
+        					<method name="sendURL">
+        						this.setURL();
+        						
+        						parent.parent.parent.parent.parent.sendBrowserMessageToMembers.objMessage = new Array();
+			                	parent.parent.parent.parent.parent.sendBrowserMessageToMembers.objMessage[0] = "newBrowserURL";
+			                	parent.parent.parent.parent.parent.sendBrowserMessageToMembers.objMessage[1] = parent.url.text;
+			                	parent.parent.parent.parent.parent.sendBrowserMessageToMembers.doCall();
+        					</method>
+        					<method name="setURL">
+        						<![CDATA[
+            						var url = parent.url.getText();
+            						if ((url.indexOf("http://") < 0)
+            								&& (url.indexOf("https://") < 0)) {
+            							url = "http://" + url;
+            						}
+            
+            						parent.parent.parent.parent.parent.htmlviewer.ignoreNextEvent = true;
+            						parent.parent.parent.parent.parent.htmlviewer.setAttribute("src",url);
+            						parent.parent.parent.parent.parent.htmlviewer.setAttribute("visible",true);
+            						
+            						parent.parent.parent.parent.parent.addLocalHistoryPre(url);
+            						
+            						parent.url.setAttribute('text', url);
+            					]]>
+        					</method>
+        					
+        					<method name="setURLWithoutEvent">
+                                <![CDATA[
+                                    var url = parent.url.getText();
+                                    if ((url.indexOf("http://") < 0)
+                                            && (url.indexOf("https://") < 0)) {
+                                        url = "http://" + url;
+                                    }
+            
+                                    parent.parent.parent.parent.parent.htmlviewer.ignoreNextEvent = true;
+                                    parent.parent.parent.parent.parent.htmlviewer.setAttribute("src",url);
+                                    parent.parent.parent.parent.parent.htmlviewer.setAttribute("visible",true);
+                                    
+                                    parent.url.setAttribute('text', url);
+                                ]]>
+                            </method>
+        					
+        				</browserButton> 
+        				
+        			</view>
+        			
+        			<view x="0" resource="./resources/browser_sub_cit.swf" 
+        				  width="${ parent.parent.parent.parent.width-2 }" stretches="width" y="28" />
+        			
+        		</view>
+        		
+            </view>
+        </view>
+        
+		<html name="htmlviewer" x="4" y="${ (canvas.ismoderator) ? 60 : 22 }" width="${ parent.width-8 }" 
+			  height="${ (canvas.ismoderator) ? (parent.height - 90) : (parent.height-52) }" >
+			
+			<attribute name="ignoreNextEvent" value="false" type="boolean" />
+			
+			<handler name="onloading" args="loading">
+				<![CDATA[
+					this.loading = loading;
+					if ($debug) Debug.write("LOADING 1 ",loading,this.src);
+					if ($debug) Debug.write("LOADING 2 ",loading,this);
+					if (canvas.ismoderator) {
+						if (!loading && !this.ignoreNextEvent) {
+							parent.getIFrameLocation();
+							
+							//parent.sendBrowserMessageToMembers.objMessage = new Object();
+		                	//parent.sendBrowserMessageToMembers.objMessage[0] = "newBrowserURL";
+		                	//parent.sendBrowserMessageToMembers.objMessage[1] = this.src;
+		                	//parent.sendBrowserMessageToMembers.doCall();
+						}
+					}
+					
+					if (!loading) {
+						this.ignoreNextEvent = false;
+					}
+				]]>
+			</handler>
+			<handler name="onsrc" args="src">
+				this.src = src;
+				//if ($debug) Debug.write("SRC ",src);
+			</handler>
+		</html>
+		
+		<labelText labelid="1006" y="${ parent.height-22 }" x="2"
+				   visibility="${ (canvas.ismoderator) ? 'visible' : 'hidden' }" />
+		
+        <simpleLabelButton labelid="61" width="100" 
+			   visibility="${ (canvas.ismoderator) ? 'visible' : 'hidden' }" 
+			   x="${ parent.width-105 }" y="${ parent.height-24 }" 
+               onclick="this.parent.doClose();" />
+    		  
+	</class>
+ 	
+</library>
diff --git a/WebContent/src/modules/conference/browser/library.lzx b/WebContent/src/modules/conference/browser/library.lzx
new file mode 100644
index 0000000..d88ffc2
--- /dev/null
+++ b/WebContent/src/modules/conference/browser/library.lzx
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	<include href="conferenceBrowser.lzx"/>
+</library>
diff --git a/WebContent/src/modules/conference/browser/resources/browser_sub_cit.fla b/WebContent/src/modules/conference/browser/resources/browser_sub_cit.fla
new file mode 100644
index 0000000..c5e5ac6
--- /dev/null
+++ b/WebContent/src/modules/conference/browser/resources/browser_sub_cit.fla
Binary files differ
diff --git a/WebContent/src/modules/conference/browser/resources/browser_sub_cit.swf b/WebContent/src/modules/conference/browser/resources/browser_sub_cit.swf
new file mode 100644
index 0000000..784c5cc
--- /dev/null
+++ b/WebContent/src/modules/conference/browser/resources/browser_sub_cit.swf
Binary files differ
diff --git a/WebContent/src/modules/conference/browser/resources/home.fla b/WebContent/src/modules/conference/browser/resources/home.fla
new file mode 100644
index 0000000..f8d095a
--- /dev/null
+++ b/WebContent/src/modules/conference/browser/resources/home.fla
Binary files differ
diff --git a/WebContent/src/modules/conference/browser/resources/home.png b/WebContent/src/modules/conference/browser/resources/home.png
new file mode 100644
index 0000000..39d1123
--- /dev/null
+++ b/WebContent/src/modules/conference/browser/resources/home.png
Binary files differ
diff --git a/WebContent/src/modules/conference/browser/resources/next.fla b/WebContent/src/modules/conference/browser/resources/next.fla
new file mode 100644
index 0000000..13c844e
--- /dev/null
+++ b/WebContent/src/modules/conference/browser/resources/next.fla
Binary files differ
diff --git a/WebContent/src/modules/conference/browser/resources/next.png b/WebContent/src/modules/conference/browser/resources/next.png
new file mode 100644
index 0000000..7241532
--- /dev/null
+++ b/WebContent/src/modules/conference/browser/resources/next.png
Binary files differ
diff --git a/WebContent/src/modules/conference/browser/resources/pre.fla b/WebContent/src/modules/conference/browser/resources/pre.fla
new file mode 100644
index 0000000..74da78f
--- /dev/null
+++ b/WebContent/src/modules/conference/browser/resources/pre.fla
Binary files differ
diff --git a/WebContent/src/modules/conference/browser/resources/pre.png b/WebContent/src/modules/conference/browser/resources/pre.png
new file mode 100644
index 0000000..7e526f5
--- /dev/null
+++ b/WebContent/src/modules/conference/browser/resources/pre.png
Binary files differ
diff --git a/WebContent/src/modules/conference/browser/resources/read.png b/WebContent/src/modules/conference/browser/resources/read.png
new file mode 100644
index 0000000..b41fa2b
--- /dev/null
+++ b/WebContent/src/modules/conference/browser/resources/read.png
Binary files differ
diff --git a/WebContent/src/modules/conference/browser/resources/refresh.fla b/WebContent/src/modules/conference/browser/resources/refresh.fla
new file mode 100644
index 0000000..dce3961
--- /dev/null
+++ b/WebContent/src/modules/conference/browser/resources/refresh.fla
Binary files differ
diff --git a/WebContent/src/modules/conference/browser/resources/refresh.png b/WebContent/src/modules/conference/browser/resources/refresh.png
new file mode 100644
index 0000000..b912672
--- /dev/null
+++ b/WebContent/src/modules/conference/browser/resources/refresh.png
Binary files differ
diff --git a/WebContent/src/modules/conference/browser/resources/run.fla b/WebContent/src/modules/conference/browser/resources/run.fla
new file mode 100644
index 0000000..65d073e
--- /dev/null
+++ b/WebContent/src/modules/conference/browser/resources/run.fla
Binary files differ
diff --git a/WebContent/src/modules/conference/browser/resources/run.png b/WebContent/src/modules/conference/browser/resources/run.png
new file mode 100644
index 0000000..c77b8d9
--- /dev/null
+++ b/WebContent/src/modules/conference/browser/resources/run.png
Binary files differ
diff --git a/WebContent/src/modules/conference/browser/test/conferenceBrowser_test.jsp b/WebContent/src/modules/conference/browser/test/conferenceBrowser_test.jsp
new file mode 100644
index 0000000..42702c1
--- /dev/null
+++ b/WebContent/src/modules/conference/browser/test/conferenceBrowser_test.jsp
@@ -0,0 +1,14 @@
+<html>
+   <head>
+      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+   
+      <link rel="SHORTCUT ICON" href="http://www.laszlosystems.com/favicon.ico">
+      <title>OpenLaszlo Application</title>
+	<script type="text/javascript" src="<%= request.getContextPath() %>/lps/includes/embed-compressed.js"></script>
+	</head>
+   	<body>
+	    <script type="text/javascript">
+              Lz.swfEmbed({url: 'conferenceBrowser_test.lzx?lzt=swf', bgcolor: '#ffffff', width: '100%', height: '100%', id: 'lzapp', accessible: 'false', wmode: 'transparent'});
+            </script>
+   </body>
+</html>
diff --git a/WebContent/src/modules/conference/browser/test/conferenceBrowser_test.lzx b/WebContent/src/modules/conference/browser/test/conferenceBrowser_test.lzx
new file mode 100644
index 0000000..81eed0e
--- /dev/null
+++ b/WebContent/src/modules/conference/browser/test/conferenceBrowser_test.lzx
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas title="Browser Test" debug="true">
+	<include href="../../../../base/"/>
+	<include href="../conferenceBrowser.lzx"/>
+	
+	<conferenceBrowser name="cb" width="400" height6="800"/>
+</canvas>
diff --git a/WebContent/src/modules/conference/commonVideoComponentAdapter.lzx b/WebContent/src/modules/conference/commonVideoComponentAdapter.lzx
new file mode 100644
index 0000000..cacab65
--- /dev/null
+++ b/WebContent/src/modules/conference/commonVideoComponentAdapter.lzx
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<library>

+

+<class name="commonVideoComponentAdapter" extends="node">

+	

+

+    <handler name="oninit">

+    	var t = this;

+        canvas.videoComp_lc.lc_switchMicMuted = function(publicSID, tMute) {

+            if ($debug) Debug.write("lc_switchMicMuted", publicSID, tMute);

+            canvas.thishib.switchMicMuted.setMute(publicSID, tMute);

+        };

+        canvas.videoComp_lc.lc_giveExclusiveAudio = function(publicSID) {

+            if ($debug) Debug.write("lc_giveExclusiveAudio", publicSID);

+            canvas.thishib.giveExclusiveAudio.setExclusiveAudio(publicSID);

+        };

+        canvas.videoComp_lc.as3ConnectionSuccess = function() {

+        	//FIXME: Throws a Null Pointer Exception if the parent view was already destroyed

+        	t.parent.as3ConnectionSuccess();

+        }

+    </handler>

+    

+    <!---

+        Show the popup with the possibility to choose the device settings

+        @param isSyncUpdate show the popup also if the user has clicked the "do not show again" chceckbox

+        @param interviewPodId the view id

+        @param tx x-position

+        @param ty y-position

+        @param twidth width-position

+        @param theight height-position

+     -->

+    <method name="showDevicePopUpInterview" args="isSyncUpdate,interviewPodId,tx,ty,twidth,theight">

+    	if ($debug) Debug.write("showDevicePopUpInterview ",isSyncUpdate,interviewPodId,tx,ty,twidth,theight);

+        canvas.sendViaLocalConnection(canvas.vid_lc_name, "createEditRecordStream", [isSyncUpdate, true, interviewPodId]);

+    </method>

+    

+    <!---

+        Show the popup with the possibility to choose the device settings

+        @param isSyncUpdate show the popup also if the user has clicked the "do not show again" chceckbox

+     -->

+    <method name="showDevicePopUp" args="isSyncUpdate">

+    	if ($debug) Debug.write("showDevicePopUp ",isSyncUpdate);

+        canvas.sendViaLocalConnection(canvas.vid_lc_name, "createEditRecordStream", [isSyncUpdate, false, -1]);

+    </method>

+    

+    <!---

+        Invoked after the user enters the room to connect the SWF10 app to the server via rtmp(t/s)

+     -->

+    <method name="reconnectSuccess" args="isInterview">

+    	if ($debug) Debug.write("Send reconnectSuccess to ",canvas.rtmp_lc_name);

+    	canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "reconnectSuccess", [canvas.thishib.src, canvas.publicSID, hib.userobject, isInterview]);

+    </method>

+    

+    <handler name="onismoderator" reference="canvas" args="m">

+        canvas.sendViaLocalConnection(canvas.vid_lc_name, "ismoderatorChanged", [m]);

+    </handler>

+

+    <!---

+        Creates video object

+    -->

+    <method name="createVideo" args="publicSID,displayName,broadcastId,avsettings,interviewPodId,object">

+        canvas.sendViaLocalConnection(canvas.vid_lc_name, "createVideo", [publicSID, displayName, broadcastId, avsettings, interviewPodId, object]);

+    </method>

+

+    <method name="createVideoObject" args="publicSID,isBroadcasting,interviewPodId,object">

+        canvas.sendViaLocalConnection(canvas.vid_lc_name, "createVideoObject", [publicSID, isBroadcasting, interviewPodId,object]);

+    </method>

+

+    <!---

+        invoked whenever a User starts to Stream Video in this Room,

+        interviewPodId has only a meaning in the Room Type Interview

+     -->

+    <method name="startStream" args="publicSID,broadcastId,firstname,lastname,interviewPodId,vWidth,vHeight">

+        canvas.sendViaLocalConnection(canvas.vid_lc_name, "startStream", [publicSID,broadcastId,firstname,lastname,interviewPodId,vWidth,vHeight]);

+    </method>

+

+    <!---

+        invoked remotely by Red5-notification

+        shows a green light if somebody is speaking

+        @param string broadcastId broadcastId

+        @param boolean bool show light on/off

+    -->

+    <method name="setSpeakingByPos" args="publicSID,bool">

+        canvas.sendViaLocalConnection(canvas.vid_lc_name, "setSpeakingByPos", [publicSID, bool]);

+    </method>

+

+    <!---

+        stops the streaming but does not destroy the view

+        @param int broadcastId broadcastId

+     -->

+    <method name="closeStreamClient" args="publicSID">

+        canvas.sendViaLocalConnection(canvas.vid_lc_name, "closeStreamClient", [publicSID]);

+    </method>

+

+    <!---

+        stops the streaming but and destroys the view

+        @param int broadcastId broadcastId

+     -->

+    <method name="disconnectclient" args="publicSID">

+        canvas.sendViaLocalConnection(canvas.vid_lc_name, "disconnectclient", [publicSID]);

+    </method>

+

+    <method name="resetAllValues">

+        canvas.sendViaLocalConnection(canvas.vid_lc_name, "resetAllValues",null);

+    </method>

+

+    <!---

+     invoked if another client logs into the room

+    after choosing devices -->

+    <method name="setAVSettingsToClient" args="rcl">

+        canvas.sendViaLocalConnection(canvas.vid_lc_name, "setAVSettingsToClient", [rcl]);

+    </method>

+

+    <method name="createEditRecordStream" args="syncUpdate"><![CDATA[

+        //this.syncUpdate = syncUpdate;

+        //h.getBroadCastId.doCall();

+        canvas.sendViaLocalConnection(canvas.vid_lc_name, "createEditRecordStream", [syncUpdate]);

+    ]]></method>

+

+    <method name="removeVideoByUser" args="publicSID">

+        canvas.sendViaLocalConnection(canvas.vid_lc_name, "removeVideoByUser", [publicSID]);

+    </method>

+

+    <!--

+        Mutes/unmutes a sound of user's video

+        with the publicSID

+    -->

+    <method name="muteSound" args="publicSID, bool">

+    	if ($debug) Debug.write("muteSound :: ",publicSID,bool);

+        canvas.sendViaLocalConnection(canvas.vid_lc_name, "muteSound", [publicSID, bool]);

+    </method>

+

+    <method name="giveExclusiveAudio" args="publicSID">

+    	if ($debug) Debug.write("giveExclusiveAudio :: ",publicSID);

+        canvas.sendViaLocalConnection(canvas.vid_lc_name, "giveExclusiveAudio", [publicSID]);

+    </method>

+

+    <!---

+        Updates microphone's state of roomClient

+    -->

+    <method name="updateMuteStatusVideoView" args="roomClient">

+    	if ($debug) Debug.write("updateMuteStatusVideoView :: ",roomClient);

+        canvas.sendViaLocalConnection(canvas.vid_lc_name, "updateMuteStatusVideoView", [roomClient]);

+    </method>

+

+    <!---

+        Shows the window with device settings

+    -->

+    <method name="changeDevice">

+    	if ($debug) Debug.write("changeDevice :: ");

+        canvas.sendViaLocalConnection(canvas.vid_lc_name, "changeDevice", null);

+    </method>

+

+    <!---

+        Shows the exit dialog

+    -->

+    <method name="exitRoom">

+    	if ($debug) Debug.write("exitRoom :: ");

+        canvas.sendViaLocalConnection(canvas.vid_lc_name, "exitRoom", null);

+    </method>

+

+    <!---

+        Shows the close whiteboard dialog

+    -->

+    <method name="closeWhiteboard">

+    	if ($debug) Debug.write("closeWhiteboard :: ");

+        canvas.sendViaLocalConnection(canvas.vid_lc_name, "closeWhiteboard", null);

+    </method>

+    

+</class>

+

+</library>

diff --git a/WebContent/src/modules/conference/commonVideoViewContent.lzx b/WebContent/src/modules/conference/commonVideoViewContent.lzx
new file mode 100644
index 0000000..6f8f018
--- /dev/null
+++ b/WebContent/src/modules/conference/commonVideoViewContent.lzx
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+
+<class name="commonVideoViewContent" extends="view">
+
+    <!--
+		This method returns a free position for a new video object
+		@param horizontal offset between two video objects
+	 -->
+    <method name="getVideoObjectFreePos" args="offsetLength,videoWidth,videoHeight">
+        <![CDATA[
+            var newx = 20;
+            var newy = 0;
+            var posFound = false;
+            while (!posFound) {
+                posFound = true;
+                for (var i=0;i<this.subviews.length;i++){
+                    var subview = this.subviews[i];
+                    var left = subview.x;
+                    var right = subview.x + subview.width;
+                    var top = subview.y;
+                    var bottom = subview.y + subview.height;
+
+                    if( !(newx > right
+                        || (newx + videoWidth) < left
+                        || newy > bottom
+                        || (newy + videoHeight) < top ))
+                    {
+                        newx = right + offsetLength;
+                        posFound = false;
+                    }
+                    if ((newx + videoWidth) >= canvas.width) {
+                        newx = 20;
+                        newy += 10;
+                        posFound = false;
+                    }
+                }
+            }
+
+            if ((newy + videoHeight) >= canvas.height) {
+                newy = 0;
+            }
+
+            var result = [newx, newy];
+            return result;
+        ]]>
+    </method>
+
+</class>
+
+<class name="commonVideoViewContentHideWhiteboard" extends="view">
+
+    <!--
+		This method returns a free position for a new video object
+		@param horizontal offset between two video objects
+	 -->
+    <method name="getVideoObjectFreePos" args="offsetLength,videoWidth,videoHeight">
+        <![CDATA[
+            var newx = 20;
+            var newy = 0;
+            var posFound = false;
+            while (!posFound) {
+                posFound = true;
+                for (var i=0;i<this.subviews.length;i++){
+                    var subview = this.subviews[i];
+                    var left = subview.x;
+                    var right = subview.x + subview.width;
+                    var top = subview.y;
+                    var bottom = subview.y + subview.height;
+
+                    if( !(newx > right
+                        || (newx + videoWidth) < left
+                        || newy > bottom
+                        || (newy + videoHeight) < top ))
+                    {
+                        newx = right + offsetLength;
+                        posFound = false;
+                    }
+                    if ((newx + videoWidth) >= this.width) {
+                        newx = 20;
+                        newy += 10;
+                        posFound = false;
+                    }
+                }
+            }
+
+            if ((newy + videoHeight) >= parent.height) {
+                newy = 0;
+            }
+
+            var result = [newx, newy];
+            return result;
+        ]]>
+    </method>
+
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/conference/conferenceMenubar.lzx b/WebContent/src/modules/conference/conference/conferenceMenubar.lzx
new file mode 100644
index 0000000..ff3262d
--- /dev/null
+++ b/WebContent/src/modules/conference/conference/conferenceMenubar.lzx
@@ -0,0 +1,270 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<class name="restrictedConferenceMenubar" extends="conferenceMenubar" viewType="restricted" />
+
+	<class name="interviewConferenceMenubar" extends="conferenceMenubar" viewType="interview"/>
+	
+	<class name="conferenceMenubar" extends="view" height="28" width="${ canvas.width }" 
+						bgcolor="$once{ canvas.getThemeColor('styleMenuBarBaseColor') }" >
+						
+		<attribute name="viewType" value="conference" type="string" />
+						
+	    <attribute name="selected" value="null" />
+    
+	    <method name="sendOpenMenu" args="menuref">
+	    	if (this.selected != null) {
+	    		this.selected.setAttribute("selected",false);
+	    	}
+	    	this.selected = menuref;
+	    	this.selected.setAttribute("selected",true);
+	    </method>
+			
+		<view name="itemlist" layout="axis:x;spacing:0" >
+			
+			<conferenceExitButton name="_exitbtn" 
+				text_y_inset="4" text_fontsize="14" down_y_inset="8" height="28" />
+				
+			<baseMenuMeetingsItem text="$once{ canvas.getLabelName(245) }" 
+						text_y_inset="4" text_fontsize="14" down_y_inset="8"
+						textToolTip="" height="28"
+						visible="${ (classroot.viewType=='conference') ? true : ((canvas.ismoderator) ? true : ((canvas.isAllowedToDraw) ? true : false )) }"
+						>
+				<handler name="onclick">
+			    	new lz.conferenceMenuFiles(canvas,{
+			    				x:this.getAttributeRelative("x",canvas),
+			    				y:this.getAttributeRelative("y",canvas)+this.height,
+			    				btnRef:this,
+			    				list:this.list
+			    			});
+			        this.parent.parent.sendOpenMenu(this);
+			    </handler>
+			</baseMenuMeetingsItem>
+			
+			<baseMenuMeetingsItem text="$once{ canvas.getLabelName(635) }" 
+						text_y_inset="4" text_fontsize="14" down_y_inset="8"
+						textToolTip="" height="28"
+						visible="${ (classroot.viewType=='conference') ? true : ((canvas.ismoderator) ? true : ((canvas.isAllowedToDraw) ? true : false )) }"
+						>
+				<handler name="oninit">
+					if(canvas.currentRoomObj.hideActionsMenu){	      
+						this.setAttribute("visibility", "hidden");
+					}
+				</handler>		
+				<handler name="onclick">
+			    	new lz.conferenceMenuActions(canvas,{
+			    				x:this.getAttributeRelative("x",canvas),
+			    				y:this.getAttributeRelative("y",canvas)+this.height,
+			    				btnRef:this
+			    			});
+			        this.parent.parent.sendOpenMenu(this);
+			    </handler>
+			</baseMenuMeetingsItem>
+			
+		</view>
+	
+	</class> 
+	
+	<class name="conferenceExitButton" extends="view" height="34" width="${ this._ctext.width+36 }" >
+	
+	    <attribute name="text_y_inset" value="6" type="number" />
+	    <attribute name="text_fontsize" value="14" type="number" />
+	    
+	    <attribute name="down_y_inset" value="10" type="number" />
+	    
+	    <handler name="onmouseover">
+            this.bgc.setAttribute('visibility','visible');
+	    </handler>
+	    <handler name="onmouseout">
+            this.bgc.setAttribute('visibility','hidden');
+	    </handler>
+	    
+	    <handler name="oninit">
+			<![CDATA[
+				if (canvas.isinitRoomDirect || canvas.remoteUserLogin || canvas.secureRemoteUserLogin) {
+	            	if ($debug) Debug.write("this mbarcontent ",this);
+	            	if (canvas.destroyExitButton) {
+	                    this.destroy();
+	            	}
+	            }
+            ]]>
+		</handler>
+		<handler name="onclick">
+            canvas._videocontainer._videoviewcontent.exitRoom();
+		</handler>
+	    
+	    <view width="${ parent.width-1 }" bgcolor="0xFFFFFF" opacity="0.4" height="$once{ parent.height - 2}" y="1"
+	        visibility="hidden" name="bgc"/>
+	        
+	    <image src="$once{ canvas.getThemeImage( 'exit_btn_rsc' ) }" y="4" x="4" />
+	    
+	    <view width="1" height="${ parent.height }" y="0" bgcolor="0xEEEEEE" x="${ parent.width-1 }" />
+	    
+	    <labelText labelid="789" name="_ctext" fontstyle="plain" fgcolor="0xFFFFFF"
+	        	fontsize="$once{ parent.text_fontsize }" y="$once{ parent.text_y_inset }" x="30" />
+	
+	    <labelTooltip name="_textToolTip" labelid="309" multiline="false" />
+	    
+	</class>
+	
+	
+	
+	<class name="conferencDropDownMenuItem" extends="view" height="36">
+	
+		<attribute name="isSpacer" value="false" type="boolean" />
+	
+		<attribute name="enabled" type="boolean" setter="this.setEnabled(enabled)" />
+		
+		<method name="setEnabled" args="e">
+			this.enabled = e;
+			if (!this.isinited) {
+				return;
+			}
+			if (this.enabled) {
+				this._ctext.setAttribute("fgcolor",canvas.getThemeColor('menuTextColor'));
+				this._ctextTooltip.setAttribute("fgcolor",canvas.getThemeColor('menuTextColor'));
+			} else {
+				this._ctext.setAttribute("fgcolor",canvas.getThemeColor('menuTextDisabledColor'));
+				this._ctextTooltip.setAttribute("fgcolor",canvas.getThemeColor('menuTextDisabledColor'));
+			}
+			if (this.command) {
+				this.command.enabled = this.enabled;
+			}
+		</method>
+		
+		<attribute name="labelid" type="number"
+                   setter="this.setLabelId( labelid )"   when="once" />
+                   
+		<method name="setLabelId" args="id" >
+            this.labelid = id;
+            if ( this.labelid ) {
+                this._ctext.setAttribute('text', canvas.getLabelName(this.labelid));
+            }
+        </method>
+		
+		<attribute name="command" type="expression"
+                   setter="this.setCommand( command )"   when="once" />
+		
+		<method name="setCommand" args="cmd" >
+            this.command = cmd;
+            if ( this.command ) {
+                this._ctextTooltip.setAttribute('text',canvas.getLabelName(command.tipLabelId));
+            }
+        </method>
+        
+        <handler name="onclick">
+        	if (!this.enabled) {
+        		return;
+        	}
+        	this.command.execute(null);
+        	parent.parent.close();
+        </handler>
+        
+        <handler name="onmouseover">
+	        this._bg.setAttribute("visibility","visible");
+	    </handler>
+	    
+	    <handler name="onmouseout">
+	        this._bg.setAttribute("visibility","hidden");
+	    </handler>
+	
+	    <view name="_bg" visibility="hidden" width="${ parent.width-2 }" y="0" x="1"
+	          bgcolor="0xFFFFFF" opacity="0.5" height="36" />
+	    
+	    <text name="_ctext" fontstyle="bold" fgcolor="0x666666"
+	        	fontsize="14" y="2" x="10" />
+	        	
+	    <text name="_ctextTooltip" fontstyle="plain" fgcolor="0x666666"
+	        	fontsize="10" y="20" x="10" />	
+		
+	</class> 
+	
+	<class name="conferenceMenuFiles" extends="baseDropDownMenuList"
+			height="${ this._content.height+2 }" width="${ this._content.width+2 }">
+			
+		<view name="_content" x="1" y="1" 
+			layout="axis:y;spacing:1" bgcolor="$once{ canvas.getThemeColor('menuBackgroundColor') }" >
+			
+			<conferencDropDownMenuItem labelid="15" command="cmd_importFile"
+						enabled="${ canvas.ismoderator }" />
+			
+		</view>
+		
+	</class>
+	
+	<class name="conferenceMenuActions" extends="baseDropDownMenuList"
+			height="${ this._content.height+2 }" width="${ this._content.width+2 }">
+			
+		<handler name="oninit">
+	        this.fixWidth();
+		</handler>
+			
+		<view name="_content" x="1" y="1" 
+			layout="axis:y;spacing:1" bgcolor="$once{ canvas.getThemeColor('menuBackgroundColor') }" >
+			
+			<conferencDropDownMenuItem labelid="213" command="cmd_invitation" 
+						enabled="${ canvas.ismoderator }" />
+			<horizontalDropDownSpacer />
+			<conferencDropDownMenuItem labelid="239" command="cmd_shareDesktop" 
+						enabled="${ canvas.ismoderator }" />			
+			<horizontalDropDownSpacer />
+			<!-- 
+			<conferencDropDownMenuItem labelid="306" command="cmd_editCamMicSettings" 
+						enabled="true" />			
+			<horizontalDropDownSpacer />
+			 -->
+			<conferencDropDownMenuItem labelid="784" command="cmd_applyforMod"
+						enabled="${ !canvas.ismoderator }" />	
+			<horizontalDropDownSpacer />
+			<conferencDropDownMenuItem labelid="785" command="cmd_applyforWhiteBoard"
+						enabled="${ !canvas.ismoderator }" />	
+			<horizontalDropDownSpacer />
+			<conferencDropDownMenuItem labelid="786" command="cmd_applyforAV"
+						enabled="${ !canvas.ismoderator }" />				
+			<horizontalDropDownSpacer />
+			<conferencDropDownMenuItem labelid="24" command="cmd_createPoll" 
+						enabled="${ canvas.ismoderator }" />
+			<horizontalDropDownSpacer />			
+			<conferencDropDownMenuItem labelid="37" command="cmd_pollResults" 
+						enabled="true" />
+			<horizontalDropDownSpacer />
+			<conferencDropDownMenuItem labelid="42" command="cmd_checkPollVoted" 
+						 enabled="true"/>
+			<horizontalDropDownSpacer
+						 visible="$once{ (canvas.RED5_SIP_ENABLE == 'yes') ? true : false }" />
+            <conferencDropDownMenuItem labelid="1447" command="cmd_showSipDialer" 
+            			 visible="$once{ (canvas.RED5_SIP_ENABLE == 'yes') ? true : false }"
+            			 enabled="$once{ (canvas.RED5_SIP_ENABLE == 'yes') ? true : false }"/>
+            <horizontalDropDownSpacer />
+			<conferencDropDownMenuItem labelid="1126" command="cmd_editWhiteboardDefault" 
+						 enabled="true"/>
+				
+		</view>
+		
+	</class>
+	
+
+
+	
+
+
+</library>
diff --git a/WebContent/src/modules/conference/conference/library.lzx b/WebContent/src/modules/conference/conference/library.lzx
new file mode 100644
index 0000000..bc15f04
--- /dev/null
+++ b/WebContent/src/modules/conference/conference/library.lzx
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	<include href="roomListItem.lzx" />
+	<include href="roomListDetails.lzx" />
+    <include href="conferenceMenubar.lzx" />
+
+</library>
diff --git a/WebContent/src/modules/conference/conference/roomListDetails.lzx b/WebContent/src/modules/conference/conference/roomListDetails.lzx
new file mode 100644
index 0000000..f8fdc5b
--- /dev/null
+++ b/WebContent/src/modules/conference/conference/roomListDetails.lzx
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="userRoomTabItem" extends="view" 
+	   width="$once{ parent.width }" >
+
+	<attribute name="user_id" value="0" type="number" />
+	<attribute name="username" value="" type="string" />
+	<attribute name="usertime" value="" type="string" />
+	<attribute name="cbtext" value="" type="string" />
+	
+	<handler name="oninit">
+		<![CDATA[
+	        var downloadurl = canvas.protocol+'://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+	        		+canvas.httpRootKey+'DownloadHandler?fileName=CHAT'
+	        		+'&moduleName=chat&parentPath=&room_id='
+	        		+'&remoteUserid='+this.user_id
+	        		+'&sid='+canvas.sessionId;
+	        		
+	        if ($debug) Debug.write("downloadurl "+downloadurl);
+	        this._userpic.setAttribute('src',downloadurl);	
+	        
+	        if ($debug) Debug.write("TIME: "+this.usertime);
+	        
+        ]]>
+	</handler>
+	
+	<image name="_userpic" />
+
+	<text text="$once{ parent.username }" x="40"
+		  width="$once{ parent.width - 40 }"
+		  selectable="true" />
+	
+	<text text="$once{ parent.usertime }" x="40" y="20" />
+
+</class>
+
+<class name="roomListDetails" extends="view" >
+
+	<attribute name="roomid" value="0" type="number" />
+	<attribute name="roomname" value="" type="string" />
+	<attribute name="roomcomment" value="" type="string" />
+	<attribute name="currentusers" value="null" />
+	
+	
+	<method name="doinit" args="currentusers,roomid,roomname,roomcomment">
+		<![CDATA[
+			if ($debug) Debug.write("doinit",currentusers,roomid,roomname);
+			this.setAttribute('currentusers',currentusers);
+			this.setAttribute('roomid',roomid);
+			this.setAttribute('roomname',roomname);
+			this.setAttribute('roomcomment',roomcomment);
+			this._roomname.setAttribute('text',canvas.getLabelName(406)+" "+roomname);
+			this._roomcomment.setAttribute('text', roomcomment);
+			this._users.clearList();
+			if (this.currentusers != null) {
+				for (var i = 0;i<this.currentusers.length;i++){
+					var username = this.currentusers[i].firstname + " "
+							+ this.currentusers[i].lastname
+							+ " (" + this.currentusers[i].username + ") ";
+					 new lz.userRoomTabItem(this._users._users._cbtext,{user_id:this.currentusers[i].user_id,username:username,usertime:canvas.getLabelName(408)+parseDateToStringTime(this.currentusers[i].roomEnter)});
+				}
+			}
+			this.bdatum.setAttribute("visibility", "hidden");
+    		this.edatum.setAttribute("visibility", "hidden");
+    		this.l_bdatum.setAttribute("visibility", "hidden");
+    		this.l_edatum.setAttribute("visibility", "hidden");
+    		if (roomid > 0) {
+				this.getAppointmentData.doCall();
+			}
+		]]>
+	</method>
+	
+	<!-- Retrieving Appointmentdata for Meeting -->
+	<netRemoteCallHib name="getAppointmentData" remotecontext="$once{ canvas.thishib }" 
+		funcname="conferenceservice.getAppointMentDataForRoom" >   
+		<netparam><method name="getValue">return parent.parent.roomid;</method></netparam>
+		<handler name="ondata" args="value">	
+		    <![CDATA[
+		    	if ($debug) Debug.write("getAppointmentData: ",value);
+		    	
+		    	if(value!=null){
+		    		
+		    		if ($debug) Debug.write("Appointment Name : " + value.appointmentName);
+		    		parent.bdatum.setAttribute('text',""+value.appointmentStarttime);
+		    		parent.edatum.setAttribute('text',""+value.appointmentEndtime);
+		    		
+		    		
+		    		parent.bdatum.setAttribute("visibility","visible");
+		    		parent.edatum.setAttribute("visibility","visible");
+		    		parent.l_bdatum.setAttribute("visibility","visible");
+		    		parent.l_edatum.setAttribute("visibility","visible");
+		    		
+		    		if ($debug) Debug.write("Appointment Start : " + value.appointmentStarttime);
+		    		if ($debug) Debug.write("Appointment End : " + value.appointmentEndtime);
+		    		
+		    	} else{
+		    		
+		    		parent.bdatum.setAttribute('text','');
+		    		parent.edatum.setAttribute('text','');
+		    		
+		    		parent.bdatum.setAttribute("visibility", "hidden");
+		    		parent.edatum.setAttribute("visibility", "hidden");
+		    		parent.l_bdatum.setAttribute("visibility", "hidden");
+		    		parent.l_edatum.setAttribute("visibility", "hidden");
+		    		
+		    	}
+		    ]]>	        	          				
+		</handler>	
+	</netRemoteCallHib> 	
+	
+	<netRemoteCallHib name="getRoomClientsMapByRoomId" funcname="conferenceservice.getRoomClientsMapByRoomId" 
+		remotecontext="$once{ canvas.thishib }" >   
+		<netparam><method name="getValue">return parent.parent.roomid;</method></netparam>
+		<handler name="ondata" args="value">	
+		    <![CDATA[
+		    	if ($debug) Debug.write("getRoomClientsListByRoomId: ",value);
+		    	parent.currentusers = value;
+		    	parent.doinit();
+		    ]]>	        	          				
+		</handler>	
+	</netRemoteCallHib>   	
+	
+	<labelText labelid="404" fontstyle="italic" width="200" />
+	
+	<labelText name="_roomname" labelid="406" y="20" width="200" />
+	
+	<labelText name="l_bdatum" labelid="570" y="40" width="50" visible="false" />
+	<labelText name="bdatum" y="40" x="75" width="100" text="" visible="false" /> 	            	
+
+	<labelText name="l_edatum" labelid="571" y="60" width="50" visible="false" />
+	<labelText name="edatum" y="60" x="75" width="100" text="" visible="false" />
+
+	<labelText name="_roomcomment" x="75" y="${parent.l_edatum.y + (parent.l_edatum.visible ? 30 : 0)}" width="100" text=""/>
+	<labelText labelid="270" y="${parent._roomcomment.y}" width="50" />
+
+	<labelText name="user_label" labelid="407" y="${10 + parent._roomcomment.y + parent._roomcomment.height}" width="200" />
+	<view name="_users" width="300" y="${30 + parent._roomcomment.y + parent._roomcomment.height}"
+				height="${ parent.height - parent._users.y }" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }">
+		<method name="clearList">
+			for (var eg in this._users._cbtext.subviews) 
+				this._users._cbtext.subviews[eg].destroy();
+		</method>
+		<view name="_users" width="299" height="${ parent.height - 1 }" bgcolor="0xFFFFFF" 
+			  x="1" y="1" clip="true" >
+			<view name="_cbtext" width="286" layout="axis:y;spacing:2" />
+			<om_vscrollbar />
+		</view>
+	</view>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/conference/roomListItem.lzx b/WebContent/src/modules/conference/conference/roomListItem.lzx
new file mode 100644
index 0000000..79f1e8f
--- /dev/null
+++ b/WebContent/src/modules/conference/conference/roomListItem.lzx
@@ -0,0 +1,205 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<class name="roomListItem" extends="view" bgcolor="$once{ canvas.bgColorMenuItems }" 
+		   height="50" onmouseover="" onmouseout="" width="478" >
+
+		<attribute name="ispublic" value="false" type="boolean" />
+		<attribute name="isaudience" value="false" type="boolean" />
+		<attribute name="obj" value="null" />
+		<attribute name="roomid" value="0" type="number" />
+		<attribute name="starttime" value="" type="string" />
+		<attribute name="roomname" value="" type="string" />
+		<attribute name="roomcomment" value="" type="string" />
+
+		<attribute name="roomClassName" value="conferenceView" type="string" />
+		<attribute name="currentusers" value="null" />
+
+		<attribute name="maxUsers" value="4" type="number" />
+		
+		<attribute name="roomType" value="0" type="number" />
+
+		<attribute name="checkForMaxUsers" value="false" type="boolean" />
+
+		<handler name="oninit">
+		<![CDATA[
+
+		    if (obj != null) {
+    			//if ($debug) Debug.write("obj: ",obj);
+    			if (this.ispublic) {
+    				this.maxUsers = obj.numberOfPartizipants;
+    			} else {
+    				this.maxUsers = obj.room.numberOfPartizipants;
+    			}
+    			this._users.setAttribute('text', canvas.getLabelName(398) + ' '
+    							+ this.currentusers.length + " / " + this.maxUsers);
+    			var tString = canvas.getLabelName(401) + "<br/>";
+    			for (var i = 0; i < this.currentusers.length; i++) {
+    				tString += this.currentusers[i].firstname + " "
+    						+ this.currentusers[i].lastname + " ("
+    						+ this.currentusers[i].username + ") "
+    						+ canvas.getLabelName(399)
+    						+ parseDateToStringTime(this.currentusers[i].roomEnter)
+    						+ " <br/>";
+    			}
+    			this._labeltooltip.setAttribute('text', tString);
+		    }
+		]]>
+		</handler>
+
+		<handler name="onclick">
+			if (obj != null) {
+    			canvas.isConference = !this.isaudience;
+    			if (this.isaudience)
+    				connectedIsAudience = '_' + 'audi';
+    			if (this.ispublic) {
+    				hib.conferencedomain = "public";
+    				hib.currentroomid = this.obj.rooms_id;
+    			} else {
+    				hib.conferencedomain = this.obj.organisation.organisation_id;
+    				hib.currentroomid = this.obj.room.rooms_id;
+    			}
+			}
+			parent.parent.parent.parent.parent._roomlistdetails.doinit(
+    					this.currentusers, this.roomid, this.roomname, this.roomcomment);
+		</handler>
+
+		<method name="checkMaxUsers">
+		<![CDATA[
+			if (this.currentusers == null || this.currentusers.length < this.maxUsers) {
+				this.enterRoom();
+			} else {
+				new lz.labelerrorPopup(canvas,{errorlabelid:99});
+				//new lz.rpcErrorDialog(canvas.main_content._content.inner, {
+				//			errorid : 30
+				//		});
+			}
+		]]>
+		</method>
+		
+		<method name="enterRoom">
+			if (this.obj == null) {
+				this.getRoomByOwnerAndType.doCall();
+			} else {
+				this.initRoom();
+			}
+		</method>
+		
+		<netRemoteCallHib name="getRoomByOwnerAndType" funcname="conferenceservice.getRoomByOwnerAndType"
+            remotecontext="$once{ canvas.thishib }" >
+			<netparam><method name="getValue">return canvas.sessionId;</method></netparam>  
+            <netparam> <method name="getValue">return parent.parent.roomType;</method></netparam>
+            <netparam> <method name="getValue">return parent.parent.roomname;</method></netparam>
+            <handler name="ondata" args="value">
+            <![CDATA[
+                if ($debug) Debug.write("getRoomByOwnerAndType: ", value);
+                if (value != null) {
+                    parent.obj = value;
+                    parent.enterRoom();
+                }
+            ]]>
+            </handler>
+        </netRemoteCallHib>
+
+		<method name="initRoom">
+			
+			canvas.isConference = !this.isaudience;
+			if (this.isaudience)
+				connectedIsAudience = '_' + 'audi';
+			if (this.ispublic) {
+				var roomObj = this.obj;
+				hib.conferencedomain = "public";
+				hib.currentroomid = this.obj.rooms_id;
+				//Debug.write("ispublic");
+			} else {
+				var roomObj = this.obj.room;
+				hib.conferencedomain = this.obj.organisation.organisation_id;
+				hib.currentroomid = this.obj.room.rooms_id;
+				//Debug.write("non ispublic");
+			}
+			
+			if (this.roomType == 1) {
+				this.roomClassName = canvas.conferenceRoomModule;
+			} else if (this.roomType == 2) {
+				new lz.labelerrorPopup(canvas,{error:'No RoomType currently available for roomTypeId 2'});
+				this.roomClassName = canvas.restrictedRoomModule;
+			} else if (this.roomType == 3) {
+                this.roomClassName = canvas.restrictedRoomModule;
+            } else if (this.roomType == 4) {
+                this.roomClassName = canvas.interviewRoomModule;
+            } else if (this.roomType == 5) {
+                this.roomClassName = canvas.customRoomModule;
+            } else {
+				if ($debug) Debug.warn("Not known RoomType: ",this.roomType);
+			}
+			//the conferencedomain is no more interesting, swagner 07.10.2009
+			//if ($debug) Debug.write("hib.conferencedomain: ", hib.conferencedomain);
+
+			if ($debug) Debug.write("Test Setup ",this.roomClassName);
+            
+			new lz.testSetup(canvas,{roomClassName:this.roomClassName,roomObj:roomObj});
+			
+		</method>
+
+		<netRemoteCallHib name="getRoomClientsListByRoomId" funcname="conferenceservice.getRoomClientsListByRoomId"
+			remotecontext="$once{ canvas.thishib }" >
+			<netparam> <method name="getValue">return parent.parent.roomid;</method></netparam>
+			<handler name="ondata" args="value">
+			<![CDATA[
+				if ($debug) Debug.write("getRoomClientsListByRoomId: ", value);
+				parent.currentusers = value;
+				parent.oninit.sendEvent();
+				if (parent.checkForMaxUsers) {
+					parent.checkMaxUsers();
+				}
+			]]>
+			</handler>
+		</netRemoteCallHib>
+
+		<labelText text="$once{ parent.roomname }" />
+
+		<labelText name="_users" y="26" />
+		<image name="_r" src="$once{ canvas.getThemeImage('reload_rsc') }" x="130" y="26"
+			onclick="parent.getRoomClientsListByRoomId.doCall()" >
+			<labelTooltip labelid="402" />
+		</image>
+  
+		<method name="checkConditionsWhenButtonClicked" args="_clicked">
+		<![CDATA[
+			if (parent.parent.parent.parent.parent.parent.parent.parent.finishedTabsQuantity < 3) {
+				parent.parent.parent.parent.parent.parent.parent.parent.clickedButton = _clicked;
+			} else {
+				checkForMaxUsers = true;
+				getRoomClientsListByRoomId.doCall();
+			}
+		]]>
+		</method>
+
+		<simpleLabelButton labelid="131" x="364" width="100" height="24" y="24"
+			onclick="parent.checkConditionsWhenButtonClicked(this)">
+		</simpleLabelButton>
+		
+		<labelTooltip multiline="true" name="_labeltooltip" />
+
+	</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/activitylist/activityList.lzx b/WebContent/src/modules/conference/flexibleConferenceRoom/activitylist/activityList.lzx
new file mode 100644
index 0000000..b90b20e
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/activitylist/activityList.lzx
@@ -0,0 +1,591 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="simplebaseItemActivityList" extends="view" height="40" bgcolor="$once{ canvas.getThemeColor('baseMouseOvercolorizer') }">
+    
+    <attribute name="message" value="" type="string" />
+    
+    <attribute name="rcl" value="null" />
+    
+    <attribute name="tStamp" value="null" />
+    
+    <method name="removeObject">
+        this.sendClearMessage(false);
+    </method>
+    
+    <method name="closeItem">
+        this._doHide.doStart();
+    </method>
+    
+    <method name="destroyItem">
+        this.destroy();
+        parent.scrollToMax();
+    </method>
+    
+    <method name="sendClearMessage" args="bool">
+        canvas.thishib.sendMessageWithClient.sendAdvMessage("hideActivityObj",bool,this.tStamp);
+    </method>
+    
+    <miniIcons resource="allow_deny_icon_rsc" visible="${ canvas.ismoderator }"
+               x="$once{ parent.width - 18 }" y="0">
+        <handler name="onclick">
+            this.parent.removeObject();
+        </handler>
+        <labelTooltip labelid="154" />
+    </miniIcons>   
+    
+    <animator name="_doHide" attribute="opacity" duration="1250" to="0" start="false">
+        <handler name="onstop">
+            parent.destroyItem();
+        </handler>
+    </animator>    
+    
+</class>	
+	
+<class name="baseItemActivityList" extends="view" height="40" bgcolor="$once{ canvas.getThemeColor('baseMouseOvercolorizer') }">
+	
+	<attribute name="message" value="" type="string" />
+	
+	<attribute name="labelidToolTipOkButton" value="1360" type="number" />
+	<attribute name="labelidToolTipDenyButton" value="1361" type="number" />
+    
+    <attribute name="rcl" value="null" />
+    
+    <attribute name="tStamp" value="null" />
+    
+    <method name="removeObject">
+        this.sendClearMessage(false);
+    </method>
+    
+    <method name="closeItem">
+    	this._doHide.doStart();
+    </method>
+    
+    <method name="destroyItem">
+        this.destroy();
+        parent.scrollToMax();
+    </method>
+    
+    <method name="sendClearMessage" args="bool">
+		canvas.thishib.sendMessageWithClient.sendAdvMessage("hideActivityObj",bool,this.tStamp);
+    </method>
+    
+    <miniIcons resource="allow_ok_icon_rsc" visible="${ canvas.ismoderator }"
+    		   x="$once{ parent.width - 18 }" >
+        <handler name="onclick">
+            this.parent.applyObject();
+        </handler>
+        <labelTooltip labelid="$once{ parent.parent.labelidToolTipOkButton }" />
+    </miniIcons> 
+               
+    <miniIcons resource="allow_deny_icon_rsc" visible="${ canvas.ismoderator }"
+    		   x="$once{ parent.width - 18 }" y="16">
+        <handler name="onclick">
+            this.parent.removeObject();
+        </handler>
+        <labelTooltip labelid="$once{ parent.parent.labelidToolTipDenyButton }" />
+    </miniIcons>   
+    
+    <animator name="_doHide" attribute="opacity" duration="1250" to="0" start="false">
+        <handler name="onstop">
+            parent.destroyItem();
+        </handler>
+    </animator>    
+	
+</class>
+
+<class name="activityListRestrictedRoomAV" extends="baseItemActivityList">
+    
+    <method name="applyObject">
+        canvas.thishib.setBroadCastingFlag.publicSIDOfNewModerator = this.rcl.publicSID;
+        canvas.thishib.setBroadCastingFlag.isAllowedToBroadCastAV = true;
+        canvas.thishib.setBroadCastingFlag.avsettings = "av";
+        canvas.thishib.setBroadCastingFlag.doCall(); 
+        //this._doHide.doStart();
+        this.sendClearMessage(true);
+    </method>   
+    
+    <view resource="av_allow_rsc" x="2" y="2" />
+    
+    <labelText text="$once{ parent.message }" multiline="true" x="40"
+               width="$once{ parent.width - 60 }" font="Helvetica"/>
+               
+</class>
+	
+<class name="activityListRestrictedRoomApplyForMuteOn" extends="baseItemActivityList" 
+	   labelidToolTipOkButton="1400">
+    
+    <method name="applyObject">
+        canvas.thishib.switchMicMuted.setMute(this.rcl.publicSID,true);
+        //this._doHide.doStart();
+        this.sendClearMessage(true);
+    </method>   
+    
+    <view resource="mute_btn_rsc" x="2" y="2" />
+    
+    <labelText text="$once{ parent.message }" multiline="true" x="40"
+               width="$once{ parent.width - 60 }" font="Helvetica"/>
+               
+</class>
+
+<class name="activityListRestrictedRoomApplyForGiveExclusiveAudioOn" extends="baseItemActivityList"
+	   labelidToolTipOkButton="1428">
+
+    <method name="applyObject">
+        canvas.thishib.setCanGiveAudio.sendValue(this.rcl.publicSID,true);
+        this.sendClearMessage(true);
+    </method>
+
+    <view resource="participants_exclusive_audio_rsc" x="2" y="2" />
+
+    <labelText text="$once{ parent.message }" multiline="true" x="20"
+               width="$once{ parent.width - 40 }" font="Helvetica"/>
+
+</class>
+	
+<class name="activityListRestrictedRoomApplyForMuteOff" extends="baseItemActivityList" 
+	   labelidToolTipOkButton="1401">
+	
+    <method name="applyObject">
+    	canvas.thishib.switchMicMuted.setMute(this.rcl.publicSID,false);
+        //this._doHide.doStart();
+        this.sendClearMessage(true);
+    </method>	
+	
+	<view resource="unmute_btn_rsc" x="2" y="2" />
+	
+	<labelText text="$once{ parent.message }" multiline="true" x="20"
+			   width="$once{ parent.width - 40 }" font="Helvetica"/>
+               
+</class>	
+
+<class name="activityListRestrictedRoomA" extends="baseItemActivityList">
+    
+    <method name="applyObject">
+        canvas.thishib.setBroadCastingFlag.publicSIDOfNewModerator = this.rcl.publicSID;
+        canvas.thishib.setBroadCastingFlag.isAllowedToBroadCastAV = true;
+        canvas.thishib.setBroadCastingFlag.avsettings = "a";
+        canvas.thishib.setBroadCastingFlag.doCall(); 
+        //this._doHide.doStart();
+        this.sendClearMessage(true);
+    </method>   
+    
+    <view resource="allow_audio_only_rsc" x="2" y="2" />
+    
+    <labelText text="$once{ parent.message }" multiline="true" x="20"
+               width="$once{ parent.width - 40 }" font="Helvetica"/>
+               
+</class>  
+    
+<class name="activityListRestrictedRoomV" extends="baseItemActivityList">
+    
+    <method name="applyObject">
+        canvas.thishib.setBroadCastingFlag.publicSIDOfNewModerator = this.rcl.publicSID;
+        canvas.thishib.setBroadCastingFlag.isAllowedToBroadCastAV = true;
+        canvas.thishib.setBroadCastingFlag.avsettings = "v";
+        canvas.thishib.setBroadCastingFlag.doCall(); 
+        //this._doHide.doStart();
+        this.sendClearMessage(true);
+    </method>   
+    
+    <view resource="allow_video_only_rsc" x="2" y="2" />
+    
+    <labelText text="$once{ parent.message }" multiline="true" x="20"
+               width="$once{ parent.width - 40 }" font="Helvetica"/>
+               
+</class>   
+
+<class name="activityListRestrictedRoomWhiteboard" extends="baseItemActivityList">
+    
+    <method name="applyObject">
+        canvas.thishib.setCanDraw.publicSID = this.rcl.publicSID;
+        canvas.thishib.setCanDraw.canDraw = true;
+        canvas.thishib.setCanDraw.doCall();
+        //this._doHide.doStart();
+        this.sendClearMessage(true);
+    </method>   
+    
+    <view resource="participants_allow_drawing_rsc" x="2" y="2" />
+    
+    <labelText text="$once{ parent.message }" multiline="true" x="20"
+               width="$once{ parent.width - 40 }" font="Helvetica"/>
+               
+</class>  
+
+<class name="activityListRestrictedRoomScreen" extends="baseItemActivityList">
+    
+    <method name="applyObject">
+        
+        canvas.thishib.setCanShare.publicSID = this.rcl.publicSID;
+        canvas.thishib.setCanShare.canShare = true;
+        canvas.thishib.setCanShare.doCall();
+        
+        //this._doHide.doStart();
+        this.sendClearMessage(true);
+    </method>   
+    
+    <view resource="screen_allow_rsc" x="2" y="2" />
+    
+    <labelText text="$once{ parent.message }" multiline="true" x="20"
+               width="$once{ parent.width - 40 }" font="Helvetica"/>
+               
+</class>  
+
+<class name="activityListRestrictedRoomRemote" extends="baseItemActivityList">
+    
+    <method name="applyObject">
+        
+        canvas.thishib.setCanRemote.publicSID = this.rcl.publicSID;
+        canvas.thishib.setCanRemote.canRemote = true;
+        canvas.thishib.setCanRemote.doCall();
+
+        //this._doHide.doStart();
+        this.sendClearMessage(true);
+    </method>   
+    
+    <view resource="remote_allow_rsc" x="2" y="2" />
+    
+    <labelText text="$once{ parent.message }" multiline="true" x="20"
+               width="$once{ parent.width - 40 }" font="Helvetica"/>
+               
+</class> 
+
+<class name="activityListMessageRequest" extends="simplebaseItemActivityList">
+    
+    <method name="applyObject">
+        this.sendClearMessage(true);
+    </method>   
+    
+    <view resource="warning_icon_rsc" x="2" y="2" />
+    
+    <labelText text="$once{ parent.message }" multiline="true" x="20"
+               width="$once{ parent.width - 40 }" font="Helvetica"/>
+               
+</class>  
+
+<class name="activityListRestrictedRoomModeration" extends="baseItemActivityList">
+    
+    <method name="applyObject">
+        canvas.thishib.addModerator.publicSIDOfNewModerator = this.rcl.publicSID;
+        canvas.thishib.addModerator.doCall();
+        //this._doHide.doStart();
+        this.sendClearMessage(true);
+    </method>   
+    
+    <view resource="participants_isMod_rsc" x="2" y="2" />
+    
+    <labelText text="$once{ parent.message }" multiline="true" x="20"
+               width="$once{ parent.width - 40 }" font="Helvetica"/>
+               
+</class>  
+
+<class name="activityList" y="${ parent.height - 200 }" x="0"
+	   extends="basePropertyPanelWhiteboard" height="200" 
+         width="$once{ parent.width-10 }" labelid="1363" 
+         visibility="${((canvas.currentRoomObj.hideActivitiesAndActions == true) ? 'hidden':'visible')}">
+    
+    <handler name="oninit">
+        canvas.currentActivityList = this;
+    </handler>
+    
+    <method name="addMessageRequest" args="rcl,message,tStamp">
+        <![CDATA[
+            var txt = rcl.firstname + " " + rcl.lastname + " " +
+                                   "[" + rcl.username + "] : " +
+                                   message + " [" + getStringTimeByTimeStamp(tStamp) + "]";
+            
+            new lz.activityListMessageRequest(this._list._list,{
+                                            message:txt,
+                                            width:this._list.width-14,
+                                            rcl:rcl,
+                                            tStamp:tStamp
+                                        });
+                                        
+            this._list._list.scrollToMax();                                        
+        ]]>                        
+    </method>
+    
+    
+    <method name="addModerationRequest" args="rcl,tStamp">
+        <![CDATA[
+            if (rcl.publicSID == canvas.publicSID) {
+                var txt = "<b>"+canvas.getLabelName(1362)+"</b> " +
+                                   canvas.getLabelName(693) + " [" + getStringTimeByTimeStamp(tStamp) + "]";
+            } else {
+                var txt = rcl.firstname + " " + rcl.lastname + " " +
+                                   "[" + rcl.username + "] " +
+                                   canvas.getLabelName(693) + " [" + getStringTimeByTimeStamp(tStamp) + "]";
+            }
+            
+            new lz.activityListRestrictedRoomModeration(this._list._list,{
+                                            message:txt,
+                                            width:this._list.width-14,
+                                            rcl:rcl,
+                                            tStamp:tStamp
+                                        });
+                                        
+            this._list._list.scrollToMax();                                        
+        ]]>                        
+    </method>
+    
+    <method name="addScreenRequest" args="rcl,tStamp">
+        <![CDATA[
+            if (rcl.publicSID == canvas.publicSID) {
+                var txt = "<b>"+canvas.getLabelName(1362)+"</b> " +
+                           canvas.getLabelName(1070) + " [" + getStringTimeByTimeStamp(tStamp) + "]";
+            } else {
+                var txt = rcl.firstname + " " + rcl.lastname + " " +
+                                   "[" + rcl.username + "] " +
+                                   canvas.getLabelName(1070) + " [" + getStringTimeByTimeStamp(tStamp) + "]";
+            }
+                               
+            new lz.activityListRestrictedRoomScreen(this._list._list,{
+                                            message:txt,
+                                            width:this._list.width-14,
+                                            rcl:rcl,
+                                            tStamp:tStamp
+                                        });
+                                        
+            this._list._list.scrollToMax();                                        
+        ]]>                      
+    </method>
+    
+    <method name="addRemoteRequest" args="rcl,tStamp">
+        <![CDATA[
+            if (rcl.publicSID == canvas.publicSID) {
+                var txt = "<b>"+canvas.getLabelName(1362)+"</b> " +
+                           canvas.getLabelName(1082) + " [" + getStringTimeByTimeStamp(tStamp) + "]";
+            } else {
+                var txt = rcl.firstname + " " + rcl.lastname + " " +
+                                   "[" + rcl.username + "] " +
+                                   canvas.getLabelName(1082) + " [" + getStringTimeByTimeStamp(tStamp) + "]";
+            }
+                               
+            new lz.activityListRestrictedRoomRemote(this._list._list,{
+                                            message:txt,
+                                            width:this._list.width-14,
+                                            rcl:rcl,
+                                            tStamp:tStamp
+                                        });
+                                        
+            this._list._list.scrollToMax();                                        
+        ]]>                      
+    </method>
+    
+    <method name="applyForMuteOn" args="rcl,tStamp">
+        <![CDATA[
+            if (rcl.publicSID == canvas.publicSID) {
+                var txt = "<b>"+canvas.getLabelName(1362)+"</b> " +
+                           canvas.getLabelName(1396) + " [" + getStringTimeByTimeStamp(tStamp) + "]";
+            } else {
+                var txt = rcl.firstname + " " + rcl.lastname + " " +
+                                   "[" + rcl.username + "] " +
+                                   canvas.getLabelName(1399) + " [" + getStringTimeByTimeStamp(tStamp) + "]";
+            }
+                               
+            new lz.activityListRestrictedRoomApplyForMuteOn(this._list._list,{
+                                            message:txt,
+                                            width:this._list.width-14,
+                                            rcl:rcl,
+                                            tStamp:tStamp
+                                        });
+                                        
+            this._list._list.scrollToMax();                                        
+        ]]>                      
+    </method>
+
+    <method name="applyForGiveExclusiveAudioOn" args="rcl,tStamp">
+        <![CDATA[
+            if (rcl.publicSID == canvas.publicSID) {
+                var txt = "<b>"+canvas.getLabelName(1362)+"</b> " +
+                           canvas.getLabelName(1427) + " [" + getStringTimeByTimeStamp(tStamp) + "]";
+            } else {
+                var txt = rcl.firstname + " " + rcl.lastname + " " +
+                                   "[" + rcl.username + "] " +
+                                   canvas.getLabelName(1426) + " [" + getStringTimeByTimeStamp(tStamp) + "]";
+            }
+
+            new lz.activityListRestrictedRoomApplyForGiveExclusiveAudioOn(this._list._list,{
+                                            message:txt,
+                                            width:this._list.width-14,
+                                            rcl:rcl,
+                                            tStamp:tStamp
+                                        });
+
+            this._list._list.scrollToMax();
+        ]]>
+    </method>
+    
+    <method name="applyForMuteOff" args="rcl,tStamp">
+        <![CDATA[
+            if (rcl.publicSID == canvas.publicSID) {
+                var txt = "<b>"+canvas.getLabelName(1362)+"</b> " +
+                           canvas.getLabelName(1397) + " [" + getStringTimeByTimeStamp(tStamp) + "]";
+            } else {
+                var txt = rcl.firstname + " " + rcl.lastname + " " +
+                                   "[" + rcl.username + "] " +
+                                   canvas.getLabelName(1398) + " [" + getStringTimeByTimeStamp(tStamp) + "]";
+            }
+                               
+            new lz.activityListRestrictedRoomApplyForMuteOff(this._list._list,{
+                                            message:txt,
+                                            width:this._list.width-14,
+                                            rcl:rcl,
+                                            tStamp:tStamp
+                                        });
+                                        
+            this._list._list.scrollToMax();                                        
+        ]]>                      
+    </method>
+    
+    <method name="addWhiteboardRequest" args="rcl,tStamp">
+        <![CDATA[
+            if (rcl.publicSID == canvas.publicSID) {
+                var txt = "<b>"+canvas.getLabelName(1362)+"</b> " +
+                           canvas.getLabelName(694) + " [" + getStringTimeByTimeStamp(tStamp) + "]";
+            } else {
+                var txt = rcl.firstname + " " + rcl.lastname + " " +
+                                   "[" + rcl.username + "] " +
+                                   canvas.getLabelName(694) + " [" + getStringTimeByTimeStamp(tStamp) + "]";
+            }
+                               
+            new lz.activityListRestrictedRoomWhiteboard(this._list._list,{
+                                            message:txt,
+                                            width:this._list.width-14,
+                                            rcl:rcl,
+                                            tStamp:tStamp
+                                        });
+                                        
+            this._list._list.scrollToMax();                                        
+        ]]>                      
+    </method>
+    
+    <method name="addAudioRequest" args="rcl,tStamp">
+        <![CDATA[
+            if (rcl.publicSID == canvas.publicSID) {
+                var txt = "<b>"+canvas.getLabelName(1362)+"</b> " +
+                           canvas.getLabelName(1080) + " [" + getStringTimeByTimeStamp(tStamp) + "]";
+            } else {
+                var txt = rcl.firstname + " " + rcl.lastname + " " +
+                                   "[" + rcl.username + "] " +
+                                   canvas.getLabelName(1080) + " [" + getStringTimeByTimeStamp(tStamp) + "]";
+            }
+                           
+            new lz.activityListRestrictedRoomA(this._list._list,{
+                                        message:txt,
+                                        width:this._list.width-14,
+                                        rcl:rcl,
+                                        tStamp:tStamp
+                                    });
+                                    
+            this._list._list.scrollToMax();                                    
+       ]]>                  
+    </method>
+    
+    <method name="addVideoRequest" args="rcl,tStamp">
+        <![CDATA[
+            if (rcl.publicSID == canvas.publicSID) {
+                var txt = "<b>"+canvas.getLabelName(1362)+"</b> " +
+                           canvas.getLabelName(1081) + " [" + getStringTimeByTimeStamp(tStamp) + "]";
+            } else {                
+                var txt = rcl.firstname + " " + rcl.lastname + " " +
+                                   "[" + rcl.username + "] " +
+                                   canvas.getLabelName(1081) + " [" + getStringTimeByTimeStamp(tStamp) + "]";
+            }
+                           
+            new lz.activityListRestrictedRoomV(this._list._list,{
+                                            message:txt,
+                                            width:this._list.width-14,
+                                            rcl:rcl,
+                                            tStamp:tStamp
+                                        });
+                                        
+            this._list._list.scrollToMax();
+        ]]>
+    </method>
+    
+    <method name="addAudioAndVideoRequest" args="rcl,tStamp">
+        <![CDATA[
+            if (rcl.publicSID == canvas.publicSID) {
+                var txt = "<b>"+canvas.getLabelName(1362)+"</b> " +
+                               canvas.getLabelName(695) + " [" + getStringTimeByTimeStamp(tStamp) + "]";
+            } else {
+                var txt = rcl.firstname + " " + rcl.lastname + " " +
+                                   "[" + rcl.username + "] " +
+                                   canvas.getLabelName(695) + " [" + getStringTimeByTimeStamp(tStamp) + "]";
+            }
+            
+            new lz.activityListRestrictedRoomAV(this._list._list,{
+                                            message:txt,
+                                            width:this._list.width-14,
+                                            rcl:rcl,
+                                            tStamp:tStamp
+                                        });
+                                        
+            this._list._list.scrollToMax();
+        ]]>
+    </method>
+    
+    <method name="hideActivityObj" args="messageObj">
+    	<![CDATA[
+    	
+    	    for (var i=0;i<this._list._list.subviews.length;i++) {
+    	    	
+    	    	if ($debug) Debug.write("hideActivityObj:: ",this._list._list.subviews[i].tStamp,messageObj.message[2]);
+    	    	
+    	    	if (this._list._list.subviews[i].tStamp == messageObj.message[2]) {
+    	    		
+    	    		this._list._list.subviews[i].closeItem();
+    	    		
+    	    		return;
+    	    		
+    	    	}
+    	    	
+    	    }
+    	
+    	]]>
+    </method>
+    
+    <view name="_list" y="21" height="179" bgcolor="$once{ canvas.getThemeColor('mainBackgroundColor') }"
+    	  width="$once{ parent.width }" clip="true">
+        
+        <view name="_list">
+            
+            <method name="scrollToMax">
+                <![CDATA[
+			        if(this.height>parent.height){
+			            parent.myscrollbar.scrolltarget.setAttribute(parent.myscrollbar.scrollattr,(parent.height-this.height));
+			        }
+		        ]]>
+            </method>
+            
+            <simplelayout name="_layout" axis="y" spacing="1" />
+            
+        </view>
+        
+        <om_vscrollbar name="myscrollbar" />
+        
+    </view>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/activitylist/library.lzx b/WebContent/src/modules/conference/flexibleConferenceRoom/activitylist/library.lzx
new file mode 100644
index 0000000..4046d92
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/activitylist/library.lzx
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	<!-- FamFam Icon Set -->
+    <resource name="allow_ok_icon_rsc" src="resources/tick.png" />
+    <!-- FamFam Icon Set -->
+    <resource name="allow_deny_icon_rsc" src="resources/cross.png" />
+  
+    <include href="activityList.lzx" />
+	
+</library>
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/activitylist/resources/cross.png b/WebContent/src/modules/conference/flexibleConferenceRoom/activitylist/resources/cross.png
new file mode 100644
index 0000000..1514d51
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/activitylist/resources/cross.png
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/activitylist/resources/tick.png b/WebContent/src/modules/conference/flexibleConferenceRoom/activitylist/resources/tick.png
new file mode 100644
index 0000000..a9925a0
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/activitylist/resources/tick.png
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/appointmentNotificationPopUp.lzx b/WebContent/src/modules/conference/flexibleConferenceRoom/appointmentNotificationPopUp.lzx
new file mode 100644
index 0000000..97b11ce
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/appointmentNotificationPopUp.lzx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="appointmentNotificationPopUp" extends="guiPresenter" labelid="1144" y="30"
+    isdragable="false" minimizable="false" maximizable="false" fullToolBar="true" 
+    resizeable="false" width="280" height="280" x="$once{ parent.width-this.width-10 }">
+	
+	<attribute name="roomobj" value="null" />
+	
+	<handler name="oninit" >
+		this.getAppointMentAndTimeZones.doCall();
+	</handler>
+	
+	<!-- Retrieving Appointmentdata for Meeting -->
+	<netRemoteCallHib name="getAppointMentAndTimeZones" remotecontext="$once{ canvas.thishib }" 
+		funcname="conferenceservice.getAppointMentAndTimeZones" >   
+		<netparam><method name="getValue">return parent.parent.roomobj.rooms_id;</method></netparam>
+		<handler name="ondata" args="value">	
+		    <![CDATA[
+		    	if ($debug) Debug.write("getAppointMentAndTimeZones 1: ",parent.roomobj.rooms_id);
+		    	if ($debug) Debug.write("getAppointMentAndTimeZones 2: ",value);
+		    	
+		    	if(value!=null){
+		    		
+		    		parent._appstart.setAttribute('text',value.start);
+		    		parent._append.setAttribute('text',value.end);
+		    		parent._timeZone.setAttribute('text',value.timeZone);
+		    		
+		    		parent._appName.setAttribute('text',value.appointment.appointmentName);
+		    		parent._appDescr._appDescr.setAttribute('text',value.appointment.appointmentDescription);
+		    	
+		    		parent._createdby.setAttribute('text',value.appointment.userId.firstname + ' ' + value.appointment.userId.lastname );
+		    		
+		    	}
+		    	
+		    ]]>	        	          				
+		</handler>	
+	</netRemoteCallHib> 
+	
+	<labelText name="appName" y="24" labelid="1145" width="50"/>
+	<labelText name="_appName" x="75" y="24" width="200" fontstyle="bold" /> 
+	
+	<labelText name="appDescr" y="46" labelid="1146" width="50"/>
+	<view name="_appDescr" x="75" y="46" width="200" height="100" bgcolor="0xFFFFFF" clip="true">
+		<labelText name="_appDescr" y="24" width="184" multiline="true" /> 
+		<om_vscrollbar />
+	</view>
+	
+	<labelText name="l_sdatum" labelid="1143" y="150" width="50" />
+	<labelText name="_timeZone" x="75" y="150" width="200" resize="false" bgcolor="0xFFFFFF" fgcolor="$once{ canvas.getThemeColor('menuTextColor') }"/> 
+	
+	<labelText name="appstartlabel" y="170" labelid="570" width="50"/>
+	<labelText name="_appstart" x="75" y="170" width="200" resize="false" bgcolor="0xFFFFFF" fgcolor="$once{ canvas.getThemeColor('menuTextColor') }"/> 
+	
+	<labelText name="l_edatum" labelid="571" y="190" width="50"  />
+	<labelText name="_append" y="190" x="75" width="200" text="" resize="false" bgcolor="0xFFFFFF" fgcolor="$once{ canvas.getThemeColor('menuTextColor') }"/> 	 
+	
+	<labelText name="l_createdby" labelid="1147" y="210" width="50"  />
+	<labelText name="_createdby" y="210" x="75" width="200" text="" resize="false" bgcolor="0xFFFFFF" fgcolor="$once{ canvas.getThemeColor('menuTextColor') }"/> 	   
+	
+    <simpleLabelButton labelid="1130" width="100" x="$once{ parent.width-105 }" 
+           y="$once{ parent.height-24 }" onclick="this.parent.close();" />	           	
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/baseConferenceRoom.lzx b/WebContent/src/modules/conference/flexibleConferenceRoom/baseConferenceRoom.lzx
new file mode 100644
index 0000000..c3f8cd0
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/baseConferenceRoom.lzx
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+          
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<class name="dtmfButton" extends="button" width="20" height="20" >
+    <attribute name="dtmf" value="" type="string"/>
+    <handler name="onclick">
+        callDTMFButton(this,this.text);
+    </handler>
+    <method name="doNextSipNumber">
+        if ($debug) Debug.write("doNextSipNumber ",this.text);
+    </method>
+</class>
+    
+<class name="debugPinCode" extends="labelExplorerBox" title="Enter PIN Code"
+    docking="true" resizeable="false" closable="true" width="100" x="14" height="120">
+    
+    
+    <view y="24">
+        
+        <dtmfButton text="1" x="20" dtmf="1"/> 
+            <dtmfButton text="2" x="40" dtmf="2"/> 
+                <dtmfButton text="3" x="60" dtmf="3"/>
+                
+        <dtmfButton text="4" x="20" y="20" dtmf="4"/> 
+            <dtmfButton text="5" x="40" y="20" dtmf="5"/> 
+                <dtmfButton text="6" x="60" y="20" dtmf="6"/>
+                
+        <dtmfButton text="7" x="20" y="40" dtmf="7"/> 
+            <dtmfButton text="8" x="40" y="40" dtmf="8"/> 
+                <dtmfButton text="9" x="60" y="40" dtmf="9"/>
+                
+        <dtmfButton text="10" x="20" y="60" dtmf="10"/>
+        
+    </view>
+    
+    
+</class>
+
+<class name="baseConferenceRoom" extends="baseContentView" destroyByMethod="true" >
+    
+    <attribute name="roomobj" value="null" />
+    
+    <attribute name="meetingTimer" value="null" />
+    
+    <attribute name="sipNumberAsArray" value="null" />
+    <attribute name="sipNumberIndex" value="0" type="number" />
+
+    <handler name="oninit">
+        <![CDATA[
+            _mainScrollBar.setAttribute("visibility","hidden");
+            
+            if ($debug) Debug.write("roomobj: ",this.roomobj);
+            
+            canvas.currentRoomObject = this.roomobj;
+            canvas.sendViaLocalConnection(canvas.rtmp_lc_name,"setRoomValues", [this.roomobj.roomtype.roomtypes_id,this.roomobj.rooms_id,this.roomobj]);
+            
+            if (this.roomobj.isClosed) {
+                canvas.roomClosed();
+            }
+            
+            if (this.roomobj.waitForRecording) {
+                
+                new lz.errorDialog(canvas,{
+                           labelid:1316,
+                           errortext:canvas.getLabelName(1315)
+                        });
+                
+            }
+            
+            canvas.currentRoomObject = this.roomobj;
+            canvas._mainbgcontentNavi.setAttribute('height',0);
+            canvas.setAttribute('naviHeightDelta',28);
+            
+            if (canvas.thishib.sip_enabled) {
+                if (sipIsEnabled()) {
+                    
+                    if ($debug) Debug.write("Dial SIP Number: ",canvas.currentRoomObject.sipNumber);
+                    
+                    //this.sipNumberAsArray = new Array();
+                    
+                    //var numberAsString = ""+;
+                    
+                    preCustomStartCallByCallTo(canvas.currentRoomObject.sipNumber);
+                    
+                    //new lz.debugPinCode(canvas);
+                    
+                    //for (var i=0;i<numberAsString.length;i++) {
+                    //  var charString = numberAsString.charAt(i);
+                    //  if ($debug) Debug.write("Dial charString: ",charString);
+                    //  if (charString == "+") {
+                    //      this.sipNumberAsArray.push(Number("0"));
+                    //  } else {
+                    //      this.sipNumberAsArray.push(Number(charString));
+                    //  }
+                    //  
+                    //}
+                    //
+                    //this.startDialing();
+                    
+                } else {
+                    
+                    new lz.labelerrorPopup(canvas,{error:'SIP Applet is not ready!'});
+                    
+                }
+            }
+            
+            if(this._chatPanelStrict){
+                if (this.roomobj.hideChat == null || !this.roomobj.hideChat) {            
+                    this._chatPanelStrict.setAttribute('visibility','visible');
+                } else {
+                    this._chatPanelStrict.setAttribute('visibility','hidden');                  
+                }
+            }            
+        ]]>
+    </handler>
+    
+    <method name="startDialing">
+        this.sipNumberIndex = 0;
+        this.doNextSipNumber();
+    </method>
+    
+    <method name="doNextSipNumber">
+        <![CDATA[
+            if (this.sipNumberIndex < this.sipNumberAsArray.length) {
+            
+                var nextNumber = this.sipNumberAsArray[this.sipNumberIndex];
+                
+                this.sipNumberIndex++;
+                
+                callDTMFButton(this,nextNumber);
+                
+            } else {
+                
+                if ($debug) Debug.write("Number Completed - Start Dial Process");
+                
+                preCustomStartCall();
+                
+            }
+        ]]>
+    </method>
+    
+    <method name="ringring">
+        if ($debug) Debug.write("ringring - ringring - ringring");
+    </method>
+    
+    <handler name="onkeydown" reference="lz.Keys" args="keyCode">
+        if (canvas.GIVE_EXCLUSIVE_AUDIO_KEY == keyCode) {
+            if (canvas.ismoderator || canvas.isAllowedToGiveExclusiveAudio) {
+
+                var obj = canvas._videocontainer.getVideoObjectByPublicSID(canvas.publicSID);
+                if (null != obj) {
+                    obj._giveExclusiveAudioView._micButton.onclick.sendEvent();
+                }
+                return;
+            } else {
+                new lz.rpcErrorDialog(canvas.main_content._content.inner,{errorid:-54});
+            }
+        }
+    </handler>
+    
+    <screenSharingAdapter name="_screenSharingAdapter" />
+    
+</class>
+
+</library>
\ No newline at end of file
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/baseRoomInnerList.lzx b/WebContent/src/modules/conference/flexibleConferenceRoom/baseRoomInnerList.lzx
new file mode 100644
index 0000000..ed6844b
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/baseRoomInnerList.lzx
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--
+
+    This class hold a bunch method that is shared between the 
+    User List of different Room Types
+
+ -->
+
+<class name="baseRoomInnerList" extends="view" >
+	
+    <handler name="oninit">
+        <![CDATA[
+            this.initList();
+        ]]>
+    </handler>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/flexibleConferenceRoom.lzx b/WebContent/src/modules/conference/flexibleConferenceRoom/flexibleConferenceRoom.lzx
new file mode 100644
index 0000000..7100dac
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/flexibleConferenceRoom.lzx
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="flexibleConferenceRoom" extends="baseConferenceRoom">
+
+    <handler name="oninit">
+    	
+    	if (this.roomobj.hideTopBar == null || !this.roomobj.hideTopBar) {
+            new lz.conferenceMenubar(canvas._conferencemenu);
+            canvas._conferencemenu.setAttribute('visibility','visible');
+    	} else {
+    		canvas._mainbgcontentNavi.setAttribute('height',0);
+            canvas.setAttribute('naviHeight',0);
+            canvas.setAttribute('naviHeightDelta',0);
+            canvas._conferencemenu.setAttribute('visibility','hidden');
+            canvas._mainbgcontentNavi.setAttribute('visibility','hidden');            
+    	}    	
+    	
+        new lz.moderationPanel(canvas._moderatormenu,{
+                    name:'_moderationPanel',align:'right',
+                    allowUserQuestions:this.roomobj.allowUserQuestions,
+                    roomName:this.roomobj.name
+                });          
+        
+        if(roomobj.appointment){
+            canvas.appointmentNotificationPopUp = 
+            	new lz.appointmentNotificationPopUp(canvas.conferenceView,{ 
+            			name:'appDetail', roomobj:this.roomobj });    
+        } else{
+            if ($debug) Debug.write("no appointed meeting");
+        }
+        
+        if (this.roomobj.isDemoRoom) {
+            if (this.roomobj.demoTime != null) {
+                if ($debug) Debug.warn("THIS IS A DEMO ROOM THAT SHOULD CLOSE AFTER SEC: ",this.roomobj.demoTime);
+                this.meetingTimer = new lz.meetingTimer(canvas,{refObj:this,roomobj:this.roomobj});
+            }
+        }
+        
+        canvas.currentBaseConferenceRoom = this;
+        
+        this._chatPanelStrict.toggleopen();
+        
+    </handler>
+    
+    <handler name="ontabcontentleave">
+        if ($debug) Debug.write("################# ontabcontentleave:",this);
+        
+        //close all screensharings, videos and closes the rtmp connection in the remote host
+        this._screenSharingAdapter.closeAllScreenSharings();
+        
+        //reset the right to draw on WHiteboard as the RoomClient Object will be destroyed also
+        //on server-Side the canDraw status will be false again when you relogin the same room
+        canvas.isAllowedToDraw = true;
+        
+        _mainScrollBar.setAttribute("visibility","visible");
+        
+        //reset rights
+        canvas.isAllowedToGiveExclusiveAudio = false;
+        
+        if (canvas._videocontainer!=null){
+            canvas._videocontainer.resetAllValues();
+            canvas._videocontainer = null;
+        }
+        if (canvas._chatcontent!=null){
+            canvas._chatcontent = null;
+        }
+        if (canvas._mymod!=null){
+            canvas._mymod = null;
+        }
+        
+        if (this.meetingTimer != null) {
+            this.meetingTimer.close();
+        }
+        
+        if (canvas._drawarea.letterObjectIsActive){
+            canvas._drawarea.currentletterObj.destroy();
+        }
+        
+        if (canvas.currentFileExplorer != null) {
+        	canvas.currentFileExplorer = null;
+        }
+        
+        if (canvas.currentActivityList != null) {
+        	canvas.currentActivityList = null;
+        }
+        
+        //@deprecated we will not use old screen sharing implementation
+        //canvas._screens.clearAllSessions();
+        this.logicalRoomLeave.doCall();
+        if ($debug) Debug.write("############ this.logicalRoomLeave ",this.logicalRoomLeave);
+    </handler>
+    
+    
+
+    <netRemoteCallHib name="logicalRoomLeave" funcname="logicalRoomLeave" remotecontext="$once{ canvas.thishib }" >
+        <handler name="ondata" args="value">
+            if ($debug) Debug.write("############# logicalRoomLeave: ",value);
+            //this.parent.destroy();
+            canvas.thishib.reconnectAfterRoomleft = true;
+            canvas.thishib.reconnectedRoomInstance = this.parent;
+            canvas.currentBaseConferenceRoom = null;
+            
+            // Reconnect User to default Scope
+            canvas.thishib.userScope = "hibernate";
+            var src = hib.getUrl();
+            canvas.thishib.setAttribute('src',src);
+            canvas.thishib.disconnect();
+            canvas._mainbgcontentNavi.setAttribute('height',canvas.naviHeight);
+            canvas.setAttribute('naviHeightDelta',canvas.naviHeight);
+            canvas._conferencemenu.removeAll();
+            canvas._conferencemenu.setAttribute('visibility','hidden');
+        </handler>
+    </netRemoteCallHib>
+    
+    <conferenceRoomSidebar name="_sidePanel" />
+    
+    <view name="_videoviewcontent_hideWhiteboard" y="0" x="${ parent._sidePanel.width }"
+		  width="${canvas.width-parent._sidePanel.width}" height="${canvas.height-(parent._chatPanelStrict.height) - 
+        ((parent._chatPanelStrict.visibility == 'hidden') ? 5:28) + ((canvas.currentRoomObj.hideTopBar) ? 28:0)}" clip="true" 
+		  visibility="${((canvas.currentRoomObj.hideWhiteboard) ? 'visible':'hidden')}">
+			<view name="_inn" width="${parent.width-10}">				
+				<wrappinglayout axis="x" spacing="10"/>
+			</view>
+			<om_vscrollbar name="_attenddeescrollbar" visibility="visible"></om_vscrollbar>
+	</view>
+    
+    <baseTabChatPanel name="_chatPanelStrict" labelid="616"
+       height="200" x="${ parent._sidePanel.width }"  
+       y="${ canvas.height - (this.height) - ((canvas.currentRoomObj.hideTopBar) ? 0:28)}" 
+       width="${ canvas.width - parent._sidePanel.width }" />
+       
+    <fixedFileExplorerWhiteboardPanel name="_whiteboard" labelid="615"
+        y="0" x="${ parent._sidePanel.width }" 
+        width="${ canvas.width - parent._sidePanel.width }"
+        height="${ canvas.height - (parent._chatPanelStrict.height) - 
+        ((parent._chatPanelStrict.visibility == 'hidden') ? 6:28) + ((canvas.currentRoomObj.hideTopBar) ? 28:0)}" />
+    
+    <!--
+        ###############################
+        This is the container for all Videos
+     -->
+    <commonVideoViewContent name="_videoviewcontent" />
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/innerlistViewEventUserListTable.lzx b/WebContent/src/modules/conference/flexibleConferenceRoom/innerlistViewEventUserListTable.lzx
new file mode 100644
index 0000000..72cb59e
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/innerlistViewEventUserListTable.lzx
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+<class name="innerlistViewEventUserListTable" extends="view" width="258" >

+    <wrappinglayout name="_layout" axis="x" spacing="4"/>

+</class>

+

+</library>
\ No newline at end of file
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/interviewConferenceRoom.lzx b/WebContent/src/modules/conference/flexibleConferenceRoom/interviewConferenceRoom.lzx
new file mode 100644
index 0000000..dc2ccba
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/interviewConferenceRoom.lzx
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="interviewConferenceRoom" extends="baseConferenceRoom">
+
+    <handler name="oninit">
+    	
+    	if (this.roomobj.hideTopBar == null || !this.roomobj.hideTopBar) {
+            new lz.interviewConferenceMenubar(canvas._conferencemenu);
+            canvas._conferencemenu.setAttribute('visibility','visible');
+        } else {
+            canvas._mainbgcontentNavi.setAttribute('height',0);
+            canvas.setAttribute('naviHeight',0);
+            canvas.setAttribute('naviHeightDelta',0);
+            canvas._conferencemenu.setAttribute('visibility','hidden');
+        }
+        
+        if ($debug) Debug.write("this.roomobj ",this.roomobj);
+        
+        if(this.roomobj.appointment){
+        	canvas.appointmentNotificationPopUp =
+        		new lz.appointmentNotificationPopUp(canvas.conferenceView,{ 
+						name:'appDetail', roomobj:this.roomobj });   
+        } else{
+        	if ($debug) Debug.write("no appointed meeting");
+        }
+        
+        if (this.roomobj.isDemoRoom) {
+            if (this.roomobj.demoTime != null) {
+                if ($debug) Debug.warn("THIS IS A DEMO ROOM THAT SHOULD CLOSE AFTER SEC: ",this.roomobj.demoTime);
+                this.meetingTimer = new lz.meetingTimer(canvas,{refObj:this,roomobj:this.roomobj});
+            }
+        }
+        
+        canvas.currentBaseConferenceRoom = this;
+        
+    </handler>
+    
+    <handler name="ontabcontentleave">
+        if ($debug) Debug.write("################# ontabcontentleave:",this);
+        
+        this._screenSharingAdapter.closeAllScreenSharings();
+        
+        canvas.currentBaseConferenceRoom = null;
+        
+        //reset the right to draw on WHiteboard as the RoomClient Object will be destroyed also
+        //on server-Side the canDraw status will be false again when you relogin the same room
+        canvas.isAllowedToDraw = true;
+        
+        _mainScrollBar.setAttribute("visibility","visible");
+        
+        //reset rights
+        canvas.isAllowedToGiveExclusiveAudio = false;
+        
+        if (canvas._videocontainer!=null){
+	        canvas._videocontainer.resetAllValues();
+	        canvas._videocontainer = null;
+        }
+        if (canvas._chatcontent!=null){
+        	canvas._chatcontent = null;
+        }
+        if (canvas._mymod!=null){
+        	canvas._mymod = null;
+        }
+        
+        if (this.meetingTimer != null) {
+            this.meetingTimer.close();
+        }
+        
+        if (canvas._drawarea.letterObjectIsActive){
+            canvas._drawarea.currentletterObj.destroy();
+        }
+        
+        if (canvas.currentFileExplorer != null) {
+            canvas.currentFileExplorer = null;
+        }
+        
+        if (canvas.currentActivityList != null) {
+        	canvas.currentActivityList = null;
+        }
+        
+        //@deprecated we will not use old screen sharing implementation
+        //canvas._screens.clearAllSessions();
+        this.logicalRoomLeave.doCall();
+        if ($debug) Debug.write("############ this.logicalRoomLeave ",this.logicalRoomLeave);
+    </handler>
+
+    <netRemoteCallHib name="logicalRoomLeave" funcname="logicalRoomLeave" remotecontext="$once{ canvas.thishib }" >
+        <handler name="ondata" args="value">
+	        if ($debug) Debug.write("############# logicalRoomLeave: ",value);
+	        //this.parent.destroy();
+            canvas.thishib.reconnectAfterRoomleft = true;
+            canvas.thishib.reconnectedRoomInstance = this.parent;
+            
+            // Reconnect User to default Scope
+	        canvas.thishib.userScope = "hibernate";
+	        var src = hib.getUrl();
+	        canvas.thishib.setAttribute('src',src);
+            canvas.thishib.disconnect();
+            canvas._mainbgcontentNavi.setAttribute('height',canvas.naviHeight);
+            canvas.setAttribute('naviHeightDelta',canvas.naviHeight);
+            canvas._conferencemenu.removeAll();
+            canvas._conferencemenu.setAttribute('visibility','hidden');
+        </handler>
+    </netRemoteCallHib>
+    
+    <!--
+        User Panel and Participants List
+     -->
+    <interviewRoomSidebar name="_sidePanel" 
+                      listType="eventUserListTableWithNames" />
+    
+    <!--
+        Whiteboard in Interview Room Type those are the Video Pods
+     -->
+    <interviewWhiteboard name="_whiteboardInterview" x="${ parent._sidePanel.width }" 
+    	  width="${ canvas.width - parent._sidePanel.width }" />
+    
+    <!--
+        Chat Box
+    <conferenceBox name="_chatPanelStrict" labelid="616" textInset="30" closeable="true" 
+                   height="350" x="${ parent._sidePanel.width }" bgcolor="0xFFFFFF"
+                   y="${ canvas.height - (this.height+22) }" 
+                   width="${ canvas.width - parent._sidePanel.width }">
+        <chatTab name="content" y="40" height="${ parent.height-40 }" width="${ parent.width }" />
+    </conferenceBox>
+     -->
+    
+    <baseTabChatPanel name="_chatPanelStrict" labelid="616"
+       height="200" x="${ parent._sidePanel.width }"  
+       y="${ canvas.height - (this.height) - ((canvas.currentRoomObj.hideTopBar) ? 0:28) }" 
+       width="${ canvas.width - parent._sidePanel.width }" />    
+       
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/library.lzx b/WebContent/src/modules/conference/flexibleConferenceRoom/library.lzx
new file mode 100644
index 0000000..b18ebfb
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/library.lzx
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<resource name="userstatus_multiframe_rsc">
+		<frame src="resources/bullet_ball_glass_green.png"/> <!-- user -->
+		<frame src="resources/bullet_ball_glass_yellow.png"/> <!-- mod -->
+		<frame src="resources/bullet_ball_glass_red.png"/> <!-- whiteboard allow -->
+	</resource>
+	
+	<resource name="chat_message_incoming_rsc" src="resources/ledlightgreen.png" />
+	
+	<!-- FamFam Icon Set -->
+	<resource name="screen_allow_rsc" src="resources/monitor_add.png" />
+	<!-- FamFam Icon Set -->
+    <resource name="screen_deny_rsc" src="resources/monitor_delete.png" />
+    <!-- FamFam Icon Set -->
+    <resource name="remote_allow_rsc" src="resources/mouse_add.png" />
+    <!-- FamFam Icon Set -->
+    <resource name="remote_deny_rsc" src="resources/mouse_delete.png" />
+	
+	<!-- FamFam Icon Set -->
+	<resource name="av_allow_rsc" src="resources/audio_and_video.png" />
+	<!-- FamFam Icon Set -->
+	<resource name="av_deny_rsc" src="resources/audio_and_video_no.png" />
+	
+	<!-- APL author sebawagner -->
+	<resource name="kick_user_rsc" src="resources/cancel_icon.png" />
+	
+	<!-- APL author sebawagner -->
+	<resource name="mute_micro_btn_rsc">
+        <frame src="resources/mute_micro.png" />
+        <frame src="resources/mute_micro_red.png" />
+    </resource>
+    
+    <!-- APL author sebawagner -->
+    <resource name="mute_btn_rsc" src="resources/mute_micro.png" />
+    <!-- APL author sebawagner -->
+    <resource name="unmute_btn_rsc" src="resources/mute_micro_red.png" />
+	
+	<!-- APL author sebawagner -->
+	<resource name="sidebar_tab_btn">
+		<frame src="resources/sidebar_close.png" />
+		<frame src="resources/sidebar_open.png" />
+	</resource>
+	
+	<include href="innerlistViewEventUserListTable.lzx" />
+	<include href="moderationMiniIconsEventUserList.lzx" />
+	<include href="activitylist/" />
+	<include href="roomSidebar/" />
+	<include href="appointmentNotificationPopUp.lzx" />
+	<include href="baseRoomInnerList.lzx" />
+    <include href="baseConferenceRoom.lzx" />
+    <include href="flexibleConferenceRoom.lzx" />
+    <include href="restrictedConferenceRoom.lzx" />
+    <include href="interviewConferenceRoom.lzx" />
+    
+    
+</library>
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/moderationMiniIconsEventUserList.lzx b/WebContent/src/modules/conference/flexibleConferenceRoom/moderationMiniIconsEventUserList.lzx
new file mode 100644
index 0000000..4672e75
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/moderationMiniIconsEventUserList.lzx
@@ -0,0 +1,297 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="moderationMiniIconsEventUserList" extends="view">
+
+    <attribute name="showAvIcons" value="true" type="boolean" />
+	
+    <handler name="oninit">
+    	this.updateIcons();
+    </handler>	
+    
+    <method name="updateIcons">
+        if (canvas.ismoderator) {
+            this._isMod.setAttribute("visibility","visible");
+            this._isModAddbutton.setAttribute("visibility","hidden");
+        } else {
+            this._isMod.setAttribute("visibility","hidden");
+            this._isModAddbutton.setAttribute("visibility","visible");
+        }
+        
+        if (canvas.ismoderator) {
+            this._canDraw.setAttribute("visibility","visible");
+            this._canDraw.isActive = false;
+            //this._canDraw._text.setAttribute("text",canvas.getLabelName(681));
+            this._canDrawModerator.setAttribute("visibility","hidden");
+        } else {
+            if (canvas.isAllowedToDraw) {
+                this._canDraw.setAttribute("visibility","visible");
+                this._canDraw.isActive = true;
+                //this._canDraw._text.setAttribute("text",canvas.getLabelName(612));
+                this._canDrawModerator.setAttribute("visibility","hidden");
+            } else {
+                this._canDraw.setAttribute("visibility","hidden");
+                this._canDrawModerator.setAttribute("visibility","visible");
+            }
+        }
+        
+        if ($debug) Debug.write("canvas.isAllowedToScreenShare :: ",canvas.isAllowedToScreenShare);
+        
+        if (canvas.ismoderator) {
+            this._allowScreen.setAttribute("visibility","visible");
+            this._allowScreen.isActive = false;
+            
+            this._allowRemote.setAttribute("visibility","visible");
+            this._allowRemote.isActive = false;
+
+            this._allowExclusiveAudio.setAttribute("visibility","visible");
+            this._allowExclusiveAudio.isActive = false;
+            
+            //this._canDraw._text.setAttribute("text",canvas.getLabelName(681));
+            this._denyScreen.setAttribute("visibility","hidden");
+            this._denyRemote.setAttribute("visibility","hidden");
+            this._denyExclusiveAudio.setAttribute("visibility","hidden");
+        } else {
+            if (canvas.isAllowedToScreenShare) {
+                this._allowScreen.setAttribute("visibility","visible");
+                this._allowScreen.isActive = true;
+                //this._canDraw._text.setAttribute("text",canvas.getLabelName(612));
+                this._denyScreen.setAttribute("visibility","hidden");
+            } else {
+                this._allowScreen.setAttribute("visibility","hidden");
+                this._denyScreen.setAttribute("visibility","visible");
+            }
+            
+            if (canvas.isAllowedToRemoteControl) {
+            	this._allowRemote.setAttribute("visibility","visible");
+            	this._allowRemote.isActive = true;
+            	this._denyRemote.setAttribute("visibility","hidden");
+            } else {
+            	this._allowRemote.setAttribute("visibility","hidden");
+            	this._denyRemote.setAttribute("visibility","visible");
+            }
+
+            if (canvas.isAllowedToGiveExclusiveAudio) {
+                this._allowExclusiveAudio.setAttribute("visibility","visible");
+            	this._allowExclusiveAudio.isActive = true;
+            	this._denyExclusiveAudio.setAttribute("visibility","hidden");
+            } else {
+                this._allowExclusiveAudio.setAttribute("visibility","hidden");
+            	this._denyExclusiveAudio.setAttribute("visibility","visible");
+            }
+        }
+        
+        if ($debug) Debug.write("+ STATUS ICONS + ",this.showAvIcons,canvas.isBroadCasting);
+        
+        if (this.showAvIcons) {
+	        if (canvas.isBroadCasting) {
+	            this._allowDevice.setAttribute("visibility","hidden");
+	            this._denyDevice.setAttribute("visibility","visible");
+	        } else {
+	            this._allowDevice.setAttribute("visibility","visible");
+	            this._denyDevice.setAttribute("visibility","hidden");
+	        }
+        }
+        
+        
+        if (canvas.micMuted) {
+            this._muteDevice.setAttribute("visibility","hidden");
+            this._unMuteDevice.setAttribute("visibility","visible");
+        } else {
+            this._muteDevice.setAttribute("visibility","visible");
+            this._unMuteDevice.setAttribute("visibility","hidden");
+        }
+        
+        
+    </method>
+    
+    <simplelayout axis="x" spacing="2" />
+
+    <handler name="onMute" reference="canvas.thishib.switchMicMuted" args="event">
+        <![CDATA[
+            if ($debug) Debug.write("onMute ", event.publicSID, event.mute);
+            if(canvas.publicSID == event.publicSID) {
+                canvas.micMuted = event.mute;
+                this.updateIcons();
+            }
+        ]]>
+    </handler>
+	
+    <miniIconsNew name="_isMod" x="0" width="16" innerResource="participants_isMod_rsc" 
+    		   height="16" showhandcursor="false">
+        <handler name="onclick">
+            <![CDATA[
+                //Nothing happens here
+            ]]>
+        </handler>
+        <labelTooltip name="_text" labelid="688" />
+    </miniIconsNew>
+    
+    <miniIconsNew name="_isModAddbutton" opacity="0.5" x="0" width="16" innerResource="participants_isMod_rsc" height="16">
+        <handler name="onclick">
+            <![CDATA[
+                //Apply for Moderation
+                canvas.thishib.applyForModeration.doCall();
+            ]]>
+        </handler>
+        <labelTooltip name="_text" labelid="685" />
+    </miniIconsNew>
+        
+    <miniIconsNew name="_canDraw" x="20" width="16" innerResource="participants_allow_drawing_rsc" 
+               height="16" showhandcursor="false" >
+        <attribute name="isActive" value="true" type="boolean" />
+        <handler name="onclick">
+            <![CDATA[
+                //Nothing happens here
+            ]]>
+        </handler>
+        <labelTooltip name="_text" labelid="689" />
+    </miniIconsNew>
+    
+    <miniIconsNew name="_canDrawModerator" x="20" width="16" opacity="0.5"
+               innerResource="participants_allow_drawing_rsc" height="16" showhandcursor="true">
+        <handler name="onclick">
+            //Ask for Right to Draw on Whiteboard
+            var tDate = new Date();
+            canvas.thishib.sendMessageWithClient.sendMessage("applyForWhiteboard",tDate.getTime());
+        </handler>
+        <labelTooltip labelid="686" />
+    </miniIconsNew>
+    
+    <miniIconsNew name="_allowScreen" x="40" width="16" height="16" 
+               innerResource="screen_allow_rsc" showhandcursor="false">
+        <attribute name="isActive" value="true" type="boolean" />
+        <handler name="onclick">
+            <![CDATA[
+                if ($debug) Debug.write("Deny Screen: ",canvas.publicSID);
+            ]]>
+        </handler>
+        <labelTooltip name="_text" labelid="1071" />
+    </miniIconsNew>
+    
+    <miniIconsNew name="_denyScreen" x="40" width="16" height="16" opacity="0.5"
+               innerResource="screen_allow_rsc" showhandcursor="true">
+        <handler name="onclick">
+            if ($debug) Debug.write("Allow Screen: ",canvas.refObj.publicSID);
+            var tDate = new Date();
+        	canvas.thishib.sendMessageWithClient.sendMessage("applyForScreen",tDate.getTime());
+        </handler>
+        <labelTooltip labelid="1072" />
+    </miniIconsNew>    
+    
+ 	<miniIconsNew name="_allowRemote" x="60" width="16" height="16" 
+               innerResource="remote_allow_rsc" showhandcursor="false">
+    	<attribute name="isActive" value="true" type="boolean" />
+        <handler name="onclick">
+        	<![CDATA[
+                if ($debug) Debug.write("Deny Remote: ",canvas.publicSID);
+            ]]>
+        </handler>
+        <labelTooltip name="_text" labelid="1081" />
+    </miniIconsNew>
+    
+    <miniIconsNew name="_denyRemote" x="60" width="16" height="16" opacity="0.5"
+               innerResource="remote_allow_rsc" showhandcursor="true">
+        <handler name="onclick">
+            if ($debug) Debug.write("Allow Remote: ",parent.parent.parent.refObj.publicSID);
+            var tDate = new Date();
+            canvas.thishib.sendMessageWithClient.sendMessage("applyForRemote",tDate.getTime());
+        </handler>
+        <labelTooltip labelid="1080" />
+    </miniIconsNew>      
+          
+    
+    <miniIconsNew name="_allowDevice" x="80" width="40" height="16" opacity="0.5" 
+            visible="$once{ parent.showAvIcons }" innerResource="av_allow_rsc" showhandcursor="true">
+        <handler name="onclick">
+            if ($debug) Debug.write("NOTHING: ",canvas.publicSID);
+            if (canvas.ismoderator) {
+                //Do directly send confirmation to share Audio/Video to SELF! so that all users get
+                //the notification and the broadcasting Bit is set for this User
+                canvas.thishib.setBroadCastingFlag.publicSIDOfNewModerator = canvas.publicSID;
+                canvas.thishib.setBroadCastingFlag.isAllowedToBroadCastAV = true;
+                canvas.thishib.setBroadCastingFlag.doCall(); 
+            } else {
+                //Apply for Right to Share Audio/Video
+                var tDate = new Date();
+                canvas.thishib.sendMessageWithClient.sendMessage("applyForAV",tDate.getTime());
+            }
+        </handler>
+        <labelTooltip labelid="687" />
+    </miniIconsNew>
+    
+    <miniIconsNew name="_denyDevice" x="80" width="40" height="16" 
+            visible="$once{ parent.showAvIcons }" innerResource="av_allow_rsc" showhandcursor="false">
+        <handler name="onclick">
+            if ($debug) Debug.write("DENY: ",canvas.publicSID);
+            //Nothing happens here
+            canvas.thishib.setBroadCastingFlag.publicSIDOfNewModerator = canvas.publicSID;
+            canvas.thishib.setBroadCastingFlag.isAllowedToBroadCastAV = false;
+            canvas.thishib.setBroadCastingFlag.doCall(); 
+        </handler>
+        <labelTooltip name="_text" labelid="690" />
+    </miniIconsNew>
+    
+    <miniIconsNew name="_muteDevice" x="120" width="16" height="16" 
+    		   innerResource="mute_btn_rsc" showhandcursor="true">
+    	<handler name="onclick">
+            canvas._videocontainer._videoviewcontent.muteSound(canvas.publicSID, true);
+    	</handler>
+        <labelTooltip name="_tip" labelid="1403" />
+    </miniIconsNew>
+    
+    <miniIconsNew name="_unMuteDevice" x="120" width="16" height="16" innerResource="unmute_btn_rsc" 
+               showhandcursor="true" >
+    	<handler name="onclick">
+            canvas._videocontainer._videoviewcontent.muteSound(canvas.publicSID, false);
+        </handler>
+        <labelTooltip name="_tip" labelid="1404" />
+    </miniIconsNew>
+
+    <miniIconsNew name="_allowExclusiveAudio" x="60" width="16" height="16"
+               innerResource="participants_exclusive_audio_rsc" showhandcursor="false">
+    	<attribute name="isActive" value="true" type="boolean" />
+        <handler name="onclick">
+        	<![CDATA[
+                if ($debug) Debug.write("Deny Give Exclusive Audio: ",canvas.publicSID);
+                if (canvas.ismoderator || canvas.isAllowedToGiveExclusiveAudio) {
+	                canvas.thishib.giveExclusiveAudio.publicSID = canvas.publicSID;
+	                canvas.thishib.giveExclusiveAudio.doCall();
+                }
+            ]]>
+        </handler>
+        <labelTooltip name="_text" labelid="1433" />
+    </miniIconsNew>
+
+    <miniIconsNew name="_denyExclusiveAudio" x="60" width="16" height="16" opacity="0.5"
+               innerResource="participants_exclusive_audio_rsc" showhandcursor="true">
+        <handler name="onclick">
+            if ($debug) Debug.write("Allow Give Exclusive Audio: ",canvas.publicSID);
+            var tDate = new Date();
+            canvas.thishib.sendMessageWithClient.sendMessage("applyForGiveExclusiveAudioOn",tDate.getTime());
+        </handler>
+        <labelTooltip labelid="1432" />
+    </miniIconsNew>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/resources/audio_and_video.fla b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/audio_and_video.fla
new file mode 100644
index 0000000..2e1e601
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/audio_and_video.fla
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/resources/audio_and_video.png b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/audio_and_video.png
new file mode 100644
index 0000000..f35bb10
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/audio_and_video.png
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/resources/audio_and_video_no.fla b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/audio_and_video_no.fla
new file mode 100644
index 0000000..a9962f3
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/audio_and_video_no.fla
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/resources/audio_and_video_no.png b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/audio_and_video_no.png
new file mode 100644
index 0000000..857db9c
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/audio_and_video_no.png
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/resources/bullet_ball_glass_green.png b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/bullet_ball_glass_green.png
new file mode 100644
index 0000000..bbdcb01
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/bullet_ball_glass_green.png
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/resources/bullet_ball_glass_red.png b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/bullet_ball_glass_red.png
new file mode 100644
index 0000000..886c125
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/bullet_ball_glass_red.png
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/resources/bullet_ball_glass_yellow.png b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/bullet_ball_glass_yellow.png
new file mode 100644
index 0000000..fbf19db
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/bullet_ball_glass_yellow.png
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/resources/cancel_icon.png b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/cancel_icon.png
new file mode 100644
index 0000000..2d26062
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/cancel_icon.png
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/resources/ledlightgreen.png b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/ledlightgreen.png
new file mode 100644
index 0000000..abbdd12
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/ledlightgreen.png
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/resources/monitor_add.png b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/monitor_add.png
new file mode 100644
index 0000000..a818066
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/monitor_add.png
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/resources/monitor_delete.png b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/monitor_delete.png
new file mode 100644
index 0000000..3733256
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/monitor_delete.png
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/resources/mouse_add.png b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/mouse_add.png
new file mode 100644
index 0000000..65bcab5
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/mouse_add.png
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/resources/mouse_delete.png b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/mouse_delete.png
new file mode 100644
index 0000000..7286566
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/mouse_delete.png
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/resources/mute_micro.fla b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/mute_micro.fla
new file mode 100644
index 0000000..210ddbf
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/mute_micro.fla
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/resources/mute_micro.png b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/mute_micro.png
new file mode 100644
index 0000000..71efdbe
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/mute_micro.png
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/resources/mute_micro_red.fla b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/mute_micro_red.fla
new file mode 100644
index 0000000..287c2a0
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/mute_micro_red.fla
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/resources/mute_micro_red.png b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/mute_micro_red.png
new file mode 100644
index 0000000..29e16b5
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/mute_micro_red.png
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/resources/sidebar_close.fla b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/sidebar_close.fla
new file mode 100644
index 0000000..1d5fffd
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/sidebar_close.fla
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/resources/sidebar_close.png b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/sidebar_close.png
new file mode 100644
index 0000000..08020fd
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/sidebar_close.png
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/resources/sidebar_open.fla b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/sidebar_open.fla
new file mode 100644
index 0000000..0fd7f7f
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/sidebar_open.fla
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/resources/sidebar_open.png b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/sidebar_open.png
new file mode 100644
index 0000000..e778538
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/resources/sidebar_open.png
Binary files differ
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/restrictedConferenceRoom.lzx b/WebContent/src/modules/conference/flexibleConferenceRoom/restrictedConferenceRoom.lzx
new file mode 100644
index 0000000..043d776d
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/restrictedConferenceRoom.lzx
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="restrictedConferenceRoom" extends="baseConferenceRoom">
+
+    <handler name="oninit">
+        new lz.restrictedConferenceMenubar(canvas._conferencemenu);
+        
+        new lz.moderationPanel(canvas._conferencemenu,{
+                    name:'_moderationPanel',align:'right',
+                    allowUserQuestions:this.roomobj.allowUserQuestions
+                });  
+                
+        canvas._conferencemenu.setAttribute('visibility','visible');
+        
+        if ($debug) Debug.write("this.roomobj ",this.roomobj);
+        
+        if(this.roomobj.appointment){
+            canvas.appointmentNotificationPopUp =
+                new lz.appointmentNotificationPopUp(canvas.conferenceView,{ 
+                        name:'appDetail', roomobj:this.roomobj });   
+        } else{
+            if ($debug) Debug.write("no appointed meeting");
+        }
+        
+        if (this.roomobj.isDemoRoom) {
+            if (this.roomobj.demoTime != null) {
+                if ($debug) Debug.warn("THIS IS A DEMO ROOM THAT SHOULD CLOSE AFTER SEC: ",this.roomobj.demoTime);
+                this.meetingTimer = new lz.meetingTimer(canvas,{refObj:this,roomobj:this.roomobj});
+            }
+        }
+        
+        this._chatPanelStrict.toggleopen();
+        
+        canvas.currentBaseConferenceRoom = this;
+        
+        canvas._videocontainer.setAttribute("allowUserQuestions",this.roomobj.allowUserQuestions);
+        
+    </handler>
+    
+    <handler name="ontabcontentleave">
+        if ($debug) Debug.write("################# ontabcontentleave:",this);
+        
+        this._screenSharingAdapter.closeAllScreenSharings();
+        
+        canvas.currentBaseConferenceRoom = null;
+        
+        //reset the right to draw on WHiteboard as the RoomClient Object will be destroyed also
+        //on server-Side the canDraw status will be false again when you relogin the same room
+        canvas.isAllowedToDraw = true;
+        
+        _mainScrollBar.setAttribute("visibility","visible");
+        
+        //reset rights
+        canvas.isAllowedToGiveExclusiveAudio = false;
+        
+        if (canvas._videocontainer!=null){
+            canvas._videocontainer.resetAllValues();
+            canvas._videocontainer = null;
+        }
+        if (canvas._chatcontent!=null){
+            canvas._chatcontent = null;
+        }
+        if (canvas._mymod!=null){
+            canvas._mymod = null;
+        }
+        
+        if (this.meetingTimer != null) {
+            this.meetingTimer.close();
+        }
+        
+        if (canvas._drawarea.letterObjectIsActive){
+            canvas._drawarea.currentletterObj.destroy();
+        }
+        
+        if (canvas.currentFileExplorer != null) {
+            canvas.currentFileExplorer = null;
+        }
+        
+        if (canvas.currentActivityList != null) {
+            canvas.currentActivityList = null;
+        }
+        
+        //@deprecated we will not use old screen sharing implementation
+        //canvas._screens.clearAllSessions();
+        this.logicalRoomLeave.doCall();
+        if ($debug) Debug.write("############ this.logicalRoomLeave ",this.logicalRoomLeave);
+    </handler>
+
+    <netRemoteCallHib name="logicalRoomLeave" funcname="logicalRoomLeave" remotecontext="$once{ canvas.thishib }" >
+        <handler name="ondata" args="value">
+            if ($debug) Debug.write("############# logicalRoomLeave: ",value);
+            //this.parent.destroy();
+            canvas.thishib.reconnectAfterRoomleft = true;
+            canvas.thishib.reconnectedRoomInstance = this.parent;
+            
+            // Reconnect User to default Scope
+            canvas.thishib.userScope = "hibernate";
+            var src = hib.getUrl();
+            canvas.thishib.setAttribute('src',src);
+            canvas.thishib.disconnect();
+            canvas._mainbgcontentNavi.setAttribute('height',canvas.naviHeight);
+            canvas.setAttribute('naviHeightDelta',canvas.naviHeight);
+            canvas._conferencemenu.removeAll();
+            canvas._conferencemenu.setAttribute('visibility','hidden');
+        </handler>
+    </netRemoteCallHib>
+    
+    <restrictedRoomSidebar name="_sidePanel" restricted="true" 
+                      listType="eventUserListTableWithNames" />
+    
+    <view name="_videoviewcontent_hideWhiteboard" y="0" x="${ parent._sidePanel.width }"
+		  width="${canvas.width-parent._sidePanel.width}" height="${canvas.height-(parent._chatPanelStrict.height) - 
+        ((parent._chatPanelStrict.visibility == 'hidden') ? 5:28)}" clip="true" 
+		  visibility="${((canvas.currentRoomObj.hideWhiteboard) ? 'visible':'hidden')}">
+			<view name="_inn" width="${parent.width-10}">				
+				<wrappinglayout axis="x" spacing="10"/>
+			</view>
+			<om_vscrollbar name="_attenddeescrollbar" visibility="visible"></om_vscrollbar>
+	</view>
+    
+    <baseTabChatPanel name="_chatPanelStrict" labelid="616"
+       height="200" x="${ parent._sidePanel.width }"  
+       y="${ canvas.height - (this.height) - 28 }" 
+       width="${ canvas.width - parent._sidePanel.width }" />
+       
+    <fixedFileExplorerWhiteboardPanel name="_whiteboard" labelid="615"
+        y="0" x="${ parent._sidePanel.width }" 
+        width="${ canvas.width - parent._sidePanel.width }"
+        height="${ canvas.height - (parent._chatPanelStrict.height) - ((parent._chatPanelStrict.visibility == 'hidden') ? 0:28) }" />
+        
+    <!--
+        ###############################
+        This is the container for all Videos
+     -->
+    <commonVideoViewContent name="_videoviewcontent" />
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/roomSidebar/conferenceRoomSidebar.lzx b/WebContent/src/modules/conference/flexibleConferenceRoom/roomSidebar/conferenceRoomSidebar.lzx
new file mode 100644
index 0000000..3a0cdb4
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/roomSidebar/conferenceRoomSidebar.lzx
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="conferenceRoomSidebar" extends="view" width="280" bgcolor="$once{ canvas.getThemeColor('mainBackgroundColor') }" 
+       height="${ canvas.height - ((canvas.currentRoomObj.hideTopBar) ? 0:28) }" y="0" clip="true">
+    
+    <attribute name="selected" value="null" />
+    
+    <attribute name="isOpen" value="true" type="boolean"/>
+    
+    <method name="doSelection" args="itemRef">
+        <![CDATA[
+            if (this.selected != null) {
+                this.selected.deselect();
+            }
+            
+            this.selected = itemRef;
+            this.selected.select();
+          
+            if ($debug) Debug.write("this.selected.name ",this.selected.name);
+            
+            if (this.selected.name == "userTabButton") {
+                if ($debug) Debug.write("-- userTabButton");
+                this._files.setAttribute("visibility","hidden");
+                this._videocontainer._applyAndStatusIcons.setAttribute("visibility","visible");
+                this._videocontainer._participants.setAttribute("visibility","visible");
+            } else if (this.selected.name == "filesTabButton") {
+                if ($debug) Debug.write("-- filesTabButton");
+                this._files.setAttribute("visibility","visible");
+                this._videocontainer._applyAndStatusIcons.setAttribute("visibility","hidden");
+                this._videocontainer._participants.setAttribute("visibility","hidden");
+            }
+        ]]>
+    </method>
+    
+    <method name="toggleStatus">
+        if (this.isOpen) {
+            this._doClose.doStart();
+            this.isOpen = false;
+            this._minimizeSidebar._icon.setAttribute("frame",2);
+            this._minimizeSidebar._icon._labelTooltip.setAttribute("labelid",857);
+        } else {
+            this._doOpen.doStart();
+            this.isOpen = true;
+            this._minimizeSidebar._icon.setAttribute("frame",1);
+            this._minimizeSidebar._icon._labelTooltip.setAttribute("labelid",856);
+        }
+    </method>
+    
+    <view name="borderBarTop" y="0"
+    			width="${ parent.width }" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" height="1" />
+   	<view name="_tabbarBg" width="${ parent.width }" height="32" y="1" bgcolor="0xFAFAFA" />
+	<view name="borderBarBottom" y="34"
+   			width="${ parent.width }" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" height="1" /> 
+    
+    <view name="_head" y="1" width="${ parent.width-10 }" height="32"
+    		  layout="axis:x;spacing:2;inset:2" >
+    
+    	<handler name="oninit">
+    		for (var eg in this.subviews) {
+            	this.subviews[eg].deselect();
+            }
+            this.userTabButton.doSelection();
+    	</handler>
+   
+        <tabButtonMain name="userTabButton" height="$once{ parent.height }" width="$once{ (parent.width-6)/2 }"
+                currentIconRsc="users_tab_btn" labelid="613" />
+        
+        <tabButtonMain name="filesTabButton" currentIconRsc="files_tab_btn" height="$once{ parent.height }" 
+                labelid="614" width="$once{ (parent.width-6)/2 }"
+                visible="${(canvas.currentRoomObj.hideFilesExplorer ? false:true)}"/>
+        
+    </view>
+    
+    <fileExplorer name="_files" y="22" width="$once{ parent.width-12 }"
+               height="${ parent.height-222 }" visibility="hidden" />
+    
+    <participants name="_videocontainer" y="36" 
+                  width="$once{ parent.width-10 }" 
+               height="${ parent.height-((canvas.currentRoomObj.hideActivitiesAndActions == true) ? 36:236) }" />
+               
+    <activityList name="_activityList" />
+    
+    <view name="_minimizeSidebar" x="${ parent.width - 10 }" width="10" y="1"
+          				bgcolor="0xE0E1EB" height="${ parent.height-1 }">
+        <handler name="onclick">
+            parent.toggleStatus();
+        </handler>
+        
+        <view width="${ parent.width }" height="$once{ parent.height }" 
+               bgcolor="0xE0E1EB" >
+        </view>
+            
+        <view name="_icon" resource="sidebar_tab_btn" y="0">
+             <handler name="onclick">
+	            parent.parent.toggleStatus();
+	         </handler>
+	         <labelTooltip name="_labelTooltip" labelid="856" />
+        </view>
+        
+    </view>
+    
+    <animator name="_doOpen" attribute="width" to="$once{ parent.width }" 
+              duration="750" start="false" />
+              
+    <animator name="_doClose" attribute="width" to="10" 
+              duration="750" start="false" />
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/roomSidebar/conferenceRoomSidebarTabButton.lzx b/WebContent/src/modules/conference/flexibleConferenceRoom/roomSidebar/conferenceRoomSidebarTabButton.lzx
new file mode 100644
index 0000000..537b473
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/roomSidebar/conferenceRoomSidebarTabButton.lzx
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="conferenceRoomSidebarTabButton" extends="view" 
+	   width="$once{ (parent.width-2)/2 }" height="36" y="0">
+	
+	<attribute name="labelid" value="0" type="number" />
+	
+	<attribute name="selected" value="false" type="boolean" />
+	
+	<attribute name="textFontSize" value="14" type="number" />
+	
+	<attribute name="currentIconRsc" value="" type="string"/>
+	
+	<handler name="oninit">
+		if (this.selected) {
+			parent.parent.doSelection(this);
+		}
+	</handler>
+	
+	<handler name="onclick">
+		parent.parent.doSelection(this);
+	</handler>
+	
+	<handler name="onmouseover">
+		if (!this.selected) {
+			this._bg1.setAttribute("visibility","visible");
+		}
+	</handler>
+	
+	<handler name="onmouseout">
+        this._bg1.setAttribute("visibility","hidden");
+    </handler>
+	
+	<method name="select">
+		this.selected = true;
+		this._icon.setAttribute("opacity",1);
+        this._text.setAttribute("opacity",1);
+        this._bg1.setAttribute("visibility","hidden");
+		this._bg2.setAttribute("visibility","visible");
+		this._text.setAttribute("fontstyle","bold");
+		this._text.setAttribute("fgcolor","0xFFFFFF");
+	</method>
+     
+    <method name="deselect">
+        this.selected = false;
+        this._icon.setAttribute("opacity",0.5);
+        this._text.setAttribute("opacity",0.5);
+        this._bg2.setAttribute("visibility","hidden");
+        this._text.setAttribute("fontstyle","bold");
+        this._text.setAttribute("fgcolor","0xFFFFFF");
+    </method>       
+    
+    
+    <view name="_bg1" bgcolor="0xFFFFFF" width="$once{ parent.width }" 
+          height="$once{ parent.height }" opacity="0.7" visibility="hidden"/> 
+          
+    <view name="_bg2" bgcolor="0xFFFFFF" width="$once{ parent.width }" 
+          height="$once{ parent.height }" opacity="0.4" visibility="hidden"/>
+    
+    <view x="4" y="6" name="_icon" resource="$once{ parent.currentIconRsc }" />
+                
+    <labelText name="_text" x="28" fontsize="$once{ parent.textFontSize }" valign="middle" 
+               fgcolor="0xFFFFFF" labelid="$once{ parent.labelid }" />
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/roomSidebar/interviewRoomSidebar.lzx b/WebContent/src/modules/conference/flexibleConferenceRoom/roomSidebar/interviewRoomSidebar.lzx
new file mode 100644
index 0000000..0a95001
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/roomSidebar/interviewRoomSidebar.lzx
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="interviewRoomSidebar" extends="view" width="280" 
+       height="${ canvas.height - ((canvas.currentRoomObj.hideTopBar) ? 0:28) }" y="0" clip="true">
+    
+    <attribute name="selected" value="null" />
+    
+    <attribute name="isOpen" value="true" type="boolean"/>
+    
+    <attribute name="restricted" value="true" type="boolean" />
+   
+    <attribute name="listType" value="eventUserListTable" type="string" />
+    
+    <method name="doSelection" args="itemRef">
+        <![CDATA[
+            if (this.selected != null) {
+                this.selected.deselect();
+            }
+            
+            this.selected = itemRef;
+            this.selected.select();
+          
+        ]]>
+    </method>
+    
+    <method name="toggleStatus">
+        if (this.isOpen) {
+            this._doClose.doStart();
+            this.isOpen = false;
+            this._minimizeSidebar._icon.setAttribute("frame",2);
+            this._minimizeSidebar._icon._labelTooltip.setAttribute("labelid",857);
+        } else {
+            this._doOpen.doStart();
+            this.isOpen = true;
+            this._minimizeSidebar._icon.setAttribute("frame",1);
+            this._minimizeSidebar._icon._labelTooltip.setAttribute("labelid",856);
+        }
+    </method>
+    
+    <view name="borderBarTop" y="0"
+    			width="${ parent.width }" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" height="1" />
+   	<view name="_tabbarBg" width="${ parent.width }" height="32" y="1" bgcolor="0xFAFAFA" />
+	<view name="borderBarBottom" y="34"
+   			width="${ parent.width }" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" height="1" /> 
+    
+    <view name="_head" y="1" width="${ parent.width-10 }" height="32"
+    		  layout="axis:x;spacing:2;inset:2" >
+    
+    	<handler name="oninit">
+    		for (var eg in this.subviews) {
+            	this.subviews[eg].deselect();
+            }
+            this.userTabButton.doSelection();
+    	</handler>
+        
+        <tabButtonMain name="userTabButton" height="$once{ parent.height }" width="$once{ (parent.width-6)/2 }"
+                currentIconRsc="users_tab_btn" labelid="613" />
+        
+    </view>
+    
+    <interviewUserList name="_videocontainer" y="36"
+			   width="$once{ parent.width-10 }" 
+               height="${ parent.height-((canvas.currentRoomObj.hideActivitiesAndActions == true) ? 36:236) }" />
+               
+    <activityList name="_activityList" />
+    
+    <view name="_minimizeSidebar" x="${ parent.width - 10 }" width="10" y="1"
+          				bgcolor="0xE0E1EB" height="${ parent.height-1 }">
+        <handler name="onclick">
+            parent.toggleStatus();
+        </handler>
+        
+        <view width="${ parent.width }" height="$once{ parent.height }" 
+               bgcolor="0xE0E1EB" >
+        </view>
+            
+        <view name="_icon" resource="sidebar_tab_btn" y="0">
+             <handler name="onclick">
+	            parent.parent.toggleStatus();
+	         </handler>
+	         <labelTooltip name="_labelTooltip" labelid="856" />
+        </view>
+        
+    </view>
+    
+    <animator name="_doOpen" attribute="width" to="$once{ parent.width }" 
+              duration="750" start="false" />
+              
+    <animator name="_doClose" attribute="width" to="10" 
+              duration="750" start="false" />
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/roomSidebar/library.lzx b/WebContent/src/modules/conference/flexibleConferenceRoom/roomSidebar/library.lzx
new file mode 100644
index 0000000..7d1201e
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/roomSidebar/library.lzx
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+    <include href="conferenceRoomSidebar.lzx" />
+    <include href="interviewRoomSidebar.lzx" />
+    <include href="restrictedRoomSidebar.lzx" />
+    <include href="conferenceRoomSidebarTabButton.lzx" />
+    
+</library>
diff --git a/WebContent/src/modules/conference/flexibleConferenceRoom/roomSidebar/restrictedRoomSidebar.lzx b/WebContent/src/modules/conference/flexibleConferenceRoom/roomSidebar/restrictedRoomSidebar.lzx
new file mode 100644
index 0000000..97b6c0f
--- /dev/null
+++ b/WebContent/src/modules/conference/flexibleConferenceRoom/roomSidebar/restrictedRoomSidebar.lzx
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="restrictedRoomSidebar" extends="view" width="280"
+       height="${ canvas.height - 28 }" y="0" clip="true">
+    
+    <attribute name="selected" value="null" />
+    
+    <attribute name="isOpen" value="true" type="boolean"/>
+    
+    <attribute name="restricted" value="true" type="boolean" />
+   
+    <attribute name="listType" value="eventUserListTable" type="string" />
+    
+    <method name="doSelection" args="itemRef">
+        <![CDATA[
+        	if (itemRef.name == "filesTabButton") {
+            	if (this.restricted) {
+            		if (!canvas.ismoderator && !canvas.isAllowedToDraw) {
+            			//Do not allow
+            			new lz.labelerrorPopup(canvas,{errorlabelid:783});
+            			return;
+            		}
+            	}
+        	}
+            	
+            if (this.selected != null) {
+                this.selected.deselect();
+            }
+            
+            this.selected = itemRef;
+            this.selected.select();
+          
+            if ($debug) Debug.write("this.selected.name ",this.selected.name, this.inited);
+            
+            if (this.selected.name == "userTabButton") {
+                if ($debug) Debug.write("-- userTabButton");
+                this._files.setAttribute("visibility","hidden");
+                this._participants.setAttribute("visibility","visible");
+            } else if (this.selected.name == "filesTabButton") {
+                if ($debug) Debug.write("-- filesTabButton");
+                this._files.setAttribute("visibility","visible");
+                this._participants.setAttribute("visibility","hidden");
+            }
+        ]]>
+    </method>
+    
+    <method name="toggleStatus">
+        if (this.isOpen) {
+            this._doClose.doStart();
+            this.isOpen = false;
+            this._minimizeSidebar._icon.setAttribute("frame",2);
+            this._minimizeSidebar._icon._labelTooltip.setAttribute("labelid",857);
+        } else {
+            this._doOpen.doStart();
+            this.isOpen = true;
+            this._minimizeSidebar._icon.setAttribute("frame",1);
+            this._minimizeSidebar._icon._labelTooltip.setAttribute("labelid",856);
+        }
+    </method>
+    
+    <view name="borderBarTop" y="0"
+    			width="${ parent.width }" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" height="1" />
+   	<view name="_tabbarBg" width="${ parent.width }" height="32" y="1" bgcolor="0xFAFAFA" />
+	<view name="borderBarBottom" y="34"
+   			width="${ parent.width }" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" height="1" /> 
+    
+    <view name="_head" y="1" width="${ parent.width-10 }" height="32"
+    		  layout="axis:x;spacing:2;inset:2" >
+    
+    	<handler name="oninit">
+    		for (var eg in this.subviews) {
+            	this.subviews[eg].deselect();
+            }
+            this.userTabButton.doSelection();
+    	</handler>
+   
+        <tabButtonMain name="userTabButton" height="$once{ parent.height }" width="$once{ (parent.width-6)/2 }"
+                currentIconRsc="users_tab_btn" labelid="613" />
+        
+        <tabButtonMain name="filesTabButton" currentIconRsc="files_tab_btn" height="$once{ parent.height }" 
+                labelid="614" width="$once{ (parent.width-6)/2 }"
+                visible="${(canvas.currentRoomObj.hideFilesExplorer ? false:true)}"/>
+        
+    </view>
+    
+    <fileExplorer name="_files" y="22" width="$once{ parent.width-12 }" 
+               height="${ parent.height-222 }" visibility="hidden" />
+    
+    <restrictedUserList name="_participants" y="36" 
+			    width="$once{ parent.width-10 }" 
+			   height="${ parent.height-((canvas.currentRoomObj.hideActivitiesAndActions == true) ? 36:236) }" />
+			   
+    <activityList name="_activityList" />
+    
+    <view name="_minimizeSidebar" x="${ parent.width - 10 }" width="10" y="1"
+          				bgcolor="0xE0E1EB" height="${ parent.height-1 }">
+        <handler name="onclick">
+            parent.toggleStatus();
+        </handler>
+        
+        <view width="${ parent.width }" height="$once{ parent.height }" 
+               bgcolor="0xE0E1EB" >
+        </view>
+            
+        <view name="_icon" resource="sidebar_tab_btn" y="0">
+             <handler name="onclick">
+	            parent.parent.toggleStatus();
+	         </handler>
+	         <labelTooltip name="_labelTooltip" labelid="856" />
+        </view>
+        
+    </view>
+    
+    <animator name="_doOpen" attribute="width" to="$once{ parent.width }" 
+              duration="750" start="false" />
+              
+    <animator name="_doClose" attribute="width" to="10" 
+              duration="750" start="false" />
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/interviewuserlist/interviewListInner.lzx b/WebContent/src/modules/conference/interviewuserlist/interviewListInner.lzx
new file mode 100644
index 0000000..7fc1f59
--- /dev/null
+++ b/WebContent/src/modules/conference/interviewuserlist/interviewListInner.lzx
@@ -0,0 +1,258 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+          
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<class name="interviewListTable" extends="view" y="60" 
+       height="${ parent.height-64-parent.moderationPanel.height }"
+        bgcolor="0xFFFFFF" x="2" clip="true" width="$once{ parent.width-4 }" >
+        <innerlistViewEventUserListTable name="innerList" />
+    <om_vscrollbar />
+</class>    
+
+<class name="interviewListInner" extends="baseRoomInnerList"  
+       width="$once{ parent.width }" height="${ parent.height }" 
+       bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" >
+    
+    <attribute name="selectedItem" value="null" />
+    
+    <attribute name="sortType" value="alphabetical" type="string" />    
+    
+    <handler name="oninit">
+        <![CDATA[
+            this.initList();
+        ]]>
+    </handler>
+    
+    <!-- clip="true" -->
+    
+    <view width="$once{ parent.width-2 }" height="${ parent.height-2 }" 
+        x="1" y="1" bgcolor="white" />
+
+    <method name="addItem" args="object">
+        <![CDATA[
+            if ($debug) Debug.write("eventUserList addItem: ",object,object.publicSID);
+            
+            for (var i=0;i<this._table.innerList.subviews.length;i++) {
+                if (this._table.innerList.subviews[i].refObj.publicSID == object.publicSID) {
+                    //if ($debug) Debug.warn("Already on List, do not add twice");
+                    return;
+                }
+            }
+            
+            var lastname = object.lastname;
+            if (object.isSuperModerator) {
+                lastname += " *";
+            }
+            
+            new lz.interviewUserListItem(this._table.innerList,{
+                    user_id:object.user_id,
+                    firstname:object.firstname,
+                    isSuperModerator:object.isSuperModerator,
+                    lastname:lastname,
+                    refObj:object,
+                    connectedSince:object.connectedSince,
+                    isMod:object.isMod,
+                    streamid:object.streamid,
+                    username:object.username,
+                    formatedDate:object.formatedDate
+                });
+            
+            this.sortUserList();
+        ]]>
+    </method>
+    
+    <method name="sortUserList">
+        <![CDATA[ 
+        
+           if (this.sortType == "alphabetical") {
+                function sortByName(a,b) {
+                   
+                    if(a.firstname.toLowerCase() < b.firstname.toLowerCase()) return -1;
+                    else if(a.firstname.toLowerCase() > b.firstname.toLowerCase()) return 1;
+                    else return 0;
+                
+                }
+            
+                this._table.innerList.subviews.sort(sortByStreamId);
+                this._table.innerList._layout.subviews.sort(sortByStreamId);
+            } else {
+                function sortByStreamId(a,b) {
+                   
+                    if(Number(a.streamid) == Number(b.streamid)) return 0;
+                    else if(Number(a.streamid) > Number(b.streamid)) return 1;
+                    else return -1;
+                
+                }
+            
+                this._table.innerList.subviews.sort(sortByStreamId);
+                this._table.innerList._layout.subviews.sort(sortByStreamId);
+            }
+            
+            this._table.innerList._layout.update(); 
+        ]]>
+    </method>
+        
+    
+    <method name="initList">
+        new lz.interviewListTable(this,{name:'_table'});
+        this.moderationPanel.bringToFront();
+    </method>
+    
+    <method name="clearList">
+        this._table.destroy();
+        this.initList();
+    </method>
+    
+    <!--- get a Objects List Item
+        @param string publicSID publicSID
+     -->
+    <method name="getVideoObjectByPublicSID" args="publicSID">
+        <![CDATA[
+            //if ($debug) Debug.write("getVideoObjectByPublicSid SEARCH: ",publicSID);
+
+            for (var i=0;i<this._table.innerList.subviews.length;i++){
+                //if ($debug) Debug.write("getVideoObjectByPublicSID : this._table.innerList.subviews[i]",this._table.innerList.subviews[i]);
+                if (this._table.innerList.subviews[i].refObj.publicSID==publicSID){
+                    return this._table.innerList.subviews[i];
+                }
+            }
+            
+            return null;
+            
+        ]]>
+    </method>
+
+    <method name="selectItem" args="itemObj">
+        <![CDATA[
+        if ($debug) Debug.write("selectItem ",itemObj);
+        
+        if (canvas.ismoderator) {
+            if (this.selectedItem != null && this.selectedItem != itemObj) {
+                this.selectedItem.deselect();
+            }
+            
+            this.selectedItem = itemObj;
+            if (this.selectedItem.isSelected) {
+                this.selectedItem.deselect();
+            } else {
+                this.selectedItem.select();
+            }
+        }
+        ]]>
+    </method>
+
+    <view name="userStatus" layout="axis:y">
+        <view>
+             <view resource="userstatus_multiframe_rsc" frame="1" />
+             <labelText x="16" labelid="677" />
+        </view>
+        <view>
+             <view resource="userstatus_multiframe_rsc" frame="2" />
+             <labelText x="16" labelid="678" />
+        </view>
+        <view>
+             <view resource="userstatus_multiframe_rsc" frame="3" />
+             <labelText x="16" labelid="679" />
+        </view>
+    </view>
+    
+    <moderationMiniIconsInterviewUserList name="_applyAndStatusIcons" 
+                          x="$once{ parent.width-this.width-4 }" y="2" />
+    
+    <!--
+    <eventUserListTable name="_table" /> 
+     -->
+    <view name="moderationPanel" height="0" clip="true" 
+          y="${ parent.height - this.height - 2 }">
+        
+        <handler name="onismoderator" reference="canvas" args="m">
+            if ($debug) Debug.write("###### ismoderator ",m);
+            <![CDATA[
+                //this.isMod = canvas.getIsModeratorByPublicSID(this.refObj.publicSID);
+                this.updateIcons();
+            ]]>
+        </handler>
+        
+        <handler name="ondrawAllowStatus" reference="canvas" args="drawObject">
+            <![CDATA[
+                //search for the user and update its drawStatusIcon
+                var vList = parent._table.innerList.subviews;
+                for (var i=0;i<vList.length;i++) {
+                    //vList[i].updateIconByMod();
+                    if (vList[i].refObj.publicSID == drawObject.publicSID) {
+                        vList[i].refObj.canDraw = drawObject.canDraw;
+                        vList[i].updateIconByMod();
+                        break;
+                    }
+                }
+            ]]>
+        </handler>
+        
+        <handler name="onlastBroadCastingUser" reference="canvas" args="userObject">
+            <![CDATA[
+                
+                if (!userObject.isBroadcasting) {
+                    //Stop Broadcasting and close Dialog
+                    //Search, stop and remove video
+                    parent.parent.removeVideoByUser(userObject);
+                }
+                
+                //search for the user and update its drawStatusIcon
+                var vList = parent._table.innerList.subviews;
+                for (var i=0;i<vList.length;i++) {
+                    //vList[i].updateIconByMod();
+                    if (vList[i].refObj.publicSID == userObject.publicSID) {
+                        vList[i].refObj.isBroadcasting = userObject.isBroadcasting;
+                        vList[i].updateIconByMod();
+                        break;
+                    }
+                }
+                
+                parent._applyAndStatusIcons.updateIcons();
+            ]]>
+        </handler>
+        
+        <method name="updateIcons">
+            <![CDATA[
+                if (canvas.ismoderator) {
+                    this.showItem.doStart();
+                } else {
+                    this.setAttribute("height",0);
+                }
+                var vList = parent._table.innerList.subviews;
+                
+                for (var i=0;i<vList.length;i++) {
+                    vList[i].updateIconByMod();
+                }
+                parent._applyAndStatusIcons.updateIcons();
+            ]]>
+        </method>
+        
+        <labelText labelid="912" width="270" x="0" multiline="true" y="0" />
+        
+        <animator name="showItem" attribute="height" 
+                  to="60" duration="1000" start="false" />
+    </view>
+
+</class>
+
+
+</library>
\ No newline at end of file
diff --git a/WebContent/src/modules/conference/interviewuserlist/interviewModerationMiniIcons.lzx b/WebContent/src/modules/conference/interviewuserlist/interviewModerationMiniIcons.lzx
new file mode 100644
index 0000000..52de0c2
--- /dev/null
+++ b/WebContent/src/modules/conference/interviewuserlist/interviewModerationMiniIcons.lzx
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="interviewModerationMiniIcons" extends="view" valign="bottom" height="18">
+	
+	<attribute name="isMod" value="false" type="boolean"/>
+    <attribute name="isSuperModerator" value="false" type="boolean"/>
+	
+	<handler name="oninit">
+		this.isMod = canvas.getIsModeratorByPublicSID(parent.refObj.publicSID);
+		
+		if ($debug) Debug.write("this.isMod ",this.isMod);
+		
+		if (this.isMod) {
+			this._isMod.setAttribute("visibility","visible");
+			this._isModAddbutton.setAttribute("visibility","hidden");
+		} else {
+			this._isMod.setAttribute("visibility","hidden");
+            this._isModAddbutton.setAttribute("visibility","visible");
+		}
+		
+	</handler>
+        
+    <miniIcons name="_isMod" x="0" width="16" resource="participants_isMod_rsc" height="16">
+        <handler name="onclick">
+            <![CDATA[
+            
+                if (parent.isSuperModerator) {
+                    new lz.labelerrorPopup(canvas.main_content._content.inner,{errorlabelid:838});
+                    return;
+                }
+            
+                //if the label is set and this is a Moderator then this user should
+                //allow the click event => the click event will trigger
+                //this user away from beeing able to draw on the whiteboard
+                if (canvas.ismoderator) {
+                    //Do it 
+                    if ($debug) Debug.write("Do Remove It");
+                    if (parent.parent.refObj.publicSID != canvas.publicSID) {
+                        hib.removeModerator.publicSIDOfNewModerator = parent.parent.refObj.publicSID;
+                        hib.removeModerator.doCall();
+                    } else {
+                    	new lz.labelerrorPopup(canvas,{errorlabelid:682});
+                    }
+                    //parent.parent.setCanDraw.doCall();
+                }
+            ]]>
+        </handler>
+        <labelTooltip name="_text" labelid="675" />
+    </miniIcons>
+    
+    <miniIcons name="_isModAddbutton" opacity="0.5" x="0" width="16" resource="participants_isMod_rsc" height="16">
+        <handler name="onclick">
+            <![CDATA[
+                //if the label is set and this is a Moderator then this user should
+                //allow the click event => the click event will trigger
+                //this user away from beeing able to draw on the whiteboard
+                if (canvas.ismoderator) {
+                    //Do it 
+                    if ($debug) Debug.write("Do Add It");
+                    hib.addModerator.publicSIDOfNewModerator = parent.parent.refObj.publicSID;
+                    hib.addModerator.doCall();
+                    //parent.parent.setCanDraw.doCall();
+                }
+            ]]>
+        </handler>
+        <labelTooltip name="_text" labelid="676" />
+    </miniIcons>
+        
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/interviewuserlist/interviewUserList.lzx b/WebContent/src/modules/conference/interviewuserlist/interviewUserList.lzx
new file mode 100644
index 0000000..d3b5cbe
--- /dev/null
+++ b/WebContent/src/modules/conference/interviewuserlist/interviewUserList.lzx
@@ -0,0 +1,252 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+          
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+ 
+<class name="interviewUserList" extends="view" width="$once{ parent.width }" 
+       height="${ parent.height-34 }">
+
+    <!--- holds a references to the videoview which is broadcasting -->
+    <attribute name="broadCastViewRef" value="null" />
+    
+    <!--- colors for each user -->
+    <attribute name="colorArray" value="null" />
+
+    <attribute name="showsVideoInSeparateComponent" value="false" type="boolean" />
+    
+    <handler name="oninit">
+        //set modus
+        canvas.thishib.modus = "interview";
+        
+        //set reference, this reference will be cleared at *ontabcontenctleave* event
+        canvas._videocontainer=this;
+        
+        // Reconnect User to its Room Id
+        canvas.thishib.userScope = canvas.thishib.currentroomid;
+        var src = hib.getUrl();
+        
+        if( $debug ) Debug.write("videoContainer: canvas.thishib: ",canvas.thishib.src,canvas.thishib);
+        
+        if (canvas.thishib.src != src) {
+            canvas.thishib.setAttribute('src',src);
+            
+            canvas.thishib.reconnectionAction = true;
+            canvas.thishib.reconnectObjRef = this;
+            canvas.thishib.disconnect();
+        } else {
+            //The user is already in the correct Scope
+            this.reconnectSuccess();
+        }
+    </handler>
+                  
+    <method name="reconnectSuccess">
+        if ($debug) Debug.warn("User Reloged In ",canvas.becomemoderator);
+        //Send to SWF10 video-container to connect on the conference room url 
+        //and wait for the as3ConnectionSuccess-Event
+        this._videoviewcontent.reconnectSuccess(true);
+    </method>
+    
+    <!---
+        We need to wait till the video-container / as3 app has the connection established
+        otherwise it can happen that the video tries to start playing before the rtmp-connection
+        was established
+     -->
+    <method name="as3ConnectionSuccess">
+        if ($debug) Debug.write("as3ConnectionSuccess continue loading");
+        //set default values and get already availible streams
+        //it can happen that if you click to exit the room the views are not 
+        //not cleaned up yet and you receive this event from the LocalConnection
+        if (this["getRoomModeratorsByRoomId"]) {
+            this.getRoomModeratorsByRoomId.doCall();
+        }
+    </method>
+    
+    <netRemoteCallHib name="getRoomModeratorsByRoomId" funcname="conferenceservice.getRoomModeratorsByRoomId" 
+                      remotecontext="$once{ canvas.thishib }" >  
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>    
+        <netparam><method name="getValue">return hib.currentroomid;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                if ($debug) Debug.write("getRoomModeratorsByRoomId: ",value);
+                canvas.becomeSuperModerator = false;
+                
+                parent.setRoomValues.applyDefaultModeration = canvas.becomemoderator;
+                
+                for (var i=0;i<value.length;i++) {
+                    
+                    if (value[i].user.user_id == canvas.user_id) {
+                        parent.setRoomValues.applyDefaultModeration = true;
+                        canvas.becomeSuperModerator = value[i].isSuperModerator;
+                        if ($debug) Debug.info("Make this User to an Moderator");
+                        break;
+                    }
+                    
+                }
+                
+                if ($debug) Debug.write("canvas.becomemoderator: ",canvas.becomemoderator);
+                if ($debug) Debug.write("canvas.becomeSuperModerator: ",canvas.becomeSuperModerator);
+                
+                canvas.currentusercolor = canvas.getColorForUser();
+                
+                var organisation_id = 1;
+            
+                if ($debug) Debug.write(hib.userobject); 
+                if ($debug) Debug.write(hib.currentdomainObj); 
+                
+                if (hib.currentdomainObj != null) {
+                    organisation_id = hib.currentdomainObj.organisation_id
+                }
+                
+                this.parent.setRoomValues.organisation_id = organisation_id;
+                this.parent.setRoomValues.doCall();
+            
+            ]]>
+        </handler>
+    </netRemoteCallHib>     
+
+    <netRemoteCallHib name="setRoomValues" funcname="setRoomValues" remotecontext="$once{ canvas.thishib }" >   
+        <attribute name="applyDefaultModeration" value="false" type="boolean" />
+        <attribute name="organisation_id" value="0" type="number" />
+        <netparam><method name="getValue">return hib.currentroomid;</method></netparam>
+        <netparam><method name="getValue">return parent.applyDefaultModeration;</method></netparam>
+        <netparam><method name="getValue">return canvas.becomeSuperModerator;</method></netparam>
+        <netparam><method name="getValue">return parent.organisation_id;</method></netparam>
+        <netparam><method name="getValue">return canvas.currentusercolor;</method></netparam>
+        <handler name="ondata" args="roomStatus">
+            <![CDATA[
+            //The onResult-Handler will be called be the rtmpconnection
+            //if ($debug) Debug.write("setRoomValues1: ",value);
+            //if ($debug) Debug.write("setRoomValues2: ",hib.currentroomid);
+            
+            //if ($debug) Debug.write("+++++++++++++++++ getClientListScope : ",value);
+            
+            if (roomStatus.roomFull) {
+                canvas.thishib.showFullMessage = true;
+                canvas.thishib.disconnect();
+            }
+            
+            if (roomStatus.browserStatus.browserInited) {
+                var tObj = new Object();
+                tObj[0] = "newBrowserURL";
+                tObj[1] = roomStatus.browserStatus.currentURL;
+                canvas.startBrowser(tObj);
+            }
+            
+            var value = roomStatus.clientMap;
+            
+            //if ($debug) Debug.write("+++++++++++++++++ getClientListScope : ",value);
+            for (var i in value){
+                if ( value[i].streamid == canvas.streamid ) {
+                    canvas.isAllowedToDraw = value[i].canDraw;
+                }
+
+                //if ($debug) Debug.write("getClientListScope value: ",value[i]);
+                this.parent.addItem(value[i].connectedSince,value[i].isMod,value[i].streamid,value[i].username,
+                              '',value[i].formatedDate,value[i].userpos,value[i].usercolor,value[i]);
+            }
+            //this content must be inited _after_ setting the default values
+            canvas.thishib.getCurrentModeratorList.doCall(); 
+            //FIXME Issue-1076
+            canvas.thishib.checkLzRecording.doCall();
+            canvas._chatcontent.doInit();           
+            ]]>
+        </handler>  
+    </netRemoteCallHib>
+
+    <!-- invoked if another client logs into the room 
+    after choosing devices -->     
+    <method name="setAVSettingsToClient" args="rcl">
+         this._videoviewcontent.setAVSettingsToClient(rcl);
+    </method> 
+    
+    <method name="addItem" args="connectedSince,isMod,streamid,username,userroom,formatedDate,position,color,object">
+        <![CDATA[
+            if ($debug) Debug.write("initializeStreams addItem: ",connectedSince,object);
+            
+            //Do init only in case this stream is NOT the same as we are
+            if (streamid!=canvas.streamid){
+                //if ($debug) Debug.write("???????? object.isBroadcasting :: ",object.isBroadcasting);
+                this._videoviewcontent.createVideo(object.publicSID, object.firstname+' '+object.lastname, object.broadCastID, object.avsettings, object.interviewPodId, object);
+            }
+           
+            //do add self too
+            this._participants.addItem(object);
+        ]]>
+    </method>
+    
+    <method name="addClientItem" args="connectedSince,isMod,streamid,username,room_id,formatedDate,position,color,object">
+        <![CDATA[
+        if ($debug) Debug.write("### initializeStreams addClientItem: ",connectedSince,isMod,streamid,username,room_id,formatedDate);
+
+        if (canvas.publicSID != object.publicSID){
+            this._videoviewcontent.createVideoObject(object.publicSID, false, object.interviewPodId, object);
+        }
+
+        //Do Add it anyway
+        this._participants.addItem(object);
+        ]]>
+    </method>
+        
+    <!--
+        invoked whenever a User starts to Stream Video in this Room,
+        interviewPodId has only a meaning in the Room Type Interview
+     -->
+    <method name="startStream" args="publicSID,broadcastId,firstname,lastname,interviewPodId,VWidth,VHeight">
+        this._videoviewcontent.startStream(publicSID,broadcastId,firstname,lastname,interviewPodId,VWidth,VHeight);
+    </method>
+
+    <method name="updateMuteStatusVideoView" args="roomClient">
+        this._videoviewcontent.updateMuteStatusVideoView(roomClient);
+    </method>
+    
+    <method name="setSpeakingByPos" args="publicSID,bool">
+        this._videoviewcontent.setSpeakingByPos(publicSID, bool);
+    </method>  
+    
+    <!--- 
+        stops the streaming but does not destroy the view
+        @param int broadcastId broadcastId
+     -->
+    <method name="closeStreamClient" args="publicSID">
+        this._videoviewcontent.closeStreamClient(publicSID);
+    </method>
+    
+    <method name="removeVideoByUser" args="userObject">
+    	if ($edebug) Debug.write("removeVideoByUser ",userObject);
+        this.closeStreamClient(userObject.publicSID);
+    </method>
+    
+    <method name="disconnectclient" args="publicSID">
+        this._videoviewcontent.disconnectclient(publicSID);
+        this._participants.disconnectclient(publicSID);
+    </method>
+    
+    <method name="resetAllValues">
+        this._videoviewcontent.resetAllValues();
+    </method>
+    
+    <interviewListInner name="_participants" />
+    
+    <commonVideoComponentAdapter name="_videoviewcontent"/>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/interviewuserlist/interviewUserListItem.lzx b/WebContent/src/modules/conference/interviewuserlist/interviewUserListItem.lzx
new file mode 100644
index 0000000..f696d24
--- /dev/null
+++ b/WebContent/src/modules/conference/interviewuserlist/interviewUserListItem.lzx
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="interviewUserListItem" extends="view" showhandcursor="false" 
+	   bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" width="252" height="42">
+	
+	<attribute name="connectedSince" value="" type="string" />
+    <attribute name="isMod" value="" type="string" />
+    <attribute name="streamid" value="" type="string" />
+    <attribute name="username" value="" type="string" />
+    <attribute name="userroom" value="" type="string" />
+    <attribute name="formatedDate" value="" type="string" />
+    <attribute name="firstname" value="" type="string" />
+    <attribute name="lastname" value="" type="string" />
+    <attribute name="user_id" value="0" type="number" />
+    <attribute name="refObj" value="null" />
+    
+    <attribute name="isSuperModerator" value="false" type="boolean"/>
+    
+    <attribute name="isSelected" value="false" type="boolean" />
+    
+	<handler name="oninit">
+        <![CDATA[
+        
+            //this._userpic.setAttribute('src',downloadurl); 
+            //This is a workaround cause in LPS-4.2.x immediatelly loading does not work
+            lz.Timer.addTimer( new LzDelegate( this, "fadeText" ), 1000 );
+
+            if (this.isMod) {
+            	this.userStatus.setAttribute("frame",3);
+            }
+               
+            if (canvas.publicSID == this.refObj.publicSID) {
+                //this._userName.setAttribute("fontstyle","bold");
+                this.setAttribute("bgcolor",0x00FF00);
+            }
+            
+            this.updateIconByMod();
+        ]]>
+    </handler>
+    
+    <method name="updateIconByMod">
+    	this.isMod = canvas.getIsModeratorByPublicSID(this.refObj.publicSID);
+    	if (this.isMod) {
+            this.userStatus.setAttribute("frame",3);
+        } else if (this.refObj.canDraw) {
+        	this.userStatus.setAttribute("frame",2);
+        } else {
+        	this.userStatus.setAttribute("frame",1);
+        }
+        
+        if (this.isSelected) {
+        	this._miniIcons.oninit.sendEvent();
+        }
+    </method>
+    
+    <method name="fadeText" args="ignore=null"> 
+        <![CDATA[
+            if (this.refObj.picture_uri.startsWith("http") || this.refObj.picture_uri.startsWith("https")) {
+                var downloadurl = this.refObj.picture_uri;
+            //Do Load the Custom Moodle Profilee Picture
+            } else if (this.refObj.externalUserId >= 1 && this.refObj.externalUserType == "moodle") {
+                
+                if (this.refObj.externalUserId == 1) {
+                    //Means it is a guest
+                    var downloadurl = canvas.moodleWwwRoot+"/pix/u/f2.png";
+                } else {
+                    var downloadurl = canvas.moodleWwwRoot+"/user/pix.php/"+ this.refObj.externalUserId +"/f2.jpg";
+                }
+                
+            } else {
+        
+                var downloadurl = canvas.protocol+'://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                                    +canvas.httpRootKey+'DownloadHandler?fileName=CHAT'
+                                    +'&moduleName=chat&parentPath=&room_id='
+                                    +'&remoteUserid='+this.user_id
+                                    +'&sid='+canvas.sessionId;
+                        
+            }
+            
+            this._userpic.setAttribute('src',downloadurl); 
+        ]]>          
+    </method>
+     
+    <handler name="onclick">
+    	parent.parent.parent.selectItem(this);
+    </handler>
+     
+    <method name="select">
+    	if (!this.isSelected) {
+	    	new lz.interviewModerationMiniIcons(this,{name:'_miniIcons',align:'right',
+                isMod:this.isMod,
+                isSuperModerator:this.isSuperModerator});
+	    	this.isSelected = true;
+	    	this._userName.text = "";
+	    	this.showItem.doStart();
+    	}
+    </method>
+    
+    <method name="deselect">
+    	if (this.isSelected) {
+	    	this._miniIcons.destroy();
+	    	this.isSelected = false;
+	    	this._userName.text = this.firstname+' '+this.lastname;
+	    	this.closeItem.doStart();
+    	}
+    </method>
+     
+    <image name="_userpic" stretches="both" x="1" y="1">
+        <handler name="onload">
+            <![CDATA[
+                if (this.height > 38) {
+                    //If bigger then containter then scale it
+                    var width = this.width/(this.height/38);
+                    this.setAttribute('height',38);
+                    this.setAttribute('width',width);
+                }
+            ]]>
+        </handler>
+    </image>
+    
+    <view name="userStatus" align="right" frame="1" 
+    	  resource="userstatus_multiframe_rsc" />
+    
+    <labelText name="_userName" x="41" y="2"
+    		   text="$once{ parent.firstname+' '+parent.lastname }" />
+    
+    <!--
+    <labelTooltip name="_userName" text="$once{ parent.firstname+' '+parent.lastname }" />
+     -->
+     
+    <animatorgroup name="showItem" start="false" process="simultaneous">
+    	<animator attribute="height" to="62" duration="750" />
+    	<animator attribute="width" to="252" duration="750" />
+    </animatorgroup>
+    
+    <animatorgroup name="closeItem" start="false" process="simultaneous">
+        <animator attribute="height" to="42" duration="750" />
+        <animator attribute="width" to="252" duration="750" />
+    </animatorgroup>
+                 
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/interviewuserlist/interviewVideoBox.lzx b/WebContent/src/modules/conference/interviewuserlist/interviewVideoBox.lzx
new file mode 100644
index 0000000..5727a09
--- /dev/null
+++ b/WebContent/src/modules/conference/interviewuserlist/interviewVideoBox.lzx
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+          
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+
+<class name="interviewVideoChooseUser" extends="guiPresenter" resizeable="false"
+    width="220" height="100" closable="true" labelid="910" y="10" minimizable="false">
+    
+    <attribute name="refObj" value="null" />
+    
+    <handler name="oninit">
+        this.getClientListScope.doCall();
+    </handler>
+    
+    <!--
+    public synchronized HashMap<String,RoomClient> getClientListScope()
+     -->
+    <netRemoteCallHib name="getClientListScope" funcname="getClientListScope" 
+                      remotecontext="$once{ canvas.thishib }" >   
+        <handler name="ondata" args="value">
+            <![CDATA[
+                if ($debug) Debug.write("+++++++++++++++++ getClientListScope : ",value);
+                
+                for (var i in value) {
+                    parent._users.addItem(value[i].firstname+','+value[i].lastname+' ['+value[i].username+']',value[i].publicSID);
+                }
+                
+                parent._users.selectItemAt(0);
+            
+            ]]>
+        </handler>  
+    </netRemoteCallHib>
+    
+    <labelText labelid="911" x="2" y="22"/>
+    
+    <resetCombobox name="_users" x="2" y="42" width="$once{ parent.width-4 }"/>
+    
+    <simpleLabelButton labelid="61" width="100" x="$once{ parent.width - 105 }" y="$once{ parent.height - 26 }">
+        <handler name="onclick">
+            this.parent.close();
+        </handler>
+    </simpleLabelButton>    
+    
+    <simpleLabelButton labelid="60" width="100" x="$once{ parent.width - 210 }" y="$once{ parent.height - 26 }">
+        <handler name="onclick">
+            var valueCombobox = parent._users.getValue();
+            if (this.parent.refObj.sendConfirmation(valueCombobox)) {
+                this.parent.close();
+            }
+        </handler>
+    </simpleLabelButton>   
+    
+</class>
+ 
+<class name="interviewVideoBox" extends="view" width="322" height="281" bgcolor="0x000000">
+
+    <attribute name="interviewPodId" value="0" type="number" />
+
+    <method name="startInterView">
+        if ($debug) Debug.write("startInterView :: ");
+        var tx = this.getAttributeRelative("x",canvas);
+        var ty = this.getAttributeRelative("y",canvas);
+        canvas._videocontainer._videoviewcontent.showDevicePopUpInterview(false,this.interviewPodId,tx,ty,this.width,this.height);
+    </method>
+
+    <method name="sendConfirmation" args="publicSID">
+        if ($debug) Debug.write("sendConfirmation :: ",publicSID);
+        
+        canvas.thishib.setBroadCastingFlag.publicSIDOfNewModerator = publicSID;
+        canvas.thishib.setBroadCastingFlag.isAllowedToBroadCastAV = true;
+        canvas.thishib.setBroadCastingFlag.interviewPodId = this.interviewPodId;
+        canvas.thishib.setBroadCastingFlag.doCall(); 
+        
+        //this.sendMessageWithClientByPublicSID.publicSID = publicSID;
+        //this.sendMessageWithClientByPublicSID.messageObject = new Object();
+        //this.sendMessageWithClientByPublicSID.messageObject["message"] = "allowInterview";
+        //this.sendMessageWithClientByPublicSID.messageObject["action"] = "showVideoDeviceSettings";
+        //this.sendMessageWithClientByPublicSID.messageObject["interviewPodId"] = this.interviewPodId;
+        //this.sendMessageWithClientByPublicSID.doCall();
+        
+        return true;
+    </method>
+    
+    <!--
+    public synchronized void sendMessageWithClientByPublicSID(Object message, String publicSID) 
+     -->
+    <netRemoteCallHib name="sendMessageWithClientByPublicSID" funcname="sendMessageWithClientByPublicSID" 
+                      remotecontext="$once{ canvas.thishib }" >  
+        <attribute name="messageObject" value="null" />
+        <attribute name="publicSID" value="" type="string" />
+        <netparam><method name="getValue">return parent.messageObject;</method></netparam>
+        <netparam><method name="getValue">return parent.publicSID;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                if ($debug) Debug.write("+sendMessageWithClientByPublicSID : ",value);
+                
+            ]]>
+        </handler>  
+    </netRemoteCallHib>
+    
+    <simpleLabelButton labelid="910" height="30" valign="middle" align="center"
+               visible="${ ((canvas.ismoderator) ? true : ((canvas.isAllowedToDraw) ? true : false )) }">
+        <handler name="onclick" args="refObj">
+            new lz.interviewVideoChooseUser(canvas,{
+                           isInterview:true,
+                           x:this.getAttributeRelative("x",canvas)-10,
+                           y:this.getAttributeRelative("y",canvas)-20,
+                           width:this.width+20,
+                           refObj:parent
+                        });
+        </handler>
+    </simpleLabelButton>
+        
+    <!--
+    <videoObjectPlayBroadcast name="_videoPlay" isInterview="true" visibility="hidden" 
+                              width="$once{ parent.width }" height="$once{ parent.height }" />
+     -->
+    
+</class>
+
+
+</library>
diff --git a/WebContent/src/modules/conference/interviewuserlist/interviewWhiteboard.lzx b/WebContent/src/modules/conference/interviewuserlist/interviewWhiteboard.lzx
new file mode 100644
index 0000000..4e4d1a4
--- /dev/null
+++ b/WebContent/src/modules/conference/interviewuserlist/interviewWhiteboard.lzx
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+          
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<class name="interviewWhiteboard" extends="view" clip="true">
+        
+    <handler name="oninit">
+        canvas._drawarea = this;
+        this.reloadStatus();
+    </handler>
+    <handler name="onopenWhiteBoard" >
+        if ($debug) Debug.write("-- onOpenWhiteBoard --");
+    </handler>
+    
+    <method name="newInterviewStarting" args="refObj">
+        <![CDATA[
+           this._videoviewcontent["interviewVideoBox"+refObj.interviewPodId].startInterView();
+        ]]>
+    </method>
+        
+    <method name="reloadStatus">
+        this.getInterviewRecordingStatus.doCall();
+    </method>
+    
+    <!--
+    getInterviewRecordingStatus()
+     -->
+    <netRemoteCallHib name="getInterviewRecordingStatus" funcname="getInterviewRecordingStatus" 
+                      remotecontext="$once{ canvas.thishib }" >  
+        <handler name="ondata" args="value">
+            <![CDATA[
+                if ($debug) Debug.write("getInterviewRecordingStatus: ",value);
+                if (value) {
+                    parent._recStarted.setAttribute("visibility","visible");
+                } else {
+                    parent._recStarted.setAttribute("visibility","hidden");
+                }
+            ]]>
+        </handler>
+    </netRemoteCallHib> 
+    
+    <simplelayout axis="y" spacing="2" />
+    
+    <commonVideoViewContent name="_videoviewcontent" x="40" >
+
+        <simplelayout axis="x" spacing="2" />
+        
+        <interviewVideoBox name="interviewVideoBox1" interviewPodId="1" >
+        
+        </interviewVideoBox>
+        
+        <interviewVideoBox name="interviewVideoBox2" x="324" interviewPodId="2" >
+            
+        </interviewVideoBox>
+    </commonVideoViewContent>
+    
+    <view name="_interview" align="center" visible="${ canvas.ismoderator }">
+        
+        <!--
+           public synchronized Boolean startInterviewRecording()
+         -->
+        <netRemoteCallHib name="startInterviewRecording" funcname="startInterviewRecording" 
+                          remotecontext="$once{ canvas.thishib }" >  
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    if ($debug) Debug.write("startInterviewRecording: ",value);
+                    if (!value) {
+                        new lz.labelerrorPopup(canvas,{errorlabelid:915});
+                    }
+                ]]>
+            </handler>
+        </netRemoteCallHib>          
+        
+        <netRemoteCallHib name="stopInterviewRecording" funcname="stopInterviewRecording" 
+                          remotecontext="$once{ canvas.thishib }" >  
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    if ($debug) Debug.write("stopInterviewRecording: ",value);
+                    if (!value) {
+                        new lz.labelerrorPopup(canvas,{errorlabelid:916});
+                    }
+                ]]>
+            </handler>
+        </netRemoteCallHib>  
+        
+        <simplelayout axis="x" spacing="2" />
+        
+        <simpleLabelButton name="_start" labelid="913" height="30" width="200">
+            <handler name="onclick">
+                if ($debug) Debug.write("Start Recording");
+                parent.startInterviewRecording.doCall();
+            </handler>
+            <view x="2" y="4" resource="interview_record_start" />
+        </simpleLabelButton>
+        
+        <simpleLabelButton name="_stop" labelid="914" height="30" width="200">
+            <handler name="onclick">
+                if ($debug) Debug.write("Stop Recording");
+                parent.stopInterviewRecording.doCall();
+            </handler>
+            <view x="2" y="4" resource="interview_record_stop" />
+        </simpleLabelButton>
+        
+    </view>
+    
+    <view name="_recStarted" align="center" visibility="hidden">
+        <labelText labelid="917" />
+    </view>
+        
+</class>
+
+</library>
\ No newline at end of file
diff --git a/WebContent/src/modules/conference/interviewuserlist/library.lzx b/WebContent/src/modules/conference/interviewuserlist/library.lzx
new file mode 100644
index 0000000..601b2f8
--- /dev/null
+++ b/WebContent/src/modules/conference/interviewuserlist/library.lzx
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	<resource name="interview_record_start" src="resources/webstart_play.png" />
+	<resource name="interview_record_stop" src="resources/webstart_stop.png" />
+	
+    <include href="interviewUserList.lzx" />
+    <include href="interviewWhiteboard.lzx" />
+    <include href="interviewVideoBox.lzx" />
+    <include href="interviewModerationMiniIcons.lzx" />
+    <include href="interviewUserListItem.lzx" />
+    <include href="interviewListInner.lzx" />
+    <include href="moderationMiniIconsInterviewUserList.lzx" />
+    
+    
+</library>
diff --git a/WebContent/src/modules/conference/interviewuserlist/moderationMiniIconsInterviewUserList.lzx b/WebContent/src/modules/conference/interviewuserlist/moderationMiniIconsInterviewUserList.lzx
new file mode 100644
index 0000000..fedcea82
--- /dev/null
+++ b/WebContent/src/modules/conference/interviewuserlist/moderationMiniIconsInterviewUserList.lzx
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="moderationMiniIconsInterviewUserList" extends="view">
+	
+    <handler name="oninit">
+    	this.updateIcons();
+    </handler>	
+    
+    <method name="updateIcons">
+        if (canvas.ismoderator) {
+            this._isMod.setAttribute("visibility","visible");
+            this._isModAddbutton.setAttribute("visibility","hidden");
+        } else {
+            this._isMod.setAttribute("visibility","hidden");
+            this._isModAddbutton.setAttribute("visibility","visible");
+        }
+    </method>
+	
+    <miniIcons name="_isMod" x="0" width="16" resource="participants_isMod_rsc" 
+    		   height="16" showhandcursor="false">
+        <handler name="onclick">
+            <![CDATA[
+                //Nothing happens here
+            ]]>
+        </handler>
+        <labelTooltip name="_text" labelid="688" />
+    </miniIcons>
+    
+    <miniIcons name="_isModAddbutton" opacity="0.5" x="0" width="16" resource="participants_isMod_rsc" height="16">
+        <handler name="onclick">
+            <![CDATA[
+                //Apply for Moderation
+                canvas.thishib.applyForModeration.doCall();
+            ]]>
+        </handler>
+        <labelTooltip name="_text" labelid="685" />
+    </miniIcons>
+        
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/interviewuserlist/resources/webstart_play.png b/WebContent/src/modules/conference/interviewuserlist/resources/webstart_play.png
new file mode 100644
index 0000000..6d13683
--- /dev/null
+++ b/WebContent/src/modules/conference/interviewuserlist/resources/webstart_play.png
Binary files differ
diff --git a/WebContent/src/modules/conference/interviewuserlist/resources/webstart_stop.png b/WebContent/src/modules/conference/interviewuserlist/resources/webstart_stop.png
new file mode 100644
index 0000000..8389bf3
--- /dev/null
+++ b/WebContent/src/modules/conference/interviewuserlist/resources/webstart_stop.png
Binary files differ
diff --git a/WebContent/src/modules/conference/library.lzx b/WebContent/src/modules/conference/library.lzx
new file mode 100644
index 0000000..b517cd4
--- /dev/null
+++ b/WebContent/src/modules/conference/library.lzx
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	<!-- FamFam Icon Set -->
+    <resource name="resyncuser_rsc" src="resources/arrow_refresh_small.png" />
+    
+    <!-- APL author sebawagner -->
+    <resource name="speaking" src="resources/speaking.png" />
+    
+    <!-- APL author sebawagner -->
+    <resource name="lz_recorder_play" src="resources/webstart_play.png" />
+	
+    <include href="commonVideoViewContent.lzx"/>
+    <include href="commonVideoComponentAdapter.lzx"/>
+    <include href="screenSharingAdapter.lzx" />
+
+	<include href="whiteboard/" /> 
+ 	
+   	<include href="tabcontent/" />
+   	<include href="popups/" />
+   	<include href="moderation/" />
+   	<include href="polls/" />
+   	
+   	<include href="conference/" />
+   	
+    <!-- throws an Exception
+	<include href="browser/"/>  
+     -->
+    <include href="participants/" /> 
+    <include href="interviewuserlist/" /> 
+    
+    <include href="restricted/" />
+    <include href="browser/" />
+    <include href="testsetup/" />
+    <include href="sip/" />
+    
+    <include href="flexibleConferenceRoom/" />
+    
+</library>
diff --git a/WebContent/src/modules/conference/moderation/applyForModeration.lzx b/WebContent/src/modules/conference/moderation/applyForModeration.lzx
new file mode 100644
index 0000000..40b01e8
--- /dev/null
+++ b/WebContent/src/modules/conference/moderation/applyForModeration.lzx
@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="userItem" extends="view" bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" width="$once{ parent.width }" height="20">
+	<attribute name="streamid" value="0" type="string" />
+	<attribute name="username" value="" type="string" />
+	<attribute name="hasAnswered" value="false" type="boolean" />
+	<attribute name="answer" value="false" type="boolean" />
+	
+	<view name="inner" width="$once{ parent.width-2 }" height="$once{ parent.height-2 }" x="1" y="1"
+		onmouseover="this.setAttribute('bgcolor',canvas.getThemeColor('baseMousecolorizer'))"
+		onmouseout="this.setAttribute('bgcolor',0xFFFFFF)" bgcolor="0xFFFFFF">
+		<labelText text="$once{ parent.parent.streamid }" width="50" />
+		<labelText text="$once{ parent.parent.username }" x="50" width="300" />
+		<labelText name="answer" labelid="88" x="350" width="140" />
+	</view>
+</class>
+    
+<class name="applyForModeration"  extends="labelExplorerBox" labelid="81"
+	width="500" height="250" x="14" closable="true">
+	
+	<attribute name="applymessage" value="null" />
+	
+	<labelText labelid="93" y="30" x="2" />
+
+	<handler name="oninit">
+		canvas.currentModApply = this;
+		this.getClientListScope.doCall();
+		this.applymessage = new Array();
+		this.applymessage[0] = 'applyforMod';
+		this.checkRoomValues.doCall();
+	</handler>
+    
+    <!--
+        This is necessary as in some cases the user should not be allowed 
+        to apply for Moderation at all, this Function checks this
+     -->
+    
+    <netRemoteCallHib name="checkRoomValues" funcname="checkRoomValues" 
+                      remotecontext="$once{ canvas.thishib }" >   
+        <netparam><method name="getValue">return hib.currentroomid;</method></netparam>
+        <handler name="ondata" args="value">
+            if (value) {
+                parent.sendMessageWithClient.doCall();
+            } else {
+                new lz.labelerrorPopup(canvas,{errorlabelid:641});
+                parent.close();
+            }
+        </handler>
+    </netRemoteCallHib>
+	
+	<method name="setUserAnswer" args="value">
+		<![CDATA[
+		if ($debug) Debug.write("*** setUserAnswer: ",value,this.userslist);
+
+		var t = this.userslist.userslist.userslist[value.client.streamid];
+		//Debug.write(" t: ",t);
+		t.hasAnswered = true;
+		var answer = value.message[1];
+		//Debug.write("answer: ",answer);
+		if (answer=='ok'){
+			t.inner.answer.setAttribute('text',canvas.getLabelName(94));
+			t.answer = true;
+		} else {
+			t.inner.answer.setAttribute('text',canvas.getLabelName(95));
+			t.answer = false;
+		}
+		]]>
+		this.checkForUpdates();
+	</method>
+	
+	<method name="rejectUser" args="value">
+		this.userslist.userslist.userslist[value.streamid].destroy();
+		this.checkForUpdates();
+	</method>
+	
+	<method name="checkForUpdates">
+		<![CDATA[
+		var b = true;
+		for (var i=0;i<this.userslist.userslist.userslist.subviews.length;i++){
+			//Debug.write("itemID : ",this.userslist.userslist.userslist.subviews[i]);
+			if (!this.userslist.userslist.userslist.subviews[i].answer){
+				b=false;
+				break;
+			}
+		}
+		if (b) this.applyButton.setAttribute('labelid',96);
+		this.applyButton.setAttribute('enabled',b);
+		]]>
+	</method>
+	
+	<netRemoteCallHib name="getClientListScope" funcname="getClientListScope" remotecontext="$once{ canvas.thishib }" >        
+       	<handler name="ondata" args="value">
+       		<![CDATA[
+           	//The onResult-Handler will be called be the rtmpconnection
+           	//Debug.write("INSTANCE getClientListScope : ",value);
+			for (var eg in value){
+				//Debug.write("value: ",eg,value,parent.userslist.userslist.userslist);
+				if (canvas.streamid!=value[eg].streamid) {
+				    new lz.userItem(parent.userslist.userslist.userslist,{name:value[eg].streamid,username:value[eg].username,streamid:value[eg].streamid});
+				}
+				//Debug.write("value: ",eg,value,parent.userslist.userslist.userslist);
+			}
+		    if (parent.userslist.userslist.userslist.subviews.length==0)
+				   parent.applyButton.setAttribute('enabled',true);
+           ]]>
+		</handler>   
+    </netRemoteCallHib> 
+     
+    <netRemoteCallHib name="sendMessageWithClient" funcname="sendMessageWithClient" remotecontext="$once{ canvas.thishib }" >  
+    	<netparam name="vars"><method name="getValue">return parent.parent.applymessage;</method></netparam>
+        <handler name="ondata" args="value">
+        	<![CDATA[
+            //The onResult-Handler will be called be the rtmpconnection
+            //Debug.write("sendMessageWithClient : ",value);
+
+            ]]>
+        </handler>   
+    </netRemoteCallHib>      
+	
+	<view name="userslist" y="60" x="4" height="140" clip="true" width="492" bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" >
+		<view name="userslist" y="1" x="1" height="138" clip="true" width="490" bgcolor="0xFFFFFF" >
+			<view name="userslist" layout="axis:y;spacing:2" width="$once{ parent.width }" />
+			<om_vscrollbar />
+		</view>
+	</view>	
+	
+    <simpleLabelButton name="applyButton" labelid="88" width="200" x="80" y="218" enabled="false">
+    	<handler name="onclick">
+    		//hib.setModerator.doCall();
+    		hib.addModerator.publicSIDOfNewModerator = canvas.publicSID;
+    		hib.addModerator.doCall();
+    		this.parent.close();
+    	</handler>
+    </simpleLabelButton>
+    
+    <simpleLabelButton labelid="83" width="200" x="290" y="218" 
+        onclick="this.parent.close();" />
+  
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/moderation/library.lzx b/WebContent/src/modules/conference/moderation/library.lzx
new file mode 100644
index 0000000..18979cb
--- /dev/null
+++ b/WebContent/src/modules/conference/moderation/library.lzx
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<resource name="applyformodicon_rsc" src="resources/user_add.png" />
+	
+	<!--  FamFam Icon Creative Commons -->
+	<resource name="start_screensharing_rsc" src="resources/monitor_go.png" />
+
+   	<include href="applyForModeration.lzx" />
+   	<include href="moderationPanel.lzx" />
+   	<include href="responseForModeration.lzx" />
+	<include href="recordingStartWin.lzx"/>
+	
+</library>
diff --git a/WebContent/src/modules/conference/moderation/moderationPanel.lzx b/WebContent/src/modules/conference/moderation/moderationPanel.lzx
new file mode 100644
index 0000000..4bd49d3
--- /dev/null
+++ b/WebContent/src/modules/conference/moderation/moderationPanel.lzx
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<class name="errorPopupUserInfo" extends="labelExplorerBox" labelid="204"
+    docking="true" resizeable="false" closable="true" 
+    width="224" x="300" height="230">
+
+    <attribute name="error" value="" type="string" />
+    <attribute name="user" value="null" />
+    
+    <handler name="oninit">
+        <![CDATA[
+            Debug.write(user);
+            var tString = this.error + "<BR/>"
+                    + user.username+"<BR/>" 
+                    + user.firstname + " " + user.lastname + "<BR/>"
+                    + parseDateToStringTime(user.roomEnter);
+            this.textInner._inner.setAttribute('text',tString);
+        ]]>
+    </handler>
+
+    <view name="textInner" y="24" width="218" height="200" x="2" clip="true">
+        <text name="_inner" fontsize="10" fontstyle="bold"
+            multiline="true" width="190" />
+        <om_vscrollbar />
+    </view>
+
+</class>
+
+<class name="moderationPanel" extends="view" layout="axis:x;spacing:2">
+    
+    <attribute name="recordingsName" value="" type="string" />
+    <attribute name="initial" value="true" type="boolean" />
+    <attribute name="recordingUser" value="null" />
+    
+    <attribute name="allowUserQuestions" value="true" type="boolean" />
+    <attribute name="roomName" value="" type="string" />
+    
+    <handler name="oninit">
+        <![CDATA[
+	        canvas._mymod = this;
+	        if (this.allowUserQuestions != null && !this.allowUserQuestions) {
+	            this.mod_btn.destroy();
+	        }
+	        this._roomName.setAttribute("text",this.roomName);
+        ]]>
+    </handler>
+    
+    <method name="setMessage">
+        <![CDATA[
+            if ($debug) Debug.write("setMessage: ",this.recordingUser);
+            if (this.recordingUser!=null){
+                var tString = canvas.getLabelName(419) + " "
+                        + this.recordingUser.username+" " 
+                        + this.recordingUser.firstname + " " + this.recordingUser.lastname + " "
+                        + parseDateToStringTime(this.recordingUser.roomEnter);
+                this._inner.setAttribute('text',tString);
+            } else {
+                this._inner.setAttribute('text',"");
+            }
+        ]]>
+    </method>   
+    
+    <netRemoteCallHib name="checkSharerSession" remotecontext="$once{ canvas.thishib }"
+        funcname="checkSharerSession"  >
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+            if ($debug) Debug.write("+++++++++++++++++ checkSharerSession: ",value); 
+            if (value) {
+                parent.checkForApplyScreen("no");
+            } else {
+                new lz.labelerrorPopup(canvas,{errorlabelid:727});
+            }
+        </handler>  
+    </netRemoteCallHib> 
+    
+    <method name="checkForApplyScreen" args="record">
+        <![CDATA[
+        
+            var organisation_id = 1;
+            
+            if ($debug) Debug.write(hib.userobject); 
+            if ($debug) Debug.write(hib.currentdomainObj); 
+            
+            if (hib.currentdomainObj != null) {
+                organisation_id = hib.currentdomainObj.organisation_id
+            }
+        
+            var downloadurl = canvas.protocol+'://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                +canvas.httpRootKey+'ScreenRequestHandler?'
+                +'rtmphostlocal='+canvas.rtmphostlocal
+                +'&room='+hib.currentroomid
+                +'&domain='+hib.conferencedomain
+                +'&organization_id='+organisation_id
+                +'&sid='+canvas.sessionId
+                +'&red5httpport='+canvas.red5httpport
+                +'&connectionType='+canvas.thishib.protocollName
+                +'&allowRecording='+canvas.allowRecording
+                +'&port='+canvas.thishib.protocollPort
+                +'&publicSID='+canvas.publicSID
+                +'&httpRootKey='+canvas.httpRootKey
+                +'&languageAsString='+hib.userlang
+                +'&record='+record;
+
+            if ($debug) Debug.write(downloadurl); 
+            lz.Browser.loadURL(downloadurl,'_blank');  
+            
+        ]]>        
+    </method>  
+    
+    <labelText name="_roomName" fgcolor="0xFFFFFF" y="4" fontstyle="bold" fontsize="12" /> 
+    
+    <miniIconsNew name="mod_btn" y="6" innerResource="applyformodicon_rsc" width="16" height="16"
+               visible="${ (canvas.ismoderator) ? false : true  }" showhandcursor="true">
+        <handler name="onclick">
+            //We do only ask the Moderator(s) to change Moderation
+            //new lz.applyForModeration(canvas.main_content._content.inner);
+            canvas.thishib.applyForModeration.doCall();
+        </handler>  
+        <labelTooltip inittwice="true" labelid="906" />      
+    </miniIconsNew>
+    
+    <miniIconsNew name="_doShare" y="6" innerResource="start_screensharing_rsc" width="16" height="16" 
+    			showhandcursor="true"
+               visible="${canvas.currentRoomObj.hideScreenSharing ? false : ((canvas.ismoderator) ? true : ((canvas.isAllowedToScreenShare) ? true : false )) }" >
+        <handler name="onclick">
+            this.parent.checkSharerSession.doCall();
+        </handler>
+        <labelTooltip labelid="239" />
+    </miniIconsNew>
+    
+    <labelText name="_inner" fgcolor="0xFF3300" y="4" />
+    
+    <view width="2" />
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/moderation/recordingStartWin.lzx b/WebContent/src/modules/conference/moderation/recordingStartWin.lzx
new file mode 100644
index 0000000..1fb881e
--- /dev/null
+++ b/WebContent/src/modules/conference/moderation/recordingStartWin.lzx
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+	<!---
+		Dialog box for recording data.
+		When you click the Recording button on your conference menu, this class shows a dialog box for saving it.
+	--> 
+    
+	<!-- label: save as -->
+	<class name="recordingStartWin" extends="labelExplorerBox" labelid="391"
+	    		docking="true" resizeable="false" closable="false" width="400" x="300" height="226">
+	 	
+		<attribute name="recordingsName" value="" type="string" />
+	 	
+	 	<handler name="oninit">
+	 		this.rName.setAttribute('text',"recording_"+getStringDateFileSave());
+	 	</handler>
+	 	
+	   	<!-- label: record name --> 
+	    	<labelText labelid="392" width="200" y="22" resize="false" x="2"/>
+	      <customEdittext name="rName" y="22" x="120" width="270" />	
+		
+		<!-- label: comment -->
+	    	<labelText labelid="393" width="200" y="52" resize="false" x="2"/>
+	      <customScrollEdittext name="rComment" y="52" x="120" width="270" height="120" />	   					
+	  
+	    	<!-- label: cancel -->	
+	    	<simpleLabelButton labelid="438" width="100" x="180" y="190" >
+	    		<handler name="onclick">
+	    			parent.close();
+	    		</handler>
+	    	</simpleLabelButton>
+	        
+	    	<!-- label: start -->
+	    	<simpleLabelButton labelid="439" width="100" x="290" y="190" 
+                               onclick="this.parent.checkForRecording.doCall();" />
+	  	
+		<netRemoteCallHib name="recordMeetingStream" funcname="flvrecorderservice.recordMeetingStream" remotecontext="$once{ canvas.thishib }" >  
+	  		<netparam><method name="getValue">return canvas.thishib.modus;</method></netparam>
+	  		<netparam><method name="getValue">return canvas._drawarea.baseactionobjectList;</method></netparam> 
+	    		<netparam><method name="getValue">return parent.parent.rName.getText();</method></netparam>
+			<netparam><method name="getValue">return parent.parent.rComment.getText();</method></netparam>    
+	    	
+	    		<handler name="ondata" args="value">
+				//The onResult-Handler will be called be the rtmpconnection
+				if( $debug ) Debug.write("recordingStartWin.recordMeetingsStream(): ",value);	
+				canvas._mymod.recordingsName = value;
+				canvas._mymod.sta_btn.setAttribute('visibility','hidden');
+				canvas._mymod.stp_btn.setAttribute('visibility','visible');	
+				parent.close();			
+			</handler>	
+	  	</netRemoteCallHib>
+	  	
+	  	<netRemoteCallHib name="checkForRecording" funcname="flvrecorderservice.checkForRecording" remotecontext="$once{ canvas.thishib }" >  
+			<handler name="ondata" args="value">
+				//The onResult-Handler will be called be the rtmpconnection
+				if( $debgug ) Debug.write("recordingStartWin.checkForRecording(): ",value);	
+				parent.recordingUser = value;
+				if (value==null) {
+					parent.recordMeetingStream.doCall();
+				} else {
+					new lz.errorPopupUserInfo(canvas,{error:canvas.getLabelName(418),user:value});
+				}
+			</handler>	
+	  	</netRemoteCallHib>  	
+         
+	</class>
+</library>
diff --git a/WebContent/src/modules/conference/moderation/resources/monitor_go.png b/WebContent/src/modules/conference/moderation/resources/monitor_go.png
new file mode 100644
index 0000000..8af3eda
--- /dev/null
+++ b/WebContent/src/modules/conference/moderation/resources/monitor_go.png
Binary files differ
diff --git a/WebContent/src/modules/conference/moderation/resources/user_add.png b/WebContent/src/modules/conference/moderation/resources/user_add.png
new file mode 100644
index 0000000..deae99b
--- /dev/null
+++ b/WebContent/src/modules/conference/moderation/resources/user_add.png
Binary files differ
diff --git a/WebContent/src/modules/conference/moderation/responseForModeration.lzx b/WebContent/src/modules/conference/moderation/responseForModeration.lzx
new file mode 100644
index 0000000..183cdf7
--- /dev/null
+++ b/WebContent/src/modules/conference/moderation/responseForModeration.lzx
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<class name="responseForModeration"  extends="labelExplorerBox" labelid="81"
+	width="500" height="250" x="14" closable="true">
+	
+	<attribute name="applymessage" value="null" />
+    <!-- Time till automatically apply for modaration will be accepted -->
+	<attribute name="clientId" value="0" type="string" />
+	
+	<attribute name="userobject" value="null" />
+    
+    <attribute name="userautoTimerDelegate" value="null" />
+    <attribute name="userautoTimerCounter" value="31" type="number" />
+	
+	<handler name="oninit">
+		<![CDATA[
+            var dtString = '';
+            dtString += 'Name: '+userobject['username']+'<BR />';
+            dtString += 'Host: '+userobject['userip']+'<BR />';
+            dtString += 'Time: '+userobject['connectedSince']+'<BR />';
+            
+            this.userToAccept.setAttribute('text',dtString);
+            
+            this.userautoTimerDelegate = new LzDelegate( this, "autoResponse" );
+            lz.Timer.addTimer( this.userautoTimerDelegate, 1000 );            
+		]]>
+	</handler>
+
+    <method name="autoResponse" args="itemObj">
+        this.userautoTimerCounter--;
+        if (this.userautoTimerCounter!=0){
+            this._applyBtn.setAttribute('text',canvas.getLabelName(this._applyBtn.labelid)+" "+this.userautoTimerCounter);
+            lz.Timer.addTimer( this.userautoTimerDelegate, 1000 );
+        } else {
+            this._applyBtn.onclick.sendEvent();
+        }
+    </method>   
+	
+	<labelText labelid="89" y="20" x="2" />
+	
+	<labelText name="userToAccept" y="50" multiline="true" width="200" resize="false" />
+    
+    <simpleLabelButton labelid="90" width="200" x="80" y="218" name="_applyBtn" >
+    	<handler name="onclick">
+			parent.applymessage = new Array();
+			parent.applymessage[0] = 'applyModAnswer';
+			parent.applymessage[1] = 'ok';   
+			parent.sendMessageWithClientById.doCall();		
+    	</handler>
+    </simpleLabelButton>
+    
+    <simpleLabelButton labelid="91" width="200" x="290" y="218" >
+    	<handler name="onclick">
+			parent.applymessage = new Array();
+			parent.applymessage[0] = 'applyModAnswer';
+			parent.applymessage[1] = 'no'; 
+			parent.sendMessageWithClientById.doCall();	
+    	</handler>
+    </simpleLabelButton>
+     
+    <netRemoteCallHib name="sendMessageWithClientById" funcname="sendMessageWithClientById" remotecontext="$once{ canvas.thishib }" >  
+    	<netparam><method name="getValue">return parent.parent.applymessage;</method></netparam>
+        <netparam><method name="getValue">return parent.parent.clientId;</method></netparam>
+        <handler name="ondata" args="value">
+        	<![CDATA[
+	            //The onResult-Handler will be called be the rtmpconnection
+	            //Debug.write("sendMessageWithClientById : ",value);
+				this.parent.close();
+            ]]>
+        </handler>   
+    </netRemoteCallHib> 
+
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/participants/library.lzx b/WebContent/src/modules/conference/participants/library.lzx
new file mode 100644
index 0000000..5457299
--- /dev/null
+++ b/WebContent/src/modules/conference/participants/library.lzx
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+    <!--  FamFam Icon Creative Commons -->
+    <resource name="right_isactive_rsc" src="resources/accept.png" />
+    
+    <!--  FamFam Icon Creative Commons -->
+    <resource name="right_notactive_rsc" src="resources/delete.png" />
+    
+    <!--  FamFam Icon Creative Commons -->
+    <resource name="participants_isMod_rsc" src="resources/user_add.png" />
+    <!--  FamFam Icon Creative Commons -->
+    <resource name="participants_allow_drawing_rsc" src="resources/pencil_add.png" />
+    
+    <!--  FamFam Icon Creative Commons -->
+    <resource name="participants_deny_drawing_rsc" src="resources/pencil_delete.png" />
+    
+    <!--  APL author sebawagner -->
+    <resource name="participants_exclusive_audio_rsc" src="resources/micro_small.png" />
+    
+    <include href="participantList.lzx" />
+    <include href="participantListItem.lzx" />
+    <include href="participants.lzx" />
+    
+</library>
diff --git a/WebContent/src/modules/conference/participants/participantList.lzx b/WebContent/src/modules/conference/participants/participantList.lzx
new file mode 100644
index 0000000..2a26b27
--- /dev/null
+++ b/WebContent/src/modules/conference/participants/participantList.lzx
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="innerlistViewparticipantsTable" extends="view" width="258" >
+    <simplelayout name="_layout" axis="y" spacing="0" />
+</class>
+    
+<class name="participantsTable" extends="view" height="${ parent.height-20 }" 
+    	bgcolor="0xFFFFFF" x="2" y="6" clip="true" width="$once{ parent.width-4 }" >
+        <innerlistViewparticipantsTable name="innerList" />
+    <om_vscrollbar />
+</class>
+
+<class name="participantList" extends="view"  width="$once{ parent.width }" height="${ parent.height-22 }" 
+       bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" y="22">
+    <!-- clip="true" -->
+    
+    <attribute name="sortType" value="alphabetical" type="string" />    
+    
+    <view width="$once{ parent.width-2 }" height="${ parent.height-2 }" 
+        x="1" y="1" bgcolor="0xFFFFFF" />
+        
+    <handler name="oninit">
+        <![CDATA[
+            var items = this._table.innerList.subnodes;
+            canvas.videoComp_lc.lc_setSoundMuted = function(publicSID,isMuted) {
+                if ($debug) Debug.write("lc_setSoundMuted: publicSID, isMuted",publicSID, isMuted);
+
+                for (var i=1; i<items.length; i++) {
+                    var listItem = items[i];
+                    if (listItem.refObj.publicSID == publicSID) {
+                        var muteView = listItem._miniIcons._mute;
+                        if (isMuted) {
+                            muteView.setAttribute('frame', 2);
+                            muteView._tip.setAttribute('labelid', 1075);
+                        } else {
+                            muteView.setAttribute('frame', 1);
+                            muteView._tip.setAttribute('labelid', 1074);
+                        }
+                        break;
+                    }
+                }
+            };
+        ]]>
+    </handler>
+
+    <method name="addItem" args="object">
+        <![CDATA[
+            if ($debug) Debug.write("participantList addItem: ",object,object.publicSID);
+            
+            for (var i=0;i<this._table.innerList.subviews.length;i++) {
+                if (this._table.innerList.subviews[i].refObj.publicSID == object.publicSID) {
+                    //if ($debug) Debug.warn("Already on List, do not add twice");
+                    return;
+                }
+            }
+            
+            var lastname = object.lastname;
+            
+            if ($debug) Debug.write("object.isSuperModerator ",object.isSuperModerator);
+            
+            if (object.isSuperModerator) {
+                lastname += " *";
+            }
+            
+            new lz.participantListItem(this._table.innerList,{
+                    user_id:object.user_id,
+                    isSuperModerator:object.isSuperModerator,
+                    firstname:object.firstname,
+                    lastname:lastname,
+                    width:this.width-17,
+                    refObj:object,
+                    connectedSince:object.connectedSince,
+                    isMod:object.isMod,
+                    streamid:object.streamid,
+                    username:object.username,
+                    formatedDate:object.formatedDate
+                });
+            
+            this.sortUserList();
+        ]]>
+    </method>
+    
+    <method name="sortUserList">
+        <![CDATA[ 
+        
+            if (this.sortType == "alphabetical") {
+                function sortByName(a,b) {
+                   
+                    if(a.firstname.toLowerCase() < b.firstname.toLowerCase()) return -1;
+                    else if(a.firstname.toLowerCase() > b.firstname.toLowerCase()) return 1;
+                    else return 0;
+                
+                }
+            
+                this._table.innerList.subviews.sort(sortByStreamId);
+                this._table.innerList._layout.subviews.sort(sortByStreamId);
+            } else {
+                function sortByStreamId(a,b) {
+                   
+                    if(Number(a.streamid) == Number(b.streamid)) return 0;
+                    else if(Number(a.streamid) > Number(b.streamid)) return 1;
+                    else return -1;
+                
+                }
+            
+                this._table.innerList.subviews.sort(sortByStreamId);
+                this._table.innerList._layout.subviews.sort(sortByStreamId);
+            }
+            
+            this._table.innerList._layout.update();  
+        ]]>
+    </method>    
+    
+    <method name="clearList">
+        this._table.destroy();
+        new lz.participantsTable(this,{name:'_table'});
+    </method>
+    
+    <method name="disconnectclient" args="publicSID">
+        <![CDATA[
+            for (var i=0;i<this._table.innerList.subviews.length;i++){
+                if (this._table.innerList.subviews[i].refObj.publicSID==publicSID){
+                    var item = this._table.innerList.subviews[i];
+                    item.destroy();
+                    break;
+                }
+            }
+        ]]>
+    </method>
+    
+    <!--- get a Objects List Item
+        @param string publicSID publicSID
+     -->
+    <method name="getVideoObjectByPublicSID" args="publicSID">
+        <![CDATA[
+            //if ($debug) Debug.write("getVideoObjectByPublicSid SEARCH: ",publicSID);
+            
+            //for (var i=0;i<this._videoviewcontent.subviews.length;i++){
+            //  if ($debug) Debug.write("getVideoObjectByBroadCastId6 broadcastId: ",this._videoviewcontent.subviews[i].broadcastId);
+            //  if ($debug) Debug.write("getVideoObjectByBroadCastId7 streamid,user_id: ",this._videoviewcontent.subviews[i].clientVars.streamid,this._videoviewcontent.subviews[i].clientVars.user_id);
+            //}
+            
+            for (var i=0;i<this._table.innerList.subviews.length;i++){
+                //if ($debug) Debug.write("getVideoObjectByBroadCastId2 broadcastId VIEW: ",this._videoviewcontent.subviews[i].broadcastId);
+                //if ($debug) Debug.write("getVideoObjectByBroadCastId3 broadcastId SEARCH: ",broadcastId);
+                //if ($debug) Debug.write("getVideoObjectByBroadCastId4 obj: ",this._videoviewcontent.subviews[i]);
+                //if ($debug) Debug.write("getVideoObjectByBroadCastId5 streamid,user_id: ",this._videoviewcontent.subviews[i].clientVars.streamid,this._videoviewcontent.subviews[i].clientVars.user_id);
+                if (this._table.innerList.subviews[i].refObj.publicSID==publicSID){
+                    return this._table.innerList.subviews[i];
+                }
+            }
+            
+            return null;
+            
+        ]]>
+    </method>
+    
+    <participantsTable name="_table" y="20" /> 
+
+    <view name="_miniIcons" x="112" y="0" height="18">
+        
+        <view width="1" height="${ parent.parent.height }" x="0"
+            bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" />
+        <view name="_icon_mod" x="2" y="3" resource="participants_isMod_rsc" onclick="" showhandcursor="false">
+            <labelTooltip labelid="608" />
+        </view>
+        
+        <view width="1" height="${ parent.parent.height }" x="20"
+            bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" />
+        <view name="_icon_draw" x="22" y="3" resource="participants_allow_drawing_rsc" onclick="" showhandcursor="false">
+            <labelTooltip labelid="609" />
+        </view>
+        
+        <view width="1" height="${ parent.parent.height }" x="40"
+            bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" />
+        <view name="_icon_share" x="42" y="3" resource="screen_allow_rsc" onclick="" showhandcursor="false">
+            <labelTooltip labelid="1073" />
+        </view>
+        
+        <view width="1" height="${ parent.parent.height }" x="60"
+            bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" />
+        <view name="_icon_remote" x="62" y="3" resource="remote_allow_rsc" onclick="" showhandcursor="false">
+            <labelTooltip labelid="1084" />
+        </view>
+    
+        <view width="1" height="${ parent.parent.height }" x="80"
+            bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" />
+        <view name="_icon_exclusive_audio" x="82" y="3" resource="participants_exclusive_audio_rsc" onclick="" showhandcursor="false">
+            <labelTooltip labelid="1423" />
+        </view>
+        
+        <view width="1" height="${ parent.parent.height }" x="100"
+            bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" />
+        <view name="_icon_av_allow" x="102" y="3" resource="av_allow_rsc" onclick="" showhandcursor="false">
+            <labelTooltip labelid="610" />
+        </view>
+        
+        <view width="1" height="${ parent.parent.height }" x="142"
+            bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" />
+    </view>
+    
+    <view name="headerDivisionLine" width="${ parent.width }" 
+          bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" height="1" y="20" />
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/participants/participantListItem.lzx b/WebContent/src/modules/conference/participants/participantListItem.lzx
new file mode 100644
index 0000000..8b8bb8e
--- /dev/null
+++ b/WebContent/src/modules/conference/participants/participantListItem.lzx
@@ -0,0 +1,645 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<!-- 
+    The Width of each item is set in the participantList-Class
+ -->
+<class name="participantListItem" extends="view" bgcolor="0xDADADA" height="40" 
+       showhandcursor="false">
+    
+    <attribute name="connectedSince" value="" type="string" />
+    <attribute name="isMod" value="" type="string" />
+    <attribute name="streamid" value="" type="string" />
+    <attribute name="username" value="" type="string" />
+    <attribute name="userroom" value="" type="string" />
+    <attribute name="formatedDate" value="" type="string" />
+    <attribute name="firstname" value="" type="string" />
+    <attribute name="lastname" value="" type="string" />
+    <attribute name="user_id" value="0" type="number" />
+    <attribute name="isSuperModerator" value="false" type="boolean"/>
+    <attribute name="refObj" value="null" />
+    
+    <!--
+    var downloadurl = canvas.protocol+'://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                    +canvas.httpRootKey+'DownloadHandler?fileName=CHAT'
+                    +'&moduleName=chat&parentPath=&room_id='
+                    +'&remoteUserid='+this.user_id
+                    +'&sid='+canvas.sessionId;
+     -->
+     
+    <handler name="oninit">
+        <![CDATA[
+            //this._userpic.setAttribute('src',downloadurl); 
+            //This is a workaround cause in LPS-4.2.x immediatelly loading does not work
+            lz.Timer.addTimer( new LzDelegate( this, "fadeText" ), 1000 );
+                    
+            if (canvas.publicSID == this.refObj.publicSID) {
+                this._firstName.setAttribute("fontstyle","bold");
+                this._lastName.setAttribute("fontstyle","bold");
+            }
+            
+            this.updateIcons();
+        ]]>
+    </handler>
+    
+    <method name="fadeText" args="ignore=null"> 
+        <![CDATA[
+        
+        	if ($debug) Debug.write("fadeText :1: ",this.refObj);
+        	if ($debug) Debug.write("fadeText :2: ",this.refObj.picture_uri);
+        
+        	if (this.refObj.picture_uri.startsWith("http") || this.refObj.picture_uri.startsWith("https")) {
+        		var downloadurl = this.refObj.picture_uri;
+            //Do Load the Custom Moodle Profilee Picture
+        	} else if (this.refObj.externalUserId >= 1 && this.refObj.externalUserType == "moodle") {
+                
+                if (this.refObj.externalUserId == 1) {
+                    //Means it is a guest
+                    var downloadurl = canvas.moodleWwwRoot+"/pix/u/f2.png";
+                } else {
+                    var downloadurl = canvas.moodleWwwRoot+"/user/pix.php/"+ this.refObj.externalUserId +"/f2.jpg";
+                }
+                
+            } else {
+        
+                var downloadurl = canvas.protocol+'://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                        +canvas.httpRootKey+'DownloadHandler?fileName=CHAT'
+                        +'&moduleName=chat&parentPath=&room_id='
+                        +'&remoteUserid='+this.user_id
+                        +'&sid='+canvas.sessionId;
+                        
+            }
+            
+            if ($debug) Debug.warn("downloadurl :3: ",downloadurl);
+            
+            this._userpic.setAttribute('src',downloadurl); 
+            
+        ]]>          
+    </method>
+    
+    <handler name="onismoderator" reference="canvas" args="m">
+        if ($debug) Debug.write("###### ismoderator ",m);
+        <![CDATA[
+            this.isMod = canvas.getIsModeratorByPublicSID(this.refObj.publicSID);
+            this.updateIcons();
+        ]]>
+    </handler>
+    
+    <handler name="ondrawAllowStatus" reference="canvas" args="drawObject">
+        <![CDATA[
+            if (this.refObj.publicSID == drawObject.publicSID) {
+                this.refObj.canDraw = drawObject.canDraw;
+                this.refObj.canShare = drawObject.canShare;
+                this.refObj.canRemote = drawObject.canRemote;
+                this.updateIcons();
+            }
+        ]]>
+    </handler>
+
+    <handler name="onexclusiveAudioAllowStatus" reference="canvas" args="rclObject">
+        <![CDATA[
+            if (this.refObj.publicSID == rclObject.publicSID) {
+                this.refObj.canGiveAudio = rclObject.canGiveAudio;
+                this.updateIcons();
+            }
+        ]]>
+    </handler>
+    
+    <handler name="onmicMutedStatusChangedItem" reference="canvas" args="roomClientObj">
+    	<![CDATA[
+    	    if ($debug) Debug.write("onmicMutedStatusChangedItem :1: ",roomClientObj.publicSID);
+            if (this.refObj.publicSID == roomClientObj.publicSID) {
+            	if ($debug) Debug.write("onmicMutedStatusChangedItem :2: ",roomClientObj.micMuted);
+                this.refObj.micMuted = roomClientObj.micMuted;
+                this.updateIcons();
+            }
+        ]]>
+    </handler>
+
+    <handler name="onMute" reference="canvas.thishib.switchMicMuted" args="event">
+        <![CDATA[
+            if ($debug) Debug.write("onMute ", event.publicSID, event.mute);
+            if(this.refObj.publicSID == event.publicSID) {
+                this.refObj.micMuted = event.mute;
+                this.updateIcons();
+            }
+        ]]>
+    </handler>
+    
+    <!--
+        Set actions to update the User-Rights and Information what he can do
+     -->
+    <method name="updateIcons">
+        <![CDATA[
+        
+            if ($debug) Debug.write("updateByMod,",this.isMod,canvas.streamid);
+        
+            //If this is one Mod he can also draw on the Whitboard
+            if (this.isMod) {
+                
+                
+                this._miniIcons._isMod.setAttribute("visibility","visible");
+                this._miniIcons._isModAddbutton.setAttribute("visibility","hidden");
+                this._miniIcons._canDraw.setAttribute("visibility","visible");
+                //the moderator can never remove the right to draw on the whiteboard for himself
+                this._miniIcons._canDraw.setAttribute("showhandcursor",false);
+                this._miniIcons._canDraw._text.setAttribute("text","");
+                this._miniIcons._canDrawModerator.setAttribute("visibility","hidden");
+                
+                this._miniIcons._allowShare.setAttribute("visibility","visible");
+                this._miniIcons._allowShare.setAttribute("showhandcursor",false);
+                this._miniIcons._allowShare._text.setAttribute("text","");
+                this._miniIcons._denyShare.setAttribute("visibility","hidden");
+                
+                this._miniIcons._allowRemote.setAttribute("visibility","visible");
+                this._miniIcons._allowRemote.setAttribute("showhandcursor",false);
+                this._miniIcons._allowRemote._text.setAttribute("text","");
+                this._miniIcons._denyRemote.setAttribute("visibility","hidden");
+
+                this._miniIcons._allowExclusiveAudio.setAttribute("visibility","visible");
+                this._miniIcons._allowExclusiveAudio.setAttribute("showhandcursor",false);
+                this._miniIcons._allowExclusiveAudio._text.setAttribute("text","");
+                this._miniIcons._denyExclusiveAudio.setAttribute("visibility","hidden");
+                
+                if (canvas.ismoderator) {
+                	this._x._kickUser.setAttribute("visibility","visible");
+                    if (canvas.ismoderator && canvas.publicSID != this.refObj.publicSID) {
+                        this._miniIcons._isMod.setAttribute("showhandcursor",true);
+                        this._miniIcons._isMod._text.setAttribute("text",canvas.getLabelName(675));
+                    } else {
+                        this._miniIcons._isMod._text.setAttribute("text","");
+                        this._miniIcons._isMod.setAttribute("showhandcursor",false);
+                    }
+                } else {
+                	this._x._kickUser.setAttribute("visibility","hidden");
+                    this._miniIcons._isMod._text.setAttribute("text","");
+                    this._miniIcons._isMod.setAttribute("showhandcursor",false);
+                }
+                
+            } else {
+                this._miniIcons._isMod.setAttribute("visibility","hidden");
+                    
+                //if this User is the Moderator he can grant access to whiteboard to anybody
+                if (canvas.ismoderator) {
+                	this._x._kickUser.setAttribute("visibility","visible");
+                    this._miniIcons._isModAddbutton.setAttribute("visibility","visible");
+                    
+                    
+                    this._miniIcons._canDraw._text.setAttribute("text",canvas.getLabelName(612));
+                    if (this.refObj.canDraw) {
+                        //Only in THIS case you can remove the Draw-to-whiteboard right 
+                        this._miniIcons._canDraw.setAttribute("visibility","visible");
+                        this._miniIcons._canDraw.setAttribute("showhandcursor",true);
+                        this._miniIcons._canDrawModerator.setAttribute("visibility","hidden");
+                    } else {
+                        this._miniIcons._canDraw.setAttribute("visibility","hidden");
+                        this._miniIcons._canDraw.setAttribute("showhandcursor",false);
+                        this._miniIcons._canDraw._text.setAttribute("text","");
+                        this._miniIcons._canDrawModerator.setAttribute("visibility","visible");
+                    }
+                    
+                  	this._miniIcons._allowShare._text.setAttribute("text",canvas.getLabelName(1068));
+                    if (this.refObj.canShare) {
+                    	this._miniIcons._allowShare.setAttribute("visibility","visible");
+                        this._miniIcons._allowShare.setAttribute("showhandcursor",true);
+                        this._miniIcons._denyShare.setAttribute("visibility","hidden");
+                    } else {
+                    	this._miniIcons._allowShare.setAttribute("visibility","hidden");
+                        this._miniIcons._allowShare.setAttribute("showhandcursor",false);
+                        this._miniIcons._denyShare.setAttribute("visibility","visible");
+                    }
+                    
+                    this._miniIcons._allowRemote._text.setAttribute("text",canvas.getLabelName(1079));
+                    if (this.refObj.canRemote) {
+                    	this._miniIcons._allowRemote.setAttribute("visibility","visible");
+                        this._miniIcons._allowRemote.setAttribute("showhandcursor",true);
+                        this._miniIcons._denyRemote.setAttribute("visibility","hidden");
+                    } else {
+                    	this._miniIcons._allowRemote.setAttribute("visibility","hidden");
+                        this._miniIcons._allowRemote.setAttribute("showhandcursor",false);
+                        this._miniIcons._denyRemote.setAttribute("visibility","visible");
+                    }
+
+					this._miniIcons._allowExclusiveAudio._text.setAttribute("text",canvas.getLabelName(1425));
+                    if (this.refObj.canGiveAudio) {
+                    	this._miniIcons._allowExclusiveAudio.setAttribute("visibility","visible");
+                        this._miniIcons._allowExclusiveAudio.setAttribute("showhandcursor",true);
+                        this._miniIcons._denyExclusiveAudio.setAttribute("visibility","hidden");
+                    } else {
+                    	this._miniIcons._allowExclusiveAudio.setAttribute("visibility","hidden");
+                        this._miniIcons._allowExclusiveAudio.setAttribute("showhandcursor",false);
+                        this._miniIcons._denyExclusiveAudio.setAttribute("visibility","visible");
+                    }
+                    
+                } else {
+                	this._x._kickUser.setAttribute("visibility","hidden");
+                    this._miniIcons._isModAddbutton.setAttribute("visibility","hidden");
+                    
+                    if (this.refObj.canDraw) {
+                        this._miniIcons._canDraw.setAttribute("visibility","visible");
+                    } else {
+                        this._miniIcons._canDraw.setAttribute("visibility","hidden");
+                    }
+                    
+                    if (this.refObj.canShare) {
+                        this._miniIcons._allowShare.setAttribute("visibility","visible");
+                    } else {
+                        this._miniIcons._allowShare.setAttribute("visibility","hidden");
+                    }
+                    
+                    if (this.refObj.canRemote) {
+                        this._miniIcons._allowRemote.setAttribute("visibility","visible");
+                    } else {
+                        this._miniIcons._allowRemote.setAttribute("visibility","hidden");
+                    }
+
+                    if (this.refObj.canGiveAudio) {
+                    	this._miniIcons._allowExclusiveAudio.setAttribute("visibility","visible");
+                    } else {
+                    	this._miniIcons._allowExclusiveAudio.setAttribute("visibility","hidden");
+                    }
+                    
+                    //No Update action available
+                    this._miniIcons._canDrawModerator.setAttribute("visibility","hidden");
+                    this._miniIcons._denyShare.setAttribute("visibility","hidden");
+                    this._miniIcons._denyRemote.setAttribute("visibility","hidden");
+                    this._miniIcons._denyExclusiveAudio.setAttribute("visibility","hidden");
+                    this._miniIcons._canDraw.setAttribute("showhandcursor",false);
+                    this._miniIcons._canDraw._text.setAttribute("text","");
+                    this._miniIcons._allowRemote._text.setAttribute("text","");
+                    this._miniIcons._allowExclusiveAudio._text.setAttribute("text","");
+                    this._miniIcons._allowShare._text.setAttribute("text","");
+                    
+                }
+                    
+            }
+            
+            if ($debug) Debug.write("onmicMutedStatusChangedItem :3: ",this.refObj.publicSID,this.refObj.micMuted);
+            
+            if (this.refObj.micMuted) {
+            	this._x._mute._text.setAttribute("labelid",1408);
+            	this._x._mute.setAttribute("frame",2);
+            } else {
+            	this._x._mute._text.setAttribute("labelid",1407);
+            	this._x._mute.setAttribute("frame",1);
+            }
+            
+            //this Icon is only available in case its the current User 
+            if (canvas.publicSID == this.refObj.publicSID) {
+                //if ($debug) Debug.write("IS SELF !!!!!!");
+                this._miniIcons._restartDevice.setAttribute("visibility","visible");
+            } else {
+                this._miniIcons._restartDevice.setAttribute("visibility","hidden");
+            }
+        ]]>
+    </method>
+    
+    <!--
+    public Boolean setCanDraw(String SID, String publicSID, boolean canDraw)
+     -->
+     
+    <netRemoteCallHib name="setCanDraw" funcname="whiteboardservice.setCanDraw"
+                       remotecontext="$once{ canvas.thishib }">
+        <netparam><method name="getValue"> return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.parent.refObj.publicSID;</method></netparam>
+        <netparam><method name="getValue">return !parent.parent.refObj.canDraw;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+            //The onResult-Handler will be called be the rtmpconnection
+            //Debug.write("sendVarsModeratorGeneral : ",value);
+            
+            ]]>
+        </handler>   
+    </netRemoteCallHib>  
+            
+    <netRemoteCallHib name="setCanShare" funcname="whiteboardservice.setCanShare"
+                       remotecontext="$once{ canvas.thishib }">
+        <netparam><method name="getValue"> return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.parent.refObj.publicSID;</method></netparam>
+        <netparam><method name="getValue">return !parent.parent.refObj.canShare;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+            //The onResult-Handler will be called be the rtmpconnection
+            //Debug.write("sendVarsModeratorGeneral : ",value);
+            
+            ]]>
+        </handler>   
+    </netRemoteCallHib> 
+    
+    <netRemoteCallHib name="setCanRemote" funcname="whiteboardservice.setCanRemote"
+                   remotecontext="$once{ canvas.thishib }">
+        <attribute name="publicSID" value="" type="string" />
+        <attribute name="canRemote" value="true" type="boolean" />
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.parent.refObj.publicSID;</method></netparam>
+        <netparam><method name="getValue">return !parent.parent.refObj.canRemote;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("setCanRemote : ",value);
+            ]]>
+        </handler>   
+    </netRemoteCallHib>
+
+    <netRemoteCallHib name="setCanGiveAudio" funcname="whiteboardservice.setCanGiveAudio"
+                   remotecontext="$once{ canvas.thishib }">
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.parent.refObj.publicSID;</method></netparam>
+        <netparam><method name="getValue">return !parent.parent.refObj.canGiveAudio;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("setCanGiveAudio : ",value);
+            ]]>
+        </handler>
+    </netRemoteCallHib>
+            
+    <handler name="onmouseover">
+        this.setAttribute('bgcolor',canvas.getThemeColor('baseMousecolorizer'));
+    </handler>
+    
+    <handler name="onmouseout">
+        this.setAttribute('bgcolor',0xDADADA);
+    </handler>
+    
+    <image name="_userpic" stretches="both" x="1">
+        <handler name="onload">
+            <![CDATA[
+                if (this.height > 38) {
+                    //If bigger then containter then scale it
+                    var width = this.width/(this.height/38);
+                    this.setAttribute('height',38);
+                    this.setAttribute('width',width);
+                }
+                if (this.width > 38) {
+                    //If bigger then containter then scale it
+                    var height = this.height/(this.width/38);
+                    this.setAttribute('height',height);
+                    this.setAttribute('width',38);
+                }
+            ]]>
+        </handler>
+    </image>
+    
+    <labelText name="_firstName" fontsize="10" x="40" text="$once{ parent.firstname }" />
+    <labelText name="_lastName" fontsize="10" x="40" y="20" text="$once{ parent.lastname }" />
+    
+    <view name="_x" x="132" y="2">
+	     
+	    <miniIcons name="_mute" x="82" width="16" height="16" resource="mute_micro_btn_rsc" showhandcursor="true" >
+            <handler name="onclick">
+                <![CDATA[
+                    canvas._videocontainer._videoviewcontent.muteSound(parent.parent.refObj.publicSID, !parent.parent.refObj.micMuted);
+                ]]>
+            </handler>
+            <labelTooltip name="_text" text="" labelid="1407" />
+        </miniIcons>  
+        
+	    <miniIcons name="_kickUser" width="16" height="16" x="100"
+	               resource="kick_user_rsc" showhandcursor="true">
+	        <handler name="onclick">
+	        	
+	        	if (parent.parent.refObj.publicSID == canvas.publicSID) {
+	                new lz.labelerrorPopup(canvas.main_content._content.inner,{
+	                            errorlabelid:1214
+	                        });
+	                return;
+	            }
+	                
+	        	if (parent.isSuperModerator) {
+	                new lz.labelerrorPopup(canvas.main_content._content.inner,{errorlabelid:1217});
+	                return;
+	            }
+	        	
+	            if ($debug) Debug.write("USER Kick: ",parent.parent.refObj.publicSID);
+	            new lz.confirmationSingle(canvas.main_content._content.inner,{
+	                                           labelid:1216,labeliderror:1215,
+	                                           refObj:this,showCheckBox:false});
+	            
+	        </handler>
+	        
+	        <method name="sendConfirmation" args="yesno" >
+	            this.kickUserByPublicSID.publicSID = parent.parent.refObj.publicSID;
+	            this.kickUserByPublicSID.doCall();
+	        </method>
+	        
+	        <netRemoteCallHib name="kickUserByPublicSID" funcname="userservice.kickUserByPublicSID" 
+	                          remotecontext="$once{ canvas.thishib }" >    
+	            <attribute name="publicSID" value="" type="string" />  
+	            <netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+	            <netparam><method name="getValue"> return parent.publicSID; </method></netparam>
+	            <handler name="ondata" args="value">
+	                if ($debug) Debug.write("kickUserByPublicSID: ",value);
+	                //this.parent.destroy();
+	            </handler>
+	        </netRemoteCallHib> 
+	        
+	        <labelTooltip labelid="1213" />
+	    </miniIcons>   
+    </view>
+    
+    <view name="_miniIcons" x="113" y="22" height="18" >
+        
+        <miniIcons name="_isMod" x="0" width="16" resource="right_isactive_rsc" 
+                   height="16" showhandcursor="false">
+            <handler name="onclick">
+                <![CDATA[
+                
+                    if (parent.parent.isSuperModerator) {
+                        new lz.labelerrorPopup(canvas.main_content._content.inner,{errorlabelid:838});
+                        return;
+                    }
+                
+                    //if the label is set and this is a Moderator then this user should
+                    //allow the click event => the click event will trigger
+                    //this user away from beeing able to draw on the whiteboard
+                    if (canvas.ismoderator && this._text.text.length != 0) {
+                        //Do it 
+                        if ($debug) Debug.write("Do Remove It");
+                        hib.removeModerator.publicSIDOfNewModerator = parent.parent.refObj.publicSID;
+                        hib.removeModerator.doCall();
+                        //parent.parent.setCanDraw.doCall();
+                    }
+                ]]>
+            </handler>
+            <labelTooltip name="_text" text="" />
+        </miniIcons>
+        
+        <miniIcons name="_isModAddbutton" opacity="0.5" x="0" width="16" resource="right_notactive_rsc" 
+                   height="16" showhandcursor="true">
+            <handler name="onclick">
+                <![CDATA[
+                    //if the label is set and this is a Moderator then this user should
+                    //allow the click event => the click event will trigger
+                    //this user away from beeing able to draw on the whiteboard
+                    if (canvas.ismoderator && this._text.text.length != 0) {
+                        //Do it 
+                        if ($debug) Debug.write("Do Add It");
+                        hib.addModerator.publicSIDOfNewModerator = parent.parent.refObj.publicSID;
+                        hib.addModerator.doCall();
+                        //parent.parent.setCanDraw.doCall();
+                    }
+                ]]>
+            </handler>
+            <labelTooltip name="_text" labelid="676" />
+        </miniIcons>
+            
+        <miniIcons name="_canDraw" x="20" width="16" resource="right_isactive_rsc" 
+                   height="16" showhandcursor="false" >
+            <handler name="onclick">
+                <![CDATA[
+                    //if the label is set and this is a Moderator then this user should
+                    //allow the click event => the click event will trigger
+                    //this user away from beeing able to draw on the whiteboard
+                    if (canvas.ismoderator && this._text.text.length != 0) {
+                        //Do it 
+                        if ($debug) Debug.write("Do add draw to it");
+                        parent.parent.setCanDraw.doCall();
+                    }
+                ]]>
+            </handler>
+            <labelTooltip name="_text" text="" />
+        </miniIcons>
+        
+        <miniIcons name="_canDrawModerator" x="20" width="16" opacity="0.5"
+                   resource="right_notactive_rsc" height="16" showhandcursor="true">
+            <handler name="onclick">
+                //Do it 
+                if ($debug) Debug.write("Do it");
+                parent.parent.setCanDraw.doCall();
+            </handler>
+            <labelTooltip labelid="611" />
+        </miniIcons>
+        
+        <miniIcons name="_allowShare" x="40" width="16" resource="right_isactive_rsc" 
+                   height="16" showhandcursor="false" >
+            <handler name="onclick">
+                <![CDATA[
+                    //if the label is set and this is a Moderator then this user should
+                    //allow the click event => the click event will trigger
+                    //this user away from beeing able to draw on the whiteboard
+                    if (canvas.ismoderator && this._text.text.length != 0) {
+                        //Do it 
+                        if ($debug) Debug.write("Do add draw to it");
+                        parent.parent.setCanShare.doCall();
+                    }
+                ]]>
+            </handler>
+            <labelTooltip name="_text" text="" labelid="1068" />
+        </miniIcons>
+        
+        <miniIcons name="_denyShare" x="40" width="16" opacity="0.5"
+                   resource="right_notactive_rsc" height="16" showhandcursor="true">
+            <handler name="onclick">
+                //Do it 
+                if ($debug) Debug.write("Do it");
+                parent.parent.setCanShare.doCall();
+            </handler>
+            <labelTooltip labelid="1067" />
+        </miniIcons>
+        
+        
+        <miniIcons name="_allowRemote" x="60" width="16" resource="right_isactive_rsc" 
+                   height="16" showhandcursor="false" >
+            <handler name="onclick">
+                <![CDATA[
+                    //if the label is set and this is a Moderator then this user should
+                    //allow the click event => the click event will trigger
+                    //this user away from beeing able to draw on the whiteboard
+                    if (canvas.ismoderator && this._text.text.length != 0) {
+                        //Do it 
+                        if ($debug) Debug.write("Do add draw to it");
+                        parent.parent.setCanRemote.doCall();
+                    }
+                ]]>
+            </handler>
+            <labelTooltip name="_text" text="" labelid="1079" />
+        </miniIcons>
+        
+        <miniIcons name="_denyRemote" x="60" width="16" opacity="0.5"
+                   resource="right_notactive_rsc" height="16" showhandcursor="true">
+            <handler name="onclick">
+                //Do it 
+                if ($debug) Debug.write("Do it");
+                parent.parent.setCanRemote.doCall();
+            </handler>
+            <labelTooltip labelid="1078" />
+        </miniIcons>
+
+        <miniIcons name="_allowExclusiveAudio" x="80" width="16" resource="right_isactive_rsc"
+                   height="16" showhandcursor="false" >
+            <handler name="onclick">
+                <![CDATA[
+                    //if the label is set and this is a Moderator then this user should
+                    //allow the click event => the click event will trigger
+                    //this user away from beeing able to give exclusive audio
+                    if (canvas.ismoderator && this._text.text.length != 0) {
+                        if ($debug) Debug.write("Do it");
+                        parent.parent.setCanGiveAudio.doCall();
+                    }
+                ]]>
+            </handler>
+            <labelTooltip name="_text" text="" labelid="1425" />
+        </miniIcons>
+
+        <miniIcons name="_denyExclusiveAudio" x="80" width="16" opacity="0.5"
+                   resource="right_notactive_rsc" height="16" showhandcursor="true">
+            <handler name="onclick">
+                parent.parent.setCanGiveAudio.doCall();
+            </handler>
+            <labelTooltip labelid="1424" />
+        </miniIcons>
+        
+        
+        <miniIcons name="_restartDevice" x="100" width="16" height="16" resource="resyncuser_rsc" showhandcursor="true">
+            <handler name="onclick">
+                //TODO: local connection call
+                if ($debug) Debug.write("parent.parent.refObj.publicSID: ",parent.parent.refObj.publicSID);
+                canvas._videocontainer._videoviewcontent.showDevicePopUp(true);
+            </handler>
+            <labelTooltip labelid="610" />
+        </miniIcons>
+        
+        <view name="_loudness" x="120" >
+            <view x="0" y="0" name="loudness" resource="speaking" opacity="0.2"
+                  onmouseover="" onmouseout="" >      
+			    <handler name="onclick">
+					<![CDATA[
+				      	if (canvas.ismoderator || canvas.isAllowedToGiveExclusiveAudio) {
+				            canvas.thishib.giveExclusiveAudio.setExclusiveAudio(parent.parent.parent.refObj.publicSID);
+				        } else {
+				        	new lz.labelerrorPopup(canvas.main_content._content.inner,{errorlabelid:1478});    
+				        }
+					]]>
+				</handler> 
+                <labelTooltip inittwice="true" labelid="372" />
+            </view>
+        </view>    
+        
+    </view>
+    
+    <view name="divisionLine" width="$once{ parent.width }" 
+          bgcolor="0xFFFFFF" height="1" y="39" />
+    
+</class>
+ 
+</library>
diff --git a/WebContent/src/modules/conference/participants/participants.lzx b/WebContent/src/modules/conference/participants/participants.lzx
new file mode 100644
index 0000000..89da522
--- /dev/null
+++ b/WebContent/src/modules/conference/participants/participants.lzx
@@ -0,0 +1,296 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<class name="participants" extends="baseRoomInnerList" 
+       height="$once{ parent.height-34 }">
+
+    <!--- holds a references to the videoview which is broadcasting -->
+    <attribute name="broadCastViewRef" value="null" />
+    
+    <handler name="oninit">
+        //set modus
+        canvas.thishib.modus = "conference";
+       
+        //set reference, this reference will be cleared at *ontabcontenctleave* event
+        canvas._videocontainer=this;
+        
+        // Reconnect User to its Room Id
+        canvas.thishib.userScope = canvas.thishib.currentroomid;
+        var src = hib.getUrl();
+        
+        if( $debug ) Debug.write("videoContainer: canvas.thishib: ",canvas.thishib.src,canvas.thishib);
+        
+        if (canvas.thishib.src != src) {
+            canvas.thishib.setAttribute('src',src);
+            
+            canvas.thishib.reconnectionAction = true;
+            canvas.thishib.reconnectObjRef = this;
+            canvas.thishib.disconnect();
+        } else {
+            //The user is already in the correct Scope
+            this.reconnectSuccess();
+        }
+    </handler>
+    
+    <method name="initList">
+    	//
+    </method>
+
+    <commonVideoComponentAdapter name="_videoviewcontent" />
+
+    <method name="reconnectSuccess">
+        if ($debug) Debug.write("User Reloged In");
+        //Send to SWF10 video-container to connect on the conference room url
+        //and wait for the as3ConnectionSuccess-Event
+        this._videoviewcontent.reconnectSuccess(false);
+    </method>
+
+    <!---
+        We need to wait till the video-container / as3 app has the connection established
+        otherwise it can happen that the video tries to start playing before the rtmp-connection
+        was established
+     -->
+    <method name="as3ConnectionSuccess">
+    	if ($debug) Debug.write("as3ConnectionSuccess continue loading");
+    	//set default values and get already availible streams
+    	//it can happen that if you click to exit the room the views are not
+    	//not cleaned up yet and you receive this event from the LocalConnection
+    	if (this["getRoomModeratorsByRoomId"]) {
+            this.getRoomModeratorsByRoomId.doCall();
+    	}
+    </method>
+
+
+
+    <!---
+        Returns a list of all moderators of the current room and parses 
+        if the current user should receive the supermoderator flag or not
+     -->
+    <netRemoteCallHib name="getRoomModeratorsByRoomId" funcname="conferenceservice.getRoomModeratorsByRoomId" 
+                      remotecontext="$once{ canvas.thishib }" >  
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>    
+        <netparam><method name="getValue">return hib.currentroomid;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                if ($debug) Debug.write("getRoomModeratorsByRoomId: ",value);
+                canvas.becomeSuperModerator = false;
+                
+                parent.setRoomValues.applyDefaultModeration = canvas.becomemoderator;
+                canvas.becomeSuperModerator = canvas.becomemoderator;
+                
+                if (!canvas.becomeSuperModerator) {
+    	            for (var i=0;i<value.length;i++) {
+                        
+                        if (value[i].user.user_id == canvas.user_id) {
+                            parent.setRoomValues.applyDefaultModeration = true;
+                            canvas.becomeSuperModerator = value[i].isSuperModerator;
+                            if ($debug) Debug.info("Make this User to an Moderator");
+                            break;
+                        }
+                        
+                    }
+                }
+	            
+                if ($debug) Debug.write("canvas.becomemoderator: ",canvas.becomemoderator);
+                if ($debug) Debug.write("canvas.becomeSuperModerator: ",canvas.becomeSuperModerator);
+                
+                canvas.currentusercolor = canvas.getColorForUser();
+                
+                var organisation_id = 1;
+            
+                if ($debug) Debug.write(hib.userobject); 
+                if ($debug) Debug.write(hib.currentdomainObj); 
+                
+                if (hib.currentdomainObj != null) {
+                    organisation_id = hib.currentdomainObj.organisation_id
+                }
+                
+                this.parent.setRoomValues.organisation_id = organisation_id;
+                
+                if ($debug) Debug.write("setRoomValues CALL: ");
+                this.parent.setRoomValues.doCall();
+            
+            ]]>
+        </handler>
+    </netRemoteCallHib>     
+
+    <!---
+        Returns a list of all users currently in the conference room
+     -->
+    <netRemoteCallHib name="setRoomValues" funcname="setRoomValues" remotecontext="$once{ canvas.thishib }" >   
+        <attribute name="applyDefaultModeration" value="false" type="boolean" />
+        <attribute name="organisation_id" value="0" type="number" />
+        <netparam><method name="getValue">return hib.currentroomid;</method></netparam>
+        <netparam><method name="getValue">return parent.applyDefaultModeration;</method></netparam>
+        <netparam><method name="getValue">return canvas.becomeSuperModerator;</method></netparam>
+        <netparam><method name="getValue">return parent.organisation_id;</method></netparam>
+        <netparam><method name="getValue">return canvas.currentusercolor;</method></netparam>
+        <handler name="ondata" args="roomStatus">
+            <![CDATA[
+            //The onResult-Handler will be called be the rtmpconnection
+            if ($debug) Debug.write("+++++++++++++++++");
+            if ($debug) Debug.write("+++++++++++++++++ setRoomValues1: ",roomStatus);
+            
+            if (roomStatus.roomFull) {
+                canvas.thishib.showFullMessage = true;
+                canvas.thishib.disconnect();
+            }
+            
+            if (roomStatus.browserStatus.browserInited) {
+                var tObj = new Object();
+                tObj[0] = "newBrowserURL";
+                tObj[1] = roomStatus.browserStatus.currentURL;
+                canvas.startBrowser(tObj);
+            }
+            
+            var value = roomStatus.clientMap;
+            
+            for (var i in value){
+                if ( value[i].streamid == canvas.streamid ) {
+                    canvas.isAllowedToDraw = value[i].canDraw;
+                }
+                //if ($debug) Debug.write("getClientListScope value: ",value[i]);
+                this.parent.addItem(value[i].connectedSince,value[i].isMod,value[i].streamid,value[i].username,
+                              '',value[i].formatedDate,value[i].userpos,value[i].usercolor,value[i]);
+            }
+            
+            //this content must be inited _after_ setting the default values
+            canvas.thishib.getCurrentModeratorList.doCall(); 
+            
+            canvas.thishib.checkLzRecording.doCall();
+            canvas._chatcontent.doInit();   
+            ]]>
+        </handler>  
+    </netRemoteCallHib>
+
+    <!---
+        invoked if another client logs into the room 
+        after choosing devices
+     -->     
+    <method name="setAVSettingsToClient" args="rcl">
+        this._videoviewcontent.setAVSettingsToClient(rcl);
+    </method>
+
+    <method name="receiveExclusiveAudioFlag" args="publicSID">
+    <![CDATA[
+    	if ($debug) Debug.write("receiveExclusiveAudioFlag: ",publicSID);
+        var obj = this._participants.getVideoObjectByPublicSID(publicSID);
+
+        for (var i=0; i<obj.parent.subviews.length; i++) {
+            var item = obj.parent.subviews[i];
+            var rcl = new Object();
+
+            rcl.publicSID = item.refObj.publicSID;
+            rcl.micMuted = !(publicSID == item.refObj.publicSID);
+            canvas.setMuteStatus(rcl);
+        }
+    ]]>
+    </method>
+    
+    <method name="addItem" args="connectedSince,isMod,streamid,username,userroom,formatedDate,position,color,object">
+        <![CDATA[
+            if ($debug) Debug.write("initializeStreams addItem: ",connectedSince,object);
+            
+            //Do init only in case this stream is NOT the same as we are
+            if (streamid!=canvas.streamid){
+            	//if ($debug) Debug.write("???????? object.isBroadcasting :: ",object.isBroadcasting);
+                this._videoviewcontent.createVideo(object.publicSID, object.firstname+' '+object.lastname, object.broadCastID, object.avsettings, -1, object);
+            }
+           
+            //do add self too
+            this._participants.addItem(object);
+        ]]>
+    </method>
+
+    <method name="setSpeakingByPos" args="publicSID,bool">
+    	var tObj = this._participants.getVideoObjectByPublicSID(publicSID);
+    	if (tObj != null) {
+	    	if (bool){
+	            tObj._miniIcons._loudness.loudness.setAttribute('opacity',1);
+	        } else {
+	            tObj._miniIcons._loudness.loudness.setAttribute('opacity',0.2);
+	        }
+        }
+        this._videoviewcontent.setSpeakingByPos(publicSID, bool);
+    </method>
+
+    <method name="closeStreamClient" args="publicSID">
+        this._videoviewcontent.closeStreamClient(publicSID);
+    </method>
+
+    <method name="updateMuteStatusVideoView" args="roomClient">
+        this._videoviewcontent.updateMuteStatusVideoView(roomClient);
+    </method>
+    
+    <method name="disconnectclient" args="publicSID">
+        this._videoviewcontent.disconnectclient(publicSID);
+        this._participants.disconnectclient(publicSID);
+    </method>
+
+    <method name="resetAllValues">
+        this._videoviewcontent.resetAllValues();
+    </method>
+    
+    <!--
+        invoked whenever a User starts to Stream Video in this Room,
+        interviewPodId has only a meaning in the Room Type Interview
+     -->
+    <method name="startStream" args="publicSID,broadcastId,firstname,lastname,interviewPodId,VWidth,VHeight">
+        this._videoviewcontent.startStream(publicSID,broadcastId,firstname,lastname,interviewPodId,VWidth,VHeight);
+    </method>
+    
+    <method name="addClientItem" args="connectedSince,isMod,streamid,username,room_id,formatedDate,position,color,object">
+        <![CDATA[
+        if ($debug) Debug.write("### initializeStreams addClientItem: ",connectedSince,isMod,streamid,username,room_id,formatedDate);
+
+        if (canvas.publicSID != object.publicSID){
+            this._videoviewcontent.createVideoObject(object.publicSID, false, -1, object);
+        }
+
+        //Do Add it anyway
+        this._participants.addItem(object);
+        ]]>
+    </method>
+    
+    <moderationMiniIconsEventUserList name="_applyAndStatusIcons" x="2" y="2" >
+        <handler name="onismoderator" reference="canvas" args="m">
+            this.updateIcons();
+        </handler>
+        <handler name="ondrawAllowStatus" reference="canvas" args="drawObject">
+            this.updateIcons();
+        </handler>
+        <handler name="onexclusiveAudioAllowStatus" reference="canvas" args="rclObject">
+            this.updateIcons();
+        </handler>
+        <handler name="onlastBroadCastingUser" reference="canvas" args="userObject">
+            this.updateIcons();
+        </handler>
+        <handler name="onmicMutedStatusChangedItem" reference="canvas" args="userObject">
+            this.updateIcons();
+        </handler>
+    </moderationMiniIconsEventUserList>
+    
+    <participantList name="_participants" />
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/participants/resources/accept.png b/WebContent/src/modules/conference/participants/resources/accept.png
new file mode 100644
index 0000000..89c8129
--- /dev/null
+++ b/WebContent/src/modules/conference/participants/resources/accept.png
Binary files differ
diff --git a/WebContent/src/modules/conference/participants/resources/delete.png b/WebContent/src/modules/conference/participants/resources/delete.png
new file mode 100644
index 0000000..08f2493
--- /dev/null
+++ b/WebContent/src/modules/conference/participants/resources/delete.png
Binary files differ
diff --git a/WebContent/src/modules/conference/participants/resources/micro_small.png b/WebContent/src/modules/conference/participants/resources/micro_small.png
new file mode 100644
index 0000000..215c831
--- /dev/null
+++ b/WebContent/src/modules/conference/participants/resources/micro_small.png
Binary files differ
diff --git a/WebContent/src/modules/conference/participants/resources/pencil_add.png b/WebContent/src/modules/conference/participants/resources/pencil_add.png
new file mode 100644
index 0000000..902bbe6
--- /dev/null
+++ b/WebContent/src/modules/conference/participants/resources/pencil_add.png
Binary files differ
diff --git a/WebContent/src/modules/conference/participants/resources/pencil_delete.png b/WebContent/src/modules/conference/participants/resources/pencil_delete.png
new file mode 100644
index 0000000..d8944e6
--- /dev/null
+++ b/WebContent/src/modules/conference/participants/resources/pencil_delete.png
Binary files differ
diff --git a/WebContent/src/modules/conference/participants/resources/user_add.png b/WebContent/src/modules/conference/participants/resources/user_add.png
new file mode 100644
index 0000000..deae99b
--- /dev/null
+++ b/WebContent/src/modules/conference/participants/resources/user_add.png
Binary files differ
diff --git a/WebContent/src/modules/conference/polls/answerPoll.lzx b/WebContent/src/modules/conference/polls/answerPoll.lzx
new file mode 100644
index 0000000..781d2b0
--- /dev/null
+++ b/WebContent/src/modules/conference/polls/answerPoll.lzx
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="answerPoll" extends="labelExplorerBox" labelid="18"
+    docking="true" resizeable="false" closable="true" width="500" x="100" height="240">
+    
+	<attribute name="createdBy" type="string" value="" />
+	<attribute name="pollDate" type="string" value="" />
+	<attribute name="pollQuestion" type="string" value="" />
+	<attribute name="pollTypeId" type="string" value="" />
+	<attribute name="roomPollAnswerList" type="string" value="" />
+	<attribute name="roomPollId" type="string" value="" />
+	<attribute name="roomScopeName" type="string" value="" />
+	
+	<labelText y="22" name="head" />
+	<labelText text="$once{ parent.pollQuestion }" y="42" x="0" height="60" width="380" multiline="true" resize="false"/>
+	
+	<handler name="oninit">
+		if ($debug) Debug.write("[answerPoll:oninit] this: ",this);
+		if (this.pollTypeId==1){
+			//Debug.write("Yes/No Question");
+			this.pollboolean.setAttribute('visible',true);
+		} else  if(this.pollTypeId==2) {
+			//Debug.write("Numeric Question");
+			this.pollnumeric.setAttribute('visible',true);
+		}
+		this.head.setAttribute('text',this.createdBy+" "+canvas.getLabelName(36));
+	</handler>
+	
+	<labelText y="102" labelid="33" />
+	
+	<radiogroup name="pollboolean" x="100" y="102" visible="false">
+	  	<labelRadioButton value="1" labelid="34" selected="true" />
+	  	<labelRadioButton value="2" labelid="35" />
+	</radiogroup>
+
+	<resetCombobox name="pollnumeric" visible="false" width="160" x="100" y="102" editable="false" itemclassname="bigTextListItem" >
+		<handler name="oninit">
+			<![CDATA[
+			for (var i=1;i<11;i++){
+				this.addItem(i,i);
+			}
+			this.selectItem('1');
+			]]>
+		</handler>
+	</resetCombobox>
+	
+    <simpleLabelButton labelid="32" width="200" x="80" y="218">
+    	<handler name="onclick">
+    		if (parent.pollTypeId==1){
+    			this.parent.vote.pollvalue = Number(parent.pollboolean.getValue());
+    		} else if (parent.pollTypeId==2){
+    			this.parent.vote.pollvalue = Number(parent.pollnumeric.getValue());
+    		}
+    		this.parent.vote.pollTypesId = parent.pollTypeId;
+    		this.parent.vote.doCall();
+    		
+    	</handler>
+    </simpleLabelButton>
+    
+    <simpleLabelButton labelid="25" width="200" x="290" y="218" 
+        onclick="this.parent.close();" />
+    
+        <netRemoteCallHib name="vote" funcname="pollservice.vote" remotecontext="$once{ canvas.thishib }" >
+            <attribute name="pollvalue" type="number" value="0" />
+            <attribute name="pollTypesId" type="number" value="0" />
+            <netparam><method name="getValue">return parent.pollvalue;</method></netparam>
+            <netparam><method name="getValue">return parent.pollTypesId;</method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    //The onResult-Handler will be called be the rtmpconnection
+                    //Debug.write("vote : ",value);
+                    this.parent.close();
+                ]]>
+            </handler>   
+        </netRemoteCallHib>      
+    
+    
+</class>
+
+
+</library>
diff --git a/WebContent/src/modules/conference/polls/createPollWin.lzx b/WebContent/src/modules/conference/polls/createPollWin.lzx
new file mode 100644
index 0000000..fe283c3
--- /dev/null
+++ b/WebContent/src/modules/conference/polls/createPollWin.lzx
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<class name="bigTextListItem" extends="textlistitem" fontsize="11" />
+
+	<class name="createPollWin" extends="labelExplorerBox" labelid="18"
+		docking="true" resizeable="false" closable="true" width="500" x="100"
+		height="240">
+
+		<labelText fontstyle="bold" labelid="19" y="22" />
+
+		<labelText labelid="1410" y="42" />
+		<customEdittext name="_name" multiline="false" width="390"
+			x="100" y="42" />
+
+		<labelText labelid="20" y="67" />
+		<customEdittext name="_question" multiline="true"
+			width="390" x="100" y="67" height="60" />
+
+		<netRemoteCallHib name="getPollTypeList" funcname="pollservice.getPollTypeList"
+			remotecontext="$once{ canvas.thishib }">
+			<handler name="ondata" args="value">
+			<![CDATA[
+				//The onResult-Handler will be called be the rtmpconnection
+				if ($debug) Debug.write("getPollTypeList : ",value)
+				for (var i = 0; i < value.length; ++i) {
+					this.parent._polltypes.addItem(canvas.getLabelName(value[i].label.fieldvalues_id), value[i].pollTypesId);
+				}
+				this.parent._polltypes.selectItem(value[0].pollTypesId);
+			]]>
+			</handler>
+		</netRemoteCallHib>
+
+		<labelText labelid="21" y="142" />
+		<resetCombobox name="_polltypes" width="160" x="100" y="142"
+			editable="false" itemclassname="bigTextListItem">
+			<handler name="oninit">
+				this.parent.getPollTypeList.doCall();
+			</handler>
+		</resetCombobox>
+
+		<labelText fgcolor="red" labelid="23" y="175" width="480"
+			multiline="true" resize="false" />
+
+		<netRemoteCallHib name="createPoll" funcname="pollservice.createPoll"
+			remotecontext="$once{ canvas.thishib }">
+			<attribute name="pollname" value="" type="string" />
+			<attribute name="pollquestion" value="" type="string" />
+			<attribute name="polltypesid" value="0" type="number" />
+			<netparam><method name="getValue">return parent.pollname;</method></netparam>
+			<netparam><method name="getValue">return parent.pollquestion;</method></netparam>
+			<netparam><method name="getValue">return parent.polltypesid;</method></netparam>
+			<handler name="ondata" args="value">
+				//The onResult-Handler will be called be the rtmpconnection
+				if ($debug) Debug.write("createPoll : ",value);
+				this.parent.close();
+			</handler>
+		</netRemoteCallHib>
+
+		<simpleLabelButton labelid="22" width="100" x="280"
+			y="218">
+			<handler name="onclick">
+				this.parent.createPoll.pollname =
+				this.parent._name.getText();
+				this.parent.createPoll.pollquestion =
+				this.parent._question.getText();
+				this.parent.createPoll.polltypesid =
+				this.parent._polltypes.getValue();
+				//Debug.write("this.parent.createPoll.createPoll:",this.parent.createPoll.createPoll);
+				this.parent.createPoll.doCall();
+			</handler>
+		</simpleLabelButton>
+
+		<simpleLabelButton labelid="25" width="100" x="390"
+			y="218" onclick="this.parent.close();" />
+
+	</class>
+
+
+</library>
diff --git a/WebContent/src/modules/conference/polls/library.lzx b/WebContent/src/modules/conference/polls/library.lzx
new file mode 100644
index 0000000..0b31a5b
--- /dev/null
+++ b/WebContent/src/modules/conference/polls/library.lzx
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+    <include href="createPollWin.lzx" />
+    <include href="answerPoll.lzx" />
+    <include href="resultPollWin.lzx" />
+    
+</library>
diff --git a/WebContent/src/modules/conference/polls/resultPollWin.lzx b/WebContent/src/modules/conference/polls/resultPollWin.lzx
new file mode 100644
index 0000000..b7d95bd
--- /dev/null
+++ b/WebContent/src/modules/conference/polls/resultPollWin.lzx
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<class name="resultPollWin" extends="labelExplorerBox" labelid="37"
+		docking="true" resizeable="false" closable="true" width="454" x="100"
+		height="454">
+		 
+		<attribute name="roomPoll" value="null" />
+		<attribute name="archPolls" value="null" />
+		<attribute name="resultpollvotes" value="null" />
+ 		<attribute name="displayedPoll" value="null" />
+
+		<handler name="oninit">
+			displayResults(roomPoll);
+		</handler>
+		
+		<method name="displayResults" args="poll">
+		<![CDATA[
+			displayedPoll = poll;
+			this.content.setAttribute("visible", poll != null);
+			if (poll == null) {
+				this.head.setAttribute('text', canvas.getLabelName(41));
+				updateButtons();
+				return;
+			}
+			updateButtons();
+			this.head.setAttribute('text',
+					(canvas.user_id == poll.createdBy.user_id ? canvas
+							.getLabelName(1411) : poll.createdBy.login)
+							+ " " + canvas.getLabelName(36));
+
+			var totalVotes = poll.roomPollAnswerList.length;
+			this.content.question.text.setAttribute('text', poll.pollQuestion);
+			this.content.voteResultNum.setAttribute('text', totalVotes);
+			if (this.resultpollvotes != null) {
+				this.resultpollvotes.destroy();
+			}
+			this.resultpollvotes = new lz.view(this.content, {
+						y : 146,
+						x : 100
+					});
+
+			var isNumeric = poll.pollType.isNumericAnswer;
+			var resArray = new Array(isNumeric ? 10 : 2);
+			for (var i = 0; i < resArray.length; ++i) {
+				resArray[i] = 0;
+			}
+			for (var i = 0; i < totalVotes; ++i) {
+				var idx = isNumeric
+						? poll.roomPollAnswerList[i].pointList - 1
+						: (poll.roomPollAnswerList[i].answer ? 0 : 1);
+				resArray[idx]++;
+			}
+			if (content._chartType.getValue() == 0) {
+				new lz.simplelayout(this.resultpollvotes, {
+							axis : 'y',
+							spacing : 2
+						});
+				for (var i = 0; i < resArray.length; ++i) {
+					var pos = (totalVotes == 0) ? 0 : Math.round(100
+							* resArray[i] / totalVotes);
+					new lz.parentResultPollBalk(this.resultpollvotes, {
+								newX : pos * 2,
+								newPercent : pos + '%',
+								textA : isNumeric ? i + 1 : canvas
+										.getLabelName(i == 0 ? 34 : 35)
+							});
+				}
+			} else {
+
+				if (!isNumeric) {
+					//yes/no
+					new lz.resultPieCharPoll(this.resultpollvotes, {
+								xseries : ["yes", "no"],
+								yseries : resArray,
+								tooltipseries : ["yes ("+resArray[0]+")", "no ("+resArray[1]+")"]
+							});
+				} else {
+
+					if ($debug)
+						Debug.write("tObject 1 ", ["1", "2", "3", "4", "5",
+										"6", "7", "8", "9", "10"]);
+					if ($debug)
+						Debug.write("tObject 2 ", resArray);
+
+					var tooltipseries = new Array(resArray.length);
+					for (var i=0;i<resArray.length;i++) {
+						tooltipseries[i] = "N° "+i+" ("+ resArray[i] +")";
+					}
+						
+					//numeric [1,2,3,4,5,6,7,8,9,10]
+					new lz.resultPieCharPoll(this.resultpollvotes, {
+						xseries : ["1", "2", "3", "4", "5", "6", "7", "8", "9",
+								"10"],
+						yseries : resArray,
+						tooltipseries : tooltipseries
+					});
+				}
+
+			}
+		]]>
+		</method>
+
+		<labelText y="22" name="archPollLbl" labelid="1412" />
+		<resetCombobox name="_archPolls" width="342" x="100" y="22"
+			editable="false" itemclassname="bigTextListItem">
+			
+			<netRemoteCallHib name="getArchivedPollList"
+				funcname="pollservice.getArchivedPollList" remotecontext="$once{ canvas.thishib }">
+				<handler name="ondata" args="value">
+				<![CDATA[
+					parent.removeAll();
+					if ($debug)
+						Debug.write("getArchivedPollList ", value);
+
+					this.parent.parent.archPolls = value;
+					var noArch = (value == null || (value != null && value.length == 0));
+					parent.setAttribute("visible", !noArch);
+					parent.parent.archPollLbl.setAttribute("visible", !noArch);
+					if (noArch) {
+						return;
+					}
+					if (this.parent.parent.roomPoll != null) {
+						this.parent.addItem(
+								this.parent.parent.roomPoll.pollName + "("
+										+ canvas.getLabelName(1413) + ")", -1);
+					}
+					for (var i = 0; i < value.length; ++i) {
+						this.parent.addItem(value[i].pollName, i);
+					}
+					this.parent.selectItem(this.parent.parent.roomPoll == null
+							? 0
+							: -1);
+				]]>
+				</handler>
+			</netRemoteCallHib>
+			
+			<handler name="oninit">
+				this.getArchivedPollList.doCall();
+			</handler>
+			
+			<handler name="onselect" args="sel">
+				if ($debug)
+					Debug.write("onselect ", sel);
+				this.parent.displayResults(sel.value > -1
+						? this.parent.archPolls[sel.value]
+						: this.parent.roomPoll);
+			</handler>
+			
+			<method name="removeAll">
+			<![CDATA[
+				var currentCount = this.cblist.getNumItems();
+				if ($debug) Debug.write("currentCount = ", currentCount);
+				for (var i = 0; i < currentCount; ++i) {
+					this.removeItemAt(0);
+				}
+			]]>
+            </method>
+		</resetCombobox>
+		
+		<labelText x="2" y="42" name="head" fontstyle="bold" />
+
+		<view name="content">
+			
+			<view name="question" x="2" y="62" width="440" height="60" bgcolor="0xFFFFFF">
+				<labelText x="0" y="0" name="text" multiline="true" 
+						   resize="false" width="$once{parent.width-14}" />
+				<om_vscrollbar/>
+			</view>
+            
+			<labelText y="122" labelid="39" />
+			<labelText y="122" x="100" name="voteResultNum" />
+			<resetCombobox name="_chartType" width="302" x="140" y="122" editable="false" >
+				<labeldTextListItem labelid="1414" value="0"/>
+				<labeldTextListItem labelid="1415" value="1" selected="true" />
+				<handler name="onselect" args="sel">
+					if ($debug) Debug.write("onselect ", sel);
+					var val = parent.parent._archPolls.getValue();
+					parent.parent.displayResults(val > -1
+							? parent.parent.archPolls[val]
+							: parent.parent.roomPoll);
+				</handler>
+			</resetCombobox>
+
+			<labelText y="146" labelid="40" x="2" />
+		</view>
+		
+		<method name="updateButtons">
+		<![CDATA[
+			_deletePoll.setAttribute("visible", canvas.ismoderator && displayedPoll != null);
+			var hasArch = _archPolls.cblist.getNumItems() > 0;
+			_closePoll.setAttribute("visible", _deletePoll.visible && (!hasArch || (hasArch && _archPolls.getValue() == -1)));
+		]]>
+		</method>
+		
+		<simpleLabelButton name="_deletePoll" labelid="1420" width="100"
+			x="2" y="$once{ parent.height-22 }"
+            onclick="new lz.confirmDeleteWindow(parent, {refObj: this, labelid: 1420, messagelabelid: 1421});"
+            >
+		    <netRemoteCallHib name="deletePoll" funcname="pollservice.deletePoll" remotecontext="$once{ canvas.thishib }" >   
+		        <netparam><method name="getValue"> var poll = parent.parent.parent.displayedPoll; return poll != null ? poll.roomPollId : -1; </method></netparam> 
+		        <handler name="ondata" args="value">
+				<![CDATA[
+					var p = parent.parent;
+					var archCount = p._archPolls.cblist.getNumItems();
+		        	var hasArch = archCount > 0;
+		        	if (!hasArch || (hasArch && p._archPolls.getValue() == -1)) {
+			        	p.roomPoll = null;
+		        	}
+		        	if (archCount) {
+		        		p.displayResults(null);
+		        	}
+		        	p._archPolls.getArchivedPollList.doCall();
+				]]>
+		        </handler>
+		    </netRemoteCallHib>
+			<method name="confirmDelete">
+				deletePoll.doCall();
+			</method>
+        </simpleLabelButton>
+            
+		<simpleLabelButton name="_closePoll" labelid="1418" width="100"
+			x="104" y="$once{ parent.height-22 }"
+            onclick="new lz.confirmDeleteWindow(parent, {refObj: this, labelid: 1418, confirmlabelid: 85, messagelabelid: 1419});"
+            >
+		    <netRemoteCallHib name="closePoll" funcname="pollservice.closePoll" remotecontext="$once{ canvas.thishib }" >   
+		        <handler name="ondata" args="value">
+		        	parent.parent.roomPoll = null;
+		        	parent.parent._archPolls.getArchivedPollList.doCall();
+		        </handler>
+		    </netRemoteCallHib>
+			<method name="confirmDelete">
+				if ($debug) Debug.write("parent._archPolls.getValue(); ", parent._archPolls.getValue());
+				closePoll.doCall();
+			</method>
+        </simpleLabelButton>
+            
+		<simpleLabelButton labelid="25" width="100" x="$once{ parent.width-102 }"
+            y="$once{ parent.height-22 }" onclick="this.parent.close();" />
+		
+	</class>
+
+	<class name="parentResultPollBalk" extends="view">
+		<attribute name="newX" value="0" type="number" />
+		<attribute name="newPercent" value="0%" type="string" />
+		<attribute name="answer" value="0" type="number" />
+		<attribute name="textA" value="" type="string" />
+		<text text="$once{ parent.textA }" resize="true" />
+		<resultPollBalk x="40" />
+	</class>
+
+	<class name="resultPollBalk" extends="view" bgcolor="black"
+		height="20" width="0">
+		<view bgcolor="red" width="${ parent.width-2 }" height="${ parent.height-2 }"
+			x="1" y="1" />
+		<text text="$once{ parent.parent.newPercent }" resize="true" y="2" />
+		<animator attribute="width" to="$once{ parent.parent.newX }"
+			duration="1000" />
+	</class>
+	
+	<class name="resultPieCharPoll" extends="ompiechart" x="40" width="300" 
+		height="280" style="omchartstyle">
+    
+		<attribute name="xseries" value="null"/>
+		<attribute name="yseries" value="null"/>
+		<attribute name="tooltipseries" value="null"/>
+    
+		<handler name="oninit">
+			this.legendbox.bringToFront();
+		</handler>
+    
+		<!--- get the dataseries -->
+		<method name="getOMDataSeries">
+		<![CDATA[
+			var tObject = new Object();
+
+			tObject.xseries = this.xseries;
+			tObject.yseries = this.yseries;
+			tObject.tooltipseries = this.tooltipseries;
+
+			return tObject;
+		]]>
+		</method>  
+    
+		<strokestyle name="pieslicestyle" strokeColor="0x000000" strokeWidth="1"
+			strokeType="solid" />
+        
+		<omlegend name="legendbox" legendFontsize="14" initstage="late"
+			legendborder="true" >
+        
+			<handler name="onitemmouseover" args="item">
+				var piepiece = parent.plotarea.arrPiePieces[item.identifier];
+				piepiece.renderInnerWedge();
+			</handler>
+
+			<handler name="onitemmouseout" args="item">
+				var piepiece = parent.plotarea.arrPiePieces[item.identifier];
+				piepiece.renderWedge();
+			</handler>
+		</omlegend>
+
+	</class>    
+    
+</library>
diff --git a/WebContent/src/modules/conference/popups/autoLoader.lzx b/WebContent/src/modules/conference/popups/autoLoader.lzx
new file mode 100644
index 0000000..14af187
--- /dev/null
+++ b/WebContent/src/modules/conference/popups/autoLoader.lzx
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<class name="autoLoader" extends="view" align="center" valign="middle" pixellock="true">
+
+	<attribute name="maxwidth" value="400" type="number" />
+	<attribute name="maxsteps" value="22" type="number" />
+	<attribute name="currentsteps" value="0" type="number" />
+	
+	<!-- 
+	<handler name="oninit">
+		this.setAttribute("y",Math.round(this.y));
+		this.setAttribute("y",Math.round(this.y));
+	</handler>
+	 -->
+	
+	<method name="close">
+		canvas.main_content.setAttribute('visibility','visible');
+		canvas._mainbgcontentNavi.setAttribute('visibility','visible');
+		canvas.thishib.loaderVar = null;
+		this.destroy();
+	</method>
+	
+	<method name="setProgress">
+		this.currentsteps += 1;
+		if($debug) Debug.write("autoLoader/setProgress ===== ",this.currentsteps);
+		var w = Math.round(((this.maxwidth)/this.maxsteps)*this.currentsteps);
+		this.loadingbar.setAttribute('visibility','visible');
+		if($debug) Debug.write("autoLoader/setResourceNumber == ",w);
+		this.loadingbar._loading.setAttribute('width',w);
+	</method>
+    
+    <text fontsize="11" name="error" y="20" fgcolor="0x666666"/>
+    <text fontsize="11" name="_src" y="50" align="center" fgcolor="0x666666" visibility="$once{ ($debug) ? 'visible' : 'hidden' }" />
+    
+    <view name="loadingbar"  height="1" pixellock="true"
+          x="-5" y="40" width="$once{ parent.maxwidth+2 }" visibility="hidden">
+          <view x="1" y="1" width="$once{ parent.width-2 }" height="1" opacity="0.3"
+          		bgcolor="$once{ canvas.getThemeColor('styleMenuBarBaseColor') }" />
+          <view name="_loading" x="1" y="1" width="0" height="1"  pixellock="true" 
+          		bgcolor="$once{ canvas.getThemeColor('styleMenuBarBaseColor') }"/>
+    </view>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/popups/chooseNickName.lzx b/WebContent/src/modules/conference/popups/chooseNickName.lzx
new file mode 100644
index 0000000..83ccfa7
--- /dev/null
+++ b/WebContent/src/modules/conference/popups/chooseNickName.lzx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+ 
+ <class name="chooseNickName" extends="labelExplorerBox" labelid="1287"
+    docking="true" resizeable="false" closable="false" 
+    width="324" x="$once{ parent.width/2 - this.width/2 }" y="100" height="200">
+
+    <handler name="oninit">
+    	<![CDATA[
+    	
+    	   var tFirstname = "Guest"
+    	   var tLastname = "User "+getStringTimeWithSeconds();
+    	
+    	   this.firstName.setAttribute("text",tFirstname);
+    	   this.lastName.setAttribute("text",tLastname);
+    	
+    	]]>
+    </handler>
+
+    <!--
+    public Long setUserNickName(String firstname, String lastname, String email)
+     -->
+    <netRemoteCallHib name="setUserNickName" activeErrorHandler="true" 
+                        funcname="xmlcrm.setUserNickName" remotecontext="$once{ canvas.thishib }">          
+        <netparam><method name="getValue">return parent.parent.firstName.getText();</method></netparam>
+        <netparam><method name="getValue">return parent.parent.lastName.getText();</method></netparam>
+        <netparam><method name="getValue">return parent.parent.mail.getText();</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("setUserNickName -1-: ",value);
+                
+                if (value<0){
+                    
+                } else {
+                    canvas.thishib.getCurrentRoomClient.doCall();
+                    parent.close();
+                }
+            ]]>
+        </handler>   
+    </netRemoteCallHib> 
+
+	<labelText y="26" x="4" labelid="1288" />
+		<customEdittext name="firstName" y="24" x="120" width="200" text="" />
+		
+	<labelText y="56" x="4" labelid="1289" />
+		<customEdittext name="lastName" y="54" x="120" width="200" text="" />
+		
+	<labelText y="86" x="4" labelid="1290" />
+		<customEdittext name="mail" y="84" x="120" width="200" 
+						regexpType="email" text="" />
+
+	<simpleLabelButton name="connect" x="$once{ parent.width-this.width-10 }" 
+					   y="$once{ parent.height-30 }" labelid="1291" width="120" >
+		<handler name="onclick">
+			<![CDATA[
+    			if (parent.firstName.getText().length < 4) {
+    				new lz.labelerrorPopup(canvas,{errorlabelid:1292});
+    				return;
+    			} else if (parent.lastName.getText().length < 4) {
+                    new lz.labelerrorPopup(canvas,{errorlabelid:1292});
+                    return;
+                } else if (parent.mail.getText() == "") {
+                    new lz.labelerrorPopup(canvas,{errorlabelid:1293});
+                    return;
+                }
+            
+                this.parent.setUserNickName.doCall();
+            ]]>    
+		</handler>
+	</simpleLabelButton>
+		
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/popups/confirmationBox.lzx b/WebContent/src/modules/conference/popups/confirmationBox.lzx
new file mode 100644
index 0000000..3d3d256
--- /dev/null
+++ b/WebContent/src/modules/conference/popups/confirmationBox.lzx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="confirmationBox" extends="labelExplorerBox" labelid="18"
+    docking="true" resizeable="false" closable="true" width="400" x="100" height="240">
+    
+    <attribute name="refObj" value="null" />
+    
+    <attribute name="labeliderror" value="0" type="number" />
+    
+    <attribute name="doAskAgain" value="true" type="boolean" />
+
+	<view x="4" resource="warning_icon_rsc" y="24" />
+
+    <labelText labelid="$once{ parent.labeliderror }" y="24" 
+    		   width="$once{ parent.width - 40 }"
+    	multiline="true" resize="false" x="30" />
+    
+    <labelCheckbox name="holddatainSO" 
+    			   visibility="$once{ (parent.doAskAgain) ? 'visible' : 'hidden' }" 
+    			   labelid="64" x="10" y="220" />
+    
+    <simpleLabelButton labelid="61" width="100" x="70" y="196">
+    	<handler name="onclick">
+    		this.parent.close();
+    	</handler>
+    </simpleLabelButton>    
+    <simpleLabelButton labelid="65" width="100" x="180" y="196">
+    	<handler name="onclick">         
+    		var t = parent.holddatainSO.getValue();
+            this.parent.refObj.sendConfirmation(false,t);
+            this.parent.close();
+    	</handler>
+    </simpleLabelButton>
+    <simpleLabelButton labelid="60" width="100" x="290" y="196">
+    	<handler name="onclick">
+    		var t = parent.holddatainSO.getValue();
+            this.parent.refObj.sendConfirmation(true,t);
+            this.parent.close();
+    	</handler>
+    </simpleLabelButton>  
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/popups/confirmationSingle.lzx b/WebContent/src/modules/conference/popups/confirmationSingle.lzx
new file mode 100644
index 0000000..324ed4f
--- /dev/null
+++ b/WebContent/src/modules/conference/popups/confirmationSingle.lzx
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="confirmationSingle" extends="labelExplorerBox" labelid="832"
+    docking="true" resizeable="false" closable="true" height="140" width="300">
+    
+    <attribute name="refObj" value="null" />
+    
+    <attribute name="refReturnMethod" value="null" />
+    
+    <attribute name="showCheckBox" value="true" type="boolean" />
+    
+    <attribute name="labeliderror" value="0" type="number" />
+    
+    <attribute name="doCalcPosition" value="true" type="number" />
+    
+	<attribute name="iconResource" value="warning_popup_icon_rsc" type="string" />
+
+	<image x="4" src="$once{ canvas.getThemeImage(parent.iconResource) }" y="24" />
+
+    <labelText labelid="$once{ parent.labeliderror }" y="24" 
+    		   width="$once{ parent.width - 40 }"
+    	multiline="true" resize="false" x="30" />
+        
+    <handler name="oninit">
+        <![CDATA[
+        
+        	if (!this.doCalcPosition) {
+        		return;
+        	}
+        
+            //Set Position of Confirmation Box as Close as possible to the Mouse
+            var x = parent.getMouse("x");
+            var y = parent.getMouse("y");
+            var newx = x - (this.width/2);
+            var newy = y - (this.height/2);
+            
+            if ($debug) Debug.write("1",x,y,newx,newy);
+            
+            if (newx < 0) {
+                newx = 20;
+            }
+            if (newy < 0) {
+                newy = 20;
+            }
+            
+            //if ($debug) Debug.write("1.1",(this.width + newx + 20),parent.width,this.width);
+            
+            var relativeWidth = parent.width;
+            if (relativeWidth > canvas.width) {
+            	relativeWidth = canvas.width;
+            }
+            
+            if (this.width + newx + 20 > relativeWidth) {
+            	newx = relativeWidth-this.width-20;
+            }
+            
+            if (this.height + newy + 20 > parent.height) {
+            	newy = parent.height-this.height-20;
+            }
+            
+            if ($debug) Debug.write("2",newx,newy);
+            
+            this.setAttribute("x",newx);
+            this.setAttribute("y",newy);
+            
+        ]]>
+    </handler>
+    
+    <labelCheckbox name="holddatainSO" visibility="$once{ (parent.showCheckBox) ? 'visible' : 'hidden' }" 
+                   labelid="64" x="10" y="$once{ parent.height - 46 }" />
+    
+    <simpleLabelButton labelid="61" width="100" x="$once{ parent.width - 105 }" y="$once{ parent.height - 26 }">
+    	<handler name="onclick">
+    		var t = parent.holddatainSO.getValue();
+    		this.parent.close();
+    		if (parent.refReturnMethod == null) {
+    			if ($debug) Debug.write("refObj ",this.parent.refObj);
+    		    this.parent.refObj.sendNoConfirmation();
+    		} else {
+    			this.parent.refObj[parent.refReturnMethod](false,t);
+    		}
+    	</handler>
+    </simpleLabelButton>    
+    <simpleLabelButton labelid="60" width="100" x="$once{ parent.width - 210 }" y="$once{ parent.height - 26 }">
+    	<handler name="onclick">
+    		var t = parent.holddatainSO.getValue();
+    		this.parent.close();
+    		if (parent.refReturnMethod == null) {
+    		    this.parent.refObj.sendConfirmation(true,t);
+    		} else {
+                this.parent.refObj[parent.refReturnMethod](true,t);
+            }
+    	</handler>
+    </simpleLabelButton>    
+</class>
+
+<class name="rememberMessage" extends="labelExplorerBox" labelid="832"
+	   x="$once{ canvas.width/2 - this.width/2 }" y="100"
+	   docking="true" resizeable="false" closable="true" height="140" width="300">
+    
+    <attribute name="refObj" value="null" />
+    
+    <attribute name="showCheckBox" value="true" type="boolean" />
+    
+    <attribute name="labeliderror" value="0" type="number" />
+    
+    <view x="4" resource="warning_icon_rsc" y="24" />
+
+    <labelText labelid="$once{ parent.labeliderror }" y="24" 
+               width="$once{ parent.width - 40 }"
+        multiline="true" resize="false" x="30" />
+        
+    <labelCheckbox name="holddatainSO" visibility="$once{ (parent.showCheckBox) ? 'visible' : 'hidden' }" 
+                   labelid="64" x="10" y="$once{ parent.height - 46 }" />
+    
+    <simpleLabelButton labelid="642" width="100" x="$once{ parent.width - 105 }" y="$once{ parent.height - 26 }">
+        <handler name="onclick">
+        	var t = parent.holddatainSO.getValue();
+            this.parent.close();
+            this.parent.refObj.sendConfirmation(t);
+        </handler>
+    </simpleLabelButton>    
+     
+</class>
+	
+</library>
diff --git a/WebContent/src/modules/conference/popups/converterPopup.lzx b/WebContent/src/modules/conference/popups/converterPopup.lzx
new file mode 100644
index 0000000..79e1944
--- /dev/null
+++ b/WebContent/src/modules/conference/popups/converterPopup.lzx
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="converterPopup" extends="labelExplorerBox" labelid="204"
+	docking="true" resizeable="true" closable="true" 
+    width="324" x="200" height="230">
+
+	<attribute name="error" value="null" />
+    
+    <handler name="oninit">
+        var dtString = '';
+        for (var eg in this.error){
+            for (var eg2 in this.error[eg]){
+                dtString += "Name: "+eg2+"\r\n";
+                dtString += "Value: "+this.error[eg][eg2]+"\r\n";
+            }
+        }
+        this.errorView.errorView.setAttribute('text',dtString);
+    </handler>
+
+	<view y="24" width="${ parent.width - 4 }" height="${ parent.height - 30 }" x="2" clip="true" name="errorView">
+		<text y="30" fontsize="10" fontstyle="bold" name="errorView"
+			multiline="true" width="300" selectable="true" />
+		<om_vscrollbar />
+	</view>
+
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/popups/editWhiteboardDefault.lzx b/WebContent/src/modules/conference/popups/editWhiteboardDefault.lzx
new file mode 100644
index 0000000..59981ef
--- /dev/null
+++ b/WebContent/src/modules/conference/popups/editWhiteboardDefault.lzx
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="questionCheckbox" extends="view" width="$once{parent.width-4}" >
+	<attribute name="labelid" value="0" type="number" />
+	<attribute name="valBool"  value="false" type="boolean" />
+	<labelCheckbox name="holddatainSO" x="2" y="0" 
+		value="$once{parent.valBool}" text="" />
+    <labelText labelid="$once{ parent.labelid }" width="$once{parent.width-24}"
+    	x="18" multiline="true" resize="false">	
+    	<handler name="onclick">
+    		this.parent.holddatainSO.onclick.sendEvent();
+    	</handler>
+    </labelText>
+</class>
+
+<class name="editWhiteboardDefault" extends="labelExplorerBox" labelid="66"
+    docking="true" resizeable="false" closable="true" width="400" x="100" height="240">
+    
+    <attribute name="refObj" value="null" />
+    
+    <view name="_settings" width="$once{parent.width-4}" height="180" y="24" clip="true">
+		<view name="inner" width="$once{parent.width}" >
+			<simplelayout axis="y" spacing="2" />
+		</view>
+    	<om_vscrollbar />
+    </view>
+    <!-- 
+    63
+     -->
+    
+    <handler name="oninit" >
+		var g = canvas.getUserData();
+         if (g["image"]==null) {
+         	g["image"]=new Array();
+         	g["image"]["clearField"]=false;
+         	g["image"]["askagainclear"]=false;
+         	g["image"]["donotaskagainrdc"]=false;
+         }
+         var t = new lz.questionCheckbox(this._settings.inner,{name:"clearField",labelid:63,valBool:g["image"]["clearField"]});
+         //Debug.write("t: ",t);
+         t = new lz.questionCheckbox(this._settings.inner,{name:"askagainclear",labelid:67,valBool:g["image"]["askagainclear"]});
+		 //Debug.write("t: ",t);
+		
+         if (g["wmlfile"]==null) {
+         	g["wmlfile"]=new Array();
+         	g["wmlfile"]["clearField"]=false;
+         	g["wmlfile"]["askagainclear"]=false;
+         }
+         t = new lz.questionCheckbox(this._settings.inner,{name:"askagainclearwml",labelid:212,valBool:g["wmlfile"]["askagainclear"]});
+         
+         t = new lz.questionCheckbox(this._settings.inner,{name:"donotaskagainrdc",labelid:1127,valBool:g["image"]["donotaskagainrdc"]});
+		 
+         
+		 if (g["doShowUpdateProfileMessage"] == null) {
+		 	new lz.questionCheckbox(this._settings.inner,{name:"doShowUpdateProfileMessage",labelid:1299,valBool:false});
+		 } else {
+		 	new lz.questionCheckbox(this._settings.inner,{name:"doShowUpdateProfileMessage",labelid:1299,valBool:g["doShowUpdateProfileMessage"]});
+		 }
+         
+		 
+		 //Debug.write("t: ",t);
+    </handler>    
+    
+    <method name="storesettings" >
+		var g = canvas.getUserData();
+		
+         if (g["image"]==null) g["image"]=new Array();
+         g["image"]["clearField"]=this._settings.inner.clearField.holddatainSO.getValue();
+         g["image"]["askagainclear"]=this._settings.inner.askagainclear.holddatainSO.getValue();
+         g["image"]["donotaskagainrdc"]=this._settings.inner.donotaskagainrdc.holddatainSO.getValue();
+		
+         if (g["wmlfile"]==null) g["wmlfile"]=new Array();
+		//always true
+         g["wmlfile"]["clearField"]=true;
+         g["wmlfile"]["askagainclear"]=this._settings.inner.askagainclearwml.holddatainSO.getValue();
+		
+         g["doShowUpdateProfileMessage"] = this._settings.inner.doShowUpdateProfileMessage.holddatainSO.getValue();
+         
+	     canvas.setUserData(g);
+    </method>
+    
+    <simpleLabelButton labelid="61" width="100" x="290" y="216">
+    	<handler name="onclick">
+    		this.parent.close();
+    	</handler>
+    </simpleLabelButton> 
+       
+    <simpleLabelButton labelid="60" width="100" x="180" y="216">
+    	<handler name="onclick">
+    		parent.storesettings();
+    		this.parent.close();
+    	</handler>
+    </simpleLabelButton>    
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/popups/errorModeratorPopup.lzx b/WebContent/src/modules/conference/popups/errorModeratorPopup.lzx
new file mode 100644
index 0000000..f62ad33
--- /dev/null
+++ b/WebContent/src/modules/conference/popups/errorModeratorPopup.lzx
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="errorModeratorPopup" extends="labelExplorerBox" labelid="204"
+	docking="true" resizeable="false" closable="true" 
+    width="224" x="300" height="230">
+
+	<attribute name="error" value="" type="string" />
+
+	<view y="24" width="218" height="170" x="2" clip="true">
+		<text y="30" fontsize="10" fontstyle="bold" text="${ parent.parent.error }"
+			multiline="true" width="190" />
+		<om_vscrollbar />
+	</view>
+    
+    <simpleLabelButton x="20" labelid="906" y="200" width="200">
+		<handler name="onclick">
+			//new lz.applyForModeration(canvas.main_content._content.inner);
+			canvas.thishib.applyForModeration.doCall();
+            this.parent.close();
+		</handler>
+    </simpleLabelButton>
+
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/popups/errorPopup.lzx b/WebContent/src/modules/conference/popups/errorPopup.lzx
new file mode 100644
index 0000000..a0e3fafe
--- /dev/null
+++ b/WebContent/src/modules/conference/popups/errorPopup.lzx
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="errorPopup" extends="labelExplorerBox" labelid="204"
+	docking="true" resizeable="false" closable="true" y="100"
+    x="$once{ parent.width/2 - this.width/2 }" height="160" width="324">
+
+	<attribute name="error" value="" type="string" />
+	
+	<attribute name="makeModal" value="false" type="boolean" />
+	
+	<handler name="oninit">
+	   if (this.makeModal) {
+	       lz.ModeManager.makeModal(this);
+	   }
+	</handler>
+	
+	<handler name="onclose">
+       if (this.makeModal) {
+           lz.ModeManager.releaseAll();
+       }
+    </handler>
+
+	<view x="4" resource="warning_icon_rsc" y="24" />
+
+	<view y="24" width="$once{ parent.width - 40 }" height="130" x="30" clip="true">
+		<text fontsize="10" fontstyle="bold" text="${ parent.parent.error }"
+			multiline="true" width="$once{ parent.width - 16 }" selectable="true" />
+	</view>
+    
+    <simpleLabelButton labelid="642" width="100" x="$once{ parent.width-105 }" 
+           y="$once{ parent.height-24 }" 
+           onclick="this.parent.close();" />
+
+</class>
+
+<class name="labelerrorPopup" extends="errorPopup">
+
+    <attribute name="errorlabelid" type="number" setter="setErrorLabelId(errorlabelid)" />
+    <method name="setErrorLabelId" args="errorlabelid" >
+        this.errorlabelid = errorlabelid;
+        this.setAttribute("error",canvas.getLabelName(this.errorlabelid));
+        if ($debug) Debug.write("labelerrorPopup: ",canvas.getLabelName(this.errorlabelid));
+    </method>
+    
+
+</class>
+
+<class name="singletonErrorPopup" extends="errorPopup">
+	<handler name="oninit">
+		lz.singletonErrorPopupHolder.dialogPresent = 1;
+		lz.singletonErrorPopupHolder.dialogObject = this;
+	</handler>
+	
+	<handler name="ondestroy">
+		lz.singletonErrorPopupHolder.dialogPresent = 0;
+		lz.singletonErrorPopupHolder.dialogObject = null;
+	</handler>
+</class>
+
+<class name="singletonErrorPopupHolder">
+	<attribute name="error" type="string" setter="setError(error)"/>
+	<attribute name="dialogPresent" allocation="class" value="0" />
+	<attribute name="dialogObject" allocation="class" />
+	
+	<method name="setError" args="error">
+	
+		if ( lz.singletonErrorPopupHolder.dialogPresent == 0 )
+		{
+			lz.singletonErrorPopupHolder.dialogPresent = 1;
+			lz.singletonErrorPopupHolder.dialogObject = new lz.singletonErrorPopup(canvas,{error:error});
+		}
+		else
+		{
+			lz.singletonErrorPopupHolder.dialogObject.error = error;
+		}
+	</method>
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/popups/headerMenu.lzx b/WebContent/src/modules/conference/popups/headerMenu.lzx
new file mode 100644
index 0000000..c3d6932
--- /dev/null
+++ b/WebContent/src/modules/conference/popups/headerMenu.lzx
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="headerMenu" extends="view" layout="axis:x;spacing:4;inset:4" >
+	<text fontsize="11" fontstyle="bold" text="${ canvas.firstName+' '+canvas.lastName }" resize="true" />
+	
+	<labelText labelid="58" fontsize="11" fontstyle="bold" resize="true" />
+	<text fontsize="11" fontstyle="bold" text="${ canvas.currentcourseNameLong }" resize="true" />
+	
+	<labelText labelid="59" fontsize="11" fontstyle="bold" resize="true" />
+	<text fontsize="11" fontstyle="bold" text="${ canvas.currentlanguage }" resize="true" />
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/popups/incomingScreenSharing.lzx b/WebContent/src/modules/conference/popups/incomingScreenSharing.lzx
new file mode 100644
index 0000000..b3764d7
--- /dev/null
+++ b/WebContent/src/modules/conference/popups/incomingScreenSharing.lzx
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="incomingScreenSharing" extends="labelExplorerBox" labelid="643"
+        docking="true" resizeable="false" closable="true" width="260"
+        x="$once{ canvas.width - this.width - 10 }" y="10" height="160">
+    
+    <attribute name="messageObj" value="null" />
+    <attribute name="refObj" value="null" />
+    
+    <handler name="oninit">
+        var tString = canvas.getLabelName(644) + " " 
+                + messageObj.rcl.firstName + " " + messageObj.rcl.lastName;
+        this._text.setAttribute("text",tString);
+    </handler>
+    
+    <labelText name="_text" text="" x="10" y="22"
+            width="$once{ parent.width - 20 }" multiline="true" resize="false"/>
+    
+    <simpleLabelButton labelid="645" width="100" 
+                       x="$once{ parent.width - 105 }" y="$once{ parent.height - 26 }">
+        <handler name="onclick">
+            lz.Browser.loadURL(parent.generateFileLink(),'_BLANK');  
+        </handler>
+    </simpleLabelButton>
+    
+    <method name="generateFileLink">
+        <![CDATA[
+            return canvas.protocol+'://'+canvas.rtmphostlocal+':'+canvas.red5httpport+
+                    +canvas.httpRootKey+'RtpSharerServlet?publicSID='+this.messageObj.publicSID +
+                    '&room='+this.messageObj.room +
+                    '&room_id='+hib.currentroomid +
+                    '&sid='+canvas.sessionId;  
+        ]]>
+    </method>
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/popups/library.lzx b/WebContent/src/modules/conference/popups/library.lzx
new file mode 100644
index 0000000..1da3a8b
--- /dev/null
+++ b/WebContent/src/modules/conference/popups/library.lzx
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	<!-- 
+	FamFam Icon set
+	Creative Commons 3.0
+	 -->
+	<resource name="warning_icon_rsc" src="resources/error.png" />
+    
+    <include href="rpcerrorDialog.lzx" />
+    <include href="errorPopup.lzx" />
+    <include href="messageWin.lzx" />
+    <include href="headerMenu.lzx" />
+    <include href="confirmationBox.lzx" />
+    <include href="editWhiteboardDefault.lzx" />
+	<include href="confirmationSingle.lzx" />
+    <include href="autoLoader.lzx" />
+    <include href="converterPopup.lzx" />
+    <include href="errorModeratorPopup.lzx" />
+    <include href="syncWin.lzx" />
+    <include href="meetingTimer.lzx" />
+    <include href="incomingScreenSharing.lzx" />
+    <include href="redirectBox.lzx" />
+    <include href="chooseNickName.lzx" />
+    
+</library>
diff --git a/WebContent/src/modules/conference/popups/meetingTimer.lzx b/WebContent/src/modules/conference/popups/meetingTimer.lzx
new file mode 100644
index 0000000..bcfd4a2
--- /dev/null
+++ b/WebContent/src/modules/conference/popups/meetingTimer.lzx
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="meetingTimer" extends="labelExplorerBox" labelid="638"
+        docking="true" resizeable="false" closable="false" width="260"
+        x="$once{ canvas.width - this.width - 10 }" y="10" height="160">
+    
+    <attribute name="roomobj" value="null" />
+    <attribute name="refObj" value="null" />
+    
+    <attribute name="demoTime" value="0" type="number" />
+    
+    <handler name="oninit">
+        this.dText = canvas.getLabelName(639);
+        this.demoTime = this.roomobj.demoTime;
+        this.fadeText(null);
+    </handler>
+    
+    <method name="fadeText" args="item">
+        <![CDATA[
+            if (this.demoTime > 0) {
+                var min = Math.floor(this.demoTime/60);
+                var restSeconds = this.demoTime - (min * 60);
+                if (restSeconds < 10) {
+                    restSeconds = "0"+restSeconds;
+                }
+                var tString = this.dText + min + "min " + restSeconds + "sec";
+                
+                this._text._text.setAttribute("text",tString);
+                this.demoTime--;
+                lz.Timer.addTimer( new LzDelegate( this, "fadeText" ), 1000 );
+            } else {
+                if ($debug) Debug.write("DEMO IS OVER ");
+                canvas.doActionmenu('quit');
+            }
+        ]]>
+    </method>
+    
+    <!--
+    this.roomobj.demoTime
+     -->
+    
+    <view name="_text" x="2" width="$once{ parent.width -4 }" clip="true"
+        y="24" height="$once{ parent.height-25 }">
+        <labelText name="_text" text="" 
+            width="$once{ parent.width }" multiline="true" resize="false"/>
+    </view>
+
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/popups/messageWin.lzx b/WebContent/src/modules/conference/popups/messageWin.lzx
new file mode 100644
index 0000000..3cedb37
--- /dev/null
+++ b/WebContent/src/modules/conference/popups/messageWin.lzx
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="messageWin" extends="labelExplorerBox" labelid="18"
+    docking="true" resizeable="false" closable="true" 
+    width="400" x="100" height="240">
+    
+    <attribute name="labeliderror" value="0" type="number" />
+    
+    <view x="2" width="${ parent.width -4 }" clip="true"
+        y="24" height="$once{ parent.height-48 }">
+        <labelText labelid="$once{ parent.parent.labeliderror }" width="400"
+            y="22" multiline="true" resize="false"/>
+        <om_vscrollbar />
+    </view>
+	
+    <simpleLabelButton labelid="25" width="100" x="290" y="$once{ parent.height-22 }" 
+        onclick="this.parent.close();" />
+
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/popups/redirectBox.lzx b/WebContent/src/modules/conference/popups/redirectBox.lzx
new file mode 100644
index 0000000..bb7eaf5
--- /dev/null
+++ b/WebContent/src/modules/conference/popups/redirectBox.lzx
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="redirectBox" extends="labelExplorerBox" labelid="50"
+	   valign="middle" align="center"
+	   docking="true" resizeable="false" closable="false" width="260" height="140">
+    
+    <attribute name="timerDel" value="null" />
+    <attribute name="maxTime" value="5000" type="number" />
+    
+    <attribute name="redirectURL" value="" type="string" />
+    
+	<handler name="oninit">
+		lz.ModeManager.makeModal(this);
+		this.timerDel = new LzDelegate( this, "timeLineAction" );
+		this.timeLineAction();
+	</handler>
+
+	<handler name="onclose">
+		lz.ModeManager.release(this);
+	</handler>	
+		
+    <method name="timeLineAction">
+    	<![CDATA[
+    	
+    		var tString = canvas.getLabelName(1098);
+    		tString += " " + Math.round(this.maxTime/1000) + " sek";
+    		
+    	
+	    	this.messageText.setAttribute("text",tString);
+	    	
+	    	this.maxTime -= 1000;
+	    	
+	    	if (this.maxTime >= 0) {
+	    		
+	    		lz.Timer.addTimer( this.timerDel, 1000 );
+	    		
+	    	} else {
+	    		
+	            if ($debug) Debug.write("this.redirectURL ",this.redirectURL);
+	            redirectToUrl(this.redirectURL, null);
+	    	}
+    	]]>
+    </method>
+    
+    <attribute name="refObj" value="null" />
+    
+
+	<view x="4" resource="warning_icon_rsc" y="24" />
+
+    <labelText name="messageText" text="" y="24" 
+    		   width="$once{ parent.width - 40 }"
+    	multiline="true" resize="false" x="30" />
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/popups/resources/error.png b/WebContent/src/modules/conference/popups/resources/error.png
new file mode 100644
index 0000000..628cf2d
--- /dev/null
+++ b/WebContent/src/modules/conference/popups/resources/error.png
Binary files differ
diff --git a/WebContent/src/modules/conference/popups/rpcerrorDialog.lzx b/WebContent/src/modules/conference/popups/rpcerrorDialog.lzx
new file mode 100644
index 0000000..0ca12be
--- /dev/null
+++ b/WebContent/src/modules/conference/popups/rpcerrorDialog.lzx
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="baseErrorDialog" extends="labelExplorerBox" labelid="204"
+    docking="true" resizeable="false" closable="true" width="300" 
+	x="$once{ canvas.width/2-this.width/2 }" height="130">
+	
+	<handler name="oninit">
+        this.bringToFront();
+        lz.Focus.setFocus(this);
+        if (errorid != 0) {
+			this.getErrorByCode.doCall();
+		}
+    </handler>
+	
+    <attribute name="errortext" value="" type="string" />
+    <attribute name="addInfo" value="" type="string" />
+	<attribute name="errorid" value="0" type="number" />
+
+	<netRemoteCallHib name="getErrorByCode" funcname="errorservice.getErrorByCode" remotecontext="$once{ canvas.thishib }" >      
+		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+		<netparam><method name="getValue"> return parent.parent.errorid; </method></netparam>
+        <netparam><method name="getValue"> return canvas.thishib.userlang; </method></netparam>
+		<handler name="ondata" args="value">
+			<![CDATA[
+    			if ($debug) Debug.write("getErrorByCode ",value);
+    			//this.parent.destroy();
+    			this.parent.setAttribute('errortext',value.errmessage+" <br/><br/>"+parent.addInfo);
+    			this.parent.setAttribute('title',value.errortype);
+			]]>
+		</handler>
+	</netRemoteCallHib>		
+
+	<view x="4" resource="warning_icon_rsc" y="24" />
+
+	<view y="24" width="$once{ parent.width - 40 }" height="130" x="30" clip="true">
+		<text fontsize="10" fontstyle="bold" text="${ parent.parent.errortext }"
+			multiline="true" width="$once{ parent.width - 16 }" selectable="true" />
+	</view>
+	
+</class>
+	
+<class name="errorDialog" extends="baseErrorDialog">
+
+	<handler name="oninit">
+		lz.ModeManager.makeModal(this);
+	</handler>
+    <handler name="onclose">
+        lz.ModeManager.release(this);
+    </handler>
+	
+</class>
+	
+<class name="contentSaveWindow" extends="baseErrorDialog">
+	
+    <attribute name="saveObj" value="null" />
+    <attribute name="refObj" value="null" />
+    <attribute name="processNextIndex" value="0" type="number" />
+	<attribute name="errorid" value="0" type="number" />
+    
+    <handler name="oninit">
+        lz.ModeManager.makeModal(this);
+        if ($debug) Debug.write("contentsavewindow: ",errorid);
+        this.startSave();
+    </handler>
+    
+    <handler name="onclose">
+        lz.ModeManager.release(this);
+    </handler>
+    
+    <method name="startSave">
+    	<![CDATA[
+    	for (var i=0;i<this.saveObj.length;i++){
+    		this.saveObj[i].prepareCall();
+    	}
+    	this.processNext();
+    	]]>
+    </method>
+	
+	<method name="errorByCode" args="eCode">
+		this.errorid = eCode;
+		this.getErrorByCode.doCall();
+	</method>
+    
+    <method name="processNext">
+    	<![CDATA[
+    	//Debug.write("processNext: ",this.saveObj.length,this.processNextIndex);
+    	if (this.saveObj.length>this.processNextIndex){
+    		this.saveObj[this.processNextIndex].returnObj=this;
+    		this.saveObj[this.processNextIndex].doCall();
+    		this.processNextIndex++;
+    	} else {
+    		//Debug.write("update process complete");
+    		this.refObj.onsavecompleted.sendEvent();
+    		this.close();
+    	}
+    	]]>
+    </method>
+	
+	<method name="doCallBack">
+		this.close();
+	</method>
+	
+    <simpleLabelButton name="_btn" labelid="333" width="100" x="$once{ parent.width-104 }" 
+		y="$once{ parent.height-24 }" onclick="parent.doCallBack();" /> 
+	
+</class>
+	
+<class name="rpcErrorDialog" extends="errorDialog" height="250">
+	
+	<method name="doCallBack">
+		this.close();
+	</method>
+	
+	<handler name="onclose">
+		if ( canvas.focusOnItem != null )
+		{
+			lz.Focus.setFocus( canvas.focusOnItem, true );
+		}
+	</handler>
+	
+    <simpleLabelButton name="_btn" labelid="333" width="120" x="$once{ parent.width-124 }" 
+		y="$once{ parent.height-24 }" onclick="parent.doCallBack();" /> 
+	
+</class>
+	
+<class name="callbackRpcErrorDialog" extends="errorDialog"
+	closable="false"  height="250">
+	
+	<attribute name="callBackObject" value="null" />
+	
+	<method name="doCallBack">
+		this.callBackObject.sendCallBack.sendEvent();
+		this.close();
+	</method>
+	
+	<handler name="onclose">
+		if ( canvas.focusOnItem != null )
+		{
+			lz.Focus.setFocus( canvas.focusOnItem, true );
+		}
+	</handler>
+	
+    <simpleLabelButton name="_btn" labelid="333" width="120" x="$once{ parent.width-124 }" 
+		y="$once{ parent.height-24 }" onclick="parent.doCallBack();" /> 
+	
+</class>
+   
+
+</library>
diff --git a/WebContent/src/modules/conference/popups/syncWin.lzx b/WebContent/src/modules/conference/popups/syncWin.lzx
new file mode 100644
index 0000000..dd1b387
--- /dev/null
+++ b/WebContent/src/modules/conference/popups/syncWin.lzx
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="syncWin" extends="labelText" multiline="true" resize="false" 
+       width="260" align="right" y="${ parent.height - this.height - 10 }" 
+       bgcolor="0xFFFFFF" fgcolor="0xFF3300">
+    
+    <attribute name="refObj" value="null" />
+    
+    <attribute name="labeliderror" value="0" type="number" />
+    
+    <handler name="oninit">
+        this.setAttribute('text',canvas.getLabelName(this.labeliderror));
+    </handler>    
+    
+    <method name="close">
+    	this.destroy();
+    </method>
+    
+    <handler name="onclick">
+        this.destroy();
+    </handler>
+    
+    <method name="setMessage" args="mess">
+        this.setAttribute('text',mess);
+    </method>
+    
+</class>
+	
+<!--
+<class name="syncWin" extends="labelExplorerBox" labelid="558"
+        docking="true" resizeable="false" closable="true" width="250"
+        x="$once{ canvas.width/2 - this.width/2 }" height="140">
+    
+	<handler name="oninit">
+		lz.ModeManager.makeModal(this);
+	</handler>
+    
+    <handler name="onclose">
+    	lz.ModeManager.release(this);
+    	canvas.syncWindow = null;
+    </handler>
+    
+    <attribute name="labeliderror" value="0" type="number" />
+    
+    <view x="2" width="$once{ parent.width -4 }" clip="true"
+        y="24" height="$once{ parent.height-25 }">
+        <labelText labelid="$once{ parent.parent.labeliderror }" 
+            width="$once{ parent.width }" multiline="true" resize="false"/>
+    </view>
+
+</class>
+ -->
+
+</library>
diff --git a/WebContent/src/modules/conference/resources/arrow_refresh_small.png b/WebContent/src/modules/conference/resources/arrow_refresh_small.png
new file mode 100644
index 0000000..d3087df
--- /dev/null
+++ b/WebContent/src/modules/conference/resources/arrow_refresh_small.png
Binary files differ
diff --git a/WebContent/src/modules/conference/resources/speaking.png b/WebContent/src/modules/conference/resources/speaking.png
new file mode 100644
index 0000000..2ca21a7
--- /dev/null
+++ b/WebContent/src/modules/conference/resources/speaking.png
Binary files differ
diff --git a/WebContent/src/modules/conference/resources/webstart_play.png b/WebContent/src/modules/conference/resources/webstart_play.png
new file mode 100644
index 0000000..6d13683
--- /dev/null
+++ b/WebContent/src/modules/conference/resources/webstart_play.png
Binary files differ
diff --git a/WebContent/src/modules/conference/restricted/library.lzx b/WebContent/src/modules/conference/restricted/library.lzx
new file mode 100644
index 0000000..598e945
--- /dev/null
+++ b/WebContent/src/modules/conference/restricted/library.lzx
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+    <include href="restrictedUserList.lzx" />
+    <include href="restrictedUserListItem.lzx" />
+    <include href="restrictedUserListInner.lzx" />
+    <include href="moderationMiniIconRestricted.lzx" />
+    
+</library>
diff --git a/WebContent/src/modules/conference/restricted/moderationMiniIconRestricted.lzx b/WebContent/src/modules/conference/restricted/moderationMiniIconRestricted.lzx
new file mode 100644
index 0000000..5d7f283
--- /dev/null
+++ b/WebContent/src/modules/conference/restricted/moderationMiniIconRestricted.lzx
@@ -0,0 +1,384 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="moderationMiniIconRestricted" extends="view" y="20" x="2" height="18">
+	
+	<attribute name="isMod" value="false" type="boolean"/>
+    <attribute name="isSuperModerator" value="false" type="boolean"/>
+	
+	<handler name="oninit">
+		this.isMod = parent.parent.isMod;
+		this.isSuperModerator = parent.parent.isSuperModerator;
+		
+		if ($debug) Debug.write(" :: moderationMiniIconRestricted :. ",this.isMod);
+		
+		if (this.isMod) {
+			this._isMod.setAttribute("visibility","visible");
+			this._isModAddbutton.setAttribute("visibility","hidden");
+		} else {
+			this._isMod.setAttribute("visibility","hidden");
+            this._isModAddbutton.setAttribute("visibility","visible");
+		}
+		
+		if (this.isMod) {
+			this._canDraw.setAttribute("visibility","visible");
+            this._canDraw.isActive = false;
+            this._canDraw.setAttribute("showhandcursor",false);
+            this._canDraw._text.setAttribute("text",canvas.getLabelName(681));
+            this._canDrawModerator.setAttribute("visibility","hidden");
+		} else {
+			if (parent.parent.refObj.canDraw) {
+                this._canDraw.setAttribute("visibility","visible");
+                this._canDraw.isActive = true;
+                this._canDraw.setAttribute("showhandcursor",true);
+                this._canDraw._text.setAttribute("text",canvas.getLabelName(612));
+                this._canDrawModerator.setAttribute("visibility","hidden");
+            } else {
+                this._canDraw.setAttribute("visibility","hidden");
+                this._canDrawModerator.setAttribute("visibility","visible");
+            }
+		}
+		
+		if (this.isMod) {
+			this._allowScreen.setAttribute("visibility","visible");
+            this._allowScreen.isActive = false;
+            this._allowScreen.setAttribute("showhandcursor",false);
+            this._allowScreen._text.setAttribute("text",canvas.getLabelName(1069));
+            
+            this._allowRemote.setAttribute("visibility","visible");
+            this._allowRemote.isActive = false;
+            this._allowRemote.setAttribute("showhandcursor",false);
+            this._allowRemote._text.setAttribute("text",canvas.getLabelName(1083));
+
+            this._allowExclusiveAudio.setAttribute("visibility","visible");
+            this._allowExclusiveAudio.isActive = false;
+            this._allowExclusiveAudio.setAttribute("showhandcursor",false);
+            this._allowExclusiveAudio._text.setAttribute("text",canvas.getLabelName(1083));
+            
+            this._denyScreen.setAttribute("visibility","hidden");
+            this._denyRemote.setAttribute("visibility","hidden");
+            this._denyExclusiveAudio.setAttribute("visibility","hidden");
+		} else {
+			
+			if ($debug) Debug.write("parent.parent.refObj.canShare :: ",parent.parent.refObj.canShare);
+		
+			if (parent.parent.refObj.canShare) {
+    			this._allowScreen.setAttribute("visibility","visible");
+                this._allowScreen.isActive = true;
+                this._allowScreen.setAttribute("showhandcursor",true);
+                this._allowScreen._text.setAttribute("text",canvas.getLabelName(1068));
+                this._denyScreen.setAttribute("visibility","hidden");
+			} else {
+				this._allowScreen.setAttribute("visibility","hidden");
+				this._denyScreen.setAttribute("visibility","visible");
+			}
+			
+			if (parent.parent.refObj.canRemote) {
+    			this._allowRemote.setAttribute("visibility","visible");
+                this._allowRemote.isActive = true;
+                this._allowRemote.setAttribute("showhandcursor",true);
+                this._allowRemote._text.setAttribute("text",canvas.getLabelName(1079));
+                this._denyRemote.setAttribute("visibility","hidden");
+			} else {
+				this._allowRemote.setAttribute("visibility","hidden");
+				this._denyRemote.setAttribute("visibility","visible");
+			}
+
+            if (parent.parent.refObj.canGiveAudio) {
+    			this._allowExclusiveAudio.setAttribute("visibility","visible");
+                this._allowExclusiveAudio.isActive = true;
+                this._allowExclusiveAudio.setAttribute("showhandcursor",true);
+                this._allowExclusiveAudio._text.setAttribute("text",canvas.getLabelName(1425));
+                this._denyExclusiveAudio.setAttribute("visibility","hidden");
+            } else {
+				this._allowExclusiveAudio.setAttribute("visibility","hidden");
+				this._denyExclusiveAudio.setAttribute("visibility","visible");
+            }
+		}
+		
+		if (parent.parent.refObj.isBroadcasting) {
+			this._allowDevice.setAttribute("visibility","hidden");
+			this._denyDevice.setAttribute("visibility","visible");
+		} else {
+			this._allowDevice.setAttribute("visibility","visible");
+            this._denyDevice.setAttribute("visibility","hidden");
+		}
+		
+		if ($debug) Debug.write("Set micMuted ",parent.parent.refObj.micMuted);
+		
+		if (parent.parent.refObj.micMuted) {
+			this._muteDevice.setAttribute("visibility","hidden");
+            this._unMuteDevice.setAttribute("visibility","visible");
+		} else {
+			this._muteDevice.setAttribute("visibility","visible");
+            this._unMuteDevice.setAttribute("visibility","hidden");
+		}
+		
+	</handler>
+        
+    <miniIcons name="_isMod" x="0" width="16" showhandcursor="true"
+    		   resource="participants_isMod_rsc" height="16">
+        <handler name="onclick">
+            <![CDATA[
+            
+                if (parent.isSuperModerator) {
+                    new lz.labelerrorPopup(canvas.main_content._content.inner,{errorlabelid:838});
+                    return;
+                }
+            
+                //if the label is set and this is a Moderator then this user should
+                //allow the click event => the click event will trigger
+                //this user away from beeing able to draw on the whiteboard
+                if (canvas.ismoderator) {
+                    //Do it 
+                    if ($debug) Debug.write("Do Remove It");
+                    if (parent.parent.parent.refObj.publicSID != canvas.publicSID) {
+                        hib.removeModerator.publicSIDOfNewModerator = parent.parent.parent.refObj.publicSID;
+                        hib.removeModerator.doCall();
+                    } else {
+                    	new lz.labelerrorPopup(canvas,{errorlabelid:682});
+                    }
+                }
+            ]]>
+        </handler>
+        <labelTooltip name="_text" labelid="675" />
+    </miniIcons>
+    
+    <miniIcons name="_isModAddbutton" opacity="0.5" x="0" showhandcursor="true"
+    		   width="16" resource="participants_isMod_rsc" height="16">
+        <handler name="onclick">
+            <![CDATA[
+                //if the label is set and this is a Moderator then this user should
+                //allow the click event => the click event will trigger
+                //this user away from beeing able to draw on the whiteboard
+                if (canvas.ismoderator) {
+                    //Do it 
+                    if ($debug) Debug.write("Do Add It");
+                    hib.addModerator.publicSIDOfNewModerator = parent.parent.parent.refObj.publicSID;
+                    hib.addModerator.doCall();
+                }
+            ]]>
+        </handler>
+        <labelTooltip name="_text" labelid="676" />
+    </miniIcons>
+        
+    <miniIcons name="_canDraw" x="20" width="16" resource="participants_allow_drawing_rsc"
+               height="16" showhandcursor="false" >
+    	<attribute name="isActive" value="true" type="boolean" />
+        <handler name="onclick">
+            <![CDATA[
+                //if the label is set and this is a Moderator then this user should
+                //allow the click event => the click event will trigger
+                //this user away from beeing able to draw on the whiteboard
+                if (canvas.ismoderator && this.isActive) {
+                    //Do it 
+                    if ($debug) Debug.write("Do add draw to it");
+                    canvas.thishib.setCanDraw.publicSID = parent.parent.parent.refObj.publicSID;
+                    canvas.thishib.setCanDraw.canDraw = false;
+                    canvas.thishib.setCanDraw.doCall();
+                }
+            ]]>
+        </handler>
+        <labelTooltip name="_text" labelid="612" />
+    </miniIcons>
+    
+    <miniIcons name="_canDrawModerator" x="20" width="16" opacity="0.5"
+               resource="participants_allow_drawing_rsc" height="16" showhandcursor="true">
+        <handler name="onclick">
+            //Do it 
+            if (canvas.ismoderator) {
+                if ($debug) Debug.write("Do it");
+                canvas.thishib.setCanDraw.publicSID = parent.parent.parent.refObj.publicSID;
+                canvas.thishib.setCanDraw.canDraw = true;
+                canvas.thishib.setCanDraw.doCall();
+            }
+        </handler>
+        <labelTooltip labelid="611" />
+    </miniIcons>
+    
+    <miniIcons name="_allowScreen" x="40" width="16" height="16" 
+               resource="screen_allow_rsc" showhandcursor="true">
+    	<attribute name="isActive" value="true" type="boolean" />
+        <handler name="onclick">
+        	<![CDATA[
+                if ($debug) Debug.write("Deny Screen: ",parent.parent.parent.refObj.publicSID);
+                if (canvas.ismoderator && this.isActive) {
+                	canvas.thishib.setCanShare.publicSID = parent.parent.parent.refObj.publicSID;
+                    canvas.thishib.setCanShare.canShare = false;
+                    canvas.thishib.setCanShare.doCall();
+                }
+            ]]>
+        </handler>
+        <labelTooltip name="_text" labelid="1068" />
+    </miniIcons>
+    
+    <miniIcons name="_denyScreen" x="40" width="16" height="16"  opacity="0.5"
+               resource="screen_allow_rsc" showhandcursor="true">
+        <handler name="onclick">
+            if ($debug) Debug.write("Allow Screen: ",parent.parent.parent.refObj.publicSID);
+            if (canvas.ismoderator) {
+                canvas.thishib.setCanShare.publicSID = parent.parent.parent.refObj.publicSID;
+                canvas.thishib.setCanShare.canShare = true;
+                canvas.thishib.setCanShare.doCall();
+            }
+        </handler>
+        <labelTooltip labelid="1067" />
+    </miniIcons>  
+    
+     <miniIcons name="_allowRemote" x="60" width="16" height="16" 
+               resource="remote_allow_rsc" showhandcursor="true">
+    	<attribute name="isActive" value="true" type="boolean" />
+        <handler name="onclick">
+        	<![CDATA[
+                if ($debug) Debug.write("Deny Screen: ",parent.parent.parent.refObj.publicSID);
+                if (canvas.ismoderator && this.isActive) {
+                	canvas.thishib.setCanRemote.publicSID = parent.parent.parent.refObj.publicSID;
+                    canvas.thishib.setCanRemote.canRemote = false;
+                    canvas.thishib.setCanRemote.doCall();
+                }
+            ]]>
+        </handler>
+        <labelTooltip name="_text" labelid="1079" />
+    </miniIcons>
+    
+    <miniIcons name="_denyRemote" x="60" width="16" height="16"  opacity="0.5"
+               resource="remote_allow_rsc" showhandcursor="true">
+        <handler name="onclick">
+            if ($debug) Debug.write("Allow Screen: ",parent.parent.parent.refObj.publicSID);
+            if (canvas.ismoderator) {
+                canvas.thishib.setCanRemote.publicSID = parent.parent.parent.refObj.publicSID;
+                canvas.thishib.setCanRemote.canRemote = true;
+                canvas.thishib.setCanRemote.doCall();
+            }
+        </handler>
+        <labelTooltip labelid="1078" />
+    </miniIcons>        
+    
+    <miniIcons name="_allowDevice" x="80" width="40" height="16" 
+    		   resource="av_allow_rsc" showhandcursor="true">
+        <handler name="onclick">
+            if ($debug) Debug.write("ALLOW: ",parent.parent.parent.refObj.publicSID);
+            canvas.thishib.setBroadCastingFlag.publicSIDOfNewModerator = parent.parent.parent.refObj.publicSID;
+            canvas.thishib.setBroadCastingFlag.isAllowedToBroadCastAV = true;
+            canvas.thishib.setBroadCastingFlag.doCall(); 
+        </handler>
+        <labelTooltip labelid="683" />
+    </miniIcons>
+    
+    <miniIcons name="_denyDevice" x="80" width="40" height="16" resource="av_deny_rsc" 
+   				opacity="0.5" showhandcursor="true">
+        <handler name="onclick">
+            if ($debug) Debug.write("ALLOW: ",parent.parent.parent.refObj.publicSID);
+            canvas.thishib.setBroadCastingFlag.publicSIDOfNewModerator = parent.parent.parent.refObj.publicSID;
+            canvas.thishib.setBroadCastingFlag.isAllowedToBroadCastAV = false;
+            canvas.thishib.setBroadCastingFlag.doCall(); 
+        </handler>
+        <labelTooltip labelid="684" />
+    </miniIcons>
+    
+    <miniIcons name="_muteDevice" x="120" width="16" height="16" resource="mute_btn_rsc" 
+    				opacity="0.5" showhandcursor="true">
+        <handler name="onclick">
+            if ($debug) Debug.write("mute: ",parent.parent.parent.refObj.publicSID);
+            canvas._videocontainer._videoviewcontent.muteSound(parent.parent.parent.refObj.publicSID, true);
+        </handler>
+        <labelTooltip labelid="1384" />
+    </miniIcons>
+    
+    <miniIcons name="_unMuteDevice" x="120" width="16" height="16" resource="unmute_btn_rsc" 
+    		   showhandcursor="true" visibility="hidden">
+        <handler name="onclick">
+            if ($debug) Debug.write("unmute: ",parent.parent.parent.refObj.publicSID);
+            canvas._videocontainer._videoviewcontent.muteSound(parent.parent.parent.refObj.publicSID, false);
+        </handler>
+        <labelTooltip labelid="1385" />
+    </miniIcons>
+
+    <miniIcons name="_allowExclusiveAudio" x="136" width="16" height="16"
+               resource="participants_exclusive_audio_rsc" showhandcursor="true">
+    	<attribute name="isActive" value="true" type="boolean" />
+        <handler name="onclick">
+        	<![CDATA[
+                if ($debug) Debug.write("Deny Give Exclusive Audio: ",parent.parent.parent.refObj.publicSID);
+                if (canvas.ismoderator && this.isActive) {
+                    canvas.thishib.setCanGiveAudio.sendValue(parent.parent.parent.refObj.publicSID,false);
+                }
+            ]]>
+        </handler>
+        <labelTooltip name="_text" labelid="1425" />
+    </miniIcons>
+
+    <miniIcons name="_denyExclusiveAudio" x="136" width="16" height="16" opacity="0.5"
+               resource="participants_exclusive_audio_rsc" showhandcursor="true">
+        <handler name="onclick">
+            if ($debug) Debug.write("Allow Give Exclusive Audio: ",parent.parent.parent.refObj.publicSID);
+            if (canvas.ismoderator) {
+                canvas.thishib.setCanGiveAudio.sendValue(parent.parent.parent.refObj.publicSID,true);
+            }
+        </handler>
+        <labelTooltip labelid="1424" />
+    </miniIcons>
+    
+	<miniIcons name="_kickUser" x="154" width="16" height="16"
+               resource="kick_user_rsc" showhandcursor="true">
+        <handler name="onclick">
+        	
+        	if (parent.parent.parent.refObj.publicSID == canvas.publicSID) {
+				new lz.labelerrorPopup(canvas.main_content._content.inner,{
+             				errorlabelid:1214
+        				});
+				return;
+			}
+        	
+        	if (parent.isSuperModerator) {
+                new lz.labelerrorPopup(canvas.main_content._content.inner,{errorlabelid:1217});
+                return;
+            }
+        	
+            if ($debug) Debug.write("USER Kick: ",parent.parent.parent.refObj.publicSID);
+            new lz.confirmationSingle(canvas.main_content._content.inner,{
+                                           labelid:1216,labeliderror:1215,
+                                           refObj:this,showCheckBox:false});
+            
+        </handler>
+        
+        <method name="sendConfirmation" args="yesno" >
+            this.kickUserByPublicSID.publicSID = parent.parent.parent.refObj.publicSID;
+            this.kickUserByPublicSID.doCall();
+        </method>
+        
+        <netRemoteCallHib name="kickUserByPublicSID" funcname="userservice.kickUserByPublicSID" 
+                          remotecontext="$once{ canvas.thishib }" >    
+            <attribute name="publicSID" value="" type="string" />  
+            <netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+            <netparam><method name="getValue"> return parent.publicSID; </method></netparam>
+            <handler name="ondata" args="value">
+                if ($debug) Debug.write("kickUserByPublicSID: ",value);
+            </handler>
+        </netRemoteCallHib> 
+        
+        <labelTooltip labelid="1213" />
+    </miniIcons>              
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/restricted/restrictedUserList.lzx b/WebContent/src/modules/conference/restricted/restrictedUserList.lzx
new file mode 100644
index 0000000..3f44076
--- /dev/null
+++ b/WebContent/src/modules/conference/restricted/restrictedUserList.lzx
@@ -0,0 +1,321 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+          
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+ 
+<class name="restrictedUserList" extends="view" width="$once{ parent.width }" 
+       height="${ parent.height-34 }">
+
+    <!--- holds a references to the videoview which is broadcasting -->
+    <attribute name="broadCastViewRef" value="null" />
+    
+    <!--- colors for each user -->
+    <attribute name="colorArray" value="null" />
+    
+    <attribute name="allowUserQuestions" value="true" type="boolean" />
+
+    <attribute name="showsVideoInSeparateComponent" value="true" type="boolean" />
+    
+    <handler name="onallowUserQuestions" args="bool">
+        if (bool != null) {
+            if (!bool) {
+                this._participents._applyAndStatusIcons.destroy();
+            }
+        }
+    </handler>
+    
+    <handler name="oninit">
+        //set modus
+        canvas.thishib.modus = "audience";
+        
+        //set reference, this reference will be cleared at *ontabcontenctleave* event
+        canvas._videocontainer=this;
+        
+        // Reconnect User to its Room Id
+        canvas.thishib.userScope = canvas.thishib.currentroomid;
+        var src = hib.getUrl();
+        
+        if( $debug ) Debug.write("videoContainer: canvas.thishib: ",canvas.thishib.src,canvas.thishib);
+        
+        if (canvas.thishib.src != src) {
+            canvas.thishib.setAttribute('src',src);
+            
+            canvas.thishib.reconnectionAction = true;
+            canvas.thishib.reconnectObjRef = this;
+            canvas.thishib.disconnect();
+        } else {
+            //The user is already in the correct Scope
+            this.reconnectSuccess();
+        }
+    </handler>
+
+    <commonVideoComponentAdapter name="_videoviewcontent"/>
+
+    <method name="reconnectSuccess">
+        if ($debug) Debug.write("User Reloged In");
+        //Send to SWF10 video-container to connect on the conference room url
+        //and wait for the as3ConnectionSuccess-Event
+        this._videoviewcontent.reconnectSuccess(false);
+    </method>
+
+    <!---
+        We need to wait till the video-container / as3 app has the connection established
+        otherwise it can happen that the video tries to start playing before the rtmp-connection
+        was established
+     -->
+    <method name="as3ConnectionSuccess">
+    	if ($debug) Debug.write("as3ConnectionSuccess continue loading");
+    	//set default values and get already availible streams
+    	//it can happen that if you click to exit the room the views are not
+    	//not cleaned up yet and you receive this event from the LocalConnection
+    	if (this["getRoomModeratorsByRoomId"]) {
+            this.getRoomModeratorsByRoomId.doCall();
+    	}
+    </method>
+
+    <netRemoteCallHib name="getRoomModeratorsByRoomId" funcname="conferenceservice.getRoomModeratorsByRoomId"
+                      remotecontext="$once{ canvas.thishib }" >  
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>    
+        <netparam><method name="getValue">return hib.currentroomid;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                if ($debug) Debug.write("getRoomModeratorsByRoomId: ",value);
+                canvas.becomeSuperModerator = false;
+                
+                parent.setRoomValues.applyDefaultModeration = canvas.becomemoderator;
+                canvas.becomeSuperModerator = canvas.becomemoderator;
+                
+                if (!canvas.becomeSuperModerator) {
+                    for (var i=0;i<value.length;i++) {
+                        
+                        if (value[i].user.user_id == canvas.user_id) {
+                            parent.setRoomValues.applyDefaultModeration = true;
+                            canvas.becomeSuperModerator = value[i].isSuperModerator;
+                            if ($debug) Debug.info("Make this User to an Moderator");
+                            break;
+                        }
+                        
+                    }
+                }
+                
+                if ($debug) Debug.write("canvas.becomemoderator: ",canvas.becomemoderator);
+                if ($debug) Debug.write("canvas.becomeSuperModerator: ",canvas.becomeSuperModerator);
+                
+                canvas.currentusercolor = canvas.getColorForUser();
+                
+                var organisation_id = 1;
+            
+                if ($debug) Debug.write(hib.userobject); 
+                if ($debug) Debug.write(hib.currentdomainObj); 
+                
+                if (hib.currentdomainObj != null) {
+                    organisation_id = hib.currentdomainObj.organisation_id
+                }
+                
+                this.parent.setRoomValues.organisation_id = organisation_id;
+                this.parent.setRoomValues.doCall();
+            
+            ]]>
+        </handler>
+    </netRemoteCallHib>     
+
+    <netRemoteCallHib name="setRoomValues" funcname="setRoomValues" remotecontext="$once{ canvas.thishib }" >   
+        <attribute name="applyDefaultModeration" value="false" type="boolean" />
+        <attribute name="organisation_id" value="0" type="number" />
+        <netparam><method name="getValue">return hib.currentroomid;</method></netparam>
+        <netparam><method name="getValue">return parent.applyDefaultModeration;</method></netparam>
+        <netparam><method name="getValue">return canvas.becomeSuperModerator;</method></netparam>
+        <netparam><method name="getValue">return parent.organisation_id;</method></netparam>
+        <netparam><method name="getValue">return canvas.currentusercolor;</method></netparam>
+        <handler name="ondata" args="roomStatus">
+            <![CDATA[
+            //The onResult-Handler will be called be the rtmpconnection
+            //if ($debug) Debug.write("setRoomValues1: ",value);
+            //if ($debug) Debug.write("setRoomValues2: ",hib.currentroomid);
+            
+            //if ($debug) Debug.write("+++++++++++++++++ getClientListScope : ",value);
+            
+            if (roomStatus.roomFull) {
+                canvas.thishib.showFullMessage = true;
+                canvas.thishib.disconnect();
+            }
+            
+            if (roomStatus.browserStatus.browserInited) {
+                var tObj = new Object();
+                tObj[0] = "newBrowserURL";
+                tObj[1] = roomStatus.browserStatus.currentURL;
+                canvas.startBrowser(tObj);
+            }
+            
+            var value = roomStatus.clientMap;
+            
+            for (var i in value){
+                if ( value[i].streamid == canvas.streamid ) {
+                    value[i].selfItem = true;
+                    canvas.isAllowedToDraw = value[i].canDraw;
+                } else {
+                    value[i].selfItem = false;
+                }
+
+                //value[i].lastname = value[i].lastname + "T: " + t;
+                
+                //if ($debug) Debug.write("getClientListScope value: ",value[i]);
+                this.parent.addItemInitial(value[i].connectedSince,value[i].isMod,value[i].streamid,value[i].username,
+                              '',value[i].formatedDate,value[i].userpos,value[i].usercolor,value[i]);
+            }
+            
+            //this content must be inited _after_ setting the default values
+            canvas.thishib.getCurrentModeratorList.doCall(); 
+            //FIXME Issue-1076
+            canvas.thishib.checkLzRecording.doCall();
+            
+            //Render and Show User-List
+            parent._participents.sortAndRenderList();
+            
+            canvas._chatcontent.doInit();   
+            ]]>
+        </handler>  
+    </netRemoteCallHib>
+
+    <!-- invoked if another client logs into the room 
+    after choosing devices -->     
+    <method name="setAVSettingsToClient" args="rcl">
+        this._videoviewcontent.setAVSettingsToClient(rcl);
+    </method> 
+
+    <method name="addItemInitial" args="connectedSince,isMod,streamid,username,userroom,formatedDate,position,color,object">
+        <![CDATA[
+            //if ($debug) Debug.write("initializeStreams addItem: ",connectedSince,isMod,streamid,username,formatedDate);
+            
+            //Do init only in case this stream is NOT the same as we are
+            if (streamid!=canvas.streamid){
+                
+                //do add others
+                this._participents.initialAddItem(object);
+                
+                //if ($debug) Debug.write("???????? object.isBroadcasting :: ",object.isBroadcasting);
+                
+                if (object.isBroadcasting) {
+                    this._videoviewcontent.createVideo(object.publicSID, object.firstname+' '+object.lastname, object.broadCastID, object.avsettings, -1, object);
+                } else {
+                    this._videoviewcontent.createVideoObject(object.publicSID, false, -1, object);
+                }
+                
+            } else {
+                //do add self too
+                this._participents.initialAddItem(object);
+            }
+           
+        ]]>
+    </method>
+
+    <method name="receiveExclusiveAudioFlag" args="publicSID">
+    <![CDATA[
+        var vList = this._participents._table.renderList;
+        for (var i=0;i<vList.length;i++) {
+            var item = vList[i];
+            var rcl = new Object();
+
+            rcl.publicSID = item.publicSID;
+            rcl.micMuted = !(publicSID == item.publicSID);
+            canvas.setMuteStatus(rcl);
+        }
+    ]]>
+    </method>
+
+
+    <method name="addItem" args="connectedSince,isMod,streamid,username,userroom,formatedDate,position,color,object">
+        <![CDATA[
+            if ($debug) Debug.write("initializeStreams addItem: ",connectedSince,isMod,streamid,username,formatedDate);
+            
+            //Do init only in case this stream is NOT the same as we are
+            if (streamid!=canvas.streamid){
+                //if ($debug) Debug.write("???????? object.isBroadcasting :: ",object.isBroadcasting);
+
+                this._videoviewcontent.createVideo(object.publicSID, object.firstname+' '+object.lastname, object.broadCastID, object.avsettings, -1, object);
+
+                //do add others
+                this._participents.addItem(object);
+
+                //return myvideocontainer;
+            } else {
+                //do add self too
+                this._participents.addItem(object);
+            }
+           
+        ]]>
+    </method>
+    
+    <method name="addClientItem" args="connectedSince,isMod,streamid,username,room_id,formatedDate,position,color,object">
+        <![CDATA[
+        if ($debug) Debug.write("### initializeStreams addClientItem: ",connectedSince,isMod,streamid,username,room_id,formatedDate);
+
+        if (canvas.publicSID != object.publicSID){
+            this._videoviewcontent.createVideoObject(object.publicSID, false, -1, object);
+        }
+
+        //Do Add it anyway
+        this._participents.addItem(object);
+        ]]>
+    </method>
+        
+    <!--
+        invoked whenever a User starts to Stream Video in this Room, 
+        interviewPodId has only a meaning in the Room Type Interview
+     -->        
+    <method name="startStream" args="publicSID,broadcastId,firstname,lastname,interviewPodId,VWidth,VHeight">
+        this._videoviewcontent.startStream(publicSID,broadcastId,firstname,lastname,interviewPodId,VWidth,VHeight);
+    </method>
+
+    <method name="setSpeakingByPos" args="publicSID,bool">
+        this._videoviewcontent.setSpeakingByPos(publicSID, bool);
+    </method>
+
+    <method name="closeStreamClient" args="publicSID">
+        this._videoviewcontent.closeStreamClient(publicSID);
+    </method>
+
+    <method name="resetAllValues">
+        this._videoviewcontent.resetAllValues();
+    </method>
+    
+    <method name="removeVideoByUser" args="userObject">
+        this._videoviewcontent.removeVideoByUser(userObject.publicSID);
+    </method>
+    
+    <!--- 
+        stops the streaming but and destroys the view
+        @param int broadcastId broadcastId
+     -->
+    <method name="disconnectclient" args="publicSID">
+        this._videoviewcontent.disconnectclient(publicSID);
+        this._participents.disconnectclient(publicSID);
+    </method>
+
+    <method name="updateMuteStatusVideoView" args="roomClient">
+        this._videoviewcontent.updateMuteStatusVideoView(roomClient);
+    </method>
+    
+    <restrictedUserListInner name="_participents" />
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/restricted/restrictedUserListInner.lzx b/WebContent/src/modules/conference/restricted/restrictedUserListInner.lzx
new file mode 100644
index 0000000..b16f166
--- /dev/null
+++ b/WebContent/src/modules/conference/restricted/restrictedUserListInner.lzx
@@ -0,0 +1,696 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="restrictedUserListInner" extends="baseRoomInnerList"  
+       width="$once{ parent.width }" height="${ parent.height }" >
+    
+    <attribute name="selectedItem" value="null" />
+    
+    <attribute name="listType" value="eventUserListTable" type="string" />
+    
+    <attribute name="sortType" value="alphabetical" type="string" />
+    
+    <handler name="oninit">
+        <![CDATA[
+            this.initList();
+        ]]>
+    </handler>
+    
+    <method name="initialAddItem" args="object">
+        <![CDATA[
+            //if ($debug) Debug.write("eventUserList addItem: ",object.publicSID);
+            
+            //Check for duplicates
+            
+            if (object.isSuperModerator) {
+                object.lastname += " *";
+            }
+            
+            //See setRoomValues
+            //object.selfItem = false;
+            
+            //Add item to list
+            if (this._table.renderList == null) {
+                this._table.renderList = new Array();
+            }
+            
+            object.isSelected = false;
+            
+            this._table.renderList.push(object);
+            
+        ]]>
+    </method>
+    
+     <method name="addItem" args="object">
+        <![CDATA[
+            if ($debug) Debug.write("eventUserList addItem: ",object.publicSID);
+            
+            //Check for duplicates
+            
+            if (object.isSuperModerator) {
+                object.lastname += " *";
+            }
+            
+            object.selfItem = false;
+            
+            //Add item to list
+            if (this._table.renderList == null) {
+                this._table.renderList = new Array();
+            }
+            
+            object.isSelected = false;
+            
+            this._table.renderList.push(object);
+            
+            this.sortUserList();
+            
+            this._table.scheduleRenderContent();
+            
+            this.moderationPanel.updateIcons();
+            
+        ]]>
+    </method>
+    
+    <method name="sortAndRenderList">
+        this.sortUserList();
+        this._table.renderContent();
+    </method>
+    
+    <method name="sortUserList">
+        <![CDATA[ 
+            
+            if (this.sortType == "alphabetical") {
+                function sortByName(a,b) {
+                   
+                    if(a.firstname.toLowerCase() < b.firstname.toLowerCase()) return -1;
+                    else if(a.firstname.toLowerCase() > b.firstname.toLowerCase()) return 1;
+                    else return 0;
+                
+                }
+                
+                this._table.renderList.sort(sortByName);
+                
+            } else {
+                function sortByStreamId(a,b) {
+                   
+                    if(Number(a.streamid) == Number(b.streamid)) return 0;
+                    else if(Number(a.streamid) > Number(b.streamid)) return 1;
+                    else return -1;
+                
+                }
+            
+                this._table.renderList.sort(sortByStreamId);
+            }
+            
+        ]]>
+    </method>
+    
+    <method name="initList">
+        if ($debug) Debug.write("initList :: restrictedUserListInner");
+        //new lz[this.listType](this,{name:'_table'});
+        //this.moderationPanel.bringToFront();
+    </method>
+    
+    <method name="clearList">
+        if ($debug) Debug.write("clearList :: restrictedUserListInner");
+        //this._table.destroy();
+        //this.initList();
+    </method>
+    
+    <method name="disconnectclient" args="publicSID">
+        <![CDATA[
+        
+           for (var i=0;i<this._table.renderList.length;i++) {
+            
+               if (this._table.renderList[i].publicSID == publicSID) {
+                   
+                   this._table.renderList.splice(i,1);
+                
+                   break;
+               }
+            
+           }
+        
+           this._table.renderContent();
+            
+           this.moderationPanel.updateIcons();
+        ]]>
+    </method>
+    
+    
+    <method name="getVideoObjectByPublicSID" args="publicSID">
+        if ($debug) Debug.error(" :: getVideoObjectByPublicSID :: ",publicSID);
+    </method>
+    
+    <view name="userStatus" layout="axis:y">
+        <view>
+             <view resource="userstatus_multiframe_rsc" frame="1" />
+             <labelText x="16" labelid="677" />
+        </view>
+        <view>
+             <view resource="userstatus_multiframe_rsc" frame="2" />
+             <labelText x="16" labelid="678" />
+        </view>
+        <view>
+             <view resource="userstatus_multiframe_rsc" frame="3" />
+             <labelText x="16" labelid="679" />
+        </view>
+    </view>
+    
+    <moderationMiniIconsEventUserList name="_applyAndStatusIcons" x="$once{ parent.width-this.width-20 }" y="2" >
+        <handler name="onismoderator" reference="canvas" args="m">
+            this.updateIcons();
+        </handler>
+        <handler name="ondrawAllowStatus" reference="canvas" args="drawObject">
+            this.updateIcons();
+        </handler>
+        <handler name="onexclusiveAudioAllowStatus" reference="canvas" args="rclObject">
+            this.updateIcons();
+        </handler>
+        <handler name="onlastBroadCastingUser" reference="canvas" args="userObject">
+            this.updateIcons();
+        </handler>
+        <handler name="onmicMutedStatusChangedItem" reference="canvas" args="userObject">
+            this.updateIcons();
+        </handler>
+    </moderationMiniIconsEventUserList>
+    
+    
+    <turnOverListOrderedPaged name="_table" showTopBar="false" x="1"
+             height="${ parent.height-30-parent.moderationPanel.height }" 
+             y="30" itemHeight="40" listLabelId="1001" headerHeight="0"
+             listItemName="restrictedUserListItem" showHScrollbar="hidden"
+             multiselect="false" width="268">
+        
+        <attribute name="currentSelectedIndex" value="null" />
+        
+        <attribute name="resizeDelegate" value="null"/>
+        <attribute name="resizeDelegateStarted" value="false" type="boolean"/>
+        
+        <attribute name="isLoaded" value="false" type="boolean"/>
+        
+        <attribute name="renderDelegate" value="null"/>
+        <attribute name="renderDelegateStarted" value="false" type="boolean"/>
+        
+        <handler name="onheight" args="h">
+        	if (this.isLoaded) {
+        		if ($debug) Debug.write("isLoaded True onheight ",h);
+            	if (!this.resizeDelegateStarted) {
+            		this.resizeDelegateStarted = true;
+            		lz.Timer.addTimer( this.resizeDelegate, 1000 );
+            	} else {
+            		lz.Timer.resetTimer( this.resizeDelegate, 1000 );
+            	}
+        	}
+        </handler>
+        
+        <handler name="oninit">
+        	this.resizeDelegate = new LzDelegate( this, "renderByHeightChange" );
+        	this.renderDelegate = new LzDelegate( this, "renderByNewUser" );
+            this.addHeaderItem(1001,260);
+        </handler>
+        
+        <method name="scheduleRenderContent">
+        	if ($debug) Debug.warn("scheduleRenderContent ");
+        	if (!this.renderDelegateStarted) {
+                this.renderDelegateStarted = true;
+                lz.Timer.addTimer( this.renderDelegate, 1000 );
+            } else {
+            	if ($debug) Debug.warn("More then one user was arriving within 1 Second - Postpone the Rendering to prevent too much reloading");
+                lz.Timer.resetTimer( this.renderDelegate, 1000 );
+            }
+        </method>
+        
+        <method name="renderByNewUser" args="refObj">
+        	this.renderDelegateStarted = false;
+        	this.renderContent();
+        </method>
+        
+        <method name="renderByHeightChange" args="refObj">
+        	
+        	if ($debug) Debug.write("..:: renderByHeightChange ::..",refObj);
+        	
+        	lz.Timer.removeTimer( this.resizeDelegate );
+        	this.resizeDelegateStarted = false;
+        	
+        	this.clearList();
+        	this._innerlist._inn.initItems(this.listItemName);
+        	
+        	this.renderContent();
+        </method>
+        
+        <handler name="onclickedItem" args="refObj">
+            <![CDATA[
+            
+                if ($debug) Debug.write("onclickedItem ",refObj);
+                
+                if (this.currentSelectedIndex != null) {
+                    this.renderList[this.currentSelectedIndex]["isselected"] = false;
+                }
+                
+                this.currentSelectedIndex = refObj.itemId;
+                
+                this.renderList[refObj.itemId]["isselected"] = true;
+                
+                var list = this._innerlist._inn._inn;
+                for (var i=0;i<list.subviews.length;i++){
+                    
+                    list.subviews[i].deselect();
+                    list.subviews[i].hideModeratorIcons();
+                    
+                }
+                
+                refObj.select();
+                refObj.initModeratorIcons();
+            
+            ]]>
+        </handler>
+        
+        <method name="renderContent">
+            <![CDATA[
+                this.isLoaded = true;
+                var list = this._innerlist._inn._inn;
+                
+                if (this.renderList == null) {
+                	this.renderList = new Array();
+                }
+                //this.renderList = records;
+                var records = this.renderList;
+                this._innerlist._inn.setAttribute("y",0);
+                this._innerlist._inn._inn.setAttribute("height",records.length*this.itemHeight);
+                this._innerlist._inn.resetItems();
+                
+                if ($debug) Debug.write(":: renderContent ::",this.renderList.length,list.subviews.length);
+                
+                this._records.setAttribute("text",records.length);
+                
+                for (var i=0;i<list.subviews.length;i++){
+                    
+                    //if (i % 2 == 0) {
+                    //    list.subviews[i].setIsSecond(true);
+                    //} else {
+                    //    list.subviews[i].setIsSecond(false);
+                    //}
+                    
+                    if (records.length > i) {
+                        
+                        list.subviews[i].setAttribute("clickable",true);
+                        list.subviews[i].refObj = records[i];
+                        
+                        if (records[i]["isselected"] && records[i].isselected) {
+                            list.subviews[i].isselected = true;
+                            list.subviews[i].onmouseout.sendEvent();
+                            list.subviews[i].initModeratorIcons();
+                        } else {
+                            list.subviews[i].isselected = false;
+                            list.subviews[i].onmouseout.sendEvent();
+                            list.subviews[i].hideModeratorIcons();
+                        }
+                        
+                        list.subviews[i].setAttribute("user_id",records[i].user_id);
+                        list.subviews[i].setAttribute("firstname",records[i].firstname);
+                        list.subviews[i].setAttribute("isSuperModerator",records[i].isSuperModerator);
+                        list.subviews[i].setAttribute("lastname",records[i].lastname);
+                        list.subviews[i].setAttribute("connectedSince",records[i].connectedSince);
+                        list.subviews[i].setAttribute("canDraw",records[i].canDraw);
+                        list.subviews[i].setAttribute("canShare",records[i].canShare);
+                        list.subviews[i].setAttribute("canRemote",records[i].canRemote);
+                        list.subviews[i].setAttribute("canGiveAudio",records[i].canGiveAudio);
+                        list.subviews[i].setAttribute("micMuted",records[i].micMuted);
+                        list.subviews[i].setAttribute("isMod",records[i].isMod);
+                        list.subviews[i].isBroadcasting = records[i].isBroadcasting;
+                        list.subviews[i].setAttribute("selfItem",records[i].selfItem);
+                        list.subviews[i].streamid = records[i].streamid;
+                        list.subviews[i].setAttribute("username",records[i].username);
+                        list.subviews[i].setAttribute("formatedDate",records[i].formatedDate);
+                        
+                        list.subviews[i].setAttribute("itemId",i);
+                        
+                    } else {
+                        
+                        list.subviews[i].refObj = null;
+                        
+                        list.subviews[i].isselected = false;
+                        list.subviews[i].onmouseout.sendEvent();
+                        list.subviews[i].hideModeratorIcons();
+                        
+                        list.subviews[i].setAttribute("user_id","");
+                        list.subviews[i].setAttribute("firstname","");
+                        list.subviews[i].setAttribute("isSuperModerator","");
+                        list.subviews[i].setAttribute("lastname","");
+                        list.subviews[i].setAttribute("connectedSince","");
+                        list.subviews[i].setAttribute("canDraw",false);
+                        list.subviews[i].setAttribute("canShare",false);
+                        list.subviews[i].setAttribute("canRemote",false);
+                        list.subviews[i].setAttribute("canGiveAudio",false);
+                        list.subviews[i].setAttribute("micMuted",false);
+                        list.subviews[i].setAttribute("isMod",false);
+                        list.subviews[i].isBroadcasting = false;
+                        list.subviews[i].setAttribute("selfItem",false);
+                        list.subviews[i].streamid = "";
+                        list.subviews[i].setAttribute("username","");
+                        list.subviews[i].setAttribute("formatedDate","");
+                        list.subviews[i].setAttribute("itemId","");
+                        
+                        list.subviews[i].setAttribute("clickable",false);
+                        
+                    }
+                    
+                }
+                
+                //  var x = Math.round(value.childList[i].coordX);
+                //  var y = Math.round(value.childList[i].coordY);
+                //  var name = value.childList[i].description;
+                
+                //var x = value.resultAddress[i].x;
+                //var y = value.resultAddress[i].y;
+                //var name = value.resultAddress[i].street+" "+value.resultAddress[i].houseNumber+","+value.resultAddress[i].postCode+" "+value.resultAddress[i].city+" ("+value.resultAddress[i].cityDistrict+" "+value.resultAddress[i].country+" )";
+                //////if ($debug)  //Debug.write("name,x,y ",name,x,y);
+                //this.parent._ausgabelisteMapAdress.addtableItem(x,y,name);
+                
+                //this.sendInitialWidthUpdate();
+                
+            ]]>
+        </method>   
+        
+        <handler name="onScrollItem" args="item">
+            <![CDATA[
+                if (this.renderList.length > item.itemId) {
+                    item.setAttribute("clickable",true);
+                    item.refObj = this.renderList[item.itemId];
+                    
+                    //if (item.itemId % 2 == 0) {
+                    //    item.setIsSecond(true);
+                    //} else {
+                    //    item.setIsSecond(false);
+                    //}
+                    
+                    if (this.renderList[item.itemId]["isselected"] && this.renderList[item.itemId].isselected) {
+                        item.isselected = true;
+                        item.onmouseout.sendEvent();
+                        item.initModeratorIcons();
+                    } else {
+                        item.isselected = false;
+                        item.onmouseout.sendEvent();
+                        item.hideModeratorIcons();
+                    }
+                    
+                    if ($debug) Debug.write(item.itemId,this.renderList[item.itemId].isMod,this.renderList[item.itemId].publicSID);
+                    
+                    item.setAttribute("user_id",this.renderList[item.itemId].user_id);
+                    item.setAttribute("firstname",this.renderList[item.itemId].firstname);
+                    item.setAttribute("isSuperModerator",this.renderList[item.itemId].isSuperModerator);
+                    item.setAttribute("lastname",this.renderList[item.itemId].lastname);
+                    item.setAttribute("connectedSince",this.renderList[item.itemId].connectedSince);
+                    item.setAttribute("canDraw",this.renderList[item.itemId].canDraw);
+                    item.setAttribute("canShare",this.renderList[item.itemId].canShare);
+                    item.setAttribute("canRemote",this.renderList[item.itemId].canRemote);
+                    item.setAttribute("canGiveAudio",this.renderList[item.itemId].canGiveAudio);
+                    item.setAttribute("micMuted",this.renderList[item.itemId].micMuted);
+                    item.isBroadcasting = this.renderList[item.itemId].isBroadcasting;
+                    item.setAttribute("isMod",this.renderList[item.itemId].isMod);
+                    item.setAttribute("selfItem",this.renderList[item.itemId].selfItem);
+                    item.streamid = this.renderList[item.itemId].streamid;
+                    item.setAttribute("username",this.renderList[item.itemId].username);
+                    item.setAttribute("formatedDate",this.renderList[item.itemId].formatedDate);
+                    
+                    item.setAttribute("itemId",item.itemId);
+                    
+                    item.updateIconByModScroll();
+                        
+                } else {
+                    
+                    //if (item.itemId % 2 == 0) {
+                    //    item.setIsSecond(true);
+                    //} else {
+                    //    item.setIsSecond(false);
+                    //}
+                    
+                    item.isselected = false;
+                    item.onmouseout.sendEvent();
+                    item.hideModeratorIcons();
+                    
+                    item.refObj = null;
+                    
+                    item.setAttribute("user_id","");
+                    item.setAttribute("firstname","");
+                    item.setAttribute("isSuperModerator","");
+                    item.setAttribute("lastname","");
+                    item.setAttribute("connectedSince","");
+                    item.setAttribute("canDraw",false);
+                    item.setAttribute("canShare",false);
+                    item.setAttribute("canRemote",false);
+                    item.setAttribute("canGiveAudio",false);
+                    item.setAttribute("micMuted",false);
+                    item.setAttribute("isMod",false);
+                    item.isBroadcasting = false;
+                    item.setAttribute("selfItem",false);
+                    item.streamid = ""
+                    item.setAttribute("username","");
+                    item.setAttribute("formatedDate","");
+                    
+                    item.setAttribute("itemId","");
+                    
+                    item.setAttribute("clickable",false);
+                }
+                
+            ]]>
+        </handler>
+        
+    </turnOverListOrderedPaged> 
+       
+    <view name="moderationPanel" clip="true" 
+          height="${ (canvas.ismoderator) ? 40 : 0 }"
+          y="${ parent.height - this.height - 2 }">
+        
+        <handler name="onismoderator" reference="canvas" args="m">
+            if ($debug) Debug.write("###### ismoderator ",m);
+            <![CDATA[
+                this.updateIcons();
+            ]]>
+        </handler>
+        
+        <handler name="onmicMutedStatusChangedItem" reference="canvas" args="roomClientObj">
+        	<![CDATA[
+        	
+        	   if ($debug) Debug.write(" :: onmicMutedStatusChangedItem :: ",roomClientObj.micMuted);
+        	   
+                var vList = parent._table.renderList;
+                for (var i=0;i<vList.length;i++) {
+                    //vList[i].updateIconByMod();
+                    if (vList[i].publicSID == roomClientObj.publicSID) {
+                        parent._table.renderList[i].micMuted = roomClientObj.micMuted;
+                        break;
+                    }
+                }
+        	   
+        	   //search for the user and update its drawStatusIcon
+                var vList = parent._table._innerlist._inn._inn.subviews;
+                for (var i=0;i<vList.length;i++) {
+                    //vList[i].updateIconByMod();
+                    if (vList[i].refObj.publicSID == roomClientObj.publicSID) {
+                        vList[i].refObj.micMuted = roomClientObj.micMuted;
+                        vList[i].micMuted = roomClientObj.micMuted;
+                        vList[i].updateModeratorIcons();
+                        break;
+                    }
+                }
+        	   
+
+                parent._applyAndStatusIcons.updateIcons();
+        	   
+        	]]>
+        </handler>
+        
+        <handler name="ondrawAllowStatus" reference="canvas" args="drawObject">
+            <![CDATA[
+            
+                if ($debug) Debug.write(" :: ondrawAllowStatus :: ",drawObject.canDraw);
+            
+            	var vList = parent._table.renderList;
+                for (var i=0;i<vList.length;i++) {
+                    //vList[i].updateIconByMod();
+                    if (vList[i].publicSID == drawObject.publicSID) {
+                        parent._table.renderList[i].canDraw = drawObject.canDraw;
+                        parent._table.renderList[i].canShare = drawObject.canShare;
+                        parent._table.renderList[i].canRemote = drawObject.canRemote;
+                        break;
+                    }
+                }
+            
+                //search for the user and update its drawStatusIcon
+                var vList = parent._table._innerlist._inn._inn.subviews;
+                for (var i=0;i<vList.length;i++) {
+                    //vList[i].updateIconByMod();
+                    if (vList[i].refObj.publicSID == drawObject.publicSID) {
+                        vList[i].refObj.canDraw = drawObject.canDraw;
+                        vList[i].canDraw = drawObject.canDraw;
+                        vList[i].canShare = drawObject.canShare;
+                        vList[i].canRemote = drawObject.canRemote;
+                        vList[i].updateIconByModScroll();
+                        vList[i].updateModeratorIcons();
+                        break;
+                    }
+                }
+
+                parent._applyAndStatusIcons.updateIcons();
+            ]]>
+        </handler>
+
+        <handler name="onexclusiveAudioAllowStatus" reference="canvas" args="rclObject">
+            <![CDATA[
+
+                if ($debug) Debug.write(" :: exclusiveAudioAllowStatus :: ",rclObject.canGiveAudio);
+				
+                var vList = parent._table.renderList;
+                for (var i=0;i<vList.length;i++) {
+                    if (vList[i].publicSID == rclObject.publicSID) {
+                        parent._table.renderList[i].canGiveAudio = rclObject.canGiveAudio;
+                        break;
+                    }
+                }
+				
+                //search for the user and update its exclusiveAudioStatusIcon
+                var vList = parent._table._innerlist._inn._inn.subviews;
+                for (var i=0;i<vList.length;i++) {
+                    if (vList[i].refObj.publicSID == rclObject.publicSID) {
+                        vList[i].refObj.canGiveAudio = rclObject.canGiveAudio;
+                        vList[i].canGiveAudio = rclObject.canGiveAudio;
+                        vList[i].updateIconByModScroll();
+                        vList[i].updateModeratorIcons();
+                        break;
+                    }
+                }
+
+                parent._applyAndStatusIcons.updateIcons();
+            ]]>
+        </handler>
+        
+        <handler name="onlastBroadCastingUser" reference="canvas" args="userObject">
+            <![CDATA[
+            
+               if ($debug) Debug.write(" :: onlastBroadCastingUser :: ");
+                
+                if (!userObject.isBroadcasting) {
+                    //Stop Broadcasting and close Dialog
+                    //Search, stop and remove video
+                    parent.parent.removeVideoByUser(userObject);
+                }
+                
+                var vList = parent._table.renderList;
+                for (var i=0;i<vList.length;i++) {
+                    if (vList[i].publicSID == userObject.publicSID) {
+                        parent._table.renderList[i].isBroadcasting = userObject.isBroadcasting;
+                        break;
+                    }
+                }
+                
+                //search for the user and update its drawStatusIcon
+                var vList = parent._table._innerlist._inn._inn.subviews;
+                for (var i=0;i<vList.length;i++) {
+                    if (vList[i].refObj.publicSID == userObject.publicSID) {
+                        vList[i].isBroadcasting = userObject.isBroadcasting;
+                        vList[i].updateModeratorIcons();
+                        break;
+                    }
+                }
+                
+                parent._applyAndStatusIcons.updateIcons();
+            ]]>
+        </handler>
+        
+        <method name="updateIcons">
+            <![CDATA[
+            
+                if ($debug) Debug.write(" :: updateIcons :: ");
+                
+                for (var i=0;i<parent._table.renderList.length;i++) {
+                
+                    for (var k=0;k<canvas.newModeratorList.length;k++) {
+                        
+                        var item = canvas.newModeratorList[k];
+                        
+                        if (parent._table.renderList[i].publicSID == item.publicSID) {
+                            
+                            if (parent._table.renderList[i].isMod == false) {
+                                if ($debug) Debug.info("updateIcons Found RR ",i,item.publicSID);
+                                parent._table.renderList[i].isMod = true;
+                                
+                                var itemView = this.getItemByPublicSID(item.publicSID);
+                                if (itemView != null) {
+                                    itemView.setAttribute("isMod",true);
+                                    itemView.updateModeratorIcons();
+                                }
+                            }
+                            
+                        }
+                        
+                    }
+                    
+                    for (var k=0;k<canvas.removeModeratorList.length;k++) {
+                        
+                        var item = canvas.removeModeratorList[k];
+                        
+                        if (parent._table.renderList[i].publicSID == item.publicSID) {
+                            
+                            if (parent._table.renderList[i].isMod == true) {
+                               if ($debug) Debug.info("RE updateIcons Found RR ",i,item.publicSID);
+                               parent._table.renderList[i].isMod = false;
+                            
+                               var itemView = this.getItemByPublicSID(item.publicSID);
+                               if (itemView != null) {
+                                   itemView.setAttribute("isMod",false);
+                                   itemView.updateModeratorIcons();
+                               }
+                            }
+                            
+                        }
+                        
+                    }
+                
+                }
+                
+                parent._applyAndStatusIcons.updateIcons();
+            ]]>
+        </method>
+        
+        <method name="getItemByPublicSID" args="publicSID">
+            <![CDATA[
+                var vList = parent._table._innerlist._inn._inn.subviews;
+                
+                for (var i=0;i<vList.length;i++) {
+                    if (vList[i].refObj.publicSID == publicSID) {
+                        return vList[i];
+                    }
+                }
+                
+                return null;
+            ]]>
+        </method>
+        
+        <labelText labelid="680" width="270" x="0" multiline="true" y="0" />
+    </view>
+
+</class>
+
+
+</library>
diff --git a/WebContent/src/modules/conference/restricted/restrictedUserListItem.lzx b/WebContent/src/modules/conference/restricted/restrictedUserListItem.lzx
new file mode 100644
index 0000000..49deabe
--- /dev/null
+++ b/WebContent/src/modules/conference/restricted/restrictedUserListItem.lzx
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="restrictedUserListItem" extends="basePagingListItem" 
+	   showhandcursor="false" width="254" height="42">
+	
+	<attribute name="connectedSince" value="" type="string" />
+	
+    <attribute name="isMod" value="false" type="boolean" />
+    <!--<attribute name="canDraw" value="false" type="boolean" />-->
+    <!--<attribute name="canShare" value="false" type="boolean" />-->
+    <!--<attribute name="canRemote" value="false" type="boolean" />-->
+    <!--<attribute name="canGiveAudio" value="false" type="boolean" />-->
+    <!--<attribute name="isBroadcasting" value="false" type="boolean" />-->
+    <!--<attribute name="micMuted" value="false" type="boolean" />-->
+    
+    <attribute name="streamid" value="" type="string" />
+    <attribute name="username" value="" type="string" />
+    <attribute name="userroom" value="" type="string" />
+    <attribute name="formatedDate" value="" type="string" />
+    <attribute name="firstname" value="" type="string" />
+    <attribute name="lastname" value="" type="string" />
+    <attribute name="user_id" value="0" type="number" />
+    <attribute name="refObj" value="null" />
+    
+    <attribute name="isSuperModerator" value="false" type="boolean"/>
+    
+    <attribute name="userpicURL" value="" type="string" />
+    <attribute name="userpicView" value="null" />
+    
+    <attribute name="selfItem" value="false" type="boolean"/>
+    
+    <handler name="onisMod">
+    	<![CDATA[
+        	if (this.isMod) {
+                this._content.userStatus.setAttribute("frame",3);
+            } else if (this.refObj != null && this.refObj.canDraw) {
+                this._content.userStatus.setAttribute("frame",2);
+            } else {
+                this._content.userStatus.setAttribute("frame",1);
+            }
+        ]]>
+    </handler>
+
+    <handler name="onMute" reference="canvas.thishib.switchMicMuted" args="event">
+        <![CDATA[
+            if ($debug) Debug.write("onMute ", event.publicSID, event.mute);
+            if(this.refObj.publicSID == event.publicSID) {
+                this.refObj.micMuted = event.mute;
+                this.updateModeratorIcons();
+            }
+        ]]>
+    </handler>
+
+	<method name="updateIconByMod">
+		if (this.clickable) {
+        	this.isMod = canvas.getIsModeratorByPublicSID(this.refObj.publicSID);
+        	//if ($debug) Debug.write(" :: updateIconByMod :: ",this.isMod)
+        	if (this.isMod) {
+                this._content.userStatus.setAttribute("frame",3);
+            } else if (this.refObj.canDraw) {
+            	this._content.userStatus.setAttribute("frame",2);
+            } else {
+            	this._content.userStatus.setAttribute("frame",1);
+            }
+		}
+    </method>  
+    
+    <method name="updateIconByModScroll">
+    	if (this.clickable) {
+        	if (this.isMod) {
+                this._content.userStatus.setAttribute("frame",3);
+            } else if (this.refObj.canDraw) {
+            	this._content.userStatus.setAttribute("frame",2);
+            } else {
+            	this._content.userStatus.setAttribute("frame",1);
+            }
+    	}
+    </method>  
+    
+    <method name="initModeratorIcons">
+    	//if ($debug) Debug.write(" :1: initModeratorIcons :: ");
+    	if (canvas.ismoderator) {
+    		//if ($debug) Debug.write(" :2: initModeratorIcons :: ");
+			this._content._iconsModerator.setAttribute("visibility","visible");
+			this._content._iconsModerator.oninit.sendEvent();
+    	}
+    </method>
+    
+    <method name="updateModeratorIcons">
+		if (this._content._iconsModerator.visibility == "visible") {
+            this._content._iconsModerator.oninit.sendEvent();
+		}
+    </method>
+    
+    <method name="hideModeratorIcons">
+    	if (this._content._iconsModerator.visibility == "visible") {
+            this._content._iconsModerator.setAttribute("visibility","hidden");
+    	}
+    </method>
+
+	<view name="_content" width="254">
+		
+		<view name="_contentIsCurrent" visible="${ parent.parent.selfItem }"
+                        width="254" height="40" bgcolor="0x7CFC00"/>
+          
+		<!--
+		+ ' ' + parent.parent.itemId
+		 -->
+		 
+    	<labelText name="_userName" x="2" y="2"
+    		   text="${ parent.parent.firstname+' '+parent.parent.lastname  }" />
+    		   
+	    <view name="userStatus" visible="${ parent.parent.clickable }" 
+	    	  x="238" frame="1" resource="userstatus_multiframe_rsc" />
+	    	
+	    	
+	    <moderationMiniIconRestricted name="_iconsModerator" visibility="hidden"/>
+	</view>
+	
+	
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/screenSharingAdapter.lzx b/WebContent/src/modules/conference/screenSharingAdapter.lzx
new file mode 100644
index 0000000..2489d15
--- /dev/null
+++ b/WebContent/src/modules/conference/screenSharingAdapter.lzx
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+<class name="screenSharingAdapter" extends="node">

+

+	<!---

+		Send via LocalConnection to SWF10 container

+		to show a new screen sharing video

+		@param rcl RoomClient Object

+	 -->

+	<method name="newScreenSharing" args="rcl">

+		//Send via LocalConnection to SWF10 container

+		canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "newScreenSharing", [rcl]);

+	</method>

+	

+	<!---

+        Send via LocalConnection to SWF10 container

+        to show multiple new screen sharing video

+        @param rcl RoomClient Object Map/list

+     -->

+    <method name="newScreenSharings" args="rcls">

+        //Send via LocalConnection to SWF10 container

+        canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "newScreenSharings", [rcls]);

+    </method>

+	

+	<!--- 

+		Send via LocalConnection to SWF10 container 

+		to close a single screen sharing session

+		@param rcl RoomClient Object

+	 -->

+	<method name="closeScreenSharing" args="rcl">

+		//Send via LocalConnection to SWF10 container

+		canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "closeScreenSharing", [rcl]);

+	</method>

+	

+	<!--- 

+		Send via LocalConnection to SWF10 container 

+		to close all screen sharing viewer videos

+	 -->

+	<method name="closeAllScreenSharings" >

+		//Send via LocalConnection to SWF10 container

+		if ($debug) Debug.write("closeAllScreenSharings SEND");

+		canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "closeAllScreenSharings", null);

+	</method>

+	

+	<!--- 

+		Send via LocalConnection to SWF10 container 

+		to update the mouse position of a certain screen sharing

+		@param cursorMap Map Object

+	 -->

+	<method name="updateCursorScreenSharing" args="cursorMap">

+		//Send via LocalConnection to SWF10 container

+		canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "updateCursorScreenSharing", [cursorMap]);

+	</method>

+

+</class>

+

+</library>
\ No newline at end of file
diff --git a/WebContent/src/modules/conference/sip/library.lzx b/WebContent/src/modules/conference/sip/library.lzx
new file mode 100644
index 0000000..dc5077f
--- /dev/null
+++ b/WebContent/src/modules/conference/sip/library.lzx
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+

+-->

+<library>

+

+    <include href="sipDialer.lzx" />

+

+</library>

diff --git a/WebContent/src/modules/conference/sip/sipDialer.lzx b/WebContent/src/modules/conference/sip/sipDialer.lzx
new file mode 100644
index 0000000..fb67d0c
--- /dev/null
+++ b/WebContent/src/modules/conference/sip/sipDialer.lzx
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+

+-->

+<library>

+

+<class name="sipDialer" extends="window" bgcolor="gray" width="200">

+    <simplelayout axis="y" spacing="5"/>

+    <labelText labelid="1003"/>

+    <view name="phoneNumber" width="100%">

+        <inputtext name="input" width="$once{parent.width-parent.del.width}" height="20" bgcolor="white"/>

+        <button name="del" x="$once{parent.input.width}" width="30" height="20" onclick="this.del();">

+            ←

+            <method name="del">

+                var t = parent.input.text;

+                if(t.length != 0) {

+                    t = t.substr(0, t.length - 1);

+                    parent.input.setAttribute('text', t);

+                }

+            </method>

+        </button>

+    </view>

+

+    <view name="dialerButtons" align="center">

+        <vbox spacing="5">

+            <hbox spacing="5">

+                <button onclick="parent.parent.parent.parent.dial('1')" width="40">1</button>

+                <button onclick="parent.parent.parent.parent.dial('2')" width="40">2</button>

+                <button onclick="parent.parent.parent.parent.dial('3')" width="40">3</button>

+            </hbox>

+            <hbox spacing="5">

+                <button onclick="parent.parent.parent.parent.dial('4')" width="40">4</button>

+                <button onclick="parent.parent.parent.parent.dial('5')" width="40">5</button>

+                <button onclick="parent.parent.parent.parent.dial('6')" width="40">6</button>

+            </hbox>

+            <hbox spacing="5">

+                <button onclick="parent.parent.parent.parent.dial('7')" width="40">7</button>

+                <button onclick="parent.parent.parent.parent.dial('8')" width="40">8</button>

+                <button onclick="parent.parent.parent.parent.dial('9')" width="40">9</button>

+            </hbox>

+            <hbox spacing="5">

+                <button onclick="parent.parent.parent.parent.dial('*')" width="40">*</button>

+                <button onclick="parent.parent.parent.parent.dial('0')" width="40">0</button>

+                <button onclick="parent.parent.parent.parent.dial('#')" width="40">#</button>

+            </hbox>

+        </vbox>

+    </view>

+    <hbox spacing="10" align="center">

+        <simpleLabelButton labelid="1448" name="callButton">

+            <handler name="onclick">

+                parent.parent.joinToConfCall.doCall();

+            </handler>

+        </simpleLabelButton>

+        <simpleLabelButton labelid="85" name="closeButton">

+            <handler name="onclick">

+                canvas.sipDialer = null;

+                parent.parent.destroy();

+            </handler>

+        </simpleLabelButton>

+    </hbox>

+    <handler name="oninit">

+        if(canvas.sipDialer != null) {

+            canvas.sipDialer.destroy();

+        }

+        canvas.setAttribute('sipDialer', this);

+        this.bringToFront();

+    </handler>

+

+    <method name="dial" args="digit">

+        this.phoneNumber.input.setAttribute('text', this.phoneNumber.input.text + digit);

+    </method>

+

+    <netRemoteCallHib name="joinToConfCall" funcname="joinToConfCall" remotecontext="$once{ canvas.thishib }">

+        <netparam><method name="getValue">return parent.parent.phoneNumber.input.text</method></netparam>

+        <handler name="ondata" args="value">

+            <![CDATA[

+            //The onResult-Handler will be called be the rtmpconnection

+            if($debug) Debug.write("joinToConfCall : ",value);

+            ]]>

+        </handler>

+    </netRemoteCallHib>

+</class>

+

+</library>
\ No newline at end of file
diff --git a/WebContent/src/modules/conference/tabcontent/chat/baseTabChatPanel.lzx b/WebContent/src/modules/conference/tabcontent/chat/baseTabChatPanel.lzx
new file mode 100644
index 0000000..6c3d786
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/chat/baseTabChatPanel.lzx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<!-- 
+	#################################################
+	Provides functions to chat and extends the chat with the panel for blinking
+	when new messages arrive when the tab is closed
+	#################################################
+	 -->
+
+	<class name="baseTabChatPanel" extends="basePropertyPanel" >
+
+		<attribute name="fadeDelegate" value="null" />
+		<attribute name="doBlink" value="false" type="boolean" />
+
+		<handler name="oninit">
+			this.fadeDelegate = new LzDelegate( this, "showText" );
+		</handler>
+
+		<handler name="onisopen" args="o">
+			if ($debug) Debug.write("onisopen",o);
+			if (o) {
+				canvas._chatcontent.doInitByOpen();
+				this.doBlink = false;
+				this._newMessage.setAttribute("visibility","hidden");
+				this._newMessage.setAttribute( "opacity", 0 );
+				this.content.setAttribute("visibility","visible");
+			} else {
+				this.content.setAttribute("visibility","hidden");
+			}
+		</handler>
+
+		<method name="startBlink">
+			if ($debug) Debug.write("startBlink",this.opacity);
+			if (this.isopen) return;
+			if (this.doBlink) {
+				if ($debug) Debug.write("doBlink already started !!!");
+			} else {
+				if ($debug) Debug.write("doBlink");
+				this.doBlink = true;
+				this._newMessage.setAttribute("visibility","visible");
+				lz.Timer.addTimer( this.fadeDelegate , 1000 );
+			}
+		</method>
+
+		<method name="showText" args="refObj">
+			if (this.doBlink) {
+				if ($debug) Debug.write("showText",this._newMessage.opacity);
+				lz.Timer.addTimer( this.fadeDelegate , 1000 );
+				if (this._newMessage.opacity == 0) {
+					this._newMessage.animate( "opacity", 1.0, 400 );
+				} else {
+					this._newMessage.animate( "opacity", 0, 400 );
+				}
+			} else {
+				this._newMessage.setAttribute("visibility","hidden");
+			}
+		</method>
+
+		<chatTab name="content" y="22" height="${ parent.height-22 }"
+			visibility="hidden" width="${ parent.width }" />
+			
+		<labelText labelid="1199" x="${ parent.width - this.width }" bgcolor="0xFFFFFF"
+        		   y="2" fontsize="10" fontstyle="bold" fgcolor="0xFF3300" />
+
+		<view name="_newMessage" y="0" x="${ parent.width-this.width }"
+			visibility="hidden">
+			<view x="1" y="2" resource="chat_message_incoming_rsc" />
+			<labelText x="22" y="2" fgcolor="0xFFFFFF" fontstyle="bold"
+				labelid="1417" />
+		</view>
+
+	</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/chat/chatOutput.lzx b/WebContent/src/modules/conference/tabcontent/chat/chatOutput.lzx
new file mode 100644
index 0000000..453fe9f
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/chat/chatOutput.lzx
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+
+<!--- chat output specialized for video-conference -->
+<class name="chatOutput" extends="view" height="${ parent.height-1 }" 
+            clip="true" width="${ parent.width-1 }" bgcolor="0xFFFFFF">
+
+    <attribute name="isAlreadyLoaded" value="false" type="boolean"/>
+<!---
+ Invoked from VideoContainer cause domain/room must be set first
+ -->
+    <method name="doInit">
+        //Debug.write("oninit");
+        <![CDATA[
+        	//this._cbtext.clearChatOutput();
+            //this.getRoomChatHistory.doCall();
+        ]]>
+    </method>
+    
+    <method name="doInitByOpen">
+        //Debug.write("oninit");
+        <![CDATA[
+            if (!this.isAlreadyLoaded) {
+            	this.isAlreadyLoaded = true;
+            	this._cbtext.clearChatOutput();
+                this.getRoomChatHistory.doCall();
+            }
+        ]]>
+    </method>
+    
+    <method name="reload">
+        //Debug.write("oninit");
+        <![CDATA[
+        	this._cbtext.clearChatOutput();
+            this.getRoomChatHistory.doCall();
+        ]]>
+    </method>    
+    
+    <netRemoteCallHib name="getRoomChatHistory" funcname="chatservice.getRoomChatHistory" 
+        remotecontext="$once{ canvas.thishib }" > 
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if($debug) Debug.write("chatOutput/getRoomChatHistory: ",value);
+                for (var i=0;i<value.length;i++){
+                    if($debug) Debug.write(value[i].message,value[i].client);
+                    parent.addChatHistory(value[i].message,value[i].client);
+                }
+            ]]>
+        </handler>   
+    </netRemoteCallHib>
+    
+    <method name="getLog">
+    	<![CDATA[
+    		var tString = "";
+    		
+    		for (var i=0;i<this._cbtext.subviews.length;i++) {
+    			
+    			if (i!=0) {
+    				tString += "<br/>";
+    			}
+    			
+    			tString += this._cbtext.subviews[i].username + ': '
+    					+ this._cbtext.subviews[i].message;
+    			
+    		}
+    		
+    		return tString;
+    	
+    	]]>
+    </method>     
+    
+    <method name="addChatHistory" args="value,client">
+        <![CDATA[
+            //if($debug) Debug.write("chatOutput/addChatHistory: ",value,client);
+            canvas.currentBaseConferenceRoom._chatPanelStrict.startBlink();
+            //is Right To Left ? not checked for the moment
+            if (value[7]){
+                var username = client.firstname+" "+client.lastname;
+            } else {
+                var username = client.firstname+" "+client.lastname;
+            }
+            var messageObj = value[9];
+            //var newmessage = "<FONT COLOR='"+value[5]+"' size='11'>"+client.firstname+" "+client.lastname+"</FONT>:<FONT COLOR='0x000000' size='11'>"+value[4]+"</FONT><br />";
+            //Debug.write("newmessage: ",newmessage);
+            //this._cbtext.setAttribute('text',this._cbtext.text+newmessage);
+            var usercolor = value[5];
+            
+            var isDirectLink = null;
+            if (value[8] > 0) {
+            	isDirectLink = false;
+            } else {
+            	isDirectLink = true;
+            }
+            
+            if (canvas.isinitRoomDirect || canvas.remoteUserLogin 
+                                || canvas.directUserLogin || canvas.secureRemoteUserLogin) {
+                isDirectLink = true;               	
+            }
+            if ( usercolor==null || usercolor==0 || usercolor.length==0 )usercolor=0xCCCCCC;
+            
+            
+            
+            if ($debug) Debug.write("addChatHistory userID: ",value[8],isDirectLink);
+            
+            new lz.chatTabItemEmoticons(this._cbtext,{
+		                messageObj:messageObj,
+	                    user_id:value[8],
+	                    publicSID:value[6],
+	                    message:value[4],
+	                    picture_uri:client.picture_uri,
+		                usercolor:usercolor,
+		                username:username,
+		                isDirectLink:isDirectLink,
+		                usertime:value[1]
+	                });
+            
+            this.setScrollToMax();              
+        ]]>
+    </method>           
+    
+    <method name="setScrollToMax">
+        <![CDATA[
+        if(_cbtext.height>this.height){
+            myscrollbar.scrolltarget.setAttribute(myscrollbar.scrollattr,(this.height-_cbtext.height));
+        }
+        
+        ]]>
+    </method>
+    
+    <view name="_cbtext" width="${ parent.width }" layout="axis:y;spacing:0" >
+    	<method name="clearChatOutput">
+    		<![CDATA[
+    			while (this.subviews.length>0){
+    				this.subviews[0].destroy();
+    			}
+    		]]>
+    	</method>
+    </view>
+    
+    <om_vscrollbar name="myscrollbar" />
+
+</class>
+    
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/chat/chatTab.lzx b/WebContent/src/modules/conference/tabcontent/chat/chatTab.lzx
new file mode 100644
index 0000000..7b89318
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/chat/chatTab.lzx
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!---
+Chat tabpane class. It contains chatOutput-class and catTabBottom-class.
+This is used in the conference.
+-->
+<class name="chatTab" extends="simpleBaseTabpane" bgcolor="$once{ canvas.getThemeColor('mainBackgroundColor') }" x="0">
+
+    <!--
+    bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" 
+     -->
+     
+	<view name="_chatoutputborder" x="4" height="${ parent.height-46 }" width="${ parent.width-4 }" 
+				bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }">
+		
+		<chatOutput name="_chatoutput" x="1" y="1" >
+			<handler name="oninit">
+				canvas._chatcontent = this;
+			</handler>
+		</chatOutput>
+
+	</view>
+	
+	<chatTabBottom name="_chattabbottom" 
+				   y="${ parent.height-42 }" x="4" width="${ parent.width-6 }" />
+				   
+				   
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/chat/chatTabBottom.lzx b/WebContent/src/modules/conference/tabcontent/chat/chatTabBottom.lzx
new file mode 100644
index 0000000..59b4ebb
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/chat/chatTabBottom.lzx
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- View of the buttom area of chat. It contains buttons of message,emoticons,clear. -->
+<class name="chatTabBottom" extends="view" height="42">
+
+		<view x="0" y="0" height="20" width="${ parent.width-2 }" name="message" 
+			  bgcolor="0xBBBBBB">
+			<method name="getText">
+				return this._ctext.getText();
+			</method>
+			<method name="setText" args="txt">
+				this._ctext.setAttribute('text',txt);
+			</method>
+			<customInputtext name="_ctext" width="${ parent.width-2 }" height="$once{ parent.height-2 }"
+				x="1" y="1" bgcolor="white" >
+				<handler name="onkeyup" args="key">
+	                <![CDATA[
+	                var reverse = canvas.reverseAll(parent.getText());
+	                
+	                // parent.setText(reverse);
+	                // 13 is return
+	                if ((key==27) || (key==13)) {
+	                	this.parent._button.onclick.sendEvent();
+	                }
+	                ]]>
+	            </handler>
+			</customInputtext>	
+			
+			<attribute name="objMessage" value="null" />
+        
+	        <simpleLabelButton name="_button" labelid="220" height="21" width="80" 
+	        		x="$once{ parent.width-80 }" > 
+	            <handler name="onclick">
+	                parent.objMessage = new Array ();
+	                parent.objMessage[0] = 'chat';
+	                //The server side will put time here
+	                parent.objMessage[1] = "";
+	                //Debug.write("Setting Message");
+	                parent.objMessage[2] = 'newtextmessage';
+	                parent.objMessage[3] = hib.userobject.login;
+	                var message = this.parent.getText();
+	                //if (parent.parent._inverseWording.getValue()) message = canvas.reverseAll(message)
+	                parent.objMessage[4] = message;
+	                parent.objMessage[5] = canvas.currentusercolor;
+	                parent.objMessage[6] = canvas.publicSID;
+	                parent.objMessage[7] = canvas.isrtl;
+	                parent.objMessage[8] = hib.userobject.user_id;
+	                if (this.parent.getText().length!=0){
+	                    //Debug.write("send: ",this.parent.objMessage);
+	                    parent.sendMessageWithClient.doCall();
+	                    this.parent.setText('');
+	                }
+	            </handler>
+	        </simpleLabelButton>
+	        
+	        <netRemoteCallHib name="sendMessageWithClient" funcname="chatservice.sendMessageWithClient" 
+	            remotecontext="$once{ canvas.thishib }" > 
+	            <netparam><method name="getValue"> return parent.parent.objMessage; </method></netparam>
+	            <handler name="ondata" args="value">
+	                <![CDATA[
+	                    //The onResult-Handler will be called be the rtmpconnection
+	                    if ($debug) Debug.write("chatservice.sendMessageWithClient getValue : ",value);
+	                ]]>
+	            </handler>   
+	        </netRemoteCallHib>
+				
+		</view>
+        
+    <labelCheckbox name="_inverseWording" x="2" y="24" labelid="580">
+        <attribute name="doUpdate" value="false" type="boolean" />
+        <handler name="oninit">
+            var g = canvas.getUserData();
+            var save = g["rtlCheckbox"];
+            //if ($debug) Debug.write("oninit doUpdate",save,g);
+            if(save) {
+                this.doUpdate = false;
+                this.setValue(true);
+            }
+            this.doUpdate = true;
+        </handler>
+        <handler name="onvalue" args="v">
+            if (this.doUpdate) {
+                //if ($debug) Debug.write("onvalue doUpdate",this.getValue());
+                var g = canvas.getUserData();
+                g["rtlCheckbox"]=this.getValue();
+                //if ($debug) Debug.write("onvalue doUpdate",g["rtlCheckbox"]);
+                canvas.setUserData(g);
+            }
+        </handler>
+        <labelTooltip labelid="581" />
+    </labelCheckbox>
+
+    <view name="_button" width="140" y="22" align="right">
+        
+        <miniIcons y="2" x="82" resource="smile_chat_log_rsc" width="16" height="16" 
+                   showhandcursor="true">
+            <handler name="onclick">
+                var pick = new lz.emotIconsSelector(canvas,{
+                        btnRef:this.parent.parent,
+                        x:(this.getAttributeRelative('x',canvas)-140),
+                        y:(this.getAttributeRelative('y',canvas)-140)
+                    });
+                lz.ModeManager.makeModal( pick );
+            </handler>
+            <labelTooltip labelid="445" />
+        </miniIcons>
+        
+        <miniIcons y="2" x="102" resource="copy_chat_log_rsc" width="16" height="16" 
+                   showhandcursor="true">
+            <handler name="onclick">
+                <![CDATA[
+                    var tString = canvas._chatcontent.getLog();
+                    new lz.showChatLog(canvas,{
+                                    error:tString
+                                });
+                ]]>
+            </handler>
+            <labelTooltip labelid="1200" />
+        </miniIcons>
+         
+        <miniIconsImage src="$once{ canvas.getThemeImage('button_cancel_rsc') }"  
+        			 y="2" x="122" width="16" height="16" showhandcursor="true">
+            <handler name="onclick">
+                if (!canvas.ismoderator) {
+                    //Do not allow
+                    new lz.labelerrorPopup(canvas,{errorlabelid:783});
+                    return;
+                }
+                parent.clearChat.doCall();
+            </handler>
+            <labelTooltip labelid="442" />
+        </miniIconsImage>  
+        
+        <view width="1" />
+        
+        <netRemoteCallHib name="clearChat" funcname="chatservice.clearChat" 
+            remotecontext="$once{ canvas.thishib }" > 
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    //The onResult-Handler will be called be the rtmpconnection
+                    if ($debug) Debug.write("clearChat : ",value);
+                ]]>
+            </handler>   
+        </netRemoteCallHib>     
+        
+    </view>
+
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/chat/chatTabBottomRoomList.lzx b/WebContent/src/modules/conference/tabcontent/chat/chatTabBottomRoomList.lzx
new file mode 100644
index 0000000..4360c64
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/chat/chatTabBottomRoomList.lzx
@@ -0,0 +1,235 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+
+<class name="chatTabBottomRoomList" extends="view" >
+
+        <view x="0" y="0" height="20" width="${ parent.width }" name="message" 
+              bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }">
+            <method name="getText">
+                return this._ctext.getText();
+            </method>
+            <method name="setText" args="txt">
+                this._ctext.setAttribute('text',txt);
+            </method>
+            <inputtext name="_ctext" width="$once{ parent.width-2 }" height="$once{ parent.height-2 }"
+                x="1" y="1" bgcolor="white" >
+                <handler name="onkeyup" args="key">
+                    <![CDATA[
+                    // 13 is return
+                    if ((key==27) || (key==13)) {
+                        this.parent.parent._button._button.onclick.sendEvent();
+                    }
+                    ]]>
+                </handler>
+            </inputtext>        
+        </view>
+        
+    <labelCheckbox name="_inverseWording" x="2" y="24" labelid="580">
+        <attribute name="doUpdate" value="false" type="boolean" />
+        <handler name="oninit">
+            var g = canvas.getUserData();
+            var save = g["rtlCheckbox"];
+            //if ($debug) Debug.write("oninit doUpdate",save,g);
+            if(save) {
+                this.doUpdate = false;
+                this.setValue(true);
+            }
+            this.doUpdate = true;
+        </handler>
+        <handler name="onvalue" args="v">
+            if (this.doUpdate) {
+                //if ($debug) Debug.write("onvalue doUpdate",this.getValue());
+                var g = canvas.getUserData();
+                g["rtlCheckbox"]=this.getValue();
+                //if ($debug) Debug.write("onvalue doUpdate",g["rtlCheckbox"]);
+                canvas.setUserData(g);
+            }
+        </handler>
+        <labelTooltip labelid="581" />
+    </labelCheckbox>
+
+    <view name="_button" layout="axis:x;spacing:0" y="22" align="right">
+        
+        <attribute name="objMessage" value="null" />
+        <simpleLabelButton align="right" y="0" labelid="220" name="_button" width="70" > 
+            <handler name="onclick">
+                parent.objMessage = new Array ();
+                parent.objMessage[0] = 'chat';
+                //The server side will put time here
+                parent.objMessage[1] = "";
+                //Debug.write("Setting Message");
+                parent.objMessage[2] = 'newtextmessage';
+                parent.objMessage[3] = hib.userobject.login;
+                var message = this.parent.parent.message.getText();
+                if (parent.parent._inverseWording.getValue()) message = canvas.reverseWordingsBySplit(message)
+                parent.objMessage[4] = message;
+                parent.objMessage[5] = canvas.currentusercolor;
+                parent.objMessage[6] = canvas.publicSID;
+                parent.objMessage[7] = canvas.isrtl;
+                parent.objMessage[8] = hib.userobject.user_id;
+                if (this.parent.parent.message.getText().length!=0){
+                    //Debug.write("send: ",this.parent.objMessage);
+                    parent.sendMessageWithClient.doCall();
+                    this.parent.parent.message.setText('');
+                }
+            </handler>
+        </simpleLabelButton>
+
+        <simpleLabelButton name="_show_emots" y="0">
+            <handler name="onclick">
+                //parent.clearOverallChat.doCall();
+                var pick = new lz.emotIconsSelector(canvas,{
+                        btnRef:this.parent.parent,
+                        x:(this.getAttributeRelative('x',canvas)-140),
+                        y:(this.getAttributeRelative('y',canvas)-140)
+                    });
+                lz.ModeManager.makeModal( pick );
+            </handler>
+            <view x="2" y="1">
+                <handler name="oninit">
+                    var swfurl = canvas.protocol+'://'+canvas.rtmphostlocal+':'+canvas.red5httpport+canvas.httpRootKey+'public/emoticons/smile_btn.swf';
+                    this.setSource(swfurl);
+                    //if ($debug) Debug.write("CHAT SWFURL",swfurl);
+                </handler>
+            </view>
+            <labelTooltip labelid="445" />
+        </simpleLabelButton>    
+                
+        <simpleLabelButton x="20" y="0" name="_delete_chat_log">
+            <handler name="onclick">
+                parent.clearChat.doCall();
+            </handler>
+            <view x="3" y="1" resource="delete_chat_log_rsc" />
+            <labelTooltip labelid="442" />
+        </simpleLabelButton>
+        
+        <netRemoteCallHib name="clearChat" funcname="chatservice.clearChat" 
+            remotecontext="$once{ canvas.thishib }" > 
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    //The onResult-Handler will be called be the rtmpconnection
+                    Debug.write("clearChat : ",value);
+                    canvas._chatcontent.doInit();   
+                ]]>
+            </handler>   
+        </netRemoteCallHib>     
+        
+        <netRemoteCallHib name="sendMessageWithClient" funcname="chatservice.sendMessageWithClient" 
+            remotecontext="$once{ canvas.thishib }" > 
+            <netparam><method name="getValue"> return parent.parent.objMessage; </method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    //The onResult-Handler will be called be the rtmpconnection
+                    Debug.write("chatservice.sendMessageWithClient getValue : ",value);
+                ]]>
+            </handler>   
+        </netRemoteCallHib>
+        
+    </view>
+
+</class>
+
+<!--
+<view x="0" y="0" height="20" width="140" name="message" 
+              bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }">
+            <method name="getText">
+                return this._ctext.getText();
+            </method>
+            <method name="setText" args="txt">
+                this._ctext.setAttribute('text',txt);
+            </method>
+            <inputtext name="_ctext" width="$once{ parent.width-2 }" height="$once{ parent.height-2 }"
+                x="1" y="1" bgcolor="white" >
+                <handler name="onkeyup" args="key">
+                    <![CDATA[
+                    // 13 is return
+                    if ((key==27) || (key==13)) {
+                        this.parent.parent._button.onclick.sendEvent();
+                    }
+                    ]]>
+                </handler>
+            </inputtext>        
+        </view>
+
+        <attribute name="objMessage" value="null" />
+        <simpleLabelButton align="right" y="0" labelid="220" name="_button"> 
+            <handler name="onclick">
+                parent.objMessage = new Array ();
+                parent.objMessage[0] = 'chat';
+                //The server side will put time here
+                parent.objMessage[1] = "";
+                //Debug.write("Setting Message");
+                parent.objMessage[2] = 'newtextmessage';
+                parent.objMessage[3] = hib.userobject.login;
+                var message = this.parent.message.getText();
+                if (canvas.isrtl) message = canvas.reverseWords(message)
+                parent.objMessage[4] = message;
+                parent.objMessage[5] = 0xCCCCCC;
+                parent.objMessage[6] = 0;
+                parent.objMessage[7] = canvas.isrtl;
+                parent.objMessage[8] = hib.userobject.user_id;
+                if (this.parent.message.getText().length!=0){
+                    //Debug.write("send: ",this.parent.objMessage);
+                    parent.sendMessageWithClient.doCall();
+                    this.parent.message.setText('');
+                }
+            </handler>
+        </simpleLabelButton>
+        
+        <simpleLabelButton name="_show_emots">
+            <handler name="onclick">
+                //parent.clearOverallChat.doCall();
+                var pick = new lz.emotIconsSelector(canvas,{btnRef:this.parent,x:(this.getAttributeRelative('x',canvas)-140),y:(this.getAttributeRelative('y',canvas)-140)});
+                lz.ModeManager.makeModal( pick );
+            </handler>
+            <view x="2" y="1">
+                <handler name="oninit">
+                    var swfurl = canvas.protocol+'://'+canvas.rtmphostlocal+':'+canvas.red5httpport+canvas.httpRootKey+'public/emoticons/smile_btn.swf';
+                    this.setSource(swfurl);
+                </handler>
+            </view>
+            <labelTooltip labelid="445" />
+        </simpleLabelButton>    
+                
+        <simpleLabelButton x="240" y="0" name="_delete_chat_log">
+            <handler name="onclick">
+                parent.clearChat.doCall();
+            </handler>
+            <view x="3" y="1" resource="delete_chat_log_rsc" />
+            <labelTooltip labelid="442" />
+        </simpleLabelButton>        
+        
+        <netRemoteCallHib name="sendMessageWithClient" funcname="chatservice.sendMessageWithClient" 
+            remotecontext="$once{ canvas.thishib }" > 
+            <netparam><method name="getValue"> return parent.parent.objMessage; </method></netparam>
+            
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    //The onResult-Handler will be called be the rtmpconnection
+                    Debug.write("chatservice.sendMessageWithClient getValue : ",value);
+                ]]>
+            </handler>   
+        </netRemoteCallHib>
+        -->
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/chat/chatTabItem.lzx b/WebContent/src/modules/conference/tabcontent/chat/chatTabItem.lzx
new file mode 100644
index 0000000..74bf7c1
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/chat/chatTabItem.lzx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+
+<class name="chatTabItem" extends="view" 
+	   width="240" >
+
+	<attribute name="user_id" value="0" type="number" />
+	<attribute name="username" value="" type="string" />
+	<attribute name="usertime" value="" type="string" />
+	<attribute name="usercolor" value="0" type="string" />
+	<attribute name="cbtext" value="" type="string" />
+	
+	<handler name="oninit">
+		<![CDATA[
+			if($debug) Debug.write("chatTabItem/WIDTH: "+this.width);
+			if($debug) Debug.write("chatTab Item on init");
+	        var downloadurl = canvas.protocol+'://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+	        		+canvas.httpRootKey+'DownloadHandler?fileName=CHAT'
+	        		+'&moduleName=chat&parentPath=&room_id='
+	        		+'&remoteUserid='+this.user_id
+	        		+'&sid='+canvas.sessionId;
+	        //Debug.write("downloadurl "+downloadurl);
+	        this._userpic.setAttribute('src',downloadurl);	
+	        
+	        if(canvas.isrtl == 'true'){
+	        	this.header_user.stAttribute('textalign', 'right');
+	        	this.header_time.setAttribute('align', 'left');
+	        	this.multi.setAttribute('textalign', 'right');
+	        }
+	        
+	        
+	        
+	        
+	        //Debug.write("TIME: "+this.usertime);
+        ]]>
+	</handler>
+	
+	<image name="_userpic" />
+	
+	
+	<text text="$once{ parent.username }" x="40" resize="false" fontsize="10"
+		  width="$once{ parent.width - 40 }" bgcolor="$once{ parent.usercolor }"
+		  selectable="true" name="header_user">
+		  
+	</text>
+	<text text="$once{ parent.usertime }" align="right" fontsize="10" selectable="true" name="header_time" >
+		
+	</text>
+	
+	
+	
+	<text multiline="true" x="40" y="20" fontsize="10" text="$once{ parent.cbtext }"
+		  width="220" selectable="true" name="multi">
+		 
+	</text>
+
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/chat/chatTabItemEmoticons.lzx b/WebContent/src/modules/conference/tabcontent/chat/chatTabItemEmoticons.lzx
new file mode 100644
index 0000000..73dda6b
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/chat/chatTabItemEmoticons.lzx
@@ -0,0 +1,287 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+
+<class name="chatTabItemEmoticons" extends="view" width="$once{ parent.width }" bgcolor="$once{ this.usercolor }">
+
+	<attribute name="user_id" value="0" type="number" />
+	<attribute name="username" value="" type="string" />
+	<attribute name="usertime" value="" type="string" />
+	<attribute name="usercolor" value="0" type="string" />
+	<attribute name="publicSID" value="" type="string" />
+	<attribute name="messageObj" value="null" />
+	<attribute name="isDirectLink" value="false" type="boolean" />
+	<attribute name="message" value="" type="string" />
+	<attribute name="picture_uri" value="" type="string"/>
+	
+	<handler name="oninit">
+		<![CDATA[
+		
+		    if ($debug) Debug.write("this.picture_uri :: ",this.picture_uri);
+		
+		    if (this.picture_uri != null && ( this.picture_uri.startsWith("http") || this.picture_uri.startsWith("https") ) ) {
+                
+                var downloadurl = this.picture_uri;  
+                
+            } else {
+            	if($debug) Debug.write("chatTabItemEmoticons/WIDTH: "+this.width);
+                var downloadurl = canvas.protocol+'://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                        +canvas.httpRootKey+'DownloadHandler?fileName=CHAT'
+                        +'&moduleName=chat&parentPath=&room_id='
+                        +'&remoteUserid='+this.user_id
+                        +'&sid='+canvas.sessionId;
+            }
+			
+	        //Debug.write("downloadurl "+downloadurl);
+	        this._userpic.setAttribute('src',downloadurl);	
+	        
+	        if(canvas.isrtl == 'true'){
+	         	if($debug) Debug.write("chatTabItemEmoticons RTL is set");
+	       
+	        	this.header_user.setAttribute('textalign', 'right');
+	        	this.header_time.setAttribute('align', 'left');
+	        	this.header_time.setAttribute('x', '40');
+	        	this.multi.setAttribute('textalign', 'right');
+	        	this.multi.setAttribute('align', 'right');
+	        }
+	        
+	        //Debug.write("TIME: "+this.usertime);
+        ]]>
+	</handler>
+	
+	<view name="bg" width="179" height="$once{ parent.height-1 }" bgcolor="0xFFFFFF" 
+		opacity="0.1">
+	</view>
+	
+	<image name="_userpic" stretches="both" x="1" y="1">
+		<handler name="onload">
+            <![CDATA[
+                if (this.height > 38) {
+                    //If bigger then containter then scale it
+                    var width = this.width/(this.height/38);
+                    this.setAttribute('height',38);
+                    this.setAttribute('width',width);
+                }
+                if (this.width > 38) {
+                	var height = this.height/(this.width/38);
+                	this.setAttribute('height',height);
+                    this.setAttribute('width',38);
+                }
+            ]]>
+        </handler>
+	</image>
+	
+	<text text="$once{ parent.username }" x="40" resize="false" fontsize="11" multiline="true"
+		  width="140" height="$once{ parent.height }"
+		  name="header_user">
+	</text>
+	
+	<state applied="$once{ !parent.isDirectLink }">
+	
+	    <miniIconsImage name="add" src="$once{ canvas.getThemeImage('edit_add_rsc') }" width="16" height="16" 
+	                   y="2" x="$once{ parent.width - 122 }" showhandcursor="true">
+	        <handler name="onclick">
+	            if ($debug) Debug.write("Start Conference");
+	            if (hib.userobject.user_id == parent.user_id) {
+	                new lz.labelerrorPopup(canvas,{errorlabelid:1225});
+	                return;
+	            }
+	            parent.requestUserToContactList.doCall();
+	        </handler>
+	        <labelTooltip labelid="1186" />
+	    </miniIconsImage>
+    
+    </state>
+    
+    <!--
+    public Long requestUserToContactList(String SID, Long userToAdd_id, 
+                String domain, String port, String webapp)
+     -->
+    <netRemoteCallHib name="requestUserToContactList" funcname="userservice.requestUserToContactList" 
+                  remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >      
+        <netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+        <netparam><method name="getValue"> return parent.parent.user_id; </method></netparam>
+        <netparam><method name="getValue"> return canvas.rtmphostlocal; </method></netparam>
+        <netparam><method name="getValue"> return canvas.red5httpport; </method></netparam>
+        <netparam><method name="getValue"> return canvas.httpRootKey; </method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                if ($debug) Debug.write("requestUserToContactList: ",value);
+                if (value > 0) {
+                    new lz.labelerrorPopup(canvas,{labelid:1267,errorlabelid:1266});
+                }
+            ]]>
+        </handler>
+    </netRemoteCallHib>
+    
+	
+	<!-- space between each line of text -->
+	<attribute name="leading" value="5" type="number" />
+	
+	<view name="bg_main" x="180" width="$once{ parent.width - 180 }" height="$once{ parent.height-1 }"  
+		opacity="0.3" bgcolor="0xFFFFFF">
+	</view>
+	
+	<text multiline="true" x="180" width="$once{ parent.width - 306 }" fontsize="11" selectable="true" name="multi" >
+		<handler name="oninit">
+			<![CDATA[
+				
+				if(canvas.isrtl!='true'){
+					this.sprite.__LZtextclip.wordWrap = false;
+					if($debug) Debug.write("New Text");
+					//Debug.write(this.sprite.getTextFormat());
+					tFormat = this.sprite.__LZtextclip.getTextFormat();
+					//Debug.write(this.sprite.__LZtextclip.getTextFormat());
+					tFormat.leading = 4;
+					this.sprite.__LZtextclip.setTextFormat(tFormat);
+					var items = parent.messageObj;
+					var t = "";
+					//items[0] = ["text","hello your are the hero lets check accomodation today i need some input"];
+					for (var i=0;i<items.length;i++) {
+						
+						//if ($debug) Debug.write("Item :0: ",items[i][0]);
+						
+						if (items[i][0]=="text"){
+							//if ($debug) Debug.write("Text :1: ",items[i][1]);
+							
+							t += items[i][1];
+						} else {
+							if (t.length!=0){
+								var tempString = calcLineWidthByTextField(this.width, t,this.fontsize,this.font);
+								var x = tempString[tempString.length-1]["lineWidth"];
+								var y = (tempString.length-1)*(getLineHeight()+parent.leading-1);
+							}else {
+								var x = 0;
+								var y = 0;
+							}
+							t += items[i][2];
+							
+							var swfurl = canvas.protocol+'://'+canvas.rtmphostlocal+':'+canvas.red5httpport+
+											canvas.httpRootKey + 'public/emoticons/'+items[i][1];
+							var m = new lz.chatInnerSmily(parent,{x:x+this.x,y:y+this.y,iconlabel:items[i][3]});
+							
+							//if ($debug) Debug.write("Smily :2: ",swfurl);
+							
+							m.setSource(swfurl);
+						}
+					}
+					//Debug.write("TTTT: ",t);"Verdana"
+					var tString = calcLineWidthByTextField(this.width, t,this.fontsize,this.font);
+					
+					for (var k = 0;k<tString.length;k++){
+						this.setAttribute('text',this.getText()+textObject[k]["text"]+"\r");
+						//if ($debug) Debug.write("text: ",k,textObject[k]["lineWidth"],textObject[k]["text"]);
+					}	
+					
+					//if ($debug) Debug.write("text: ",this.getText());
+					
+					//Debug.write(this.sprite.__LZtextclip.getTextFormat());
+					tFormat.leading = parent.leading;
+					this.sprite.__LZtextclip.setTextFormat(tFormat);
+					//Debug.write(this.sprite.__LZtextclip.textHeight);
+					//Debug.write(getLineHeight());
+					//Debug.write(this.sprite.__LZtextclip.textHeight+12);
+					this.setAttribute('height',this.sprite.__LZtextclip.textHeight+12);
+				}
+				else{
+					var t = "";
+					var items = parent.messageObj;
+					
+					for (var i=0;i<items.length;i++) {
+						if (items[i][0]=="text"){
+							t += items[i][1];
+						} 
+					}
+					
+					this.setAttribute('text',this.getText()+ t);
+				}
+				
+				parent.setAttribute('height',this.height);
+				parent.header_user.setAttribute('height',this.height);
+				parent.bg.setAttribute('height',this.height-1);
+				parent.bg_main.setAttribute('height',this.height-1);
+				
+			]]>
+		</handler>	
+		
+	</text>
+	
+	<state applied="$once{ !parent.isDirectLink }">
+	
+	    <miniIcons name="private_message_add" resource="private_message_add_rsc" width="16" height="16" 
+	                   y="0" x="$once{ parent.width - 104 }" showhandcursor="true">
+	        <handler name="onclick">
+	            if ($debug) Debug.write("Start Conference");
+	            new lz.newPrivateMessage(canvas,{
+	                                x:200,y:120,
+	                                refObj:null,
+	                                minimizable:true,
+	                                maximizable:true,
+	                                userObject:null,
+	                                isdragable:true,
+	                                user_id:parent.user_id,
+	                                width:canvas.width-300,
+	                                height:canvas.height-130
+	                            });
+	        </handler>
+	        <labelTooltip labelid="1253" />
+	    </miniIcons>
+	    
+	    <miniIcons resource="user_profile_rsc" width="16" height="16" 
+	               y="0" x="$once{ parent.width - 84 }" showhandcursor="true">
+	        <handler name="onclick">
+	            if ($debug) Debug.write("Start Conference");
+	            new lz.viewUserProfileWindow(canvas,{
+	                                userId:parent.user_id
+	                            });
+	        </handler>
+	        <labelTooltip labelid="1236" />
+	    </miniIcons>    		  
+			  
+	    <miniIcons y="0" x="$once{ parent.width - 64 }"
+	    		   resource="start_conference2_rsc" width="16" height="16" 
+	               showhandcursor="true">
+	        <handler name="onclick">
+	            if ($debug) Debug.write("Start Conference");
+	            new lz.chatParticipantsInviteConference(canvas,{
+	                            publicSID:parent.publicSID,
+	                            user_id:parent.user_id
+	                        });
+	        </handler>
+	        <labelTooltip labelid="1131" />
+	    </miniIcons>  
+    
+    </state>
+    		  
+	<text text="$once{ parent.usertime+'   ' }" align="right" fgcolor="0xAAAAAA"
+		  fontsize="10" name="header_time" />
+
+</class>						
+
+<class name="chatInnerTextBox" extends="text" resize="true" bgcolor="red" />
+
+<class name="chatInnerSmily" extends="view" onmouseover="" onmouseout="">
+	<attribute name="iconlabel" value="" type="string" />
+	<labelTooltip text="$once{ parent.iconlabel }" />
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/chat/library.lzx b/WebContent/src/modules/conference/tabcontent/chat/library.lzx
new file mode 100644
index 0000000..f6109b9
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/chat/library.lzx
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	<resource name="delete_chat_log_rsc" src="resources/cancel.png" />
+	<resource name="copy_chat_log_rsc" src="resources/edit-copy.png" />
+	<resource name="smile_chat_log_rsc" src="resources/smile.swf" />
+	<resource name="start_conference2_rsc" src="resources/connect.png" />
+	
+	<include href="simpleBaseTabpane.lzx" />
+	<include href="showChatLog.lzx" />
+	<include href="baseTabChatPanel.lzx" />
+	<include href="chatTabBottomRoomList.lzx" />
+	<include href="chatTabItem.lzx" />
+	<include href="chatTabItemEmoticons.lzx" />
+	<include href="chatOutput.lzx" />
+	<include href="chatTabBottom.lzx" />
+	<include href="chatTab.lzx" />
+    
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/chat/resources/cancel.png b/WebContent/src/modules/conference/tabcontent/chat/resources/cancel.png
new file mode 100644
index 0000000..a432b49
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/chat/resources/cancel.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/chat/resources/connect.png b/WebContent/src/modules/conference/tabcontent/chat/resources/connect.png
new file mode 100644
index 0000000..024138e
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/chat/resources/connect.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/chat/resources/edit-copy.png b/WebContent/src/modules/conference/tabcontent/chat/resources/edit-copy.png
new file mode 100644
index 0000000..8dd48c4
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/chat/resources/edit-copy.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/chat/resources/smile.swf b/WebContent/src/modules/conference/tabcontent/chat/resources/smile.swf
new file mode 100644
index 0000000..7578e2e
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/chat/resources/smile.swf
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/chat/showChatLog.lzx b/WebContent/src/modules/conference/tabcontent/chat/showChatLog.lzx
new file mode 100644
index 0000000..4294a4d
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/chat/showChatLog.lzx
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!---
+Chat tabpane class. It contains chatOutput-class and catTabBottom-class.
+This is used in the conference.
+-->
+<class name="showChatLog" extends="labelExplorerBox" labelid="1201"
+	    docking="true" resizeable="true" closable="true" width="500" 
+	    x="$once{ parent.width/2 - this.width/2 }" height="240">
+    
+    <attribute name="error" value="" type="string" />
+    
+    <view x="2" width="${ parent.width - 4 }" clip="true"
+        				y="24" height="${ parent.height-50 }">
+        <labelText text="$once{ parent.parent.error }" width="${ parent.width - 18 }"
+        		   multiline="true" resize="false" selectable="true" />
+        <om_vscrollbar />
+    </view>
+	
+    <simpleLabelButton labelid="891" width="100" onclick="this.parent.close();" 
+		   x="${ parent.width-104 }" y="${ parent.height-24 }" />
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/chat/simpleBaseTabpane.lzx b/WebContent/src/modules/conference/tabcontent/chat/simpleBaseTabpane.lzx
new file mode 100644
index 0000000..3e5492a
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/chat/simpleBaseTabpane.lzx
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+	<!--- Tabpane. it used by chat. -->

+	<class name="simpleBaseTabpane" extends="view" height="$once{ parent.height-20 }" 

+		   width="$once{ parent.width }" y="24" x="2" >

+		

+	</class>  

+

+</library>
\ No newline at end of file
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/dragItemFileExplorer.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/dragItemFileExplorer.lzx
new file mode 100644
index 0000000..c602b0f
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/dragItemFileExplorer.lzx
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="dragItemFileExplorer" extends="view">
+	
+	<attribute name="refObj" value="null"/>
+	
+	<attribute name="dragItemResource" value="" type="string"/>
+	
+	<attribute name="overItem" value="null"/>
+	
+	<attribute name="alreadySent" value="false" type="boolean" />
+	
+	<attribute name="fileExplorerItemId" value="0" type="number" />
+	<attribute name="newParentFileExplorerItemId" value="0" type="number" />
+    <attribute name="isOwner" value="false" type="boolean" />
+    <attribute name="moveToHome" value="false" type="boolean" />
+	
+	<handler name="oninit">
+		lz.Track.activate(canvas.currentImagesListdraw.currentTrackGroupName);
+		canvas.currentImagesListdraw.currentDragItem = this;
+		lz.Cursor.showHandCursor(false);
+		lz.ModeManager.globalLockMouseEvents();
+		this.dragger.apply();
+	</handler>
+	
+	<method name="sendOverItem" args="itemRef">
+		<![CDATA[
+    		if (this.refObj != itemRef) {
+    			
+    			if (this.refObj.isFolder) {
+    				if (!itemRef.isTrashCan && !itemRef.isFolder) {
+    					//No Folders to the whiteboard please
+    					return;
+    				}
+    			}
+    			
+        		this.overItem = itemRef;
+        		this._dragIcon.setAttribute("frame",2);
+    		}
+		]]>
+	</method>
+	
+	<method name="sendOutItem" args="itemRef">
+        this.overItem = null;
+        this._dragIcon.setAttribute("frame",1);
+    </method>
+	
+	<handler name="onmouseup" reference="lz.GlobalMouse" args="who">
+        this.close();
+    </handler>
+    
+    <method name="close">
+    <![CDATA[
+    	//This can happen when the confirmation pops up
+    	if (this.alreadySent) {
+    		return;
+    	}
+    	this.alreadySent = true;
+    	if ($debug) Debug.write("close Drag Item");
+    	lz.Cursor.showHandCursor(true);
+    	lz.Track.deactivate(canvas.currentImagesListdraw.currentTrackGroupName);
+    	lz.ModeManager.globalUnlockMouseEvents();
+    	canvas.currentImagesListdraw.currentDragItem = null;
+    	this.dragger.remove();
+    	
+    	if (this.overItem != null) {
+    		
+    		if ($debug) Debug.write("this.overItem ",this.overItem);
+    		
+    		if (this.overItem["isTrashCan"] && this.overItem.isTrashCan) {
+    			if ($debug) Debug.write("SEND TO GARBAGE");
+    			this.fileExplorerItemId = this.refObj.fileExplorerItemId;
+    			new lz.confirmationSingle(canvas,{
+            			   refObj:this,
+            			   labelid:710,
+            			   labeliderror:713,
+            			   showCheckBox:false,
+                           refReturnMethod:"sendConfirmation"
+            			});
+    		} else if (this.overItem["isFolder"] && this.overItem.isFolder){
+    			if ($debug) Debug.write("MOVE ITEM",this.refObj.fileExplorerItemId);
+    			if ($debug) Debug.write("MOVE TO PARENT",this.overItem.fileExplorerItemId);
+    			this.fileExplorerItemId = this.refObj.fileExplorerItemId;
+    			this.newParentFileExplorerItemId = this.overItem.fileExplorerItemId;
+    			if (this.overItem.fileExplorerItemId == 0) {
+    			    this.isOwner = this.overItem.isOwner;
+    			}
+    			
+    			//check if this is a home folder or not
+    			var checkForOwer = this.overItem.checkForIsOwner();
+    			if ($debug) Debug.write("checkForOwer ::",checkForOwer);
+    			this.moveToHome = checkForOwer;
+    			
+    			//check that the file is not moved inside itself
+    			if (this.overItem.checkForIsChild(this.refObj.fileExplorerItemId)) {
+    				new lz.labelerrorPopup(canvas,{errorlabelid:922});
+    				this.destroy();
+    				return;
+    			}
+    			
+    			this.moveFile();
+    		} else {
+    			if ($debug) Debug.warn("Drag to whiteboard !!! ");
+    			if (this.refObj.isVideo) {
+    				this.refObj.playVideo();
+    			} else if (this.refObj.isPresentation) {
+    			    this.refObj.loadDocumentToWhiteboard();
+    			} else if (this.refObj.isImage) {
+    				this.refObj.loadImageToWhiteboard();
+    			} else {
+    				if ($debug) Debug.warn("Should never happen dragItemFileExplorer unhandled case");
+    			}
+    			this.destroy();
+    		}
+    	} else {
+    		this.destroy();
+    	}
+    ]]>	
+    </method>
+    
+    <method name="sendConfirmation" args="bool,askAgain">
+    	if (bool) {
+    		this.deleteFileOrFolder();
+    	} else {
+    		this.destroy();
+    	}
+    </method>
+    
+    <method name="deleteFileOrFolder">
+        <![CDATA[
+            if ($debug) Debug.write("deleteFileOrFolder HTTP 2: ");
+            //this.getFileExplorerByRoom.doCall();
+            var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                            +canvas.httpRootKey+'services/FileService/deleteFileOrFolderSelf?'
+                            +'SID='+canvas.sessionId
+                            +'&fileExplorerItemId='+this.fileExplorerItemId;
+            
+            this.deleteFileOrFolderSelf.setAttribute("src",downloadurl);
+            if ($debug) Debug.write("deleteFileOrFolderSelf doRequest ",downloadurl);
+            this.deleteFileOrFolderSelf.doRequest();
+        ]]>
+    </method>
+    
+    <dataset name="deleteFileOrFolderSelf" type="http" >
+        <handler name="ondata" args="d">
+            <![CDATA[
+                //if ($debug) Debug.write("ondata ",d);
+                if ($debug) Debug.write("deleteFileOrFolder: ",d);
+                parent.refObj.parent.parent.doOpen();
+                parent.destroy();
+            ]]>
+        </handler>
+    </dataset>
+    
+    <!--
+    <netRemoteCallHib name="deleteFileOrFolder" funcname="fileservice.deleteFileOrFolder" 
+        remotecontext="$once{ canvas.thishib }" > 
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.fileExplorerItemId;</method></netparam>
+        <handler name="ondata" args="value">    
+            if ($debug) Debug.write("deleteFileOrFolder: ",value);
+            parent.refObj.parent.parent.doOpen();
+            parent.destroy();
+        </handler>
+    </netRemoteCallHib> 
+     -->
+    
+    <!--
+    public Long moveFileSelf(String SID, Long fileExplorerItemId,
+            Long newParentFileExplorerItemId, Long room_id, Boolean isOwner,
+            Boolean moveToHome)
+     -->
+     
+    <method name="moveFile">
+        <![CDATA[
+            if ($debug) Debug.write("moveFile HTTP 1: ");
+            //this.getFileExplorerByRoom.doCall();
+            var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                            +canvas.httpRootKey+'services/FileService/moveFileSelfInternal?'
+                            +'SID='+canvas.sessionId
+                            +'&fileExplorerItemId='+this.fileExplorerItemId
+                            +'&newParentFileExplorerItemId='+this.newParentFileExplorerItemId
+                            +'&roomId='+hib.currentroomid
+                            +'&isOwner='+this.isOwner
+                            +'&moveToHome='+this.moveToHome;
+            
+            this.moveFileSelf.setAttribute("src",downloadurl);
+            if ($debug) Debug.write("moveFileSelf doRequest ",downloadurl);
+            this.moveFileSelf.doRequest();
+        ]]>
+    </method>
+    
+    <dataset name="moveFileSelf" type="http" >
+        <handler name="ondata" args="d">
+            <![CDATA[
+                //if ($debug) Debug.write("ondata ",d);
+                if ($debug) Debug.write("moveFileSelf: ",d);
+                parent.overItem.doOpen();
+                parent.refObj.parent.parent.doOpen();
+                parent.destroy();
+            ]]>
+        </handler>
+    </dataset>
+    
+    <!--
+    <netRemoteCallHib name="moveFile" funcname="fileservice.moveFile" 
+        remotecontext="$once{ canvas.thishib }" > 
+        
+        <attribute name="fileExplorerItemId" value="0" type="number" />
+        
+        
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.fileExplorerItemId;</method></netparam>
+        <netparam><method name="getValue">return parent.newParentFileExplorerItemId;</method></netparam>  
+        <netparam><method name="getValue">return hib.currentroomid;</method></netparam>         
+        <netparam><method name="getValue">return parent.isOwner;</method></netparam>
+        <netparam><method name="getValue">return parent.moveToHome;</method></netparam>
+          
+        <handler name="ondata" args="value">    
+            if ($debug) Debug.write("moveFile: ",value);
+            parent.overItem.doOpen();
+            parent.refObj.parent.parent.doOpen();
+            parent.destroy();
+        </handler>
+    </netRemoteCallHib>   
+     -->  
+   
+	<view name="_dragFileSymbol" x="10" y="10"
+		resource="$once{ parent.dragItemResource }" />
+	
+	<view name="_dragIcon" x="18" y="14" 
+		  resource="drag_n_drop_rsc" frame="1" />
+	
+	<dragstate name="dragger"/>
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/dynamicFileName.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/dynamicFileName.lzx
new file mode 100644
index 0000000..cd9b31d
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/dynamicFileName.lzx
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="dynamicFileName" extends="customInputtext" 
+	   fontsize="10" bgcolor="0xFFFFFF">
+	
+	<attribute name="isNew" value="false" type="boolean" />
+	
+	<!-- Only used in case its an update -->
+	<attribute name="fileExplorerItemId" value="0" type="number" />
+	
+	<attribute name="parentFileExplorerItemId" value="0" type="number" />
+	<attribute name="isOwner" value="false" type="boolean" />
+	
+	<attribute name="refObj" value="null" />
+	
+	<handler name="onblur">
+		lz.ModeManager.release(this);
+		if ($debug) Debug.write("Store and Destroy ",this.parentFileExplorerItemId);
+		if (this.isNew) {
+		    this.addFolder();
+		} else {
+			this.updateFileOrFolderName();
+		}
+	</handler>
+	
+	<handler name="onkeydown" args="k">
+		<![CDATA[
+    		if (k == 13 || k == 27) {
+    			this.onblur.sendEvent();
+    		}
+		]]>
+	</handler>
+	
+	<!--
+	public Long addFolderSelf(String SID, Long parentFileExplorerItemId,
+            String fileName, Long room_id, Boolean isOwner)
+     -->
+	
+	<method name="addFolder">
+        <![CDATA[
+            if ($debug) Debug.write("moveFile HTTP 1: ");
+            //this.getFileExplorerByRoom.doCall();
+            var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                            +canvas.httpRootKey+'services/FileService/addFolderSelfInternal?'
+                            +'SID='+canvas.sessionId
+                            +'&parentFileExplorerItemId='+this.parentFileExplorerItemId
+                            +'&fileName='+this.text
+                            +'&roomId='+hib.currentroomid
+                            +'&isOwner='+this.isOwner;
+            
+            this.addFolderSelf.setAttribute("src",downloadurl);
+            if ($debug) Debug.write("addFolderSelf doRequest ",downloadurl);
+            this.addFolderSelf.doRequest();
+        ]]>
+    </method>
+    
+    <dataset name="addFolderSelf" type="http" >
+        <handler name="ondata" args="d">
+            <![CDATA[
+                //if ($debug) Debug.write("ondata ",d);
+                if ($debug) Debug.write("addFolderSelf: ",d);
+                parent.completed();
+            ]]>
+        </handler>
+    </dataset>
+	
+	<!--
+	<netRemoteCallHib name="addFolder" funcname="fileservice.addFolder" 
+        remotecontext="$once{ canvas.thishib }" >   
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.parent.parentFileExplorerItemId;</method></netparam> 
+        <netparam><method name="getValue">return parent.parent.text;</method></netparam>   
+        <netparam><method name="getValue">return hib.currentroomid;</method></netparam>  
+        <netparam><method name="getValue">return parent.parent.isOwner;</method></netparam>         
+        <handler name="ondata" args="value">    
+            if ($debug) Debug.write("addFolder: ",value);
+            parent.completed(value);
+        </handler>
+    </netRemoteCallHib>  
+     -->
+	
+	<!--
+    public Long updateFileOrFolderNameSelf(String SID, Long fileExplorerItemId,
+            String fileName)
+     -->
+    <method name="updateFileOrFolderName">
+        <![CDATA[
+            if ($debug) Debug.write("moveFile HTTP 1: ");
+            //this.getFileExplorerByRoom.doCall();
+            var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                            +canvas.httpRootKey+'services/FileService/updateFileOrFolderNameSelf?'
+                            +'SID='+canvas.sessionId
+                            +'&fileExplorerItemId='+this.fileExplorerItemId
+                            +'&fileName='+this.text;
+            
+            this.updateFileOrFolderNameSelf.setAttribute("src",downloadurl);
+            if ($debug) Debug.write("updateFileOrFolderNameSelf doRequest ",downloadurl);
+            this.updateFileOrFolderNameSelf.doRequest();
+        ]]>
+    </method>
+    
+    <dataset name="updateFileOrFolderNameSelf" type="http" >
+        <handler name="ondata" args="d">
+            <![CDATA[
+                //if ($debug) Debug.write("ondata ",d);
+                if ($debug) Debug.write("updateFileOrFolderNameSelf: ",d);
+                parent.completedRename();
+            ]]>
+        </handler>
+    </dataset>
+    
+	<!--
+	<netRemoteCallHib name="updateFileOrFolderName" funcname="fileservice.updateFileOrFolderName" 
+        remotecontext="$once{ canvas.thishib }" >   
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.parent.fileExplorerItemId;</method></netparam> 
+        <netparam><method name="getValue">return parent.parent.text;</method></netparam>   
+        <handler name="ondata" args="value">    
+            if ($debug) Debug.write("updateFileOrFolderName: ",parent.fileExplorerItemId);
+            parent.completedRename();
+        </handler>
+    </netRemoteCallHib>
+     -->
+    
+	<method name="completed">
+		//this.refObj.fileExplorerItemId = fileExplorerItemId;
+		this.refObj.setAttribute("fileName",this.getText());
+		this.refObj.parent.parent.doOpen();
+		this.destroy();
+	</method>
+	
+	<method name="completedRename">
+		this.refObj.setAttribute("fileName",this.getText());
+		this.destroy();
+	</method>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/fileExplorer.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/fileExplorer.lzx
new file mode 100644
index 0000000..1fab3d6
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/fileExplorer.lzx
@@ -0,0 +1,623 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+
+<!-- ###################
+    Class fileExplorer
+ -->
+<class name="fileExplorer" extends="view" >
+    
+    <attribute name="parentFolderId" value="-2" type="number" />
+    
+    <attribute name="_selected" value="null" />
+    
+    <event name="onClose"/>
+    
+    <handler name="oninit">
+    	canvas.currentFileExplorer = this;
+        lz.Track.register(this._trashBar._trashIcon, canvas.currentImagesListdraw.currentTrackGroupName);
+    </handler>
+    
+    <handler name="onvisible">
+    	if ($debug) Debug.write("fileExplorer::onvisible this._selected ",this._selected);
+        //This is thrown whenever an uploaded Document has completed
+        if (this._selected == null) {
+            this.loadFiles();
+        } else {
+        	if (this._selected.isFolder) {
+            	this._selected.refresh();
+        	} else {
+        		this.loadFiles();
+        	}
+        }
+    </handler>
+    
+    <method name="selectItem" args="itemRef">
+        if (this._selected != null) {
+            this._selected.deselectItem();
+        }
+        
+        this._selected = itemRef;
+        this._selected.selectItem();
+        
+        //Set parent folder id for next Folder or uploaded file
+        if (this._selected.fileExplorerItemId == 0) {
+            if (this._selected.isOwner) {
+                this.parentFolderId = -2;
+            } else {
+                this.parentFolderId = 0;
+            }
+        } else {
+            this.parentFolderId = this._selected.fileExplorerItemId;
+        }
+        
+    </method>
+    
+    <method name="addFile">
+    	<![CDATA[
+	    	if ($debug) Debug.write("addFile :: ",this._selected,this.parentFolderId);
+	    	
+	    	if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
+	    		new lz.labelerrorPopup(canvas,{errorlabelid:1462});
+	    		return;
+	    	}
+	    	
+	    	var isOwner = 0;
+	    	if (this.parentFolderId == -2) {
+	    		isOwner = 1;
+	    	} else {
+	    		//Check if its a subfolder of a Owners Dir
+	    		if (this._selected != null) {
+	    			var checkForOwer = this._selected.checkForIsOwner();
+	    			if ($debug) Debug.write("checkForOwer ::",checkForOwer);
+	    			if (checkForOwer) {
+	    				isOwner = 1;
+	    			}
+	    		}
+	    	}
+	    	
+	    	if ($debug) Debug.write("addFile :: ",isOwner);
+	    	
+	        new lz.uploadWindowExplorer(canvas.main_content._content.inner,{
+	                            x:60,uploadmodule:canvas.uploadmoduleimg,
+	                            parentFolderId:this.parentFolderId,
+	                            isOwner:isOwner,
+	                            fileExplorerRef:this,
+	                            isOnlyImage:true,
+	                            servletName:'file.upload'
+	                        });
+        ]]>
+    </method>
+    
+    <method name="addFolder">
+    	<![CDATA[
+    		if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
+	    		new lz.labelerrorPopup(canvas,{errorlabelid:1462});
+	    		return;
+	    	}
+    
+	        if (this._selected == null) {
+	        	if ($debug) Debug.write("addFolder ::1 ",this._selected);
+	            this._filearea._contentarea.subviews[0].addFolder();
+	        } else {
+	            if (this._selected.isFolder) {
+	            	if ($debug) Debug.write("-1 this._selected.isFolder ",this._selected);
+	                this._selected.addFolder();
+	            } else {
+	            	if ($debug) Debug.write("-2 !this._selected.isFolder ",this._selected);
+	                this._selected.parent.parent.addFolder();
+	            }
+	        }
+	    ]]>
+    </method>
+    
+    <method name="loadWmlFile" args="itemObj">
+		this.selectItem(itemObj);
+		canvas._drawarea.prepareLoadWMLFile(itemObj); 
+		//canvas._drawarea.loadObjectList(itemObj); 
+	</method>
+
+    
+    <method name="loadDocument" args="itemObj">
+        this.selectItem(itemObj);
+        this._documentsTabs.setAttribute("height",20);
+        this._documentsTabs.setAttribute("visibility","visible");
+        this._documentsTabs.hideAll();
+        var t = new lz.presentationPreview(this,{
+                        documentObj:itemObj,
+                        refObjList:this
+                    });
+        //t.sendToBack();
+        //this._bg1.sendToBack();
+        //this._bg2.sendToBack();
+        this._documentsTabs.bringToFront();
+        return t;
+    </method>
+    
+    <method name="playVideo" args="itemObj">
+    	this.selectItem(itemObj);
+    	canvas._drawarea.playVideoSynced(itemObj.fileExplorerItemId,itemObj.fileName,itemObj.flvWidth,itemObj.flvHeight);
+    </method>
+    
+    <method name="loadFiles">
+    	<![CDATA[
+    	    if (this["getFileExplorerByRoomSelf"]) {
+                //this.getFileExplorerByRoom.doCall();
+                var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                                +canvas.httpRootKey+'services/FileService/getFileExplorerByRoomSelfInternal?'
+                                +'SID='+canvas.sessionId
+                                +'&roomId='+hib.currentroomid;
+                
+                this.getFileExplorerByRoomSelf.setAttribute("src",downloadurl);
+                if ($debug) Debug.write("getFileExplorerByRoomSelf doRequest 1 ",downloadurl);
+                this.getFileExplorerByRoomSelf.doRequest();
+    	    }
+        ]]>
+    </method>
+    
+    <dataset name="getFileExplorerByRoomSelf" type="http" >
+    	<handler name="ondata" args="d">
+    		<![CDATA[
+    			if ($debug) Debug.write("ondata 1 ",this.src);
+                if ($debug) Debug.write("ondata 2 ",d);
+                parent.parseRootItems(parent.parseRootToRoomObject(d));
+            ]]>
+    	</handler>
+    </dataset>
+    
+    <method name="parseParentToRoomObject" args="dObj">
+        <![CDATA[
+            
+            var filesObject = new Array();
+            
+            var tFiles = dObj.childNodes[0].childNodes;
+            
+            if ($debug) Debug.write("parseParentToRoomObject tFiles ",tFiles);
+            
+            for (var i=0;i<tFiles.length;i++) {
+                
+                filesObject.push(this.parseToFileObj(tFiles[i].childNodes));
+                
+            }
+        
+            return filesObject;
+        ]]>
+    </method>
+    
+    <method name="parseRootToRoomObject" args="dObj">
+        <![CDATA[
+            
+            var roomObject = new Object();
+            
+            roomObject.userHome = new Array();
+            roomObject.roomHome = new Array();
+            roomObject.userHomeSize = 0;
+            roomObject.roomHomeSize = 0;
+            
+            var tFiles = dObj.childNodes[0].childNodes[0].childNodes;
+            
+            //if ($debug) Debug.write("tFiles ",tFiles);
+            
+            for (var i=0;i<tFiles.length;i++) {
+                
+                //if ($debug) Debug.write("nodeName",tFiles[i].nodeName);
+                
+                if (tFiles[i].nodeName == "userHomeSize") {
+                    if ($debug) Debug.write("roomHomeSize",tFiles[i].childNodes[0].data);
+                    roomObject.userHomeSize = Number(tFiles[i].childNodes[0].data);
+                } else if (tFiles[i].nodeName == "roomHomeSize") {
+                    if ($debug) Debug.write("roomHomeSize",tFiles[i].childNodes[0].data);
+                    roomObject.roomHomeSize = Number(tFiles[i].childNodes[0].data);
+                } else if (tFiles[i].nodeName == "roomHome") {
+                    roomObject.roomHome.push(this.parseToFileObj(tFiles[i].childNodes));
+                } else if (tFiles[i].nodeName == "userHome") {
+                    roomObject.userHome.push(this.parseToFileObj(tFiles[i].childNodes));
+                }
+                
+            }
+        
+            return roomObject;
+        ]]>
+    </method>
+    
+    <method name="parseToFileObj" args="dObj">
+        <![CDATA[
+        
+            var tFileObj = new Object();
+        
+            var type = "string";
+            
+            for (var i=0;i<dObj.length;i++) {
+                
+                type = "string";
+            
+                switch (dObj[i].nodeName){
+                    case "externalFileId":
+                        type = "int";
+                        break;
+                    case "fileExplorerItemId":
+                        type = "int";
+                        break;
+                    case "fileSize":
+                        type = "int";
+                        break;
+                    case "flvHeight":
+                        type = "int";
+                        break;
+                    case "flvWidth":
+                        type = "int";
+                        break;
+                    case "insertedBy":
+                        type = "int";
+                        break;
+                    case "isChart":
+                        type = "boolean";
+                        break;
+                    case "isFolder":
+                        type = "boolean";
+                        break;
+                    case "isImage":
+                        type = "boolean";
+                        break;
+                    case "isPresentation":
+                        type = "boolean";
+                        break;
+                    case "isStoredWmlFile":
+                        type = "boolean";
+                        break;
+                    case "isVideo":
+                        type = "boolean";
+                        break;
+                    case "ownerId":
+                        type = "int";
+                        break;
+                    case "parentFileExplorerItemId":
+                        type = "int";
+                        break;
+                    case "room_id":
+                        type = "int";
+                        break;
+                    default:
+                        break;
+                }
+                
+                //if ($debug) Debug.write("Obj attr ",dObj[i].nodeName,type);
+                
+                if (dObj[i].childNodes.length > 0) {
+                    switch (type) {
+                        case "int":
+                            tFileObj[dObj[i].nodeName] = Number(dObj[i].childNodes[0].data);
+                            break;
+                        case "boolean":
+                            tFileObj[dObj[i].nodeName] = (dObj[i].childNodes[0].data == "true") ? true : false;
+                            break;
+                        default:
+                            tFileObj[dObj[i].nodeName] = dObj[i].childNodes[0].data;
+                            break;
+                    }
+                } else {
+                    tFileObj[dObj[i].nodeName] = null;
+                }
+                
+                //if ($debug) Debug.write("Obj attr ",dObj[i].nodeName,tFileObj[dObj[i].nodeName]);
+                
+            }
+        
+            return tFileObj;
+            
+        ]]>
+    </method>
+    
+    <!--
+        Parse Items and generate Output
+     --> 
+    <method name="parseRootItems" args="roomObject">
+        <![CDATA[
+            this.clearContent();
+            
+            var homeSizeInMBytes = Math.round( (roomObject.userHomeSize / 1024 / 1024) * 100) / 100;
+            
+            this._userSpace._userHomeSize.setAttribute("text","" + homeSizeInMBytes + " MBytes");
+            
+            var roomHomeSizeInMBytes = Math.round( (roomObject.roomHomeSize / 1024 / 1024) * 100) / 100;
+            
+            this._userSpace._roomHomeSize.setAttribute("text","" + roomHomeSizeInMBytes + " MBytes");
+            
+            var homeIcon = new lz.rootFileExplorerItem(this._filearea._contentarea,{
+                                        open:true,
+                                        fileName:canvas.getLabelName(706),
+                                        name:'_home',
+                                        isRoot:true,
+                                        fileIcon:'file_explorer_folder_home_rsc',
+                                        isOwner:true,
+                                        refObjListRoot:this
+                                    });
+                                    
+            homeIcon.content.setAttribute("visibility","visible");
+            homeIcon.icon_folder_pre.setAttribute("frame",2);
+            homeIcon._folderIcon.setAttribute("frame",2);
+            
+            //Home area
+            for (var i=0; i<roomObject.userHome.length; i++) {
+                var fileExplorerItem = roomObject.userHome[i];
+                //if ($debug) Debug.write("fileExplorerItem, ",fileExplorerItem);
+                if (fileExplorerItem.isFolder) {
+                    new lz.folderFileExplorerItem(homeIcon.content,{
+                                            fileExplorerItemId:fileExplorerItem.fileExplorerItemId,
+                                            fileName:fileExplorerItem.fileName,
+                                            fileIcon:'icon_folder_rsc',
+                                            refObjListRoot:this
+                                        });
+                } else if (fileExplorerItem.isImage) {
+                    new lz.imageFileExplorerItem(homeIcon.content,{
+                                            isFolder:false,
+                                            fileExplorerItemId:fileExplorerItem.fileExplorerItemId,
+                                            fileName:fileExplorerItem.fileName,
+                                            fileHash:fileExplorerItem.fileHash,
+                                            isFolder:false,isImage:true,
+                                            fileIcon:'file_explorer_image_rsc',
+                                            refObjListRoot:this
+                                        });
+                } else if (fileExplorerItem.isPresentation) {
+                    new lz.documentFileExplorerItem(homeIcon.content,{
+                                            isFolder:false,
+                                            fileExplorerItemId:fileExplorerItem.fileExplorerItemId,
+                                            fileName:fileExplorerItem.fileName,
+                                            fileHash:fileExplorerItem.fileHash,
+                                            isFolder:false,isPresentation:true,
+                                            fileIcon:'file_explorer_document_rsc',
+                                            refObjListRoot:this
+                                        });
+                } else if (fileExplorerItem.isVideo) {
+                    new lz.videoFileExplorerItem(homeIcon.content,{
+                                            isFolder:false,
+                                            isVideo:true,
+                                            fileExplorerItemId:fileExplorerItem.fileExplorerItemId,
+                                            fileName:fileExplorerItem.fileName,
+                                            fileHash:fileExplorerItem.fileHash,
+                                            isFolder:false,isImage:true,
+                                            fileIcon:'file_explorer_video_rsc',
+                                            flvHeight:fileExplorerItem.flvHeight,
+                                            flvWidth:fileExplorerItem.flvWidth,
+                                            refObjListRoot:this
+                                        });
+                } else if (fileExplorerItem.isStoredWmlFile) { 
+                	new lz.wmlFileExplorerItem(homeIcon.content,{
+                                            isFolder:false,
+                                            fileExplorerItemId:fileExplorerItem.fileExplorerItemId,
+                                            fileName:fileExplorerItem.fileName,
+                                            fileIcon:'file_explorer_wml_rsc',
+                                            isWmlFile: true,
+                                            refObjListRoot:this                	
+            							});
+                } else if (fileExplorerItem.isChart) { 
+                  new lz.wmlFileExplorerItem(homeIcon.content,{
+                                            isFolder:false,
+                                            fileExplorerItemId:fileExplorerItem.fileExplorerItemId,
+                                            fileName:fileExplorerItem.fileName,
+                                            fileIcon:'file_explorer_chart_rsc',
+                                            isChart:true,
+                                            refObjListRoot:this                 
+                          });
+
+            	}
+            }
+            //Public - Room Area
+            var roomHome = new lz.rootFileExplorerItem(this._filearea._contentarea,{
+                                        open:true,
+                                        fileName:canvas.getLabelName(707),
+                                        name:'_roomHome',
+                                        isRoot:true,
+                                        fileIcon:'file_explorer_folder_network_rsc',
+                                        refObjListRoot:this
+                                    });
+                                    
+            roomHome.content.setAttribute("visibility","visible");
+            roomHome.icon_folder_pre.setAttribute("frame",2);
+            roomHome._folderIcon.setAttribute("frame",2);
+            
+            //Public area
+            for (var i=0; i<roomObject.roomHome.length; i++) {
+                var fileExplorerItem = roomObject.roomHome[i];
+                //if ($debug) Debug.write("fileExplorerItem.fileExplorerItemId, ",fileExplorerItem.fileExplorerItemId);
+                //if ($debug) Debug.write("fileExplorerItem, ",fileExplorerItem);
+                if (fileExplorerItem.isFolder) {
+                    new lz.folderFileExplorerItem(roomHome.content,{
+                                            fileName:fileExplorerItem.fileName,
+                                            fileExplorerItemId:fileExplorerItem.fileExplorerItemId,
+                                            fileIcon:'icon_folder_rsc',
+                                            refObjListRoot:this
+                                        });
+                } else if (fileExplorerItem.isImage) {
+                    new lz.imageFileExplorerItem(roomHome.content,{
+                                            isFolder:false,
+                                            fileExplorerItemId:fileExplorerItem.fileExplorerItemId,
+                                            fileName:fileExplorerItem.fileName,
+                                            fileHash:fileExplorerItem.fileHash,
+                                            isFolder:false,isImage:true,
+                                            fileIcon:'file_explorer_image_rsc',
+                                            refObjListRoot:this
+                                        });
+                } else if (fileExplorerItem.isPresentation) {
+                    new lz.documentFileExplorerItem(roomHome.content,{
+                                            isFolder:false,
+                                            fileExplorerItemId:fileExplorerItem.fileExplorerItemId,
+                                            fileName:fileExplorerItem.fileName,
+                                            fileHash:fileExplorerItem.fileHash,
+                                            isFolder:false,isPresentation:true,
+                                            fileIcon:'file_explorer_document_rsc',
+                                            refObjListRoot:this
+                                        });
+                } else if (fileExplorerItem.isVideo) {
+                    new lz.videoFileExplorerItem(roomHome.content,{
+                                            isFolder:false,
+                                            isVideo:true,
+                                            fileExplorerItemId:fileExplorerItem.fileExplorerItemId,
+                                            fileName:fileExplorerItem.fileName,
+                                            fileHash:fileExplorerItem.fileHash,
+                                            isFolder:false,isImage:true,
+                                            fileIcon:'file_explorer_video_rsc',
+                                            flvHeight:fileExplorerItem.flvHeight,
+                                            flvWidth:fileExplorerItem.flvWidth,
+                                            refObjListRoot:this
+                                        });
+                } else if (fileExplorerItem.isStoredWmlFile) { 
+                	new lz.wmlFileExplorerItem(roomHome.content,{
+                                            isFolder:false,
+                                            fileExplorerItemId:fileExplorerItem.fileExplorerItemId,
+                                            fileName:fileExplorerItem.fileName,
+                                            fileIcon:'file_explorer_wml_rsc',
+                                            isWmlFile: true,
+                                            refObjListRoot:this                	
+            							});
+                } else if (fileExplorerItem.isChart) { 
+                  new lz.wmlFileExplorerItem(roomHome.content,{
+                                            isFolder:false,
+                                            fileExplorerItemId:fileExplorerItem.fileExplorerItemId,
+                                            fileName:fileExplorerItem.fileName,
+                                            fileIcon:'file_explorer_chart_rsc',
+                                            isChart:true,
+                                            refObjListRoot:this                 
+                          });
+           		}
+            }
+        ]]>
+    </method>
+    
+    <method name="clearContent">
+        <![CDATA[
+            for (var eg in this._filearea._contentarea.subviews) {
+                this._filearea._contentarea.subviews[eg].destroy();
+            }
+        ]]>
+    </method>
+    
+    <!--
+        Borders
+     -->
+               
+    <view name="_border2" x="0" y="${ 33 + parent._documentsTabs.height }" width="$once{ parent.width }" 
+          height="1" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" />     
+    
+    <!--
+        Documents - Tabbar
+     --> 
+    <documentsTabBar name="_documentsTabs" y="14" width="$once{ parent.width }"
+                    visibility="hidden" />
+    	
+    
+    <!--
+        File Tree Content Tabbar
+     --> 
+     
+    <view name="_fileBar" layout="axis:x" x="0" y="${ 14 + parent._documentsTabs.height }">
+        <baseChooseIconView labelid="702" height="20" width="19" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }"
+                            resourceN="file_explorer_add_file_rsc">
+            <handler name="onclick">
+                if ($debug) Debug.write("Upload File");
+                parent.parent.addFile();
+            </handler>
+        </baseChooseIconView>
+        <baseChooseIconView labelid="703" height="20" width="19" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }"
+                            resourceN="file_explorer_add_folder_rsc" >
+            <handler name="onclick">
+                if ($debug) Debug.write("Add Folder");
+                parent.parent.addFolder();
+            </handler>
+        </baseChooseIconView>
+        <baseChooseIconView labelid="704" height="20" width="19" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }"
+                            resourceN="file_explorer_reload_rsc" >
+            <handler name="onclick">
+                if ($debug) Debug.write("Refresh Folder");
+                parent.parent.loadFiles();
+            </handler>
+        </baseChooseIconView>
+        <view bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" height="20" width="1" />
+    </view>
+    
+    <!--
+        File Tree Content Trashbar
+     --> 
+     
+    <view name="_trashBar" layout="axis:x" x="$once{ parent.width - 20 }" 
+          y="${ 14 + parent._documentsTabs.height }">
+        <baseChooseIconView name="_trashIcon" labelid="705" height="20" width="19" 
+                         resourceN="file_explorer_trash_rsc" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }">
+            <attribute name="isTrashCan" value="true" type="boolean" />
+            <handler name="onclick">
+                if ($debug) Debug.write("Delete Folder and Files");
+            </handler>
+            <handler name="onmousetrackover">
+                //if ($debug) Debug.write("onmousetrackover");
+                canvas.currentImagesListdraw.currentDragItem.sendOverItem(this);
+                this.onmouseover.sendEvent();
+            </handler>
+            <handler name="onmousetrackout">
+                //if ($debug) Debug.write("onmousetrackout");
+                canvas.currentImagesListdraw.currentDragItem.sendOutItem(this);
+                this.onmouseout.sendEvent();
+            </handler>
+            <handler name="onmousetrackup">
+                if ($debug) Debug.write("onmousetrackup");
+                this.onmouseout.sendEvent();
+            </handler> 
+        </baseChooseIconView>
+        <view bgcolor="0xE0E0E0" height="20" width="1" />
+    </view>
+    
+    <!--
+        File Tree Content
+     --> 
+    
+    <view name="_filearea" x="1" y="${ 34 + parent._documentsTabs.height }" clip="true"
+          height="${ parent.height - 35 - parent._documentsTabs.height - parent._userSpace.height }" 
+          width="$once{ parent.width }">
+        
+        <attribute name="currentTrackGroupName" value="fileExplorer" type="string" />
+        
+        <attribute name="currentDragItem" value="null" />
+        
+        <handler name="oninit">
+            canvas.currentImagesListdraw = this;
+        </handler>
+        
+        <view name="_contentarea" layout="axis:y;inset:1" />
+        
+        <om_vscrollbar name="_scrollbar" />
+        <om_hscrollbar name="_hscrollbar" />
+    </view>
+    
+    <view name="_userSpace" height="40" valign="bottom" width="$once{ parent.width }">
+    	
+    	<labelText name="_userHomeSizeLabel" labelid="923" fgcolor="$once{ canvas.getThemeColor('menuTextColor') }" />
+    	
+    	<labelText name="_userHomeSize" align="right" fgcolor="$once{ canvas.getThemeColor('menuTextColor') }" />
+    	
+    	<labelText name="_roomHomeSizeLabel" labelid="924" y="20" fgcolor="$once{ canvas.getThemeColor('menuTextColor') }" />
+    	
+    	<labelText name="_roomHomeSize" align="right" y="20" fgcolor="$once{ canvas.getThemeColor('menuTextColor') }" />
+    	
+    </view>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/library.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/library.lzx
new file mode 100644
index 0000000..d7ec4ec
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/library.lzx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+    <include href="presentations/" />
+    <include href="tabbar/" />
+    
+    <include href="treeitems/" />
+    <include href="dynamicFileName.lzx" />
+    <include href="dragItemFileExplorer.lzx" />
+    <include href="fileExplorer.lzx" />
+
+    <resource name="drag_n_drop_rsc">
+    	<!-- APL Author sebawagner --> 
+        <frame src="resources/icon_drag_no.png" />
+        <!-- APL Author sebawagner --> 
+        <frame src="resources/icon_drag_add.png" />
+    </resource>    
+
+    <resource name="icon_folder_pre_rsc">
+    	<!-- APL Author sebawagner --> 
+        <frame src="resources/icon_folder_pre_closed_rsc.png" />
+        <!-- APL Author sebawagner --> 
+        <frame src="resources/icon_folder_pre_open_rsc.png" />
+    </resource>
+    
+    <resource name="icon_folder_rsc">
+    	<!-- FamFam Icon Set -->
+        <frame src="resources/folder.png" />
+        <frame src="resources/folder.png" />
+    </resource>
+    
+    <!-- FamFam Icon Set --> 
+    <resource name="file_explorer_video_rsc" src="resources/film.png" />	
+    <!-- FamFam Icon Set -->
+    <resource name="file_explorer_add_file_rsc" src="resources/add.png" />
+    <!-- FamFam Icon Set --> 
+    <resource name="file_explorer_add_folder_rsc" src="resources/folder_add.png" />
+    <!-- FamFam Icon Set --> 
+    <resource name="file_explorer_reload_rsc" src="resources/arrow_refresh_small.png" />
+    <!-- 
+    WPZOOM Creative Commons Attribution-ShareAlike 3.0 Unported License.
+    http://www.wpzoom.com/wpzoom/new-freebie-wpzoom-developer-icon-set-154-free-icons/
+     -->
+    <resource name="file_explorer_trash_rsc" src="resources/trash.png" />
+    <!-- APL Author sebawagner -->
+    <resource name="file_explorer_close_rsc" src="resources/remove_item.png" />
+    <!-- FamFam Icon Set --> 
+    <resource name="file_explorer_view_tree_rsc" src="resources/folder_explore.png" />   
+    
+    <!-- FamFam Icon Set --> 
+    <resource name="file_explorer_image_rsc" src="resources/photo.png" />
+    <!-- FamFam Icon Set --> 
+    <resource name="file_explorer_document_rsc" src="resources/report.png" />
+    <!-- FamFam Icon Set --> 
+    <resource name="file_explorer_wml_rsc" src="resources/map.png" />
+    <!-- FamFam Icon Set -->
+    <resource name="file_explorer_chart_rsc" src="resources/chart_pie.png" />
+    <!-- FamFam Icon Set -->
+    <resource name="file_explorer_folder_rsc" src="resources/folder.png" />
+    <!-- FamFam Icon Set -->
+    <resource name="file_explorer_folder_network_rsc" src="resources/world_link.png" />
+    <!-- FamFam Icon Set -->
+    <resource name="file_explorer_folder_home_rsc" src="resources/house_link.png" />
+    
+    
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/items/baseListPresentationItemExplorer.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/items/baseListPresentationItemExplorer.lzx
new file mode 100644
index 0000000..df34a39
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/items/baseListPresentationItemExplorer.lzx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="baseListPresentationItemExplorer" extends="view" height="110" width="$once{ parent.width }" 
+    bgcolor="$once{ canvas.getThemeColor('mainBackgroundColor') }" focusable="true">
+    
+    <attribute name="uploadmodul" value="" type="string"/>
+    <attribute name="selectable" value="true" type="boolean" />
+    <attribute name="isselected" value="false" type="boolean" />
+    <attribute name="isoriginal" value="false" type="boolean" />
+    
+    <attribute name="uploadmoduleimgfolder" value="$once{ canvas.uploadmoduleimgfolder }" type="string" />
+    
+    <method name="formatURL" args="filename">
+        <![CDATA[
+            var downloadurl = canvas.protocol + '://' + canvas.rtmphostlocal + ':' + canvas.red5httpport +canvas.httpRootKey+'DownloadHandler?' +
+                'fileName=' + encodeURIComponent(filename) +
+                '&moduleName=' + this.uploadmodul + 
+                '&parentPath=' + encodeURIComponent(this.uploadmoduleimgfolder + '/' )+
+                '&room_id=files'+
+                '&sid='+canvas.sessionId;
+            ////Debug.write("downloadurl: ",downloadurl);
+            return downloadurl;
+        ]]>
+    </method>    
+
+    <handler name="onmouseover">
+        setCurrentMouseWheelObject(this.parent.parent._scrollbar);
+        if (!this.isselected){
+            this.setAttribute('bgcolor',canvas.getThemeColor('baseMouseOvercolorizer'));
+        }
+    </handler> 
+    <handler name="onmouseout">
+        disableCurrentMouseWheelObject();
+        if (!this.isselected){
+            this.setAttribute('bgcolor',canvas.getThemeColor('mainBackgroundColor'));
+        }
+    </handler>  
+       
+    <handler name="onfocus">
+        this.selectItem();
+    </handler>
+    <handler name="onblur">
+        this.disselectItem();
+    </handler>
+
+    <handler name="onkeyup" args="k"> 
+        //Debug.write("key " + k + " up");
+    </handler>
+    
+    <method name="selectItem">
+        //this.parent.selectItem(this);
+    </method>
+    <method name="disselectItem">
+        //this.parent.selectItem(this);
+    </method>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/items/imageListInnerTableExplorer.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/items/imageListInnerTableExplorer.lzx
new file mode 100644
index 0000000..43aded1
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/items/imageListInnerTableExplorer.lzx
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="imageListInnerTableExplorer" extends="view" width="${ parent.width-2 }" 
+    height="${ parent.height-2 }" 
+	bgcolor="white" x="1" y="1" clip="true">
+    
+    <view name="_listcontent" bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" width="$once{ parent.width }" >
+        <simplelayout name="_layout" axis="y" spacing="2" inset="1" />
+        
+        <!--
+	  	<netRemoteCallHib name="deleteFile" funcname="fileservice.deleteFile" remotecontext="$once{ canvas.thishib }" >   
+			<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+	  		<netparam><method name="getValue">return parent.String1;</method></netparam>
+        	<netparam><method name="getValue">return canvas.uploadmoduleimg;</method></netparam>
+			<netparam><method name="getValue">return parent.String2;</method></netparam>
+			<netparam><method name="getValue">return hib.currentroomid;</method></netparam>        	
+	        <handler name="ondata" args="value">	
+	        	//Debug.write("  deleteFile: ",value);  
+				//Debug.write("  deleteFile: ",this.String1);    
+				//Debug.write("  deleteFile: ",this.String2);   
+		  		var tempSendArray = new Array ();
+		  		tempSendArray[0] = 'fileslist';
+		  		var nowTime = new Date();
+		  		var datumsString = nowTime.getHours()+':'+nowTime.getMinutes();
+		  		tempSendArray[1] = datumsString;
+	  			//Debug.write("Setting Message");
+	  			tempSendArray[2] = 'newfile';
+	  			tempSendArray[3] = canvas.currentusename;
+		  		//Debug.write("send: ",tempSendArray);
+		  		canvas.objMessage = tempSendArray;
+		  		hib.sendMessage.doCall();         	          				
+	        </handler>	
+	  	</netRemoteCallHib> 
+	  	 -->	
+		
+		<method name="getconfirmationscode">
+			var g = canvas.getUserData();
+			 if (g["wmlfile"]==null) {
+				 g["wmlfile"]=new Array();
+				 g["wmlfile"]["clearField"]=false;
+				 g["wmlfile"]["askagainclear"]=true;
+				 canvas.setUserData(g);
+			 }
+			 return g["wmlfile"];
+		</method>
+		
+		<method name="resetDefaultConfirmations">
+			var g = canvas.getUserData();
+			 if (g["wmlfile"]==null) g["wmlfile"]=new Array();
+			 g["wmlfile"]["clearField"]=false;
+			 g["wmlfile"]["askagainclear"]=true;
+			 canvas.setUserData(g);
+	
+		</method>	
+		
+		<method name="sendConfirmation" args="yesno,askagain" >
+			
+			//Debug.write("clear yesno,askagain: ",yesno,askagain);
+			//can only be true in this case
+		
+			 var g = canvas.getUserData();
+			 if (g["wmlfile"]==null) g["wmlfile"]=new Array();
+			 g["wmlfile"]["clearField"]=yesno;
+			 g["wmlfile"]["askagainclear"]=!askagain;
+			 canvas.setUserData(g);
+	
+			 if (yesno){
+				 //Debug.write("clear field!!");
+				canvas._drawarea.setModus('plain');
+				this.loadWmlObject.doCall();
+			 }
+		</method>				
+		
+		<method name="loadWmlObjectConfirm">
+			<![CDATA[
+			var storedImageDate = this.getconfirmationscode();
+			//Debug.write(" g[wmlfile] ",storedImageDate);
+			if (storedImageDate["clearField"] && !storedImageDate["askagainclear"]){
+				canvas._drawarea.setModus('plain');
+				this.loadWmlObject.doCall();
+			} else if (!storedImageDate["askagainclear"] && !storedImageDate["clearField"]){
+				//this case will never happen
+				this.loadWmlObject.doCall();
+			} else if (storedImageDate["askagainclear"]){
+				new lz.confirmationSingle(canvas.main_content._content.inner,{labelid:210,labeliderror:211,refObj:this});
+			} else {
+				new lz.confirmationSingle(canvas.main_content._content.inner,{labelid:210,labeliderror:211,refObj:this});
+			}
+			]]>
+		</method>
+		
+	  	<netRemoteCallHib name="loadWmlObject" funcname="fileservice.loadWmlObject" remotecontext="$once{ canvas.thishib }" >   
+			<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+			<netparam><method name="getValue">return hib.currentroomid;</method></netparam>        	
+			  <netparam><method name="getValue">return parent.String1;</method></netparam>
+	        <handler name="ondata" args="value">	
+				<![CDATA[
+					if ($debug) Debug.write("  loadwmlObjectToStage ",value); 
+					canvas._drawarea.loadwmlObjectToStage(value,this.String1,hib.currentroomid,hib.conferencedomain,true,false);
+				]]>       	     				
+	        </handler>	
+	  	</netRemoteCallHib>
+        
+        
+        <method name="loadSWFPresentation" args="url,fileName,moduleName,parentPath,room,domain,slideNumber">
+            if ($debug) Debug.write("loadSWFPresentation");
+            canvas._drawarea.loadSWFPresentationSynced(url,fileName,moduleName,parentPath,room,domain,slideNumber,"");
+        </method>
+        
+        <method name="checkSWFPresentation" args="url,fileName,moduleName,parentPath,room,domain,slideNumber">
+            if ($debug) Debug.write("checkSWFPresentation");
+            return canvas._drawarea.checkSWFPresentation(url,fileName,moduleName,parentPath,room,domain,slideNumber);
+        </method>
+        
+        <method name="checkForOriginal" args="slideNumber">
+            <![CDATA[
+                var tWhiteBoard = false;
+                for (var i=0;i<this.subviews.length;i++){
+                    if (this.subviews[i].isoriginal){
+                        tWhiteBoard = this.subviews[i].checkSWFPresentation(slideNumber);
+                        if (!tWhiteBoard) {
+                            this.subviews[i].addSWFPresentation(slideNumber);
+                            break;
+                        }
+                    }
+                }
+                if ($debug) Debug.write("tWhiteBoard: ",tWhiteBoard);
+            ]]>
+        </method>
+		 	 
+    </view>
+
+    <om_vscrollbar name="_scrollbar" />
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/items/library.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/items/library.lzx
new file mode 100644
index 0000000..c302cc9
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/items/library.lzx
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+ 
+	<include href="imageListInnerTableExplorer.lzx" />
+    
+    <include href="baseListPresentationItemExplorer.lzx" />
+    <include href="listPresentationThumbExplorer.lzx" />
+    <include href="listPresentationFilePDFExplorer.lzx" />
+    <include href="listPresentationFileOrigExplorer.lzx" />
+    
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/items/listPresentationFileOrigExplorer.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/items/listPresentationFileOrigExplorer.lzx
new file mode 100644
index 0000000..da90cb4
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/items/listPresentationFileOrigExplorer.lzx
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="listPresentationFileOrigExplorer" extends="listPresentationFilePDFExplorer">
+    
+    <attribute name="originalName" value="" type="string"/>
+    
+    <view name="_filesave_icon_original" x="120" y="6" resource="_filesave_icon_original_rsc"
+        onmouseover="" onmouseout="">
+        <handler name="onclick">
+            this.parent.loadFileByName(this.parent.originalName.filename);
+        </handler>
+        <labelTooltip labelid="247" />
+    </view>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/items/listPresentationFilePDFExplorer.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/items/listPresentationFilePDFExplorer.lzx
new file mode 100644
index 0000000..658ecb7
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/items/listPresentationFilePDFExplorer.lzx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="listPresentationFilePDFExplorer" extends="baseListPresentationItemExplorer" selectable="false">
+    
+    
+    <attribute name="pdfname" value="null" />
+    <attribute name="swfName" value="null" />
+    
+    <attribute name="fileExplorerItemId" value="-1" type="number" />
+    
+    <method name="loadFileByName" args="filename">
+    	<![CDATA[
+    		var lzURLToLoad = this.formatURL(filename)+"&fileExplorerItemId="+this.fileExplorerItemId;
+    		if ($debug) Debug.write("lzURLToLoad ",lzURLToLoad);
+        	lz.Browser.loadURL(lzURLToLoad,'_parent');
+        ]]>
+    </method>
+
+    <handler name="onclick">
+        this.parent.loadSWFPresentation(this.formatURL(this.swfName.filename),this.swfName.filename,this.uploadmodul,this.uploadmoduleimgfolder,'files',hib.conferencedomain,1);
+    </handler>
+    
+    <method name="checkSWFPresentation" args="slideNumber">
+        return this.parent.checkSWFPresentation(this.formatURL(this.swfName.filename),this.swfName.filename,this.uploadmodul,this.uploadmoduleimgfolder,'files',hib.conferencedomain,slideNumber);
+    </method>    
+    
+    <method name="addSWFPresentation" args="slideNumber">
+        this.parent.loadSWFPresentation(this.formatURL(this.swfName.filename),this.swfName.filename,this.uploadmodul,this.uploadmoduleimgfolder,'files',hib.conferencedomain,slideNumber);
+    </method>    
+    
+    <view name="_filesave_icon_pdf" x="150" y="6" resource="_filesave_icon_pdf_rsc">
+        <handler name="onclick">
+            //Debug.write("this.parent.pdfname: ",this.parent.pdfname.filename);
+            //Debug.write("this.parent: ",this.parent);
+            this.parent.loadFileByName(this.parent.pdfname.filename);
+        </handler>
+        <labelTooltip labelid="248" />
+    </view>
+        
+    <labelText name="_Text" y="40" labelid="249" width="240" />
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/items/listPresentationThumbExplorer.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/items/listPresentationThumbExplorer.lzx
new file mode 100644
index 0000000..2640814
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/items/listPresentationThumbExplorer.lzx
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="listPresentationThumbExplorer" extends="baseListPresentationItemExplorer">
+    
+    <attribute name="thumbname" value="" type="string"/>
+    <attribute name="no" value="" type="string"/>
+    
+    <handler name="oninit">
+        this._thumb.setAttribute('src',this.formatURL(this.thumbname));
+    </handler>
+    
+    <handler name="onclick">
+        this.parent.checkForOriginal(Number(no));
+    </handler>    
+    
+    <image name="_thumb" x="10" y="1"/>
+    <text name="_thumbText" x="120" text="$once{ this.parent.no }" fontsize="10"
+        width="240" multiline="true"/>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/library.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/library.lzx
new file mode 100644
index 0000000..9cf7dd1
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/library.lzx
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	<include href="items/" />
+	<include href="presentationFilesList.lzx" />
+    <include href="presentationPreview.lzx" />
+    
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/presentationFilesList.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/presentationFilesList.lzx
new file mode 100644
index 0000000..bddaf0e
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/presentationFilesList.lzx
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+<!--  -->
+
+<class name="presentationFilesList" extends="view" 
+       x="0" y="40" height="${ parent.height-40 }" 
+        width="${ parent.width }" bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }">
+    
+    <event name="onclose" />
+    
+	<view width="$once{ parent.width-2 }" height="${ parent.height-2 }" 
+		  x="1" y="1" bgcolor="white" />
+
+	<attribute name="uploadmodul" value="$once{ canvas.uploadmoduleimg }" type="string" />
+
+    <method name="addPresentationThumb" args="thumbName,no">
+        new lz.listPresentationThumbExplorer(this._table._listcontent,{isExplorer:true,
+        					uploadmodul:this.uploadmodul,thumbname:thumbName,no:no});
+    </method>
+    
+    <method name="addListpresentationFileOrig" args="originalName,pdfname,swfName,fileExplorerItemId">
+    	if ($debug) Debug.write("addListpresentationFileOrig ",originalName,pdfname,swfName,fileExplorerItemId);
+        new lz.listPresentationFileOrigExplorer(this._table._listcontent,{
+	        				isExplorer:true,
+	        				isoriginal:true,
+	        				uploadmodul:this.uploadmodul,
+	        				originalName:originalName,
+	        				pdfname:pdfname,
+	        				swfName:swfName,
+	        				fileExplorerItemId:fileExplorerItemId
+        				});
+    </method>
+    
+    <method name="addListpresentationFilePDF" args="pdfname,swfName,fileExplorerItemId">
+    	if ($debug) Debug.write("addListpresentationFilePDF ",originalName,pdfname,swfName,fileExplorerItemId);
+        new lz.listPresentationFilePDFExplorer(this._table._listcontent,{
+	        				isExplorer:true,
+	        				isoriginal:true,
+	        				uploadmodul:this.uploadmodul,
+	        				pdfname:pdfname,
+	        				swfName:swfName,
+	        				fileExplorerItemId:fileExplorerItemId
+        				});
+    </method>
+	    
+    <method name="resetList">
+    	this._table.destroy();
+    	new lz.imageListInnerTableExplorer(this,{name:'_table'});
+    	this._hideForNonMods.bringToFront();
+    </method>
+    
+    <method name="highlightItem" args="obj">
+    	<![CDATA[
+    		for (var i=0;i<this._table._listcontent.subviews.length;i++){
+    			if (!this._table._listcontent.subviews[i].isPpt){
+                    //Debug.write("this._table._listcontent.subviews[i]: ",this._table._listcontent.subviews[i]);
+    				this._table._listcontent.subviews[i]._thumbText.setAttribute('text','<font>'+this._table._listcontent.subviews[i].filenamePure+'</font>');
+                }
+    		}
+    		obj._thumbText.setAttribute('text','<font><b>'+obj.filenamePure+'</b></font>');
+    	]]>
+    </method>
+    
+	<imageListInnerTableExplorer name="_table" y="20"
+						 height="${ parent.height-22 }" />
+	
+    <view name="_trashBar" layout="axis:x" x="$once{ parent.width - 20 }" y="0">
+        <baseChooseIconView name="_trashIcon" labelid="718" height="20" width="19" 
+                         resourceN="file_explorer_close_rsc">
+            <handler name="onclick">
+                parent.parent.onclose.sendEvent();
+            </handler>
+        </baseChooseIconView>
+        <view bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" height="20" width="1" />
+    </view>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/presentationPreview.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/presentationPreview.lzx
new file mode 100644
index 0000000..fed200f
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/presentations/presentationPreview.lzx
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="presentationPreview" extends="view" x="1" y="33" clip="true"
+        height="${ parent.height - 34 }" width="$once{ parent.width - 2 }">
+	
+	
+	<attribute name="documentObj" value="null" />
+	<attribute name="refObjList" value="null" />
+	
+	<attribute name="miniButton" value="null" />
+	
+	<handler name="oninit">
+		this.addFolderSequence();
+		if ($debug) Debug.write("presentationPreview 1 ",this.width);
+		if ($debug) Debug.write("presentationPreview 2 ",this.height);
+		this.miniButton = this.refObjList._documentsTabs.addItem(this);
+	</handler>
+	
+	<method name="addFolderSequence">
+        <![CDATA[
+        if ($debug) Debug.write("foldername 1 ",this.documentObj.fileHash);
+        if ($debug) Debug.write("foldername 2 ",this.documentObj.fileExplorerItemId);
+        canvas.uploadmoduleimgfolder = '/'+this.documentObj.fileHash;
+        this.getPresentationPreviewFileExplorer.doCall();
+        ]]>
+    </method>
+    
+    <netRemoteCallHib name="getPresentationPreviewFileExplorer" funcname="fileservice.getPresentationPreviewFileExplorer" 
+        remotecontext="$once{ canvas.thishib }" >   
+        <netparam><method name="getValue">return canvas.sessionId; </method></netparam>
+        <netparam><method name="getValue">return parent.parent.documentObj.fileHash;</method></netparam>
+        <handler name="ondata" args="value">    
+            if ($debug) Debug.write("getPresentationPreviewFileExplorer -1-: ",value);
+            if ($debug) Debug.write("getPresentationPreviewFileExplorer -3-: ",parent.documentObj.fileHash);
+            parent.renderItems(value);
+        </handler>
+    </netRemoteCallHib>     
+    
+    <method name="renderItems" args="presentationObject" >
+        if ($debug) Debug.write("this: ",this);
+        if ($debug) Debug.write("presentationObject: ",presentationObject);
+        <![CDATA[
+            
+            if ($debug) Debug.write("presentationObject: ",presentationObject);
+        
+            if (presentationObject.pdfDocument==null){
+                //Is PDF only
+                //Debug.write("Is PDF only");
+                this._imageslistdraw.addListpresentationFilePDF(presentationObject.originalDocument,presentationObject.swfDocument,this.documentObj.fileExplorerItemId);
+            } else {
+                //Is original Document + PDF-Document
+                //Debug.write("Is original Document + PDF-Document");
+                this._imageslistdraw.addListpresentationFileOrig(presentationObject.originalDocument,presentationObject.pdfDocument,presentationObject.swfDocument,this.documentObj.fileExplorerItemId);
+            }
+        
+            for (var eg=0;eg<presentationObject.thumbs.thumbs.length;eg++){
+                ////Debug.write(presentationObject.thumbs.thumbs[eg].filename);
+                this._imageslistdraw.addPresentationThumb(presentationObject.thumbs.thumbs[eg].filename,(eg+1));
+            }
+        
+        ]]>   
+    </method> 
+    
+    <presentationFilesList name="_imageslistdraw" x="0" y="0" width="$once{ parent.width }"
+    				height="${ parent.height }" >
+    	<handler name="onclose">
+    		parent.miniButton.close();
+    	</handler>
+    </presentationFilesList>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/add.png b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/add.png
new file mode 100644
index 0000000..6332fef
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/add.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/arrow_refresh_small.png b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/arrow_refresh_small.png
new file mode 100644
index 0000000..d3087df
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/arrow_refresh_small.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/chart_pie.png b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/chart_pie.png
new file mode 100644
index 0000000..fe00fa0
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/chart_pie.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/film.png b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/film.png
new file mode 100644
index 0000000..b0ce7bb
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/film.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/folder.png b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/folder.png
new file mode 100644
index 0000000..784e8fa
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/folder.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/folder_add.png b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/folder_add.png
new file mode 100644
index 0000000..529fe8f
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/folder_add.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/folder_blue_open.png b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/folder_blue_open.png
new file mode 100644
index 0000000..2c55c56
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/folder_blue_open.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/folder_explore.png b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/folder_explore.png
new file mode 100644
index 0000000..0ba9391
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/folder_explore.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/house_link.png b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/house_link.png
new file mode 100644
index 0000000..be2c271
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/house_link.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/icon_drag_add.png b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/icon_drag_add.png
new file mode 100644
index 0000000..a12ae41
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/icon_drag_add.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/icon_drag_no.png b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/icon_drag_no.png
new file mode 100644
index 0000000..784df30
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/icon_drag_no.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/icon_folder_pre_closed_rsc.png b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/icon_folder_pre_closed_rsc.png
new file mode 100644
index 0000000..a72275c
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/icon_folder_pre_closed_rsc.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/icon_folder_pre_open_rsc.png b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/icon_folder_pre_open_rsc.png
new file mode 100644
index 0000000..1e1b042
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/icon_folder_pre_open_rsc.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/map.png b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/map.png
new file mode 100644
index 0000000..f90ef25
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/map.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/photo.png b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/photo.png
new file mode 100644
index 0000000..6c2aaaa
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/photo.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/remove_item.png b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/remove_item.png
new file mode 100644
index 0000000..5031ff4
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/remove_item.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/report.png b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/report.png
new file mode 100644
index 0000000..779ad58
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/report.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/trash.png b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/trash.png
new file mode 100644
index 0000000..b92592b
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/trash.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/world_link.png b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/world_link.png
new file mode 100644
index 0000000..b8edc12
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/resources/world_link.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/tabbar/baseChooseIconView.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/tabbar/baseChooseIconView.lzx
new file mode 100644
index 0000000..5b4e828
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/tabbar/baseChooseIconView.lzx
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="baseChooseIconView" extends="view" width="24" height="24" 
+       bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }"  >
+    
+    <attribute name="resourceN" value="" type="string" />
+    <attribute name="isselected" value="false" type="boolean" />
+    <attribute name="labelid" value="0" type="number" />
+    
+    <handler name="oninit">
+        if (this.isselected){
+            this.onclick.sendEvent();
+        }
+    </handler> 
+    
+    <handler name="onmouseover">
+        this._bg.setAttribute("bgcolor",canvas.getThemeColor('baseMousecolorizer'));
+    </handler>
+    
+    <handler name="onmouseout">
+        this._bg.setAttribute("bgcolor",canvas.getThemeColor('mainBackgroundColor'));
+    </handler>
+    
+    <view name="_bg" x="1" y="1" width="$once{ parent.width-1 }" 
+          height="$once{ parent.height-2 }" bgcolor="$once{ canvas.getThemeColor('mainBackgroundColor') }" />
+    
+    <view x="2" y="2" resource="$once{ parent.resourceN }" />
+             
+    <labelTooltip labelid="$once{ parent.labelid }" inittwice="true" />
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/tabbar/documentsLoaderIcon.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/tabbar/documentsLoaderIcon.lzx
new file mode 100644
index 0000000..60c8787
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/tabbar/documentsLoaderIcon.lzx
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="documentsLoaderIcon" extends="view" height="20" width="19" 
+       bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }"  >
+    
+    <attribute name="resourceN" value="" type="string" />
+    <attribute name="isselected" value="false" type="boolean" />
+    <attribute name="labeltext" value="" type="string" />
+    
+    <attribute name="refObj" value="null" />
+    
+    <method name="hide">
+        this._bg.setAttribute("height",this.height-2);
+        parent.parent.hideSelection(this);
+    </method>
+    
+    <method name="setSelection">
+    	this._bg.setAttribute("height",this.height);
+    </method>
+    
+    <handler name="onclick">
+        parent.parent.sendSelection(this);
+    </handler>
+    
+    <handler name="oninit">
+        if (this.isselected){
+            this.onclick.sendEvent();
+        }
+    </handler> 
+    
+    <method name="close">
+    	parent.parent.close(this);
+    </method>
+    
+    <handler name="onmouseover">
+        this._bg.setAttribute("bgcolor",canvas.getThemeColor('baseMousecolorizer'));
+    </handler>
+    
+    <handler name="onmouseout">
+        this._bg.setAttribute("bgcolor",0xFFFFFF);
+    </handler>
+    
+    <view name="_bg" x="1" y="1" width="$once{ parent.width-1 }" 
+          height="$once{ parent.height-2 }" bgcolor="0xFFFFFF" />
+    
+    <view x="2" y="2" resource="$once{ parent.resourceN }" />
+             
+    <labelTooltip text="$once{ parent.labeltext }" />
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/tabbar/documentsTabBar.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/tabbar/documentsTabBar.lzx
new file mode 100644
index 0000000..3f4d6fc
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/tabbar/documentsTabBar.lzx
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="documentsTabBar" extends="view" height="0" y="14" layout="axis:x" >
+    
+    <attribute name="currentItem"/>
+    
+    <method name="sendSelection" args="itemRef">
+        this.hideAll();
+        itemRef.setSelection();
+        if (itemRef.refObj == null) {
+            parent._filearea.setAttribute("visibility","visible");
+            parent._trashBar.setAttribute("visibility","visible");
+            parent._fileBar.setAttribute("visibility","visible");
+            parent._border2.setAttribute("visibility","visible");
+        } else {
+        	//if ($debug) Debug.write(itemRef.refObj);
+            itemRef.refObj.setAttribute("visibility","visible");
+        }
+    </method>
+    
+    <method name="hideSelection" args="itemRef">
+        if (itemRef.refObj == null) {
+            parent._filearea.setAttribute("visibility","hidden");
+            parent._trashBar.setAttribute("visibility","hidden");
+            parent._fileBar.setAttribute("visibility","hidden");
+            parent._border2.setAttribute("visibility","hidden");
+        } else {
+            itemRef.refObj.setAttribute("visibility","hidden");
+        }
+    </method>
+    
+    <method name="close" args="buttonRef">
+    	buttonRef.refObj.destroy();
+    	buttonRef.destroy();
+    	this._content.subviews[this._content.subviews.length-1].onclick.sendEvent();
+    </method>
+    
+    <method name="hideAll">
+        <![CDATA[
+            for (var eg in this._content.subviews) {
+                this._content.subviews[eg].hide();
+            }
+        ]]>
+    </method>
+    
+    <method name="addItem" args="tab">
+        var t = new lz.documentsLoaderIcon(this._content,{
+                   resourceN:tab.documentObj.fileIcon,
+                   refObj:tab,
+                   labeltext:tab.documentObj.fileName
+                });
+        t.onclick.sendEvent();
+        return t;
+    </method>
+    
+    <view name="_border2" x="0" y="19" options="ignorelayout: true"
+          width="$once{ parent.width }" height="2" 
+          bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" /> 
+           
+    <view name="_content" layout="axis:x">  
+        <documentsLoaderIcon name="_explorerTreeView" 
+            resourceN="file_explorer_view_tree_rsc" height="20" width="19" 
+            labeltext="$once{ canvas.getLabelName(717) }" />
+    </view>    
+    <view name="_border" height="20" width="1" 
+        bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" />
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/tabbar/library.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/tabbar/library.lzx
new file mode 100644
index 0000000..7810c74
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/tabbar/library.lzx
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+    <include href="baseChooseIconView.lzx" />
+    <include href="documentsLoaderIcon.lzx" />
+    <include href="documentsTabBar.lzx" />
+    
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/baseFileExplorerItem.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/baseFileExplorerItem.lzx
new file mode 100644
index 0000000..06c3ea0
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/baseFileExplorerItem.lzx
@@ -0,0 +1,533 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="baseFileExplorerItem" extends="view">
+	
+	<attribute name="refObjListRoot" value="null"/>
+	
+	<attribute name="isRoot" value="false" type="boolean" />
+	
+	<attribute name="fileIcon" type="string" value="string" />
+	
+	<attribute name="open" value="false" type="boolean" />
+	
+	<attribute name="fileExplorerItemId" value="0" type="number" />
+	<attribute name="isOwner" value="false" type="boolean" />
+	
+	<attribute name="isFolder" value="true" type="boolean" />
+	<attribute name="isImage" value="false" type="boolean" />
+	<attribute name="isPresentation" value="false" type="boolean" />
+	<attribute name="isVideo" value="false" type="boolean" />
+	
+	<attribute name="fileName" value="" type="string" />
+	<attribute name="fileHash" value="" type="string" />
+	
+	<attribute name="selected" value="false" type="boolean"/>
+	
+	<attribute name="singleClickDelegate" value="null" />
+	<attribute name="singleClickStarted" value="false" type="boolean" />
+	
+	<attribute name="isMouseDownDragAction" value="false" type="boolean"/>
+	
+	<!-- If this is true, then this item has been drag-n-droped and it makes no 
+	       sense to handle any single or double click event -->
+	<attribute name="mouseDownClickUsed" value="false" type="boolean" />
+	<attribute name="mouseDownClickDelegate" value="null" />
+	
+	<attribute name="isTrashCan" value="false" type="boolean" />
+	
+	<handler name="oninit">
+		this.singleClickDelegate = new LzDelegate( this, "doSingleClick" );
+		this.resetClickDelegate = new LzDelegate( this, "doResetSingleClick" );
+		this.mouseDownClickDelegate = new LzDelegate( this, "doMouseDownClick" );
+		if (this.isFolder) {
+		    lz.Track.register(this._fileName, canvas.currentImagesListdraw.currentTrackGroupName);
+		}
+	</handler>
+	
+	<method name="doOpen">
+		this.open = true;
+		if (this.isFolder) {
+    		this.icon_folder_pre.setAttribute("frame",2);
+    		this.content.setAttribute("visibility","visible");
+			this._folderIcon.setAttribute("frame",2);
+		    this.loadFiles();
+		}
+	</method>
+	
+	<method name="doClose">
+		this.open = false;
+		if (this.isFolder) {
+            this.icon_folder_pre.setAttribute("frame",1);
+            this.content.setAttribute("visibility","hidden");
+            this._folderIcon.setAttribute("frame",1);
+		}
+	</method>
+	
+    <method name="doMouseDownClick" args="itemObj">
+    	<![CDATA[
+			if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
+	    		new lz.labelerrorPopup(canvas,{errorlabelid:1462});
+	    		return;
+	    	}
+	    	this.mouseDownClickUsed = true;
+	    	if ($debug) Debug.write("mouseDown CLICK Start Drag And Drop");
+	    	new lz.dragItemFileExplorer(canvas,{
+	    		        dragItemResource:this.fileIcon,
+	            	    refObj:this,
+	                    x:canvas.getMouse('x'),
+	                    y:canvas.getMouse('y')
+	            	});
+        ]]>
+    </method>
+    
+    <!--
+    	Check if this is the Owner
+     -->
+    <method name="checkForIsOwner">
+    	if (this.isRoot) {
+    		return this.isOwner;
+    	} else {
+    		return parent.parent.checkForIsOwner();
+    	}
+    </method>
+    
+    <!--
+    	Check if the user tries to move a file in its own tree,
+    	see moveFile
+     -->
+    <method name="checkForIsChild" args="compareFileExplorerItemId">
+    	if (this.isRoot) {
+    		return false;
+    	} else {
+    		if (this.fileExplorerItemId == compareFileExplorerItemId) {
+    			return true;
+    		} else {
+    			return parent.parent.checkForIsChild(compareFileExplorerItemId);
+    		}
+    	}
+    </method>
+    
+    <method name="deleteFile" args="labelid">
+    	<![CDATA[
+			if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
+	    		new lz.labelerrorPopup(canvas,{errorlabelid:1462});
+	    		return;
+	    	}
+	    	new lz.confirmationSingle(canvas,{
+	                           refObj:this,
+	                           labelid:labelid,
+	                           labeliderror:713,
+	                           showCheckBox:false
+	                        });
+    	]]>
+    </method>
+    
+    <method name="sendConfirmation" args="bool,askAgain">
+        if (bool) {
+            this.deleteFileOrFolder();
+        }
+    </method>
+    
+    <method name="deleteFileOrFolder">
+        <![CDATA[
+			if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
+	    		new lz.labelerrorPopup(canvas,{errorlabelid:1462});
+	    		return;
+	    	}
+	    	
+            if ($debug) Debug.write("deleteFileOrFolder HTTP 1: ");
+            //this.getFileExplorerByRoom.doCall();
+            var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                            +canvas.httpRootKey+'services/FileService/deleteFileOrFolderSelf?'
+                            +'SID='+canvas.sessionId
+                            +'&fileExplorerItemId='+this.fileExplorerItemId;
+            
+            this.deleteFileOrFolderSelf.setAttribute("src",downloadurl);
+            if ($debug) Debug.write("deleteFileOrFolderSelf doRequest ",downloadurl);
+            this.deleteFileOrFolderSelf.doRequest();
+        ]]>
+    </method>
+    
+    <dataset name="deleteFileOrFolderSelf" type="http" >
+        <handler name="ondata" args="d">
+            <![CDATA[
+                //if ($debug) Debug.write("ondata ",d);
+                if ($debug) Debug.write("deleteFileOrFolder: ",d);
+                parent.parent.parent.doOpen();
+                parent.refObjListRoot._selected = null;
+                parent.refObjListRoot.parentFolderId = -2;
+            ]]>
+        </handler>
+    </dataset>
+    
+    <!--
+    <netRemoteCallHib name="deleteFileOrFolder" funcname="fileservice.deleteFileOrFolder" 
+        remotecontext="$once{ canvas.thishib }" > 
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.parent.fileExplorerItemId;</method></netparam>
+        <handler name="ondata" args="value">    
+            if ($debug) Debug.write("deleteFileOrFolder: ",value);
+            parent.parent.parent.doOpen();
+            parent.refObjListRoot._selected = null;
+            parent.refObjListRoot.parentFolderId = -2;
+        </handler>
+    </netRemoteCallHib> 
+     -->
+    
+	<method name="doSingleClick" args="itemObj">
+		this.singleClickStarted = false;
+		//Cannot change name for Root Icons
+		if (this.isRoot) {
+            return;
+        }
+		this.addOrUpdateFolderName(this.fileExplorerItemId,false);
+	</method>
+	
+	<method name="doResetSingleClick" args="itmeObj">
+		this.singleClickStarted = false;
+	</method>
+	
+	<method name="addFile">
+		this.refObjListRoot.selectItem(this);
+		this.refObjListRoot.addFile();
+	</method>
+	
+	<method name="addFolder">
+		<![CDATA[
+			if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
+	    		new lz.labelerrorPopup(canvas,{errorlabelid:1462});
+	    		return;
+	    	}
+	
+			if (this.isFolder) {
+				if ($debug) Debug.write("NEW this.fileExplorerItemId INTO ",this);
+				if ($debug) Debug.write("NEW this.fileExplorerItemId ",this.fileExplorerItemId);
+				if (this["icon_folder_pre"]) {
+	    			this.icon_folder_pre.setAttribute("frame",2);
+	                this.content.setAttribute("visibility","visible");
+	                this._folderIcon.setAttribute("frame",2);
+	        		var t = new lz.folderFileExplorerItem(this.content,{
+	        			            isOwner:this.isOwner,
+	        			            isFolder:true,
+	                    		    fileIcon:'icon_folder_rsc',
+	                                refObjListRoot:this.refObjListRoot,
+	                    		    fileName:canvas.getLabelName(712)
+	                    		});
+	                t.addOrUpdateFolderName(this.fileExplorerItemId,true);
+				}
+			}
+		]]>
+	</method>
+	
+	<method name="refresh">
+		this.doOpen();
+	</method>
+	
+	<method name="playVideo">
+		this.refObjListRoot.playVideo(this);
+	</method>
+	
+	<method name="editFolderName">
+		<![CDATA[
+			if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
+	    		new lz.labelerrorPopup(canvas,{errorlabelid:1462});
+	    		return;
+	    	}
+			this.addOrUpdateFolderName(this.fileExplorerItemId,false);
+		]]>
+	</method>
+	
+	<method name="loadDocument">
+		this.refObjListRoot.loadDocument(this);
+	</method>
+	
+	<method name="loadWmlFile">
+		this.refObjListRoot.loadWmlFile(this);
+	</method>
+
+	<method name="loadChart">
+		this.refObjListRoot.loadChart(this);
+	</method>
+	
+	<method name="addOrUpdateFolderName" args="fileExplorerItemId,isNew">
+		<![CDATA[
+			if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
+	    		new lz.labelerrorPopup(canvas,{errorlabelid:1462});
+	    		return;
+	    	}
+		
+    		if ($debug) Debug.write("addOrUpdateFolderName ",fileExplorerItemId);
+    		var tWidth = this._fileName.width;
+    		if (tWidth < 160) {
+    			tWidth = 160;
+    		}
+    		
+    		var t = new lz.dynamicFileName(canvas,{
+    			        parentFileExplorerItemId:fileExplorerItemId,
+    			        fileExplorerItemId:this.fileExplorerItemId, //Only used at update Name
+    			        isOwner:this.isOwner,
+    			        text:this.fileName,
+    			        isNew:isNew, //false means its a renaming
+    			        refObj:this,width:tWidth+10,
+            		    x:this._fileName.getAttributeRelative("x",canvas),
+            		    y:this._fileName.getAttributeRelative("y",canvas)
+            		});
+            		
+            lz.Focus.setFocus(t,true);
+            lz.ModeManager.makeModal(t);
+            
+        ]]>
+	</method>
+	
+	<method name="toggleOpen" args="setSelection">
+		<![CDATA[
+			if (this.mouseDownClickUsed) {
+				if ($debug) Debug.write("mouseDownClickUsed RESET TO DEFAULT BUT DO NO ACTION Cause its a Drag and Drop Event");
+				this.mouseDownClickUsed = false;
+				return;
+			}
+			
+			if (this.singleClickStarted) {
+	            if ($debug) Debug.write("Is this selected => Double Click !!!");
+	            this.singleClickStarted = false;
+	            lz.Timer.removeTimer( this.singleClickDelegate );
+	            
+	            if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
+		    		new lz.labelerrorPopup(canvas,{errorlabelid:1462});
+		    		return;
+		    	}
+	            
+	            if (this.isVideo) {
+	            	this.playVideo();
+	            } else if (this.isWmlFile){
+					this.loadWmlFile();
+				} else if (this.isFolder) {
+	                this.doSingleClick(null);
+	            } else if (this.isPresentation) {
+	                this.loadDocument();
+	            }
+	        } else {
+	        	
+	        	if (this.isFolder){
+	        		if (!this.open) {
+	        			this.doOpen();
+	        		} else {
+	        			if (setSelection) {
+	            			if (this.selected) {
+	            				if ($debug) Debug.write("Is this selected => Do Edit !!!");
+	            				this.singleClickStarted = true;
+	            			    lz.Timer.addTimer( this.singleClickDelegate, 300 );
+	            			} else {
+	            				
+	            				this.singleClickStarted = true;
+	            				lz.Timer.addTimer( this.resetClickDelegate, 300 );
+	            			}
+	        			} else {
+	        				this.doClose();
+	        			}
+	        		}
+	        	} else {
+	        		if (setSelection) {
+	                    if (this.selected) {
+	                        if ($debug) Debug.write("Is this selected => Do Edit !!!");
+	                        this.singleClickStarted = true;
+	                        lz.Timer.addTimer( this.singleClickDelegate, 300 );
+	                    } else {
+	                        this.singleClickStarted = true;
+	                        lz.Timer.addTimer( this.resetClickDelegate, 300 );
+	                    }
+	                }
+	        	}
+			}
+			
+			if (setSelection) this.refObjListRoot.selectItem(this);
+		]]>
+	</method>
+	
+	<method name="selectItem">
+		this.selected = true;
+		this._fileName.setAttribute("bgcolor",canvas.getThemeColor('baseMousecolorizer'));
+	</method>
+	
+	<method name="deselectItem">
+		this.selected = false;
+		if (this["_fileName"]) {
+            this._fileName.setAttribute("bgcolor",canvas.getThemeColor('mainBackgroundColor'));
+        } else {
+            if ($debug) Debug.warn("deselectItem:: _fileName is NULL ",this);
+        }
+    </method>
+	
+	<method name="clearContent">
+        <![CDATA[
+            for (var eg in this.content.subviews) {
+                this.content.subviews[eg].destroy();
+            }
+        ]]>
+    </method>
+    
+    <method name="loadFiles">
+    	<![CDATA[
+            //this.getFileExplorerByRoom.doCall();
+            var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                            +canvas.httpRootKey+'services/FileService/getFileExplorerByParentSelfInternal?'
+                            +'SID='+canvas.sessionId
+                            +'&parentFileExplorerItemId='+this.fileExplorerItemId
+                            +'&roomId='+hib.currentroomid
+                            +'&isOwner='+this.isOwner;
+            
+            this.getFileExplorerByParentSelf.setAttribute("src",downloadurl);
+            if ($debug) Debug.write("getFileExplorerByParentSelf doRequest ",downloadurl);
+            this.getFileExplorerByParentSelf.doRequest();
+        ]]>
+    </method>
+    
+    <dataset name="getFileExplorerByParentSelf" type="http" >
+        <handler name="ondata" args="d">
+            <![CDATA[
+                //if ($debug) Debug.write("ondata ",d);
+                parent.renderFilesAndFolders(canvas.currentFileExplorer.parseParentToRoomObject(d));
+            ]]>
+        </handler>
+    </dataset>
+    
+    <!--
+        parent.parseRootItems(canvas.currentFileExplorer.parseToRoomObject(d));
+	 -->
+	<!--
+	   public List<FileExplorerItem> getFileExplorerByParent(String SID, Long parentFileExplorerItemId, 
+	               Long room_id, Boolean isOwner) {
+	<netRemoteCallHib name="getFileExplorerByParent" funcname="fileservice.getFileExplorerByParent" 
+        remotecontext="$once{ canvas.thishib }" >   
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.parent.fileExplorerItemId;</method></netparam>  
+        <netparam><method name="getValue">return hib.currentroomid;</method></netparam>  
+        <netparam><method name="getValue">return parent.parent.isOwner;</method></netparam>         
+        <handler name="ondata" args="value">    
+            if ($debug) Debug.write("getFileExplorerByParent: ",value);
+            parent.renderFilesAndFolders(value);
+        </handler>
+    </netRemoteCallHib> 
+     --> 
+    
+    <method name="renderFilesAndFolders" args="roomHome">
+        <![CDATA[
+            this.clearContent();
+            
+            // Folder area
+            for (var i=0; i<roomHome.length; i++) {
+                var fileExplorerItem = roomHome[i];
+                if (fileExplorerItem.isFolder) {
+                    new lz.folderFileExplorerItem(this.content,{
+                                            fileName:fileExplorerItem.fileName,
+                                            fileExplorerItemId:fileExplorerItem.fileExplorerItemId,
+                                            fileIcon:'icon_folder_rsc',
+                                            refObjListRoot:this.refObjListRoot
+                                        });
+                } else if (fileExplorerItem.isImage) {
+                    new lz.imageFileExplorerItem(this.content,{
+                                            isFolder:false,
+                                            fileExplorerItemId:fileExplorerItem.fileExplorerItemId,
+                                            fileName:fileExplorerItem.fileName,
+                                            fileHash:fileExplorerItem.fileHash,
+                                            isFolder:false,isImage:true,
+                                            fileIcon:'file_explorer_image_rsc',
+                                            refObjListRoot:this.refObjListRoot
+                                        });
+                } else if (fileExplorerItem.isPresentation) {
+                    new lz.documentFileExplorerItem(this.content,{
+                                            isFolder:false,
+                                            fileExplorerItemId:fileExplorerItem.fileExplorerItemId,
+                                            fileName:fileExplorerItem.fileName,
+                                            fileHash:fileExplorerItem.fileHash,
+                                            isFolder:false,isPresentation:true,
+                                            fileIcon:'file_explorer_document_rsc',
+                                            refObjListRoot:this.refObjListRoot
+                                        });
+                } else if (fileExplorerItem.isVideo) {
+                    new lz.videoFileExplorerItem(this.content,{
+                                            isFolder:false,
+                                            isVideo:true,
+                                            fileExplorerItemId:fileExplorerItem.fileExplorerItemId,
+                                            fileName:fileExplorerItem.fileName,
+                                            fileHash:fileExplorerItem.fileHash,
+                                            isFolder:false,isImage:true,
+                                            fileIcon:'file_explorer_video_rsc',
+                                            flvHeight:fileExplorerItem.flvHeight,
+                                            flvWidth:fileExplorerItem.flvWidth,
+                                            refObjListRoot:this.refObjListRoot
+                                        });
+                } else if (fileExplorerItem.isStoredWmlFile) { 
+                	new lz.wmlFileExplorerItem(this.content,{
+                                            isFolder:false,
+                                            fileExplorerItemId:fileExplorerItem.fileExplorerItemId,
+                                            fileName:fileExplorerItem.fileName,
+                                            fileIcon:'file_explorer_wml_rsc',
+                                            isWmlFile: true,
+                                            refObjListRoot:this.refObjListRoot                	
+            							});
+                } else if (fileExplorerItem.isChart) { 
+                	new lz.chartFileExplorerItem(this.content,{
+                                            isFolder:false,
+                                            fileExplorerItemId:fileExplorerItem.fileExplorerItemId,
+                                            fileName:fileExplorerItem.fileName,
+                                            fileIcon:'file_explorer_chart_rsc',
+                                            refObjListRoot:this.refObjListRoot                	
+            							});
+
+            	}
+            }
+        ]]>
+    </method>
+    
+	
+	<view name="icon_folder_pre" 
+		  visibility="$once{ (parent.isFolder) ? 'visible' : 'hidden' }"
+		  resource="icon_folder_pre_rsc" frame="1" >
+		<handler name="onclick">
+			parent.toggleOpen(false);
+		</handler>
+	</view>
+	
+	<view name="_folderIcon" resource="$once{ parent.fileIcon }" x="16" y="2" >
+		<handler name="onmousedown">
+			if (parent.isRoot) {
+                return;
+            }
+            lz.Timer.addTimer( parent.mouseDownClickDelegate, 300 );
+        </handler>
+        <handler name="onmouseup">
+        	if (parent.isRoot) {
+                return;
+            }
+            lz.Timer.removeTimer( parent.mouseDownClickDelegate );
+        </handler>
+		<handler name="onclick">
+			parent.toggleOpen(false);
+		</handler>
+	</view>
+	
+</class>
+
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/chartFileExplorerItem.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/chartFileExplorerItem.lzx
new file mode 100644
index 0000000..5d7e6f2
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/chartFileExplorerItem.lzx
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+  <class name="chartFileExplorerItem" extends="baseFileExplorerItem"
+    isFolder="true">
+
+    <attribute name="isChartFile" type="boolean" value="true" />
+
+    <text name="_fileName" x="36" text="${ parent.fileName }"
+      fontsize="10" resize="true" y="1">
+      <contextmenu>
+
+        <contextmenuitem caption="$once{ canvas.getLabelName(711) }"
+          onselect="parent.parent.parent.editFolderName()" />
+
+        <!-- <contextmenuitem name="_openDocument" caption="$once{ canvas.getLabelName(716) 
+          }" separatorbefore="true" onselect="parent.parent.parent.loadDocument()" 
+          /> -->
+
+        <contextmenuitem caption="$once{ canvas.getLabelName(708) }"
+          separatorbefore="true" onselect="parent.parent.parent.addFile()" />
+
+        <contextmenuitem caption="$once{ canvas.getLabelName(709) }"
+          onselect="parent.parent.parent.addFolder()" />
+
+        <contextmenuitem caption="$once{ canvas.getLabelName(710) }"
+          onselect="parent.parent.parent.deleteFile(719)" />
+
+        <contextmenuitem caption="$once{ canvas.getLabelName(1314) }"
+          onselect="parent.parent.parent.loadChart()" />
+
+      </contextmenu>
+
+      <handler name="onmousetrackover">
+        Debug.write("onmousetrackover");
+        canvas.currentImagesListdraw.currentDragItem.sendOverItem(parent);
+        this.setAttribute("bgcolor",0x93FE92);
+      </handler>
+
+      <handler name="onmousetrackout">
+        Debug.write("onmousetrackout");
+        canvas.currentImagesListdraw.currentDragItem.sendOutItem(parent);
+        this.setAttribute("bgcolor",canvas.getThemeColor('mainBackgroundColor'));
+      </handler>
+
+      <handler name="onmousetrackup">
+        if ($debug) Debug.write("onmousetrackup");
+        this.setAttribute("bgcolor",canvas.getThemeColor('mainBackgroundColor'));
+      </handler>
+
+      <handler name="onmousedown">
+        if (parent.isRoot) {
+          return;
+        }
+        lz.Timer.addTimer(parent.mouseDownClickDelegate, 300);
+      </handler>
+      <handler name="onmouseup">
+        if (parent.isRoot) {
+          return;
+        }
+        lz.Timer.removeTimer( parent.mouseDownClickDelegate );
+      </handler>
+      <handler name="onclick">
+        parent.toggleOpen(true);
+      </handler>
+    </text>
+
+    <view name="content" x="12" y="18" layout="axis:y;inset:1"
+      visibility="hidden">
+    </view>
+  </class>
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/documentFileExplorerItem.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/documentFileExplorerItem.lzx
new file mode 100644
index 0000000..e041848
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/documentFileExplorerItem.lzx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+ 
+<class name="documentFileExplorerItem" extends="baseFileExplorerItem" isFolder="true">
+	
+	<method name="formatURL" args="filename">
+        <![CDATA[
+            var uploadmoduleimgfolderVar = '/' + this.fileHash;
+            var downloadurl = canvas.protocol + '://' + canvas.rtmphostlocal + ':' + canvas.red5httpport + canvas.httpRootKey+'DownloadHandler?' +
+                'fileName=' + encodeURIComponent(this.fileHash + ".swf") +
+                '&moduleName=' + 'videoconf1' + 
+                '&parentPath=' + encodeURIComponent(uploadmoduleimgfolderVar + '/' )+
+                '&room_id=files'+ 
+                '&sid='+canvas.sessionId;
+            ////Debug.write("downloadurl: ",downloadurl);
+            return downloadurl;
+        ]]>
+    </method>    
+    
+	<method name="loadDocumentToWhiteboard">
+		if (canvas.ismoderator || canvas.isAllowedToDraw) {
+    		var uploadmoduleimgfolderVar = '/' + this.fileHash;
+            
+            if ($debug) Debug.write("loadDocumentToWhiteboard ",this.fileName);
+            
+    		canvas._drawarea.loadSWFPresentationSynced(this.formatURL(this.fileHash),this.fileHash + ".swf",
+    		              "videoconf1",uploadmoduleimgfolderVar,"files",hib.conferencedomain,1,
+                          this.fileName);
+		} else {
+			new lz.errorModeratorPopup(canvas,{error:canvas.getLabelName(721)});
+		}
+	</method>
+	
+	<text name="_fileName" x="36" text="${ parent.fileName }" fontsize="10" resize="true" y="1">
+		<contextmenu>
+			
+			<contextmenuitem caption="$once{ canvas.getLabelName(711) }" 
+							 onselect="parent.parent.parent.editFolderName()" />
+			
+            <!--	
+            //Load File To Whiteboard missing	
+             -->	 
+			<contextmenuitem name="_openDocument"
+				             caption="$once{ canvas.getLabelName(716) }" 
+							 separatorbefore="true"
+                             onselect="parent.parent.parent.loadDocument()" />
+            				 
+            <contextmenuitem caption="$once{ canvas.getLabelName(719) }" 
+            				 onselect="parent.parent.parent.deleteFile(719)" />
+            				 
+        </contextmenu>
+        
+        <handler name="onmousedown">
+        	if (parent.isRoot) {
+                return;
+            }
+            lz.Timer.addTimer( parent.mouseDownClickDelegate, 300 );
+        </handler>
+        <handler name="onmouseup">
+        	if (parent.isRoot) {
+                return;
+            }
+            lz.Timer.removeTimer( parent.mouseDownClickDelegate );
+        </handler>
+		<handler name="onclick">
+            parent.toggleOpen(true);
+        </handler>
+	</text>
+	
+
+</class>
+
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/folderFileExplorerItem.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/folderFileExplorerItem.lzx
new file mode 100644
index 0000000..36ce717
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/folderFileExplorerItem.lzx
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="folderFileExplorerItem" extends="baseFileExplorerItem" isFolder="true">
+	
+	<text name="_fileName" x="36" text="${ parent.fileName }" fontsize="10" resize="true" y="1">
+		<contextmenu>
+			
+			<contextmenuitem caption="$once{ canvas.getLabelName(711) }" 
+							 onselect="parent.parent.parent.editFolderName()" />
+			
+			<!--			 
+			<contextmenuitem name="_openDocument"
+				             caption="$once{ canvas.getLabelName(716) }" 
+							 separatorbefore="true"
+                             onselect="parent.parent.parent.loadDocument()" />
+             -->
+                              				 
+            <contextmenuitem caption="$once{ canvas.getLabelName(708) }" 
+            				 separatorbefore="true"
+            				 onselect="parent.parent.parent.addFile()" />
+            				 
+            <contextmenuitem caption="$once{ canvas.getLabelName(709) }" 
+            				 onselect="parent.parent.parent.addFolder()" />
+            				 
+            <contextmenuitem caption="$once{ canvas.getLabelName(710) }" 
+            				 onselect="parent.parent.parent.deleteFile(719)" />
+            				 
+        </contextmenu>
+        
+        <handler name="onmousetrackover">
+            //if ($debug) Debug.write("onmousetrackover");
+            canvas.currentImagesListdraw.currentDragItem.sendOverItem(parent);
+            this.setAttribute("bgcolor",0x93FE92);
+        </handler>
+        
+        <handler name="onmousetrackout">
+            //if ($debug) Debug.write("onmousetrackout");
+            canvas.currentImagesListdraw.currentDragItem.sendOutItem(parent);
+            this.setAttribute("bgcolor",canvas.getThemeColor('mainBackgroundColor'));
+        </handler>
+        
+        <handler name="onmousetrackup">
+            if ($debug) Debug.write("onmousetrackup");
+            this.setAttribute("bgcolor",canvas.getThemeColor('mainBackgroundColor'));
+        </handler> 
+        
+        <handler name="onmousedown">
+        	if (parent.isRoot) {
+                return;
+            }
+            lz.Timer.addTimer( parent.mouseDownClickDelegate, 300 );
+        </handler>
+        <handler name="onmouseup">
+        	if (parent.isRoot) {
+                return;
+            }
+            lz.Timer.removeTimer( parent.mouseDownClickDelegate );
+        </handler>
+		<handler name="onclick">
+            parent.toggleOpen(true);
+        </handler>
+	</text>
+	
+	<view name="content" x="12" y="18" layout="axis:y;inset:1" visibility="hidden">
+		
+	</view>
+</class>
+
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/imageFileExplorerItem.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/imageFileExplorerItem.lzx
new file mode 100644
index 0000000..429f144
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/imageFileExplorerItem.lzx
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="imageFileExplorerItem" extends="baseFileExplorerItem" isFolder="true">
+	
+    <method name="generateFileLink">
+        <![CDATA[
+            return canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport+canvas.httpRootKey+'DownloadHandler?' +
+            		'fileName='+ this.fileHash + 
+                    '&moduleName='+ "videoconf1" +
+                    '&parentPath='+ '/' +
+                    '&room_id=files' +
+                    '&sid='+canvas.sessionId;
+        ]]>
+    </method>
+    
+	<method name="loadImageToWhiteboard">
+		if (canvas.ismoderator || canvas.isAllowedToDraw) {
+    		var mouse_x = canvas._drawarea.getMouse("x");
+    		var mouse_y = canvas._drawarea.getMouse("y");
+    		canvas._drawarea.parent.parent.clearAreaAndAddImage(this.generateFileLink(),mouse_x,mouse_y,
+    		          canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport+canvas.httpRootKey+'DownloadHandler',
+    		          this.fileHash,"videoconf1","/","files",hib.conferencedomain);
+		} else {
+            new lz.errorModeratorPopup(canvas,{error:canvas.getLabelName(721)});
+        }
+	</method>
+	
+	<text name="_fileName" x="36" text="${ parent.fileName }" fontsize="10" resize="true" y="1">
+		<contextmenu>
+			
+			<contextmenuitem caption="$once{ canvas.getLabelName(711) }" 
+							 onselect="parent.parent.parent.editFolderName()" />
+			
+			<!--	
+			//Load File To Whiteboard missing		 
+			<contextmenuitem name="_openDocument"
+				             caption="$once{ canvas.getLabelName(716) }" 
+							 separatorbefore="true"
+                             onselect="parent.parent.parent.loadDocument()" />
+             -->
+            				 
+            <contextmenuitem caption="$once{ canvas.getLabelName(719) }" 
+            				 onselect="parent.parent.parent.deleteFile(719)" />
+            				 
+        </contextmenu>
+        
+        <handler name="onmousedown">
+        	if (parent.isRoot) {
+                return;
+            }
+            lz.Timer.addTimer( parent.mouseDownClickDelegate, 300 );
+        </handler>
+        <handler name="onmouseup">
+        	if (parent.isRoot) {
+                return;
+            }
+            lz.Timer.removeTimer( parent.mouseDownClickDelegate );
+        </handler>
+		<handler name="onclick">
+            parent.toggleOpen(true);
+        </handler>
+	</text>
+	
+
+</class>
+
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/library.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/library.lzx
new file mode 100644
index 0000000..ad858e9
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/library.lzx
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+    <include href="baseFileExplorerItem.lzx" />
+    <include href="folderFileExplorerItem.lzx" />
+    <include href="imageFileExplorerItem.lzx" />
+    <include href="videoFileExplorerItem.lzx" />
+    <include href="documentFileExplorerItem.lzx" />
+    <include href="rootFileExplorerItem.lzx" />
+    <include href="wmlFileExplorerItem.lzx" />
+    
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/rootFileExplorerItem.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/rootFileExplorerItem.lzx
new file mode 100644
index 0000000..4ecb0ef
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/rootFileExplorerItem.lzx
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="rootFileExplorerItem" extends="baseFileExplorerItem" isFolder="true" isRoot="true">
+	
+	<text name="_fileName" x="36" text="${ parent.fileName }" fontsize="10" resize="true" y="1">
+		<contextmenu>
+                              				 
+            <contextmenuitem caption="$once{ canvas.getLabelName(708) }" 
+            				 separatorbefore="true"
+            				 onselect="parent.parent.parent.addFile()" />
+            				 
+            <contextmenuitem caption="$once{ canvas.getLabelName(709) }" 
+            				 onselect="parent.parent.parent.addFolder()" />
+            				 
+        </contextmenu>
+        
+        <handler name="onmousetrackover">
+            //if ($debug) Debug.write("onmousetrackover");
+            canvas.currentImagesListdraw.currentDragItem.sendOverItem(parent);
+            this.setAttribute("bgcolor",0x93FE92);
+        </handler>
+        
+        <handler name="onmousetrackout">
+            //if ($debug) Debug.write("onmousetrackout");
+            canvas.currentImagesListdraw.currentDragItem.sendOutItem(parent);
+            this.setAttribute("bgcolor",canvas.getThemeColor('mainBackgroundColor'));
+        </handler>
+        
+        <handler name="onmousetrackup">
+            if ($debug) Debug.write("onmousetrackup");
+            this.setAttribute("bgcolor",canvas.getThemeColor('mainBackgroundColor'));
+        </handler> 
+        
+		<handler name="onclick">
+            parent.toggleOpen(true);
+        </handler>
+	</text>
+	
+	<view name="content" x="12" y="18" layout="axis:y;inset:1" visibility="hidden">
+		
+	</view>
+</class>
+
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/videoFileExplorerItem.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/videoFileExplorerItem.lzx
new file mode 100644
index 0000000..7d933d1
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/videoFileExplorerItem.lzx
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="videoFileExplorerItem" extends="baseFileExplorerItem" isFolder="true" isVideo="true">
+	
+    <method name="generateFileLink">
+        <![CDATA[
+            return canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport+canvas.httpRootKey+'DownloadHandler?' +
+            		'fileName='+ this.fileHash + 
+                    '&moduleName='+ "videoconf1" +
+                    '&parentPath='+ '/' +
+                    '&room_id=files' +
+                    '&sid='+canvas.sessionId;
+        ]]>
+    </method>
+    
+	<method name="loadImageToWhiteboard">
+		if (canvas.ismoderator || canvas.isAllowedToDraw) {
+    		var mouse_x = canvas._drawarea.getMouse("x");
+    		var mouse_y = canvas._drawarea.getMouse("y");
+    		canvas._drawarea.parent.parent.clearAreaAndAddImage(this.generateFileLink(),mouse_x,mouse_y,
+    		          canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport+canvas.httpRootKey+'DownloadHandler',
+    		          this.fileHash,"videoconf1","/","files",hib.conferencedomain);
+		} else {
+            new lz.errorModeratorPopup(canvas,{error:canvas.getLabelName(721)});
+        }
+	</method>
+	
+	<text name="_fileName" x="36" text="${ parent.fileName }" fontsize="10" resize="true" y="1">
+		<contextmenu>
+			
+			<contextmenuitem caption="$once{ canvas.getLabelName(1358) }" 
+							 onselect="parent.parent.parent.playVideo()" />
+			
+			<contextmenuitem caption="$once{ canvas.getLabelName(711) }" 
+							 onselect="parent.parent.parent.editFolderName()" />
+			
+			<!--	
+			//Load File To Whiteboard missing		 
+			<contextmenuitem name="_openDocument"
+				             caption="$once{ canvas.getLabelName(716) }" 
+							 separatorbefore="true"
+                             onselect="parent.parent.parent.loadDocument()" />
+             -->
+            				 
+            <contextmenuitem caption="$once{ canvas.getLabelName(719) }" 
+            				 onselect="parent.parent.parent.deleteFile(719)" />
+            				 
+        </contextmenu>
+        
+        <handler name="onmousedown">
+        	if (parent.isRoot) {
+                return;
+            }
+            lz.Timer.addTimer( parent.mouseDownClickDelegate, 300 );
+        </handler>
+        <handler name="onmouseup">
+        	if (parent.isRoot) {
+                return;
+            }
+            lz.Timer.removeTimer( parent.mouseDownClickDelegate );
+        </handler>
+		<handler name="onclick">
+            parent.toggleOpen(true);
+        </handler>
+	</text>
+	
+
+</class>
+
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/wmlFileExplorerItem.lzx b/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/wmlFileExplorerItem.lzx
new file mode 100644
index 0000000..b2c5f5d
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/fileexplorer/treeitems/wmlFileExplorerItem.lzx
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="wmlFileExplorerItem" extends="baseFileExplorerItem" isFolder="true">
+	
+	<attribute name="isWmlFile" type="boolean" value="true"/>
+	
+	<text name="_fileName" x="36" text="${ parent.fileName }" fontsize="10" resize="true" y="1">
+		<contextmenu>
+			
+			<contextmenuitem caption="$once{ canvas.getLabelName(711) }" 
+							 onselect="parent.parent.parent.editFolderName()" />
+			
+			<!--             				 
+            <contextmenuitem caption="$once{ canvas.getLabelName(708) }" 
+            				 separatorbefore="true"
+            				 onselect="parent.parent.parent.addFile()" />
+            				 
+            <contextmenuitem caption="$once{ canvas.getLabelName(709) }" 
+            				 onselect="parent.parent.parent.addFolder()" />
+             -->
+             				 
+            <contextmenuitem caption="$once{ canvas.getLabelName(710) }" 
+            				 onselect="parent.parent.parent.deleteFile(719)" />
+            	
+            			 
+			<contextmenuitem caption="$once{ canvas.getLabelName(1314) }" 
+							 onselect="parent.parent.parent.loadWmlFile()" />
+            				 
+        </contextmenu>
+        
+        <handler name="onmousetrackover">
+            //if ($debug) Debug.write("onmousetrackover");
+            canvas.currentImagesListdraw.currentDragItem.sendOverItem(parent);
+            this.setAttribute("bgcolor",0x93FE92);
+        </handler>
+        
+        <handler name="onmousetrackout">
+            //if ($debug) Debug.write("onmousetrackout");
+            canvas.currentImagesListdraw.currentDragItem.sendOutItem(parent);
+            this.setAttribute("bgcolor",canvas.getThemeColor('mainBackgroundColor'));
+        </handler>
+        
+        <handler name="onmousetrackup">
+            if ($debug) Debug.write("onmousetrackup");
+            this.setAttribute("bgcolor",canvas.getThemeColor('mainBackgroundColor'));
+        </handler> 
+        
+        <handler name="onmousedown">
+        	if (parent.isRoot) {
+                return;
+            }
+            lz.Timer.addTimer( parent.mouseDownClickDelegate, 300 );
+        </handler>
+        <handler name="onmouseup">
+        	if (parent.isRoot) {
+                return;
+            }
+            lz.Timer.removeTimer( parent.mouseDownClickDelegate );
+        </handler>
+		<handler name="onclick">
+            parent.toggleOpen(true);
+        </handler>
+	</text>
+	
+	<view name="content" x="12" y="18" layout="axis:y;inset:1" visibility="hidden">
+		
+	</view>
+</class>
+
+
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/library.lzx b/WebContent/src/modules/conference/tabcontent/library.lzx
new file mode 100644
index 0000000..edee094
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/library.lzx
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<!-- FamFam Icon Set -->
+	<resource name="messagebox_info_rsc" src="resources/information.png" />
+	<!-- FamFam Icon Set -->
+	<resource name="_filesave_icon_pdf_rsc" src="resources/page_white_acrobat.png" />
+	<!-- APL Author sebawagner -->
+	<resource name="_filesave_icon_original_rsc" src="resources/download.png" />
+
+	<include href="fileexplorer/"/>
+	<include href="chat/" />
+    
+</library>
diff --git a/WebContent/src/modules/conference/tabcontent/resources/download.png b/WebContent/src/modules/conference/tabcontent/resources/download.png
new file mode 100644
index 0000000..0c9013e
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/resources/download.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/resources/information.png b/WebContent/src/modules/conference/tabcontent/resources/information.png
new file mode 100644
index 0000000..12cd1ae
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/resources/information.png
Binary files differ
diff --git a/WebContent/src/modules/conference/tabcontent/resources/page_white_acrobat.png b/WebContent/src/modules/conference/tabcontent/resources/page_white_acrobat.png
new file mode 100644
index 0000000..8f8095e
--- /dev/null
+++ b/WebContent/src/modules/conference/tabcontent/resources/page_white_acrobat.png
Binary files differ
diff --git a/WebContent/src/modules/conference/testsetup/library.lzx b/WebContent/src/modules/conference/testsetup/library.lzx
new file mode 100644
index 0000000..93469dd
--- /dev/null
+++ b/WebContent/src/modules/conference/testsetup/library.lzx
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+    <include href="testSetup.lzx" />
+    
+</library>
diff --git a/WebContent/src/modules/conference/testsetup/testSetup.lzx b/WebContent/src/modules/conference/testsetup/testSetup.lzx
new file mode 100644
index 0000000..e13f802
--- /dev/null
+++ b/WebContent/src/modules/conference/testsetup/testSetup.lzx
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!-- 
+#########################################
+
+Test the setup values before you enter a room
+
+ -->
+ 
+<class name="simpleLabelRoundButtonIcon" extends="simpleLabelRoundButton" 
+	   height="26" fontstyle="bold" >
+	
+	<attribute name="ressourceIcon" value="" type="string" />
+	<attribute name="tlabelid" value="0" type="number" />
+	
+	<view name="_iconView" x="14" y="3" resource="$once{ parent.ressourceIcon }" />
+	
+	<labelText y="4" x="36" labelid="$once{ parent.tlabelid }" resize="true" />
+	
+	<handler name="onmouseover">
+		this._iconView.setAttribute("opacity",0.5);
+	</handler>
+	
+	<handler name="onmouseout">
+        this._iconView.setAttribute("opacity",1);
+    </handler>
+    
+</class> 
+ 
+<class name="testSetup" extends="labelExplorerBox" labelid="757" allowDragging="false" 
+    x="$once{ parent.width/2 - 300 }" y="100" docking="true" resizeable="false" 
+    closable="false" width="600" height="400">
+
+    <attribute name="roomClassName" type="string" value="" />
+    
+    <attribute name="roomObj" value="null"/>
+    
+    <attribute name="forceTest" value="false" type="boolean" />
+    
+    <attribute name="isDirectLink" value="false" type="boolean" />
+    
+    <!--- @keywords private if doJustClose is true the confirmation will be wait and 
+    then the window just closed -->
+    <attribute name="doJustClose" value="false" type="boolean" />
+    
+    <handler name="oninit">
+    	<![CDATA[
+            this.startConference();
+            //The pre-test is disabled as its integrated into the choose device settings now
+            return;
+    	]]>
+    </handler>
+    
+    <method name="justClose">
+    	this._enterMeeting.setAttribute("enabled",false);
+        this._cancel.setAttribute("enabled",false);
+    	this.doJustClose = true;
+        canvas._loadingAll.hideLoading();
+        if ($debug) Debug.write("canvas.rtmp_lc_name", canvas.rtmp_lc_name, "closeInitTestingApplication");
+        canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "closeInitTestingApplication", null);
+    </method>
+    
+    <method name="closeInitTestingApplicationConfirm">
+    	if ($debug) Debug.write("closeInitTestingApplicationConfirm ");
+    	if (this.doJustClose) {	
+    		this.close();
+    	} else {
+    		this.startConference();
+    	}
+    </method>
+    
+    <method name="storeSettings">
+        <![CDATA[
+            this._enterMeeting.setAttribute("enabled",false);
+            this._cancel.setAttribute("enabled",false);
+            canvas._loadingAll.hideLoading();
+            canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "closeInitTestingApplication", null);
+        
+            Debug.write("sharedobject store ");
+            var g = canvas.getUserData();
+            g["showAudioVideoTest"] = this.holddatainSO.getValue();
+            canvas.setUserData(g);
+            
+        ]]>
+    </method>   
+    
+    <method name="startConference">
+    	<![CDATA[
+    	
+            clearStageContent();
+            
+            if ($debug) Debug.warn("roomClassname : ", this.roomClassName);
+            if ($debug) Debug.warn("canvas.currentRoomObj will be : ", this.roomObj);
+            
+            canvas.currentRoomObj = this.roomObj;
+            
+            this.close();
+            
+            new lz[this.roomClassName](canvas.main_content._content.inner, {
+                        roomobj:this.roomObj
+                    });
+    	
+    	]]>
+    </method>
+
+    <!-- Remember Me -->
+    <labelCheckbox name="holddatainSO" labelid="759" x="10" y="$once{ parent.height-24 }" >
+        <handler name="oninit">
+            var g = canvas.getUserData();
+            var save = g["showAudioVideoTest"];
+            if ($debug) Debug.write("savecamdata save: ",save);
+            if(save) this.setValue(true);
+        </handler>
+    </labelCheckbox>
+    
+    <simpleLabelButton name="_enterMeeting" labelid="761" width="160" x="$once{ parent.width-270 }" 
+           y="$once{ parent.height-30 }" height="28" 
+           onclick="this.parent.storeSettings();">
+    </simpleLabelButton>
+    
+    <simpleLabelButton name="_cancel" labelid="760" width="100" x="$once{ parent.width-105 }" 
+           y="$once{ parent.height-30 }" height="28"  
+           onclick="this.parent.justClose();" />
+
+</class>
+
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/baseDraw.lzx b/WebContent/src/modules/conference/whiteboard/base/baseDraw.lzx
new file mode 100644
index 0000000..936fbe7
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/baseDraw.lzx
@@ -0,0 +1,1536 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="baseDraw" extends="view" >
+
+	<attribute name="currentlayer" value="null" />
+	<attribute name="layers" value="null" />
+	
+	<attribute name="redolayers" value="null" />
+
+  	<attribute name="mx" type="number" value="0"/>
+  	<attribute name="my" type="number" value="0"/>
+  	<attribute name="prevx" type="number" value="0"/>
+  	<attribute name="prevy" type="number" value="0"/>
+  	
+  	<!--- If true it will try to load the ObjectIdentifier Extension from the Server -->
+  	<attribute name="isRemoteOID" value="false" type="boolean" />
+  	
+  	<attribute name="startx" value="0" type="number" />
+  	<attribute name="starty" value="0" type="number" />
+  	<attribute name="endx" value="0" type="number" />
+  	<attribute name="endy" value="0" type="number" />
+  	
+  	<attribute name="restricted" value="false" type="boolean"/>
+  	
+  	<!-- This Counter just adds, it dosen't shows the absolute number of items
+  		(ask this.layers.length to get the number of drawings) -->
+  	<attribute name="counter" value="0" type="number" />
+  	
+  	<event name="onupdateScale" />
+  	
+  	<attribute name="showGrid" type="boolean" value="false"/>
+  	<attribute name="isSnapToGrid" type="boolean" value="false"/>
+	<attribute name="gridWidth" value="24" type="number" />
+	
+	<attribute name="copyObject" value="null"/>
+	<attribute name="selectedObjects" value="null"/>
+	
+	<attribute name="ObjectByName" value="null" />
+
+  	<method name="getCounter">
+		//Debug.write("### getCounter :",this.counter);
+		var now = new Date();
+		return "_"+now.getTime();
+  	</method>
+  	
+  	<!--
+  	 not needed anymore, Issue 507
+    <netRemoteCallHib name="getOID" funcname="getOID" showLoading="false"
+    				  remotecontext="$once{ canvas.thishib }" > 
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if($debug) Debug.write("getOID: ",value);
+                parent.counter = value;
+            ]]>
+        </handler>   
+    </netRemoteCallHib>     
+     -->
+	
+	<method name="compareAndSetCounter" args="c">
+		<![CDATA[
+			if (c>this.counter) this.counter = c;
+		]]>
+	</method>
+  	
+	<attribute name="mousetracker_del" value="$once{ new LzDelegate(this, 'trackmouse' )}" />
+	
+	<!-- 
+	This is the very basic decision what to do
+	the modus pointer is only  a temp modus which is inited while draging
+	a new selected object
+	 -->
+	<attribute name="drawmodus" value="hand" type="string" />
+	
+	<!-- This List holds all ActionObject
+		currently paintings
+				  letters -->
+	<attribute name="baseactionobjectList" value="null" />
+	<attribute name="baseredoactionobjectList" value="null" />
+	
+	<!-- This List hold a reference to all 
+		Array of Drawing Action, it is needed for coping the view and undo/redo -->
+	<attribute name="basetempactionobjectList" value="null" />
+	
+	<attribute name="basdrawredoView" value="null" />
+	
+	<attribute name="hasprevious" value="false" type="boolean" />
+	<attribute name="hasenext" value="false" type="boolean" />
+	
+	<attribute name="doClearAll" value="false" type="boolean" />
+	<attribute name="doClearSlide" value="false" type="boolean" />
+	
+	<!-- For the dragging resizeing there is a bounding box -->
+	<attribute name="boundingIsActive" value="false" type="boolean" />
+	<attribute name="boundingref" value="null" />
+	
+	<!-- For sending messages in shared modus -->
+	<method name="onsharedMessage" args="action,obj" />
+	
+	<!-- this event must be triggered AFTER
+		the nesseccary room + domain for this conferenceView is set
+		-->
+	<event name="onopenWhiteBoard" />
+	
+	<attribute name="isDragging" value="false" type="boolean"/>
+	
+	<attribute name="last_x" value="0" type="number" />
+	<attribute name="last_y" value="0" type="number" />
+	
+	<!-- ############
+		init
+	 -->
+	<handler name="oninit">
+		if (this.isRemoteOID){
+            //wrong reference, swagner 20.09.2008
+			//this.getOID.doCall();
+		}
+        //Debug.write("********** this oninit: ",this);
+		this.basdrawredoView = new LzView(canvas,{visible:false,y:440});
+		this.layers = new Array();
+		this.last_x = this.x;
+		this.last_y = this.y;
+		this.redolayers = new Array();
+		this.baseactionobjectList = new Array();
+		this.baseredoactionobjectList = new Array();
+	</handler>
+	
+	<!--
+	<handler name="onkeydown" reference="lz.Keys" args="k">
+		if ($debug) Debug.write("onkeydown ",k,this,lz.Keys);
+	</handler>
+	<handler name="onkeyup" reference="lz.Keys" args="k">
+		if ($debug) Debug.debug("key %w %s", k, "up");
+    </handler>
+     -->
+	<!--
+        if (this.boundingref!=null) this.boundingref.removeIt();
+        while (this.subviews.length > 0) {
+            this.subviews[0].destroy();
+        }
+        while (this.basdrawredoView.subviews.length > 0) {
+            this.basdrawredoView.subviews[0].destroy();
+        }           
+        this.layers = new Array();
+        this.redolayers = new Array();
+        this.baseactionobjectList = new Array();
+        this.baseredoactionobjectList = new Array();    
+        this.checkStepLayers(); 
+     -->
+      
+    <method name="clearSlideOnly">
+    	<![CDATA[
+            
+            var itemsToDelete = this.getCurrentSlideAnnotations();
+            
+            this.onsharedMessage('clearSlide',itemsToDelete); 
+            
+            this.clearSlideRemote(itemsToDelete);
+        ]]>
+    </method>  
+            
+	<method name="clearAll">
+		<![CDATA[
+			this.onsharedMessage('clear',null);	
+			this.clearRemote();
+		]]>
+	</method>
+	
+	<method name="getCurrentSlideAnnotations">
+		<![CDATA[
+		
+		    var currentSlideNumber = -1;
+		
+            for (var i=0;i<this.baseactionobjectList.length;i++) {
+            	
+            	if (this.baseactionobjectList[i][0] == "swf") {
+            		currentSlideNumber = this.baseactionobjectList[i][8];
+            		break;
+            	}
+            	
+            }
+            
+            var itemsToDelete = new Array();
+            
+            for (var i=0;i<this.baseactionobjectList.length;i++) {
+            	
+            	if (this.baseactionobjectList[i][0] == "ellipse" 
+                        || this.baseactionobjectList[i][0] == "drawarrow"
+                        || this.baseactionobjectList[i][0] == "line"
+                        || this.baseactionobjectList[i][0] == "paint"
+                        || this.baseactionobjectList[i][0] == "rectangle"
+                        || this.baseactionobjectList[i][0] == "uline"
+                        || this.baseactionobjectList[i][0] == "image"
+                        || this.baseactionobjectList[i][0] == "clipart"
+                        || this.baseactionobjectList[i][0] == "letter") {
+                        	
+                	var swfObj = this.baseactionobjectList[i][this.baseactionobjectList[i].length-7];
+                	
+                	if (swfObj.slide == currentSlideNumber) {
+                		itemsToDelete.push(this.baseactionobjectList[i][this.baseactionobjectList[i].length-1]);
+                	}
+                	
+                }
+            	
+            }
+            
+            return itemsToDelete;
+		]]>
+	</method>
+	
+	<method name="clearSlideRemote" args="itemsToDelete">
+        <![CDATA[
+        
+            var indexOfItemsToDelete = new Array();
+        
+            for (var i=0;i<this.baseactionobjectList.length;i++) {
+                
+            	
+            	for (var k=0;k<itemsToDelete.length;k++) {
+            	
+                    if (this.baseactionobjectList[i][this.baseactionobjectList[i].length-1] == itemsToDelete[k]) {
+                                
+                        indexOfItemsToDelete.push(i);
+                        
+                    }
+                
+            	}
+                
+            }
+            
+            for (var i=indexOfItemsToDelete.length-1;i>=0;i--) {
+                
+                var itemToDelete = this.baseactionobjectList[indexOfItemsToDelete[i]];
+                
+                var refObj = this.getObjectByName(itemToDelete[itemToDelete.length-1]);
+                
+                refObj.destroy();
+                
+                this.baseactionobjectList.splice(indexOfItemsToDelete[i],1);
+                
+            }   
+        ]]>
+    </method>        
+	
+	<method name="clearRemote">
+        <![CDATA[
+        
+            if (this.boundingref!=null) this.boundingref.removeIt();
+            while (this.subviews.length > 1) {
+                this.subviews[1].prepareForDelete.sendEvent();
+                this.subviews[1].destroy();
+            }
+            while (this.basdrawredoView.subviews.length > 0) {
+                this.basdrawredoView.subviews[0].destroy();
+            }   
+            
+            this.setAttribute("x",0);
+            this.setAttribute("y",0);
+            
+            this.getDisplayObject()._xscale = 100;
+            this.getDisplayObject()._yscale = 100;
+            
+            this.onupdateScale.sendEvent(null);
+            
+            parent.parent.zoombox.setWhiteboardValues(true,100);
+            
+            this.layers = new Array();
+            this.redolayers = new Array();
+            this.baseactionobjectList = new Array();
+            this.baseredoactionobjectList = new Array();    
+            this.checkStepLayers(); 
+            this.clearDocumentsBar();
+        ]]>
+    </method>
+	
+	<method name="doAction" args="modi">
+		if (modi=='saveobj'){
+			if (this.sendObject) this.sendObject.sendEvent();
+		} else if (modi=='loadobj'){
+		
+		}
+	</method>
+	
+	<method name="setModusWithUpdate" args="modi">
+		var paintToolBar = this.getPaintToolBar();
+		paintToolBar.updateToolSelection(modi);
+		this.setModus(modi);
+	</method>
+	
+	<method name="setModus" args="modi">
+		<![CDATA[
+		  
+		    if ($debug) Debug.write("setModus AAA: ",this.baseactionobjectList);
+		
+    		//check if previous modi has been txt, which might not be saved to the board yet
+            var previousModus = this.drawmodus;
+    		if ($debug) Debug.write("setModus: ",modi);
+    		if (this.drawmodus=='letter'){
+    			if (this.letterObjectIsActive){
+    				if ($debug) Debug.write("setModus:drawtoArray",modi);
+    				this.currentletterObj.drawtoArray();
+    			}
+    		}
+    		
+    		if (modi != 'print' && modi != 'plain') {
+    		    this.setAttribute('drawmodus',modi);
+    		} else if (modi == 'print') {
+    			var my_pj = new PrintJob();
+                var myResult = my_pj.start();
+                
+                if ($debug) Debug.write("myResult ",myResult);
+                
+                if (myResult) {
+                	
+                	var mc = this.getDisplayObject();
+                	
+                	// boolean to track whether addPage succeeded, change this to a counter
+                    // if more than one call to addPage is possible
+                    var pageAdded:Boolean = false;
+                
+                    // check the user's printer orientation setting
+                    // and add appropriate print area to print job
+                    if (my_pj.orientation == "portrait") {
+                        // Here, the printArea measurements are appropriate for an 8.5" x 11"
+                        // portrait page.
+                        pageAdded = my_pj.addPage(mc._parent,{xMin:0,xMax:600,yMin:0,yMax:800});
+                    } else {
+                        // my_pj.orientation is "landscape".
+                        // Now, the printArea measurements are appropriate for an 11" x 8.5"
+                        // landscape page.
+                        pageAdded = my_pj.addPage(mc._parent,{xMin:0,xMax:750,yMin:0,yMax:600});
+                    }
+                
+                    // send pages from the spooler to the printer
+                    if (pageAdded) {
+                        my_pj.send(); 
+                    }
+
+                	
+                	//if ($debug) Debug.write("mc ",mc);
+                	//if ($debug) Debug.write("mc.name ",mc._name);
+                	
+                    //myResult = my_pj.addPage(mc, null, {printAsBitmap:true}, 1);
+                    //my_pj.send();
+                    delete my_pj;
+                }
+    		}
+    		
+    		if (modi=='plainSlide'){
+    			this.doClearSlide = true;
+                this.doClearAll = false;
+    			new lz.confirmationSingle(canvas.main_content._content.inner,{
+                                           labelid:1339,labeliderror:1359,
+                                           refObj:this,showCheckBox:false});
+    			
+    			this.setAttribute('drawmodus',previousModus);
+    		} else if (modi=='plainConfirm'){
+    			this.doClearSlide = false;
+    			this.doClearAll = true;
+                new lz.confirmationSingle(canvas.main_content._content.inner,{
+                                           labelid:1339,labeliderror:1340,
+                                           refObj:this,showCheckBox:false});
+                //this.clearAll();
+                //if ($debug) Debug.write("clearAll and RESET Modus to",previousModus);
+                this.setAttribute('drawmodus',previousModus);
+            } else if (modi=='plain'){
+                this.clearAll();
+                //if ($debug) Debug.write("clearAll and RESET Modus to",previousModus);
+                this.setAttribute('drawmodus',previousModus);
+            } else if (modi=='hand' || modi=='letter' || modi=='triangle' 
+    			|| modi=='paint' || modi=='line' || modi=='uline' || modi=='clipart' 
+    			|| modi=='rectangle' || modi=='ellipse' || modi=='drawarrow'){
+    			if (this.boundingref!=null) this.boundingref.removeIt();
+    		}
+    		if (modi=='rectangle') {
+    			//Open Up Recording
+    			
+    		}
+		]]>
+	</method>
+	
+	<method name="sendConfirmation" args="yesno" >
+		if (this.doClearSlide) {
+			this.clearSlideOnly();
+		} else if (this.doClearAll) {
+            this.clearAll();
+        }
+    </method>
+    
+    <method name="sendNoConfirmation" args="ref">
+    	//Do nothing
+    </method>
+	
+	<method name="getModusItems" args="modi">
+		<![CDATA[
+		//Debug.write("getModusItems: ",modi,this.baseactionobjectList);
+		if (modi=='pointer'){
+			return this.baseactionobjectList;
+		} else {
+			var tempList = new Array();
+			//Debug.write("this.baseactionobjectList: ",modi);
+			for (var eg=0;eg<this.baseactionobjectList.length;eg++){
+				//Debug.write("this.baseactionobjectList[eg][0]==modi",this.baseactionobjectList[eg][0],modi);
+				if (this.baseactionobjectList[eg][0]==modi) {
+					tempList.push(this.baseactionobjectList[eg]);
+				}
+			}		
+			return tempList;
+		}
+		]]>
+	</method>
+	
+	<method name="getObjectByName" args="objName">
+		if (this[objName]) {
+			return this[objName];
+		}
+		return null;
+	</method>
+	
+	<method name="getBaseObjectByName" args="bName">
+        <![CDATA[
+            //Debug.write("getModusItems: ",modi,this.baseactionobjectList);
+            //Debug.write("this.baseactionobjectList: ",modi);
+            for (var eg=0;eg<this.baseactionobjectList.length;eg++){
+                //Debug.write("this.baseactionobjectList[eg][0]==modi",this.baseactionobjectList[eg][0],modi);
+                if (this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-1]==bName) {
+                    return this.baseactionobjectList[eg];
+                }
+            }       
+            return null;
+        ]]>
+    </method>
+	
+	<method name="deleteItemByName" args="objName">
+        <![CDATA[
+            var newA = this.deleteItemByNameSync(objName);
+            if (newA[0]=='paint') newA[1] = new Array();
+            this.onsharedMessage('delete',newA);    
+        ]]>
+    </method>
+    
+	<method name="deleteItemByNameSync" args="objName">
+    	<![CDATA[
+    	    if ($debug) Debug.write("deleteItemByNameSync :: ",objName);
+    	    this[objName].prepareForDelete.sendEvent();
+    	    this[objName].destroy();
+            if (this.boundingref!=null) this.boundingref.removeIt();
+    		
+    		var pos = -1;
+    		for (var eg=0;eg<this.layers.length;eg++){
+    			if (this.layers[eg]['name']==objName) {
+    				pos = eg;
+    				//Debug.write("Found Object in Layer: ",eg);
+    				this.layers[eg].prepareForDelete.sendEvent();
+    				this.layers[eg].destroy();
+    			}
+    		}	
+    		if (pos!=-1) this.layers.splice(pos, 1);
+    		//get Item Position
+    		pos = -1;
+    		for (var eg=0;eg<this.baseactionobjectList.length;eg++){
+    			if (this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-1]==objName) {
+    				pos = eg;
+    				//Debug.write("Found Object: ",eg);
+    				break;
+    			}
+    		}
+    		
+    		if ($debug) Debug.write("deleteItemByNameSync Found Object: ",eg);
+    		
+    		var newA = this.baseactionobjectList[pos];
+    		
+    		for (var eg=0;eg<this.baseactionobjectList.length;eg++){
+    			if (this.baseactionobjectList[eg][0]!="pointerWhiteBoard") {
+		    		if (this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-8]>newA[newA.length-8]) {
+		    				this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-8]-=1;
+					}
+    			}
+    		}
+    		
+    		if (pos!=-1) this.baseactionobjectList.splice(pos, 1);
+    		
+    		//if ($debug) Debug.write("this.baseactionobjectList.length: ",this.baseactionobjectList.length);
+    		//if ($debug) Debug.write("this.layers.length: ",this.layers.length);
+    		
+    		if ($debug) Debug.warn("deleteItemByName :: ",objName);
+    		
+    		this.checkStepLayers();
+    		
+    		if (newA[0] == "swf") {
+                this.doDeleteFromDocumentsBar(objName);
+    		}
+    		
+    		return newA;
+    	]]>
+	</method>
+	
+	<method name="UpdateByObject" args="objRef">
+		<![CDATA[
+		//Debug.write("UpdateByObject : ",objRef,objRef.name);
+		var objName = objRef.name;
+		//for (var eg=0;eg<this.layers.length;eg++){
+		//	if (this.layers[eg]['name']==objName) {
+		//		//Debug.write("Found Object in Layer: ",this.layers[eg]);
+		//	}
+		//}
+		
+		var tx = objRef.x;
+        var ty = objRef.y;
+        
+        if(this.isSnapToGrid){   
+            
+            tx = Math.round(tx/this.gridWidth)*this.gridWidth;
+            ty = Math.round(ty/this.gridWidth)*this.gridWidth;
+            
+        }
+		
+		for (var eg=0;eg<this.baseactionobjectList.length;eg++){
+			if (this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-1]==objName) {
+				//Debug.write("Found Object: ",this.baseactionobjectList[eg]);
+				this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-5] = tx;
+				this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-4] = ty;
+				this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-3] = objRef.width;
+				this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-2] = objRef.height;
+				var newA = this.baseactionobjectList[eg];
+				if (newA[0]=='paint') newA[1] = new Array();				
+				this.onsharedMessage('size',newA);	
+			    break;
+			}
+		}	
+			
+		]]>
+	</method>
+	
+	<!-- ##############
+		undo/redo
+	 -->
+	
+	<method name="undoredo">
+		<![CDATA[
+		if (this.baseactionobjectList.length>0){
+			if (this.boundingref!=null) this.boundingref.removeIt();
+			var lastActionObject = this.baseactionobjectList.pop();
+			this.deleteItemByNameSync(lastActionObject[lastActionObject.length-1]);
+			this.onsharedMessage('undo',lastActionObject);
+		}
+		]]>
+	</method>
+
+	
+	<method name="checkStepLayers">
+		if (this.layers.length==0){
+			this.setAttribute('hasprevious',false);
+		} else {
+			this.setAttribute('hasprevious',true);
+		}
+		if (this.redolayers.length==0){
+			this.setAttribute('hasenext',false);
+		} else {
+			this.setAttribute('hasenext',true);
+		}	
+		//this.setAttribute('drawmodus',this.getAttribute('drawmodus'));				
+	</method>
+	
+	<method name="onmouseoverMethod">
+		
+	</method>
+	
+	<method name="onmouseoutMethod">
+        
+    </method>
+             
+	<method name="onmousedownMethod" >
+		<![CDATA[
+		if ($debug) Debug.write("onmousedownMethod this.drawmodus: ",this.drawmodus);
+		
+		
+		if(this.selectedObjects != null && this.selectedObjects.length > 0){
+			for (var eg=0;eg<this.selectedObjects.length;eg++){
+				var  objectToUpdate = this.getObjectByName(this.selectedObjects[eg][this.selectedObjects[eg].length-1]);
+	            objectToUpdate.setAttribute('opacity', 1);
+			}
+		}
+		
+		if (canvas.ismoderator || canvas.isAllowedToDraw) {
+			
+			if (this.letterObjectIsActive){
+				this.currentletterObj.drawtoArray();
+				this.setModusWithUpdate("hand");
+				//bool = true;				
+			}
+			
+			if(this.drawmodus=="drag"){
+				this.isDragging = true;
+				this.dragger.apply();
+			} else if(this.drawmodus=="hand"){
+				this.doSetHandBodus();				
+			} else if(this.drawmodus=="paint"){
+				this.startPaint();
+				mousetracker_del.register(lz.Idle,'onidle');
+			} else if(this.drawmodus=="line"){
+				this.startLine(null);
+	  	 		this.startx = currentlayer.getMouse('x');
+				this.starty = currentlayer.getMouse('y'); 			
+				mousetracker_del.register(lz.Idle,'onidle');
+			} else if(this.drawmodus=="uline"){
+				this.startUline(null);
+	  	 		this.startx = currentlayer.getMouse('x');
+				this.starty = currentlayer.getMouse('y'); 			
+				mousetracker_del.register(lz.Idle,'onidle');
+			} else if(this.drawmodus=="drawarrow"){
+				this.startDrawarrowline(null);
+	  	 		this.startx = currentlayer.getMouse('x');
+				this.starty = currentlayer.getMouse('y'); 			
+				mousetracker_del.register(lz.Idle,'onidle');
+			} else if (this.drawmodus == 'rectangle') {
+				this.startRect(null);
+	  	 		this.startx = currentlayer.getMouse('x');
+				this.starty = currentlayer.getMouse('y'); 				
+	            mousetracker_del.register(lz.Idle,'onidle');
+	        } else if (this.drawmodus == 'ellipse') {
+				this.startEllipse(null);
+	  	 		this.startx = currentlayer.getMouse('x');
+				this.starty = currentlayer.getMouse('y'); 				
+	            mousetracker_del.register(lz.Idle,'onidle');
+	        } else if (this.drawmodus == 'letter') {
+                this.startLetter();
+                this.startx = currentlayer.getMouse('x');
+                this.starty = currentlayer.getMouse('y');               
+                mousetracker_del.register(lz.Idle,'onidle');
+            } else if (this.drawmodus == 'clipart') {
+            	this.startDrawClipArt(null);
+                this.startx = currentlayer.getMouse('x');
+                this.starty = currentlayer.getMouse('y');  
+                mousetracker_del.register(lz.Idle,'onidle');
+            } else if (this.drawmodus == 'triangle') {
+				this.startTriangle(null);
+	  	 		this.startx = currentlayer.getMouse('x');
+				this.starty = currentlayer.getMouse('y'); 				
+	            mousetracker_del.register(lz.Idle,'onidle');
+	        }else if (this.drawmodus == 'paste') {
+				//this.startSelect(null);
+	  	 		var paste_x = parent.getMouse('x');
+				var paste_y = parent.getMouse('y'); 				
+	            //mousetracker_del.register(lz.Idle,'onidle');
+	            this.paste(paste_x, paste_y);
+	            
+	            //this.setModus("hand");
+				
+	            if ($debug) Debug.write("paste mouse down ",this);
+	            //if ($debug) Debug.write("onmousedownMethod Unkown Modus ",this.drawmodus);
+	        } else {
+	        	if ($debug) Debug.write("onmousedownMethod Unkown Modus ",this.drawmodus);
+	        }
+            
+            
+        }
+        ]]>
+	</method>
+
+	<method name="onmouseupMethod" >
+        if ($debug) Debug.write("onmouseupMethod this.drawmodus: ",this.drawmodus);
+		<![CDATA[	
+	        if (canvas.ismoderator || canvas.isAllowedToDraw) {
+				//var bool = false;
+				
+	        	if(this.drawmodus=="drag"){
+	        		this.isDragging = false;
+	        		this.dragger.remove();
+	        		
+	        		this.setAttribute("x",Math.round(this.x));
+	        		this.setAttribute("y",Math.round(this.y));
+	        		
+	        		if (this.last_x == this.x && this.last_x == this.x) {
+	        			if ($debug) Debug.write("No Change");
+	        			return;
+	        		}
+	        		
+	        		this.last_x = this.x;
+	        		this.last_y = this.y;
+	        		
+	        		var tArray = new Array();
+		    		tArray[0] = "moveMap";
+		    		tArray[1] = this.x;
+		    		tArray[2] = this.y;
+		    		
+		    		this.onsharedMessage('moveMap',tArray);
+	        		
+	        	} else if(this.drawmodus=="paint"){
+					this.endPaint();
+					mousetracker_del.unregisterAll();
+				} else if(this.drawmodus=="line"){
+					this.endLine();
+					mousetracker_del.unregisterAll();
+				} else if(this.drawmodus=="drawarrow"){
+					this.endDrawarrowline();
+					mousetracker_del.unregisterAll();
+				} else if(this.drawmodus=="uline"){
+					this.endUline();
+					mousetracker_del.unregisterAll();
+				} else if(this.drawmodus=="letter"){
+					//if (!this.letterObjectIsActive && !bool){
+					//	this.currentletterObj = new lz.baseDrawWords(canvas,{refObj:this,x:canvas.getMouse('x'),
+					//		y:canvas.getMouse('y')});
+					//}
+					this.endLetter();
+					mousetracker_del.unregisterAll();
+				} else if (this.drawmodus == 'rectangle') {
+					this.endRect();
+		        	mousetracker_del.unregisterAll();
+		        } else if (this.drawmodus == 'ellipse') {
+					this.endEllipse();
+		        	mousetracker_del.unregisterAll();
+		        } else if (this.drawmodus == 'pointer') {
+		        	this.setAttribute('drawmodus','hand');
+					if (this.boundingIsActive){
+						this.boundingref._innerDrag.onmouseup.sendEvent();
+					}
+		        } else if (this.drawmodus == 'pointerWhiteboard') {
+                    if ($debug) Debug.write("pointerWhiteboard set New Point ");
+                    this.endPointerWhiteBoard();
+                } else if(this.drawmodus=="clipart"){
+                    this.endDrawClipArt();
+                    mousetracker_del.unregisterAll();
+                } else if (this.drawmodus == 'triangle') {
+					this.endTriangle();
+		        	mousetracker_del.unregisterAll();
+		        } else if (this.drawmodus == 'hand') {
+					this.endSelect();
+		        	mousetracker_del.unregisterAll();
+		        }else if (this.drawmodus == 'paste') {
+					//this.setModus("hand");
+					//this.setAttribute('drawmodus','hand');
+					//if ($debug) Debug.write("onmouseupMethod paste ",this.drawmodus);
+		        } else {
+		        	if ($debug) Debug.write("onmouseupMethod Unkown Modus ",this.drawmodus);
+		        }
+	                
+		        ////Debug.write("onmouseup: ",this.letterObjectIsActive,this.currentletterObj);	        
+				this.checkStepLayers();
+	        } else {
+	        	if (!this.restricted) {
+                    this.endPointerWhiteBoard();
+	        	}
+            }
+		]]>
+	</method>  
+    
+    <!--
+    <handler name="onclick" args="obj">
+        //Debug.write("click on whiteBoard ",obj);
+    </handler>
+     -->
+
+  	<method name="trackmouse" args="item">
+    	<![CDATA[
+
+    	this.mx = currentlayer.getMouse('x');
+    	this.my = currentlayer.getMouse('y');   
+	    	    	
+    	if (this.drawmodus=="paint"){	    	
+		    if (mx != prevx || my != prevy) {
+		        if (prevx == null) {
+		            prevx = mx;
+		        }
+		        if (prevy == null) {
+		            prevy = my;
+		        }
+	            var mmx = this.mx;
+	            var mmy = this.my;
+	            var px = this.prevx;
+	            var py = this.prevy;
+
+	            this.drawline(px, py, mmx, mmy);
+	            this.drawlineRegisterPaint(px, py, mmx, mmy);
+	            
+	            this.prevx  = this.mx;
+	            this.prevy = this.my;            
+	        } 
+	    } else if (this.drawmodus=="line"){	 
+	    	var oid_name = this.currentlayer.name;
+	    	this.currentlayer.destroy();
+	    	this.startLine(oid_name);
+			this.endx = this.mx;
+			this.endy = this.my;
+            this.drawline(this.startx, this.starty, this.endx, this.endy);
+	    } else if (this.drawmodus=="uline"){
+	    	var oid_name = this.currentlayer.name;
+	    	this.currentlayer.destroy();
+	    	this.startUline(oid_name);
+			this.endx = this.mx;
+			this.endy = this.my;
+            this.drawline(this.startx, this.starty, this.endx, this.endy);
+	    } else if (this.drawmodus=="drawarrow"){	
+	    	var oid_name = this.currentlayer.name;
+	    	this.currentlayer.destroy();
+	    	this.startDrawarrowline(oid_name);
+			this.endx = this.mx;
+			this.endy = this.my;
+	    } else if (this.drawmodus == 'rectangle') {
+	    	var oid_name = this.currentlayer.name;
+	    	this.currentlayer.destroy();
+	    	this.startRect(oid_name);
+			// stretchy rect mode
+			this.endx = this.mx;
+			this.endy = this.my;
+			this.drawrectangle (this.startx, this.starty, this.mx, this.my);
+		} else if (this.drawmodus == 'triangle') {
+	    	var oid_name = this.currentlayer.name;
+	    	this.currentlayer.destroy();
+	    	this.startTriangle(oid_name);
+			// stretchy rect mode
+			this.endx = this.mx;
+			this.endy = this.my;
+			this.drawtriangle (this.startx, this.starty, this.mx, this.my);
+		} else if (this.drawmodus == 'ellipse') {
+			var oid_name = this.currentlayer.name;
+	    	this.currentlayer.destroy();
+	    	this.startEllipse(oid_name);
+			// stretchy rect mode
+			this.endx = this.mx;
+			this.endy = this.my;
+			this.drawellipse (this.startx, this.starty, this.mx, this.my);			
+		} else if (this.drawmodus == 'letter') {
+			var oid_name = this.currentlayer.name;
+	    	this.currentlayer.destroy();
+	    	this.startLetter(oid_name);
+			// stretchy rect mode
+			this.endx = this.mx;
+			this.endy = this.my;
+			this.drawletterBoundingBox (this.startx, this.starty, this.mx, this.my);			
+		} else if (this.drawmodus=="clipart"){ 
+            //var oid_name = this.currentlayer.name;
+            //this.currentlayer.destroy();
+            this.trackDrawClipArt();
+            this.endx = this.mx;
+            this.endy = this.my;
+        } else if (this.drawmodus == 'copy') {
+	    	var oid_name = this.currentlayer.name;
+	    	this.currentlayer.destroy();
+	    	this.startSelect(oid_name);
+			// stretchy rect mode
+			this.endx = this.mx;
+			this.endy = this.my;
+			this.drawrectangle (this.startx, this.starty, this.mx, this.my);
+        }else if (this.drawmodus == 'hand') {
+	    	var oid_name = this.currentlayer.name;
+	    	this.currentlayer.destroy();
+	    	this.startSelect(oid_name);
+			// stretchy rect mode
+			this.endx = this.mx;
+			this.endy = this.my;
+			this.drawrectangle (this.startx, this.starty, this.mx, this.my);
+        }
+		
+    	]]>
+    </method>
+	
+	<!-- ####################
+		Handmodus
+	 -->
+	<method name="doSetHandBodus" >
+		<![CDATA[
+		////Debug.write("doSetHandBodus: ");
+		var objList = this.getObjectInBounds(this.getMouse('x'),this.getMouse('y'));
+		if(objList.length==1){
+			this.setAttribute('drawmodus','pointer');
+			////Debug.write(objList[0][objList[0].length-1]);
+			this.doShowObjectBounds(objList[0][objList[0].length-1]);
+		} else if (objList.length>1){
+			this.setAttribute('drawmodus','pointer');
+			////Debug.write(objList[objList.length-1][objList[objList.length-1].length-1]);
+			this.doShowObjectBounds(objList[objList.length-1][objList[objList.length-1].length-1]);
+		} else {
+			this.startSelect(null);
+  	 		this.startx = currentlayer.getMouse('x');
+			this.starty = currentlayer.getMouse('y'); 				
+            mousetracker_del.register(lz.Idle,'onidle');
+            if ($debug) Debug.write("this.startSelect ",this);
+	            
+			this.setModus("hand");
+		}
+		]]>
+	</method>
+	
+    <method name="doShowObjectBounds" args="val">
+    <![CDATA[
+    	if (val !=null && val!=''){
+	    	this.ObjectByName = this.getObjectByName(val);
+	    	//FIXME: Set Corrent Value to Document Toolbar or use another var
+               
+            var boundingDoUpdateOnInit = true;
+            if (this.ObjectByName instanceof lz.swfResourceView){
+                //Debug.write("is swf Presentation");
+                boundingDoUpdateOnInit=false;
+            }
+            
+            //if ($debug) Debug.write("this.ObjectByName ",val,this.ObjectByName);
+                
+	    	var x = this.ObjectByName.x;
+	    	var y = this.ObjectByName.y;
+            //if ($debug) Debug.write("doShowObjectBounds: ",x,y);
+	    	var width = this.ObjectByName.width;
+	    	var height = this.ObjectByName.height;
+	    	if (this.boundingref!=null)this.boundingref.removeIt();
+	    	this.boundingref = new lz.boundingBoxAll(this.parent.parent._drawareaMask._drawarea,{whiteboardRef:this,
+                    objRef:this.ObjectByName,x:x-200,y:y-200,width:width+400,height:height+400,
+                    canBeDragged:boundingDoUpdateOnInit,canBeResized:boundingDoUpdateOnInit,
+                    ex:x,ey:y,ewidth:width,eheight:height,boundingDoUpdateOnInit:boundingDoUpdateOnInit});
+	    	this.setAttribute('boundingIsActive',true);
+        
+            //if (!boundingDoUpdateOnInit) {
+            //    this.boundingref._inner._inner.setAttribute('width',this.ObjectByName._swfView.width);
+            //    this.boundingref._inner._inner.setAttribute('height',this.ObjectByName._swfView.height);
+            //    if ($debug) Debug.write("NEW WIDTH AND HEIGHT OF SWF ",this.ObjectByName._swfView.width,this.ObjectByName._swfView.height);
+            //    this.boundingref._inner.setAttribute('visible',true);
+            //    parent.parent.changeMenu(2,true);
+            //    this.doUpdateDocumentToolBar();
+            //} else {
+            //    parent.parent.changeMenu(1,true);
+            //}
+             
+    	}
+    ]]>
+    </method>   
+    
+    <method name="reselectShowObjectBounds" args="val">
+    <![CDATA[
+        if (val !=null && val!=''){
+            this.ObjectByName = this.getObjectByName(val);
+            //FIXME: Set Corrent Value to Document Toolbar or use another var
+               
+            
+            //if ($debug) Debug.write("this.ObjectByName ",val,this.ObjectByName);
+                
+            var x = this.ObjectByName.x;
+            var y = this.ObjectByName.y;
+            //if ($debug) Debug.write("doShowObjectBounds: ",x,y);
+            var width = this.ObjectByName.width;
+            var height = this.ObjectByName.height;
+            if (this.boundingref!=null)this.boundingref.removeIt();
+            this.boundingref = new lz.boundingBoxAll(this.parent.parent._drawareaMask._drawarea,{
+                                whiteboardRef:this,
+                                objRef:this.ObjectByName,
+                                x:x-200,y:y-200,
+                                width:width+400,height:height+400,
+                                canBeDragged:true,canBeResized:false,
+                                ex:x,ey:y,ewidth:width,eheight:height,
+                                boundingDoUpdateOnInit:false
+                            });
+            this.setAttribute('boundingIsActive',true);
+        
+            //if (!boundingDoUpdateOnInit) {
+            //    this.boundingref._inner._inner.setAttribute('width',this.ObjectByName._swfView.width);
+            //    this.boundingref._inner._inner.setAttribute('height',this.ObjectByName._swfView.height);
+            //    if ($debug) Debug.write("NEW WIDTH AND HEIGHT OF SWF ",this.ObjectByName._swfView.width,this.ObjectByName._swfView.height);
+            //    this.boundingref._inner.setAttribute('visible',true);
+            //    parent.parent.changeMenu(2,true);
+            //    this.doUpdateDocumentToolBar();
+            //} else {
+            //    parent.parent.changeMenu(1,true);
+            //}
+             
+        }
+    ]]>
+    </method>   
+	
+	<method name="updateObjectBounds">
+		if (this.boundingref!=null) this.boundingref.resetValues();
+	</method>
+	
+	<method name="removeObjectBounds">
+		if (this.boundingref!=null) this.boundingref.removeIt();
+	</method>
+    
+	<method name="getObjectInBounds" args="x,y">
+		<![CDATA[
+		var tempList = new Array();
+		if ($debug) Debug.write("getObjectInBounds this.baseactionobjectList1: ",x,y,this.baseactionobjectList);
+		
+		for (var eg=0;eg<this.baseactionobjectList.length;eg++){
+			
+			
+			//if ($debug) Debug.write("c1 ",this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-5],"<",x);
+            //if ($debug) Debug.write("c2 ",(this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-5]+this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-3]),">",x);
+            //if ($debug) Debug.write("c3 ",this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-4],"<",y);
+            //if ($debug) Debug.write("c4 ",( this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-4]+this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-2] ),">",y);
+        
+			
+			if ( ( this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-5]<x 
+				&& ( (this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-5]+this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-3]) >=x ) ) 
+				&& ( this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-4]<y 
+				&& ( this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-4]+this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-2] )>y  ) ) {
+					
+				if (this.baseactionobjectList[eg][0] != "mindMapNode"
+				        && this.baseactionobjectList[eg][0] != "mindMapCenter")	{
+    				if (this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-7] == null) {
+        				tempList.push(this.baseactionobjectList[eg]);
+    		        } else {
+    		        	var swfObject = this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-7];
+    		        	
+    		        	if ($debug) Debug.write("getObjectInBounds :: swfObject ",swfObject.isVisible);
+    		        	
+    		        	if(swfObject.isVisible) {
+    	        	        tempList.push(this.baseactionobjectList[eg]);
+    		        	}
+    		        }
+		        }
+				////Debug.write("found obj: ",this.baseactionobjectList[eg]);
+			}
+		}		
+		return tempList;
+		]]>
+	</method>
+	
+	
+	<method name="getZIndex">
+		<![CDATA[
+			if ($debug) Debug.write("getZIndex ",this.subviews.length-1);
+			return this.subviews.length-1;
+		]]>
+	</method>
+	
+	
+	
+	<!-- ##################
+		SharedModus
+		action => type of action
+		actionObject => necessary information to reproduce the event
+		isWmlLoader => true means this object is loaded through a stored wml-file
+		so do not spread any update-notifications to connected clients for each 
+		object cause the file loading will make a seperate notification
+	 -->
+	<method name="sendWatchObject" args="action,actionObject,isWmlLoader">
+		if ($debug) Debug.write("sendWatchObject: ",action,actionObject);
+		<![CDATA[
+		if (action=='draw' || action=='redo'){
+			var lastactionObject = actionObject;
+			
+			//Redraw the View on the paintarea
+			if (actionObject[0]=='paint'){
+				this.paintactionHistory(lastactionObject,this);
+			} else if (actionObject[0]=='line'){
+				this.lineactionHistory(lastactionObject,this);
+			} else if (actionObject[0]=='uline'){
+				this.ulineactionHistory(lastactionObject,this);
+			} else if (actionObject[0]=='drawarrow'){
+				this.drawarrowlineactionHistory(lastactionObject,this);
+			} else if(action,actionObject[0]=='letter'){
+				this.drawactionHistory(lastactionObject,this);
+			} else if(actionObject[0]=='image'){
+				//Image will send the onwmlLoaderSend later cause it has to be send
+				//once the image has been loaded completely
+				this.addImageToLayerHistorySynced(lastactionObject,this);
+			} else if(actionObject[0]=='swf'){
+				//Image will send the onwmlLoaderSend later cause it has to be send
+				//once the image has been loaded completely
+				this.addSWFToLayerHistorySynced(lastactionObject,this);
+			} else if(actionObject[0]=='rectangle'){
+				this.drawrectangleToHistory(lastactionObject,this);
+			} else if(actionObject[0]=='triangle'){
+				this.drawtriangleToHistory(lastactionObject,this);
+			} else if(actionObject[0]=='ellipse'){
+				this.drawellipseToHistory(lastactionObject,this);
+			} else if(actionObject[0]=='pointerWhiteBoard'){
+                this.drawPointerToHistory(lastactionObject,this);
+            } else if(actionObject[0]=='flv'){
+                this.drawFlvToHistory(lastactionObject,this);
+            } else if(actionObject[0]=='mindMapCenter'){
+                this.drawMindMapCenterToHistory(lastactionObject,this);
+            } else if(actionObject[0]=='mindMapNode'){
+                this.drawMindMapNodeToHistory(lastactionObject,this);
+            } else if(actionObject[0]=='clipart'){
+                this.drawClipArtToHistory(lastactionObject,this);
+            }
+			//set counter to maximum otherwise trouble in naming conventions
+			//the 6th array index count from the end of each object is always the counter of the
+			//object
+			this.compareAndSetCounter(lastactionObject[lastactionObject.length-6]);
+			this.baseactionobjectList.push(lastactionObject);
+			
+			//Send a notifcation for the library loader sothat it can show progress
+			//and Browser does not hangUp and images can be proceed
+			//only send if type ain#t image cause image will send its own one after 
+			// it has been loaded completely
+			if (isWmlLoader && actionObject[0]!='image' && isWmlLoader && actionObject[0]!='swf') {
+				if (this.onwmlLoaderSend) this.onwmlLoaderSend.sendEvent(actionObject[0]);
+			}
+         
+        } else if(action=='clear'){
+            
+            this.clearRemote();
+            
+        } else if(action=='clearSlide'){
+            
+            this.clearSlideRemote(actionObject);
+            
+        } else if(action=='moveMap'){
+			
+			this.setAttribute("x",actionObject[1]);
+			this.setAttribute("y",actionObject[2]);
+			
+		} else if(action=='flv'){
+			
+			this.playFLVRemote(actionObject);
+			
+		} else if(action=='addBrainStorming'){
+            
+            this.brainStormingIdeasGathering(actionObject);
+        
+        } else if(action=='addBrainStormingIdeaPhase2'){
+            
+        	//Adding Idea in Phase 2
+            this.addIdeaToPhase2(actionObject);
+        
+        } else if(action=='deleteBrainStorming'){
+			
+			this.brainStormingClose(actionObject);
+			
+		} else if(action=='updateBrainStormingPhase'){
+            
+            this.brainStormingPhase2(actionObject);
+            
+        } else if(action=='updateBrainStormingPhase'){
+            
+            this.brainStormingPhase2(actionObject);
+            
+        } else if(action=='updatePrioBrainStormingIdea'){
+            
+            this.updatePrioBrainStormingIdea(actionObject);
+        
+        } else if(action=='updateTextBrainStormingIdeaColor'){
+            
+            this.updateTextBrainStormingIdeaColor(actionObject);
+        
+        } else if(action=='updateBrainStormingGroupName'){
+            
+            this.updateBrainStormingGroupName(actionObject);
+            
+        } else if(action=='deleteBrainStormingGroup'){
+            
+            this.deleteBrainStormingGroup(actionObject);
+			
+		} else if(action=='deleteBrainStormingIdea'){
+            
+            this.deleteBrainStormingIdea(actionObject);
+			
+		} else if(action=='addBrainStormingGroup'){
+            
+            this.addNewGroupRemote(actionObject,false);
+            
+		} else if(action=='updateGroupBrainStormingIdea'){
+            
+			if (actionObject[3] == "") {
+                this.moveIdeaToResultListRemote(actionObject);
+			} else {
+                this.moveIdeaToGroupRemote(actionObject);
+			}
+			
+		} else if(action=='delete' || action=='undo'){
+			
+			var lastactionObject = actionObject;	
+			this.deleteItemByNameSync(lastactionObject[lastactionObject.length-1]);
+			
+		} else if(action=='size'){
+			
+			var lastactionObject = actionObject;	
+			
+			if (lastactionObject[0] == "clipart") {
+				
+				var obj = this.getObjectByName(lastactionObject[lastactionObject.length-1]);
+                obj.destroy();
+                
+                this.drawClipArtToHistory(lastactionObject,this);
+                
+                for (var eg=0;eg<this.baseactionobjectList.length;eg++){
+                    if (this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-1]==lastactionObject[lastactionObject.length-1]) {
+                        
+                        //if ($debug) Debug.write("Found Object 1: ",this.baseactionobjectList[eg]);
+                        
+                        this.baseactionobjectList[eg] = lastactionObject;
+                        
+                        break;
+                    }
+                }   
+                
+                if (this.boundingIsActive) {
+                    this.reselectShowObjectBounds(lastactionObject[lastactionObject.length-1]);
+                }
+				
+			} else {
+			
+    			var obj = this.getObjectByName(lastactionObject[lastactionObject.length-1]);
+    			
+    			if ($debug) Debug.write("Set Size for Object ",obj);
+    			obj.setAttribute('x',lastactionObject[lastactionObject.length-5]);
+    			obj.setAttribute('y',lastactionObject[lastactionObject.length-4]);
+    			obj.setAttribute('width',lastactionObject[lastactionObject.length-3]);
+    			obj.setAttribute('height',lastactionObject[lastactionObject.length-2]);
+    			
+    			this.updateBaseObjectByName(lastactionObject[lastactionObject.length-1],
+    			                         lastactionObject[lastactionObject.length-5],
+    			                         lastactionObject[lastactionObject.length-4],
+    			                         lastactionObject[lastactionObject.length-3],
+    			                         lastactionObject[lastactionObject.length-2]);
+    			                         
+    			//if ($debug) Debug.write("BaseObject List ?? ",this.baseactionobjectList);
+    			
+                if (this.boundingIsActive) {
+                	this.boundingref.sendRemoteUpdate(obj)
+                }
+            
+			}
+			                         
+		} else if (action=="loadwml"){
+			//Debug.write(actionObject,actionObject["wmlfileName"],actionObject["wmlroom"],actionObject["wmldomain"]);
+			this.remoteWmlLoader(actionObject["wmlfileName"],actionObject["wmlroom"],actionObject["wmldomain"]);
+		} else if (action=="editText"){
+            this.editTextByHistory(actionObject,this);
+		}else if (action=="editTextMindMapFontColor") {
+            this.editTextMindMapFontColor(actionObject,this);
+        } else if (action=="editTextMindMapColor"){
+            this.editTextMindMapColor(actionObject,this);   
+        } else if (action=="editTextMindMapNode"){
+            this.editTextMindMapNode(actionObject,this);
+        } else if (action=="sendItemToFront"){
+            this.bringItemToFrontByName(actionObject[1]);
+        } else if (action=="initgetVars"){
+			//Debug.write("initUser isMod ",canvas.ismoderator,actionObject);
+			if (canvas.ismoderator){
+				//Debug.write("send all whiteBoard objects to new user");
+				var obj = new Array();
+			    obj[0] = 'whiteboard';
+			    obj[1] = 'inituser';
+			    obj[2] = this.baseactionobjectList;
+				this.oninitUser(actionObject,obj);
+			}
+		} else if (action=="swf"){
+			this.remoteObjectUpdate(actionObject);	
+		}
+		]]>
+	</method>
+	
+	
+	<method name="updateBaseObjectByName" args="tName,x,y,width,height">
+		<![CDATA[
+		
+		    
+		
+            for (var i=0;i<this.baseactionobjectList.length;i++) {
+            	
+            	if (this.baseactionobjectList[i][this.baseactionobjectList[i].length-1] == tName) {
+            		this.baseactionobjectList[i][this.baseactionobjectList[i].length-5] = x;
+            		this.baseactionobjectList[i][this.baseactionobjectList[i].length-4] = y;
+            		this.baseactionobjectList[i][this.baseactionobjectList[i].length-3] = width;
+            		this.baseactionobjectList[i][this.baseactionobjectList[i].length-2] = height;
+            		return;
+            	}
+            	
+            }
+		    
+            
+            if ($debug) Debug.warn("Could Not Find Item on List ",tName);
+		]]>
+	</method>
+	
+	<method name="sendRecordedObject" args="action,actionObject,isWmlLoader">
+		//Debug.write("sendWatchObject: ",action,actionObject);
+		<![CDATA[
+		if (action=='draw' || action=='redo'){
+			var lastactionObject = actionObject;
+			
+			//Redraw the View on the paintarea
+			if (actionObject[0]=='paint'){
+				this.paintactionHistory(lastactionObject,this);
+			} else if (actionObject[0]=='line'){
+				this.lineactionHistory(lastactionObject,this);
+			} else if (actionObject[0]=='uline'){
+				this.ulineactionHistory(lastactionObject,this);
+			} else if (actionObject[0]=='drawarrow'){
+				this.drawarrowlineactionHistory(lastactionObject,this);
+			} else if(action,actionObject[0]=='letter'){
+				this.drawactionHistory(lastactionObject,this);
+			} else if(actionObject[0]=='image'){
+				//Image will send the onwmlLoaderSend later cause it has to be send
+				//once the image has been loaded completely
+				this.addImageToLayerHistoryRecorded(lastactionObject,this,isWmlLoader);
+			} else if(actionObject[0]=='swf'){
+				//Image will send the onwmlLoaderSend later cause it has to be send
+				//once the image has been loaded completely
+				this.addSWFToLayerHistoryRecording(lastactionObject,this,isWmlLoader);
+			} else if(actionObject[0]=='rectangle'){
+				this.drawrectangleToHistory(lastactionObject,this);
+			} else if(actionObject[0]=='ellipse'){
+				this.drawellipseToHistory(lastactionObject,this);
+			}
+			//set counter to maximum otherwise trouble in naming conventions
+			//the 6th array index count from the end of each object is always the counter of the
+			//object
+			this.compareAndSetCounter(lastactionObject[lastactionObject.length-6]);
+			this.baseactionobjectList.push(lastactionObject);
+			
+			//Send a notifcation for the library loader sothat it can show progress
+			//and Browser does not hangUp and images can be proceed
+			//only send if type ain#t image cause image will send its own one after 
+			// it has been loaded completely
+			if (isWmlLoader && actionObject[0]!='image' && isWmlLoader && actionObject[0]!='swf') {
+				if (this.onwmlLoaderSend) this.onwmlLoaderSend.sendEvent(actionObject[0]);
+			}
+            
+		} else if(action=='clear'){
+			this.clearAll();
+		} else if(action=='delete' || action=='undo'){
+			var lastactionObject = actionObject;	
+			var obj = this.getObjectByName(lastactionObject[lastactionObject.length-1]);
+			obj.destroy();
+		} else if(action=='size'){
+			var lastactionObject = actionObject;	
+			var obj = this.getObjectByName(lastactionObject[lastactionObject.length-1]);
+			obj.setAttribute('x',lastactionObject[lastactionObject.length-5]);
+			obj.setAttribute('y',lastactionObject[lastactionObject.length-4]);
+			obj.setAttribute('width',lastactionObject[lastactionObject.length-3]);
+			obj.setAttribute('height',lastactionObject[lastactionObject.length-2]);
+		} else if (action=="loadwml"){
+			//Debug.write(actionObject,actionObject["wmlfileName"],actionObject["wmlroom"],actionObject["wmldomain"]);
+			this.remoteWmlLoaderRecording(actionObject["wmlfileName"],actionObject["wmlroom"],actionObject["wmldomain"]);
+		} else if (action=="editText"){
+			this.editTextByHistory(actionObject,this);
+		} else if (action=="initgetVars"){
+			//Debug.write("initUser isMod ",canvas.ismoderator,actionObject);
+			if (canvas.ismoderator){
+				//Debug.write("send all whiteBoard objects to new user");
+				var obj = new Array();
+			    obj[0] = 'whiteboard';
+			    obj[1] = 'inituser';
+			    obj[2] = this.baseactionobjectList;
+				this.oninitUser(actionObject,obj);
+			}
+		} else if (action=="swf"){
+			this.remoteObjectUpdate(actionObject);	
+		}
+		]]>
+	</method>
+	
+  	<method name="getSWFDocumentStatus">
+  		<![CDATA[
+  		
+  		    for (var i=0;i<this.baseactionobjectList.length;i++) {
+  		    	
+  		    	if (this.baseactionobjectList[i][0] == "swf") {
+  		    		
+  		    		var tSWF = new Object();
+  		    		
+  		    		tSWF.name = this.baseactionobjectList[i][this.baseactionobjectList[i].length-1];
+  		    		tSWF.slide = this.baseactionobjectList[i][8];
+  		    		tSWF.isVisible = true;
+  		    		
+  		    		return tSWF;
+  		    	}
+  		    	
+  		    }
+  		    
+  		    return null;
+  		]]>
+  	</method>
+
+    <method name="checkSWFDocumentStatus" args="swfObj">
+        <![CDATA[
+        
+            if (swfObj != null) {
+        
+                var swfBaseObj = this.getBaseObjectByName(swfObj.name);
+                
+                if (swfBaseObj != null) {
+            
+                    if (swfObj.slide == swfBaseObj[8]) {
+                    	return true;
+                    } else {
+                    	return false;
+                    }
+                    
+                }
+            
+            }
+            
+            return true;
+        ]]>
+    </method>
+
+    <method name="doSWFDocumentStatus" args="refObj,swfObj">
+        <![CDATA[
+        
+            if (swfObj != null) {
+        
+                if (swfObj.isVisible) {
+                	
+                	refObj.setAttribute("visibility","visible");
+                	
+                } else {
+                	
+                	refObj.setAttribute("visibility","hidden");
+                	
+                }
+            
+            } else {
+            	
+            	refObj.setAttribute("visibility","visible");
+            	
+            }
+            
+        ]]>
+    </method>
+    
+    <method name="updateObjectsToSlideNumber" args="baseObject">
+    	<![CDATA[
+    	
+            var baseObjectName = baseObject[baseObject.length-1];
+            var slidesNumber = baseObject[8];
+    	   
+            if ($debug) Debug.write("updateObjectsToSlideNumber :: ",baseObjectName,slidesNumber)
+    	
+            for (var i=0;i<this.baseactionobjectList.length;i++) {
+    	   	
+                if (this.baseactionobjectList[i][0] == "ellipse" 
+                        || this.baseactionobjectList[i][0] == "drawarrow"
+                        || this.baseactionobjectList[i][0] == "line"
+                        || this.baseactionobjectList[i][0] == "paint"
+                        || this.baseactionobjectList[i][0] == "rectangle"
+                        || this.baseactionobjectList[i][0] == "uline"
+                        || this.baseactionobjectList[i][0] == "image"
+                        || this.baseactionobjectList[i][0] == "clipart"
+                        || this.baseactionobjectList[i][0] == "letter") {
+                	
+                	var swfObj = this.baseactionobjectList[i][this.baseactionobjectList[i].length-7];
+                	if ($debug) Debug.write("swfObj :: ",swfObj);
+                	
+                	if (swfObj != null) {
+                		
+                		if (swfObj.name == baseObjectName) {
+                			
+                			if (swfObj.slide == slidesNumber) {
+                				
+                				swfObj.isVisible = true;
+                				
+                				this.baseactionobjectList[i][this.baseactionobjectList[i].length-7] = swfObj; 
+                				
+                				this[this.baseactionobjectList[i][this.baseactionobjectList[i].length-1]].setAttribute("visibility","visible");
+                				
+                			} else {
+                				
+                				swfObj.isVisible = false;
+                				
+                				this.baseactionobjectList[i][this.baseactionobjectList[i].length-7] = swfObj; 
+                				
+                				this[this.baseactionobjectList[i][this.baseactionobjectList[i].length-1]].setAttribute("visibility","hidden");
+                				
+                			}
+                			
+                		}
+                		
+                	}
+                	
+                }
+    	   	
+            }
+    	
+    	]]>
+    </method>
+    
+    <method name="updateAllObjectsToSlideNumber">
+        <![CDATA[
+        
+            if ($debug) Debug.write(" :: updateAllObjectsToSlideNumber :: ")
+        
+            for (var i=0;i<this.baseactionobjectList.length;i++) {
+            
+                if (this.baseactionobjectList[i][0] == "ellipse" 
+                        || this.baseactionobjectList[i][0] == "drawarrow"
+                        || this.baseactionobjectList[i][0] == "line"
+                        || this.baseactionobjectList[i][0] == "paint"
+                        || this.baseactionobjectList[i][0] == "rectangle"
+                        || this.baseactionobjectList[i][0] == "uline"
+                        || this.baseactionobjectList[i][0] == "image"
+                        || this.baseactionobjectList[i][0] == "letter") {
+                    
+                    var swfObj = this.baseactionobjectList[i][this.baseactionobjectList[i].length-7];
+                    if ($debug) Debug.write("swfObj :: ",swfObj);
+                    
+                    if (swfObj != null) {
+                        
+                            
+                        if (swfObj.isVisible) {
+                            
+                            this[this.baseactionobjectList[i][this.baseactionobjectList[i].length-1]].setAttribute("visibility","visible");
+                            
+                        } else {
+                            
+                            this[this.baseactionobjectList[i][this.baseactionobjectList[i].length-1]].setAttribute("visibility","hidden");
+                            
+                        }
+                            
+                        
+                    }
+                    
+                }
+            
+            }
+        
+        ]]>
+    </method>
+
+    <dragstate name="dragger"/>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/baseDrawImage.lzx b/WebContent/src/modules/conference/whiteboard/base/baseDrawImage.lzx
new file mode 100644
index 0000000..72bf3d0
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/baseDrawImage.lzx
@@ -0,0 +1,491 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="baseDrawImage" extends="baseDrawLetter">
+	
+  	<!-- attribute shows if this image is loaded as part of a wml-file-object
+		if true it will send a onwmlLoaderSend message and NO extra loading bar
+		if false it will show a loading abr for that image
+	-->
+	<attribute name="isWmlLoaderImage" value="false" type="boolean" />
+    
+    <!-- indicates if this client is still loading an old image for the screenViwer -->
+    <attribute name="isScreenImageLoading" value="false" type="boolean" />
+    <attribute name="screenImageRefNumber" value="1" type="number" />
+    <attribute name="screenImageRef1" value="null" />
+    <attribute name="screenImageRef2" value="null" />
+	
+	<!-- reference to the current loading bar
+	
+	syncing is now on server side implemented, swagner 11.06.2008
+	
+	<attribute name="loadimageDataWinRef" value="null" />
+	 -->
+	
+	<!-- labelid of the message seen while waiting for loading
+	
+	syncing is now on server side implemented, swagner 11.06.2008
+	
+	<attribute name="imageLoadMessageId" value="208" type="number" />
+	 -->
+	
+	<!-- labelid of the message seen while waiting for syncing
+	
+	syncing is now on server side implemented, swagner 11.06.2008
+	
+	<attribute name="imageSyncMessageId" value="209" type="number" />
+	<attribute name="imageSyncMessageText" value="" type="string" />
+	 -->
+	
+	<!-- syncing process
+	
+	syncing is now on server side implemented, swagner 11.06.2008
+	
+	<attribute name="syncImageCheckTime" value="1000" type="number" />
+	<attribute name="_loadingUsersImageList" value="null" />
+	<attribute name="loadingUsersImageListIndex" value="0" type="number" />
+	<attribute name="syncImageRefObj" value="null" />
+	<attribute name="imageLoadingCompleteMessage" value="null" />
+	<attribute name="loadImageObjectTimer" value="null" />
+	 -->
+    
+    <event name="setNewScreenUserName" />
+  	
+  	<!-- invoked by clicking on the confirmation dialog after 
+  		clicking on an image in the Library -->
+  	<method name="addNewSyncImage" args="urlname,posx,posy,baseurl,fileName,moduleName,parentPath,room,domain">
+  		if ($debug) Debug.write("urlname: ",urlname);
+  		var now = new Date();
+  		//This invokes a Method which is in the remoteWhiteboard.lzx
+  		this.startNewObjectSyncProcess.isStarting = true;
+  		this.startNewObjectSyncProcess.uniqueObjectSyncName = fileName + now.getTime();
+  		this.startNewObjectSyncProcess.doCall();
+  		this.addNewImage(urlname,posx,posy,baseurl,fileName,
+  			moduleName,parentPath,room,domain,
+  			this.startNewObjectSyncProcess.uniqueObjectSyncName,false);
+  	</method>
+  	
+  	<!-- standard add Function -->
+  	<method name="addNewImage" args="urlname,posx,posy,baseurl,fileName,moduleName,parentPath,room,domain,uniqueObjectSyncName,isLocalSync">
+  		if ($debug) Debug.write("urlname posx: ",urlname,posx);
+  		this.addImageToLayer(this,'image'+this.getCounter(),urlname,
+  			posx,posy,0,0,
+  			true,
+  			baseurl,fileName,moduleName,parentPath,room,domain,uniqueObjectSyncName,isLocalSync);
+  	</method>
+  	
+	<!--
+		alterModus => this is added by the mod not remotely
+		
+	 -->
+  	<method name="addImageToLayer" args="obj,nameing,urlname,posx,posy,width,height,alterModus,baseurl,fileName,moduleName,parentPath,room,domain,uniqueObjectSyncName,isLocalSync">
+        <![CDATA[
+			//only show if it is not part of wml-file-object
+			//do not show at all as this is handled via the remote Object
+			//if (!this.isWmlLoaderImage) {
+			//	this.loadimageDataWinRef = new lz.loadWhiteboardWindow(canvas.main_content._content.inner,{refObj:this});
+			//	this.loadimageDataWinRef.setMessage(canvas.getLabelName(this.imageLoadMessageId));
+			//}
+			
+            if ($debug) Debug.write("addImageToLayer ",urlname);
+        	//if ($debug) Debug.write("addImageToLayer ",obj,nameing,urlname,posx,posy,width,height,alterModus,baseurl,fileName,moduleName,parentPath,room,domain);
+			//if ($debug) Debug.write("addImageToLayer posx ",posx);
+        	
+			var src = baseurl+'?fileName=' + encodeURIComponent(fileName) + 
+				'&moduleName=' + moduleName +
+				'&parentPath=' + encodeURIComponent(parentPath) +
+				'&room_id=' + room + 
+				'&sid=' + canvas.sessionId;
+	
+	        if ($debug) Debug.write("addImageToLayer -src- ",src);
+		      
+			if ($debug) Debug.write("alterModus: ",alterModus);
+			
+	  		this.currentlayer = new lz.imageForDrawView(obj,{
+	  			src:src,refObj:this,name:nameing,x:posx,y:posy,
+	  			remotewidth:width,remoteheight:height,
+	  			downloadurl:urlname,alterModus:alterModus,
+	  			baseurl:baseurl,fileName:fileName,moduleName:moduleName,
+	  			parentPath:parentPath,room:room,domain:domain,
+	  			uniqueObjectSyncName:uniqueObjectSyncName,
+	  			isLocalSync:isLocalSync});	
+			
+			//this.parent.parent.isloadingImage.sendEvent(this.currentlayer);
+			//this.parent._loading.setAttribute('visible',true);
+			
+			//Add Layer to global Layer  	
+		    return this.currentlayer;
+		]]>
+  	</method>
+  	
+  	<!--
+  	    @deprecated
+  	 -->
+  	<method name="addImageToLayerRecorded" args="obj,nameing,urlname,posx,posy,width,height,alterModus,baseurl,fileName,moduleName,parentPath,room,domain">
+        <![CDATA[
+			//only show if it is not part of wml-file-object
+			if (!this.isWmlLoaderImage) {
+				this.loadimageDataWinRef = new lz.loadWhiteboardWindow(canvas.main_content._content.inner,{refObj:this});
+				this.loadimageDataWinRef.setMessage(canvas.getLabelName(this.imageLoadMessageId));
+			}
+			var src = baseurl+'?fileName='+fileName+'&moduleName='+moduleName+'&parentPath='+parentPath+'&room_id='+room+'&sid='+canvas.sessionId;
+	
+			this.currentlayer = new lz.imageForDrawView(obj,{
+				src:src,refObj:this,name:nameing,x:posx,y:posy,
+				downloadurl:urlname,remotewidth:width,remoteheight:height,
+				alterModus:alterModus,baseurl:baseurl,fileName:fileName,
+				moduleName:moduleName,parentPath:parentPath,
+				room:room,domain:domain,recorderModus:true});
+
+			this.parent.parent.isloadingImage.sendEvent(this.currentlayer);
+			//this.parent._loading.setAttribute('visible',true);
+			//Add Layer to global Layer  	
+		    return this.currentlayer;
+		]]>
+  	</method>
+  	
+  	<method name="incomingScreenSharing" args="value">
+        <![CDATA[
+		//only do if last image has been loading successfully
+            if (!this.isScreenImageLoading){
+                this.isScreenImageLoading = true;
+                var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport+canvas.httpRootKey+'ScreenViewHandler?'
+                    +'fileName='+encodeURIComponent(value.fileName)
+                    +'&room='+hib.currentroomid
+                    +'&domain='+hib.conferencedomain
+                    +'&sid='+canvas.sessionId;
+            
+                //Debug.write("incomingScreenSharing URL: ",downloadurl);
+                if (this.screenImageRefNumber==1){
+                    this.screenImageRef1 = new lz.imageForScreenViewer(this,{visible:false,src:downloadurl,refObj:this,name:'screen1',x:0,y:0,downloadurl:downloadurl});
+                    this.screenImageRefNumber = 2;
+                } else if (this.screenImageRefNumber==2){
+                    this.screenImageRef2 = new lz.imageForScreenViewer(this,{visible:false,src:downloadurl,refObj:this,name:'screen2',x:0,y:0,downloadurl:downloadurl});
+                    this.screenImageRefNumber = 1;
+                }
+                this.setNewScreenUserName.sendEvent('Screen of User: '+value.user.firstname+','+value.user.lastname);
+            } else {
+                //Debug.write("frame dropped!");
+                Debug.warn("frame dropped!");
+                (new lz.singletonErrorPopupHolder()).setError(canvas.getLabelName(240));
+            }
+		]]>
+  	</method>   
+    
+    <!--
+    TODO: Make new Base Class including the Screen sharing Functions
+     -->
+    <method name="toggleVisibleScreenSharing">
+        if (this.screenImageRefNumber==1){
+            if (this.screenImageRef1) this.screenImageRef1.destroy();
+            this.screenImageRef2.setAttribute('visible',true);
+        } else if (this.screenImageRefNumber==2){
+            this.screenImageRef1.setAttribute('visible',true);
+            if (this.screenImageRef2) this.screenImageRef2.destroy();
+        }
+        this.isScreenImageLoading = false;
+    </method> 
+	
+	<!--
+		actionObject => attributes neccessary for loading image
+		refObj = drawarea
+		isWmlLoader => (true)is loaded as part of wml-object
+		
+		-->
+		
+	<!-- method adds a new Image to the Layer,
+	but without making an Update-Event, 
+	Image added by remote host -->	
+  	<method name="addImageToLayerHistorySynced" args="actionObject,refObj">
+  		if ($debug) Debug.write("addImageToLayerHistory: ",actionObject,refObj);
+  		//start sync process using the remote uniqueObjectSyncName as identifier
+  		//This invokes a Method which is in the remoteWhiteboard.lzx
+  		this.startNewObjectSyncProcess.isStarting = false;
+  		this.startNewObjectSyncProcess.uniqueObjectSyncName = actionObject[8];
+  		this.startNewObjectSyncProcess.doCall();
+  		this.addImageToLayer(refObj,actionObject[actionObject.length-1],actionObject[1],
+		  		actionObject[actionObject.length-5],actionObject[actionObject.length-4],
+		  		actionObject[actionObject.length-3],actionObject[actionObject.length-2],
+		  		false,
+		  		actionObject[2],actionObject[3],actionObject[4],actionObject[5],
+		  		actionObject[6],actionObject[7],actionObject[8],false);
+		  		
+  		this.doSWFDocumentStatus(this.currentlayer,actionObject[actionObject.length-7]);
+  	</method>
+  			
+  	<!--- 
+		invoke by the initial Loading process in remoteWhiteboard.lzx, 
+		does not invoke any Update Handler
+		once this object is loaded, it will throw an Update event of kind
+		addImageToLayerHistoryToLocalLoaded		
+  	 -->
+  	<method name="addImageToLayerHistoryToLocal" args="actionObject,refObj">
+  		if ($debug) Debug.write("addImageToLayerHistoryToLocal: ",actionObject,refObj);
+  		this.addImageToLayer(refObj,actionObject[actionObject.length-1],actionObject[1],
+		  		actionObject[actionObject.length-5],actionObject[actionObject.length-4],
+		  		actionObject[actionObject.length-3],actionObject[actionObject.length-2],
+		  		false,
+		  		actionObject[2],actionObject[3],actionObject[4],actionObject[5],
+		  		actionObject[6],actionObject[7],actionObject[8],true);
+  	</method>
+  	
+  	<!-- 
+  		this handler is implemented also in remoteWhiteboard.lzx to sync a Local Object list
+  		but throws NO Update Event, cause its only needed Locally, the whole Sync Process
+  		has a different Sync-Object for Loading the complete Object List from the Sever.
+  		Each Object is loaded Locally, once all Objects are loaded the Complete-Event is broadcasted
+  		to the server, but every Item on the List is only controlled locally
+  	-->
+  	<handler name="addImageToLayerHistoryToLocalLoaded" args="objRef">
+  		if ($debug) Debug.write("addImageToLayerHistoryToLocal: ",objRef);
+		this.syncImageRefObj = objRef;
+		
+		this.registerNewImage(this.syncImageRefObj.src,
+			this.syncImageRefObj.x,this.syncImageRefObj.y,
+			this.syncImageRefObj.width,this.syncImageRefObj.height,
+			this.syncImageRefObj.baseurl,this.syncImageRefObj.fileName,
+			this.syncImageRefObj.moduleName,this.syncImageRefObj.parentPath,
+			this.syncImageRefObj.room,this.syncImageRefObj.domain,
+			false,this.syncImageRefObj.uniqueObjectSyncName,this.getSWFDocumentStatus(),
+                this.getZIndex());
+  	</handler>
+  	
+  	<!--- @keywords deprecated
+  	TODO: uniqueObjectSyncName missing
+  	 -->
+  	<method name="addImageToLayerHistoryRecorded" args="actionObject,refObj,isWmlLoader">
+		this.isWmlLoaderImage = isWmlLoader;
+  		this.addImageToLayerRecorded(refObj,
+  			actionObject[actionObject.length-1],actionObject[1],
+  			actionObject[actionObject.length-5],actionObject[actionObject.length-4],
+  			actionObject[actionObject.length-3],actionObject[actionObject.length-2],
+  			false,
+  			actionObject[2],actionObject[3],actionObject[4],actionObject[5],
+  			actionObject[6],actionObject[7]);
+  	</method>
+  	
+  	<method name="registerNewImage" args="urlname,posx,posy,width,height,baseurl,fileName,moduleName,parentPath,room,domain,doCallUpdate,uniqueObjectSyncName,swfObj,zIndex">
+		if ($debug) Debug.write("registerNewImage doCallUpdate: ",doCallUpdate);
+		if ($debug) Debug.write("registerNewImage swfObj: ",swfObj);
+		var actionObject = new Array();
+	    actionObject.push('image');
+	    actionObject.push(urlname);
+		actionObject.push(baseurl);
+		actionObject.push(fileName);
+		actionObject.push(moduleName);
+		actionObject.push(parentPath);
+		actionObject.push(room);
+		actionObject.push(domain);
+		actionObject.push(uniqueObjectSyncName);
+		actionObject.push(zIndex);//-8
+		actionObject.push(swfObj);//-7
+		actionObject.push(this.counter);//-6
+	    actionObject.push(posx);//-5
+	    actionObject.push(posy);//-4
+	    actionObject.push(width);//-3
+	    actionObject.push(height);//-2
+	    actionObject.push(this.currentlayer.name);//-1
+	    this.baseactionobjectList.push(actionObject);	
+	    this.checkStepLayers();
+	    if (doCallUpdate) this.onsharedMessage('draw',actionObject);	
+  	</method>
+	
+	<!-- 
+		adds the Image to the Layers and throws a onsharedMessage,
+		this can only happen _after_ loading the Image cause you do not know its 
+		width and height 
+	-->
+	<method name="storeTempValsAndLoadSyncList" args="objRef">
+		if ($debug) Debug.write("storeTempValsAndLoadSyncList: ",objRef);
+		this.syncImageRefObj = objRef;
+		
+		//This invokes a Method which is in the remoteWhiteboard.lzx
+		this.sendCompletedObjectSyncEvent.uniqueObjectSyncName = this.syncImageRefObj.uniqueObjectSyncName;
+		this.sendCompletedObjectSyncEvent.doCall();
+		
+		this.registerNewImage(this.syncImageRefObj.src,
+			this.syncImageRefObj.x,this.syncImageRefObj.y,
+			this.syncImageRefObj.width,this.syncImageRefObj.height,
+			this.syncImageRefObj.baseurl,this.syncImageRefObj.fileName,
+			this.syncImageRefObj.moduleName,this.syncImageRefObj.parentPath,
+			this.syncImageRefObj.room,this.syncImageRefObj.domain,
+			true,this.syncImageRefObj.uniqueObjectSyncName,this.getSWFDocumentStatus(),
+                this.getZIndex());		
+	
+	</method>
+	
+	<!--- @keywords deprecated
+  	TODO: check Recorder Modus
+  	 -->
+	<method name="storeTempValsAndLoadSyncListRecording" args="objRef">
+		if ($debug) Debug.write("########### storeTempValsAndLoadSyncListRecording: ",objRef);
+		this.syncImageRefObj = objRef;
+		this.doRegisterAfterLoadingOrRecording();
+		this.sendCompleteImageSync();
+	</method>
+	
+	<method name="sendLoadNotificationImage" args="objRef" >
+		if ($debug) Debug.write("sendLoadNotificationImage: ",objRef);
+		this.syncImageRefObj = objRef;
+		this.registerNewImage(this.syncImageRefObj.src,
+			this.syncImageRefObj.x,this.syncImageRefObj.y,
+			this.syncImageRefObj.width,this.syncImageRefObj.height,
+			this.syncImageRefObj.baseurl,this.syncImageRefObj.fileName,
+			this.syncImageRefObj.moduleName,this.syncImageRefObj.parentPath,
+			this.syncImageRefObj.room,this.syncImageRefObj.domain,
+			false,this.syncImageRefObj.uniqueObjectSyncName,this.getSWFDocumentStatus(),
+                this.getZIndex());	
+		//This invokes a Method which is in the remoteWhiteboard.lzx
+		this.sendCompletedObjectSyncEvent.uniqueObjectSyncName = this.syncImageRefObj.uniqueObjectSyncName;
+		this.sendCompletedObjectSyncEvent.doCall();
+	</method>
+	
+	
+	<!-- sending messages/notifications of sync process
+	
+	syncing is now on server side implemented, swagner 11.06.2008
+	
+	<netRemoteCallHib name="sendMessageWithClientImage" funcname="sendMessageWithClient" remotecontext="$once{ canvas.thishib }" >   
+		<netparam name="vars"><method name="getValue">return parent.parent.imageLoadingCompleteMessage;</method></netparam>
+		<handler name="ondata" args="value">
+			<![CDATA[
+			//The onResult-Handler will be called be the rtmpconnection
+			//Debug.write("getValue : ",value);
+			
+			]]>
+		</handler>   
+	</netRemoteCallHib> 		
+	 -->
+	
+	<!-- get list of clients before loading image cause
+		we have to show the sync process
+	
+	syncing is now on server side implemented, swagner 11.06.2008
+	
+    <netRemoteCallHib name="getImageClientListScope" funcname="getClientListScope" remotecontext="$once{ canvas.thishib }" >          
+        <handler name="ondata" args="value">
+        	<![CDATA[
+				//The onResult-Handler will be called by the rtmpconnection
+				//Debug.write("getClientListScope Instance: ",value);
+				parent._loadingUsersImageList = new Array();
+				for (var eg in value){
+					if (canvas.streamid != value[eg].streamid){
+						//Debug.write("parent._loadingUsersImageList value eg ",eg,value[eg]);
+						parent._loadingUsersImageList.push(value[eg]);
+					}
+				}
+				this.parent.doRegisterAfterLoadingOrRecording();
+				//set modus to hand so users can directly select that image
+				this.parent.setModus('hand');	
+				this.parent.startImgaesyncCheck();			
+            ]]>
+        </handler>   
+    </netRemoteCallHib>
+    	-->
+    
+    <!--- @keywords deprecated
+    TODO: Check recorder Modus
+     -->
+    <method name="doRegisterAfterLoadingOrRecording">
+    	if ($debug) Debug.write("########### doRegisterAfterLoadingOrRecording");
+		this.imageSyncMessageText = canvas.getLabelName(this.imageSyncMessageId);
+		//now send notifications to connected clients
+		this.setAttribute('drawmodus','image');
+		this.registerNewImage(this.syncImageRefObj.src,
+		              this.syncImageRefObj.x,this.syncImageRefObj.y,
+		              this.syncImageRefObj.width,this.syncImageRefObj.height,
+		              this.syncImageRefObj.baseurl,this.syncImageRefObj.fileName,
+		              this.syncImageRefObj.moduleName,this.syncImageRefObj.parentPath,
+		              this.syncImageRefObj.room,this.syncImageRefObj.domain,
+		              this.getSWFDocumentStatus(),
+                      this.getZIndex());		
+    </method>
+	
+	<!-- after loading the objects check if all connected clients of that conference
+		have loaded the file completely, check it every 1 seconds
+		
+	syncing is now on server side implemented, swagner 11.06.2008
+	
+	<method name="startImgaesyncCheck">
+		<![CDATA[
+			if (this._loadingUsersImageList.length==0){
+				this.sendSyncNotificationImage();
+			} else {
+				var txt = this.imageSyncMessageText+' '+this._loadingUsersImageList.length;
+				this.loadimageDataWinRef.setMessage(txt);
+				this.loadImageObjectTimer = new LzDelegate( this, "startImgaesyncCheck" );
+				lz.Timer.addTimer( this.loadImageObjectTimer, this.syncImageCheckTime );
+			}
+		]]>
+	</method>	
+
+	syncing is now on server side implemented, swagner 11.06.2008
+	
+	<method name="sendSyncNotificationImage">
+		this.imageLoadingCompleteMessage = new Array();
+		this.imageLoadingCompleteMessage[0] = "whiteboard";
+		this.imageLoadingCompleteMessage[1] = "imagesynccomplete";
+		this.sendMessageWithClientImage.doCall();
+	</method>	
+	 -->
+
+	<!-- invoked by remote client once he has completely loaded the wml-file 
+		remote client is waiting/still shows loading window untill all clients have 
+		completely loaded the object/moderator sends "synccomplete" message
+		
+	syncing is now on server side implemented, swagner 11.06.2008
+	
+	<method name="sendCompleteImageLoadedRClient" args="client">
+		<![CDATA[
+			//detect self messageing
+			if (client.streamid!=canvas.streamid){
+				//remove client from sync list
+				for (var i=0;i<this._loadingUsersImageList.length;i++){
+					if (this._loadingUsersImageList[i].streamid==client.streamid){
+						//Debug.write("deleteing client from list: ",this._loadingUsersImageList[i].streamid);
+						this._loadingUsersImageList.splice(i,1);
+					}
+				}
+			}
+		]]>
+	</method>
+	 -->
+	
+	<!-- invoked remotely by Moderator
+		all clients have succeed in loading the image
+		loading win can be closed
+		Alert: This notification will be send from Moderator and received by ALL clients INCLUDING
+		the moderator, so the moderator needs no extra command *close* for loading bar cause he
+		gets its own *sync* complete nofification
+	
+	syncing is now on server side implemented, swagner 11.06.2008
+		
+	<method name="sendCompleteImageSync" args="client">
+		//Debug.write("sendCompleteImageSync ",client);
+		this.loadimageDataWinRef.close();
+	</method>
+	 -->
+	
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/baseDrawLetter.lzx b/WebContent/src/modules/conference/whiteboard/base/baseDrawLetter.lzx
new file mode 100644
index 0000000..489d99e
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/baseDrawLetter.lzx
@@ -0,0 +1,322 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="whiteBoardTextField" extends="text" >
+	<handler name="prepareForDelete" args="tRef">
+		//Nothing
+	</handler>
+	<attribute name="typeOfObject" value="text" type="string" />
+	<method name="setTextEncoded" args="tString">
+		<![CDATA[
+		
+		    while (tString.indexOf("<") > 0) {
+		    	tString = tString.replace("<","&#60;");
+		    }
+    		
+		    while (tString.indexOf(">") > 0) {
+                tString = tString.replace(">","&#62;");
+		    }
+    		
+    		this.setAttribute("text",tString);
+		]]>
+	</method>
+</class>
+
+<class name="baseDrawLetter" extends="baseDrawObject">
+
+	<attribute name="currentletterObj" value="null" />
+	
+	<attribute name="letterObjectIsActive" value="false" type="boolean" />
+	
+	<attribute name="edittextLetterObject" value="null" />
+	
+	<attribute name="edittextLetter" value="false" type="boolean" />
+	
+	<method name="letterObjectFree" args="obj">
+		this.setAttribute('letterObjectIsActive',false);
+		if (this.edittextLetter){
+			this.edittextLetter = false;
+			this.setModus('hand');
+		}
+	</method>
+	<method name="letterObjectClose" args="obj">
+		this.setAttribute('letterObjectIsActive',true);
+	</method>
+	
+    <!-- The Color of the letter Object  -->
+  	<attribute name="currentlayerletter" value="0x000000" setter="this.setNewLayerLetter(currentlayerletter)" />
+    
+    <!-- The Size of the Letter Object -->
+  	<attribute name="currentlayersize" value="12" type="number" setter="this.setNewLayerSize(currentlayersize)" />
+  	
+  	<!-- "plain", "bold" , "italic" or "bolditalic". -->
+  	<attribute name="currentlayerstyle" value="plain" type="string" setter="this.setNewLayerStyle(currentlayerstyle)" />
+    
+    <method name="setNewLayerLetter" args="cl">
+        this.currentlayerletter=cl;
+        this.sendNewStyle.sendEvent();
+    </method>
+    
+    <method name="setNewLayerSize" args="cs">
+        this.currentlayersize=cs;
+        this.sendNewStyle.sendEvent();
+    </method>
+    
+    <method name="setNewLayerStyle" args="cs">
+        this.currentlayerstyle=cs;
+        this.sendNewStyle.sendEvent();
+    </method>
+  	
+    <!-- Send Update Events to current Letter Object -->
+    <handler name="sendNewStyle">
+        if (this.letterObjectIsActive){
+            this.currentletterObj.newStyleEvent.sendEvent()
+        }
+    </handler>
+    
+  	<attribute name="italic" value="false" type="boolean" setter="this.setitalic(italic)" />
+  	<attribute name="bold" value="false" type="boolean" setter="this.setbold(bold)" />
+  	<method name="setitalic" args="b">
+  		this.italic = b;
+  		this.doalterStyle();
+  	</method>
+  	<method name="setbold" args="b">
+  		this.bold = b;
+  		this.doalterStyle();
+  	</method>
+  	<method name="doalterStyle">
+  		<![CDATA[
+  		if (this.isinited){
+	  		if (this.bold && this.italic){
+	  			this.setAttribute('currentlayerstyle','bolditalic');
+	  		} else if(!this.bold && this.italic){
+	  			this.setAttribute('currentlayerstyle','italic');
+	  		} else if(this.bold && !this.italic){
+	  			this.setAttribute('currentlayerstyle','bold');
+	  		} else if(!this.bold && !this.italic){
+	  			this.setAttribute('currentlayerstyle','plain');
+	  		}
+	  		//Debug.write("d: ",this.getAttribute('currentlayerstyle'));
+  		}
+  		]]>
+  	</method>
+	
+	<method name="editTextByValues" args="obj,txtName,txt,x,y,width,height">
+		<![CDATA[
+			if (!this.letterObjectIsActive){
+			    //Debug.write("editTextByValues",height); 
+			    this.edittextLetterObject = obj;
+				this.currentletterObj = new lz.baseDrawWords(this,{refObj:this,x:x,y:y,
+					initTextName:txtName,inittext:txt,width:width,height:height});
+				this.edittextLetter = true;
+			}	
+		]]>
+	</method>
+  	
+		<method name="drawTextField" args="textforfield,width,height,x,y" >
+
+			//Debug.write("drawTextField: ",textforfield,width,x,y);
+			var tempO = this.newTextField(this, 'letter' + this.getCounter(),
+					textforfield, width, height, x, y, this.currentlayersize,
+					this.currentlayerletter, this.currentlayerstyle);
+			this.layers.push(tempO);
+			this.drawTextFieldregister(textforfield, width, x, y,
+					this.currentlayersize, this.currentlayerletter,
+					this.currentlayerstyle, tempO.height, this
+							.getSWFDocumentStatus(), this.getZIndex());
+		</method>
+	
+	<!-- editModus -->
+	<method name="setTextFieldByName" args="txtName,textforfield,width,x,y,height" >
+		if ($debug) Debug.write("drawTextFieldByName ",txtName,textforfield,width,x,y);
+		//this.checkForChanges(txtName,textforfield,width,x,y,height);
+		this.edittextLetterObject.setAttribute('text',textforfield);
+		this.edittextLetterObject.setTextEncoded(textforfield);
+		this.edittextLetterObject.setAttribute('width',width);
+		this.edittextLetterObject.setAttribute('height',height);
+		this.edittextLetterObject.setAttribute('visible',true);
+		this.edittextLetterObject.setAttribute('fontsize',this.currentlayersize);
+		this.edittextLetterObject.setAttribute('fgcolor',this.currentlayerletter);
+		this.edittextLetterObject.setAttribute('fontstyle',this.currentlayerstyle);
+		this.updateObjectBounds();
+		this.updateByEditLetterObject();
+		//this.setModus('hand');
+	</method>	
+	
+	<method name="startLetter" args="oid_name">
+		if (oid_name == null) {
+			oid_name = 'letterTemp'+this.getCounter();
+		}		
+    	this.currentlayer = new lz.drawViewNew(this,{name:oid_name,width:this.width+2,height:this.height+2});
+	</method>
+	
+	<method name="drawletterBoundingBox" args="x1,y1,x2,y2">
+   		<![CDATA[
+    		
+    		currentlayer.lineWidth = 1;
+    		currentlayer.beginPath();
+    		currentlayer.moveTo(x1,y1);
+    		currentlayer.lineTo(x1,y2);
+    		currentlayer.lineTo(x2,y2);
+    		currentlayer.lineTo(x2,y1);
+    		currentlayer.lineTo (x1,y1);
+    		currentlayer.closePath();
+    		
+    		currentlayer.strokeStyle = 0x000000;
+    		currentlayer.stroke();
+    		
+    	]]>   
+  	</method>    
+  	
+	<method name="endLetter">
+		<![CDATA[
+			if ($debug) Debug.write("endLetter: ", this.currentlayer);
+			this.currentlayer.destroy();
+			var xProp = 0;
+			var yProp = 0;
+			if (this.startx <= this.endx) {
+				var stx = this.startx;
+			} else {
+				var stx = this.endx;
+			}
+			if (this.starty <= this.endy) {
+				var sty = this.starty;
+			} else {
+				var sty = this.endy;
+			}
+			var width = Math.abs(this.startx - this.endx);
+			var height = Math.abs(this.starty - this.endy);
+			if (width < 20 && height < 20) {
+				width = 160;
+				height = 30;
+			}
+
+			this.currentletterObj = new lz.baseDrawWords(this, {
+						refObj : this,
+						x : xProp + stx,
+						y : yProp + sty,
+						width : width,
+						height : height
+					});
+
+			if ($debug) Debug.write("currentletterObj: ", this.currentletterObj.x, this.currentletterObj.y);
+		]]>
+	</method>
+	
+	
+	<method name="updateByEditLetterObject" >
+		<![CDATA[
+		if ($debug) Debug.write("UpdateByObject : ",this.edittextLetterObject,this.edittextLetterObject.name);
+		var objName = this.edittextLetterObject.name;
+
+		for (var eg=0;eg<this.baseactionobjectList.length;eg++){
+			if (this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-1]==objName) {
+				if ($debug) Debug.write("Found Object: ",this.baseactionobjectList[eg]);
+			    this.baseactionobjectList[eg][1] = this.edittextLetterObject.text;
+			    this.baseactionobjectList[eg][2] = this.edittextLetterObject.fgcolor;
+			    this.baseactionobjectList[eg][3] = this.edittextLetterObject.fontsize;
+			    this.baseactionobjectList[eg][4] = this.edittextLetterObject.fontstyle;			
+				this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-5] = this.edittextLetterObject.x
+				this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-4] = this.edittextLetterObject.y;
+				this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-3] = this.edittextLetterObject.width;
+				this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-2] = this.edittextLetterObject.height;
+				var newA = this.baseactionobjectList[eg];
+				if (newA[0]=='paint') newA[1] = new Array();				
+				this.onsharedMessage('editText',newA);	
+			    break;
+			}
+		}	
+			
+		]]>
+	</method>	
+	
+	<method name="editTextByHistory" args="actionObject,obj">
+		var editObj = this.getObjectByName(actionObject[actionObject.length-1]);
+		//Debug.write("editTextByHistory: ",editObj,actionObject,actionObject.length);
+		editObj.setAttribute('text',actionObject[1]);
+		editObj.setTextEncoded(actionObject[1]);
+		editObj.setAttribute('width',actionObject[actionObject.length-3]);
+		editObj.setAttribute('height',actionObject[actionObject.length-2]);
+		editObj.setAttribute('fontsize',actionObject[3]);
+		editObj.setAttribute('fgcolor',actionObject[2]);
+		editObj.setAttribute('fontstyle',actionObject[4]);
+	</method>
+	
+	<method name="checkForChanges" args="txtName,textforfield,width,x,y,height">
+		<![CDATA[
+			//Debug.write("checkForChanges: 1 ",txtName,textforfield,width,x,y,height);
+			//Debug.write("checkForChanges: 2 ",this.edittextLetterObject.name,this.edittextLetterObject.text,this.edittextLetterObject.width,this.edittextLetterObject.x,this.edittextLetterObject.y,this.edittextLetterObject.height);
+			//there is always a change
+			
+		]]>
+	</method>	
+	
+	<method name="drawactionHistory" args="actionObject,obj">
+		this.newTextField(obj,actionObject[actionObject.length-1],actionObject[1],
+		              actionObject[actionObject.length-3],actionObject[actionObject.length-2],
+		              actionObject[actionObject.length-5],actionObject[actionObject.length-4],
+		              actionObject[3],actionObject[2],actionObject[4]);
+		              
+		this.doSWFDocumentStatus(this.currentlayer,actionObject[actionObject.length-7]);
+	</method>
+	
+		<method name="newTextField" args="obj,naming,textforfield,width,height,x,y,fontsize,fgcolor,fontstyle">
+			this.currentlayer = new lz.whiteBoardTextField(obj, {
+						name : naming,
+						x : x,
+						y : y,
+						height : height,
+						multiline : true,
+						width : width,
+						text : textforfield,
+						fontsize : fontsize,
+						fgcolor : fgcolor,
+						fontstyle : fontstyle
+					});
+			this.currentlayer.setTextEncoded(textforfield);
+			//Add Layer to global Layer  	
+			return this.currentlayer;
+		</method>
+	
+	<method name="drawTextFieldregister" args="textforfield,width,x,y,fontsize,fgcolor,fontstyle,height,swfObj,zIndex">
+		var actionObject = new Array();
+	    actionObject[0] = "letter";
+	    actionObject[1] = textforfield;
+	    actionObject[2] = fgcolor;
+	    actionObject[3] = fontsize;
+	    actionObject[4] = fontstyle;
+	    actionObject[5] = zIndex;//-8
+	    actionObject[6] = swfObj;//-7
+		actionObject[7] = this.counter;//-6
+	    actionObject[8] = x;//-5
+	    actionObject[9] = y;//-4
+	    actionObject[10] = width;//-3
+	    actionObject[11] = height;//-2
+	    actionObject[12] = this.currentlayer.name;//-1	    	    
+	    this.baseactionobjectList.push(actionObject);	
+	    this.checkStepLayers();
+	    this.onsharedMessage('draw',actionObject);	
+	</method>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/baseDrawObject.lzx b/WebContent/src/modules/conference/whiteboard/base/baseDrawObject.lzx
new file mode 100644
index 0000000..3df9e6e
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/baseDrawObject.lzx
@@ -0,0 +1,860 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="baseDrawObject" extends="baseDrawPointer">
+    
+    <!-- it uses some of the attribute's defined in baseDrawImage -->
+    <attribute name="newSlideNumber" value="1" type="number" />
+    
+    <attribute name="fullFit" value="true" type="boolean" />
+    
+    <attribute name="modernToolbar" value="false" type="boolean" />
+
+    <!-- 
+    	Invoked by the Library directly
+    	Loads a SWFPresenation to the whiteBoard
+     -->
+    <method name="loadSWFPresentationSynced" args="url,fileName,moduleName,parentPath,room,domain,slideNumber,standardFileName">
+  		var now = new Date();
+  		//This invokes a Method which is in the remoteWhiteboard.lzx
+  		this.startNewObjectSyncProcess.isStarting = true;
+  		this.startNewObjectSyncProcess.uniqueObjectSyncName = fileName + now.getTime();
+  		this.startNewObjectSyncProcess.doCall();
+        //if ($debug) Debug.write("loadSWFPresentationSynced",url,fileName,moduleName,parentPath,room,domain,slideNumber,standardFileName);
+        this.addPresentationToLayer(this,url,'swfpresentationobject'+this.getCounter(),
+        	0,0,0,0,
+        	true,
+        	url,fileName,moduleName,parentPath,room,domain,slideNumber,
+        	100,0,0,0,0,
+        	this.startNewObjectSyncProcess.uniqueObjectSyncName,
+            standardFileName,this.fullFit);
+            
+        
+    </method>
+    
+    <method name="setCurrentScaleByFullFit" args="scaleFactor">
+    	<![CDATA[
+    	
+    		var tScale = Math.round(scaleFactor*100);
+    		
+    		this.getDisplayObject()._xscale = tScale;
+    		this.getDisplayObject()._yscale = tScale;
+    		
+    		this.setAttribute("x",0);
+    		this.setAttribute("y",0);
+    		
+    		//Already send by x,y change
+    		//this.onupdateScale.sendEvent(null);
+    		if ($debug) Debug.write("setCurrentScaleByFullFit -1- ",tScale);
+    		
+    		parent.parent.zoombox.setCurrentScaleByFullFit(tScale);
+    	
+    	]]>
+    </method>
+    
+    <method name="doUpdateFullFit" args="fullFit,zoom">
+    	<![CDATA[
+    	
+    		if ($debug) Debug.write("doUpdateFullFit ",fullFit,zoom);
+    	
+    		var actionObject = new Array();
+    		actionObject.push("whiteboardObj");
+    		actionObject.push(fullFit);
+    		
+    		this.doFullFit(fullFit);
+    		
+    		actionObject.push(this.getDisplayObject()._xscale);
+    		
+    		if ($debug) Debug.write("doUpdateFullFit ",fullFit,this.getDisplayObject()._xscale);
+    		
+    		this.onsharedMessage('whiteboardObj',actionObject);	
+    	
+    	]]>
+    </method>
+    
+    <method name="doUpdateZoom" args="fullFit,zoom">
+    	<![CDATA[
+    	
+    		var actionObject = new Array();
+    		actionObject.push("whiteboardObj");
+    		actionObject.push(fullFit);
+    		actionObject.push(zoom);
+    		
+    		if ($debug) Debug.write("doUpdateZoom ",this.fullFit,zoom);
+    		
+    		
+    		this.getDisplayObject()._xscale = zoom;
+    		this.getDisplayObject()._yscale = zoom;
+    		
+    		this.onupdateScale.sendEvent(null);
+    		this.onsharedMessage('whiteboardObj',actionObject);	
+    	
+    	]]>
+    </method>
+    
+    <method name="doUpdateFullFitAndZoomRemote" args="actionObject,refObj">
+    	<![CDATA[
+    	
+    		parent.parent.zoombox.setWhiteboardValues(actionObject[1],actionObject[2]);
+    	
+    		this.doFullFit(actionObject[1]);
+    		if ($debug) Debug.write("doUpdateFullFitAndZoomRemote ",fullFit,actionObject[2]);
+    		
+    		if (!actionObject[1]) {
+	    		this.getDisplayObject()._xscale = actionObject[2];
+	    		this.getDisplayObject()._yscale = actionObject[2];
+	    		this.onupdateScale.sendEvent(null);
+    		}
+    	
+    	]]>
+    </method>
+    
+    <method name="doFullFit" args="v">
+        <![CDATA[
+        	if ($debug) Debug.write("Do Full Fit ?");
+        	if ($debug) Debug.write(this.ObjectByName);
+        
+        	this.fullFit = v;
+        	
+            if (this.ObjectByName && this.ObjectByName.typeOfObject=="swf") {    
+                if (v) {
+                    if ($debug) Debug.write("Do Full Fit !");
+                    this.ObjectByName._swfView.initialLoadFullFit();
+                }
+            }
+            
+        ]]>
+    </method>
+    
+    <method name="checkSWFPresentation" args="url,fileName,moduleName,parentPath,room,domain,slideNumber">
+        //this.addPresentationToLayer(this,url,'swfpresentationobject'+this.getCounter(),0,0,0,0,true,url,fileName,moduleName,parentPath,room,domain,slideNumber);
+        <![CDATA[
+            for (var i=0;i<this.baseactionobjectList.length;i++){
+                if (fileName==this.baseactionobjectList[i][3]){
+                    var whiteBoardName = this.baseactionobjectList[i][this.baseactionobjectList[i].length-1];
+                    //Debug.write("Found File: ",whiteBoardName,this.baseactionobjectList[i]);
+                    //this.baseactionobjectList[i].bringToFront();
+                    this.doShowObjectBounds(whiteBoardName);
+                    this.newSlideNumber = slideNumber;
+                    this.doDocumentAction('setSlideNumber');
+                    return true;
+                }
+            } 
+            return false;
+        ]]>
+    </method>
+    
+	<!--
+		alterModus => this is added by the mod not remotely
+		
+		adds the SWF-Object to the Layer
+	 -->
+  	<method name="addPresentationToLayer" args="obj,urlName,nameing,posx,posy,width,height,alterModus,baseurl,fileName,moduleName,parentPath,room,domain,slideNumber,currentzoom,innerwidth,innerheight,innerx,innery,uniqueObjectSyncName,standardFileName,fullFit">
+        <![CDATA[
+            if ($debug) Debug.write("addPresentationToLayer",standardFileName);
+            //only show if it is not part of wml-file-object
+            //if (!this.isWmlLoaderImage) {
+            //    this.loadimageDataWinRef = new lz.loadWhiteboardWindow(canvas.main_content._content.inner,{refObj:this});
+            //    this.loadimageDataWinRef.setMessage(canvas.getLabelName(this.imageLoadMessageId));
+            //}
+        	//if ($debug) Debug.write("addPresentationToLayer uniqueObjectSyncName:",uniqueObjectSyncName,innerwidth,innerheight);
+            
+            var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport+canvas.httpRootKey+'DownloadHandler?' +
+                    'fileName=' + encodeURIComponent(fileName) +
+                    '&moduleName=' + moduleName + 
+                    '&parentPath=' + encodeURIComponent(parentPath + '/') +
+                    '&room_id='+room + 
+                    '&sid='+canvas.sessionId;
+            
+            //var width= this.width;
+            //var height = this.height-200;
+            ////Debug.write("width:height: ",width,height);
+            
+            this.currentlayer = new lz.swfResourceView(obj,{refObj:this,name:nameing,
+            	x:posx,y:posy,alterModus:alterModus,
+            	baseurl:baseurl,fileName:fileName,moduleName:moduleName,parentPath:parentPath,
+            	room:room,domain:domain,slideNumber:slideNumber,
+            	currentzoom:currentzoom,fullFit:fullFit,
+                standardFileName:standardFileName,
+            	innerwidth:innerwidth,innerheight:innerheight,
+            	innerx:innerx,innery:innery,
+            	uniqueObjectSyncName:uniqueObjectSyncName});
+
+            //this.parent.parent.isloadingImage.sendEvent(this.currentlayer);
+            ////Debug.write("downloadurl. ",downloadurl);
+            this.currentlayer._swfView.setSource(downloadurl);
+            
+            this.addItemToDocumentToolBar();
+            this.doUpdateDocumentToolBar();
+		]]>
+  	</method>
+  	
+  	<!--
+  		TODO: check Recording
+  	
+  	<method name="addPresentationToLayerRecording" args="obj,urlName,nameing,posx,posy,width,height,alterModus,baseurl,fileName,moduleName,parentPath,room,domain,slideNumber,currentzoom,innerwidth,innerheight,innerx,innery">
+        <![CDATA[
+            //Debug.write("addPresentationToLayer",obj,nameing,posx,posy,width,height,alterModus,baseurl,fileName,moduleName,parentPath,room,domain,slideNumber);
+            //only show if it is not part of wml-file-object
+            if (!this.isWmlLoaderImage) {
+                this.loadimageDataWinRef = new lz.loadWhiteboardWindow(canvas.main_content._content.inner,{refObj:this});
+                this.loadimageDataWinRef.setMessage(canvas.getLabelName(this.imageLoadMessageId));
+            }
+            var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport+canvas.httpRootKey+'DownloadHandler?' +
+                    'fileName=' + encodeURIComponent(fileName) +
+                    '&moduleName=' + moduleName + 
+                    '&parentPath=' + encodeURIComponent(parentPath) +
+                    '&room_id='+room + 
+                    '&sid='+canvas.sessionId;
+            var width= this.width;
+            var height = this.height;
+            
+            this.currentlayer = new lz.swfResourceView(obj,{refObj:this,name:nameing,
+            	x:posx,y:posy,
+            	alterModus:alterModus,
+            	baseurl:baseurl,fileName:fileName,moduleName:moduleName,
+            	parentPath:parentPath,room:room,domain:domain,
+            	slideNumber:slideNumber,width:width,height:height,
+            	currentzoom:currentzoom,innerwidth:innerwidth,innerheight:innerheight,
+            	innerx:innerx,innery:innery,recorderModus:true});
+
+            this.parent.parent.isloadingImage.sendEvent(this.currentlayer);
+            this.currentlayer._swfView.setSource(downloadurl);
+            
+            //Add Layer to global Layer  	
+            return this.currentlayer;
+		]]>
+  	</method>  	
+    -->
+    
+    <method name="addSWFToLayerHistory" args="actionObject,refObj,isWmlLoader">
+        this.isWmlLoaderImage = isWmlLoader;
+        this.baseactionobjectList.push(actionObject);   
+        this.addPresentationToLayer(refObj,actionObject[1],actionObject[actionObject.length-1],
+            actionObject[actionObject.length-5],actionObject[actionObject.length-4],actionObject[actionObject.length-3],
+            actionObject[actionObject.length-2],false,actionObject[2],actionObject[3],actionObject[4],actionObject[5],
+            actionObject[6],actionObject[7],
+            actionObject[8],actionObject[16],actionObject[11],actionObject[12],actionObject[9],actionObject[10],
+            actionObject[17],actionObject[18],actionObject[19]);
+    </method>
+    
+    <!-- 
+    	Invoked by the remote Host, see sendWatchObject in baseDraw.lzx
+     -->
+    <method name="addSWFToLayerHistorySynced" args="actionObject,refObj">
+        this.baseactionobjectList.push(actionObject);	
+  		this.startNewObjectSyncProcess.isStarting = false;
+  		this.startNewObjectSyncProcess.uniqueObjectSyncName = actionObject[17];
+  		this.startNewObjectSyncProcess.doCall();        
+   		this.addPresentationToLayer(refObj,actionObject[1],actionObject[actionObject.length-1],
+  			actionObject[actionObject.length-5],actionObject[actionObject.length-4],
+  			actionObject[actionObject.length-3],actionObject[actionObject.length-2],
+  			false,
+  			actionObject[2],actionObject[3],actionObject[4],actionObject[5],actionObject[6],
+  			actionObject[7],actionObject[8],actionObject[16],actionObject[11],actionObject[12],
+  			actionObject[9],actionObject[10],actionObject[17],actionObject[18],actionObject[19]);
+  	</method>
+  	
+	<!--- 
+		invoke by the initial Loading process in remoteWhiteboard.lzx, 
+		does not invoke any Update Handler
+		once this object is loaded, it will throw an Update event of kind
+		addSWFToLayerHistoryToLocalLoaded
+  	 -->
+  	<method name="addSWFToLayerHistoryToLocal" args="actionObject,refObj">
+        this.baseactionobjectList.push(actionObject);	
+  		this.addPresentationToLayer(refObj,actionObject[1],actionObject[actionObject.length-1],
+  			actionObject[actionObject.length-5],actionObject[actionObject.length-4],
+  			actionObject[actionObject.length-3],actionObject[actionObject.length-2],
+  			false,
+  			actionObject[2],actionObject[3],actionObject[4],actionObject[5],actionObject[6],
+  			actionObject[7],actionObject[8],actionObject[16],actionObject[11],actionObject[12],
+  			actionObject[9],actionObject[10],actionObject[17],actionObject[18],actionObject[19]);
+  	</method>
+  	
+  	<!--
+  		TODO: Check Recording Process
+  	 
+  	<method name="addSWFToLayerHistoryRecording" args="actionObject,refObj,isWmlLoader">
+		this.isWmlLoaderImage = isWmlLoader;
+        this.baseactionobjectList.push(actionObject);	
+  		this.addPresentationToLayerRecording(refObj,actionObject[1],actionObject[actionObject.length-1],actionObject[actionObject.length-5],actionObject[actionObject.length-4],actionObject[actionObject.length-3],actionObject[actionObject.length-2],false,actionObject[2],actionObject[3],actionObject[4],actionObject[5],actionObject[6],actionObject[7],actionObject[8],actionObject[16],actionObject[11],actionObject[12],actionObject[9],actionObject[10]);
+  	</method>
+    -->
+  	
+  	<method name="registerNewSWF" args="urlname,posx,posy,width,height,baseurl,fileName,moduleName,parentPath,room,domain,slideNumber,innerx,innery,innerwidth,innerheight,zoomlevel,currentzoom,initwidth,initheight,uniquObjectSyncName,doUpdateMessage,standardFileName,fullFit,zIndex">
+		var actionObject = new Array();
+	    actionObject.push('swf');//0
+	    actionObject.push(urlname);//1
+		actionObject.push(baseurl);//2
+		actionObject.push(fileName);//3
+		actionObject.push(moduleName);//4
+		actionObject.push(parentPath);//5
+		actionObject.push(room);//6
+		actionObject.push(domain);//7
+        actionObject.push(slideNumber);//8
+        actionObject.push(innerx);//9
+        actionObject.push(innery);//10
+        actionObject.push(innerwidth);//11
+        actionObject.push(innerheight);//12
+        actionObject.push(zoomlevel);//13
+        actionObject.push(initwidth);//14
+        actionObject.push(initheight);//15
+        actionObject.push(currentzoom);//16
+        actionObject.push(uniquObjectSyncName);//17
+        actionObject.push(standardFileName);//18
+        actionObject.push(fullFit);//19
+        actionObject.push(zIndex);//-8
+        actionObject.push(null);//-7
+		actionObject.push(this.counter);//-6
+	    actionObject.push(posx);//-5
+	    actionObject.push(posy);//-4
+	    actionObject.push(width);//-3
+	    actionObject.push(height);//-2
+	    actionObject.push(this.currentlayer.name);//-1
+	    this.baseactionobjectList.push(actionObject);
+	    this.checkStepLayers();
+	    if (doUpdateMessage) this.onsharedMessage('draw',actionObject);	
+  	</method>    
+    
+	<!--
+		Invoked by the swfResource, if the alterModus = true,
+		throws an Update-Event to all connected Clients
+	 -->
+	<method name="storeTempValsAndLoadSyncListSWF" args="objRef">
+		this.syncImageRefObj = objRef;
+		this.doRegisterNewSwf(true);
+		this.sendCompletedObjectSyncEvent.uniqueObjectSyncName = this.syncImageRefObj.uniqueObjectSyncName;
+		this.sendCompletedObjectSyncEvent.doCall();
+	</method>    
+	
+	<!--
+		Invoked by the swfResource, if the alterModus = false,
+		throws NO Update-Event to all connected Clients
+	 -->
+	<method name="sendLoadNotificationSWF" args="objRef" >
+		this.syncImageRefObj = objRef;
+		this.doRegisterNewSwf(false);
+		this.sendCompletedObjectSyncEvent.uniqueObjectSyncName = this.syncImageRefObj.uniqueObjectSyncName;
+		this.sendCompletedObjectSyncEvent.doCall();
+	</method>
+	
+	<!-- 
+		TODO: Check Recording
+	-->
+	<method name="storeTempValsAndLoadSyncListSWFRecording" args="objRef">
+		this.syncImageRefObj = objRef;
+		//this.doRegisterNewSwf();
+		//this.sendCompleteSWFSync();
+		//This invokes a Method which is in the remoteWhiteboard.lzx
+		this.sendCompletedObjectSyncEvent.uniqueObjectSyncName = this.syncImageRefObj.uniqueObjectSyncName;
+		this.sendCompletedObjectSyncEvent.doCall();
+	</method>    
+    
+	
+
+	<!-- sending messages/notifications of sync process
+		syncing is now on server side implemented, swagner 12.06.2008
+	<netRemoteCallHib name="sendMessageWithClientSWF" funcname="sendMessageWithClient" remotecontext="$once{ canvas.thishib }" >   
+		<netparam name="vars"><method name="getValue">return parent.parent.imageLoadingCompleteMessage;</method></netparam>
+		<handler name="ondata" args="value">
+			<![CDATA[
+				//The onResult-Handler will be called be the rtmpconnection
+				////Debug.write("getValue : ",value);
+			]]>
+		</handler>   
+	</netRemoteCallHib>     
+     -->
+     
+	<!-- get list of clients before loading image cause
+		we have to show the sync process
+		
+		syncing is now on server side implemented, swagner 12.06.2008
+	
+    <netRemoteCallHib name="getSWFClientListScope" funcname="getClientListScope" remotecontext="$once{ canvas.thishib }" >          
+        <handler name="ondata" args="value">
+        	<![CDATA[
+				//The onResult-Handler will be called by the rtmpconnection
+				////Debug.write("getSWFClientListScope Instance: ",value);
+				parent._loadingUsersImageList = new Array();
+				for (var eg in value){
+					if (canvas.streamid != value[eg].streamid){
+						//Debug.write("parent._loadingUsersImageList value eg ",eg,value[eg]);
+						parent._loadingUsersImageList.push(value[eg]);
+					}
+				}
+				this.parent.doRegisterNewSwf();	
+				this.parent.startSWFsyncCheck();			
+            ]]>
+        </handler>   
+    </netRemoteCallHib>
+    	-->
+    
+    <method name="doRegisterNewSwf" args="doUpdateMessage">
+		//now send notifications to connected clients
+		this.setAttribute('drawmodus','hand');
+        
+		this.registerNewSWF(this.syncImageRefObj.baseurl,this.syncImageRefObj.x,
+                this.syncImageRefObj.y,this.syncImageRefObj._swfView.width,
+                this.syncImageRefObj._swfView.height,this.syncImageRefObj.baseurl,
+                this.syncImageRefObj.fileName,this.syncImageRefObj.moduleName,
+                this.syncImageRefObj.parentPath,this.syncImageRefObj.room,
+                this.syncImageRefObj.domain,this.syncImageRefObj.slideNumber,
+                this.syncImageRefObj._swfView.x,this.syncImageRefObj._swfView.y,
+                this.syncImageRefObj._swfView.width,this.syncImageRefObj._swfView.height,
+                this.syncImageRefObj.zoomlevel,this.syncImageRefObj.currentzoomFactor,
+                this.syncImageRefObj.initwidth,this.syncImageRefObj.initheight,
+                this.syncImageRefObj.uniqueObjectSyncName,doUpdateMessage,
+                this.syncImageRefObj.standardFileName,
+                this.syncImageRefObj.fullFit,
+                this.getZIndex());
+        
+		//set modus to hand so users can directly select that image
+		this.setModus('swf');
+    </method>
+	
+	<!-- after loading the objects check if all connected clients of that conference
+		have loaded the file completely, check it every 1 seconds
+		syncing is now on server side implemented, swagner 12.06.2008
+	<method name="startSWFsyncCheck">
+		<![CDATA[
+			if (this._loadingUsersImageList.length==0){
+				this.sendSyncNotificationSWF();
+			} else {
+				var txt = this.imageSyncMessageText+' '+this._loadingUsersImageList.length;
+				this.loadimageDataWinRef.setMessage(txt);
+				this.loadImageObjectTimer = new LzDelegate( this, "startImgaesyncCheck" );
+				lz.Timer.addTimer( this.loadImageObjectTimer, this.syncImageCheckTime );
+			}
+		]]>
+	</method>	
+	 -->
+
+	<method name="sendSyncNotificationSWF">
+		this.imageLoadingCompleteMessage = new Array();
+		this.imageLoadingCompleteMessage[0] = "whiteboard";
+		this.imageLoadingCompleteMessage[1] = "swfsynccomplete";
+		this.sendMessageWithClientSWF.doCall();
+	</method>	
+
+	<!-- invoked by remote client once he has completely loaded the wml-file 
+		remote client is waiting/still shows loading window untill all clients have 
+		completely loaded the object/moderator sends "synccomplete" message
+		
+		syncing is now on server side implemented, swagner 12.06.2008
+		
+	<method name="sendCompleteSWFLoadedRClient" args="client">
+		<![CDATA[
+			//detect self messageing
+			if (client.streamid!=canvas.streamid){
+				//remove client from sync list
+				for (var i=0;i<this._loadingUsersImageList.length;i++){
+					if (this._loadingUsersImageList[i].streamid==client.streamid){
+						////Debug.write("deleteing client from list: ",this._loadingUsersImageList[i].streamid);
+						this._loadingUsersImageList.splice(i,1);
+					}
+				}
+			}
+		]]>
+	</method>
+	
+	 -->
+	
+	<!-- invoked remotely by Moderator
+		all clients have succeed in loading the image
+		loading win can be closed
+		Alert: This notification will be send from Moderator and received by ALL clients INCLUDING
+		the moderator, so the moderator needs no extra command *close* for loading bar cause he
+		gets its own *sync* complete nofification
+		
+		syncing is now on server side implemented, swagner 12.06.2008
+			
+	<method name="sendCompleteSWFSync" args="client">
+		////Debug.write("sendCompleteSWFSync ",client);
+		this.loadimageDataWinRef.close();
+	</method>  
+     -->
+    
+    <!-- Document actions
+        this.ObjectByName is set by the method doShowObjectBounds of baseDraw and holds a reference to
+        the currently selected object on the whiteboard
+     -->
+    <method name="doDocumentAction" args="action">
+        <![CDATA[
+            if ($debug) Debug.info("doDocumentAction :1: sendCurrentSWFObject ",action);
+            if (this.ObjectByName.typeOfObject=="swf") {
+                if (action=="doc_first"){
+                    this.ObjectByName._swfView.setAttribute('frame',1);
+                } else if (action=="doc_pre"){
+                    if (this.ObjectByName._swfView.frame>1){
+                        this.ObjectByName._swfView.setAttribute('frame',(this.ObjectByName._swfView.frame-1));
+                    }
+                } else if (action=="doc_next"){
+                    if (this.ObjectByName._swfView.frame<this.ObjectByName._swfView.totalframes){
+                        this.ObjectByName._swfView.setAttribute('frame',(this.ObjectByName._swfView.frame+1));
+                    }
+                } else if (action=="doc_last"){
+                    this.ObjectByName._swfView.setAttribute('frame',(this.ObjectByName._swfView.totalframes));
+                } else if (action=="doc_zoom_minus"){
+                	
+                	if ($debug) Debug.write("doc_zoom_minus ");
+                	return;
+                	
+                    this.ObjectByName.currentzoomFactor-=this.ObjectByName.zoomlevel;       
+                    var newwidth = (this.ObjectByName.initwidth/100)*this.ObjectByName.currentzoomFactor;
+                    var newheight = (this.ObjectByName.initheight/100)*this.ObjectByName.currentzoomFactor;
+                    this.ObjectByName._swfView.setAttribute('width',newwidth);
+                    this.ObjectByName._swfView.setAttribute('height',newheight);
+                    this.boundingref.doSetInnerObjectsBounds(newwidth,newheight);
+                } else if (action=="doc_zoom_plus"){
+                	
+                	if ($debug) Debug.write("doc_zoom_plus ");
+                	return;
+                	
+                    this.ObjectByName.currentzoomFactor+=this.ObjectByName.zoomlevel;       
+                    //Debug.write("doc_zoom_plus 1",this.ObjectByName.currentzoomFactor,this.ObjectByName.zoomlevel);
+                    var newwidth = (this.ObjectByName.initwidth/100)*this.ObjectByName.currentzoomFactor;
+                    var newheight = (this.ObjectByName.initheight/100)*this.ObjectByName.currentzoomFactor;
+                    //Debug.write(this.ObjectByName);
+                    //Debug.write("doc_zoom_plus 2",newwidth,newwidth);
+                    this.ObjectByName._swfView.setAttribute('width',newwidth);
+                    this.ObjectByName._swfView.setAttribute('height',newheight);
+                    this.boundingref.doSetInnerObjectsBounds(newwidth,newheight);
+                } else if (action=="setSlideNumber"){
+                    if (this.newSlideNumber>0 && this.newSlideNumber<=this.ObjectByName._swfView.totalframes){
+                    	if ($debug) Debug.warn("Slide New Number ",this.newSlideNumber);
+                        this.ObjectByName._swfView.setAttribute('frame',this.newSlideNumber);
+                    } else {
+                        if ($debug) Debug.warn("Slide Number out of range of that document TotalFrames: ",this.ObjectByName._swfView.totalframes);
+                    }
+                }
+                this.ObjectByName.slideNumber =  this.ObjectByName._swfView.frame;
+                this.doUpdateDocumentToolBar();
+                
+                if ($debug) Debug.info("doDocumentAction :2: sendCurrentSWFObject");
+                
+                this.sendCurrentSWFObject(this.ObjectByName);
+                
+            }
+        ]]>
+    </method>
+    
+    <method name="addItemToDocumentToolBar">
+    	var docToolbar = this.getDocumentToolBar();
+    	docToolbar.addCurrentObject(this.currentlayer);
+    </method>
+    
+    <method name="setCurrentDocumentByToolBar" args="itemRefName">
+        if (this.boundingIsActive){
+        	if (this.boundingref.objRef.name != itemRefName) {
+        		this.boundingref._innerDrag.onmouseup.sendEvent();
+        	}
+        }
+        this.setCurrentDocument();
+    </method>
+    
+    <method name="setCurrentDocument" args="itemRefName">
+    	var t = this.getObjectByName(itemRefName);
+    	if (t==null) {
+    		return;
+    	}
+        this.ObjectByName = t;
+        this.doUpdateDocumentToolBar();
+        
+        if ($debug) Debug.write("setCurrentDocument ",itemRefName,this.ObjectByName);
+        
+        //not needed anymore
+        //this.sendItemToFront(itemRefName);
+        //this.bringItemToFrontByName(itemRefName);
+    </method>
+    
+    <method name="sendItemToFront" args="itemRefName">
+        var actionObject = new Array();
+        actionObject[0] = 'item';
+        actionObject[1] = itemRefName;
+        this.onsharedMessage('sendItemToFront',actionObject);
+    </method>    
+    
+    <method name="bringItemToFrontByName" args="itemRefName">
+        this.ObjectByName = this.getObjectByName(itemRefName);
+        this.ObjectByName.bringToFront();
+    </method>
+    
+    <method name="doUpdateDocumentToolBarByParticipant" args="itemObjName">
+        this.ObjectByName = this.getObjectByName(itemObjName);
+        this.doUpdateDocumentToolBar();
+    </method>
+    
+    <method name="doUpdateDocumentToolBar">
+    	<![CDATA[
+        	if (this.modernToolbar) {
+                //@deprecated
+                //this code is not valdi for the latest dev anymore, only inside for 
+                //backward compatibility
+    	        //this.parent.parent._documentmenu._currentSlideNo.setAttribute('text',this.ObjectByName._swfView.frame);
+    	        //this.parent.parent._documentmenu._totalSlideNo.setAttribute('text',this.ObjectByName._swfView.totalframes);
+    	        //this.parent.parent._documentmenu._zoom.setAttribute('text',this.ObjectByName.currentzoomFactor);
+        	
+            } else {
+                
+        		var docToolbar = this.getDocumentToolBar();
+        		
+                if ($debug) Debug.write("doUpdateDocumentToolBar ",docToolbar.parent.parent.ignoreUpdates);
+                docToolbar.parent.parent.ignoreUpdates = true;
+                
+        		if (this["ObjectByName"] && this.ObjectByName != null && this.ObjectByName._swfView) {
+                    
+                    if ($debug) Debug.warn("doUpdateDocumentToolBar ",this.ObjectByName.fullFit);
+                    
+        			docToolbar._currentSlideNo.setAttribute('text',this.ObjectByName._swfView.frame);
+                    docToolbar._totalSlideNo.setAttribute('text',this.ObjectByName._swfView.totalframes);
+                    //docToolbar._zoom.setAttribute('text',this.ObjectByName.currentzoomFactor);
+                    //docToolbar.parent._fullFit.setValue(this.ObjectByName.fullFit);
+        		} else {
+        			docToolbar._currentSlideNo.setAttribute('text',"0");
+                    docToolbar._totalSlideNo.setAttribute('text',"0");
+                    //docToolbar._zoom.setAttribute('text',"100");
+                    //docToolbar.parent._fullFit.setValue(false);
+        		}
+                
+                docToolbar.parent.parent.ignoreUpdates = false;
+    	        
+        	}
+    	]]>
+    </method>
+    
+    <method name="doDeleteFromDocumentsBar" args="itemRefName">
+    	var docToolbar = this.getDocumentToolBar();
+    	docToolbar.removeDocument(itemRefName);
+    </method>
+    
+    <method name="clearDocumentsBar">
+    	var docToolbar = this.getDocumentToolBar();
+    	docToolbar.clearDocumentsBar();
+    </method>
+    
+    <method name="sendCurrentSWFObject" args="objRef">
+		<![CDATA[
+            if ($debug) Debug.write("sendCurrentSWFObject :: ",objRef,objRef.name);
+            var objName = objRef.name;
+            for (var eg=0;eg<this.baseactionobjectList.length;eg++){
+                if (this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-1]==objName) {
+                    ////Debug.write("Found Object: ",this.baseactionobjectList[eg]);
+                    var sendSlideObjectUpdate = false;
+                    if (this.baseactionobjectList[eg][8] != objRef.slideNumber) {
+                    	sendSlideObjectUpdate = true;
+                    }
+                    this.baseactionobjectList[eg][8] = objRef.slideNumber;
+                    this.baseactionobjectList[eg][9] = objRef._swfView.x;
+                    this.baseactionobjectList[eg][10] = objRef._swfView.y;
+                    this.baseactionobjectList[eg][11] = objRef._swfView.width;
+                    this.baseactionobjectList[eg][12] = objRef._swfView.height;
+                    this.baseactionobjectList[eg][13] = objRef.zoomlevel;
+                    this.baseactionobjectList[eg][16] = objRef.currentzoomFactor;
+                    this.baseactionobjectList[eg][19] = objRef.fullFit;
+                    var newA = this.baseactionobjectList[eg];
+                    if (newA[0]=='paint') newA[1] = new Array();				
+                    this.onsharedMessage('swf',newA);	
+                    if (sendSlideObjectUpdate) {
+                        this.updateObjectsToSlideNumber(this.baseactionobjectList[eg]);
+                    }
+                    break;
+                }
+            }	
+		]]>
+	</method>
+    
+    <method name="remoteObjectUpdate" args="lastactionObject">
+        <![CDATA[
+        
+            var obj = this.getObjectByName(lastactionObject[lastactionObject.length-1]);
+            
+            if ($debug) Debug.write("remoteObjectUpdate :: ",obj.fullFit);
+            obj._swfView.doSendChangeValue = false;
+            var sendSlideObjectUpdate = false;
+            if (obj.slideNumber != lastactionObject[8]) {
+            	sendSlideObjectUpdate = true;
+            }
+			obj.slideNumber = lastactionObject[8];
+			obj._swfView.setAttribute('x',lastactionObject[9]);
+			obj._swfView.setAttribute('y',lastactionObject[10]);
+			obj._swfView.setAttribute('width',lastactionObject[11]);
+            obj._swfView.setAttribute('height',lastactionObject[12]);
+            //obj.zoomlevel = lastactionObject[13];
+            //obj.currentzoomFactor = lastactionObject[16];
+            obj.fullFit = lastactionObject[19];
+            
+            if ($debug) Debug.write("DO initialLoadFullFit ?? ",obj.fullFit);
+            
+            if (obj.fullFit) {
+                if ($debug) Debug.write("DO initialLoadFullFit !! ");
+                obj._swfView.initialLoadFullFit();
+            }
+            
+            obj._swfView.setAttribute('frame',obj.slideNumber);
+            obj._swfView.doSendChangeValue = true;
+            
+            this.doUpdateDocumentToolBarByParticipant(obj.name);
+            
+            this.remoteUpdateBaseObjectList(lastactionObject);
+            
+            if (sendSlideObjectUpdate) {
+                this.updateObjectsToSlideNumber(lastactionObject);
+            }
+        ]]>
+    </method>
+    
+    <method name="remoteUpdateBaseObjectList" args="actionObject">
+		<![CDATA[
+            ////Debug.write("remoteUpdateBaseObjectList : ",actionObject);
+            for (var eg=0;eg<this.baseactionobjectList.length;eg++){
+                if (this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-1]==actionObject[actionObject.length-1]) {
+                    this.baseactionobjectList[eg] = actionObject;
+                    break;
+                }
+            }	
+		]]>
+    </method>
+    
+    
+    
+    
+    
+    <method name="playVideoSynced" args="fileExplorerItemId,fileName,flv_width,flv_height">
+        <![CDATA[
+        
+            if ($debug) Debug.write("playVideoSynced : ",fileExplorerItemId,fileName,flv_width,flv_height);
+        
+            var tName = 'flv'+this.getCounter();
+            
+            this.currentlayer = new lz.whiteboardVideoPlayer(this,{
+                                            name:tName,
+                                            fileExplorerItemId:fileExplorerItemId,
+                                            title:fileName,
+                                            sendInit:true,
+                                            flv_width:flv_width,
+                                            flv_height:flv_height
+                                        });
+                                        
+            this.layers.push(this.currentlayer);  
+        ]]>
+    </method>
+    
+    <method name="sendNewVideoRemote" args="refObj">
+        <![CDATA[
+        
+            if ($debug) Debug.write("sendNewVideoRemote : ",refObj.fileExplorerItemId,refObj.title);
+        
+            this.flvregisterFinal(refObj.name,refObj.x,refObj.y,refObj.width,refObj.height,
+                                                refObj.fileExplorerItemId,refObj.title,
+                                                false, //isPlaying
+                                                refObj.flv_width,
+                                                refObj.flv_height,
+                                                this.getZIndex());
+                        
+            
+        ]]>
+    </method>
+    
+    <method name="flvregisterFinal" args="newName,x,y,width,height,fileExplorerItemId,fileName,isPlaying,flv_width,flv_height,zIndex">
+        var actionObject = new Array();
+        actionObject[0] = 'flv';
+        actionObject[1] = fileExplorerItemId;
+        actionObject[2] = fileName;
+        actionObject[3] = isPlaying;
+        actionObject[4] = flv_width; 
+        actionObject[5] = flv_height;   
+        actionObject[6] = zIndex;//-8
+        actionObject[7] = null;//-7
+        actionObject[8] = this.counter;//-6
+        actionObject[9] = x;//-5
+        actionObject[10] = y;//-4
+        actionObject[11] = width;//-3
+        actionObject[12] = height;//-2
+        actionObject[13] = newName;//-1
+        this.baseactionobjectList.push(actionObject);       
+        this.onsharedMessage('draw',actionObject);
+    </method>     
+    
+    <method name="drawFlvToHistory" args="lastActionObject,parentView">
+        <![CDATA[
+        
+            if ($debug) Debug.write("drawFlvToHistory PLAY :: ",lastActionObject[3]);
+        
+            this.currentlayer = new lz.whiteboardVideoPlayer(this,{
+                                            name:lastActionObject[lastActionObject.length-1],
+                                            fileExplorerItemId:lastActionObject[1],
+                                            title:lastActionObject[2],
+                                            flv_width:lastActionObject[4],
+                                            flv_height:lastActionObject[5]
+                                        });
+               
+            if (lastActionObject[3]) {
+                this.currentlayer.playRemote();
+            }
+                                        
+            this.layers.push(this.currentlayer);  
+            
+        ]]>
+    </method>
+    <!-- 
+     x:lastActionObject[lastActionObject.length-5],
+     y:lastActionObject[lastActionObject.length-4],
+     width:lastActionObject[lastActionObject.length-3],
+     height:lastActionObject[lastActionObject.length-2]
+     -->
+    
+    <method name="playFLV" args="refObj,play">
+        <![CDATA[
+            
+            for (var eg=0;eg<this.baseactionobjectList.length;eg++){
+                if (this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-1]==refObj.name) {
+                    ////Debug.write("Found Object: ",this.baseactionobjectList[eg]);
+                    
+                    this.baseactionobjectList[eg][3] = play;
+                    
+                    if ($debug) Debug.write("playFLV :: ",this.baseactionobjectList[eg]);
+                    this.onsharedMessage('flv',this.baseactionobjectList[eg]);
+                    
+                    break;
+                }
+            }
+            
+        ]]>
+    </method>
+    
+    <method name="playFLVRemote" args="actionObject">
+
+        var tObj = this.getObjectByName(actionObject[actionObject.length-1]);
+        
+        if (actionObject[3]) {
+            tObj.playRemote();
+        }
+        if (!actionObject[3]) {
+            tObj.stopRemote();
+        }
+
+    </method>
+
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/baseDrawSave.lzx b/WebContent/src/modules/conference/whiteboard/base/baseDrawSave.lzx
new file mode 100644
index 0000000..0f1fc60
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/baseDrawSave.lzx
@@ -0,0 +1,519 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="baseDrawSave" extends="baseDrawImage" >
+	
+	<!-- saveing a file to a wml Object -->
+	<attribute name="savefileName" value="savefileName1" type="string" />
+	<attribute name="fileData" value="null" />
+	<attribute name="savefileDataWinRef" value="null" />
+	
+	<!-- loading a file from a wml Object -->
+	<attribute name="loadfileData" value="null" />
+	<attribute name="loadfileDataIndex" value="0" type="number" />
+	<attribute name="loadfileDataWinRef" value="null" />
+	<attribute name="loadObjectTimer" value="null" />
+	<attribute name="loadmessageId" value="206" type="number" />
+	<attribute name="syncmessageId" value="207" type="number" />
+	<attribute name="_loadmessageTxt" value="" type="string" />
+	<!-- loading a file from wml synchronize with remote Users -->
+	<attribute name="_loadingUsers" value="null" />
+	<attribute name="wmlfileName" value="" type="string" />
+	<attribute name="wmlroom" value="" type="string" />
+	<attribute name="wmldomain" value="" type="string" />
+	<attribute name="wmlspreadNews" value="false" type="boolean" />
+	<attribute name="wmlLoadingCompleteMessage" value="null" />
+	<attribute name="synccheckTime" value="1000" type="number" />
+	
+	<!-- loading all stage objects on init -->
+	<attribute name="isInitLoader" value="false" type="boolean" />
+    
+    <!-- Export Image Type -->
+    <attribute name="exportType" value="svg" type="string" />
+    
+	<!-- Vars for storing screenshot
+		removed cause of performance and 
+		no php backend availible anymore -->		
+    <attribute name="MCRef" value="null" />
+    
+    <attribute name="pixelArray" value="null" />
+    <attribute name="snap" value="null" />
+    <attribute name="bpData" value="null" />
+    <attribute name="MatrixValue" value="null" />
+    
+    <attribute name="w" value="0" type="number" />
+    <attribute name="h" value="0" type="number" />
+    
+    <attribute name="a" value="0" type="number" />
+    
+    <attribute name="pixel_del" value="$once{ new LzDelegate(this, 'buildPixelArray' )}" />
+    
+    <attribute name="sendpictureName" value="snapchot.jpg" type="string" />
+    
+    <attribute name="isSendPartArray" value="true" type="boolean" />
+    
+    <attribute name="isRecordingLoad" value="false" type="boolean" />
+    <attribute name="isinitRecordingLoad" value="false" type="boolean" />
+	
+	<!-- Start and Stop Event will be thrown by the loading process -->
+	<event name="onwmlloadStart" />
+	<event name="onwmlloadStop" />
+    
+    <!-- Images will be send in packages 
+    	so timeout is workaround
+     -->
+    <attribute name="sendPartURL" value="http://www.webbase-design.de/dokeos/videoconference/createimagefrombitmap.php" type="string" />
+    
+    <!-- create Image from whole Array
+    	Large Images will not be rendered correctly here cause
+    	there can be a timeout -->
+    <attribute name="sendURL" value="http://www.webbase-design.de/dokeos/videoconference/createimagefrombitmap.php" type="string" />
+    
+    <event name="onprogress" />
+    
+    <method name="catchSnapshot">
+        <![CDATA[
+        this.MCRef = this.getDisplayObject();
+        //Debug.write("this.MCRef: ",this.MCRef);
+        this.snap = new flash.display.BitmapData(this.width, this.height, false, 0 );
+        
+        //Matrix to scale the new image
+        this.MatrixValue = new flash.geom.Matrix();
+        this.MatrixValue.scale(1, 1);
+        //Copy video image
+        this.snap.draw(this.MCRef,  this.MatrixValue); 
+        
+        this.bpData = this.snap.getPixels(this.snap.rectangle);
+        
+        this.w = this.width;
+        this.h = this.height;
+        this.a = 0;
+        this.pixelArray = new Array();
+        
+        //pixel_del.register(lz.Idle,'onidle');
+        this.saveAsImage.doCall();
+        ]]>
+    </method>
+    
+	  	<netRemoteCallHib name="saveAsImage" funcname="fileservice.saveAsImage" remotecontext="$once{ canvas.thishib }" >   
+	  		<netparam><method name="getValue">return parent.parent.bpData;</method></netparam>
+	        <handler name="ondata" args="value">	
+	        	//Debug.write("  saveAsImage: ",value);              	          				
+	        </handler>	
+	  	</netRemoteCallHib>     
+    
+    <method name="buildPixelArray" args="item">
+        <![CDATA[
+        
+        for(var b=0; b<=this.h; b++){
+            var tmp = this.snap.getPixel(a, b);
+            this.pixelArray.push(tmp.toString(16));
+        }
+        var perc =  Math.round((this.a*100)/this.w);
+        if (this.onprogress) this.onprogress.sendEvent(perc);            
+        this.a++
+        if(this.a>this.w){ 
+            //Finish capturing
+            if (this.isSendPartArray){
+            	this.sendPHPData(this.pixelArray, this.h, this.w);
+            } else {
+	            this.sendPHPData(this.pixelArray, this.h, this.w);
+	        }
+            //free memory
+            this.snap.dispose();
+            pixel_del.unregisterAll();
+        }
+        
+        ]]>
+    </method>
+    
+    <method name="sendPHPData" args="pix,pixH,pixW">
+        //Debug.write("### sendPHPData: ",pix,pixH,pixW);
+        <![CDATA[
+	        //Create the LoadVars object and pass data to PHP script
+	        var output = new LoadVars();
+	        output.img = pix.toString();
+	        output.height = pixH;
+	        output.width = pixW;
+	        //The page (and this movie itself) should be in a server to work
+	        output.send(this.sendURL, "output", "POST");
+        ]]> 
+    </method>
+	
+	<!-- saving all object on whiteBoard as wml-file -->
+	
+	<handler name="sendObject">
+		if ($debug) Debug.write("sendObject doSave: ",this.baseactionobjectList);
+		this.fileData = this.baseactionobjectList;
+		this.savefileDataWinRef = new lz.saveAsWmlWindow(canvas.main_content._content.inner,{
+                                                refObj:this});
+	</handler>
+	
+	<method name="confirmSaveAsObject" args="fileName" >
+		this.savefileName = fileName;
+		this.saveAsObject.doCall();
+	</method>
+    
+  	<netRemoteCallHib name="saveAsObject" funcname="fileservice.saveAsObject" remotecontext="$once{ canvas.thishib }" >   
+  		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+		<netparam><method name="getValue">return hib.currentroomid;</method></netparam>        				  
+		<netparam><method name="getValue"> return parent.parent.savefileName; </method></netparam>
+		<netparam><method name="getValue"> return parent.parent.fileData;</method></netparam>
+        <handler name="ondata" args="value">	
+			<![CDATA[
+				if ($debug) Debug.write("  saveAsImage: ",value);   
+			    if (value>0){
+					parent.savefileDataWinRef.close();
+					canvas.currentFileExplorer.loadFiles();
+				} else {
+					new lz.rpcErrorDialog(canvas.main_content._content.inner,{errorid:value});
+				}
+			]]>  	          				
+        </handler>	
+  	</netRemoteCallHib>  
+        
+    <method name="confirmSaveAsImageTypeExport" args="fileName,type">
+        this.savefileName = fileName;
+        this.exportType = type;
+        this.fileData = this.baseactionobjectList;
+        this.addPrintList.doCall();
+    </method> 
+     
+    <method name="confirmSaveAsImageExport" args="fileName">
+        this.savefileName = fileName;
+        this.exportType = "svg";
+        this.fileData = this.baseactionobjectList;
+        this.addPrintList.doCall();
+    </method>	
+    
+        <netRemoteCallHib name="addPrintList" funcname="printservice.addPrintList" remotecontext="$once{ canvas.thishib }" > 
+          
+            <netparam><method name="getValue">return canvas.sessionId; </method></netparam>
+            <!--             
+            <netparam><method name="getValue">return parent.parent.savefileName; </method></netparam>
+             -->
+            <netparam><method name="getValue">return parent.parent.fileData;</method></netparam>
+            <netparam><method name="getValue">return parent.parent.width;</method></netparam>
+            <netparam><method name="getValue">return parent.parent.height;</method></netparam>
+            <handler name="ondata" args="value">    
+                <![CDATA[
+                    if ($debug) Debug.write("addPrintList: ",value);   
+                    var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport+canvas.httpRootKey+'ExportToImage?' +
+					                    'fileName=' + parent.savefileName +
+					                    '&hash='+value + 
+                                        '&exportType=' + parent.exportType +
+					                    '&sid='+canvas.sessionId;
+                                        
+                    lz.Browser.loadURL(downloadurl,"_BLANK");
+                ]]>                             
+            </handler>  
+        </netRemoteCallHib>     
+    
+	<!-- Loading the wml Object from the library 
+		invoked wether directly (spreadNews=true) from the library
+		or by remoteClient (Moderator spreadNews=false)-->
+	
+    <method name="loadwmlObjectToStage" args="loadObject,fileName,room,domain,spreadNews,isInitLoader">
+        
+        //Debug.write("loadwmlObjectToStage: ",loadObject,fileName,room,domain,spreadNews,isInitLoader);
+		<![CDATA[
+		if (loadObject!=null && loadObject.length>0){
+			
+			this.wmlfileName = fileName;
+			this.wmlroom = room;
+			this.wmldomain = domain;
+			this.wmlspreadNews = spreadNews;
+			this.isInitLoader = isInitLoader;
+			
+			this.loadfileData = loadObject;
+			this.loadfileDataIndex = -1;
+			if (this.onwmlloadStart) this.onwmlloadStart.sendEvent();
+			this._loadmessageTxt = canvas.getLabelName(this.loadmessageId);
+			this.loadfileDataWinRef = new lz.loadWhiteboardWindow(canvas.main_content._content.inner,{refObj:this});
+			
+			if (this.wmlspreadNews){
+				//get remotely connected users sothat we can trigger event when everyBody has synchronized loading
+				this.getClientListScope.doCall();
+			} else {
+				this.loadObjectTimer = new LzDelegate( this, "loadNextObjectFromList" );
+				lz.Timer.addTimer( this.loadObjectTimer, 50 );
+			}
+		//check if this is syncing cause if init of new user
+		//no init-object so load directly
+		} else if (isInitLoader){
+			//check if this is conferenceView or audienceView modus
+			if (canvas.thishib.modus == "conference"){
+				if ($debug) Debug.write("############## showDevicePopUp 1 xyz");
+				canvas._videocontainer._videoviewcontent.showDevicePopUp(false);
+			} else if(canvas.thishib.modus == "audience"){
+				//check in audince modus if this user is the current moderator
+				//this users cannot be the moderator cause he has downloaded
+				//some objects from teh current moderator
+				//Debug.error("WARNING 1 - ERROR - this users cannot be the moderator cause he has downloaded some objects from teh current moderator");
+			}
+
+		}
+		]]>	
+	</method>
+	
+	<!-- get list of clients before loading wml-file-objects cause
+		we have to show the sync process
+		-->
+    <netRemoteCallHib name="getClientListScope" funcname="getClientListScope" remotecontext="$once{ canvas.thishib }" >          
+        <handler name="ondata" args="value">
+        	<![CDATA[
+				//The onResult-Handler will be called by the rtmpconnection
+				//Debug.write("getClientListScope wml and sync Instance: ",value);
+				parent._loadingUsers = new Array();
+				for (var eg in value){
+					if (canvas.streamid != value[eg].streamid){
+						////Debug.write("parent._loadingUsers value eg ",eg,value[eg]);
+						parent._loadingUsers.push(value[eg]);
+					}
+				}
+				if (!parent.isInitLoader) {
+				    parent.notifyClient();			
+				} else {
+				    parent.notifyClientInitSyncing();
+				}
+				//it is necessary to use lz.Timer cause i want to make status updates
+				//after each loaded object
+                //Debug.write("loadNextObjectFromList 2 this.loadObjectTimer");
+				this.parent.loadObjectTimer = new LzDelegate( this.parent, "loadNextObjectFromList" );
+				lz.Timer.addTimer( this.parent.loadObjectTimer, 50 );	
+            ]]>
+        </handler>   
+    </netRemoteCallHib>
+	
+	<!-- send notification to all clients that a
+		 wml-file has been loaded -->	
+	<method name="notifyClient">
+		var obj = new Array();
+		obj["wmlfileName"] = this.wmlfileName;
+		obj["wmlroom"] = this.wmlroom;
+		obj["wmldomain"] = this.wmldomain;
+		obj["wmlspreadNews"] = this.wmlspreadNews;
+		
+		var tempSendArray = new Array ();
+		tempSendArray[0] = 'whiteboard';
+		tempSendArray[1] = new Date();
+		////Debug.write("Setting Message");
+		tempSendArray[2] = "loadwml";
+		tempSendArray[3] = obj;
+		
+		canvas.objWhiteboard = tempSendArray;
+        hib.sendVars.doCall();
+	</method>
+	
+	<method name="notifyClientInitSyncing">
+		this.wmlLoadingCompleteMessage = new Array();
+		this.wmlLoadingCompleteMessage[0] = "whiteboard";
+		this.wmlLoadingCompleteMessage[1] = "syncinitLoader";
+		this.wmlLoadingCompleteMessage[2] = this.wmlfileName;
+		this.sendMessageWithClient.doCall();
+	</method>
+	
+	<!-- invoked the loading of a wml-file by the moderator -->
+	<method name="remoteWmlLoader" args="fileName,room,domain">
+		this.loadWmlObject.String3 = room;
+		this.loadWmlObject.String1 = fileName;
+		this.loadWmlObject.doCall();
+	</method>
+	
+	<!-- invoked the loading of a wml-file by the moderator -->
+	<method name="remoteWmlLoaderRecording" args="fileName,room,domain">
+		this.isRecordingLoad = true;
+		this.loadWmlObject.String3 = room;
+		this.loadWmlObject.String1 = fileName;
+		this.loadWmlObject.doCall();
+	</method>
+	
+		<!-- load the objects of that wml file -->
+	  	<netRemoteCallHib name="loadWmlObject" funcname="fileservice.loadWmlObject" remotecontext="$once{ canvas.thishib }" >   
+			<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+			<netparam><method name="getValue">return parent.String3;</method></netparam>        	
+			  <netparam><method name="getValue">return parent.String1;</method></netparam>
+	        <handler name="ondata" args="value">	
+				<![CDATA[
+					////Debug.write("  loadWmlObject ",value); 
+					parent.loadwmlObjectToStage(value,this.String1,hib.currentroomid,hib.conferencedomain,false);
+				]]>       	     				
+	        </handler>	
+	  	</netRemoteCallHib> 
+	
+	<!-- this event gets triggered when a new user arrives and
+		start loading the init-objects
+		-->
+	<method name="remoteSyncLoader">
+		this.loadfileDataWinRef = new lz.loadWhiteboardWindow(canvas.main_content._content.inner,{refObj:this});
+		this._loadmessageTxt = canvas.getLabelName(this.syncmessageId);
+	    this.loadfileDataWinRef.setMessage(this._loadmessageTxt);
+	</method>
+			
+	
+	<!-- gets triggered once one object of the wml-file has been added completely to the
+		whiteborad -->
+	
+	<handler name="onwmlLoaderSend" args="type">
+		//Debug.write("loadNextObjectFromList 3 this.loadObjectTimer ",type);
+		this.loadObjectTimer = new LzDelegate( this, "loadNextObjectFromList" );
+		lz.Timer.addTimer( this.loadObjectTimer, 50 );
+	</handler>
+	
+	<!-- invoke by lz.Timer
+		checks if object is loaded completely once it is completely loaded it checks wether
+		the process was invoked by moderator, so this is a remoteClient or this client is 
+		really the moderator (this.wmlspreadNews=true)
+		if it ain't the mod it just throws a message to moderator and waits untill the moderator
+		spreads a message that all clients did succeed in loading the wml-file-objects
+		-->
+	<method name="loadNextObjectFromList">
+		<![CDATA[
+			if ($debug) Debug.write("loadNextObjectFromList");
+			this.loadfileDataIndex++;
+			if (this.loadfileDataIndex<this.loadfileData.length){
+				var txt = (this.loadfileDataIndex+1)+'/'+this.loadfileData.length+' '+this._loadmessageTxt;
+				this.loadfileDataWinRef.setMessage(txt);
+				////Debug.write("  loadObject[this.loadfileDataIndex] ",this.loadfileData[this.loadfileDataIndex]);
+				this.sendWatchObject('draw',this.loadfileData[this.loadfileDataIndex],true);
+			} else {
+				////Debug.write("this.loadfileDataIndex complete",this.loadfileDataIndex);
+				this._loadmessageTxt = canvas.getLabelName(this.syncmessageId);
+			    this.loadfileDataWinRef.setMessage(this._loadmessageTxt);
+				if (this.onwmlloadStop) this.onwmlloadStop.sendEvent();
+				if (this.isRecordingLoad || this.isinitRecordingLoad) {
+					this.sendCompleteWmlSync(null);
+				} else if (!this.wmlspreadNews){
+					this.wmlloadingComplete();
+				} else {
+                    //Debug.write("loadNextObjectFromList this.startWmlsyncCheck");
+					this.startWmlsyncCheck();
+				}
+			}
+		]]>
+	</method>
+	
+	<!-- remoteClient will send a notification to moderator 
+		that he has completed loading -->
+	<method name="wmlloadingComplete">
+		if ($debug) Debug.warn("?? wmlloadingComplete ??");
+		new lz.errorPopup(canvas,{error:"?? wmlloadingComplete ??"});
+		this.wmlLoadingCompleteMessage = new Array();
+		this.wmlLoadingCompleteMessage[0] = "whiteboard";
+		this.wmlLoadingCompleteMessage[1] = "wmlloadcomplete";
+		this.wmlLoadingCompleteMessage[2] = this.wmlfileName;
+		this.sendMessageWithClient.doCall();
+	</method>
+	
+	<!-- sending messages/notifications of sync process -->
+	<netRemoteCallHib name="sendMessageWithClient" funcname="sendMessageWithClient" remotecontext="$once{ canvas.thishib }" >   
+		<netparam name="vars"><method name="getValue">return parent.parent.wmlLoadingCompleteMessage;</method></netparam>
+		<handler name="ondata" args="value">
+			<![CDATA[
+			//The onResult-Handler will be called be the rtmpconnection
+			////Debug.write("getValue : ",value);
+			
+			]]>
+		</handler>   
+	</netRemoteCallHib> 	
+	
+	<!-- after loading the objects check if all connected clients of that conference
+		have loaded the file completely, check it every 1 seconds -->
+	<method name="startWmlsyncCheck">
+		<![CDATA[
+            if ($debug) Debug.write("startWmlsyncCheck: ");
+			if (this._loadingUsers.length==0 || this.isInitLoader){
+                //Debug.write("wmlsyncComplete ");
+				this.wmlsyncComplete();
+			} else {
+				var txt = this._loadmessageTxt+' '+this._loadingUsers.length;
+				this.loadfileDataWinRef.setMessage(txt);
+				this.loadObjectTimer = new LzDelegate( this, "startWmlsyncCheck" );
+				lz.Timer.addTimer( this.loadObjectTimer, this.synccheckTime );
+			}
+		]]>
+	</method>
+	
+	<!-- the sync process is complete, 
+		remove all loading windows from connected clients -->
+	<method name="wmlsyncComplete">
+		//set modus to hand so users can directly interact with object's
+		this.setModus('hand');	
+		this.wmlLoadingCompleteMessage = new Array();
+		this.wmlLoadingCompleteMessage[0] = "whiteboard";
+		this.wmlLoadingCompleteMessage[1] = "wmlsynccomplete";
+		this.wmlLoadingCompleteMessage[2] = this.wmlfileName;
+		this.sendMessageWithClient.doCall();
+	</method>
+	
+	<!-- invoked by remote client once he has completely loaded the wml-file 
+		remote client is waiting/still shows loading window untill all clients have 
+		completely loaded the object/moderator sends "synccomplete" message -->
+	<method name="sendCompleteWmlLoadedRClient" args="client">
+		<![CDATA[
+			//detect self messageing
+			if (client.streamid!=canvas.streamid){
+				//remove client from sync list
+				for (var i=0;i<this._loadingUsers.length;i++){
+					if (this._loadingUsers[i].streamid==client.streamid){
+						////Debug.write("deleteing client from list: ",this._loadingUsers[i].streamid);
+						this._loadingUsers.splice(i,1);
+					}
+				}
+			}
+		]]>
+	</method>
+	
+	<!-- invoked remotely by Moderator
+		all clients have succeed in loading the wml-file-objects
+		loading win can be closed
+		Alert: This notification will be send from Moderator and received by ALL clients INCLUDING
+		the moderator, so the moderator needs no extra command *close* for loading bar cause he
+		gets its own *sync* complete nofification
+		 -->
+	<method name="sendCompleteWmlSync" args="client">
+		if ($debug) Debug.write("sendCompleteWmlSync: ",client);
+		this.loadfileDataWinRef.close();
+		if (this.isinitRecordingLoad){
+			this.isinitRecordingLoad = false;
+			if ($debug) Debug.write("this.isinitRecordingLoad",this);
+			if ($debug) Debug.write(this.parent.parent.parent.parent);
+			this.parent.parent.parent.parent.timeLineAction();
+		}
+		//Debug.write("this.loadfileDataWinRef closed: ",this.loadfileDataWinRef);
+		//check if this is syncing cause if init of new user
+		if (this.isInitLoader){
+			//check if this is conferenceView or audienceView modus
+			if (canvas.thishib.modus == "conference"){
+				if ($debug) Debug.write("############## showDevicePopUp 2 xyz");
+				canvas._videocontainer._videoviewcontent.showDevicePopUp(false);
+			} else if(canvas.thishib.modus == "audience"){
+				//check in audince modus if this user is the current moderator
+				//this users cannot be the moderator cause he has downloaded
+				//some objects from teh current moderator
+				if ($debug) Debug.warn("WARNING 2 - ERROR - this users cannot be the moderator cause he has downloaded some objects from teh current moderator");
+			}
+		}
+	</method>
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/baseDrawWords.lzx b/WebContent/src/modules/conference/whiteboard/base/baseDrawWords.lzx
new file mode 100644
index 0000000..2ea27c3
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/baseDrawWords.lzx
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="styleableInput" extends="customInputtext" x="1" y="1" bgcolor="0xFFFFFF" multiline="true"
+		width="${ parent.width-2 }" height="${ parent.height-2 }" >
+
+	<attribute name="startAdjustHight" value="false" type="boolean" />
+	
+	<attribute name="setFocusOnInit" value="true" type="boolean" />
+	
+	<handler name="oninit">
+		if (this.setFocusOnInit) {
+		    lz.Focus.setFocus(this);	
+		}
+	</handler>
+	<handler name="ontext">
+	<![CDATA[
+		var gh = this.getTextHeight();
+		if (gh>20) {
+			if (gh+this.fontsize > this.height){
+				this.setAttribute("height",(gh+this.fontsize));
+			}
+		}
+	]]>
+	</handler>	
+	<handler name="onkeyup" args="key">
+       <![CDATA[
+       // 13 is return
+       if ((key==27) || (key==13)) {
+       		this.parent.parent.adjustHeight();
+       }
+       ]]>
+    </handler>	
+	<handler name="onheight">
+		if (this.startAdjustHight) this.parent.parent.adjustHeight();
+	</handler>
+	
+	<method name="getURLEncodedText">
+		<![CDATA[
+		
+		    var tString = this.getText();
+		    
+		    //tString = tString.replace("<","&#60;");
+		    //tString = tString.replace(">","&#62;");
+		    
+		    return tString;
+		
+		]]>
+	</method>
+	
+</class>
+
+<class name="baseDrawWords" extends="view" bgcolor="black" 
+	width="120" height="40">
+	
+	<attribute name="refObj" value="null" />
+	
+	<attribute name="inittext" value="" type="string" />
+	<attribute name="initTextName" value="" type="string" />
+
+	<method name="drawtoArray">
+		<![CDATA[
+		if ($debug) Debug.write("drawtoArray");
+		if (this._textview._textview.getURLEncodedText().length!=0 && this.inittext.length==0){
+            
+            //var scale = this.parent._drawarea.width / this.parent._drawarea.initW;
+		    var y = ( this.getAttributeRelative('y',this.refObj)-this.refObj.y+1 );
+            if ($debug) Debug.write("this.refObj.y ",this.refObj.y);
+			if ($debug) Debug.write("this.x-this.refObj.x-this.refObj.parent.x ",y);
+			var x = ( this.getAttributeRelative('x',this.refObj)-this.refObj.x+1 );
+			
+			if(canvas._drawarea.isSnapToGrid){        		
+	    			        	   
+	            x = Math.round(x/canvas._drawarea.gridWidth)*canvas._drawarea.gridWidth;
+		    	y = Math.round(y/canvas._drawarea.gridWidth)*canvas._drawarea.gridWidth;
+            
+            } 
+			
+        	this.refObj.drawTextField(this._textview._textview.getURLEncodedText(),
+                    this._textview._textview.width,
+                    this._textview._textview.height,x,y);
+                    
+        } else if (this._textview._textview.getURLEncodedText().length!=0 && this.inittext.length!=0){
+            
+        	if ($debug) Debug.write("edit modi ",this.initTextName);
+		    var y = (this.getAttributeRelative('y',this.refObj)-this.refObj.y+1);
+			if ($debug) Debug.write("this.x-this.refObj.x-this.refObj.parent.x ",y);
+			var x = (this.getAttributeRelative('x',this.refObj)-this.refObj.x+1);
+            
+			if(canvas._drawarea.isSnapToGrid){        		
+	    			        	   
+	            x = Math.round(x/canvas._drawarea.gridWidth)*canvas._drawarea.gridWidth;
+		    	y = Math.round(y/canvas._drawarea.gridWidth)*canvas._drawarea.gridWidth;
+            
+            } 
+			
+        	this.refObj.setTextFieldByName(this.initTextName,
+                this._textview._textview.getURLEncodedText(),
+                this._textview._textview.width,
+                x,y,this._textview._textview.height);
+                
+        } else {
+			if ($debug) Debug.write("text smaller then 0",this._textview._textview.getURLEncodedText());
+			
+			if ($debug) Debug.write("this.gridWidth",canvas._drawarea.gridWidth);
+			if ($debug) Debug.write("this.isSnapToGrid",canvas._drawarea.isSnapToGrid);
+		}
+        this.giveup();
+		]]>
+    </method>
+    
+	<method name="giveup">
+		this.refObj.letterObjectFree(this);
+		this.destroy();
+	</method>
+	    
+	<handler name="oninit">
+		//startAdjustHight is set to true later, cause otherwise update 
+		//Events would set the height to 
+		//text field default height
+		this.refObj.letterObjectClose(this);
+        var t = new lz.styleableInput(this._textview,{
+	                name:'_textview',text:this.inittext,
+	                fontstyle:this.refObj.currentlayerstyle,
+	                fontsize:this.refObj.currentlayersize,
+	                fgcolor:this.refObj.currentlayerletter
+                });
+        //if ( this.inittext.length==0 ) this.setAttribute('height',40);
+		if ( this.inittext.length!=0 ) {
+		    this.refObj.edittextLetterObject.setAttribute('visible',false);
+		    this.refObj.setModus('letter');
+	    }
+		t.startAdjustHight = true;
+	</handler>
+    
+    <handler name="newStyleEvent">
+        this.callNew(this._textview._textview.getText());
+    </handler>
+  
+	<method name="callNew" args="txxt">
+		//if ($debug) Debug.write("callNew height-2 ");
+		
+        var h = this.getHeight();
+        
+        //if ($debug) Debug.write("callNew height-3 ",this);
+        //if ($debug) Debug.write("callNew height-4 ",this.getHeight());
+        
+		this._textview._textview.destroy();
+		var t = new lz.styleableInput(this._textview,{
+			        setFocusOnInit:false,
+                    name:'_textview',text:txxt,
+                    fontstyle:this.refObj.currentlayerstyle,
+                    fontsize:this.refObj.currentlayersize,
+                    fgcolor:this.refObj.currentlayerletter
+                });
+        this.setAttribute("height",h);
+	</method>
+	<method name="adjustHeight">
+		if ($debug) Debug.write("+++ adjustHeight +++");
+		this.setAttribute('height',this._textview._textview.height+2);
+	</method>
+    
+    <method name="_removeResizestateFromThis">
+    	this.rs.remove();
+    </method>
+    
+    <view name="_textview" width="${ parent.width }" height="${ parent.height }" />
+    
+    <resizestate name="rs" >
+    	<text x="2" y="2" text="${ 'w: '+parent.width+' h: '+parent.height }" bgcolor="white"/>
+    </resizestate>
+	<view resource="_boundingBoxPointerUR" x="${ parent.width-this.width }" y="${ parent.height-this.height }" 
+		onmousedown="parent.rs.apply()" onmouseup="parent._removeResizestateFromThis()" >
+		<labelTooltip text="Resize this Object" />
+	</view>    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/drawViewNew.lzx b/WebContent/src/modules/conference/whiteboard/base/drawViewNew.lzx
new file mode 100644
index 0000000..dcfcf88
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/drawViewNew.lzx
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="drawViewInner" extends="drawview" x="0" y="0" >
+	
+</class>
+
+<!--
+    this is the Base Container for all Whiteboard Objects
+ -->
+<class name="drawViewNew" extends="drawview" cachebitmap="false" x="0" y="0" >
+	
+	<attribute name="typeOfObject" value="paint" type="string" />
+
+    <attribute name="initwidth" value="0" type="number" />
+    <attribute name="initheight" value="0" type="number" />
+    
+    <event name="prepareForDelete" />
+    
+    <handler name="oninit">
+        this.initwidth=this.width;
+        this.initheight=this.height;
+    </handler>
+    
+	<handler name="onwidth">
+        <![CDATA[
+	        if (this.isinited) {
+		        if(this.name.indexOf('line')>=0 
+		        	|| this.name.indexOf('uline')>=0 
+		        	|| this.name.indexOf('drawarrow')>=0
+		        	|| this.name.indexOf('paint')>=0) {
+		        	this.getDisplayObject()._xscale = (this.width/this.initwidth)*100;
+		        } else if (this.name.indexOf('rectangle')>=0) {
+	        		parent.redrawRectItemByScaling(this);
+	        	} else if  (this.name.indexOf('ellipse')>=0) {
+	        		parent.redrawEllipseItemByScaling(this);
+	        	}	        	
+	        }
+        ]]>
+    </handler>
+    
+    <handler name="onheight">
+    	<![CDATA[
+	        if (this.isinited) {
+		        if(this.name.indexOf('line')>=0 
+		        	|| this.name.indexOf('uline')>=0 
+		        	|| this.name.indexOf('drawarrow')>=0
+		        	|| this.name.indexOf('paint')>=0) {
+		        	this.getDisplayObject()._yscale = (this.height/this.initheight)*100;  
+		        } else if (this.name.indexOf('rectangle')>=0) {
+	        		parent.redrawRectItemByScaling(this);
+	        	} else if  (this.name.indexOf('ellipse')>=0) {
+	        		parent.redrawEllipseItemByScaling(this);
+	        	}	
+	        }  	
+        ]]>   
+    </handler>
+    <!-- 
+    <dragstate name="dragger" drag_axis="both"
+	    drag_min_x="0"
+	    drag_max_x="$once{parent.width - this.width}"
+	    drag_min_y="0"
+	    drag_max_y="$once{parent.height - this.height}">
+    </dragstate>
+     -->
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/imageForDrawView.lzx b/WebContent/src/modules/conference/whiteboard/base/imageForDrawView.lzx
new file mode 100644
index 0000000..9b6d544
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/imageForDrawView.lzx
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="imageForDrawView" extends="image" stretches="both">
+	
+	<event name="prepareForDelete" />
+	
+	<attribute name="downloadurl" value="" type="string" />
+		
+	<attribute name="alterModus" value="true" type="boolean" />
+	<attribute name="isLocalSync" value="false" type="boolean" />
+	
+	<attribute name="recorderModus" value="false" type="boolean" />
+	
+	<attribute name="baseurl" value="" type="string" />
+	<attribute name="fileName" value="" type="string" />
+	<attribute name="moduleName" value="" type="string" />
+	<attribute name="parentPath" value="" type="string" />
+	<attribute name="room" value="" type="string" />
+	<attribute name="domain" value="" type="string" />
+	
+	<attribute name="remotewidth" value="0" type="number" />
+	<attribute name="remoteheight" value="0" type="number" />
+	
+	<attribute name="typeOfObject" value="image" type="string" />
+	
+	<!-- holds the reference_id to the SyncProcess -->
+	<attribute name="uniqueObjectSyncName" value="" type="string" />
+	
+		<!--
+			if (this.width>this.refObj.width){
+				var height = this.height/(this.width/this.refObj.width)
+				this.setAttribute('width',this.refObj.width);
+				this.setAttribute('height',height);
+				this.setAttribute('x',0);
+			}
+			if (this.height>this.refObj.height){
+				var width = this.width/(this.height/this.refObj.height)
+				this.setAttribute('height',this.refObj.height);
+				this.setAttribute('width',width);
+				this.setAttribute('y',0);
+			}
+			if(this.y+this.height>this.refObj.height){
+				this.setAttribute('y',0);
+			}
+			if(this.x+this.width>this.refObj.width){
+				this.setAttribute('x',0);
+			}	            	
+         -->            
+	<attribute name="refObj" value="null" />
+	<handler name="onload">
+		<![CDATA[
+			//Debug.write("image loaded");
+			//this.refObj.parent._loading.setAttribute('visible',false);
+			
+			if (this.remotewidth != 0 && this.remoteheight != 0){
+				this.setAttribute('width',this.remotewidth);
+				this.setAttribute('height',this.remoteheight);
+			} else {
+				
+				if (this.width>this.refObj.width){
+					var height = this.height/(this.width/this.refObj.width)
+					this.setAttribute('width',this.refObj.width);
+					this.setAttribute('height',height);
+					this.setAttribute('x',0);
+				}
+				
+				if (this.height>this.refObj.height){
+					var width = this.width/(this.height/this.refObj.height)
+					this.setAttribute('height',this.refObj.height);
+					this.setAttribute('width',width);
+					this.setAttribute('y',0);
+				}
+				
+				if(this.y+this.height>this.refObj.height){
+					this.setAttribute('y',0);
+				}
+				
+				if(this.x+this.width>this.refObj.width){
+					this.setAttribute('x',0);
+				}
+				
+			}
+	
+			//only send syncCommand if alterModus is true (meaning that this is the Moderator)
+			//otherwise just send a notification to moderator that this image has been loaded
+			//if this is just a recordContent-modi (recordingsViewer) then there should be no syncing
+			if (this.recorderModus) {
+				this.refObj.storeTempValsAndLoadSyncListRecording(this);
+			} else if (this.alterModus){
+				this.refObj.storeTempValsAndLoadSyncList(this);
+			} else if (this.isLocalSync){
+				this.refObj.addImageToLayerHistoryToLocalLoaded.sendEvent(this);
+			} else {
+				this.refObj.sendLoadNotificationImage(this);
+			}
+			this.refObj.layers.push(this);			
+			
+			this.oninit.sendEvent();
+			
+			//This is not needed anymore as it sync's against the server sid, swagner, 11.06.2008
+			//this.refObj.parent.parent.isloadedImage.sendEvent(this);
+			
+			//send notification to wml-loader
+			//this is send later then in normal objects cause it needs to be send after the image
+			//has been loaded completely
+			//if (this.refObj.isWmlLoaderImage){
+			//	this.refObj.isWmlLoaderImage=false;
+            //    //Debug.write("1 onwmlLoaderSend.sendEvent( image )");
+			//	if (this.refObj.onwmlLoaderSend) this.refObj.onwmlLoaderSend.sendEvent('image');
+			//}
+		]]>
+	</handler>
+	<handler name="onerror" args="error">
+		<![CDATA[
+		//Debug.write("onerror "+error);
+			//only send syncCommand if alterModus is true (meaning that this is the Moderator)
+			//otherwise just send a notification to moderator that this iamge has been loaded
+			if (this.recorderModus) {
+				this.refObj.storeTempValsAndLoadSyncListRecording(this);
+			} else if (this.alterModus){
+				this.refObj.storeTempValsAndLoadSyncList(this);
+			} else if (this.isLocalSync){
+				this.refObj.addImageToLayerHistoryToLocalLoaded.sendEvent(this);
+			} else {
+				this.refObj.sendLoadNotificationImage(this);
+			}
+			this.refObj.layers.push(this);			
+			
+			this.oninit.sendEvent();
+			
+			//This is not needed anymore as it sync's against the server sid, swagner, 11.06.2008
+			this.refObj.parent.parent.isloadedImage.sendEvent(this);
+			
+			//send notification to wml-loader
+			//this is send later then in normal objects cause it needs to be send after the image
+			//has been loaded completely
+			//if (this.refObj.isWmlLoaderImage){
+			//	this.refObj.isWmlLoaderImage=false;
+			//	if (this.refObj.onwmlLoaderSend) this.refObj.onwmlLoaderSend.sendEvent('image');
+			//}
+		]]>
+	</handler>
+	<handler name="ontimeout" args="error">
+		<![CDATA[
+		//Debug.write("ontimeout "+error);
+			//only send syncCommand if alterModus is true (meaning that this is the Moderator)
+			//otherwise just send a notification to moderator that this iamge has been loaded
+			if (this.recorderModus) {
+				this.refObj.storeTempValsAndLoadSyncListRecording(this);
+			} else if (this.alterModus){
+				this.refObj.storeTempValsAndLoadSyncList(this);
+			} else if (this.isLocalSync){
+				this.refObj.addImageToLayerHistoryToLocalLoaded.sendEvent(this);
+			} else {
+				this.refObj.sendLoadNotificationImage(this);
+			}
+			this.refObj.layers.push(this);			
+			
+			this.oninit.sendEvent();
+			
+			//This is not needed anymore as it sync's against the server sid, swagner, 11.06.2008
+			this.refObj.parent.parent.isloadedImage.sendEvent(this);
+			
+			//send notification to wml-loader
+			//this is send later then in normal objects cause it needs to be send after the image
+			//has been loaded completely
+			//if (this.refObj.isWmlLoaderImage){
+			//	this.refObj.isWmlLoaderImage=false;
+			//	if (this.refObj.onwmlLoaderSend) this.refObj.onwmlLoaderSend.sendEvent('image');
+			//}
+		]]>
+	</handler>	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/imageForScreenViewer.lzx b/WebContent/src/modules/conference/whiteboard/base/imageForScreenViewer.lzx
new file mode 100644
index 0000000..7e6d6a3
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/imageForScreenViewer.lzx
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<class name="imageForScreenViewer" extends="image" stretches="both" x="0" y="0">
+	
+	<attribute name="downloadurl" value="" type="string" />
+		
+	<attribute name="alterModus" value="true" type="boolean" />
+	
+	<attribute name="baseurl" value="" type="string" />
+	<attribute name="fileName" value="" type="string" />
+	<attribute name="moduleName" value="" type="string" />
+	<attribute name="parentPath" value="" type="string" />
+	<attribute name="room" value="" type="string" />
+	<attribute name="domain" value="" type="string" />
+    
+    <attribute name="username" value="" type="string" />
+		
+	<attribute name="refObj" value="null" />
+	<handler name="onload">
+        this.refObj.layers.push(this);	
+        this.refObj.isScreenImageLoading=false;
+	    this.sendToBack();
+        
+        var height = this.height/(this.width/this.parent.width)
+        this.setAttribute('width',this.parent.width);
+        this.setAttribute('height',height);
+        this.setAttribute('x',0);
+            
+        this.refObj.toggleVisibleScreenSharing();
+	</handler>
+	<handler name="onerror" args="error">
+        this.refObj.toggleVisibleScreenSharing();
+	</handler>
+	<handler name="ontimeout" args="error">
+        this.refObj.toggleVisibleScreenSharing();
+	</handler>	
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/library.lzx b/WebContent/src/modules/conference/whiteboard/base/library.lzx
new file mode 100644
index 0000000..ab3ee19
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/library.lzx
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<include href="drawViewNew.lzx" />
+	<include href="baseDraw.lzx" />
+    
+    <!-- extends basedraw with drawing Tools -->
+    <include href="tools/" /> 
+    
+	<include href="swfResourceView.lzx" />
+	<include href="baseDrawObject.lzx" />
+	<include href="baseDrawLetter.lzx" />
+	<include href="imageForDrawView.lzx" />
+	<include href="imageForScreenViewer.lzx" />
+	<include href="baseDrawImage.lzx" />
+	<include href="baseDrawSave.lzx" />
+	<include href="baseDrawWords.lzx" />
+	<include href="whiteboardVideoPlayer.lzx" />
+	<include href="remoteWhiteboard.lzx" />
+	<include href="whiteBoardPointer.lzx" />
+    
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/remoteWhiteboard.lzx b/WebContent/src/modules/conference/whiteboard/base/remoteWhiteboard.lzx
new file mode 100644
index 0000000..a6e3811
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/remoteWhiteboard.lzx
@@ -0,0 +1,336 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="remoteWhiteboard" extends="baseDrawSave">
+	
+	<attribute name="loadingObjectListId" value="0" type="number" />
+	<attribute name="loadingObjectList" value="null" />
+	
+	<attribute name="loadObjectDelegate" value="null" />
+	
+	<method name="loadObjectList" args="whiteBoardObject">
+		<![CDATA[
+		
+			if ($debug) Debug.info("loadObjectList :1: ",whiteBoardObject,whiteBoardObject.fullFit,whiteBoardObject.zoom);
+		
+			if (parent.parent["zoombox"]) {
+			    parent.parent.zoombox.setWhiteboardValues(whiteBoardObject.fullFit,whiteBoardObject.zoom);
+			}
+			
+			
+			this.setAttribute("x",whiteBoardObject.x);
+			this.setAttribute("y",whiteBoardObject.y);	
+			this.last_x = this.x;
+			this.last_y = this.y;
+			
+			/*
+			if (whiteBoardObject.brainStorming != null) {
+                this.loadBrainStormingObject(whiteBoardObject.brainStorming);
+            }
+            */
+			
+			this.fullFit = whiteBoardObject.fullFit;
+			
+			this.getDisplayObject()._xscale = whiteBoardObject.zoom;
+    		this.getDisplayObject()._yscale = whiteBoardObject.zoom;
+    		
+    		this.onupdateScale.sendEvent(null);
+			
+			this.loadingObjectList = new Array();
+			
+			for (var eg in whiteBoardObject.roomItems) {
+				this.loadingObjectList.push(whiteBoardObject.roomItems[eg]);
+			}
+			
+			//return;
+			//if ($debug) Debug.write("loadObjectList :2: ",this.loadingObjectList);
+			
+			function sortItemByIndex(a,b){
+                var a1 = a[a.length-8];
+                var b1 = b[b.length-8];
+                //_root.//Debug.write("natcompare: ",a1,b1,natcompare(a1,b1));
+                if(a1==b1){
+                    return 0;
+                } else if(a1>b1){
+                    return 1;
+                } else {
+                    return -1;
+                }
+            }
+            
+            //for (var i=0;i<this.loadingObjectList.length;i++) {
+            //	if ($debug) Debug.write(" 1 ",i,this.loadingObjectList[i][0],this.loadingObjectList[i][this.loadingObjectList[i].length-8]);
+            //}
+            
+            this.loadingObjectList.sort(sortItemByIndex);
+			
+            //for (var i=0;i<this.loadingObjectList.length;i++) {
+            //    if ($debug) Debug.write(" 2 ",i,this.loadingObjectList[i][0],this.loadingObjectList[i][this.loadingObjectList[i].length-8]);
+            //}
+            
+			this.loadingObjectListId = 0;
+			//this.loadObjectDelegate = new LzDelegate( this, "loadRemoteObject" );
+			//if (this.loadingObjectList.length != 0){
+			//	lz.Timer.addTimer( this.loadObjectDelegate, 250 );
+			//}
+			//for (var i=0;i<this.loadingObjectList.length;i++){
+			//	if ($debug) Debug.write("i this.loadingObjectList[i] ",i,this.loadingObjectList[i]);
+			//}
+			
+			if ($debug) Debug.write("Number of Whiteboard Objects ",this.loadingObjectList.length);
+			
+			if (this.loadingObjectList != null && this.loadingObjectList.length != 0){
+				this.startNewSyncprocess.doCall();
+			}
+		]]>
+	</method>
+	
+	<method name="loadSavedObjectList" args="objList">
+        <![CDATA[
+            
+            var tempArray = new Array();            
+            tempArray[0] = "loadSavedWhiteboard";
+            ///tempArray[1] = itemObj;
+            tempArray[1] = objList;
+            hib.sendMessageWithClient.sendMessage("whiteboard", tempArray);
+        
+            this.loadingObjectList = objList;
+            
+            if ($debug) Debug.write("loadObjectList :: ",this.loadingObjectList);
+            
+            function sortItemByIndex(a,b){
+                var a1 = a[a.length-8];
+                var b1 = b[b.length-8];
+                //_root.//Debug.write("natcompare: ",a1,b1,natcompare(a1,b1));
+                if(a1==b1){
+                    return 0;
+                } else if(a1>b1){
+                    return 1;
+                } else {
+                    return -1;
+                }
+            }
+            
+            for (var i=0;i<this.loadingObjectList.length;i++) {
+                if ($debug) Debug.write(" 1 ",i,this.loadingObjectList[i][0],this.loadingObjectList[i][this.loadingObjectList[i].length-8]);
+            }
+            
+            this.loadingObjectList.sort(sortItemByIndex);
+            
+            for (var i=0;i<this.loadingObjectList.length;i++) {
+                if ($debug) Debug.write(" 2 ",i,this.loadingObjectList[i][0],this.loadingObjectList[i][this.loadingObjectList[i].length-8]);
+            }
+            
+            this.loadingObjectListId = 0;
+            //this.loadObjectDelegate = new LzDelegate( this, "loadRemoteObject" );
+            //if (this.loadingObjectList.length != 0){
+            //  lz.Timer.addTimer( this.loadObjectDelegate, 250 );
+            //}
+            //for (var i=0;i<this.loadingObjectList.length;i++){
+            //  if ($debug) Debug.write("i this.loadingObjectList[i] ",i,this.loadingObjectList[i]);
+            //}
+            if (this.loadingObjectList != null && this.loadingObjectList.length != 0){
+                this.startSavedSyncprocess.doCall();
+            }
+            
+        ]]>
+    </method>
+    
+    <method name="prepareLoadWMLFile" args="itemObj">
+        if ($debug) Debug.write("loadWMLFile: ",itemObj);
+        
+        this.loadWMLFile.setAttribute('fileExplorerItemId', itemObj.fileExplorerItemId);
+                  
+        if ($debug) Debug.write("prepareLoadWMLFile 1: ",parent.parent.whiteboardId);
+        
+        this.loadWMLFile.doCall();
+    </method>
+    
+    
+    <netRemoteCallHib name="loadWMLFile" funcname="fileservice.loadWmlObject"
+        remotecontext="$once{ canvas.thishib }" >
+        <attribute name="fileExplorerItemId" type="number" value="0"/>
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return hib.currentroomid;</method></netparam> 
+        <netparam><method name="getValue">return parent.fileExplorerItemId;</method></netparam> 
+        <netparam><method name="getValue">return parent.parent.parent.parent.whiteboardId;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("loadWMLFile: ",value);
+                //canvas._drawarea.clearAll();
+                //parent.loadSavedObjectList(value);
+                
+            ]]>
+        </handler>   
+    </netRemoteCallHib> 
+    
+    <method name="loadWmlToWhiteboardById" args="roomItems">
+    	this.clearRemote();
+    	this.loadSavedObjectList(roomItems);
+    </method>
+	
+    <netRemoteCallHib name="startNewSyncprocess" funcname="whiteboardservice.startNewSyncprocess"
+        remotecontext="$once{ canvas.thishib }" >
+        <handler name="ondata" args="value">
+            <![CDATA[
+            	//The onResult-Handler will be called be the rtmpconnection
+            	if ($debug) Debug.write("startNewSyncprocess: ",value);
+            	if (value.publicSID == canvas.publicSID){
+            		if ($debug) Debug.write("currentLoadingItem IS mine");
+                    //TODO: Check usage of currentLoadingItem
+            		//if (value.currentLoadingItem){
+            			parent.startInitialLoadinProcess();
+            		//}
+            	}
+            ]]>
+        </handler>   
+    </netRemoteCallHib> 
+    
+     <netRemoteCallHib name="startSavedSyncprocess" funcname="whiteboardservice.startNewSyncprocess"
+        remotecontext="$once{ canvas.thishib }" >
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("startNewSyncprocess: ",value);
+                //if (value.publicSID == canvas.publicSID){
+                    if ($debug) Debug.write("currentLoadingItem IS mine");
+                    //TODO: Check usage of currentLoadingItem
+                    //if (value.currentLoadingItem){
+                        parent.startInitialLoadinProcess();
+                    //}
+                //}
+            ]]>
+        </handler>   
+    </netRemoteCallHib> 
+    
+    <netRemoteCallHib name="sendCompletedSyncEvent" funcname="whiteboardservice.sendCompletedSyncEvent"
+        remotecontext="$once{ canvas.thishib }" >
+        <handler name="ondata" args="value">
+            <![CDATA[
+            	//The onResult-Handler will be called be the rtmpconnection
+            	if ($debug) Debug.write("sendCompletedSyncEvent: ",value);
+            ]]>
+        </handler>   
+    </netRemoteCallHib>     	
+    
+    <method name="startInitialLoadinProcess">
+		this.loadObjectDelegate = new LzDelegate( this, "loadRemoteObject" );
+		if (this.loadingObjectList.length != 0){
+			lz.Timer.addTimer( this.loadObjectDelegate, 250 );
+		}
+    </method>
+	
+	<method name="loadRemoteObject">
+		<![CDATA[
+			this.sendRemoteWatchObject(this.loadingObjectList[this.loadingObjectListId]);
+			this.loadingObjectListId++;
+			if (this.loadingObjectListId < this.loadingObjectList.length){
+				lz.Timer.addTimer( this.loadObjectDelegate, 250 );
+			} else {
+				this.sendCompletedSyncEvent.doCall();
+				this.updateAllObjectsToSlideNumber();
+				this.setModusWithUpdate("hand");
+				this.onupdateScale.sendEvent(null);
+			}
+		]]>
+	</method>
+	
+	<method name="sendRemoteWatchObject" args="actionObject">
+		if ($debug) Debug.write("[sendRemoteWatchObject]: ",actionObject);
+		<![CDATA[
+			
+			//Redraw the View on the paintarea
+			if (actionObject[0]=='paint'){
+				this.paintactionHistory(actionObject,this);
+			} else if (actionObject[0]=='line'){
+				this.lineactionHistory(actionObject,this);
+			} else if (actionObject[0]=='uline'){
+				this.ulineactionHistory(actionObject,this);
+			} else if (actionObject[0]=='drawarrow'){
+				this.drawarrowlineactionHistory(actionObject,this);
+			} else if(actionObject[0]=='letter'){
+				this.drawactionHistory(actionObject,this);
+			} else if(actionObject[0]=='image'){
+				this.addImageToLayerHistoryToLocal(actionObject,this);
+			} else if(actionObject[0]=='swf'){
+				this.addSWFToLayerHistory(actionObject,this,true);
+			} else if(actionObject[0]=='rectangle'){
+				this.drawrectangleToHistory(actionObject,this);
+			} else if(actionObject[0]=='ellipse'){
+				this.drawellipseToHistory(actionObject,this);
+			} else if(actionObject[0]=='flv'){
+                this.drawFlvToHistory(actionObject,this);
+            } else if(actionObject[0]=='mindMapCenter'){
+                this.drawMindMapCenterToHistory(actionObject,this);
+            } else if(actionObject[0]=='mindMapNode'){
+                this.drawMindMapNodeToHistory(actionObject,this);
+            } else if(actionObject[0]=='clipart'){
+                this.drawClipArtToHistory(actionObject,this);
+            }
+			
+			if ($debug) Debug.write("[store actionObject] ",actionObject);
+			
+			this.baseactionobjectList.push(actionObject);
+				
+		]]>
+	</method>	
+	
+	<!-- methods for syncing events -->
+    <netRemoteCallHib name="startNewObjectSyncProcess" funcname="whiteboardservice.startNewObjectSyncProcess"
+        remotecontext="$once{ canvas.thishib }" >
+    	<attribute name="isStarting" value="false" type="boolean" />
+    	<attribute name="uniqueObjectSyncName" value="" type="string" />
+    	<netparam><method name="getValue">return parent.uniqueObjectSyncName;</method></netparam>
+        <netparam><method name="getValue">return parent.isStarting;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+            	//The onResult-Handler will be called be the rtmpconnection
+            	if ($debug) Debug.write("startNewImagesSyncprocess: ",value);
+            ]]>
+        </handler>   
+    </netRemoteCallHib> 
+    
+    <netRemoteCallHib name="sendCompletedObjectSyncEvent" funcname="whiteboardservice.sendCompletedObjectSyncEvent"
+        remotecontext="$once{ canvas.thishib }" >
+    	<attribute name="uniqueObjectSyncName" value="" type="string" />
+    	<netparam><method name="getValue">return parent.uniqueObjectSyncName;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+            	//The onResult-Handler will be called be the rtmpconnection
+            	if ($debug) Debug.write("sendCompletedImagesSyncEvent: ",value);
+            ]]>
+        </handler>   
+    </netRemoteCallHib>   
+    
+    
+    <method name="startStreaming" args="messageObj">
+        new lz.incomingScreenSharing(canvas,{messageObj:messageObj});
+    </method>
+    
+    <method name="stopStreaming" args="messageObj">
+        
+    </method>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/swfResourceView.lzx b/WebContent/src/modules/conference/whiteboard/base/swfResourceView.lzx
new file mode 100644
index 0000000..ed48e33
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/swfResourceView.lzx
@@ -0,0 +1,305 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<class name="swfResourceView" extends="view" >
+	
+	<event name="prepareForDelete" />
+    
+    <attribute name="refObj" value="null" />
+	<attribute name="alterModus" value="true" type="boolean" />
+    
+    <attribute name="standardFileName" value="" type="string"/>
+	
+	<attribute name="recorderModus" value="false" type="boolean" />
+    
+    <attribute name="fullFit" value="true" type="boolean" />
+	
+	<attribute name="baseurl" value="" type="string" />
+	<attribute name="fileName" value="" type="string" />
+	<attribute name="moduleName" value="" type="string" />
+	<attribute name="parentPath" value="" type="string" />
+	<attribute name="room" value="" type="string" />
+	<attribute name="domain" value="" type="string" />    
+    <attribute name="slideNumber" value="1" type="number" /> 
+    
+    <attribute name="currentzoomFactor" value="100" type="number" />
+    <attribute name="zoomlevel" value="20" type="number" />
+    <attribute name="initwidth" value="0" type="number" />
+    <attribute name="initheight" value="0" type="number" />
+    
+    <!-- for wml-loaded SWF's
+        attribute only set on init
+     -->
+    <attribute name="innerwidth" value="0" type="number" />
+    <attribute name="innerheight" value="0" type="number" />
+    <attribute name="innerx" value="0" type="number" />
+    <attribute name="innery" value="0" type="number" />
+    <attribute name="currentzoom" value="0" type="number" />
+    
+    <attribute name="typeOfObject" value="swf" type="string" />
+    
+	<!-- holds the reference_id to the SyncProcess -->
+	<attribute name="uniqueObjectSyncName" value="" type="string" />    
+    
+    <view name="_swfView" play="false">
+    	
+    	<!--
+    	<attribute name="timeisInited" value="false" type="boolean" />
+        <attribute name="sendObjectDel" value="null" />
+         -->
+        
+        <!-- Do not send update events in case 
+            this is sync event broadcasted by another user -->
+        <attribute name="doSendChangeValue" value="false" type="boolean" />
+        
+        <handler name="onframe" args="i">
+            ////Debug.write("onframe",i);
+        </handler>
+        
+        <handler name="onplay" args="i">
+            ////Debug.write("onplay",i);
+        </handler>
+        
+        <handler name="onstop" args="i">
+            ////Debug.write("onstop",i);
+        </handler>
+        
+        <!--
+        <handler name="oninit">
+            this.sendObjectDel = new LzDelegate( this, "sendObject" );
+        </handler>
+        
+        <handler name="onx" args="x">
+        	if (!this.doSendChangeValue) {
+        		return;
+        	}
+        	
+            if (!this.timeisInited){
+                this.timeisInited=true;
+                lz.Timer.addTimer( this.sendObjectDel, 250 );
+            } else {
+                lz.Timer.resetTimer( this.sendObjectDel, 250 );
+            }
+        </handler>
+        <handler name="ony" args="y">
+        	if (!this.doSendChangeValue) {
+                return;
+            }
+            
+            if (!this.timeisInited){
+                this.timeisInited=true;
+                lz.Timer.addTimer( this.sendObjectDel, 250 );
+            } else {
+                lz.Timer.resetTimer( this.sendObjectDel, 250 );
+            }
+        </handler>        
+        
+        <method name="sendObject" args="itemRef">
+            if ($debug) Debug.info("sendObject :: sendCurrentSWFObject");
+            this.parent.parent.sendCurrentSWFObject(this.parent);
+            this.timeisInited=false;
+        </method>
+         -->
+        
+        <method name="initialLoadFullFit">
+            <![CDATA[
+            
+            	if ($debug) Debug.write(" -- fullFit -- ",parent.parent.fullFit);
+            
+                if (parent.parent.fullFit) {
+                    
+                    if ($debug) Debug.write(" -- fullFit -2- ",this.width,this.height);
+                    if ($debug) Debug.write(" -- fullFit -3- ",parent.parent.width,parent.parent.height);
+                    
+                    //Scale to container width/height
+                    var xScale = (parent.parent.parent.width-16)/this.width;
+                    var yScale = (parent.parent.parent.height-16)/this.height;
+                    
+                    if ($debug) Debug.write(" -- fullFit -4- ",xScale,yScale);
+                    
+                    if (xScale < yScale) {
+                    	parent.parent.setCurrentScaleByFullFit(xScale);
+                    } else {
+                    	parent.parent.setCurrentScaleByFullFit(yScale);
+                    }
+                    
+                }
+            
+            ]]>
+        </method>
+        
+        <handler name="onload">
+            <![CDATA[
+                if ($debug) Debug.info("onload: ",this.width,this,height);
+                
+                ////Debug.write("onload: ",this.stop);
+                this.stop();
+                this.setAttribute('play',false);             
+                
+                this.parent.initwidth = this.width;
+                this.parent.initheight = this.height;
+                
+                this.setAttribute('frame',parent.slideNumber);
+                
+                //only send syncCommand if alterModus is true (meaning that this is the Moderator)
+                //otherwise just send a notification to moderator that this iamge has been loaded
+                if (this.parent.recorderModus) {
+					this.parent.refObj.storeTempValsAndLoadSyncListSWFRecording(this.parent);
+				} else if (this.parent.alterModus){
+                    
+                    //this code is invoked when the Moderator loads the Document
+                    
+                    this.parent.refObj.storeTempValsAndLoadSyncListSWF(this.parent);
+                    if ($debug) Debug.write("==> doShowObjectBounds MOD ");
+                    
+                    this.initialLoadFullFit();
+                    
+                    this.parent.refObj.doShowObjectBounds(this.parent.name);
+                    this.parent.refObj.doUpdateDocumentToolBar();
+                } else {
+                    
+                    //this code is invoked when any participants syncronizes and loads the document
+                    //because a Moderator has loaded it
+                    
+                    if ($debug) Debug.write("==> doShowObjectBounds Participant ");
+                    
+                    this.initialLoadFullFit();
+                    
+                    this.parent.refObj.sendLoadNotificationSWF(this.parent);
+                    
+                    this.parent.refObj.doUpdateDocumentToolBarByParticipant(this.parent.name);
+                    
+                }
+                
+                if ($debug) Debug.write("swf loaded -2- ",this.parent.refObj.isWmlLoaderImage);
+                if (this.parent.refObj.isWmlLoaderImage){
+                    if ($debug) Debug.write("swf loaded ",this.parent.innerwidth,this.parent.innerheight);
+                	if (this.parent.innerwidth != 0 && this.parent.innerheight != 0) {
+	                    this.setAttribute('width',this.parent.innerwidth);
+	                    this.setAttribute('height',this.parent.innerheight);
+	                    this.setAttribute('x',this.parent.innerx);
+	                    this.setAttribute('y',this.parent.innery);
+                	}
+                    this.parent.currentzoomFactor = this.parent.currentzoom;
+                }
+
+                this.parent.refObj.layers.push(this.parent);			
+                
+                this.doSendChangeValue = true;
+                
+                this.oninit.sendEvent();
+                //this.parent.refObj.parent.parent.isloadedImage.sendEvent(this);
+                
+                //send notification to wml-loader
+                //this is send later then in normal objects cause it needs to be send after the image
+                //has been loaded completely
+                //if (this.parent.refObj.isWmlLoaderImage){
+                //    this.parent.refObj.isWmlLoaderImage=false;
+                //    if (this.parent.refObj.onwmlLoaderSend) this.parent.refObj.onwmlLoaderSend.sendEvent('swf');
+                //}
+            ]]>
+        </handler>
+        <handler name="onerror" args="error">
+            <![CDATA[
+            ////Debug.write("onerror "+error);
+            
+            
+                new lz.errorPopup(canvas,{error:"onerror SWF!! "+error});
+                
+                this.parent.initwidth = this.width;
+                this.parent.initheight = this.height;
+                                
+                //only send syncCommand if alterModus is true (meaning that this is the Moderator)
+                //otherwise just send a notification to moderator that this iamge has been loaded
+                if (this.parent.recorderModus) {
+					this.parent.refObj.storeTempValsAndLoadSyncListSWFRecording(this.parent);
+				} else if (this.parent.alterModus){
+                    this.parent.refObj.storeTempValsAndLoadSyncListSWF(this.parent);
+                } else {
+                    this.parent.refObj.sendLoadNotificationSWF(this.parent);
+                }
+                this.parent.refObj.layers.push(this.parent);			
+                
+                this.oninit.sendEvent();
+                //this.parent.refObj.parent.parent.isloadedImage.sendEvent(this.parent);
+                
+                //send notification to wml-loader
+                //this is send later then in normal objects cause it needs to be send after the image
+                //has been loaded completely
+                //if (this.parent.refObj.isWmlLoaderImage){
+                //    this.parent.refObj.isWmlLoaderImage=false;
+                //    if (this.parent.refObj.onwmlLoaderSend) this.parent.refObj.onwmlLoaderSend.sendEvent('swf');
+                //}
+            ]]>
+        </handler>
+        <handler name="ontimeout" args="error">
+            <![CDATA[
+            ////Debug.write("ontimeout "+error);
+            
+                new lz.errorPopup(canvas,{error:"ontimeout SWF!! "+error});
+                
+                this.parent.initwidth = this.width;
+                this.parent.initheight = this.height;
+                                
+                //only send syncCommand if alterModus is true (meaning that this is the Moderator)
+                //otherwise just send a notification to moderator that this iamge has been loaded
+                if (this.parent.recorderModus) {
+					this.parent.refObj.storeTempValsAndLoadSyncListSWFRecording(this.parent);
+				} else if (this.parent.alterModus){
+                    this.parent.refObj.storeTempValsAndLoadSyncListSWF(this.parent);
+                } else {
+                    this.parent.refObj.sendLoadNotificationSWF(this.parent);
+                }
+                this.parent.refObj.layers.push(this.parent);			
+                
+                this.oninit.sendEvent();
+                //this.parent.refObj.parent.parent.isloadedImage.sendEvent(this.parent);
+                
+                //send notification to wml-loader
+                //this is send later then in normal objects cause it needs to be send after the image
+                //has been loaded completely
+                //if (this.parent.refObj.isWmlLoaderImage){
+                //    this.parent.refObj.isWmlLoaderImage=false;
+                //    if (this.parent.refObj.onwmlLoaderSend) this.parent.refObj.onwmlLoaderSend.sendEvent('swf');
+                //}
+            ]]>
+        </handler> 
+        
+        <handler name="onwidth" args="w">
+            if ($debug) Debug.write("onwidth ",w);
+        </handler>
+        
+        <handler name="onheight" args="h">
+            if ($debug) Debug.write("onheight ",h);
+        </handler>
+        
+    </view>    
+    
+    <!--
+    <om_vscrollbar name="_scrollstv"
+                visible="${ ((canvas.ismoderator) ? true : ((canvas.isAllowedToDraw) ? true : false )) }" /> 
+    <om_hscrollbar name="_scrollsth"
+                visible="${ ((canvas.ismoderator) ? true : ((canvas.isAllowedToDraw) ? true : false )) }" />
+     -->   
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawArrow.lzx b/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawArrow.lzx
new file mode 100644
index 0000000..a904886
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawArrow.lzx
@@ -0,0 +1,367 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<class name="baseDrawArrow" extends="baseDrawULine" >
+    
+    <!-- for drawing drawarrow -->
+    <attribute name="currentdrawarrowlinestroke" value="0x000000" />
+    <attribute name="currentdrawarrowlinestrokeDis" value="1" type="number" />
+    <attribute name="currentdrawarrowlinestrokeFill" value="0xFF6600" />
+    <attribute name="currentdrawarrowlinestrokeFillDis" value="1" type="number" />
+    
+    <attribute name="currentdrawarrowlinelineWidth" value="4" type="number" />   
+    <attribute name="currentdrawarrowOpacity" value="1" type="number" />
+      
+    <!-- ###########################
+    drawarrow
+     -->
+     
+    
+    <method name="startDrawarrowline" args="oid_name">
+        <![CDATA[
+	        if (oid_name == null) {
+	            oid_name = 'drawarrow'+this.getCounter();
+	        }
+	        
+	        this.currentlayer = new lz.drawViewNew(this,{
+		            name:oid_name,width:this.width,height:this.height,
+		            opacity:this.currentdrawarrowOpacity});
+            
+            var pArrowStart = new flash.geom.Point(this.startx,this.starty);
+            var pArrowEnd = new flash.geom.Point(this.endx,this.endy);
+            
+            //if ($debug) Debug.write("start,end,line",pArrowStart,pArrowEnd,this.currentdrawarrowlinelineWidth);
+            this.drawArrow(this.currentlayer,pArrowStart,pArrowEnd,this.currentdrawarrowlinelineWidth,
+                    this.currentdrawarrowlinestrokeDis,this.currentdrawarrowlinestroke,
+                    this.currentdrawarrowlinestrokeFill,this.currentdrawarrowlinestrokeFillDis);
+        ]]>
+    </method> 
+    
+    <method name="endDrawarrowline">
+        <![CDATA[
+            //if ($debug) Debug.write("endDrawarrowline",this.startx,this.starty,this.endx,this.endy);
+	        var tempName = this.currentlayer.name;
+	        //Debug.write("tempName: ",tempName);
+	        this.currentlayer.destroy();
+	        
+	        //GetBounds of that Object
+	        var minx = this.width+2000;
+	        var miny = this.height+2000;
+	        var maxx = -2;
+	        var maxy = -2;
+	
+	        if (this.startx<minx) minx=this.startx;
+	        if (this.endx<minx) minx=this.endx;
+	        
+	        if (this.startx>maxx) maxx=this.startx;
+	        if (this.endx>maxx) maxx=this.endx;
+	        
+	        if (this.starty<miny) miny=this.starty;
+	        if (this.endy<miny) miny=this.endy;
+	        
+	        if (this.starty>maxy) maxy=this.starty;
+	        if (this.endy>maxy) maxy=this.endy;
+	        
+	        var width = maxx-minx;
+	        var height = maxy-miny;
+	        
+	        //if ($debug) Debug.write("minx,miny,width,height: ",minx,miny,width,height);
+            //if ($debug) Debug.write("endDrawarrowline",this.startx,this.starty,this.endx,this.endy);
+            	                
+	        
+            if (minx == this.startx) {
+                var x1 = 0;
+                var x2 = width;
+            } else {
+                var x1 = width;
+                var x2 = 0;
+            }
+            if (miny == this.starty) {
+                var y1 = 0;
+                var y2 = height;
+            } else {
+                var y1 = height;
+                var y2 = 0;
+            }
+            
+            if(this.isSnapToGrid){        	
+	        	minx = Math.round(minx/this.gridWidth)*this.gridWidth;
+			    miny = Math.round(miny/this.gridWidth)*this.gridWidth;
+			    
+			    //x1 = Math.round(x1/this.gridWidth)*this.gridWidth;
+			    //y1 = Math.round(y1/this.gridWidth)*this.gridWidth;
+			    
+			    //x2 = Math.round(x2/this.gridWidth)*this.gridWidth;
+			    //y2 = Math.round(y2/this.gridWidth)*this.gridWidth;
+	        		        	
+        	}
+			                        
+	        this.currentlayer = new lz.drawViewNew(this,{
+	            name:tempName,x:minx,y:miny,width:width,height:height,
+	            opacity:this.currentdrawarrowOpacity});
+	            
+	        var pArrowStart = new flash.geom.Point(x1,y1);
+            var pArrowEnd = new flash.geom.Point(x2,y2);
+            
+            //if ($debug) Debug.write("start,end,line",pArrowStart,pArrowEnd,this.currentdrawarrowlinelineWidth);
+            this.drawArrow(this.currentlayer,pArrowStart,pArrowEnd,this.currentdrawarrowlinelineWidth,
+                    this.currentdrawarrowlinestrokeDis,this.currentdrawarrowlinestroke,
+                    this.currentdrawarrowlinestrokeFill,this.currentdrawarrowlinestrokeFillDis);
+	            
+	        //Add Layer to global Layer     
+	        this.layers.push(this.currentlayer);
+	        this.drawarrowlineregisterFinal(this.currentlayer.name,
+                this.currentdrawarrowlinestroke,this.currentdrawarrowlinelineWidth,
+                this.currentdrawarrowlinestrokeFill,this.currentdrawarrowlinestrokeDis,
+                this.currentdrawarrowlinestrokeFillDis,this.currentdrawarrowOpacity,
+                minx,miny,width,height,
+                x1,y1,x2,y2,true,this.getSWFDocumentStatus(),
+                this.getZIndex());
+	        //Debug.write("t: ",t);
+        ]]>
+    </method> 
+       
+    <method name="drawarrowlineregisterFinal" args="newName,stroke,line,fill,strokeDis,fillDis,opacity,x,y,width,height,x1,y1,x2,y2,doCall,swfObj,zIndex">
+        var actionObject = new Array();
+        actionObject[0] = 'drawarrow';
+        actionObject[1] = stroke;
+        actionObject[2] = line;
+        actionObject[3] = fill;
+        actionObject[4] = strokeDis;
+        actionObject[5] = fillDis;
+        actionObject[6] = opacity;
+        actionObject[7] = x1;  
+        actionObject[8] = y1;  
+        actionObject[9] = x2;    
+        actionObject[10] = y2;
+        actionObject[11] = zIndex;//-8
+        actionObject[12] = swfObj;//-7
+        actionObject[13] = this.counter;//-6 
+        actionObject[14] = x;//-5
+        actionObject[15] = y;//-4
+        actionObject[16] = width;//-3
+        actionObject[17] = height;//-2
+        actionObject[18] = newName;//-1
+        this.baseactionobjectList.push(actionObject);       
+        if (doCall) this.onsharedMessage('draw',actionObject);
+    </method>  
+    
+    <method name="drawarrowlineactionHistory" args="lastActionObject,parentView">
+        <![CDATA[
+            //Debug.write("## lineactionHistory",parentView," 2 ## NEW x,y ",lastActionObject[lastActionObject.length-5],lastActionObject[lastActionObject.length-4]," width,height: ",lastActionObject[lastActionObject.length-3],lastActionObject[lastActionObject.length-2]);
+            
+            var tmpCurrentlayer = new lz.drawViewNew(parentView,{
+                name:lastActionObject[lastActionObject.length-1],
+                x:lastActionObject[lastActionObject.length-5],
+                y:lastActionObject[lastActionObject.length-4],
+                width:lastActionObject[lastActionObject.length-3],
+                height:lastActionObject[lastActionObject.length-2],
+                opacity:lastActionObject[6]});
+            
+            var pArrowStart = new flash.geom.Point(lastActionObject[7],lastActionObject[8]);
+            var pArrowEnd = new flash.geom.Point(lastActionObject[9],lastActionObject[10]);
+            
+            //if ($debug) Debug.write("start,end,line",pArrowStart,pArrowEnd,this.currentdrawarrowlinelineWidth);
+            this.drawArrow(tmpCurrentlayer,pArrowStart,pArrowEnd,lastActionObject[2],
+                    lastActionObject[4],lastActionObject[1],
+                    lastActionObject[3],lastActionObject[5]);
+                
+            //Add Layer to global Layer     
+            this.layers.push(tmpCurrentlayer);
+
+            this.doSWFDocumentStatus(tmpCurrentlayer,lastActionObject[lastActionObject.length-7]);
+        ]]>
+    </method>
+    
+    <method name="drawArrow" args="graphics,start,end,thickness,strokeDis,stroke,fill,fillDis">
+        <![CDATA[
+    //(graphics:Graphics,
+    //            start:Point,end:Point,
+    //            style:Object=null):void {
+            
+            if (start.equals(end)) return;
+            
+            
+            var arrowStyle = {'shaftControlPosition':0.5,
+                    'shaftControlSize':0.5,
+                    'headLength':thickness*5, //Pixel Length of arrow head
+                    'headWidth':thickness*5,//Relative width of arrow head
+                    'edgeControlPosition':0.5,
+                    'edgeControlSize':0.5,
+                    'shaftPosition':0,
+                    'shaftThickness':thickness
+                    };
+            
+            var fullVect:Point = end.subtract(start);
+            var halfWidth:Number = (arrowStyle.headWidth != -1) ? arrowStyle.headWidth/2 : arrowStyle.headLength/2; 
+            
+            //Figure out the line start/end points
+            var startNorm = new flash.geom.Point(fullVect.y,-fullVect.x);
+            startNorm.normalize(arrowStyle.shaftThickness/2);
+            var start1 = start.add(startNorm);
+            var start2 = start.subtract(startNorm);
+            var end1 = end.add(startNorm);
+            var end2 = end.subtract(startNorm);
+            
+            //if ($debug) Debug.write("startNorm: ",startNorm.toString());
+            //if ($debug) Debug.write("start1: ",start1.toString());
+            //if ($debug) Debug.write("start2: ",start2.toString());
+            //if ($debug) Debug.write("end1: ",end1.toString());
+            //if ($debug) Debug.write("end2: ",end2.toString());
+            
+            //figure out where the arrow head starts
+            var headPnt = fullVect.clone();
+            //if ($debug) Debug.write("headPnt 1: ",headPnt.toString());
+            //if ($debug) Debug.write("headPnt.length 1: ",headPnt.length);
+            //if ($debug) Debug.write("arrowStyle.headLength 1: ",arrowStyle.headLength);
+            headPnt.normalize(headPnt.length-arrowStyle.headLength);
+            //if ($debug) Debug.write("headPnt 2: ",headPnt.toString());
+            headPnt = headPnt.add(start);
+            //if ($debug) Debug.write("headPnt 3: ",headPnt.toString());
+            
+            //calculate the arrowhead corners
+            var headPntNorm = startNorm.clone();
+            //if ($debug) Debug.write("headPntNorm ^^: ",headPntNorm.toString());
+            //if ($debug) Debug.write("halfWidth ^^: ",halfWidth);
+            headPntNorm.normalize(halfWidth);
+            //if ($debug) Debug.write("headPntNorm: ",headPntNorm.toString());
+            var edge1 = headPnt.add(headPntNorm);
+            var edge2 = headPnt.subtract(headPntNorm);
+            
+            //if ($debug) Debug.write("edge1: ",edge1.toString());
+            //if ($debug) Debug.write("edge2: ",edge2.toString());
+            
+            //Figure out where the arrow connects the the shaft, then calc the intersections
+            var shaftCenter = flash.geom.Point.interpolate(end,headPnt,arrowStyle.shaftPosition);
+            //if ($debug) Debug.write("end: ",end.toString());
+            //if ($debug) Debug.write("headPnt",headPnt.toString());
+            //if ($debug) Debug.write("arrowStyle.shaftPosition: ",arrowStyle.shaftPosition);
+            //if ($debug) Debug.write("shaftCenter",shaftCenter.toString());
+            var inter1 = this.getLineIntersection(start1,end1,shaftCenter,edge1);
+            var inter2 = this.getLineIntersection(start2,end2,shaftCenter,edge2);
+            
+            //if ($debug) Debug.write("inter1: ",inter1.toString());
+            //if ($debug) Debug.write("inter2: ",inter2.toString());
+            
+            //Figure out the control points
+            var edgeCenter = flash.geom.Point.interpolate(end,headPnt,arrowStyle.edgeControlPosition);
+            var edgeNorm = startNorm.clone();
+            edgeNorm.normalize(halfWidth*arrowStyle.edgeControlSize);
+            //if ($debug) Debug.write("halfWidth*arrowStyle.edgeControlSize: "+(halfWidth*arrowStyle.edgeControlSize));
+            //if ($debug) Debug.write("edgeNorm: "+edgeNorm.toString());
+            var edgeCntrl1 = edgeCenter.add(edgeNorm);
+            var edgeCntrl2 = edgeCenter.subtract(edgeNorm);
+
+            //if ($debug) Debug.write("edgeCntrl1: ",edgeCntrl1.toString());
+            //if ($debug) Debug.write("edgeCntrl2: ",edgeCntrl2.toString());
+
+            //if ($debug) Debug.write("moveTo: ",start1.x,start1.y);
+            //if ($debug) Debug.write("lineTo",inter1.x,inter1.y);
+            //if ($debug) Debug.write("lineTo",edge1.x,edge1.y);
+            //if ($debug) Debug.write("quadraticCurveTo",edgeCntrl1.x,edgeCntrl1.y,end.x,end.y);
+            //if ($debug) Debug.write("quadraticCurveTo",edgeCntrl2.x,edgeCntrl2.y,edge2.x,edge2.y);
+            //if ($debug) Debug.write("lineTo",inter2.x,inter2.y);
+            //if ($debug) Debug.write("lineTo",start2.x,start2.y);
+            //if ($debug) Debug.write("lineTo",start1.x,start1.y);
+            
+            graphics.moveTo(start1.x,start1.y);
+            graphics.lineTo(inter1.x,inter1.y);
+            graphics.lineTo(edge1.x,edge1.y);
+            graphics.quadraticCurveTo(edgeCntrl1.x,edgeCntrl1.y,end.x,end.y);
+            graphics.quadraticCurveTo(edgeCntrl2.x,edgeCntrl2.y,edge2.x,edge2.y);
+            graphics.lineTo(inter2.x,inter2.y);
+            graphics.lineTo(start2.x,start2.y);
+            graphics.lineTo(start1.x,start1.y);
+            
+            if (strokeDis!=-1){
+                graphics.strokeStyle = stroke;
+                graphics.stroke();
+            }
+
+            if (fillDis!=-1){
+                graphics.fillStyle = fill;
+                graphics.fill();
+            }
+        ]]>
+    </method>
+    
+    <method name="getLineIntersection" args="a1,a2,b1,b2">
+        <![CDATA[ 
+        
+            //calculate directional constants
+            var k1 = (a2.y-a1.y) / (a2.x-a1.x);
+            var k2 = (b2.y-b1.y) / (b2.x-b1.x);
+            
+            // if the directional constants are equal, the lines are parallel,
+            // meaning there is no intersection point.
+            if( k1 == k2 ) return null;
+            
+            var x = 0;
+            var y = 0;
+            var m1 = 0;
+            var m2 = 0;
+            
+            //if ($debug) Debug.write("k1",k1);
+            //if ($debug) Debug.write("k2",k2);
+            
+            // an infinite directional constant means the line is vertical
+            if( !isFinite(k1) ) {
+                
+                //if ($debug) Debug.write("k1 ^^ 0");
+                //if ($debug) Debug.write("k2",k2,(b2.y-b1.y));
+                //if ($debug) Debug.write("b1.getY(): "+b1.y);
+                //if ($debug) Debug.write("b2.getY(): "+b2.y);
+                // so the intersection must be at the x coordinate of the line
+                x = a1.x;
+                m2 = b1.y - k2 * b1.x;
+                //if ($debug) Debug.write("m2",m2);
+                y = k2 * x + m2;
+                //if ($debug) Debug.write("y",y);
+                
+            // same as above for line 2
+            } else if ( !isFinite(k2) ) {
+                
+                //if ($debug) Debug.write("k2 ^ 0");
+                
+                m1 = a1.y - k1 * a1.x;
+                x = b1.x;
+                y = k1 * x + m1;
+
+            // if neither of the lines are vertical
+            } else {
+                
+                //if ($debug) Debug.write("neither");
+            
+                m1 = a1.y - k1 * a1.x;
+                m2 = b1.y - k2 * b1.x;              
+                x = (m1-m2) / (k2-k1);
+                y = k1 * x + m1;
+                
+            }
+            
+            return new flash.geom.Point(x,y);
+        ]]>
+    </method>    
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawClipArt.lzx b/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawClipArt.lzx
new file mode 100644
index 0000000..39e0821
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawClipArt.lzx
@@ -0,0 +1,651 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+
+<class name="drawClipArtWhiteBoard" >
+    
+    <attribute name="clipArtEndx" value="0" type="number" />
+    <attribute name="clipArtEndy" value="0" type="number" />
+    
+    <!-- Not needed anymore, use LzView.setColor instead
+    <method name="setTint" args="color, brightness">
+        <![CDATA[
+        if (color != "" && color != null){
+            if (brightness == null) { brightness = 0; }
+            var rgb = color;
+            var red=(rgb >> 16) & 0xFF;
+            var green=(rgb >> 8) & 0xFF;
+            var blue=rgb & 0xFF;
+
+            this.setColorTransform( { ra : red, ga : green, ba : blue,
+                                        rb : 0, gb : 0, bb : 100 } );
+        }
+        ]]>
+    </method>
+     -->
+     
+</class>	
+    
+<class name="baseDrawClipArt" extends="baseDrawArrow" >
+	
+	<attribute name="minClipArtx" value="0" type="number" />
+	<attribute name="maxClipArtx" value="0" type="number" />
+	<attribute name="minClipArty" value="0" type="number" />
+    <attribute name="maxClipArty" value="0" type="number" />
+    <attribute name="deltaClipArtx" value="0" type="number" />
+    <attribute name="deltaClipArty" value="0" type="number" />
+    
+    <attribute name="clipArtEndx" value="0" type="number" />
+    <attribute name="clipArtEndy" value="0" type="number" />
+	
+	<attribute name="currentClipArtRessourceName" value="idea.png" type="string"/>
+	    
+    <method name="startDrawClipArt" args="oid_name">
+        <![CDATA[
+        if (oid_name == null) {
+            oid_name = 'clipart'+this.getCounter();
+        }
+        
+        this.currentlayer = new lz.drawViewNew(this,{
+                                    name:oid_name,width:this.width,height:this.height,
+                                    opacity:this.currentdrawarrowOpacity});
+         
+        this.startx = this.currentlayer.getMouse('x');
+        this.starty = this.currentlayer.getMouse('y');
+                                    
+        var imageurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport+canvas.httpRootKey
+                            +'public/cliparts/'+this.currentClipArtRessourceName;
+        
+        if ($debug) Debug.write("imageurl :: ",imageurl);
+        
+        new lz.drawClipArtWhiteBoard(this.currentlayer,{
+        	                width:100,height:100,stretches:'both',
+                            x:this.startx,y:this.starty,
+                            //bgcolor:0xFF3300,
+                            resource:imageurl,name:'clipart'});
+
+        this.minClipArtx = this.startx;
+        this.minClipArty = this.starty;
+        this.maxClipArtx = this.startx+100;
+        this.maxClipArty = this.starty+100;
+        this.clipArtEndx = this.maxClipArtx;
+        this.clipArtEndy = this.maxClipArty;
+        this.deltaClipArtx = 0;
+        this.deltaClipArty = 0;
+            
+                            
+        ]]>
+    </method>
+    
+    <method name="setStartPoint" args="sx,sy">
+    	this.startx = sx;
+        this.starty = sy;
+    </method>
+     
+    <method name="trackDrawClipArt">   
+        <![CDATA[
+        //Add Resource
+        //var t = new lz.drawClipArtWhiteBoard(this.currentlayer,{
+        //                    resource:imageurl,x:this.startx,y:this.starty});
+        
+        //Color
+        //t.setTint(this.currentdrawarrowlinestroke,60);
+        //t.setColor(this.currentdrawarrowlinestroke);
+        var tEndX = this.currentlayer.getMouse('x');
+        var tEndY = this.currentlayer.getMouse('y');
+        
+        this.trackDrawClipArtDraw(tEndX,tEndY,this.currentlayer.clipart);
+        
+        ]]>
+    </method>    
+        
+    <method name="trackDrawClipArtDraw" args="tEndX,tEndY,t">   
+        <![CDATA[
+        //Add Resource
+        //var t = new lz.drawClipArtWhiteBoard(this.currentlayer,{
+        //                    resource:imageurl,x:this.startx,y:this.starty});
+        
+        //Color
+        //t.setTint(this.currentdrawarrowlinestroke,60);
+        //t.setColor(this.currentdrawarrowlinestroke);
+        
+        //if ($debug) Debug.write("trackDrawClipArtDraw ",tEndX,tEndY,t);
+        
+        this.clipArtEndx = tEndX;
+        this.clipArtEndy = tEndY;
+        
+        var tx = tEndX-this.startx;
+        var ty = tEndY-this.starty;
+        
+        var gegenkathete = Math.abs(ty);
+        var ankathete = Math.abs(tx); 
+        var hypothenuse = Math.sqrt((ankathete*ankathete)+(gegenkathete*gegenkathete));
+        var sinAlpha = (gegenkathete/hypothenuse);
+        var palpha = Math.asin(sinAlpha);
+        var alpha = palpha/(Math.PI/180);
+        
+        var tLength = Math.sqrt(2)/2*hypothenuse;
+        
+        //if ($debug) Debug.write("tx,ty,alpha,sinAlpha,tLength "+tx+" "+ty+" "+alpha+" "+sinAlpha+" "+tLength);
+        
+        //if ($debug) Debug.write("CALC tx,ty",tx,ty);
+        
+        if (Math.abs(tx) < 2 && Math.abs(ty) < 2) {
+        	
+        	this.minClipArtx = this.startx;
+            this.minClipArty = this.starty;
+            this.maxClipArtx = this.startx+100;
+            this.maxClipArty = this.starty+100;
+            this.clipArtEndx = this.maxClipArtx;
+            this.clipArtEndy = this.maxClipArty;
+            t.setAttribute('rotation',0);
+            
+            this.deltaClipArtx = 0;
+            this.deltaClipArty = 0;
+            
+            //if ($debug) Debug.write(" IS ZERO ",this.startx,this.starty);
+        	
+        } else if (tx>=0 && ty>=0){    
+            t.setAttribute('rotation',(alpha-45));
+            
+            var tRotate = (alpha-45);
+            var pRotate = tRotate * (Math.PI/180);
+            
+            //1. Quadrant  left-down
+            var ankathete_2 = Math.cos(pRotate)*tLength;
+            var gegenkathete_2 = Math.sin(pRotate)*tLength;
+            var tx2 = this.startx+ankathete_2;
+            var ty2 = this.starty+gegenkathete_2;
+            //if ($debug) Debug.write("_1  ",this.startx,this.starty,tx2,ty2);
+            
+            var tRotate2 = 180-(alpha+45);
+            var pRotate2 = tRotate2 * (Math.PI/180);
+            
+            var ankathete_4 = Math.sin(pRotate2)*tLength;
+            var gegenkathete_4 = Math.cos(pRotate2)*tLength;
+            var tx4 = this.startx-gegenkathete_4;
+            var ty4 = this.starty+ankathete_4;
+            
+            this.minClipArtx = tx4;
+            if (this.startx < tx4) {
+            	this.minClipArtx = this.startx;
+            }
+            
+            this.minClipArty = this.starty;
+            if (ty2 < this.starty) {
+            	this.minClipArty = ty2;
+            }
+            
+            this.maxClipArtx = tx2;
+            if (tEndX > tx2) {
+            	this.maxClipArtx = tEndX;
+            }
+            
+            this.maxClipArty = tEndY;
+            if (ty4 > tEndY) {
+            	this.maxClipArty = ty4;
+            }
+            
+            if (gegenkathete_4 > 0) {
+                this.deltaClipArtx = gegenkathete_4;
+                this.deltaClipArty = 0;
+            } else {
+            	this.deltaClipArtx = 0;
+            	this.deltaClipArty = Math.abs(gegenkathete_2);
+            }
+            
+            
+            //if ($debug) Debug.write("_1  ",gegenkathete_4,gegenkathete_2);
+            
+            //if ($debug) Debug.write("_1  ",this.startx,this.starty,tx4,ty4);
+            
+            //if ($debug) Debug.write("_2 ",pRotate2,tRotate2,Math.sin(pRotate2),gegenkathete_4);
+            //if ($debug) Debug.write("_1  ",this.starty,ty4,ankathete_4,"tRotate2,tLength",tRotate2,tLength);
+            
+        } else if (tx<0 && ty>=0){
+            t.setAttribute('rotation',(90+45)-(alpha));
+            
+            var tRotate = (alpha-45);
+            var pRotate = tRotate * (Math.PI/180);
+            
+            //1. Quadrant  left-down
+            var ankathete_2 = Math.cos(pRotate)*tLength;
+            var gegenkathete_2 = Math.sin(pRotate)*tLength;
+            var tx4 = this.startx-ankathete_2;
+            var ty4 = this.starty+gegenkathete_2;
+            
+            //if ($debug) Debug.write("_1  ",this.startx,this.starty,tx4,ty4);
+            
+            var tRotate2 = 180-(alpha+45);
+            var pRotate2 = tRotate2 * (Math.PI/180);
+            
+            var gegenkathete_4 = Math.sin(pRotate2)*tLength;
+            var ankathete_4 = Math.cos(pRotate2)*tLength;
+            var tx2 = this.startx+ankathete_4;
+            var ty2 = this.starty+gegenkathete_4;
+            
+            //if ($debug) Debug.write("_1  x,y",this.startx,this.starty,"tx2,ty2",tx2,ty2,"tx4,ty4",tx4,ty4);
+            
+            this.minClipArtx = tx4;
+            if (tEndX < tx4) {
+                this.minClipArtx = tEndX;
+            }
+            
+            this.minClipArty = this.starty;
+            if (ty4 < this.starty) {
+                this.minClipArty = ty4;
+            }
+            
+            this.maxClipArtx = tx2;
+            if (this.startx > tx2) {
+                this.maxClipArtx = this.startx;
+            }
+            
+            this.maxClipArty = tEndY;
+            if (ty2 > tEndY) {
+                this.maxClipArty = ty2;
+            }
+            
+            if (gegenkathete_2 > 0) {
+                this.deltaClipArtx = ankathete_2;
+                this.deltaClipArty = 0;
+            } else {
+                this.deltaClipArtx = this.maxClipArtx-this.minClipArtx;
+                this.deltaClipArty = Math.abs(gegenkathete_2);
+            }
+            
+        } else if (tx<0 && ty<0){
+            t.setAttribute('rotation',180+(alpha-45));
+            
+            var tRotate = (alpha-45);
+            var pRotate = tRotate * (Math.PI/180);
+            
+            //1. Quadrant  left-down
+            var ankathete_2 = Math.cos(pRotate)*tLength;
+            var gegenkathete_2 = Math.sin(pRotate)*tLength;
+            var tx4 = this.startx-ankathete_2;
+            var ty4 = this.starty-gegenkathete_2;
+            
+            var tRotate2 = 180-(alpha+45);
+            var pRotate2 = tRotate2 * (Math.PI/180);
+            
+            var gegenkathete_4 = Math.sin(pRotate2)*tLength;
+            var ankathete_4 = Math.cos(pRotate2)*tLength;
+            var tx2 = this.startx+ankathete_4;
+            var ty2 = this.starty-gegenkathete_4;
+            
+            this.minClipArtx = tx4;
+            if (tEndX < tx4) {
+                this.minClipArtx = tEndX;
+            }
+            
+            this.minClipArty = tEndY;
+            if (ty2 < tEndY) {
+                this.minClipArty = ty2;
+            }
+            
+            this.maxClipArtx = tx2;
+            if (this.startx > tx2) {
+                this.maxClipArtx = this.startx;
+            }
+            
+            this.maxClipArty = ty4;
+            if (this.starty > ty4) {
+                this.maxClipArty = this.starty;
+            }
+            
+            //if ($debug) Debug.write("_1  ",gegenkathete_2);
+            
+            if (gegenkathete_2 < 0) {
+                this.deltaClipArtx = this.maxClipArtx-this.minClipArtx;
+                this.deltaClipArty = gegenkathete_4;
+            } else {
+                this.deltaClipArtx = ankathete_2;
+                this.deltaClipArty = this.maxClipArty-this.minClipArty;
+            }
+            
+            
+        } else if (tx>0 && ty<=0){
+            t.setAttribute('rotation',((270+45)-alpha));
+            
+            //if ($debug) Debug.write("alpha :: ",alpha);
+            
+            //if ($debug) Debug.write("_1  ",gegenkathete_2);
+            var tRotate = (alpha-45);
+            var pRotate = tRotate * (Math.PI/180);
+            
+            //1. Quadrant  left-down
+            var ankathete_2 = Math.cos(pRotate)*tLength;
+            var gegenkathete_2 = Math.sin(pRotate)*tLength;
+            var tx4 = this.startx+ankathete_2;
+            var ty4 = this.starty-gegenkathete_2;
+            
+            //if ($debug) Debug.write("gegenkathete_2 :: ",gegenkathete_2);
+            
+            var tRotate2 = 180-(alpha+45);
+            var pRotate2 = tRotate2 * (Math.PI/180);
+            
+            var gegenkathete_4 = Math.sin(pRotate2)*tLength;
+            var ankathete_4 = Math.cos(pRotate2)*tLength;
+            var tx2 = this.startx-ankathete_4;
+            var ty2 = this.starty-gegenkathete_4;
+            
+            //if ($debug) Debug.write("ankathete_4 :: ",ankathete_4);
+            
+            this.minClipArtx = tx2;
+            if (this.startx < tx2) {
+                this.minClipArtx = this.startx;
+            }
+            
+            this.minClipArty = tEndY;
+            if (ty2 < tEndY) {
+                this.minClipArty = ty2;
+            }
+            
+            this.maxClipArtx = tEndX;
+            if (tx4 > tEndX) {
+                this.maxClipArtx = tx4;
+            }
+            
+            this.maxClipArty = this.starty;
+            if (ty4 > this.starty) {
+                this.maxClipArty = ty4;
+            }
+            
+            //if ($debug) Debug.write("_1  ",ankathete_4);
+            
+            if (ankathete_4 < 0) {
+                this.deltaClipArtx = 0;
+                this.deltaClipArty = gegenkathete_4;
+            } else {
+                this.deltaClipArtx = ankathete_4;
+                this.deltaClipArty = this.maxClipArty-this.minClipArty;
+                
+                //this.deltaClipArtx = 0;
+                //this.deltaClipArty = 0;
+            }
+            
+        }
+        
+        //if (tx)
+        
+        //Scaling
+        //var basicLength = Math.sqrt((t.width*t.width)+(t.width*t.width));
+        //t.getDisplayObject()._xscale = (hypothenuse/basicLength)*100;
+        //t.getDisplayObject()._yscale = (hypothenuse/basicLength)*100;
+        
+        //if ($debug) Debug.write("hypothenuse "+hypothenuse);
+        
+        
+        
+        t.setAttribute("width",tLength);
+        t.setAttribute("height",tLength);
+
+        //Set previous to null
+        this.prevx = this.currentlayer.getMouse('x');
+        this.prevy = this.currentlayer.getMouse('y');  
+        
+        ]]>
+    </method> 
+    
+    <method name="drawClipArtToHistory" args="lastActionObject,parentView">
+    	<![CDATA[
+    	
+    	   var tmpCurrentlayer = new lz.drawViewNew(parentView,{
+                name:lastActionObject[lastActionObject.length-1],
+                x:lastActionObject[lastActionObject.length-5],
+                y:lastActionObject[lastActionObject.length-4],
+                width:lastActionObject[lastActionObject.length-3],
+                height:lastActionObject[lastActionObject.length-2],
+                opacity:lastActionObject[4]
+                });
+    	
+           new lz.drawClipArtWhiteBoard(tmpCurrentlayer,{
+                                    width:lastActionObject[7],
+                                    height:lastActionObject[8],
+                                    stretches:'both',
+                                    x:lastActionObject[5],
+                                    y:lastActionObject[6],
+                                    rotation:lastActionObject[3],
+                                    resource:lastActionObject[2],
+                                    clipArtEndx:lastActionObject[9],
+                                    clipArtEndy:lastActionObject[10],
+                                    name:'clipart'
+                                });
+             
+            if ($debug) Debug.write("x,y ",tmpCurrentlayer.x,tmpCurrentlayer.y,tmpCurrentlayer.width,tmpCurrentlayer.height);
+                                
+            //Add Layer to global Layer     
+            this.layers.push(tmpCurrentlayer);                                
+              
+            this.doSWFDocumentStatus(tmpCurrentlayer,lastActionObject[lastActionObject.length-7]);
+    	]]>
+    </method>
+    
+    <method name="endDrawClipArtDrag" args="cLayer">
+        <![CDATA[
+        
+            var oid_name = cLayer.name;
+            var tSource = cLayer.clipart.resource;
+            var tRotation = cLayer.clipart.rotation;
+            var tX = cLayer.clipart.x;
+            var tY = cLayer.clipart.y;
+            var tWidth = cLayer.clipart.width;
+            var tHeight = cLayer.clipart.height;
+               
+            //if ($debug) Debug.write("END 0 ",tY);
+            
+            cLayer.destroy();
+           
+            //if ($debug) Debug.write("END 1 ",this.minClipArty,this.starty);
+            
+            this.currentlayer = new lz.drawViewNew(this,{
+                                        x:this.minClipArtx,
+                                        y:this.minClipArty,
+                                        name:oid_name,
+                                        width:this.maxClipArtx-this.minClipArtx,
+                                        height:this.maxClipArty-this.minClipArty
+                                        //bgcolor:0x0033FF
+                                    });
+            
+            //if ($debug) Debug.write(" IS ZERO END1 ",this.currentlayer.x,this.currentlayer.y);                        
+                                    
+            new lz.drawClipArtWhiteBoard(this.currentlayer,{
+                                    width:tWidth,height:tHeight,
+                                    stretches:'both',
+                                    x:this.deltaClipArtx,
+                                    y:this.deltaClipArty,
+                                    rotation:tRotation,
+                                    resource:tSource,
+                                    clipArtEndx:this.clipArtEndx-this.minClipArtx,
+                                    clipArtEndy:this.clipArtEndy-this.minClipArty,
+                                    name:'clipart'
+                                    //bgcolor:0xFF3300
+                                });
+        
+            for (var eg=0;eg<this.baseactionobjectList.length;eg++){
+                if (this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-1]==oid_name) {
+                    
+                    //if ($debug) Debug.write("Found Object 1: ",this.baseactionobjectList[eg]);
+                    
+                	//actionObject[3] = tRotation;
+        //actionObject[5] = deltaClipArtx;
+        //actionObject[6] = deltaClipArty;
+        //actionObject[7] = deltaClipWidth;
+        //actionObject[8] = deltaClipHeight;
+        //actionObject[9] = deltaClipEndx;
+        //actionObject[10] = deltaClipEndy;
+        //actionObject[14] = x;//-5
+        //actionObject[15] = y;//-4
+        //actionObject[16] = width;//-3
+        //actionObject[17] = height;//-2
+        
+            	    this.baseactionobjectList[eg][3] = tRotation;
+                	this.baseactionobjectList[eg][5] = this.deltaClipArtx;
+                	this.baseactionobjectList[eg][6] = this.deltaClipArty;
+                	this.baseactionobjectList[eg][7] = tWidth;
+                	this.baseactionobjectList[eg][8] = tHeight;
+                	this.baseactionobjectList[eg][9] = this.clipArtEndx-this.minClipArtx;
+                	this.baseactionobjectList[eg][10] = this.clipArtEndy-this.minClipArty;
+                	
+                    this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-5] = this.minClipArtx;
+                    this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-4] = this.minClipArty;
+                    this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-3] = this.maxClipArtx-this.minClipArtx;
+                    this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-2] = this.maxClipArty-this.minClipArty;
+                    
+                    var newA = this.baseactionobjectList[eg];
+                    
+                    this.onsharedMessage('size',newA);
+                    
+                    break;
+                }
+            }   
+                           
+            //Set previous to null
+            this.prevx = null;
+            this.prevy = null;  
+        
+        ]]>
+    </method>
+    
+    <method name="endDrawClipArt">
+    	<![CDATA[
+    	
+            var oid_name = this.currentlayer.name;
+    	    var tSource = this.currentlayer.clipart.resource;
+    	    var tRotation = this.currentlayer.clipart.rotation;
+    	    var tX = this.currentlayer.clipart.x;
+    	    var tY = this.currentlayer.clipart.y;
+    	    var tWidth = this.currentlayer.clipart.width;
+    	    var tHeight = this.currentlayer.clipart.height;
+    	
+    	    //if ($debug) Debug.write("END 0 ",tY);
+    	    
+    	    this.currentlayer.destroy();
+    	       	        	    
+    	    //if ($debug) Debug.write("END 1 ",this.minClipArty,this.starty);
+    	    
+	     	if(this.isSnapToGrid){        		
+	    		if ($debug) Debug.write("####  this.minClipArtx y ",this.minClipArtx,this.minClipArty);
+	    	
+		    	//this.minClipArtx = Math.round(this.minClipArtx/this.gridWidth)*this.gridWidth;
+		    	//this.minClipArty = Math.round(this.minClipArty/this.gridWidth)*this.gridWidth;
+		    	
+		    	tX = Math.round(tX/this.gridWidth)*this.gridWidth;
+		    	tY = Math.round(tY/this.gridWidth)*this.gridWidth;
+		    	
+		    	this.currentlayer = new lz.drawViewNew(this,{
+    	                                x:tX,
+    	                                y:tY,
+                                        name:oid_name,
+                                        width:this.maxClipArtx-this.minClipArtx,
+                                        height:this.maxClipArty-this.minClipArty
+                                        //bgcolor:0x0033FF
+                                    });
+		    	
+            }else{
+    	    
+	    	    this.currentlayer = new lz.drawViewNew(this,{
+	    	                                x:this.minClipArtx,
+	    	                                y:this.minClipArty,
+	                                        name:oid_name,
+	                                        width:this.maxClipArtx-this.minClipArtx,
+	                                        height:this.maxClipArty-this.minClipArty
+	                                        //bgcolor:0x0033FF
+	                                    });
+            
+            //if ($debug) Debug.write(" IS ZERO END1 ",this.currentlayer.x,this.currentlayer.y);                        
+            }                                                
+            new lz.drawClipArtWhiteBoard(this.currentlayer,{
+                                    width:tWidth,height:tHeight,
+                                    stretches:'both',
+                                    x:this.deltaClipArtx,
+                                    y:this.deltaClipArty,
+                                    rotation:tRotation,
+                                    resource:tSource,
+                                    clipArtEndx:this.clipArtEndx-this.minClipArtx,
+                                    clipArtEndy:this.clipArtEndy-this.minClipArty,
+                                    name:'clipart'
+                                    //bgcolor:0xFF3300
+                                });
+    	
+            //if ($debug) Debug.write(" IS ZERO END2 ",this.deltaClipArtx,this.deltaClipArty);                        
+            
+            //if ($debug) Debug.write("END 2 ",this.currentlayer.y,this.currentlayer.clipart.y);
+            
+    	    this.drawClipArtRegisterFinal(
+    	                   oid_name,
+    	                   tSource,
+    	                   tRotation,
+    	                   1,
+    	                   this.minClipArtx,
+    	                   this.minClipArty,
+    	                   this.maxClipArtx-this.minClipArtx,
+    	                   this.maxClipArty-this.minClipArty,
+    	                   this.deltaClipArtx,
+    	                   this.deltaClipArty,
+    	                   tWidth,
+    	                   tHeight,
+    	                   this.clipArtEndx-this.minClipArtx,
+                           this.clipArtEndy-this.minClipArty,
+    	                   true,
+    	                   this.getSWFDocumentStatus(),
+    	                   this.getZIndex());
+    	     
+            this.layers.push(this.currentlayer);
+            this.checkStepLayers();    	                   
+    	                   
+            //Set previous to null
+            this.prevx = null;
+            this.prevy = null;  
+    	
+    	]]>
+    </method>
+    
+    <method name="drawClipArtRegisterFinal" args="newName,tSource,tRotation,opacity,x,y,width,height,deltaClipArtx,deltaClipArty,deltaClipWidth,deltaClipHeight,deltaClipEndx,deltaClipEndy,doCall,swfObj,zIndex">
+        var actionObject = new Array();
+        actionObject[0] = 'clipart';
+        actionObject[1] = newName;
+        actionObject[2] = tSource;
+        actionObject[3] = tRotation;
+        actionObject[4] = opacity;
+        actionObject[5] = deltaClipArtx;
+        actionObject[6] = deltaClipArty;
+        actionObject[7] = deltaClipWidth;
+        actionObject[8] = deltaClipHeight;
+        actionObject[9] = deltaClipEndx;
+        actionObject[10] = deltaClipEndy;
+        actionObject[11] = zIndex;//-8
+        actionObject[12] = swfObj;//-7
+        actionObject[13] = this.counter;//-6 
+        actionObject[14] = x;//-5
+        actionObject[15] = y;//-4
+        actionObject[16] = width;//-3
+        actionObject[17] = height;//-2
+        actionObject[18] = newName;//-1
+        this.baseactionobjectList.push(actionObject);       
+        if (doCall) this.onsharedMessage('draw',actionObject);
+    </method>      
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawEllipse.lzx b/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawEllipse.lzx
new file mode 100644
index 0000000..6107959
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawEllipse.lzx
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="baseDrawEllipse" extends="baseDrawRect" >
+    
+    <!-- 
+        for drawing ellipse the variable 
+        with *Dis* indicates if the line/fil-color is active (+1/-1)
+     -->
+    <attribute name="currentellipsestroke" value="0xFF6600" />
+    <attribute name="currentellipsestrokeDis" value="1" type="number" />
+    <attribute name="currentellipsestrokeFill" value="0xFFFF33" />
+    <attribute name="currentellipsestrokeFillDis" value="1" type="number" />
+    <attribute name="currentellipselineWidth" value="4" />
+    <attribute name="currentellipseOpacity" value="1" type="number" />
+  
+    <!-- ################
+    Ellipse
+     -->
+    <method name="startEllipse" args="oid_name">
+        //Debug.write("startEllipse");
+        if (oid_name == null) {
+            oid_name = 'ellipse'+this.getCounter();
+        }
+        this.currentlayer = new lz.drawViewNew(this,{
+            name:oid_name,width:this.width+2,height:this.height+2,
+            opacity:this.currentellipseOpacity});
+        this.drawlineOnObject(this.currentlayer,-1,-1,0,0);
+        this.drawlineOnObject(this.currentlayer,this.width,this.height,this.width+1,this.height+1);
+    </method>    
+    
+    <method name="endEllipse">
+        <![CDATA[
+            ////Debug.write(" this.startx, this.starty , this.endx, this.endy ",this.startx, this.starty , this.endx, this.endy);
+            var tmpName = this.currentlayer.name;
+            this.currentlayer.destroy();
+            var x = this.startx;
+            var width = this.endx - this.startx;
+            if (this.endx<this.startx){
+                x = this.endx;
+                width = Math.abs(width);
+            }
+            var y = this.starty;
+            var height = this.endy - this.starty;
+            if (this.endy<this.starty){
+                y = this.endy;
+                height = Math.abs(height);
+            }
+            
+            if(this.isSnapToGrid){        		
+	    			        	   
+	            x = Math.round(x/this.gridWidth)*this.gridWidth;
+		    	y = Math.round(y/this.gridWidth)*this.gridWidth;
+            
+            } 
+            
+            this.currentlayer = new lz.drawViewNew(this,{
+                name:tmpName,x:x,y:y,width:width,height:height,
+                opacity:this.currentellipseOpacity});
+                
+            new lz.drawViewInner(this.currentlayer,{
+                name:'_innerEllipse',x:0,y:0,width:width,height:height});
+                
+            //this.drawellipse(0,0,width,height);
+            //Debug.write("this.currentellipsestroke,this.currentellipselineWidth: ",this.currentellipsestroke,this.currentellipselineWidth);
+            
+            this.drawellipseHistory(this.currentlayer,
+                0,0,width,height,
+                this.currentellipsestroke,this.currentellipselineWidth,
+                this.currentellipsestrokeFill,this.currentellipsestrokeDis,
+                this.currentellipsestrokeFillDis)
+            
+            //Draw On Object    
+                
+            this.drawellipseregisterFinal(this.currentlayer.name,
+                this.currentellipsestroke,this.currentellipselineWidth,
+                this.currentellipsestrokeFill,this.currentellipsestrokeDis,
+                this.currentellipsestrokeFillDis,
+                x,y,width,height,this.getSWFDocumentStatus(),this.getZIndex());
+            this.layers.push(this.currentlayer);
+            this.checkStepLayers();
+        ]]>
+    </method>
+    
+    <method name="drawellipseToHistory"  args="lastActionObject,parentView">
+
+        var tmpCurrentlayer = new lz.drawViewNew(parentView,{
+            name:lastActionObject[lastActionObject.length-1],
+            x:lastActionObject[lastActionObject.length-5],
+            y:lastActionObject[lastActionObject.length-4],
+            width:lastActionObject[lastActionObject.length-3],
+            height:lastActionObject[lastActionObject.length-2],
+            opacity:lastActionObject[6]});
+            
+        new lz.drawViewInner(tmpCurrentlayer,{
+                name:'_innerEllipse',x:0,y:0,
+                width:lastActionObject[lastActionObject.length-3],
+                height:lastActionObject[lastActionObject.length-2]});
+                
+        //Debug.write("lastActionObject[1],lastActionObject[2]: ",lastActionObject[1],lastActionObject[2]);
+        this.drawellipseHistory(tmpCurrentlayer,
+            0,0,lastActionObject[lastActionObject.length-3],lastActionObject[lastActionObject.length-2],
+            lastActionObject[1],lastActionObject[2],
+            lastActionObject[3],lastActionObject[4],
+            lastActionObject[5]);
+
+        this.doSWFDocumentStatus(tmpCurrentlayer,lastActionObject[lastActionObject.length-7]);
+    </method>
+    
+    <method name="redrawEllipseItemByScaling" args="objRef">
+        //if ($debug) Debug.write("redrawRectItemByScaling: "+objRef);
+        this.currentlayer = objRef;
+        this.currentlayer._innerEllipse.destroy();
+        new lz.drawViewInner(this.currentlayer,{
+            name:'_innerEllipse',x:0,y:0,width:objRef.width,height:objRef.height});
+        this.drawellipseHistory(this.currentlayer,0,0,
+            objRef.width,objRef.height,
+            this.currentellipsestroke,this.currentellipselineWidth,
+            this.currentellipsestrokeFill,this.currentellipsestrokeDis,
+            this.currentellipsestrokeFillDis);
+    </method> 
+    
+    <method name="drawellipseHistory" args="parentObj,x1,y1,x2,y2,stroke,line,fill,strokeDis,fillDis">
+        <![CDATA[
+        
+            //Debug.write("stroke,line: ",stroke,line);
+            var rx = (x1+x2)/2;
+            var ry = (y1+y2)/2;
+            var xradius = Math.abs(rx-x1);
+            var yradius = Math.abs(ry-y1);
+            
+            parentObj._innerEllipse.lineWidth = line;
+            parentObj._innerEllipse.oval(rx,ry,xradius,yradius);
+            
+            if (strokeDis!=-1){
+                parentObj._innerEllipse.strokeStyle = stroke;
+                parentObj._innerEllipse.stroke();
+            }
+
+            if (fillDis!=-1){
+                parentObj._innerEllipse.fillStyle = fill;
+                parentObj._innerEllipse.fill();
+            }
+
+        ]]>   
+    </method>   
+     
+    <method name="drawellipse" args="x1,y1,x2,y2">
+        <![CDATA[
+            //Debug.write("stroke,line: ",this.currentellipsestroke,this.currentellipselineWidth);
+            var rx = (x1+x2)/2;
+            var ry = (y1+y2)/2;
+            var xradius = Math.abs(rx-x1);
+            var yradius = Math.abs(ry-y1);
+            
+            currentlayer.lineWidth = this.currentellipselineWidth;
+            currentlayer.oval(rx,ry,xradius,yradius);
+            
+            if (this.currentellipsestrokeDis!=-1){
+                currentlayer.strokeStyle = this.currentellipsestroke;
+                currentlayer.stroke();
+            }
+            
+            if (this.currentellipsestrokeFillDis!=-1){
+                currentlayer.fillStyle = this.currentellipsestrokeFill;
+                currentlayer.fill(); 
+            }
+    
+        ]]>   
+    </method>
+    
+    <method name="drawellipseregisterFinal" args="newName,stroke,line,fill,strokeDis,fillDis,x,y,width,height,swfObj,zIndex" >
+        var actionObject = new Array();
+        actionObject[0] = 'ellipse';
+        actionObject[1] = stroke;
+        actionObject[2] = line;
+        actionObject[3] = fill;
+        actionObject[4] = strokeDis;
+        actionObject[5] = fillDis;
+        actionObject[6] = this.currentellipseOpacity;
+        actionObject[7] = zIndex;//-8
+        actionObject[8] = swfObj;//-7
+        actionObject[9] = this.counter;//-6
+        actionObject[10] = x;//-5
+        actionObject[11] = y;//-4
+        actionObject[12] = width;//-3
+        actionObject[13] = height;//-2 
+        actionObject[14] = newName;//-1
+        this.baseactionobjectList.push(actionObject);
+        this.onsharedMessage('draw',actionObject);
+    </method>
+
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawLine.lzx b/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawLine.lzx
new file mode 100644
index 0000000..ce91a74
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawLine.lzx
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<class name="baseDrawLine" extends="baseDrawPaint" >
+      
+		<!-- for drawing line -->
+		<attribute name="currentlinestroke" value="0xFF6600" />
+		<attribute name="currentlinelineWidth" value="2" type="number" />   
+		<attribute name="currentlineOpacity" value="1" type="number" />
+        
+		<!-- ###########################
+			Line
+			 -->
+    
+		<method name="startLine" args="oid_name">
+
+			//Debug.write("startLine ",this.startx,this.starty);
+			if (oid_name == null) {
+				oid_name = 'line' + this.getCounter()
+			}
+			this.currentlayer = new lz.drawViewNew(this, {
+						name : oid_name,
+						width : this.width + 2,
+						height : this.height + 2,
+						x : -1,
+						y : -1,
+						opacity : this.currentlineOpacity
+					});
+			this.drawlineOnObject(this.currentlayer, -1, -1, 0, 0);
+			this.drawlineOnObject(this.currentlayer, this.width, this.height,
+					this.width + 1, this.height + 1);
+
+			//Set previous to null
+			this.prevx = null;
+			this.prevy = null;
+
+			currentlayer.strokeStyle = this.currentlinestroke;
+			currentlayer.lineWidth = this.currentlinelineWidth;
+			//currentlayer.fillstyle = '0x000000';
+
+		</method>
+    
+		<method name="endLine">
+        ////Debug.write("endLine",this.startx,this.starty,this.endx,this.endy);
+		<![CDATA[
+			var tempName = this.currentlayer.name;
+			this.currentlayer.destroy();
+
+			//GetBounds of that Object
+			var minx = this.width + 2;
+			var miny = this.height + 2;
+			var maxx = -2;
+			var maxy = -2;
+
+			if (this.startx < minx)
+				minx = this.startx;
+			if (this.endx < minx)
+				minx = this.endx;
+
+			if (this.startx > maxx)
+				maxx = this.startx;
+			if (this.endx > maxx)
+				maxx = this.endx;
+
+			if (this.starty < miny)
+				miny = this.starty;
+			if (this.endy < miny)
+				miny = this.endy;
+
+			if (this.starty > maxy)
+				maxy = this.starty;
+			if (this.endy > maxy)
+				maxy = this.endy;
+
+			var width = maxx - minx;
+			var height = maxy - miny;
+
+			var x1 = this.startx - minx + (this.currentlinelineWidth / 2);
+			var y1 = this.starty - miny + (this.currentlinelineWidth / 2);
+			var x2 = this.endx - minx + (this.currentlinelineWidth / 2);
+			var y2 = this.endy - miny + (this.currentlinelineWidth / 2);
+
+			if (this.isSnapToGrid) {
+
+				xgrid = Math.round((minx - 1 - (this.currentlinelineWidth / 2))
+						/ this.gridWidth)
+						* this.gridWidth;
+				ygrid = Math.round((miny - 1 - (this.currentlinelineWidth / 2))
+						/ this.gridWidth)
+						* this.gridWidth;
+
+				this.currentlayer = new lz.drawViewNew(this, {
+							name : tempName,
+							x : xgrid,
+							y : ygrid,
+							width : (width + this.currentlinelineWidth),
+							height : (height + this.currentlinelineWidth),
+							opacity : this.currentlineOpacity
+						});
+
+			} else {
+
+				this.currentlayer = new lz.drawViewNew(this, {
+							name : tempName,
+							x : (minx - 1 - (this.currentlinelineWidth / 2)),
+							y : (miny - 1 - (this.currentlinelineWidth / 2)),
+							width : (width + this.currentlinelineWidth),
+							height : (height + this.currentlinelineWidth),
+							opacity : this.currentlineOpacity
+						});
+			}
+			//this.currentlayer.fillstyle = '0x000000';
+			this.currentlayer.lineWidth = this.currentlinelineWidth;
+			this.currentlayer.strokeStyle = this.currentlinestroke;
+
+			this.drawline((x1), (y1), (x2), (y2));
+
+			//Add Layer to global Layer     
+			this.layers.push(this.currentlayer);
+
+			this.lineregisterFinal(this.currentlayer.name,
+					this.currentlinestroke, this.currentlinelineWidth,
+					this.currentlineOpacity, this.currentlayer.x,
+					this.currentlayer.y, this.currentlayer.width,
+					this.currentlayer.height, x1, y1, x2, y2, true, this
+							.getSWFDocumentStatus(), this.getZIndex());
+		]]>
+		</method> 
+    
+    
+		<method name="lineregisterFinal" args="newName,stroke,line,opacity,x,y,width,height,x1,y1,x2,y2,doCall,swfObj,zIndex">
+			var actionObject = new Array();
+			actionObject[0] = 'line';
+			actionObject[1] = stroke;
+			actionObject[2] = line;
+			actionObject[3] = opacity;
+			actionObject[4] = x1
+			actionObject[5] = y1;
+			actionObject[6] = x2;
+			actionObject[7] = y2;
+			actionObject[8] = zIndex;//-8
+			actionObject[9] = swfObj;//-7
+			actionObject[10] = this.counter;//-6
+			actionObject[11] = x;//-5
+			actionObject[12] = y;//-4
+			actionObject[13] = width;//-3
+			actionObject[14] = height;//-2
+			actionObject[15] = newName;//-1
+			this.baseactionobjectList.push(actionObject);
+			if (doCall)
+				this.onsharedMessage('draw', actionObject);
+		</method>       
+    
+    
+		<method name="lineactionHistory" args="lastActionObject,parentView">
+		<![CDATA[
+
+			//Debug.write("## lineactionHistory",parentView," 2 ## NEW x,y ",lastActionObject[lastActionObject.length-5],lastActionObject[lastActionObject.length-4]," width,height: ",lastActionObject[lastActionObject.length-3],lastActionObject[lastActionObject.length-2]);
+
+			var tmpCurrentlayer = new lz.drawViewNew(parentView, {
+						name : lastActionObject[lastActionObject.length - 1],
+						x : lastActionObject[lastActionObject.length - 5],
+						y : lastActionObject[lastActionObject.length - 4],
+						width : lastActionObject[lastActionObject.length - 3],
+						height : lastActionObject[lastActionObject.length - 2],
+						opacity : lastActionObject[3]
+					});
+
+			//this.currentlayer.fillstyle = lastActionObject[1];
+			tmpCurrentlayer.lineWidth = lastActionObject[2];
+			tmpCurrentlayer.strokeStyle = lastActionObject[1];
+
+			this.drawlineOnObject(tmpCurrentlayer, lastActionObject[4],
+					lastActionObject[5], lastActionObject[6],
+					lastActionObject[7]);
+
+			//Add Layer to global Layer     
+			this.layers.push(tmpCurrentlayer);
+
+			this.doSWFDocumentStatus(tmpCurrentlayer,
+					lastActionObject[lastActionObject.length - 7]);
+		]]>
+		</method>
+    
+	</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawPaint.lzx b/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawPaint.lzx
new file mode 100644
index 0000000..00af3e9
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawPaint.lzx
@@ -0,0 +1,290 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<class name="baseDrawPaint" extends="baseDraw" >
+    
+		<!-- paint -->
+		<attribute name="currentlayerstroke" value="0xFF6600" />
+		<attribute name="currentlayerlineWidth" value="2" type="number" />
+		<attribute name="currentlayerOpacity" value="1" type="number" />
+    
+		<!-- TODO: Check if needed, seems to have no reference -->
+		<attribute name="painttrans" value="false" type="boolean" />
+          
+		<!-- #####################
+				Paint
+			 -->
+    
+		<method name="drawline" args="x1,y1,x2,y2">
+		<![CDATA[
+			currentlayer.beginPath();
+			currentlayer.moveTo(x1, y1);
+			currentlayer.lineTo(x2, y2);
+			currentlayer.stroke();
+		]]>
+		</method>
+    
+		<method name="drawlineOnObject" args="obj,x1,y1,x2,y2">
+		<![CDATA[
+			obj.beginPath();
+			obj.moveTo(x1, y1);
+			obj.lineTo(x2, y2);
+			obj.stroke();
+		]]>
+		</method>
+        
+    
+		<method name="drawlineRegisterPaint" args="x1,y1,x2,y2">
+			var actionObject = new Array();
+			actionObject[0] = 'point';
+			actionObject[1] = x1;
+			actionObject[2] = y1;
+			actionObject[3] = x2;
+			actionObject[4] = y2;
+			this.basetempactionobjectList.push(actionObject);
+		</method> 
+         
+		<method name="startPaint">
+
+			//Debug.write("startPaint ",this.startx,this.starty);
+			this.currentlayer = new lz.drawViewNew(this, {
+						name : 'paint' + this.getCounter(),
+						width : this.width + 2,
+						height : this.height + 2,
+						x : -1,
+						y : -1,
+						opacity : this.currentlayerOpacity
+					});
+			this.drawlineOnObject(this.currentlayer, -1, -1, 0, 0);
+			this.drawlineOnObject(this.currentlayer, this.width, this.height,
+					this.width + 1, this.height + 1);
+
+			this.startx = this.currentlayer.getMouse('x');
+			this.starty = this.currentlayer.getMouse('y');
+
+			//Set previous to null
+			this.prevx = null;
+			this.prevy = null;
+
+			currentlayer.strokeStyle = this.currentlayerstroke;
+			currentlayer.lineWidth = this.currentlayerlineWidth;
+			currentlayer.fillstyle = '0x000000';
+
+			this.basetempactionobjectList = new Array();
+
+			//beginFill( the_colorpicker.selectedColor );
+		</method>
+
+		<method name="endPaint">
+        ////Debug.write("endPaint");
+		<![CDATA[
+			var tempName = this.currentlayer.name;
+			this.currentlayer.destroy();
+
+			//GetBounds of that Object
+			var minx = this.width + 2;
+			var miny = this.height + 2;
+			var maxx = -2;
+			var maxy = -2;
+
+			for (var eg = 0; eg < this.basetempactionobjectList.length; eg++) {
+				////Debug.write(this.basetempactionobjectList[eg][1],this.basetempactionobjectList[eg][3]);
+				if (this.basetempactionobjectList[eg][1] < minx)
+					minx = this.basetempactionobjectList[eg][1];
+				if (this.basetempactionobjectList[eg][3] < minx)
+					minx = this.basetempactionobjectList[eg][3];
+
+				if (this.basetempactionobjectList[eg][1] > maxx)
+					maxx = this.basetempactionobjectList[eg][1];
+				if (this.basetempactionobjectList[eg][3] > maxx)
+					maxx = this.basetempactionobjectList[eg][3];
+
+				if (this.basetempactionobjectList[eg][2] < miny)
+					miny = this.basetempactionobjectList[eg][2];
+				if (this.basetempactionobjectList[eg][4] < miny)
+					miny = this.basetempactionobjectList[eg][4];
+
+				if (this.basetempactionobjectList[eg][2] > maxy)
+					maxy = this.basetempactionobjectList[eg][2];
+				if (this.basetempactionobjectList[eg][4] > maxy)
+					maxy = this.basetempactionobjectList[eg][4];
+			}
+
+			for (var eg = 0; eg < this.basetempactionobjectList.length; eg++) {
+
+				this.basetempactionobjectList[eg][1] -= minx;
+				this.basetempactionobjectList[eg][2] -= miny;
+				this.basetempactionobjectList[eg][3] -= minx;
+				this.basetempactionobjectList[eg][4] -= miny
+
+			}
+
+			var width = maxx - minx;
+			var height = maxy - miny;
+			//if ($debug) Debug.info("## 1 ## NEW x,y ",minx,miny," width,height: ",width,height);
+
+			if (width < 2 && height < 2) {
+
+				//if ($debug) Debug.info("Add minimum size of Painting Line");
+
+				if (this.basetempactionobjectList.length > 0) {
+
+					var lastPoint = this.basetempactionobjectList[this.basetempactionobjectList.length
+							- 1];
+
+					var actionObject = new Array();
+					actionObject[0] = 'point';
+					actionObject[1] = lastPoint[3];
+					actionObject[2] = lastPoint[4];
+					actionObject[3] = lastPoint[3] + 2;
+					actionObject[4] = lastPoint[4] + 2;
+					this.basetempactionobjectList.push(actionObject);
+
+				} else {
+
+					//if ($debug) Debug.info("## 2 ## CURRENT width,height ",this.width,this.height);
+
+					minx = this.startx;
+					miny = this.starty;
+
+					var actionObject = new Array();
+					actionObject[0] = 'point';
+					actionObject[1] = 0;
+					actionObject[2] = 0;
+					actionObject[3] = 2;
+					actionObject[4] = 2;
+					this.basetempactionobjectList.push(actionObject);
+
+					width = 2;
+					height = 2;
+
+				}
+
+			}
+
+			if (this.isSnapToGrid) {
+
+				xgrid = Math.round((minx - 1) / this.gridWidth)
+						* this.gridWidth;
+				ygrid = Math.round((miny - 1) / this.gridWidth)
+						* this.gridWidth;
+
+				this.currentlayer = new lz.drawViewNew(this, {
+							name : tempName,
+							x : xgrid,
+							y : ygrid,
+							width : width,
+							height : height,
+							opacity : this.currentlayerOpacity
+						});
+			} else {
+				this.currentlayer = new lz.drawViewNew(this, {
+							name : tempName,
+							x : minx - 1,
+							y : miny - 1,
+							width : width,
+							height : height,
+							opacity : this.currentlayerOpacity
+						});
+			}
+
+			this.currentlayer.fillstyle = '0x000000';
+			this.currentlayer.lineWidth = this.currentlayerlineWidth;
+			this.currentlayer.strokeStyle = this.currentlayerstroke;
+
+			for (var eg = 0; eg < this.basetempactionobjectList.length; eg++)
+				this.drawline(this.basetempactionobjectList[eg][1],
+						this.basetempactionobjectList[eg][2],
+						this.basetempactionobjectList[eg][3],
+						this.basetempactionobjectList[eg][4]);
+
+			//this.currentlayer.setAttribute('stretches','both');
+
+			//Add Layer to global Layer     
+			this.layers.push(this.currentlayer);
+
+			this.registerFinal(this.getSWFDocumentStatus(), this.getZIndex());
+		]]>
+		</method>    
+
+		<method name="registerFinal" args="swfObj,zIndex">
+			var actionObject = new Array();
+			actionObject[0] = 'paint';
+			actionObject[1] = this.basetempactionobjectList;
+			actionObject[2] = currentlayer.fillstyle;
+			actionObject[3] = currentlayer.lineWidth;
+			actionObject[4] = currentlayer.strokeStyle;
+			actionObject[5] = this.currentlayerOpacity;
+			actionObject[6] = zIndex;//-8
+			actionObject[7] = swfObj;//-7
+			actionObject[8] = this.counter;//-6
+			actionObject[9] = currentlayer.x;//-5
+			actionObject[10] = currentlayer.y;//-4
+			actionObject[11] = currentlayer.width;//-3
+			actionObject[12] = currentlayer.height;//-2
+			actionObject[13] = this.currentlayer.name;//-1
+			if ($debug)
+				Debug.write("registerFinal :: ", actionObject);
+			this.baseactionobjectList.push(actionObject);
+			this.onsharedMessage('draw', actionObject);
+		</method>      
+    
+    
+		<method name="paintactionHistory" args="lastActionObject,parentView">
+		<![CDATA[
+			if ($debug) Debug.write("## paintactionHistory", parentView, " opacity:",
+						lastActionObject[5]);
+
+			var tmpCurrentlayer = new lz.drawViewNew(parentView, {
+						name : lastActionObject[lastActionObject.length - 1],
+						x : lastActionObject[lastActionObject.length - 5],
+						y : lastActionObject[lastActionObject.length - 4],
+						width : lastActionObject[lastActionObject.length - 3],
+						height : lastActionObject[lastActionObject.length - 2],
+						opacity : lastActionObject[5]
+					});
+					
+			if ($debug) ("paintactionHistory 1 ",tmpCurrentlayer.x,tmpCurrentlayer.y,tmpCurrentlayer.opacity);
+
+			tmpCurrentlayer.fillstyle = lastActionObject[2];
+			tmpCurrentlayer.lineWidth = lastActionObject[3];
+			tmpCurrentlayer.strokeStyle = lastActionObject[4];
+			
+			if ($debug) ("paintactionHistory 2 ",tmpCurrentlayer.fillstyle,tmpCurrentlayer.lineWidth,tmpCurrentlayer.strokeStyle);
+
+			for (var eg = 0; eg < lastActionObject[1].length; eg++) {
+				if ($debug) ("paintactionHistory 3 ",lastActionObject[1][eg][1], lastActionObject[1][eg][2],
+										lastActionObject[1][eg][3], lastActionObject[1][eg][4]);
+				this.drawlineOnObject(tmpCurrentlayer,
+						lastActionObject[1][eg][1], lastActionObject[1][eg][2],
+						lastActionObject[1][eg][3], lastActionObject[1][eg][4]);
+			}
+
+			//tmpCurrentlayer.setAttribute('stretches','both');
+			this.doSWFDocumentStatus(tmpCurrentlayer,
+					lastActionObject[lastActionObject.length - 7]);
+		]]>
+		</method>
+    
+	</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawPointer.lzx b/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawPointer.lzx
new file mode 100644
index 0000000..2b82ac5
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawPointer.lzx
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="baseDrawPointer" extends="baseDrawEllipse" >
+      
+    <!-- Pointers -->
+    
+    <method name="endPointerWhiteBoard">
+        this.drawPointerWhiteBoardFinal(
+                "pointer"+this.getCounter(),
+                this.getMouse('x'),this.getMouse('y'),
+                0,0
+            )
+    </method>
+
+    <method name="drawPointerToHistory" args="actionObject,parentObj">
+        new lz.whiteBoardPointer(parentObj,{
+            x:actionObject[actionObject.length-5],
+            y:actionObject[actionObject.length-4],
+            userName:actionObject[1]
+        })
+    </method>
+
+    <method name="drawPointerWhiteBoardFinal" args="newName,x,y,width,height" >
+        var actionObject = new Array();
+        actionObject[0] = 'pointerWhiteBoard';
+        actionObject[1] = canvas.currentuser;
+        actionObject[2] = this.counter;//-6
+        actionObject[3] = x;//-5
+        actionObject[4] = y;//-4
+        actionObject[5] = width;//-3
+        actionObject[6] = height;//-2
+        actionObject[7] = newName;//-1
+        this.baseactionobjectList.push(actionObject);
+        this.onsharedMessage('draw',actionObject);
+        this.drawPointerToHistory(actionObject,this);
+    </method>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawRect.lzx b/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawRect.lzx
new file mode 100644
index 0000000..c3fcd4e
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawRect.lzx
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="baseDrawRect" extends="baseDrawSelect" >
+    
+    <!--  
+        for drawing rectangles the variable 
+        with *Dis* indicates if the line/fil-color is active (+1/-1)
+     -->
+    <attribute name="currentrectanglestroke" value="0xFF6600" />
+    <attribute name="currentrectanglestrokeDis" value="1" type="number" />
+    <attribute name="currentrectanglestrokeFill" value="0xFFFF33" />
+    <attribute name="currentrectanglestrokeFillDis" value="1" type="number" />
+    <attribute name="currentrectangleineWidth" value="4" type="number" />
+    <attribute name="currentrectangleOpacity" value="1" type="number" />
+      
+    <!-- ###########################
+        Rectangle
+     -->
+    
+    <method name="startRect" args="oid_name">
+        if (oid_name == null){
+            oid_name = 'rectangle'+this.getCounter();
+        }
+        //Debug.write("startRect");
+        this.currentlayer = new lz.drawViewNew(this,{
+            name:oid_name,width:this.width,height:this.height,
+            opacity:this.currentrectangleOpacity});
+
+        this.drawlineOnObject(this.currentlayer,-1,-1,0,0);
+        this.drawlineOnObject(this.currentlayer,this.width,this.height,this.width+1,this.height+1);
+    </method>  
+
+    <method name="endRect">
+        <![CDATA[        
+        
+            ////Debug.write(" this.startx, this.starty , this.endx, this.endy ",this.startx, this.starty , this.endx, this.endy);
+            var tmpName = this.currentlayer.name;
+            this.currentlayer.destroy();
+            var x = this.startx;
+            var width = this.endx - this.startx;
+            if (this.endx<this.startx){
+                x = this.endx;
+                width = Math.abs(width);
+            }
+            var y = this.starty;
+            var height = this.endy - this.starty;
+            if (this.endy<this.starty){
+                y = this.endy;
+                height = Math.abs(height);
+            }
+            
+            if(this.isSnapToGrid){        		
+	    			        	   
+	            x = Math.round(x/this.gridWidth)*this.gridWidth;
+		    	y = Math.round(y/this.gridWidth)*this.gridWidth;
+            
+            } 
+            
+            this.currentlayer = new lz.drawViewNew(this,{
+                name:tmpName,x:x,y:y,width:width,height:height,
+                opacity:this.currentrectangleOpacity});
+                
+            new lz.drawViewInner(this.currentlayer,{
+                name:'_innerRect',x:0,y:0,width:width,height:height});
+                
+            this.drawrectangleHistory(this.currentlayer,0,0,width,height,
+                this.currentrectanglestroke,this.currentrectangleineWidth,
+                this.currentrectanglestrokeFill,this.currentrectanglestrokeDis,
+                this.currentrectanglestrokeFillDis);
+            //this.currentlayer.setAttribute('stretches','both');
+            this.drawrectregisterFinal(this.currentlayer.name,this.currentrectanglestroke,
+                this.currentrectangleineWidth,this.currentrectanglestrokeFill,
+                this.currentrectanglestrokeDis,this.currentrectanglestrokeFillDis,
+                x,y,width,height,this.getSWFDocumentStatus(),
+                this.getZIndex());
+            this.layers.push(this.currentlayer);
+            this.checkStepLayers();
+        ]]>
+    </method> 
+    
+    <!--
+        Terminate the usage of this function
+     --> 
+    <method name="drawrectangle" args="x1,y1,x2,y2">
+        <![CDATA[
+            
+            currentlayer.lineWidth = this.currentrectangleineWidth;
+            currentlayer.beginPath();
+            currentlayer.moveTo(x1,y1);
+            currentlayer.lineTo(x1,y2);
+            currentlayer.lineTo(x2,y2);
+            currentlayer.lineTo(x2,y1);
+            currentlayer.lineTo (x1,y1);
+            currentlayer.closePath();
+            
+            if (this.currentrectanglestrokeDis!=-1){
+                currentlayer.strokeStyle = this.currentrectanglestroke;
+                currentlayer.stroke();
+            }
+
+            if (this.currentrectanglestrokeFillDis!=-1){
+                currentlayer.fillStyle = this.currentrectanglestrokeFill;
+                currentlayer.fill();
+            }
+            
+        ]]>   
+    </method>   
+    
+    <method name="redrawRectItemByScaling" args="objRef">
+        //if ($debug) Debug.write("redrawRectItemByScaling: "+objRef);
+        this.currentlayer = objRef;
+        this.currentlayer._innerRect.destroy();
+        new lz.drawViewInner(this.currentlayer,{
+            name:'_innerRect',x:0,y:0,width:objRef.width,height:objRef.height});
+        this.drawrectangleHistory(this.currentlayer,0,0,
+            objRef.width,objRef.height,
+            this.currentrectanglestroke,this.currentrectangleineWidth,
+            this.currentrectanglestrokeFill,this.currentrectanglestrokeDis,
+            this.currentrectanglestrokeFillDis);
+    </method> 
+    
+    <method name="drawrectangleToHistory" args="lastActionObject,parentView">
+        var tmpCurrentlayer = new lz.drawViewNew(parentView,{
+            name:lastActionObject[lastActionObject.length-1],
+            x:lastActionObject[lastActionObject.length-5],
+            y:lastActionObject[lastActionObject.length-4],
+            width:lastActionObject[lastActionObject.length-3],
+            height:lastActionObject[lastActionObject.length-2],
+            opacity:lastActionObject[6]});
+        new lz.drawViewInner(tmpCurrentlayer,{
+                name:'_innerRect',x:0,y:0,
+                width:lastActionObject[lastActionObject.length-3],
+                height:lastActionObject[lastActionObject.length-2]});
+        this.drawrectangleHistory(tmpCurrentlayer,0,0,
+            lastActionObject[lastActionObject.length-3],lastActionObject[lastActionObject.length-2],
+            lastActionObject[1],lastActionObject[2],lastActionObject[3],lastActionObject[4],lastActionObject[5]);
+            
+        this.doSWFDocumentStatus(tmpCurrentlayer,lastActionObject[lastActionObject.length-7]);
+    </method>
+    
+    <method name="drawrectangleHistory" args="parentObj,x1,y1,x2,y2,stroke,line,fill,strokeDis,fillDis">
+        <![CDATA[
+            //Debug.write("drawrectangleHistory",parentObj,x1,y1,x2,y2,stroke,line,fill,strokeDis,fillDis);
+            parentObj._innerRect.lineWidth = line;
+            parentObj._innerRect.beginPath();
+            parentObj._innerRect.moveTo(x1,y1);
+            parentObj._innerRect.lineTo(x1,y2);
+            parentObj._innerRect.lineTo(x2,y2);
+            parentObj._innerRect.lineTo(x2,y1);
+            parentObj._innerRect.lineTo (x1,y1);
+            
+            if (strokeDis!=-1){
+                parentObj._innerRect.strokeStyle = stroke;
+                parentObj._innerRect.stroke();
+            }
+            
+            if (fillDis!=-1){
+                parentObj._innerRect.fillStyle = fill;
+                parentObj._innerRect.fill();
+            }
+            
+        ]]>   
+    </method>  
+    
+    <method name="drawrectregisterFinal" args="newName,stroke,line,fill,strokeDis,fillDis,x,y,width,height,swfObj,zIndex" >
+        Debug.write("drawrectregisterFinal",newName,stroke,line,fill,strokeDis,fillDis,x,y,width,height);
+        var actionObject = new Array();
+        actionObject[0] = 'rectangle';
+        actionObject[1] = stroke;
+        actionObject[2] = line;
+        actionObject[3] = fill;
+        actionObject[4] = strokeDis;
+        actionObject[5] = fillDis;
+        actionObject[6] = this.currentrectangleOpacity;
+        actionObject[7] = zIndex;//-8
+        actionObject[8] = swfObj;//-7
+        actionObject[9] = this.counter;//-6
+        actionObject[10] = x;//-5
+        actionObject[11] = y;//-4
+        actionObject[12] = width;//-3
+        actionObject[13] = height;//-2  
+        actionObject[14] = newName;//-1
+        this.baseactionobjectList.push(actionObject);
+        this.onsharedMessage('draw',actionObject);
+    </method>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawSelect.lzx b/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawSelect.lzx
new file mode 100644
index 0000000..81710bb
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawSelect.lzx
@@ -0,0 +1,465 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="baseDrawSelect" extends="baseDrawTriangle" >
+    
+    <!--  
+        for drawing rectangles the variable 
+        with *Dis* indicates if the line/fil-color is active (+1/-1)
+     -->
+    <attribute name="currentSelectanglestroke" value="0x8e8986" />
+    <attribute name="currentSelectanglestrokeDis" value="1" type="number" />
+    <attribute name="currentSelectanglestrokeFill" value="0x8e8986" />
+    <attribute name="currentSelectanglestrokeFillDis" value="1" type="number" />
+    <attribute name="currentSelectangleineWidth" value="4" type="number" />
+    <attribute name="currentSelectangleOpacity" value="0.2" type="number" />
+    
+    <method name="copyWhiteboardObjects">
+        this.doCopyWhiteboardObjects();
+    </method>
+    
+    <method name="cutWhiteboardObjects">
+    	<![CDATA[
+        	this.doCopyWhiteboardObjects();
+        	for (var eg=0;eg<this.copyObject.length;eg++){                
+                var itemToDelete = this.copyObject[eg][this.copyObject[eg].length-1];
+                this.deleteItemByName(itemToDelete);
+                
+                if ($debug) Debug.write("cut name ", this.copyObject[eg][this.copyObject[eg].length-1]);
+            }
+            
+            //if (this.boundingIsActive){
+            //    this.boundingref._innerDrag.onmouseup.sendEvent();
+            //}
+        ]]>
+    </method>
+    
+    <method name="doCopyWhiteboardObjects">
+        <![CDATA[  
+            if ($debug) Debug.write("tCopyObject :0: ",this.boundingIsActive);
+        
+            if (this.boundingIsActive) {
+            	
+            	this.copyObject = new Array();
+            	
+            	var tObject = new Array();
+                var tCopyObject = this.getBaseObjectByName(this.boundingref.objRef.name);
+                
+                if ($debug) Debug.write("tCopyObject :1: ",this.boundingref.objRef.name);
+                if ($debug) Debug.write("tCopyObject :2: ",tCopyObject);
+                
+                for (var i=0;i<tCopyObject.length;i++) {
+                    var tItemObject = tCopyObject[i];
+                    
+                    if (tItemObject instanceof Array) {
+                        
+                        var storingItemObject = new Array();
+                        
+                        for (var k=0;k<tItemObject.length;k++) {
+                            var kItemObject = tItemObject[k];
+                            
+                            if (kItemObject instanceof Array) {
+                                
+                                var subStoringItemObject = new Array();
+                                
+                                for (var l=0;l<kItemObject.length;l++) {
+                                    var lItemObject = kItemObject[l];
+                                    subStoringItemObject.push(lItemObject);
+                                }
+                                
+                                storingItemObject.push(subStoringItemObject);
+                            } else {
+                                storingItemObject.push(kItemObject);
+                            }
+                            
+                            
+                        }
+                        
+                        tObject[i] = storingItemObject;
+                        
+                    } else {
+                        tObject[i] = tItemObject;
+                    }
+                    
+                }
+                
+                this.copyObject.push(tObject);
+            	
+            } else {
+        
+            	this.copyObject = this.selectedObjects;
+            
+            }
+            
+            if ($debug) Debug.write("to this.copyObject ", this.copyObject);
+            
+        ]]>
+    </method>
+    
+    
+    
+    <method name="paste" args="paste_x, paste_y">
+        <![CDATA[       
+            //if ($debug) Debug.write("paste name ", this.copyObject[eg][this.copyObject[eg].length-1]);
+            if ($debug) Debug.write("paste copyObject", this.copyObject);
+            
+            if(this.isSnapToGrid){ 
+                paste_x = Math.round(paste_x/this.gridWidth)*this.gridWidth;
+                paste_y = Math.round(paste_y/this.gridWidth)*this.gridWidth;
+            }
+            
+            var shift_x = this.width+1;
+            var shift_y = this.height+1;
+            
+            for (var eg=0;eg<this.copyObject.length;eg++){
+            	
+            	var tx = this.copyObject[eg][this.copyObject[eg].length-5];
+            	var ty = this.copyObject[eg][this.copyObject[eg].length-4];  
+            	
+            	if (tx < shift_x) {
+            		shift_x = tx;
+            	}
+            	
+            	if (ty < shift_y) {
+                    shift_y = ty;
+                }
+            	
+            }
+            
+            if ($debug) Debug.write("paste_x,paste_y,shift_x,shift_y", paste_x,paste_y,shift_x,shift_y);
+            
+            for (var eg=0;eg<this.copyObject.length;eg++){
+                
+                //var itemToDelete = this.copyObject[eg][this.copyObject[eg].length-1];
+                //this.deleteItemByName(itemToDelete);
+                
+                //this.baseactionobjectList[eg][10] = this.baseactionobjectList[eg][10] + paste_x;
+                //this.baseactionobjectList[eg][11] = this.baseactionobjectList[eg][11] + paste_y;
+                
+                //this.copyObject[eg][10] = this.copyObject[eg][10] + paste_x -50;
+                //this.copyObject[eg][11] = this.copyObject[eg][11] + paste_y-50;
+                
+                var tempArr = this.copyObject[eg].slice(0);
+                
+                tempArr[tempArr.length-1] += tempArr[0]+this.getCounter(); //Math.round(Math.random()*10000);
+                
+                tempArr[tempArr.length-5] =  paste_x - shift_x + tempArr[tempArr.length-5];
+                tempArr[tempArr.length-4] = paste_y - shift_y + tempArr[tempArr.length-4];               
+                
+                //this.sendWatchObject("draw", this.copyObject[eg], false);
+                
+                if ($debug) Debug.write("paste tempArr :x,y: ", tempArr[tempArr.length-5],tempArr[tempArr.length-4]);
+                
+                this.sendWatchObject("draw", tempArr, false);
+                //this.sendRemoteWatchObject(tempArr);
+                
+                this.onsharedMessage('draw',tempArr);
+                
+                if ($debug) Debug.write("paste name ", this.copyObject[eg]);
+                
+                //if ($debug) Debug.write("paste this.copyObject[eg][10]", this.copyObject[eg][10]);
+                //if ($debug) Debug.write("paste this.copyObject[eg][11] ", this.copyObject[eg][11]);
+                //if ($debug) Debug.write("paste paste_x ", paste_x);
+                //if ($debug) Debug.write("paste paste_y ", paste_y);
+                
+            }
+        ]]>
+    </method>
+    
+      
+    <!-- ###########################
+        Select tool
+     -->
+    
+    <method name="startSelect" args="oid_name">
+        if (oid_name == null){
+            oid_name = 'select'+this.getCounter();
+        }
+        //Debug.write("startselect");
+        this.currentlayer = new lz.drawViewNew(this,{
+            name:oid_name,width:this.width,height:this.height,
+            opacity:this.currentSelectangleOpacity});
+        this.currentlayer
+        this.drawlineOnObject(this.currentlayer,-1,-1,0,0);
+        this.drawlineOnObject(this.currentlayer,this.width,this.height,this.width+1,this.height+1);
+    </method>  
+
+    <method name="endSelect">
+        <![CDATA[        
+        
+            ////Debug.write(" this.startx, this.starty , this.endx, this.endy ",this.startx, this.starty , this.endx, this.endy);
+            var tmpName = this.currentlayer.name;
+            this.currentlayer.destroy();
+            var x = this.startx;
+            var width = this.endx - this.startx;
+            if (this.endx<this.startx){
+                x = this.endx;
+                width = Math.abs(width);
+            }
+            var y = this.starty;
+            var height = this.endy - this.starty;
+            if (this.endy<this.starty){
+                y = this.endy;
+                height = Math.abs(height);
+            }
+            
+            if (width < 2 && height < 2) {
+            	return;
+            }
+            
+            //if(this.isSnapToGrid){        		
+	    			        	   
+	          //  x = Math.round(x/this.gridWidth)*this.gridWidth;
+		    	//y = Math.round(y/this.gridWidth)*this.gridWidth;
+            
+            //} 
+            
+            if(this.selectedObjects != null && this.selectedObjects.length > 0){
+                for (var eg=0;eg<this.selectedObjects.length;eg++){
+                        
+                    var  objectToUpdate = this.getObjectByName(this.selectedObjects[eg][this.selectedObjects[eg].length-1]);
+                    objectToUpdate.setAttribute('opacity', 1);
+                    
+                }
+            }
+            
+            this.selectedObjects = new Array();
+            
+            for (var eg=0;eg<this.baseactionobjectList.length;eg++){
+                //Debug.write("this.baseactionobjectList[eg][0]==modi",this.baseactionobjectList[eg][0],modi);
+                //if ($debug) Debug.write("############## baseactionobjectList select : ", this.baseactionobjectList[eg]);
+                //if ($debug) Debug.write("############## baseactionobjectList select x: ", this.baseactionobjectList[eg][10]);
+                //if ($debug) Debug.write("############## baseactionobjectList select y: ", this.baseactionobjectList[eg][11]);
+                //if ($debug) Debug.write("############## baseactionobjectList select opacity: ", this.baseactionobjectList[eg][6]);
+                //if ($debug) Debug.write("############## baseactionobjectList select name: ", this.baseactionobjectList[eg][14]);
+                
+                //if ($debug) Debug.write("############## baseactionobjectList select this x: ", x);
+                //if ($debug) Debug.write("############## baseactionobjectList select this y: ", y);
+                
+                //if ($debug) Debug.write("############## baseactionobjectList select this x+width: ", x+width);
+                //if ($debug) Debug.write("############## baseactionobjectList select this y+height: ", y+height);
+                
+                //if (this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-1]==bName) {
+                    //return this.baseactionobjectList[eg];
+                //}
+                
+                if (
+                    (this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-5] > x && this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-4] > y) &&
+                    (this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-5] < x+width && this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-4] < y+height)
+                   ) {
+                    //return this.baseactionobjectList[eg];
+                    //this.baseactionobjectList[eg][6] = 0.2;
+                    
+                   	var tObject = new Array();
+                   	var tCopyObject = this.baseactionobjectList[eg];
+                   	
+                   	for (var i=0;i<tCopyObject.length;i++) {
+                   		var tItemObject = tCopyObject[i];
+                   		
+                   		if (tItemObject instanceof Array) {
+                   			
+               			    var storingItemObject = new Array();
+                   			
+               			    for (var k=0;k<tItemObject.length;k++) {
+           				        var kItemObject = tItemObject[k];
+           				        
+           				        if (kItemObject instanceof Array) {
+           				        	
+           				        	var subStoringItemObject = new Array();
+           				        	
+           				        	for (var l=0;l<kItemObject.length;l++) {
+           				        		var lItemObject = kItemObject[l];
+           				        		subStoringItemObject.push(lItemObject);
+           				        	}
+           				        	
+           				        	storingItemObject.push(subStoringItemObject);
+           				        } else {
+           				        	storingItemObject.push(kItemObject);
+           				        }
+                   				
+                   				
+                   			}
+                   			
+                   			tObject[i] = storingItemObject;
+                   			
+                   		} else {
+                   			tObject[i] = tItemObject;
+                   		}
+                   		
+                   	}
+                   	
+                   	
+                   	
+                    this.selectedObjects.push(tObject);
+                    
+                    objectToUpdate = this.getObjectByName(this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-1]);
+                    objectToUpdate.setAttribute('opacity', 0.7);
+                    
+                    //this.baseactionobjectList[eg][14] += '_copy';
+                    //this.sendRemoteWatchObject(this.baseactionobjectList[eg]);
+                    //this.sendRemoteWatchObject(this.baseactionobjectList[eg]);                  
+                    
+                    if ($debug) Debug.write("############## objectToUpdate: ", objectToUpdate);
+                    if ($debug) Debug.write("############## baseactionobjectList select opacity if: ", this.baseactionobjectList[eg][6]);
+                }
+            }  
+            
+            /*
+            if(whiteboardObjects.length > 0){
+            	 = whiteboardObjects;
+            }
+            */
+            
+            if ($debug) Debug.write("############## endSelect this.selectedObjects: ",  this.selectedObjects);
+            
+            this.currentlayer = new lz.drawViewNew(this,{
+                name:tmpName,x:x,y:y,width:width,height:height,
+                opacity:this.currentSelectangleOpacity});
+                
+            new lz.drawViewInner(this.currentlayer,{
+                name:'_innerSelect',x:0,y:0,width:width,height:height});
+                
+            //this.drawSelectangleHistory(this.currentlayer,0,0,width,height,
+              //  this.currentSelectanglestroke,this.currentSelectangleineWidth,
+                //this.currentSelectanglestrokeFill,this.currentSelectanglestrokeDis,
+                //this.currentSelectanglestrokeFillDis);
+           
+            //this.drawSelectregisterFinal(this.currentlayer.name,this.currentSelectanglestroke,
+              //  this.currentSelectangleineWidth,this.currentSelectanglestrokeFill,
+                //this.currentSelectanglestrokeDis,this.currentSelectanglestrokeFillDis,
+                //x,y,width,height,this.getSWFDocumentStatus(),
+                //this.getZIndex());
+            //this.layers.push(this.currentlayer);
+            //this.checkStepLayers();
+        ]]>
+    </method> 
+    
+    <!--
+        Terminate the usage of this function
+     --> 
+     <!--
+    <method name="drawSelectangle" args="x1,y1,x2,y2">
+        <![CDATA[
+            
+            currentlayer.lineWidth = this.currentSelectangleineWidth;
+            currentlayer.beginPath();
+            currentlayer.moveTo(x1,y1);
+            currentlayer.lineTo(x1,y2);
+            currentlayer.lineTo(x2,y2);
+            currentlayer.lineTo(x2,y1);
+            currentlayer.lineTo (x1,y1);
+            this.closePath();
+            
+            if (this.currentSelectanglestrokeDis!=-1){
+                currentlayer.strokeStyle = this.currentSelectanglestroke;
+                currentlayer.stroke();
+            }
+
+            if (this.currentSelectanglestrokeFillDis!=-1){
+                currentlayer.fillStyle = this.currentSelectanglestrokeFill;
+                currentlayer.fill();
+            }
+            
+        ]]>   
+    </method>   
+    -->
+    <method name="redrawSelectItemByScaling" args="objRef">
+        //if ($debug) Debug.write("redrawSelectItemByScaling: "+objRef);
+        this.currentlayer = objRef;
+        this.currentlayer._innerSelect.destroy();
+        new lz.drawViewInner(this.currentlayer,{
+            name:'_innerSelect',x:0,y:0,width:objRef.width,height:objRef.height});
+        this.drawSelectangleHistory(this.currentlayer,0,0,
+            objRef.width,objRef.height,
+            this.currentSelectanglestroke,this.currentSelectangleineWidth,
+            this.currentSelectanglestrokeFill,this.currentSelectanglestrokeDis,
+            this.currentSelectanglestrokeFillDis);
+    </method> 
+    
+    <method name="drawSelectangleToHistory" args="lastActionObject,parentView">
+        var tmpCurrentlayer = new lz.drawViewNew(parentView,{
+            name:lastActionObject[lastActionObject.length-1],
+            x:lastActionObject[lastActionObject.length-5],
+            y:lastActionObject[lastActionObject.length-4],
+            width:lastActionObject[lastActionObject.length-3],
+            height:lastActionObject[lastActionObject.length-2],
+            opacity:lastActionObject[6]});
+        new lz.drawViewInner(tmpCurrentlayer,{
+                name:'_innerSelect',x:0,y:0,
+                width:lastActionObject[lastActionObject.length-3],
+                height:lastActionObject[lastActionObject.length-2]});
+        this.drawSelectangleHistory(tmpCurrentlayer,0,0,
+            lastActionObject[lastActionObject.length-3],lastActionObject[lastActionObject.length-2],
+            lastActionObject[1],lastActionObject[2],lastActionObject[3],lastActionObject[4],lastActionObject[5]);
+            
+        this.doSWFDocumentStatus(tmpCurrentlayer,lastActionObject[lastActionObject.length-7]);
+    </method>
+    
+    <method name="drawSelectangleHistory" args="parentObj,x1,y1,x2,y2,stroke,line,fill,strokeDis,fillDis">
+        <![CDATA[
+            //Debug.write("drawSelectangleHistory",parentObj,x1,y1,x2,y2,stroke,line,fill,strokeDis,fillDis);
+            parentObj._innerSelect.lineWidth = line;
+            parentObj._innerSelect.beginPath();
+            parentObj._innerSelect.moveTo(x1,y1);
+            parentObj._innerSelect.lineTo(x1,y2);
+            parentObj._innerSelect.lineTo(x2,y2);
+            parentObj._innerSelect.lineTo(x2,y1);
+            parentObj._innerSelect.lineTo (x1,y1);
+            
+            if (strokeDis!=-1){
+                parentObj._innerSelect.strokeStyle = stroke;
+                parentObj._innerSelect.stroke();
+            }
+            
+            if (fillDis!=-1){
+                parentObj._innerSelect.fillStyle = fill;
+                parentObj._innerSelect.fill();
+            }
+            
+        ]]>   
+    </method>  
+    
+    <method name="drawSelectregisterFinal" args="newName,stroke,line,fill,strokeDis,fillDis,x,y,width,height,swfObj,zIndex" >
+        Debug.write("drawSelectregisterFinal",newName,stroke,line,fill,strokeDis,fillDis,x,y,width,height);
+        var actionObject = new Array();
+        actionObject[0] = 'Selectangle';
+        actionObject[1] = stroke;
+        actionObject[2] = line;
+        actionObject[3] = fill;
+        actionObject[4] = strokeDis;
+        actionObject[5] = fillDis;
+        actionObject[6] = this.currentSelectangleOpacity;
+        actionObject[7] = zIndex;//-8
+        actionObject[8] = swfObj;//-7
+        actionObject[9] = this.counter;//-6
+        actionObject[10] = x;//-5
+        actionObject[11] = y;//-4
+        actionObject[12] = width;//-3
+        actionObject[13] = height;//-2  
+        actionObject[14] = newName;//-1
+        this.baseactionobjectList.push(actionObject);
+        this.onsharedMessage('draw',actionObject);
+    </method>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawTriangle.lzx b/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawTriangle.lzx
new file mode 100644
index 0000000..56baab0
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawTriangle.lzx
@@ -0,0 +1,277 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="baseDrawTriangle" extends="baseDrawClipArt" >
+    
+    <!--  
+        for drawing rectangles the variable 
+        with *Dis* indicates if the line/fil-color is active (+1/-1)
+     -->
+    <attribute name="currenttrianglestroke" value="0xFF6600" />
+    <attribute name="currenttrianglestrokeDis" value="1" type="number" />
+    <attribute name="currenttrianglestrokeFill" value="0xFFFF33" />
+    <attribute name="currenttrianglestrokeFillDis" value="1" type="number" />
+    <attribute name="currenttriangleineWidth" value="4" type="number" />
+    <attribute name="currenttriangleOpacity" value="1" type="number" />
+     
+      
+    <!-- ###########################
+        triangle
+     -->
+    
+    <method name="startTriangle" args="oid_name">
+        if (oid_name == null){
+            oid_name = 'triangle'+this.getCounter();
+        }
+        //Debug.write("startTriangle");
+        this.currentlayer = new lz.drawViewNew(this,{
+            name:oid_name,width:this.width,height:this.height,
+            opacity:this.currenttriangleOpacity});
+        this.currentlayer
+        this.drawlineOnObject(this.currentlayer,-1,-1,0,0);
+        this.drawlineOnObject(this.currentlayer,this.width,this.height,this.width+1,this.height+1);
+    </method>  
+
+    <method name="endTriangle">
+        <![CDATA[        	
+        
+            ////Debug.write(" this.startx, this.starty , this.endx, this.endy ",this.startx, this.starty , this.endx, this.endy);
+            var tmpName = this.currentlayer.name;
+            this.currentlayer.destroy();
+            
+            var tTriangle = this.getTrianglePointByRect(this.startx,this.starty,this.endx,this.endy);
+            
+            var max_x = Math.max(this.startx,this.endx,tTriangle.x);
+            var min_x = Math.min(this.startx,this.endx,tTriangle.x);
+            var max_y = Math.max(this.starty,this.endy,tTriangle.y);
+            var min_y = Math.min(this.starty,this.endy,tTriangle.y);
+            
+            
+            var x = min_x;
+            var width = max_x - min_x;
+            var y = min_y;
+            var height = max_y - min_y;
+            
+            var tx1 = this.startx-x;
+            var ty1 = this.starty-y;
+            var tx2 = this.endx-x;
+            var ty2 = this.endy-y;
+            var tx3 = tTriangle.x-x;
+            var ty3 = tTriangle.y-y;
+            
+            if(this.isSnapToGrid){        		
+	    			        	   
+	            x = Math.round(x/this.gridWidth)*this.gridWidth;
+		    	y = Math.round(y/this.gridWidth)*this.gridWidth;
+            
+            } 
+            
+            this.currentlayer = new lz.drawViewNew(this,{
+                name:tmpName,x:x,y:y,width:width,height:height,
+                opacity:this.currenttriangleOpacity});
+                
+            new lz.drawViewInner(this.currentlayer,{
+                name:'_innerTriangle',x:0,y:0,width:width,height:height});
+                
+            this.drawtriangleHistory(this.currentlayer,0,0,width,height,
+            	tx1,ty1,tx2,ty2,tx3,ty3,
+                this.currenttrianglestroke,this.currenttriangleineWidth,
+                this.currenttrianglestrokeFill,this.currenttrianglestrokeDis,
+                this.currenttrianglestrokeFillDis);
+            //this.currentlayer.setAttribute('stretches','both');
+            this.drawTriangleregisterFinal(this.currentlayer.name,this.currenttrianglestroke,
+                this.currenttriangleineWidth,this.currenttrianglestrokeFill,
+                this.currenttrianglestrokeDis,this.currenttrianglestrokeFillDis,
+                x,y,width,height,
+                tx1,ty1,tx2,ty2,tx3,ty3,
+                this.getSWFDocumentStatus(),
+                this.getZIndex());
+            this.layers.push(this.currentlayer);
+            this.checkStepLayers();
+            if ($debug) Debug.write("############## this.endx : ", this.endx);
+        ]]>
+    </method> 
+    
+    <method name="getTrianglePointByRect" args="x1,y1,x2,y2">
+    	<![CDATA[
+    		if (x2 >= x1 && y1 >= y2) {
+
+               var a = y1 - y2;
+               var b = x2 - x1;
+               
+               return {'x':x2 + a,'y':y2 + b};
+
+           } else if (x2 >= x1 && y1 <= y2) {
+
+               var a = y2 - y1;
+               var b = x2 - x1;
+
+               return {'x':x2 - a,'y':y2 + b};
+
+           } else if (x2 <= x1 && y1 <= y2) {
+
+               var a = y2 - y1;
+               var b = x1 - x2;
+
+               return {'x':x2 - a,'y':y2 - b};
+               
+           } else if (x2 <= x1 && y1 >= y2) {
+
+               var a = y1 - y2;
+               var b = x1 - x2;
+
+               return {'x':x2 + a,'y':y2 - b};
+               
+           } else {
+
+               if ($debug) Debug.warn("DEFAULT drawtriangle ",x1,y1,x2,y2);
+
+           }
+           
+       ]]>
+    </method>
+    
+    <!--
+        Terminate the usage of this function
+     --> 
+    <method name="drawtriangle" args="x1,y1,x2,y2">
+       <![CDATA[
+
+           var tTriangle = this.getTrianglePointByRect(x1,y1,x2,y2);
+
+		   this.drawtriangleByCord(x1,y1,x2,y2,tTriangle.x,tTriangle.y)
+       ]]>   
+   </method> 
+   
+    <method name="drawtriangleByCord" args="tx1,ty1,tx2,ty2,tx3,ty3">
+       <![CDATA[
+
+		   currentlayer.lineWidth = this.currenttriangleineWidth;
+           currentlayer.beginPath();
+           currentlayer.moveTo(tx1, ty1);
+           currentlayer.lineTo(tx2, ty2);
+           currentlayer.lineTo(tx3, ty3);
+           currentlayer.lineTo(tx1, ty1);
+           currentlayer.closePath();
+
+           if (this.currenttrianglestrokeDis != -1) {
+               currentlayer.strokeStyle = this.currenttrianglestroke;
+               currentlayer.stroke();
+           }
+
+           if (this.currenttrianglestrokeFillDis != -1) {
+               currentlayer.fillStyle = this.currenttrianglestrokeFill;
+               currentlayer.fill();
+           }
+       ]]>   
+   </method> 
+    
+    <method name="redrawTriangleItemByScaling" args="objRef">
+        //if ($debug) Debug.write("redrawTriangleItemByScaling: "+objRef);
+        this.currentlayer = objRef;
+        this.currentlayer._innerTriangle.destroy();
+        new lz.drawViewInner(this.currentlayer,{
+            name:'_innerTriangle',x:0,y:0,width:objRef.width,height:objRef.height});
+        this.drawtriangleHistory(this.currentlayer,0,0,
+            objRef.width,objRef.height,
+            this.currenttrianglestroke,this.currenttriangleineWidth,
+            this.currenttrianglestrokeFill,this.currenttrianglestrokeDis,
+            this.currenttrianglestrokeFillDis);
+    </method> 
+    
+    <method name="drawtriangleToHistory" args="lastActionObject,parentView">
+        var tmpCurrentlayer = new lz.drawViewNew(parentView,{
+            name:lastActionObject[lastActionObject.length-1],
+            x:lastActionObject[lastActionObject.length-5],
+            y:lastActionObject[lastActionObject.length-4],
+            width:lastActionObject[lastActionObject.length-3],
+            height:lastActionObject[lastActionObject.length-2],
+            opacity:lastActionObject[6]});
+        new lz.drawViewInner(tmpCurrentlayer,{
+                name:'_innerTriangle',x:0,y:0,
+                width:lastActionObject[lastActionObject.length-3],
+                height:lastActionObject[lastActionObject.length-2]});
+        this.drawtriangleHistory(tmpCurrentlayer,0,0,
+            lastActionObject[lastActionObject.length-3],lastActionObject[lastActionObject.length-2],
+            lastActionObject[7],lastActionObject[8], //tx1,ty1
+            lastActionObject[9],lastActionObject[10], //tx2,ty2
+            lastActionObject[11],lastActionObject[12], //tx3,ty3
+            lastActionObject[1],lastActionObject[2],lastActionObject[3],lastActionObject[4],lastActionObject[5]);
+            
+        this.doSWFDocumentStatus(tmpCurrentlayer,lastActionObject[lastActionObject.length-7]);
+    </method>
+    
+    <method name="drawtriangleHistory" args="parentObj,x1,y1,x2,y2,tx1,ty1,tx2,ty2,tx3,ty3,stroke,line,fill,strokeDis,fillDis">
+        <![CDATA[
+            //Debug.write("drawtriangleHistory",parentObj,x1,y1,x2,y2,stroke,line,fill,strokeDis,fillDis);
+            parentObj._innerTriangle.lineWidth = line;
+            parentObj._innerTriangle.beginPath();
+            parentObj._innerTriangle.moveTo(tx1,ty1);
+            parentObj._innerTriangle.lineTo(tx2,ty2);
+            parentObj._innerTriangle.lineTo(tx3,ty3);
+            parentObj._innerTriangle.lineTo (tx1,ty1);
+            parentObj._innerTriangle.closePath();
+            
+            if (strokeDis!=-1){
+                parentObj._innerTriangle.strokeStyle = stroke;
+                parentObj._innerTriangle.stroke();
+            }
+            
+            if (fillDis!=-1){
+                parentObj._innerTriangle.fillStyle = fill;
+                parentObj._innerTriangle.fill();
+            }
+            
+        ]]>   
+    </method>  
+    
+    <method name="drawTriangleregisterFinal" args="newName,stroke,line,fill,strokeDis,fillDis,x,y,width,height,tx1,ty1,tx2,ty2,tx3,ty3,swfObj,zIndex" >
+        Debug.write("drawTriangleregisterFinal",newName,stroke,line,fill,strokeDis,fillDis,x,y,width,height);
+        var actionObject = new Array();
+        actionObject[0] = 'triangle';
+        actionObject[1] = stroke;
+        actionObject[2] = line;
+        actionObject[3] = fill;
+        actionObject[4] = strokeDis;
+        actionObject[5] = fillDis;
+        actionObject[6] = this.currenttriangleOpacity;
+        actionObject[7] = tx1;
+        actionObject[8] = ty1;
+        actionObject[9] = tx2;
+        actionObject[10] = ty2;
+        actionObject[11] = tx3;
+        actionObject[12] = ty3;
+        actionObject[13] = zIndex;//-8
+        actionObject[14] = swfObj;//-7
+        actionObject[15] = this.counter;//-6
+        actionObject[16] = x;//-5
+        actionObject[17] = y;//-4
+        actionObject[18] = width;//-3
+        actionObject[19] = height;//-2  
+        actionObject[20] = newName;//-1
+        this.baseactionobjectList.push(actionObject);
+        this.onsharedMessage('draw',actionObject);
+    </method>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawULine.lzx b/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawULine.lzx
new file mode 100644
index 0000000..dfa7e5b
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/tools/baseDrawULine.lzx
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="baseDrawULine" extends="baseDrawLine" >
+    
+    <!-- for drawing uline -->
+    <attribute name="currentulinestroke" value="0xFF6600" />
+    <attribute name="currentulinelineWidth" value="20" type="number" />  
+    <attribute name="currentulineOpacity" value="0.5" type="number" />
+      
+    
+    <!-- ###########################
+    Underline
+     -->
+    <method name="startUline" args="oid_name">
+        if (oid_name == null){
+            oid_name = 'uline'+this.getCounter();
+        }
+        //Debug.write("startUline ",this.startx,this.starty);
+        this.currentlayer = new lz.drawViewNew(this,{
+            name:oid_name,width:this.width+2,height:this.height+2,
+            x:-1,y:-1,
+            opacity:this.currentulineOpacity});
+        this.drawlineOnObject(this.currentlayer,-1,-1,0,0);
+        this.drawlineOnObject(this.currentlayer,this.width,this.height,this.width+1,this.height+1);
+    
+        //Set previous to null
+        this.prevx = null;
+        this.prevy = null;  
+        
+        currentlayer.strokeStyle = this.currentulinestroke;
+        currentlayer.lineWidth = this.currentulinelineWidth;
+        currentlayer.fillstyle = '0x000000';
+    </method>  
+    
+    <method name="endUline">
+        //Debug.write("endUline",this.startx,this.starty,this.endx,this.endy);
+        <![CDATA[
+            var tempName = this.currentlayer.name;
+            //Debug.write("tempName: ",tempName);
+            this.currentlayer.destroy();
+            
+            //GetBounds of that Object
+            var minx = this.width+2;
+            var miny = this.height+2;
+            var maxx = -2;
+            var maxy = -2;
+    
+            if (this.startx<minx) minx=this.startx;
+            if (this.endx<minx) minx=this.endx;
+            
+            if (this.startx>maxx) maxx=this.startx;
+            if (this.endx>maxx) maxx=this.endx;
+            
+            if (this.starty<miny) miny=this.starty;
+            if (this.endy<miny) miny=this.endy;
+            
+            if (this.starty>maxy) maxy=this.starty;
+            if (this.endy>maxy) maxy=this.endy;
+            
+            var width = maxx-minx;
+            var height = maxy-miny;
+            
+            var x1 = this.startx-minx+(this.currentulinelineWidth/2);
+            var y1 = this.starty-miny+(this.currentulinelineWidth/2);
+            var x2 = this.endx-minx+(this.currentulinelineWidth/2);
+            var y2 = this.endy-miny+(this.currentulinelineWidth/2);
+            
+            //Debug.write("minx,miny,width,height: ",minx,miny,width,height);
+            
+            this.currentlayer = new lz.drawViewNew(this,{
+                name:tempName,x:(minx-1-(this.currentulinelineWidth/2)),
+                y:(miny-1-(this.currentulinelineWidth/2)),
+                width:(width+this.currentulinelineWidth),
+                height:(height+this.currentulinelineWidth),
+                opacity:this.currentulineOpacity});
+                
+            //this.currentlayer.fillstyle = '0x000000';
+            this.currentlayer.lineWidth = this.currentulinelineWidth;
+            this.currentlayer.strokeStyle = this.currentulinestroke;
+    
+            this.drawline((x1),(y1),(x2),(y2));
+    
+            //Add Layer to global Layer     
+            this.layers.push(this.currentlayer);  
+            this.ulineregisterFinal(this.currentlayer.name,this.currentulinestroke,
+                this.currentulinelineWidth,this.currentulineOpacity,
+                this.currentlayer.x,this.currentlayer.y,
+                this.currentlayer.width,this.currentlayer.height,
+                x1,y1,x2,y2,true,this.getSWFDocumentStatus(),
+                this.getZIndex());
+        ]]>
+    </method> 
+    
+    
+    <method name="ulineregisterFinal" args="newName,stroke,line,opacity,x,y,width,height,x1,y1,x2,y2,doCall,swfObj,zIndex">
+        var actionObject = new Array();
+        actionObject[0] = 'uline';
+        actionObject[1] = stroke;
+        actionObject[2] = line;
+        actionObject[3] = opacity;
+        actionObject[4] = x1  
+        actionObject[5] = y1;  
+        actionObject[6] = x2;    
+        actionObject[7] = y2;  
+        actionObject[8] = zIndex;//-8
+        actionObject[9] = swfObj;//-7
+        actionObject[10] = this.counter;//-6 
+        actionObject[11] = x;//-5
+        actionObject[12] = y;//-4
+        actionObject[13] = width;//-3
+        actionObject[14] = height;//-2
+        actionObject[15] = newName;//-1
+        this.baseactionobjectList.push(actionObject);       
+        if (doCall) this.onsharedMessage('draw',actionObject);
+    </method>       
+    
+    
+    <method name="ulineactionHistory" args="lastActionObject,parentView">
+        <![CDATA[
+        //Debug.write("## lineactionHistory",parentView," 2 ## NEW x,y ",lastActionObject[lastActionObject.length-5],lastActionObject[lastActionObject.length-4]," width,height: ",lastActionObject[lastActionObject.length-3],lastActionObject[lastActionObject.length-2]);
+        
+        var tmpCurrentlayer = new lz.drawViewNew(parentView,{
+                name:lastActionObject[lastActionObject.length-1],
+                x:lastActionObject[lastActionObject.length-5],
+                y:lastActionObject[lastActionObject.length-4],
+                width:lastActionObject[lastActionObject.length-3],
+                height:lastActionObject[lastActionObject.length-2],
+                opacity:lastActionObject[3]});
+            
+            //this.currentlayer.fillstyle = lastActionObject[1];
+            tmpCurrentlayer.lineWidth = lastActionObject[2];
+            tmpCurrentlayer.strokeStyle = lastActionObject[1];
+    
+            this.drawlineOnObject(tmpCurrentlayer, lastActionObject[4],lastActionObject[5],lastActionObject[6],lastActionObject[7]);
+            
+            //Add Layer to global Layer     
+            this.layers.push(tmpCurrentlayer);  
+            
+            this.doSWFDocumentStatus(tmpCurrentlayer,lastActionObject[lastActionObject.length-7]);
+
+        ]]>
+    </method>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/tools/library.lzx b/WebContent/src/modules/conference/whiteboard/base/tools/library.lzx
new file mode 100644
index 0000000..c84782b
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/tools/library.lzx
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<include href="baseDrawPaint.lzx" />
+    <include href="baseDrawLine.lzx" />
+    <include href="baseDrawULine.lzx" />
+    <include href="baseDrawClipArt.lzx" />
+    <include href="baseDrawArrow.lzx" />
+    <include href="baseDrawRect.lzx" />
+    <include href="baseDrawEllipse.lzx" />
+    <include href="baseDrawPointer.lzx" />
+    <include href="baseDrawTriangle.lzx" />
+    <include href="baseDrawSelect.lzx" />
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/base/whiteBoardPointer.lzx b/WebContent/src/modules/conference/whiteboard/base/whiteBoardPointer.lzx
new file mode 100644
index 0000000..c95beab
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/whiteBoardPointer.lzx
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+    <class name="whiteBoardPointer" extends="view"

+           resource="pointer_whiteboard_rsc" width="20" height="20" >

+        <attribute name="userName" value="" type="string" />

+        <attribute name="fadeDelegate" value="null" />

+        <labelText x="20" text="$once{ parent.userName }" />

+        <handler name="oninit">

+            this.play();

+            this.fadeDelegate = new LzDelegate( this, "fadeText" );

+            lz.Timer.addTimer( this.fadeDelegate, 5000 );

+        </handler>

+        <method name="fadeText" args="itemObj">

+            this.destroy();

+        </method>

+    </class>

+

+</library>
\ No newline at end of file
diff --git a/WebContent/src/modules/conference/whiteboard/base/whiteboardVideoPlayer.lzx b/WebContent/src/modules/conference/whiteboard/base/whiteboardVideoPlayer.lzx
new file mode 100644
index 0000000..2a032f2
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/base/whiteboardVideoPlayer.lzx
@@ -0,0 +1,347 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="whiteboardVideoPlayer" extends="labelExplorerBox" allowDragging="false"
+    docking="false" resizeable="false" closable="false" 
+    x="0" y="0" width="${ parent.width }" height="${ parent.height }">
+	
+	<attribute name="fileExplorerItemId" value="0" type="number" />
+	
+    <attribute name="timerDelegateStarted" value="false" type="boolean" />
+    
+    <attribute name="deltaInSeconds" value="0" type="number" />
+    
+    <attribute name="currentTime" value="0" type="number" /> 	
+    
+    <attribute name="recordingName" value="" type="string" />
+    
+    <attribute name="isLoaded" value="false" type="boolean" />
+	
+	<attribute name="sendInit" value="false" type="boolean" />
+	
+	<attribute name="flv_width" value="0" type="number" /> 
+	
+    <attribute name="flv_height" value="0" type="number" /> 
+    
+    <attribute name="isPaused" value="true" type="boolean" />
+    
+	<handler name="oninit">
+		if ($debug) Debug.write("whiteboardVideoPlayer :: ",this.fileExplorerItemId);
+		
+		this.recordingName = "UPLOADFLV_" + this.fileExplorerItemId + ".flv";
+		calcVideoWidthHeight();
+		this.copyFileToCurrentRoom.doCall();
+		
+		var t = this;
+		canvas.videoComp_lc.stopRecordingStream = function(tName) {
+            if (t.name == tName) {
+            	t.stopStream();
+            }
+        }
+        canvas.videoComp_lc.metaWhiteboardPlaybackStream = function(tName,duration) {
+            if (t.name == tName) {
+                t.deltaInSeconds = duration;
+                t.setDuration();
+            }
+        }
+        canvas.videoComp_lc.updateWhiteboardStreamTime = function(tName,time) {
+            if (t.name == tName) {
+                t.currentTime = time;
+                t.calcProgressBar();
+            }
+        }
+		
+	</handler>
+	
+	<handler name="prepareForDelete" args="tRef">
+		if ($debug) Debug.write("--- prepareForDelete ");
+		this.stopStream();
+	</handler>
+	
+	<handler name="onclose">
+		this.stopStreamPlay();
+	</handler>
+	
+	<handler name="onwidth" args="w">
+		calcVideoWidthHeight();
+	</handler>
+	
+	<handler name="onheight" args="h">
+		calcVideoWidthHeight();
+	</handler>
+	
+	<!--
+	public Long copyFileToCurrentRoom(String SID, Long flvFileExplorerId)
+	 -->
+    <netRemoteCallHib name="copyFileToCurrentRoom" funcname="fileservice.copyFileToCurrentRoom" 
+        remotecontext="$once{ canvas.thishib }" > 
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.parent.fileExplorerItemId;</method></netparam>
+        <handler name="ondata" args="value">
+        	<![CDATA[    
+	            if ($debug) Debug.write("deleteFileOrFolder: ",value);
+	            parent.isLoaded = true;
+	            
+	            var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                                +canvas.httpRootKey+'DownloadHandler?fileName=UPLOADFLV_'+parent.fileExplorerItemId+'.jpg'
+                                +'&moduleName=lzRecorderApp&parentPath=&room_id='
+                                +'&sid='+canvas.sessionId;
+	            
+                parent._content._preview.imagePreview.setAttribute("src",downloadurl)
+                    
+                parent._content._preview.bringToFront();
+                                
+	            if (parent.sendInit) {
+	                parent.parent.sendNewVideoRemote(parent);
+	            }
+            ]]>
+        </handler>
+    </netRemoteCallHib>
+    
+    <method name="startStreamPlay">
+    	parent.playFLV(this,true);
+    	this.startStream();
+    </method>
+    
+    <method name="stopStreamPlay">
+    	parent.playFLV(this,false);
+    	this.stopStream();
+    </method>
+    
+    <method name="playRemote">
+    	this.startStream();
+    </method>
+    
+    <method name="stopRemote">
+        this.stopStream();
+    </method>
+    
+    <method name="startStream">
+    	<![CDATA[
+	    	if (!this.isLoaded) {
+	    		return;
+	    	}
+	    	
+	    	if ($debug) Debug.write("startStream ",this.recordingName);
+	    	
+	    	if (this.recordingName != "") {
+	    		
+	    		this.isPaused = false;
+	    		
+	    		if (!this.timerDelegateStarted) {
+	    			this.timerDelegateStarted = true;
+	            }
+	            
+	        	if ($debug) Debug.write("PLAY STREAM ",this.recordingName);
+	        	
+	        	var tObjectDimension = calcVideoWidthHeight();
+	        	
+	        	if ($debug) Debug.write("SEND ",this.recordingName,0,tObjectDimension.x,tObjectDimension.y,tObjectDimension.width,tObjectDimension.height);
+	        	
+	            // this._content._videostream.playStream(this.recordingName,0,tObjectDimension.x,tObjectDimension.y,tObjectDimension.width,tObjectDimension.height);
+	            
+	        	var tx = this.getAttributeRelative("x",canvas)+tObjectDimension.x+this._content.x;
+	        	var ty = this.getAttributeRelative("y",canvas)+tObjectDimension.y+this._content.y;
+	        	
+	            canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "playbackWhiteboardVideo", [this.name,this.recordingName,0,tx,ty,tObjectDimension.width,tObjectDimension.height]);
+	    	}
+    	]]>
+    </method>   
+    
+    <!---
+        calculates the new x, y, width and height of the video so that it is 100% 
+        visible in the container
+     -->
+    <method name="calcVideoWidthHeight">
+        <![CDATA[
+        
+            if ($debug) Debug.write("calcVideoWidthHeight ",this.flv_width,this.flv_height);
+        
+            var ratio = this.flv_width / this.flv_height;
+            
+            //max height of container is new height of video;
+            //calc new width and x-position of video
+            var newHeight = this._content.height;
+            var newWidth = ratio * newHeight; 
+            var newx = (this._content.width - newWidth) / 2;
+            var newy = 0;
+            
+            if ($debug) Debug.write("calcVideoWidthHeight",ratio,this._content.width,this._content.height,newWidth,newHeight,newx,newy);
+         
+            if (newWidth > this._content.width) {
+                newWidth = this._content.width;
+                newHeight = newWidth / ratio;
+                newx = 0;
+                newy = (this._content.height - newHeight) / 2;
+            }
+            
+            var t = {'x':newx,'y':newy,'width':newWidth,'height':newHeight};
+            
+            if ($debug) Debug.write("t",t);
+            
+            this._content._preview.setAttribute("x",newx);
+            this._content._preview.setAttribute("y",newy);
+            this._content._preview.setAttribute("width",newWidth);
+            this._content._preview.setAttribute("height",newHeight);
+            
+            return {'x':newx,'y':newy,'width':newWidth,'height':newHeight};
+        ]]>
+    </method>
+    
+    <method name="setDuration">
+    	<![CDATA[
+           if ($debug) Debug.write("setDuration ",this.deltaInSeconds);
+           var tString = "";
+           if (this.deltaInSeconds > 60) {
+               var minutes = Math.floor(this.deltaInSeconds/60);
+               var restSeconds = Math.round(this.deltaInSeconds) - ( minutes * 60 );
+               tString = minutes + " min " + restSeconds + " sec";
+           } else {
+               tString = Math.round(this.deltaInSeconds) + " sec";
+           }
+           this._progress._progressbar._duration.setAttribute("text",tString);
+        ]]>
+    </method>
+    
+    <method name="calcProgressBar">
+    	<![CDATA[
+    	   if ($debug) Debug.write("calcProgressBar ",this.currentTime);
+    	   this._progress._progressbar._pointer.setAttribute("visibility","visible");
+    	   var tString = "";
+    	   if (this.currentTime > 60) {
+    	   	   var minutes = Math.floor(this.currentTime/60);
+    	   	   var restSeconds = Math.round(this.currentTime) - ( minutes * 60 );
+    	   	   tString = minutes + " min " + restSeconds + " sec";
+    	   } else {
+    	   	   tString = Math.round(this.currentTime) + " sec";
+    	   }
+    	   var tNewX = Math.round((this._progress._progressbar.width / this.deltaInSeconds) * this.currentTime);
+    	   this._progress._progressbar._time.setAttribute("text",tString);
+    	   this._progress._progressbar._pointer.setAttribute("x",tNewX);
+    	]]>
+    </method> 
+	
+	<method name="stopStream">
+    	if (this.timerDelegateStarted) {
+    		this.timerDelegateStarted = false;
+        }
+        this._progress._progressbar._time.setAttribute("text","");
+        this._progress._progressbar._pointer.setAttribute("x",0);
+        if ($debug) Debug.write("SEND stopWhiteboardVideo ",this.name);
+        canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "stopWhiteboardVideo",[this.name]);
+        this.isPaused = true;
+    </method>
+    
+    <method name="toggleStream">
+    	if (canvas.ismoderator) {
+    		if (this.isPaused) {
+    			this.startStreamPlay();
+    		}
+    	}
+    </method>
+	
+	<view name="_content" height="${ parent.height-62 }" bgcolor="0x000000"
+		  y="22" x="1" width="${ parent.width-1 }">
+		
+		<view name="_preview" width="0" height="0" >
+        	<image name="imagePreview" stretches="both"
+        		   width="${parent.width}" height="${parent.height}" />
+            <handler name="onclick">
+            	if ($debug) Debug.write("onclick -- toggleStream");
+                parent.parent.toggleStream();
+            </handler>		   
+            <view width="60" height="40" valign="middle" opacity="0.7"
+            	  align="center" bgcolor="0xFFFFFF">
+            	<view resource="lz_recorder_play" valign="middle" align="center" />
+            </view>
+        </view>
+	
+	</view>
+
+    <view name="_progress" height="18" y="${ parent.height - 40 }" width="${ parent.width-2 }"
+    	                  x="1" bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }">
+    	
+    	<view resource="flv_recorder_play_small_rsc" y="1" height="16" width="16"
+    		      bgcolor="$once{ canvas.getThemeColor('baseMouseOvercolorizer') }">
+    		<handler name="onmouseover">
+                this.setAttribute("bgcolor",0xFFFFFF);
+            </handler>
+            <handler name="onmouseout">
+                this.setAttribute("bgcolor",canvas.getThemeColor('baseMouseOvercolorizer'));
+            </handler>
+    		<handler name="onclick">
+    			if (canvas.ismoderator) {
+    			     parent.parent.startStreamPlay();
+    			}
+    		</handler>
+    		<labelTooltip labelid="875" />
+    	</view>
+    	
+    	<view name="_progressbar" x="16" width="${ parent.width - 32 }" y="1" 
+    		  height="16" bgcolor="$once{ canvas.getThemeColor('baseMouseOvercolorizer') }">
+    		
+    		<view x="0" width="${ parent.width }" y="0" height="16" bgcolor="0xFFFFFF" opacity="0.5" /> 
+    		
+    		<handler name="onclick">
+    			//parent.parent.seekStream(this.getMouse("x"));
+    		</handler>
+    		
+    		<view name="_pointer" resource="flv_progress_pointer_rsc" visibility="hidden" />
+    		
+    		<text name="_time" resize="true" fontsize="10" />
+    		
+    		<text name="_duration" align="right" resize="true" fontsize="10" />
+    		
+    	</view>
+    	
+    	<view resource="flv_recorder_stop_small_rsc" align="right" y="1" height="16" width="16"
+    		  bgcolor="$once{ canvas.getThemeColor('baseMouseOvercolorizer') }">
+    		<handler name="onmouseover">
+    			this.setAttribute("bgcolor",0xFFFFFF);
+    		</handler>
+    		<handler name="onmouseout">
+                this.setAttribute("bgcolor",canvas.getThemeColor('baseMouseOvercolorizer'));
+            </handler>
+            <handler name="onclick">
+            	if (canvas.ismoderator) {
+                    parent.parent.stopStreamPlay();
+            	}
+            </handler>
+            <labelTooltip labelid="876" />
+        </view>
+    	
+    </view>	
+    
+    <simpleLabelButton labelid="85" width="100" x="${ parent.width-118 }" 
+    				   y="${ parent.height-20 }" >
+        <handler name="onclick">
+            if (canvas.ismoderator) {
+            	this.parent.stopRemote();
+                this.parent.parent.deleteItemByName(this.parent.name);
+                this.parent.parent.deleteItemByNameSync(this.parent.name);
+            }
+        </handler>
+    </simpleLabelButton>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/basePropertyPanelWhiteboard.lzx b/WebContent/src/modules/conference/whiteboard/basePropertyPanelWhiteboard.lzx
new file mode 100644
index 0000000..9c10d3f
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/basePropertyPanelWhiteboard.lzx
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="basePropertyPanelWhiteboard" extends="view" >
+	
+	<!--- @keywords private is the Box minimized  -->
+	<attribute name="isopen" value="true" type="boolean" />
+	
+	<!--- @keywords private is the Box minimized  -->
+	<attribute name="open" value="true" type="boolean" />		
+	
+	<!--- Title of this window -->
+	<attribute name="title" type="string" value="basePanel" />
+	
+	<!--- @keywords private  -->
+	<attribute name="initheight" value="0" type="number" />
+	
+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+	
+	<!--- if the box is allowed to be minimized  -->
+	<attribute name="allowToggle" value="true" type="boolean" />	
+		
+	<method name="setLabelId" args="_labelid" >
+		this.labelid = _labelid;
+		this.setAttribute("title",canvas.getLabelName(this.labelid));
+	</method>
+	
+	<method name="toggleopen">
+		if (!this.allowToggle) {
+			return;
+		}
+		////Debug.write("this.isopen",this.isopen);
+		this.setAttribute('isopen',!this.isopen);
+		if (this.isopen){		
+			this.setAttribute('height',this.initheight);
+			this.setAttribute('height',this.initheight);
+		} else {	
+			this.setAttribute('height',22);		
+		}
+	</method>
+	
+    <handler name="oninit">
+    	this.initheight=this.height;
+    </handler>
+	
+    <view x="0" y="1" width="${ this.parent.width }" height="20" bgcolor="0xE0E1EB" />
+    
+    <view x="0" y="0" width="${ this.parent.width }" height="1" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" />
+    
+    <view x="0" y="19" width="${ this.parent.width }" height="1" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" />
+	
+	<handler name="onclick">
+        this.toggleopen();
+    </handler>
+    
+    <text fontsize="11" height="17" x="2" y="1" text="${ this.parent.title }" 
+						fgcolor="$once{ canvas.getThemeColor('menuTextColor') }" resize="true" fontstyle="bold" />
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/fixedFileExplorerWhiteBoard.lzx b/WebContent/src/modules/conference/whiteboard/fixedFileExplorerWhiteBoard.lzx
new file mode 100644
index 0000000..dce157e
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/fixedFileExplorerWhiteBoard.lzx
@@ -0,0 +1,680 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!-- 
+############################
+
+    Class newWhiteBoard
+    
+    
+    @keywords deprecated
+    
+ -->
+
+
+<class name="fixedFileExplorerWhiteBoard" extends="view" showhandcursor="false">
+    
+    <attribute name="baseurl" value="" type="string" />
+    <attribute name="fileName" value="" type="string" />
+    <attribute name="moduleName" value="" type="string" />
+    <attribute name="parentPath" value="" type="string" />
+    <attribute name="room" value="" type="string" />
+    <attribute name="domain" value="" type="string" />
+    
+    <attribute name="downloadurl" value="" type="string" />
+    <attribute name="iamgex" value="" type="string" />
+    <attribute name="imagey" value="" type="string" />
+    
+    <attribute name="restricted" value="false" type="boolean" />
+    
+    <event name="onsharedMessage" />
+    
+    <attribute name="sendObject" value="null" />
+    <attribute name="sendObjectToClientID" value="0" type="number"  />
+    
+    <attribute name="confirmdialog" value="null" />
+    
+    <attribute name="documentmenuIsInited" value="false" type="boolean" />
+    
+    <handler name="oninit">
+        if ($debug) Debug.info("Init Whiteboard ",this.restricted);
+    </handler>
+
+    <method name="sendConfirmation" args="yesno,askagain" >
+        
+        ////Debug.write("clear yesno,askagain: ",yesno,askagain);
+    
+         var g = canvas.getUserData();
+         if (g["image"]==null) g["image"]=new Array();
+         g["image"]["clearField"]=yesno;
+         g["image"]["askagainclear"]=!askagain;
+         canvas.setUserData(g);
+
+         if (yesno){
+            ////Debug.write("clear field!!");
+            canvas._drawarea.setModus('plain');
+            canvas._drawarea.addNewSyncImage(this.downloadurl,this.iamgex,this.imagey,this.baseurl,this.fileName,this.moduleName,this.parentPath,this.room,this.domain);
+         } else {
+            ////Debug.write("don't clear field!!");
+            canvas._drawarea.addNewSyncImage(this.downloadurl,this.iamgex,this.imagey,this.baseurl,this.fileName,this.moduleName,this.parentPath,this.room,this.domain);
+         }
+         this.confirmdialog.close();
+    </method>
+    
+    <method name="getconfirmationscode">
+        var g = canvas.getUserData();
+        if (g["image"]==null) {
+            g["image"]=new Array();
+            g["image"]["clearField"]=false;
+            g["image"]["askagainclear"]=true;
+            canvas.setUserData(g);
+        }
+        return g["image"];
+    </method>
+    
+    <method name="resetDefaultConfirmations">
+        var g = canvas.getUserData();
+        if (g["image"]==null) g["image"]=new Array();
+        g["image"]["clearField"]=false;
+        g["image"]["askagainclear"]=true;
+        canvas.setUserData(g);
+    </method>   
+    
+    <method name="clearAreaAndAddImage" args="downloadurlVal,xVal,yVal,baseurl,fileName,moduleName,parentPath,room,domain">
+        <![CDATA[
+        ////Debug.write("clearAreaAndAddImage: ",downloadurlVal,xVal,yVal,baseurl,fileName,moduleName,parentPath,room,domain);
+        this.downloadurl=downloadurlVal;
+        this.iamgex=xVal;
+        this.imagey=yVal;   
+        this.baseurl=baseurl;
+        this.fileName=fileName;
+        this.moduleName=moduleName;
+        this.parentPath=parentPath;
+        this.room=room;
+        this.domain=domain;
+        var storedImageDate = this.getconfirmationscode();
+        ////Debug.write(" g[image] ",storedImageDate);
+        if (storedImageDate["clearField"] && !storedImageDate["askagainclear"]){
+            canvas._drawarea.setModus('plain');
+            if ($debug) Debug.write(" canvas._drawarea.addNewImage 1 ",this.downloadurl,this.x,this.y);
+            canvas._drawarea.addNewImage(this.downloadurl,this.x,this.y,this.baseurl,this.fileName,this.moduleName,this.parentPath,this.room,this.domain);
+        } else if (!storedImageDate["askagainclear"] && !storedImageDate["clearField"]){
+            canvas._drawarea.addNewImage(this.downloadurl,this.x,this.y,this.baseurl,this.fileName,this.moduleName,this.parentPath,this.room,this.domain);
+            if ($debug) Debug.write(" canvas._drawarea.addNewImage 2 ",this.downloadurl,this.x,this.y);
+        } else if (storedImageDate["askagainclear"]){
+            this.confirmdialog = new lz.confirmationBox(canvas.main_content._content.inner,{labelid:62,labeliderror:63,refObj:this});
+        } else {
+            this.confirmdialog = new lz.confirmationBox(canvas.main_content._content.inner,{labelid:62,labeliderror:63,refObj:this});
+        }
+        ]]> 
+    </method>
+    
+    <event name="isloadingImage" />
+    <event name="isloadedImage" />
+    
+    
+    <text fontsize="11" x="10" y="2" 
+        name="_sharingClientName" fontstyle="bold" />    
+    
+    
+    <method name="checkForApplyScreen">
+        <![CDATA[
+            var organisation_id = 1;
+        
+            if ($debug) Debug.write(hib.userobject); 
+            if ($debug) Debug.write(hib.currentdomainObj); 
+            
+            if (hib.currentdomainObj != null) {
+                organisation_id = hib.currentdomainObj.organisation_id
+            }
+        
+            var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                +canvas.httpRootKey+'ScreenRequestHandler?'
+                +'rtmphostlocal='+canvas.rtmphostlocal
+                +'&room='+hib.currentroomid
+                +'&domain='+hib.conferencedomain
+                +'&organization_id='+organisation_id
+                +'&sid='+canvas.sessionId
+                +'&red5httpport='+canvas.red5httpport
+                +'&connectionType='+canvas.thishib.protocollName
+                +'&allowRecording='+canvas.allowRecording
+                +'&port='+canvas.thishib.protocollPort
+                +'&publicSID='+canvas.publicSID
+                +'&httpRootKey='+canvas.httpRootKey
+                +'&languageAsString='+hib.userlang
+                +'&record='+record;
+
+            if ($debug) Debug.write(downloadurl); 
+            lz.Browser.loadURL(downloadurl,'_blank');  
+
+        ]]>        
+    </method> 
+    
+    <!--
+    <handler name="onmousedown" >
+		if ($debug) Debug.write("onmousedown multiWhiteboardPanel");
+		this._drawareaMask._drawarea.onmousedownMethod();
+	</handler>
+	
+	<handler name="onmouseup" >
+		if ($debug) Debug.write("onmouseup multiWhiteboardPanel");
+		this._drawareaMask._drawarea.onmouseupMethod();
+	</handler>
+	 -->
+	
+	
+    <!-- 
+        The Content Area    
+     -->
+    <view width="${ parent.parent.width-2 }" 
+          height="${ (canvas.ismoderator) ? (parent.parent.height-42-parent._propertyPanel.height) : ((canvas.isAllowedToDraw) ? (parent.parent.height-42-parent._propertyPanel.height) : (parent.parent.height-42)) }" 
+          y="0" name="_drawareaMask" clip="true" bgcolor="0xFFFFFF" >
+    	
+    	<handler name="oninit">
+            if ($debug) Debug.info("lz.Track.register ",canvas.currentImagesListdraw.currentTrackGroupName);
+            lz.Track.register(this, canvas.currentImagesListdraw.currentTrackGroupName);
+        </handler>
+    	
+    	<handler name="onmousedown">
+            this._drawarea.onmousedownMethod();
+        </handler>
+        
+        <handler name="onmouseup">
+            this._drawarea.onmouseupMethod();
+        </handler>
+        
+        <handler name="onmouseover">
+        	lz.Cursor.restoreCursor();
+        	lz.Cursor.showHandCursor(false);
+            this._drawarea.onmouseoverMethod();
+        </handler>
+        
+        <handler name="onmouseout">
+        	lz.Cursor.showHandCursor(true);
+        	lz.Cursor.unlock();
+            this._drawarea.onmouseoutMethod();
+        </handler>
+        
+        <handler name="onmousetrackover">
+            if ($debug) Debug.write("onmousetrackover");
+            canvas.currentImagesListdraw.currentDragItem.sendOverItem(this);
+            this.setAttribute("bgcolor",0x93FE92);
+        </handler>
+        
+        <handler name="onmousetrackout">
+            if ($debug) Debug.write("onmousetrackout");
+            canvas.currentImagesListdraw.currentDragItem.sendOutItem(this);
+            this.setAttribute("bgcolor",0xFFFFFF);
+        </handler>
+        
+        <handler name="onmousetrackup">
+            if ($debug) Debug.write("onmousetrackup");
+            this.setAttribute("bgcolor",0xFFFFFF);
+        </handler>   
+    	
+    	<remoteWhiteboard y="0" name="_drawarea" isRemoteOID="true" height="${parent.height}" width="${parent.height}"
+                          restricted="$once{ parent.parent.restricted }" >
+    		
+    		<attribute name="sendUpdate" value="true" type="boolean"/>
+    		
+    		<handler name="onx" args="x">
+                if (this.sendUpdate) {
+                    if ($debug) Debug.write("# x",x);
+                    parent.parent.scrollContainer.calcScrollContent();
+                }
+            </handler>
+            
+            <handler name="ony" args="y">
+                if (this.sendUpdate) {
+                    if ($debug) Debug.write("# y",y);
+                    parent.parent.scrollContainer.calcScrollContent();
+                }
+            </handler>
+            
+            <handler name="onheight" args="h">
+                if ($debug) Debug.write("# height",h);
+                //this.dragger.drag_min_x = parent.width - w;
+                parent.parent.scrollContainer.calcScrollContent();
+            </handler>
+            
+            <handler name="onwidth" args="w">
+                if ($debug) Debug.write("# width",w);
+                //this.dragger.drag_min_y = parent.height - h;
+                parent.parent.scrollContainer.calcScrollContent();
+            </handler>
+            
+            <handler name="onupdateScale" args="tRef">
+                if ($debug) Debug.write("# updateScale",this.getDisplayObject()._xscale);
+                parent.parent.scrollContainer.calcScrollContent();
+            </handler>
+    		
+            <attribute name="initH"/>
+            <attribute name="initW"/>
+            <handler name="oninit">
+                canvas._drawarea = this; 
+            </handler>
+            
+            <handler name="onprogress" args="perc">
+                //Debug.write("onprogress: ",perc);
+                this.parent.parent._progress.setProgress(perc);
+            </handler>
+            <!--
+            <handler name="onmousedown" >
+                //Debug.write("onprogress: ",perc);
+            </handler>
+             -->
+            <handler name="ondrawmodus" args="d">
+                this.drawmodus = d;
+                //change Enabled Status of Toolbar Menu Button
+                parent.parent._propertyPanel.loadPanelByModus(this);
+            </handler>
+            <handler name="setNewScreenUserName" args="value">
+                this.parent.parent._sharingClientName.setAttribute('text',value);
+            </handler>
+            <!-- @overwrite -->
+            <method name="onsharedMessage" args="action,obj">
+                
+                if ($debug) Debug.write("###### onsharedMessage",action,obj);
+    
+                var tempSendArray = new Array ();
+                tempSendArray[0] = 'whiteboard';
+                tempSendArray[1] = new Date();
+                tempSendArray[2] = action;
+                tempSendArray[3] = obj;
+                     
+                parent.parent.onsharedMessage.sendEvent(tempSendArray);
+            </method>
+            
+            <!--
+            <handler name="onopenWhiteBoard" >
+                var obj = new Array();
+                obj[0] = 'whiteboard';
+                obj[1] = 'initgetVars';
+                obj[2] = canvas.streamid;
+                
+                //Debug.write("Setting Message onopenWhiteBoard: ",canvas.moderatorStreamID,obj);
+                
+                this.parent.parent.sendObjectToClientID = canvas.moderatorStreamID;
+                this.parent.parent.sendObject = obj;
+                     
+                this.parent.parent.sendMessageWithClientById.doCall();
+            </handler>
+             -->
+             
+            <handler name="onopenWhiteBoard" >
+                parent.parent.getRoomItems.doCall();
+            </handler>
+            
+            <!-- clientid  = streamid of the user -->
+            <method name="oninitUser" args="clientid,objectList">
+                this.parent.parent.sendObjectToClientID = clientid;
+                this.parent.parent.sendObject = objectList;
+                this.parent.parent.sendMessageWithClientById.doCall();
+            </method>
+            
+            <handler name="onboundingIsActive" args="b">
+                if ($debug) Debug.write("boundingIsActive: ",b);
+                if (b){
+                    var boundingDoUpdateOnInit = true;
+                    if (this.ObjectByName instanceof lz.swfResourceView){
+                        //Debug.write("is swf Presentation");
+                        boundingDoUpdateOnInit=false;
+                    }
+                    if (!boundingDoUpdateOnInit) {
+                        parent.parent._propertyPanel.setObjectBounds(
+                            this.ObjectByName.x,this.ObjectByName.y,
+                            this.ObjectByName._swfView.width,this.ObjectByName._swfView.height);
+                    } else {
+                        parent.parent._propertyPanel.setObjectBounds(
+                            this.ObjectByName.x,this.ObjectByName.y,
+                            this.ObjectByName.width,this.ObjectByName.height);
+                    }
+                }
+            </handler>
+            
+            <!--  bounding Box (selection Box) -->
+            <handler name="onBoundingBox" args="boundingBoxRef">
+                var boundingDoUpdateOnInit = true;
+                if (boundingBoxRef.objRef instanceof lz.swfResourceView){
+                //Debug.write("is swf Presentation");
+                    boundingDoUpdateOnInit=false;
+                }
+                if (!boundingDoUpdateOnInit) {
+                    parent.parent._propertyPanel.setObjectBounds(
+                    boundingBoxRef.objRef.x,boundingBoxRef.objRef.y,
+                    boundingBoxRef.objRef._swfView.width,boundingBoxRef.objRef._swfView.height);
+                } else {
+                    parent.parent._propertyPanel.setObjectBounds(
+                    boundingBoxRef.objRef.x,boundingBoxRef.objRef.y,
+                    boundingBoxRef.objRef.width,boundingBoxRef.objRef.height);
+                }
+            </handler>
+            
+            <method name="getDocumentToolBar">
+                return parent.parent.panelArea.getDocumentsToolbar();
+            </method>
+            
+            <method name="getPaintToolBar">
+                return parent.parent.panelArea._mainToolsPanel;
+            </method>
+            
+            <view name="_grid" x="-2" y="-2" height="${parent.height}" width="${parent.height}" 
+                  visibility="${ (parent.showGrid) ? 'visible' : 'hidden'}">
+            	<!-- resource="_grid" -->
+            
+            </view>
+            
+        </remoteWhiteboard>   
+    	
+    </view>
+    
+    
+    <view name="scrollContainer" width="${ parent.parent.width-2 }" 
+          visible="${ ((canvas.ismoderator) ? true : ((canvas.isAllowedToDraw) ? true : false )) }"
+          height="${ (canvas.ismoderator) ? (parent.parent.height-42-parent._propertyPanel.height) : ((canvas.isAllowedToDraw) ? (parent.parent.height-33-parent._propertyPanel.height) : (parent.parent.height-33)) }" >
+        
+        <attribute name="sendUpdate" value="true" type="boolean"/>
+        
+        <method name="calcScrollContent">
+            var rHeight = Math.round(parent._drawareaMask._drawarea.height * (parent._drawareaMask._drawarea.getDisplayObject()._xscale / 100));
+            var rWidth = Math.round(parent._drawareaMask._drawarea.width * (parent._drawareaMask._drawarea.getDisplayObject()._yscale / 100));
+            this.sendUpdate = false;
+            this.scrollview.setAttribute("x",parent._drawareaMask._drawarea.x);
+            this.scrollview.setAttribute("y",parent._drawareaMask._drawarea.y);
+            this.scrollview.setAttribute("height", Math.max(rHeight, parent._drawareaMask._drawarea.getDisplayObject()._height));
+            this.scrollview.setAttribute("width", Math.max(rWidth, parent._drawareaMask._drawarea.getDisplayObject()._width));
+            this.sendUpdate = true;
+        </method>
+        
+        <view name="scrollview">
+            
+            <attribute name="timeisInited" value="false" type="boolean" />
+            <attribute name="sendObjectDel" value="null" />
+            
+            <handler name="oninit">
+                this.sendObjectDel = new LzDelegate( this, "sendObject" );
+            </handler>
+            
+            <handler name="onx" args="x">
+                if (parent.sendUpdate) {
+                    if ($debug) Debug.write("# scrollview x",x);
+                    parent.parent._drawareaMask._drawarea.setAttribute("x",x);
+                    
+                    if (!this.timeisInited){
+                        this.timeisInited=true;
+                        lz.Timer.addTimer( this.sendObjectDel, 250 );
+                    } else {
+                        lz.Timer.resetTimer( this.sendObjectDel, 250 );
+                    }
+                }
+            </handler>
+            <handler name="ony" args="y">
+                if (parent.sendUpdate) {
+                    if ($debug) Debug.write("# scrollview y",y);
+                    parent.parent._drawareaMask._drawarea.setAttribute("y",y);
+                    
+                    if (!this.timeisInited){
+                        this.timeisInited=true;
+                        lz.Timer.addTimer( this.sendObjectDel, 250 );
+                    } else {
+                        lz.Timer.resetTimer( this.sendObjectDel, 250 );
+                    }
+                }
+            </handler>
+            
+            <method name="sendObject" args="itemRef">
+                if ($debug) Debug.info("sendObject :: scrollview");
+                
+                var tArray = new Array();
+                tArray[0] = "moveMap";
+                tArray[1] = Math.round(this.x);
+                tArray[2] = Math.round(this.y);
+                
+                this.parent.parent._drawareaMask._drawarea.onsharedMessage('moveMap',tArray);
+                this.timeisInited=false;
+            </method>
+        </view>
+    
+        <om_vscrollbar name="_scrollstv"/> 
+        <om_hscrollbar name="_scrollsth" /> 
+    
+    </view>    
+    
+    
+        <netRemoteCallHib name="sendMessageWithClientById" funcname="sendMessageWithClientById"
+            remotecontext="$once{ canvas.thishib }" >
+            <netparam><method name="getValue">return parent.parent.sendObject;</method></netparam>
+            <netparam><method name="getValue">return parent.parent.sendObjectToClientID;</method></netparam>
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    //The onResult-Handler will be called be the rtmpconnection
+                    //Debug.write("sendMessageWithClientById : ",value);
+                ]]>
+            </handler>   
+        </netRemoteCallHib>     
+    
+        <netRemoteCallHib name="getRoomItems" funcname="whiteboardservice.getRoomItems"
+            remotecontext="$once{ canvas.thishib }" >
+            <handler name="ondata" args="value">
+                <![CDATA[
+                    //The onResult-Handler will be called be the rtmpconnection
+                    if ($debug) Debug.write("############## getRoomItems : ",value);
+                    canvas._drawarea.loadObjectList(value);
+                ]]>
+            </handler>   
+        </netRemoteCallHib>     
+        
+    <view name="panelArea" width="${ parent.parent.width }" 
+          height="${ parent.parent.height-42-parent._propertyPanel.height }">
+        
+        <attribute name="objectRef" value="null" />
+        
+        <!--- @deprecated -->
+        <method name="_setSelection" args="obj">
+            parent._drawareaMask._drawarea.removeObjectBounds();
+            if (obj.setSelectionToItem){            
+                if (this.objectRef!=null){
+                    this.objectRef._isselected = false;
+                    this.objectRef._area.setAttribute('bgcolor',0xFFFFFF);
+                }
+                this.objectRef = obj;
+                this.objectRef._isselected = true;
+                this.objectRef._area.setAttribute('bgcolor',canvas.getThemeColor('basebgcolorizer'));
+                parent._drawareaMask._drawarea.setModus(this.objectRef.modi);
+            }
+        </method>
+        
+        <method name="setSelection" args="obj">
+            if ($debug) Debug.write("setSelection ",obj);
+            parent._drawareaMask._drawarea.removeObjectBounds();
+            if (obj.setSelectionToItem){            
+                if (this.objectRef!=null){
+                    this.objectRef._isselected = false;
+                    this.objectRef.setAttribute('enabled',true);
+                }
+                this.objectRef = obj;
+                this.objectRef._isselected = true;
+                this.objectRef.setAttribute('enabled',false);
+            }
+            if (obj.modi=="saveobj"){
+                parent._drawareaMask._drawarea.doAction(obj.modi);
+            } else {
+                parent._drawareaMask._drawarea.setModus(obj.modi);
+            }
+        </method>
+        
+        <method name="setSelectionWithoutEvent" args="obj">
+            if (obj.setSelectionToItem){         
+                if (this.objectRef!=null){
+                    this.objectRef._isselected = false;
+                    this.objectRef.setAttribute('enabled',true);
+                }
+                this.objectRef = obj;
+                this.objectRef._isselected = true;
+                this.objectRef.setAttribute('enabled',false);
+            }
+        </method>
+        
+        <!--
+                                
+         -->
+         
+        <method name="sendNewPropertyHeight" args="objRef">
+            <![CDATA[
+                for (var i=0;i<this.subviews.length;i++) {
+                    if (this.subviews[i].y != 0) {
+                        if (this.subviews[i] instanceof lz.mainToolsTopPanel
+                            || this.subviews[i] instanceof lz.documentIconTopPanel) {
+                            if (objRef.height<=22){
+                                if (this.subviews[i].y+this.subviews[i].height+5>=parent.parent.height-objRef.initheight-21){
+                                    if ($debug) Debug.write("mainToolsTopPanel");
+                                    this.subviews[i].setAttribute('y',objRef.y-this.subviews[i].height);
+                                }
+                            } else {
+                                if (this.subviews[i].y+this.subviews[i].height+5>=objRef.y){
+                                    if ($debug) Debug.write("mainToolsTopPanel");
+                                    this.subviews[i].setAttribute('y',objRef.y-this.subviews[i].height);
+                                }
+                            }
+                        }   
+                    }
+                }
+            ]]>
+        </method>
+        
+        <method name="getDocumentsToolbar">
+            return parent._propertyPanel._content._documentsPanel;
+        </method>
+        <!--
+        <method name="getDocumentsToolbar">
+            <![CDATA[
+                for (var i=0;i<this.subviews.length;i++) {
+                    if (this.subviews[i] instanceof lz.documentIconTopPanel
+                        || this.subviews[i] instanceof lz.documentIconLeftPanel) {
+                        //this.subviews[i].setAttribute('visibility','visible');
+                        return this.subviews[i]._inner;
+                    }
+                }
+            ]]>
+        </method>
+         -->
+        
+        <mainToolsTopPanel x="100" y="0" name="_mainToolsPanel" 
+             visible="${ ((canvas.ismoderator) ? true : ((canvas.isAllowedToDraw) ? true : false )) }"/>
+        
+        <mainToolsLeftPanelPointer y="20" name="_mainToolsLeftPanelPointer" 
+             visible="${ (parent.parent.restricted) ? false : (((canvas.ismoderator) ? false : ((canvas.isAllowedToDraw) ? false : true ))) }"/>
+        
+        <!--
+        <documentIconTopPanel x="100" valign="bottom" name="_documentPanel"
+             visible="${ ((canvas.ismoderator) ? true : ((canvas.isAllowedToDraw) ? true : false )) }" />
+         -->
+         
+    </view> 
+    
+    <view name="zoombox" y="0" x="${ parent.parent.width-this.width-14 }" layout="axis:x;spacing:2"
+          visible="${ ((canvas.ismoderator) ? true : ((canvas.isAllowedToDraw) ? true : false )) }">
+        
+        <attribute name="ignoreUpdates" value="false" type="boolean" />
+        
+        <handler name="onx" args="x">
+        	if (this._fullFit.getValue()) {
+        		if ($debug) Debug.write("on x ",x);
+        		lz.Timer.addTimer( new LzDelegate( this, "sendUpdate" ), 100 );
+        	}
+        </handler>
+        
+        <method name="sendUpdate" args="refObj">
+        	parent._drawareaMask._drawarea.doFullFit(true);
+        </method>
+        
+        <method name="setWhiteboardValues" args="fullFit,zoom">
+            if ($debug) Debug.write("setWhiteboardValues -1- ",fullFit,zoom);
+            this.ignoreUpdates = true;
+            this._zoom.setSliderValue(zoom);
+            this._fullFit.setValue(fullFit);
+            this.ignoreUpdates = false;
+        </method>
+        
+        <method name="setCurrentScaleByFullFit" args="tScale">
+            if ($debug) Debug.write("setCurrentScaleByFullFit -2- ",tScale);
+            this.ignoreUpdates = true;
+            this._zoom.setSliderValue(tScale);
+            this.ignoreUpdates = false;
+        </method>
+        
+        <labelCheckbox x="344" name="_fullFit" labelid="847" y="4" fontstyle="bold" bgcolor="0xFFFFFF" >
+            <handler name="onvalue" args="v">
+                if (parent.ignoreUpdates) {
+                    return;
+                }
+                if ($debug) Debug.warn("onvalue Full Fit ",v);
+                
+                parent.parent._drawareaMask._drawarea.doUpdateFullFit(v,parent._zoom.initialNumber);
+            </handler>
+            <labelTooltip labelid="1212" multiline="true" />
+        </labelCheckbox>
+        
+        <changeWidthSlider name="_zoom" initialNumberInit="50" 
+              boxPosition="down" initialNumber="50" maximum="200">
+            <handler name="oninitialNumber" args="i">
+                if (parent.ignoreUpdates) {
+                    return;
+                }
+                
+                if ($debug) Debug.warn("onvalue Zoom Fit ",this.initialNumber);
+                
+                parent._fullFit.setValue(false);
+                
+                parent.parent._drawareaMask._drawarea.doUpdateZoom(parent._fullFit.getValue(),this.initialNumber);
+            </handler>
+        </changeWidthSlider>
+        
+        <view width="2" />
+        
+    </view>    
+    
+    <propertyPanel name="_propertyPanel" x="0" y="${ parent.parent.height-this.height-42 }" 
+                    visible="${ ((canvas.ismoderator) ? true : ((canvas.isAllowedToDraw) ? true : false )) }">
+        <handler name="onheight" args="h">
+            this.height = h;
+            if ($debug) Debug.write("onheight: ",h);
+            parent.panelArea.sendNewPropertyHeight(this);
+        </handler>
+    </propertyPanel>
+    
+    <!--
+    <view name="resetSize" x="${parent.width - 20}" width="10" height="10" >
+        <handler name="onclick">
+            this.parent.parent.setAttribute("width",this.parent.parent.initW); 
+            this.parent.parent.setAttribute("height",this.parent.parent.initH);
+            
+            this.parent.parent.onheight.sendEvent();
+            this.parent.parent.onwidth.sendEvent();
+            
+            this.setAttribute("x",this.parent.parent.initW - 20);
+        </handler>
+    </view>
+     -->
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx b/WebContent/src/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx
new file mode 100644
index 0000000..591439e
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx
@@ -0,0 +1,370 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="multiWhiteboardPanel" extends="fixedFileExplorerWhiteBoard" y="42" x="1">
+	
+	<attribute name="whiteboardId" value="0" type="number" />
+	<attribute name="objWhiteboard" value="null" />
+	<attribute name="objMessage" value="null" />
+	
+    <handler name="onsharedMessage" args="obj">
+        //Debug.write("send: ",obj);
+        this.objWhiteboard = obj;
+        this.sendVarsByWhiteboardId.doCall();
+    </handler>
+    
+    <netRemoteCallHib name="sendVarsByWhiteboardId" funcname="sendVarsByWhiteboardId" 
+    				  	showLoading="false" remotecontext="$once{ canvas.thishib }" >
+        <netparam><method name="getValue">return parent.parent.objWhiteboard;</method></netparam>
+        <netparam><method name="getValue">return parent.parent.whiteboardId;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+            //The onResult-Handler will be called be the rtmpconnection
+            	//if ($debug) Debug.write("sendVars : ",value);
+            
+            ]]>
+        </handler>   
+    </netRemoteCallHib>     
+    
+    <handler name="onvisible" args="v">
+    	<![CDATA[
+	    	if ($debug) Debug.write("onvisible :: ",v);
+    	]]>
+    </handler>
+    
+    <method name="sendActiveWindow">
+    	if ($debug) Debug.warn("sendActiveWindow :: ");
+    	if (canvas.ismoderator || canvas.isAllowedToDraw) {
+    		if ($debug) Debug.warn("DO sendActiveWindow :: ");
+    		canvas._drawarea = this._drawareaMask._drawarea;
+    		this.objMessage = new Array();
+    		this.objMessage[0] = "activateWhiteboard";
+    		this.objMessage[1] = this.whiteboardId;
+    		this.sendMessageToMembers.doCall();
+    	}
+    </method>
+    
+    <netRemoteCallHib name="sendMessageToMembers" funcname="sendMessageToMembers" 
+    				  	showLoading="false" remotecontext="$once{ canvas.thishib }" >
+        <netparam><method name="getValue">return parent.parent.objMessage;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+            //The onResult-Handler will be called be the rtmpconnection
+            	if ($debug) Debug.write("sendMessageToMembers :: ",value);
+            ]]>
+        </handler>   
+    </netRemoteCallHib> 
+    
+</class>
+    
+<class name="fixedFileExplorerWhiteboardPanel" extends="basePropertyPanelWhiteboard" allowToggle="false"
+	   labelid="615" visible="${((canvas.currentRoomObj.hideWhiteboard) ? false:true)}">
+	<attribute name="whiteboardCount" value="0" type="number" />	
+	<!--
+	
+	 -->
+	<handler name="oninit">
+		canvas._drawarea = this;
+	</handler>
+	
+	<handler name="onopenWhiteBoard" >
+        if ($debug) Debug.write(".. onopenWhiteBoard ..");
+        this.loadInitObject()
+    </handler>
+            
+    <!--
+    	##########################################
+    	Add, remove and change Focus of Whiteboard
+    	##########################################
+     -->
+     
+    <method name="addNewItem">
+    	this.getNewWhiteboardId.doCall();
+    </method>
+    
+    <!--
+    public Long getNewWhiteboardId() {
+     -->
+    <netRemoteCallHib name="getNewWhiteboardId" funcname="whiteboardservice.getNewWhiteboardId"
+        remotecontext="$once{ canvas.thishib }" >
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("############## getNewWhiteboardId : ",value);
+                parent.addNewItemSynced(value);
+                parent.sendNewWindow(value);
+            ]]>
+        </handler>   
+    </netRemoteCallHib>       
+    
+    <method name="addNewItemSynced" args="whiteboardId">
+    	for (var eg in this._bar.subviews) {
+    		this._bar.subviews[eg].isactive = false;
+    		this._bar.subviews[eg].onmouseout.sendEvent(null);
+    		this._bar.subviews[eg].objRef.setAttribute("visibility","hidden");
+    	}
+    	
+    	var whiteboard = new lz.multiWhiteboardPanel(this,{
+								    		whiteboardId:whiteboardId
+								    	});
+    	var tempWidth = this._bar.getCurrentSize();
+    	
+    	var whiteboardName = canvas.getLabelName(615) + (whiteboardCount > 0 ? " " + whiteboardCount : "");
+    	whiteboardCount++;
+    	var tWhiteboardBtn = new lz.whiteboardMiniButton(this._bar,{
+                            	   objRef:whiteboard,
+                            	   width:tempWidth,
+                            	   isactive:true,
+                            	   btnName: whiteboardName
+                            	});
+        
+        this._bar.currentBtn = tWhiteboardBtn;                    	
+                            	
+    	tWhiteboardBtn.onmouseout.sendEvent(null);
+        this.addNewItemButton.updatePosition();
+        return whiteboard;
+    </method>
+    
+    <method name="sendNewWindow" args="whiteboardId">
+    	if ($debug) Debug.warn("sendNewWindow :: ");
+    	if (canvas.ismoderator || canvas.isAllowedToDraw) {
+    		if ($debug) Debug.warn("DO sendActiveWindow :: ");
+    		this.objMessage = new Array();
+    		this.objMessage[0] = "newWhiteboard";
+    		this.objMessage[1] = whiteboardId;
+    		this.sendMessageToMembers.doCall();
+    	}
+    </method>
+    
+    <method name="newWhiteboard" args="obj">
+    	if ($debug) Debug.write("newWhiteboard :: ",obj);
+    	this.addNewItemSynced(obj[1]);
+    </method>
+    
+    
+    <!--
+        ##########################################
+        Removal of Whiteboards
+        ##########################################
+     -->
+    <method name="sendRemoveWindow" args="whiteboardId">
+    	if ($debug) Debug.warn("sendRemoveWindow :: ");
+    	if (canvas.ismoderator || canvas.isAllowedToDraw) {
+    		this.deleteWhiteboard.whiteboardId = whiteboardId;
+    		this.deleteWhiteboard.doCall();
+    		if ($debug) Debug.warn("DO sendRemoveWindow :: ");
+    		this.objMessage = new Array();
+    		this.objMessage[0] = "removeWindow";
+    		this.objMessage[1] = whiteboardId;
+    		this.sendMessageToMembers.doCall();
+    	}
+    </method>
+    
+    <!--
+    public Boolean deleteWhiteboard(Long whiteBoardId)
+     -->
+    <netRemoteCallHib name="deleteWhiteboard" funcname="whiteboardservice.deleteWhiteboard"
+        remotecontext="$once{ canvas.thishib }" >
+    	<attribute name="whiteboardId" value="0" type="number" />
+        <netparam><method name="getValue">return parent.whiteboardId;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                //The onResult-Handler will be called be the rtmpconnection
+                if ($debug) Debug.write("############## deleteWhiteboard : ",value);
+            ]]>
+        </handler>   
+    </netRemoteCallHib>       
+    
+    <method name="removeWindow" args="obj">
+    	if ($debug) Debug.write("removeWindow :: ",obj);
+    	for (var eg in this._bar.subviews) {
+    		
+    		if (this._bar.subviews[eg].objRef.whiteboardId == obj[1]) {
+    			
+    			this._bar.removeObjectSynced(this._bar.subviews[eg]);
+    			return;
+    			
+    		}
+    		
+    	}
+    </method>
+    
+    <netRemoteCallHib name="sendMessageToMembers" funcname="sendMessageToMembers" 
+    				  	showLoading="false" remotecontext="$once{ canvas.thishib }" >
+        <netparam><method name="getValue">return parent.parent.objMessage;</method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+            //The onResult-Handler will be called be the rtmpconnection
+            	if ($debug) Debug.write("sendMessageToMembers :: ",value);
+            ]]>
+        </handler>   
+    </netRemoteCallHib>     
+    
+    <method name="sendWatchObjectByWhiteboard" args="obj">
+    	if ($debug) Debug.write("sendWatchObjectByWhiteboard :: ",obj);
+    	for (var eg in this.subviews) {
+    		if (obj.id == this.subviews[eg].whiteboardId) {
+    			this.subviews[eg]._drawareaMask._drawarea.sendWatchObject(obj.param[2],obj.param[3],false);
+    			return;
+    		}
+    	}
+    </method>
+    
+    <method name="loadWmlToWhiteboardById" args="obj">
+        if ($debug) Debug.write("loadWmlToWhiteboardById :: ",obj);
+        for (var eg in this.subviews) {
+            if (obj.id == this.subviews[eg].whiteboardId) {
+                this.subviews[eg]._drawareaMask._drawarea.loadWmlToWhiteboardById(obj.roomitems);
+                return;
+            }
+        }
+    </method>
+    
+    <method name="activateWhiteboard" args="obj">
+    	if ($debug) Debug.write("activateWhiteboard :: ",obj);
+    	for (var eg in this._bar.subviews) {
+    		
+    		if (this._bar.subviews[eg].objRef.whiteboardId == obj[1]) {
+    			
+    			this._bar.subviews[eg].activateSynced();
+    			return;
+    			
+    		}
+    		
+    	}
+    </method>
+    
+    <!--
+    	##########################################
+    	StarUp Loading Of Objects
+    	##########################################
+     -->
+    
+    <method name="loadInitObject">
+    	this.getRoomItemsBy.doCall();
+    </method>
+    
+	<netRemoteCallHib name="getRoomItemsBy" funcname="whiteboardservice.getRoomItemsBy"
+        remotecontext="$once{ canvas.thishib }" >
+        <handler name="ondata" args="value">
+            <![CDATA[
+            	//The onResult-Handler will be called be the rtmpconnection
+            	if ($debug) Debug.write("############## getRoomItemsBy : ",value);
+            	parent.loadWhiteboards(value.whiteboardObjects);
+            ]]>
+        </handler>   
+    </netRemoteCallHib>   
+    
+    <method name="loadWhiteboards" args="whiteboardObjects">
+    	<![CDATA[
+    	   if ($debug) Debug.write("whiteboardObjects :: ",whiteboardObjects.length);
+    	   var mainArray = new Array();
+    	   for (var eg in whiteboardObjects) {
+    	   	   mainArray.push(whiteboardObjects[eg]);
+    	   }
+    	   mainArray.reverse();
+    	   
+    	   for (var eg=0;eg<mainArray.length;eg++) {
+    	   	  var whiteBoard = this.addNewItemSynced(mainArray[eg].whiteBoardId);
+    	   	  
+    	   	  whiteBoard._drawareaMask._drawarea.loadObjectList(mainArray[eg]);
+    	   }
+    	]]>
+    </method>
+      
+    
+    <whiteboardBarMenu name="_bar" height="20" y="21">
+    	
+    	<attribute name="whiteboardId" value="-1" type="number" />
+    	
+    	<handler name="onsubview" args="newSub">
+    		parent.addNewItemButton.updatePosition();
+    	</handler>
+    	<handler name="onwidth" args="newSub">
+            parent.addNewItemButton.updatePosition();
+        </handler>
+        
+        <!-- 
+        <handler name="oninit">
+        	this.currentBtn = this._button1;
+        </handler>
+         -->
+    	
+    	<!--
+    	<whiteboardMiniButton name="_button1" isactive="true">
+    		<handler name="oninit">
+    			this.setAttribute("btnName",canvas.getLabelName(615)+" 1");
+    			this.objRef = parent.parent._whiteboard1;
+    			this.onmouseout.sendEvent(this);
+    		</handler>
+    	</whiteboardMiniButton>
+    	 -->
+    	
+    </whiteboardBarMenu>
+    
+    <view name="addNewItemButton" y="24" 
+    	  visible="${ ((canvas.ismoderator) ? true : ((canvas.isAllowedToDraw) ? true : false )) }"
+    	  >
+    	
+    	<attribute name="whiteboardId" value="-1" type="number" />
+    	
+    	<method name="updatePosition">
+    		if (parent._bar.subviews.length != 0) {
+        		var borderItem = parent._bar.subviews[parent._bar.subviews.length-1];
+        		this.setAttribute("x",borderItem.x + borderItem.width + 2);
+    		} else {
+    			this.setAttribute("x",2);
+    		}
+    	</method>
+    	
+    	<handler name="onmouseover" args="refOb">
+    		this.bg.setAttribute("visibility","visible");
+    	</handler>
+    	
+    	<handler name="onmouseout" args="refOb">
+            this.bg.setAttribute("visibility","hidden");
+        </handler>
+        
+        <handler name="onclick" args="refOb">
+            parent.addNewItem();
+        </handler>
+        
+        <view name="bg" bgcolor="0xEEEEEE" opacity="0.5" 
+        	  width="18" height="18" visibility="hidden" />
+    	
+    	<view resource="add_whiteboard_rsc" y="0" x="0" />
+    	
+    	<labelTooltip text="Add Whiteboard" />
+    </view>
+    
+    <view width="${ parent.width }" height="1" y="41"
+    	  bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }">
+    	<attribute name="whiteboardId" value="-1" type="number" />
+    </view>
+    
+    <!--
+    <multiWhiteboardPanel name="_whiteboard1" whiteboardId="1" /> 
+     -->
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/helper/boundingBoxAll.lzx b/WebContent/src/modules/conference/whiteboard/helper/boundingBoxAll.lzx
new file mode 100644
index 0000000..c569353
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/helper/boundingBoxAll.lzx
@@ -0,0 +1,527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<include href="utils/states/resizestatemin.lzx"/>
+
+<!--
+    The order of views is important in this class
+    otherwise the scrollbar of the swfPresentation would be not visible or partly overlayed
+    
+    
+    this is the selection Box for all Whiteboard Objects
+ -->
+ 
+<class name="boundingBoxAllRotationMarger" extends="view" 
+	   width="24" height="24" resource="bounding_item_rsc">
+	
+	<attribute name="dragStarted" value="false" type="boolean"/>
+	
+	<handler name="onmouseover">
+        lz.Cursor.setCursorGlobal("arrow_rotate_panel_cursor");
+    </handler>
+    <handler name="onmouseout">
+        lz.Cursor.unlock();
+    </handler>
+    
+    <handler name="onx" args="x">
+    	this.doMoveDragPoint();
+    </handler>
+    <handler name="ony" args="y">
+        this.doMoveDragPoint();
+    </handler>
+    
+    <method name="doMoveDragPoint">
+    	if (!this.dragStarted) {
+    		return;
+    	}
+    	parent.doMoveDragPoint(this.x+12,this.y+12);
+    </method>
+    
+    <handler name="onmousedown">
+    	this.dragStarted = true;
+    	parent.doStartDragPoint();
+        this.dragger.apply();
+    </handler>
+    <handler name="onmouseup">
+    	this.dragStarted = false;
+        this.dragger.remove();
+        parent.endDrawClipArtDrag();
+        lz.Cursor.unlock();
+    </handler>
+    
+    <dragstate name="dragger" />  
+    
+</class> 
+    
+<class name="boundingBoxAll" extends="view" focusable="true">
+    
+<!-- 
+	<method name="removeIt">
+		canvas._drawarea.setAttribute('boundingIsActive',true);
+	</method>
+ -->	
+	<method name="removeIt">
+		//Debug.write("removeIt +**********",this.isinited);
+		this.whiteboardRef.setAttribute('boundingIsActive',false);
+		if (this.rs) this.rs.remove();
+		if (this.dragger) this.dragger.remove();
+		this.destroy();
+	</method>
+
+	<attribute name="ex" value="0" type="number" />
+	<attribute name="ey" value="0" type="number" />
+	<attribute name="ewidth" value="0" type="number" />
+	<attribute name="eheight" value="0" type="number" />
+	
+	<attribute name="innerInsetScrollbars" value="0" type="number"/>
+	
+	<attribute name="startdragX" value="0" type="number" />
+	<attribute name="startdragY" value="0" type="number" />
+	<attribute name="startdragWidth" value="0" type="number" />
+	<attribute name="startdragHeight" value="0" type="number" />
+	
+	<attribute name="objRef" value="null" />
+	<attribute name="whiteboardRef" value="null" />
+	<attribute name="doHandlerUpdates" value="false" type="boolean" />	
+    <attribute name="boundingDoUpdateOnInit" value="true" type="boolean" />	 
+    
+    <attribute name="canBeDragged" value="true" type="boolean" />
+    <attribute name="canBeResized" value="true" type="boolean" />
+    
+    <!--- Minimum width for the windowy, default: 60.
+          @keywords final -->
+    <attribute name="minwidth" value="2"/>
+
+    <!--- Minimum height for the window, default: 50.
+          @keywords final -->
+    <attribute name="minheight" value="2"/>    
+	
+	<method name="__LZRemoveItem" args="itemRef">
+		this.whiteboardRef.deleteItemByName(this.objRef.name);
+		//Debug.write("__LZRemoveItem");
+	</method>
+	
+	<handler name="oninit">
+		<![CDATA[
+		    if (!this.boundingDoUpdateOnInit) {
+		    	if ($debug) Debug.write("DESTROY the clickable view");
+		    	//this._innerDrag.destroy();
+		    }
+		    
+		    if (!this.canBeResized) {
+		    	this._gripperNoResize.setAttribute("visibility","visible");
+		    	this._gripperResize.setAttribute("visibility","hidden");
+		    }
+		
+			this.setAttribute('x',this.ex);
+			this.setAttribute('y',this.ey);
+			this.setAttribute('width',this.ewidth);
+			this.setAttribute('height',this.eheight);	
+			this.setStartValues();		
+			if ($debug) Debug.write("Update Property Panel Settings to Object Properties ",this.objRef.name);
+			
+			lz.Focus.setFocus(this, false); 
+			
+			if (this.objRef.typeOfObject == "text") {
+				this._editText.setAttribute("visibility","visible");
+			}
+			
+            //FIXME - Add Ellipse, Line and Free Draw Tool to it
+            if (this.objRef.name.indexOf('rectangle') >= 0){
+				if ($debug) Debug.write("this.objRef._innerRect ",this.objRef._innerRect);
+				
+				if ($debug) Debug.write("strokeStyle: ",this.objRef._innerRect.strokeStyle);
+				if (this.objRef._innerRect.strokeStyle == '#000000') {
+					if ($debug) Debug.write("strokeStyle EMPTY ");
+					this.whiteboardRef.currentrectanglestrokeDis = -1;
+				} else {
+					this.whiteboardRef.currentrectanglestroke = this.objRef._innerRect.strokeStyle;
+					this.whiteboardRef.currentrectanglestrokeDis = 1;
+				}
+				
+				if ($debug) Debug.write("fillStyle: ",this.objRef._innerRect.fillStyle);
+				if (this.objRef._innerRect.fillStyle == '#000000') {
+					if ($debug) Debug.write("fillStyle EMPTY ");
+					this.whiteboardRef.currentrectanglestrokeFillDis = -1;
+				} else {
+					this.whiteboardRef.currentrectanglestrokeFill = this.objRef._innerRect.fillStyle;
+					this.whiteboardRef.currentrectanglestrokeFillDis = 1;
+				}
+				
+				if ($debug) Debug.write("lineWidth: ",this.objRef._innerRect.lineWidth);
+				this.whiteboardRef.currentrectangleineWidth = this.objRef._innerRect.lineWidth;
+				
+			} else if (this.objRef.name.indexOf('swf') >= 0) {
+                this.setAttribute("innerInsetScrollbars",16);
+            } else if (this.objRef.name.indexOf('clipart') >= 0) {
+            	this.canBeResized = false;
+            	this._gripperNoResize.setAttribute("visibility","visible");
+		    	this._gripperResize.setAttribute("visibility","hidden");
+            	
+            	new lz.boundingBoxAllRotationMarger(this,{
+                    	       x:this.objRef.clipart.clipArtEndx-12,
+                    	       y:this.objRef.clipart.clipArtEndy-12
+                        	});
+            	
+            }
+            
+            
+            this.whiteboardRef.parent.parent._propertyPanel.loadPanelByBoundingBox(this.whiteboardRef,this.objRef);
+            
+			this.doUpdateAction();
+		]]>
+	</handler>
+	
+	<method name="doStartDragPoint">
+		this.whiteboardRef.setStartPoint(this.objRef.clipart.x+this.x,this.objRef.clipart.y+this.y);
+	</method>
+	
+	<method name="doMoveDragPoint" args="x,y">
+		this.whiteboardRef.trackDrawClipArtDraw(this.x+x,this.y+y,this.objRef.clipart);
+	</method>
+	
+	<method name="endDrawClipArtDrag">
+        this.whiteboardRef.endDrawClipArtDrag(this.objRef);
+        this.whiteboardRef.reselectShowObjectBounds(this.objRef.name);
+    </method>
+    
+	<!--
+	   Do update the Selection-Box, in case another Moderator or User has moved the Object
+	   while you have it in focus
+	 -->
+    <method name="sendRemoteUpdate" args="obj">
+        <![CDATA[
+           
+           if (this.objRef.name == obj.name) {
+           	   
+           	    this.resetValues();
+           	
+           }
+        
+        ]]>
+    </method>
+    
+	
+	<method name="resetValues">
+		this.ex = this.objRef.x;
+		this.ey = this.objRef.y;
+		this.ewidth = this.objRef.width;
+		this.eheight = this.objRef.height;			
+		this.setAttribute('x',this.objRef.x);
+		this.setAttribute('y',this.objRef.y);
+		this.setAttribute('width',this.objRef.width);
+		this.setAttribute('height',this.objRef.height);	
+		this.setStartValues();	
+	</method>
+
+	<!-- 
+    <animatorgroup start="false" process="simultaneous" duration="100" onstop="parent.doUpdateAction()">
+      <animator attribute="x" to="${ parent.parent.ex }" />
+      <animator attribute="y" to="${ parent.parent.ey }" />
+      <animator attribute="width" to="${ parent.parent.ewidth }" />
+      <animator attribute="height" to="${ parent.parent.eheight }" />            
+    </animatorgroup>	
+     -->
+    <method name="doUpdateAction" >
+    	this.setAttribute('doHandlerUpdates',true);
+    	if (this.boundingDoUpdateOnInit) {
+    	    this._innerDrag.onmousedown.sendEvent();
+    	}
+    </method>
+    
+    <handler name="onheight">
+    	if(this.doHandlerUpdates){
+    		this.objRef.setAttribute('height',this.height);
+    	}
+    </handler>
+    
+    <handler name="onwidth">
+    	if(this.doHandlerUpdates){
+    		this.objRef.setAttribute('width',this.width);
+    	}
+    </handler>
+    
+    <handler name="onx">
+        if(this.doHandlerUpdates){
+            
+            var tx = this.getAttributeRelative('x',objRef);
+        
+            if(this.objRef.parent.isSnapToGrid){   
+                tx = Math.round(tx/this.objRef.parent.gridWidth)*this.objRef.parent.gridWidth;
+                this.setAttribute("x",Math.round(this.x/this.objRef.parent.gridWidth)*this.objRef.parent.gridWidth)
+            }
+            
+            this.objRef.setAttribute('x',tx);
+        }
+    </handler>
+    
+    <handler name="ony">
+        if(this.doHandlerUpdates){
+            
+            var ty = this.getAttributeRelative('y',objRef);
+        
+            if(this.objRef.parent.isSnapToGrid){   
+                ty = Math.round(ty/this.objRef.parent.gridWidth)*this.objRef.parent.gridWidth;
+                this.setAttribute("y",Math.round(this.y/this.objRef.parent.gridWidth)*this.objRef.parent.gridWidth)
+            }
+            
+            this.objRef.setAttribute('y',ty);
+        }
+    </handler>
+    
+    <handler name="onkeydown" args="key">
+        if ($debug) Debug.write("onkeydown ",key);
+
+        //this.objRef.parent.UpdateByObject(this.objRef);
+
+        if (key == 46) {
+        	this.__LZRemoveItem(this.objRef);
+        } else if (key == 40) {
+        	var shiftPressed = lz.Keys.isKeyDown("shift"); 
+        	if ($debug) Debug.write("shiftPressed ",shiftPressed);
+        	this.doHandlerUpdates = true;
+        	this.setAttribute("y",this.y+(shiftPressed ? 20 : 2));
+        	this.doHandlerUpdates = false;
+        	this.objRef.parent.UpdateByObject(this.objRef);
+			this.setStartValues();
+        } else if (key == 38) {
+        	var shiftPressed = lz.Keys.isKeyDown("shift"); 
+        	this.doHandlerUpdates = true;
+        	this.setAttribute("y",this.y-(shiftPressed ? 20 : 2));
+        	this.doHandlerUpdates = false;
+        	this.objRef.parent.UpdateByObject(this.objRef);
+			this.setStartValues();
+        } else if (key == 39) {
+        	var shiftPressed = lz.Keys.isKeyDown("shift"); 
+        	this.doHandlerUpdates = true;
+        	this.setAttribute("x",this.x+(shiftPressed ? 20 : 2));
+        	this.doHandlerUpdates = false;
+        	this.objRef.parent.UpdateByObject(this.objRef);
+			this.setStartValues();
+        } else if (key == 37) {
+        	var shiftPressed = lz.Keys.isKeyDown("shift"); 
+        	this.doHandlerUpdates = true;
+        	this.setAttribute("x",this.x-(shiftPressed ? 20 : 2));
+        	this.doHandlerUpdates = false;
+        	this.objRef.parent.UpdateByObject(this.objRef);
+			this.setStartValues();
+        }
+    </handler>
+	
+	<method name="setStartValues">
+		this.startdragX = this.x;
+		this.startdragY = this.y;
+		this.startdragWidth = this.width;
+		this.startdragHeight = this.height;			
+	</method>
+
+    <method name="_applyResizestateFromThis">
+    	lz.Focus.setFocus(this, true); 
+    	if ($debug) Debug.write("Apply resize State");
+    	if (!this.canBeResized) {
+            return;
+        }
+		this.setStartValues();		
+		this.rs.apply()
+	</method>
+    
+    <method name="_removeResizestateFromThis">
+		<![CDATA[
+		if (!this.canBeResized) {
+            return;
+        }
+    	this.rs.remove();
+		
+		if (this.startdragX != this.x || this.startdragY != this.y || this.startdragWidth != this.width || this.startdragHeight != this.height){
+			//Debug.write("value changed 1");
+			this.objRef.parent.UpdateByObject(this.objRef);
+			this.setStartValues();
+		}
+		if (parent.onBoundingBox) parent.onBoundingBox.sendEvent(this);
+			
+		]]>
+    </method>
+	
+	<method name="_applyDragstateFromThis">
+		lz.Focus.setFocus(this, true); 
+		if (!this.canBeDragged) {
+			return;
+		}
+		this.setStartValues();
+		this.dragger.apply()
+	</method>	
+    
+    <method name="_removeDragstateFromThis">
+		<![CDATA[
+		if (!this.canBeDragged) {
+            return;
+        }
+    	this.dragger.remove();
+		
+    	if (this.startdragX != this.x || this.startdragY != this.y || this.startdragWidth != this.width || this.startdragHeight != this.height){
+			//Debug.write("value changed 2");
+			this.objRef.parent.UpdateByObject(this.objRef);
+			this.setStartValues();
+		}
+		if (parent.onBoundingBox) parent.onBoundingBox.sendEvent(this);
+		
+		]]>			
+    </method>
+
+    <method name="doSetInnerObjectsBounds" args="w,h">
+        this._inner._inner.setAttribute('width',w);
+        this._inner._inner.setAttribute('height',h);
+    </method>
+    
+    <method name="applyScrollbarToObject">
+        <![CDATA[
+            //if ($debug) Debug.write("-- applyScrollbarToObject --",this.objRef.typeOfObject);
+	        if (this.objRef.typeOfObject == 'swf'){
+	            if (canvas.ismoderator || canvas.isAllowedToDraw) {
+                    //if ($debug) Debug.write("-- setCurrentMouseWheelObject --",this.objRef._scrollstv);
+                    //setCurrentMouseWheelObject(this.objRef._scrollstv);
+                }
+	        }
+        ]]>
+    </method>
+    
+    <method name="removeScrollbarToObject">
+        if (this.objRef.typeOfObject == 'swf'){
+            //Well disable, you can always disable without any problem
+            //and in case you do exactly switch the moderation now
+            //it will remove it in any case
+            disableCurrentMouseWheelObject();
+        }
+    </method>
+        
+    <resizestatemin name="rs"> 	
+    	<text x="2" y="2" text="${ 'w: '+parent.width+' h: '+parent.height }" bgcolor="white"/>
+    </resizestatemin>
+    
+   	<dragstate name="dragger">    
+		<text x="2" y="2" text="${ 'x: '+parent.getAttributeRelative('x',parent.objRef)+' y: '+parent.getAttributeRelative('y',parent.objRef) }" bgcolor="white"/>   	
+   	</dragstate>
+	
+	<view name="_innerDrag" width="${ parent.width-parent.innerInsetScrollbars }" 
+		  height="${ parent.height-parent.innerInsetScrollbars }" 
+		  onmouseover="parent.applyScrollbarToObject()" 
+          onmouseout="parent.removeScrollbarToObject()"
+		  onmousedown="parent._applyDragstateFromThis()" 
+    	  onmouseup="parent._removeDragstateFromThis()">
+    	
+    	<contextmenu>
+			<contextmenuitem caption="$once{ canvas.getLabelName(80) }" 
+							 onselect="parent.parent.parent.__LZRemoveItem()" />
+        </contextmenu>
+		 
+		<handler name="ondblclick">
+
+			//Debug.write("ondblclick: ",this.parent.objRef.typeOfObject);
+			if (this.parent.objRef.typeOfObject == "text") {
+				var x = this.parent.objRef.x; //this.parent.objRef.getAttributeRelative('x', canvas);
+				var y = this.parent.objRef.y; //this.parent.objRef.getAttributeRelative('y', canvas);
+				//Debug.write("x,y ",x,y);
+				this.parent.whiteboardRef
+						.editTextByValues(this.parent.objRef,
+								this.parent.objRef.name,
+								this.parent.objRef.text, x, y,
+								this.parent.objRef.width,
+								this.parent.objRef.height);
+			}
+		</handler>	
+		
+		<handler name="onmouseover">
+			if (this.parent.objRef.typeOfObject != "swf") {
+	           lz.Cursor.setCursorGlobal("arrow_draw_panel_cursor");
+			}
+		</handler>
+		
+		<handler name="onmouseout">
+			lz.Cursor.unlock();
+		</handler>
+		
+		
+	</view>
+	
+	<image src="$once{ canvas.getThemeImage('bounding_box_textedit_item_rsc') }" y="2"  width="16" height="16" stretches="both"
+				name="_editText" visibility="hidden" x="${ parent.width-this.width-parent.innerInsetScrollbars-18 }" >
+		<handler name="onclick">
+			this.parent.whiteboardRef
+						.editTextByValues(this.parent.objRef,
+								this.parent.objRef.name,
+								this.parent.objRef.text, 
+								this.parent.x, 
+								this.parent.y,
+								this.parent.objRef.width,
+								this.parent.objRef.height);
+		</handler>
+		<handler name="onmouseover">
+	        lz.Cursor.restoreCursor();
+	        lz.Cursor.showHandCursor(true);
+	    </handler>
+	    <handler name="onmouseout">
+	    	lz.Cursor.showHandCursor(false);
+	        lz.Cursor.unlock();
+	    </handler>
+    
+		<labelTooltip labelid="1463" />
+	</image>	
+	
+	<image src="$once{ canvas.getThemeImage('bounding_box_delete_item_rsc') }" y="2"  width="16" height="16"
+					x="${ parent.width-this.width-parent.innerInsetScrollbars-2 }" stretches="both">
+		<handler name="onclick">
+			//Debug.write("this.parent.objRef.name: ",this.parent.objRef.name);
+			//this.parent.whiteboardRef.deleteItemByName(this.parent.objRef.name);
+			parent.__LZRemoveItem(this.parent.objRef);
+		</handler>
+		<handler name="onmouseover">
+	        lz.Cursor.restoreCursor();
+	        lz.Cursor.showHandCursor(true);
+	    </handler>
+	    <handler name="onmouseout">
+	    	lz.Cursor.showHandCursor(false);
+	        lz.Cursor.unlock();
+	    </handler>
+    
+		<labelTooltip labelid="80" />
+	</image>	    
+    
+    <view resource="_boundingBoxPointerTL" x="0" y="0" />
+    <view resource="_boundingBoxPointerTR" x="${ parent.width-this.width }" y="0" />
+    <view name="_gripperResize" visibility="visible"
+        resource="_boundingBoxPointerUR" x="${ parent.width-this.width }" y="${ parent.height-this.height }" 
+        onmousedown="parent._applyResizestateFromThis()" onmouseup="parent._removeResizestateFromThis()" >
+    	<handler name="onmouseover">
+	        lz.Cursor.setCursorGlobal("arrow_resize_panel_cursor");
+	    </handler>
+	    <handler name="onmouseout">
+	        lz.Cursor.unlock();
+	    </handler>
+        <labelTooltip labelid="252" />
+    </view>
+    <view name="_gripperNoResize" visibility="hidden" 
+        resource="_boundingBoxPointerURNoGripper" x="${ parent.width-this.width }" y="${ parent.height-this.height }" />
+    <view resource="_boundingBoxPointerUL" x="0" y="${ parent.height-this.height }" />
+
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/helper/library.lzx b/WebContent/src/modules/conference/whiteboard/helper/library.lzx
new file mode 100644
index 0000000..04b6215
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/helper/library.lzx
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	<!-- APL author sebawagner -->
+	<resource name="bounding_item_rsc" src="resources/bounding_item.png" />
+
+    <include href="boundingBoxAll.lzx" />
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/helper/resources/bounding_item.fla b/WebContent/src/modules/conference/whiteboard/helper/resources/bounding_item.fla
new file mode 100644
index 0000000..23ecab3
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/helper/resources/bounding_item.fla
Binary files differ
diff --git a/WebContent/src/modules/conference/whiteboard/helper/resources/bounding_item.png b/WebContent/src/modules/conference/whiteboard/helper/resources/bounding_item.png
new file mode 100644
index 0000000..638f9d4
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/helper/resources/bounding_item.png
Binary files differ
diff --git a/WebContent/src/modules/conference/whiteboard/library.lzx b/WebContent/src/modules/conference/whiteboard/library.lzx
new file mode 100644
index 0000000..95beb27
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/library.lzx
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	<!-- APL author sebawagner -->
+	<resource name="_boundingBoxPointerTR" src="resources/boundingBoxTR.png" />
+	<!-- APL author sebawagner -->
+	<resource name="_boundingBoxPointerTL" src="resources/boundingBoxTL.png" />
+	<!-- APL author sebawagner -->
+	<resource name="_boundingBoxPointerUR" src="resources/boundingBoxUR.png" />
+	<!-- APL author sebawagner -->
+	<resource name="_boundingBoxPointerURNoGripper" src="resources/boundingBoxULNoGripper.png" />
+	<!-- APL author sebawagner -->
+	<resource name="_boundingBoxPointerUL" src="resources/boundingBoxUL.png" />
+	<!-- APL author sebawagner -->
+	<resource name="pointer_whiteboard_rsc" src="resources/pointer.swf" />
+	<!-- FamFam Icon Set -->
+	<resource name="bold" src="resources/text_bold.png" />
+	<!-- FamFam Icon Set -->
+	<resource name="italic" src="resources/text_italic.png" />
+	<!-- FamFam Icon Set -->
+	<resource name="add_whiteboard_rsc" src="resources/add.png" />
+	
+	<include href="incubator/lzcombobox.lzx"/> 
+	<include href="base/" />
+	<include href="windows/" />
+	<include href="helper/" />
+	
+	<include href="panels/" />
+	
+	<include href="basePropertyPanelWhiteboard.lzx" />
+    <include href="fixedFileExplorerWhiteBoard.lzx" />
+    <include href="fixedFileExplorerWhiteboardPanel.lzx" />
+    <include href="whiteboardMiniButton.lzx" />
+    <include href="whiteboardBarMenu.lzx" />
+
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/panels/library.lzx b/WebContent/src/modules/conference/whiteboard/panels/library.lzx
new file mode 100644
index 0000000..7c30379
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/panels/library.lzx
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<include href="maintoolspanel/" />
+	<include href="propertypanel" />
+	
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/library.lzx b/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/library.lzx
new file mode 100644
index 0000000..b18b8fa
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/library.lzx
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	<!--  APL author sebawagner -->
+    <resource name="sub_menu_tools_panel_rsc" src="resources/sub_menu.png" />
+    <!--  APL author sebawagner -->
+    <resource name="sub_menu_top_grip_colored_rsc" src="resources/sub_menu_top_grip.swf" />	
+    
+    <!--
+        How to create image map:
+        $imageMagick/montage *.png -tile 20x -geometry 22x22+2+2 all_images.jpg
+     -->
+
+	<include href="mainToolsPanelItem.lzx" />  
+	<include href="mainToolsPanel.lzx" />  
+	<include href="subMenuIconToolsToUpload.lzx" />
+	
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/mainToolsPanel.lzx b/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/mainToolsPanel.lzx
new file mode 100644
index 0000000..7622111
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/mainToolsPanel.lzx
@@ -0,0 +1,255 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="verticalMenuIconBar" extends="view" y="22" x="4" clickable="true">
+	<simplelayout axis="y" spacing="2" />
+	<mainToolsPanelItem name="plain" modi="plainConfirm" labelid="69" resourceItem="plain" setSelectionToItem="false" />
+	<mainToolsPanelItem name="plainSlide" modi="plainSlide" labelid="1005" resourceItem="plainSlides" setSelectionToItem="false" />
+	
+	<!--
+	<mainToolsPanelItem name="drag" modi="drag" labelid="1113" resourceItem="arrow_draw_panel_tool_cursor" />
+	 -->
+
+	<mainToolsPanelItem name="saveobj" modi="saveobj" labelid="197" resourceItem="saveobj" setSelectionToItem="false" />
+	
+	<mainToolsHPanelSeperator>
+        <attribute name="modi" value="" type="string"/>
+    </mainToolsHPanelSeperator>
+	<redoUndoToolsPanelItem name="revert" doredo="false" labelid="70" resourceItem="revert" />
+	<mainToolsHPanelSeperator>
+		<attribute name="modi" value="" type="string"/>
+	</mainToolsHPanelSeperator>
+	<mainToolsPanelItem name="hand" modi="hand" labelid="72" _isselected="true" 
+						resourceItem="menupointer_rsc" />
+    <mainToolsPanelItem name="pointerWhiteboard" modi="pointerWhiteboard" 
+                        labelid="557" x_insetResource="1" y_insetResource="1"
+                        resourceItem="pointer_whiteboard_menu_rsc" />
+	<mainToolsPanelItem name="letter" modi="letter" labelid="73" resourceItem="letter" />
+	<mainToolsPanelItem name="paint" modi="paint" labelid="74" resourceItem="paint" />
+	<mainToolsPanelItem name="line" modi="line" labelid="75" resourceItem="line_rsc" />
+	<mainToolsPanelItem name="uline" modi="uline" labelid="76" resourceItem="uline_rsc" />
+	<mainToolsPanelItem name="rectangle" modi="rectangle" labelid="77" resourceItem="rectangle" />
+	<mainToolsPanelItem name="ellipse" modi="ellipse" labelid="78" resourceItem="ellipse" />
+	<mainToolsPanelItem name="drawarrow" modi="drawarrow" labelid="79" resourceItem="drawarrowicon_rsc" />
+
+    <mainToolsPanelItem name="clipart" modi="clipart" labelid="1323" >
+        
+        <handler name="oninit">
+            this._bgIcon.setAttribute("visibility","hidden");
+            var imageurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport+canvas.httpRootKey
+                                            +'public/cliparts/thumb/'
+                                            +canvas._drawarea.currentClipArtRessourceName;
+            
+            this._rscIcon.setSource(imageurl);
+        </handler>
+        
+        <!--
+        <view x="$once{ parent.x_insetResource }" y="$once{ parent.x_insetResource }" 
+              height="18" width="18" stretches="both" name="_bgIconIcon" />      
+         -->
+              
+        <view resource="sub_menu_tools_panel_rsc"
+              x="$once{ parent.width - 10 }" y="$once{ parent.height - 10 }">
+            <handler name="onclick">
+            	<![CDATA[
+                if ($debug) Debug.write("Show Sub Menu");
+                new lz.subMenuIconToolsToUpload(canvas,{
+                                x:500,
+                                y:82,
+                                refToolbar:parent
+                            });
+                ]]>
+            </handler>
+            <labelTooltip labelid="1335" />
+        </view>
+        
+    </mainToolsPanelItem>
+
+</class>
+
+<class name="horizontalMenuIconBar" extends="view" y="22" x="4" clickable="true">
+	<simplelayout axis="x" spacing="2" />
+	<mainToolsPanelItem name="plain" modi="plainConfirm" labelid="69" resourceItem="plain" setSelectionToItem="false" />
+	<mainToolsPanelItem name="plainSlide" modi="plainSlide" labelid="1005" resourceItem="plainSlides" setSelectionToItem="false" />
+	<!--
+	<mainToolsPanelItem name="drag" modi="drag" labelid="1113" resourceItem="arrow_draw_panel_tool_cursor" />
+     -->
+	<mainToolsPanelItem name="saveobj" modi="saveobj" labelid="197" resourceItem="saveobj" setSelectionToItem="false" />
+	
+	<mainToolsVPanelSeperator>
+        <attribute name="modi" value="" type="string"/>
+    </mainToolsVPanelSeperator>
+	<redoUndoToolsPanelItem name="revert" doredo="false" labelid="70" resourceItem="revert" />
+	<mainToolsVPanelSeperator>
+        <attribute name="modi" value="" type="string"/>
+    </mainToolsVPanelSeperator>	
+	<mainToolsPanelItem name="hand" modi="hand" labelid="72" _isselected="true" 
+						resourceItem="menupointer_rsc" />
+    <mainToolsPanelItem name="pointerWhiteboard" modi="pointerWhiteboard" 
+                        labelid="557" resourceItem="pointer_whiteboard_menu_rsc" />
+	<mainToolsPanelItem name="letter" modi="letter" labelid="73" resourceItem="letter" />
+	<mainToolsPanelItem name="paint" modi="paint" labelid="74" resourceItem="paint" />
+	<mainToolsPanelItem name="line" modi="line" labelid="75" resourceItem="line_rsc" />
+	<mainToolsPanelItem name="uline" modi="uline" labelid="76" resourceItem="uline_rsc" />
+	<mainToolsPanelItem name="rectangle" modi="rectangle" labelid="77" resourceItem="rectangle" />
+	<mainToolsPanelItem name="ellipse" modi="ellipse" labelid="78" resourceItem="ellipse" />
+	<mainToolsPanelItem name="drawarrow" modi="drawarrow" labelid="79" resourceItem="drawarrowicon_rsc" />
+	<mainToolsPanelItem name="clipart" modi="clipart" labelid="1323" >
+        
+        <handler name="oninit">
+            if (this["_bgIcon"]) {
+        	   this._bgIcon.setAttribute("visibility","hidden");
+        	}
+            var imageurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport+canvas.httpRootKey
+                                            +'public/cliparts/thumb/'
+                                            +canvas._drawarea.currentClipArtRessourceName;
+            
+            this._rscIcon.setSource(imageurl);
+        </handler>
+        
+        <view x="$once{ parent.x_insetResource }" y="$once{ parent.x_insetResource }" 
+              height="18" width="18" stretches="both" name="_bgIconIcon" />      
+        
+        <view resource="sub_menu_tools_panel_rsc"
+              x="$once{ parent.width - 10 }" y="$once{ parent.height - 10 }">
+            <handler name="onclick">
+                if ($debug) Debug.write("Show Sub Menu");
+                new lz.subMenuIconToolsToUpload(canvas,{
+                                x:500,
+                                y:82,
+                                refToolbar:parent
+                            });
+            </handler>
+            <labelTooltip labelid="1335" />
+        </view>
+        
+    </mainToolsPanelItem>
+</class>
+
+
+<class name="mainToolsTopPanel" extends="baseTopPanel" 
+	   width="420" height="33" title="" docking="true"
+	   activationClassBounding="mainToolsLeftPanel"
+	   activationVClassBounding="mainToolsTopPanel"
+	   leftClassPanel="mainToolsLeftPanel"
+	   topClassPanel="mainToolsTopPanel"
+	   bottomClassPanel="mainToolsTopPanel"
+	   rightClassPanel="mainToolsLeftPanel"
+	   verticalClassActive="true"
+	   hWidth="33" hHeight="420">
+	
+    <method name="updateToolSelection" args="modi">
+    	<![CDATA[
+            if ($debug) Debug.write("-updateToolSelection-  ",modi);
+            
+            for (var i=0;i<this._tools.subviews.length;i++){
+                
+            	if (this._tools.subviews[i].modi == modi) {
+            		
+            		this._tools.subviews[i].setSelectionWithoutEvent();
+            		return;
+            	}
+            	
+            }
+            
+        ]]>
+    </method>
+    
+	<horizontalMenuIconBar name="_tools" x="20" y="4" />
+</class>	
+	
+<class name="mainToolsLeftPanel" extends="baseLeftPanel" 
+	   width="33" height="420" title="" docking="true"
+	   activationClassBounding="mainToolsLeftPanel"
+	   activationVClassBounding="mainToolsTopPanel"
+	   topClassPanel="mainToolsTopPanel"
+	   bottomClassPanel="mainToolsTopPanel"
+	   leftClassPanel="mainToolsLeftPanel"
+	   rightClassPanel="mainToolsLeftPanel"
+	   verticalClassActive="false"
+	   vWidth="420" vHeight="33">
+	
+    <method name="updateToolSelection" args="modi">
+        <![CDATA[
+            if ($debug) Debug.write("-updateToolSelection-  ",modi);
+            
+            for (var i=0;i<this._tools.subviews.length;i++){
+                
+                if (this._tools.subviews[i].modi == modi) {
+                    
+                    this._tools.subviews[i].setSelectionWithoutEvent();
+                    return;
+                }
+                
+            }
+            
+        ]]>
+    </method>	
+	
+	<verticalMenuIconBar name="_tools" x="3" y="20" />
+</class>
+
+<!-- ################
+    Non Moderator Tools
+-->
+
+<class name="verticalMenuIconBarPointer" extends="view" y="22" x="4" clickable="true">
+    <simplelayout axis="y" spacing="2" />
+    <mainToolsPanelItem name="pointerWhiteboard" modi="pointerWhiteboard" labelid="557" 
+                        resourceItem="pointer_whiteboard_menu_rsc" />
+</class>
+
+<class name="horizontalMenuIconBarPointer" extends="view" y="22" x="4" clickable="true">
+    <simplelayout axis="x" spacing="2" />
+    <mainToolsPanelItem name="pointerWhiteboard" modi="pointerWhiteboard" labelid="557" 
+                        resourceItem="pointer_whiteboard_menu_rsc" />
+</class>
+
+<class name="mainToolsTopPanelPointer" extends="baseTopPanel" 
+       width="52" height="32" title="" docking="true"
+       activationClassBounding="mainToolsLeftPanelPointer"
+       activationVClassBounding="mainToolsTopPanelPointer"
+       leftClassPanel="mainToolsLeftPanelPointer"
+       topClassPanel="mainToolsTopPanelPointer"
+       bottomClassPanel="mainToolsTopPanelPointer"
+       rightClassPanel="mainToolsLeftPanelPointer"
+       verticalClassActive="true"
+       hWidth="32" hHeight="52">
+    
+    <horizontalMenuIconBarPointer x="20" y="4" />
+</class>    
+
+<class name="mainToolsLeftPanelPointer" extends="baseLeftPanel" 
+       width="32" height="52" title="" docking="true"
+       activationClassBounding="mainToolsLeftPanelPointer"
+       activationVClassBounding="mainToolsTopPanelPointer"
+       topClassPanel="mainToolsTopPanelPointer"
+       bottomClassPanel="mainToolsTopPanelPointer"
+       leftClassPanel="mainToolsLeftPanelPointer"
+       rightClassPanel="mainToolsLeftPanelPointer"
+       verticalClassActive="false"
+       vWidth="52" vHeight="32">
+    
+    <verticalMenuIconBarPointer x="2" y="20" />
+</class>	
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/mainToolsPanelItem.lzx b/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/mainToolsPanelItem.lzx
new file mode 100644
index 0000000..565c710
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/mainToolsPanelItem.lzx
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+ 
+<class name="mainToolsPanelItem" extends="blueButton" 
+	   width="26" height="26">
+	
+	<attribute name="modi" value="" type="string" />
+	<attribute name="labelid" value="0" type="number" />
+	
+	<attribute name="setSelectionToItem" value="true" type="boolean" />
+	<attribute name="_isselected" value="false" type="boolean" />
+	
+	<handler name="oninit">
+		if (this._isselected) parent.parent.parent.setSelection(this);
+	</handler>
+	
+	<method name="setSelectionWithoutEvent">
+        parent.parent.parent.setSelectionWithoutEvent(this);
+    </method>
+	
+	<handler name="onmouseup">
+		//if ($debug) Debug.write("parent.parent.parent",parent.parent.parent);
+		parent.parent.parent.setSelection(this);
+	</handler>
+	<labelTooltip name="__labeltooltip" labelid="$once{ parent.labelid }" />
+</class>
+
+<class name="redoUndoToolsPanelItem" extends="mainToolsPanelItem" setSelectionToItem="false">
+	<attribute name="doredo" value="true" type="boolean" />
+	<handler name="onclick">	  
+          if(this.doredo){
+            this.parent.parent.parent.parent._drawareaMask._drawarea.doredo();
+          } else {
+            this.parent.parent.parent.parent._drawareaMask._drawarea.undoredo();
+          }
+        </handler>
+</class>
+
+<class name="mainToolsHPanelSeperator" extends="view" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }"
+	   width="26" height="1" ></class>
+	   
+<class name="mainToolsVPanelSeperator" extends="view" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }"
+	   width="1" height="26" ></class>
+
+    
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/resources/sub_menu.fla b/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/resources/sub_menu.fla
new file mode 100644
index 0000000..cb6f4f5
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/resources/sub_menu.fla
Binary files differ
diff --git a/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/resources/sub_menu.png b/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/resources/sub_menu.png
new file mode 100644
index 0000000..e189bc9
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/resources/sub_menu.png
Binary files differ
diff --git a/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/resources/sub_menu_top_grip.fla b/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/resources/sub_menu_top_grip.fla
new file mode 100644
index 0000000..64344b2
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/resources/sub_menu_top_grip.fla
Binary files differ
diff --git a/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/resources/sub_menu_top_grip.swf b/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/resources/sub_menu_top_grip.swf
new file mode 100644
index 0000000..01de566
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/resources/sub_menu_top_grip.swf
Binary files differ
diff --git a/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/subMenuIconToolsToUpload.lzx b/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/subMenuIconToolsToUpload.lzx
new file mode 100644
index 0000000..647c011
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/panels/maintoolspanel/subMenuIconToolsToUpload.lzx
@@ -0,0 +1,356 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="miniIconSmybolExtraIcons" extends="view" width="22" height="22">
+	
+	<attribute name="modi" value="" type="string"/>
+	
+	<handler name="onclick">
+		parent.sendNewIcon(this,"");
+	</handler>
+	
+	<handler name="ondblclick">
+		parent.sendNewIcon(this,"");
+		parent.chooseSelect();
+	</handler>
+	
+	<labelTooltip text="$once{ parent.modi }" />
+	
+</class>
+
+<class name="miniIconSmybolExtraIconsImageMap" extends="view" >
+    
+    <handler name="onclick">
+        parent.parent.sendImageMapNewIcon(this);
+    </handler>
+    
+    <handler name="ondblclick">
+        parent.parent.sendImageMapNewIcon(this);
+        parent.chooseSelect();
+    </handler>
+    
+    <handler name="onmouseover" args="tObj">
+    	parent.onmouseover.sendEvent(tObj);
+    </handler>
+    
+    <handler name="onmouseout" args="tObj">
+    	parent.onmouseout.sendEvent(tObj);
+	</handler>
+    
+</class>
+
+<class name="miniIconSmybolExtraIconsSeparator" extends="view" width="$once{ parent.width }" 
+	   height="22">
+	
+	<attribute name="title" type="string" value="title" />
+	
+	<attribute name="isopen" value="true" type="boolean" />
+	
+	<method name="toggleopen">
+		this.setAttribute("isopen",!this.isopen);
+	</method>
+	
+	<handler name="onclick">
+		this.toggleopen();
+	</handler>
+	
+	<view width="${ this.parent.parent.width }" y="0" stretches="width"
+                resource="presenter_thumb_rsc" >
+        <handler name="oninit">
+            <![CDATA[
+                this.setTintRGB(canvas.getThemeColor('basebgcolorizer'),90);
+            ]]>
+        </handler>
+        <method name="setTintRGB" args="color, brightness">
+            <![CDATA[
+            if (color != "" && color != null){
+                
+                if (brightness == null) { brightness = 0; }
+                var rgb = color;
+                var red=(rgb >> 16) & 0xFF;
+                var green=(rgb >> 8) & 0xFF;
+                var blue=rgb & 0xFF;
+    
+                this.setColorTransform( { ra : red, ga : green, ba : blue,
+                                            rb : 0, gb : 0, bb : 0 } );
+                                            
+                if($debug) Debug.write("explorerBox/setTintRGB",this);
+                if($debug) Debug.write("explorerBox/setTintRGB", { ra : red, ga : green, ba : blue, rb : 0, gb : 0, bb : 0 } );
+            }
+            ]]>
+        </method>            
+    </view>	
+    
+    <view visible="${ !this.parent.isopen }" x="2" y="2" resource="conferenceBox_button_min_small_rsc" />
+    <view visible="${ this.parent.isopen }" x="2" y="2" resource="conferenceBox_button_max_small_rsc" />
+
+    <text fontsize="11" height="17" x="16" y="1" text="${ this.parent.title }" 
+            fgcolor="0xFFFFFF" resize="true" />
+            
+</class>
+
+<class name="miniIconSmybolExtraIconsContainer" extends="text" width="$once{ parent.width }">
+	
+	<attribute name="fName" value="" type="string"/>
+	<attribute name="folderName" value="" type="string"/>
+	<attribute name="iconList" value="null"/>
+	<attribute name="isopen" value="true" type="boolean" />
+	
+	<method name="sendNewIcon" args="tObj">
+        parent.sendNewIcon(tObj,this.folderName);
+    </method>
+    
+    <method name="calcImageMapNewIcon">
+    	var tX = Math.floor(this._content.getMouse('x')/26);
+    	var tY = Math.floor(this._content.getMouse('y')/26);
+    	
+    	var tNumber = tX + (tY * 20);
+    	
+    	if (tNumber > this.iconList.length) {
+    		return "";
+    	}
+    	
+    	return this.iconList[tNumber];
+    </method>
+    
+    <method name="sendImageMapNewIcon">
+        var tObj = new Object();
+        tObj["modi"] = this.calcImageMapNewIcon();
+        if (tObj["modi"] == "") {
+        	return;
+        }
+        this._content.clearToolTipReference();
+        parent.sendNewIcon(tObj,this.folderName);
+    </method>
+    
+    <method name="chooseSelect">
+    	this._content.clearToolTipReference();
+        parent.chooseSelect();
+    </method>
+
+	
+	<miniIconSmybolExtraIconsSeparator title="$once{ parent.fName }" isopen="$once{ parent.isopen }">
+		<handler name="onisopen" args="o">
+			if (o) {
+				parent._content.setAttribute("visibility","visible");
+			} else {
+				parent._content.setAttribute("visibility","hidden");
+			}
+		</handler>
+	</miniIconSmybolExtraIconsSeparator>
+	
+	<view name="_content" y="22" width="$once{ parent.width }">
+		
+		<attribute name="calcItem" value="false" type="boolean" />
+		
+		<attribute name="toolTipReference" value="null" />
+		
+		<method name="clearToolTipReference">
+			if (this.toolTipReference != null) {
+				this.toolTipReference.destroy();
+				this.toolTipReference = null;
+			}
+		</method>
+		
+		<handler name="onmouseover">
+			this.stillDownDelegate = new LzDelegate( this, "stillDownEventGenerator" );
+			this.calcItem = true;
+			this.toolTipReference = new lz.toolTipCustomPic(canvas);
+			lz.Timer.addTimer( this.stillDownDelegate, 100 );
+		</handler>
+		
+		<method name="stillDownEventGenerator" args="ignore" >
+			if (!this.calcItem) {
+				return;
+			}
+			var tString = parent.calcImageMapNewIcon();
+			this.toolTipReference.setAttribute("x", this.getAttributeRelative("x",canvas)+this.getMouse("x")+20);
+			this.toolTipReference.setAttribute("y", this.getAttributeRelative("y",canvas)+this.getMouse("y")+20);
+			this.toolTipReference.setAttribute("text", tString);
+			lz.Timer.removeTimer( this.stillDownDelegate );
+			lz.Timer.addTimer( this.stillDownDelegate, 100 );
+		</method>
+		
+		<handler name="onmouseout">
+			this.clearToolTipReference();
+			lz.Timer.removeTimer( this.stillDownDelegate );
+            this.calcItem = false;
+        </handler>
+		
+		<method name="sendNewIcon" args="tObj">
+            parent.sendNewIcon(tObj);
+        </method>
+        
+        <method name="chooseSelect">
+            parent.chooseSelect();
+        </method>
+
+	</view>
+	
+</class>
+
+<class name="toolTipCustomPic" extends="text" bgcolor="0xFFFFFF">
+	
+</class>
+	
+	
+<class name="subMenuIconToolsToUpload" extends="guiPresenter" labelid="1335" 
+    minimizable="false" maximizable="false" fullToolBar="true" 
+    resizeable="false" width="340" height="280" >
+	
+	<attribute name="currentSelected" value="null" />
+	<attribute name="refToolbar" value="null" />
+	
+	<handler name="oninit">
+		lz.ModeManager.makeModal(this);
+	</handler>
+	
+    <handler name="onclose">
+    	lz.ModeManager.release(this);
+    </handler>
+    
+    <!--- @keywords private -->
+    <method name="passModeEvent" args="eventStr,view" > 
+        <![CDATA[
+           if ( eventStr == "onmousedown"  ){
+               if ( view != null ) {
+                  if ( !view.childOf(this) ) {
+                       this.close();
+                  }
+               } else {
+                   this.close();
+               }
+           }
+           if (view && view.childOf(this)) {
+               if (view[ eventStr ]) {
+                   view[ eventStr ].sendEvent( view );
+               }
+               return false;
+           }
+          return true;
+       ]]> 
+    </method>  
+    
+    <method name="sendNewIcon" args="refObj,folderName">
+    	if ($debug) Debug.write("sendNewIcon :: ",refObj.modi);
+    	this.currentSelected = refObj;
+    	
+    	if (folderName != "") {
+    		folderName += "/";
+    	}
+    	
+    	var imageurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport+canvas.httpRootKey
+                                        +'public/cliparts/thumb/'+refObj.modi;
+    	
+        if ($debug) Debug.write("this.refToolbar :: ",this.refToolbar);        
+                                        
+    	this.refToolbar._rscIcon.setSource(imageurl);
+    	
+    	this.refToolbar.parent.parent.parent.setSelection(this.refToolbar);
+    	
+    	canvas._drawarea.currentClipArtRessourceName = folderName + refObj.modi;
+    	
+    	this.close();
+    </method>
+    
+    <method name="chooseSelect">
+    	if ($debug) Debug.write("chooseSelect :: ",this.currentSelected);
+    	this.close();
+    </method>
+    
+    <!--
+    <view resource="sub_menu_top_grip_colored_rsc" y="-14">
+    </view>
+     -->
+    
+    <view x="1" y="22" width="$once{ parent.width-4 }" clip="true" showhandcursor="false"
+    	  height="$once{ parent.height - 23 }" clickable="true">
+    	
+    	<view width="$once{ parent.width-15 }" x="1">
+    		
+    		<handler name="oninit">
+    			this.getClipArtIcons.doCall();
+    		</handler>
+    		
+		    <method name="sendNewIcon" args="tObj,folderName">
+                parent.parent.sendNewIcon(tObj,folderName);
+            </method>
+            
+            <method name="chooseSelect">
+                parent.parent.chooseSelect();
+            </method>
+
+    		
+    		<attribute name="currentContainer" value="null" />
+    		
+    		<!--
+    		getClipArtIcons()
+    		 -->
+            <netRemoteCallHib name="getClipArtIcons" funcname="whiteboardservice.getClipArtIcons"
+                remotecontext="$once{ canvas.thishib }" >
+                <handler name="ondata" args="value">
+                    <![CDATA[
+                        //The onResult-Handler will be called be the rtmpconnection
+                        //if ($debug) Debug.write("############## getClipArtIcons : ",value);
+                        parent.loadIconThumbs(value.generalList,"");
+                    ]]>
+                </handler>   
+            </netRemoteCallHib> 
+            
+            <method name="loadIconThumbs" args="list,folderName">
+            	<![CDATA[
+            	
+                    var imageurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport+canvas.httpRootKey
+                                        +'public/cliparts/thumb/';
+                    
+                    //if ($debug) Debug.write("imageurl :: ",imageurl);            	
+                        	
+                    for (var i=0;i<list.length;i++) {
+                    	
+                    	//if ($debug) Debug.write("list[i].indexOf() ",list[i],list[i].indexOf("."));
+                    	
+                    	if (list[i].indexOf(".") > 1 ) {
+                    	
+                            var iconresourceName = imageurl + list[i];
+                          
+                            new lz.miniIconSmybolExtraIcons(this,{
+                                          modi:list[i],
+                                          resource:iconresourceName,
+                                          stretches:'both'
+                                      });
+                                  
+                    	}
+                      
+                    }
+                
+                ]]>
+            </method>    		 
+    		
+    		<wrappinglayout axis="y" spacing="2" inset="2" />
+    	</view> 
+    	
+    	<om_vscrollbar />
+    </view>
+    
+</class>
+	
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/panels/propertypanel/drawDocumentPanelItem.lzx b/WebContent/src/modules/conference/whiteboard/panels/propertypanel/drawDocumentPanelItem.lzx
new file mode 100644
index 0000000..5fa1425
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/panels/propertypanel/drawDocumentPanelItem.lzx
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+    

+	<class name="drawDocumentPanelItem" extends="blueButton" 

+		   width="26" height="26" 

+		   x_insetResource="2" y_insetResource="2"

+		   width_insetResource="22" height_insetResource="22">

+		

+		<attribute name="modi" value="" type="string" />

+		<attribute name="labelid" value="0" type="number" />

+		

+		<handler name="onclick">

+			//if ($debug) Debug.write("parent.parent.parent.parent: ",parent.parent.parent.parent);

+			if (parent.parent.parent.ignoreUpdates) {

+	            return;

+	        }

+	        parent.parent.parent.parent._drawareaMask._drawarea.setCurrentDocumentByToolBar(parent.parent.currentDocument.getValue());

+	        parent.parent.parent.parent._drawareaMask._drawarea.doDocumentAction(this.modi);

+		</handler>

+		

+		<labelTooltip name="__labeltooltip" labelid="$once{ parent.labelid }" />

+	    

+	</class>    

+

+</library>
\ No newline at end of file
diff --git a/WebContent/src/modules/conference/whiteboard/panels/propertypanel/library.lzx b/WebContent/src/modules/conference/whiteboard/panels/propertypanel/library.lzx
new file mode 100644
index 0000000..4bb685a
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/panels/propertypanel/library.lzx
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	<!-- APL Author sebawagner -->
+	<resource name="_button_rsc_letter_rsc" src="resources/button_rsc.swf" />
+	
+	<include href="propertyPanelLetterButton.lzx" />  
+	<include href="drawDocumentPanelItem.lzx" />  
+	<include href="propertyPanel.lzx" />  
+	
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/panels/propertypanel/propertyPanel.lzx b/WebContent/src/modules/conference/whiteboard/panels/propertypanel/propertyPanel.lzx
new file mode 100644
index 0000000..05fca24
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/panels/propertypanel/propertyPanel.lzx
@@ -0,0 +1,354 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<class name="propertyPanel" extends="basePropertyPanel" 
+	   width="${ parent.parent.width-1 }" height="80" labelid="843" >
+	
+	<attribute name="ignoreUpdates" value="false" type="boolean" />
+    
+	<method name="setObjectBounds" args="x,y,width,height">
+		if ($debug) Debug.write("setObjectBounds: ",x,y,width,height);
+		this._content._xvalue.setAttribute('text',x);
+		this._content._yvalue.setAttribute('text',y);
+		this._content._widthvalue.setAttribute('text',width);
+		this._content._heightvalue.setAttribute('text',height);
+	</method>
+	
+	<method name="onUpdateBoundByText">
+		if (canvas._drawarea.boundingref!=null){
+			if ($debug) Debug.write("onUpdateBoundByText boundingref: ",canvas._drawarea.boundingref);
+			canvas._drawarea.boundingref.setAttribute('x',Number(this._content._xvalue.getText()));
+			canvas._drawarea.boundingref.setAttribute('y',Number(this._content._yvalue.getText()));
+			canvas._drawarea.boundingref.setAttribute('width',Number(this._content._widthvalue.getText()));
+			canvas._drawarea.boundingref.setAttribute('height',Number(this._content._heightvalue.getText()));
+		}
+	</method>
+	
+	<method name="loadPanelByModus" args="drawArea">
+		if ($debug) Debug.write("loadPanelByModus drawmodus: ",drawArea.drawmodus);
+		this.ignoreUpdates = true;
+		if (drawArea.drawmodus == 'paint') {
+			this._content.lineColorChoose.setSelectedColor(drawArea.currentlayerstroke);
+			this._content.changeWidthSlider.setSliderValue(drawArea.currentlayerlineWidth);
+			this._content.fillColorChoose.setEnabled(false);
+			this._content.changeOpacitySlider.setSliderValue(drawArea.currentlayerOpacity*100);
+		} else if (drawArea.drawmodus == 'line') {
+			this._content.lineColorChoose.setSelectedColor(drawArea.currentlinestroke);
+			this._content.changeWidthSlider.setSliderValue(drawArea.currentlinelineWidth);
+			this._content.fillColorChoose.setEnabled(false);
+			this._content.changeOpacitySlider.setEnabled(false);
+			this._content.changeOpacitySlider.setSliderValue(drawArea.currentlineOpacity*100);
+		} else if (drawArea.drawmodus == 'uline') {
+			this._content.lineColorChoose.setSelectedColor(drawArea.currentulinestroke);
+			this._content.changeWidthSlider.setSliderValue(drawArea.currentulinelineWidth);
+			this._content.fillColorChoose.setEnabled(false);
+			this._content.changeOpacitySlider.setSliderValue(drawArea.currentulineOpacity*100);
+		} else if (drawArea.drawmodus == 'drawarrow') {
+			this._content.lineColorChoose.setSelectedColorWithDis(drawArea.currentdrawarrowlinestroke,
+                drawArea.currentdrawarrowlinestrokeDis);
+			this._content.changeWidthSlider.setSliderValue(drawArea.currentdrawarrowlinelineWidth);
+			this._content.fillColorChoose.setSelectedColorWithDis(drawArea.currentdrawarrowlinestrokeFill,
+                drawArea.currentdrawarrowlinestrokeFillDis);
+			this._content.changeOpacitySlider.setSliderValue(drawArea.currentdrawarrowOpacity*100);
+		} else if (drawArea.drawmodus == 'rectangle') {
+			this._content.lineColorChoose.setSelectedColorWithDis(drawArea.currentrectanglestroke,
+				drawArea.currentrectanglestrokeDis);
+			this._content.fillColorChoose.setSelectedColorWithDis(drawArea.currentrectanglestrokeFill,
+				drawArea.currentrectanglestrokeFillDis);
+			this._content.changeWidthSlider.setSliderValue(drawArea.currentrectangleineWidth);
+			this._content.changeOpacitySlider.setSliderValue(drawArea.currentrectangleOpacity*100);
+		} else if (drawArea.drawmodus == 'ellipse') {
+			this._content.lineColorChoose.setSelectedColorWithDis(drawArea.currentellipsestroke,
+				drawArea.currentellipsestrokeDis);
+			this._content.fillColorChoose.setSelectedColorWithDis(drawArea.currentellipsestrokeFill,
+				drawArea.currentellipsestrokeFillDis);
+			this._content.changeWidthSlider.setSliderValue(drawArea.currentellipselineWidth);
+			this._content.changeOpacitySlider.setSliderValue(drawArea.currentellipseOpacity*100);
+		} else if (drawArea.drawmodus == 'letter') {
+			this._content.lineColorChoose.setSelectedColor(drawArea.currentlayerletter);
+			this._content.fillColorChoose.setEnabled(false);
+			if ($debug) Debug.write("drawArea.currentlayersize ",drawArea.currentlayersize);
+			this._content.changeWidthSlider.setSliderValue(drawArea.currentlayersize);
+			this._content.changeOpacitySlider.setEnabled(false);
+			this._content._italic.setValue(canvas._drawarea.italic);
+			this._content._bold.setValue(canvas._drawarea.bold);
+		} else {
+			if ($debug) Debug.warn("Not known drawmodus",drawArea.drawmodus);
+			this._content.lineColorChoose.setEnabled(false);
+			this._content.changeWidthSlider.setEnabled(false);
+			this._content.fillColorChoose.setEnabled(false);
+			this._content.changeOpacitySlider.setEnabled(false);
+		}
+		
+		if (drawArea.drawmodus == 'letter'){
+            this._content._italic.setAttribute('enabled',true);
+            this._content._bold.setAttribute('enabled',true);           
+        } else {
+            this._content._italic.setAttribute('enabled',false);
+            this._content._bold.setAttribute('enabled',false);
+        }
+		
+		this.ignoreUpdates = false;
+	</method>
+	
+	<method name="loadPanelByBoundingBox" args="drawArea,objRef">
+		if ($debug) Debug.write("loadPanelByBoundingBox objRef: ",objRef);
+		
+        this.loadPanelByModus(drawArea);
+        
+        this.ignoreUpdates = true;
+        
+        if (objRef.name.indexOf('swf') >= 0) {
+            
+            this._content._documentsPanel._currentSlideNo.setAttribute("text",objRef.slideNumber);
+            this._content._documentsPanel._zoom.setAttribute("text",objRef.currentzoomFactor);
+            //this._content._fullFit.setValue(objRef.fullFit);
+            
+        }
+		
+		this.ignoreUpdates = false;
+	</method>
+		
+	<method name="updateProperties">
+		if (!this.ignoreUpdates){
+			if (canvas._drawarea.drawmodus == 'paint'){
+				canvas._drawarea.currentlayerstroke = this._content.lineColorChoose.selectedColor;
+				canvas._drawarea.currentlayerlineWidth = this._content.changeWidthSlider.initialNumber;
+				canvas._drawarea.currentlayerOpacity = this._content.changeOpacitySlider.initialNumber/100;
+			} else if (canvas._drawarea.drawmodus == 'line'){
+				canvas._drawarea.currentlinestroke = this._content.lineColorChoose.selectedColor;
+				canvas._drawarea.currentlinelineWidth = this._content.changeWidthSlider.initialNumber;
+				canvas._drawarea.currentlineOpacity = this._content.changeOpacitySlider.initialNumber/100;
+			} else if (canvas._drawarea.drawmodus == 'uline'){
+				canvas._drawarea.currentulinestroke = this._content.lineColorChoose.selectedColor;
+				canvas._drawarea.currentulinelineWidth = this._content.changeWidthSlider.initialNumber;
+				canvas._drawarea.currentulineOpacity = this._content.changeOpacitySlider.initialNumber/100;
+			} else if (canvas._drawarea.drawmodus == 'drawarrow'){
+				canvas._drawarea.currentdrawarrowlinestroke = this._content.lineColorChoose.selectedColor;
+                canvas._drawarea.currentdrawarrowlinestrokeDis = this._content.lineColorChoose.selectedColorDis;
+                canvas._drawarea.currentdrawarrowlinestrokeFill = this._content.fillColorChoose.selectedColor;
+                canvas._drawarea.currentdrawarrowlinestrokeFillDis = this._content.fillColorChoose.selectedColorDis;
+                canvas._drawarea.currentdrawarrowlinelineWidth = this._content.changeWidthSlider.initialNumber;
+				canvas._drawarea.currentdrawarrowOpacity = this._content.changeOpacitySlider.initialNumber/100;
+			} else if (canvas._drawarea.drawmodus == 'rectangle'){
+				canvas._drawarea.currentrectanglestroke = this._content.lineColorChoose.selectedColor;
+				canvas._drawarea.currentrectanglestrokeDis = this._content.lineColorChoose.selectedColorDis;
+				canvas._drawarea.currentrectanglestrokeFill = this._content.fillColorChoose.selectedColor;
+				canvas._drawarea.currentrectanglestrokeFillDis = this._content.fillColorChoose.selectedColorDis;
+				canvas._drawarea.currentrectangleineWidth = this._content.changeWidthSlider.initialNumber;
+				canvas._drawarea.currentrectangleOpacity = this._content.changeOpacitySlider.initialNumber/100;
+			} else if (canvas._drawarea.drawmodus == 'ellipse'){
+				canvas._drawarea.currentellipsestroke = this._content.lineColorChoose.selectedColor;
+				canvas._drawarea.currentellipsestrokeDis = this._content.lineColorChoose.selectedColorDis;
+				canvas._drawarea.currentellipsestrokeFill = this._content.fillColorChoose.selectedColor;
+				canvas._drawarea.currentellipsestrokeFillDis = this._content.fillColorChoose.selectedColorDis;
+				canvas._drawarea.currentellipselineWidth = this._content.changeWidthSlider.initialNumber;
+				canvas._drawarea.currentellipseOpacity = this._content.changeOpacitySlider.initialNumber/100;
+			} else if (canvas._drawarea.drawmodus == 'letter'){
+				canvas._drawarea.setAttribute('currentlayerletter',this._content.lineColorChoose.selectedColor);
+				canvas._drawarea.setAttribute('currentlayersize',this._content.changeWidthSlider.initialNumber);
+				canvas._drawarea.italic = this._content._italic.getValue();
+				canvas._drawarea.bold = this._content._bold.getValue();
+				canvas._drawarea.doalterStyle();
+			} else {
+				if ($debug) Debug.warn("Not known drawmodus",canvas._drawarea.drawmodus);
+			}
+		}
+	</method>
+
+	<view name="_content" visible="${this.parent.isopen}" >
+		
+		<labelTextWidthTooltip name="_xvalueLabel" x="4" y="24"
+			labelid="545" labelLabelid="546"  /> 
+		<customEdittext name="_xvalue" x="24" y="24" regexpType="number" 
+			width="40" text="0" height="24"
+			onafterCheck="parent.parent.onUpdateBoundByText()" />
+		
+		<labelTextWidthTooltip name="_yvalueLabel" x="4" y="52"
+			labelid="547" labelLabelid="548"  /> 
+		<customEdittext name="_yvalue" x="24" y="52" regexpType="number"
+			width="40" text="0" height="24"
+			onafterCheck="parent.parent.onUpdateBoundByText()" />
+		
+		<labelTextWidthTooltip name="_widthvalueLabel" x="68" y="24"
+			labelid="549" labelLabelid="550" /> 
+		<customEdittext name="_widthvalue" x="88" y="24" regexpType="number" 
+			width="40" text="0" height="24"
+			onafterCheck="parent.parent.onUpdateBoundByText()" />
+		
+		<labelTextWidthTooltip name="_heightvalueLabel" x="68" y="52"
+			labelid="551" labelLabelid="552" /> 
+		<customEdittext name="_heightvalue" x="88" y="52" regexpType="number"
+			width="40" text="0" height="24"
+			onafterCheck="parent.parent.onUpdateBoundByText()" />
+			
+			
+		<lineColorChoose x="132" y="24" name="lineColorChoose" boxPosition="up" >
+			<handler name="onselectedColor" args="sel">
+				if ($debug) Debug.write("lineColorChoose sel: ",sel);
+				parent.parent.updateProperties();			
+			</handler>
+		</lineColorChoose>
+		
+		<fillColorChoose x="132" y="52" name="fillColorChoose" boxPosition="up" >
+			<handler name="onselectedColor" args="sel">
+				if ($debug) Debug.write("fillColorChoose sel: ",sel);
+				parent.parent.updateProperties();	
+			</handler>
+		</fillColorChoose>
+		
+		<changeWidthSlider x="222" y="24" name="changeWidthSlider" boxPosition="up" 
+			initialNumber="2" >
+			<handler name="oninitialNumber" args="i">
+				//this.parent.parent.parent._drawareaMask._drawarea.setAttribute('currentlayersize',i);
+				if ($debug) Debug.write("changeWidthSlider oninitialNumber sel: ",i);
+				parent.parent.updateProperties();	
+			</handler>
+		</changeWidthSlider> 
+		
+		<changeWidthSlider x="222" y="52" name="changeOpacitySlider" labelid="553" boxPosition="up"
+			initialNumber="100" >
+			<handler name="oninitialNumber" args="i">
+				//this.parent.parent.parent._drawareaMask._drawarea.setAttribute('currentlayersize',i);
+				if ($debug) Debug.write("changeOpacitySlider oninitialNumber sel: ",i);
+				parent.parent.updateProperties();	
+			</handler>
+		</changeWidthSlider> 
+
+	    <propertyPanelLetterButton name="_italic" x="286" y="24" labelid="86"
+                                   itemResourceName="italic" />
+	    
+	    <propertyPanelLetterButton name="_bold" x="312" y="24" labelid="87"
+                                   itemResourceName="bold" />
+		
+		<view name="_delemiter" width="2" bgcolor="$once{ canvas.getThemeColor('baseMousecolorizer') }" 
+			  height="$once{ parent.height - this.y - 4 }" y="20" x="338"/>
+		
+		<labelText labelid="721" y="26" x="344" />
+		
+		<resetCombobox name="currentDocument" width="300" height="24" fontsize="11"
+                           editable="false" shownitems="7" x="480" y="24">
+            <attribute name="sendSelection" value="true" type="boolean"/>
+            <handler name="onselect" args="sel">
+                if (this.sendSelection) {
+                    parent.parent.parent._drawareaMask._drawarea.setCurrentDocument(sel.value);
+                }
+            </handler>
+        </resetCombobox>
+        <!--
+	    <labelCheckbox x="344" y="54" name="_fullFit" labelid="847" >
+            <handler name="onvalue" args="v">
+                if (parent.parent.ignoreUpdates) {
+                    return;
+                }
+                if ($debug) Debug.write("onvalue Full Fit ",v);
+                
+                parent.parent.parent._drawareaMask._drawarea.doFullFit(v);
+            </handler>
+            <labelTooltip labelid="1212" multiline="true" />
+	    </labelCheckbox> 
+	     -->       
+		
+		<view name="_documentsPanel" x="480" y="52" layout="axis:x;spacing:2">
+			
+			<handler name="oninit">
+                //if ($debug) Debug.write("oninit: ",this);
+                this._currentSlideNo.setAttribute('text',canvas.currentSlideNo);
+                this._totalSlideNo.setAttribute('text',canvas.currentSlideTotal);
+                //this._zoom.setAttribute('text',canvas.currentSlideZoom);
+            </handler>
+            <handler name="preclose">
+                //if ($debug) Debug.write("onclose: ",this);
+                canvas.currentSlideNo = Number(this._currentSlideNo.getText());
+                canvas.currentSlideTotal = Number(this._totalSlideNo.getText());
+                //canvas.currentSlideZoom = Number(this._zoom.getText());
+            </handler>
+			
+			<method name="addCurrentObject" args="itemObj">
+                //if ($debug) Debug.write("addCurrentObject ",itemObj.fileName,itemObj.name);
+                var docName = itemObj.standardFileName;
+		        if (docName.length == 0) {
+		            docName = itemObj.fileName;
+		        }
+		        
+		        parent.currentDocument.addItem(docName,itemObj.name);
+                parent.currentDocument.sendSelection = false;
+                parent.currentDocument.selectItem(itemObj.name);
+                parent.currentDocument.sendSelection = true;
+                
+                parent._clickLayer.setAttribute("visibility","hidden");
+            </method>
+            
+            <method name="removeDocument" args="refItemName">
+            	
+            	if ($debug) Debug.warn("removeDocument ",refItemName);
+            	
+                parent.currentDocument.removeItem(refItemName);
+                if (parent.currentDocument.getNumItems() != 0) {
+                    parent.currentDocument.selectItemAt(0);
+                    parent._clickLayer.setAttribute("visibility","hidden");
+                } else {
+                	parent._clickLayer.setAttribute("visibility","visible");
+                }
+            </method>
+            
+            <method name="clearDocumentsBar">
+                parent.currentDocument.reset();
+                parent._clickLayer.setAttribute("visibility","visible");
+            </method>
+            
+            <drawDocumentPanelItem name="b3" modi="doc_first" resourceItem="doc_first" 
+                labelid="255" />        
+            <drawDocumentPanelItem name="b4" modi="doc_pre" resourceItem="doc_pre" 
+                labelid="256" />            
+            <drawDocumentPanelItem name="b5" modi="doc_next" resourceItem="doc_next" 
+                labelid="257" />        
+            <drawDocumentPanelItem name="b6" modi="doc_last" resourceItem="doc_last" 
+                labelid="258" />        
+        
+            <customEdittext name="_currentSlideNo" width="40" height="24" regexpType="number" >
+                <handler name="onblur">
+                    if (parent.parent.parent.ignoreUpdates) {
+                    	if ($debug) Debug.write("ignoreUpdates -- ");
+                        return;
+                    }
+                    parent.parent.parent.parent._drawareaMask._drawarea.setCurrentDocumentByToolBar(parent.parent.currentDocument.getValue());
+                    parent.parent.parent.parent._drawareaMask._drawarea.newSlideNumber = Number(this.getText());
+                    parent.parent.parent.parent._drawareaMask._drawarea.doDocumentAction("setSlideNumber");         
+                </handler>
+            </customEdittext>    
+            <labelText y="6" labelid="254" />     
+            <labelText name="_totalSlideNo" y="6" width="40" />  
+            
+		</view>
+		
+		<!-- 340 -->
+		<view name="_clickLayer" clickable="true" opacity="0.75" x="340"
+			  width="460" height="$once{ parent.height - this.y }" 
+			  y="20" showhandcursor="false" bgcolor="0xFFFFFF" />
+		
+	</view>
+
+</class>
+     
+    
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/panels/propertypanel/propertyPanelLetterButton.lzx b/WebContent/src/modules/conference/whiteboard/panels/propertypanel/propertyPanelLetterButton.lzx
new file mode 100644
index 0000000..0cdf38b
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/panels/propertypanel/propertyPanelLetterButton.lzx
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<class name="propertyPanelLetterButton" extends="view" resource="_button_rsc_letter_rsc"  
+	   x="312" y="24" height="23" width="24" 
+	bgcolor="$once{ canvas.getThemeColor('baseMousecolorizer') }" >
+	<attribute name="itemResourceName" value="" type="string" />
+	<attribute name="currentVal" value="false" type="boolean" />
+	
+    <attribute name="labelid" value="87" type="number"/>
+    
+	<attribute name="enabled" value="false" type="boolean"/>
+	
+	<handler name="onmouseover">
+		this.setAttribute('bgcolor',0xFFFFFF);
+	</handler>
+	<handler name="onmouseout">
+		this.updateByVal();
+	</handler>
+    <handler name="onclick">
+    	this.currentVal = !this.currentVal;
+    	this.updateByVal();
+        parent.parent.updateProperties();	
+    </handler>
+    <method name="getValue">
+    	return this.currentVal;
+    </method>
+    <method name="setValue" args="bool">
+    	this.currentVal = bool;
+    	this.updateByVal();
+    </method>
+    <method name="updateByVal">
+		if (this.currentVal){
+    		this.setAttribute('bgcolor',canvas.getThemeColor('basebgcolorizer'));
+    	} else {
+    		this.setAttribute('bgcolor',canvas.getThemeColor('baseMousecolorizer'));
+    	}    	
+    </method>
+    <view x="2" y="2" resource="$once{ parent.itemResourceName }" />
+    
+    <view name="_clickEnabled" width="$once{ parent.width }" height="$once{ parent.height }" 
+    	  visibility="${ (parent.enabled) ? 'hidden' : 'visible' }"
+    	  opacity="0.5" bgcolor="0xFFFFFF" clickable="true" showhandcursor="false" />
+    
+    <labelTooltip x="2" y="2" labelid="$once{ parent.labelid }" />
+    
+</class>
+    
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/panels/propertypanel/resources/button_rsc.swf b/WebContent/src/modules/conference/whiteboard/panels/propertypanel/resources/button_rsc.swf
new file mode 100644
index 0000000..027e6d0
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/panels/propertypanel/resources/button_rsc.swf
Binary files differ
diff --git a/WebContent/src/modules/conference/whiteboard/resources/add.png b/WebContent/src/modules/conference/whiteboard/resources/add.png
new file mode 100644
index 0000000..6332fef
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/resources/add.png
Binary files differ
diff --git a/WebContent/src/modules/conference/whiteboard/resources/boundingBox.png b/WebContent/src/modules/conference/whiteboard/resources/boundingBox.png
new file mode 100644
index 0000000..1c4b812
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/resources/boundingBox.png
Binary files differ
diff --git a/WebContent/src/modules/conference/whiteboard/resources/boundingBoxTL.png b/WebContent/src/modules/conference/whiteboard/resources/boundingBoxTL.png
new file mode 100644
index 0000000..1c4b812
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/resources/boundingBoxTL.png
Binary files differ
diff --git a/WebContent/src/modules/conference/whiteboard/resources/boundingBoxTR.png b/WebContent/src/modules/conference/whiteboard/resources/boundingBoxTR.png
new file mode 100644
index 0000000..0ae7230
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/resources/boundingBoxTR.png
Binary files differ
diff --git a/WebContent/src/modules/conference/whiteboard/resources/boundingBoxUL.png b/WebContent/src/modules/conference/whiteboard/resources/boundingBoxUL.png
new file mode 100644
index 0000000..68f95ad
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/resources/boundingBoxUL.png
Binary files differ
diff --git a/WebContent/src/modules/conference/whiteboard/resources/boundingBoxULNoGripper.png b/WebContent/src/modules/conference/whiteboard/resources/boundingBoxULNoGripper.png
new file mode 100644
index 0000000..fd428c9
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/resources/boundingBoxULNoGripper.png
Binary files differ
diff --git a/WebContent/src/modules/conference/whiteboard/resources/boundingBoxUR.fla b/WebContent/src/modules/conference/whiteboard/resources/boundingBoxUR.fla
new file mode 100644
index 0000000..516062b
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/resources/boundingBoxUR.fla
Binary files differ
diff --git a/WebContent/src/modules/conference/whiteboard/resources/boundingBoxUR.png b/WebContent/src/modules/conference/whiteboard/resources/boundingBoxUR.png
new file mode 100644
index 0000000..61a2482
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/resources/boundingBoxUR.png
Binary files differ
diff --git a/WebContent/src/modules/conference/whiteboard/resources/pointer.fla b/WebContent/src/modules/conference/whiteboard/resources/pointer.fla
new file mode 100644
index 0000000..96068e9
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/resources/pointer.fla
Binary files differ
diff --git a/WebContent/src/modules/conference/whiteboard/resources/pointer.swf b/WebContent/src/modules/conference/whiteboard/resources/pointer.swf
new file mode 100644
index 0000000..97742bb
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/resources/pointer.swf
Binary files differ
diff --git a/WebContent/src/modules/conference/whiteboard/resources/text_bold.png b/WebContent/src/modules/conference/whiteboard/resources/text_bold.png
new file mode 100644
index 0000000..889ae80
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/resources/text_bold.png
Binary files differ
diff --git a/WebContent/src/modules/conference/whiteboard/resources/text_italic.png b/WebContent/src/modules/conference/whiteboard/resources/text_italic.png
new file mode 100644
index 0000000..8482ac8
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/resources/text_italic.png
Binary files differ
diff --git a/WebContent/src/modules/conference/whiteboard/whiteboardBarMenu.lzx b/WebContent/src/modules/conference/whiteboard/whiteboardBarMenu.lzx
new file mode 100644
index 0000000..e18bdbb
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/whiteboardBarMenu.lzx
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="whiteboardBarMenu" extends="view" width="${ parent.width }" x="0" y="21" 
+    height="20" layout="axis:x;spacing:1;inset:2" bgcolor="$once{ canvas.getThemeColor('baseMousecolorizer') }">
+    
+    <attribute name="staticwidth" type="number" value="120" />
+    <attribute name="currentBtn" value="null" />
+    
+    <method name="getCurrentSize">
+        <![CDATA[
+            if ( ((this.subviews.length+1)*(this.staticwidth+1)) <= this.width) {
+                return this.staticwidth;
+            } else {
+                var newwidth = Math.round((this.width-this.subviews.length)/(this.subviews.length+1));
+                for (var i=0;i<this.subviews.length;i++) {
+                    this.subviews[i].setAttribute('width',newwidth);
+                }
+                return newwidth;
+            }   
+        ]]>
+    </method>
+    
+    <handler name="onwidth">
+        <![CDATA[
+            if ( ((this.subviews.length)*(this.staticwidth+1)) <= this.width) {
+                for (var i=0;i<this.subviews.length;i++) {
+                    this.subviews[i].setAttribute('width',this.staticwidth);
+                }
+            } else {
+                var newwidth = Math.round((this.width-this.subviews.length)/(this.subviews.length));
+                for (var i=0;i<this.subviews.length;i++) {
+                    this.subviews[i].setAttribute('width',newwidth);
+                }
+            } 
+        ]]>
+    </handler>
+    
+    <method name="removeObject" args="btn">
+    	var whiteboardId = btn.objRef.whiteboardId;
+    	this.removeObjectSynced(btn);
+    	parent.sendRemoveWindow(whiteboardId);
+    </method>
+    
+    <method name="removeObjectSynced" args="btn">
+    	var removeCurrent = false;
+    	if (this.currentBtn == btn){
+    		removeCurrent = true;
+    	}
+    	btn.objRef.destroy();
+        btn.destroy();
+        if (this.subviews.length != 0) {
+	        if (removeCurrent) {
+	        	this.sendActiveWindowSynced(this.subviews[this.subviews.length-1]);
+	        }
+        }
+        parent.addNewItemButton.updatePosition();
+    </method>
+
+    
+    <method name="sendActiveWindow" args="btn,win">
+        if ($debug) Debug.write("sendActiveWindow: ",btn,win);
+        this.sendActiveWindowSynced(btn);
+        this.currentBtn.objRef.sendActiveWindow();
+    </method>
+    
+    <method name="sendActiveWindowSynced" args="btn">
+    	<![CDATA[
+            if (this.currentBtn != null){
+                this.currentBtn.isactive=false;
+                if (this.currentBtn._minimizebtn_mo != null) this.currentBtn._minimizebtn_mo.setAttribute('visibility','hidden');
+                if (this.currentBtn._minimizebtn_dn != null) this.currentBtn._minimizebtn_dn.setAttribute('visibility','hidden');
+            }
+            this.currentBtn = btn;
+            this.currentBtn.objRef.setAttribute("visibility","visible");
+        	this.currentBtn.objRef.bringToFront();
+            ////if ($debug)  //Debug.write("sendActiveWindow2: ",this.currentBtn);
+            this.currentBtn._minimizebtn_mo.setAttribute('visibility','hidden');
+            this.currentBtn._minimizebtn_dn.setAttribute('visibility','visible');
+            this.currentBtn.isactive=true;
+        ]]>
+    </method>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/whiteboardMiniButton.lzx b/WebContent/src/modules/conference/whiteboard/whiteboardMiniButton.lzx
new file mode 100644
index 0000000..dd03bd9
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/whiteboardMiniButton.lzx
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="whiteboardMiniButton" extends="view" width="250" height="18" y="2"
+    bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }">
+     
+    <attribute name="btnName" value="" type="string" />
+    <attribute name="objRef" value="null" />
+
+    <attribute name="zielx" value="200" type="number" />
+    <attribute name="zielwidth" value="100" type="number" />    
+    
+    <attribute name="isactive" value="true" type="boolean" />
+    
+    <attribute name="isHidden" value="false" type="boolean" />
+    
+    <handler name="oninit">
+        this.calcTextWidth();
+        parent.onwidth.sendEvent();
+    </handler>
+    
+    <handler name="onwidth">
+        if (this.isinited){
+            this.calcTextWidth();
+        }
+    </handler>
+    
+    <method name="disableItem">
+        //if ($debug) Debug.write("disableItem :: set visibility to hidden");
+        this.isHidden = true;
+        this.setAttribute("visibility","hidden");
+        //this.destroy();
+    </method>
+    
+    <method name="enableItem">
+        this.setAttribute("visibility","visible");
+        this.isHidden = false;
+    </method>
+    
+    <method name="calcTextWidth">
+        <![CDATA[
+            if (this.isHidden) {
+                return;
+            }
+            ////////if ($debug)  //Debug.write(this,this._text,this._text.getTextWidth());
+            if (this._text.getTextWidth()>(this.width-24)) {
+                this._long.setAttribute('visibility','visible');
+                this._text.setAttribute('width',this.width-26);
+            } else {
+                this._long.setAttribute('visibility','hidden');
+                this._text.setAttribute('width',this.width-18);
+            }
+        ]]>        
+    </method>
+        
+    <handler name="onclick">
+        if (this.isHidden) {
+            return;
+        }
+        this._minimizebtn_mo.setAttribute('visibility','visible');
+        this._minimizebtn_dn.setAttribute('visibility','hidden');
+        if ($debug) Debug.write(" :: onclick :: ");
+        this.sendActiveWindow(this.objRef);
+    </handler>
+    
+    <handler name="onmouseover">
+        if (this.isHidden) {
+            return;
+        }
+        this._minimizebtn_mo.setAttribute('visibility','visible');
+        this._minimizebtn_dn.setAttribute('visibility','hidden');
+    </handler>
+    <handler name="onmouseout">
+        if (this.isHidden) {
+            return;
+        }
+        if (this.isactive) {
+            this._minimizebtn_mo.setAttribute('visibility','hidden');
+            this._minimizebtn_dn.setAttribute('visibility','visible');
+        } else {
+            this._minimizebtn_mo.setAttribute('visibility','hidden');
+            this._minimizebtn_dn.setAttribute('visibility','hidden');
+        }        
+    </handler>
+    <handler name="onmousedown">
+        if (this.isHidden) {
+            return;
+        }        
+        this._minimizebtn_mo.setAttribute('visibility','hidden');
+        this._minimizebtn_dn.setAttribute('visibility','visible');
+    </handler>
+    <handler name="onmouseup">
+        if (this.isHidden) {
+            return;
+        }        
+        this._minimizebtn_mo.setAttribute('visibility','visible');
+        this._minimizebtn_dn.setAttribute('visibility','hidden');
+    </handler>
+    
+    <method name="sendActiveWindow" args="win">
+        this.parent.sendActiveWindow(this,win);
+    </method>    
+
+	<method name="activateSynced">
+		this.parent.sendActiveWindowSynced(this,win);
+	</method>
+    
+    <view name="_minimizebtn_mo" width="${ parent.width-2 }" height="16"
+        bgcolor="white" opacity="0.3" visibility="hidden" x="1" y="1" />
+
+    <view name="_minimizebtn_dn" width="${ parent.width-2 }" height="16"
+        bgcolor="black" opacity="0.3" visibility="hidden" x="1" y="1" />
+    
+
+    <text text="${ parent.btnName }" fgcolor="0xFFFFFF" resize="false" 
+        x="1" fontsize="10" name="_text" />
+    
+        <view y="1" x="${ parent.width-18 }" name="_close"
+            resource="btn_presenter_close"
+            opacity="${ ((canvas.ismoderator) ? 1 : ((canvas.isAllowedToDraw) ? 1 : 0.5 )) }" 
+            onmouseover="this.setAttribute('frame',2)"
+            onmouseout="this.setAttribute('frame',1)"
+            onmousedown="this.setAttribute('frame',3)"
+            onmouseup="this.setAttribute('frame',1)" >
+            <handler name="onclick">
+	            <![CDATA[
+	                this.setAttribute('frame',2);
+	                canvas._videocontainer._videoviewcontent.closeWhiteboard();
+	                var t = this;
+                    canvas.videoComp_lc.closeWhiteboard = function(confirm) {
+                        if ($debug) Debug.write("confirm closeWhiteboard:", confirm);
+                        if (confirm) {
+                            t.parent.parent.removeObject(t.parent);
+                        }
+                    }
+                ]]>
+            </handler>
+            <labelTooltip labelid="1364" />
+        </view>  
+        
+    <text y="1" name="_long" text="..." fgcolor="0xFFFFFF"
+        x="${ parent.width-28 }" fontsize="10" />
+
+    <labelTooltip text="${ parent.btnName }" />
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/windows/library.lzx b/WebContent/src/modules/conference/whiteboard/windows/library.lzx
new file mode 100644
index 0000000..1002108
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/windows/library.lzx
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<include href="saveAsWmlWindow.lzx" />
+	<include href="loadWhiteboardWindow.lzx" />
+	
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/windows/loadWhiteboardWindow.lzx b/WebContent/src/modules/conference/whiteboard/windows/loadWhiteboardWindow.lzx
new file mode 100644
index 0000000..c2da202
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/windows/loadWhiteboardWindow.lzx
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="loadWhiteboardWindow" extends="labelText" multiline="true" resize="false" 
+	   width="260" align="right" y="${ parent.height - this.height - 10 }" 
+	   bgcolor="0xFFFFFF" fgcolor="0xFF3300">
+    
+    <attribute name="refObj" value="null" />
+    
+    <handler name="onclick">
+    	this.destroy();
+    </handler>
+    
+    <method name="close">
+        this.destroy();
+    </method>    
+    
+    <method name="setMessage" args="mess">
+        this.setAttribute('text',mess);
+    </method>
+    
+</class>
+
+</library>
diff --git a/WebContent/src/modules/conference/whiteboard/windows/saveAsWmlWindow.lzx b/WebContent/src/modules/conference/whiteboard/windows/saveAsWmlWindow.lzx
new file mode 100644
index 0000000..823c9cf
--- /dev/null
+++ b/WebContent/src/modules/conference/whiteboard/windows/saveAsWmlWindow.lzx
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="saveAsWmlWindow" extends="labelExplorerBox" labelid="199"
+    docking="true" closable="true" width="260" x="200" y="0" height="220">
+    
+    <attribute name="refObj" value="null" />
+    
+    <handler name="oninit">
+    	lz.ModeManager.makeModal(this);
+    </handler>
+    
+    <handler name="onclose">
+    	lz.ModeManager.release(this);
+    </handler>
+    
+    <labelText y="22" labelid="201" width="200" />
+    <customEdittext name="_savefileName1" y="42" x="4" width="240" text="filename" />
+    
+    <!--
+    <labelText x="4" y="72" labelid="561" width="200" fgcolor="0x0000FF">
+        <handler name="onclick">
+            this.parent.refObj.confirmSaveAsImageTypeExport(this.parent._savefileName1.getText(),"png");
+            this.parent.close();
+        </handler>
+    </labelText>
+    
+    <labelText x="4" y="92" labelid="562" width="200" fgcolor="0x0000FF">
+        <handler name="onclick">
+            this.parent.refObj.confirmSaveAsImageTypeExport(this.parent._savefileName1.getText(),"jpg");
+            this.parent.close();
+        </handler>
+    </labelText>
+    
+    <labelText x="4" y="112" labelid="563" width="200" fgcolor="0x0000FF">
+        <handler name="onclick">
+            this.parent.refObj.confirmSaveAsImageTypeExport(this.parent._savefileName1.getText(),"pdf");
+            this.parent.close();
+        </handler>
+    </labelText>
+    
+    <labelText x="4" y="132" labelid="560" width="200" fgcolor="0x0000FF">
+        <handler name="onclick">
+            this.parent.refObj.confirmSaveAsImageExport(this.parent._savefileName1.getText());
+            this.parent.close();
+        </handler>
+    </labelText>
+    
+    <labelText x="4" y="152" labelid="564" width="200" fgcolor="0x0000FF">
+        <handler name="onclick">
+            this.parent.refObj.confirmSaveAsImageTypeExport(this.parent._savefileName1.getText(),"tif");
+            this.parent.close();
+        </handler>
+    </labelText>
+     -->
+    
+	<simpleLabelButton name="_confirm" x="40" y="190" 
+			labelid="203" width="100" height="20">
+		<handler name="onclick">
+			this.parent.refObj.confirmSaveAsObject(this.parent._savefileName1.getText());
+		</handler>
+	</simpleLabelButton>	
+    
+	<simpleLabelButton name="_cancel" x="150" y="190" 
+			labelid="202" width="100" height="20">
+		<handler name="onclick">
+			this.parent.close();
+		</handler>
+	</simpleLabelButton>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/dashboard/infosPanel.lzx b/WebContent/src/modules/dashboard/infosPanel.lzx
new file mode 100644
index 0000000..54b5d09
--- /dev/null
+++ b/WebContent/src/modules/dashboard/infosPanel.lzx
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="iconStepButtonWizzard" extends="view">
+	
+	<attribute name="resourceViewName" value="" type="string" />
+	
+	<attribute name="labelid" value="0" type="number" />
+    
+	<image src="$once{ canvas.getThemeImage( parent.resourceViewName ) }" 
+		stretches="both" width="24" height="24" />
+	
+	<labelText name="_txt" labelid="$once{ parent.labelid }" x="30" 
+			   y="2" fontstyle="bold" fgcolor="0x14537C" />
+	
+</class>
+
+<!--- "System" panel on the dashboard -->
+<class name="infosPanel" extends="view" 
+    width="${ canvas.width - this.x - 10}" height="224" y="10">
+    
+	<view width="${ parent.width-2 }" height="$once{ parent.height }" >
+        
+        <labelText name="_txt" fontstyle="bold" labelid="774" y="0" x="2" />
+        
+        <iconStepButtonWizzard resourceViewName="icon_btn_dashboard_1" x="110" y="30" labelid="768">
+        	<handler name="onclick">
+                quicklink('conferenceModuleRoomList');
+            </handler>
+        </iconStepButtonWizzard>
+        
+      
+        <iconStepButtonWizzard resourceViewName="icon_btn_dashboard_2" x="140" y="60" labelid="771">
+        	<handler name="onclick">
+                quicklink('conferenceModuleRoomList');
+            </handler>
+        </iconStepButtonWizzard>
+        
+
+        <iconStepButtonWizzard resourceViewName="icon_btn_dashboard_3" x="170" y="90" labelid="772" >
+        	<handler name="onclick">
+                quicklink('conferenceModuleRoomList');
+            </handler>
+        </iconStepButtonWizzard>
+        
+        
+        <iconStepButtonWizzard resourceViewName="icon_btn_dashboard_4" x="200" y="120" labelid="773">
+        	<handler name="onclick">
+                quicklink('conferenceModuleRoomList');
+            </handler>
+        </iconStepButtonWizzard>
+        
+        <labelText labelid="804" x="10" y="$once{ parent.height-70 }" multiline="true"
+        		   width="$once{ parent.width-210 }" />
+        
+        <simpleLabelButton labelid="788" width="196" x="$once{ parent.width-200 }" 
+               y="$once{ parent.height-70 }" height="24" 
+               onclick="this.parent.storeSettings();">
+            <handler name="onclick">
+                quicklink('conferenceModuleRoomList');
+            </handler>
+            <labelTooltip labelid="769" />
+        </simpleLabelButton>
+        
+        <simpleLabelButton labelid="291" width="196" x="$once{ parent.width-200 }" 
+               y="$once{ parent.height-44 }" height="24" 
+               onclick="this.parent.storeSettings();">
+            <handler name="onclick">
+                quicklink('dashboardModuleCalendar');
+            </handler>
+            <labelTooltip labelid="805" />
+        </simpleLabelButton>
+           
+	</view>
+</class> 
+
+</library>
diff --git a/WebContent/src/modules/dashboard/library.lzx b/WebContent/src/modules/dashboard/library.lzx
new file mode 100644
index 0000000..e266bfe
--- /dev/null
+++ b/WebContent/src/modules/dashboard/library.lzx
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	<include href="tabButtonMain.lzx" />
+	<include href="infosPanel.lzx" />
+	<include href="profilesPanel.lzx" />
+	<include href="rssPanel.lzx" />
+	<include href="mainDashboard.lzx" />
+
+</library>
diff --git a/WebContent/src/modules/dashboard/mainDashboard.lzx b/WebContent/src/modules/dashboard/mainDashboard.lzx
new file mode 100644
index 0000000..ee5341b
--- /dev/null
+++ b/WebContent/src/modules/dashboard/mainDashboard.lzx
@@ -0,0 +1,303 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="labeledTabpane" extends="tabpane">
+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+    <method name="setLabelId" args="_labelid" >
+        this.labelid = _labelid;
+        this.setAttribute('text',canvas.getLabelName(this.labelid));
+    </method>
+</class>
+
+<!---  modules:dashboard -->
+<class name="mainDashboard" extends="baseContentView">	
+	
+    <handler name="oninit">
+        //this.getRssFeeds.doCall();
+        this.getDashboardConfiguration.doCall();
+        _mainScrollBar.setAttribute("visibility","hidden");
+    </handler>
+    
+    <netRemoteCallHib name="getDashboardConfiguration" funcname="xmlcrm.getDashboardConfiguration" 
+    				  remotecontext="$once{ canvas.thishib }" >   
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>  
+        <handler name="ondata" args="value">    
+            <![CDATA[
+                if ($debug) Debug.write("getDashboardConfiguration: ", value);
+                parent.parseConfiguration(value);
+            ]]>                                         
+        </handler>  
+    </netRemoteCallHib> 
+    
+    <method name="parseConfiguration" args="cfManagementList">
+    	<![CDATA[
+    	
+    	   var tCountVisibleTabs = 0;
+    	   for (var i=0;i<cfManagementList.length;i++) {
+    	   	
+    	   	   var tConfigurationObj = cfManagementList[i];
+    	   	   
+    	   	   switch (tConfigurationObj.conf_key) {
+    	   	   	   case "dashboard.show.myrooms":
+    	   	   	       if (Number(tConfigurationObj.conf_value) == 1) {
+                            tCountVisibleTabs++;
+    	   	   	       } else {
+    	   	   	       	    this._bottomArea._tabbar.myRoomsTabButton.setAttribute("visibility","hidden");
+    	   	   	       }
+    	   	   	       break;
+    	   	   	   case "dashboard.show.rssfeed":
+    	   	   	       if (Number(tConfigurationObj.conf_value) == 1) {
+                            tCountVisibleTabs++;
+                            this.getRssFeeds.doCall();
+                       } else {
+                       	    this._bottomArea._tabbar.rssFeed1TabButton.setAttribute("visibility","hidden");
+                       }
+                       break;
+                   case "dashboard.show.chat":
+                       if (Number(tConfigurationObj.conf_value) == 1) {
+                            tCountVisibleTabs++;
+                       } else {
+                            this._bottomArea._tabbar.chatTabButton.setAttribute("visibility","hidden");
+                       }
+                       break;
+                   default:
+                       if ($debug) Debug.write("Unkown Tab Key ",tConfigurationObj.conf_key);
+                       break;
+    	   	   }
+               
+    	   }
+    	   
+    	   var tFoundVisibleDefaultTab = false;
+    	   for (var i=0;i<cfManagementList.length;i++) {
+            
+               var tConfigurationObj = cfManagementList[i];
+               
+               if (tConfigurationObj.conf_key == "default.dashboard.tab") {
+                
+                   var tIndexNumber = Number(tConfigurationObj.conf_value);
+                   var tObj = this._bottomArea._tabbar.subviews[tIndexNumber];
+                   
+                   if ($debug) Debug.write("tIndexNumber|tObj",tIndexNumber,tObj);
+                   
+                   if (tObj && tObj.visible) {
+                   	   tFoundVisibleDefaultTab = true;
+                       tObj.onclick.sendEvent(null);
+                   }
+                
+               }
+            
+           }
+           
+           if ($debug) Debug.write("tFoundVisibleDefaultTab|tCountVisibleTabs",tFoundVisibleDefaultTab,tCountVisibleTabs);
+    	   
+           if (!tFoundVisibleDefaultTab && tCountVisibleTabs>0) {
+           	   
+           	   for (var i=0;i<this._bottomArea._tabbar.subviews.length;i++) {
+           	   	
+           	   	   var tObj = this._bottomArea._tabbar.subviews[i];
+           	   	   if ($debug) Debug.write("tObj && tObj.visible",tObj,tObj.visible);
+           	   	   
+           	   	   if (tObj && tObj.visible) {
+                       tObj.onclick.sendEvent(null);
+                       break;
+                   }
+           	   }
+           }
+           
+    	   this._bottomArea.setAttribute("visibility","visible");
+    	   
+    	]]>
+    </method>
+    
+    <handler name="ontabcontentleave">
+    	canvas._overallchatcontent = null;
+    	_mainScrollBar.setAttribute("visibility","visible");
+    </handler>
+    
+    <netRemoteCallHib name="getRssFeeds" funcname="xmlcrm.getRssFeeds" 
+		remotecontext="$once{ canvas.thishib }" > 
+    	<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+        <handler name="ondata" args="value">
+        	<![CDATA[
+                if ($debug) Debug.write("getRssFeeds: ",value);
+                parent._bottomArea._boxes.feed1.outputRSS(value.feed2);
+            ]]>
+        </handler>   
+    </netRemoteCallHib>      
+    
+	<profilesPanel x="10" />
+	
+	<view height="240" x="516" width="1" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" />
+	
+	<infosPanel x="520" />
+
+    <view name="_bottomArea" y="240" x="0"
+            width="${ canvas.width }" height="${ canvas.height-240-84 }" visibility="hidden">
+    	
+    	<attribute name="refObjItem" value="null" />
+    	
+    	<method name="doSelection" args="objRef">
+            if (this.refObjItem != null) {
+                this.refObjItem.deselect();
+            }
+            this.refObjItem = objRef;
+            
+            if (this.refObjItem.name == "myRoomsTabButton"){
+                this._boxes.myMeetings.setAttribute("visibility","visible");
+                this._boxes._overallchat.setAttribute("visibility","hidden");
+                this._boxes.feed1.setAttribute("visibility","hidden");
+            } else if (this.refObjItem.name == "chatTabButton"){
+                this._boxes.myMeetings.setAttribute("visibility","hidden");
+                this._boxes._overallchat.setAttribute("visibility","visible");
+                this._boxes.feed1.setAttribute("visibility","hidden");
+            } else if (this.refObjItem.name == "rssFeed1TabButton"){
+                this._boxes.myMeetings.setAttribute("visibility","hidden");
+                this._boxes._overallchat.setAttribute("visibility","hidden");
+                this._boxes.feed1.setAttribute("visibility","visible");
+            }
+            
+            this.refObjItem.select();
+        </method>
+        
+        <view name="borderBarTop" y="0"
+    			width="${ parent.width }" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" height="1" />
+    	<view name="_tabbarBg" width="${ parent.width }" height="32" y="1" bgcolor="0xFAFAFA" />
+		<view name="borderBarBottom" y="34"
+    			width="${ parent.width }" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" height="1" />  
+        
+    	<view name="_tabbar" x="0" y="1" width="${ parent.width }" height="32"
+    		  layout="axis:x;spacing:2;inset:2" >
+    		  
+   		 	<handler name="oninit">
+	    		for (var eg in this.subviews) {
+	            	this.subviews[eg].deselect();
+	            }
+	    	</handler>
+    		  
+    		<tabButtonMain name="myRoomsTabButton" height="$once{ parent.height }" 
+                    currentIconRsc="icon_btn_rooms_conference" labelid="1305" width="${ (parent.width-8)/3 }" />
+    		
+            <tabButtonMain name="chatTabButton" width="${ (parent.width-8)/3 }" height="$once{ parent.height }"
+                    currentIconRsc="icon_btn_chat_dashboard" labelid="443" />
+            
+            <tabButtonMain name="rssFeed1TabButton" width="${ (parent.width-8)/3 }" height="$once{ parent.height }"
+                    currentIconRsc="icon_btn_rss_conference" labelid="277" />
+                    
+        </view>    
+        
+          
+    		
+    	<view name="_boxes" height="${ parent.height-40 }" width="${ parent.width }" y="40">	
+    	
+            <view name="myMeetings" height="${ parent.height }" width="${ parent.width }" visibility="hidden" >
+        
+                <!-- Declared conference rooms list -->
+                <view y="2" height="${ parent.height-4 }">
+                    
+                    <handler name="oninit">
+                        
+                        new lz.roomListItem(this.inn.inn.inn, 
+                                               {
+                                                    roomType:1,
+                                                    ispublic:true,
+                                                    roomname : canvas.getLabelName(1306)
+                                                });
+
+                        new lz.roomListItem(this.inn.inn.inn, 
+                                               {
+                                                    roomType:3,
+                                                    ispublic:true,
+                                                    roomname : canvas.getLabelName(1307)
+                                                });
+                                                
+                        this.getAppointedMeetingRoomsWithoutType.doCall();
+                    </handler>    
+                
+                    <netRemoteCallHib name="getAppointedMeetingRoomsWithoutType" funcname="conferenceservice.getAppointedMeetingRoomsWithoutType" remotecontext="$once{ canvas.thishib }" >   
+                        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>  
+                        <handler name="ondata" args="value">    
+                            <![CDATA[
+                                if ($debug) Debug.write("getRoomsPublic: ", value);
+                                if (value != null) {
+                                    for (var eg = 0; eg < value.length; eg++) {
+                                        var time = value[eg].starttime.getHours()
+                                                + ':'
+                                                + value[eg].starttime.getMinutes()
+                                                + ' '
+                                                + value[eg].starttime.getDate()
+                                                + '.'
+                                                + (value[eg].starttime.getMonth() + 1)
+                                                + '.'
+                                                + value[eg].starttime.getFullYear();
+                                        new lz.roomListItem(parent.inn.inn.inn, 
+                                               {
+                                                    roomType:value[eg].roomtype.roomtypes_id,
+                                                    currentusers : value[eg].currentusers,
+                                                    obj : value[eg],
+                                                    ispublic : true,
+                                                    roomid : value[eg].rooms_id,
+                                                    starttime : value[eg].starttime,
+                                                    roomname : value[eg].name
+                                                });
+                                    }
+        
+                                    
+                                }
+                                
+                            ]]>                                         
+                        </handler>  
+                    </netRemoteCallHib> 
+         
+                    <!-- inn.inn.inn view would be setted object by above ondata hander. -->
+                    <view name="inn" x="2" width="480" height="${ parent.height }" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" >
+                        <view name="inn" x="1" y="1" width="${ parent.width-1 }" height="${ parent.height-1 }" bgcolor="0xFFFFFF" clip="true" >
+                            <view name="inn" layout="axis:y;spacing:1"/>
+                            <om_vscrollbar />
+                        </view>
+                    </view>
+                </view>
+                
+                <image x="510" src="$once{ canvas.getThemeImage('info_text_icon_rsc') }" y="6" />
+                
+                <labelText labelid="782" x="530" width="${ parent.width-540 }" y="4" multiline="true" />
+        
+                <!-- description panel for eache room. right hand on this class view.
+                        roomListDetails class are declared in modules/conference/conference/roomListDetails.lzx.
+                            Mar 24 2008 commented by onokeiji@gmal.com
+                     -->
+                <roomListDetails x="510" y="50" name="_roomlistdetails" 
+                				 height="${ parent.height-54 }" />
+                				 
+            </view>
+            
+            <overAllChat name="_overallchat" visibility="hidden" />
+            
+            <rssBox name="feed1" visibility="hidden" width="${ parent.width-4 }" 
+                            height="${ parent.height }" y="0" x="2" />
+
+    	</view>        
+    	
+    </view>
+		
+</class>
+
+</library>
diff --git a/WebContent/src/modules/dashboard/profilesPanel.lzx b/WebContent/src/modules/dashboard/profilesPanel.lzx
new file mode 100644
index 0000000..c0532b5
--- /dev/null
+++ b/WebContent/src/modules/dashboard/profilesPanel.lzx
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!--- Logged-in User Profile Panel on the dashboard -->
+<class name="profilesPanel" extends="view" width="500" height="224" y="0" >
+	
+	<view y="10" x="0" width="$once{ parent.width-2 }" 
+		  height="$once{ parent.height-10 }" clip="true">
+	
+	<handler name="oninit">
+        <![CDATA[
+            this.homepage.setAttribute('text',"<u><FONT color='#0000CC'>"+canvas.getLabelName(286)+"</FONT></u>");
+            this.homepage.setAttribute('link',canvas.getLabelName(282));
+            this.mailing.setAttribute('text',"<u><FONT color='#0000CC'>"+canvas.getLabelName(287)+"</FONT></u>");
+            this.mailing.setAttribute('link',canvas.getLabelName(283));
+        ]]>
+    </handler>
+        	
+    <handler name="oninit">
+        <![CDATA[
+        	this.getNumberUnreadMessages.doCall();
+			this.getUserSelf.doCall();
+        ]]>
+    </handler>
+    
+    
+    <netRemoteCallHib name="getNumberUnreadMessages" funcname="userservice.getNumberUnreadMessages" 
+  		remotecontext="$once{ canvas.thishib }" > 
+  		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+    	<handler name="ondata" args="value">
+    		<![CDATA[
+				if($debug) Debug.write("dashboard/getNumberUnreadMessages: ",value);
+				parent._newmessages._text.setAttribute("text","<u>"+value+"</u>");
+	        ]]>
+    	</handler>
+  	</netRemoteCallHib>	    
+   
+   
+  	<netRemoteCallHib name="getUserSelf" funcname="userservice.getUserSelf" 
+  		remotecontext="$once{ canvas.thishib }" > 
+  		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+    	<handler name="ondata" args="value">
+    		<![CDATA[
+				if($debug) Debug.write("dashboard/getUserSelf: ",value);
+				parent._username.setAttribute('text',canvas.getLabelName(376)+" "+value.firstname+' '+value.lastname);
+				
+				if (value.adresses != null && value.adresses.town != null) {
+					parent._langAndCountry._town.setAttribute("text","<u>" + value.adresses.town + "</u>");
+				}
+				if (value.omTimeZone != null) {
+					parent._langAndCountry._timeZone.setAttribute("text","<u>" + value.omTimeZone.jname + "</u>");
+					canvas.timeZoneId = value.omTimeZone.omtimezoneId;
+				}
+				
+				if (value.pictureuri==null || value.pictureuri.length==0){
+					value.pictureuri = "d.jpg";
+				} else {
+					value.pictureuri = "_profile_"+value.pictureuri;
+				}
+		        var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+		        		+canvas.httpRootKey+'DownloadHandler?fileName='+value.pictureuri
+		        		+'&moduleName=userprofile&parentPath=&room_id='
+		        		+'&sid='+canvas.sessionId;
+		        if($debug) Debug.write("dashboard/downloadurl ",downloadurl);
+		        parent._userpic.setAttribute('src',downloadurl);	
+	        ]]>
+    	</handler>
+  	</netRemoteCallHib>	    
+    
+    <view y="2" x="4" name="_imageProfileBG1" width="128" height="128" 
+    				bgcolor="0xFFFFFF" opacity="0.5" >
+    </view>
+    
+   	<image name="_userpic" y="2" x="4" >
+   
+    	<handler name="onload" args="d">
+            <![CDATA[
+                if (this.height > 116) {
+                    //If bigger then containter then scale it
+                    var width = this.width/(this.height/116);
+                    this.setAttribute('height',116);
+                    this.setAttribute('width',width);
+                }
+                if (this.width > 116) {
+                	//If bigger then containter then scale it
+                    var height = this.height/(this.width/116);
+                    this.setAttribute('height',height);
+                    this.setAttribute('width',116);
+                }
+                if($debug) Debug.write("onload ",this.height,this.width,d.height,d.width);
+                
+                //makes sure bottom area is updated
+                //this._changeSize.setAttribute('y',this.height-20);
+                //this._changeSize.setAttribute('width',this.width);
+            ]]>
+        </handler>
+    	
+    </image>
+    
+    <view y="2" x="4" name="_imageProfileBG2" width="128" height="128" >
+	    
+	    <view name="_changeSize" height="48" width="128" y="80" bgcolor="0xFFFFFF" opacity="0.6">
+   			<labelText labelid="379" align="center" />
+    		<handler name="onclick">
+        		<![CDATA[
+		        	new lz.uploadWindowExplorer(canvas.main_content._content.inner,{
+		                            x:300,uploadmodule:'userprofile',
+		                            isOnlyProfile:true,
+		                            returnObj:this,
+		                            servletName:'upload.upload'
+		                        });
+	        	]]>
+	        </handler>
+	        <method name="sendRefresh">
+	        	parent.parent.getUserSelf.doCall();
+	        </method>
+	    	<labelTooltip labelid="379" />
+    	</view>
+    
+    </view>
+
+    
+    <labelText name="_username" fontstyle="bold" y="2" labelid="376" x="140" />
+    
+    <view name="_langAndCountry" layout="axis:x;spacing:2" y="20" x="140">
+    	<labelText name="_town" fgcolor="0x0000CC">
+	    	<handler name="onclick">
+	        	canvas.userSettingsModuleOpt = "userProfile";
+	            quicklinkAct("userSettingsModule");
+	        </handler>
+	    </labelText>
+	    <labelText labelid="1143" />
+	    <labelText name="_timeZone" fgcolor="0x0000CC">
+	    	<handler name="onclick">
+	        	canvas.userSettingsModuleOpt = "userProfile";
+	            quicklinkAct("userSettingsModule");
+	        </handler>
+	    </labelText>
+    </view>
+    
+    <view name="_newmessages" layout="axis:x;spacing:2" y="40" x="140">
+	    <labelText name="_label" labelid="378" />
+	    <labelText name="_text" fgcolor="0x0000CC">
+	    	<handler name="onclick">
+	        	canvas.userSettingsModuleOpt = "contactMessages";
+	            quicklinkAct("userSettingsModule");
+	        </handler>
+	    </labelText>
+    </view>
+    
+    <labelText y="60" labelid="377" x="140" width="180" fgcolor="0x0000CC">
+    	<handler name="oninit">
+    		<![CDATA[
+				this.setAttribute("text","<u>..."+canvas.getLabelName(377)+"</u>");
+	        ]]>
+    	</handler>
+    	<handler name="onclick">
+        	canvas.userSettingsModuleOpt = "userProfile";
+            quicklinkAct("userSettingsModule");
+        </handler>
+    </labelText>
+             
+    <labelText fontstyle="bold" x="2" y="140" labelid="281" width="200"/>
+    
+    <labelText name="homepage" x="2" y="160" width="$once{ parent.width }" multiline="true" >
+        <attribute name="link" type="string" value="" />
+        <handler name="onclick">
+            lz.Browser.loadURL(this.link,"_blank");
+        </handler>            
+    </labelText>    
+    
+    <labelText name="mailing" x="2" y="180" width="$once{ parent.width }" multiline="true" >
+        <attribute name="link" type="string" value="" />
+        <handler name="onclick">
+            lz.Browser.loadURL(this.link,"_blank");
+        </handler>            
+    </labelText> 
+              
+	</view>
+	
+</class> 
+
+</library>
diff --git a/WebContent/src/modules/dashboard/rssPanel.lzx b/WebContent/src/modules/dashboard/rssPanel.lzx
new file mode 100644
index 0000000..eaf1e1e
--- /dev/null
+++ b/WebContent/src/modules/dashboard/rssPanel.lzx
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<class name="rssFeedListItem" extends="view" layout="axis:y" bgcolor="0xFFFFFF" width="$once{ parent.width }" >
+    <handler name="onmouseover">
+        setCurrentMouseWheelObject(this.parent.parent._scrollbar);
+    </handler>
+    <handler name="onmouseout">
+        disableCurrentMouseWheelObject();
+    </handler>
+    
+    <attribute name="titel" type="string" value="" />
+    <attribute name="summary" type="string" value="" />
+    <attribute name="link" type="string" value="" />
+    <attribute name="updated" type="string" value="" />
+    
+    <handler name="oninit">
+        <![CDATA[
+            this.urlv.setAttribute('text',"<u><FONT color='#0000CC'>"+canvas.getLabelName(285)+"</FONT></u>");
+        ]]>
+    </handler>
+    
+    <labelText fontsize="10" text="$once{ parent.titel }" fontstyle="bold" multiline="true" width="$once{ parent.width }" />
+    <labelText fontsize="10" text="$once{ parent.updated }" fontstyle="italic" />
+    <labelText fontsize="10" name="summaryv" text="$once{ parent.summary }"  multiline="true" width="$once{ parent.width }" />
+    <labelText fontsize="10" name="urlv">
+        <handler name="onclick">
+            lz.Browser.loadURL(parent.link,"_blank");
+        </handler>
+    </labelText>
+    <view height="1" width="$once{ parent.width }" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" />
+</class>    
+    
+<class name="rssBox" extends="view" width="$once{ parent.width-4 }" 
+	   height="$once{ parent.height-22 }" y="22" x="4"
+    	bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" > 	
+    <method name="outputRSS" args="value">
+        this.inner.outputRSS(value);
+    </method>
+    <view name="inner" clip="true" bgcolor="0xFFFFFF" 
+        x="1" y="1" width="${ parent.width-2 }" height="${ parent.height-2 }">
+        <method name="outputRSS" args="value">
+            <![CDATA[
+                var t = new Array();
+                for(var eg in value){
+                    //Debug.write("eg: ",eg,"val",value[eg]);
+                    t.push(value[eg]);
+                }
+                
+                for (var i=t.length-1;i>-1;i--){
+                    //Debug.write("i ",i,"val",t[i],t[i].title.text,t[i].link.attributes.href,t[i].summary.text);
+                    new lz.rssFeedListItem(this.content,{updated:t[i].updated.text,titel:t[i].title.text,link:t[i].link.attributes.href,summary:t[i].summary.text});
+                }
+            ]]>
+        </method>
+        <view name="content" layout="axis:y" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" width="${ parent.width-10 }" />        
+        <om_vscrollbar name="_scrollbar" />
+    </view>
+</class>   
+
+<class name="rssPanel" extends="guiPresenter"
+    width="400" height="380" closable="true" labelid="277"
+    resizeable="false">
+    <rssBox name="feed" />
+</class> 
+
+</library>
diff --git a/WebContent/src/modules/dashboard/tabButtonMain.lzx b/WebContent/src/modules/dashboard/tabButtonMain.lzx
new file mode 100644
index 0000000..08ae57f
--- /dev/null
+++ b/WebContent/src/modules/dashboard/tabButtonMain.lzx
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+<class name="tabButtonMain" extends="view" focusable="true"

+	   width="$once{ (parent.width-2)/2 }" height="36" y="2">

+	

+	<attribute name="labelid" value="0" type="number" />

+	

+	<attribute name="selected" value="false" type="boolean" />

+	

+	<attribute name="textFontSize" value="14" type="number" />

+	

+	<attribute name="currentIconRsc" value="" type="string"/>

+	

+	<attribute name="showIcon" value="true" type="boolean" />

+	

+	<handler name="oninit">

+		if (this.selected) {

+			this.doSelection();

+		}

+	</handler>

+	

+	<handler name="onclick">

+		this.doSelection();

+	</handler>

+	

+	<method name="doSelection">

+		parent.parent.doSelection(this);

+	</method>

+	

+	<handler name="onmouseover">

+		if (!this.selected) {

+			this._bg2.setAttribute("visibility","visible");

+		}

+	</handler>

+	

+	<handler name="onmouseout">

+		if (!this.selected) {

+        	this._bg2.setAttribute("visibility","hidden");

+        }

+    </handler>

+	

+	<method name="select">

+		this.selected = true;

+		if (this.showIcon) this._icon.setAttribute("opacity",1);

+        this._selectedView.setAttribute("visibility","visible");

+        this._deselectedView.setAttribute("visibility","hidden");

+		this._bg2.setAttribute("visibility","hidden");

+		this._text.setAttribute("fontstyle","bold");

+		this._text.setAttribute("y",6);

+		if (this.showIcon) this._icon.setAttribute("y",6);

+		this._text.setAttribute("fgcolor",canvas.getThemeColor('menuTextColor'));

+	</method>

+     

+    <method name="deselect">

+        this.selected = false;

+        if (this.showIcon) this._icon.setAttribute("opacity",0.5);

+        this._selectedView.setAttribute("visibility","hidden");

+        this._deselectedView.setAttribute("visibility","visible");

+        this._text.setAttribute("y",8);

+        if (this.showIcon) this._icon.setAttribute("y",8);

+        this._text.setAttribute("fontstyle","plain");

+        this._text.setAttribute("fgcolor",canvas.getThemeColor('menuTextDisabledColor'));

+    </method>       

+    

+    <view name="_selectedView" bgcolor="$once{ canvas.getThemeColor('menuBackgroundColor') }" width="$once{ parent.width }" 

+            height="$once{ parent.height }" visibility="visible">

+        <view name="borderRight" width="1" x="0"

+        			bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" height="$once{ parent.height }" />  

+        <view name="borderTop" width="$once{ parent.width }" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" height="1" />

+        <view name="borderLeft" width="1" x="$once{ parent.width-1 }"

+        			bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" height="$once{ parent.height }" />  

+    </view>

+    

+    <view name="_deselectedView" bgcolor="0xFAFAFA" 

+    		width="$once{ parent.width }" y="2"

+            height="$once{ parent.height-3 }" visibility="visible">

+        <view name="borderRight" width="1" x="0"

+        			bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" height="$once{ parent.height }" />  

+        <view name="borderTop" width="$once{ parent.width }" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" height="1" />

+        <view name="borderLeft" width="1" x="$once{ parent.width-1 }"

+        			bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" height="$once{ parent.height }" />  

+    </view>       

+          

+    <view name="_bg2" bgcolor="0xFFFFFF" width="$once{ parent.width-2 }" y="3" x="1"

+          height="$once{ parent.height-4 }" opacity="1" visibility="hidden"/>

+    

+    <state applied="$once{ parent.showIcon }" >

+	    <image x="6" y="6" name="_icon" src="$once{ canvas.getThemeImage( parent.currentIconRsc ) }" 

+    				width="20" height="20" stretches="both" />

+    </state>

+                

+    <labelText name="_text" x="$once{ (parent.showIcon) ? 28 : 6 }" fontsize="$once{ parent.textFontSize }" 

+    		valign="middle" fgcolor="0xFFFFFF" labelid="$once{ parent.labelid }" />

+	

+</class>

+

+</library>

diff --git a/WebContent/src/modules/invitation/autoloaderBarOnly.lzx b/WebContent/src/modules/invitation/autoloaderBarOnly.lzx
new file mode 100644
index 0000000..d857976
--- /dev/null
+++ b/WebContent/src/modules/invitation/autoloaderBarOnly.lzx
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="autoloaderBarOnly" extends="view" x="400" valign="middle" pixellock="true">
+
+	<attribute name="maxwidth" value="400" type="number" />
+	<attribute name="maxsteps" value="22" type="number" />
+	<attribute name="currentsteps" value="0" type="number" />
+	
+	<method name="close">
+		canvas.thishib.loaderVar = null;
+		this.destroy();
+	</method>
+	
+	<method name="setProgress">
+		this.currentsteps += 1;
+		if($debug) Debug.write("autoLoader/setProgress ===== ",this.currentsteps);
+		var w = Math.round(((this.maxwidth)/this.maxsteps)*this.currentsteps);
+		this.loadingbar.setAttribute('visibility','visible');
+		if($debug) Debug.write("autoLoader/setResourceNumber == ",w);
+		this.loadingbar._loading.setAttribute('width',w);
+	</method>
+      
+    <view name="loadingbar"  height="1" pixellock="true"
+          x="-5" y="40" width="$once{ parent.maxwidth+2 }" visibility="hidden">
+          <view x="1" y="1" width="$once{ parent.width-2 }" height="1" opacity="0.3"
+          		bgcolor="$once{ canvas.getThemeColor('styleMenuBarBaseColor') }" />
+          <view name="_loading" x="1" y="1" width="0" height="1"  pixellock="true" 
+          		bgcolor="$once{ canvas.getThemeColor('styleMenuBarBaseColor') }"/>
+    </view>  
+          
+    <netRemoteCallHib name="getLanguageByIdAndMax" funcname="languageservice.getLanguageByIdAndMax" 
+		remotecontext="$once{ canvas.thishib }" >
+    	<attribute name="start" value="0" type="number" />
+    	<attribute name="step" value="100" type="number" /> 
+    	<attribute name="max" value="1300" type="number" />    
+        <netparam><method name="getValue">return canvas.thishib.userlang;</method></netparam> 
+        <netparam><method name="getValue">return parent.start;</method></netparam> 
+        <netparam><method name="getValue">return parent.step;</method></netparam> 
+        <handler name="ondata" args="value">
+        	<![CDATA[
+        		//if ($debug) Debug.write("getLanguageByIdAndMax: ",value);
+        		setLabelObjectByHundred(this.start,value);
+	            //The onResult-Handler will be called be the rtmpconnection
+	            if (this.start <= max){
+	            	this.start += this.step;
+					canvas.thishib.loaderVar.setProgress();
+					this.doCall();
+	            } else {
+            		parent.setProgress();
+            		parent.getStates.doCall();
+				}
+			]]>
+        </handler>  
+    </netRemoteCallHib>	 
+    
+    <netRemoteCallHib name="getStates" funcname="xmlcrm.getStates" 
+		remotecontext="$once{ canvas.thishib }" dataobject="countrySet"> 
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+            if ($debug) Debug.write("getStates: ",value);
+            canvas.statesInitValues = value;
+            parent.setProgress();
+            parent.getTimeZones.doCall();
+        </handler>  
+    </netRemoteCallHib>   
+    
+    <netRemoteCallHib name="getTimeZones" funcname="xmlcrm.getTimeZones" 
+		  remotecontext="$once{ canvas.thishib }" dataobject="timeZoneSet">
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+            //Debug.write("getStates: ",value);
+            parent.setProgress();
+            parent.getUserSalutations.doCall();
+        </handler>  
+    </netRemoteCallHib> 
+    
+    <netRemoteCallHib name="getUserSalutations" funcname="userservice.getUserSalutations" 
+		remotecontext="$once{ canvas.thishib }" >  
+		<netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue"> return hib.userlang; </method></netparam> 
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+            if ($debug) Debug.write("getUserSalutations ",value);
+            canvas.salutationsInitValues = value;
+            parent.setProgress();
+            parent.getRoomTypes.doCall();
+        </handler>  
+    </netRemoteCallHib>   
+    
+    <netRemoteCallHib name="getRoomTypes" funcname="conferenceservice.getRoomTypes" 
+		remotecontext="$once{ canvas.thishib }" >  
+		<netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+            if ($debug) Debug.write("getRoomTypes ",value);
+            canvas.roomTypesInitValues = value;
+            parent.setProgress();
+            parent.setUsernameAndSession.doCall();
+        </handler>  
+    </netRemoteCallHib>    	 
+	 
+    <netRemoteCallHib name="setUsernameAndSession" funcname="setUsernameAndSession" remotecontext="$once{ canvas.thishib }" >   
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return canvas.user_id;</method></netparam>
+        <netparam><method name="getValue">return canvas.currentuser;</method></netparam>
+        <netparam><method name="getValue">return canvas.firstName;</method></netparam>
+        <netparam><method name="getValue">return canvas.lastName;</method></netparam>      
+        <handler name="ondata" args="value">
+            //The onResult-Handler will be called be the rtmpconnection
+            if ($debug) Debug.write("setUsername: value, ",canvas.thishib.currentInvitation.room.roomtype.roomtypes_id);
+            clearStageContent();		
+            parent.close();
+			if (canvas.thishib.currentInvitation.room.roomtype.roomtypes_id==1){
+				
+				new lz.testSetup(canvas,{isDirectLink:true,roomClassName:canvas.conferenceRoomModule,roomObj:canvas.thishib.currentInvitation.room});
+				
+			} else if (canvas.thishib.currentInvitation.room.roomtype.roomtypes_id==2){
+				
+				new lz.testSetup(canvas,{isDirectLink:true,roomClassName:canvas.restrictedRoomModule,roomObj:canvas.thishib.currentInvitation.room});
+				new lz.labelerrorPopup(canvas,{error:'No RoomType currently available for roomTypeId 2'});
+				
+			} else if (canvas.thishib.currentInvitation.room.roomtype.roomtypes_id==3){
+				
+				new lz.testSetup(canvas,{isDirectLink:true,roomClassName:canvas.restrictedRoomModule,roomObj:canvas.thishib.currentInvitation.room});
+				
+			} else if (canvas.thishib.currentInvitation.room.roomtype.roomtypes_id==4){
+                
+                new lz.testSetup(canvas,{isDirectLink:true,roomClassName:canvas.interviewRoomModule,roomObj:canvas.thishib.currentInvitation.room});
+                
+            } else if (canvas.thishib.currentInvitation.room.roomtype.roomtypes_id==5){
+                
+                new lz.testSetup(canvas,{isDirectLink:true,roomClassName:canvas.customRoomModule,roomObj:canvas.thishib.currentInvitation.room});
+                
+            }                 
+        </handler>  
+    </netRemoteCallHib>     
+          
+</class>
+
+</library>
diff --git a/WebContent/src/modules/invitation/invitationQuickLoader.lzx b/WebContent/src/modules/invitation/invitationQuickLoader.lzx
new file mode 100644
index 0000000..9b66c95
--- /dev/null
+++ b/WebContent/src/modules/invitation/invitationQuickLoader.lzx
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	<!---
+	-->
+	<!-- label: data loading, please wait -->
+	<class name="invitationQuickLoader" extends="labelExplorerBox" labelid="230"
+			docking="true" resizeable="false" closable="false" width="324" 
+			x="$once{ canvas.width/2 - this.width/2 }" y="0" height="120">
+		 
+		<attribute name="userlang" value="1" type="number" />
+		
+		<handler name="oninit">
+			this.setRoomValues();
+			if (canvas.thishib.currentInvitation.isPasswordProtected){
+				if ($debug) Debug.write("Is Password Protected");
+				this.pass_label.setAttribute('visibility','visible');
+				this._password.setAttribute('visibility','visible');
+				this.invitation_pass.setAttribute('visibility','visible');
+			} else {
+				this.showLoginStep();
+                if ($debug) Debug.write("invitationQuickLoader:oninit userlang = [",userlang,"]; canvas.lang = [",canvas.language_id,"]");
+                if (canvas.language_id > 0) {
+                    this.isRoomFull.doCall();
+                } else {
+                    this.showLoginStep();
+                }
+			}
+		</handler>
+		
+		<method name="showLoginStep">
+			this.pass_label.setAttribute('visibility','hidden');
+			this._password.setAttribute('visibility','hidden');
+			this.invitation_pass.setAttribute('visibility','hidden');		
+			this.labellanguages.setAttribute('visibility','visible');
+			this.languages.setAttribute('visibility','visible');
+			this.connect.setAttribute('visibility','visible');
+		</method>
+		
+		<method name="checkPWD">
+			this.checkInvitationPass.doCall();
+		</method>
+		
+		<netRemoteCallHib name="isRoomFull" funcname="conferenceservice.isRoomFull" 
+							remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >  	
+        	<netparam name="pass"><method name="getValue">return canvas.thishib.currentInvitation.room.rooms_id;</method></netparam>
+        	<handler name="ondata" args="value">
+        		<![CDATA[
+            		//The onResult-Handler will be called be the rtmpconnection
+            		if ($debug) Debug.write(canvas.thishib.currentInvitation.room.rooms_id);
+					if ($debug) Debug.write("isRoomFull: ",value);
+					
+					if (value) {
+						new lz.labelerrorPopup(canvas,{errorlabelid:618});
+						parent.close();
+					} else {
+						parent.login();
+					}
+            	]]>
+        	</handler>   
+    	</netRemoteCallHib> 
+		
+		<netRemoteCallHib name="checkInvitationPass" funcname="invitationservice.checkInvitationPass" 
+							remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >  	
+	      	<netparam name="invitationHash"><method name="getValue">return canvas.invitationHash;</method></netparam>
+        	<netparam name="pass"><method name="getValue">return parent.parent._password.getText();</method></netparam>
+	        	
+        	<handler name="ondata" args="value">
+        		<![CDATA[
+            		//The onResult-Handler will be called be the rtmpconnection
+				if ($debug) Debug.write("checkInvitationPass : ",value);
+				if (value<0){
+				} else {
+					parent.showLoginStep();
+				}
+            ]]>
+        	</handler>   
+    	</netRemoteCallHib>  	
+	    
+		<method name="setRoomValues">
+			if (canvas.thishib.currentInvitation.room.roomtype.roomtypes_id==1){
+	    		canvas.isConference = true;
+	    	} else {
+	    		canvas.isConference = false;
+		    }
+	    	var roomObj = canvas.thishib.currentInvitation.room;
+        	hib.currentroomid = canvas.thishib.currentInvitation.room.rooms_id;
+		</method>
+		
+    	<method name="login">
+			this.userlang = Number(this.languages.getValue());
+			this.labellanguages.setAttribute('visibility','hidden');
+			this.languages.setAttribute('visibility','hidden');
+			this.connect.setAttribute('visibility','hidden');
+			this.labelloading.setAttribute('visibility','visible');
+           
+        	parent.userlang = Number(this.userlang);
+           
+        	var userObject = new Array();
+           
+        	canvas.setAttribute('currentuser',canvas.thishib.currentInvitation.invitedEMail);
+        	canvas.setAttribute('user_id',-1);
+        	canvas.setAttribute('firstName',"");
+        	canvas.setAttribute('lastName',canvas.thishib.currentInvitation.invitedEMail);	
+        	canvas.setAttribute('mail',canvas.mail);
+        	canvas.setAttribute('lastLogin','');
+        	canvas.setAttribute('official_code','');
+        	canvas.setAttribute('picture_uri','');
+        	canvas.setAttribute('language','');					
+       
+        	userObject["login"] = canvas.thishib.currentInvitation.invitedEMail;
+        	userObject["firstname"] = "";
+        	userObject["lastname"] = canvas.thishib.currentInvitation.invitedEMail;
+        	userObject["adresses"] = new Array();
+        	//userObject["adresses"]["emails"] = new Array();
+        	userObject["adresses"]["email"] = canvas.thishib.currentInvitation.invitedEMail;
+        	//userObject["adresses"]["emails"][0]["mail"] = new Array();
+        	//userObject["adresses"]["emails"][0]["mail"]["email"] = canvas.thishib.currentInvitation.invitedEMail;
+           
+        	hib.userobject = userObject;
+           
+        	hib.userlang = Number(this.userlang);
+        	canvas.thishib.loaderVar = new lz.autoloaderBarOnly(canvas);
+			canvas.thishib.loaderVar.setProgress();
+			this.close();
+        	canvas.thishib.loaderVar.getLanguageByIdAndMax.doCall();         
+		</method>
+		 
+		<!-- label: password -->
+	    	<labelText name="pass_label" labelid="536" visibility="hidden" width="200" y="30" resize="false" x="10" />  
+		<customEdittext name="_password" password="true" visibility="hidden" width="170" y="30" x="120" />
+		
+		<!-- label: Check password -->
+	 	<simpleLabelButton name="invitation_pass" y="80" x="120" text="start" visibility="hidden" labelid="537"
+	 					   	width="170" height="20" onclick="parent.checkPWD();" />
+		
+		<!-- label: language -->
+		<labelText name="labellanguages" labelid="227" visibility="hidden" width="200" y="30" resize="false" x="10" />     
+		<resetCombobox name="languages" width="170" y="30" x="120" visibility="hidden" editable="false">
+	      	<netRemoteCallHib name="getLanguages" funcname="languageservice.getLanguages" remotecontext="$once{ canvas.thishib }" >      
+	            <handler name="oninit">
+                 	this.doCall();
+	            </handler>
+	            <handler name="ondata" args="value">
+	            	//The onResult-Handler will be called be the rtmpconnection
+                  	<![CDATA[
+                        var selVal = canvas.language_id;
+                        var found = false;
+                  		for (var i=0;i<value.length;i++){
+	                  		this.parent.addItem(value[i].name,value[i].language_id);
+                            if (value[i].language_id == selVal) {
+                                found = true;
+                            }
+		                }
+                		this.parent.selectItem((found) ? selVal : value[0].language_id);
+		            ]]>
+				</handler>  
+			</netRemoteCallHib>
+		</resetCombobox>		 
+
+		<!-- label: loading -->	
+		<labelText name="labelloading" y="30" x="10" fontstyle="bold" labelid="229" visibility="hidden" />
+		
+		<!-- label: enter -->
+		<simpleLabelButton name="connect" y="80" x="120" text="start" 
+						   visibility="hidden" labelid="228" width="170" height="20" 
+						   onclick="parent.isRoomFull.doCall();" />
+	</class>
+</library>
diff --git a/WebContent/src/modules/invitation/inviteMainWindow.lzx b/WebContent/src/modules/invitation/inviteMainWindow.lzx
new file mode 100644
index 0000000..544907c
--- /dev/null
+++ b/WebContent/src/modules/invitation/inviteMainWindow.lzx
@@ -0,0 +1,226 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	<!---
+		This class shows a invitation window with clicking button which is located in video and audio panel.
+	-->
+	<!-- placeholder
+		label: send invitation
+	-->
+	<class name="inviteMainWindow" extends="labelExplorerBox" labelid="214" 
+			docking="true" closable="true" width="464" x="200" y="100" height="440">
+		
+		<attribute name="roomType" value="conference" type="string" />
+		<attribute name="baseUrl" value="http://www.denic.de" type="string" />
+    	
+    	<handler name="oninit">
+            <![CDATA[
+            
+                lz.ModeManager.makeModal(this);
+                var pressEnter = new LzDelegate(this, "register");
+                lz.Keys.callOnKeyCombo(pressEnter, ["enter"]);
+                
+                getTimeZoneOffset(this);
+                
+            ]]>
+        </handler>
+        
+        <method name="callback" args="returnValue">
+            if ($debug) Debug.write("getTimeZoneOffset callback ",returnValue);
+                    
+            var std_time_offset = Number(returnValue);
+            
+            this.setOffset(std_time_offset);
+        </method>
+        
+        <method name="setOffset" args="std_time_offset">
+            <![CDATA[
+            std_time_offset = Math.round(std_time_offset);
+            var timeZoneJavaFormat = "Etc/GMT";
+            if (std_time_offset > 0) {
+                timeZoneJavaFormat += "+"+std_time_offset;
+            } else {
+                timeZoneJavaFormat += "-"+std_time_offset;
+            }
+            
+            if ($debug) Debug.write("timeZoneJavaFormat :: ",timeZoneJavaFormat);
+            
+            var tItem =  this._timeZone.getItem(timeZoneJavaFormat);
+            
+            if (tItem != null) {
+            	this._timeZone.selectItem(timeZoneJavaFormat);
+            } else {
+            	this._timeZone.selectItemAt(0);
+            }
+            
+            ]]>
+        </method> 
+        
+    	<handler name="onclose">
+    		lz.ModeManager.release(this);
+    	</handler>	
+		
+		<!-- label: recipient -->
+		<labelText labelid="216" y="24" width="120" />
+		<customEdittext name="_recipient" width="340" regexpType="email" x="120" y="22" />
+		
+		<!-- label: subject -->
+		<labelText labelid="215" y="52" width="120" />
+		<customEdittext name="_subject" labelid="532" width="340" enabled="false" x="120" y="52" />	
+		
+		<!-- label: message -->
+		<labelText labelid="217" y="82" width="120" />
+		<!--
+		<customEdittext name="_message" width="340" x="120" y="82" height="100" 
+						multiline="true" />
+		 -->
+		<customScrollEdittext name="_message" width="340" x="120" y="82" height="100" />	
+		
+							  
+		<!-- label: password protected -->
+		<labelCheckbox name="_ispasswordProtected" y="192" fontsize="11" x="4" labelid="524"  />
+			
+		<!-- label: password -->
+		<labelText labelid="525" y="220" x="4" fgcolor="${ ((!parent._ispasswordProtected.value) ? 0xCCCCCC : 0x000000 ) }" />
+		<customEdittext name="_password" enabled="${ parent._ispasswordProtected.value }" password="true"
+						width="340" x="120" y="218" />
+		
+		<!-- label: validity period -->
+		<labelText labelid="526" y="252" width="120" />
+	
+		<radiogroup name="_valid" x="120" y="256" layout="class:simplelayout; axis:x">
+			<!-- label: endless -->
+	            <labelRadioButton value="1" labelid="527" fontsize="11" />
+			<!-- label: period -->
+	            <labelRadioButton value="2" labelid="528" fontsize="11" />
+			<!-- label: one-time -->
+	        	<labelRadioButton value="3" labelid="529" fontsize="11" />
+		</radiogroup>
+
+		<!-- label: valid from -->		
+		<labelText x="4" labelid="530" y="284" fgcolor="${ ((parent._valid.value==2) ? 0x000000 : 0xCCCCCC ) }" />
+		<dateField x="120" y="282" name="_valid_from" setDefaultToday="true" enabled="${ ((parent._valid.value==2) ? true : false ) }" />
+		<customEdittext name="_timeFrom" enabled="${ ((parent._valid.value==2) ? true : false ) }"
+					width="50" x="232" y="282" text="$once{ getStringTime() }" regexpType="time" />	   
+		
+		<!-- label: valid to -->			
+		<labelText x="4" labelid="531" y="314" fgcolor="${ ((parent._valid.value==2) ? 0x000000 : 0xCCCCCC ) }" />
+		<dateField x="120" y="314" name="_valid_to" setDefaultToday="true" additionalDay="1" enabled="${ ((parent._valid.value==2) ? true : false ) }" />		
+		<customEdittext name="_timeTo" enabled="${ ((parent._valid.value==2) ? true : false ) }"
+						width="50" x="232" y="314" text="$once{ getStringTime() }" regexpType="time" />				   
+
+        <labelText labelid="1143" width="200" y="344" fgcolor="${ ((parent._valid.value==2) ? 0x000000 : 0xCCCCCC ) }"  x="4" />
+        <resetCombobox name="_timeZone" editable="false" y="344" width="270" x="120"
+         			   enabled="${ ((parent._valid.value==2) ? true : false ) }"
+         			   fontsize="11" style="componentStyle">
+            <labeldTextListItem datapath="timeZoneSet:/item" text="$path{ 'frontEndLabel/text()' }" 
+                value="$path{ 'jname/text()' }" />
+        </resetCombobox>
+         
+		<labelText labelid="59" width="200" y="374" x="4" />
+        <resetCombobox name="_languages" editable="false" y="374" width="270" x="120"
+         			   fontsize="11" style="componentStyle">
+            <netRemoteCallHib name="getLanguages" funcname="languageservice.getLanguages" remotecontext="$once{ canvas.thishib }" >
+                <handler name="oninit">
+                    this.doCall();
+                </handler>
+
+                <handler name="ondata" args="value">
+                    //The onResult-Handler will be called be the rtmpconnection
+                    <![CDATA[
+                        for (var i=0; i<value.length; i++) {
+                            parent.addItem(value[i].name,value[i].language_id);
+                        }
+                        parent.selectItem(canvas.language_id);
+                    ]]>
+                </handler>
+            </netRemoteCallHib>
+        </resetCombobox>
+
+        <!-- label: send -->
+		<simpleLabelButton labelid="218" x="$once{ parent.width-260 }" width="120" y="$once{ parent.height-26 }">
+			<handler name="onclick">
+				<![CDATA[
+					var urlObject =  lz.Browser.getBaseURL();
+					//If Port is Null or undefinied use port 80
+					if (urlObject.port!=null && urlObject.port!=undefined){
+						var port = urlObject.port;
+						
+						if (port != 80) {
+							parent.baseUrl = urlObject.protocol+"://"+urlObject.host+":"+port+urlObject.path;
+						} else {
+							parent.baseUrl = urlObject.protocol+"://"+urlObject.host+urlObject.path;
+						}
+					} else {
+						parent.baseUrl = urlObject.protocol+"://"+urlObject.host+urlObject.path;
+					}
+					
+					if( $debug ) Debug.write("parent.baseUrl: ",parent.baseUrl);
+					if (!canvas.isConference){
+						parent.roomType = "audience";
+					}
+					
+					parent.sendInvitationHash.doCall();
+				]]>
+			</handler>
+		</simpleLabelButton>
+	
+		<!-- label: cancel -->
+		<simpleLabelButton labelid="219" x="$once{ parent.width-130 }" width="120" y="$once{ parent.height-26 }">
+			<handler name="onclick">
+				parent.close();
+			</handler>
+		</simpleLabelButton>
+	   
+	      <netRemoteCallHib name="sendInvitationHash" funcname="invitationservice.sendInvitationHash" remotecontext="$once{ canvas.thishib }" >    
+        		
+        		<netparam name="sid"><method name="getValue">return canvas.sessionId;</method></netparam>
+			    <netparam name="username"><method name="getValue">return hib.userobject.firstname+' '+hib.userobject.lastname</method></netparam>
+	            <netparam name="message"><method name="getValue">return this.parent.parent._message.getText();</method></netparam>
+	            <netparam name="baseurl"><method name="getValue">return parent.parent.baseUrl;</method></netparam>
+	            <netparam name="email"><method name="getValue">return this.parent.parent._recipient.getText();</method></netparam>
+	            <netparam name="subject"><method name="getValue">return this.parent.parent._subject.getText();</method></netparam>
+	            <netparam name="roomid"><method name="getValue">return hib.currentroomid;</method></netparam>
+	            <netparam name="conferencedomain"><method name="getValue">return hib.conferencedomain;</method></netparam>
+	            <netparam name="ispasswordProtected"><method name="getValue">return parent.parent._ispasswordProtected.value;</method></netparam>
+	            <netparam name="password"><method name="getValue">return parent.parent._password.getText();</method></netparam>
+	            <netparam name="valid"><method name="getValue">return parent.parent._valid.value;</method></netparam>
+	            <netparam name="validFromDate"><method name="getValue">return parent.parent._valid_from.getDate();</method></netparam>
+	            <netparam name="validFromTime"><method name="getValue">return parent.parent._timeFrom.getText();</method></netparam>
+	            <netparam name="validToDate"><method name="getValue">return parent.parent._valid_to.getDate();</method></netparam>
+	            <netparam name="validToTime"><method name="getValue">return parent.parent._timeTo.getText();</method></netparam>
+                <netparam name="language_id"><method name="getValue">return parent.parent._languages.getValue();</method></netparam>
+                <netparam name="jNameTimeZone"><method name="getValue">return parent.parent._timeZone.getValue();</method></netparam>
+                
+	            <handler name="ondata" args="value">
+	            	<![CDATA[
+	                	//The onResult-Handler will be called be the rtmpconnection
+				if ($debug) Debug.write("sendInvitationHash : ",value);
+				if (value=="success"){
+					parent.close();
+				} else {
+					new lz.errorPopup(canvas.main_content._content.inner,{error:value});
+				}
+               ]]>
+			</handler>   
+		</netRemoteCallHib>
+	</class>
+</library>
diff --git a/WebContent/src/modules/invitation/library.lzx b/WebContent/src/modules/invitation/library.lzx
new file mode 100644
index 0000000..df5c4ee
--- /dev/null
+++ b/WebContent/src/modules/invitation/library.lzx
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+    <include href="autoloaderBarOnly.lzx" />
+	<include href="invitationQuickLoader.lzx" />
+	<include href="inviteMainWindow.lzx" />
+
+</library>
diff --git a/WebContent/src/modules/library.lzx b/WebContent/src/modules/library.lzx
new file mode 100644
index 0000000..419a270
--- /dev/null
+++ b/WebContent/src/modules/library.lzx
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	<include href="conference/" />
+	<include href="chat/" />
+	<include href="settings/" />
+	<include href="invitation/" />
+    <include href="lzrecordcontent/" />
+	<include href="dashboard/" />
+	<include href="meetings/" />
+    <include href="admin/" />
+    <include href="sipintegration/" />
+    <include href="lzcalendar/" />
+
+</library>
diff --git a/WebContent/src/modules/lzcalendar/compontents/addAttendee.lzx b/WebContent/src/modules/lzcalendar/compontents/addAttendee.lzx
new file mode 100644
index 0000000..3303b80
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/addAttendee.lzx
@@ -0,0 +1,224 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="addAttendee" extends="labelExplorerBox" labelid="574"
+	 closable="true" width="500" x="$once{ parent.width/2-this.width/2 + 10 }" 
+	 y="110" height="310" >
+    
+    <attribute name="isSuperModerator" value="false" type="boolean"/>
+    
+	<!-- resizeable="false" -->
+	<attribute name="refObj" value="null"/>
+	
+	<method name="chooseAndClose">
+		<![CDATA[
+		
+			if (this._turnoverlist._selected == null) {
+				new lz.labelerrorPopup(canvas,{errorlabelid:811});
+				return;
+			}
+			
+			var jNameTimeZone = canvas.jNameTimeZone;
+			
+			if (this._turnoverlist._selected.omTimeZone != null) {
+				jNameTimeZone = this._turnoverlist._selected.omTimeZone.jname;
+			}
+			
+            this.refObj.addListItem(
+                              this._turnoverlist._selected.userId, 
+                              this._turnoverlist._selected.firstname, 
+                              this._turnoverlist._selected.lastname, 
+                              this._turnoverlist._selected.email,
+                              0,
+                              jNameTimeZone
+                          );
+
+						      
+			this.close();
+		]]>
+	</method>
+	
+	<view name="_search" layout="axis:x;spacing:2;inset:4" y="24" x="0">
+		
+		<labelText width="70" resize="false" labelid="809" />
+		
+		<customEdittext name="_criteria" width="220" height="20">
+            <handler name="onkeyup" args="key">
+                <![CDATA[
+	                // 13 is return
+	                if (key==13) {
+	                	parent.parent._turnoverlist.getAllUserBySearchRange.doCall();
+	                }
+                ]]>
+            </handler>
+		</customEdittext>
+		
+		<simpleLabelButton labelid="628" width="200" >
+			<handler name="onclick">			
+    			//parent.parent.getUserContactsBySearchByList.doCall();
+    			parent.parent._turnoverlist.getAllUserBySearchRange.doCall();
+			</handler>
+		</simpleLabelButton >
+		
+		
+	</view>
+	
+	
+	<turnOverList name="_turnoverlist" width="${ parent.width - 4 }" 
+                  height="$once{ (parent.isSuperModerator) ? parent.height-144 : parent.height-94 }" x="2" y="46" 
+		orderby="u.lastname" step="50" asc="false" bgcolor="0xFFFFFF">
+
+		<handler name="oninit">
+			this.addHeaderItemOrdered(146,70,"u.user_id",false,false); //labelid,width,orderBy,asc,isSelected
+			this.addHeaderItemOrdered(148,136,"u.firstname",false,false);
+			this.addHeaderItemOrdered(149,136,"u.lastname",false,true);
+			this.addHeaderItemOrdered(137,138,"u.adresses.email",false,false);
+			this.getAllUserBySearchRange.doCall();
+		</handler>
+		
+		<handler name="onUpdateOrder" args="refObj">
+			this.getAllUserBySearchRange.doCall();
+		</handler>
+		
+		<handler name="oncallnext" >
+			this.getAllUserBySearchRange.doCall();
+		</handler>
+		
+		<handler name="oncallpre" >		
+			this.getAllUserBySearchRange.doCall();
+		</handler>
+		
+		<handler name="onclickedItem" args="obj">
+			if ($debug) Debug.write("onclickedItem",obj,obj.obj);
+		</handler>
+		
+		<handler name="ondblclickedItem" args="obj">
+			if ($debug) Debug.write("ondblclickedItem",obj,obj.obj);
+			parent.chooseAndClose();
+		</handler>
+		
+		<!--
+		   Get all users by range and parse result List into View
+		 -->
+	 	<netRemoteCallHib name="getAllUserBySearchRange" funcname="userservice.getAllUserBySearchRange" 
+	                      remotecontext="$once{ canvas.thishib }" showLoading="false">
+	        
+	        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+	        <netparam><method name="getValue">return parent.parent.parent._search._criteria.getText();</method></netparam>
+	        <netparam><method name="getValue">return parent.parent.start;</method></netparam>
+	        <netparam><method name="getValue">return parent.parent.step;</method></netparam>
+	        <netparam><method name="getValue">return parent.parent.orderby;</method></netparam>
+	        <netparam><method name="getValue">return parent.parent.asc;</method></netparam>
+	        
+	        <handler name="ondata" args="valueList">
+	            <![CDATA[
+		            if ($debug) Debug.write("getAllUserBySearchRange ",valueList);
+		            this.parent.initValues(valueList.records);
+		    		this.parent.renderContent(valueList.result);
+	            ]]>
+	        </handler>
+	    </netRemoteCallHib>			
+	    
+	    <method name="renderContent" args="records">
+	    	<![CDATA[
+		    	this.clearList();
+		    	for (var i=0;i<records.length;i++){
+		    		new lz.attendeItemListItem(this._innerlist._inn._inn,{
+			    					obj:records[i],
+			    					userId:records[i].user_id,
+			    					login:records[i].login,
+			    					email:records[i].adresses.email,
+			    					firstname:records[i].firstname,
+			    					lastname:records[i].lastname,
+			    					omTimeZone:records[i].omTimeZone
+		    					});
+		    	}
+		    	this.sendInitialWidthUpdate();
+	    	]]>
+	    </method>
+
+	</turnOverList>
+    
+    <view resource="messagebox_info_rsc" x="10" 
+          y="$once{ parent.height-96 }"
+          visibility="$once{ (!parent.isSuperModerator) ? 'hidden' : 'visible' }" />
+    
+    <labelText labelid="824" x="34" y="$once{ parent.height-94 }" multiline="true" 
+               visibility="$once{ (!parent.isSuperModerator) ? 'hidden' : 'visible' }" 
+               width="$once{ parent.width-60 }" />
+    
+    <labelCheckbox x="4" y="$once{ parent.height-63 }" 
+           visibility="$once{ (!parent.isSuperModerator) ? 'hidden' : 'visible' }"
+           fontsize="11" name="_savelogindata" labelid="825" />
+	
+	<simpleLabelButton labelid="629" visibility="$once{ (parent.isSuperModerator) ? 'hidden' : 'visible' }"
+                       width="240" x="4" y="$once{ parent.height - 24 }">
+		<handler name="onclick">
+			<![CDATA[			
+    			//parent.parent.getUserContactsBySearchByList.doCall();
+    			//parent.parent.getAllUserBySearchRange.doCall();
+    			new lz.addExternalAttendee(parent.parent, {
+        			         refObj:parent.refObj, 
+        			         x:parent.x+parent.width/2, 
+        			         y:parent.y+40
+    			         });
+            ]]>
+		</handler>
+	</simpleLabelButton >
+	
+	<simpleLabelButton labelid="810" x="$once{ parent.width - 250 }"
+                       y="$once{ parent.height - 24 }" width="120">
+        <handler name="onclick">
+            //parent.parent.parent.delTermin.doCall();
+            parent.chooseAndClose();
+        </handler>     
+    </simpleLabelButton>    	
+	     
+	     
+    <simpleLabelButton labelid="697" x="$once{ parent.width - 125 }"
+                       y="$once{ parent.height - 24 }" width="120">
+        <handler name="onclick">
+            //parent.parent.parent.delTermin.doCall();
+            parent.close();
+        </handler>     
+    </simpleLabelButton>    	
+	     
+
+
+</class>
+
+<class name="attendeItemListItem" extends="baseContentListItem"> 
+    
+	<attribute name="userId" value="0" type="number" /> 
+	<attribute name="login" value="" type="string" />
+	<attribute name="firstname" value="" type="string" />
+	<attribute name="lastname" value="" type="string" />
+	<attribute name="email" value="" type="string" />
+	<attribute name="omTimeZone" value="null" />
+	
+	<turnOverTextItem text="$once{ parent.userId }" width="60" />
+	<turnOverTextItem text="$once{ parent.firstname }" width="100" />
+	<turnOverTextItem text="$once{ parent.lastname }" width="132" />
+	<turnOverTextItem text="$once{ parent.email }" width="132" />
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/lzcalendar/compontents/addExternalAttendee.lzx b/WebContent/src/modules/lzcalendar/compontents/addExternalAttendee.lzx
new file mode 100644
index 0000000..7f5894e
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/addExternalAttendee.lzx
@@ -0,0 +1,78 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="addExternalAttendee" extends="labelExplorerBox" width="420" height="240"
+	   closable="true" labelid="629" x="$once{ parent.width/2-this.width/2 + 10 }">
+	
+	<attribute name="refObj" value="null"/>	
+	
+	<handler name="oninit">
+		this._timeZone.selectItem(canvas.jNameTimeZone);
+	</handler>
+		
+	<labelText labelid="630" y="24" x="2" />
+	<customEdittext name="vorname" x="120" width="270" y="24" />
+	
+	<labelText labelid="631" y="54" x="2" />
+	<customEdittext name="nachname" x="120" width="270" y="54" />
+	
+	<labelText labelid="632" y="84" x="2" />
+	<customEdittext name="email" x="120" width="270" y="84" />
+	
+    <labelText labelid="1143" width="200" y="114" x="2" />
+     <resetCombobox name="_timeZone" editable="false" y="114" width="270" x="120"
+     			   fontsize="11" style="componentStyle">
+     	<attribute name="selectionActive" value="false" type="boolean"/>
+     	<labeldTextListItem datapath="timeZoneSet:/item" text="$path{ 'frontEndLabel/text()' }" 
+            value="$path{ 'jname/text()' }" />
+     </resetCombobox>  	
+	
+	<simpleLabelButton name="_ok" labelid="333" x="$once{ parent.width-220 }"
+					   width="100" y="$once{ parent.height - 30 }" >
+		<handler name="onclick">
+			parent.refObj.addListItem(
+				      0, 
+				      parent.vorname["text"], 
+				      parent.nachname["text"], 
+				      parent.email["text"],
+				      0,
+				      parent._timeZone.getValue()
+			      );
+			//if ($debug) Debug.write("_innerlist: ", parent.parent.parent.refObj.terminObjRef._liste._innerlist);
+			parent.vorname="";
+			parent.nachname="";
+			parent.email="";
+			parent.close();
+			//parent.parent.parent.refObj.close();
+			//if ($debug) Debug.write("userId  search: ",parent.parent.parent.userId);
+		</handler>
+	</simpleLabelButton>
+	
+	<simpleLabelButton  name="_cancel" labelid="25" x="$once{ parent.width-110 }"
+					   width="100" y="$once{ parent.height - 30 }">
+		<handler name="onclick">
+			parent.close();
+		</handler>
+	</simpleLabelButton>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/lzcalendar/compontents/attendeeListItem.lzx b/WebContent/src/modules/lzcalendar/compontents/attendeeListItem.lzx
new file mode 100644
index 0000000..1116f91
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/attendeeListItem.lzx
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+	<class name="attendeeListItem" extends="view" clickable="true" height="19">

+		

+		<attribute name="userId" value="0" type="number" />

+		<attribute name="firstName" value="" type="string" />

+		<attribute name="memberId" value="0" type="number" />

+		<attribute name="lastName" value="" type="string" />

+		<attribute name="email" value="" type="string" />

+		<attribute name="jNameTimeZone" value="" type="string" />

+		

+		<text name="memberText" width="$once{ parent.width - 18 }" />

+		

+		<miniIcons x="$once{ parent.width - 16 }" y="2" resource="calendar_delete_button" showhandcursor="true"

+				   width="16" height="16">

+			<handler name="onclick">

+				new lz.confirmationSingle(canvas,{

+		                            	           labeliderror:832,

+		                            	           refObj:this,

+		                            	           showCheckBox:false

+	                            	           });

+			</handler>

+			<method name="sendConfirmation" args="yesno" >

+	            parent.destroy();

+	        </method>

+			<labelTooltip labelid="814" />

+		</miniIcons>

+		

+		<view y="18" height="1" width="$once{ parent.width }" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" />

+		

+		<labelTooltip text="$once{ canvas.getLabelName(1143) + ' ' + parent.jNameTimeZone }" />

+		

+	</class>

+

+</library>
\ No newline at end of file
diff --git a/WebContent/src/modules/lzcalendar/compontents/layouts/dragEvent.lzx b/WebContent/src/modules/lzcalendar/compontents/layouts/dragEvent.lzx
new file mode 100644
index 0000000..00b1887
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/layouts/dragEvent.lzx
@@ -0,0 +1,326 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+	<class name="dragEvent" extends="view" opacity="0.6">

+	

+		<!---

+			Refrence to the current moving event in the calendar

+		 -->

+		<attribute name="eventRef" value="null" />

+		

+		<!---

+			@keywords private

+		 -->

+		<attribute name="timeText" value="" type="string" />

+		

+		<!---

+			@keywords private

+		 -->

+		<attribute name="titleText" value="" type="string" />

+		

+		<!---

+			If false the time part is hidden

+		 -->

+		<attribute name="showTime" value="true" type="boolean" />

+		

+		<!---

+			Move x,y to right position in dayview

+		 -->

+		<attribute name="fixToPositionInCalendar" value="true" type="boolean" />

+		

+		<!---

+			Reference to current grid view classroot

+		 -->

+		<attribute name="calendarViewRef" value="null" />

+		

+		<!---

+			if true only the date part is updated not the time part of the calendar event

+			when moving to another date

+		 -->

+		<attribute name="isMonthMove" value="false" type="boolean" />

+		

+		<!---

+			if true it cannot be dragged to another date, 

+			only the end position and its height will change

+		 -->

+		<attribute name="dragEndOnly" value="false" type="boolean" />

+		

+		<!---

+			@keywords private

+		 -->

+		<attribute name="updateObj" value="null" />

+		

+		<!---

+			@keywords private

+		 -->

+		<attribute name="baseUrl" value="" type="string" />

+		

+		<!---

+			@keywords private

+		 -->

+		<attribute name="startheight" value="-1" type="number" />

+		

+		<handler name="onx" args="x">

+			if (this.fixToPositionInCalendar) {

+				this.fixToPosition();

+			}

+		</handler>

+		

+		<handler name="ony" args="y">

+			if (this.fixToPositionInCalendar) {

+				this.fixToPosition();

+			}

+		</handler>

+		

+		<!-- 

+			Scroll calendar day view to position if necessary (based on mouse position, not calendar event position!).

+			This makes only sense if fixToPositionInCalendar is true (fixToPositionInCalendar only true if we are in 

+			a day or week view where there is actually something to scroll).

+		 -->

+		<handler name="onidle" reference="LzIdleService.LzIdle">

+			<![CDATA[

+				if (!this.fixToPositionInCalendar) {

+					return;

+				}

+				var referenceToScrollView = parent.parent.parent._grid._bgArea;

+				//Scroll calendar day view to position if necessary

+				var tParentScrolly = referenceToScrollView.getMouse("y");

+				if (tParentScrolly < 0) {

+					if (referenceToScrollView._scrollArea.y < 0) {

+						if (referenceToScrollView._scrollArea.y+20 < 0) {

+							referenceToScrollView._scrollArea.setAttribute("y",referenceToScrollView._scrollArea.y+20);

+						} else {

+							referenceToScrollView._scrollArea.setAttribute("y",0);

+						}

+					}

+				} else if (referenceToScrollView.height < tParentScrolly) {

+					var maxScroll = referenceToScrollView.height - referenceToScrollView._scrollArea.height;

+					if (referenceToScrollView._scrollArea.y > maxScroll) {

+						if (referenceToScrollView._scrollArea.y-20 > maxScroll) {

+							referenceToScrollView._scrollArea.setAttribute("y",referenceToScrollView._scrollArea.y-20);

+						} else {

+							referenceToScrollView._scrollArea.setAttribute("y",maxScroll);

+						}

+					} else {

+						referenceToScrollView._scrollArea.setAttribute("y",maxScroll);

+					}

+				}

+				

+				if (this.dragEndOnly) {

+					var heightInMinutes = parent.height/1440;

+					var tPixels30Minutes = heightInMinutes*30;

+					

+					var tNewY = Math.round(parent.getMouse("y")/tPixels30Minutes)*tPixels30Minutes;

+					

+					var newHeight = (tNewY - this.y);

+					if (newHeight >= tPixels30Minutes && newHeight+this.y <= parent.height) {

+						this.setAttribute("height",newHeight);

+					}

+					

+				}

+			]]>

+		</handler>

+		

+		<method name="fixToPosition">

+			<![CDATA[

+				if (!this.dragEndOnly) {

+					//if ($debug) Debug.write("fixToPosition 1 ", this.calendarViewRef);

+					//if ($debug) Debug.write("fixToPosition 2 ", this.calendarViewRef.currentOverTrackView);

+					var currentOverTrackView = this.calendarViewRef.currentOverTrackView;

+					if (currentOverTrackView == null) {

+						return;

+					}

+					

+					var heightInMinutes = parent.height/1440;

+					var tPixels30Minutes = heightInMinutes*30;

+					var tNewY = Math.round(this.y/tPixels30Minutes)*tPixels30Minutes;

+					if (tNewY < 0) {

+						this.setAttribute("y",0);

+					} else if (tNewY + this.height > parent.height) {

+						this.setAttribute("y",parent.height-this.height);

+					} else {

+						this.setAttribute("y",tNewY);

+					}

+					this.setAttribute("x",currentOverTrackView.x);

+				}

+			]]>

+		</method>

+		

+		<handler name="onmouseup" reference="lz.GlobalMouse" args="who">

+	        this.close();

+	    </handler>

+		

+		<handler name="oninit">

+			lz.Cursor.showHandCursor(false);

+			lz.ModeManager.globalLockMouseEvents();

+			if (!this.dragEndOnly) {

+				this.dragger.apply();

+			}

+			this.setShadow();

+		</handler>

+		

+		<method name="setShadow">

+	        <![CDATA[

+	            var normalMC = this.getDisplayObject();

+	            var displacementMap = new flash.filters.DropShadowFilter();

+	            normalMC.filters = [displacementMap];

+	        ]]>              

+	    </method>

+	    

+	    <method name="justFinish">

+	    	lz.Cursor.restoreCursor(); 

+	    	//lz.Cursor.showHandCursor(true);

+			lz.ModeManager.globalUnlockMouseEvents();

+			this.destroy();

+	    </method>

+		

+		<method name="close">

+			<![CDATA[

+				var appointmentId = this.eventRef.closeDragItem();

+				this.dragger.remove();

+				

+				if (this.calendarViewRef.parent.parent.requestUserId != canvas.user_id) {

+					new lz.labelerrorPopup(canvas,{errorlabelid:1278});

+					lz.Cursor.showHandCursor(true);

+					lz.ModeManager.globalUnlockMouseEvents();

+					this.eventRef.setAttribute("visibility","visible");

+					this.destroy();

+					return;

+				}

+				

+				if (this.height == this.startheight && this.dragEndOnly) {

+					this.justFinish();

+					return;

+				}

+				

+				if (appointmentId <= 0) {

+					this.justFinish();

+					return;

+				}

+			

+				this.updateObj = new Object();

+				

+				//Point URL to actual File

+	            var urlObject =  lz.Browser.getBaseURL();

+				//If Port is Null or undefinied use port 80

+				if (urlObject.port!=null && urlObject.port!=undefined){

+					var port = urlObject.port;

+					

+					if (port != 80) {

+						this.baseUrl = urlObject.protocol+"://"+urlObject.host+":"+port+urlObject.path;

+					} else {

+						this.baseUrl = urlObject.protocol+"://"+urlObject.host+urlObject.path;

+					}

+				} else {

+					this.baseUrl = urlObject.protocol+"://"+urlObject.host+urlObject.path;

+				}

+				

+				var currentOverTrackView = this.calendarViewRef.currentOverTrackView;

+				if (currentOverTrackView == null) {

+					if ($debug) Debug.warn("currentOverTrackView is NULL, error in view reference!");

+					return;

+				}

+				

+				updateObj.appointmentId = appointmentId;

+				updateObj.appointmentstart = new Date(this.calendarViewRef.currentOverTrackView.dayDate.getTime());

+				

+				//If it is only drag and dropped in month grid we only change dates no times

+				if (this.isMonthMove) {

+					var tDateStart = parseDateTimeFromXmlString(this.eventRef.datapath.xpathQuery('start/text()'));

+					updateObj.appointmentstart.setHours(tDateStart.getHours());

+					updateObj.appointmentstart.setMinutes(tDateStart.getMinutes());

+				} else {

+					

+					var heightInMinutes = parent.height/1440;

+					var tPixels30Minutes = heightInMinutes*30;

+					var startRoundBy30Minutes = Math.round(this.y/tPixels30Minutes)*tPixels30Minutes;

+					

+					updateObj.appointmentstart.setHours(Math.floor((startRoundBy30Minutes/heightInMinutes)/60));

+					updateObj.appointmentstart.setMinutes((startRoundBy30Minutes/heightInMinutes)-(updateObj.appointmentstart.getHours()*60));

+				}

+				

+				updateObj.appointmentend = new Date(this.calendarViewRef.currentOverTrackView.dayDate.getTime());

+				

+				//If it is only drag and dropped in month grid we only change dates no times

+				if (this.isMonthMove) {

+					var tDateEnd = parseDateTimeFromXmlString(this.eventRef.datapath.xpathQuery('end/text()'));

+					updateObj.appointmentend.setHours(tDateEnd.getHours());

+					updateObj.appointmentend.setMinutes(tDateEnd.getMinutes());

+				} else {

+				

+					if ($debug) Debug.write("End Hours",Math.floor(((startRoundBy30Minutes+this.height)/heightInMinutes)/60));

+					var endHours = Math.floor(((startRoundBy30Minutes+this.height)/heightInMinutes)/60);

+					

+					if (endHours >= 24) {

+						 

+						updateObj.appointmentend.setHours(0);

+						updateObj.appointmentend.setMinutes(0);

+						updateObj.appointmentend.setTime(updateObj.appointmentend.getTime()+86400000);

+						

+					} else {

+						if ($debug) Debug.write("End Minutes",((startRoundBy30Minutes+this.height)/heightInMinutes)-(updateObj.appointmentend.getHours()*60));

+						updateObj.appointmentend.setMinutes(((startRoundBy30Minutes+this.height)/heightInMinutes)-(updateObj.appointmentend.getHours()*60));

+						updateObj.appointmentend.setHours(endHours);

+					}

+					

+				}

+				

+				if ($debug) Debug.write("New appointmentstart ",updateObj.appointmentstart);

+				if ($debug) Debug.write("New appointmentend ",updateObj.appointmentend);

+				

+				this.updateAppointmentTimeOnly.doCall();

+			]]>

+		</method>

+		

+		<netRemoteCallHib name="updateAppointmentTimeOnly" funcname="calendarservice.updateAppointmentTimeOnly" 

+							  remotecontext="$once{ canvas.thishib }" >     

+			<netparam><method name="getValue">return canvas.sessionId; </method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.appointmentId;</method></netparam>

+			<netparam><method name="getValue">return parseDateToStringTimeSeconds(parent.parent.updateObj.appointmentstart);</method></netparam>

+			<netparam><method name="getValue">return parseDateToStringTimeSeconds(parent.parent.updateObj.appointmentend);</method></netparam>

+			<netparam><method name="getValue">return parent.parent.baseUrl;</method></netparam>

+			<netparam><method name="getValue">return hib.userlang;</method></netparam>

+	    	<handler name="ondata" args="value">

+	    		<![CDATA[

+		    		if ($debug) Debug.write("updateAppointmentTimeOnly ",value);

+		    		lz.Cursor.restoreCursor(); 

+		    		//lz.Cursor.showHandCursor(true);

+					lz.ModeManager.globalUnlockMouseEvents();

+		    		parent.calendarViewRef.parent.parent.reload();

+					parent.destroy();

+	    		 ]]>

+	    	</handler>

+	    </netRemoteCallHib> 

+		

+		<dragstate name="dragger"/>

+		

+		<view width="$once{ parent.width }" height="$once{ parent.height }" 

+						bgcolor="$once{ parent.bgcolor }">

+			<text name="_time" text="$once{ parent.parent.timeText }" 

+					visibility="$once{ (parent.parent.showTime) ? 'visible' : 'hidden' }" />

+			<text name="_title" x="$once{ (parent.parent.showTime) ? 36 : 0 }" resize="false" text="$once{ parent.parent.titleText }"

+				width="$once{ (parent.parent.showTime) ? parent.parent.width-36 : parent.parent.width }" />

+		</view>

+		

+	</class>

+

+</library>
\ No newline at end of file
diff --git a/WebContent/src/modules/lzcalendar/compontents/layouts/library.lzx b/WebContent/src/modules/lzcalendar/compontents/layouts/library.lzx
new file mode 100644
index 0000000..38d1538
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/layouts/library.lzx
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+	<include href="dragEvent.lzx" />

+	<include href="lzDayView.lzx" />

+	<include href="lzMonthView.lzx" />

+

+</library>

diff --git a/WebContent/src/modules/lzcalendar/compontents/layouts/lzDayView.lzx b/WebContent/src/modules/lzcalendar/compontents/layouts/lzDayView.lzx
new file mode 100644
index 0000000..0817402
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/layouts/lzDayView.lzx
@@ -0,0 +1,441 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+

+	<class name="lzDayView" extends="view" width="${ parent.width }" height="${ parent.height }">

+	

+		<!---

+			Show only a single day over the whole width

+		 -->

+		<attribute name="singleDayView" value="true" type="boolean" />

+	

+		<!---

+			the row index of the day to show (makes only sense if singleDayView is true)

+		 -->

+		<attribute name="currentDay" value="0" type="number" />

+		

+		<!---

+			the number of days that are shown next to each other

+		 -->

+		<attribute name="daysPerWeek" value="1" type="number" />

+		

+		<!--

+			Name of the trackgroup

+		 -->

+		<attribute name="dayViewTrackGroup" value="dayViewTrackGroup" type="string" />

+		

+		<!-- 

+			Current Dragging object

+		 -->

+		<attribute name="currentDragEvent" value="null" />

+		

+		<!-- 

+			Current dayDate that receives the track scroll over

+		 -->

+		<attribute name="currentOverTrackView" value="null" />

+		

+		<!---

+			Prevent from re-rendering when switching the viewState 

+		 -->

+		<attribute name="reRenderLock" value="false" type="boolean" />

+		

+		<handler name="oninit">

+			//fix z-Layer

+			this._header.sendInFrontOf(this._grid);

+			this._grid.sendToBack();

+		</handler>

+			

+		<view name="_header" x="41" width="${ parent.width-10 }" height="20" bgcolor="0xDDDDDD">

+			<view name="days" datapath="days" width="${ (parent.width-41)/classroot.daysPerWeek }" clip="true"

+								bgcolor="0xDDDDDD" height="19">

+				

+				<handler name="oninit">

+					if (classroot.singleDayView) {

+						this.setAttribute("datapath","days["+classroot.currentDay+"]");

+					}

+				</handler>

+								

+				<text name="_title" width="${ parent.width -1 }" fgcolor="0x666666"

+								datapath="tDate" bgcolor="0xFFFFFF" height="19" >

+					<attribute name="tDate" value="null" />

+					<handler name="ondata" args="d">

+						this.tDate = parseDateOnlyFromXmlString(d.childNodes[0].data);

+						var tStringWeekDay = canvas.dayShortNames[tDate.getDay()];

+						if ($debug) Debug.write("Calc Week day ",tStringWeekDay,this.tDate.getDay(),this.tDate);

+						this.setAttribute("text",canvas.dayShortNames[this.tDate.getDay()]+" "+this.tDate.getDate()+"."+(this.tDate.getMonth()+1)+".");

+					</handler>

+					<handler name="onmouseover">

+						if (!classroot.singleDayView) {

+							this.setAttribute("fontstyle","bold");

+						}

+					</handler>

+					<handler name="onmouseout">

+						if (!classroot.singleDayView) {

+							this.setAttribute("fontstyle","plain");

+						}

+					</handler>

+					<handler name="onclick">

+						if (!classroot.singleDayView) {

+							parent.parent.parent.parent.onSelectDate.sendEvent(this.tDate);

+						}

+					</handler>

+				</text>

+				

+			</view>

+			<simplelayout axis="x" spacing="0" />

+		</view>

+		

+		<view name="dragAndDropArea" y="20" width="${ parent.width }" height="${ parent.height-20 }" clip="true">

+			

+			<view name="_content" width="${ parent.width-10 }" height="720" y="${ parent.parent._grid._bgArea._scrollArea.y }">

+				

+			

+			</view>

+			

+		</view>

+		

+		<view name="_grid" y="20" width="${ parent.width }" height="${ parent.height-20 }">

+	

+			<view name="_bgArea" width="${ parent.width }" height="${ parent.height }" clip="true" bgcolor="0xDDDDDD">

+		

+				<view name="_scrollArea" width="${ parent.width-10 }" height="721" >

+				

+					<handler name="oninit">

+						this.setAttribute("y",parent.height-721);

+					</handler>

+					

+					<handler name="ony" args="y">

+						parent.parent.parent.parent.onScollContent.sendEvent(null);

+					</handler>

+				

+					<view name="hours" width="40" height="720" >

+							

+						<view name="dayBg2" resource="calendar_day_hours_index_bg_rsc" />

+						

+						<view>

+							<handler name="oninit">

+								<![CDATA[

+									for (var i=0;i<24;i++) {

+										if (i<10) {

+											new lz.textHourHelper(this,{text:"0"+i+":00"});

+										} else {

+											new lz.textHourHelper(this,{text:i+":00"});

+										}

+									}

+								]]>

+							</handler>

+							<simplelayout axis="y" />

+						</view>

+							

+					</view>

+					

+					<view width="1" />

+					

+					<!-- The days -->

+					<view name="days" datapath="days" width="${ (parent.width-41)/classroot.daysPerWeek }" 

+								height="720" bgcolor="0xDDDDDD" >

+								

+						<attribute name="dayDate" value="null" />

+								

+						<handler name="oninit">

+							if (classroot.singleDayView) {

+								this.setAttribute("datapath","days["+classroot.currentDay+"]");

+							}

+							lz.Track.register(this, classroot.dayViewTrackGroup);

+						</handler>

+						

+						<handler name="onmousetrackover">

+							if (!classroot.currentDragEvent.dragEndOnly) {

+					        	classroot.currentOverTrackView = this;

+					        }

+					    </handler>

+					

+					    <handler name="onmousetrackout">

+					    	//We do not track out cause otherwise the dragging view would be at undefined position

+					    </handler>

+					    

+					    <handler name="onmousetrackup">

+					        this._content.setAttribute('bgcolor', 0xFFFFFF);

+					    </handler>

+						

+						<handler name="ondata" args="d">

+							if(d is lz.DataNodeMixin){

+								var lzDataPointer = new lz.datapointer();

+								lzDataPointer.setPointer(d);

+								var xmlDate = lzDataPointer.xpathQuery('tDate/text()');

+								var splitDate = xmlDate.split("-");

+								this.dayDate = new Date(splitDate[0], Number(splitDate[1])-1, splitDate[2]);

+							}

+						</handler>

+						

+						<view name="_content" width="${ parent.width -1 }" bgcolor="0xFFFFFF"

+										height="720" clickable="true" showhandcursor="false">

+										

+							<attribute name="lzCalGridTempDrawView" value="null" />

+							

+							<handler name="onmousedown">

+								<![CDATA[

+									var heightInMinutes = this.height/1440;

+									//round by 30 minutes

+									var tPixels30Minutes = heightInMinutes*30;

+									var tStarty = this.getMouse("y");

+									tStarty = Math.round(tStarty/tPixels30Minutes)*tPixels30Minutes;

+									this.lzCalGridTempDrawView = new lz.lzCalGridTempDrawView(this,{

+																			y:tStarty,

+																			starty:tStarty,

+																			height:tPixels30Minutes,

+																			heightInMinutes:heightInMinutes,

+																			tPixels30Minutes:tPixels30Minutes

+																		});

+								]]>								

+							</handler>

+							

+							<handler name="onmouseup">

+								if (this.lzCalGridTempDrawView != null) {

+									var tStartDate = new Date();

+									//clone Date to have day and month

+									tStartDate.setTime(parent.dayDate.getTime());

+									var startMinutesTotal = this.lzCalGridTempDrawView.getStartMinutesTotal();

+									tStartDate.setHours(Math.floor(startMinutesTotal/60));

+									tStartDate.setMinutes(startMinutesTotal-(tStartDate.getHours()*60));

+									

+									var tEndDate = new Date();

+									//clone Date to have day and month

+									tEndDate.setTime(parent.dayDate.getTime());

+									var endMinutesTotal = this.lzCalGridTempDrawView.getEndMinutesTotal();

+									tEndDate.setHours(Math.floor(endMinutesTotal/60));

+									tEndDate.setMinutes(endMinutesTotal-(tEndDate.getHours()*60));

+								

+									this.lzCalGridTempDrawView.destroy();

+									this.lzCalGridTempDrawView = null;

+									

+									classroot.parent.selectStartEndDateTime(tStartDate,tEndDate);

+								}

+							</handler>

+							

+							<!--

+								Detect events that are parallel

+							 -->

+							<method name="calcWidthFactors" args="tItem">

+								<![CDATA[

+									for (var eg in this.subviews) {

+										if (this.subviews[eg] == tItem) {

+											continue;

+										}

+										if (!this.subviews[eg].event) {

+											continue;

+										}

+										

+										//if ($debug) Debug.write("Cond1 ",(this.subviews[eg].y + this.subviews[eg].height >= tItem.y));

+										//if ($debug) Debug.write("Cond2 ",(this.subviews[eg].y <= tItem.y + tItem.height));

+										

+										if (this.subviews[eg].y + this.subviews[eg].height >= tItem.y 

+												&& this.subviews[eg].y <= tItem.y + tItem.height) {

+											

+											var newWidthFactor = this.subviews[eg].widthFactor+1;

+											var newInsetFactor = this.subviews[eg].insetFactor+1;

+											

+											//if ($debug) Debug.write("Found newInsetFactor,newWidthFactor: ",newInsetFactor,newWidthFactor);

+											

+											//fix width	

+											this.subviews[eg].setAttribute("widthFactor",newWidthFactor);

+											tItem.setAttribute("widthFactor",newWidthFactor);

+											

+											//fix x-position

+											if (tItem.y >= this.subviews[eg].y) {

+												//if ($debug) Debug.write("AFTER");

+												tItem.setAttribute("insetFactor",newInsetFactor);

+												this.subviews[eg].sendInFrontOf(this.dayBg2);

+											} else {

+												//if ($debug) Debug.write("BEFORE");

+												this.subviews[eg].setAttribute("insetFactor",newInsetFactor);

+												tItem.sendInFrontOf(this.dayBg2);

+											}

+											

+										}

+									}

+								]]>

+							</method>

+							

+							<view name="dayBg2" resource="calendar_one_day_hours_index_bg_rsc" stretches="width" 

+								width="${ parent.width }"  >

+								<attribute name="event" value="false" type="boolean" /> 

+							</view>

+										

+							<view datapath="appointments" bgcolor="0xA59CFC" 

+										x="${ (parent.width/this.widthFactor) * insetFactor }"

+										width="${ parent.width/this.widthFactor }" height="60">

+								

+								<attribute name="event" value="true" type="boolean" /> 

+								

+								<attribute name="rememberX" value="-1" />

+								<attribute name="rememberY" value="-1" />

+								<attribute name="mouseUpDetect" value="false" type="boolean"/>

+								<attribute name="startedToDrag" value="false" type="boolean"/>

+								

+								<attribute name="widthFactor" value="1" type="number"/>

+								<attribute name="insetFactor" value="0" type="number"/>

+							

+								<handler name="ondata" args="d">

+									<![CDATA[

+										if (classroot.reRenderLock) {

+											if ($debug) Debug.info("Prevent un-neccessary Rendering!");

+											return;

+										}

+										this.setAttribute("visibility","visible");

+										var dataPointer = new lz.datapointer();

+										dataPointer.setPointer(d);

+										var startDate = parseDateTimeFromXmlString(dataPointer.xpathQuery('start/text()'));

+										var endDate = parseDateTimeFromXmlString(dataPointer.xpathQuery('end/text()'));

+										

+										if ($debug) Debug.write("COMPARE -- ",startDate,endDate);

+										

+										var heightInMinutes = parent.height/1440;

+										var startMin = (startDate.getHours() * 60 ) + startDate.getMinutes();

+										this.setAttribute("y",Math.round(heightInMinutes*startMin));

+										

+										if (endDate.getFullYear() > startDate.getFullYear() 

+												|| endDate.getMonth() > startDate.getMonth()

+													|| endDate.getDate() > startDate.getDate()) {

+											//If the end date is next year or month or day we need

+											//to mark the rest of the day with the event

+											this.setAttribute("height",parent.height-this.y);

+										} else {

+											var endMin = (endDate.getHours() * 60 ) + endDate.getMinutes();

+											this.setAttribute("height",Math.round((endMin - startMin)*heightInMinutes));

+										}

+										if ($debug) Debug.write("y,height -- ",this.y,this.height);

+										parent.calcWidthFactors(this);

+									]]>

+								</handler>

+								

+								<handler name="onmousedown">

+									this.mouseUpDetect = false;

+									this.startedToDrag = false;

+									this.rememberX = this.getMouse("x");

+									this.rememberY = this.getMouse("y");

+									lz.Timer.addTimer( new LzDelegate( this, "checkIfDragging" ), 250 );

+								</handler>

+								

+								<handler name="onmouseup" >

+									<![CDATA[

+										if (this.rememberX == this.getMouse("x")

+												&& this.rememberY == this.getMouse("y")) {

+											this.mouseUpDetect = true;

+											var appointmentId = this.datapath.xpathQuery('appointmentId/text()');

+											if ($debug) Debug.write("click ",appointmentId);

+											classroot.parent.selectCalendarEvent(this);

+										}

+									]]>

+								</handler>

+								

+								<method name="closeDragItem">

+									<![CDATA[

+										var appointmentId = -1;

+										lz.Track.deactivate(classroot.dayViewTrackGroup);

+										

+										//Fixme: Prevent saving the object if it is dragged 

+										//at the exact same position as it was before

+										appointmentId = Number(this.datapath.xpathQuery('appointmentId/text()'));

+										

+										classroot.currentDragEvent = null;

+										return appointmentId;

+									]]>

+								</method>

+								

+								<method name="checkIfDragging" args="tRef">

+									<![CDATA[

+										if (this.mouseUpDetect) {

+											return;

+										}

+										if (this.rememberX == this.getMouse("x")

+													&& this.rememberY == this.getMouse("y")) {

+											lz.Timer.addTimer( new LzDelegate( this, "checkIfDragging" ), 250 );			

+										} else {

+											this.startDragItem(false);

+										}

+									]]>

+								</method>

+								

+								<method name="startDragItem" args="dragEndOnly">

+									<![CDATA[

+										//we need to move the object by the y position that the mouse

+										//was moved since mousedown

+										var tNewY = this.y + (this.getMouse("y") -  this.rememberY);

+									

+										this.startedToDrag = true;

+										classroot.currentOverTrackView = parent.parent;

+										classroot.currentDragEvent = new lz.dragEvent(classroot.dragAndDropArea._content,{

+													x:(dragEndOnly) ? this.getAttributeRelative('x',parent.parent.parent.parent) : parent.parent.parent.x,

+													startx:(dragEndOnly) ? this.getAttributeRelative('x',parent.parent.parent.parent) : parent.parent.parent.x,

+													y:(dragEndOnly) ? this.y : tNewY,

+													starty:this.y,

+													bgcolor:this.bgcolor,

+													height:this.height,

+													startheight:this.height,

+													width:(dragEndOnly) ? this.width : parent.width,

+													eventRef:this,

+													showTime:false,

+													titleText:this._title.text,

+													calendarViewRef:classroot,

+													dragEndOnly:dragEndOnly

+												});

+												

+										lz.Track.activate(classroot.dayViewTrackGroup);

+										this.setAttribute("visibility","hidden");

+									]]>

+								</method>

+								

+								<text name="_title" x="2" datapath="title" text="$path{ 'text()' }" clip="true" 

+										width="${ parent.width-2 }" multiline="true" height="${ parent.height }"/>

+								

+								

+								<view width="20" height="4" valign="bottom" align="center" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }">

+									<handler name="onmouseover">

+										lz.Cursor.setCursorGlobal('calendar_change_event_height_rsc');

+									</handler>

+									<handler name="onmouseout">

+										lz.Cursor.restoreCursor(); 

+									</handler>

+									<handler name="onmousedown">

+										parent.startDragItem(true);

+									</handler>

+								</view>

+								

+							</view>

+						</view>

+						

+					</view>

+					

+					<simplelayout axis="x" spacing="0" />

+					

+				</view>

+				

+				<om_vscrollbar />

+				

+			</view>

+			

+		</view>

+		

+	</class>

+	

+</library>
\ No newline at end of file
diff --git a/WebContent/src/modules/lzcalendar/compontents/layouts/lzMonthView.lzx b/WebContent/src/modules/lzcalendar/compontents/layouts/lzMonthView.lzx
new file mode 100644
index 0000000..5e44fe5
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/layouts/lzMonthView.lzx
@@ -0,0 +1,222 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+	<class name="lzMonthView" extends="view" width="${ parent.width }" height="${ parent.height }">

+		

+		<!--

+			Name of the trackgroup

+		 -->

+		<attribute name="monthViewTrackGroup" value="monthViewTrackGroup" type="string" />

+		

+		<!-- 

+			Current Dragging object

+		 -->

+		<attribute name="currentDragEvent" value="null" />

+		

+		<!-- 

+			Current dayDate that receives the track scroll over

+		 -->

+		<attribute name="currentOverTrackView" value="null" />

+			

+		<view datapath="getAppointmentsByWeekCalendarResponse/return" 

+				width="${ parent.width }" height="${ Math.round( parent.height/6 ) }" >

+		

+			<!-- The months -->

+	

+			<!-- The days -->

+			<view name="days" datapath="days" width="${ Math.round( parent.width/7 ) }" clip="true"

+						height="${ parent.height }" bgcolor="0xDDDDDD" >

+			

+				<attribute name="dayDate" value="null" />

+				

+				<handler name="oninit">

+					lz.Track.register(this, parent.parent.monthViewTrackGroup);

+				</handler>

+				

+				<handler name="onmousetrackover">

+			        this._content.setAttribute('bgcolor', 0xFF3300);

+			        parent.parent.currentOverTrackView = this;

+			    </handler>

+			

+			    <handler name="onmousetrackout">

+			        this._content.setAttribute('bgcolor', 0xFFFFFF);

+			        parent.parent.currentOverTrackView = null;

+			    </handler>

+			    

+			    <handler name="onmousetrackup">

+			        this._content.setAttribute('bgcolor', 0xFFFFFF);

+			    </handler>

+				

+				<handler name="ondata" args="d">

+					if(d is lz.DataNodeMixin){

+						var lzDataPointer = new lz.datapointer();

+						lzDataPointer.setPointer(d);

+						var xmlDate = lzDataPointer.xpathQuery('tDate/text()');

+						var splitDate = xmlDate.split("-");

+						this.dayDate = new Date(splitDate[0], Number(splitDate[1])-1, splitDate[2]);

+						this.renderView();

+					}

+				</handler>

+				

+				<method name="renderView">

+					var tDay = this.dayDate.getDate();

+					var tMonth = this.dayDate.getMonth();

+					if (parent.parent.parent.isCurrentMonth(tMonth)) {

+						this._content._title.setAttribute("fgcolor",0x000000);

+						if (tDay == 1) {

+							tDay = tDay + "." + canvas.monthnames[this.dayDate.getMonth()];

+						}

+					} else {

+						this._content._title.setAttribute("fgcolor",0xBBBBBB);

+					}

+					this._content._title.setAttribute("text",tDay);

+				</method>

+				

+				<view name="_content" width="${ parent.width -1 }" bgcolor="0xFFFFFF"

+								height="${ parent.height -1 }" clickable="true" showhandcursor="false">

+					

+					<handler name="onclick">

+						parent.parent.parent.parent.onNewEventDate.sendEvent(parent.dayDate);

+					</handler>

+					

+					<handler name="onmouseover">

+						this.setAttribute("bgcolor",canvas.getThemeColor('secondBorderColor'));

+					</handler>

+					

+					<handler name="onmouseout">

+						this.setAttribute("bgcolor",0xFFFFFF);

+					</handler>

+							

+					<text name="_title">

+						<handler name="onmouseover">

+							this.setAttribute("fontstyle","bold");

+						</handler>

+						<handler name="onmouseout">

+							this.setAttribute("fontstyle","plain");

+						</handler>

+						<handler name="onclick">

+							parent.parent.parent.parent.parent.onSelectDate.sendEvent(parent.parent.dayDate);

+						</handler>

+					</text>

+				

+					<view width="${ parent.width }" y="18">

+						<view datapath="appointments" bgcolor="0xA59CFC" width="${ parent.width }">

+						

+							<attribute name="rememberX" value="-1" />

+							<attribute name="rememberY" value="-1" />

+							<attribute name="mouseUpDetect" value="false" type="boolean"/>

+							<attribute name="startedToDrag" value="false" type="boolean"/>

+							<handler name="onmousedown">

+								this.mouseUpDetect = false;

+								this.startedToDrag = false;

+								this.rememberX = this.getMouse("x");

+								this.rememberY = this.getMouse("y");

+								lz.Timer.addTimer( new LzDelegate( this, "checkIfDragging" ), 250 );

+							</handler>

+							<handler name="onmouseup" >

+								<![CDATA[

+									if (this.rememberX == this.getMouse("x")

+											&& this.rememberY == this.getMouse("y")) {

+										this.mouseUpDetect = true;

+										var appointmentId = this.datapath.xpathQuery('appointmentId/text()');

+										if ($debug) Debug.write("click ",appointmentId);

+										classroot.parent.selectCalendarEvent(this);

+									}

+								]]>

+							</handler>

+							

+							<method name="closeDragItem">

+								var appointmentId = -1;

+								lz.Track.deactivate(classroot.monthViewTrackGroup);

+								

+								if (classroot.currentOverTrackView == null 

+													|| classroot.currentOverTrackView == parent.parent.parent) {

+									if ($debug) Debug.write("Move to same Date or outside calendar");

+									this.setAttribute("visibility","visible");	

+								} else {

+									appointmentId = Number(this.datapath.xpathQuery('appointmentId/text()'));

+									if ($debug) Debug.write("Move to new Date appointmentId ",appointmentId);

+								}

+								

+								classroot.currentDragEvent = null;

+								return appointmentId;

+							</method>

+							

+							<method name="checkIfDragging" args="tRef">

+								<![CDATA[

+									if (this.mouseUpDetect) {

+										return;

+									}

+									if (this.rememberX == this.getMouse("x")

+												&& this.rememberY == this.getMouse("y")) {

+										lz.Timer.addTimer( new LzDelegate( this, "checkIfDragging" ), 250 );			

+									} else {

+										this.startedToDrag = true;

+										var startx = canvas.getMouse("x")-(this.width/2);

+										var starty = canvas.getMouse("y")-(this.height/2);

+										classroot.currentDragEvent = new lz.dragEvent(canvas,{

+													x:startx,

+													startx:startx,

+													y:starty,

+													starty:starty,

+													bgcolor:this.bgcolor,

+													height:18,

+													width:this.width,

+													eventRef:this,

+													timeText:this._time.text,

+													titleText:this._title.text,

+													calendarViewRef:classroot,

+													fixToPositionInCalendar:false,

+													isMonthMove:true										

+												});

+												

+										lz.Track.activate(classroot.monthViewTrackGroup);

+										this.setAttribute("visibility","hidden");	

+									}

+								]]>

+							</method>

+							

+							<text name="_time" datapath="start" >

+								<handler name="ondata" args="d">

+									this.setAttribute("text",parseTimeStringFromXmlString(d.childNodes[0].data));

+								</handler>

+							</text>

+							<text name="_title" x="36" datapath="title" text="$path{ 'text()' }" clip="true"

+											width="${ parent.width-36 }" height="${ parent.height }"/>

+							

+						</view>

+						<simplelayout axis="y" spacing="1" />

+ 					</view>

+ 					

+				</view>

+			

+			</view>

+			

+		<simplelayout axis="x" spacing="0" />

+		</view>

+		

+		<simplelayout axis="y" spacing="0" />

+	

+	</class>

+	

+</library>

+	
\ No newline at end of file
diff --git a/WebContent/src/modules/lzcalendar/compontents/library.lzx b/WebContent/src/modules/lzcalendar/compontents/library.lzx
new file mode 100644
index 0000000..03c1622
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/library.lzx
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+	<!-- APL Author sebawagner -->

+	<resource name="calendar_one_day_hours_index_bg_rsc" src="resources/one_day_hours.png" />

+	<!-- APL Author sebawagner -->

+	<resource name="calendar_day_hours_index_bg_rsc" src="resources/day_hours_index_only.png" />

+	<!-- APL Author sebawagner -->

+	<resource name="calendar_day_bg_rsc" src="resources/day_hours.png" />

+	<!-- FamFam Icon Set -->

+	<resource name="calendar_add_user_rsc" src="resources/user_add.png" />

+	<!-- FamFam Icon Set -->

+	<resource name="calendar_add_user_external_rsc" src="resources/user_go.png" />

+	<!-- FamFam Icon Set -->

+	<resource name="calendar_delete_button" src="resources/delete.png" />

+	<!-- APL Author sebawagner -->

+	<resource name="single_event_popup_background_rsc" src="resources/single_event_popup_background.swf" />

+	<!-- APL Author sebawagner -->

+	<resource name="calendar_resultset_next_rsc" src="resources/resultset_next.png" />

+	<!-- APL Author sebawagner -->

+	<resource name="calendar_resultset_previous_rsc" src="resources/resultset_previous.png" />

+	<!-- APL Author sebawagner -->

+	<resource name="calendar_contact_calendar_rsc" src="resources/calendar.png" />

+	<!-- APL Author sebawagner -->

+	<resource name="calendar_revert_to_own_undo_rsc" src="resources/arrow_undo.png" />

+	<!-- APL Author sebawagner -->

+	<resource name="calendar_change_event_height_rsc" src="resources/height_change_cursor.swf" />

+

+	<include href="layouts/" />

+	<include href="addAttendee.lzx" />

+	<include href="lzCalGridTempDrawView.lzx" />

+	<include href="addExternalAttendee.lzx" />

+	<include href="attendeeListItem.lzx" />

+	<include href="lzCalendarGrid.lzx" />

+	<include href="userContactsCalendar.lzx" />

+	<include href="lzViewCalendarEvent.lzx" />

+	<include href="lzEditCalendarEvent.lzx" />

+

+</library>

diff --git a/WebContent/src/modules/lzcalendar/compontents/lzCalGridTempDrawView.lzx b/WebContent/src/modules/lzcalendar/compontents/lzCalGridTempDrawView.lzx
new file mode 100644
index 0000000..944e33b
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/lzCalGridTempDrawView.lzx
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+	<class name="lzCalGridTempDrawView" extends="view" opacity="0.6"

+				bgcolor="0xA59CFC" width="${ parent.width }" height="60">

+	

+		<attribute name="starty" value="-1" type="number" />

+		

+		<attribute name="heightInMinutes" value="0" type="number" />

+		

+		<attribute name="tPixels30Minutes" value="0" type="number" />

+		

+		<handler name="onidle" reference="LzIdleService.LzIdle">

+			<![CDATA[

+				//Scroll calendar day view to position if neccessary

+				var tParentScrolly = parent.parent.parent.parent.getMouse("y");

+				if (tParentScrolly < 0) {

+					if (parent.parent.parent.y < 0) {

+						if (parent.parent.parent.y+20 < 0) {

+							parent.parent.parent.setAttribute("y",parent.parent.parent.y+20);

+						} else {

+							parent.parent.parent.setAttribute("y",0);

+						}

+					}

+				} else if (parent.parent.parent.parent.height < tParentScrolly) {

+					var maxScroll = parent.parent.parent.parent.height - parent.parent.parent.height;

+					if (parent.parent.parent.y > maxScroll) {

+						if (parent.parent.parent.y-20 > maxScroll) {

+							parent.parent.parent.setAttribute("y",parent.parent.parent.y-20);

+						} else {

+							parent.parent.parent.setAttribute("y",maxScroll);

+						}

+					} else {

+						parent.parent.parent.setAttribute("y",maxScroll);

+					}

+				}

+				

+				//fix height and position depending if area is selected in top or bottom of starting 

+				//position in day view

+				var tNewMouseY = parent.getMouse("y");

+				tNewMouseY = Math.round(tNewMouseY/tPixels30Minutes)*tPixels30Minutes;

+				if (tNewMouseY > this.starty) {

+					var newHeight = tNewMouseY - starty;

+					if (newHeight > (parent.height-starty)) {

+						newHeight = parent.height-starty;

+					}

+					this.setAttribute("y",this.starty);

+					this.setAttribute("height",newHeight);

+				} else {

+					if (tNewMouseY < 0) {

+						tNewMouseY = 0;

+					}

+					var newHeight = this.starty - tNewMouseY;

+					this.setAttribute("y",tNewMouseY);

+					this.setAttribute("height",newHeight);

+				}

+				if (this.height == 0) {

+					this.setAttribute("height",tPixels30Minutes);

+				}

+				if (this.height == tPixels30Minutes 

+							&& this.height+this.y >= parent.parent.parent.height) {

+					this.setAttribute("y", parent.parent.parent.height-tPixels30Minutes);

+				}

+				

+				//show start time of new event

+				var startMinutesTotal = this.getStartMinutesTotal();

+				var startHours = Math.floor(startMinutesTotal/60);

+				var startMinutes = startMinutesTotal-(startHours*60);

+				if (startHours < 10) {

+					startHours = "0"+startHours;

+				}

+				if (startMinutes < 10) {

+					startMinutes = "0"+startMinutes;

+				}

+				

+				var endMinutesTotal = this.getEndMinutesTotal();

+				var endHours = Math.floor(endMinutesTotal/60);

+				var endMinutes = endMinutesTotal-(endHours*60);

+				if (endHours < 10) {

+					endHours = "0"+endHours;

+				}

+				if (endMinutes < 10) {

+					endMinutes = "0"+endMinutes;

+				}

+				

+				this.fromToTime.setAttribute("text",""+startHours+":"+startMinutes+" - "+endHours+":"+endMinutes);

+				

+			]]>

+		</handler>

+		

+		<method name="getStartMinutesTotal">

+			return Math.round(this.y/heightInMinutes);

+		</method>

+		

+		<method name="getEndMinutesTotal">

+			return Math.round((this.y+this.height)/heightInMinutes);

+		</method>

+		

+		<text name="fromToTime" resize="true" fontsize="10" fgcolor="0x666666" />

+	

+	</class>

+

+</library>
\ No newline at end of file
diff --git a/WebContent/src/modules/lzcalendar/compontents/lzCalendarGrid.lzx b/WebContent/src/modules/lzcalendar/compontents/lzCalendarGrid.lzx
new file mode 100644
index 0000000..afd99c2
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/lzCalendarGrid.lzx
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+	<!---

+		Create the visual output for the viewstates: days, months, weeks 

+		and navigation between the viewstates

+	 -->

+	<class name="lzCalendarGrid" extends="view" x="204" y="26" bgcolor="0xFFFFFF"

+					width="${ parent.width - 204 }" height="${ parent.height-26 }" >

+		

+		<attribute name="currentDate" value="null" />

+		<attribute name="currentWeek" value="0" type="number" />

+		<attribute name="currentDay" value="0" type="number" />

+		<attribute name="viewType" value="month" type="string" />

+		

+		<!---

+			Prevent from re-rendering when switching the viewState 

+		 -->

+		<attribute name="reRenderLock" value="false" type="boolean" />

+		

+		<!---

+			A reference to the current selected calendar event view

+		 -->

+		<attribute name="calendarEvent" value="null" />

+		

+		<!---

+			Thrown whenever the user scrolls the day or week view

+		 -->

+		<event name="onScollContent" />

+		

+		<!---

+			Thrown when the user clicks on the date header in week or on the 

+			date text in the week view

+		 -->

+		<event name="onSelectDate" />

+		

+		<!---

+			Thrown when the user clicks in the empty space in a date in the month view

+		 -->

+		<event name="onNewEventDate" />

+		

+		<!---

+			Thrown when the user selects a date in the day or week view

+			in this event the user chooses two dates as he 

+			can drag an area in the calendar

+			start and end can be found in: tStartDate,tEndDate

+		 -->

+		<event name="onStartEndDate" />

+		

+		<attribute name="tStartDate" value="null" />

+		<attribute name="tEndDate" value="null" />

+		

+		<method name="setCurrentDate" args="tDate">

+			if (this.currentDate != tDate) {

+				this.currentDate = tDate;

+			}

+		</method>

+		

+		<method name="selectStartEndDateTime" args="tStartDate,tEndDate">

+			this.tStartDate = tStartDate;

+			this.tEndDate = tEndDate;

+			this.onStartEndDate.sendEvent(null);

+		</method>

+		

+		<method name="checkAndShow" args="tDate,dayIndex,weekIndex">

+			this.setCurrentDate(tDate);

+			this.currentWeek = weekIndex + 1; //the index in the xml dataset list construct starts counting with 1

+			this.currentDay = dayIndex + 1; //the index in the xml dataset list construct starts counting with 1

+			if (this.viewType == "day") {

+				this.setAttribute("viewType","none");

+				this.showDay();

+			} else if (this.viewType == "week") {

+				this.setAttribute("viewType","none");

+				this.showWeek();

+			}

+		</method>

+		

+		<method name="isCurrentMonth" args="tMonth">

+			if (this.currentDate == null) {

+				if ($debug) Debug.warn("currentDate is NULL ");

+				return false;

+			}

+			return (tMonth == this.currentDate.getMonth());

+		</method>

+		

+		<method name="showDay">

+			if ($debug) Debug.write("Show Day ",this.currentDay,this.currentWeek);

+			this.setAttribute("reRenderLock",false);

+			this.setAttribute("viewType","day");

+		</method>

+		

+		<method name="showWeek">

+			this.setAttribute("reRenderLock",true);

+			this.setAttribute("viewType","week");

+			this.setAttribute("reRenderLock",false);

+		</method>

+		

+		<method name="showMonth">

+			this.setAttribute("reRenderLock",true);

+			this.setAttribute("viewType","month");

+			this.setAttribute("reRenderLock",false);

+		</method>

+		

+		<method name="selectCalendarEvent" args="tRef">

+			if ($debug) Debug.write("selectCalendarEvent ",tRef);

+			this.setAttribute("calendarEvent",tRef);

+		</method>

+		

+		<!-- 

+			The day grid

+		 -->

+		<state name="day" applied="${ classroot.viewType == 'day' }">

+		

+			<lzDayView currentDay="${ classroot.currentDay }">

+				<handler name="oninit">

+					this.setAttribute("datapath","getAppointmentsByWeekCalendarResponse/return["+classroot.currentWeek+"]");

+				</handler>

+			</lzDayView>

+			

+		</state>

+		

+		<!-- 

+			The week grid

+		 -->

+		<state name="week" applied="${ classroot.viewType == 'week' }">

+		

+			<!-- A week view is nothing else then 7 days next to each other -->

+			<lzDayView currentDay="${ classroot.currentDay }" singleDayView="false" daysPerWeek="7"

+						reRenderLock="${ classroot.reRenderLock }">

+				<handler name="oninit">

+					this.setAttribute("datapath","getAppointmentsByWeekCalendarResponse/return["+classroot.currentWeek+"]");

+				</handler>

+			</lzDayView>

+			

+		</state>

+		

+		<!-- 

+			The month grid

+		 -->

+		<state name="month" applied="${ classroot.viewType == 'month' }">

+		

+			<lzMonthView />

+			

+		</state>

+		

+	</class>

+	

+	<class name="textHourHelper" extends="text" height="30" 

+		width="40" fgcolor="0x666666" />

+

+</library>
\ No newline at end of file
diff --git a/WebContent/src/modules/lzcalendar/compontents/lzEditCalendarEvent.lzx b/WebContent/src/modules/lzcalendar/compontents/lzEditCalendarEvent.lzx
new file mode 100644
index 0000000..0b81d73
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/lzEditCalendarEvent.lzx
@@ -0,0 +1,497 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+	<class name="lzEditCalendarEvent" extends="labelExplorerBox" labelid="815" allowDragging="true" 

+		    x="$once{ parent.width/2 - 300 }" y="100" docking="false" resizeable="false" 

+		    closable="true" width="600" height="550" 

+		    showWindowEffect="true" annimationStartStyle="mouse">

+		    

+		<attribute name="reminderTypeId" value="0" type="number" />

+		

+		<attribute name="dataElement" value="null" />

+		<attribute name="remindertypes" value="null" />

+		

+		<attribute name="baseUrl" value="" type="string" />

+		

+		<attribute name="lzCalendarRef" value="null" />

+		

+		<dataset name="eventDS" />

+		

+		<attribute name="updateObj" value="null" />

+		

+		<attribute name="appointmentId" value="0" type="number" />

+		

+		<attribute name="isConnectedEvent" value="false" type="boolean" />

+		

+		<handler name="oninit">

+			if (this.lzCalendarRef.requestUserId != canvas.user_id) {

+				this._saveEvent.setAttribute("visibility","hidden");

+				this._deleteEvent.setAttribute("visibility","hidden");

+			}

+			this.getAppointmentReminderTypList.setData(this.remindertypes.data);

+		</handler>

+		    

+		<handler name="animationInited">

+			<![CDATA[

+				canvas._loadingAll.hideContentOnly();

+				

+				//Point URL to actual File

+	            var urlObject =  lz.Browser.getBaseURL();

+				//If Port is Null or undefinied use port 80

+				if (urlObject.port!=null && urlObject.port!=undefined){

+					var port = urlObject.port;

+					

+					if (port != 80) {

+						this.baseUrl = urlObject.protocol+"://"+urlObject.host+":"+port+urlObject.path;

+					} else {

+						this.baseUrl = urlObject.protocol+"://"+urlObject.host+urlObject.path;

+					}

+				} else {

+					this.baseUrl = urlObject.protocol+"://"+urlObject.host+urlObject.path;

+				}

+						

+				if ($debug) Debug.write("urlObject ",urlObject);

+	            if ($debug) Debug.write("this.baseUrl ",this.baseUrl);

+			

+	            if ($debug) Debug.write("this.dataElement ",this.dataElement);

+	            

+            	this.eventDS.setAttribute("data", this.dataElement.childNodes);

+            	

+            	this.appointmentId = this.eventDS.getPointer().xpathQuery('appointmentId/text()');

+	            

+	            if ($debug) Debug.write("this.eventDS ",this.eventDS);

+	            if ($debug) Debug.write("this.appointmentId ",this.appointmentId);

+	            

+	            if (this.appointmentId == 0) {

+	            	this._saveEvent.setAttribute("x",this._deleteEvent.x);

+	            	this._deleteEvent.setAttribute("visibility","hidden");

+	            }

+	            

+	            lz.Focus.setFocus(this._title, false);

+            ]]>

+		</handler>

+		

+		<handler name="onclose">

+			canvas._loadingAll.hideLoading();

+		</handler>

+		

+		<method name="saveAndClose">

+			<![CDATA[

+				this.updateObj = new Object();

+			

+				updateObj.tMemberArgs = this._participentList.getMemberArrayValue();

+				

+				if ($debug) Debug.write("tMemberArgs: ",updateObj.tMemberArgs.length,updateObj.tMemberArgs);

+				

+				updateObj.appointmentId = Number(this.eventDS.getPointer().xpathQuery('appointmentId/text()'));

+				updateObj.appointmentstart = this._dateStart.getDate();

+				if ($debug) Debug.write("appointmentstart ",updateObj.appointmentstart);

+				var tTimeStart = this._timeStart.getText();

+				var hours = Number(tTimeStart.substr(0,2));

+				var mins = Number(tTimeStart.substr(3,2));

+				if ($debug) Debug.write("hours:mins",hours,mins,tTimeStart.substr(4),tTimeStart);

+				updateObj.appointmentstart.setHours(hours);

+				updateObj.appointmentstart.setMinutes(mins);

+				

+				var tEnd = new Date();

+				tEnd.setTime(this._dateStart.getDate().getTime());

+				updateObj.appointmentend = tEnd; //this._dateEnd.getDate(); we currently do not support multi date events

+				var tTimeEnd = this._timeEnd.getText();

+				var hours = Number(tTimeEnd.substr(0,2));

+				var mins = Number(tTimeEnd.substr(3,2));

+				updateObj.appointmentend.setHours(hours);

+				updateObj.appointmentend.setMinutes(mins);

+				

+				//if we choose 00:00 we actually mean the next day at noon

+				if (hours == 0) {

+					tEnd.setTime(tEnd.getTime()+86400000);

+				}

+				

+                updateObj.appointmentName = this._title.getText();

+                updateObj.appointmentLocation = this._location.getText();

+                updateObj.appointmentDescription = this._descr.getText();

+                updateObj.isDaily = false;

+                updateObj.isWeekly = false;

+                updateObj.isMonthly = false;

+                updateObj.isYearly = false;

+                updateObj.categoryId = 1;

+                updateObj.remind = this._reminderType.getValue();

+                updateObj.roomType = this._roomType.getValue();

+                updateObj.isPasswordProtected = this._ispasswordProtected.getValue();

+                updateObj.password = this._password.getText();

+                

+                if ($debug) Debug.write("appointmentId: ",updateObj.appointmentId);

+                

+                if ($debug) Debug.write("appointmentstart: ",updateObj.appointmentstart);

+                if ($debug) Debug.write("appointmentstart: ",updateObj.appointmentend);

+                

+                if ($debug) Debug.write("appointmentstart: ",parseDateToStringTimeSeconds(updateObj.appointmentstart));

+                if ($debug) Debug.write("appointmentstart: ",parseDateToStringTimeSeconds(updateObj.appointmentend));

+                

+				if (updateObj.appointmentId > 0) {

+					this.updateAppointment.doCall();

+				} else {

+					this.saveAppointment.doCall();

+				} 

+			]]>

+		</method>

+		

+		<dataset name="getAppointmentReminderTypList" />

+		

+		<netRemoteCallHib name="saveAppointment" funcname="calendarservice.saveAppointment" 

+							  remotecontext="$once{ canvas.thishib }" >     

+			<netparam><method name="getValue">return canvas.sessionId; </method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.appointmentName;</method></netparam>	

+			<netparam><method name="getValue">return parent.parent.updateObj.appointmentLocation;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.appointmentDescription;</method></netparam>

+			<netparam><method name="getValue">return parseDateToStringTimeSeconds(parent.parent.updateObj.appointmentstart);</method></netparam>

+			<netparam><method name="getValue">return parseDateToStringTimeSeconds(parent.parent.updateObj.appointmentend);</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.isDaily;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.isWeekly;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.isMonthly;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.isYearly;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.categoryId;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.remind;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.tMemberArgs;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.roomType;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.baseUrl;</method></netparam>

+			<netparam><method name="getValue">return hib.userlang;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.isPasswordProtected;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.password;</method></netparam>

+	    	<handler name="ondata" args="value">

+	    		<![CDATA[

+		    		if ($debug) Debug.write("saveAppointment ",value);

+		    		parent.lzCalendarRef.reload();

+					parent.close();

+	    		 ]]>

+	    	</handler>

+	    </netRemoteCallHib> 

+	    

+    	<netRemoteCallHib name="updateAppointment" funcname="calendarservice.updateAppointment" 

+						  remotecontext="$once{ canvas.thishib }" >  

+			<netparam><method name="getValue">return canvas.sessionId; </method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.appointmentId;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.appointmentName;</method></netparam>	

+			<netparam><method name="getValue">return parent.parent.updateObj.appointmentLocation;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.appointmentDescription;</method></netparam>

+			<netparam><method name="getValue">return parseDateToStringTimeSeconds(parent.parent.updateObj.appointmentstart);</method></netparam>

+			<netparam><method name="getValue">return parseDateToStringTimeSeconds(parent.parent.updateObj.appointmentend);</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.isDaily;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.isWeekly;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.isMonthly;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.isYearly;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.categoryId;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.remind;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.tMemberArgs;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.roomType;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.baseUrl;</method></netparam>

+			<netparam><method name="getValue">return hib.userlang;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.isPasswordProtected;</method></netparam>

+			<netparam><method name="getValue">return parent.parent.updateObj.password;</method></netparam>

+	    	<handler name="ondata" args="value">

+	    		<![CDATA[

+	    			if ($debug) Debug.write("updateAppointment ",value);

+	    			parent.lzCalendarRef.reload();

+					parent.close();

+	    		 ]]>

+	    	</handler>

+	    </netRemoteCallHib> 

+	    

+	    <netRemoteCallHib name="deleteAppointment" funcname="calendarservice.deleteAppointment" 

+							  remotecontext="$once{ canvas.thishib }" >     

+			<netparam><method name="getValue">return canvas.sessionId; </method></netparam>

+			<netparam><method name="getValue">return parent.parent.appointmentId;</method></netparam>	

+			<netparam><method name="getValue">return hib.userlang;</method></netparam>

+	    	<handler name="ondata" args="value">

+	    		<![CDATA[

+		    		if ($debug) Debug.write("deleteAppointment ",value);

+		    		parent.lzCalendarRef.reload();

+					parent.close();

+	    		 ]]>

+	    	</handler>

+	    </netRemoteCallHib> 

+		

+		<labelText name="_titleLabel" x="4" y="24" labelid="572" fontstyle="bold" /> 

+			

+		<customEdittext name="_title" x="100" y="24" datapath="local:classroot.eventDS:/title"

+				text="$path{'text()'}" 

+			width="$once{ parent.width-110 }" height="24" />

+			

+			

+		<!-- Start Date / Time -->

+		<dateField name="_dateStart" y="50" x="100" width="104" datapath="local:classroot.eventDS:/start">

+			<handler name="ondata" args="d">

+				this.setAttribute("text",parseDateStringFromXmlString(d.childNodes[0].data));

+			</handler>

+		</dateField>

+		

+		<labelText name="_dateTimeStartLabel" x="220" y="50" labelid="570" fontstyle="bold" /> 

+			

+		<customEdittext name="_timeStart" x="270" 

+      					y="50" width="50" regexpType="time" text="08:00" datapath="local:classroot.eventDS:/start">

+      		<handler name="ondata" args="d">

+				this.setAttribute("text",parseTimeStringFromXmlString(d.childNodes[0].data));

+			</handler>

+      	</customEdittext>

+      					

+      	<!-- End Date / Time -->			

+		<labelText name="_dateTimeEndLabel" x="326" y="50" labelid="571" fontstyle="bold" />  

+			

+		<!-- 

+		 we currently do not support multi date events

+		<dateField name="_dateEnd" y="50" x="372" width="104" datapath="local:classroot.eventDS:/end">

+			<handler name="ondata" args="d">

+				this.setAttribute("text",parseDateStringFromXmlString(d.childNodes[0].data));

+			</handler>

+		</dateField>

+		 -->

+			

+		<customEdittext name="_timeEnd" x="376" 

+      					y="50" width="50" regexpType="time" text="10:00" datapath="local:classroot.eventDS:/end">

+      		<handler name="ondata" args="d">

+				this.setAttribute("text",parseTimeStringFromXmlString(d.childNodes[0].data));

+			</handler>

+      	</customEdittext>

+      					

+        <!-- Remindertype -->

+		<labelText name="_reminderTypeLabel" x="4" y="76" labelid="565" fontstyle="bold" /> 

+		

+		<resetCombobox name="_reminderType" x="100" width="$once{ parent.width-110 }"

+			 			  editable="false" shownitems="5" y="76" datapath="local:classroot.eventDS:/reminderId">

+			<handler name="onvalue" args="v">						

+				if ($debug) Debug.write("reminderTypeId: ",parent.reminderTypeId);

+				if(this.getValue == 0 ) {

+					parent.reminderTypeId = null;

+				} else{

+  					parent.reminderTypeId = this.getValue();												

+  					if ($debug) Debug.write("reminderTypeId: ",parent.reminderTypeId);

+				}

+			</handler> 

+			<handler name="ondata" args="remindtypeNode">

+				if ($debug) Debug.write("remindtype ondata 1: ", remindtypeNode.childNodes[0].data);

+				var remTypeId = Number(remindtypeNode.childNodes[0].data);

+				if (remTypeId > 0) {

+					parent.reminderTypeId = remTypeId;

+				    this.selectItem(remTypeId);

+			    }

+			</handler>

+			<textlistitem datapath="local:classroot.getAppointmentReminderTypList:/getAppointmentReminderTypListResponse/return"

+				text="$path{'name/text()'}" value="$path{'typId/text()'}" />

+	 	</resetCombobox> 

+	 	

+	 	<!-- Roomtype -->

+		<labelText name="_roomTypeLabel" x="4" y="102" labelid="619" fontstyle="bold" /> 

+		

+		<resetCombobox name="_roomType" width="$once{ parent.width-110 }" y="102" x="100" editable="false" 

+					datapath="local:classroot.eventDS:/roomTypeId">

+			<handler name="ondata" args="roomTypeIdNode">

+				if ($debug) Debug.write("remindtype ondata 1: ", roomTypeIdNode.childNodes[0].data);

+				var remTypeId = Number(roomTypeIdNode.childNodes[0].data);

+				if (remTypeId > 0) {

+				    this.selectItem(remTypeId);

+			    }

+			</handler>

+	        <handler name="oninit" >

+	            <![CDATA[

+	            for (var i=0;i<canvas.roomTypesInitValues.length;i++){

+	                this.addItem(canvas.roomTypesInitValues[i].name,canvas.roomTypesInitValues[i].roomtypes_id);

+	            }

+	            //this.selectItem(String(canvas.roomTypesInitValues[0].roomtypes_id));

+	            ]]>

+	        </handler> 

+        </resetCombobox> 

+	 	

+	 	<!-- password protected -->

+		<labelCheckbox name="_ispasswordProtected" y="128" fontsize="11" x="10" labelid="524"

+				datapath="local:classroot.eventDS:/isPasswordProtected">

+			<handler name="ondata" args="d">

+				//if ($debug) Debug.write("ondata _ispasswordProtected ",d.childNodes[0].data);

+				if (d.childNodes[0].data == "true") {

+					this.setValue(true);

+				} else {

+					this.setValue(false);

+				}

+			</handler>

+		</labelCheckbox>

+			

+		<!-- password -->

+		<labelText labelid="525" y="154" x="4" fontstyle="bold" 

+				fgcolor="${ ((!parent._ispasswordProtected.value) ? 0xCCCCCC : 0x000000 ) }" />

+		<customEdittext name="_password" enabled="${ parent._ispasswordProtected.value }" password="true"

+						width="$once{ parent.width-110 }" x="100" y="154" />

+						

+		<view resource="messagebox_info_rsc" x="4" y="180" />

+	

+		<labelText name="password_info" labelid="1445" x="24" y="180" 

+							multiline="true" width="$once{ parent.width-34 }" />

+	 	

+	 	<!-- participents -->

+	 	<view name="_participentsIconBar" layout="axis:x" x="$once{ parent.width-50 }" y="230">

+	        <baseChooseIconView labelid="812" height="20" width="19" 

+	        		bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }"

+	                            resourceN="calendar_add_user_rsc">

+	            <handler name="onclick">

+	                new lz.addAttendee(canvas,{refObj:parent.parent._participentList});

+	            </handler>

+	        </baseChooseIconView>

+	        <baseChooseIconView labelid="629" height="20" width="19" 

+	        			bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }"

+	                            resourceN="calendar_add_user_external_rsc" >

+	            <handler name="onclick">

+	                new lz.addExternalAttendee(canvas,{refObj:parent.parent._participentList});

+	            </handler>

+	        </baseChooseIconView>

+	        <view bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" height="20" width="1" />

+	    </view>

+	 	

+	 	<labelText name="_participentLabel" x="4" y="250" labelid="803" fontstyle="bold" /> 

+	 	

+	 	<view name="_participentList" x="100" y="250" height="100" 

+            		  bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" 

+            		  width="$once{ parent.width-110 }">

+           

+            <method name="addListItem" args="userId,firstName,lastName,email,memberId,jNameTimeZone">

+            	<![CDATA[

+            		var tObject = new Object();

+            		tObject.meetingMember = new Object();

+            		tObject.meetingMember.userid = userId;

+           			tObject.meetingMember.firstname = firstName;

+           			tObject.meetingMember.lastname = lastName;

+           			tObject.meetingMember.email = email;

+           			tObject.meetingMember.meetingMemberId = memberId;

+           			tObject.meetingMember.jNameTimeZone = jNameTimeZone;

+           			var tDataElement = LzDataElement.valueToElement(tObject);

+           			var tPointer = new lz.datapointer();

+           			tPointer.setPointer(tDataElement.childNodes[0]);

+           			parent.eventDS.getPointer().addNodeFromPointer(tPointer);

+           			//parent.eventDS.getPointer().updateData();

+            	]]>

+            </method> 	

+            

+            <method name="getMemberArrayValue">

+            	<![CDATA[

+            		var tArray = new Array();

+            		

+            		for (var i=0;i<this._content._inner.subviews.length;i++) {

+            		

+            			var tViewObj = this._content._inner.subviews[i];

+            			

+            			if (!tViewObj.isLoaded) {

+            				continue;

+            			}

+            			

+            			var tObject = new Object();

+            			tObject.meetingMemberId = tViewObj.memberId;

+		        		tObject.firstname = tViewObj.firstName;

+		        		tObject.lastname = tViewObj.lastName;

+		        		tObject.email = tViewObj.email;

+		        		tObject.userId = tViewObj.userId;

+		        		tObject.jNameTimeZone = tViewObj.jNameTimeZone;

+		        		

+		        		tArray.push(tObject);

+            		}

+            		

+            		return tArray;

+            	]]>

+            </method>

+              

+          	<view name="_content" bgcolor="0xFFFFFF" x="1" y="1" clip="true"

+          			width="$once{ parent.width-1 }" height="$once{ parent.height-1 }">

+          		<view name="_inner">

+          			<attendeeListItem datapath="local:classroot.eventDS:/meetingMember"

+           						width="$once{ parent.parent.width-10 }">

+           						

+           				<attribute name="isLoaded" value="false" type="boolean" />

+           				

+           				<handler name="ondata" args="d">

+           					if ($debug) Debug.write("meetingMember -- ondata ",d);

+           					this.isLoaded = true;

+           					var tDataPointer = new lz.datapointer();

+           					tDataPointer.setPointer(d);

+           					this.userId = tDataPointer.xpathQuery( 'userid/text()' );

+           					this.firstName = tDataPointer.xpathQuery( 'firstname/text()' );

+           					this.lastName = tDataPointer.xpathQuery( 'lastname/text()' );

+           					this.email = tDataPointer.xpathQuery( 'email/text()' );

+           					this.memberId = tDataPointer.xpathQuery( 'meetingMemberId/text()' );

+           					this.jNameTimeZone = tDataPointer.xpathQuery( 'jNameTimeZone/text()' );

+           					this.memberText.setAttribute("text",this.firstName+' '+this.lastName+' ['+this.email+']');

+           				</handler>

+     				</attendeeListItem>

+          			<simplelayout axis="y" spacing="1" />

+          		</view>

+           		<om_vscrollbar />

+           	</view>

+        </view>

+        

+        <!-- Location -->

+        <labelText name="_locationLabel" x="4" y="354" labelid="569" fontstyle="bold" /> 

+        

+        <customEdittext name="_location" 

+        		datapath="local:classroot.eventDS:/location" text="$path{'text()'}" 

+        		width="$once{ parent.width-110 }" x="100" y="354" />

+		

+		<!-- Comment -->

+		<labelText name="_descrLabel" x="4" y="380" labelid="573" fontstyle="bold" /> 

+	

+		<customScrollEdittext name="_descr" y="380" x="100" 

+				datapath="local:classroot.eventDS:/comment" text="$path{'text()'}" 

+				width="$once{ parent.width-110 }" height="124" /> 

+			

+		<simpleLabelButton name="_saveEvent" labelid="813" width="100" 

+				x="$once{ parent.width-315 }" y="$once{ parent.height-24 }" >

+	        <handler name="onclick">

+				this.setAttribute('enabled', false);

+                parent.saveAndClose();

+	        </handler>

+        </simpleLabelButton>

+		

+		<simpleLabelButton name="_deleteEvent" labelid="814" width="100" 

+	           x="$once{ parent.width-210 }" y="$once{ parent.height-24 }" >

+	         <handler name="onclick">

+         		if (canvas.contactUser != 0) {

+           			new lz.labelerrorPopup(canvas,{errorlabelid:1278});

+           			return;

+           		}

+           		

+           		if (parent.isConnectedEvent) {

+           			new lz.confirmationSingle(canvas,{refObj:this,labelid:1281,

+                                   labeliderror:1280,showCheckBox:false});

+           		} else {

+           			new lz.confirmationSingle(parent.parent,{

+			        				refObj:this,labelid:797,

+	           						showCheckBox:false,

+	           						labeliderror:796

+           						});

+           		} 

+           	</handler>

+           	<method name="sendConfirmation" args="refObj,t">

+           		parent.deleteAppointment.doCall();

+           	</method>

+        </simpleLabelButton>

+	

+	    <simpleLabelButton labelid="1130" width="100" x="$once{ parent.width-105 }" 

+	           y="$once{ parent.height-24 }" 

+	           onclick="this.parent.close();" />			

+		

+	</class>

+

+</library>
\ No newline at end of file
diff --git a/WebContent/src/modules/lzcalendar/compontents/lzViewCalendarEvent.lzx b/WebContent/src/modules/lzcalendar/compontents/lzViewCalendarEvent.lzx
new file mode 100644
index 0000000..38eaad7
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/lzViewCalendarEvent.lzx
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+	<class name="lzViewCalendarEvent" extends="view" bgcolor="0xBBBBBB" clickable="true" 

+							showhandcursor="false" width="300" height="120"  focusable="true">

+	

+		<attribute name="dataElement" value="null" />

+		

+		<attribute name="lzCalendarRef" value="null" />

+		

+		<dataset name="eventDS" />

+		

+		<attribute name="refCalendarEventView" value="null" />

+		

+		<attribute name="appointmentId" value="0" type="number" />

+		

+		<handler name="oninit">

+			<![CDATA[

+				//this._content._title.setAttribute("fgcolor",this.refCalendarEventView.bgcolor);

+			

+				var x_canvas = canvas.getMouse("x") - (this.width/2) + 60;

+				

+				if (x_canvas + this.width + 4 > canvas.width) {

+					x_canvas = canvas.width - 310;

+					var tX = canvas.getMouse("x")-x_canvas-8;

+					if (tX + 24 > this.width) {

+						tX = this.width - 24;

+					}

+					this.pointerToEvent.setAttribute("x",tX);

+				}

+				this.setAttribute("x",x_canvas);

+				var y_canvas = canvas.getMouse("y");

+				this.setAttribute("y",y_canvas-this.height-12);

+				

+            	this.eventDS.setAttribute("data", this.dataElement.childNodes);

+            	

+            	this.appointmentId = this.eventDS.getPointer().xpathQuery('appointmentId/text()');

+            	

+	            if ($debug) Debug.write("organizerId ", this.eventDS.getPointer().xpathQuery('organizerId/text()'));

+	            if ($debug) Debug.write("currentUser: ", canvas.user_id);

+            	if (canvas.user_id != Number(this.eventDS.getPointer().xpathQuery('organizerId/text()'))) {

+            		this._content.deleteBtn.setAttribute('visible', false); 

+            		this._content.editBtn.setAttribute('visible', false); 

+            	}

+	            

+	            if ($debug) Debug.write("this.eventDS ",this.eventDS);

+	            if ($debug) Debug.write("this.appointmentId ",this.appointmentId);

+	            

+	            lz.Focus.setFocus(this);

+	            this.setShadow();

+	            lz.ModeManager.makeModal(this);

+            ]]>

+		</handler>

+		

+		<method name="setShadow">

+	        <![CDATA[

+	            var normalMC = this.getDisplayObject();

+	            var displacementMap = new flash.filters.DropShadowFilter();

+	            normalMC.filters = [displacementMap];

+	        ]]>              

+	    </method>

+	    

+	    <netRemoteCallHib name="deleteAppointment" funcname="calendarservice.deleteAppointment" 

+							  remotecontext="$once{ canvas.thishib }" >     

+			<netparam><method name="getValue">return canvas.sessionId; </method></netparam>

+			<netparam><method name="getValue">return parent.parent.appointmentId;</method></netparam>	

+			<netparam><method name="getValue">return hib.userlang;</method></netparam>

+	    	<handler name="ondata" args="value">

+	    		<![CDATA[

+		    		if ($debug) Debug.write("deleteAppointment ",value);

+		    		parent.lzCalendarRef.reload();

+					parent.close();

+	    		 ]]>

+	    	</handler>

+	    </netRemoteCallHib> 

+	

+		<method name="close">

+			if ($debug) Debug.write("CLOSE lzViewCalendarEvent");

+			this.lzCalendarRef.lzViewCalendarEvent = null;

+			lz.ModeManager.release(this);

+			this.destroy();

+		</method>

+		

+		<!--- @keywords private -->

+	    <method name="passModeEvent" args="eventStr,view" > 

+	        <![CDATA[

+	            if ( eventStr == "onmousedown"  ){

+	                if ( view != null ) {

+	                   if ( !view.childOf(this) ) {

+	                        this.close();

+	                   }

+	                } else {

+	                    this.close();

+	                }

+	            }

+	            if (view && view.childOf(this)) {

+	                if (view[ eventStr ]) {

+	                    view[ eventStr ].sendEvent( view );

+	                }

+	                return false;

+	            }

+	            return true;

+	        ]]> 

+	    </method> 	

+	

+		<view name="_content" width="$once{ parent.width-3 }" height="$once{ parent.height-3 }" 

+									x="1.5" y="1.5" bgcolor="0xFFFFFF">

+		

+			<labelText name="_title" x="5" y="4" datapath="local:classroot.eventDS:/title" 

+						fontsize="12" fontstyle="bold" fgcolor="0x320DC8" multiline="true" 

+						text="$path{'text()'}" width="$once{ parent.width-40 }" height="60"/>

+			

+			<!-- Start  -->

+			<labelText name="_start" x="5" y="26" datapath="local:classroot.eventDS:/start">

+				<handler name="ondata" args="d">

+					this.setAttribute("text",canvas.getLabelName(570)+ " " +parseDateTimeStringFromXmlString(d.childNodes[0].data));

+				</handler>

+			</labelText>

+			

+			<labelText name="_end" x="5" y="44" datapath="local:classroot.eventDS:/end">

+				<handler name="ondata" args="d">

+					this.setAttribute("text",canvas.getLabelName(571)+ " " +parseDateTimeStringFromXmlString(d.childNodes[0].data));

+				</handler>

+			</labelText>

+		

+			<view name="_closeButton" x="${ this.parent.parent.width-20 }"

+					y="2" resource="btn_presenter_close"

+	                onmouseover="this.setAttribute('frame',2)"

+	                onmouseout="this.setAttribute('frame',1)"

+	                onmouseup="this.setAttribute('frame',1)" >

+				<handler name="onclick">

+					this.parent.parent.close();

+				</handler>									

+			</view>

+			

+			<simpleLabelButton labelid="1282" width="110" x="$once{ parent.width-115 }" y="$once{ parent.height-50 }" 

+						datapath="local:classroot.eventDS:/roomId" >

+						

+				<attribute name="roomId" value="$path{ 'text()' }" type="number" />

+						

+		        <handler name="onclick">

+		        	if ($debug) Debug.write("roomId ",roomId);

+		        	if (roomId > 0) {

+		        		parent.parent.close();

+                   		canvas.initroomid = roomId;

+                   		canvas.thishib.getRoomById.doCall();

+                   	} else {

+                   		new lz.labelerrorPopup(canvas,{errorlabelid:1285});

+                   	}

+	           	</handler>

+	        </simpleLabelButton>

+			

+			<simpleLabelButton name="deleteBtn" labelid="814" width="100" x="5" y="$once{ parent.height-24 }" >

+		        <handler name="onclick">

+		        	//check if event is from other user

+		        	new lz.confirmationSingle(parent.parent,{

+			        				x:0,y:0,

+		        					width:parent.parent.width,

+		        					height:parent.parent.height+16,

+			        				refObj:this,labelid:797,

+	           						showCheckBox:false,

+	           						labeliderror:796,

+	           						doCalcPosition:false,

+	           						docking:false,

+	           						allowDragging:false

+           						});

+	           	</handler>

+	           	<method name="sendConfirmation" args="refObj,t">

+	           		parent.parent.deleteAppointment.doCall();

+	           	</method>

+	        </simpleLabelButton>

+		

+		    <simpleLabelButton name="editBtn" labelid="1446" width="110" x="$once{ parent.width-115 }" 

+		           y="$once{ parent.height-24 }" 

+		           onclick="this.parent.close();">

+		        <handler name="onclick">

+		        	var tElement = parent.parent.eventDS.cloneNode(true);

+		        	if ($debug) Debug.write("tElement ",tElement);

+	         		parent.parent.lzCalendarRef.editCalendarEvent(tElement);

+	         		parent.parent.close();

+	           	</handler>

+            </simpleLabelButton>

+			

+		

+		</view>

+		

+		<view name="pointerToEvent" y="118" x="$once{ ((parent.width/2) - 8) - 60 }"

+			resource="single_event_popup_background_rsc" />>

+	

+	</class>

+	

+</library>
\ No newline at end of file
diff --git a/WebContent/src/modules/lzcalendar/compontents/resources/arrow_undo.png b/WebContent/src/modules/lzcalendar/compontents/resources/arrow_undo.png
new file mode 100644
index 0000000..6972c5e
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/resources/arrow_undo.png
Binary files differ
diff --git a/WebContent/src/modules/lzcalendar/compontents/resources/calendar.png b/WebContent/src/modules/lzcalendar/compontents/resources/calendar.png
new file mode 100644
index 0000000..6589138
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/resources/calendar.png
Binary files differ
diff --git a/WebContent/src/modules/lzcalendar/compontents/resources/day_hours.png b/WebContent/src/modules/lzcalendar/compontents/resources/day_hours.png
new file mode 100644
index 0000000..bb9b8e4
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/resources/day_hours.png
Binary files differ
diff --git a/WebContent/src/modules/lzcalendar/compontents/resources/day_hours_index_only.png b/WebContent/src/modules/lzcalendar/compontents/resources/day_hours_index_only.png
new file mode 100644
index 0000000..1649b79
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/resources/day_hours_index_only.png
Binary files differ
diff --git a/WebContent/src/modules/lzcalendar/compontents/resources/delete.png b/WebContent/src/modules/lzcalendar/compontents/resources/delete.png
new file mode 100644
index 0000000..08f2493
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/resources/delete.png
Binary files differ
diff --git a/WebContent/src/modules/lzcalendar/compontents/resources/height_change_cursor.fla b/WebContent/src/modules/lzcalendar/compontents/resources/height_change_cursor.fla
new file mode 100644
index 0000000..d9506d2
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/resources/height_change_cursor.fla
Binary files differ
diff --git a/WebContent/src/modules/lzcalendar/compontents/resources/height_change_cursor.swf b/WebContent/src/modules/lzcalendar/compontents/resources/height_change_cursor.swf
new file mode 100644
index 0000000..e93e00f
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/resources/height_change_cursor.swf
Binary files differ
diff --git a/WebContent/src/modules/lzcalendar/compontents/resources/one_day_hours.png b/WebContent/src/modules/lzcalendar/compontents/resources/one_day_hours.png
new file mode 100644
index 0000000..8bb8016
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/resources/one_day_hours.png
Binary files differ
diff --git a/WebContent/src/modules/lzcalendar/compontents/resources/resultset_next.png b/WebContent/src/modules/lzcalendar/compontents/resources/resultset_next.png
new file mode 100644
index 0000000..e252606
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/resources/resultset_next.png
Binary files differ
diff --git a/WebContent/src/modules/lzcalendar/compontents/resources/resultset_previous.png b/WebContent/src/modules/lzcalendar/compontents/resources/resultset_previous.png
new file mode 100644
index 0000000..18f9cc1
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/resources/resultset_previous.png
Binary files differ
diff --git a/WebContent/src/modules/lzcalendar/compontents/resources/single_event_popup_background.swf b/WebContent/src/modules/lzcalendar/compontents/resources/single_event_popup_background.swf
new file mode 100644
index 0000000..3002822
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/resources/single_event_popup_background.swf
Binary files differ
diff --git a/WebContent/src/modules/lzcalendar/compontents/resources/user_add.png b/WebContent/src/modules/lzcalendar/compontents/resources/user_add.png
new file mode 100644
index 0000000..deae99b
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/resources/user_add.png
Binary files differ
diff --git a/WebContent/src/modules/lzcalendar/compontents/resources/user_go.png b/WebContent/src/modules/lzcalendar/compontents/resources/user_go.png
new file mode 100644
index 0000000..0468cf0
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/resources/user_go.png
Binary files differ
diff --git a/WebContent/src/modules/lzcalendar/compontents/userContactsCalendar.lzx b/WebContent/src/modules/lzcalendar/compontents/userContactsCalendar.lzx
new file mode 100644
index 0000000..89aa63c
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/compontents/userContactsCalendar.lzx
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+	<class name="userContactsCalendarItem" extends="view" width="$once{ parent.width }" height="40" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }">

+		

+		<attribute name="tUserName" value="" type="string" />

+		

+		<attribute name="tUserId" value="-1" type="number" />

+		

+		<text text="$once{ parent.tUserName }" 

+			width="$once{ parent.width - 60 }" multiline="true" height="40" />

+		

+	

+		<miniIcons name="private_message_add" resource="private_message_add_rsc" width="16" height="16" 

+                   y="20" x="$once{ parent.width - 60 }" showhandcursor="true">

+	        <handler name="onclick">

+	            new lz.newPrivateMessage(canvas,{

+	                                x:200,y:120,

+	                                refObj:null,

+	                                minimizable:true,

+	                                maximizable:true,

+	                                userObject:null,

+	                                isdragable:true,

+	                                user_id:parent.tUserId,

+	                                width:canvas.width-300,

+	                                height:canvas.height-130,

+	                                saveRefObj:this

+	                            });

+	        </handler>

+	        <method name="saveNotification" args="roomBooked">

+	        	parent.parent.parent.parent.onSaveNewMessage.sendEvent(roomBooked);

+	        </method>

+	        <labelTooltip labelid="1253" />

+	    </miniIcons>

+		

+		<miniIcons resource="user_profile_rsc" width="16" height="16" 

+	               y="20" x="$once{ parent.width - 40 }" showhandcursor="true">

+	        <handler name="onclick">

+	            new lz.viewUserProfileWindow(canvas,{

+	                                userId:parent.tUserId

+	                            });

+	        </handler>

+	        <labelTooltip labelid="1236" />

+	    </miniIcons>

+	    

+	    <miniIcons resource="calendar_contact_calendar_rsc" width="16" height="16" 

+	               y="20" x="$once{ parent.width - 20 }" showhandcursor="true">

+	        <handler name="onclick">

+	            parent.parent.parent.parent.selectContact(parent);

+	        </handler>

+	        <labelTooltip labelid="1449" />

+	    </miniIcons>

+	    

+	</class>

+

+	<class name="userContactsCalendar" extends="view" 

+						bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }">

+		

+		<event name="onSaveNewMessage" />

+		

+		<attribute name="selectedItem" value="null" />

+		

+		<handler name="oninit">

+			this.getUserContactsWithShareCalendar.doCall();

+		</handler>

+		

+		<netRemoteCallHib name="getUserContactsWithShareCalendar" funcname="userservice.getUserContactsWithShareCalendar" 

+                          remotecontext="$once{ canvas.thishib }" >

+            <netparam><method name="getValue">return canvas.sessionId;</method></netparam>

+            <handler name="ondata" args="valueList">

+                <![CDATA[

+                    if ($debug) Debug.write("getUserContactsWithShareCalendar ",valueList);

+                    for (var i=0;i<valueList.length;i++) {

+                    	parent.addItem(valueList[i].owner.firstname + ' ' + valueList[i].owner.lastname,valueList[i].owner.user_id);

+                    }

+                ]]>

+            </handler>

+        </netRemoteCallHib>

+        

+        <method name="addItem" args="tUserName,tUserId">

+        	new lz.userContactsCalendarItem(this._list.scrollContent,{

+        						tUserName:tUserName,

+        						tUserId:tUserId

+        					});

+        </method>

+		

+		<method name="selectContact" args="tSel">

+			this.setAttribute("selectedItem",tSel);

+		</method>

+		

+		<view name="_list" x="1" y="1" width="$once{ parent.width-1 }" height="${ parent.height-1 }" bgcolor="0xFFFFFF">

+		

+			<view name="scrollContent" layout="axis:y;spacing:1"  width="$once{ parent.width-10 }"/>

+			

+			<om_vscrollbar />

+		

+		</view>

+		

+	</class>

+

+</library>
\ No newline at end of file
diff --git a/WebContent/src/modules/lzcalendar/library.lzx b/WebContent/src/modules/lzcalendar/library.lzx
new file mode 100644
index 0000000..e1c869c
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/library.lzx
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<include href="compontents/" />
+	<include href="lzCalendar.lzx" />
+
+</library>
diff --git a/WebContent/src/modules/lzcalendar/lzCalendar.lzx b/WebContent/src/modules/lzcalendar/lzCalendar.lzx
new file mode 100644
index 0000000..5d09067
--- /dev/null
+++ b/WebContent/src/modules/lzcalendar/lzCalendar.lzx
@@ -0,0 +1,425 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<style name="calendarButtonStyle" basecolor="0xFF3300" textcolor="0xFFFFFF" />
+
+<class name="lzCalendar" extends="baseContentView" 
+				height="${ canvas.height-canvas.naviHeight }" width="${ canvas.width }">
+				
+	<attribute name="currentDate" value="null" />
+	
+	<attribute name="lzViewCalendarEvent" value="null" />
+	
+	<attribute name="tStartDate" value="null" />
+	<attribute name="tEndDate" value="null" />
+	
+	<!---
+		The user id the calendar will load the events for
+	 -->
+	<attribute name="requestUserId" value="$once{ canvas.user_id }" type="number" />
+	
+	<handler name="oninit">
+		<![CDATA[
+			_mainScrollBar.setAttribute("visibility","hidden");
+			
+			var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+	                               +canvas.httpRootKey+'services/CalendarService/getAppointmentReminderTypList?'
+	                               +'SID='+canvas.sessionId;
+	               
+            this.getAppointmentReminderTypList.setAttribute("src",downloadurl);
+            this.getAppointmentReminderTypList.doRequest();
+			
+			canvas.monthnames = [canvas.getLabelName(469),canvas.getLabelName(470),
+								canvas.getLabelName(471),canvas.getLabelName(472),
+								canvas.getLabelName(473),canvas.getLabelName(474),
+								canvas.getLabelName(475),canvas.getLabelName(476),
+								canvas.getLabelName(477),canvas.getLabelName(478),
+								canvas.getLabelName(479),canvas.getLabelName(480)];
+								
+			canvas.dayShortNames = [canvas.getLabelName(459),
+								canvas.getLabelName(453),
+								canvas.getLabelName(454),
+								canvas.getLabelName(455),
+								canvas.getLabelName(456),
+								canvas.getLabelName(457),
+								canvas.getLabelName(458)];
+		]]>
+	</handler>
+	
+	<handler name="ontabcontentleave" args="tRef">
+		//Make sure any cursor status is reset
+		lz.Cursor.restoreCursor();
+		lz.Cursor.showHandCursor(true);
+        _mainScrollBar.setAttribute("visibility","visible");
+    </handler>
+    
+    <method name="clearWindows">
+    	if (this.lzViewCalendarEvent != null) {
+    		this.lzViewCalendarEvent.close();
+    	}
+    </method>
+
+	<method name="loadAppointments" args="tDate, dayIndex, weekIndex">
+		<![CDATA[
+			var tRelaodDataSet = false;
+			var tDateNow = new Date();
+			tDate.setHours(tDateNow.getHours());
+			tDate.setMinutes(tDateNow.getMinutes());
+			
+			if (this.currentDate == null) {
+				tRelaodDataSet = true;
+			}
+			if ($debug) Debug.write("loadAppointments ",dayIndex, weekIndex, tDate);
+			this.currentDate = tDate;
+			this.statusInfo.currentDate.setAttribute("text",parseDateToStringTime(this.currentDate));
+			this._lzCalendarGrid.checkAndShow(tDate,dayIndex,weekIndex);
+			
+			if (tRelaodDataSet) {
+				this.loadCalendarData();
+	        }
+		]]>
+	</method>
+	
+	<method name="loadCalendarData">
+		<![CDATA[
+			var tDay = this.currentDate.getDate();
+			if (tDay < 10) tDay = "0"+tDay;
+			
+			var tMonth = this.currentDate.getMonth() + 1;
+			if (tMonth < 10) tMonth = "0"+tMonth;
+		
+			var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+	                       +canvas.httpRootKey+'services/CalendarService/getAppointmentsByWeekCalendar?'
+	                       +'SID='+canvas.sessionId
+	                       +'&firstDayInWeek='+canvas.firstdayinweek
+	                       +'&startDate='+this.currentDate.getFullYear()+"-"+tMonth+"-"+tDay
+	                       +'&requestUserId=' + this.requestUserId
+	                       +'&omTimeZoneId=' + canvas.timeZoneId
+	                       +'&javaTimeZoneName=';
+	       
+	        this.getAppointmentsByWeekCalendar.setAttribute("src",downloadurl);
+	        if ($debug) Debug.write("getAppointmentsByWeekCalendar doRequest 1 ",downloadurl);
+	        this.getAppointmentsByWeekCalendar.doRequest();
+        ]]>
+	</method>
+	
+	<method name="editCalendarEvent" args="appointment">
+		<![CDATA[
+			var dataElement = null;
+			if (appointment == null) {
+				if (this.requestUserId != canvas.user_id) {
+					new lz.labelerrorPopup(canvas,{errorlabelid:1278});
+					return;
+				}
+				appointment = this.generateBlankEvent();
+				dataElement = LzDataElement.valueToElement(appointment);
+			} else {
+				dataElement = appointment;
+			}
+			
+			new lz.lzEditCalendarEvent(canvas,{
+								dataElement:dataElement,
+								remindertypes:getAppointmentReminderTypList,
+								lzCalendarRef:this
+							});
+		]]>
+	</method>
+	
+	<method name="viewCalendarEvent" args="appointment,refCalendarEventView">
+		this.lzViewCalendarEvent = new lz.lzViewCalendarEvent(canvas,{
+					dataElement:appointment,
+					lzCalendarRef:this,
+					refCalendarEventView:refCalendarEventView
+				});
+	</method>
+	
+	<method name="generateBlankEvent">
+		<![CDATA[
+		
+			var newAppointment = new Object();
+			newAppointment.appointmentId = 0;
+			newAppointment.categoryId = 1;
+			newAppointment.title = canvas.getLabelName(1444);
+			
+			var tDate = new Date();
+			
+			//There seems to be a difference in the way OpenLaszlo makes a Date to a XML string:
+			//OpenLaszlo generates a time in UTC instead of the local time when converted to an XML String
+			var timeZoneOffSetInMilliSeconds = tDate.getTimezoneOffset()*60*1000;
+			
+			if (this.tStartDate == null) {
+				tDate.setTime(this.currentDate.getTime()-timeZoneOffSetInMilliSeconds);
+				tDate.setMinutes(0);
+				tDate.setSeconds(0);
+				if (tDate.getHours() == 23) {
+					tDate.setHours(22);
+				}
+			} else {
+				tDate.setTime(this.tStartDate.getTime()-timeZoneOffSetInMilliSeconds);
+				tDate.setSeconds(0);
+				this.tStartDate = null;
+			}
+			newAppointment.start = tDate;
+			
+			var tDate2 = new Date();
+			if (this.tEndDate == null) {
+				tDate2.setTime(tDate.getTime());
+				tDate2.setHours(tDate.getHours()+1);
+			} else {
+				tDate2.setTime(this.tEndDate.getTime()-timeZoneOffSetInMilliSeconds);
+				tDate2.setSeconds(0);
+				this.tEndDate = null;
+			}
+			newAppointment.end = tDate2;
+			
+			newAppointment.comment = "";
+			newAppointment.reminderId = 3;
+			newAppointment.roomsId = 0;
+			newAppointment.location = "";
+			newAppointment.isPasswordProtected = false;
+			newAppointment.roomTypeId = 1;
+			
+			return newAppointment;
+		]]>
+	</method>
+	
+	<method name="reload">
+		this.getAppointmentsByWeekCalendar.doRequest();
+	</method>
+	
+	<dataset name="getAppointmentsByWeekCalendar" type="http">
+		<handler name="ondata" args="d">
+			//Make sure any cursor status is reset
+			lz.Cursor.restoreCursor();
+			lz.Cursor.showHandCursor(true);
+			if ($debug) Debug.write("ondata",d);
+		</handler>
+	</dataset>
+	
+	<dataset name="getAppointmentReminderTypList" type="http" />
+	
+	<view name="statusInfo" width="204" y="4">
+		<labelText name="currentDate" align="center"
+			fontsize="12" resize="true" fontstyle="bold" />
+	</view>
+	
+	<!-- 176 pixels is the width of the mini calendar -->
+	<simpleLabelButton labelid="1444" height="24" 
+			width="176" x="12" y="26" style="calendarButtonStyle">
+        <handler name="onclick">
+            parent.editCalendarEvent(null);
+        </handler>
+    </simpleLabelButton>
+	
+	<dateSelector name="_calendar" y="54" x="12">
+		<handler name="onmonthSel" args="tMonth">
+			parent.currentDate = null;
+		</handler>
+		<handler name="onyearSel" args="tYear">
+			parent.currentDate = null;
+		</handler>
+		<handler name="onselect" args="sel">
+			if ($debug) Debug.write("onselect ",sel);
+			// check for saving
+			if (true) {
+ 				parent.loadAppointments(sel, this.dayIndexNumber, this.weekIndexNumber);
+			} else {
+				//Check Warning
+    			if ($debug) Debug.warn("Unsaved Item - Show warning");
+    			new lz.labelerrorPopup(canvas,{errorlabelid:794,makeModal:true});
+			}
+		</handler> 
+	</dateSelector> 
+	
+	<view resource="messagebox_info_rsc" x="4" y="198" />
+	
+	<labelText labelid="807" x="24" y="196" fontstyle="bold" />
+	
+	<labelText labelid="806" x="4" y="218" multiline="true" width="190" />
+	
+	<labelText labelid="1276" x="4" y="280" fontstyle="bold" />
+	
+	<view resource="messagebox_info_rsc" x="6" y="300" 
+		  width="16" height="16" stretches="both" />
+	
+	<labelText labelid="1277" x="24" y="296" multiline="true" width="166" />
+	
+    <miniIcons x="172" y="336" resource="calendar_revert_to_own_undo_rsc" width="16" height="16" 
+               showhandcursor="true">
+        <handler name="onclick">
+            parent.requestUserId = canvas.user_id;
+            parent.loadCalendarData();
+        </handler>
+        <labelTooltip labelid="1279" />
+    </miniIcons>
+	
+	<userContactsCalendar name="_userContacts" y="354" x="4" height="${ parent.height - 358 }" width="186">
+		<handler name="onselectedItem" args="sel">
+			if ($debug) Debug.write("onselectedItem ",sel.tUserId,sel);
+            parent.requestUserId = sel.tUserId;
+            parent.loadCalendarData();
+        </handler>
+        <handler name="onSaveNewMessage" args="roomBooked">
+        	if ($debug) Debug.write("onSaveNewMessage ",roomBooked);
+        	parent.reload();
+        </handler>
+	</userContactsCalendar>
+	
+	<view name="_lzCalendarTobBar" width="${ parent.width - 204 }" x="204" height="40">
+	
+		<view name="buttons" align="left" y="2">
+		
+			<method name="getCurrentViewState">
+				if (!this._showDay.enabled) {
+					return "day";
+				} else if (!this._showWeek.enabled) {
+					return "week";
+				} else if (!this._showMonth.enabled) {
+					return "month";
+				}
+			</method>
+		
+			<simpleLabelButton name="_showDay" labelid="799" height="22" >
+		        <handler name="onclick">
+		        	parent._showWeek.setAttribute("enabled",true);
+		        	parent._showMonth.setAttribute("enabled",true);
+		        	this.setAttribute("enabled",false);
+		            parent.parent.parent._lzCalendarGrid.showDay();
+		        </handler>
+		    </simpleLabelButton>
+		    
+		    <simpleLabelButton name="_showWeek" labelid="800" height="22" >
+		        <handler name="onclick">
+		        	parent._showDay.setAttribute("enabled",true);
+		        	parent._showMonth.setAttribute("enabled",true);
+		        	this.setAttribute("enabled",false);
+		            parent.parent.parent._lzCalendarGrid.showWeek();
+		        </handler>
+		    </simpleLabelButton>
+		    
+		    <simpleLabelButton name="_showMonth" labelid="801" height="22" enabled="false">
+		        <handler name="onclick">
+		        	parent._showDay.setAttribute("enabled",true);
+		        	parent._showWeek.setAttribute("enabled",true);
+		        	this.setAttribute("enabled",false);
+		            parent.parent.parent._lzCalendarGrid.showMonth();
+		        </handler>
+		    </simpleLabelButton>
+		    
+		    <labelText fgcolor="0x0000FF" y="2">
+		    	<handler name="oninit">
+		    		<![CDATA[
+		    			this.setAttribute("text","<u>"+canvas.jNameTimeZone+"</u>");
+		    		]]>
+		    	</handler>
+		    	<handler name="onclick">
+		    		canvas.userSettingsModuleOpt = "editUserProfile";
+            		quicklinkAct("userSettingsModule");
+		    	</handler>
+		    </labelText>
+		    
+		    
+		
+			<simplelayout axis="x" spacing="0" />
+		</view>
+		
+		<view align="right" y="2">
+		
+			<simpleLabelButton name="_nextBtn" height="22" width="20">
+				<view resource="calendar_resultset_previous_rsc" x="2" y="3" />
+		        <handler name="onclick">
+		        	var tDate = parent.parent.parent.currentDate;
+		        	if (parent.parent.buttons.getCurrentViewState() == "day") {
+		        		tDate.setTime(tDate.getTime() - 86400000);
+		        	} else if (parent.parent.buttons.getCurrentViewState() == "month") {
+		        		if (tDate.getMonth() == 0) {
+		        			tDate.setMonth(11);
+		        			tDate.setFullYear(tDate.getFullYear()-1);
+		        		} else {
+		        			tDate.setMonth(tDate.getMonth()-1);
+		        		}
+		        	} else if (parent.parent.buttons.getCurrentViewState() == "week") {
+		        		tDate.setTime(tDate.getTime() - (86400000*7));
+		        	}
+		        	parent.parent.parent.currentDate = null;
+		        	if ($debug) Debug.write("loadDate :: ",tDate);
+		        	parent.parent.parent._calendar.loadDate(tDate);
+		        </handler>
+		    </simpleLabelButton>
+		    
+		    <simpleLabelButton name="_preBtn" height="22" width="20">
+				<view resource="calendar_resultset_next_rsc" x="2" y="3" />
+		        <handler name="onclick">
+		            var tDate = parent.parent.parent.currentDate;
+		        	if (parent.parent.buttons.getCurrentViewState() == "day") {
+		        		tDate.setTime(tDate.getTime() + 86400000);
+		        	} else if (parent.parent.buttons.getCurrentViewState() == "month") {
+		        		if (tDate.getMonth() == 11) {
+		        			tDate.setMonth(0);
+		        			tDate.setFullYear(tDate.getFullYear()+1);
+		        		} else {
+		        			tDate.setMonth(tDate.getMonth()+1);
+		        		}
+		        	} else if (parent.parent.buttons.getCurrentViewState() == "week") {
+		        		tDate.setTime(tDate.getTime() + (86400000*7));
+		        	}
+		        	parent.parent.parent.currentDate = null;
+		        	if ($debug) Debug.write("loadDate :: ",tDate);
+		        	parent.parent.parent._calendar.loadDate(tDate);
+		        </handler>
+		    </simpleLabelButton>
+			
+			<simplelayout axis="x" spacing="0" />
+		</view>
+		
+	</view>
+	
+	<lzCalendarGrid name="_lzCalendarGrid" 
+		datapath="local:classroot.getAppointmentsByWeekCalendar:/">
+		<handler name="oncalendarEvent" args="sel">
+			parent.viewCalendarEvent(sel.datapath.data.cloneNode(true),sel);
+		</handler>	
+		<handler name="onScollContent" args="tRef">
+			parent.clearWindows();
+		</handler>
+		<handler name="onSelectDate" args="tDate">
+			parent._calendar.showDate(tDate);
+			parent._lzCalendarTobBar.buttons._showDay.onclick.sendEvent(null);
+		</handler>
+		<handler name="onNewEventDate" args="tDate">
+			parent.tStartDate = tDate;
+			//only use the date part here
+			parent.tStartDate.setHours(this.currentDate.getHours());
+			parent.tStartDate.setMinutes(0);
+			parent.tEndDate = null;
+			parent.editCalendarEvent();
+		</handler>
+		<handler name="onStartEndDate" args="tEmptyRef">
+			parent.tStartDate = this.tStartDate;
+			parent.tEndDate = this.tEndDate;
+			parent.editCalendarEvent();
+		</handler>
+	</lzCalendarGrid>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/lzrecordcontent/baseChooseIconFLVView.lzx b/WebContent/src/modules/lzrecordcontent/baseChooseIconFLVView.lzx
new file mode 100644
index 0000000..c076f43
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/baseChooseIconFLVView.lzx
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="baseChooseIconFLVView" extends="view" width="24" height="24" 
+       bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }"  >
+    
+    <attribute name="resourceN" value="" type="string" />
+    <attribute name="isselected" value="false" type="boolean" />
+    <attribute name="labelid" value="0" type="number" />
+    
+    <handler name="oninit">
+        if (this.isselected){
+            this.onclick.sendEvent();
+        }
+    </handler> 
+    
+    <handler name="onmouseover">
+        this._bg.setAttribute("bgcolor",canvas.getThemeColor('secondBorderColor'));
+    </handler>
+    
+    <handler name="onmouseout">
+        this._bg.setAttribute("bgcolor",0xFFFFFF);
+    </handler>
+    
+    <view name="_bg" x="1" y="1" width="$once{ parent.width-1 }" 
+          height="$once{ parent.height-2 }" bgcolor="0xFFFFFF" />
+    
+    <view x="2" y="2" resource="$once{ parent.resourceN }" />
+             
+    <labelTooltip labelid="$once{ parent.labelid }" inittwice="true" />
+</class>
+
+</library>
diff --git a/WebContent/src/modules/lzrecordcontent/contentviews/library.lzx b/WebContent/src/modules/lzrecordcontent/contentviews/library.lzx
new file mode 100644
index 0000000..9cb2753
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/contentviews/library.lzx
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+
+    <include href="lzRecordingsViewMain.lzx" />
+    <include href="lzRecordingsViewBottom.lzx" />
+    <include href="lzRecordingsViewAdapter.lzx" />
+
+
+</library>
diff --git a/WebContent/src/modules/lzrecordcontent/contentviews/lzRecordingsViewAdapter.lzx b/WebContent/src/modules/lzrecordcontent/contentviews/lzRecordingsViewAdapter.lzx
new file mode 100644
index 0000000..90aae3a
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/contentviews/lzRecordingsViewAdapter.lzx
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+          

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+    

+    

+<!---

+    View for recorded contents list.

+    When you select 'Recordings' on the top menu, this class shows the list.

+-->

+<class name="lzRecordingsViewAdapter" extends="view">

+	

+	<attribute name="currentTime" value="0" type="number" />

+	

+	<event name="onUpdateRecordingStreamTime" />

+	<event name="onTogglePlayRecordingStream" />

+	<event name="onRecordingStoppedAndDisconnected" />

+	<event name="onPlayComplete" />

+    

+    <method name="getTime">

+        return this.currentTime;

+    </method>

+	

+	<handler name="oninit">

+		var t = this;

+        canvas.videoComp_lc.stopRecordingStream = function() {

+            if ($debug) Debug.write("LC stopRecordingStream");

+            t.parent.parent.stopStream();

+        }

+        canvas.videoComp_lc.updateRecordingStreamTime = function(newTime) {

+            if ($debug) Debug.write("LC updateRecordingStreamTime ::",newTime);

+            t.currentTime = newTime;

+            t.onUpdateRecordingStreamTime.sendEvent();

+        }

+        canvas.videoComp_lc.togglePlayRecordingStream = function() {

+        	if ($debug) Debug.write("LC togglePlayRecordingStream ::");

+        	t.onTogglePlayRecordingStream.sendEvent();

+        }

+        canvas.videoComp_lc.recordingStoppedAndDisconnected = function() {

+            if ($debug) Debug.write("LC togglePlayRecordingStream ::");

+            t.onRecordingStoppedAndDisconnected.sendEvent();

+        }

+	</handler>

+	

+	<method name="connect">

+		if ($debug) Debug.write("connect");

+		var tx = this.getAttributeRelative("x",canvas);

+		var ty = this.getAttributeRelative("y",canvas);

+		canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "connectRecordingPlayer", [canvas.thishib.src, tx, ty, this.width, this.height]);

+	</method>

+	

+	<method name="disconnect">

+		if ($debug) Debug.write("disconnect");

+	</method>

+	

+	<method name="playStream" args="stream,delay">

+		var tx = this.getAttributeRelative("x",canvas);

+        var ty = this.getAttributeRelative("y",canvas);

+        this.currentTime = 0;

+		if ($debug) Debug.write("playRecordingStream ",stream, delay, tx, ty, this.width, this.height);

+		canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "playRecordingStream", [stream, delay, tx, ty, this.width, this.height]);

+	</method>

+	

+	<method name="updateRecordingVideoPosition">

+        canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "updateRecordingVideoPosition", [this.width, this.height]);

+    </method>

+	

+	<method name="seek" args="flvTime">

+		if ($debug) Debug.write("seek ",flvTime);

+		canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "seekRecordingPlayback", [flvTime]);

+	</method>

+	

+	<method name="pause" args="pauseBool">

+		if ($debug) Debug.write("lzRecordingsViewAdapter::pause value: ",pauseBool);

+		canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "pauseRecordingPlayback", [pauseBool]);

+	</method>

+	

+	<method name="stop">

+		if ($debug) Debug.write("SEND stop ");

+		canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "stopRecordingStream", null);

+	</method>

+	

+	<method name="stopAndCloseConnection">

+		if ($debug) Debug.write("SEND stopAndCloseConnection ");

+        canvas.sendViaLocalConnection(canvas.rtmp_lc_name, "stopAndCloseRecordingConnection", null);

+	</method>

+	

+</class>

+

+</library>
\ No newline at end of file
diff --git a/WebContent/src/modules/lzrecordcontent/contentviews/lzRecordingsViewBottom.lzx b/WebContent/src/modules/lzrecordcontent/contentviews/lzRecordingsViewBottom.lzx
new file mode 100644
index 0000000..a1fd5c7
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/contentviews/lzRecordingsViewBottom.lzx
@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+ 
+<class name="flvMetaInfoContentArea" extends="view" 
+       width="${ parent.width }" height="168" clip="true">
+	
+	<attribute name="baseWidthForPointer" value="0" type="number"/>
+	
+	<method name="showProgress" args="flvTime,deltaInSeconds">
+		<![CDATA[
+		
+            var tNewX = Math.round((this.baseWidthForPointer / deltaInSeconds) * flvTime);
+		
+            this.contentDevider._pointer.setAttribute("visibility","visible");
+            this.contentDevider._pointer.setAttribute("x",tNewX);
+            
+		]]>
+	</method>
+	
+	<method name="stopProgress">
+		this.contentDevider._pointer.setAttribute("x",0);
+	</method>
+    
+    <view name="content" width="${ parent.width }" height="168">
+        
+        <view name="content" layout="axis:y;spacing:2" />
+        
+        <om_vscrollbar />
+        <om_hscrollbar />
+        
+    </view>
+    
+    <view name="contentDevider" x="${ parent.content.content.x }"
+          width="${ parent.width }" height="168" >
+    	
+    	<view name="_pointer" resource="flv_progress_pointer_big_rsc" visibility="hidden" />
+    	
+    </view>
+    
+</class>
+
+
+<class name="userActivityItem" extends="view">
+    
+    <attribute name="userText" value="" type="string" />
+    
+    <handler name="onmouseover">
+    	this.setAttribute("opacity",0.5);
+    </handler>
+    
+    <handler name="onmouseout">
+        this.setAttribute("opacity",1);
+    </handler>
+    
+    <view name="_middleIcon" width="$once{ parent.width - 20 }" 
+          y="4" x="10" height="8" bgcolor="0x00CC00" />
+          
+    <view name="_startIcon" resource="icon_flv_recording_video_start_rsc" />
+    
+    <view name="_endIcon" align="right"
+          resource="icon_flv_recording_video_start_rsc" />
+    
+    <labelText x="14" text="$once{ parent.userText }" y="-2" />
+    
+    <labelTooltip labelid="877" />
+    
+</class>
+
+
+<class name="userActivityDevider" extends="view" >
+    
+    <attribute name="deviderText" value="" type="string"/>
+    
+    <view height="154" bgcolor="0x000000" width="1" />
+    
+    <labelText text="$once{ parent.deviderText }" y="134" />
+    
+</class>    
+    
+<!---
+	View for recorded contents list.
+	When you select 'Recordings' on the top menu, this class shows the list.
+-->
+<class name="lzRecordingsViewBottom" extends="basePropertyPanel" labelid="859" height="190" 
+                   y="${ canvas.height - canvas.naviHeightDelta - this.height }" 
+                   x="${ parent._navigationArea.width + parent._navigationArea.x }"
+                   width="${ canvas.width - parent._navigationArea.width - parent._navigationArea.x }">
+        
+        <attribute name="pixelFactor" value="5" type="number"/>
+        
+        <attribute name="deltaInSeconds" value="0" type="number"/>
+        
+        <attribute name="currentRecording" value="null"/>
+        
+        <method name="showProgress" args="flvTime">
+        	this.content._content.showProgress(flvTime,this.deltaInSeconds);
+        </method>
+        
+        <method name="stopProgress">
+            this.content._content.stopProgress();
+        </method>
+        
+        <method name="showMetaData" args="rec">
+            <![CDATA[
+            
+                this.currentRecording = rec;
+            
+                if ($debug) Debug.write("showMetaData ");
+                
+                this.content.clearContent();
+                
+                parent._recordingsViewMain.setNewStream(rec);
+            
+                this.deltaInSeconds = Math.round((rec.recordEnd.getTime() - rec.recordStart.getTime())/1000);
+                
+                if ($debug) Debug.write("deltaInSeconds ",deltaInSeconds);
+                
+                this.pixelFactor = deltaInSeconds/(this.width-16);
+                
+                if ($debug) Debug.write("pixelFactor ",this.pixelFactor);
+                
+                var widthItem = Math.round(deltaInSeconds/this.pixelFactor);
+                
+                if ($debug) Debug.write("widthItem ",widthItem);
+                
+                for (var i=0;i<rec.flvRecordingMetaData.length;i++) {
+                    
+                    if ($debug) Debug.write("isScreenData :: ",rec.flvRecordingMetaData[i].isScreenData);
+                    
+                    if (!rec.flvRecordingMetaData[i].isScreenData && 
+                           ( rec.flvRecordingMetaData[i].isAudioOnly ||
+                              ( !rec.flvRecordingMetaData[i].isAudioOnly && !rec.flvRecordingMetaData[i].isVideoOnly )
+                           )
+                        ) {
+	                    var startTimeInSeconds = Math.round((rec.flvRecordingMetaData[i].recordStart.getTime() - rec.recordStart.getTime())/1000);
+	                    var deltaInSecondsNew = Math.round((rec.flvRecordingMetaData[i].recordEnd.getTime() - rec.flvRecordingMetaData[i].recordStart.getTime())/1000);
+	                    
+	                    var widthItem = Math.round(deltaInSecondsNew/this.pixelFactor);
+	                    var xItem = Math.round(startTimeInSeconds/this.pixelFactor);
+	                    if ($debug) Debug.write("widthItem ",i,widthItem,xItem);
+	                    
+		                new lz.userActivityItem(this.content._content.content.content,{
+	                                                  x:xItem,width:widthItem,
+		                                              userText:rec.flvRecordingMetaData[i].freeTextUserName
+		                                        });
+                    }    
+                    
+                }
+                
+                if ($debug) Debug.write("deltaInSeconds :: ",deltaInSeconds,(deltaInSeconds/60));
+                
+                var minutes = Math.floor(deltaInSeconds/60);
+                
+                if ($debug) Debug.write("minutes ",minutes);
+                
+                if (minutes < 60) {
+                    
+                    for (var i=0;i<=minutes;i++) {
+                        
+                        var xItem = Math.round((i*60)/this.pixelFactor);
+                        
+                        //if ($debug) Debug.write("devisior ",i,xItem);
+                        
+                        new lz.userActivityDevider(this.content._content.contentDevider,{
+						                          x:xItem,
+                                                  deviderText:i+" min"
+						                        });
+                        
+                    }
+                    
+                } else {
+                    
+                    var items = Math.floor(minutes/10);
+                    
+                    for (var i=0;i<=items;i++) {
+                        
+                        var xItem = Math.round(((i*10)*60)/this.pixelFactor);
+                        
+                        new lz.userActivityDevider(this.content._content.contentDevider,{
+                                                  x:xItem,
+                                                  deviderText:i+" min"
+                                                });
+                        
+                    }
+                    
+                }
+                
+                this.content._content.baseWidthForPointer = this.content._content.width;
+                
+            ]]>
+        </method>
+        
+        <view name="content" visibility="visible" y="22" bgcolor="0xFFFFFF"
+              width="${ parent.width }" height="168">
+            
+            <method name="clearContent">
+                this._content.destroy();
+                new lz.flvMetaInfoContentArea(this,{name:'_content'});
+            </method>
+            
+            <flvMetaInfoContentArea name="_content" />
+            
+        </view>
+        
+</class>
+
+
+
+</library>
diff --git a/WebContent/src/modules/lzrecordcontent/contentviews/lzRecordingsViewMain.lzx b/WebContent/src/modules/lzrecordcontent/contentviews/lzRecordingsViewMain.lzx
new file mode 100644
index 0000000..8710943
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/contentviews/lzRecordingsViewMain.lzx
@@ -0,0 +1,458 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+    
+<!---
+	View for recorded contents list.
+	When you select 'Recordings' on the top menu, this class shows the list.
+-->
+<class name="lzRecordingsViewMain" extends="basePropertyPanelWhiteboard" labelid="858" allowToggle="false"
+           x="${ parent._navigationArea.width + parent._navigationArea.x }"
+           height="${ canvas.height - canvas.naviHeightDelta - parent._recordingsViewBottom.height }"
+          width="${ canvas.width - parent._navigationArea.width - parent._navigationArea.x }">
+        
+        <attribute name="recordingName" value="" type="string"/>
+        
+        <!---
+        isPaused is true if a video is running but paused
+         -->
+        <attribute name="isPaused" value="false" type="boolean"/>
+        
+        <!--- 
+            Shows if there is currently a video running
+         -->
+        <attribute name="timerDelegateStarted" value="false" type="boolean"/>
+        
+        <attribute name="recordingLog" value="" type="string"/>
+        
+        <attribute name="deltaInSeconds" value="0" type="number"/>
+        
+        <!-- invoked after the connection in the audio/video container was closed -->
+        <event name="onRecordingStoppedAndDisconnected" />
+        
+        <method name="connect">
+        	this._content._videostream.connect();
+        </method>
+        
+        <method name="showLog">
+        	if ($debug) Debug.write("getFlvRecordingLog flvRecordingId ",this.getFlvRecordingLog.flvRecordingId);
+        	this.getFlvRecordingLog.doCall();
+        </method>
+        
+        <netRemoteCallHib name="getFlvRecordingLog" funcname="flvrecorderservice.getFlvRecordingLog" 
+            remotecontext="$once{ canvas.thishib }" showLoading="false"> 
+            <attribute name="flvRecordingId" value="0" type="number"/>  
+            <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+            <netparam><method name="getValue">return parent.flvRecordingId;</method></netparam>
+            <handler name="ondata" args="value">    
+                <![CDATA[
+                    var tLogString = "";
+                    var headerMessage = "<br/>"+canvas.getLabelName(889);
+                    for (var i = 0;i<value.length;i++) {
+                        
+                        tLogString += headerMessage 
+                                    + parseDateToStringTimeSeconds(value[i].inserted)
+                                    + '<br/>'
+                                    + value[i].msgType
+                                    + '<br/>'
+                                    + value[i].fullMessage
+                                    + '<br/>'
+                                    + value[i].exitValue
+                                    + '<br/>';
+                        
+                    }
+                    
+                    if ($debug) Debug.write("getFlvRecordingLog: ");
+                    
+                    new lz.messageRecordingWin(canvas,{error:tLogString,labelTitleId:903});
+                ]]>
+            </handler>
+        </netRemoteCallHib> 
+        
+        <method name="restartConversion" args="left,right,leftTime,rightTime">
+        	<![CDATA[
+	            if ($debug) Debug.write("restartConversion ",this.getFlvRecordingLog.flvRecordingId);
+	            
+	            if (left == "" || right == "" || leftTime == "" || rightTime == "") {
+	            	new lz.labelerrorPopup(canvas,{
+			            		error:'You have to set at least 0 as value for Left, Right, Time'
+			            	});
+	            	return;
+	            }
+	            
+	            this.restartInterviewConversion.left = Number(left);
+	            this.restartInterviewConversion.right = Number(right);
+	            
+	            this.restartInterviewConversion.leftTime = Math.round(Number(leftTime));
+	            this.restartInterviewConversion.rightTime = Math.round(Number(rightTime));
+	            
+	            if ($debug) Debug.write("this.restartInterviewConversion.left :: ",this.restartInterviewConversion.left);
+	            if ($debug) Debug.write("this.restartInterviewConversion.right :: ",this.restartInterviewConversion.right);
+	            
+	            this.restartInterviewConversion.doCall();
+            ]]>
+        </method>
+        
+        <netRemoteCallHib name="restartInterviewConversion" funcname="flvrecorderservice.restartInterviewConversion" 
+            remotecontext="$once{ canvas.thishib }" showLoading="false"> 
+            <attribute name="flvRecordingId" value="0" type="number"/>
+            <attribute name="left" value="0" type="number"/>  
+            <attribute name="right" value="0" type="number"/>
+            <attribute name="leftTime" value="0" type="number"/>
+            <attribute name="rightTime" value="0" type="number"/>         
+            <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+            <netparam><method name="getValue">return parent.flvRecordingId;</method></netparam>
+            <netparam><method name="getValue">return parent.left;</method></netparam>
+            <netparam><method name="getValue">return parent.right;</method></netparam>
+            <netparam><method name="getValue">return parent.leftTime;</method></netparam>
+            <netparam><method name="getValue">return parent.rightTime;</method></netparam>
+            <handler name="ondata" args="value">    
+                if ($debug) Debug.write("restartInterviewConversion: ",value);
+                new lz.errorPopup(canvas,{error:"Re-Sampling Started, that can take some time, click on the Interview to get the status "});
+            </handler>
+        </netRemoteCallHib> 
+        
+        <method name="setNewStream" args="recording">
+        	<![CDATA[
+        	
+        		this.stopStream();
+        	    this.isPaused = false;
+        	    
+        	    var hasFailed = false;
+        			
+    			var tLogString = "";
+    			var headerMessage = "<br/>"+canvas.getLabelName(889);
+    			
+    			this.recordingLog = "";
+    			
+    			this.recordingName = recording.fileHash;
+    			
+    			this.getFlvRecordingLog.flvRecordingId = recording.flvRecordingId;
+    			this.restartInterviewConversion.flvRecordingId = recording.flvRecordingId;
+    			
+    			//Check if recording is not yet completed or if it has failed
+    			// *** This is disabled for now as the Log can grow too big ***
+    			for (var i = 0;i<recording.flvRecordingLog.length;i++) {
+    				
+    				if (recording.flvRecordingLog[i].exitValue != "0") {
+    					
+    					hasFailed = true;
+    					tLogString += headerMessage 
+    								+ parseDateToStringTimeSeconds(recording.flvRecordingLog[i].inserted)
+    								+ '<br/>'
+    								+ recording.flvRecordingLog[i].msgType
+    								+ '<br/>'
+    								+ recording.flvRecordingLog[i].fullMessage
+    								+ '<br/>';
+    					
+    				}
+    				
+    				this.recordingLog += headerMessage 
+    								+ parseDateToStringTimeSeconds(recording.flvRecordingLog[i].inserted)
+    								+ '<br/>'
+    								+ recording.flvRecordingLog[i].msgType
+    								+ '<br/>'
+    								+ recording.flvRecordingLog[i].fullMessage
+    								+ '<br/>';
+    				
+    			}
+    			
+    			if (hasFailed) {
+    				
+    				if ($debug) Debug.write("tLogString "+tLogString);
+					//var tString = canvas.getLabelName(887) + tLogString;
+					
+					new lz.messageRecordingWin(canvas,{error:tLogString,labelTitleId:887});
+					
+				} 
+				
+				if (recording.previewImage != null && recording.previewImage != "") {
+					
+	            	this.recordingName = recording.fileHash;
+	            	
+	            	this._content.initW = recording.flvWidth;
+	            	this._content.initH = recording.flvHeight;
+	            	
+	            	var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+	                            +canvas.httpRootKey+'DownloadHandler?fileName='+recording.previewImage
+	                            +'&moduleName=lzRecorderApp&parentPath=&room_id='
+	                            +'&sid='+canvas.sessionId;
+	                
+	                if($debug) Debug.write("lzRecorder/downloadurl "+downloadurl);
+	            	
+	            	this._content._preview.imagePreview.setAttribute("src",downloadurl)
+	            	
+	            	this._content._preview.bringToFront();
+	            	
+	            	this._content.setItemContraints(0);
+	            	
+	            	this.deltaInSeconds = Math.round((recording.recordEnd.getTime() - recording.recordStart.getTime())/1000);
+	                
+	                if ($debug) Debug.write("deltaInSeconds ",this.deltaInSeconds);
+	                
+	                var minutes = Math.floor(this.deltaInSeconds/60);
+	                
+	                if ($debug) Debug.write("minutes ",minutes);
+	                
+	                var restSeconds = this.deltaInSeconds - ( minutes * 60 );
+	                
+	                this._progress._progressbar._duration.setAttribute("text",minutes+" min "+restSeconds+" sec");
+                
+        		} else {
+        			
+        			var error = canvas.getLabelName(888);
+        			
+        			if (recording.isInterview) {
+        				error += "<br/>" + canvas.getLabelName(919) + " " + recording.progressPostProcessing + "%";
+        			}
+        			
+    				new lz.labelerrorPopup(canvas,{error:error});
+        			
+        		}
+            	
+        	]]>
+        </method>
+        
+        <method name="calcProgressBar">
+        	<![CDATA[
+        	
+        	   var flvTime = this._content._videostream.getTime();
+        	   
+        	   if ($debug) Debug.write("flvTime :calcProgressBar: ",flvTime);
+        	   parent._recordingsViewBottom.showProgress(flvTime);
+        	   
+        	   this._progress._progressbar._pointer.setAttribute("visibility","visible");
+        	   
+        	   var tString = "";
+        	   
+        	   if (flvTime > 60) {
+        	   	
+        	   	   var minutes = Math.floor(flvTime/60);
+        	   	   
+        	   	   var restSeconds = Math.round(flvTime) - ( minutes * 60 );
+        	   	   
+        	   	   tString = minutes + " min " + restSeconds + " sec";
+        	   	
+        	   } else {
+        	   	
+        	   	   tString = Math.round(flvTime) + " sec";
+        	   
+        	   }
+        	   
+        	   this._progress._progressbar._time.setAttribute("text",tString);
+        	   
+        	   var tNewX = Math.round((this._progress._progressbar.width / this.deltaInSeconds) * flvTime);
+        	
+        	   this._progress._progressbar._pointer.setAttribute("x",tNewX);
+        	   
+        	]]>
+        </method>
+        
+        <method name="startStream">
+        	
+        	if ($debug) Debug.write("startStream ",this.recordingName);
+        	
+        	if (this.recordingName != "") {
+        		
+        		this.isPaused = false;
+        		
+        		if (!this.timerDelegateStarted) {
+        			this.timerDelegateStarted = true;
+                }
+                
+            	this._content._videostream.bringToFront();
+                this._content._videostream.playStream(this.recordingName,0);
+        	}
+        </method>
+        
+        <method name="toggleStream">
+        	if (this.timerDelegateStarted) {
+        		this.pauseStream();
+        	} else {
+        		this.startStream();
+        	}
+        </method>
+        
+        <method name="pauseStream">
+        	this.isPaused = !this.isPaused;
+        	this._content._videostream.pause(this.isPaused);
+        </method>
+        
+        <method name="seekStream" args="newX">
+            <![CDATA[
+        	
+                if ($debug) Debug.write("seekStream ",newX);
+        	
+                if (this.timerDelegateStarted) {
+        	   	
+                    var flvTime = Math.round( newX / (this._progress._progressbar.width / this.deltaInSeconds) );
+                    
+                    if ($debug) Debug.write("seekStream :: this.deltaInSeconds ",this.deltaInSeconds);
+                    
+                    if ($debug) Debug.write("seekStream :: flvTime ",flvTime);
+                    
+                    this._content._videostream.seek(flvTime);
+        	   	
+                }
+        	
+            ]]>
+        </method>
+        
+        <method name="stopStreamAndCloseRecorder">
+        	this._stopStream();
+            this._content._videostream.stopAndCloseConnection();
+        </method>
+        
+        <method name="stopStream">
+            this._stopStream();
+            this._content._videostream.stop();
+        </method>
+        
+        <!---
+            @keywords private
+         -->
+        <method name="_stopStream">
+        	if (this.timerDelegateStarted) {
+                this.timerDelegateStarted = false;
+            }
+        	parent._recordingsViewBottom.stopProgress();
+            this._progress._progressbar._time.setAttribute("text","");
+            this._progress._progressbar._pointer.setAttribute("x",0);
+        </method>
+        
+        <view name="_content" height="${ parent.height-22-18 }" y="22">
+        	
+    	    <attribute name="initH" value="480" type="number" />
+            <attribute name="initW" value="640" type="number" />
+    
+    	    <handler name="oninit">
+                <![CDATA[
+                    var prop2 = [this, "height"];
+                    this.applyConstraintMethod("setItemContraints", prop2);
+                    this.setItemContraints(0);
+                ]]>
+            </handler>
+            
+            <method name="setItemContraints" args="w">
+                <![CDATA[
+                    var w = this.height * this.initW/this.initH;
+                    this.setAttribute("width",w);
+                ]]>
+            </method>
+            
+            <view name="_preview" width="${parent.width}" height="${parent.height}" bgcolor="0x000000">
+            	<image name="imagePreview" stretches="both"
+            		   width="${parent.width}" height="${parent.height}" />
+                <handler name="onclick">
+                	if ($debug) Debug.write("onclick -- toggleStream");
+                    parent.parent.toggleStream();
+                </handler>		   
+                <view width="60" height="40" valign="middle" opacity="0.7"
+                	  align="center" bgcolor="0xFFFFFF">
+                	<view resource="lz_recorder_play" valign="middle" align="center" />
+                </view>
+            </view>
+            
+            <lzRecordingsViewAdapter name="_videostream" width="${parent.width}" height="${parent.height}">
+            	
+            	<handler name="onwidth" args="w">
+            		this.updateRecordingVideoPosition();
+            	</handler>
+            	
+            	<handler name="onheight" args="h">
+            		this.updateRecordingVideoPosition();
+            	</handler>
+            	
+            	<handler name="onUpdateRecordingStreamTime">
+            		if ($debug) Debug.write("onUpdateRecordingStreamTime ");
+            		parent.parent.calcProgressBar();
+            	</handler>
+            	
+            	<handler name="onTogglePlayRecordingStream">
+            		if ($debug) Debug.write("onTogglePlayRecordingStream ");
+            		parent.parent.toggleStream();
+            	</handler>
+            	
+            	<handler name="onRecordingStoppedAndDisconnected">
+            		if ($debug) Debug.write("onRecordingStoppedAndDisconnected ");
+            		parent.parent.onRecordingStoppedAndDisconnected.sendEvent();
+            	</handler>
+            	
+            </lzRecordingsViewAdapter>
+            
+        </view>
+        
+        <view name="_progress" height="18" valign="bottom" width="${ parent.width }"
+        	                   bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }">
+        	
+        	<view resource="flv_recorder_play_small_rsc" y="1" height="16" width="16"
+        		      bgcolor="$once{ canvas.getThemeColor('baseMouseOvercolorizer') }">
+        		<handler name="onmouseover">
+                    this.setAttribute("bgcolor",0xFFFFFF);
+                </handler>
+                <handler name="onmouseout">
+                    this.setAttribute("bgcolor",canvas.getThemeColor('baseMouseOvercolorizer'));
+                </handler>
+        		<handler name="onclick">
+        			parent.parent.startStream();
+        		</handler>
+        		<labelTooltip labelid="875" />
+        	</view>
+        	
+        	<view name="_progressbar" x="16" width="${ parent.width - 32 }" y="1" 
+        		  height="16" bgcolor="$once{ canvas.getThemeColor('baseMouseOvercolorizer') }">
+        		
+        		<view x="0" width="${ parent.width }" y="0" height="16" bgcolor="0xFFFFFF" opacity="0.5" /> 
+        		
+        		<handler name="onclick">
+        			parent.parent.seekStream(this.getMouse("x"));
+        		</handler>
+        		
+        		<view name="_pointer" resource="flv_progress_pointer_rsc" visibility="hidden" />
+        		
+        		<text name="_time" resize="true" fontsize="10" />
+        		
+        		<text name="_duration" align="right" resize="true" fontsize="10" />
+        		
+        	</view>
+        	
+        	<view resource="flv_recorder_stop_small_rsc" align="right" y="1" height="16" width="16"
+        		  bgcolor="$once{ canvas.getThemeColor('baseMouseOvercolorizer') }">
+        		<handler name="onmouseover">
+        			this.setAttribute("bgcolor",0xFFFFFF);
+        		</handler>
+        		<handler name="onmouseout">
+                    this.setAttribute("bgcolor",canvas.getThemeColor('baseMouseOvercolorizer'));
+                </handler>
+                <handler name="onclick">
+                    parent.parent.stopStream();
+                </handler>
+                <labelTooltip labelid="876" />
+            </view>
+        	
+        </view>
+        
+</class>
+
+
+
+</library>
diff --git a/WebContent/src/modules/lzrecordcontent/dragItemFLVExplorer.lzx b/WebContent/src/modules/lzrecordcontent/dragItemFLVExplorer.lzx
new file mode 100644
index 0000000..d9ce91b
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/dragItemFLVExplorer.lzx
@@ -0,0 +1,185 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="dragItemFLVExplorer" extends="view">
+	
+	<attribute name="refObj" value="null"/>
+	
+	<attribute name="dragItemResource" value="" type="string"/>
+	
+	<attribute name="overItem" value="null"/>
+	
+	<attribute name="alreadySent" value="false" type="boolean" />
+	
+	<handler name="oninit">
+		lz.Track.activate(canvas.currentImagesListdraw.currentTrackGroupName);
+		canvas.currentImagesListdraw.currentDragItem = this;
+		lz.Cursor.showHandCursor(false);
+		lz.ModeManager.globalLockMouseEvents();
+		this.dragger.apply();
+	</handler>
+	
+	<method name="sendOverItem" args="itemRef">
+		<![CDATA[
+    		if (this.refObj != itemRef) {
+    			
+    			if (this.refObj.isFolder) {
+    				if (!itemRef.isTrashCan && !itemRef.isFolder) {
+    					//No Folders to the whiteboard please
+    					return;
+    				}
+    			}
+    			
+        		this.overItem = itemRef;
+        		this._dragIcon.setAttribute("frame",2);
+    		}
+		]]>
+	</method>
+	
+	<method name="sendOutItem" args="itemRef">
+        this.overItem = null;
+        this._dragIcon.setAttribute("frame",1);
+    </method>
+	
+	<handler name="onmouseup" reference="lz.GlobalMouse" args="who">
+        this.close();
+    </handler>
+    
+    <method name="close">
+    	//This can happen when the confirmation pops up
+    	if (this.alreadySent) {
+    		return;
+    	}
+    	this.alreadySent = true;
+    	if ($debug) Debug.write("close Drag Item");
+    	lz.Cursor.showHandCursor(true);
+    	lz.Track.deactivate(canvas.currentImagesListdraw.currentTrackGroupName);
+    	lz.ModeManager.globalUnlockMouseEvents();
+    	canvas.currentImagesListdraw.currentDragItem = null;
+    	this.dragger.remove();
+    	
+    	if (this.overItem != null) {
+    		
+    		if ($debug) Debug.write("this.overItem ",this.overItem);
+    		
+    		if (this.overItem.isTrashCan) {
+    			if ($debug) Debug.write("SEND TO GARBAGE");
+    			this.deleteFLVOrFolder.fileExplorerItemId = this.refObj.fileExplorerItemId;
+    			new lz.confirmationSingle(canvas,{
+            			   refObj:this,
+            			   labelid:710,
+            			   labeliderror:713,
+                           showCheckBox:false,
+                           refReturnMethod:"sendConfirmation"
+            			});
+    		} else if (this.overItem.isFolder){
+    			if ($debug) Debug.write("MOVE ITEM",this.refObj.fileExplorerItemId);
+    			if ($debug) Debug.write("MOVE TO PARENT",this.overItem.fileExplorerItemId);
+    			this.moveFile.fileExplorerItemId = this.refObj.fileExplorerItemId;
+    			this.moveFile.newParentFileExplorerItemId = this.overItem.fileExplorerItemId;
+    			if (this.overItem.fileExplorerItemId == 0) {
+    			    this.moveFile.isOwner = this.overItem.isOwner;
+    			}
+    			
+    			//check if this is a home folder or not
+                var checkForOwer = this.overItem.checkForIsOwner();
+                if ($debug) Debug.write("checkForOwer ::",checkForOwer);
+                this.moveFile.moveToHome = checkForOwer;
+                
+                //check that the file is not moved inside itself
+                if (this.overItem.checkForIsChild(this.refObj.fileExplorerItemId)) {
+                    new lz.labelerrorPopup(canvas,{errorlabelid:922});
+                    this.destroy();
+                    return;
+                }
+                
+    			this.moveFile.doCall();
+    		} else {
+    			if ($debug) Debug.warn("Drag to whiteboard !!! ");
+    			if (this.refObj.isPresentation) {
+    			    this.refObj.loadDocumentToWhiteboard();
+    			} else if (this.refObj.isImage) {
+    				this.refObj.loadImageToWhiteboard();
+    			} else {
+    				if ($debug) Debug.warn("Should never happen dragItemFileExplorer unhandled case");
+    			}
+    			this.destroy();
+    		}
+    	} else {
+    		this.destroy();
+    	}
+    	
+    </method>
+    
+    <method name="sendConfirmation" args="bool,askAgain">
+    	if (bool) {
+    		this.deleteFLVOrFolder.doCall();
+    	} else {
+    		this.destroy();
+    	}
+    </method>
+    
+    <netRemoteCallHib name="deleteFLVOrFolder" funcname="flvrecorderservice.deleteFLVOrFolder" 
+        remotecontext="$once{ canvas.thishib }" > 
+        
+        <attribute name="fileExplorerItemId" value="0" type="number" />
+        
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.fileExplorerItemId;</method></netparam>
+        <handler name="ondata" args="value">    
+            if ($debug) Debug.write("deleteFileOrFolder: ",value);
+            parent.refObj.parent.parent.doOpen();
+            parent.destroy();
+        </handler>
+    </netRemoteCallHib> 
+    
+    <netRemoteCallHib name="moveFile" funcname="flvrecorderservice.moveFile" 
+        remotecontext="$once{ canvas.thishib }" > 
+        
+        <attribute name="fileExplorerItemId" value="0" type="number" />
+        <attribute name="newParentFileExplorerItemId" value="0" type="number" />
+        <attribute name="isOwner" value="false" type="boolean" />
+        
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.fileExplorerItemId;</method></netparam>
+        <netparam><method name="getValue">return parent.newParentFileExplorerItemId;</method></netparam>  
+        <netparam><method name="getValue">return parent.isOwner;</method></netparam>  
+        <netparam><method name="getValue">return parent.moveToHome;</method></netparam>
+        
+        <handler name="ondata" args="value">    
+            if ($debug) Debug.write("moveFile: ",value);
+            parent.overItem.doOpen();
+            parent.refObj.parent.parent.doOpen();
+            parent.destroy();
+        </handler>
+    </netRemoteCallHib>     
+   
+	<view name="_dragFileSymbol" x="10" y="10"
+		resource="$once{ parent.dragItemResource }" />
+	
+	<view name="_dragIcon" x="18" y="14" 
+		  resource="drag_n_drop_rsc" frame="1" />
+	
+	<dragstate name="dragger"/>
+</class>
+
+</library>
diff --git a/WebContent/src/modules/lzrecordcontent/dynamicFLVName.lzx b/WebContent/src/modules/lzrecordcontent/dynamicFLVName.lzx
new file mode 100644
index 0000000..494b47d
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/dynamicFLVName.lzx
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="dynamicFLVName" extends="customInputtext" 
+	   fontsize="10" bgcolor="0xFFFFFF">
+	
+	<attribute name="isNew" value="false" type="boolean" />
+	
+	<!-- Only used in case its an update -->
+	<attribute name="fileExplorerItemId" value="0" type="number" />
+	
+	<attribute name="parentFileExplorerItemId" value="0" type="number" />
+	<attribute name="isOwner" value="false" type="boolean" />
+	
+	<attribute name="refObj" value="null" />
+	
+	<handler name="onblur">
+		lz.ModeManager.release(this);
+		if ($debug) Debug.write("Store and Destroy ",this.parentFileExplorerItemId);
+		if (this.isNew) {
+		    this.addFolder.doCall();
+		} else {
+			this.updateFileOrFolderName.doCall();
+		}
+	</handler>
+	
+	<handler name="onkeydown" args="k">
+		<![CDATA[
+    		if (k == 13 || k == 27) {
+    			this.onblur.sendEvent();
+    		}
+		]]>
+	</handler>
+	
+	<netRemoteCallHib name="addFolder" funcname="flvrecorderservice.addFolder" 
+        remotecontext="$once{ canvas.thishib }" >   
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.parent.parentFileExplorerItemId;</method></netparam> 
+        <netparam><method name="getValue">return parent.parent.text;</method></netparam>   
+        <netparam><method name="getValue">return parent.parent.isOwner;</method></netparam>    
+        <netparam><method name="getValue">return hib.currentdomainObj.organisation_id;</method></netparam>       
+        <handler name="ondata" args="value">    
+            if ($debug) Debug.write("addFolder: ",value);
+            parent.completed(value);
+        </handler>
+    </netRemoteCallHib>  
+	
+	<netRemoteCallHib name="updateFileOrFolderName" funcname="flvrecorderservice.updateFileOrFolderName" 
+        remotecontext="$once{ canvas.thishib }" >   
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.parent.fileExplorerItemId;</method></netparam> 
+        <netparam><method name="getValue">return parent.parent.text;</method></netparam>   
+        <handler name="ondata" args="value">    
+            if ($debug) Debug.write("updateFileOrFolderName: ",parent.fileExplorerItemId);
+            parent.completedRename();
+        </handler>
+    </netRemoteCallHib>
+    
+	<method name="completed" args="fileExplorerItemId">
+		this.refObj.fileExplorerItemId = fileExplorerItemId;
+		this.refObj.setAttribute("fileName",this.getText());
+		this.refObj.parent.parent.doOpen();
+		this.destroy();
+	</method>
+	
+	<method name="completedRename">
+		this.refObj.setAttribute("fileName",this.getText());
+		this.destroy();
+	</method>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/lzrecordcontent/library.lzx b/WebContent/src/modules/lzrecordcontent/library.lzx
new file mode 100644
index 0000000..a458fc2
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/library.lzx
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	<!-- APL author sebawagner -->
+    <resource name="flv_recorder_play_rsc" src="resources/webstart_play.png" />
+    <!-- APL author sebawagner -->
+    <resource name="flv_recorder_play_small_rsc" src="resources/webstart_play_small.png" />
+    <!-- APL author sebawagner -->
+    <resource name="flv_recorder_stop_small_rsc" src="resources/webstart_stop_small.png" />
+    <resource name="flv_progress_pointer_rsc" src="resources/progress_pointer.swf" />
+    <!-- APL author sebawagner -->
+    <resource name="flv_progress_pointer_big_rsc" src="resources/progress_pointer_big.swf" />
+    
+    <!-- APL author sebawagner -->
+    <resource name="flv_download_rsc" src="resources/download.png" />
+    
+    <!-- APL author sebawagner -->
+    <resource name="icon_flv_recording_video_end_rsc" src="resources/icon_flv_recording_video_end.png" />
+    <!-- APL author sebawagner -->
+    <resource name="icon_flv_recording_video_start_rsc" src="resources/icon_flv_recording_video_start.png" />
+    <!-- FamFam Icon Set -->
+    <resource name="recorder_show_log_rsc" src="resources/information.png" />
+    <!-- FamFam Icon Set -->
+    <resource name="flv_reload_rsc" src="resources/arrow_refresh_small.png" />
+    
+    <include href="baseChooseIconFLVView.lzx" />
+    <include href="messageRecordingWin.lzx" />
+    <include href="dynamicFLVName.lzx" />
+    <include href="dragItemFLVExplorer.lzx" />
+    <include href="lzRecordContent.lzx" />
+    <include href="lzRecordNavigation.lzx" />
+    <include href="contentviews/" />
+    <include href="treeitems/" />
+
+</library>
diff --git a/WebContent/src/modules/lzrecordcontent/lzRecordContent.lzx b/WebContent/src/modules/lzrecordcontent/lzRecordContent.lzx
new file mode 100644
index 0000000..aba51f9
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/lzRecordContent.lzx
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+    
+<!---
+	View for recorded contents list.
+	When you select 'Recordings' on the top menu, this class shows the list.
+-->
+<class name="lzRecordContent" extends="baseContentView" destroyByMethod="true">	
+
+    <handler name="oninit">
+        _mainScrollBar.setAttribute("visibility","hidden");
+        this._recordingsViewMain.connect();
+    </handler>
+    
+    <handler name="ontabcontentleave">
+        _mainScrollBar.setAttribute("visibility","visible");
+        this._recordingsViewMain.stopStreamAndCloseRecorder();
+    </handler>    
+        
+    <lzRecordNavigation name="_navigationArea" />
+    
+    <lzRecordingsViewMain name="_recordingsViewMain">
+    	
+    	<handler name="onRecordingStoppedAndDisconnected" args="tRef">
+    		parent.destroy();
+    		loadContentByTempActionForNavi();
+    	</handler>
+    	
+    </lzRecordingsViewMain>
+    
+    <lzRecordingsViewBottom name="_recordingsViewBottom" />
+
+</class>
+
+
+</library>
diff --git a/WebContent/src/modules/lzrecordcontent/lzRecordNavigation.lzx b/WebContent/src/modules/lzrecordcontent/lzRecordNavigation.lzx
new file mode 100644
index 0000000..4b56e65
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/lzRecordNavigation.lzx
@@ -0,0 +1,550 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<!---
+	View for recorded contents list.
+	When you select 'Recordings' on the top menu, this class shows the list.
+-->
+<class name="lzRecordNavigation" extends="view" width="280" height="${ canvas.height-canvas.naviHeight }">	
+
+    <attribute name="isOpen" value="true" type="boolean"/>
+    
+    <attribute name="playSelected" value="false" type="boolean"/>
+    
+    <attribute name="parentFolderId" value="-2" type="number" />
+    
+    <attribute name="_selected" value="null" />
+    
+    <attribute name="currentRecording" value="null" />
+    
+    <handler name="oninit">
+        lz.Track.register(this._trashBar._trashIcon, canvas.currentImagesListdraw.currentTrackGroupName);
+        if (canvas.roomRecordingId > 0) {
+        	_mainScrollBar.setAttribute("visibility","hidden");
+            canvas._mainbgcontentNavi.setAttribute('height',0);
+            canvas.setAttribute('naviHeightDelta',0);
+            this.parentFolderId = canvas.roomRecordingId;
+            this.getFlvRecordingWithMetaData.doCall();
+            this._doClose.doStart();
+            this.isOpen = false;
+            this._minimizeSidebar._icon.setAttribute("frame",2);
+        } else {
+        	this.getFLVExplorerByRoom.doCall();
+        }
+    </handler>
+    
+    <method name="toggleStatus">
+    	if (canvas.roomRecordingId != 0) {
+    		new lz.labelerrorPopup(canvas,{errorlabelid:909});
+    		return;
+    	}
+        if (this.isOpen) {
+            this._doClose.doStart();
+            this.isOpen = false;
+            this._minimizeSidebar._icon.setAttribute("frame",2);
+        } else {
+            this._doOpen.doStart();
+            this.isOpen = true;
+            this._minimizeSidebar._icon.setAttribute("frame",1);
+        }
+    </method>
+    
+    <!--
+        public FLVRecorderObject getFLVExplorerByRoom(String SID)
+     -->
+    <netRemoteCallHib name="getFLVExplorerByRoom" funcname="flvrecorderservice.getFLVExplorerByRoom" 
+        remotecontext="$once{ canvas.thishib }" >   
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return hib.currentdomainObj.organisation_id;</method></netparam>
+        <handler name="ondata" args="value">    
+            if ($debug) Debug.write("getFLVExplorerByRoom: ",value);
+            parent.parseRootItems(value);
+        </handler>
+    </netRemoteCallHib>  
+    
+     <!--
+        Parse Items and generate Output
+     --> 
+    <method name="parseRootItems" args="roomObject">
+        <![CDATA[
+            this.clearContent();
+            
+            var homeSizeInMBytes = Math.round( (roomObject.userHomeSize / 1024 / 1024) * 100) / 100;
+            
+            this._statusArea._userHomeSize.setAttribute("text","" + homeSizeInMBytes + " MBytes");
+            
+            var roomHomeSizeInMBytes = Math.round( (roomObject.roomHomeSize / 1024 / 1024) * 100) / 100;
+            
+            this._statusArea._roomHomeSize.setAttribute("text","" + roomHomeSizeInMBytes + " MBytes");
+                        
+            
+            var homeIcon = new lz.rootFLVExplorerItem(this._filearea._contentarea,{
+                                        open:true,
+                                        fileName:canvas.getLabelName(860),
+                                        name:'_home',
+                                        isRoot:true,
+                                        fileIcon:'file_explorer_folder_home_rsc',
+                                        isOwner:true,
+                                        refObjListRoot:this
+                                    });
+                                    
+            homeIcon.content.setAttribute("visibility","visible");
+            homeIcon.icon_folder_pre.setAttribute("frame",2);
+            homeIcon._folderIcon.setAttribute("frame",2);
+            
+            //Home area
+            for (var i=0;i<roomObject.userHome.length;i++) {
+                var fileExplorerItem = roomObject.userHome[i];
+                //if ($debug) Debug.write("fileExplorerItem -1- ",fileExplorerItem);
+                if (fileExplorerItem.isFolder) {
+                    new lz.folderFLVExplorerItem(homeIcon.content,{
+                                            fileName:fileExplorerItem.fileName,
+                                            fileExplorerItemId:fileExplorerItem.flvRecordingId,
+                                            fileIcon:'icon_folder_rsc',
+                                            refObjListRoot:this
+                                        });
+                } else {
+                    new lz.flvExplorerItem(homeIcon.content,{
+                                            isFolder:false,
+                                            fileExplorerItemId:fileExplorerItem.flvRecordingId,
+                                            fileName:fileExplorerItem.fileName,
+                                            fileHash:fileExplorerItem.fileHash,
+                                            isFolder:false,isImage:true,
+                                            fileIcon:'file_explorer_video_rsc',
+                                            refObjListRoot:this
+                                        });
+                }
+            }
+            
+            //Public - Room Area
+            var roomHome = new lz.rootFLVExplorerItem(this._filearea._contentarea,{
+                                        open:true,
+                                        fileName:canvas.getLabelName(861),
+                                        name:'_roomHome',
+                                        isRoot:true,
+                                        fileIcon:'file_explorer_folder_network_rsc',
+                                        refObjListRoot:this
+                                    });
+                                    
+            roomHome.content.setAttribute("visibility","visible");
+            roomHome.icon_folder_pre.setAttribute("frame",2);
+            roomHome._folderIcon.setAttribute("frame",2);
+            
+            //Public area
+            for (var i=0;i<roomObject.roomHome.length;i++) {
+                var fileExplorerItem = roomObject.roomHome[i];
+                //if ($debug) Debug.write("fileExplorerItem -2- ",fileExplorerItem);
+                if (fileExplorerItem.isFolder) {
+                    new lz.folderFLVExplorerItem(roomHome.content,{
+                                            fileName:fileExplorerItem.fileName,
+                                            fileExplorerItemId:fileExplorerItem.flvRecordingId,
+                                            fileIcon:'icon_folder_rsc',
+                                            refObjListRoot:this
+                                        });
+                } else {
+                    new lz.flvExplorerItem(roomHome.content,{
+                                            isFolder:false,
+                                            fileExplorerItemId:fileExplorerItem.flvRecordingId,
+                                            fileName:fileExplorerItem.fileName,
+                                            fileHash:fileExplorerItem.fileHash,
+                                            isFolder:false,isImage:true,
+                                            fileIcon:'file_explorer_video_rsc',
+                                            refObjListRoot:this
+                                        });
+                }
+            }
+            
+        ]]>
+    </method>
+    
+    <method name="clearContent">
+        <![CDATA[
+            for (var eg in this._filearea._contentarea.subviews) {
+                this._filearea._contentarea.subviews[eg].destroy();
+            }
+        ]]>
+    </method>
+    
+    <method name="addFolder">
+        if (this._selected == null) {
+            this._filearea._contentarea.subviews[0].addFolder();
+        } else {
+            if (this._selected.isFolder) {
+                this._selected.addFolder();
+            } else {
+                if ($debug) Debug.write("this._selected ",this._selected);
+                this._selected.parent.parent.addFolder();
+            }
+        }
+    </method>
+    
+    <method name="selectItem" args="itemRef">
+        if (this._selected != null) {
+            this._selected.deselectItem();
+        }
+        
+        this._selected = itemRef;
+        this._selected.selectItem();
+        
+        //Set parent folder id for next Folder or uploaded file
+        if (this._selected.fileExplorerItemId == 0) {
+            if (this._selected.isOwner) {
+                this.parentFolderId = -2;
+            } else {
+                this.parentFolderId = 0;
+            }
+        } else {
+            this.parentFolderId = this._selected.fileExplorerItemId;
+        }
+        
+        if (itemRef.isFolder) {
+            return;
+        }
+        if ($debug) Debug.write("selectItem",itemRef);
+        
+        this.getFlvRecordingWithMetaData.doCall();
+    </method>
+    
+
+    <netRemoteCallHib name="getFlvRecordingWithMetaData" funcname="flvrecorderservice.getFlvRecordingWithMetaData" 
+        remotecontext="$once{ canvas.thishib }" showLoading="false">   
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.parent.parentFolderId;</method></netparam>
+        <handler name="ondata" args="value">    
+            if ($debug) Debug.write("getFlvRecordingWithMetaData: ");
+            parent.setRecording(value);
+        </handler>
+    </netRemoteCallHib>   
+    
+    <method name="setRecording" args="rec">
+        <![CDATA[
+        
+            if (rec.isFolder) {
+                return;
+            }
+        
+            this.currentRecording = rec;
+        
+            this._recordingsInfo.content._flvName.setAttribute("text",rec.fileName);
+            
+            var deltaInSeconds = Math.round((rec.recordEnd.getTime() - rec.recordStart.getTime())/1000);
+            
+            if ($debug) Debug.write("deltaInSeconds ",deltaInSeconds);
+            
+            var minutes = Math.floor(deltaInSeconds/60);
+            
+            var restSeconds = deltaInSeconds - (minutes*60);
+            
+            var timeInMinutes = minutes+" min "+restSeconds+" sec";
+            
+            if (minutes > 60) {
+                var hours = Math.floor(minutes/60);
+                
+                var restMinutes = minutes - (hours*60);
+                
+                var timeInMinutes = hours+" h "+restMinutes+" min "+restSeconds+" sec";
+            }
+            
+            this._recordingsInfo.content.recordingName = rec.fileHash;
+            this._recordingsInfo.content.alternateName = rec.alternateDownload;
+            
+            this._recordingsInfo.content._flvLength.setAttribute("text",timeInMinutes);
+            
+            this._recordingsInfo.content._flvDate.setAttribute("text",parseDateToStringTime(rec.inserted));
+            
+            this._recordingsInfo.content._flvRoom.setAttribute("text",rec.room.name);
+        
+            this.playRecording();
+        ]]>
+    </method>
+    
+    <method name="playRecording">
+        if ($debug) Debug.write("playRecording :showMetaData: ");
+        parent._recordingsViewBottom.showMetaData(this.currentRecording);
+    </method>   
+    
+    <method name="loadFLV" args="refObj">
+        if ($debug) Debug.write("loadFLV ",refObj);
+        this.playSelected = true;
+        this.selectItem(refObj);
+    </method>
+        
+    <!--
+        Borders
+    
+    
+    <view name="_bg1" bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" width="$once{ parent.width-10 }" 
+          x="0" y="0" height="${ parent.height }" />
+          
+           
+          
+    <view name="_bg2" bgcolor="0xFFFFFF" x="1" y="0" width="$once{ parent.width - 12 }" 
+          height="${ parent.height - 1 - parent._recordingsInfo.height }" />
+    --> 
+               
+    <view name="_border2" x="0" y="19" width="$once{ parent.width-10 }" 
+          height="1" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" />     
+    
+    <view name="_fileBar" layout="axis:x" x="0" y="0">
+        <baseChooseIconFLVView labelid="703" height="20" width="19" 
+                            resourceN="file_explorer_add_folder_rsc" >
+            <handler name="onclick">
+                if ($debug) Debug.write("Add Folder");
+                parent.parent.addFolder();
+            </handler>
+        </baseChooseIconFLVView>
+        <baseChooseIconFLVView labelid="704" height="20" width="19" 
+                            resourceN="file_explorer_reload_rsc" >
+            <handler name="onclick">
+                if ($debug) Debug.write("Refresh Folder");
+                parent.parent.getFLVExplorerByRoom.doCall();
+            </handler>
+        </baseChooseIconFLVView>
+        <view bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" 
+        				height="20" width="1" />
+    </view>
+    
+    <!--
+        File Tree Content Trashbar
+     --> 
+     
+    <view name="_trashBar" layout="axis:x" x="$once{ parent.width - 30 }" y="0">
+        <baseChooseIconFLVView name="_trashIcon" labelid="705" height="20" width="19" 
+                         resourceN="file_explorer_trash_rsc">
+            <attribute name="isTrashCan" value="true" type="boolean" />
+            <handler name="onclick">
+                if ($debug) Debug.write("Delete Folder and Files");
+            </handler>
+            <handler name="onmousetrackover">
+                //if ($debug) Debug.write("onmousetrackover");
+                canvas.currentImagesListdraw.currentDragItem.sendOverItem(this);
+                this.onmouseover.sendEvent();
+            </handler>
+            <handler name="onmousetrackout">
+                //if ($debug) Debug.write("onmousetrackout");
+                canvas.currentImagesListdraw.currentDragItem.sendOutItem(this);
+                this.onmouseout.sendEvent();
+            </handler>
+            <handler name="onmousetrackup">
+                if ($debug) Debug.write("onmousetrackup");
+                this.onmouseout.sendEvent();
+            </handler> 
+        </baseChooseIconFLVView>
+        <view bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" height="20" width="1" />
+    </view>
+    
+    <!--
+        File Tree Content
+     --> 
+    
+    <view name="_filearea" x="1" y="20" clip="true" bgcolor="0xFFFFFF" 
+          height="${ parent.height - 21 - parent._recordingsInfo.height - 40 }" 
+          width="$once{ parent.width - 12 }">
+        
+        <attribute name="currentTrackGroupName" value="fileExplorer" type="string" />
+        
+        <attribute name="currentDragItem" value="null" />
+        
+        <handler name="oninit">
+            canvas.currentImagesListdraw = this;
+        </handler>
+        
+        <view name="_contentarea" layout="axis:y;inset:1" />
+        
+        <om_vscrollbar name="_scrollbar" />
+        <om_hscrollbar name="_hscrollbar" />
+    </view>  
+    
+    <view name="_statusArea" x="1" y="${ parent._recordingsInfo.y - 40 }" 
+    	   width="$once{ parent.width - 12 }">
+    	
+        <labelText name="_userHomeSizeLabel" labelid="923" />
+        
+        <labelText name="_userHomeSize" align="right" />
+        
+        <labelText name="_roomHomeSizeLabel" labelid="924" y="20" />
+        
+        <labelText name="_roomHomeSize" align="right" y="20" />
+    	
+    </view>  
+    
+    <basePropertyPanel name="_recordingsInfo" labelid="862" valign="bottom"
+                   width="$once{ parent.width - 12 }" height="180">
+        
+        <view name="content" y="24" 
+              width="$once{ parent.width }" height="$once{ parent.height - 24 }">
+            
+            <attribute name="recordingName" value="" type="string" />
+            <attribute name="alternateName" value="" type="string" />
+            
+            <!--
+            <labelText text="Cut" resize="true" x="$once{ parent.width - 118 }" y="0"/>
+            
+            <customEdittext name="left" x="$once{ parent.width - 108 }" width="26" text="0" y="0"/>
+             -->
+            
+            <labelText text="Shift (in ms)" resize="true" x="0" y="0"/>
+            
+            <labelText text="Left" resize="true" x="$once{ parent.width - 200 }" y="0"/>
+            
+            <customEdittext name="leftTime" x="$once{ parent.width - 158 }" width="26" text="0" y="0"/>
+            
+            <labelText text="Right" resize="true" x="$once{ parent.width - 118 }" y="0"/>
+            
+            <customEdittext name="rightTime" x="$once{ parent.width - 68 }" width="26" text="0" y="0"/>
+            
+            
+            <labelText text="Loudness" resize="true" x="0" y="20"/>
+            
+            <labelText text="Left" resize="true" x="$once{ parent.width - 200 }" y="20"/>
+            
+            <customEdittext name="left" x="$once{ parent.width - 158 }" width="26" text="0" y="20"/>
+            
+            <labelText text="Right" resize="true" x="$once{ parent.width - 118 }" y="20"/>
+            
+            <customEdittext name="right" x="$once{ parent.width - 68 }" width="26" text="0" y="20"/>
+            
+            <view name="_show_log1" resource="flv_reload_rsc" y="18" x="$once{ parent.width - 36 }">
+            	<handler name="oninit">
+            		if ($debug) Debug.write("_show_log1::oninit ", this);
+            	</handler> 
+                <handler name="onclick" args="clickObj">
+                    parent.parent.parent.parent._recordingsViewMain.restartConversion(parent.left.getText(),parent.right.getText(),parent.leftTime.getText(),parent.rightTime.getText());
+                </handler>
+                <labelTooltip text="Re-Sample File" />
+            </view>
+            
+            <view name="_show_log2" resource="recorder_show_log_rsc" y="18" x="$once{ parent.width - 18 }">
+            	<handler name="onclick" args="clickObj">
+            		parent.parent.parent.parent._recordingsViewMain.showLog();
+            	</handler>
+            	<labelTooltip labelid="902" />
+            </view>
+            
+            <labelText labelid="863" y="38" />
+            <labelText name="_flvName" y="38" x="80" multiline="true" height="32" 
+                       width="${ parent.width-80 }"/>
+            
+            <labelText labelid="864" y="58" />
+            <labelText name="_flvLength" y="58" x="80" />
+            
+            <labelText labelid="865" y="78" />
+            <labelText name="_flvDate" y="78" x="80" />
+            
+            <!--
+            <labelText labelid="866" y="60" />
+            <labelText name="_flvBy" y="60" />
+             -->
+            
+            <labelText labelid="874" y="98" />
+            <labelText name="_flvRoom" y="98" x="80" />
+            
+            <simpleLabelButton y="130" align="right" text_padding_x="40"
+                              height="26" width="$once{ parent.width / 2 }" labelid="883">
+                <view resource="flv_download_rsc" x="4" y="4" />
+                <handler name="onclick">
+                	<![CDATA[
+                	
+                	   if (parent.recordingName == "") {
+                	   	   return;
+                	   }
+                	
+	                   var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                                    +canvas.httpRootKey+'DownloadHandler?fileName='+parent.recordingName
+                                    +'&moduleName=lzRecorderApp&parentPath=&room_id='
+                                    +'&sid='+canvas.sessionId;
+                	
+                        lz.Browser.loadURL(downloadurl,"_parent");
+                	
+                	]]>
+                </handler>
+                
+                <labelTooltip labelid="873" />
+                
+            </simpleLabelButton>
+            
+            
+            <simpleLabelButton y="130" align="left" text_padding_x="40" 
+                              height="26" width="$once{ parent.width / 2 }" labelid="884">
+                <view resource="flv_download_rsc" x="4" y="4" />
+                <handler name="onclick">
+                	<![CDATA[
+                	
+                	   if (parent.recordingName == "") {
+                	   	   return;
+                	   }
+                	
+	                   var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                                    +canvas.httpRootKey+'DownloadHandler?fileName='+parent.alternateName
+                                    +'&moduleName=lzRecorderApp&parentPath=&room_id='
+                                    +'&sid='+canvas.sessionId;
+                	
+                        lz.Browser.loadURL(downloadurl,"_parent");
+                	
+                	]]>
+                </handler>
+                
+                <labelTooltip labelid="882" />
+                
+            </simpleLabelButton>            
+            
+        </view>
+        
+        
+        
+    </basePropertyPanel>
+
+    <!--
+        Sidebar to minimize
+     -->
+     
+    <view name="_minimizeSidebar" x="${ parent.width - 10 }" width="10" y="1"
+          				bgcolor="0xE0E1EB" height="${ parent.height-1 }">
+        <handler name="onclick">
+            parent.toggleStatus();
+        </handler>
+        
+        <view width="${ parent.width }" height="$once{ parent.height }" 
+               bgcolor="0xE0E1EB" >
+        </view>
+            
+        <view name="_icon" resource="sidebar_tab_btn" y="0">
+             <handler name="onclick">
+	            parent.parent.toggleStatus();
+	         </handler>
+	         <labelTooltip name="_labelTooltip" labelid="856" />
+        </view>
+        
+    </view>
+        
+    <animator name="_doOpen" attribute="x" to="0" 
+              duration="750" start="false" />
+              
+    <animator name="_doClose" attribute="x" to="-270" 
+              duration="750" start="false">
+    </animator>
+    
+</class>
+
+
+
+</library>
diff --git a/WebContent/src/modules/lzrecordcontent/messageRecordingWin.lzx b/WebContent/src/modules/lzrecordcontent/messageRecordingWin.lzx
new file mode 100644
index 0000000..b261495
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/messageRecordingWin.lzx
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="messageRecordingWin" extends="guiPresenter" labelid="890" y="100"
+    docking="true" resizeable="true" closable="true" width="400" 
+    x="$once{ parent.width/2 - this.width/2 }" height="240">
+    
+    <attribute name="error" value="" type="string" />
+    <attribute name="labelTitleId" value="0" type="number" />
+    
+	<view x="4" resource="warning_icon_rsc" y="24" />    
+	
+	<labelText labelid="$once{ parent.labelTitleId }" y="24" x="30" />
+    
+    <view x="2" width="${ parent.width - 4 }" clip="true"
+        				y="48" height="${ parent.height-74 }">
+        <labelText text="$once{ parent.parent.error }" width="${ parent.width - 18 }"
+        		   multiline="true" resize="false" selectable="true" />
+        <om_vscrollbar />
+    </view>
+	
+    <simpleLabelButton labelid="891" width="100" onclick="this.parent.close();" 
+		   x="${ parent.width-104 }" y="${ parent.height-24 }" />
+
+</class>
+
+</library>
diff --git a/WebContent/src/modules/lzrecordcontent/resources/arrow_refresh_small.png b/WebContent/src/modules/lzrecordcontent/resources/arrow_refresh_small.png
new file mode 100644
index 0000000..d3087df
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/resources/arrow_refresh_small.png
Binary files differ
diff --git a/WebContent/src/modules/lzrecordcontent/resources/download.png b/WebContent/src/modules/lzrecordcontent/resources/download.png
new file mode 100644
index 0000000..0c9013e
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/resources/download.png
Binary files differ
diff --git a/WebContent/src/modules/lzrecordcontent/resources/icon_flv_recording_video_end.png b/WebContent/src/modules/lzrecordcontent/resources/icon_flv_recording_video_end.png
new file mode 100644
index 0000000..b8d5d32
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/resources/icon_flv_recording_video_end.png
Binary files differ
diff --git a/WebContent/src/modules/lzrecordcontent/resources/icon_flv_recording_video_start.png b/WebContent/src/modules/lzrecordcontent/resources/icon_flv_recording_video_start.png
new file mode 100644
index 0000000..0014c8a
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/resources/icon_flv_recording_video_start.png
Binary files differ
diff --git a/WebContent/src/modules/lzrecordcontent/resources/information.png b/WebContent/src/modules/lzrecordcontent/resources/information.png
new file mode 100644
index 0000000..12cd1ae
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/resources/information.png
Binary files differ
diff --git a/WebContent/src/modules/lzrecordcontent/resources/ledgreen.png b/WebContent/src/modules/lzrecordcontent/resources/ledgreen.png
new file mode 100644
index 0000000..5cf1392
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/resources/ledgreen.png
Binary files differ
diff --git a/WebContent/src/modules/lzrecordcontent/resources/ledred.png b/WebContent/src/modules/lzrecordcontent/resources/ledred.png
new file mode 100644
index 0000000..185554c
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/resources/ledred.png
Binary files differ
diff --git a/WebContent/src/modules/lzrecordcontent/resources/progress_pointer.fla b/WebContent/src/modules/lzrecordcontent/resources/progress_pointer.fla
new file mode 100644
index 0000000..910fe0b
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/resources/progress_pointer.fla
Binary files differ
diff --git a/WebContent/src/modules/lzrecordcontent/resources/progress_pointer.swf b/WebContent/src/modules/lzrecordcontent/resources/progress_pointer.swf
new file mode 100644
index 0000000..06eeb13
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/resources/progress_pointer.swf
Binary files differ
diff --git a/WebContent/src/modules/lzrecordcontent/resources/progress_pointer_big.fla b/WebContent/src/modules/lzrecordcontent/resources/progress_pointer_big.fla
new file mode 100644
index 0000000..e3e579a
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/resources/progress_pointer_big.fla
Binary files differ
diff --git a/WebContent/src/modules/lzrecordcontent/resources/progress_pointer_big.swf b/WebContent/src/modules/lzrecordcontent/resources/progress_pointer_big.swf
new file mode 100644
index 0000000..2124bc2
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/resources/progress_pointer_big.swf
Binary files differ
diff --git a/WebContent/src/modules/lzrecordcontent/resources/webstart_play.png b/WebContent/src/modules/lzrecordcontent/resources/webstart_play.png
new file mode 100644
index 0000000..6d13683
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/resources/webstart_play.png
Binary files differ
diff --git a/WebContent/src/modules/lzrecordcontent/resources/webstart_play_small.png b/WebContent/src/modules/lzrecordcontent/resources/webstart_play_small.png
new file mode 100644
index 0000000..a9a33ed
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/resources/webstart_play_small.png
Binary files differ
diff --git a/WebContent/src/modules/lzrecordcontent/resources/webstart_stop_small.png b/WebContent/src/modules/lzrecordcontent/resources/webstart_stop_small.png
new file mode 100644
index 0000000..6388bd8
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/resources/webstart_stop_small.png
Binary files differ
diff --git a/WebContent/src/modules/lzrecordcontent/treeitems/baseFLVExplorerItem.lzx b/WebContent/src/modules/lzrecordcontent/treeitems/baseFLVExplorerItem.lzx
new file mode 100644
index 0000000..25fe33b
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/treeitems/baseFLVExplorerItem.lzx
@@ -0,0 +1,373 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="baseFLVExplorerItem" extends="view">
+	
+	<attribute name="refObjListRoot" value="null"/>
+	
+	<attribute name="isRoot" value="false" type="boolean" />
+	
+	<attribute name="fileIcon" type="string" value="string" />
+	
+	<attribute name="open" value="false" type="boolean" />
+	
+	<attribute name="fileExplorerItemId" value="0" type="number" />
+	<attribute name="isOwner" value="false" type="boolean" />
+	
+	<attribute name="isFolder" value="true" type="boolean" />
+	<attribute name="isImage" value="false" type="boolean" />
+	<attribute name="isPresentation" value="false" type="boolean" />
+	
+	<attribute name="fileName" value="" type="string" />
+	<attribute name="fileHash" value="" type="string" />
+	
+	<attribute name="selected" value="false" type="boolean"/>
+	
+	<attribute name="singleClickDelegate" value="null" />
+	<attribute name="singleClickStarted" value="false" type="boolean" />
+	
+	<attribute name="isMouseDownDragAction" value="false" type="boolean"/>
+	
+	<!-- If this is true, then this item has been drag-n-droped and it makes no 
+	       sense to handle any single or double click event -->
+	<attribute name="mouseDownClickUsed" value="false" type="boolean" />
+	<attribute name="mouseDownClickDelegate" value="null" />
+	
+	<attribute name="isTrashCan" value="false" type="boolean" />
+	
+	<handler name="oninit">
+		this.singleClickDelegate = new LzDelegate( this, "doSingleClick" );
+		this.resetClickDelegate = new LzDelegate( this, "doResetSingleClick" );
+		this.mouseDownClickDelegate = new LzDelegate( this, "doMouseDownClick" );
+		if (this.isFolder) {
+		    lz.Track.register(this._fileName, canvas.currentImagesListdraw.currentTrackGroupName);
+		}
+	</handler>
+	
+	<method name="doOpen">
+		this.open = true;
+		if (this.isFolder) {
+    		this.icon_folder_pre.setAttribute("frame",2);
+    		this.content.setAttribute("visibility","visible");
+			this._folderIcon.setAttribute("frame",2);
+		    this.getFLVExplorerByParent.doCall();
+		}
+	</method>
+	
+	<method name="doClose">
+		this.open = false;
+		if (this.isFolder) {
+            this.icon_folder_pre.setAttribute("frame",1);
+            this.content.setAttribute("visibility","hidden");
+            this._folderIcon.setAttribute("frame",1);
+		}
+	</method>
+	
+    <method name="doMouseDownClick" args="itemObj">
+    	this.mouseDownClickUsed = true;
+    	if ($debug) Debug.write("mouseDown CLICK Start Drag And Drop");
+    	new lz.dragItemFLVExplorer(canvas,{
+    		        dragItemResource:this.fileIcon,
+            	    refObj:this,
+                    x:canvas.getMouse('x'),
+                    y:canvas.getMouse('y')
+            	})
+    </method>
+    
+    <method name="deleteFile" args="labelid">
+    	new lz.confirmationSingle(canvas,{
+                           refObj:this,
+                           labelid:labelid,
+                           labeliderror:713,
+                           showCheckBox:false
+                        });
+    	//this.deleteFileOrFolder();
+    </method>
+    
+    <method name="sendConfirmation" args="bool,askAgain">
+        if (bool) {
+            this.deleteFLVOrFolder.doCall();
+        }
+    </method>
+    
+    <netRemoteCallHib name="deleteFLVOrFolder" funcname="flvrecorderservice.deleteFLVOrFolder" 
+        remotecontext="$once{ canvas.thishib }" > 
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.parent.fileExplorerItemId;</method></netparam>
+        <handler name="ondata" args="value">    
+            if ($debug) Debug.write("deleteFLVOrFolder: ",value);
+            parent.parent.parent.doOpen();
+            parent.refObjListRoot._selected = null;
+            parent.refObjListRoot.parentFolderId = -2;
+        </handler>
+    </netRemoteCallHib> 
+    
+	<method name="doSingleClick" args="itemObj">
+		this.singleClickStarted = false;
+		//Cannot change name for Root Icons
+		if (this.isRoot) {
+            return;
+        }
+		this.addOrUpdateFolderName(this.fileExplorerItemId,false);
+	</method>
+	
+	<!--
+        Check if this is the Owner
+     -->
+    <method name="checkForIsOwner">
+        if (this.isRoot) {
+            return this.isOwner;
+        } else {
+            return parent.parent.checkForIsOwner();
+        }
+    </method>
+    
+    <!--
+        Check if the user tries to move a file in its own tree,
+        see moveFile
+     -->
+    <method name="checkForIsChild" args="compareFileExplorerItemId">
+        if (this.isRoot) {
+            return false;
+        } else {
+            if (this.fileExplorerItemId == compareFileExplorerItemId) {
+                return true;
+            } else {
+                return parent.parent.checkForIsChild(compareFileExplorerItemId);
+            }
+        }
+    </method>
+	
+	<method name="doResetSingleClick" args="itmeObj">
+		this.singleClickStarted = false;
+	</method>
+	
+	<method name="addFile">
+		this.refObjListRoot.selectItem(this);
+		this.refObjListRoot.addFile();
+	</method>
+	
+	<method name="addFolder">
+		if (this.isFolder) {
+			if ($debug) Debug.write("NEW this.fileExplorerItemId INTO ",this);
+			if ($debug) Debug.write("NEW this.fileExplorerItemId ",this.fileExplorerItemId);
+			this.icon_folder_pre.setAttribute("frame",2);
+            this.content.setAttribute("visibility","visible");
+            this._folderIcon.setAttribute("frame",2);
+    		var t = new lz.folderFLVExplorerItem(this.content,{
+    			            isOwner:this.isOwner,
+    			            isFolder:true,
+                		    fileIcon:'icon_folder_rsc',
+                            refObjListRoot:this.refObjListRoot,
+                		    fileName:canvas.getLabelName(712)
+                		});
+            t.addOrUpdateFolderName(this.fileExplorerItemId,true);
+		}
+	</method>
+	
+	<method name="refresh">
+		this.doOpen();
+	</method>
+	
+	<method name="editFolderName">
+		this.addOrUpdateFolderName(this.fileExplorerItemId,false);
+	</method>
+	
+	<method name="loadFLV">
+		this.refObjListRoot.loadFLV(this);
+	</method>
+	
+	<method name="addOrUpdateFolderName" args="fileExplorerItemId,isNew">
+		<![CDATA[
+    		if ($debug) Debug.write("addOrUpdateFolderName ",fileExplorerItemId);
+    		var tWidth = this._fileName.width;
+    		if (tWidth < 160) {
+    			tWidth = 160;
+    		}
+    		
+    		var t = new lz.dynamicFLVName(canvas,{
+    			        parentFileExplorerItemId:fileExplorerItemId,
+    			        fileExplorerItemId:this.fileExplorerItemId, //Only used at update Name
+    			        isOwner:this.isOwner,
+    			        text:this.fileName,
+    			        isNew:isNew, //false means its a renaming
+    			        refObj:this,width:tWidth+10,
+            		    x:this._fileName.getAttributeRelative("x",canvas),
+            		    y:this._fileName.getAttributeRelative("y",canvas)
+            		});
+            		
+            lz.Focus.setFocus(t,true);
+            lz.ModeManager.makeModal(t);
+            
+        ]]>
+	</method>
+	
+	<method name="toggleOpen" args="setSelection">
+		if (this.mouseDownClickUsed) {
+			if ($debug) Debug.write("mouseDownClickUsed RESET TO DEFAULT BUT DO NO ACTION Cause its a Drag and Drop Event");
+			this.mouseDownClickUsed = false;
+			return;
+		}
+		
+		if (this.singleClickStarted) {
+            if ($debug) Debug.write("Is this selected => Double Click !!!");
+            this.singleClickStarted = false;
+            lz.Timer.removeTimer( this.singleClickDelegate );
+            if (this.isFolder) {
+                this.doSingleClick(null);
+            } else {
+                this.loadFLV();
+            }
+        } else {
+        	
+        	if (this.isFolder){
+        		if (!this.open) {
+        			this.doOpen();
+        		} else {
+        			if (setSelection) {
+            			if (this.selected) {
+            				if ($debug) Debug.write("Is this selected => Do Edit !!!");
+            				this.singleClickStarted = true;
+            			    lz.Timer.addTimer( this.singleClickDelegate, 300 );
+            			} else {
+            				
+            				this.singleClickStarted = true;
+            				lz.Timer.addTimer( this.resetClickDelegate, 300 );
+            			}
+        			} else {
+        				this.doClose();
+        			}
+        		}
+        	} else {
+        		if (setSelection) {
+                    if (this.selected) {
+                        if ($debug) Debug.write("Is this selected => Do Edit !!!");
+                        this.singleClickStarted = true;
+                        lz.Timer.addTimer( this.singleClickDelegate, 300 );
+                    } else {
+                        this.singleClickStarted = true;
+                        lz.Timer.addTimer( this.resetClickDelegate, 300 );
+                    }
+                }
+        	}
+		}
+		
+		if (setSelection) this.refObjListRoot.selectItem(this);
+	</method>
+	
+	<method name="selectItem">
+		this.selected = true;
+		this._fileName.setAttribute("bgcolor",canvas.getThemeColor('baseMousecolorizer'));
+	</method>
+	
+	<method name="deselectItem">
+		this.selected = false;
+        if ($debug) Debug.write(this._fileName);
+        this._fileName.setAttribute("bgcolor",0xFFFFFF);
+    </method>
+	
+	<method name="clearContent">
+        <![CDATA[
+            for (var eg in this.content.subviews) {
+                this.content.subviews[eg].destroy();
+            }
+        ]]>
+    </method>
+	
+	<!--
+	   public List<FileExplorerItem> getFileExplorerByParent(String SID, Long parentFileExplorerItemId, 
+	               Long room_id, Boolean isOwner) {
+     -->
+	<netRemoteCallHib name="getFLVExplorerByParent" funcname="flvrecorderservice.getFLVExplorerByParent" 
+        remotecontext="$once{ canvas.thishib }" >   
+        <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+        <netparam><method name="getValue">return parent.parent.fileExplorerItemId;</method></netparam>  
+        <netparam><method name="getValue">return parent.parent.isOwner;</method></netparam>         
+        <handler name="ondata" args="value">    
+            if ($debug) Debug.write("getFLVExplorerByParent: ",value);
+            parent.renderFilesAndFolders(value);
+        </handler>
+    </netRemoteCallHib>  
+    
+    <method name="renderFilesAndFolders" args="roomHome">
+        <![CDATA[
+            this.clearContent();
+            
+            //Folder area
+            for (var i=0;i<roomHome.length;i++) {
+                var fileExplorerItem = roomHome[i];
+                
+                if (fileExplorerItem.isFolder) {
+                    new lz.folderFLVExplorerItem(this.content,{
+                                            fileName:fileExplorerItem.fileName,
+                                            fileExplorerItemId:fileExplorerItem.flvRecordingId,
+                                            fileIcon:'icon_folder_rsc',
+                                            refObjListRoot:this.refObjListRoot
+                                        });
+                } else {
+                    new lz.flvExplorerItem(this.content,{
+                                            isFolder:false,
+                                            fileExplorerItemId:fileExplorerItem.flvRecordingId,
+                                            fileName:fileExplorerItem.fileName,
+                                            fileHash:fileExplorerItem.fileHash,
+                                            isFolder:false,isImage:true,
+                                            fileIcon:'file_explorer_video_rsc',
+                                            refObjListRoot:this.refObjListRoot
+                                        });
+                }                
+                
+            }
+            
+        ]]>
+    </method>
+    
+	
+	<view name="icon_folder_pre" 
+		  visibility="$once{ (parent.isFolder) ? 'visible' : 'hidden' }"
+		  resource="icon_folder_pre_rsc" frame="1" >
+		<handler name="onclick">
+			parent.toggleOpen(false);
+		</handler>
+	</view>
+	
+	<view name="_folderIcon" resource="$once{ parent.fileIcon }" x="16" y="2" >
+		<handler name="onmousedown">
+			if (parent.isRoot) {
+                return;
+            }
+            lz.Timer.addTimer( parent.mouseDownClickDelegate, 300 );
+        </handler>
+        <handler name="onmouseup">
+        	if (parent.isRoot) {
+                return;
+            }
+            lz.Timer.removeTimer( parent.mouseDownClickDelegate );
+        </handler>
+		<handler name="onclick">
+			parent.toggleOpen(false);
+		</handler>
+	</view>
+	
+</class>
+
+
+</library>
diff --git a/WebContent/src/modules/lzrecordcontent/treeitems/flvExplorerItem.lzx b/WebContent/src/modules/lzrecordcontent/treeitems/flvExplorerItem.lzx
new file mode 100644
index 0000000..c0d4c2c
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/treeitems/flvExplorerItem.lzx
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+ 
+<class name="flvExplorerItem" extends="baseFLVExplorerItem" isFolder="true">
+	
+    
+	<text name="_fileName" x="36" text="${ parent.fileName }" fontsize="10" resize="true" y="1">
+		<contextmenu>
+			
+			<contextmenuitem caption="$once{ canvas.getLabelName(711) }" 
+							 onselect="parent.parent.parent.editFolderName()" />
+			
+            <contextmenuitem caption="$once{ canvas.getLabelName(719) }" 
+            				 onselect="parent.parent.parent.deleteFile(719)" />
+            				 
+        </contextmenu>
+        
+        <handler name="onmousedown">
+        	if (parent.isRoot) {
+                return;
+            }
+            lz.Timer.addTimer( parent.mouseDownClickDelegate, 300 );
+        </handler>
+        <handler name="onmouseup">
+        	if (parent.isRoot) {
+                return;
+            }
+            lz.Timer.removeTimer( parent.mouseDownClickDelegate );
+        </handler>
+		<handler name="onclick">
+            parent.toggleOpen(true);
+        </handler>
+	</text>
+	
+
+</class>
+
+
+</library>
diff --git a/WebContent/src/modules/lzrecordcontent/treeitems/folderFLVExplorerItem.lzx b/WebContent/src/modules/lzrecordcontent/treeitems/folderFLVExplorerItem.lzx
new file mode 100644
index 0000000..a8ab416
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/treeitems/folderFLVExplorerItem.lzx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="folderFLVExplorerItem" extends="baseFLVExplorerItem" isFolder="true">
+	
+	<text name="_fileName" x="36" text="${ parent.fileName }" fontsize="10" resize="true" y="1">
+		<contextmenu>
+			
+			<contextmenuitem caption="$once{ canvas.getLabelName(711) }" 
+							 onselect="parent.parent.parent.editFolderName()" />
+			
+            <contextmenuitem caption="$once{ canvas.getLabelName(709) }" 
+            				 onselect="parent.parent.parent.addFolder()" />
+            				 
+            <contextmenuitem caption="$once{ canvas.getLabelName(710) }" 
+            				 onselect="parent.parent.parent.deleteFile(719)" />
+            				 
+        </contextmenu>
+        
+        <handler name="onmousetrackover">
+            //if ($debug) Debug.write("onmousetrackover");
+            canvas.currentImagesListdraw.currentDragItem.sendOverItem(parent);
+            this.setAttribute("bgcolor",0x93FE92);
+        </handler>
+        
+        <handler name="onmousetrackout">
+            //if ($debug) Debug.write("onmousetrackout");
+            canvas.currentImagesListdraw.currentDragItem.sendOutItem(parent);
+            this.setAttribute("bgcolor",0xFFFFFF);
+        </handler>
+        
+        <handler name="onmousetrackup">
+            if ($debug) Debug.write("onmousetrackup");
+            this.setAttribute("bgcolor",0xFFFFFF);
+        </handler> 
+        
+        <handler name="onmousedown">
+        	if (parent.isRoot) {
+                return;
+            }
+            lz.Timer.addTimer( parent.mouseDownClickDelegate, 300 );
+        </handler>
+        <handler name="onmouseup">
+        	if (parent.isRoot) {
+                return;
+            }
+            lz.Timer.removeTimer( parent.mouseDownClickDelegate );
+        </handler>
+		<handler name="onclick">
+            parent.toggleOpen(true);
+        </handler>
+	</text>
+	
+	<view name="content" x="12" y="18" layout="axis:y;inset:1" visibility="hidden">
+		
+	</view>
+</class>
+
+
+</library>
diff --git a/WebContent/src/modules/lzrecordcontent/treeitems/library.lzx b/WebContent/src/modules/lzrecordcontent/treeitems/library.lzx
new file mode 100644
index 0000000..faad52b
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/treeitems/library.lzx
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+    <include href="baseFLVExplorerItem.lzx" />
+    <include href="folderFLVExplorerItem.lzx" />
+    <include href="flvExplorerItem.lzx" />
+    <include href="rootFLVExplorerItem.lzx" />
+    
+</library>
diff --git a/WebContent/src/modules/lzrecordcontent/treeitems/rootFLVExplorerItem.lzx b/WebContent/src/modules/lzrecordcontent/treeitems/rootFLVExplorerItem.lzx
new file mode 100644
index 0000000..4a7e187
--- /dev/null
+++ b/WebContent/src/modules/lzrecordcontent/treeitems/rootFLVExplorerItem.lzx
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="rootFLVExplorerItem" extends="baseFLVExplorerItem" isFolder="true" isRoot="true">
+	
+	<text name="_fileName" x="36" text="${ parent.fileName }" fontsize="10" resize="true" y="1">
+		<contextmenu>
+            				 
+            <contextmenuitem caption="$once{ canvas.getLabelName(709) }" 
+            				 onselect="parent.parent.parent.addFolder()" />
+            				 
+        </contextmenu>
+        
+        <handler name="onmousetrackover">
+            //if ($debug) Debug.write("onmousetrackover");
+            canvas.currentImagesListdraw.currentDragItem.sendOverItem(parent);
+            this.setAttribute("bgcolor",0x93FE92);
+        </handler>
+        
+        <handler name="onmousetrackout">
+            //if ($debug) Debug.write("onmousetrackout");
+            canvas.currentImagesListdraw.currentDragItem.sendOutItem(parent);
+            this.setAttribute("bgcolor",0xFFFFFF);
+        </handler>
+        
+        <handler name="onmousetrackup">
+            if ($debug) Debug.write("onmousetrackup");
+            this.setAttribute("bgcolor",0xFFFFFF);
+        </handler> 
+        
+		<handler name="onclick">
+            parent.toggleOpen(true);
+        </handler>
+	</text>
+	
+	<view name="content" x="12" y="18" layout="axis:y;inset:1" visibility="hidden">
+		
+	</view>
+</class>
+
+
+</library>
diff --git a/WebContent/src/modules/meetings/allmeetings.lzx b/WebContent/src/modules/meetings/allmeetings.lzx
new file mode 100644
index 0000000..a15e9cc
--- /dev/null
+++ b/WebContent/src/modules/meetings/allmeetings.lzx
@@ -0,0 +1,326 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="allmeetings" extends="baseContentView" height="${ canvas.height-canvas.naviHeight }">
+	<attribute name="finishedTabsQuantity" type="number" value="0"/>	
+	<attribute name="clickedButton" value="null"/>
+			
+	<method name="updateFinishedTabsQuantity">
+		this.finishedTabsQuantity = this.finishedTabsQuantity + 1;
+
+		if (this.finishedTabsQuantity == 3) {
+			if (clickedButton != null) {
+				lz.Cursor.unlock();
+
+				clickedButton.onclick.sendEvent();
+			}
+		}
+	</method>
+	
+	<handler name="oninit">
+		_mainScrollBar.setAttribute("visibility","hidden");
+	</handler>
+	
+	<handler name="ontabcontentleave">
+		_mainScrollBar.setAttribute("visibility","visible");
+		//canvas._chatcontentRPC = null;
+		//canvas.thishib.removeClientFromChatNotification.doCall();
+	</handler>
+    
+    <attribute name="refObjItem" value="null" />
+    
+    <method name="doSelection" args="objRef">
+    	if (this.refObjItem != null) {
+    		this.refObjItem.deselect();
+    	}
+    	this.refObjItem = objRef;
+    	
+    	if (this.refObjItem.name == "publicTabButton"){
+    		this._conferences.PublicMeetings.setAttribute("visibility","visible");
+    		this._conferences.PrivateMeetings.setAttribute("visibility","hidden");
+    		this._conferences.MyMeetings.setAttribute("visibility","hidden");
+    	} else if (this.refObjItem.name == "privateTabButton"){
+    		this._conferences.PublicMeetings.setAttribute("visibility","hidden");
+    		this._conferences.PrivateMeetings.setAttribute("visibility","visible");
+    		this._conferences.MyMeetings.setAttribute("visibility","hidden");
+    	} else if (this.refObjItem.name == "myTabButton"){
+    		this._conferences.PublicMeetings.setAttribute("visibility","hidden");
+    		this._conferences.PrivateMeetings.setAttribute("visibility","hidden");
+    		this._conferences.MyMeetings.setAttribute("visibility","visible");
+    	}
+    	
+    	this.refObjItem.select();
+    </method>
+    
+   	<view name="_tabbarBg" width="${ parent.width }" height="32" y="1" bgcolor="0xFAFAFA" />
+   	
+	<view name="borderBarBottom" y="34"
+   			width="${ parent.width }" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" height="1" />  
+      
+	<view name="_tabbar" width="${ canvas.width }" y="1" height="32"
+  		  layout="axis:x;spacing:2;inset:2" >
+  		  	
+	 	<handler name="oninit">
+	   		for (var eg in this.subviews) {
+           		this.subviews[eg].deselect();
+            }
+            this.publicTabButton.select();
+	   	</handler>
+		
+		<tabButtonMain name="publicTabButton" selected="true" height="$once{ parent.height }" 
+        		currentIconRsc="icon_btn_rooms_conference" x="0" labelid="777" width="${ (parent.width-6)/3 }"/>
+		
+		<tabButtonMain name="privateTabButton" width="${ (parent.width-6)/3 }" height="$once{ parent.height }" 
+        		 currentIconRsc="icon_btn_rooms_conference" labelid="779" />
+        		
+        <tabButtonMain name="myTabButton" width="${ (parent.width-6)/3 }" height="$once{ parent.height }" 
+        		currentIconRsc="icon_btn_rooms_conference" labelid="781" />
+		
+	</view>
+	
+	<!-- public rooms -->
+	<view name="_conferences" height="${ parent.height-40 }" y="40">
+		<view name="PublicMeetings" height="${ parent.height }">
+			
+			<image x="10" src="$once{ canvas.getThemeImage('info_text_icon_rsc') }" />
+			
+			<labelText labelid="778" x="30" width="400" multiline="true" />
+			
+			<view y="40" height="${ parent.height-40 }">
+		    
+				<netRemoteCallHib name="removeClientFromChatNotification" funcname="chatservice.removeClientFromChatNotification"	
+					remotecontext="$once{ canvas.thishib }" >      
+					<handler name="ondata" args="value">
+						if ($debug) Debug.write("removeClientFromChatNotification: ",value);
+						this.parent.destroy();
+					</handler>
+				</netRemoteCallHib>
+    
+	  
+				<view y="4" x="4" height="${ parent.height-4 }">
+					
+					<handler name="oninit">
+						canvas.thishib.roomtype = "public";
+						this.getRoomsPublicWithoutType.doCall();
+					</handler>
+	        
+					<netRemoteCallHib name="getRoomsPublicWithoutType" funcname="conferenceservice.getRoomsPublicWithoutType" 
+						remotecontext="$once{ canvas.thishib }" >   
+						<netparam><method name="getValue">return canvas.sessionId;</method></netparam>  
+						<handler name="ondata" args="value">	
+							<![CDATA[
+								if ($debug) Debug.write("getRoomsPublicWithoutType: ", value);
+								if (value != null) {
+									for (var eg = 0; eg < value.length; eg++) {
+										var time = value[eg].starttime.getHours()
+												+ ':' + value[eg].starttime.getMinutes()
+												+ ' ' + value[eg].starttime.getDate()
+												+ '.' + (value[eg].starttime.getMonth() + 1)
+												+ '.' + value[eg].starttime.getFullYear();
+												
+										new lz.roomListItem(parent.inn.inn.inn,
+												{
+													roomType:value[eg].roomtype.roomtypes_id,
+													currentusers : value[eg].currentusers,
+													obj : value[eg],
+													ispublic : true,
+													roomid : value[eg].rooms_id,
+													starttime : time,
+													roomname : value[eg].name,
+													roomcomment : value[eg].comment
+												});
+									}
+								}
+								parent.parent.parent.parent.parent.updateFinishedTabsQuantity();
+							]]>	        	          				
+						</handler>	
+					</netRemoteCallHib>
+
+					<!-- inn.inn.inn view would be setted object by above ondata hander. -->
+					<view name="inn" width="480" height="${ parent.height }" 
+									bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }">
+						<view name="inn" x="1" y="1" width="479" height="${ parent.height-1 }" 
+							  		bgcolor="0xFFFFFF" clip="true" >
+							<view name="inn" layout="axis:y;spacing:1"/>
+							<om_vscrollbar />
+						</view>
+					</view>
+				</view>
+				<!-- description panel for eache room. right hand on this class view.
+						roomListDetails class are declared in modules/conference/conference/roomListDetails.lzx.
+							Mar 24 2008 commented by onokeiji@gmal.com
+					 -->
+				<roomListDetails x="510" y="4" name="_roomlistdetails" height="${ parent.height-4 }" />
+			</view>
+		</view>
+	
+	
+		<!-- private Meetings -->	
+		<view name="PrivateMeetings" visibility="hidden" height="${ parent.height }">
+			
+			<image x="10" src="$once{ canvas.getThemeImage('info_text_icon_rsc') }" />
+			
+			<labelText labelid="780" x="30" width="400" multiline="true" />
+				
+			<view y="40" height="${ parent.height-40 }">
+			
+				<!-- Declared conference rooms list -->
+				<view y="4" x="4" height="${ parent.height-4 }">
+					<handler name="oninit">
+						canvas.thishib.roomtype = "private";
+						this.getRoomsByOrganisationWithoutType.doCall();
+					</handler>    
+	        
+					<netRemoteCallHib name="getRoomsByOrganisationWithoutType" funcname="conferenceservice.getRoomsByOrganisationWithoutType" remotecontext="$once{ canvas.thishib }" >   
+						<netparam><method name="getValue">return canvas.sessionId;</method></netparam>  
+						<netparam><method name="getValue">return hib.currentdomainObj.organisation_id;</method></netparam>  
+						<handler name="ondata" args="value">	
+						<![CDATA[
+                            if ($debug) Debug.write("getRoomsByOrganisationWithoutType ",value);
+							if (value != null) {
+								for (var eg = 0; eg < value.length; eg++) {
+									new lz.roomListItem(parent.inn.inn.inn,{
+												roomType:value[eg].room.roomtype.roomtypes_id,
+												currentusers : value[eg].room.currentusers,
+												obj : value[eg],
+												ispublic : false,
+												roomid : value[eg].room.rooms_id,
+												starttime : parseDateToStringTime(value[eg].room.starttime),
+												roomname : value[eg].room.name,
+												roomcomment : value[eg].room.comment
+											});
+								}
+							}
+
+							parent.parent.parent.parent.parent
+									.updateFinishedTabsQuantity();
+						]]>	        	          				
+						</handler>	
+					</netRemoteCallHib> 
+	 
+					<!-- inn.inn.inn view would be setted object by above ondata hander. -->
+					<view name="inn" width="480" height="${ parent.height }" 
+									bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }">
+						<view name="inn" x="1" y="1" width="479" height="${ parent.height-1 }" bgcolor="0xFFFFFF" clip="true" >
+							<view name="inn" layout="axis:y;spacing:1"/>
+							<om_vscrollbar />
+						</view>
+					</view>
+				</view>
+	
+				<!-- description panel for eache room. right hand on this class view.
+						roomListDetails class are declared in modules/conference/conference/roomListDetails.lzx.
+							Mar 24 2008 commented by onokeiji@gmal.com
+					 -->
+				<roomListDetails x="510" y="4" name="_roomlistdetails" height="${ parent.height-4 }" />
+			</view>
+  			
+		</view>
+		
+		<!-- Appointed Meetings -->
+		<view name="MyMeetings" visibility="hidden" height="${ parent.height }">
+			
+			<image x="10" src="$once{ canvas.getThemeImage('info_text_icon_rsc') }" />
+			
+			<labelText labelid="782" x="30" width="400" multiline="true" />
+			
+			<!-- Declared conference rooms list -->
+			<view y="60" height="${ parent.height-60 }">
+				
+				<handler name="oninit">
+					canvas.thishib.roomtype = "public";
+					
+                    new lz.roomListItem(this.inn.inn.inn,{
+                                                roomType:1,
+                                                ispublic:true,
+                                                roomname : canvas.getLabelName(1306)
+                                            });
+
+                    new lz.roomListItem(this.inn.inn.inn,{
+                                                roomType:3,
+                                                ispublic:true,
+                                                roomname : canvas.getLabelName(1307)
+                                            });
+                        
+					this.getAppointedMeetingRoomsWithoutType.doCall();
+				</handler>    
+	        
+				<netRemoteCallHib name="getAppointedMeetingRoomsWithoutType" funcname="conferenceservice.getAppointedMeetingRoomsWithoutType" remotecontext="$once{ canvas.thishib }" >   
+					<netparam><method name="getValue">return canvas.sessionId;</method></netparam>  
+					<handler name="ondata" args="value">	
+						<![CDATA[
+							if ($debug) Debug.write("getRoomsPublic: ", value);
+							if (value != null) {
+								for (var eg = 0; eg < value.length; eg++) {
+									var time = value[eg].starttime.getHours()
+											+ ':'
+											+ value[eg].starttime.getMinutes()
+											+ ' '
+											+ value[eg].starttime.getDate()
+											+ '.'
+											+ (value[eg].starttime.getMonth() + 1)
+											+ '.'
+											+ value[eg].starttime.getFullYear();
+									new lz.roomListItem(parent.inn.inn.inn, 
+										   {
+										        roomType:value[eg].roomtype.roomtypes_id,
+												currentusers : value[eg].currentusers,
+												obj : value[eg],
+												ispublic : true,
+												roomid : value[eg].rooms_id,
+												starttime : time,
+												roomname : value[eg].name
+											});
+								}
+	
+								
+							}
+							
+							parent.parent.parent.parent.updateFinishedTabsQuantity();
+						]]>		        	          				
+					</handler>	
+				</netRemoteCallHib> 
+	 
+				<!-- inn.inn.inn view would be setted object by above ondata hander. -->
+				<view name="inn" width="480" height="${ parent.height }" 
+								bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }">
+					<view name="inn" x="1" y="1" width="479" height="${ parent.height-1 }" bgcolor="0xFFFFFF" clip="true" >
+						<view name="inn" layout="axis:y;spacing:1"/>
+						<om_vscrollbar />
+					</view>
+				</view>
+			</view>
+	
+			<!-- description panel for eache room. right hand on this class view.
+					roomListDetails class are declared in modules/conference/conference/roomListDetails.lzx.
+						Mar 24 2008 commented by onokeiji@gmal.com
+				 -->
+			<roomListDetails x="510" y="4" name="_roomlistdetails" height="${ parent.height-4 }" />
+			
+		</view>
+		
+	</view>
+	
+</class>
+
+
+</library>
diff --git a/WebContent/src/modules/meetings/library.lzx b/WebContent/src/modules/meetings/library.lzx
new file mode 100644
index 0000000..22103e7
--- /dev/null
+++ b/WebContent/src/modules/meetings/library.lzx
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+    <include href="allmeetings.lzx" />
+
+</library>
diff --git a/WebContent/src/modules/settings/editUserProfile.lzx b/WebContent/src/modules/settings/editUserProfile.lzx
new file mode 100644
index 0000000..84693db
--- /dev/null
+++ b/WebContent/src/modules/settings/editUserProfile.lzx
@@ -0,0 +1,393 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="editUserProfile" extends="baseContentSaveView" width="${ canvas.width - 4 }"
+	addIsVisible="false" deleteIsVisible="false">
+		
+	<!-- recordContent-id -->
+	<attribute name="user_id" value="0" type="number" />
+    <attribute name="userObj" value="null" />
+	
+	<!--handlers -->
+
+	<handler name="onsavecompleted" >
+		this.getUserSelf.doCall();
+	</handler>
+	
+	<handler name="onreload" >
+		this.getUserSelf.doCall();
+	</handler>	
+	
+	<handler name="onconstruct">
+		if ($debug) Debug.write("::editUserProfile::");
+	</handler>
+
+    <handler name="oninit">
+		this.getUserSelf.doCall();
+    </handler>
+    
+    <!-- methods -->
+    
+    <method name="sendRefresh">
+    	this.getUserSelf.doCall();
+    </method>    
+	
+    <method name="initFields" args="obj">
+    	<![CDATA[
+            this.userObj = obj;
+			this.user_id = obj.user_id;
+			
+			hib.userobject = obj;
+			
+			if (obj.omTimeZone != null) {
+                canvas.setAttribute('jNameTimeZone',obj.omTimeZone.jname);
+                canvas.timeZoneId = obj.omTimeZone.omtimezoneId;
+            }
+			
+			//this.username.setAttribute('text',obj.login);
+			this.firstname.setAttribute('text',obj.firstname);
+			this.lastname.setAttribute('text',obj.lastname);
+			this.email.setAttribute('text',obj.adresses.email);
+			this.phone.setAttribute('text', obj.adresses.phone);
+			this.age.setAttribute('text',parseDateToString(obj.age));
+			this.street.setAttribute('text',obj.adresses.street);
+			this.house.setAttribute('text',obj.adresses.additionalname);
+			this.zip.setAttribute('text',obj.adresses.zip);
+			this.town.setAttribute('text',obj.adresses.town);
+			this.state.addAndSelectItem(obj.adresses.states.name,String(obj.adresses.states.state_id));
+			this.adress_comment.setAttribute('text',obj.adresses.comment);
+			this.salutation.selectItem(String(obj.title_id));
+			this._timeZone.selectItem(String(obj.omTimeZone.jname));
+			this.languages.selectItem(String(obj.language_id));
+			this._organisationslist.clearList();
+			for (var i=0;i<obj.organisation_users.length;i++){
+				this._organisationslist.addItem(obj.organisation_users[i].organisation.name,obj.organisation_users[i].organisation.organisation_id);
+			}
+			
+			if (obj.userOffers != null) {
+				this.userOffers.setAttribute('text',obj.userOffers);
+			}
+			if (obj.userSearchs != null) {
+				this.userSearchs.setAttribute('text',obj.userSearchs);
+			}
+			if (obj.showContactData != null && obj.showContactDataToContacts != null) {
+				
+				if (obj.showContactData) {
+					this.showContactData.selectItem("1");
+				} else if (obj.showContactDataToContacts) {
+					this.showContactData.selectItem("2");
+				} else {
+					this.showContactData.selectItem("3");
+				}
+				
+			}
+			
+			parent._userProfile.initFields(obj);
+			
+        ]]>
+    </method>
+	
+	<!-- remotecalls -->
+	
+  	<netRemoteCallHib name="getUserSelf" funcname="userservice.getUserSelf" 
+  		remotecontext="$once{ canvas.thishib }" > 
+  		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+    	<handler name="ondata" args="value">
+    		<![CDATA[
+    		
+    			if (value.pictureuri==null || value.pictureuri.length==0){
+					value.pictureuri = "d.jpg";
+    		    } else if (value.pictureuri.startsWith("http") || value.pictureuri.startsWith("https")) {
+                    //nothing
+				} else {
+					value.pictureuri = "_profile_"+value.pictureuri;
+				}
+				
+				var t = new Date();
+				if (value.pictureuri.startsWith("http") || value.pictureuri.startsWith("https")) {
+                    var downloadurl = value.pictureuri;
+                } else {
+    		        var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+    		        		+canvas.httpRootKey+'DownloadHandler?fileName='+value.pictureuri
+    		        		+'&moduleName=userprofile&parentPath=&room_id='
+    		        		+'&sid='+canvas.sessionId+'&r='+t.getTime();
+                }
+                
+		        if ($debug) Debug.write("downloadurl "+downloadurl);
+		        parent._userpic.setAttribute('src',downloadurl);	    		
+				//Debug.write("getUserSelf: ",value);
+	    		parent.initFields(value);
+    		]]>
+    	</handler>
+  	</netRemoteCallHib>	
+	
+
+  	<netRemoteCallHib name="updateUserSelfSmall" funcname="userservice.updateUserSelfSmall" 
+  		remotecontext="$once{ canvas.thishib }" registerObject="true" >   
+		<attribute name="sendObject" value="null" />
+		<!-- gets called by Observer -->
+  		<method name="prepareCall">
+            if (this.parent.userpass1.getText()==this.parent.userpass2.getText()){
+                this.parent.userObj.password = this.parent.userpass1.getText();
+            } else {
+                this.parent.userObj.password = '';
+            }
+            
+  			this.parent.userObj.firstname = this.parent.firstname.getText();
+  			this.parent.userObj.lastname = this.parent.lastname.getText();
+  			this.parent.userObj.email = this.parent.email.getText();
+  			this.parent.userObj.phone = this.parent.phone.getText();
+  			this.parent.userObj.street = this.parent.street.getText();
+  			this.parent.userObj.additionalname = this.parent.house.getText();
+  			this.parent.userObj.zip = this.parent.zip.getText();
+  			this.parent.userObj.town = this.parent.town.getText();
+  			this.parent.userObj.state_id = this.parent.state.getValue();
+  			this.parent.userObj.comment = this.parent.adress_comment.getText();
+            this.parent.userObj.age = this.parent.age.getDate();
+			this.parent.userObj.title_id = Number(this.parent.salutation.getValue());
+			this.parent.userObj.jnameTimeZone = parent._timeZone.getValue();
+			this.parent.userObj.languages_id = parent.languages.getValue();
+			
+			this.parent.userObj.userOffers = parent.userOffers.getText();
+			this.parent.userObj.userSearchs = parent.userSearchs.getText();
+			
+			var showContactData = Number(parent.showContactData.getValue());
+			
+			if (showContactData == 1) {
+				this.parent.userObj.showContactData = true;
+				this.parent.userObj.showContactDataToContacts = true;
+			} else if (showContactData == 2) {
+				this.parent.userObj.showContactData = false;
+				this.parent.userObj.showContactDataToContacts = true;
+			} else if (showContactData == 3) {
+				this.parent.userObj.showContactData = false;
+				this.parent.userObj.showContactDataToContacts = false;
+			}
+            
+			var g = canvas.getUserData();
+            g["showAudioVideoTest"] = parent.doShowTestWizzard.getValue();
+            canvas.setUserData(g);
+			
+            if ($debug) Debug.write("this.parent.userObj: ",this.parent.userObj);
+            if ($debug) Debug.write("this.parent.userObj.adresses.states ",this.parent.userObj.adresses.states);
+  		</method>
+  		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+    	<netparam><method name="getValue">return this.parent.parent.userObj;</method></netparam>	  		
+        <handler name="ondata" args="value"> 
+            if ($debug) Debug.write("updateUserSelfSmall: ",value);
+        </handler>
+  	</netRemoteCallHib>
+	
+	<!-- content -->	
+    
+    <!-- 143:userdata -->
+    <labelText labelid="143" width="200" y="40" resize="false" fontstyle="bold" />
+
+    <!-- 133:Password -->
+    <labelText labelid="133" width="200" y="70" resize="false" x="2"/>
+        <customEdittext name="userpass1" y="70" password="true" x="120" width="270" text="" />
+        
+    <!-- 134:Retype -->
+    <labelText labelid="134" width="200" y="100" resize="false" x="2"/>
+        <customEdittext name="userpass2" y="100" password="true" x="120" width="270" text="" />   
+    
+    <!-- 135:Firstname -->
+    <labelText labelid="135" width="200" y="130" resize="false" x="2"/>
+        <resetCombobox name="salutation" width="100" y="130" x="120" editable="false" fontsize="11">
+	        <handler name="oninit" >
+	            <![CDATA[
+	            for (var i=0;i<canvas.salutationsInitValues.length;i++){
+	                this.addItem(canvas.salutationsInitValues[i].label.value,canvas.salutationsInitValues[i].salutations_id);
+	            }
+	            this.selectItem(String(canvas.salutationsInitValues[0].salutations_id));
+	            ]]>
+	        </handler> 
+        </resetCombobox> 	
+        <customEdittext name="firstname" y="130" x="230" width="160" text="" />
+        
+    <!-- 136:Lastname -->
+    <labelText labelid="136" width="200" y="160" resize="false" x="2"/>
+        <customEdittext name="lastname" y="160" x="120" width="270" text="" />  
+        
+    <labelText labelid="1143" width="200" y="190" resize="false" x="2"/>
+         <resetCombobox name="_timeZone" editable="false" y="190" width="270" x="120"
+         			   fontsize="11" style="componentStyle">
+         	<labeldTextListItem datapath="timeZoneSet:/item" text="$path{ 'frontEndLabel/text()' }" 
+                value="$path{ 'jname/text()' }" />
+         </resetCombobox>       
+
+    <labelText labelid="111" width="200" y="220" resize="false" x="2"/>
+        <resetCombobox name="languages" width="270" y="220" x="120" editable="false">
+            <labeldTextListItem datapath="languagesSet:/item" text="$path{ 'name/text()' }"
+                value="$path{ 'language_id/text()' }" />
+            <handler name="oninit">
+                var g = canvas.getUserData();
+                if($debug) Debug.write("checkLoginData/g: ",g);
+                if (g["userlang"]!=null) {
+                    this.selectItem(g["userlang"]);
+                } else {
+                    this.selectItem(String(canvas.thishib.userlang));
+                }
+            </handler>
+        </resetCombobox>
+
+    <!-- 137:Mail -->
+    <labelText labelid="137" width="200" y="250" resize="false" x="2"/>
+        <customEdittext name="email" y="250" x="120" width="270" text="" regexpType="email"/>
+    
+    <!-- 607:Phone -->
+    <labelText labelid="607" width="200" y="280" resize="false" x="2"/>
+        <customEdittext name="phone" y="280" x="120" width="270" text="" />
+        
+    <!-- 138:Birthday -->
+    <labelText labelid="138" width="200" y="310" resize="false" x="2"/>
+        <dateField name="age" y="310" x="120" width="270" text="" />
+        
+    <!-- 139:Street/No -->
+    <labelText labelid="139" width="200" y="340" resize="false" x="2"/>
+        <customEdittext name="street" y="340" x="120" width="220" text="" />
+        <customEdittext name="house" y="340" x="350" width="40" text="" />
+        
+    <!-- 140:ZIP/Town -->
+    <labelText labelid="140" width="280" y="370" resize="false" x="2"/>
+        <customEdittext name="zip" y="370" x="120" width="70" text="" />   
+        <customEdittext name="town" y="370" x="200" width="190" text="" />                        
+         
+    <!-- 141:Country -->
+    <labelText labelid="141" width="200" y="400" resize="false" x="2"/>  
+        <dynamicCombobox name="state" width="270" y="400" x="120"
+                         text="Switzerland" value="204" />
+                         
+                         <!--
+		<validText name="state" width="270" y="340" x="120" fontsize="11" 
+            shownitems="7" validate_method="$once{ canvas.validateCountry }" 
+            resultId="state_id" resultName="name" /> -->
+			
+	 
+    <!-- 142:Adress-Info -->
+    <labelText labelid="142" width="200" y="430" resize="false" x="2"/>
+        <customEdittext name="adress_comment" y="430" x="120" width="270" 
+            height="100" text="" multiline="true"/>
+       
+    <!-- 161:Organisations -->
+    <labelText labelid="161" width="200" y="540" resize="false" x="2"/>     
+    <simpleValueList name="_organisationslist" y="540" x="120" width="270" height="100" 
+		multiselect="true" />
+		
+	
+	<view y="42" x="414" name="_imageProfileBG1" width="128" height="128" 
+    				bgcolor="0xFFFFFF" opacity="0.5" >
+    </view>
+    
+   	<image name="_userpic" y="42" x="414" >
+   
+    	<handler name="onload" args="d">
+            <![CDATA[
+                if (this.height > 116) {
+                    //If bigger then containter then scale it
+                    var width = this.width/(this.height/116);
+                    this.setAttribute('height',116);
+                    this.setAttribute('width',width);
+                }
+                if (this.width > 116) {
+                	//If bigger then containter then scale it
+                    var height = this.height/(this.width/116);
+                    this.setAttribute('height',height);
+                    this.setAttribute('width',116);
+                }
+                if($debug) Debug.write("onload ",this.height,this.width,d.height,d.width);
+                
+                //makes sure bottom area is updated
+                //this._changeSize.setAttribute('y',this.height-20);
+                //this._changeSize.setAttribute('width',this.width);
+            ]]>
+        </handler>
+    	
+    </image>
+    
+    <view y="42" x="414" name="_imageProfileBG2" width="128" height="128" >
+	    
+	    <view name="_changeSize" height="48" width="128" y="80" bgcolor="0xFFFFFF" opacity="0.6">
+   			<labelText labelid="379" align="center" />
+    		<handler name="onclick">
+        		<![CDATA[
+		        	new lz.uploadWindowExplorer(canvas.main_content._content.inner,{
+		                            x:300,uploadmodule:'userprofile',
+		                            isOnlyProfile:true,
+		                            returnObj:this,
+		                            servletName:'upload.upload'
+		                        });
+	        	]]>
+	        </handler>
+	        <method name="sendRefresh">
+	        	parent.parent.getUserSelf.doCall();
+	        </method>
+	    	<labelTooltip labelid="379" />
+    	</view>
+    
+    </view>
+	
+    <!-- Remember Me -->    
+    <labelCheckbox name="doShowTestWizzard" labelid="776" x="430" y="186" >
+        <handler name="oninit">
+            var g = canvas.getUserData();
+            var save = g["showAudioVideoTest"];
+            if ($debug) Debug.write("savecamdata save: ",save);
+            if(save) this.setValue(true);
+        </handler>         
+    </labelCheckbox>
+       
+    <!-- 379:Upload new Image -->
+    <simpleLabelButton y="204" labelid="1300" x="550">
+    	<handler name="onclick">
+    		new lz.editWhiteboardDefault(parent,{x:400,y:140});
+    	</handler>
+    </simpleLabelButton>       
+      
+        
+    <!-- Community settings -->
+    <labelText labelid="1159" width="200" y="230" resize="false" 
+               x="410" fontstyle="bold" visibility="visible"/>   
+    
+   <radiogroup name="showContactData" visibility="visible"
+   			layout="class:simplelayout;axis:y;spacing:2" y="260" x="420">
+        <labelRadioButton labelid="1160" value="1" />
+        <labelRadioButton labelid="1168" value="2" />
+        <labelRadioButton labelid="1169" value="3" />
+    </radiogroup> 
+ 
+    <view resource="messagebox_info_rsc" x="410" y="320" visibility="visible"/>
+    
+    <labelText labelid="1161" x="434" y="320"  fontstyle="italic"
+               multiline="true" width="366" visibility="visible"/>  
+                 
+	<labelText labelid="1162" width="200" y="390" resize="false" x="410" visibility="visible"/>
+        <customScrollEdittext name="userOffers" y="390" x="530" width="270" 
+           			 height="100" text="" visibility="visible"/>	
+
+	<labelText labelid="1163" width="200" y="500" resize="false" x="410" visibility="visible"/>
+        <customScrollEdittext name="userSearchs" y="500" x="530" width="270" 
+           			 height="100" text="" visibility="visible"/>	
+           			 
+</class>
+	
+</library>
diff --git a/WebContent/src/modules/settings/library.lzx b/WebContent/src/modules/settings/library.lzx
new file mode 100644
index 0000000..d2c478f
--- /dev/null
+++ b/WebContent/src/modules/settings/library.lzx
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	<!-- APL Author sebawagner -->
+	<resource name="image_loading_placeholder_rsc" 
+			  src="resources/loading_symbol.swf" />
+	
+	<!-- APL Author sebawagner -->
+	<resource name="private_message_select_part_rsc" 
+			  src="resources/select_part.png" />	
+		
+	<!-- FamFam Icon Set -->
+	<resource name="private_message_send_rsc" 
+			  src="resources/email_go.png" />	 
+		
+	<!-- FamFam Icon Set -->
+	<resource name="private_message_add_rsc" 
+			  src="resources/email_add.png" />	
+		
+	<!-- FamFam Icon Set -->	  
+	<resource name="private_message_trash_rsc" 
+			  src="resources/email_delete.png" />	
+	
+	<!-- FamFam Icon Set -->
+	<resource name="private_message_folder_add_rsc" 
+			  src="resources/folder_add.png" />		
+	
+	<!-- FamFam Icon Set -->	  
+	<resource name="private_message_folder_rsc" 
+			  src="resources/folder.png" />	
+		
+	<!-- FamFam Icon Set -->	  
+	<resource name="private_message_inbox_rsc" 
+			  src="resources/basket_put.png" />	
+		
+	<!-- FamFam Icon Set -->	  
+	<resource name="user_contact_calendar_add_rsc" 
+              src="resources/calendar_add.png" />  
+	
+	<!-- FamFam Icon Set -->		  
+	<resource name="user_contact_calendar_delete_rsc" 
+              src="resources/calendar_delete.png" /> 
+      
+    <!-- FamFam Icon Set -->	        
+    <resource name="user_contact_calendar_system_undo_rsc" 
+              src="resources/arrow_undo.png" />   
+   
+    <include href="privatemessages/" />
+    <include href="usercontacts/" />
+    <include href="searchuserprofile/" />
+    
+    <include href="viewUserProfile.lzx" />
+    <include href="userSettings.lzx" />
+    <include href="editUserProfile.lzx" />
+
+</library>
diff --git a/WebContent/src/modules/settings/privatemessages/library.lzx b/WebContent/src/modules/settings/privatemessages/library.lzx
new file mode 100644
index 0000000..7732b86
--- /dev/null
+++ b/WebContent/src/modules/settings/privatemessages/library.lzx
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	
+    <include href="newPrivateMessage.lzx" />
+    <include href="newPrivateMessageFolder.lzx" />
+    <include href="privateMessageFolder.lzx" />
+    <include href="privateMessagItem.lzx" />
+    <include href="privateMessages.lzx" />
+    <include href="roomAccessMessage.lzx" />
+    <include href="pendingUserStatus.lzx" />
+
+
+</library>
diff --git a/WebContent/src/modules/settings/privatemessages/newPrivateMessage.lzx b/WebContent/src/modules/settings/privatemessages/newPrivateMessage.lzx
new file mode 100644
index 0000000..70bb360
--- /dev/null
+++ b/WebContent/src/modules/settings/privatemessages/newPrivateMessage.lzx
@@ -0,0 +1,479 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="newPrivateMessage" extends="guiPresenter" labelid="1209" isdragable="false" 
+    minimizable="false" maximizable="false" fullToolBar="true" 
+    resizeable="false" width="250" height="154" >
+	
+	<attribute name="refObj" value="null"/>
+	
+	<attribute name="userObject" value="null" />
+	
+	<attribute name="user_id" value="0" type="number"/>
+	
+	<attribute name="parentMessageId" value="0" type="number" />
+	
+	<attribute name="receipents" value="null" />
+	
+	<attribute name="saveRefObj" value="null" />
+	
+	<handler name="oninit">
+		<![CDATA[
+			if (this.userObject != null) {
+				
+				var tString = this.userObject.firstname + ' ' + this.userObject.lastname  + ' ' 
+							+ '<' + this.userObject.adresses.email + '>';
+				
+				this._to.sendUpdateText = false;
+				this._to.setAttribute("text",tString);
+				this._to.sendUpdateText = true;
+			} else if (this.user_id != 0) {
+				this.getUserById.doCall();
+			}
+		]]>
+	</handler>
+	
+	<netRemoteCallHib name="getUserById" funcname="userservice.getUserById" 
+        remotecontext="$once{ canvas.thishib }" > 
+        <netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+        <netparam><method name="getValue">return parent.parent.user_id;</method></netparam>
+        <handler name="ondata" args="value">
+        	<![CDATA[
+            if($debug) Debug.write("[admin]userValueForm/getUserById: ",value.lastname);
+            parent.userObject = value;
+            var tString = value.firstname + ' ' + value.lastname  + ' ' 
+                            + '<' + value.adresses.email + '>';
+                
+            parent._to.sendUpdateText = false;
+            parent._to.setAttribute("text",tString);
+            parent._to.sendUpdateText = true;
+            ]]>
+        </handler>
+    </netRemoteCallHib>
+	
+	<handler name="onclose">
+		if (this.refObj != null) {
+		    this.refObj.newMessageActive = false;
+		}
+	</handler>
+	
+	<method name="send">
+		<![CDATA[
+		
+			var tAString = this._to.getText().split(",");
+			
+			this.receipents = new Array();
+			
+			for (var i=0;i<tAString.length;i++) {
+				
+				var sString = tAString[i];
+				
+				var t1 = sString.indexOf("<");
+				var t2 = sString.indexOf(">");
+				
+				if ($debug) Debug.write("++ ",i,sString,t1,t2);
+				
+				var email = sString;
+				if (t1 > -1 && t2 > -1) {
+					email = sString.substring(t1 + 1, t2);
+				}
+				
+				if ($debug) Debug.write("++ ",email);
+				
+				this.receipents.push(email);
+				
+			}
+			
+			if ($debug) Debug.write("receipents :: ",this.receipents);
+			if ($debug) Debug.write("receipents :: ",this._richText.getText());
+		
+			this.composeMail.doCall();
+		]]>
+	</method>
+	
+	<!--
+	public Long composeMail(String SID, Map receipents, String subject, String message, Boolean bookedRoom, 
+    		Date validFromDate, String validFromTime, Date validToDate, String validToTime,
+    		Long parentMessageId, Long roomtype_id)
+	 -->
+	<netRemoteCallHib name="composeMail" funcname="userservice.composeMail" remotecontext="$once{ canvas.thishib }" >    
+    		
+    		<netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+		    <netparam><method name="getValue">return parent.parent.receipents</method></netparam>
+            <netparam><method name="getValue">return this.parent.parent._subject.getText();</method></netparam>
+            <netparam><method name="getValue">return parent.parent._richText.getText();</method></netparam>
+            <netparam><method name="getValue">return this.parent.parent._bookRoom.getValue();</method></netparam>
+            <netparam><method name="getValue">return parseDateToStringTimeSeconds(parent.parent._valid_from.getDate());</method></netparam>
+            <netparam><method name="getValue">return parent.parent._timeFrom.getText();</method></netparam>
+            <netparam><method name="getValue">return parseDateToStringTimeSeconds(parent.parent._valid_to.getDate());</method></netparam>
+            <netparam><method name="getValue">return parent.parent._timeTo.getText();</method></netparam>
+            <netparam><method name="getValue">return parent.parent.parentMessageId;</method></netparam>
+            <netparam><method name="getValue">return Number(parent.parent._roomtype.getValue());</method></netparam>
+            <!--String domain, String port, String webapp-->
+            <netparam><method name="getValue"> return canvas.rtmphostlocal; </method></netparam>
+            <netparam><method name="getValue"> return canvas.red5httpport; </method></netparam>
+            <netparam><method name="getValue"> return canvas.httpRootKey; </method></netparam>
+            <handler name="ondata" args="value">
+            	<![CDATA[
+                	//The onResult-Handler will be called be the rtmpconnection
+			if ($debug) Debug.write("composeMail : ",value);
+			if (parent.saveRefObj != null) {
+				parent.saveRefObj.saveNotification(parent._bookRoom.getValue());
+			}
+			parent.close();
+           ]]>
+		</handler>   
+	</netRemoteCallHib>	
+	
+	<labelText name="_labelTo" x="2" labelid="1210" y="24"/>
+	
+	<customScrollEdittext name="_to" y="22" x="80" width="$once{ parent.width-82 }" 
+						  text="" height="60">
+		
+		<attribute name="sendUpdateText" value="true" type="boolean"/>
+		<attribute name="sendSingleUpdateText" value="true" type="boolean"/>
+		
+		<handler name="oninit">
+			this.closeDelegate = new LzDelegate( this, "onblurFunction" );
+			this._list.refObj = this;
+			this._list.setAttribute("width",this.width);
+		</handler>
+		
+		<handler name="ontextChange" args="t">
+			<![CDATA[
+				if ($debug) Debug.write("-- ontextChange ",this.sendUpdateText,t);
+				
+				if (!this.sendUpdateText) {
+					return;
+				}
+				
+				var tAString = t.split(",");
+				
+				var tString = tAString[tAString.length-1];
+				
+				if ($debug) Debug.write("-1- tString ",tString);
+				
+				tString = tString.split(' ').join('');
+				
+				if ($debug) Debug.write("-2- tString ",tString);
+				
+				if (tString != "") {
+					
+					this.startSearch(tString);
+					
+				}
+				
+			]]>
+		</handler>
+		
+		<method name="addText" args="txt">
+			<![CDATA[
+			
+				if ($debug) Debug.write("-- addText ",txt);
+				
+				var t = this.getText();
+				var tAString = t.split(",");
+				
+				var nString = "";
+				
+				if ($debug) Debug.write("-- tAString.length ",tAString.length);
+				
+				for (var i=0; i<tAString.length-1; i++) {
+					if (i!=0) {
+						nString += ", ";
+					}
+					nString += tAString[i];
+					if ($debug) Debug.write("-- nString 1 ",nString);
+				}
+				
+				if ($debug) Debug.write("-- nString 2 ",nString);
+				
+				if (nString != "") {
+					nString += ", "
+				}
+				
+				nString += txt;
+				
+				if ($debug) Debug.write("-- nString 3 ",nString);
+				
+				this.sendUpdateText = false;
+				this.setAttribute("text",nString);
+				this.sendUpdateText = true;
+			
+			]]>
+		</method>
+		
+		<handler name="onblur">
+			<![CDATA[
+			
+				if (!this.sendUpdateText) {
+					return;
+				}
+				
+				lz.Timer.addTimer( this.closeDelegate, 10 );
+				
+			]]>
+		</handler>				
+				
+		<method name="onblurFunction" args="refObj" >
+			<![CDATA[
+				if ($debug) Debug.write("-- onblur");
+				
+				if (!this.sendSingleUpdateText) {
+					this.sendSingleUpdateText = true;
+					return;
+				}
+				
+				if (this._list.visibility == "visible") {
+					this._list.setAttribute("visibility","hidden");
+				}
+				
+				var t = this.getText();
+				var tAString = t.split(", ");
+				
+				var lastString = tAString[tAString.length-1];
+				
+				var lastChar = lastString.charAt(lastString.length-1);
+
+				if (lastChar != ">") {
+					var nString = "";
+					
+					for (var i=0;i<tAString.length-1;i++) {
+						if (i!=0) {
+							nString += ",";
+						}
+						nString += tAString[i];
+					}
+					
+					this.sendUpdateText = false;
+					this.setAttribute("text",nString);
+					this.sendUpdateText = true;
+					
+				}
+				
+			]]>
+		</method>
+		
+		<method name="startSearch" args="tString">
+			<![CDATA[
+			
+				if ($debug) Debug.write("startSearch :: ",tString);
+				var tResultA = new Array();
+				
+				for (var i=0; i<canvas.userContacts.length; i++) {
+					
+					if (canvas.userContacts[i].contact.firstname.startsWith(tString) 
+						|| canvas.userContacts[i].contact.lastname.startsWith(tString) 
+						|| canvas.userContacts[i].contact.adresses.email.startsWith(tString) ) {
+					
+						tResultA.push(canvas.userContacts[i]);
+							
+					}
+					
+				}
+				
+				if (tResultA.length > 0) {
+					this._list.removeAllItems();
+					
+					for (var k=0;k<tResultA.length;k++) {
+						
+						this._list.addItem(tResultA[k].contact.firstname +' '+ tResultA[k].contact.lastname + ' &#60;' + tResultA[k].contact.adresses.email + '&#62;', tResultA[k].contact.firstname +' '+ tResultA[k].contact.lastname + ' <' + tResultA[k].contact.adresses.email + '>'); 
+						
+					}
+					
+					
+				} else {
+					
+					this._list.removeAllItems();
+					
+					this._list.addItem("No Contact Found","0");
+					
+				}
+				
+				this.sendUpdateText = false;
+				this._list.sendUpdateAttr = false;
+				this._list.selectItemAt(0);
+				this._list.sendUpdateAttr = true;
+				
+				//lz.Focus.setFocus(this._list, true);
+				this.sendUpdateText = true;
+				
+				//this._list.setHilite(this._list.getItemAt(0));
+				this._list.setAttribute("visibility","visible");
+				
+				if ($debug) Debug.write("LIST :1: ",this._list.sendUpdateAttr);
+			
+			]]>
+		</method>
+		<floatinglist name="_list" width="100" 
+					  attach="bottom" visibility="hidden">
+			<attribute name="sendUpdateAttr" value="true" type="boolean"/>
+			<attribute name="refObj" value="null"/>
+			<handler name="onfocus">
+				if ($debug) Debug.write("onfocus");
+				this.refObj.sendSingleUpdateText = false;
+			</handler>
+			<handler name="onselect" args="sel">
+				if ($debug) Debug.write("onselect :1: ",this.sendUpdateAttr);
+				if (this.sendUpdateAttr) {
+					if ($debug) Debug.write("onselect :2: ",sel.value);
+					if (sel.value != "0") {
+						if ($debug) Debug.write("this.parent :: ",this.parent);
+						this.refObj.addText(sel.value);
+						this.setAttribute("visibility","hidden");
+					}
+				}
+			</handler>
+            <textlistitem text="one"/>
+            <textlistitem text="two"/>
+        </floatinglist>
+	</customScrollEdittext>
+	
+	<labelText name="_labelSubject" x="2" labelid="1211" y="86"/>
+	
+	<customEdittext name="_subject" y="84" x="80" width="$once{ parent.width-82 }" />
+
+	<customScrollEdittext name="_richText" y="108" clip="true" x="1"
+		width="$once{ parent.width-2 }" height="$once{ parent.height-225 }">
+		
+	</customScrollEdittext> 	
+	
+	<labelCheckbox name="_bookRoom" labelid="1218"
+				   width="270" y="$once{ parent.height-120 }" x="4">
+		<handler name="onvalue" args="v">
+			if ($debug) Debug.write("onvalue ",v);
+			if (parent._hideRoomConfig != null) {
+				parent._hideRoomConfig.setAttribute("visibility", v ? "hidden" : "visible");
+			}
+		</handler>
+	</labelCheckbox>
+	
+	<view name="_roomConfigBG" width="290" height="76" bgcolor="0xDDDDDD" 
+		   opacity="0.1" y="$once{ parent.height-104 }" x="2">
+	</view>
+	
+	<labelText labelid="194" width="200" y="$once{ parent.height-100 }" resize="false" x="4"/>  
+        <resetCombobox name="_roomtype" width="164" y="$once{ parent.height-100 }" 
+        			   x="120" editable="false" fontsize="11">
+	        <handler name="oninit" >
+	            <![CDATA[
+		            for (var i=0;i<canvas.roomTypesInitValues.length;i++){
+		                this.addItem(canvas.roomTypesInitValues[i].name,canvas.roomTypesInitValues[i].roomtypes_id);
+		            }
+		            this.selectItemAt(0);
+	            ]]>
+	        </handler> 
+        </resetCombobox> 
+        
+	<labelText labelid="1219" width="200" y="$once{ parent.height-76 }" resize="false" x="4"/>  
+	<dateField x="120" y="$once{ parent.height-76 }" name="_valid_from" 
+			   setDefaultToday="true" additionalDay="1" />		
+	<customEdittext name="_timeFrom" 
+					width="50" x="232" y="$once{ parent.height-76 }" 
+					regexpType="time">
+		<handler name="oninit">
+			<![CDATA[
+				var tDate = new Date();
+				var hour = tDate.getHours();
+				if (hour < 10) {
+					hour = "0"+hour;
+				}
+				
+				var minutes = tDate.getMinutes();
+				if (minutes < 15) {
+					minutes = "00";
+				} else if (minutes < 30) {
+					minutes = "15";
+				} else if (minutes < 45) {
+					minutes = "30";
+				} else {
+					minutes = "45";
+				}
+				
+				var hour2 = tDate.getHours()+1;
+				if (hour2 < 10) {
+					hour2 = "0"+hour;
+				} else if (hour2 > 25) {
+					hour2 = 24;
+				}
+				
+				this.setAttribute("text",hour+":"+minutes);
+				parent._timeTo.setAttribute("text",hour2+":"+minutes);
+			]]>
+		</handler>
+	</customEdittext>
+        
+    <labelText labelid="1220" width="200" y="$once{ parent.height-52 }" resize="false" x="4"/>  
+	<dateField x="120" y="$once{ parent.height-52 }" name="_valid_to" 
+			   setDefaultToday="true" additionalDay="1" />		
+	<customEdittext name="_timeTo" 
+					width="50" x="232" y="$once{ parent.height-52 }" 
+					regexpType="time">
+	</customEdittext>
+	
+	<!-- allowUserQuestions Description -->          
+    <view resource="messagebox_info_rsc" x="302" y="$once{ parent.height-96 }" />
+    
+    <labelText labelid="1221" x="324" y="$once{ parent.height-96 }" fontstyle="italic"
+               multiline="true" width="$once{ parent.width-332 }" /> 
+	
+	<view name="_hideRoomConfig" width="290" height="76" bgcolor="0xFFFFFF" 
+		   opacity="0.6" y="$once{ parent.height-104 }" x="2">
+		<handler name="onclick">
+			parent._bookRoom.setValue(true);
+		</handler>
+	</view>
+		   
+	<!-- label: send -->
+	<simpleLabelButton labelid="218" x="$once{ parent.width-260 }" width="120" y="$once{ parent.height-26 }">
+		<handler name="onclick">
+			<![CDATA[
+				var urlObject =  lz.Browser.getBaseURL();
+				//If Port is Null or undefinied use port 80
+				if (urlObject.port!=null && urlObject.port!=undefined){
+					var port = urlObject.port;
+					
+					if (port != 80) {
+						parent.baseUrl = urlObject.protocol+"://"+urlObject.host+":"+port+urlObject.path;
+					} else {
+						parent.baseUrl = urlObject.protocol+"://"+urlObject.host+urlObject.path;
+					}
+				} else {
+					parent.baseUrl = urlObject.protocol+"://"+urlObject.host+urlObject.path;
+				}
+				
+				parent.send();
+			]]>
+		</handler>
+	</simpleLabelButton>
+
+	<!-- label: cancel -->
+	<simpleLabelButton labelid="219" x="$once{ parent.width-130 }" width="120" y="$once{ parent.height-26 }">
+		<handler name="onclick">
+			parent.close();
+		</handler>
+	</simpleLabelButton>
+	   		   
+						  
+</class>	
+	
+</library>
diff --git a/WebContent/src/modules/settings/privatemessages/newPrivateMessageFolder.lzx b/WebContent/src/modules/settings/privatemessages/newPrivateMessageFolder.lzx
new file mode 100644
index 0000000..e0454a3
--- /dev/null
+++ b/WebContent/src/modules/settings/privatemessages/newPrivateMessageFolder.lzx
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="newPrivateMessageFolder" extends="guiPresenter" labelid="1260" isdragable="true" 
+    minimizable="false" maximizable="false" fullToolBar="true" x="100" y="200" 
+    resizeable="false" width="350" height="100" >
+	
+	<attribute name="refObj" value="null"/>
+	
+	<attribute name="folderName" value="" type="string" />
+	
+	<handler name="oninit">
+		<![CDATA[
+			lz.Focus.setFocus(this._subject, true);
+		]]>
+	</handler>
+	
+	<method name="send">
+		<![CDATA[
+			this.folderName = this._subject.getText();
+			this.addPrivateMessageFolder.doCall();
+		]]>
+	</method>
+	
+	<!--
+	public Long addPrivateMessageFolder(String SID, String folderName)
+	 -->
+	<netRemoteCallHib name="addPrivateMessageFolder" funcname="userservice.addPrivateMessageFolder" remotecontext="$once{ canvas.thishib }" >    
+		
+		<netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+	    <netparam><method name="getValue">return parent.parent.folderName</method></netparam>
+        
+        <handler name="ondata" args="value">
+        	<![CDATA[
+				//The onResult-Handler will be called be the rtmpconnection
+				if ($debug) Debug.write("addPrivateMessageFolder : ",value);
+				parent.refObj.sendReload();
+				parent.close();
+			]]>
+		</handler>   
+	</netRemoteCallHib>	
+	
+	
+	<labelText name="_labelSubject" x="2" labelid="1211" y="24"/>
+	
+	<customEdittext name="_subject" y="24" x="80" width="$once{ parent.width-82 }" />
+		   
+	<!-- label: send -->
+	<simpleLabelButton labelid="1261" x="$once{ parent.width-260 }" width="120" y="$once{ parent.height-26 }">
+		<handler name="onclick">
+			parent.send();
+		</handler>
+	</simpleLabelButton>
+
+	<!-- label: cancel -->
+	<simpleLabelButton labelid="219" x="$once{ parent.width-130 }" width="120" y="$once{ parent.height-26 }">
+		<handler name="onclick">
+			parent.close();
+		</handler>
+	</simpleLabelButton>
+	   		   
+						  
+</class>	
+	
+</library>
diff --git a/WebContent/src/modules/settings/privatemessages/pendingUserStatus.lzx b/WebContent/src/modules/settings/privatemessages/pendingUserStatus.lzx
new file mode 100644
index 0000000..e7322c9
--- /dev/null
+++ b/WebContent/src/modules/settings/privatemessages/pendingUserStatus.lzx
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	
+<class name="pendingUserStatus" extends="view" bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" 
+	   width="$once{ parent.width-16 }" height="40" y="$once{ parent.height-62 }">
+	
+	<attribute name="message" value="" type="string" />
+	<attribute name="userContactId" value="0" type="number" />
+
+	<method name="setPendingStatus" args="pending">
+        <![CDATA[
+        
+            if ($debug) Debug.write("setPendingStatus ",this.userContactId,pending);
+            
+            this.changePendingStatusUserContacts.pending = pending;
+            this.changePendingStatusUserContacts.doCall();
+        ]]>
+    </method>
+    
+    <method name="close">
+    	this.destroy();
+    	parent.pendingUserStatusRef = null;
+    </method>
+    
+    <!--
+	public Long changePendingStatusUserContacts(String SID, Long userContactId, Boolean pending)
+	 -->
+    <netRemoteCallHib name="changePendingStatusUserContacts" funcname="userservice.changePendingStatusUserContacts" 
+				  remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >      
+		<attribute name="pending" value="true" type="boolean" />
+		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+		<netparam><method name="getValue"> return parent.parent.userContactId; </method></netparam>
+    	<netparam><method name="getValue"> return parent.pending; </method></netparam>
+    	<handler name="ondata" args="value">
+    		<![CDATA[
+	    		if ($debug) Debug.write("changePendingStatusUserContacts: ",value);
+	    		parent.parent.parent.parent._userContacts.reload();
+    		]]>
+    	</handler>
+    </netRemoteCallHib>
+    
+    <view name="_bg" x="1" y="1" width="$once{ parent.width-2 }" height="$once{ parent.height-2 }"
+    	  bgcolor="0xFFFFFF" />
+    	  
+	<miniIconsPresenter name="_close" x="$once{ parent.width-20 }" y="2"
+        iconRessourceName="btn_presenter_close2">
+        <handler name="onclick">
+            this.parent.close();
+        </handler>
+        <labelTooltip labelid="430" />
+    </miniIconsPresenter>  
+    
+	<miniIcons name="add" x="10" y="10" resource="user_moderator_list_apply_rsc" width="18" height="18" 
+           showhandcursor="true">
+		<handler name="onclick">
+           parent.setPendingStatus(true);
+        </handler>
+        <labelTooltip labelid="1190" />
+    </miniIcons>
+
+	<miniIconsImage src="$once{ canvas.getThemeImage('button_cancel_rsc') }" 
+				name="deny" x="30" y="10" width="18" height="18" 
+           showhandcursor="true">
+		<handler name="onclick">
+            parent.setPendingStatus(false);
+        </handler>
+        <labelTooltip labelid="1191" />
+    </miniIconsImage>
+    
+    <labelText text="$once{ parent.message }" y="10" x="60"
+    		   width="$once{ parent.width-this.x-20 }" resize="false" multiline="true" />
+    
+</class> 
+	
+
+</library>
diff --git a/WebContent/src/modules/settings/privatemessages/privateMessagItem.lzx b/WebContent/src/modules/settings/privatemessages/privateMessagItem.lzx
new file mode 100644
index 0000000..1dc54f0
--- /dev/null
+++ b/WebContent/src/modules/settings/privatemessages/privateMessagItem.lzx
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	
+<class name="privateMessagItem" extends="basePagingListItem" showhandcursor="false" height="20">
+	
+	<attribute name="from" value="" type="string"/>
+	<attribute name="subject" value="" type="string"/>
+	<attribute name="strTime" value="" type="string"/>
+	
+	<attribute name="isRead" value="false" type="boolean"/>
+	
+	<attribute name="itemSelected" value="false" type="boolean"/>
+	
+	<view width="200">
+		
+		<handler name="onclick">
+			if (parent.clickable) {
+				if ($debug) Debug.write("SEND CLICK TO PARENT");
+				parent.onclick.sendEvent();
+				//parent.parent.parent.parent.parent.itemSelected(parent,!parent.itemSelected);
+			}
+		</handler>
+		
+		<checkbox name="_selected" y="2" x="2" clickable="false"
+				  visibility="${ (parent.parent.clickable) ? 'visible' : 'hidden' }" 
+				  value="${ parent.parent.itemSelected }" />
+		
+		<view height="$once{ parent.parent.height }" width="1" 
+        				align="right" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" />
+	</view>
+	
+	<turnOverTextItem name="_timezone" width="80" 
+					  text="${ parent.from }" fontstyle="${ (parent.isRead) ? 'plain' : 'bold' }" />
+	<turnOverTextItem name="_searchOffers" width="300"
+					  text="${ parent.subject }" fontstyle="${ (parent.isRead) ? 'plain' : 'bold' }" />
+	<turnOverTextItem name="_searchSearchs" width="300"
+					  text="${ parent.strTime }" fontstyle="${ (parent.isRead) ? 'plain' : 'bold' }" />
+	
+</class>	
+
+</library>
diff --git a/WebContent/src/modules/settings/privatemessages/privateMessageFolder.lzx b/WebContent/src/modules/settings/privatemessages/privateMessageFolder.lzx
new file mode 100644
index 0000000..132369c
--- /dev/null
+++ b/WebContent/src/modules/settings/privatemessages/privateMessageFolder.lzx
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="editPrivateMessageFolder" extends="customInputtext" 
+	   fontsize="10" bgcolor="0xFFFFFF">
+	
+	<attribute name="privateMessageFolderId" value="0" type="number" />
+	<attribute name="folderName" value="" type="string" />
+	<attribute name="refObj" value="null" />
+	
+	<handler name="onblur">
+		lz.ModeManager.release(this);
+		if (this.folderName != this.getText()) {
+			this.updatePrivateMessageFolder.doCall();
+		} else {
+			this.destroy();
+		}
+	</handler>
+	
+	<handler name="onkeydown" args="k">
+		<![CDATA[
+    		if (k == 13 || k == 27) {
+    			this.onblur.sendEvent();
+    		}
+		]]>
+	</handler>
+	
+	<!--
+	public Long updatePrivateMessageFolder(String SID, Long privateMessageFolderId, String folderName)
+	 -->
+	<netRemoteCallHib name="updatePrivateMessageFolder" funcname="userservice.updatePrivateMessageFolder" 
+			  remotecontext="$once{ canvas.thishib }" >  
+		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+		<netparam><method name="getValue"> return parent.parent.privateMessageFolderId; </method></netparam>
+    	<netparam><method name="getValue"> return parent.parent.getText(); </method></netparam>
+    	<handler name="ondata" args="value">
+    		<![CDATA[
+	    		if ($debug) Debug.write("updatePrivateMessageFolder: ",value);
+	    		parent.completed();
+    		]]>
+    	</handler>
+    	<method name="sendConfirmation" args="yesno" >
+            parent.parent.deleteFolder(parent.privateMessageFolderId,this);
+        </method>
+    </netRemoteCallHib>	
+    
+	<method name="completed">
+		this.refObj.folderName = this.getText();
+		this.refObj.updateConnectedFolderBox();
+		this.refObj._text.setAttribute("text",this.getText());
+		this.destroy();
+	</method>
+	
+</class>	
+	
+<class name="privateMessageFolder" extends="view" x="16" width="136">
+	
+	<attribute name="folderName" value="" type="string" />
+	<attribute name="privateMessageFolderId" value="0" type="number" />
+	<attribute name="selected" value="false" type="boolean" />
+	
+	<handler name="onclick">
+		if (this.selected) {
+			this.editFolderName();
+		}
+		//this.setAttribute("enabled",false);
+		parent.loadPrivateMessage(this.privateMessageFolderId,this);
+	</handler>
+	
+	<method name="editFolderName">
+		var t = new lz.editPrivateMessageFolder(canvas,{
+    			        privateMessageFolderId:this.privateMessageFolderId,
+    			        folderName:this.folderName,
+    			        text:this.folderName,
+    			        refObj:this,
+    			        width:84,
+    			        fontstyle:'bold',
+    			        height:this.height,
+            		    x:this._text.getAttributeRelative('x',canvas),
+            		    y:this._text.getAttributeRelative('y',canvas)
+            		});
+            		
+        lz.Focus.setFocus(t,true);
+        lz.ModeManager.makeModal(t);
+	</method>
+	
+	<!--
+		Send update to drop down list of folder names 
+	 -->
+	<method name="updateConnectedFolderBox">
+		parent.updateConnectedFolderBox();
+	</method>
+	
+	<view resource="private_message_folder_rsc" x="0" y="0" />
+	
+	<labelText name="_text" fontstyle="bold" x="20" text="$once{ parent.folderName }" />
+	
+	<miniIcons name="edit" y="1" x="104" resource="paint" width="16" height="16" 
+	               showhandcursor="true">
+		<handler name="onclick">
+			parent.editFolderName();
+        </handler>
+        <labelTooltip labelid="1264" />
+    </miniIcons>
+	
+	<miniIconsImage src="$once{ canvas.getThemeImage('button_cancel_rsc') }" 
+			name="deny" y="1" x="120" width="16" height="16" 
+	               showhandcursor="true">
+		<handler name="onclick">
+			parent.getFolderCount.doCall();
+        </handler>
+        <labelTooltip labelid="1262" />
+    </miniIconsImage>
+    
+    <!--
+    public Long getFolderCount(String SID, Long privateMessageFolderId)
+     -->
+	<netRemoteCallHib name="getFolderCount" funcname="userservice.getFolderCount" 
+			  remotecontext="$once{ canvas.thishib }" >  
+		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+		<netparam><method name="getValue"> return parent.parent.privateMessageFolderId; </method></netparam>
+    	<handler name="ondata" args="value">
+    		<![CDATA[
+	    		if ($debug) Debug.write("getFolderCount: ",value);
+	    		if (value == 0) {
+	    			new lz.confirmationSingle(canvas.main_content._content.inner,{
+                                   labelid:1262,labeliderror:1265,
+                                   refObj:this,showCheckBox:false});
+	    		} else {
+	    			new lz.labelerrorPopup(canvas,{errorlabelid:1263});
+	    		}
+    		]]>
+    	</handler>
+    	<method name="sendConfirmation" args="yesno" >
+            parent.parent.deleteFolder(parent.privateMessageFolderId,this);
+        </method>
+    </netRemoteCallHib>	
+						  
+</class>	
+	
+</library>
diff --git a/WebContent/src/modules/settings/privatemessages/privateMessages.lzx b/WebContent/src/modules/settings/privatemessages/privateMessages.lzx
new file mode 100644
index 0000000..84c37b9
--- /dev/null
+++ b/WebContent/src/modules/settings/privatemessages/privateMessages.lzx
@@ -0,0 +1,1173 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="privateMessages" extends="view" height="$once{ parent.height }" 
+	   width="$once{ canvas.width - 276 }">
+	
+	<attribute name="newMessageActive" value="false" type="boolean" />
+	
+	<handler name="oninit">
+		this._Buttons._inbox.onclick.sendEvent(null);
+	</handler>
+	
+	<method name="newMessage" args="userObject">
+		if (this.newMessageActive) {
+			this._newPrivateMessage.destroy();
+		}
+		
+		new lz.newPrivateMessage(this,{
+						x:154,
+						refObj:this,
+						userObject:userObject,
+						width:this._table.width+8,
+						height:this.height-2
+					});
+				
+		this.newMessageActive = true;
+	</method>
+	
+	<view name="_status" width="152">
+		
+		<simpleLabelRoundButton labelid="1207" y="5" width="142" x="5" height="22">
+			<handler name="onclick">
+				parent.parent.newMessage(null);
+			</handler>
+			<view resource="private_message_add_rsc" x="10" y="2"></view>
+			<labelTooltip labelid="1208"></labelTooltip>
+		</simpleLabelRoundButton>
+		
+	</view>
+	
+	<view name="_Buttons" width="152" y="35" layout="axis:y;spacing:2">
+		
+		<attribute name="selectMenuItemObj" value="null" />
+		
+		<method name="selectMenuItem" args="refObj">
+			if (this.selectMenuItemObj != null) {
+				this.selectMenuItemObj.selected = false;
+				this.selectMenuItemObj._text.setAttribute("bgcolor",0xEEF0EB);
+			}
+			this.selectMenuItemObj = refObj;
+			this.selectMenuItemObj.selected = true;
+			this.selectMenuItemObj._text.setAttribute("bgcolor",0xD3D3D3);
+		</method>
+		
+		<method name="resetMenuItem">
+			this.selectMenuItemObj = null;
+			this._inbox.onclick.sendEvent(null);
+		</method>
+		
+		<view name="_inbox" x="16" width="130">
+			<attribute name="selected" value="false" type="boolean" />
+			<handler name="onclick">
+				parent.parent._table.getInbox.doCall();
+				parent.selectMenuItem(this);
+			</handler>
+			<view resource="private_message_inbox_rsc" x="0" ></view>
+			<labelText x="20" name="_text" fontstyle="bold" labelid="1222" />
+		</view>
+		
+		<view name="_send" x="16" width="130">
+			<attribute name="selected" value="false" type="boolean" />
+			<handler name="onclick">
+				parent.parent._table.getSend.doCall();
+				parent.selectMenuItem(this);
+			</handler>
+			<view resource="private_message_send_rsc" x="0" ></view>
+			<labelText x="20" name="_text" fontstyle="bold" labelid="1223" />
+		</view>
+		
+		<view name="_trash" x="16" width="130">
+			<attribute name="selected" value="false" type="boolean" />
+			<handler name="onclick">
+				parent.parent._table.getTrash.doCall();
+				parent.selectMenuItem(this);
+			</handler>
+			<view resource="private_message_trash_rsc" x="0" ></view>
+			<labelText x="20" name="_text" fontstyle="bold" labelid="1224" />
+		</view>
+		
+		<view height="1"></view>
+		 
+		<simpleLabelButton name="_addFolder" labelid="1258" width="142" x="5" height="22">
+			<handler name="onclick">
+				//this.setAttribute("enabled",false);
+				new lz.newPrivateMessageFolder(canvas,{refObj:this});
+			</handler>
+			<method name="sendReload">
+				parent._privateFolders.getPrivateMessageFoldersByUser.doCall();
+			</method>
+			<view resource="private_message_folder_add_rsc" x="10" y="2"></view>
+			<labelTooltip labelid="1259" />
+		</simpleLabelButton>
+		
+		<view height="1"></view>
+		
+		<view name="_privateFolders" layout="axis:y;spacing:1">
+			
+			<handler name="oninit">
+				this.reload();
+			</handler>
+			
+			<method name="reload">
+				this.getPrivateMessageFoldersByUser.doCall();
+			</method>
+			
+			<method name="removeAll">
+				<![CDATA[
+					for (var eg in this.subviews) {
+						this.subviews[eg].destroy();
+					}
+				]]>
+			</method>
+			<!--
+			public List<PrivateMessageFolder> getPrivateMessageFoldersByUser(String SID)
+			 -->
+			<netRemoteCallHib name="getPrivateMessageFoldersByUser" funcname="userservice.getPrivateMessageFoldersByUser" 
+					  remotecontext="$once{ canvas.thishib }" >  
+				<attribute name="onlyUpdateDropDown" value="false" type="boolean"/>    
+				<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+		    	<handler name="ondata" args="value">
+		    		<![CDATA[
+			    		if ($debug) Debug.write("getPrivateMessageFoldersByUser: ",value);
+			    		if (this.onlyUpdateDropDown) {
+			    			this.onlyUpdateDropDown = false;
+			    			parent.parent.parent._actionButtons._move.initItems(value);
+			    		} else {
+			    			parent.loadResult(value);
+			    		}
+		    		]]>
+		    	</handler>
+		    </netRemoteCallHib>	
+		    
+		    <method name="loadPrivateMessage" args="privateMessageFolderId,refObj">
+		    	parent.selectMenuItem(refObj);
+		    	parent.parent._table.privateMessageFolderId = privateMessageFolderId;
+		    	parent.parent._table.getFolder.doCall();
+		    </method>
+		    
+		    <method name="deleteFolder" args="privateMessageFolderId,refObj">
+		    	if (parent.selectMenuItemObj == refObj) {
+		    		parent.parent.resetMenuItem();
+		    	}
+		    	this.deletePrivateMessageFolder.privateMessageFolderId = privateMessageFolderId;
+		    	this.deletePrivateMessageFolder.doCall();
+		    </method>
+		    
+		    <!--
+				Send update to drop down list of folder names 
+			 -->
+			<method name="updateConnectedFolderBox">
+				this.getPrivateMessageFoldersByUser.onlyUpdateDropDown = true;
+				this.getPrivateMessageFoldersByUser.doCall();
+			</method>
+		    
+		    <!--
+		    public Long deletePrivateMessageFolder(String SID, Long privateMessageFolderId, String folderName)
+		     -->
+		    <netRemoteCallHib name="deletePrivateMessageFolder" funcname="userservice.deletePrivateMessageFolder" 
+					  remotecontext="$once{ canvas.thishib }" >  
+				<attribute name="privateMessageFolderId" value="0" type="number"/>        
+				<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+				<netparam><method name="getValue"> return parent.privateMessageFolderId; </method></netparam>
+		    	<handler name="ondata" args="value">
+		    		<![CDATA[
+			    		if ($debug) Debug.write("deletePrivateMessageFolder: ",value);
+			    		parent.reload();
+		    		]]>
+		    	</handler>
+		    </netRemoteCallHib>
+		    
+		    <method name="loadResult" args="tList">
+		    	<![CDATA[
+		    	
+		    		this.removeAll();
+		    		
+		    		for (var i=0;i<tList.length;i++) {
+		    			new lz.privateMessageFolder(this,{
+				    				privateMessageFolderId:tList[i].privateMessageFolderId,
+				    				folderName:tList[i].folderName
+				    			});
+		    		}
+		    		
+		    		parent.parent._actionButtons._move.initItems(tList);
+		    	
+		    	]]>
+		    </method>
+		    
+	    	
+			
+		</view>
+		
+	</view>
+	
+	
+	<view height="$once{ parent.height }" width="1" x="154" 
+		  bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }"></view>
+	
+	<labelText name="_labelPrivateMessages" x="160" labelid="1206" fontstyle="bold" />
+	
+	<turnOverListOrderedPaged name="_table" showTopBar="true" x="158" 
+					 height="250" width="$once{ parent.width-160 }"
+		             y="24" itemHeight="20" listLabelId="1237" headerHeight="22" 
+		             listItemName="privateMessagItem" menuBarXIndent="80"
+		             multiselect="true" orderby="c.inserted">
+		
+		
+		<attribute name="countUnRead" value="0" type="number" />
+		<attribute name="isInbox" value="false" type="boolean" />
+		<attribute name="isSend" value="false" type="boolean" />
+		<attribute name="isTrash" value="false" type="boolean" />
+		<attribute name="isFolder" value="false" type="boolean" />
+		<attribute name="privateMessageFolderId" value="0" type="number" />
+		
+		<attribute name="selectedRefObjIds" value="null"/>
+		
+		<method name="updatePrivateMessageLabelText" args="countUnRead">
+			<![CDATA[
+		    	this.countUnRead = countUnRead;
+		    	parent._labelPrivateMessages.setAttribute("text",canvas.getLabelName(parent._labelPrivateMessages.labelid)+' <i>( '+this.countUnRead+' </i>)');
+	    	]]>
+	    </method>
+			
+		<handler name="oninit">
+			this.addHeaderItem(1205,20);
+			
+			this.addHeaderItemOrdered(1202,160,"c.from.lastname",false,false);
+			this.addHeaderItemOrdered(1203,this.width-316,"c.subject",false,false);
+			this.addHeaderItemOrdered(1204,120,"c.inserted",true,true);
+			
+			//this.getInbox.doCall();
+		</handler>
+		
+		<handler name="onload">
+			if (this.isInbox) {
+				this.getInbox.doCall();
+			} else if (this.isSend) {
+				this.getSend.doCall();
+			} else if (this.isTrash) {
+				this.getTrash.doCall();
+			}
+		</handler>
+		
+		<method name="itemSelected" args="listObj,bool">
+			<![CDATA[
+			
+				if ($debug) Debug.write("itemSelected :: ",listObj);
+				
+				listObj.setAttribute("itemSelected",bool);
+				this.renderList[listObj.itemId].itemSelected = bool;
+				
+			
+			]]>
+		</method>
+		
+		<method name="selectUnread">
+			<![CDATA[
+			
+				if (!this.isInbox) {
+					return;
+				}
+            	
+            	//list.subviews[i].setAttribute("isRead",records[i].isRead);
+			
+	            this._selectedRefObj = new Array();
+	            this._selected = new Array();
+	            
+	            for (var i=0;i<this.renderList.length;i++) {
+	            	if (!this.renderList[i].isRead) {
+		            	this.renderList[i].itemSelected = true;
+		                this.renderList[i].isselected = true;
+		                this._selectedRefObj.push(i);
+	            	} else {
+	            		this.renderList[i].itemSelected = false;
+		                this.renderList[i].isselected = false;
+	            	}
+	            }
+	            
+	            if ($debug) Debug.write("this._selectedRefObj LENGTH ",this._selectedRefObj.length);
+	        
+	            for (var i=0;i<this._innerlist._inn._inn.subviews.length;i++){
+	            	if (!this._innerlist._inn._inn.subviews[i].isRead) {
+		            	this._innerlist._inn._inn.subviews[i].setAttribute("itemSelected",true);
+			            this._innerlist._inn._inn.subviews[i].isselected = true;
+		                this._innerlist._inn._inn.subviews[i].onmouseout.sendEvent();
+		                this._selected.push(this._innerlist._inn._inn.subviews[i]);
+	            	} else {
+	            		this._innerlist._inn._inn.subviews[i].setAttribute("itemSelected",false);
+			            this._innerlist._inn._inn.subviews[i].isselected = false;
+		                this._innerlist._inn._inn.subviews[i].onmouseout.sendEvent();
+	            	}
+		        }
+			]]>
+		</method>
+		
+		<method name="selectRead">
+			<![CDATA[
+				if (!this.isInbox) {
+					return;
+				}
+            	
+            	//list.subviews[i].setAttribute("isRead",records[i].isRead);
+			
+	            this._selectedRefObj = new Array();
+	            this._selected = new Array();
+	            
+	            for (var i=0;i<this.renderList.length;i++) {
+	            	if (this.renderList[i].isRead) {
+		            	this.renderList[i].itemSelected = true;
+		                this.renderList[i].isselected = true;
+		                this._selectedRefObj.push(i);
+	            	} else {
+	            		this.renderList[i].itemSelected = false;
+		                this.renderList[i].isselected = false;
+	            	}
+	            }
+	            
+	            if ($debug) Debug.write("this._selectedRefObj LENGTH ",this._selectedRefObj.length);
+	        
+	            for (var i=0;i<this._innerlist._inn._inn.subviews.length;i++){
+	            	if (this._innerlist._inn._inn.subviews[i].isRead) {
+		            	this._innerlist._inn._inn.subviews[i].setAttribute("itemSelected",true);
+			            this._innerlist._inn._inn.subviews[i].isselected = true;
+		                this._innerlist._inn._inn.subviews[i].onmouseout.sendEvent();
+		                this._selected.push(this._innerlist._inn._inn.subviews[i]);
+	            	} else {
+	            		this._innerlist._inn._inn.subviews[i].setAttribute("itemSelected",false);
+			            this._innerlist._inn._inn.subviews[i].isselected = false;
+		                this._innerlist._inn._inn.subviews[i].onmouseout.sendEvent();
+	            	}
+		        }
+			]]>
+		</method>
+		
+		<method name="moveToTrash" args="isTrash">
+			<![CDATA[
+				if (this._selectedRefObj == null || this._selectedRefObj.length == 0) {
+					new lz.labelerrorPopup(canvas,{errorlabelid:1254});
+				}
+				
+				this.selectedRefObjIds = new Array();
+				
+				for (var i=0;i<this._selectedRefObj.length;i++) {
+					this.selectedRefObjIds.push(this.renderList[this._selectedRefObj[i]].privateMessageId);
+				}
+				
+				if ($debug) Debug.write("this._selectedRefObj ",this._selectedRefObj);
+				if ($debug) Debug.write("this._selectedRefObj LENGTH ",this._selectedRefObj.length);
+			
+				this.moveMailsToTrash.isTrash = isTrash;
+				this.moveMailsToTrash.doCall();
+				
+			]]>
+		</method>
+		
+		<!--
+		public Long moveMailsToTrash(String SID, List privateMessageIds, Boolean isTrash)
+		 -->
+		<netRemoteCallHib name="moveMailsToTrash" funcname="userservice.moveMailsToTrash" 
+					  remotecontext="$once{ canvas.thishib }" >  
+			<attribute name="isTrash" value="false" type="boolean"/>        
+			<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.selectedRefObjIds; </method></netparam>
+			<netparam><method name="getValue"> return parent.isTrash; </method></netparam>
+	    	<handler name="ondata" args="value">
+	    		<![CDATA[
+		    		if ($debug) Debug.write("moveMailsToTrash: ",value);
+		    		//this.parent.destroy();
+		    		if (parent.isInbox) {
+		    			parent.getInbox.doCall();
+		    		} else if (parent.isSend) {
+		    			parent.getSend.doCall();
+		    		} else if (parent.isFolder) {
+		    			parent.getFolder.doCall();
+		    		} else if (parent.isTrash) {
+		    			parent.getTrash.doCall();
+		    		}
+	    		]]>
+	    	</handler>
+	    </netRemoteCallHib>	
+	    
+	    <method name="moveToFolderById" args="newFolderId">
+			<![CDATA[
+				if (this._selectedRefObj == null || this._selectedRefObj.length == 0) {
+					new lz.labelerrorPopup(canvas,{errorlabelid:1254});
+				}
+				
+				if ($debug) Debug.write("moveToFolderById ",newFolderId);
+				
+				this.selectedRefObjIds = new Array();
+				
+				for (var i=0;i<this._selectedRefObj.length;i++) {
+					this.selectedRefObjIds.push(this.renderList[this._selectedRefObj[i]].privateMessageId);
+				}
+				
+				if ($debug) Debug.write("this._selectedRefObj ",this._selectedRefObj);
+				if ($debug) Debug.write("this._selectedRefObj LENGTH ",this._selectedRefObj.length);
+			
+				this.moveMailsToFolder.newFolderId = newFolderId;
+				this.moveMailsToFolder.doCall();
+				
+			]]>
+		</method>
+	    <!--
+	    public Integer moveMailsToFolder(String SID, List privateMessageIntsIds,
+			Long newFolderId)
+		 -->
+	    <netRemoteCallHib name="moveMailsToFolder" funcname="userservice.moveMailsToFolder" 
+					  remotecontext="$once{ canvas.thishib }" >  
+			<attribute name="newFolderId" value="0" type="number" />
+			<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.selectedRefObjIds; </method></netparam>
+			<netparam><method name="getValue"> return parent.newFolderId; </method></netparam>
+	    	<handler name="ondata" args="value">
+	    		<![CDATA[
+		    		if ($debug) Debug.write("moveMailsToFolder: ",value);
+		    		//this.parent.destroy();
+		    		if (parent.isInbox) {
+		    			parent.getInbox.doCall();
+		    		} else if (parent.isSend) {
+		    			parent.getSend.doCall();
+		    		} else if (parent.isFolder) {
+		    			parent.getFolder.doCall();
+		    		} else if (parent.isTrash) {
+		    			parent.getTrash.doCall();
+		    		}
+	    		]]>
+	    	</handler>
+	    </netRemoteCallHib>			 
+	    
+	    <method name="finalDelete">
+	    	<![CDATA[
+				if (this._selectedRefObj == null || this._selectedRefObj.length == 0) {
+					new lz.labelerrorPopup(canvas,{errorlabelid:1254});
+				}
+				
+				this.selectedRefObjIds = new Array();
+			
+				for (var i=0;i<this._selectedRefObj.length;i++) {
+					this.selectedRefObjIds.push(this.renderList[this._selectedRefObj[i]].privateMessageId);
+				}
+				
+				if ($debug) Debug.write("this._selectedRefObj ",this._selectedRefObj);
+				if ($debug) Debug.write("this._selectedRefObj LENGTH ",this._selectedRefObj.length);
+			
+				this.deletePrivateMessages.doCall();
+				
+			]]>
+	    </method>
+	    
+	    <!--
+	    public Integer deletePrivateMessages(String SID, List privateMessageIntsIds)
+	     -->
+	    <netRemoteCallHib name="deletePrivateMessages" funcname="userservice.deletePrivateMessages" 
+					  remotecontext="$once{ canvas.thishib }" >  
+			<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.selectedRefObjIds; </method></netparam>
+	    	<handler name="ondata" args="value">
+	    		<![CDATA[
+		    		if ($debug) Debug.write("deletePrivateMessages: ",value);
+		    		//this.parent.destroy();
+		    		if (parent.isInbox) {
+		    			parent.getInbox.doCall();
+		    		} else if (parent.isSend) {
+		    			parent.getSend.doCall();
+		    		} else if (parent.isFolder) {
+		    			parent.getFolder.doCall();
+		    		} else if (parent.isTrash) {
+		    			parent.getTrash.doCall();
+		    		}
+	    		]]>
+	    	</handler>
+	    </netRemoteCallHib>	
+	    
+	    <method name="markToRead" args="isRead">
+			<![CDATA[
+				if (this._selectedRefObj == null || this._selectedRefObj.length == 0) {
+					new lz.labelerrorPopup(canvas,{errorlabelid:1254});
+				}
+				
+				this.selectedRefObjIds = new Array();
+			
+				for (var i=0;i<this._selectedRefObj.length;i++) {
+					this.selectedRefObjIds.push(this.renderList[this._selectedRefObj[i]].privateMessageId);
+				}
+				
+				if ($debug) Debug.write("this._selectedRefObj ",this._selectedRefObj);
+				if ($debug) Debug.write("this._selectedRefObj LENGTH ",this._selectedRefObj.length);
+			
+				if ($debug) Debug.write("this.markReadStatusMails ",isRead);
+				
+				this.markReadStatusMails.isRead = isRead;
+				this.markReadStatusMails.doCall();
+				
+			]]>
+		</method>
+	    
+	    <!--
+	    public Long markReadStatusMails(String SID, List privateMessageIntsIds, Boolean isRead)
+	     -->
+	    <netRemoteCallHib name="markReadStatusMails" funcname="userservice.markReadStatusMails" 
+					  remotecontext="$once{ canvas.thishib }" >  
+			<attribute name="isRead" value="false" type="boolean"/>        
+			<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.selectedRefObjIds; </method></netparam>
+			<netparam><method name="getValue"> return parent.isRead; </method></netparam>
+	    	<handler name="ondata" args="value">
+	    		<![CDATA[
+		    		if ($debug) Debug.write("markReadStatusMails: ",value);
+		    		//this.parent.destroy();
+		    		if (parent.isInbox) {
+		    			parent.getInbox.doCall();
+		    		} else if (parent.isSend) {
+		    			parent.getSend.doCall();
+		    		} else if (parent.isFolder) {
+		    			parent.getFolder.doCall();
+		    		} else if (parent.isTrash) {
+		    			parent.getTrash.doCall();
+		    		}
+	    		]]>
+	    	</handler>
+	    </netRemoteCallHib>	
+		
+		<handler name="onclickedItem" args="listObj">
+			<![CDATA[
+			
+				if ($debug) Debug.write("onclickedItem :: ",listObj.refObj);
+				
+				var bool = !listObj.itemSelected;
+				
+				this.itemSelected(listObj,bool);
+				
+				if (this.isInbox) {
+					
+					if (!listObj.isRead) {
+						
+						this.renderList[listObj.itemId].isRead = true;
+						
+						listObj.setAttribute("isRead",true);
+						
+						//if ($debug) Debug.write("onclickedItem :: ",listObj.refObj.privateMessageId);
+						
+						this.markReadStatusMail.privateMessageId = listObj.refObj.privateMessageId;
+						this.markReadStatusMail.isRead = true;
+						
+						this.updatePrivateMessageLabelText(this.countUnRead-1);
+						
+						this.markReadStatusMail.doCall();
+					}
+					
+				}
+				
+				parent._privateMessageDetails.loadMessageDetails(listObj.refObj);
+			
+			]]>
+		</handler>
+		
+		<handler name="onUpdateOrder" args="itemRef">
+			if (this.isInbox) {
+    			this.getInbox.doCall();
+    		} else if (this.isSend) {
+    			this.getSend.doCall();
+    		} else if (this.isFolder) {
+    			this.getFolder.doCall();
+    		} else if (parent.isTrash) {
+    			this.getTrash.doCall();
+    		}
+		</handler>
+		
+		<!--
+		public Long markReadStatusMail(String SID, Long privateMessageId,
+			Boolean isRead)
+	     -->
+	    <netRemoteCallHib name="markReadStatusMail" funcname="userservice.markReadStatusMail" 
+					  remotecontext="$once{ canvas.thishib }" >  
+			<attribute name="privateMessageId" value="0" type="number"/>
+			<attribute name="isRead" value="false" type="boolean"/>        
+			<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+			<netparam><method name="getValue"> return parent.privateMessageId; </method></netparam>
+			<netparam><method name="getValue"> return parent.isRead; </method></netparam>
+	    	<handler name="ondata" args="value">
+	    		<![CDATA[
+		    		if ($debug) Debug.write("markReadStatusMail: ",value);
+		    		//this.parent.destroy();
+	    		]]>
+	    	</handler>
+	    </netRemoteCallHib>	
+	    
+		<!--
+		public SearchResult getInbox(String SID, String search, String orderBy, int start, Boolean asc, Integer max)
+		 -->
+	    <netRemoteCallHib name="getInbox" funcname="userservice.getInbox" 
+					  remotecontext="$once{ canvas.thishib }" >      
+			<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+			<netparam><method name="getValue"> return ""; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.orderby; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.start; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.asc; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.step; </method></netparam>
+	    	<handler name="ondata" args="value">
+	    		<![CDATA[
+		    		if ($debug) Debug.write("getInbox: ",value);
+		    		//this.parent.destroy();
+		    		this.parent.initValues(value.records);
+		    		
+		    		parent.isInbox = true;
+		    		parent.isSend = false;
+		    		parent.isTrash = false;
+		    		parent.isFolder = false;
+		    		
+		    		parent.countUnRead = 0;
+		    		
+		    		for (var k=0;k<value.result.length;k++) {
+		    			value.result[k].strTime = parseDateToStringTime(value.result[k].inserted);
+		    			value.result[k].userName = value.result[k].from.firstname+' '+value.result[k].from.lastname+' &#60;'+value.result[k].from.adresses.email+'&#62;';
+		    			value.result[k].itemSelected = false;
+		    			if (!value.result[k].isRead) {
+		    				parent.countUnRead++;
+		    			}
+		    		}
+		    		
+		    		parent.updatePrivateMessageLabelText(parent.countUnRead);
+		    		
+		    		this.parent.renderContent(value.result);
+	    		]]>
+	    	</handler>
+	    </netRemoteCallHib>	
+	    
+	    <!--
+	    public SearchResult getSend(String SID, String orderBy, Integer start, Boolean asc, Integer max) {
+		 -->
+	    <netRemoteCallHib name="getSend" funcname="userservice.getSend" 
+					  remotecontext="$once{ canvas.thishib }" >      
+			<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+			<netparam><method name="getValue"> return ""; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.orderby; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.start; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.asc; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.step; </method></netparam>
+	    	<handler name="ondata" args="value">
+	    		<![CDATA[
+		    		//if ($debug) Debug.write("searchUserProfile: ",value);
+		    		//this.parent.destroy();
+		    		this.parent.initValues(value.records);
+		    		
+		    		parent.isInbox = false;
+		    		parent.isSend = true;
+		    		parent.isTrash = false;
+		    		parent.isFolder = false;
+		    		
+		    		for (var k=0;k<value.result.length;k++) {
+		    			value.result[k].strTime = parseDateToStringTime(value.result[k].inserted);
+		    			value.result[k].userName = value.result[k].to.firstname+' '+value.result[k].to.lastname+' &#60;'+value.result[k].to.adresses.email+'&#62;';
+		    			value.result[k].itemSelected = false;
+		    		}
+		    		
+		    		parent.parent._labelPrivateMessages.setAttribute("text",canvas.getLabelName(this.parent.parent._labelPrivateMessages.labelid));
+		    		
+		    		this.parent.renderContent(value.result);
+	    		]]>
+	    	</handler>
+	    </netRemoteCallHib>	
+	    
+	    <!--
+	    public SearchResult getTrash(String SID, String search, String orderBy, Integer start, Boolean asc, Integer max)
+	     -->
+	    <netRemoteCallHib name="getTrash" funcname="userservice.getTrash" 
+					  remotecontext="$once{ canvas.thishib }" >      
+			<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+			<netparam><method name="getValue"> return ""; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.orderby; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.start; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.asc; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.step; </method></netparam>
+	    	<handler name="ondata" args="value">
+	    		<![CDATA[
+		    		//if ($debug) Debug.write("searchUserProfile: ",value);
+		    		//this.parent.destroy();
+		    		this.parent.initValues(value.records);
+		    		
+		    		parent.isInbox = false;
+		    		parent.isSend = false;
+		    		parent.isTrash = true;
+		    		parent.isFolder = false;
+		    		
+		    		for (var k=0;k<value.result.length;k++) {
+		    			value.result[k].strTime = parseDateToStringTime(value.result[k].inserted);
+		    			value.result[k].userName = value.result[k].to.firstname+' '+value.result[k].to.lastname+' &#60;'+value.result[k].to.adresses.email+'&#62;';
+		    			value.result[k].itemSelected = false;
+		    		}
+		    		
+		    		parent.parent._labelPrivateMessages.setAttribute("text",canvas.getLabelName(this.parent.parent._labelPrivateMessages.labelid));
+		    		
+		    		this.parent.renderContent(value.result);
+	    		]]>
+	    	</handler>
+	    </netRemoteCallHib>	
+	    
+	    
+	    <!--
+	    public SearchResult getFolder(String SID, Long privateMessageFolderId, String search, String orderBy, 
+			Integer start, Boolean asc, Integer max)
+	     -->
+	    <netRemoteCallHib name="getFolder" funcname="userservice.getFolder" 
+					  remotecontext="$once{ canvas.thishib }" >      
+			<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.privateMessageFolderId; </method></netparam>
+			<netparam><method name="getValue"> return ""; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.orderby; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.start; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.asc; </method></netparam>
+			<netparam><method name="getValue"> return parent.parent.step; </method></netparam>
+	    	<handler name="ondata" args="value">
+	    		<![CDATA[
+		    		if ($debug) Debug.write("getFolder: ",value);
+		    		//this.parent.destroy();
+		    		this.parent.initValues(value.records);
+		    		
+		    		parent.isInbox = false;
+		    		parent.isSend = false;
+		    		parent.isTrash = false;
+		    		parent.isFolder = true;
+		    		
+		    		for (var k=0;k<value.result.length;k++) {
+		    			value.result[k].strTime = parseDateToStringTime(value.result[k].inserted);
+		    			value.result[k].userName = value.result[k].to.firstname+' '+value.result[k].to.lastname+' &#60;'+value.result[k].to.adresses.email+'&#62;';
+		    			value.result[k].itemSelected = false;
+		    		}
+		    		
+		    		parent.parent._labelPrivateMessages.setAttribute("text",canvas.getLabelName(this.parent.parent._labelPrivateMessages.labelid));
+		    		
+		    		this.parent.renderContent(value.result);
+	    		]]>
+	    	</handler>
+	    </netRemoteCallHib>	
+	    
+	    <!--
+		    from" value="" type="string"/>
+			<attribute name="subject" value="" type="string"/>
+			<attribute name="strTime
+	     -->	
+	    
+	    <method name="renderContent" args="rList">
+            <![CDATA[
+            
+            	this._selectedRefObj = new Array();
+	            this._selected = new Array();
+	            
+            	if (this.isTrash) {
+            		parent._actionButtons._moveToTrash.setAttribute("visibility","hidden");
+            		parent._actionButtons._moveToInbox.setAttribute("visibility","visible");
+            		parent._actionButtons._read.setAttribute("visibility","hidden");
+            		parent._actionButtons._unread.setAttribute("visibility","hidden");
+            		parent._actionButtons._finalDelete.setAttribute("visibility","visible");
+            	} else if (this.isFolder) {
+                    parent._actionButtons._moveToTrash.setAttribute("visibility","visible");
+                    parent._actionButtons._moveToInbox.setAttribute("visibility","visible");
+                    parent._actionButtons._read.setAttribute("visibility","visible");
+                    parent._actionButtons._unread.setAttribute("visibility","visible");
+                    parent._actionButtons._finalDelete.setAttribute("visibility","hidden");
+                } else {
+                    parent._actionButtons._moveToTrash.setAttribute("visibility","visible");
+                    parent._actionButtons._moveToInbox.setAttribute("visibility","hidden");
+                    parent._actionButtons._read.setAttribute("visibility","visible");
+                    parent._actionButtons._unread.setAttribute("visibility","visible");
+                    parent._actionButtons._finalDelete.setAttribute("visibility","hidden");
+                }
+            
+            	this.renderList = rList;
+            
+                this.isLoaded = true;
+                var list = this._innerlist._inn._inn;
+                
+                if (this.renderList == null) {
+                	this.renderList = new Array();
+                }
+                //this.renderList = records;
+                var records = this.renderList;
+                this._innerlist._inn.setAttribute("y",0);
+                this._innerlist._inn._inn.setAttribute("height",records.length*this.itemHeight);
+                this._innerlist._inn.resetItems();
+                
+                if ($debug) Debug.write(":: renderContent ::",this.renderList.length,list.subviews.length);
+                
+                //this._records.setAttribute("text",records.length);
+                
+                for (var i=0;i<list.subviews.length;i++){
+                    
+                    //if (i % 2 == 0) {
+                    //    list.subviews[i].setIsSecond(true);
+                    //} else {
+                    //    list.subviews[i].setIsSecond(false);
+                    //}
+                    
+                    if (records.length > i) {
+                    	
+                    	//if ($debug) Debug.write("Render Item ",records[i]);
+                        
+                        list.subviews[i].setAttribute("clickable",true);
+                        list.subviews[i].refObj = records[i];
+                        
+                        if (records[i]["isselected"] && records[i].isselected) {
+                            list.subviews[i].isselected = true;
+                        } else {
+                            list.subviews[i].isselected = false;
+                        }
+                        
+                        list.subviews[i].setAttribute("from",records[i].userName);
+                        list.subviews[i].setAttribute("subject",records[i].subject);
+                        list.subviews[i].setAttribute("strTime",records[i].strTime);
+                        list.subviews[i].setAttribute("itemSelected",records[i].itemSelected);
+                        
+                        if (this.isInbox) {
+                        	list.subviews[i].setAttribute("isRead",records[i].isRead);
+                        } else {
+                        	list.subviews[i].setAttribute("isRead",true);
+                        }
+                        
+                        list.subviews[i].setAttribute("itemId",i);
+                        
+                    } else {
+                        
+                        list.subviews[i].refObj = null;
+                        
+                        list.subviews[i].isselected = false;
+                        list.subviews[i].onmouseout.sendEvent();
+                        
+                        list.subviews[i].setAttribute("from",'');
+                        list.subviews[i].setAttribute("subject",'');
+                        list.subviews[i].setAttribute("strTime",'');
+                        list.subviews[i].setAttribute("itemSelected",false);
+                        
+                        list.subviews[i].setAttribute("itemId","");
+                        
+                        list.subviews[i].setAttribute("clickable",false);
+                        
+                    }
+                    
+                    list.subviews[i].onmouseout.sendEvent();
+                    
+                }
+                
+                
+                this.sendInitialWidthUpdate();
+                
+            ]]>
+        </method>   
+	        
+        <handler name="onScrollItem" args="item">
+            <![CDATA[
+                if (this.renderList.length > item.itemId) {
+                    item.setAttribute("clickable",true);
+                    item.refObj = this.renderList[item.itemId];
+                    
+                    //if (item.itemId % 2 == 0) {
+                    //    item.setIsSecond(true);
+                    //} else {
+                    //    item.setIsSecond(false);
+                    //}
+                    
+                    if (this.renderList[item.itemId]["isselected"] && this.renderList[item.itemId].isselected) {
+                        //if ($debug) Debug.write("item.isselected ",item.itemId);
+                        item.isselected = true;
+                        item.onmouseout.sendEvent();
+                    } else {
+                    	//if ($debug) Debug.write("item NOT .isselected ",item.itemId);
+                        item.isselected = false;
+                        item.onmouseout.sendEvent();
+                    }
+                    
+                    //if ($debug) Debug.write(item.itemId);
+                    
+                    item.setAttribute("from",this.renderList[item.itemId].userName);
+                    item.setAttribute("subject",this.renderList[item.itemId].subject);
+                    item.setAttribute("strTime",this.renderList[item.itemId].strTime);
+                    item.setAttribute("itemSelected",this.renderList[item.itemId].itemSelected);
+                    
+                    if (this.isInbox) {
+                    	item.setAttribute("isRead",this.renderList[item.itemId].isRead);
+                    } else {
+                    	item.subviews[i].setAttribute("isRead",true);
+                    }
+                    
+                    item.setAttribute("itemId",item.itemId);
+                    
+                } else {
+                    
+                    //if (item.itemId % 2 == 0) {
+                    //    item.setIsSecond(true);
+                    //} else {
+                    //    item.setIsSecond(false);
+                    //}
+                    
+                    item.isselected = false;
+                    item.onmouseout.sendEvent();
+                    
+                    item.refObj = null;
+                    
+                    item.setAttribute("from","");
+                    item.setAttribute("subject","");
+                    item.setAttribute("strTime","");
+                    item.setAttribute("itemSelected",false);
+                    
+                    item.setAttribute("itemId","");
+                    
+                    item.setAttribute("clickable",false);
+                    
+                }
+                
+            ]]>
+        </handler>
+    
+			
+	</turnOverListOrderedPaged>
+	
+	<view name="_actionButtons" y="274" x="158" layout="axis:x;spacing:2">
+		<view resource="private_message_select_part_rsc"></view>
+		
+		<resetCombobox name="_action" width="90" 
+					   editable="false" fontsize="10" height="20" >
+            <attribute name="sendEventToReload" value="false" type="boolean" />
+            <handler name="oninit">
+                this.addItem(canvas.getLabelName(1252),"0");//Actions ...
+                this.addItem(canvas.getLabelName(1239),"1");//Select All 
+                this.addItem(canvas.getLabelName(1240),"2");//Select None
+                this.addItem(canvas.getLabelName(1241),"3");//Select Unread
+                this.addItem(canvas.getLabelName(1242),"4");//Select Read
+                this.selectItemAt(0);
+            </handler>
+            <handler name="onselect" args="sel">
+                if (sel.value == "1") {
+                	parent.parent._table.selectAll();
+                } else if (sel.value == "2") {
+                	parent.parent._table.deselectAll();
+                } else if (sel.value == "3") {
+                	parent.parent._table.selectUnread();
+                } else if (sel.value == "4") {
+                	parent.parent._table.selectRead();
+                }
+            </handler>
+        </resetCombobox>
+        
+        <simpleLabelButton name="_moveToTrash" labelid="1245" fontstyle="plain" width="80" height="21">
+        	<handler name="onclick">
+        		parent.parent._table.moveToTrash(true);
+        	</handler>
+        	<labelTooltip labelid="1246" />
+        </simpleLabelButton>
+        
+        <simpleLabelButton name="_read" labelid="1248" fontstyle="plain" width="80" height="21">
+        	<handler name="onclick">
+        		parent.parent._table.markToRead(true);
+        	</handler>
+        </simpleLabelButton>
+        
+        <simpleLabelButton name="_unread" labelid="1247" fontstyle="plain" width="80" height="21">
+        	<handler name="onclick">
+        		parent.parent._table.markToRead(false);
+        	</handler>
+        </simpleLabelButton>
+        
+        <simpleLabelButton name="_moveToInbox" labelid="1255" visibility="hidden"
+        				   fontstyle="plain" width="120" height="21">
+        	<handler name="onclick">
+        		parent.parent._table.moveToTrash(false);
+        	</handler>
+        </simpleLabelButton>
+        
+        <simpleLabelButton name="_finalDelete" labelid="1256" visibility="hidden"
+        				   fontstyle="plain" width="120" height="21">
+        	<handler name="onclick">
+        		parent.parent._table.finalDelete();
+        	</handler>
+        	<labelTooltip labelid="1257" />
+        </simpleLabelButton>
+        
+        <resetCombobox name="_move" width="120" x="42"
+					   editable="false" fontsize="10" height="20" >
+            <attribute name="sendEventToReload" value="false" type="boolean" />
+            <method name="initItems" args="tList">
+            	<![CDATA[
+	            	this.reset();
+	            	
+	            	this.addItem(canvas.getLabelName(1243),"0");//Move to folder ...
+	            	
+	            	for (var i=0;i<tList.length;i++) {
+	            		
+	            		this.addItem(tList[i].folderName,tList[i].privateMessageFolderId);
+	            		
+	            	}
+	            	
+	            	this.addItem(canvas.getLabelName(1244),"-1");//Create Folder ...
+	            	this.selectItemAt(0);
+            	]]>
+            </method>
+            <handler name="oninit">
+                //this.addItem(canvas.getLabelName(1243),"0");//Move to folder ...
+                //this.addItem(canvas.getLabelName(1244),"-1");//Create Folder ...
+                //this.selectItemAt(0);
+            </handler>
+            <handler name="onselect" args="sel">
+            	<![CDATA[
+            		if ($debug) Debug.write("onselect :: ",sel.value);
+	                if (sel.value == "-1") {
+	                	//Init Add Folder Dialog
+	                	parent.parent._Buttons._addFolder.onclick.sendEvent(null);
+	                } else if (Number(sel.value) > 0) {
+	                	parent.parent._table.moveToFolderById(Number(sel.value));
+	                }
+                ]]>
+            </handler>
+        </resetCombobox>
+	</view>
+	
+	<view name="_privateMessageDetails" x="155" width="$once{ parent.width-155 }" y="296" 
+		  height="${ parent.height - 298 }" clip="true">
+		
+		<attribute name="pendingUserStatusRef" value="null"/>
+		<attribute name="roomObjectRef" value="null"/>
+		
+		<attribute name="senderuserId" value="0" type="number" />
+		
+		<method name="loadMessageDetails" args="refObj">
+			<![CDATA[
+			
+			    this.senderuserId = refObj.from.user_id;
+			    
+			    this._answer_area.setAttribute("visibility","visible");
+			
+				this.from.setAttribute("text",refObj.from.firstname+' '+refObj.from.lastname+' &#60;'+refObj.from.adresses.email+'&#62;');
+				if (refObj.to != null) {
+					this.to.setAttribute("text",refObj.to.firstname+' '+refObj.to.lastname+' &#60;'+refObj.to.adresses.email+'&#62;');
+				} else {
+					this.to.setAttribute("text","");
+				}
+				
+				this.subject.setAttribute("text",refObj.subject);
+				
+				this.message.message.setAttribute("text",refObj.message);
+				
+				if (this.pendingUserStatusRef != null) {
+					this.pendingUserStatusRef.destroy();
+				}
+				
+				if (refObj.isContactRequest) {
+					this.checkPendingStatus.userContactId = refObj.userContactId;
+					this.checkPendingStatus.doCall();
+				}
+				
+				if (this.roomObjectRef != null) {
+                    this.roomObjectRef.destroy();
+                }
+				
+				if (refObj.room != null) {
+				    
+				    if ($debug) Debug.write("loadMessageDetails :: ",refObj.room);
+				    
+				    this.roomObjectRef = new lz.roomAccessMessage(this,{
+                            				        rooms_id:refObj.room.rooms_id
+                            				    });
+				    
+				}
+			
+			]]>
+		</method>
+		
+		<!--
+		 public Long checkPendingStatus(String SID, Long userContactId)
+		 -->
+		<netRemoteCallHib name="checkPendingStatus" funcname="userservice.checkPendingStatus" 
+					  remotecontext="$once{ canvas.thishib }" >      
+			<attribute name="userContactId" value="0" type="number" />
+			<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+			<netparam><method name="getValue"> return parent.userContactId; </method></netparam>
+	    	<handler name="ondata" args="value">
+	    		<![CDATA[
+		    		if ($debug) Debug.write("checkPendingStatus: ",value);
+		    		if (value > 0) {
+		    			parent.pendingUserStatusRef = new lz.pendingUserStatus(parent,{
+								userContactId:this.userContactId,
+								message:parent.subject.getText()
+							});
+		    		}
+	    		]]>
+	    	</handler>
+	    </netRemoteCallHib>		 
+	    
+	    <view name="_privateMessageDetailsBorder2" width="$once{ parent.width }" y="0"
+		  height="1" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" />
+		
+		<view name="_privateMessageDetailsBorder3" width="$once{ parent.width }" y="1"
+		  	height="61" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" opacity="0.1" />
+		  	
+		<labelText name="_labelFrom" x="2" labelid="1202" y="2" />
+		<labelText name="from" width="$once{ parent.width-100 }" fontstyle="italic"
+				   x="100" y="2" resize="false" />
+		
+		<labelText name="_labelTo" x="2" labelid="1210" y="22"/>
+		<labelText name="to" width="$once{ parent.width-100 }" fontstyle="italic"
+				   x="100" y="22" resize="false" />
+		
+		<labelText name="_labelSubject" x="2" labelid="1211" y="42"/>
+		<labelText name="subject" width="$once{ parent.width-100 }" fontstyle="bold"
+				   x="100" y="42" resize="false" />
+		
+		<view name="_privateMessageDetailsBorder1" width="$once{ parent.width }" y="62"
+		  	height="1" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" />
+		  
+		<view name="message" y="64" bgcolor="0xFFFFFF" x="2"
+			  width="$once{ parent.width-4 }" height="${ parent.height-86 }">
+			<labelText name="message" width="$once{ parent.width-16 }" 
+					   multiline="true" resize="false" />
+			<om_vscrollbar />
+		</view>
+		
+		<view name="_answer_area" height="22" visibility="hidden"
+			  y="${ parent.height-22 }" width="$once{ parent.width }">
+			
+			<view name="_privateMessageDetailsBorder2" width="$once{ parent.width }" y="0"
+                    height="1" bgcolor="0x666666" />
+			
+            <!-- label: cancel -->
+            <simpleLabelButton labelid="1303" x="$once{ parent.width-130 }" width="120" y="2">
+                <handler name="onclick">
+                    new lz.newPrivateMessage(canvas,{
+                                x:200,y:120,
+                                refObj:null,
+                                minimizable:true,
+                                maximizable:true,
+                                userObject:null,
+                                isdragable:true,
+                                user_id:parent.parent.senderuserId,
+                                width:canvas.width-300,
+                                height:canvas.height-130
+                            });
+                </handler>
+            </simpleLabelButton>
+		</view>
+		
+		
+	</view>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/settings/privatemessages/roomAccessMessage.lzx b/WebContent/src/modules/settings/privatemessages/roomAccessMessage.lzx
new file mode 100644
index 0000000..2261118
--- /dev/null
+++ b/WebContent/src/modules/settings/privatemessages/roomAccessMessage.lzx
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	
+<class name="roomAccessMessage" extends="view" bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" 
+	   width="$once{ parent.width-16 }" height="40" y="$once{ parent.height-62 }"
+	   visibility="hidden">
+	
+	<attribute name="rooms_id" value="0" type="number" />
+	
+	<handler name="oninit">
+		this.getAppointmentByRoomId.doCall();
+	</handler>
+	
+	<netRemoteCallHib name="getAppointmentByRoomId" funcname="calendarservice.getAppointmentByRoomId" 
+                      remotecontext="$once{ canvas.thishib }" >      
+        <netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+        <netparam><method name="getValue"> return parent.parent.rooms_id; </method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                if ($debug) Debug.write("checkPendingStatus: ",value);
+                
+                if (value == null) {
+                	parent.destroy();
+                } else {
+                	parent.setAttribute("visibility","visible");
+                }
+                //private Date appointmentStarttime;
+                //private Date appointmentEndtime;
+                parent._content._labels._start._text.setAttribute("text",parseDateToStringTimeSeconds(value.appointmentStarttime));
+                parent._content._labels._end._text.setAttribute("text",parseDateToStringTimeSeconds(value.appointmentEndtime));
+            ]]>
+        </handler>
+    </netRemoteCallHib> 
+
+    <view name="_bg" x="1" y="1" width="$once{ parent.width-2 }" height="$once{ parent.height-2 }"
+    	  bgcolor="0xFFFFFF" />
+    	  
+	<miniIconsPresenter name="_close" x="$once{ parent.width-20 }" y="2"
+        iconRessourceName="btn_presenter_close2">
+        <handler name="onclick">
+            this.parent.close();
+        </handler>
+        <labelTooltip labelid="430" />
+    </miniIconsPresenter>  
+    
+    <view name="_content" x="10" layout="axis:x;spacing:2">
+    	
+    	<simpleLabelButton labelid="1283" y="10">
+            <handler name="onclick">
+                canvas.initroomid = parent.parent.rooms_id;
+                canvas.thishib.getRoomById.doCall();
+            </handler>
+            <labelTooltip labelid="1284" />
+        </simpleLabelButton>
+    
+        <view name="_labels" layout="axis:y;spacing:0">
+        	
+        	<view name="_start">
+        		<labelText labelid="1219" />
+        		<labelText name="_text" x="80" />
+        	</view>
+        	
+        	<view name="_end">
+                <labelText labelid="1220" />
+                <labelText name="_text" x="80" />
+            </view>
+        	
+        </view>
+    
+    </view>
+    
+    
+    
+</class> 
+	
+
+</library>
diff --git a/WebContent/src/modules/settings/resources/arrow_undo.png b/WebContent/src/modules/settings/resources/arrow_undo.png
new file mode 100644
index 0000000..6972c5e
--- /dev/null
+++ b/WebContent/src/modules/settings/resources/arrow_undo.png
Binary files differ
diff --git a/WebContent/src/modules/settings/resources/basket_delete.png b/WebContent/src/modules/settings/resources/basket_delete.png
new file mode 100644
index 0000000..1349974
--- /dev/null
+++ b/WebContent/src/modules/settings/resources/basket_delete.png
Binary files differ
diff --git a/WebContent/src/modules/settings/resources/basket_put.png b/WebContent/src/modules/settings/resources/basket_put.png
new file mode 100644
index 0000000..be62faa
--- /dev/null
+++ b/WebContent/src/modules/settings/resources/basket_put.png
Binary files differ
diff --git a/WebContent/src/modules/settings/resources/calendar_add.png b/WebContent/src/modules/settings/resources/calendar_add.png
new file mode 100644
index 0000000..17679db
--- /dev/null
+++ b/WebContent/src/modules/settings/resources/calendar_add.png
Binary files differ
diff --git a/WebContent/src/modules/settings/resources/calendar_delete.png b/WebContent/src/modules/settings/resources/calendar_delete.png
new file mode 100644
index 0000000..69a3b10
--- /dev/null
+++ b/WebContent/src/modules/settings/resources/calendar_delete.png
Binary files differ
diff --git a/WebContent/src/modules/settings/resources/email_add.png b/WebContent/src/modules/settings/resources/email_add.png
new file mode 100644
index 0000000..6c93368
--- /dev/null
+++ b/WebContent/src/modules/settings/resources/email_add.png
Binary files differ
diff --git a/WebContent/src/modules/settings/resources/email_delete.png b/WebContent/src/modules/settings/resources/email_delete.png
new file mode 100644
index 0000000..a9932b1
--- /dev/null
+++ b/WebContent/src/modules/settings/resources/email_delete.png
Binary files differ
diff --git a/WebContent/src/modules/settings/resources/email_go.png b/WebContent/src/modules/settings/resources/email_go.png
new file mode 100644
index 0000000..4a6c5d3
--- /dev/null
+++ b/WebContent/src/modules/settings/resources/email_go.png
Binary files differ
diff --git a/WebContent/src/modules/settings/resources/folder.png b/WebContent/src/modules/settings/resources/folder.png
new file mode 100644
index 0000000..784e8fa
--- /dev/null
+++ b/WebContent/src/modules/settings/resources/folder.png
Binary files differ
diff --git a/WebContent/src/modules/settings/resources/folder_add.png b/WebContent/src/modules/settings/resources/folder_add.png
new file mode 100644
index 0000000..529fe8f
--- /dev/null
+++ b/WebContent/src/modules/settings/resources/folder_add.png
Binary files differ
diff --git a/WebContent/src/modules/settings/resources/loading_symbol.fla b/WebContent/src/modules/settings/resources/loading_symbol.fla
new file mode 100644
index 0000000..59efc05
--- /dev/null
+++ b/WebContent/src/modules/settings/resources/loading_symbol.fla
Binary files differ
diff --git a/WebContent/src/modules/settings/resources/loading_symbol.swf b/WebContent/src/modules/settings/resources/loading_symbol.swf
new file mode 100644
index 0000000..703fae7
--- /dev/null
+++ b/WebContent/src/modules/settings/resources/loading_symbol.swf
Binary files differ
diff --git a/WebContent/src/modules/settings/resources/select_part.fla b/WebContent/src/modules/settings/resources/select_part.fla
new file mode 100644
index 0000000..57b97e3
--- /dev/null
+++ b/WebContent/src/modules/settings/resources/select_part.fla
Binary files differ
diff --git a/WebContent/src/modules/settings/resources/select_part.png b/WebContent/src/modules/settings/resources/select_part.png
new file mode 100644
index 0000000..fbd6488
--- /dev/null
+++ b/WebContent/src/modules/settings/resources/select_part.png
Binary files differ
diff --git a/WebContent/src/modules/settings/searchuserprofile/library.lzx b/WebContent/src/modules/settings/searchuserprofile/library.lzx
new file mode 100644
index 0000000..cc01175
--- /dev/null
+++ b/WebContent/src/modules/settings/searchuserprofile/library.lzx
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	<include href="searchUserProfileImage.lzx" />
+	<include href="searchUserProfileListItem.lzx" />
+    <include href="searchUserProfile.lzx" />
+
+</library>
diff --git a/WebContent/src/modules/settings/searchuserprofile/searchUserProfile.lzx b/WebContent/src/modules/settings/searchuserprofile/searchUserProfile.lzx
new file mode 100644
index 0000000..ae0d2c8
--- /dev/null
+++ b/WebContent/src/modules/settings/searchuserprofile/searchUserProfile.lzx
@@ -0,0 +1,393 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<script>
+    <![CDATA[
+    
+        function searchOffers(str) {
+            if ($debug) Debug.write("searchOffers ",str);
+            
+        	canvas.userSettingsSearchType = "searchOffers";
+        	canvas.userSettingsSearchPhrase = str;
+            	
+            if (canvas.userSettingsSearchRef == null) {
+            	canvas.userSettingsModuleOpt = "userSearch";
+            	quicklinkAct("userSettingsModule");
+            } else {
+            	canvas.userSettingsSearchRef.searchByUpdate();
+            	canvas.userSettingsSearchRef.parent.parent._menu._searchUserProfile.onclick.sendEvent();
+            }
+        }
+        
+        function searchUsers(str) {
+            if ($debug) Debug.write("searchUsers ",str);
+            
+            canvas.userSettingsSearchType = "searchUsers";
+            canvas.userSettingsSearchPhrase = str;
+            
+            if (canvas.userSettingsSearchRef == null) {
+                canvas.userSettingsModuleOpt = "userSearch";
+                quicklinkAct("userSettingsModule");
+            } else {
+                canvas.userSettingsSearchRef.searchByUpdate();
+                canvas.userSettingsSearchRef.parent.parent._menu._searchUserProfile.onclick.sendEvent();
+            }
+        }
+        
+        function searchInterest(str) {
+            if ($debug) Debug.write("searchInterest ",str);
+            
+            canvas.userSettingsSearchType = "searchInterest";
+            canvas.userSettingsSearchPhrase = str;
+                
+            if (canvas.userSettingsSearchRef == null) {
+                canvas.userSettingsModuleOpt = "userSearch";
+                quicklinkAct("userSettingsModule");
+            } else {
+                canvas.userSettingsSearchRef.searchByUpdate();
+                canvas.userSettingsSearchRef.parent.parent._menu._searchUserProfile.onclick.sendEvent();
+            }
+        }
+    
+    ]]>
+</script>
+
+<!---  modules:dashboard -->
+<class name="searchUserProfile" extends="view" >	
+
+	<method name="search">
+		<![CDATA[
+			this._searchUserResult._table.searchUserProfile.doCall();
+		]]>
+	</method>
+	
+	<method name="searchByUpdate">
+		if ($debug) Debug.write("searchByUpdate -2- ",canvas.userSettingsSearchType);
+		canvas.userSettingsModuleOpt = "";
+		if (canvas.userSettingsSearchType == "searchOffers") {
+			this.searchInterest.setAttribute("text","");
+			this.searchTxt.setAttribute("text","");
+            this.searchOffers.setAttribute("text",canvas.userSettingsSearchPhrase);
+            this.search();
+        } else if (canvas.userSettingsSearchType == "searchInterest") {
+            this.searchInterest.setAttribute("text",canvas.userSettingsSearchPhrase);
+            this.searchTxt.setAttribute("text","");
+            this.searchOffers.setAttribute("text","");
+            this.search();
+        } else if (canvas.userSettingsSearchType == "searchUsers") {
+        	this.searchInterest.setAttribute("text","");
+            this.searchTxt.setAttribute("text",canvas.userSettingsSearchPhrase);
+            this.searchOffers.setAttribute("text","");
+            this.search();
+        }
+	</method>
+	
+	<handler name="oninit">
+		canvas.userSettingsSearchRef = this;
+	</handler>
+	
+	<labelText labelid="1179" y="4" x="4"/>
+	
+	<customEdittext name="searchTxt" y="24" x="4" width="120" text="">
+		<handler name="onkeydown" args="k">
+            <![CDATA[
+                if (k == 13 || k == 27) {
+                    parent.search();
+                }
+            ]]>
+        </handler>
+	</customEdittext>
+	
+	
+	<labelText labelid="1177" y="50" x="4"/>
+	
+	<customEdittext name="searchOffers" y="70" x="4" width="120" text="" >
+        <handler name="onkeydown" args="k">
+            <![CDATA[
+                if (k == 13 || k == 27) {
+                    parent.search();
+                }
+            ]]>
+        </handler>
+    </customEdittext>
+	
+	
+	<labelText labelid="1178" y="96" x="4" />
+	
+	<customEdittext name="searchInterest" y="116" x="4" width="120" text="" >
+        <handler name="onkeydown" args="k">
+            <![CDATA[
+                if (k == 13 || k == 27) {
+                    parent.search();
+                }
+            ]]>
+        </handler>
+    </customEdittext>
+	
+	
+    <simpleLabelButton labelid="1176" width="80" x="44" 
+           y="152" onclick="this.parent.search();" />
+           
+           
+    <view name="_borderLine" width="1" x="129" 
+    	  height="$once{ parent.height }" bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" />
+    	  
+    	  
+	<view name="_searchUserResult" x="130" height="$once{ parent.height }">
+		
+		<turnOverListOrderedPaged name="_table" showTopBar="true" x="0" height="$once{ parent.height }" 
+             y="0" itemHeight="40" listLabelId="1184" headerHeight="22" step="1000" orderby="c.lastname"
+             listItemName="searchUserProfileListItem" menuBarXIndent="100"
+             multiselect="false" width="$once{ canvas.width - 130 }">
+			
+			<attribute name="_newPrivateMessage" value="null" />
+			<attribute name="newMessageActive" value="false" type="boolean"/>
+			
+			<!--
+				public SearchResult searchUserProfile(String SID, String searchTxt, String userOffers, 
+		   			String userSearchs, String orderBy, int start, int max, boolean asc)
+		    -->
+		    <netRemoteCallHib name="searchUserProfile" funcname="userservice.searchUserProfile" 
+						  remotecontext="$once{ canvas.thishib }" >      
+				<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+				<netparam><method name="getValue"> return parent.parent.parent.parent.searchTxt.getText(); </method></netparam>
+				<netparam><method name="getValue"> return parent.parent.parent.parent.searchOffers.getText(); </method></netparam>
+				<netparam><method name="getValue"> return parent.parent.parent.parent.searchInterest.getText(); </method></netparam>
+				<netparam><method name="getValue"> return parent.parent.orderby; </method></netparam>
+				<netparam><method name="getValue"> return parent.parent.start; </method></netparam>
+				<netparam><method name="getValue"> return parent.parent.step; </method></netparam>
+				<netparam><method name="getValue"> return parent.parent.asc; </method></netparam>
+		    	<handler name="ondata" args="value">
+		    		<![CDATA[
+			    		//if ($debug) Debug.write("searchUserProfile: ",value);
+			    		//this.parent.destroy();
+			    		this.parent.initValues(value.records);
+			    		
+			    		for (var t=0;t<value.result.length;t++) {
+			    			value.result[t]["pending"] = false;
+			    			for (var i=0;i<canvas.salutationsInitValues.length;i++){
+			    				if (canvas.salutationsInitValues[i].salutations_id == value.result[t].title_id) {
+					                value.result[t]["title"] = canvas.salutationsInitValues[i].label.value;
+					                break;
+			    				}
+								
+				            }
+			    			
+			    		}
+			    		
+			    		this.parent.renderContent(value.result);
+		    		]]>
+		    	</handler>
+		    </netRemoteCallHib>
+			
+			<handler name="oninit">
+	        	//addHeaderItemOrdered" args="labelid,width,orderBy,asc,isSelected
+	            this.addHeaderItemOrdered(1180,200,"c.lastname",false,true);
+	            this.addHeaderItemOrdered(1181,100,"c.omTimeZone.omTimeZoneId",false,false);
+	            this.addHeaderItem(1182,250);
+	            this.addHeaderItem(1183,this.width-250-60-100-200-16);
+	            this.addHeaderItem(1185,60);
+	        </handler>
+	        
+	        <method name="newMessage" args="userObject">
+                if (this.newMessageActive) {
+                    this._newPrivateMessage.destroy();
+                }
+                
+                new lz.newPrivateMessage(this,{
+                                x:0,
+                                refObj:this,
+                                userObject:userObject,
+                                width:this.width,
+                                height:this.height
+                            });
+                        
+                this.newMessageActive = true;
+            </method>
+	        
+	        <handler name="onclickedItem" args="refObj">
+	            <![CDATA[
+	            
+	                if ($debug) Debug.write("onclickedItem ",refObj);
+	                
+	            ]]>
+	        </handler>
+	        
+	        <handler name="onUpdateOrder">
+	        	this.searchUserProfile.doCall();
+	        </handler>
+	        
+	        <method name="updatePendingStatus" args="itemId">
+	        	this.renderList[itemId]["pending"] = true;
+	        </method>
+	        
+	        <!--
+	        <attribute name="username" value="" type="string" />
+			<attribute name="timezone" value="" type="string" />
+			<attribute name="searchOffers" value="" type="string" />
+			<attribute name="searchSearchs" value="" type="string" />
+			 -->
+	        
+	        <method name="renderContent" args="rList">
+	            <![CDATA[
+	            
+	            	this.renderList = rList;
+	            
+	                this.isLoaded = true;
+	                var list = this._innerlist._inn._inn;
+	                
+	                if (this.renderList == null) {
+	                	this.renderList = new Array();
+	                }
+	                //this.renderList = records;
+	                var records = this.renderList;
+	                this._innerlist._inn.setAttribute("y",0);
+	                this._innerlist._inn._inn.setAttribute("height",records.length*this.itemHeight);
+	                this._innerlist._inn.resetItems();
+	                
+	                if ($debug) Debug.write(":: renderContent ::",this.renderList.length,list.subviews.length);
+	                
+	                //this._records.setAttribute("text",records.length);
+	                
+	                for (var i=0;i<list.subviews.length;i++){
+	                    
+	                    //if (i % 2 == 0) {
+	                    //    list.subviews[i].setIsSecond(true);
+	                    //} else {
+	                    //    list.subviews[i].setIsSecond(false);
+	                    //}
+	                    
+	                    if (records.length > i) {
+	                    	
+	                    	//if ($debug) Debug.write("Render Item ",records[i]);
+	                        
+	                        list.subviews[i].setAttribute("clickable",true);
+	                        list.subviews[i].refObj = records[i];
+	                        
+	                        if (records[i]["isselected"] && records[i].isselected) {
+	                            list.subviews[i].isselected = true;
+	                        } else {
+	                            list.subviews[i].isselected = false;
+	                        }
+	                        
+	                        list.subviews[i].setAttribute("username",records[i].title + ' ' + records[i].firstname+' '+records[i].lastname + ' ['+records[i].login+']');
+	                        list.subviews[i].setAttribute("timezone",records[i].omTimeZone.jname + '<br/>('+records[i].omTimeZone.ical+')');
+	                        list.subviews[i].setAttribute("searchOffers",records[i].userOffers);
+	                        list.subviews[i].setAttribute("searchSearchs",records[i].userSearchs);
+	                        list.subviews[i].setAttribute("pending",records[i].pending);
+	                        
+	                        list.subviews[i].setAttribute("itemId",i);
+	                        
+	                    } else {
+	                        
+	                        list.subviews[i].refObj = null;
+	                        
+	                        list.subviews[i].isselected = false;
+	                        list.subviews[i].onmouseout.sendEvent();
+	                        
+	                        list.subviews[i].setAttribute("username",'');
+	                        list.subviews[i].setAttribute("timezone",'');
+	                        list.subviews[i].setAttribute("searchOffers",'');
+	                        list.subviews[i].setAttribute("searchSearchs",'');
+	                        list.subviews[i].setAttribute("pending",false);
+	                        
+	                        list.subviews[i].setAttribute("itemId","");
+	                        
+	                        list.subviews[i].setAttribute("clickable",false);
+	                        
+	                    }
+	                    
+	                }
+	                
+	                
+	                this.sendInitialWidthUpdate();
+	                
+	            ]]>
+	        </method>   
+		        
+	        <handler name="onScrollItem" args="item">
+	            <![CDATA[
+	                if (this.renderList.length > item.itemId) {
+	                    item.setAttribute("clickable",true);
+	                    item.refObj = this.renderList[item.itemId];
+	                    
+	                    //if (item.itemId % 2 == 0) {
+	                    //    item.setIsSecond(true);
+	                    //} else {
+	                    //    item.setIsSecond(false);
+	                    //}
+	                    
+	                    if (this.renderList[item.itemId]["isselected"] && this.renderList[item.itemId].isselected) {
+	                        item.isselected = true;
+	                        item.onmouseout.sendEvent();
+	                    } else {
+	                        item.isselected = false;
+	                        item.onmouseout.sendEvent();
+	                    }
+	                    
+	                    //if ($debug) Debug.write(item.itemId);
+	                    
+	                    item.setAttribute("username",this.renderList[item.itemId].title + ' ' + this.renderList[item.itemId].firstname+' '+this.renderList[item.itemId].lastname + ' ['+this.renderList[item.itemId].login+']');
+	                    item.setAttribute("timezone",this.renderList[item.itemId].omTimeZone.jname + '<br/>('+this.renderList[item.itemId].omTimeZone.ical+')');
+                        item.setAttribute("searchOffers",this.renderList[item.itemId].userOffers);
+                        item.setAttribute("searchSearchs",this.renderList[item.itemId].userSearchs);
+	                    item.setAttribute("pending",this.renderList[item.itemId].pending);
+	                        
+	                    item.setAttribute("itemId",item.itemId);
+	                        
+	                } else {
+	                    
+	                    //if (item.itemId % 2 == 0) {
+	                    //    item.setIsSecond(true);
+	                    //} else {
+	                    //    item.setIsSecond(false);
+	                    //}
+	                    
+	                    item.isselected = false;
+	                    item.onmouseout.sendEvent();
+	                    
+	                    item.refObj = null;
+	                    
+	                    item.setAttribute("username","");
+	                    item.setAttribute("timezone","");
+                        item.setAttribute("searchOffers","");
+                        item.setAttribute("searchSearchs","");
+                        item.setAttribute("pending",false);
+	                    
+	                    item.setAttribute("itemId","");
+	                    
+	                    item.setAttribute("clickable",false);
+	                    
+	                }
+	                
+	            ]]>
+	        </handler>
+	        
+			
+		</turnOverListOrderedPaged>
+		
+	</view>
+	
+
+</class>
+
+</library>
diff --git a/WebContent/src/modules/settings/searchuserprofile/searchUserProfileImage.lzx b/WebContent/src/modules/settings/searchuserprofile/searchUserProfileImage.lzx
new file mode 100644
index 0000000..f2d518b
--- /dev/null
+++ b/WebContent/src/modules/settings/searchuserprofile/searchUserProfileImage.lzx
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="searchUserProfileImage" extends="view" width="120" height="100"
+	   bgcolor="0x333333">
+	
+	<attribute name="profileUrl" value="" type="string" />
+	
+	<view name="_placeholderBG" width="118" x="1" y="1"
+		  height="98" bgcolor="$once{ canvas.getThemeColor('menuBackgroundColor') }"></view>
+	<view x="58" y="48"
+		resource="image_loading_placeholder_rsc" ></view>
+	
+	<image name="_profileImage" src="$once{ parent.profileUrl }" x="1" y="1">
+		<handler name="onload">
+			parent._placeholderBG.destroy();
+			parent.setAttribute("width",this.width+2);
+			parent.setAttribute("height",this.height+2);
+		</handler>
+	</image>
+</class>
+	
+</library>
diff --git a/WebContent/src/modules/settings/searchuserprofile/searchUserProfileListItem.lzx b/WebContent/src/modules/settings/searchuserprofile/searchUserProfileListItem.lzx
new file mode 100644
index 0000000..99ee96f
--- /dev/null
+++ b/WebContent/src/modules/settings/searchuserprofile/searchUserProfileListItem.lzx
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="searchUserProfileListItem" extends="basePagingListItem" showhandcursor="false" height="40">
+	
+	<attribute name="username" value="" type="string" />
+	<attribute name="timezone" value="" type="string" />
+	<attribute name="searchOffers" value="" type="string" />
+	<attribute name="searchSearchs" value="" type="string" />
+	<attribute name="pending" value="false" type="boolean"/>
+	
+	<attribute name="searchUserProfileImage" value="null" />
+	
+	<handler name="onpending" args="p">
+		this.pending = p;
+		if (p) {
+			this.setAttribute("opacity",0.5);
+			this._icons.add.setAttribute("clickable",false);
+		} else {
+			this.setAttribute("opacity",1);
+			this._icons.add.setAttribute("clickable",true);
+		}
+	</handler>
+	
+	<handler name="onmouseover">
+		<![CDATA[
+			if (this.searchUserProfileImage != null) {
+				this.searchUserProfileImage.destroy();
+				this.searchUserProfileImage = null;
+			}
+			
+			if (this.refObj != null) {
+				
+				var pictureuri = this.refObj.pictureuri;
+				
+				if (pictureuri==null || pictureuri.length==0){
+					pictureuri = "d.jpg";
+				} else {
+					pictureuri = "_profile_"+pictureuri;
+				}
+				
+				var t=new Date();
+				
+				var profileUrl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                    +canvas.httpRootKey+'DownloadHandler?fileName='+pictureuri
+                    +'&moduleName=remoteuserprofile&parentPath=&room_id='
+                    +'&remoteUserid='+this.refObj.user_id+'&r='+t.getTime()
+                    +'&sid='+canvas.sessionId;
+                    
+		        //var profileUrl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+		        //		+canvas.httpRootKey+'DownloadHandler?fileName='+pictureuri
+		        //		+'&moduleName=userprofile&parentPath=&room_id='
+		        //		+'&sid='+canvas.sessionId+'&r='+t.getTime();
+		        
+		        //if ($debug) Debug.write("profileUrl "+profileUrl);
+				
+				this.searchUserProfileImage = new lz.searchUserProfileImage(canvas,{
+									x:this.getAttributeRelative("x",canvas) - 120,
+									y:this.getAttributeRelative("y",canvas) - 30,
+									profileUrl:profileUrl
+								});
+			}
+		]]>
+	</handler>
+	
+	<handler name="onmouseout">
+		if (this.searchUserProfileImage != null) {
+			this.searchUserProfileImage.destroy();
+			this.searchUserProfileImage = null;
+		}
+	</handler>
+	
+	<turnOverTextItem name="_username" width="200" multiline="true"
+					  text="${ parent.username }" />
+	<turnOverTextItem name="_timezone" width="80" multiline="true"
+					  text="${ parent.timezone }" />
+	<turnOverTextItem name="_searchOffers" width="300" multiline="true"
+					  text="${ parent.searchOffers }" />
+	<turnOverTextItem name="_searchSearchs" width="300" multiline="true"
+					  text="${ parent.searchSearchs }" />
+	
+	<view name="_icons" >
+		
+		<view visible="${ parent.parent.clickable }">
+			
+		    <miniIconsImage name="add" y="1" x="1" src="$once{ canvas.getThemeImage('edit_add_rsc') }" width="18" height="18" 
+	               showhandcursor="true">
+		        <handler name="onclick">
+		            if ($debug) Debug.write("Start Conference");
+		            if (hib.userobject.user_id == parent.parent.parent.refObj.user_id) {
+		            	new lz.labelerrorPopup(canvas,{errorlabelid:1225});
+		            	return;
+		            }
+		            parent.parent.parent.requestUserToContactList.doCall();
+		        </handler>
+		        <labelTooltip labelid="1186" />
+		    </miniIconsImage> 
+		    
+		    <miniIcons name="message" y="1" x="20" resource="private_message_add_rsc" width="18" height="18" 
+                   showhandcursor="true">
+                <handler name="onclick">
+                    if ($debug) Debug.write("Start Conference 1 ",parent.parent.parent.refObj.user_id);
+                    if ($debug) Debug.write("Start Conference 2 ",parent.parent.parent.parent.parent.parent.parent);
+                    parent.parent.parent.parent.parent.parent.parent.newMessage(parent.parent.parent.refObj);
+                </handler>
+                <labelTooltip labelid="1253" />
+            </miniIcons> 
+		    
+		    <miniIcons name="profile" y="1" x="40" resource="user_profile_rsc" width="18" height="18" 
+	               showhandcursor="true">
+		        <handler name="onclick">
+		            if ($debug) Debug.write("Start Conference");
+		            new lz.viewUserProfileWindow(canvas,{
+				            	userId:parent.parent.parent.refObj.user_id
+				            });
+		        </handler>
+		        <labelTooltip labelid="1236" />
+		    </miniIcons> 
+		    
+	    
+	    </view>
+		
+		<view height="$once{ parent.parent.height }" width="1" 
+        	align="right" bgcolor="black" />
+	</view>
+	
+	<!--
+	public Long requestUserToContactList(String SID, Long userToAdd_id, 
+		   		String domain, String port, String webapp)
+	 -->
+    <netRemoteCallHib name="requestUserToContactList" funcname="userservice.requestUserToContactList" 
+				  remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >      
+		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+		<netparam><method name="getValue"> return parent.parent.refObj.user_id; </method></netparam>
+    	<netparam><method name="getValue"> return canvas.rtmphostlocal; </method></netparam>
+    	<netparam><method name="getValue"> return canvas.red5httpport; </method></netparam>
+    	<netparam><method name="getValue"> return canvas.httpRootKey; </method></netparam>
+    	<handler name="ondata" args="value">
+    		<![CDATA[
+	    		if ($debug) Debug.write("requestUserToContactList: ",value);
+	    		if (value > 0) {
+	    			parent.setAttribute("pending",true);
+	    			parent.parent.parent.parent.parent.updatePendingStatus(parent.itemId);
+	    		}
+	    		parent.onmouseout.sendEvent(null);
+    		]]>
+    	</handler>
+    </netRemoteCallHib>	
+					  
+</class>
+
+</library>
diff --git a/WebContent/src/modules/settings/userSettings.lzx b/WebContent/src/modules/settings/userSettings.lzx
new file mode 100644
index 0000000..f2ecdcd
--- /dev/null
+++ b/WebContent/src/modules/settings/userSettings.lzx
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	
+<class name="menuListItemUserProfile" extends="view" height="24"
+    width="${ this._ctext.width+20 }" >
+
+    <attribute name="action" value="" type="string" />
+
+    <attribute name="isopen" value="false" type="boolean" />
+    <attribute name="isleaf" value="false" type="boolean" />
+    <attribute name="list" value="null" />
+    <attribute name="textvalue" value="null" />
+    <attribute name="selected" value="false" type="boolean" />
+    
+    <attribute name="textLabel" value="" type="string" />
+    
+    <attribute name="labelLabelid" type="number" value="-1" />
+
+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+	<method name="setLabelId" args="_labelid" >
+		this.labelid = _labelid;
+		this.setAttribute('textLabel',canvas.getLabelName(this.labelid));
+		if ($debug) Debug.write("this.textLabel :: ",this.textLabel,this.labelid);
+	</method>
+	
+	<labelTooltip name="_labelTooltip" labelid="$once{ parent.labelLabelid }" />
+
+    <handler name="onmouseover">
+        if (!this.selected){
+            this._bg.setAttribute("visibility","visible");
+        }
+    </handler>
+    <handler name="onmouseout">
+        if (!this.selected){
+            this._bg.setAttribute("visibility","hidden");
+        }
+    </handler>
+
+    <method name="resetItem">
+        this.selected = false;
+        this._bg.setAttribute("visibility","hidden");
+        this._ctext.setAttribute("fgcolor",0x000000);
+    </method>
+
+    <view name="_bg" visibility="hidden" width="${ parent.width-1 }" y="1"
+          bgcolor="0xFFFFFF" opacity="0.4" height="23" />
+    <view width="1" height="8" y="8" bgcolor="0x000000" x="${ parent.width-1 }" />
+    <textBoxSubBlank name="_ctext" fontsize="11" text="${ parent.textLabel }" y="2" />
+
+    <handler name="onclick">
+        this._bg.setAttribute("visibility","visible");
+        this._ctext.setAttribute("fgcolor",0xFFFFFF);
+        this.selected=true;
+        parent.parent.setSubItem(this);
+    </handler>
+    
+    
+</class>
+
+<!--- User Profile Setting Panel -->
+<class name="userSettings" extends="baseContentView">
+	
+    <handler name="oninit">
+        _mainScrollBar.setAttribute("visibility","hidden");
+    </handler>
+    
+    <handler name="ontabcontentleave">
+    	//Clear reference to search to make sure it will re-initialize
+    	canvas.userSettingsSearchRef = null;
+    	_mainScrollBar.setAttribute("visibility","visible");
+    </handler>
+	
+	<view name="_tabbarBg" width="${ parent.width }" height="32" y="1" bgcolor="0xFAFAFA" />
+   	
+	<view name="borderBarBottom" y="34"
+   			width="${ parent.width }" bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }" height="1" />  
+   			
+    <attribute name="refObjItem" value="null" />
+    
+    <method name="doSelection" args="objRef">
+    	if (this.refObjItem != null) {
+    		this.refObjItem.deselect();
+    	}
+    	this.refObjItem = objRef;
+		this._content.hideAll();
+		this._content[objRef.name].setAttribute("visibility","visible");
+    	this.refObjItem.select();
+    </method>
+      
+	<view name="_tabbar" width="${ canvas.width }" y="1" height="32"
+  		  layout="axis:x;spacing:2;inset:2" >
+  		  
+    	<handler name="oninit">
+	   		for (var eg in this.subviews) {
+           		this.subviews[eg].deselect();
+            }
+            
+            if (canvas.userSettingsModuleOpt == "editUserProfile") {
+	        	this._editUserProfile.onclick.sendEvent(null);
+	        } else if (canvas.userSettingsModuleOpt == "userProfile") {
+	        	this._userProfile.onclick.sendEvent(null);
+	        } else if (canvas.userSettingsModuleOpt == "userSearch") {
+	            this._searchUserProfile.onclick.sendEvent(null);
+	            parent._content._searchUserProfile.searchByUpdate();
+	        } else {
+	        	this._editUserContacts.onclick.sendEvent(null);
+	        }
+	   	</handler>
+		
+		<tabButtonMain name="_userProfile" selected="true" height="$once{ parent.height }" 
+        		 x="0" labelid="1170" width="${ (parent.width-10)/4 }" showIcon="false" />
+        
+        <tabButtonMain name="_editUserContacts" selected="true" height="$once{ parent.height }" 
+        		 x="0" labelid="1188" width="${ (parent.width-10)/4 }" showIcon="false" />
+		
+		<tabButtonMain name="_editUserProfile" width="${ (parent.width-10)/4 }" height="$once{ parent.height }" 
+        		 labelid="1171" showIcon="false" />
+        		
+        <tabButtonMain name="_searchUserProfile" width="${ (parent.width-10)/4 }" height="$once{ parent.height }" 
+        		 labelid="1172" showIcon="false" />
+		
+	</view>
+	
+	<view name="_content">
+		
+		<method name="hideAll">
+			for (var eg in this.subviews) {
+				this.subviews[eg].setAttribute("visibility","hidden");
+			}
+		</method>
+		
+		<viewUserProfile name="_userProfile" y="40" />
+			
+	    <editUserContacts name="_editUserContacts" visibility="hidden"  
+	    			y="40" height="$once{ canvas.height - 84 - 40 }" />
+	     
+	    <editUserProfile name="_editUserProfile" visibility="hidden"  y="40" />
+	    
+	    <searchUserProfile name="_searchUserProfile" visibility="hidden" 
+	    			y="40" height="$once{ canvas.height - canvas.naviHeight - 40 }" />
+	    			
+    </view>
+           			      
+</class>
+
+</library>
diff --git a/WebContent/src/modules/settings/usercontacts/contactsListItem.lzx b/WebContent/src/modules/settings/usercontacts/contactsListItem.lzx
new file mode 100644
index 0000000..ed7c164
--- /dev/null
+++ b/WebContent/src/modules/settings/usercontacts/contactsListItem.lzx
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="contactsListItem" extends="basePagingListItem" showhandcursor="false" height="40">
+	
+	<attribute name="username" value="" type="string" />
+	<attribute name="shareCalendar" value="false" type="boolean" />
+	<attribute name="searchUserProfileImage" value="null" />
+	
+	<handler name="onmouseover">
+		<![CDATA[
+			if (this.searchUserProfileImage != null) {
+				this.searchUserProfileImage.destroy();
+				this.searchUserProfileImage = null;
+			}
+			
+			if (this.refObj != null) {
+				
+				var pictureuri = this.refObj.pictureuri;
+				
+				if (pictureuri==null || pictureuri.length==0){
+					pictureuri = "d.jpg";
+				} else {
+					pictureuri = "_profile_"+pictureuri;
+				}
+				
+				//var t=new Date();
+				
+		       // var profileUrl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+		       // 		+canvas.httpRootKey+'DownloadHandler?fileName='+pictureuri
+		        //		+'&moduleName=userprofile&parentPath=&room_id='
+		        //		+'&sid='+canvas.sessionId+'&r='+t.getTime();
+		        		
+		        var t=new Date();
+                
+                var profileUrl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                    +canvas.httpRootKey+'DownloadHandler?fileName='+pictureuri
+                    +'&moduleName=remoteuserprofile&parentPath=&room_id='
+                    +'&remoteUserid='+this.refObj.user_id+'&r='+t.getTime()
+                    +'&sid='+canvas.sessionId;
+		        //if ($debug) Debug.write("profileUrl "+profileUrl);
+				
+				this.searchUserProfileImage = new lz.searchUserProfileImage(canvas,{
+									x:this.getAttributeRelative("x",canvas) - 120,
+									y:this.getAttributeRelative("y",canvas) - 30,
+									profileUrl:profileUrl
+								});
+			}
+		]]>
+	</handler>
+	
+	<handler name="onmouseout">
+		if (this.searchUserProfileImage != null) {
+			this.searchUserProfileImage.destroy();
+			this.searchUserProfileImage = null;
+		}
+	</handler>
+	
+	<turnOverTextItem name="_username" width="200" multiline="true"
+					  text="${ parent.username }" />
+					  
+					  <!--
+	<turnOverTextItem name="_timezone" width="80" multiline="true"
+					  text="${ parent.timezone }" />
+	<turnOverTextItem name="_searchOffers" width="300" multiline="true"
+					  text="${ parent.searchOffers }" />
+	<turnOverTextItem name="_searchSearchs" width="300" multiline="true"
+					  text="${ parent.searchSearchs }" />
+					   -->
+	
+	<view name="_icons" >
+		
+		<view visible="${ parent.parent.clickable }">
+			
+			<miniIcons name="message" y="1" x="1" resource="private_message_add_rsc" width="18" height="18" 
+	               showhandcursor="true">
+		        <handler name="onclick">
+		            if ($debug) Debug.write("Start Conference ",parent.parent.parent.refObj.user_id);
+		            parent.parent.parent.parent.parent.parent.parent.addMessage(parent.parent.parent.refObj);
+		        </handler>
+		        <labelTooltip labelid="1253" />
+		    </miniIcons> 
+			
+		    <miniIcons name="profile" y="1" x="20" resource="user_profile_rsc" width="18" height="18" 
+	               showhandcursor="true">
+		        <handler name="onclick">
+		            if ($debug) Debug.write("Start Conference ",parent.parent.parent.refObj.user_id);
+		            new lz.viewUserProfileWindow(canvas,{
+				            	userId:parent.parent.parent.refObj.user_id
+				            });
+		        </handler>
+		        <labelTooltip labelid="1236" />
+		    </miniIcons> 
+		    
+		    <!--
+		     setCalendarSharing
+		     -->
+		    <miniIcons name="shareCalendar" y="1" x="40" resource="user_contact_calendar_add_rsc" width="18" height="18" 
+                   visibility="${ (parent.parent.parent.shareCalendar) ? 'hidden' : 'visible' }" showhandcursor="true">
+                <handler name="onclick">
+                    if ($debug) Debug.write("Do Share ");
+                    parent.parent.parent.parent.parent.parent.parent.setCalendarSharing(parent.parent.parent.refObj.userContactId, true);
+                </handler>
+                <labelTooltip labelid="1274" />
+            </miniIcons> 
+            
+            <miniIcons name="unShareCalendar" y="1" x="40" resource="user_contact_calendar_delete_rsc" width="18" height="18" 
+                   visibility="${ (parent.parent.parent.shareCalendar) ? 'visible' : 'hidden' }" showhandcursor="true">
+                <handler name="onclick">
+                    if ($debug) Debug.write("Do Not Share ");
+                    parent.parent.parent.parent.parent.parent.parent.setCalendarSharing(parent.parent.parent.refObj.userContactId, false);
+                </handler>
+                <labelTooltip labelid="1275" />
+            </miniIcons> 
+		    
+		    <miniIconsImage src="$once{ canvas.getThemeImage('button_cancel_rsc') }" 
+		    			name="deny" y="1" x="60" width="18" height="18" showhandcursor="true">
+				<handler name="onclick">
+					new lz.confirmationSingle(canvas.main_content._content.inner,{
+                                           labelid:1233,labeliderror:1232,
+                                           refObj:this,showCheckBox:false});
+            
+		        </handler>
+		        
+		        <method name="sendConfirmation" args="yesno" >
+		            parent.parent.parent.parent.parent.parent.parent.removeContactUserMethod(parent.parent.parent.refObj.userContactId);
+		        </method>
+		            
+		        <labelTooltip labelid="1234" />
+		    </miniIconsImage>
+		    
+	    </view>
+		
+		<view height="$once{ parent.parent.height }" width="1" 
+        	align="right" bgcolor="black" />
+	</view>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/settings/usercontacts/editUserContacts.lzx b/WebContent/src/modules/settings/usercontacts/editUserContacts.lzx
new file mode 100644
index 0000000..bb67a28
--- /dev/null
+++ b/WebContent/src/modules/settings/usercontacts/editUserContacts.lzx
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	<include href="userContacts.lzx" />
+	
+<class name="editUserContacts" extends="view">
+	
+	<attribute name="contactContent" value="null"/>
+	
+	<handler name="onvisible" args="v">
+		if ($debug) Debug.write("editUserContacts onvisible",v);
+		if (v) {
+			if (this.contactContent == null) {
+				//We do some tricks to render / to show some of the visible area 
+				//even if the UI is not yet completely rendered
+				lz.Timer.addTimer( new LzDelegate( this, "initContent" ), 250 );
+			}
+		} else {
+			if (this.contactContent != null) {
+				this.contactContent.destroy();
+				this.contactContent = null;
+			}
+		}
+	</handler>
+	
+	<method name="initContent" args="tRef">
+		if (this.contactContent != null) {
+			return;
+		}
+		this.contactContent = new lz.editUserContactsContent(this);
+	</method>
+	
+</class>
+
+<class name="editUserContactsContent" extends="view" height="$once{ parent.height }">
+	
+	<handler name="oninit">
+		//We do some tricks to render / to show some of the visible area 
+		//even if the UI is not yet completely rendered
+		lz.Timer.addTimer( new LzDelegate( this, "initContent" ), 250 );
+	</handler>
+	
+	<method name="initContent" args="tRef">
+		new lz.userContacts(this,{name:'_userContacts'});
+	</method>
+	
+	<privateMessages name="_privateMessages" x="0" y="0" />
+	
+	<view height="$once{ parent.height }" width="1" x="$once{ canvas.width-276 }" 
+		  bgcolor="$once{ canvas.getThemeColor('mainBorderColor') }"></view>
+	
+</class>	
+	
+</library>
diff --git a/WebContent/src/modules/settings/usercontacts/library.lzx b/WebContent/src/modules/settings/usercontacts/library.lzx
new file mode 100644
index 0000000..d8d29be
--- /dev/null
+++ b/WebContent/src/modules/settings/usercontacts/library.lzx
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+	
+    <include href="contactsListItem.lzx" />
+    <include href="pendingContactsListItem.lzx" />
+    <include href="userContacts.lzx" />
+    <include href="editUserContacts.lzx" />
+    
+
+</library>
diff --git a/WebContent/src/modules/settings/usercontacts/pendingContactsListItem.lzx b/WebContent/src/modules/settings/usercontacts/pendingContactsListItem.lzx
new file mode 100644
index 0000000..cfecf79
--- /dev/null
+++ b/WebContent/src/modules/settings/usercontacts/pendingContactsListItem.lzx
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="pendingContactsListItem" extends="basePagingListItem" showhandcursor="false" height="40">
+	
+	<attribute name="username" value="" type="string" />
+	
+	<attribute name="searchUserProfileImage" value="null" />
+	
+	<handler name="onmouseover">
+		<![CDATA[
+			if (this.searchUserProfileImage != null) {
+				this.searchUserProfileImage.destroy();
+				this.searchUserProfileImage = null;
+			}
+			
+			if (this.refObj != null) {
+				
+				var pictureuri = this.refObj.pictureuri;
+				
+				if (pictureuri==null || pictureuri.length==0){
+					pictureuri = "d.jpg";
+				} else {
+					pictureuri = "_profile_"+pictureuri;
+				}
+				
+				//var t=new Date();
+				
+		        //var profileUrl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+		        //		+canvas.httpRootKey+'DownloadHandler?fileName='+pictureuri
+		        //		+'&moduleName=userprofile&parentPath=&room_id='
+		        //		+'&sid='+canvas.sessionId+'&r='+t.getTime();
+		        
+        		var t=new Date();
+                
+                var profileUrl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                    +canvas.httpRootKey+'DownloadHandler?fileName='+pictureuri
+                    +'&moduleName=remoteuserprofile&parentPath=&room_id='
+                    +'&remoteUserid='+this.refObj.user_id+'&r='+t.getTime()
+                    +'&sid='+canvas.sessionId;
+		        //if ($debug) Debug.write("profileUrl "+profileUrl);
+				
+				this.searchUserProfileImage = new lz.searchUserProfileImage(canvas,{
+									x:this.getAttributeRelative("x",canvas) - 120,
+									y:this.getAttributeRelative("y",canvas) - 30,
+									profileUrl:profileUrl
+								});
+			}
+		]]>
+	</handler>
+	
+	<handler name="onmouseout">
+		if (this.searchUserProfileImage != null) {
+			this.searchUserProfileImage.destroy();
+			this.searchUserProfileImage = null;
+		}
+	</handler>
+	
+	<turnOverTextItem name="_username" width="200" multiline="true"
+					  text="${ parent.username }" />
+					  
+					  <!--
+	<turnOverTextItem name="_timezone" width="80" multiline="true"
+					  text="${ parent.timezone }" />
+	<turnOverTextItem name="_searchOffers" width="300" multiline="true"
+					  text="${ parent.searchOffers }" />
+	<turnOverTextItem name="_searchSearchs" width="300" multiline="true"
+					  text="${ parent.searchSearchs }" />
+					   -->
+	
+	<view name="_icons" >
+		
+		<view visible="${ parent.parent.clickable }">
+			
+			<miniIcons name="add" y="1" x="1" resource="user_moderator_list_apply_rsc" width="18" height="18" 
+	               showhandcursor="true">
+				<handler name="onclick">
+		            parent.parent.parent.parent.parent.parent.parent.setPendingStatus(parent.parent.parent.refObj.userContactId,true);
+		        </handler>
+		        <labelTooltip labelid="1190" />
+		    </miniIcons>
+	    
+	    	<miniIconsImage src="$once{ canvas.getThemeImage('button_cancel_rsc') }" 
+    				name="deny" y="1" x="20" width="18" height="18" showhandcursor="true">
+				<handler name="onclick">
+		            parent.parent.parent.parent.parent.parent.parent.setPendingStatus(parent.parent.parent.refObj.userContactId,false);
+		        </handler>
+		        <labelTooltip labelid="1191" />
+		    </miniIconsImage>
+		    
+		    <miniIcons name="profile" y="1" x="40" resource="user_profile_rsc" width="18" height="18" 
+	               showhandcursor="true">
+		        <handler name="onclick">
+		            if ($debug) Debug.write("Start Conference",parent.parent.parent.refObj.owner.user_id);
+		            new lz.viewUserProfileWindow(canvas,{
+				            	userId:parent.parent.parent.refObj.owner.user_id
+				            });
+		        </handler>
+		        <labelTooltip labelid="1236" />
+		    </miniIcons> 
+		    
+	    </view>
+		
+		<view height="$once{ parent.parent.height }" width="1" 
+        	align="right" bgcolor="black" />
+	</view>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/settings/usercontacts/userContacts.lzx b/WebContent/src/modules/settings/usercontacts/userContacts.lzx
new file mode 100644
index 0000000..1bf60a8
--- /dev/null
+++ b/WebContent/src/modules/settings/usercontacts/userContacts.lzx
@@ -0,0 +1,530 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="userContacts" extends="view" height="${ parent.height }"
+	   width="276" x="$once{ canvas.width-this.width + 2 }">
+	
+	<method name="reload">
+		this._pendingContacts._table.getPendingUserContacts.doCall();
+		this._availableContacts._table.getUserContacts.doCall();
+	</method>
+	
+	<!--
+	public Long changePendingStatusUserContacts(
+		String SID, Long userContactId, Boolean pending) {
+	 -->
+	<view name="_pendingContacts" height="$once{ parent.height/2 }" >
+		
+		<!--
+		public List<UserContacts> getPendingUserContacts(String SID)
+		 -->
+		<handler name="oninit">
+			this._table.getPendingUserContacts.doCall();
+		</handler> 
+	    		 
+		
+		<labelText name="_labelPendingUsers" x="2" labelid="1189" fontstyle="bold" />
+		
+		<turnOverListOrderedPaged name="_table" showTopBar="false" x="2" 
+					  height="$once{ parent.height }" 
+		             y="0" itemHeight="40" listLabelId="1184" headerHeight="22" 
+		             listItemName="pendingContactsListItem" menuBarXIndent="100"
+		             multiselect="false" width="270">
+			
+			<netRemoteCallHib name="getPendingUserContacts" funcname="userservice.getPendingUserContacts" 
+					  remotecontext="$once{ canvas.thishib }" >      
+				<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+		    	<handler name="ondata" args="value">
+		    		<![CDATA[
+			    		if ($debug) Debug.write("getPendingUserContacts: ",value);
+			    		
+			    		this.parent.initValues(value.length);
+			    		
+			    		if (value.length == 0) {
+			    			parent.parent.setAttribute("height",20);
+			    			parent.setAttribute("visibility","hidden");
+			    		}
+			    		
+			    		this.parent.parent._labelPendingUsers.setAttribute("text",canvas.getLabelName(this.parent.parent._labelPendingUsers.labelid)+' <i>( '+value.length+' </i>)');  
+			    		
+			    		var tResult = new Array();
+			    		for (var t=0;t<value.length;t++) {
+			    			for (var i=0;i<canvas.salutationsInitValues.length;i++){
+			    				if (canvas.salutationsInitValues[i].salutations_id == value[t].owner.title_id) {
+					                value[t].owner["title"] = canvas.salutationsInitValues[i].label.value;
+					                break;
+			    				}
+				            }
+			    			tResult.push(value[t]);
+			    		}
+			    		
+			    		this.parent.renderContent(tResult);
+			    		
+		    		]]>
+		    	</handler>
+		    </netRemoteCallHib>	
+		
+			<handler name="oninit">
+	            this.addHeaderItem(1180,190);
+	            this.addHeaderItem(1185,60);
+	        </handler>
+	        
+	        <handler name="onclickedItem" args="refObj">
+	            <![CDATA[
+	            
+	                if ($debug) Debug.write("onclickedItem ",refObj.refObj.userContactId);
+	                
+	            ]]>
+	        </handler>
+	        
+	        <method name="setPendingStatus" args="userContactId,pending">
+	            <![CDATA[
+	            
+	                if ($debug) Debug.write("setPendingStatus ",userContactId,pending);
+	                
+	                this.changePendingStatusUserContacts.pending = pending;
+	                this.changePendingStatusUserContacts.userContactId = userContactId;
+	                this.changePendingStatusUserContacts.doCall();
+	            ]]>
+	        </method>
+	        
+	        <!--
+			public Long changePendingStatusUserContacts(String SID, Long userContactId, Boolean pending)
+			 -->
+		    <netRemoteCallHib name="changePendingStatusUserContacts" funcname="userservice.changePendingStatusUserContacts" 
+						  remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >      
+				<attribute name="userContactId" value="0" type="number" />
+				<attribute name="pending" value="true" type="boolean" />
+				<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+				<netparam><method name="getValue"> return parent.userContactId; </method></netparam>
+		    	<netparam><method name="getValue"> return parent.pending; </method></netparam>
+		    	<handler name="ondata" args="value">
+		    		<![CDATA[
+			    		if ($debug) Debug.write("changePendingStatusUserContacts: ",value);
+			    		parent.parent.parent.reload();
+		    		]]>
+		    	</handler>
+		    </netRemoteCallHib>	
+	        
+	        <method name="updatePendingStatus" args="itemId">
+	        	this.renderList[itemId]["pending"] = true;
+	        </method>
+	        
+	        <method name="renderContent" args="rList">
+	            <![CDATA[
+	            
+	            	this.renderList = rList;
+	            
+	                this.isLoaded = true;
+	                var list = this._innerlist._inn._inn;
+	                
+	                if (this.renderList == null) {
+	                	this.renderList = new Array();
+	                }
+	                //this.renderList = records;
+	                var records = this.renderList;
+	                this._innerlist._inn.setAttribute("y",0);
+	                this._innerlist._inn._inn.setAttribute("height",records.length*this.itemHeight);
+	                this._innerlist._inn.resetItems();
+	                
+	                if ($debug) Debug.write(":: renderContent ::",this.renderList.length,list.subviews.length);
+	                
+	                this._records.setAttribute("text",records.length);
+	                
+	                for (var i=0;i<list.subviews.length;i++){
+	                    
+	                    //if (i % 2 == 0) {
+	                    //    list.subviews[i].setIsSecond(true);
+	                    //} else {
+	                    //    list.subviews[i].setIsSecond(false);
+	                    //}
+	                    
+	                    if (records.length > i) {
+	                    	
+	                    	//if ($debug) Debug.write("Render Item ",records[i]);
+	                        
+	                        list.subviews[i].setAttribute("clickable",true);
+	                        list.subviews[i].refObj = records[i];
+	                        
+	                        if (records[i]["isselected"] && records[i].isselected) {
+	                            list.subviews[i].isselected = true;
+	                        } else {
+	                            list.subviews[i].isselected = false;
+	                        }
+	                        
+	                        list.subviews[i].setAttribute("username",records[i].owner.title + ' ' + records[i].owner.firstname+' '+records[i].owner.lastname);
+	                        
+	                        list.subviews[i].setAttribute("itemId",i);
+	                        
+	                    } else {
+	                        
+	                        list.subviews[i].refObj = null;
+	                        
+	                        list.subviews[i].isselected = false;
+	                        list.subviews[i].onmouseout.sendEvent();
+	                        
+	                        list.subviews[i].setAttribute("username",'');
+	                        
+	                        list.subviews[i].setAttribute("itemId","");
+	                        
+	                        list.subviews[i].setAttribute("clickable",false);
+	                        
+	                    }
+	                    
+	                }
+	                
+	                
+	                this.sendInitialWidthUpdate();
+	                
+	            ]]>
+	        </method>   
+		        
+	        <handler name="onScrollItem" args="item">
+	            <![CDATA[
+	                if (this.renderList.length > item.itemId) {
+	                    item.setAttribute("clickable",true);
+	                    item.refObj = this.renderList[item.itemId];
+	                    
+	                    //if (item.itemId % 2 == 0) {
+	                    //    item.setIsSecond(true);
+	                    //} else {
+	                    //    item.setIsSecond(false);
+	                    //}
+	                    
+	                    if (this.renderList[item.itemId]["isselected"] && this.renderList[item.itemId].isselected) {
+	                        item.isselected = true;
+	                        item.onmouseout.sendEvent();
+	                    } else {
+	                        item.isselected = false;
+	                        item.onmouseout.sendEvent();
+	                    }
+	                    
+	                    //if ($debug) Debug.write(item.itemId);
+	                    
+	                    item.setAttribute("username",this.renderList[item.itemId].owner.title + ' ' + this.renderList[item.itemId].owner.firstname+' '+this.renderList[item.itemId].owner.lastname);
+	                        
+	                    item.setAttribute("itemId",item.itemId);
+	                    
+	                } else {
+	                    
+	                    //if (item.itemId % 2 == 0) {
+	                    //    item.setIsSecond(true);
+	                    //} else {
+	                    //    item.setIsSecond(false);
+	                    //}
+	                    
+	                    item.isselected = false;
+	                    item.onmouseout.sendEvent();
+	                    
+	                    item.refObj = null;
+	                    
+	                    item.setAttribute("username","");
+	                    
+	                    item.setAttribute("itemId","");
+	                    
+	                    item.setAttribute("clickable",false);
+	                }
+	                
+	            ]]>
+	        </handler>
+	        
+			
+		</turnOverListOrderedPaged>
+		
+	</view> 
+	
+	<view name="_availableContacts" y="${ parent._pendingContacts.height + 2 }"
+		  height="${ parent.height - parent._pendingContacts.height - 4 }">
+		
+		
+		<!--
+		public List<UserContacts> getPendingUserContacts(String SID)
+		 -->
+		<handler name="oninit">
+			this._table.getUserContacts.doCall();
+		</handler> 
+		
+		<handler name="onheight" args="h">
+			this._table.renderByHeightChange();
+		</handler>
+	    		 
+		
+		<labelText name="_labelPendingUsers" x="2" labelid="1188" fontstyle="bold" />
+		
+		<turnOverListOrderedPaged name="_table" showTopBar="false" x="2" height="${ parent.height }" 
+		             y="0" itemHeight="40" listLabelId="1184" headerHeight="22" 
+		             listItemName="contactsListItem" menuBarXIndent="100"
+		             multiselect="false" width="270">
+			
+	        <method name="renderByHeightChange" >
+        	
+	        	this.clearList();
+	        	this._innerlist._inn.initItems(this.listItemName);
+	        	
+	        	this.renderContent(this.renderList);
+	        </method>
+			
+			<netRemoteCallHib name="getUserContacts" funcname="userservice.getUserContacts" 
+					  remotecontext="$once{ canvas.thishib }" >      
+				<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+		    	<handler name="ondata" args="value">
+		    		<![CDATA[
+			    		if ($debug) Debug.write("getUserContacts: ",value);
+			    		
+			    		canvas.userContacts = value;
+			    		
+			    		this.parent.initValues(value.length);
+			    		
+			    		this.parent.parent._labelPendingUsers.setAttribute("text",canvas.getLabelName(this.parent.parent._labelPendingUsers.labelid)+' <i>( '+value.length+' </i>)')
+			    		
+			    		var tResult = new Array();
+			    		for (var t=0;t<value.length;t++) {
+			    			value[t].contact["shareCalendar"] = value[t].shareCalendar;
+			    			value[t].contact["pending"] = value[t].pending;
+			    			value[t].contact["userContactId"] = value[t].userContactId;
+			    			for (var i=0;i<canvas.salutationsInitValues.length;i++){
+			    				if (canvas.salutationsInitValues[i].salutations_id == value[t].contact.title_id) {
+					                value[t].contact["title"] = canvas.salutationsInitValues[i].label.value;
+					                break;
+			    				}
+				            }
+			    			tResult.push(value[t].contact);
+			    		}
+			    		
+			    		this.parent.renderContent(tResult);
+			    		
+		    		]]>
+		    	</handler>
+		    </netRemoteCallHib>	
+		
+			<handler name="oninit">
+	            this.addHeaderItem(1180,170);
+	            this.addHeaderItem(1185,80);
+	        </handler>
+	        
+	        <handler name="onclickedItem" args="refObj">
+	            <![CDATA[
+	            
+	                if ($debug) Debug.write("onclickedItem ",refObj.refObj.userContactId);
+	                
+	            ]]>
+	        </handler>
+	        
+	        <method name="addMessage" args="userObject">
+	        	parent.parent.parent._privateMessages.newMessage(userObject);
+	        </method>
+	        
+	        <method name="removeContactUserMethod" args="userContactId">
+	            <![CDATA[
+	            
+	                if ($debug) Debug.write("removeUser ",userContactId,pending);
+	                
+	                this.removeContactUser.userContactId = userContactId;
+	                this.removeContactUser.doCall();
+	            ]]>
+	        </method>
+	        
+	        <!--
+			public Integer removeContactUser(String SID, Long userContactId)
+			 -->
+		    <netRemoteCallHib name="removeContactUser" funcname="userservice.removeContactUser" 
+						  remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >      
+				<attribute name="userContactId" value="0" type="number" />
+				<attribute name="pending" value="true" type="boolean" />
+				<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+				<netparam><method name="getValue"> return parent.userContactId; </method></netparam>
+		    	<handler name="ondata" args="value">
+		    		<![CDATA[
+			    		if ($debug) Debug.write("removeContactUser: ",value);
+			    		parent.parent.parent.reload();
+		    		]]>
+		    	</handler>
+		    </netRemoteCallHib>	
+		    
+		    <method name="setCalendarSharing" args="userContactId,doShare">
+                <![CDATA[
+                
+                    if ($debug) Debug.write("setPendingStatus ",userContactId,doShare);
+                    
+                    this.shareCalendarUserContact.doShare = doShare;
+                    this.shareCalendarUserContact.userContactId = userContactId;
+                    this.shareCalendarUserContact.doCall();
+                ]]>
+            </method>
+            
+            <!--
+            public void shareCalendarUserContact(String SID, Long userContactId, Boolean shareCalendar)
+             -->
+            <netRemoteCallHib name="shareCalendarUserContact" funcname="userservice.shareCalendarUserContact" 
+                          remotecontext="$once{ canvas.thishib }"  >      
+                <attribute name="userContactId" value="0" type="number" />
+                <attribute name="doShare" value="true" type="boolean" />
+                <netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+                <netparam><method name="getValue"> return parent.userContactId; </method></netparam>
+                <netparam><method name="getValue"> return parent.doShare; </method></netparam>
+                <handler name="ondata" args="value">
+                    <![CDATA[
+                        if ($debug) Debug.write("changePendingStatusUserContacts: ",value);
+                        parent.parent.parent.reload();
+                    ]]>
+                </handler>
+            </netRemoteCallHib> 
+	        
+	        <method name="renderContent" args="rList">
+	            <![CDATA[
+	            
+	            	this.renderList = rList;
+	            
+	                this.isLoaded = true;
+	                var list = this._innerlist._inn._inn;
+	                
+	                if (this.renderList == null) {
+	                	this.renderList = new Array();
+	                }
+	                //this.renderList = records;
+	                var records = this.renderList;
+	                this._innerlist._inn.setAttribute("y",0);
+	                this._innerlist._inn._inn.setAttribute("height",records.length*this.itemHeight);
+	                this._innerlist._inn.resetItems();
+	                
+	                if ($debug) Debug.write(":: renderContent ::",this.renderList.length,list.subviews.length);
+	                
+	                this._records.setAttribute("text",records.length);
+	                
+	                for (var i=0;i<list.subviews.length;i++){
+	                    
+	                    //if (i % 2 == 0) {
+	                    //    list.subviews[i].setIsSecond(true);
+	                    //} else {
+	                    //    list.subviews[i].setIsSecond(false);
+	                    //}
+	                    
+	                    if (records.length > i) {
+	                    	
+	                    	//if ($debug) Debug.write("Render Item ",records[i]);
+	                        
+	                        list.subviews[i].setAttribute("clickable",true);
+	                        list.subviews[i].refObj = records[i];
+	                        
+	                        if (records[i]["isselected"] && records[i].isselected) {
+	                            list.subviews[i].isselected = true;
+	                        } else {
+	                            list.subviews[i].isselected = false;
+	                        }
+	                        
+	                        var shareCalendar = records[i].shareCalendar;
+                            if (shareCalendar == null) {
+                                shareCalendar = false;
+                            }
+                        
+	                        list.subviews[i].setAttribute("shareCalendar",shareCalendar);
+	                        list.subviews[i].setAttribute("username",records[i].title + ' ' + records[i].firstname+' '+records[i].lastname);
+	                        
+	                        list.subviews[i].setAttribute("itemId",i);
+	                        
+	                    } else {
+	                        
+	                        list.subviews[i].refObj = null;
+	                        
+	                        list.subviews[i].isselected = false;
+	                        list.subviews[i].onmouseout.sendEvent();
+	                        
+	                        list.subviews[i].setAttribute("shareCalendar",false);
+	                        list.subviews[i].setAttribute("username",'');
+	                        
+	                        list.subviews[i].setAttribute("itemId","");
+	                        
+	                        list.subviews[i].setAttribute("clickable",false);
+	                        
+	                    }
+	                    
+	                }
+	                
+	                
+	                this.sendInitialWidthUpdate();
+	                
+	            ]]>
+	        </method>   
+		        
+	        <handler name="onScrollItem" args="item">
+	            <![CDATA[
+	                if (this.renderList.length > item.itemId) {
+	                    item.setAttribute("clickable",true);
+	                    item.refObj = this.renderList[item.itemId];
+	                    
+	                    //if (item.itemId % 2 == 0) {
+	                    //    item.setIsSecond(true);
+	                    //} else {
+	                    //    item.setIsSecond(false);
+	                    //}
+	                    
+	                    if (this.renderList[item.itemId]["isselected"] && this.renderList[item.itemId].isselected) {
+	                        item.isselected = true;
+	                        item.onmouseout.sendEvent();
+	                    } else {
+	                        item.isselected = false;
+	                        item.onmouseout.sendEvent();
+	                    }
+	                    
+	                    //if ($debug) Debug.write(item.itemId);
+	                    var shareCalendar = this.renderList[item.itemId].shareCalendar;
+	                    if (shareCalendar == null) {
+	                    	shareCalendar = false;
+	                    }
+	                    
+	                    item.setAttribute("shareCalendar",shareCalendar);
+	                    item.setAttribute("username",this.renderList[item.itemId].title + ' ' + this.renderList[item.itemId].firstname+' '+this.renderList[item.itemId].lastname);
+	                        
+	                    item.setAttribute("itemId",item.itemId);
+	                    
+	                } else {
+	                    
+	                    //if (item.itemId % 2 == 0) {
+	                    //    item.setIsSecond(true);
+	                    //} else {
+	                    //    item.setIsSecond(false);
+	                    //}
+	                    
+	                    item.isselected = false;
+	                    item.onmouseout.sendEvent();
+	                    
+	                    item.refObj = null;
+	                    
+	                    item.setAttribute("shareCalendar",false);
+	                    item.setAttribute("username","");
+	                    
+	                    item.setAttribute("itemId","");
+	                    
+	                    item.setAttribute("clickable",false);
+	                }
+	                
+	            ]]>
+	        </handler>
+	        
+			
+		</turnOverListOrderedPaged>
+		
+	</view>
+	
+</class>
+
+</library>
diff --git a/WebContent/src/modules/settings/viewUserProfile.lzx b/WebContent/src/modules/settings/viewUserProfile.lzx
new file mode 100644
index 0000000..e140257
--- /dev/null
+++ b/WebContent/src/modules/settings/viewUserProfile.lzx
@@ -0,0 +1,320 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="viewUserProfileWindow" extends="guiPresenter" labelid="1235" isdragable="true" 
+    minimizable="true" maximizable="false" fullToolBar="true" y="100" x="$once{ (parent.width-this.width)/2 }"
+    resizeable="false" width="470" height="$once{ parent.height-this.y-10 }" >
+	
+	<attribute name="userId" value="0" type="number"/>
+	
+	<handler name="oninit">
+		this.getUserById.doCall();
+	</handler>
+	
+	<!--
+	public Users getUserById(String SID, long user_id)
+	 -->
+	<netRemoteCallHib name="getUserById" funcname="userservice.getUserById" 
+			  remotecontext="$once{ canvas.thishib }" >      
+		<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+		<netparam><method name="getValue"> return parent.parent.userId; </method></netparam>
+    	<handler name="ondata" args="value">
+    		<![CDATA[
+	    		if ($debug) Debug.write("getUserById: ",value);
+	    		
+	    		if (value.pictureuri.startsWith("http") || value.pictureuri.startsWith("https")) {
+                
+                } else if (value.pictureuri==null || value.pictureuri.length==0){
+					value.pictureuri = "d.jpg";
+				} else {
+					value.pictureuri = "_profile_"+value.pictureuri;
+				}
+	    		
+	    		parent.setAttribute("title",parent.title+" "+value.firstname+" "+value.lastname);
+	    		
+	    		this.parent.viewUserProfile.viewUserProfile.initFields(value);
+	    		
+    		]]>
+    	</handler>
+    </netRemoteCallHib>	
+	
+    <!--
+    public Long requestUserToContactList(String SID, Long userToAdd_id, 
+                String domain, String port, String webapp)
+     -->
+    <netRemoteCallHib name="requestUserToContactList" funcname="userservice.requestUserToContactList" 
+                  remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >      
+        <netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+        <netparam><method name="getValue"> return parent.parent.viewUserProfile.viewUserProfile.userObject.user_id; </method></netparam>
+        <netparam><method name="getValue"> return canvas.rtmphostlocal; </method></netparam>
+        <netparam><method name="getValue"> return canvas.red5httpport; </method></netparam>
+        <netparam><method name="getValue"> return canvas.httpRootKey; </method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                if ($debug) Debug.write("requestUserToContactList: ",value);
+                if (value > 0) {
+                    new lz.labelerrorPopup(canvas,{labelid:1267,errorlabelid:1266});
+                }
+            ]]>
+        </handler>
+    </netRemoteCallHib> 
+	
+	<view name="viewUserProfile" y="24" height="$once{ parent.height-60 }" 
+		  width="$once{ parent.width-2 }" clip="true">
+		
+		<viewUserProfile name="viewUserProfile" />
+		
+		<om_vscrollbar />
+		
+	</view>
+	
+	<simpleLabelButton labelid="1253" width="190" x="5" y="$once{ parent.height - 26 }">
+        <handler name="onclick">
+            new lz.newPrivateMessage(canvas,{
+                                x:200,y:120,
+                                refObj:null,
+                                minimizable:true,
+                                maximizable:true,
+                                isdragable:true,
+                                userObject:null,
+                                user_id:parent.viewUserProfile.viewUserProfile.userObject.user_id,
+                                width:canvas.width-300,
+                                height:canvas.height-130
+                            });
+        </handler>
+    </simpleLabelButton>  
+	
+	<simpleLabelButton labelid="1186" width="160" x="$once{ parent.width - 270 }" y="$once{ parent.height - 26 }">
+    	<handler name="onclick">
+    		if (hib.userobject.user_id == parent.viewUserProfile.viewUserProfile.userObject.user_id) {
+                new lz.labelerrorPopup(canvas,{errorlabelid:1225});
+                return;
+            }
+            parent.requestUserToContactList.doCall();
+    	</handler>
+    </simpleLabelButton>   
+	
+    <simpleLabelButton labelid="61" width="100" x="$once{ parent.width - 105 }" y="$once{ parent.height - 26 }">
+    	<handler name="onclick">
+    		this.parent.close();
+    	</handler>
+    </simpleLabelButton>
+	
+</class>	
+	
+<!--- User Profile Setting Panel -->
+<class name="viewUserProfile" extends="view" >
+	
+	<attribute name="userObject" value="null" />
+			
+	<method name="initFields" args="obj">
+    	<![CDATA[
+    	
+    	    this.userObject = obj;
+    	
+	        //var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+	        //		+canvas.httpRootKey+'DownloadHandler?fileName='+obj.pictureuri
+	        //		+'&moduleName=userprofile&parentPath=&room_id='
+	        //		+'&sid='+canvas.sessionId;
+	        var t = new Date();
+	       
+	        if (obj.pictureuri.startsWith("http") || obj.pictureuri.startsWith("https")) {
+                var downloadurl = obj.pictureuri;
+            } else {
+        		var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+                        +canvas.httpRootKey+'DownloadHandler?fileName='+obj.pictureuri
+                        +'&moduleName=remoteuserprofile&parentPath=&room_id='
+                        +'&remoteUserid='+obj.user_id+'&r='+t.getTime()
+                        +'&sid='+canvas.sessionId;
+            }	
+	        if ($debug) Debug.warn("downloadurl 1 ",downloadurl);
+	        this._userpic.setAttribute('src',downloadurl);
+	        
+	        var tUserName = "<u><FONT color='#0000CC'><a href='asfunction:_root.searchUsers,"+ this.removeWhitespace(obj.firstname) +"'>" + this.removeWhitespace(obj.firstname) + "</a></FONT></u>";
+    			
+	        tUserName += " <u><FONT color='#0000CC'><a href='asfunction:_root.searchUsers,"+ this.removeWhitespace(obj.lastname) +"'>" + this.removeWhitespace(obj.lastname) + "</a></FONT></u>";
+    	
+    		this.username.setAttribute("text",tUserName);
+    		
+    		this.timezone.setAttribute("text",this.userObject.omTimeZone.jname + ' (' + this.userObject.omTimeZone.ical + ')');
+    		
+    		this.memberSince.setAttribute("text",parseDateToString(this.userObject.starttime));
+    		
+    		var aOfferings = obj.userOffers.split(",");
+    		
+    		var tOfferings = "";
+    		
+    		for (var t=0;t<aOfferings.length;t++) {
+    			
+    			tOfferings += "<u><FONT color='#0000CC'><a href='asfunction:_root.searchOffers,"+ this.removeWhitespace(aOfferings[t]) +"'>" + this.removeWhitespace(aOfferings[t]) + "</a></FONT></u>";
+    			
+    			if (t+1 < aOfferings.length) {
+    				tOfferings += ", ";
+    			}
+    		}
+    		
+    		this.userOffers._text.setAttribute("text",tOfferings);
+    		
+    		
+    		var aSearchs = obj.userSearchs.split(",");
+    		
+    		var tSearchs = "";
+    		
+    		for (var t=0;t<aSearchs.length;t++) {
+    			
+    			tSearchs += "<u><FONT color='#0000CC'><a href='asfunction:_root.searchInterest,"+ this.removeWhitespace(aSearchs[t]) +"'>" + this.removeWhitespace(aSearchs[t]) + "</a></FONT></u>";
+    			
+    			if (t+1 < aSearchs.length) {
+    				tSearchs += ", ";
+    			}
+    		}
+    		
+    		this.userSearchs._text.setAttribute("text",tSearchs);
+    		
+    		if (hib.userobject.user_id == this.userObject.user_id) {
+    			//Self always show
+    			this.showUserContactData();
+    		} else if (obj.showContactData) {
+    			this.showUserContactData();
+    		}  else if (obj.showContactDataToContacts) {
+                this.checkUserIsInContactList.doCall();
+            } else {
+    			this.userContactData.setAttribute("text",canvas.getLabelName(1268));
+    		}
+    		
+    	
+    	]]>
+	</method>
+	
+	<!--
+	public Boolean checkUserIsInContactList(String SID, Long user_id)
+	 -->
+	<netRemoteCallHib name="checkUserIsInContactList" funcname="userservice.checkUserIsInContactList" 
+              remotecontext="$once{ canvas.thishib }" >      
+        <netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
+        <netparam><method name="getValue"> return parent.parent.userObject.user_id; </method></netparam>
+        <handler name="ondata" args="value">
+            <![CDATA[
+                if ($debug) Debug.write("checkUserIsInContactList: ",value);
+                
+                if (value){
+                    parent.showUserContactData();
+                } else {
+                    parent.userContactData.setAttribute("text",canvas.getLabelName(1269));
+                }
+                
+            ]]>
+        </handler>
+    </netRemoteCallHib> 
+	
+	<method name="showUserContactData">
+		<![CDATA[
+		
+            var tString = this.userObject.adresses.street + " " + this.userObject.adresses.additionalname + "<br/>";
+		    tString +=  this.userObject.adresses.zip + " " + this.userObject.adresses.town + "<br/>";
+		    tString +=  this.userObject.adresses.states.name + "<br/><br/>";
+            tString +=  this.userObject.adresses.email + "<br/>";
+            tString +=  this.userObject.adresses.phone + "<br/><br/>";
+            tString +=  this.userObject.adresses.comment + "<br/>";
+            
+            this.userContactData.setAttribute("text",tString);
+            
+		]]>
+	</method>
+	
+	<method name="removeWhitespace" args="str">
+		<![CDATA[
+		
+			//if ($debug) Debug.write("removeWhitespace 1 ",str);
+			//if ($debug) Debug.write("removeWhitespace 2 ",str.length);
+		
+			var tResultingString = "";
+			
+			for (var i=0;i<str.length;i++) {
+				
+				var tChar = str.substring(i,i+1);
+				
+				if (tChar != " ") {
+					tResultingString = str.substring(i,str.length);
+					break;
+				}
+				
+			}
+			
+			for (var i=tResultingString.length;i>0;i--) {
+				
+				var tChar = tResultingString.substring(i-1,i);
+				
+				if (tChar != " ") {
+					tResultingString = tResultingString.substring(0,i);
+					break;
+				}
+				
+			}
+			
+			
+			return tResultingString;
+			
+		
+		]]>
+	</method>
+	
+	<image y="10" x="10" name="_userpic" />
+	
+	<view x="180" width="260" y="10" height="120" bgcolor="0xFFFFFF" />
+	
+	<labelText name="usernameLabel" x="180" y="10" labelid="1164" />
+	<labelText name="username" x="260" y="10" />
+	
+	<labelText name="timezoneLabel" x="180" y="30" labelid="1165" />
+	<labelText name="timezone" x="260" y="30" />
+	
+	<labelText name="memberSinceLabel" x="180" y="50" labelid="1296" />
+    <labelText name="memberSince" x="260" y="50" />
+	
+	<labelText name="userFields" x="10" y="140" labelid="1166" fontstyle="bold" />
+	
+	<labelText name="userOffersLabel" x="10" y="160" labelid="1162" />
+	
+	<view name="userOffers" x="120" y="160" height="100" width="320" clip="true" bgcolor="0xFFFFFF">
+		<labelText name="_text" multiline="true" width="$once{ parent.width- 16 }" />
+		<om_vscrollbar />
+	</view>
+	
+	<labelText name="userSearchsLabel" x="10" y="270" labelid="1163" />
+	
+	<view name="userSearchs" x="120" y="270" height="100" width="320" clip="true" bgcolor="0xFFFFFF">
+		<labelText name="_text" multiline="true" width="$once{ parent.width- 16 }" />
+		<om_vscrollbar />
+	</view>
+	
+	<labelText name="userContact" x="10" y="380" labelid="1167" fontstyle="bold" />
+	
+	<labelText x="10" y="400" labelid="1270" />
+	
+	<labelText name="userContactData" x="120" y="400" multiline="true" width="320" 
+			   selectable="true" bgcolor="0xFFFFFF" resize="false" />
+	    	
+</class>
+
+
+</library>
diff --git a/WebContent/src/modules/sipintegration/library.lzx b/WebContent/src/modules/sipintegration/library.lzx
new file mode 100644
index 0000000..a0c1e01
--- /dev/null
+++ b/WebContent/src/modules/sipintegration/library.lzx
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+    <include href="sipLoader.lzx" />
+    
+</library>
diff --git a/WebContent/src/modules/sipintegration/sipLoader.lzx b/WebContent/src/modules/sipintegration/sipLoader.lzx
new file mode 100644
index 0000000..e948029
--- /dev/null
+++ b/WebContent/src/modules/sipintegration/sipLoader.lzx
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<class name="sipLoader" extends="view" bgcolor="0xFFFFFF"
+	   align="center" valign="middle" 
+	   width="${ this._label.width + 50 }" height="40">
+
+    <view resource="warning_icon_rsc" x="10" y="10" />
+
+    <labelText labelid="900" name="_label"
+    		   fontsize="11" y="10" x="40" />
+    
+</class>
+
+</library>
diff --git a/WebContent/src/plugins/library.lzx b/WebContent/src/plugins/library.lzx
new file mode 100644
index 0000000..417d2c6
--- /dev/null
+++ b/WebContent/src/plugins/library.lzx
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+    <!-- Add the Folder and Entry for your Plugin here -->
+
+    <!--
+    <include href="livewall/"/>
+     -->
+	
+</library>
diff --git a/WebContent/src/resources/library.lzx b/WebContent/src/resources/library.lzx
new file mode 100644
index 0000000..37cd9c5
--- /dev/null
+++ b/WebContent/src/resources/library.lzx
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!-- FamFam Icon Set -->
+<resource name="user_moderator_list_apply_rsc" src="tick.png" />
+
+<!-- add for calendar -->
+<!-- FamFam Icon Set -->
+<resource name="user_profile_rsc" src="user.png" />
+
+</library>
diff --git a/WebContent/src/resources/tick.png b/WebContent/src/resources/tick.png
new file mode 100644
index 0000000..a9925a0
--- /dev/null
+++ b/WebContent/src/resources/tick.png
Binary files differ
diff --git a/WebContent/src/resources/user.png b/WebContent/src/resources/user.png
new file mode 100644
index 0000000..79f35cc
--- /dev/null
+++ b/WebContent/src/resources/user.png
Binary files differ
diff --git a/WebContent/src/rest/rest-testclient.lzx b/WebContent/src/rest/rest-testclient.lzx
new file mode 100644
index 0000000..2702425
--- /dev/null
+++ b/WebContent/src/rest/rest-testclient.lzx
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas debug="true" height="100%" title="REST Test-Application">
+	
+<debug width="450" x="460" y="600" height="100" />
+  
+<include href="incubator/lzcombobox.lzx" />
+
+<attribute name="_baseUrlRestTestGate" value="" type="string" />
+
+<method name="setBaseUrlGateway" args="txt">
+	if ($debug) Debug.write("setBaseUrlGateway: ",txt);
+	this.setAttribute("_baseUrlRestTestGate",txt);
+	var tString1 = txt+"/AddressBookService/findEntry";
+	if ($debug) Debug.write("tString1: ",tString1);
+	this.dset.setSrc(tString1);
+	this.dset.setQueryType("POST");
+	this.dset.setQueryParam("param1","awe");
+	this.dset.doRequest();
+	if ($debug) Debug.write("dset: ",this.dset);
+</method>
+
+<dataset name="dset" request="false" type="post" ondata="Debug.write('ondata: ',val,this.data,this)" >
+</dataset>
+
+<datapointer xpath="dset:/">
+	<handler name="ondata">
+		Debug.write('ondata: ',this);
+	</handler>
+</datapointer>
+
+<view layout="axis:y;spacing:4" width="450" x="0">
+	<text fontstyle="bold" text="Connection - Settings (user for both BroadCasting and Subscribing)" />
+	<view width="450">
+		<text text="BaseURL:" />
+		<edittext align="right" width="350" id="url" text="http://127.0.0.1:5080/openmeetings/services" />
+	</view>
+	<button align="right" width="200" text="connectRtmpConnection" 
+			onclick="canvas.setBaseUrlGateway(url.text)" />
+</view>
+
+
+<!-- some description -->
+<text fontstyle="italic" y="0" width="450" multiline="true" x="450">
+	Test-Client for Testing the WebService-Gateway (Axis2)<br/>
+	This uses the REST-Gateway, not the SOAP Gateway as OpenLaszlo does not<br/>
+	Understand/speak SOAP 1.2<br/>
+</text>
+
+
+</canvas>
diff --git a/WebContent/src/rest/rest-testclient.lzx.lzr=swf8.swf b/WebContent/src/rest/rest-testclient.lzx.lzr=swf8.swf
new file mode 100644
index 0000000..e617ce9
--- /dev/null
+++ b/WebContent/src/rest/rest-testclient.lzx.lzr=swf8.swf
Binary files differ
diff --git a/WebContent/src/sipindex_debug.html b/WebContent/src/sipindex_debug.html
new file mode 100644
index 0000000..8ff0c43
--- /dev/null
+++ b/WebContent/src/sipindex_debug.html
@@ -0,0 +1,117 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

+<html>

+<head>

+

+<meta http-equiv="cache-control" content="no-cache" />

+<meta http-equiv="pragma" content="no-cache" />

+

+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

+<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">

+<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">

+<meta name="viewport" content="width=device-width; initial-scale=1.0;">

+

+<title>OpenMeetings</title>

+

+<script type="text/javascript" src="/sip-applet/jquery-1.2.6.min.js"></script>

+<script type="text/javascript" src="/sip-applet/uiie.js"></script>

+<script type="text/javascript" src="/sip-applet/blie.js"></script>

+<script type="text/javascript" src="/sip-applet/custom.js"></script>

+

+<script type="text/javascript">

+          // If loaded bare into a browser, set the browser size to the canvas size

+          if (window === top) {

+            (function (width, height) {

+              // Cf. http://www.quirksmode.org/viewport/compatibility.html

+              if (window.innerHeight) {

+                // Sadly, innerHeight/Width is not r/w on some browsers, and resizeTo is for outerHeight/Width

+                window.resizeTo(width ? (width + window.outerWidth - window.innerWidth) : window.outerWidth,

+                                height ? (height + window.outerHeight - window.innerHeight) : window.outerHeight);

+              } else if (document.documentElement && document.documentElement.clientHeight) {

+                if (width) {

+                  document.documentElement.clientWidth = width;

+                }

+                if (height) {

+                  document.documentElement.clientHeight = height;

+                }

+              } else {

+                if (width) {

+                  document.body.clientWidth = width;

+                }

+                if (height) {

+                  document.body.clientHeight = height;

+                }

+              }

+            })(null, null);

+          }

+        </script>

+<script type="text/javascript"

+	src="embed-compressed.js"></script>

+<script type="text/javascript">

+

+function getBrowserInfo() {

+	//alert(navigator.userAgent);

+	return navigator.userAgent;

+}

+

+</script>

+	

+<style type="text/css">

+html,body { /* http://www.quirksmode.org/css/100percheight.html */

+	height: 100%;

+	/* prevent scrollbars */

+	margin: 0;

+	padding: 0;

+	border: 0 none;

+	overflow: hidden;

+}

+

+body {

+	background-color: #ffffff;

+}

+

+img {

+	border: 0 none;

+}

+</style>

+</head>

+<body onload="initialize();" onunload="logOff();">

+

+<applet id="PHDial" archive="idial.jar" 

+  		code="com.sesca.voip.ua.AppletUANG.class" width="0" height="0">

+	<param name="mayscript" value="true" />

+    <param name="scriptable" value="true" />

+    <param name="callTo" value="" />

+    <param name="username" value="" />

+    <param name="password" value="" />

+    <param name="realm" value="sip.idial.fi" />

+    <param name="port" value="5060" />

+    <param name="proxyname" value="test.idialserver.com" />

+    <param name="tunnel" value="194.79.17.140:443" />

+	<param name="codebaseUrl" value="./hasnwurst" />

+	<param name="forceTunnel" value="true" />

+</applet>

+

+<script type="text/javascript">

+    lz.embed.swf({url: 'main.lzx.swf8.swf', allowfullscreen: 'true', bgcolor: '#ffffff', width: '100%', height: '100%', id: 'lzapp', accessible: 'false'});

+

+    lz.embed.lzapp.onloadstatus = function loadstatus(p) {

+      // called with a percentage (0-100) indicating load progress

+    }

+

+    lz.embed.lzapp.onload = function loaded() {

+      // called when this application is done loading

+    }

+</script>

+<div style="width: 100%; height: 100%;" id="lzappContainer"><embed

+	src="maindebug.lzx-Dateien/maindebug.lzx" quality="high"

+	bgcolor="#ffffff" wmode="window" allowfullscreen="false" id="lzapp"

+	name="lzapp"

+	flashvars="lzt=swf&amp;lzproxied=solo&amp;lzr=swf8&amp;bgcolor=%23ffffff&amp;width=100%25&amp;height=100%25&amp;__lzurl=maindebug.lzx%3Flzt%3Dswf%26lzproxied%3Dsolo%26lzr%3Dswf8&amp;__lzminimumversion=8&amp;id=lzapp"

+	swliveconnect="true" allowscriptaccess="sameDomain"

+	type="application/x-shockwave-flash"

+	pluginspage="http://www.macromedia.com/go/getflashplayer"

+	align="middle" height="100%" width="100%"></div>

+<noscript>Please enable JavaScript in order to use this

+application.</noscript>

+</body>

+</html>
\ No newline at end of file
diff --git a/WebContent/src/subscribe.lzx.lzr=swf8.swf b/WebContent/src/subscribe.lzx.lzr=swf8.swf
new file mode 100644
index 0000000..13e11e1
--- /dev/null
+++ b/WebContent/src/subscribe.lzx.lzr=swf8.swf
Binary files differ
diff --git a/WebContent/src/test-setup.lzx.lzr=swf8.swf b/WebContent/src/test-setup.lzx.lzr=swf8.swf
new file mode 100644
index 0000000..4998ea1
--- /dev/null
+++ b/WebContent/src/test-setup.lzx.lzr=swf8.swf
Binary files differ
diff --git a/WebContent/src/test/.ignore_dtd b/WebContent/src/test/.ignore_dtd
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/WebContent/src/test/.ignore_dtd
diff --git a/WebContent/src/test/Tutorat.swf b/WebContent/src/test/Tutorat.swf
new file mode 100644
index 0000000..317e163
--- /dev/null
+++ b/WebContent/src/test/Tutorat.swf
Binary files differ
diff --git a/WebContent/src/test/backup/index.jsp b/WebContent/src/test/backup/index.jsp
new file mode 100644
index 0000000..cc3be13
--- /dev/null
+++ b/WebContent/src/test/backup/index.jsp
@@ -0,0 +1,65 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8"
+    pageEncoding="UTF-8"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<title>OpenMeetings</title>
+	<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
+	<script type="text/javascript" src="swfobject.js"></script>
+	<style type="text/css">
+		
+		/* hide from ie on mac \*/
+		html {
+			height: 100%;
+			overflow: hidden;
+		}
+		
+		#flashcontent {
+			height: 100%;
+		}
+		/* end hide */
+	
+		body {
+			height: 100%;
+			margin: 0;
+			padding: 0;
+			background-color: #ffffff;
+		}
+	
+	</style>
+</head>
+<body align="center" valign="middle" align="center" onLoad="focusSWF()">
+
+
+	<div id="flashcontent">
+		<strong>You need to upgrade your Flash Player</strong>
+		<p><a href="http://www.macromedia.com/go/getflashplayer/">Get the latest Flash Player</a></p>
+	</div>
+	
+	<script type="text/javascript">
+		// <![CDATA[
+		
+		var d = new Date();
+		
+		var so = new SWFObject("main.lzx.swf8.swf?r="+d.getTime(), "lzapp", "100%", "100%", "8", "#ffffff");
+		so.addParam("quality", "high");
+		so.addParam("id", "lzapp");
+		so.addParam("allowScriptAccess", "always");
+		so.addParam("scale", "noscale");
+		so.write("flashcontent");
+		
+		function focusSWF(){
+		
+		    if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){
+		    }else {
+		        document.getElementById('lzapp').focus();
+		    }
+		}   		
+		
+		// ]]>
+	</script>	
+
+
+</body>
+</html>
diff --git a/WebContent/src/test/backup_whiteboard/baseDrawArrow.lzx b/WebContent/src/test/backup_whiteboard/baseDrawArrow.lzx
new file mode 100644
index 0000000..baafd01
--- /dev/null
+++ b/WebContent/src/test/backup_whiteboard/baseDrawArrow.lzx
@@ -0,0 +1,611 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<class name="baseDrawArrow" extends="baseDrawULine" >
+    
+    <!-- for drawing drawarrow -->
+    <attribute name="currentdrawarrowlinestroke" value="0x000000" />
+    <attribute name="currentdrawarrowlinestrokeDis" value="1" type="number" />
+    <attribute name="currentdrawarrowlinestrokeFill" value="0xFF6600" />
+    <attribute name="currentdrawarrowlinestrokeFillDis" value="1" type="number" />
+    
+    <attribute name="currentdrawarrowlinelineWidth" value="4" type="number" />   
+    <attribute name="currentdrawarrowOpacity" value="1" type="number" />
+      
+    <!-- ###########################
+    drawarrow
+     -->
+     
+    
+    <method name="startDrawarrowline" args="oid_name">
+        <![CDATA[
+	        if (oid_name == null) {
+	            oid_name = 'drawarrow'+this.getCounter();
+	        }
+	        
+	        this.currentlayer = new lz.drawViewNew(this,{
+		            name:oid_name,width:this.width,height:this.height,
+		            opacity:this.currentdrawarrowOpacity});
+            
+            var pArrowStart = new flash.geom.Point(this.startx,this.starty);
+            var pArrowEnd = new flash.geom.Point(this.endx,this.endy);
+            
+            if ($debug) Debug.write("start,end,line",pArrowStart,pArrowEnd,this.currentdrawarrowlinelineWidth);
+            this.drawArrow(this.currentlayer,pArrowStart,pArrowEnd,this.currentdrawarrowlinelineWidth);
+        ]]>
+    </method> 
+    
+    <method name="endDrawarrowline">
+        //Debug.write("endDrawarrowline",this.startx,this.starty,this.endx,this.endy);
+        <![CDATA[
+        var tempName = this.currentlayer.name;
+        //Debug.write("tempName: ",tempName);
+        this.currentlayer.destroy();
+        
+        //GetBounds of that Object
+        var minx = this.width+2;
+        var miny = this.height+2;
+        var maxx = -2;
+        var maxy = -2;
+
+        if (this.startx<minx) minx=this.startx;
+        if (this.endx<minx) minx=this.endx;
+        
+        if (this.startx>maxx) maxx=this.startx;
+        if (this.endx>maxx) maxx=this.endx;
+        
+        if (this.starty<miny) miny=this.starty;
+        if (this.endy<miny) miny=this.endy;
+        
+        if (this.starty>maxy) maxy=this.starty;
+        if (this.endy>maxy) maxy=this.endy;
+        
+        var width = maxx-minx;
+        var height = maxy-miny;
+        
+        //Debug.write("minx,miny,width,height: ",minx,miny,width,height);
+
+        this.currentlayer = new lz.drawViewNew(this,{
+            name:tempName,x:minx,y:miny,width:width,height:height,
+            opacity:this.currentdrawarrowOpacity});
+            
+        this.currentlayer.fillstyle = '0x000000';
+        this.currentlayer.lineWidth = this.currentdrawarrowlinelineWidth;
+        this.currentlayer.strokeStyle = this.currentdrawarrowlinestroke;
+        
+        //Debug.write("this.currentlayer: ",this.currentlayer);
+
+        var t = new lz.drawArrowWhiteBoard(this.currentlayer,{x:0,y:0});
+
+        //Color
+        //t.setTint(this.currentdrawarrowlinestroke,60);
+        t.setColor(this.currentdrawarrowlinestroke);
+        
+        var tx = this.endx-this.startx;
+        var ty = this.endy-this.starty;
+
+        var gegenkathete = Math.abs(ty);
+        var ankathete = Math.abs(tx); 
+        var hypothenuse = Math.sqrt((ankathete*ankathete)+(gegenkathete*gegenkathete));
+        var sinAlpha = (gegenkathete/hypothenuse);
+        var alpha = Math.asin(sinAlpha);
+        alpha = alpha/(Math.PI/180);
+            
+        var newx = 0;
+        var newy = 0;
+        if (tx>=0 && ty>=0){    
+            t.setAttribute('rotation',(alpha-45));
+        } else if (tx<0 && ty>=0){
+            newx = width;
+            t.setAttribute('rotation',(45+90-alpha));
+        } else if (tx<0 && ty<0){
+            newy = height;
+            newx = width;
+            t.setAttribute('rotation',(alpha+45+90));
+        } else if (tx>0 && ty<=0){
+            newy = height;
+            t.setAttribute('rotation',(45-alpha-90));
+        }
+        
+        t.setAttribute('x',newx);
+        t.setAttribute('y',newy);
+        
+        //Scaling
+        var basicLength = Math.sqrt((t.width*t.width)+(t.width*t.width));
+        t.getDisplayObject()._xscale = (hypothenuse/basicLength)*100;
+        t.getDisplayObject()._yscale = (hypothenuse/basicLength)*100;
+        
+
+        //Set previous to null
+        this.prevx = null;
+        this.prevy = null;  
+        
+        //Add Layer to global Layer     
+        this.layers.push(this.currentlayer);  
+        ]]>
+        this.drawarrowlineregisterFinal();
+        this.currentlayer = new LzView();
+        //Debug.write("t: ",t);
+    </method> 
+       
+    
+    
+    <method name="drawArrow" args="graphics,start,end,thickness">
+        <![CDATA[
+    //(graphics:Graphics,
+    //            start:Point,end:Point,
+    //            style:Object=null):void {
+            
+            if (start.equals(end)) return;
+            
+            
+            var arrowStyle = {'shaftControlPosition':0.5,
+                    'shaftControlSize':0.5,
+                    'headLength':thickness*5, //Pixel Length of arrow head
+                    'headWidth':thickness*5,//Relative width of arrow head
+                    'edgeControlPosition':0.5,
+                    'edgeControlSize':0.5,
+                    'shaftPosition':0,
+                    'shaftThickness':thickness
+                    };
+            
+            var fullVect:Point = end.subtract(start);
+            var halfWidth:Number = (arrowStyle.headWidth != -1) ? arrowStyle.headWidth/2 : arrowStyle.headLength/2; 
+            
+            //Figure out the line start/end points
+            var startNorm = new flash.geom.Point(fullVect.y,-fullVect.x);
+            startNorm.normalize(arrowStyle.shaftThickness/2);
+            var start1 = start.add(startNorm);
+            var start2 = start.subtract(startNorm);
+            var end1 = end.add(startNorm);
+            var end2 = end.subtract(startNorm);
+            
+            //if ($debug) Debug.write("startNorm: ",startNorm.toString());
+            //if ($debug) Debug.write("start1: ",start1.toString());
+            //if ($debug) Debug.write("start2: ",start2.toString());
+            //if ($debug) Debug.write("end1: ",end1.toString());
+            //if ($debug) Debug.write("end2: ",end2.toString());
+            
+            //figure out where the arrow head starts
+            var headPnt = fullVect.clone();
+            //if ($debug) Debug.write("headPnt 1: ",headPnt.toString());
+            //if ($debug) Debug.write("headPnt.length 1: ",headPnt.length);
+            //if ($debug) Debug.write("arrowStyle.headLength 1: ",arrowStyle.headLength);
+            headPnt.normalize(headPnt.length-arrowStyle.headLength);
+            //if ($debug) Debug.write("headPnt 2: ",headPnt.toString());
+            headPnt = headPnt.add(start);
+            //if ($debug) Debug.write("headPnt 3: ",headPnt.toString());
+            
+            //calculate the arrowhead corners
+            var headPntNorm = startNorm.clone();
+            //if ($debug) Debug.write("headPntNorm ^^: ",headPntNorm.toString());
+            //if ($debug) Debug.write("halfWidth ^^: ",halfWidth);
+            headPntNorm.normalize(halfWidth);
+            //if ($debug) Debug.write("headPntNorm: ",headPntNorm.toString());
+            var edge1 = headPnt.add(headPntNorm);
+            var edge2 = headPnt.subtract(headPntNorm);
+            
+            //if ($debug) Debug.write("edge1: ",edge1.toString());
+            //if ($debug) Debug.write("edge2: ",edge2.toString());
+            
+            //Figure out where the arrow connects the the shaft, then calc the intersections
+            var shaftCenter = flash.geom.Point.interpolate(end,headPnt,arrowStyle.shaftPosition);
+            //if ($debug) Debug.write("end: ",end.toString());
+            //if ($debug) Debug.write("headPnt",headPnt.toString());
+            //if ($debug) Debug.write("arrowStyle.shaftPosition: ",arrowStyle.shaftPosition);
+            //if ($debug) Debug.write("shaftCenter",shaftCenter.toString());
+            var inter1 = this.getLineIntersection(start1,end1,shaftCenter,edge1);
+            var inter2 = this.getLineIntersection(start2,end2,shaftCenter,edge2);
+            
+            //if ($debug) Debug.write("inter1: ",inter1.toString());
+            //if ($debug) Debug.write("inter2: ",inter2.toString());
+            
+            //Figure out the control points
+            var edgeCenter = flash.geom.Point.interpolate(end,headPnt,arrowStyle.edgeControlPosition);
+            var edgeNorm = startNorm.clone();
+            edgeNorm.normalize(halfWidth*arrowStyle.edgeControlSize);
+            //if ($debug) Debug.write("halfWidth*arrowStyle.edgeControlSize: "+(halfWidth*arrowStyle.edgeControlSize));
+            //if ($debug) Debug.write("edgeNorm: "+edgeNorm.toString());
+            var edgeCntrl1 = edgeCenter.add(edgeNorm);
+            var edgeCntrl2 = edgeCenter.subtract(edgeNorm);
+
+            //if ($debug) Debug.write("edgeCntrl1: ",edgeCntrl1.toString());
+            //if ($debug) Debug.write("edgeCntrl2: ",edgeCntrl2.toString());
+
+            //if ($debug) Debug.write("moveTo: ",start1.x,start1.y);
+            //if ($debug) Debug.write("lineTo",inter1.x,inter1.y);
+            //if ($debug) Debug.write("lineTo",edge1.x,edge1.y);
+            //if ($debug) Debug.write("quadraticCurveTo",edgeCntrl1.x,edgeCntrl1.y,end.x,end.y);
+            //if ($debug) Debug.write("quadraticCurveTo",edgeCntrl2.x,edgeCntrl2.y,edge2.x,edge2.y);
+            //if ($debug) Debug.write("lineTo",inter2.x,inter2.y);
+            //if ($debug) Debug.write("lineTo",start2.x,start2.y);
+            //if ($debug) Debug.write("lineTo",start1.x,start1.y);
+            
+            graphics.moveTo(start1.x,start1.y);
+            graphics.lineTo(inter1.x,inter1.y);
+            graphics.lineTo(edge1.x,edge1.y);
+            graphics.quadraticCurveTo(edgeCntrl1.x,edgeCntrl1.y,end.x,end.y);
+            graphics.quadraticCurveTo(edgeCntrl2.x,edgeCntrl2.y,edge2.x,edge2.y);
+            graphics.lineTo(inter2.x,inter2.y);
+            graphics.lineTo(start2.x,start2.y);
+            graphics.lineTo(start1.x,start1.y);
+            
+            if (this.currentdrawarrowlinestrokeDis!=-1){
+                graphics.strokeStyle = this.currentdrawarrowlinestroke;
+                graphics.stroke();
+            }
+
+            if (this.currentdrawarrowlinestrokeFillDis!=-1){
+                graphics.fillStyle = this.currentdrawarrowlinestrokeFill;
+                graphics.fill();
+            }
+        ]]>
+    </method>
+    
+    <method name="getLineIntersection" args="a1,a2,b1,b2">
+        <![CDATA[ 
+        
+            //calculate directional constants
+            var k1 = (a2.y-a1.y) / (a2.x-a1.x);
+            var k2 = (b2.y-b1.y) / (b2.x-b1.x);
+            
+            // if the directional constants are equal, the lines are parallel,
+            // meaning there is no intersection point.
+            if( k1 == k2 ) return null;
+            
+            var x = 0;
+            var y = 0;
+            var m1 = 0;
+            var m2 = 0;
+            
+            //if ($debug) Debug.write("k1",k1);
+            //if ($debug) Debug.write("k2",k2);
+            
+            // an infinite directional constant means the line is vertical
+            if( !isFinite(k1) ) {
+                
+                //if ($debug) Debug.write("k1 ^^ 0");
+                //if ($debug) Debug.write("k2",k2,(b2.y-b1.y));
+                //if ($debug) Debug.write("b1.getY(): "+b1.y);
+                //if ($debug) Debug.write("b2.getY(): "+b2.y);
+                // so the intersection must be at the x coordinate of the line
+                x = a1.x;
+                m2 = b1.y - k2 * b1.x;
+                //if ($debug) Debug.write("m2",m2);
+                y = k2 * x + m2;
+                //if ($debug) Debug.write("y",y);
+                
+            // same as above for line 2
+            } else if ( !isFinite(k2) ) {
+                
+                //if ($debug) Debug.write("k2 ^ 0");
+                
+                m1 = a1.y - k1 * a1.x;
+                x = b1.x;
+                y = k1 * x + m1;
+
+            // if neither of the lines are vertical
+            } else {
+                
+                //if ($debug) Debug.write("neither");
+            
+                m1 = a1.y - k1 * a1.x;
+                m2 = b1.y - k2 * b1.x;              
+                x = (m1-m2) / (k2-k1);
+                y = k1 * x + m1;
+                
+            }
+            
+            return new flash.geom.Point(x,y);
+        ]]>
+    </method>    
+    
+     
+    
+    
+    <method name="drawarrowlineregisterFinal">
+        var actionObject = new Array();
+        actionObject[0] = 'drawarrow';
+        actionObject[1] = currentlayer.fillstyle;
+        actionObject[2] = currentlayer.lineWidth;
+        actionObject[3] = currentlayer.strokeStyle;
+        actionObject[4] = this.startx;  
+        actionObject[5] = this.starty;  
+        actionObject[6] = this.endx;    
+        actionObject[7] = this.endy;
+        actionObject[8] = this.currentdrawarrowOpacity;
+        actionObject[9] = this.counter;   
+        actionObject[10] = currentlayer.x;
+        actionObject[11] = currentlayer.y;
+        actionObject[12] = currentlayer.width;
+        actionObject[13] = currentlayer.height;  
+        actionObject[14] = this.currentlayer.name;
+        this.baseactionobjectList.push(actionObject);       
+        this.onsharedMessage('draw',actionObject);
+    </method>       
+    
+    
+    <method name="drawarrowlineactionHistory" args="lastActionObject,parentView">
+        <![CDATA[
+            //Debug.write("## lineactionHistory",parentView," 2 ## NEW x,y ",lastActionObject[lastActionObject.length-5],lastActionObject[lastActionObject.length-4]," width,height: ",lastActionObject[lastActionObject.length-3],lastActionObject[lastActionObject.length-2]);
+            
+            this.currentlayer = new lz.drawViewNew(parentView,{
+                name:lastActionObject[lastActionObject.length-1],
+                x:lastActionObject[lastActionObject.length-5],
+                y:lastActionObject[lastActionObject.length-4],
+                width:lastActionObject[lastActionObject.length-3],
+                height:lastActionObject[lastActionObject.length-2],
+                opacity:lastActionObject[8]});
+            
+            var t = new lz.drawArrowWhiteBoard(this.currentlayer,{x:0,y:0});
+            
+            //t.setTint(lastActionObject[3],60);
+            t.setColor(lastActionObject[3]);
+            
+            var tx = lastActionObject[6]-lastActionObject[4];
+            var ty = lastActionObject[7]-lastActionObject[5];
+    
+            var gegenkathete = Math.abs(ty);
+            var ankathete = Math.abs(tx); 
+            var hypothenuse = Math.sqrt((ankathete*ankathete)+(gegenkathete*gegenkathete));
+            var sinAlpha = (gegenkathete/hypothenuse);
+            var alpha = Math.asin(sinAlpha);
+            var alpha = alpha/(Math.PI/180);
+                
+            var newx = 0;
+            var newy = 0;
+            if (tx>=0 && ty>=0){    
+                t.setAttribute('rotation',(alpha-45));
+            } else if (tx<0 && ty>=0){
+                newx = lastActionObject[lastActionObject.length-3];
+                t.setAttribute('rotation',(45+90-alpha));
+            } else if (tx<0 && ty<0){
+                newy = lastActionObject[lastActionObject.length-2];
+                newx = lastActionObject[lastActionObject.length-3];
+                t.setAttribute('rotation',(alpha+45+90));
+            } else if (tx>0 && ty<=0){
+                newy = lastActionObject[lastActionObject.length-2];
+                t.setAttribute('rotation',(45-alpha-90));
+            }
+            
+            t.setAttribute('x',newx);
+            t.setAttribute('y',newy);
+            
+            //Scaling
+            var basicLength = Math.sqrt((t.width*t.width)+(t.width*t.width));
+            t.getDisplayObject()._xscale = (hypothenuse/basicLength)*100;
+            t.getDisplayObject()._yscale = (hypothenuse/basicLength)*100;
+            
+            this.currentlayer.fillstyle = lastActionObject[1];
+            this.currentlayer.lineWidth = lastActionObject[2];
+            this.currentlayer.strokeStyle = lastActionObject[3];
+
+        ]]>
+    </method>
+    
+    
+    
+    
+    
+    
+    <!--
+        @keywords deprecated
+     -->
+    <method name="_startDrawarrowline" args="oid_name">
+        <![CDATA[
+        if (oid_name == null) {
+            oid_name = 'drawarrow'+this.getCounter();
+        }
+        
+        this.currentlayer = new lz.drawViewNew(this,{
+            name:oid_name,width:this.width,height:this.height,
+            opacity:this.currentdrawarrowOpacity});
+            
+        this.drawlineOnObject(this.currentlayer,-1,-1,0,0);
+        this.drawlineOnObject(this.currentlayer,this.width,this.height,this.width+1,this.height+1);
+        
+        //Add Resource
+        var t = new lz.drawArrowWhiteBoard(this.currentlayer,{x:this.startx,y:this.starty});
+        
+        //Color
+        //t.setTint(this.currentdrawarrowlinestroke,60);
+        t.setColor(this.currentdrawarrowlinestroke);
+        
+        var tx = this.currentlayer.getMouse('x')-this.startx;
+        var ty = this.currentlayer.getMouse('y')-this.starty;
+
+        var gegenkathete = Math.abs(ty);
+        var ankathete = Math.abs(tx); 
+        var hypothenuse = Math.sqrt((ankathete*ankathete)+(gegenkathete*gegenkathete));
+        var sinAlpha = (gegenkathete/hypothenuse);
+        var alpha = Math.asin(sinAlpha);
+        alpha = alpha/(Math.PI/180);
+            
+        if (tx>=0 && ty>=0){    
+            t.setAttribute('rotation',(alpha-45));
+        } else if (tx<0 && ty>=0){
+            t.setAttribute('rotation',(45+90-alpha));
+        } else if (tx<0 && ty<0){
+            t.setAttribute('rotation',(alpha+45+90));
+        } else if (tx>0 && ty<=0){
+            t.setAttribute('rotation',(45-alpha-90));
+        }
+        
+        //Scaling
+        var basicLength = Math.sqrt((t.width*t.width)+(t.width*t.width));
+        t.getDisplayObject()._xscale = (hypothenuse/basicLength)*100;
+        t.getDisplayObject()._yscale = (hypothenuse/basicLength)*100;
+        
+
+        //Set previous to null
+        this.prevx = null;
+        this.prevy = null;  
+        
+        currentlayer.strokeStyle = this.currentdrawarrowlinestroke;
+        currentlayer.lineWidth = this.currentdrawarrowlinelineWidth;
+        currentlayer.fillstyle = '0x000000';
+        ]]>
+    </method> 
+    
+    <!--
+        @keywords deprecated
+     -->
+    <method name="__startDrawarrowline" args="oid_name">
+        <![CDATA[
+        if (oid_name == null) {
+            oid_name = 'drawarrow'+this.getCounter();
+        }
+        
+        this.currentlayer = new lz.drawViewNew(this,{
+            name:oid_name,width:this.width+2,height:this.height+2,
+            opacity:this.currentdrawarrowOpacity});
+            
+        var distance_x = Math.abs(this.startx - this.endx);
+        var distance_y = Math.abs(this.starty - this.endy);
+        
+        var point_distance_x = Math.round( distance_x/10 );
+        var point_distance_y = Math.round( distance_y/10 );
+        
+        if (this.startx <= this.endx && this.starty >= this.endy) {
+            
+            currentlayer.lineWidth = this.currentrectangleineWidth;
+            currentlayer.beginPath();
+            currentlayer.moveTo(this.startx,this.starty); //1
+            currentlayer.lineTo(this.startx-point_distance_x,this.starty-point_distance_y); //2
+            currentlayer.lineTo(this.endx-point_distance_x*3,this.endy+point_distance_y); //3
+            currentlayer.lineTo(this.endx-point_distance_x*4,this.endy); //4
+            currentlayer.lineTo(this.endx,this.endy); //5
+            currentlayer.lineTo(this.endx,this.endy+point_distance_y*4); //6
+            currentlayer.lineTo(this.endx-point_distance_x,this.endy+point_distance_y*3); //7
+            currentlayer.lineTo(this.startx+point_distance_x,this.starty+point_distance_y); //8
+            currentlayer.lineTo(this.startx,this.starty); //9
+            this.closePath();
+            
+            currentlayer.strokeStyle = 0x000000;
+            currentlayer.stroke();
+
+            currentlayer.fillStyle = this.currentdrawarrowlinelineWidth;
+            currentlayer.fill();
+            
+        }
+        
+        ]]>
+    </method>
+    <!--
+        @keywords deprecated
+     -->
+    <method name="_endDrawarrowline">
+        //Debug.write("endDrawarrowline",this.startx,this.starty,this.endx,this.endy);
+        <![CDATA[
+        var tempName = this.currentlayer.name;
+        //Debug.write("tempName: ",tempName);
+        this.currentlayer.destroy();
+        
+        //GetBounds of that Object
+        var minx = this.width+2;
+        var miny = this.height+2;
+        var maxx = -2;
+        var maxy = -2;
+
+        if (this.startx<minx) minx=this.startx;
+        if (this.endx<minx) minx=this.endx;
+        
+        if (this.startx>maxx) maxx=this.startx;
+        if (this.endx>maxx) maxx=this.endx;
+        
+        if (this.starty<miny) miny=this.starty;
+        if (this.endy<miny) miny=this.endy;
+        
+        if (this.starty>maxy) maxy=this.starty;
+        if (this.endy>maxy) maxy=this.endy;
+        
+        var width = maxx-minx;
+        var height = maxy-miny;
+        
+        //Debug.write("minx,miny,width,height: ",minx,miny,width,height);
+
+        this.currentlayer = new lz.drawViewNew(this,{
+            name:tempName,x:minx-1,y:miny-1,width:width,height:height,
+            opacity:this.currentdrawarrowOpacity});
+            
+        this.currentlayer.fillstyle = '0x000000';
+        this.currentlayer.lineWidth = this.currentdrawarrowlinelineWidth;
+        this.currentlayer.strokeStyle = this.currentdrawarrowlinestroke;
+        
+        //Debug.write("this.currentlayer: ",this.currentlayer);
+
+        var t = new lz.drawArrowWhiteBoard(this.currentlayer,{x:0,y:0});
+
+        //Color
+        //t.setTint(this.currentdrawarrowlinestroke,60);
+        t.setColor(this.currentdrawarrowlinestroke);
+        
+        var tx = this.endx-this.startx;
+        var ty = this.endy-this.starty;
+
+        var gegenkathete = Math.abs(ty);
+        var ankathete = Math.abs(tx); 
+        var hypothenuse = Math.sqrt((ankathete*ankathete)+(gegenkathete*gegenkathete));
+        var sinAlpha = (gegenkathete/hypothenuse);
+        var alpha = Math.asin(sinAlpha);
+        alpha = alpha/(Math.PI/180);
+            
+        var newx = 0;
+        var newy = 0;
+        if (tx>=0 && ty>=0){    
+            t.setAttribute('rotation',(alpha-45));
+        } else if (tx<0 && ty>=0){
+            newx = width;
+            t.setAttribute('rotation',(45+90-alpha));
+        } else if (tx<0 && ty<0){
+            newy = height;
+            newx = width;
+            t.setAttribute('rotation',(alpha+45+90));
+        } else if (tx>0 && ty<=0){
+            newy = height;
+            t.setAttribute('rotation',(45-alpha-90));
+        }
+        
+        t.setAttribute('x',newx);
+        t.setAttribute('y',newy);
+        
+        //Scaling
+        var basicLength = Math.sqrt((t.width*t.width)+(t.width*t.width));
+        t.getDisplayObject()._xscale = (hypothenuse/basicLength)*100;
+        t.getDisplayObject()._yscale = (hypothenuse/basicLength)*100;
+        
+
+        //Set previous to null
+        this.prevx = null;
+        this.prevy = null;  
+        
+        //Add Layer to global Layer     
+        this.layers.push(this.currentlayer);  
+        ]]>
+        this.drawarrowlineregisterFinal();
+        this.currentlayer = new LzView();
+        //Debug.write("t: ",t);
+    </method> 
+    
+</class>
+
+</library>
diff --git a/WebContent/src/test/content/audioTest.lzx b/WebContent/src/test/content/audioTest.lzx
new file mode 100644
index 0000000..511582c
--- /dev/null
+++ b/WebContent/src/test/content/audioTest.lzx
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+<!--
+	exmple class definition
+	
+	as soon as you see possibility try to make usage of classes
+	
+	in general: 
+	usage of layout is nice but it needs more views just for layouting.
+	in a simple scenario thats okay,
+	but in the openmeetings app itself most of the views are set *absolute* by x and y
+	cause this reduces the total amount of views
+	instancing (=making views dynamically like we do) is time critical .. if you create or destroy too many
+	views at one time the browser hangs and cpu will be at 100%
+	so in the openmeetings app try to use as less views as possible
+	use at less constraints as possible
+	use $once{ .. } instead of ${ .. } or use setters and getters
+	don't use canvas.setAttribute('myvar','foo') just use canvas.myvar='foo' 
+	whenever it is not necessary (it will throw some 
+	events which are useless if you don't have any constraints pointing to 'myvar' and which will cost 
+	performance)
+	
+	 
+	
+ -->
+
+	<!-- define resources once at one place instead of
+		linking with the path every time you want it
+		-->
+<resource name="_btn_play_rsc" src="../resources/play.png" />
+<resource name="_btn_stop_rsc" src="../resources/stop.png" />
+<resource name="_btn_volume_rsc" src="../resources/mix_volume.png" />
+<resource name="_btn_audio_scrubtrack_rsc" src="../resources/audio_scrubtrack.png" />
+<resource name="_btn_audio_scrubber_rsc" src="../resources/audio_scrubber.png" />
+	
+<class name="audioTest" extends="view" play="false" y="40">
+	
+	<!-- please write layout definition always on 
+		top or on bottom of the view content
+		or write it directly into the view definition -->
+	<simplelayout axis="y" spacing="5"/>
+	
+	   <view id="audioplayer" play="false" y="40" resource="http:resources/Star_in_the_east_solfege.mp3" 
+		   oninit="this.stop();">
+		   
+		   <!-- follow a structure by defining view contents:
+			   1.) define attributes
+			   2.) define handlers (event handlers oninit for example if not already in view definition)
+			   3.) define methods
+			   4.) define layout (if not already in view definition)
+			   5.) define content 
+			   -->
+		   
+		   <!-- comment about this attribute and don't forget type definition in attribute's:
+			   this attribute is volume-level -->
+			<attribute name="vol" value="100" type="number" />
+		   
+		    <simplelayout axis="x" spacing="10"/>
+		   
+			<view>
+				<simplelayout axis="x" spacing="-1"/>
+				<button width="40" onclick="audioplayer.stop()">
+					<view resource="_btn_stop_rsc" y="6" align="center"/>
+				</button>
+				<button width="40" onclick="audioplayer.play()">
+					<view resource="_btn_play_rsc" y="5" align="center"/>
+				</button>
+			</view>	 
+		          
+			<view>
+				<simplelayout axis="x" spacing="-1"/>
+				<button width="40" text="-"
+					onclick="audioplayer.setVolume( audioplayer.getVolume() -10)">
+					<view resource="_btn_volume_rsc" y="5" align="right"/>
+				</button>
+				<button width="40" text="+" 
+					onclick="audioplayer.setVolume( audioplayer.getVolume() +10)">
+					<view resource="_btn_volume_rsc" y="5" align="right"/>
+				</button>
+			</view>
+					        
+			
+			<view name="background" bgcolor="black" width="202" height="15" 
+					y="50" options="ignorelayout;">
+				<view name="loadbar" resource="_btn_audio_scrubtrack_rsc" 
+						width="${audioplayer.loadperc * 200}">
+					<view name="playbar" resource="_btn_audio_scrubber_rsc" 
+							y="1" x="${Math.round(180 * audioplayer.frame/audioplayer.totalframes)}"/>
+				</view>
+			</view>
+		   
+		</view>
+		
+		<!--
+			think about contraints ... if they really need to be updated always
+			${ canvas.myvar } => value will be updated every time 
+								myvar changes by canvas.setAttribute('myvar','foo')
+								normally this is not needed
+								high performance/cpu usage
+			$once{ canvas.myvar } => value will be only set once .. oninit of this attribute/view
+									lower perfomance/cpu usage 
+			try to use $once whenever possible
+			-->
+		<text text="$once{mess.listen_sound}" multiline="true" width="${this.parent.width - 20}" />
+
+		<view>
+			
+			<simplelayout axis="x" spacing="10"/>
+			
+			<button text="$once{ mess.no }">					                
+			</button>
+			<button text="$once{ mess.yes }">					                
+			</button>
+			
+		</view>
+	
+	<nextButton nextTabpane="$once{ this.parent.parent.parent.microTab }" text="$once{mess.next}" />
+	
+</class>
+
+</library>
diff --git a/WebContent/src/test/content/library.lzx b/WebContent/src/test/content/library.lzx
new file mode 100644
index 0000000..46f0847
--- /dev/null
+++ b/WebContent/src/test/content/library.lzx
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+    <include href="audioTest.lzx" />
+
+</library>
diff --git a/WebContent/src/test/html.lzx b/WebContent/src/test/html.lzx
new file mode 100644
index 0000000..2418fef
--- /dev/null
+++ b/WebContent/src/test/html.lzx
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<canvas debug="true" width="100%" height="100%" fontsize="14" title="OpenMeetings - Computer testing">
+	
+	<debug fontsize="14" oninit="Debug.showInternalProperties = true"/>
+
+                <edittext name="url" width="400"> 
+                    <handler name="onkeyup" args="key">
+                        if ((key == 27) || (key == 13)) {
+                            this.parent.readStart.onclick.sendEvent();
+                        }
+                    </handler>
+                </edittext>
+                
+                <button name="readStart" width="200" x="400" text="LOAD"
+                                y="2">
+                    <handler name="onclick">
+                        <![CDATA[
+                            var url = parent.url.getText();
+                            if ((url.indexOf("http://") < 0)
+                                    && (url.indexOf("https://") < 0)) {
+                                url = "http://" + url;
+                            }
+    
+                            parent.htmlviewer.setAttribute("src",url);
+                            parent.htmlviewer.setAttribute("visible",true);
+    
+                        ]]>
+                    </handler>
+                </button>
+                
+        <html name="htmlviewer" x="4" y="60" width="600" height="500" bgcolor="0xCCCCCC" >
+            <handler name="onloading" args="loading">
+                this.loading = loading;
+                if ($debug) Debug.write("LOADING ",loading);
+            </handler>
+            <handler name="onsrc" args="src">
+                this.src = src;
+                if ($debug) Debug.write("SRC ",loading);
+            </handler>
+        </html>
+	
+</canvas>
diff --git a/WebContent/src/test/html.lzx.swf8.swf b/WebContent/src/test/html.lzx.swf8.swf
new file mode 100644
index 0000000..2263944
--- /dev/null
+++ b/WebContent/src/test/html.lzx.swf8.swf
Binary files differ
diff --git a/WebContent/src/test/html.lzx.swf9.swf b/WebContent/src/test/html.lzx.swf9.swf
new file mode 100644
index 0000000..22d8cd7
--- /dev/null
+++ b/WebContent/src/test/html.lzx.swf9.swf
Binary files differ
diff --git a/WebContent/src/test/iFrame.lzx b/WebContent/src/test/iFrame.lzx
new file mode 100644
index 0000000..cdabb9b
--- /dev/null
+++ b/WebContent/src/test/iFrame.lzx
@@ -0,0 +1,245 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<!-- 
+
+Requirements :
+the html must contain the following in the HEAD :
+
+			function createIFrame(n,id,src,x,y,w,h){
+				var newChild = document.createElement('iframe');
+				newChild.style.visibility='hidden';
+				newChild.style.position='absolute';
+				newChild.style.top='0px';
+				newChild.id=id;
+				newChild.name=n;
+				newChild.src=src;
+				newChild.style.border='0px';
+				newChild.style.left=x+"px";
+				newChild.style.top=y+"px";
+				newChild.width=w+"px";
+				newChild.height=h+"px";
+				document.body.appendChild(newChild);
+			}
+			function centerIframe(iid,x,y,w,h) {
+				var frameRef=document.getElementById(iid);
+				frameRef.style.left=x+"px";
+				frameRef.style.top=y+"px";
+				frameRef.width=w+"px";
+				frameRef.height=h+"px";
+			}
+			function hideIFrame(){
+			    document.getElementById("ifrm1_id").style.visibility="hidden";
+			}
+			function showIFrame(){
+			    document.getElementById("ifrm1_id").style.visibility="visible";
+			}
+
+Attributes :
+ - isrc         : url for the iframeView
+ - iname        : name for the iframeView
+ - iid          : id for the iframeView
+ - callbackTimerDelay           : optional
+ - createIFrame_callbackCounter : optional
+ - createIFrame_callbackMax     : optional
+
+Exemple :
+
+      <canvas debug="true" >
+        
+        <include href="library/iFrame.lzx" />
+        
+        
+        <window id="w" x="100" y="50" width="350" height="250" resizable="true" >
+        
+          <handler name="oninit">
+            new LzDelegate(ifrm,"centerIframe",this,"onx");
+            new LzDelegate(ifrm,"centerIframe",this,"ony");
+          </handler>
+          
+          <iframeView name="ifrm"
+            width = "${immediateparent.width  }"
+            height= "${immediateparent.height }"
+            isrc  = "http://www.google.fr/"
+            iid   = "myIframeId"
+            iname = "myIfrName"
+          />
+          
+        </window>
+          
+        
+      </canvas>
+
+-->
+
+<library>
+
+  <class name="iframeView" extends="view" >
+  
+    <attribute name="isrc" type="string" setter="setIsrc(isrc)"/>
+    <attribute name="iname" type="string" />
+    <attribute name="iid" type="string" />
+    
+    <method name="display">
+      var s = "javascript:document.getElementById('"
+                        + iid 
+                        + "').style.visibility='visible'";
+      lz.Browser.loadJS(s);
+    </method>
+    
+    <method name="hide">
+      var s = "javascript:document.getElementById('"
+                        + iid 
+                        + "').style.visibility='hidden'";
+      //Debug.write("on hide l'iframe",iid," :",s);
+      lz.Browser.loadJS(s);
+    </method>    
+    
+    <method name="setIsrc" args="s">
+      if (!this.isinited || this.isrc== null) {                      //catch the case where this.time is being 
+        this.isrc = s;                                               //initialized during object instantiation
+        return;
+      }      
+      var s = "javascript:document.getElementById('"
+                        + iid 
+                        + "').src='"
+                        + s
+                        + "'";
+      lz.Browser.loadJS(s);
+    </method>
+    
+    <handler name="oninit" >
+      // First initialize the iFrame loading detection mechanism :
+      //initCreateIFrameDone();
+      // Now creating the iframeView :
+      //createIFrame();
+    </handler>
+
+    <method name="createIFrame" >
+    	//Debug.write("create IFRAME !!!!!!!!!!!!!!");
+      var s = "javascript:createIFrame('"
+                        + iname  + "','"
+                        + iid + "','"
+                        + isrc + "','"
+                        + this.getAttributeRelative("x",canvas)      + "','"
+                        + this.getAttributeRelative("y",canvas)      + "','"
+                        + (width +1) + "','"
+                        + (height+1)
+                        + "')";
+      // the browser must also tell our laszlo when the iframeView has been loaded :
+      s = s + ";document.getElementById('"
+                        + iid 
+                        + "').style.visibility='visible'";
+      s = s + ";lzSetCanvasAttribute('" + createIFrameDone_attr + "', true)";
+      ////Debug.write("Calling createIFrame ; loadJS : " + s);//
+      lz.Browser.loadJS(s);
+      // initializing the scheduled check of this iFrame's load state
+      if(typeof this.createIFrame_callbackDelegate == 'undefined') {
+         this.createIFrame_callbackDelegate = new LzDelegate( this, "createIFrame_callback" );
+      }
+      lz.Timer.resetTimer( this.createIFrame_callbackDelegate, callbackTimerDelay );
+    </method>
+    
+    <!-- Iframe load state detection state and initialization -->
+    <attribute name="createIFrameDone_attr" type="string"/><!-- is initialized in oninit() -->
+    <method name="initCreateIFrameDone">
+      // Initializes the iFrame loading detection mechanism.
+      // computing and setting the name of this iframeView's own
+      // load state attribute on the canvas :
+      this.createIFrameDone_attr = 'iFrame.createIFrameDone_' + this.iid;
+      // initializing this iframeView's own load state on the canvas :
+      canvas.setAttribute(createIFrameDone_attr, false);
+      ////Debug.write('createIFrameDone_attr='+this.createIFrameDone_attr);//
+      ////Debug.write('createIFrameDone='+this.createIFrameDone+canvas.getAttribute(createIFrameDone_attr));//
+	</method>
+	
+    <!-- IFrame load state scheduled check -->
+    <attribute name="callbackTimerDelay" type="number" value="100" />
+    <attribute name="createIFrame_callbackCounter" type="number" value="0" />
+    <attribute name="createIFrame_callbackMax" type="number" value="1000" />
+    <method name="createIFrame_callback">
+      ////Debug.write("createIFrame_callback : createIFrame_done=" + canvas.getAttribute(createIFrameDone_attr));//
+      if(!canvas.getAttribute(createIFrameDone_attr)) {
+         if (this.createIFrame_callbackCounter * callbackTimerDelay &lt; createIFrame_callbackMax) {
+            this.createIFrame_callbackCounter = this.createIFrame_callbackCounter + 1;
+            lz.Timer.resetTimer( this.createIFrame_callbackDelegate, callbackTimerDelay );
+         }
+      } else {
+         // creating iframeView moves listeners :
+         //Debug.write('createListeners');//
+         createListeners();
+         // now let's make sure the iframeView has been toggled by moving it
+         if (this.iFrameJsStack == 'javascript:') {
+            ////Debug.write('createListeners.move');//
+            // there's no javascript stack yet, so let's simply move the iframeView :
+            centerIframe();
+         } else {
+            ////Debug.write('createListeners.stacked '+this.iFrameJsStack);//
+            // some javascript has been scheduled to be loaded, so let's do it :
+            lz.Browser.loadJS(this.iFrameJsStack);
+         }
+      }
+    </method>
+    
+    <!-- Stackable javascript execution mechanisme -->
+    <attribute name="iFrameJsStack" type="string" value="javascript:" />
+    <method name="executeJs" args="s">
+      ////Debug.write("executeJs", s);//
+      if (canvas.getAttribute(createIFrameDone_attr)) {
+         ////Debug.write("executeJs.direct", s);//
+         lz.Browser.loadJS(s); // iframeView is loaded, so direct execution
+      } else {
+         ////Debug.write("executeJs.stacked", s);//
+         // else the iframeView has not yet been loaded, so let's stack it :
+         this.iFrameJsStack = this.iFrameJsStack + ';' + s ;
+      }
+    </method>
+	
+    <method name="createListeners" >
+      this.myDelx = new LzDelegate(this, "centerIframe", this, "onx");
+      this.myDely = new LzDelegate(this, "centerIframe", this, "ony");
+      this.myDelw = new LzDelegate(this, "centerIframe", this, "onwidth");
+      this.myDelh = new LzDelegate(this, "centerIframe", this, "onheight");
+    </method>
+    
+    <method  name="centerIframe">
+      // we use a timer in order to avoid too many js call (slow)
+      //Debug.write("centerIframe request");
+      if(typeof this.centerIframe_Delegate == 'undefined') {
+         this.centerIframe_Delegate = new LzDelegate( this, "centerIframe_jsCall" );
+      }
+      lz.Timer.resetTimer( this.centerIframe_Delegate, 20 );
+    </method>
+    
+    <method  name="centerIframe_jsCall">
+      var s = "javascript:centerIframe('"
+            + this.iid   + "','"
+            + this.getAttributeRelative("x",canvas)      + "','"
+            + this.getAttributeRelative("y",canvas)      + "','"
+            + (width +1) + "','"
+            + (height+1) + "')";
+      this.executeJs(s); // using the stackable js exec mechanism
+    </method>
+    
+  </class>
+
+</library>
+ 
diff --git a/WebContent/src/test/images/maindebug.lzx b/WebContent/src/test/images/maindebug.lzx
new file mode 100644
index 0000000..62b4f0d
--- /dev/null
+++ b/WebContent/src/test/images/maindebug.lzx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas debug="true" width="100%" height="100%" title="Geo Map Portal">
+    
+    <debug fontsize="11" oninit="Debug.showInternalProperties = true" />
+
+<handler name="oninit">
+    <![CDATA[
+    
+        LzLoadQueue.maxOpen = 100;
+
+    
+	    //
+        var url = new Array();
+	    
+	    
+        
+        url[5] = "http://openmeetings.googlecode.com/svn/docs/uml/images/openmeetings/diagram/ModerationChangeClientSide.jpg";
+		url[4] = "http://openmeetings.googlecode.com/svn/docs/uml/images/openmeetings/diagram/ModerationChangeClientSideBig.jpg";
+		url[3] = "http://openmeetings.googlecode.com/svn/docs/uml/images/openmeetings/diagram/VideoClass.png";
+		url[2] = "http://openmeetings.googlecode.com/svn/docs/LanguageNavigationErrors.png";
+		url[1] = "http://openmeetings.googlecode.com/svn/docs/OpenMeetingsSOAPGateway.png";
+		url[0] = "http://openmeetings.googlecode.com/svn/docs/OpenmeetingsAllTables.png";
+        url[6] = "http://openmeetings.googlecode.com/svn/docs/SOAPFlowDirectLogin.png";
+        url[7] = "http://openmeetings.googlecode.com/svn/docs/UserDiagram.png";
+        url[8] = "http://openmeetings.googlecode.com/svn/docs/UserGroupsOrganizationsAndRooms.png";
+        url[9] = "http://openmeetings.googlecode.com/svn/docs/architecture.jpg";
+        url[10] = "http://openmeetings.googlecode.com/svn/docs/moodle_plugin_audience.png";
+        url[11] = "http://openmeetings.googlecode.com/svn/docs/moodle_plugin_conference.png";
+        url[12] = "http://openmeetings.googlecode.com/svn/docs/newWhiteBoard.PNG";
+        url[13] = "http://openmeetings.googlecode.com/svn/docs/newWhiteBoard2.PNG";
+        url[14] = "http://openmeetings.googlecode.com/svn/docs/newWhiteBoard3.PNG";
+        url[15] = "http://openmeetings.googlecode.com/svn/docs/test_application_audio_video.png";
+        
+        
+        
+        
+        for (var i=0;i<16;i++) {
+            var d = new Date();
+            new layerImage(canvas.myView,{srcImage:url[i]+"?time="+i+d.getTime()});
+        }
+        
+        
+        for (var i=0;i<40;i++) {
+            var d = new Date();
+            new layerImage(canvas.myView,{srcImage:"http://openmeetings.googlecode.com/svn/docs/uml/images/openmeetings/diagram/ModerationChangeClientSideBig.jpg?time="+i+d.getTime()});
+        }
+
+    ]]>
+</handler>
+
+<class name="layerImage" extends="image">
+    <attribute name="layerid" value="0" type="number" />
+    <attribute name="type" value="" type="string" />
+    <attribute name="isLayerImage" value="true" type="boolean" />
+    <attribute name="srcImage" value="" type="string" setter="this.setImageSource(srcImage)" />
+    <method name="setImageSource" args="srcImage">
+        if ($debug) Debug.write("setImageSource",srcImage);
+        //var mcRef = this.getDisplayObject();
+        //mcRef.loadMovie(srcImage);
+        this.setSource(srcImage);
+    </method>
+</class>  
+
+<view name="myView" />
+  
+</canvas>
diff --git a/WebContent/src/test/images/maindebugTimer.lzx b/WebContent/src/test/images/maindebugTimer.lzx
new file mode 100644
index 0000000..95abcee
--- /dev/null
+++ b/WebContent/src/test/images/maindebugTimer.lzx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas debug="true" width="100%" height="100%" title="Geo Map Portal">
+    
+    <debug fontsize="11" oninit="Debug.showInternalProperties = true" />
+
+<attribute name="url" value="" type="string" />
+<attribute name="currentIndex" value="0" type="number" />
+
+<handler name="oninit">
+    <![CDATA[
+    
+	    LzLoadQueue.maxOpen = 100;
+	    
+	    this.url = new Array();
+	    
+	    this.url[5] = "http://openmeetings.googlecode.com/svn/docs/uml/images/openmeetings/diagram/ModerationChangeClientSide.jpg";
+	    this.url[4] = "http://openmeetings.googlecode.com/svn/docs/uml/images/openmeetings/diagram/ModerationChangeClientSideBig.jpg";
+	    this.url[3] = "http://openmeetings.googlecode.com/svn/docs/uml/images/openmeetings/diagram/VideoClass.png";
+	    this.url[2] = "http://openmeetings.googlecode.com/svn/docs/LanguageNavigationErrors.png";
+	    this.url[1] = "http://openmeetings.googlecode.com/svn/docs/OpenMeetingsSOAPGateway.png";
+	    this.url[0] = "http://openmeetings.googlecode.com/svn/docs/OpenmeetingsAllTables.png";
+	    this.url[6] = "http://openmeetings.googlecode.com/svn/docs/SOAPFlowDirectLogin.png";
+	    this.url[7] = "http://openmeetings.googlecode.com/svn/docs/UserDiagram.png";
+	    this.url[8] = "http://openmeetings.googlecode.com/svn/docs/UserGroupsOrganizationsAndRooms.png";
+	    this.url[9] = "http://openmeetings.googlecode.com/svn/docs/architecture.jpg";
+	    this.url[10] = "http://openmeetings.googlecode.com/svn/docs/moodle_plugin_audience.png";
+	    this.url[11] = "http://openmeetings.googlecode.com/svn/docs/moodle_plugin_conference.png";
+	    this.url[12] = "http://openmeetings.googlecode.com/svn/docs/newWhiteBoard.PNG";
+	    this.url[13] = "http://openmeetings.googlecode.com/svn/docs/newWhiteBoard2.PNG";
+	    this.url[14] = "http://openmeetings.googlecode.com/svn/docs/newWhiteBoard3.PNG";
+	    this.url[15] = "http://openmeetings.googlecode.com/svn/docs/test_application_audio_video.png";
+	    this.url[16] = "http://openmeetings.googlecode.com/svn/docs/uml/images/openmeetings/diagram/ModerationChangeClientSideBig.jpg";
+	    
+	    for (var k = 16;k<40;k++) {
+            this.url[k] = "http://openmeetings.googlecode.com/svn/docs/uml/images/openmeetings/diagram/ModerationChangeClientSideBig.jpg";
+        }
+	    
+	    this.fadeDelegate = new LzDelegate( this, "sendImage" );
+	    LzTimer.addTimer( this.fadeDelegate, 50 );
+        
+    ]]>
+</handler>
+
+<method name="sendImage">
+    <![CDATA[
+    
+        var d = new Date();
+        
+        new layerImage(canvas.myView,{srcImage:this.url[this.currentIndex]+"?time="+d.getTime()});
+        
+        this.currentIndex ++;
+        
+        if (this.currentIndex < 40) {
+            LzTimer.addTimer( this.fadeDelegate, 50 );
+        }
+
+    ]]>
+</method>
+
+<class name="layerImage" extends="image">
+    <attribute name="layerid" value="0" type="number" />
+    <attribute name="type" value="" type="string" />
+    <attribute name="isLayerImage" value="true" type="boolean" />
+    <attribute name="srcImage" value="" type="string" setter="this.setImageSource(srcImage)" />
+    <method name="setImageSource" args="srcImage">
+        if ($debug) Debug.write("setImageSource",srcImage);
+        //var mcRef = this.getDisplayObject();
+        //mcRef.loadMovie(srcImage);
+        this.setSource(srcImage);
+    </method>
+</class>  
+
+<view name="myView" />
+  
+</canvas>
diff --git a/WebContent/src/test/lang/en.lzx b/WebContent/src/test/lang/en.lzx
new file mode 100644
index 0000000..28d7146
--- /dev/null
+++ b/WebContent/src/test/lang/en.lzx
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+<script>
+<![CDATA[
+
+var mess = {};
+
+mess.home = "Home";
+mess.welcome = "Welcome !<br />We now determine if your configuration is good to have the best experience with OpenMeetings.";
+mess.sound = "Sound";
+mess.micro = "Micro";
+mess.webcam = "Webcam";
+mess.bandwidth = "Bandwidth";
+mess.latency = "Latency";
+mess.synthesis = "Synthesis";
+mess.next = "Next >";
+mess.listen_sound = "Do you hear the voice ?";
+mess.yes = "Yes";
+mess.no = "No";
+mess.microRecord = "Record your voice and click on \"Play\" button to hear if your micro works.";
+mess.webcamText = "Your webcam :";
+mess.bandwidthText = "We are testing the capacity of your Internet connexion.";
+mess.latencyText = "We are testing the delay between your computer and our server.";
+mess.synthesisText = "Your results :";
+]]>
+</script>
+</library>
diff --git a/WebContent/src/test/lazslo-rtltext/fonts/hebrew/arial.ttf b/WebContent/src/test/lazslo-rtltext/fonts/hebrew/arial.ttf
new file mode 100644
index 0000000..ff0815c
--- /dev/null
+++ b/WebContent/src/test/lazslo-rtltext/fonts/hebrew/arial.ttf
Binary files differ
diff --git a/WebContent/src/test/lazslo-rtltext/fonts/hebrew/arialbd.ttf b/WebContent/src/test/lazslo-rtltext/fonts/hebrew/arialbd.ttf
new file mode 100644
index 0000000..d0d857e
--- /dev/null
+++ b/WebContent/src/test/lazslo-rtltext/fonts/hebrew/arialbd.ttf
Binary files differ
diff --git a/WebContent/src/test/lazslo-rtltext/resources.lzx b/WebContent/src/test/lazslo-rtltext/resources.lzx
new file mode 100644
index 0000000..c39f8ed
--- /dev/null
+++ b/WebContent/src/test/lazslo-rtltext/resources.lzx
@@ -0,0 +1,35 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+    <!-- Fonts -->
+    <font name="default">
+      <face src="fonts/hebrew/arial.ttf"/>
+      <face src="fonts/hebrew/arialbd.ttf" style="bold"/>
+	</font>
+
+</library>
+<!--                                                                       -->
+<!-- Copyright 2001-2004 Laszlo Systems, Inc.  All Rights Reserved.        -->
+<!-- Use is subject to license terms.                                      -->
+<!--                                                                       -->
+<!--                                                                       -->
+<!-- Laszlo Presentation Server version 3.0b1 001227                     -->
+<!--                                                                       -->
diff --git a/WebContent/src/test/lazslo-rtltext/rtlText.lzx b/WebContent/src/test/lazslo-rtltext/rtlText.lzx
new file mode 100644
index 0000000..caf1e73
--- /dev/null
+++ b/WebContent/src/test/lazslo-rtltext/rtlText.lzx
@@ -0,0 +1,82 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<!-- CLASS: rtlText ============================================ --> 
+	<!-- use this on dynamic data text tags. -->
+	<class name="rtlText" extends="text">
+		
+		<!-- ATTRIBUTES -->
+		<!-- text alignment: default is right -->
+    <attribute name="textAlign" value="right" type="string" /> 
+    
+    <method name="getTextAlign">    
+    	return this.textAlign;
+    </method>
+    
+    <method name="setTextAlign">
+    	switch ( this.getTextAlign() ) {
+				case "left" :
+					this.setX( 0 );
+				break;
+				case "center" :
+					this.setX( this.parent.width / 2 - this.getTextWidth() / 2 );
+				break;
+				case "right" :
+					this.setX( this.parent.width - this.getTextWidth() );
+				break;
+			}
+    </method>
+    
+    <method name="isLTR" args="c">
+		<![CDATA[
+			return ( c >= 48 && c <= 57 || c >= 65 && c <= 90 || c >= 97 && c <= 122 );
+		]]>
+	</method>
+    
+    <method name="isHEB" args="c">
+		<![CDATA[
+			return ( c >= 224 && c <= 250 );
+		]]>
+	</method>
+    
+    <method name="reverseWords" args="str">
+		<![CDATA[
+			if ( str == "" || str == null ) return ""; // undefined
+			// first char indicates the main directive of str (rtl/ltr)
+			if ( isLTR( str.charCodeAt( 0 ) ) ) return str; // english or number
+			var words_arr = str.split( "" ); // an array of chars
+			for ( var i = 0, str = ""; i < words_arr.length; i++ ) // reverse their order
+				str += words_arr[ words_arr.length - i - 1 ];
+			return str;
+		]]>
+	</method>
+		
+	<method name="applyData" args="rtl_str">
+		this.setAttribute('text', reverseWords( rtl_str ) );
+	</method>
+	
+	<handler name="ontext">
+		setTextAlign();
+	</handler>
+		
+	</class>
+
+</library>
diff --git a/WebContent/src/test/lazslo-rtltext/rtldata.xml b/WebContent/src/test/lazslo-rtltext/rtldata.xml
new file mode 100644
index 0000000..2c84c8c
--- /dev/null
+++ b/WebContent/src/test/lazslo-rtltext/rtldata.xml
@@ -0,0 +1,37 @@
+<!-- Persons Data -->
+<dataset name="personsData">
+	<myXML>
+    <person>
+        <name>אריאל שרון</name>
+        <title>ראש הממשלה</title>
+    </person>
+    <person>
+        <name>גל פרידמן</name>
+        <title>מדליסט אולימפי</title>
+    </person>
+     <person>
+        <name>פיני גרשון</name>
+        <title>מאמן מכבי תל-אביב</title>
+    </person>
+    <person>
+        <name>שרי אריסון</name>
+        <title>מיליארדרית</title>
+    </person>
+    <person>
+        <name>שלמה ארצי</name>
+        <title>זמר</title>
+    </person>
+    <person>
+        <name>מיקי ברקוביץ</name>
+        <title>כדורסלן עבר</title>
+    </person>
+    <person>
+        <name>יוסי בניון</name>
+        <title>שחקן כדורגל</title>
+    </person>
+   <person>
+        <name>ביל גייטס</name>
+        <title>בעל חברת מיקרוסופט</title>
+    </person>
+	</myXML>
+</dataset>
diff --git a/WebContent/src/test/lazslo-rtltext/test.lzx b/WebContent/src/test/lazslo-rtltext/test.lzx
new file mode 100644
index 0000000..572932d
--- /dev/null
+++ b/WebContent/src/test/lazslo-rtltext/test.lzx
@@ -0,0 +1,42 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas debug="false">     
+
+	<!-- DATASETS -->
+	<include href="rtldata.xml"/>
+
+	<!-- RESOURCES [FONTS] -->
+  <include href="resources.lzx"/> 
+
+	<!-- RTLTEXT CLASS DEFINITION -->
+  <include href="rtlText.lzx"/> 
+
+	
+	<view x="200" y="20">
+    <simplelayout axis="y" />
+    <view datapath="personsData:/myXML[1]/person" width="300" bgcolor="#cccccc">
+      <simplelayout axis="y" />
+    	<rtlText name="txtName" textAlign="center" fontsize="10" font="default" fontstyle="bold" datapath="name/text()"/>
+    	<rtlText name="txtTitle" fontsize="10" font="default" datapath="title/text()"/> 
+    	<text></text>
+    </view>
+  </view>
+
+</canvas>
diff --git a/WebContent/src/test/lib/library.lzx b/WebContent/src/test/lib/library.lzx
new file mode 100644
index 0000000..3f4ad02
--- /dev/null
+++ b/WebContent/src/test/lib/library.lzx
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+    <include href="nextButton.lzx" />
+
+</library>
diff --git a/WebContent/src/test/lib/nextButton.lzx b/WebContent/src/test/lib/nextButton.lzx
new file mode 100644
index 0000000..2885230
--- /dev/null
+++ b/WebContent/src/test/lib/nextButton.lzx
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<class name="nextButton" extends="button" onclick="changeNextTabpane()">
+    
+    <attribute name="align" value="right" />
+    <attribute name="isdefault" value="true" />
+
+	<attribute name="nextTabpane" required="true" />
+
+    <method name="changeNextTabpane">
+      var object = this.getAttribute('nextTabpane');
+      object.setAttribute("selected","true");
+    </method>
+
+</class>
+
+</library>
diff --git a/WebContent/src/test/main.lzx b/WebContent/src/test/main.lzx
new file mode 100644
index 0000000..42784da
--- /dev/null
+++ b/WebContent/src/test/main.lzx
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<canvas debug="true" width="100%" height="100%" fontsize="14" title="OpenMeetings - Computer testing">
+	
+	<debug fontsize="14" oninit="Debug.showInternalProperties = true"/>
+
+<include href="lang/en.lzx"/>
+
+<include href="lib/"/>
+<include href="content/"/>
+
+            <tabs name="mainTabs">
+               <tabpane selected="true" text="${mess.home}">
+					<simplelayout axis="y" spacing="5"/>
+                    <text text="${mess.welcome}" multiline="true" width="${this.parent.width - 20}" />
+                    <nextButton nextTabpane="${this.parent.parent.soundTab}" text="${mess.next}" />
+                </tabpane>
+
+                <tabpane text="${mess.sound}" name="soundTab" onselect="//Debug.write('focus'); audioplayer.play();">
+					
+					<!-- define content areas which are 
+						kind of component in classes -->
+					 <audioTest name="_audiotest" />
+					
+                </tabpane>                
+                
+                <tabpane text="${mess.micro}" name="microTab">
+					<simplelayout axis="y" spacing="5"/>
+                    <text text="${mess.microRecord}" multiline="true" width="${this.parent.width - 20}" />
+					        <view>
+					            <simplelayout axis="x" spacing="-1"/>
+					           <button width="40" onclick="audioplayer.stop()">
+					                <view resource="resources/play.png" y="6" align="center"/>
+					            </button>
+					            <button width="40" onclick="audioplayer.play()">
+					                <view resource="resources/record.png" y="5" align="center"/>
+					            </button>
+					        </view>
+					        
+					        <view>
+					            <simplelayout axis="x" spacing="-1"/>
+					            <button width="40" onclick="audioplayer.setVolume( audioplayer.getVolume() -10)">
+					                    -<view resource="resources/mix_volume.png" y="5" align="right"/>
+					                </button>
+					            <button width="40" onclick="audioplayer.setVolume( audioplayer.getVolume() +10)">
+					                    +<view resource="resources/mix_volume.png" y="5" align="right"/>
+					                </button>
+					        </view>
+                    <nextButton nextTabpane="${this.parent.parent.webcamTab}" text="${mess.next}" />
+                </tabpane>                
+
+                <tabpane text="${mess.webcam}" name="webcamTab">
+					<simplelayout axis="y" spacing="5"/>
+                    <text text="${mess.webcamText}" multiline="true" width="${this.parent.width - 20}" />
+		<view id="v1" layout="axis:y; spacing:4">
+			<videoview id="live" type="rtmp" stream="$once{canvas.s1}" width="240" height="160">
+				<camera id="cam" show="true" fps="20" width="240" height="160" 
+																picturequality="0"/>
+				<microphone id="mic" capturing="false"/>
+				
+			</videoview>
+		</view>                    
+                    <nextButton nextTabpane="${this.parent.parent.messTab}" text="${mess.next}" />
+                </tabpane>                
+
+                <tabpane text="${mess.bandwidth}" name="messTab">
+					<simplelayout axis="y" spacing="5"/>
+                    <text text="${mess.bandwidthText}" multiline="true" width="${this.parent.width - 20}" />
+                    <nextButton nextTabpane="${this.parent.parent.latencyTab}" text="${mess.next}" />
+                </tabpane>                
+
+                <tabpane text="${mess.latency}" name="latencyTab">
+					<simplelayout axis="y" spacing="5"/>
+                    <text text="${mess.latencyText}" multiline="true" width="${this.parent.width - 20}" />
+                    <nextButton nextTabpane="${this.parent.parent.synthesisTab}" text="${mess.next}" />
+                </tabpane>                
+
+                <tabpane text="${mess.synthesis}" name="synthesisTab">
+					<simplelayout axis="y" spacing="5"/>
+                    <text text="${mess.synthesisText}" multiline="true" width="${this.parent.width - 20}" />
+                </tabpane>                
+            </tabs>
+
+	
+	<rtmpconnection src="rtmp://192.168.0.1/'+canvas.webAppRootKey+'/test" autoconnect="true"/>
+	<mediastream name="s1" type="rtmp"/>
+	<mediastream name="s2" type="rtmp"/>
+	<simplelayout/>
+
+<!--	
+	<text multiline="true" width="100%"> Instructions:
+		<br/> 1. Either run a flash media server on localhost (127.0.0.1), or ssh tunnel to a
+		media server at a known host
+		<br/> 2. Press the broadcast button. (Grant camera access permission if needed.) The
+		button should change to say "stop broadcasting"
+		<br/> 3. Press the receive button. You should be receiving audio and video from
+		yourself and the button should say "stop receiving."
+		<br/> 4. Try out the audio and video mute buttons. The video mute should freeze the
+		received picture. The audio mute should silence the received sound.
+		<br/> 5. Press the receive button. The received video should freeze and the button
+		should say "stop receiving".
+		<br/> 6. Press the receive button again. The video should resume and the button should
+		say "receiving".
+		<br/> 7. Press the broadcast button. The received video should freeze and the button
+		should say "broadcast".<br/> <br/> The indicator below shows the status of the video
+		connection.
+		</text>
+-->	
+</canvas>
diff --git a/WebContent/src/test/page/main.lzx b/WebContent/src/test/page/main.lzx
new file mode 100644
index 0000000..e05088f
--- /dev/null
+++ b/WebContent/src/test/page/main.lzx
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas debug="true" width="100%" height="100%" 
+		fontsize="14" title="OpenMeetings - Computer testing">
+
+    <image name="_image" src="Добрыйдень.jpg" />
+    
+    <button text="loadImage2">
+    	<handler name="onclick">
+    		<![CDATA[
+    		   
+    	    ]]>
+    	</handler>
+    </button>
+    
+
+</canvas>
diff --git a/WebContent/src/test/page/main.lzx.swf8.swf b/WebContent/src/test/page/main.lzx.swf8.swf
new file mode 100644
index 0000000..cfd7b01
--- /dev/null
+++ b/WebContent/src/test/page/main.lzx.swf8.swf
Binary files differ
diff --git a/WebContent/src/test/page/test.jpg b/WebContent/src/test/page/test.jpg
new file mode 100644
index 0000000..51d5e80
--- /dev/null
+++ b/WebContent/src/test/page/test.jpg
Binary files differ
diff --git a/WebContent/src/test/regexp.jsp b/WebContent/src/test/regexp.jsp
new file mode 100644
index 0000000..eb1765a
--- /dev/null
+++ b/WebContent/src/test/regexp.jsp
@@ -0,0 +1,73 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8"
+    pageEncoding="UTF-8"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<title>OpenMeetings</title>

+	<script type="text/javascript" src="swfobject.js"></script>

+	<style type="text/css">

+		

+		/* hide from ie on mac \*/

+		html {

+			height: 100%;

+			overflow: hidden;

+		}

+		

+		#flashcontent {

+			height: 100%;

+		}

+		/* end hide */

+	

+		body {

+			height: 100%;

+			margin: 0;

+			padding: 0;

+			background-color: #ffffff;

+		}

+	

+	</style>

+	<link rel="shortcut icon" href="favicon.ico"> 

+	<script type="text/javascript">

+		function reMatch(str, reg){

+			var s = unescape(str);

+			var re = new RegExp(eval(unescape(reg)));

+			return s.replace(re,unescape(rep));

+		}

+	</script>
+</head>
+<body align="center" valign="middle" align="center" onLoad="focusSWF()">

+

+

+	<div id="flashcontent">

+		<strong>You need to upgrade your Flash Player</strong>

+		This is replaced by the Flash content. 

+		Place your alternate content here and users without the Flash plugin or with 

+		Javascript turned off will see this. Content here allows you to leave out <code>noscript</code> 

+		tags.

+	</div>

+	

+	<script type="text/javascript">

+		// <![CDATA[

+		

+		var so = new SWFObject("test-regExp2.lzx?lzt=swf&lzr=swf8", "lzapp", "100%", "100%", "8", "#ffffff");

+		so.addParam("quality", "high");

+		so.addParam("id", "lzapp");

+		so.addParam("allowScriptAccess", "always");

+		so.addParam("scale", "noscale");

+		so.write("flashcontent");

+		

+		function focusSWF(){

+		

+		    if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){

+		    }else {

+		        document.getElementById('lzapp').focus();

+		    }

+		}   		

+		

+		// ]]>

+	</script>	

+

+

+</body>
+</html>
\ No newline at end of file
diff --git a/WebContent/src/test/resources/audio_scrubber.png b/WebContent/src/test/resources/audio_scrubber.png
new file mode 100644
index 0000000..b51da01
--- /dev/null
+++ b/WebContent/src/test/resources/audio_scrubber.png
Binary files differ
diff --git a/WebContent/src/test/resources/audio_scrubtrack.png b/WebContent/src/test/resources/audio_scrubtrack.png
new file mode 100644
index 0000000..1e7029b
--- /dev/null
+++ b/WebContent/src/test/resources/audio_scrubtrack.png
Binary files differ
diff --git a/WebContent/src/test/resources/mix_volume.png b/WebContent/src/test/resources/mix_volume.png
new file mode 100644
index 0000000..a010125
--- /dev/null
+++ b/WebContent/src/test/resources/mix_volume.png
Binary files differ
diff --git a/WebContent/src/test/resources/next.png b/WebContent/src/test/resources/next.png
new file mode 100644
index 0000000..95fc568
--- /dev/null
+++ b/WebContent/src/test/resources/next.png
Binary files differ
diff --git a/WebContent/src/test/resources/play.png b/WebContent/src/test/resources/play.png
new file mode 100644
index 0000000..b41fa2b
--- /dev/null
+++ b/WebContent/src/test/resources/play.png
Binary files differ
diff --git a/WebContent/src/test/resources/record.png b/WebContent/src/test/resources/record.png
new file mode 100644
index 0000000..d1eb150
--- /dev/null
+++ b/WebContent/src/test/resources/record.png
Binary files differ
diff --git a/WebContent/src/test/resources/stop.png b/WebContent/src/test/resources/stop.png
new file mode 100644
index 0000000..682c322
--- /dev/null
+++ b/WebContent/src/test/resources/stop.png
Binary files differ
diff --git a/WebContent/src/test/scrolledittext.lzx b/WebContent/src/test/scrolledittext.lzx
new file mode 100644
index 0000000..bc64ac5
--- /dev/null
+++ b/WebContent/src/test/scrolledittext.lzx
@@ -0,0 +1,170 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+    <include href="incubator/baseedittext.lzx" />
+    <include href="lz/vscrollbar.lzx"/>
+
+    <!--- Implements visual baseedittext with scrollbar. -->
+    <class name="scrolledittext" extends="baseedittext" 
+           multiline="true" clip="true" height="100">
+
+        <attribute name="border" value="0" />
+        
+        <view name="_face" bgcolor="0xffffff" 
+              width="${parent.width-parent.border*2}" 
+              height="${parent.height-parent.border*2}" 
+              x="${parent.border}" y="${parent.border}"/>
+
+        <_newinternalinputtext name="inp" 
+            x="${parent.border}" 
+            y="${parent.border}" 
+            height="${parent.height - parent.border * 2}" 
+            width="${parent.width - parent.vscrollwidth - parent.border*2}"
+            scrollevents="true">
+            <!-- Supplied by lztext now
+                attribute name="lineheight"
+                       value="${this.getTextHeight()/this.getMaxScroll()}"/-->
+            <attribute name="maxtextheight"
+                       value="${this.lineheight * this.maxscroll}"/>
+            <attribute name="maxheight" 
+                       value="${this.height + this.maxtextheight}"/>
+            <attribute name="pos" value="0" type="number"/>
+            
+            <setter name="pos" args="p">
+                if (this.inited) {
+                    var scroll = 1 - Math.floor(p / this.lineheight);
+                    if (scroll !== this.scroll) {
+                        this.setAttribute('scroll', scroll);
+                        //Debug.info('pos', p, this.scroll)
+                    }
+                    this.pos = p;
+                    if (this.onpos) this.onpos.sendEvent(p);
+                }
+            </setter>
+            
+            <handler name="onscroll" args="IGNORE_THIS_ARG">
+                this.setAttribute('pos', -this.lineheight * (this.scroll - 1));
+            </handler>
+        </_newinternalinputtext>
+
+        <!--- Width to give for scrollbar
+              @keywords private -->
+        <attribute name="vscrollwidth" value="0"/>
+        
+        <method name="setvscrollwidthfromvisibility" args="v">
+            this.setAttribute("vscrollwidth", (v ? this._vs.width : 0));
+        </method>
+        
+<!--
+        <om_vscrollbar name="_vs" axis="y" scrollattr="pos"
+            scrolltarget="parent.inp"
+            x="${parent.width - this.width - parent.border + 1}" 
+            stepsize="${parent.inp.lineheight}" 
+            scrollmax="${parent.inp.scrollheight}">
+        </om_vscrollbar>
+-->
+
+        <!--- Name of class to instantiate for vertical scroll bar.
+              @keywords public -->
+        <attribute name="vscrollbarclassname" type="string" value="vscrollbar"/>
+        
+        <!--- Our vertical scrollbar
+              @keywords private -->
+        <attribute name="_vs" value="null"/>
+        
+        <!--- @keywords private -->
+        <method name="ensurevscrollbar">
+            if (this['_vs'] == null) {
+                var classname = this.vscrollbarclassname;
+                if (classname == "") {
+                    classname = "vscrollbar";
+                }
+                if ($debug) {
+                    if (typeof(lz[classname]) == "undefined") {
+                        Debug.warn("scrollbarclassname undefined", this);
+                    }
+                }
+                if(typeof(lz[classname]) != "undefined"){
+                    this._vs = new lz[classname](this, 
+                                                 { axis: "y",
+                                                   scrollattr: "pos",
+                                                   scrollmax: "0",
+                                                   scrolltarget: this.inp});
+                                                   
+                    var xDel = new lz.Delegate(this, 'updateX');
+                    xDel.register(this['_vs'], 'onwidth');
+                    xDel.register(this, 'onwidth');
+                    xDel.register(this, 'onborder');
+                    
+                    new lz.Delegate(this, 'updateScrollMax', this.inp, 'onscrollheight');
+                    new lz.Delegate(this, 'updateStepSize', this.inp, 'onlineheight');
+                    // call once manually
+                    this.updateX();
+                    this.updateStepSize();
+                }
+
+            }
+        </method>
+        
+        <method name="updateX" args="IGNORE_THIS_ARG = null">
+            if(this['_vs']){
+                this._vs.setAttribute("x", this.width - this._vs.width );
+            }
+        </method>
+        
+        <method name="updateStepSize" args="IGNORE_THIS_ARG = null">
+            if(this['_vs']){
+                this._vs.setAttribute("stepsize", this.inp.lineheight);
+            }
+        </method>
+        
+        <method name="updateScrollMax" args="IGNORE_THIS_ARG = null">
+            if(this['_vs']){
+                this._vs.setAttribute("scrollmax", this.inp.scrollheight);
+            }
+        </method>
+        
+        <method name="init">
+            super.init();
+            this.ensurevscrollbar();
+            setvscrollwidthfromvisibility(this['_vs'] ? this._vs.visible : false);
+            this.myDel = new lz.Delegate(this, "setvscrollwidthfromvisibility", this['_vs'], "onvisible");
+        </method>
+
+ <!--- Overrides a parent method which calculates y position for text
+            in a way that doesn't make sense for this class. We just trap the 
+            call and do nothing. This field is positioned in y by the constraint
+            y=${parent.border}
+            Note: although this method is a no-op, it still has to be declared,
+            so the parent class's method does not get called on instances of 
+            this class. 
+        -->
+        <method name="_placeTextY">
+        </method>
+
+    </class>
+
+</library>
+<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
+* Copyright 2006-2009 Laszlo Systems, Inc. All Rights Reserved.               *
+* Use is subject to license terms.                                            *
+* X_LZ_COPYRIGHT_END ****************************************************** -->
+<!-- @LZX_VERSION@                                                         -->
diff --git a/WebContent/src/test/simplebroadcast.lzx b/WebContent/src/test/simplebroadcast.lzx
new file mode 100644
index 0000000..fadcf2e
--- /dev/null
+++ b/WebContent/src/test/simplebroadcast.lzx
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas debug="true" width="1000" height="700">
+	
+	<debug fontsize="14" oninit="Debug.showInternalProperties = true"/>
+	
+	<rtmpconnection src="rtmp://macbook/'+canvas.webAppRootKey+'/hibernate" autoconnect="true"/>
+	<mediastream name="s1" type="rtmp"/>
+	<mediastream name="s2" type="rtmp"/>
+	<simplelayout/>
+	
+	<text multiline="true" width="100%"> Instructions:
+		<br/> 1. Either run a flash media server on localhost (127.0.0.1), or ssh tunnel to a
+		media server at a known host
+		<br/> 2. Press the broadcast button. (Grant camera access permission if needed.) The
+		button should change to say "stop broadcasting"
+		<br/> 3. Press the receive button. You should be receiving audio and video from
+		yourself and the button should say "stop receiving."
+		<br/> 4. Try out the audio and video mute buttons. The video mute should freeze the
+		received picture. The audio mute should silence the received sound.
+		<br/> 5. Press the receive button. The received video should freeze and the button
+		should say "stop receiving".
+		<br/> 6. Press the receive button again. The video should resume and the button should
+		say "receiving".
+		<br/> 7. Press the broadcast button. The received video should freeze and the button
+		should say "broadcast".<br/> <br/> The indicator below shows the status of the video
+		connection.
+		</text>
+	<rtmpstatus/>
+	<view layout="axis:x; inset:10; spacing:10">
+		<view id="v1" layout="axis:y; spacing:4">
+			<videoview id="live" type="rtmp" stream="$once{canvas.s1}" width="240" height="160">
+				<camera id="cam" show="false" fps="20" width="240" height="160" 
+																picturequality="0"/>
+				<microphone id="mic" capturing="false"/>
+				
+			</videoview>
+			<edittext name="username">YourName</edittext>
+			<button text="broadcast">
+				<attribute name="text"
+					value="${(s1.broadcasting == false) ? 'broadcast' : 'stop broadcasting'}"/>
+				<handler name="onclick">
+					<![CDATA[
+                    if (cam.show == false) {
+                        live.stream.setAttribute('url', parent.username.text);
+                        live.stream.broadcast();
+							cam.setAttribute('show', true);
+                    } else {
+                        live.stream.stop();
+                        cam.setAttribute('show', false);
+                    }
+                  ]]>
+				</handler>
+			</button>
+			
+			<checkbox onvalue="s1.setAttribute('muteaudio', value)">Mute
+				Audio</checkbox>
+			<checkbox onvalue="s1.setAttribute('mutevideo', value)">Mute
+				Video</checkbox>
+			<button text="checkValues">
+				<handler name="onclick">
+					//Debug.write("this: ",live);
+					//Debug.write("this: ",cam);
+					//Debug.write("this: ",cam._dev);
+					//Debug.write("this: ",mic._dev);
+				</handler>
+			</button>
+		</view>
+		<view id="v2" layout="axis:y; spacing:4">
+			<videoview name="vid" type="rtmp" stream="$once{canvas.s2}"/>
+			<edittext name="username">YourName</edittext>
+			<button text="${s2.playing ? 'stop receiving' : 'receive'}"
+				onclick="s2.setAttribute('url', parent.username.text);
+                         if (s2.playing) s2.stop(); else s2.play();"/>
+		</view>
+	</view>
+	
+</canvas>
diff --git a/WebContent/src/test/simpletestedittext.lzx b/WebContent/src/test/simpletestedittext.lzx
new file mode 100644
index 0000000..ee80f95
--- /dev/null
+++ b/WebContent/src/test/simpletestedittext.lzx
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas height="400" debug="true">
+ 
+     <button text="Show then Fade" onclick="canvas.showText()" />
+     <text name="myText" opacity="0.0" bgcolor="#CCCCCC">The Invisible Man</text>
+     <simplelayout axis="y" spacing="10" />
+	
+	<attribute name="fadeDelegate" value="null" />
+ 
+     <method name="showText">
+         this.myText.setAttribute( "opacity", 1.0 );
+         this.fadeDelegate = new LzDelegate( this, "fadeText" );
+         lz.Timer.addTimer( this.fadeDelegate, 3000 );
+     </method>
+ 
+     <method name="fadeText">
+		 //Debug.write("fadeText: ",lz.Timer.countTimers(this.fadeDelegate));
+         this.myText.animate( "opacity", 0.0, 1000 );
+     </method>
+ 
+ </canvas>
diff --git a/WebContent/src/test/simpletestvalidBox.lzx b/WebContent/src/test/simpletestvalidBox.lzx
new file mode 100644
index 0000000..e23ddfb
--- /dev/null
+++ b/WebContent/src/test/simpletestvalidBox.lzx
@@ -0,0 +1,810 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas height="400" debug="true">
+	
+<include href="lz/textlistitem.lzx" />
+	
+<script>
+<![CDATA[
+	
+String.prototype.startsWith = function(prefix) {
+    return (this.indexOf(prefix) === 0);
+};	
+	
+]]>
+</script>
+	
+<attribute name="statesInitValues" value="null" />
+	
+<handler name="oninit">
+	<![CDATA[
+		var tChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+		var tCharsSmall = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
+		
+		this.statesInitValues = new Array();
+		var m = 0;
+		while (m<20){
+			for (var i = 0;i<26;i++){
+				for (var r=0;r<3;r++){
+					var t = new Array();
+					t["state_id"] = i*r;
+					t["name"] = tChars.charAt(i)+tCharsSmall.charAt(( Math.random()*100))+tCharsSmall.charAt(( Math.random()*100))+tCharsSmall.charAt(( Math.random()*100))+tCharsSmall.charAt(( Math.random()*100))+tCharsSmall.charAt(( Math.random()*100));
+					this.statesInitValues.push(t);
+				}
+			}
+			m++;
+		}
+		//Debug.write(this.statesInitValues);
+		
+		this._validbox.addItem("Da","1");
+		this._validbox.selectItem("1",true);
+	]]>
+</handler>
+	
+<method name="validateCountry" args="str">
+	//Debug.write("validateCountry: ",str);
+	<![CDATA[
+		if (str.length!=0){
+			var a = new Array();
+			for (var i=0;i<canvas.statesInitValues.length;i++){
+				if (canvas.statesInitValues[i].name.startsWith(str))a.push(canvas.statesInitValues[i]);
+				//this.addItem(canvas.statesInitValues[i].name,canvas.statesInitValues[i].state_id);
+			}
+			return a;
+		}
+	]]>	
+</method>	
+	
+
+    <include href="base/baseformitem.lzx" />
+    <include href="lz/list.lzx" />
+    <include href="lz/floatinglist.lzx" />
+	
+	<include href="lz/combobox.lzx" />
+
+    <!--- A dropdown list of selectable items. -->
+    <class name="baseValidCombobox" extends="baseformitem" focusable="false" width="100">
+        <!--- @keywords private -->
+        <attribute name="defaultplacement"  value="cblist" type="string"/>
+
+        <!-- attributes -->
+        <!--- The value of the combobox. -->
+        <attribute name="value" value="${cblist.value}"/>
+
+        <!--- Indicates whether or not the popup list is showing.  -->
+        <attribute name="isopen"       value="false"  setter="this.setOpen(isopen)" />
+
+        <!--- The border size ( in pixels ) of the popup list.  -->
+        <attribute name="bordersize"   value="1" />
+
+        <!--- The spacing size ( in pixels ) between items in the pop-up list.  -->
+        <attribute name="spacing"   value="0" />
+
+        <!--- The text that appears in the text field when no item is selected. -->
+        <attribute name="defaulttext"  value="" type="string" />
+
+        <!--- The number of the item that is initially selected. This overrides
+              the value defined in the defaulttext attribute -->
+        <attribute name="defaultselection"  value="null" type="number"  setter="this.setDefaultSelection( defaultselection )"/>
+
+        <!--- This event is sent when the default selection is set.  -->
+        <event name="ondefaultselection" />
+
+        <!--- The class that is used to create an item in the list when
+              itemdatapath is assigned. -->
+        <attribute name="itemclassname" setter="this.setItemclassname(itemclassname)"  value="" type="string" />
+
+        <!--- Sets the height of the combobox to show 'n' items. -->
+        <attribute name="shownitems"   value="-1" />
+
+        <!--- @keywords private  -->
+        <attribute name="mousedownintext" value="false"/>
+
+        <!--- @keywords private  -->
+        <attribute name="initcomplete" value="0" />
+
+        <!--- Whether a scrollbar should automatically show up when there are more
+              items than shownitems. -->
+        <attribute name="autoscrollbar" value="true"/>
+
+        <!--- The initial selected item. -->
+        <attribute name="selected" value="null"/>
+
+        <!--- This event is triggered whenever the user makes a selection. It
+              may be used as a script in the combobox tag or as an event method.
+              -->
+        <event name="onselect"/>
+
+        <!--- One of "lazy", "resize", "pooling", "none". -->
+        <attribute name="dataoption" value="none" type="string"/>
+
+        <!--- The vertical offset of the floatinglist attached to this
+              combobox. -->
+        <attribute name="attachoffset" value="-1" type="number"/>
+
+        <!--- the x position of the text. default: 2 -->
+        <attribute name="text_x" value="2" type="number"/>
+
+        <!--- the y position of the text. default: 2 -->
+        <attribute name="text_y" value="2" type="number"/>
+
+        <!--- the width the text. default: combowidth - 19 -->
+        <attribute name="text_width" value="${this.width - 19}" type="number"/>
+
+        <!--- The minimum width this component is allowed to be.
+              Defaults to 50 pixels.
+              @keywords defaultsetter -->
+        <attribute name="min_width" value="50" type="number" />
+        
+        <!--- The method to be called for validating -->
+        <attribute name="validate_method" value="null" />
+
+        <!--- Since we are not focusable, defer to the inputtext's next selection,
+              so that when floatinglist is tabbed out of, we can provide a next
+              selection since we are it's owner
+              @keywords private -->
+        <method name="getNextSelection">
+            // must ensure the floatinglist is closed so that if it is being tabbed from,
+            // we can change the focus. (focus is normally not allowed to escape from
+            // a modal view).
+            this.setOpen(false);
+            return lz.Focus.getNext(interior.cbtext);
+        </method>
+
+        <!--- since we are not focusable, this provides an api for asking what child to send focus
+              to, as is the case when floatinglist is shift-tabbed back to us.
+              @keywords private -->
+        <method name="resolveSelection">
+            // must ensure the floatinglist is closed so that if it is being tabbed from,
+            // we can change the focus. (focus is normally not allowed to escape from
+            // a modal view).
+            this.setOpen(false);
+            return interior.cbtext;
+        </method>
+
+        <view name="bkgnd" width="100%" focusable="false">
+        <!--- subclasses defined the 'look' by placing views here -->
+        </view>
+
+        <view name="interior"
+            x="$once{classroot.text_x}"
+            y="$once{classroot.text_y}"
+            width="${classroot.text_width}"
+             height="${classroot.height - 2*classroot.bordersize - 2}"
+             focusable="false">
+            <!--- @keywords private -->
+            <attribute name="_dsblfield" value="null"/>
+
+            <method name="setupText" >
+                var txt = classroot.cblist.getText();
+                if ( !txt ) {
+                    if ( classroot.defaultselection ) {
+                        if ( classroot.cblist._contentview != null ) {
+                            classroot.cblist.selectItemAt( classroot.defaultselection );
+                            txt = classroot.cblist.getText();
+                        }
+                    } else {
+                        txt = classroot.defaulttext;
+                    }
+                }
+                if (this.cbtext) this.cbtext.setAttribute('text', txt );
+                if (this._dsblfield) this._dsblfield.setAttribute('text', txt );
+                parent._applystyle( parent.style );
+            </method>
+
+                <view name="editbkgnd" bgcolor="white" width="100%" height="100%" />
+                <inputtext x="2" y="1" name="cbtext" width="$once{parent.width - 4}">
+                    <attribute name="text" type="string" />
+					
+					<attribute name="initSelect" value="false" type="boolean" />
+					
+                    <attribute name="timerDelegate" value="null"/>
+                    <attribute name="typetime" type="number" value="4000"/>
+					<attribute name="timerIsInited" value="false" type="boolean"/>
+
+                    <!-- arrow down and up both popup floatinglist, and pass the key event to it -->
+                    <handler name="onkeydown" args="key">
+                        <![CDATA[
+						//Debug.write("onkeydown: ",key);
+                        // 38 is up-arrow
+                        // 40 is down-arrow
+                        // 32 is space
+                        // 13 is return
+                            if ((key==38) || (key==40)) {
+                                if (!classroot.isopen) {
+                                    classroot.setOpen(true, true); // open, withKey
+                                }
+    
+                                // pass the key event on to the floatinglist
+                                classroot.cblist.onkeydown.sendEvent(key);
+                            } else {
+                                //Debug.write("onkeydown txt: ",this.getText());
+                                if (!this.initSelect){
+                                    ////Debug.write("onvalue: ",txt,this);
+                                    if (!this.timerIsInited){
+                                        this.timerIsInited = true;
+                                        this.timerDelegate = new LzDelegate( this, "validatedText" );
+                                        //Debug.write("+++++++++++++++++ addTimer");
+                                        //Debug.write("+++++++++++++++++ removeTimer ",lz.Timer.countTimers());
+                                        lz.Timer.addTimer( this.timerDelegate, this.typetime );
+                                    } else {
+                                        //Debug.write("############### resetTimer NO ADDING ");
+                                        //Debug.write("############### removeTimer ",lz.Timer.countTimers());
+                                        //lz.Timer.removeTimer( this.timerDelegate );
+                                    }
+                                } else {
+                                    this.initSelect = false;
+                                }
+                            }
+                        ]]>
+                    </handler>
+
+                    <!-- pass up to component level so focus rect will be visible, and subclassers can catch -->
+                    <handler name="onfocus" args="v">
+                        if ( classroot['onfocus'] ) classroot.onfocus.sendEvent(v);
+                    </handler>
+                    <!-- pass up to component level so subclassers can catch -->
+                    <handler name="onblur" args="v">
+                        this.initSelect=true;
+                        classroot.setAttribute('text', this.getText() );
+                        if ( classroot['onblur'] ) classroot.onblur.sendEvent(v);
+                    </handler>
+                    <!-- pass up to component level so subclassers can catch -->
+                    <handler name="onkeyup" args="kc">
+                        if ( classroot['onkeyup'] ) classroot.onkeyup.sendEvent(kc);
+                    </handler>
+                    <!-- pass up to component level so subclassers can catch -->
+                    <handler name="onkeydown" args="kc">
+                        if ( classroot['onkeydown'] ) classroot.onkeydown.sendEvent(kc);
+                    </handler>
+
+                    <method name="getFocusRect"  >
+                        return classroot.getFocusRect();
+                    </method>
+
+					<method name="validatedText">
+						<![CDATA[
+                            //Debug.write("validatedText: ",this.getText());
+                            //this.reset();
+                            if (!this.initSelect){
+                                var t = classroot.validate_method(this.getText());
+                                //Debug.write('t: ',t.length);
+                                //this.parent._cblist.setAttribute('visible',true);
+                                classroot.cblist.removeAllItems();
+                                for (var i=0;i<t.length;i++){
+                                    classroot.cblist.addItem(t[i].name,t[i].state_id);
+                                }
+                                //Debug.write("############### removeTimer ",lz.Timer.countTimers());
+                                for (var eg in lz.Timer){
+                                    //Debug.write("############### lz.Timer ",eg,lz.Timer[eg]);
+                                }
+                                for (var eg in lz.Timer.timerList){
+                                    //Debug.write("############### lz.Timer.timerList ",eg,lz.Timer.timerList[eg]);
+                                }
+
+                                ////Debug.write("validateText: ",this.getText());
+                                //if (!classroot.isopen) {
+                                //    classroot.setOpen(true, true); // open, withKey
+                                //}
+                                this.timerIsInited = false;
+                            } else {
+                                this.initSelect=false;
+                                this.timerIsInited = false;
+                            }
+						]]>
+					</method>					
+
+                </inputtext>
+
+        </view>
+
+        <floatinglist name="cblist"
+                      width="${owner.width - 1}"
+                      bordersize="${this.owner.bordersize}"
+                      spacing="${this.owner.spacing}"
+                      visible="false"
+                      shownitems="${this.owner.shownitems}"
+                      attach="bottom"
+                      attachoffset="${this.owner.attachoffset}"
+                      multiselect="false"
+                      autoscrollbar="${owner.autoscrollbar}"
+                      defaultselection="${owner.defaultselection ?
+                                          owner.defaultselection : (owner.defaulttext == '' ?
+                                                                    0 : null) }">
+            <!-- create a blank datapath so that it can be assigned a datapointer when combobox is assigned data -->
+               <datapath>
+                   <attribute name="datacontrolsvisibility" value="false" />
+               </datapath>
+
+            <handler name="onconstruct">
+                this.dataoption = owner.dataoption;
+            </handler>
+
+            <method name="_dokeyup" args="kc"
+                    event="onkeyup">
+                if (kc == 27) {  // escape needs to close floating list
+                    this.owner.setOpen(false);
+                }
+            </method>
+            <method name="removeAllItems" args="index"> 
+                for (var eg in _contentview.subviews){
+                    _removeitem(_contentview.subviews[eg]); 
+                } 
+            </method>			
+        </floatinglist>
+
+
+        <!--- Sets the number of the item that is initially selected. This overrides
+              the value defined in the defaulttext attribute.
+              @param Number ds: the number of items to initally select. -->
+        <method name="setDefaultSelection" args="ds" >
+            this.defaultselection = ds;
+            if ( ds == null ) return;
+            if ( defaulttext != "" ) {
+                this.defaulttext = "";
+                //Debug.write("defaultselection overrides defaulttext",this);
+            }
+            if ( this.ondefaultselection ) this.ondefaultselection.sendEvent();
+        </method>
+
+        <!--- @keywords private -->
+        <handler name="ondata" args="d">
+            this.cblist.datapath.setPointer( d );
+        </handler>
+
+        <!--- @keywords private -->
+        <event name="onitemclassname"/>
+
+        <!--- Sets the type of list items which will be created in floatinglist
+              when necessary.
+              @param String icn: the class name to use to create items with. -->
+        <method name="setItemclassname" args="icn" >
+            this.itemclassname = icn; // before anything is inited capture value
+            if ( this.isinited ) { // view is now inited so check classname with cblist
+
+               if (icn != "") {
+                  // then force this classname as the classname for cblist
+                  cblist.setAttribute('itemclassname',this.itemclassname);
+                } else {
+                  //use the default subview as the classname
+                  this.itemclassname = cblist.itemclassname;
+                }
+            }
+            if (this.onitemclassname) this.onitemclassname.sendEvent();
+        </method>
+
+        <!--- @keywords private -->
+        <event name="ontext"/>
+
+        <!--- @keywords private -->
+        <method name="determinePlacement" args="newsub, placement, iargs" >
+            if (placement == 'cblist') 
+                return this.cblist.determinePlacement(newsub, placement, iargs);
+            else 
+                return super.determinePlacement(newsub, placement, iargs);
+        </method>
+
+        <!--- @keywords private -->
+        <method name="init" >
+            this._initcomplete = true;
+			
+            super.init();
+
+            // reassign classname now that the instance is inited
+            this.setItemclassname(this.itemclassname);
+            cblist.setVisible(false);
+         </method>
+
+        <!--- @keywords private -->
+        <handler name="onblur" >
+           if ( lz.Focus.getFocus() != this.interior.cbtext )
+                this.setOpen(false);
+        </handler>
+
+        <!--- @keywords private -->
+        <method name="getFocusRect"  >
+           var fx = this.getAttributeRelative('x',canvas);
+           var fy = this.getAttributeRelative('y',canvas);
+           var fw = this.getAttributeRelative('width',canvas);
+           var fh = this.getAttributeRelative('height',canvas);
+           return [fx,fy,fw,fh];
+        </method>
+
+        <!--- Selects a specific item in the list.
+              @param Object item: the item to select. -->
+        <method name="select" args="item" >
+           this.cblist.select(item);
+        </method>
+
+        <!--- @keywords private -->
+        <attribute name="_fixseldel" value="$once{new LzDelegate(this, 'fixSelection')}"/>
+        <!--- @keywords private -->
+        <method name="fixSelection">
+            this.interior.cbtext.setSelection(_fixseldel.start, _fixseldel.end);
+        </method>
+
+        <!--- this method listens for the onselect event from the floating list
+              and then resends the onselect event to itself so that developers can easily
+              reference that without knowing the internals of combobox
+              @keywords private -->
+        <handler name="onselect" reference="this.cblist"  args="v" > 
+			<![CDATA[
+				this.interior.cbtext.initSelect=true;
+				this.setOpen(false);
+	
+				// anItem has been selected so update the input text field
+				this.selected = v;
+				if (v) this.setAttribute('text',v.text);
+				if (lz.Focus.getFocus() == this.interior.cbtext) {
+					_fixseldel.start = 0;
+					_fixseldel.end = v.text.length;
+					lz.Idle.callOnIdle( _fixseldel );
+	
+				}
+	
+				// resend the event so that developers can write thier own
+				// onselect methods without having to know the internals of
+				// this class.
+				if ( this.onselect ) this.onselect.sendEvent(v);
+            ]]>
+        </handler>
+
+        <!--- @keywords private -->
+        <method name="passModeEvent" args="eventStr,view" > <![CDATA[
+            // Once a view has been made modal, this method
+            // gets called ONLY when a user clicks on a view 'outside'
+            // the contents of this view, or clicks on a inputtext view anywhere
+            // on the screen even for a subview within this view.
+            if ( eventStr == "onmousedown"  ){
+                // first, we only care about the mousedown event.
+                // if the user has pressed the mouse down on a textfield
+                // within the component, then we will not know this unless
+                // we test it to see if it is a subview of this component.
+
+                if ( view != null ) { // view is a clickable view
+                    // view is not LITERALLY part of the class heirarchy but
+                    // it maybe part of the floatingview of this component, and if so
+                    // then treat it as if it were a child of the class.
+
+                   if ( !view.childOf(this.cblist) ) {
+                        // view is outside of combobox so close the combbobox
+                        this.setOpen(false);
+
+                   } else {
+                        // view is a child of cblist, so don't do anything.
+                   }
+
+                } else {
+                    this.setOpen(false);
+                }
+            }
+            // if we're inside a modal dialog, need to propagate event manually
+            // since floating list is a child of the canvas
+            if (view && view.childOf(this.cblist)) {
+                if (view[ eventStr ]) {
+                    view[ eventStr ].sendEvent( view );
+                }
+                return false;
+            }
+           // since a combox is not strictly modal, always return
+           // true to pass the event to the object (oustide combobox)
+           // that was clicked on
+           return true;
+        ]]> </method>
+
+        <!--- Toggles the open/close state of the popup list.
+            @param Boolean withkey: (optional) if true this is triggered by
+                  keyboard and focus indicators will be turned on;
+                  if false, this is triggered by mouse action and focus
+                  indicators will be turned off;
+                  if parameter is ommitted no change in focus indicator
+        -->
+        <method name="toggle" args="withkey">
+            this.setOpen(!this.isopen, withkey)
+        </method>
+
+        <!--- Sets the open/close state of the popup list.
+              @param Boolean open: true to open the list, else false to
+              close.
+              @param Boolean withkey: (optional) if true this is triggered by
+                    keyboard and focus indicators will be turned on;
+                    if false, this is triggered by mouse action and focus
+                    indicators will be turned off;
+                    if parameter is ommitted no change in focus indicator
+          -->
+        <method name="setOpen" args="open, withkey" >
+            if (!this.isinited) {
+                this.isopen = open;
+                return;
+            }
+            if (open) { // open combox
+                if (this.isopen) return; // tends to get called more than once, esp when
+                lz.ModeManager.makeModal( this );
+
+                this.cblist.bringToFront();
+                this.cblist.setVisible(true);
+                lz.Focus.setFocus(this.cblist, withkey);
+
+                this.isopen = true;
+                if (this['onisopen']) this.onisopen.sendEvent(true);
+            } else { // close combox
+                if (!this['isopen']) return;
+                this.isopen = false;
+
+                lz.ModeManager.release( this );
+                this.cblist.setVisible(false);
+                if (this['onisopen']) this.onisopen.sendEvent(false);
+                if ( lz.Focus.getFocus() == this.cblist ) {
+                    lz.Focus.setFocus(interior.cbtext, withkey);
+                }
+            }
+        </method>
+
+        <!--- @keywords private -->
+        <method name="applyData" args="d">
+            this.setAttribute('text', d );
+        </method>
+
+
+        <!--- Get the value for the combobox.
+              @return Object: the value selected or the value in the text
+              field, if no value was found. -->
+        <method name="getValue">
+           var rv;
+           var ra = this.cblist.getValue(); // an array of values
+           if (ra==null) {
+               rv  = this.interior.cbtext.getText();
+           } else {
+               rv = ra;
+           }
+           return rv;
+        </method>
+
+        <!--- Sets the displayed text.
+              @param String t: the text to display. -->
+        <method name="setText" args="t">
+            this.text = t;
+            this.interior.cbtext.setAttribute('text', t );
+            if (!this._enabled) interior._dsblfield.setAttribute('text', t );
+            if ( this.ontext ) this.ontext.sendEvent( t );
+        </method>
+
+        <!--- Get the displayed text.
+              @return String: the displayed text. -->
+        <method name="getText">
+           return this.interior.cbtext.getText();
+        </method>
+
+        <!--- Returns current selection.
+              @return Object: null if no selection, an item if single select
+              (default), or an array of items if multiselect. -->
+        <method name="getSelection">
+            return this.cblist.getSelection();
+        </method>
+
+        <!--- Add the specified item to list to the end of the list.
+              @param String txt: the text for the item.
+              @param Object val: the value for the item. -->
+        <method name="addItem" args="txt, val" >
+            this.cblist.addItem(txt,val);
+        </method>
+
+        <!--- Find a particular item by value. This method is not available with
+              dataoption="lazy" or dataoption="resize" (use data APIs instead).
+              @param Object value: the value for the item to get.
+              @return Object: the item found, or null, if not.
+              -->
+        <method name="getItem" args="value">
+            return this.cblist.getItem(value);
+        </method>
+
+        <!--- Find a particular item by its index. This method not available
+              with dataoption="lazy" or dataoption="resize"
+              (use data APIs instead).
+              @param Number index: the index for the item to get.
+              @return Object: the item found, or null, if not. -->
+        <method name="getItemAt" args="index">
+            return this.cblist.getItemAt(index);
+        </method>
+
+        <!--- Find the first item with the specified value and remove it from
+              the list.
+              @param Object value: the value of the item to remove. -->
+        <method name="removeItem" args="value" >
+            this.cblist.removeItem(value);
+        </method>
+
+        <!--- Remove an item by index (0 based count). This method is not
+            available with dataoption="lazy" or dataoption="resize"
+            (use data APIs instead).
+              @param Number index: the index of the item to remove. -->
+        <method name="removeItemAt" args="index" >
+            this.cblist.removeItemAt(index);
+        </method>
+
+        <!--- Select an item by value. This method is not available with
+              dataoption="lazy" or dataoption="resize".
+              @param Object value: the value of the item to select.
+			  initSelect = true will NOT throw a validating event -->
+        <method name="selectItem" args="value,initSelect">
+			if (initSelect) this.interior.cbtext.initSelect=true;
+            this.cblist.selectItem(value);
+        </method>
+
+        <!--- Select an item by index (0 based count).
+              @param Number index: the index of the item to select. -->
+        <method name="selectItemAt" args="index">
+            this.cblist.selectItemAt(index);
+        </method>
+
+        <!--- Clear the current selection in the list and sets the displayed
+            text to an empty string -->
+        <method name="clearSelection" >
+            this.cblist.clearSelection();
+            this.setAttribute('text',"");
+        </method>
+
+        <!--- @keywords private -->
+        <method name="_applystyle" args="s">
+            if (this.style != null) {
+                interior.editbkgnd.setAttribute("bgcolor", s.textfieldcolor);
+                interior.cbtext.setAttribute('bgcolor',s.textfieldcolor);
+                setTint(bkgnd, s.basecolor);
+           }
+        </method>
+
+        <!--- @keywords private -->
+        <method name="_showEnabled">
+           interior.cbtext.setVisible(this._enabled);
+            if (!this._enabled) {
+                if (interior._dsblfield == null) {
+                    var t = new LzText(interior,
+                        { name: '_dsblfield', x: 2, y: 1,
+                          width:interior.width, height:interior.height,
+                            fgcolor:this['style'] ? this.style.textdisabledcolor : null});
+                } else {
+                   interior._dsblfield.setVisible(true);
+                }
+                interior._dsblfield.setAttribute('text',this.getText());
+            } else {
+                if (interior._dsblfield) interior._dsblfield.setVisible(false);
+            }
+        </method>
+
+        <method name="setWidth" args="w">
+            super.setWidth(Math.max(w,this.min_width));
+        </method>
+    </class>
+
+
+    <!--- A dropdown list of selectable items. Can either be editable or
+          not. -->
+    <class name="validBox" extends="baseValidCombobox">
+		
+        <view name="lft" resource="lzcombobox_lft_rsc" placement="bkgnd"/>
+        <view name="mid" resource="lzcombobox_mid_rsc" stretches="width" placement="bkgnd"/>
+        <basebutton name="rgt" resource="lzcombobox_rgt_rsc" styleable="true"
+                placement="bkgnd" onclick="classroot.toggle(false)" />
+		
+        <stableborderlayout axis="x" placement="bkgnd"/>
+		
+               <!--- @keywords private -->
+        <method name="_showEnabled">
+           super._showEnabled();
+           if (_enabled) {
+				this.bkgnd.lft.setAttribute('frame', 1 );
+				this.bkgnd.mid.setAttribute('frame', 1 );
+            } else {
+				this.bkgnd.lft.setAttribute('frame', 3 );
+				this.bkgnd.mid.setAttribute('frame', 3 );
+            }
+        </method>
+
+    </class>		
+ <!--
+		<edittext name="state" width="270" y="20" x="120" fontsize="11">
+			
+			<attribute name="timerDelegate" value="null"/>
+			<attribute name="typetime" type="number" value="500"/>
+			<attribute name="timerIsInited" value="false" type="boolean"/>
+			
+			<attribute name="formervalue" value="" type="string"/>
+			<attribute name="startValidate" value="false" type="boolean"/>
+			
+			<method name="getValue"> return this.id; </method>
+			<method name="setValued" args="txt,id"> 
+				//Debug.write("setValue:",txt,id); 
+				this.id = id; this.setAttribute('text',txt); 
+			</method>
+			
+			<handler name="onfocus"> //Debug.write("onfocus ",this.getText());
+				this.startValidate = true; this.formervalue = this.getText();
+				</handler>
+			<handler name="onvalue" args="txt">
+				<![CDATA[
+				//Debug.write("onvalue: ",txt,this.startValidate);
+				if (!this.timerIsInited && this.startValidate){
+					this.timerIsInited = true;
+					this.timerDelegate = new LzDelegate( this, "validatedText" );
+					//Debug.write("############### addTimer");
+					lz.Timer.addTimer( this.timerDelegate, this.typetime );
+				} else {
+					lz.Timer.resetTimer( this.timerDelegate, this.typetime );
+				}
+				]]>
+			</handler>
+			<method name="validatedText">
+				<![CDATA[
+					//Debug.write("validatedText: ",this.getText());
+					//this.reset();
+					var t = canvas.validateCountry(this.getText());
+					//Debug.write('t: ',t.length);
+					this._cblist.setAttribute('visible',true);
+					this._cblist.removeAllItems();
+					for (var i=0;i<t.length;i++){
+						this._cblist.addItem(t[i].name,t[i].state_id);
+					}
+					lz.Timer.removeTimer(this.timerDelegate);
+					this.timerIsInited = false;
+					//Debug.write("validateText: ",this.getText());
+
+				]]>
+			</method>
+			<handler name="onblur" args="b"> //Debug.write("onblur: ",b);
+				<![CDATA[
+					if (b!=this._cblist){
+						var t = canvas.validateCountry(this.getText());
+						//Debug.write('t: ',t.length);
+						this._cblist.removeAllItems();
+						for (var i=0;i<t.length;i++){
+							this._cblist.addItem(t[i].name,t[i].state_id);
+						}
+						this.startValidate = false;
+						//this._cblist.setAttribute('visible',false);
+					} else {
+						//Debug.write("is this._cblist");
+					}
+				]]>
+				</handler>
+			
+			<floatinglist width="${ this.owner.width }" attach="bottom"
+				name="_cblist" visible="false" autoscrollbar="true" shownitems="7"
+				scrollbarclassname="scrollbarValidBox" >
+				<method name="removeAllItems" args="index"> 
+					for (var eg in _contentview.subviews){
+						_removeitem(_contentview.subviews[eg]); 
+					} 
+				</method>
+				<handler name="onselect" args="item"> 
+					//Debug.write("onselect:",item); 
+					//this.owner. 
+					this.setAttribute('visible',false);
+					lz.Focus.setFocus(this.owner); 
+				</handler>
+			</floatinglist>
+			
+		</edittext>
+  -->
+	
+	<validBox y="20" width="270" name="_validbox" 
+        shownitems="7" validate_method="$once{ canvas.validateCountry }" />
+    
+ </canvas>
diff --git a/WebContent/src/test/simpletestvalidText.lzx b/WebContent/src/test/simpletestvalidText.lzx
new file mode 100644
index 0000000..a71f716
--- /dev/null
+++ b/WebContent/src/test/simpletestvalidText.lzx
@@ -0,0 +1,290 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas height="400" debug="true">
+	
+<include href="lz/textlistitem.lzx" />
+<include href="lz/edittext.lzx" />
+<include href="lz/button.lzx" />
+	
+<script>
+<![CDATA[
+	
+String.prototype.startsWith = function(prefix) {
+    return (this.indexOf(prefix) === 0);
+};	
+	
+]]>
+</script>
+	
+<attribute name="statesInitValues" value="null" />
+	
+<handler name="oninit">
+	<![CDATA[
+		var tChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+		var tCharsSmall = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
+		
+		this.statesInitValues = new Array();
+		var m = 0;
+		while (m<20){
+			for (var i = 0;i<26;i++){
+				for (var r=0;r<3;r++){
+					var t = new Array();
+					t["state_id"] = i*r;
+					t["name"] = tChars.charAt(i)+tCharsSmall.charAt(( Math.random()*100))+tCharsSmall.charAt(( Math.random()*100))+tCharsSmall.charAt(( Math.random()*100))+tCharsSmall.charAt(( Math.random()*100))+tCharsSmall.charAt(( Math.random()*100));
+					this.statesInitValues.push(t);
+				}
+			}
+			m++;
+		}
+		//Debug.write(this.statesInitValues);
+		
+		this._validbox.addAndSelectItem("Da","1");
+	]]>
+</handler>
+	
+<method name="validateCountry" args="str">
+	//Debug.write("validateCountry: ",str);
+	<![CDATA[
+		if (str.length!=0){
+			var a = new Array();
+			for (var i=0;i<canvas.statesInitValues.length;i++){
+				if (canvas.statesInitValues[i].name.startsWith(str))a.push(canvas.statesInitValues[i]);
+				//this.addItem(canvas.statesInitValues[i].name,canvas.statesInitValues[i].state_id);
+			}
+			return a;
+		}
+	]]>	
+</method>	
+	
+
+    <class name="validText" extends="edittext">
+        
+        <!--- The method to be called for validating -->
+        <attribute name="validate_method" value="null" />
+        
+        <!--- the id-attribute of the resultset -->
+        <attribute name="resultId" value="id" type="string" />
+        <!--- the name-attribute of the resultset -->
+        <attribute name="resultName" value="name" type="string" />        
+					
+        <attribute name="initSelect" value="false" type="boolean" />
+					
+        <attribute name="timerDelegate" value="null"/>
+        <attribute name="typetime" type="number" value="500"/>
+        <attribute name="timerIsInited" value="false" type="boolean"/>
+        
+        <!--- items to be shown in the floatinglist -->
+        <attribute name="shownitems" value="7" type="number" />          
+        <attribute name="spacing" value="1" type="number" />  
+        <!--- The vertical offset of the floatinglist attached to this
+              combobox. -->
+        <attribute name="attachoffset" value="-1" type="number"/>
+        <!--- Whether a scrollbar should automatically show up when there are more
+              items than shownitems. -->
+        <attribute name="autoscrollbar" value="true"/>   
+
+        <!--- The border size ( in pixels ) of the popup list.  -->
+        <attribute name="bordersize"   value="1" />      
+        
+        <attribute name="currentValue" type="string" value="" />
+        
+        <!--- refernce to the current selected item -->
+        <attribute name="_selected" value="null" />    
+        
+        <method name="addAndSelectItem" args="txt,id">
+            this.cblist.addItem(txt,id);
+            this.currentValue = id;
+            this.setAttribute('text',txt);
+        </method>    
+        
+        <method name="setSelection" args="obj">
+            this._selected = obj;
+            this.currentValue = obj.value;
+            this.setAttribute('text',obj.text);
+            this.setOpen(false,true);
+            this.onselect.sendEvent();
+        </method>    
+        
+        <handler name="onselect" args="obj" />
+        
+        <method name="getValue">
+            return this.currentValue;
+        </method>
+
+                    <!-- arrow down and up both popup floatinglist, and pass the key event to it -->
+        <handler name="onkeydown" args="key">
+            <![CDATA[
+                //Debug.write("onkeydown: ",key);
+                // 38 is up-arrow
+                // 40 is down-arrow
+                // 32 is space
+                // 13 is return
+                if ((key==38) || (key==40)) {
+                    if (!this.isopen) {
+                        this.setOpen(true, true); // open, withKey
+                    } else {
+                        lz.Focus.setFocus(this.cblist, true);
+                    }
+                    // pass the key event on to the floatinglist
+                    this.cblist.onkeydown.sendEvent(key);
+                } else if (key==27){
+                    if (!this.isopen) {
+                        this.setOpen(true, true); // open, withKey
+                    } else {
+                        lz.Focus.setFocus(this.cblist, true);
+                    }
+                    this.cblist.onkeydown.sendEvent(key);
+                } else if (key!=13 && key!=9){
+                    //Don't handle Enter and Tab Events cause it will open the listItems
+                    ////Debug.write("onkeydown txt: ",this.getText());
+                    if (!this.initSelect){
+                        ////Debug.write("onvalue: ",txt,this);
+                        if (!this.timerIsInited){
+                            this.timerIsInited = true;
+                            this.timerDelegate = new LzDelegate( this, "validatedText" );
+                            ////Debug.write("+++++++++++++++++ addTimer");
+                            //Debug.write("+++++++++++++++++ removeTimer ",lz.Timer.countTimers());
+                            lz.Timer.addTimer( this.timerDelegate, this.typetime );
+                        } else {
+                            ////Debug.write("############### resetTimer NO ADDING ");
+                            //Debug.write("############### resetTimer ",lz.Timer.countTimers());
+                            lz.Timer.resetTimer( this.timerDelegate, this.typetime );
+                        }
+                    } else {
+                        this.initSelect = false;
+                    }
+                }
+            ]]>
+        </handler>
+        
+        <method name="validatedText">
+            <![CDATA[
+                ////Debug.write("validatedText: ",this.getText());
+                //this.reset();
+                if (!this.initSelect){
+                    var t = this.validate_method(this.getText());
+                    ////Debug.write('t: ',t.length);
+                    //this.parent._cblist.setAttribute('visible',true);
+                    this.cblist.removeAllItems();
+                    for (var i=0;i<t.length;i++){
+                        ////Debug.write(t[i][this.resultName],t[i][this.resultId]);
+                        this.cblist.addItem(t[i][this.resultName],t[i][this.resultId]);
+                    }                
+
+                    ////Debug.write("validateText: ",this.getText());
+                    if (!this.isopen) {
+                        this.setOpen(true, true); // open, withKey
+                    }
+                    this.timerIsInited = false;
+                } else {
+                    this.initSelect=false;
+                    this.timerIsInited = false;
+                }
+            ]]>
+        </method>	
+        
+        <attribute name="isopen" value="false" type="boolean" setter="this.setOpen(isopen)" />
+        
+        <handler name="onisopen" args="bool" />
+        
+        <method name="setOpen" args="open, withkey" >
+            if (!this.isinited) {
+                this.isopen = open;
+                return;
+            }
+            if (open) { // open combox
+                if (this.isopen) return; // tends to get called more than once, esp when
+
+                this.cblist.bringToFront();
+                this.cblist.setVisible(true);
+
+                this.isopen = true;
+                if (this['onisopen']) this.onisopen.sendEvent(true);
+            } else { // close combox
+                if (!this['isopen']) return;
+                this.isopen = false;
+
+                this.cblist.setVisible(false);
+                if (this['onisopen']) this.onisopen.sendEvent(false);
+                if ( lz.Focus.getFocus() == this.cblist ) {
+                    lz.Focus.setFocus(this, withkey);
+                }
+            }
+        </method>           
+
+        <floatinglist name="cblist"
+                      width="${owner.width - 1}"
+                      bordersize="${this.owner.bordersize}"
+                      spacing="${this.owner.spacing}"
+                      visible="false"
+                      shownitems="${this.owner.shownitems}"
+                      attach="bottom"
+                      attachoffset="${this.owner.attachoffset}"
+                      multiselect="false"
+                      autoscrollbar="${owner.autoscrollbar}" >
+
+            <method name="_dokeyup" args="kc"
+                    event="onkeyup">
+                if (kc == 27) {  // escape needs to close floating list
+                    this.owner.setOpen(false);
+                }
+            </method>
+            <method name="removeAllItems" args="index"> 
+                for (var eg in _contentview.subviews){
+                    _removeitem(_contentview.subviews[eg]); 
+                } 
+            </method>	
+            <handler name="onselect" args="obj">
+                ////Debug.write("obj: ",obj);
+                this.owner.setSelection(obj);
+            </handler>	            	
+        </floatinglist>        
+        
+         <handler name="onclick" reference="lz.GlobalMouse" args="who">
+           <![CDATA[ 
+               //need to use lz.GlobalMouse, since we don't get clicks if we're
+               //checked. NB that lz.GlobalMouse sends its events before the view
+               //receives the events, so we can just unlock it here, and the
+               //checkbox can do its normal onclick handling.
+               //Debug.write("onclick lz.GlobalMouse",lz.GlobalMouse,who);
+               //if (who != this.cblist && who.childOf(this.cblist)){
+               //    this.setOpen(false,false);
+               //} 
+               // LPP-3165
+           ]]>
+         </handler>        
+
+    </class>
+	
+
+	<validText y="20" width="270" name="_validbox" 
+        shownitems="7" validate_method="$once{ canvas.validateCountry }" 
+        resultId="state_id" resultName="name" />
+    
+    <button x="300" y="20" text="getValues">
+        <handler name="onclick">
+            //Debug.write(parent._validbox.getValue());
+            //Debug.write(parent._validbox.getText());
+            //Debug.write(parent._validbox._selected);
+        </handler>
+    </button>
+    
+ </canvas>
diff --git a/WebContent/src/test/simpletimertest.lzx b/WebContent/src/test/simpletimertest.lzx
new file mode 100644
index 0000000..521baba
--- /dev/null
+++ b/WebContent/src/test/simpletimertest.lzx
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas height="400" debug="true">
+    
+    <include href="lz/button.lzx" />
+ 
+    <simplelayout axis="y" spacing="10" />
+
+    <text name="myText" opacity="0.0" bgcolor="#CCCCCC">The Invisible Man</text>
+     
+     
+    <edittext >
+        <attribute name="timerDelegate" value="null"/>
+        <attribute name="typetime" type="number" value="2000"/>
+        <attribute name="timerIsInited" value="false" type="boolean"/>
+     
+        <handler name="onvalue">
+            //Debug.write("onvalue");
+            if (!this.timerIsInited){
+                this.timerIsInited = true;
+                canvas.myText.setAttribute( "opacity", 1.0 );
+                this.timerDelegate = new LzDelegate( this, "fadeText" );
+                //Debug.write("+++++++++++++++++ addTimer");
+                lz.Timer.addTimer( this.timerDelegate, this.typetime );
+            } else {
+                //Debug.write("############### resetTimer NO ADDING ");
+                lz.Timer.resetTimer( this.timerDelegate, this.typetime );
+            }
+        </handler>
+     
+        <method name="fadeText">
+            this.timerIsInited = false;
+            //Debug.write("fadeText ");
+            canvas.myText.animate( "opacity", 0.0, 1000 );
+        </method>
+    </edittext>
+    
+    
+ 
+ </canvas>
diff --git a/WebContent/src/test/swf/Google.swf b/WebContent/src/test/swf/Google.swf
new file mode 100644
index 0000000..061e1d3
--- /dev/null
+++ b/WebContent/src/test/swf/Google.swf
Binary files differ
diff --git a/WebContent/src/test/swf/main.lzx b/WebContent/src/test/swf/main.lzx
new file mode 100644
index 0000000..2ee557a
--- /dev/null
+++ b/WebContent/src/test/swf/main.lzx
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<canvas debug="true" width="100%" height="100%" fontsize="14" title="OpenMeetings - Computer testing">
+	
+	<debug fontsize="14" oninit="Debug.showInternalProperties = true"/>
+
+<button text="load SWF">
+    <handler name="onclick">
+        <![CDATA[
+	        if ($debug) Debug.write("load SWF");
+	        //parent.myView._swfView.setAttribute("src","Google.swf");
+	        parent.myView._swfView.setSource("http://localhost:5080/openmeetings/DownloadHandler?fileName=Google.swf&moduleName=videoconf1&parentPath=/Google&room_id=1&sid=a498726852b649da3cce4a5ee9cb3a9b");
+	        //parent.myView._swfView.setSource("http://localhost:5080/openmeetings/Google.swf");
+        ]]>
+    </handler>
+</button>
+
+<view name="myView" y="20">
+    <!--
+    play="false" stretches="both"
+     -->
+    <view name="_swfView" >
+        <handler name="onframe" args="i">
+            ////Debug.write("onframe",i);
+        </handler>
+        
+        <handler name="onplay" args="i">
+            ////Debug.write("onplay",i);
+        </handler>
+        
+        <handler name="onstop" args="i">
+            ////Debug.write("onstop",i);
+        </handler>
+        
+        <handler name="onload">
+            <![CDATA[
+                Debug.write("onload: ",this);
+            ]]>
+        </handler>
+        <handler name="onerror" args="error">
+            <![CDATA[
+                Debug.write("onerror "+error);
+            ]]>
+        </handler>
+        <handler name="ontimeout" args="error">
+            <![CDATA[
+                Debug.write("ontimeout "+error);
+            ]]>
+        </handler> 
+    </view>
+</view>
+
+</canvas>
diff --git a/WebContent/src/test/swf/main.lzx.lzr=swf8.swf b/WebContent/src/test/swf/main.lzx.lzr=swf8.swf
new file mode 100644
index 0000000..e766630
--- /dev/null
+++ b/WebContent/src/test/swf/main.lzx.lzr=swf8.swf
Binary files differ
diff --git a/WebContent/src/test/swfobject.js b/WebContent/src/test/swfobject.js
new file mode 100644
index 0000000..e7edd42
--- /dev/null
+++ b/WebContent/src/test/swfobject.js
@@ -0,0 +1,8 @@
+/**
+ * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
+ *
+ * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;
\ No newline at end of file
diff --git a/WebContent/src/test/test-arrow.lzx b/WebContent/src/test/test-arrow.lzx
new file mode 100644
index 0000000..6bcd29b
--- /dev/null
+++ b/WebContent/src/test/test-arrow.lzx
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<canvas debug="true" width="500" height="100%" >
+	
+	<debug oninit="Debug.showInternalProperties = true"/>
+	
+<class name="drawViewNew" extends="drawview" cachebitmap="false" x="-1" y="-1" >
+    
+</class>
+
+<drawview>
+    
+    <handler name="onconstruct">
+        <![CDATA[
+            //var pStart = {'x':100,'y':100};
+            //var pEnd = {'x':200,'y':200};
+            
+            var p = new flash.geom.Point(100,100);
+            var pEnd = new flash.geom.Point(100,200);
+            if ($debug) Debug.write("p",p);
+            
+            var normalizedPoint = new flash.geom.Point(-2, 4);
+			if ($debug) Debug.write(normalizedPoint.length); // 5
+			if ($debug) Debug.write(normalizedPoint.toString()); // (x=3, y=4)
+			normalizedPoint.normalize(10);
+			if ($debug) Debug.write(normalizedPoint.length); // 10
+			if ($debug) Debug.write(normalizedPoint.toString()); // (x=6, y=8)
+            
+            
+            var normalizedPoint = new flash.geom.Point(2, -4);
+            if ($debug) Debug.write(normalizedPoint.length); // 5
+            if ($debug) Debug.write(normalizedPoint.toString()); // (x=3, y=4)
+            normalizedPoint.normalize(10);
+            if ($debug) Debug.write(normalizedPoint.length); // 10
+            if ($debug) Debug.write(normalizedPoint.toString()); // (x=6, y=8)
+            
+            //normalizedPoint.normalize(5);
+            //if ($debug) Debug.write(normalizedPoint.length); // 10
+            //if ($debug) Debug.write(normalizedPoint.toString()); // (x=3, y=4)
+
+            if ($debug) Debug.write("##################");
+            
+            var pArrowStart = new flash.geom.Point(100,100);
+	        var pArrowEnd = new flash.geom.Point(200,100);
+	        
+	        var obj = new lz.drawViewNew(canvas);
+	        
+	        this.drawArrow(obj,pArrowStart,pArrowEnd,4);
+        ]]>
+    </handler>
+    
+    <method name="test">
+        var p1 = p.normalize(1);
+        if ($debug) Debug.write("p1",p1);
+        
+        var p11 = flash.geom.Point.interpolate(p,pEnd,0.5);
+        if ($debug) Debug.write("p11",p11);
+        
+        
+        var p12 = pEnd.subtract(p);
+        if ($debug) Debug.write("p12",p12);
+        
+        
+        var pArrowStart = new flash.geom.Point(100,100);
+        var pArrowEnd = new flash.geom.Point(200,200);
+        
+        var obj = new lz.drawViewNew(canvas);
+        
+        this.drawArrow(obj,pArrowStart,pArrowEnd,4);
+        
+        pArrowStart = new flash.geom.Point(300,300);
+        pArrowEnd = new flash.geom.Point(200,200);
+        obj = new lz.drawViewNew(canvas);
+        this.drawArrow(obj,pArrowStart,pArrowEnd,20);
+        
+        pArrowStart = new flash.geom.Point(600,300);
+        pArrowEnd = new flash.geom.Point(200,100);
+        obj = new lz.drawViewNew(canvas);
+        this.drawArrow(obj,pArrowStart,pArrowEnd,20);
+        
+        var p1 = new flash.geom.Point(-60, -100);
+        var p2 = new flash.geom.Point(20, 50);
+        var f = 0.5;
+        
+        var p3 = flash.geom.Point.interpolate(p1,p2,f);
+        if ($debug) Debug.write("p3",p3);
+    </method>
+    
+    <method name="drawArrow" args="graphics,start,end,thickness">
+        <![CDATA[
+    //(graphics:Graphics,
+    //            start:Point,end:Point,
+    //            style:Object=null):void {
+            
+            if (start.equals(end)) return;
+            
+            
+            var arrowStyle = {'shaftControlPosition':0.5,
+                    'shaftControlSize':0.5,
+                    'headLength':thickness*5, //Pixel Length of arrow head
+                    'headWidth':thickness*5,//Relative width of arrow head
+                    'edgeControlPosition':0.5,
+                    'edgeControlSize':0.5,
+                    'shaftPosition':0,
+                    'shaftThickness':thickness
+                    };
+            
+            var fullVect:Point = end.subtract(start);
+            var halfWidth:Number = (arrowStyle.headWidth != -1) ? arrowStyle.headWidth/2 : arrowStyle.headLength/2; 
+            
+            //Figure out the line start/end points
+            var startNorm = new flash.geom.Point(fullVect.y,-fullVect.x);
+            startNorm.normalize(arrowStyle.shaftThickness/2);
+            var start1 = start.add(startNorm);
+            var start2 = start.subtract(startNorm);
+            var end1 = end.add(startNorm);
+            var end2 = end.subtract(startNorm);
+            
+            //if ($debug) Debug.write("startNorm: ",startNorm.toString());
+            //if ($debug) Debug.write("start1: ",start1.toString());
+            //if ($debug) Debug.write("start2: ",start2.toString());
+            //if ($debug) Debug.write("end1: ",end1.toString());
+            //if ($debug) Debug.write("end2: ",end2.toString());
+            
+            //figure out where the arrow head starts
+            var headPnt = fullVect.clone();
+            //if ($debug) Debug.write("headPnt 1: ",headPnt.toString());
+            //if ($debug) Debug.write("headPnt.length 1: ",headPnt.length);
+            //if ($debug) Debug.write("arrowStyle.headLength 1: ",arrowStyle.headLength);
+            headPnt.normalize(headPnt.length-arrowStyle.headLength);
+            //if ($debug) Debug.write("headPnt 2: ",headPnt.toString());
+            headPnt = headPnt.add(start);
+            //if ($debug) Debug.write("headPnt 3: ",headPnt.toString());
+            
+            //calculate the arrowhead corners
+            var headPntNorm = startNorm.clone();
+            //if ($debug) Debug.write("headPntNorm ^^: ",headPntNorm.toString());
+            //if ($debug) Debug.write("halfWidth ^^: ",halfWidth);
+            headPntNorm.normalize(halfWidth);
+            //if ($debug) Debug.write("headPntNorm: ",headPntNorm.toString());
+            var edge1 = headPnt.add(headPntNorm);
+            var edge2 = headPnt.subtract(headPntNorm);
+            
+            //if ($debug) Debug.write("edge1: ",edge1.toString());
+            //if ($debug) Debug.write("edge2: ",edge2.toString());
+            
+            //Figure out where the arrow connects the the shaft, then calc the intersections
+            var shaftCenter = flash.geom.Point.interpolate(end,headPnt,arrowStyle.shaftPosition);
+            //if ($debug) Debug.write("end: ",end.toString());
+            //if ($debug) Debug.write("headPnt",headPnt.toString());
+            //if ($debug) Debug.write("arrowStyle.shaftPosition: ",arrowStyle.shaftPosition);
+            //if ($debug) Debug.write("shaftCenter",shaftCenter.toString());
+            var inter1 = this.getLineIntersection(start1,end1,shaftCenter,edge1);
+            var inter2 = this.getLineIntersection(start2,end2,shaftCenter,edge2);
+            
+            //if ($debug) Debug.write("inter1: ",inter1.toString());
+            //if ($debug) Debug.write("inter2: ",inter2.toString());
+            
+            //Figure out the control points
+            var edgeCenter = flash.geom.Point.interpolate(end,headPnt,arrowStyle.edgeControlPosition);
+            var edgeNorm = startNorm.clone();
+            edgeNorm.normalize(halfWidth*arrowStyle.edgeControlSize);
+            //if ($debug) Debug.write("halfWidth*arrowStyle.edgeControlSize: "+(halfWidth*arrowStyle.edgeControlSize));
+            //if ($debug) Debug.write("edgeNorm: "+edgeNorm.toString());
+            var edgeCntrl1 = edgeCenter.add(edgeNorm);
+            var edgeCntrl2 = edgeCenter.subtract(edgeNorm);
+
+            //if ($debug) Debug.write("edgeCntrl1: ",edgeCntrl1.toString());
+            //if ($debug) Debug.write("edgeCntrl2: ",edgeCntrl2.toString());
+
+            //if ($debug) Debug.write("moveTo: ",start1.x,start1.y);
+            //if ($debug) Debug.write("lineTo",inter1.x,inter1.y);
+            //if ($debug) Debug.write("lineTo",edge1.x,edge1.y);
+            //if ($debug) Debug.write("quadraticCurveTo",edgeCntrl1.x,edgeCntrl1.y,end.x,end.y);
+            //if ($debug) Debug.write("quadraticCurveTo",edgeCntrl2.x,edgeCntrl2.y,edge2.x,edge2.y);
+            //if ($debug) Debug.write("lineTo",inter2.x,inter2.y);
+            //if ($debug) Debug.write("lineTo",start2.x,start2.y);
+            //if ($debug) Debug.write("lineTo",start1.x,start1.y);
+            
+            graphics.moveTo(start1.x,start1.y);
+            graphics.lineTo(inter1.x,inter1.y);
+            graphics.lineTo(edge1.x,edge1.y);
+            graphics.quadraticCurveTo(edgeCntrl1.x,edgeCntrl1.y,end.x,end.y);
+            graphics.quadraticCurveTo(edgeCntrl2.x,edgeCntrl2.y,edge2.x,edge2.y);
+            graphics.lineTo(inter2.x,inter2.y);
+            graphics.lineTo(start2.x,start2.y);
+            graphics.lineTo(start1.x,start1.y);
+            
+            graphics.strokeStyle = 0x000000;
+            graphics.stroke();
+
+            graphics.fillStyle = 0x000000;
+            graphics.fill();
+        ]]>
+    </method>
+    
+    <method name="getLineIntersection" args="a1,a2,b1,b2">
+        <![CDATA[ 
+        
+            //calculate directional constants
+            var k1 = (a2.y-a1.y) / (a2.x-a1.x);
+            var k2 = (b2.y-b1.y) / (b2.x-b1.x);
+            
+            // if the directional constants are equal, the lines are parallel,
+            // meaning there is no intersection point.
+            if( k1 == k2 ) return null;
+            
+            var x = 0;
+            var y = 0;
+            var m1 = 0;
+            var m2 = 0;
+            
+            //if ($debug) Debug.write("k1",k1);
+            //if ($debug) Debug.write("k2",k2);
+            
+            // an infinite directional constant means the line is vertical
+            if( !isFinite(k1) ) {
+                
+                //if ($debug) Debug.write("k1 ^^ 0");
+                //if ($debug) Debug.write("k2",k2,(b2.y-b1.y));
+                //if ($debug) Debug.write("b1.getY(): "+b1.y);
+                //if ($debug) Debug.write("b2.getY(): "+b2.y);
+                // so the intersection must be at the x coordinate of the line
+                x = a1.x;
+                m2 = b1.y - k2 * b1.x;
+                //if ($debug) Debug.write("m2",m2);
+                y = k2 * x + m2;
+                //if ($debug) Debug.write("y",y);
+                
+            // same as above for line 2
+            } else if ( !isFinite(k2) ) {
+                
+                //if ($debug) Debug.write("k2 ^ 0");
+                
+                m1 = a1.y - k1 * a1.x;
+                x = b1.x;
+                y = k1 * x + m1;
+
+            // if neither of the lines are vertical
+            } else {
+                
+                //if ($debug) Debug.write("neither");
+            
+                m1 = a1.y - k1 * a1.x;
+                m2 = b1.y - k2 * b1.x;              
+                x = (m1-m2) / (k2-k1);
+                y = k1 * x + m1;
+                
+            }
+            
+            return new flash.geom.Point(x,y);
+        ]]>
+    </method>
+    
+    <method name="intermediatePoint" args="p1,p2,f">
+        <![CDATA[
+            
+            var d = Math.sqrt( Math.abs(p1.x - p2.x)^2 + Math.abs(p2.y - p2.y)^2 );
+        
+        ]]>
+    </method>
+    
+</drawview>
+  
+    
+</canvas>
diff --git a/WebContent/src/test/test-baseDraw.lzx b/WebContent/src/test/test-baseDraw.lzx
new file mode 100644
index 0000000..e62cae6
--- /dev/null
+++ b/WebContent/src/test/test-baseDraw.lzx
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<canvas debug="true" width="100%" height="100%" >
+	
+	<debug fontsize="14" oninit="Debug.showInternalProperties = true"/>
+	
+<drawview x="0" y="0" width="100" height="100">
+	
+	<handler name="onwidth">
+		Debug.write(this.isinited);
+	</handler>
+	
+	<handler name="onheight">
+		Debug.write(this.isinited);
+	</handler>
+	
+</drawview>
+  
+    
+</canvas>
diff --git a/WebContent/src/test/test-drawview.lzx b/WebContent/src/test/test-drawview.lzx
new file mode 100644
index 0000000..d447b49
--- /dev/null
+++ b/WebContent/src/test/test-drawview.lzx
@@ -0,0 +1,56 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas debug="true" width="1000" height="800">
+
+    <debug x="250" height="500" /> 
+
+    <drawview width="200" height="100">
+        
+        <handler name="oninit">
+            this.drawBody(this,0,0,this.width,this.height,0xff3300,2);
+        </handler>
+        
+        <handler name="onclick">
+            this.drawBody(this,0,0,this.width,this.height,0xff3300,2);
+        </handler>
+        
+        <method name="drawBody" args="targetObj,x1,y1,x2,y2,fill,lineWidth">
+        <![CDATA[
+            
+            if ($debug) Debug.write("drawBody: ",targetObj,lineWidth);
+        
+            targetObj.lineWidth = lineWidth;
+            targetObj.beginPath();
+            targetObj.moveTo(x1,y1);
+            targetObj.lineTo(x1,y2);
+            targetObj.lineTo(x2,y2);
+            targetObj.lineTo(x2,y1);
+            targetObj.lineTo (x1,y1);
+            targetObj.closePath();
+
+            targetObj.fillStyle = fill;
+            targetObj.fill();
+            
+        ]]>   
+    </method>   
+        
+    </drawview>
+
+</canvas>
diff --git a/WebContent/src/test/test-menubar.lzx b/WebContent/src/test/test-menubar.lzx
new file mode 100644
index 0000000..083ecdf
--- /dev/null
+++ b/WebContent/src/test/test-menubar.lzx
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<canvas debug="true" width="100%" height="100%" fontsize="14" title="OpenMeetings - Computer testing">
+	
+	<debug fontsize="14" oninit="Debug.showInternalProperties = true"/>
+    
+    <!-- private class for conferenceMenubar class -->
+    <class name="_labelMenuItem" extends="menuitem" text="labelmenulabelmenulabelmenu">
+        <attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+        <method name="setLabelId" args="_labelid" >
+            this.labelid = _labelid;
+            this.setAttribute('text',"text "+this.labelid);
+        </method>
+    </class>    
+        
+    <!-- private class for conferenceMenubar class -->
+    <class name="_labelMenu" extends="menu" text="labelmenulabelmenulabelmenu">
+        <attribute name="labelid" type="number" setter="setLabelId(labelid)" />
+        <method name="setLabelId" args="_labelid" >
+            this.labelid = _labelid;
+            this.setAttribute('text',"text "+this.labelid);
+        </method>
+    </class>  
+    
+    <class name="conferenceMenubar" extends="menubar" height="28" >
+       <!-- exit room -->
+        <_labelMenu labelid="308" width="250">
+            <_labelMenuItem labelid="309" />
+        </_labelMenu>
+        <!-- moderator menu -->
+        <_labelMenu labelid="301" width="250">
+            <_labelMenuItem labelid="302" />
+        </_labelMenu>
+        <!-- file menu -->
+        <_labelMenu labelid="245" width="250">
+            <_labelMenuItem labelid="15" />
+        </_labelMenu>    
+       <!-- setteings menu --> 
+        <_labelMenu labelid="305" width="250">
+            <_labelMenuItem labelid="306" />
+            <_labelMenuItem labelid="307" />
+        </_labelMenu>   
+        <!-- poll memu -->     
+        <_labelMenu labelid="303" width="250">
+            <_labelMenuItem width="250" labelid="24" />
+            <_labelMenuItem width="250" labelid="37" />
+            <_labelMenuItem width="250" labelid="42" />
+        </_labelMenu>    
+    </class>    
+    
+    
+    <handler name="oninit">
+        new lz.conferenceMenubar(canvas);
+    </handler>
+    
+</canvas>
diff --git a/WebContent/src/test/test-regExp.lzx b/WebContent/src/test/test-regExp.lzx
new file mode 100644
index 0000000..088728e
--- /dev/null
+++ b/WebContent/src/test/test-regExp.lzx
@@ -0,0 +1,90 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas debug="true" >
+  
+
+      <script when="immediate" >        
+        class LzRegExp extends Instance{
+          static var regexp_cnt = 0;
+          
+          static function initialize(){
+
+              /* if this was in the html-wrapper, would early instantiations be successful? */
+              lz.Browser.loadJS( "window.__lzregexp={};" + 
+                "window.__createRegExp=function(id,re,mod){window.__lzregexp[id]=new RegExp(re,mod);return true};" +
+                "window.__testRegExp=function(id,s){return window.__lzregexp[id].test(s)};" +
+                "window.__execRegExp=function(id,s){return window.__lzregexp[id].exec(s)};" +
+                "window.__deleteRegExp=function(id){delete window.__lzregexp[id]};" 
+              );
+
+          }
+          
+          function initialize( regexp, mod ){
+            super.initialize( this, arguments );
+
+              this.regexp_id = LzRegExp.regexp_cnt++;
+              this.__isready = true;
+              
+              var me = this;
+              lz.Browser.callJS( "window.__createRegExp", function(res){me.__isready = res == true}, this.regexp_id, regexp, mod );
+
+          }
+          
+          function test( s ){
+              if( this.__isready ){
+                return flash.external.ExternalInterface.call.apply( flash.external.ExternalInterface, ["window.__testRegExp", this.regexp_id, s] );
+              } else {
+                Debug.format( "called %w too early", arguments.callee.name );
+              }
+          }
+          
+          function exec( s ){
+              if( this.__isready ){
+                return flash.external.ExternalInterface.call.apply( flash.external.ExternalInterface, ["window.__execRegExp", this.regexp_id, s] );
+              } else {
+                Debug.format( "called %w too early", arguments.callee.name );
+              }
+          }
+          
+          function destroy(){
+            lz.Browser.callJS( "window.__deleteRegExp", null, this.regexp_id );
+          }
+        }
+      </script>
+
+  <button name="btn" text="test" />
+  
+  <handler name="oninit" reference="canvas" method="testRegExp" />
+  <handler name="onclick" reference="btn" method="testRegExp" />
+  
+  <method name="testRegExp" >
+    var regexp = new LzRegExp( ".ello" );
+    Debug.write( regexp.test( "Hello" ) );
+    Debug.write( regexp.test( "Hallo" ) );
+    regexp.destroy();
+
+    global.regexpflag = global["regexpflag"] == true;
+    if( !global.regexpflag ){
+      global.regexpflag = true;
+      lz.Timer.addTimer( new LzDelegate( canvas, "testRegExp" ), 500 );
+    }
+  </method>
+  
+</canvas>
diff --git a/WebContent/src/test/test-regExp.lzx.lzr=swf8.swf b/WebContent/src/test/test-regExp.lzx.lzr=swf8.swf
new file mode 100644
index 0000000..df4a310
--- /dev/null
+++ b/WebContent/src/test/test-regExp.lzx.lzr=swf8.swf
Binary files differ
diff --git a/WebContent/src/test/test-regExp2.lzx b/WebContent/src/test/test-regExp2.lzx
new file mode 100644
index 0000000..efedaf0
--- /dev/null
+++ b/WebContent/src/test/test-regExp2.lzx
@@ -0,0 +1,77 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas debug="true" >
+  <script>
+    _browserjavascriptcallback = "";
+  </script>
+  
+     <attribute name="lzappId" type="string" value="lzapp" />
+     <attribute name="timer" type="number" value="10" />
+     <attribute name="prevalue" type="string" value="_browserjavascriptcallbackprevalue" />
+     <attribute name="value" />
+     
+     <handler name="onvalue" args="v">
+     	if ($debug) Debug.write("onvalue: ",v);
+     	
+     </handler>
+     
+	<edittext name="_hand" />
+  
+  <button name="btn" y="20" text="test" onclick="canvas.testRegExp()" />
+
+  <method name="testRegExp2">
+  	<![CDATA[
+  		var regExp = "[0-9]*";
+  		
+    	var fieldValue = this._hand.getText();
+  	    
+    	var returnValue = flash.external.ExternalInterface.call("replace",fieldValue,escape(regExp),escape);
+    	if ($debug) Debug.write("returnValue: ",returnValue);
+	]]>
+ </method>
+ 
+ <method name="testRegExp" >
+ 	<![CDATA[
+	var fieldValue = "9";
+	var regExp = "[0-9]*";
+    var regex = "/^"+regExp+"$/";
+    var script = "( !( (\""+ fieldValue +"\".replace("+ regex +" ,\"\").length == 0) && ( "+ regex +".test(\""+ fieldValue +"\")) ) ) ";
+  
+	var t = script.split("'").join("\\'");
+	var s = "document.getElementById('"+ lzappId + "').SetVariable('_browserjavascriptcallback', escape((" + t + ")));"
+
+	
+		lz.Browser.loadJS(s);
+		
+		if(typeof this.callDelegate == 'undefined')
+		this.callDelegate = new LzDelegate( this, "callback" );
+		lz.Timer.resetTimer( this.callDelegate, timer );
+		]]>
+   </method>
+
+ <method name="callback">
+	if(unescape(_browserjavascriptcallback) == this.prevalue)
+	lz.Timer.resetTimer( this.callDelegate, timer );
+	else
+	setAttribute("value", unescape(_browserjavascriptcallback));
+ </method>
+
+
+</canvas>
diff --git a/WebContent/src/test/test-regExp2.lzx.lzr=swf8.swf b/WebContent/src/test/test-regExp2.lzx.lzr=swf8.swf
new file mode 100644
index 0000000..4d97d95
--- /dev/null
+++ b/WebContent/src/test/test-regExp2.lzx.lzr=swf8.swf
Binary files differ
diff --git a/WebContent/src/test/test-regexp.html b/WebContent/src/test/test-regexp.html
new file mode 100644
index 0000000..c0f416e
--- /dev/null
+++ b/WebContent/src/test/test-regexp.html
@@ -0,0 +1,64 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>

+	<link rel="shortcut icon" href="favicon.ico" > 
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<title>vMapPortal</title>

+	<script type="text/javascript" src="swfobject.js"></script>

+	<style type="text/css">

+		

+		/* hide from ie on mac \*/

+		html {

+			height: 100%;

+			overflow: hidden;

+		}

+		

+		#flashcontent {

+			height: 100%;

+		}

+		/* end hide */

+	

+		body {

+			height: 100%;

+			margin: 0;

+			padding: 0;

+			background-color: #ffffff;

+		}

+	

+	</style>
+</head>
+<body align="center" valign="middle" align="center" onLoad="focusSWF()">

+

+

+	<div id="flashcontent">

+		<strong>You need to upgrade your Flash Player</strong>

+		This is replaced by the Flash content. 

+		Place your alternate content here and users without the Flash plugin or with 

+		Javascript turned off will see this. Content here allows you to leave out <code>noscript</code> 

+		tags.

+	</div>

+	

+	<script type="text/javascript">

+		// <![CDATA[

+		

+		var so = new SWFObject("portal.swf", "lzapp", "100%", "100%", "8", "#ffffff");

+		so.addParam("quality", "high");

+		so.addParam("id", "lzapp");

+		so.addParam("allowScriptAccess", "always");

+		so.addParam("scale", "noscale");

+		so.write("flashcontent");

+		

+		function focusSWF(){

+		

+		    if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){

+		    }else {

+		        document.getElementById('lzapp').focus();

+		    }

+		}   		

+		

+		// ]]>

+	</script>	

+

+

+</body>
+</html>
\ No newline at end of file
diff --git a/WebContent/src/test/test-scrollEdittext.lzx b/WebContent/src/test/test-scrollEdittext.lzx
new file mode 100644
index 0000000..0f820f1
--- /dev/null
+++ b/WebContent/src/test/test-scrollEdittext.lzx
@@ -0,0 +1,37 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas debug="true" width="1000" height="800">
+
+    <debug x="250" height="500" /> 
+
+    <include href="scrolledittext.lzx"/>
+
+    <scrolledittext name="_scrolledittext" y="130" x="120" width="270" height="120"
+                                  text="" />
+                                  
+                                  
+    <view width="200" height="100" y="300" x="100" bgcolor="0xFFFFFF">
+        <inputtext multiline="true" width="${ parent.width - 14 }">
+            
+        </inputtext>
+        <om_vscrollbar />
+    </view>
+
+</canvas>
diff --git a/WebContent/src/test/test-setup.lzx b/WebContent/src/test/test-setup.lzx
new file mode 100644
index 0000000..83c07df
--- /dev/null
+++ b/WebContent/src/test/test-setup.lzx
@@ -0,0 +1,385 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas debug="true" height="100%" title="Audio-Video Test-Application">
+	
+<debug width="450" x="460" y="600" height="100" />
+  
+<!--- NetConnection -->  
+<attribute name="_nc" value="null" />
+
+<!--- NetStream -->
+<attribute name="_nsBroadCast" value="null" />
+<attribute name="_nsPlay" value="null" />
+
+<!--- devices - Reference -->
+<attribute name="_camera" value="null" />
+<attribute name="_micro" value="null" />
+
+<method name="connectRtmpConnection">
+	this._nc = new NetConnection();
+	_root.Debug.write("connectRtmpConnection URL:",url.getText());
+	this._nc.connect(url.getText());
+	this._nc.onStatus = function(info){
+        _root.Debug.write(info.code,info);
+    }
+</method>
+
+<method name="startBroadCast">
+	<![CDATA[
+		this._camera = Camera.get(camDevices.getValue());
+		//sets the Mode
+		//see: http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002042.html#wp176393
+		this._camera.setMode(Number(streamwidth.getText()),Number(streamheight.getText()),Number(streamfps.getText()),streamfavorarea.getValue());	
+		//sets the Quality
+		//see: http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002044.html#wp177299
+		this._camera.setQuality(Number(streambandwidth.getText()),Number(streamquality.getText()));	
+		
+		this._micro = Microphone.get(micDevices.getValue());
+		//sets the Microphone Rate in Khz
+		//see: http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002421.html#wp326592
+		this._micro.setRate(Number(streamrate.getText()));
+		
+		//sets wether useEchoSupression should be used or not
+		//http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002423.html#wp327480
+		this._micro.setUseEchoSuppression(streamuseEchoSuppression.getValue());
+		
+		//attaches the Camera to the View
+		broadCastVideo.attachVideo(this._camera);
+		
+		this._nsBroadCast =  new NetStream(this._nc);
+		this._nsBroadCast.onStatus = function(info) {
+	    	_root.Debug.write("simpleNetStream onStatus",info);
+	    };
+	    this._nsBroadCast.onCuePoint = function(info) {
+	    	_root.Debug.write("simpleNetStream onCuePoint",info);
+	    };
+	    this._nsBroadCast.onPlayStatus = function(info) {
+	    	_root.Debug.write("simpleNetStream onPlayStatus",info);
+	    };
+	    this._nsBroadCast.onMetaData = function(info) {
+	    	_root.Debug.write("simpleNetStream onMetaData",info);
+	    };
+	
+		this._nsBroadCast.attachVideo(this._camera);
+	    this._nsBroadCast.attachAudio(this._micro);
+	    
+	    this._nsBroadCast.publish(streamname.getText(),"live");
+    ]]>
+</method>
+
+<method name="stopBroadCast">
+	this._nsBroadCast.publish(false);
+	broadCastVideo.attachVideo(null);
+	broadCastVideo.stop();
+	this._nsBroadCast.close();
+</method>
+
+
+<method name="playBroadCast">
+	<![CDATA[
+		//attaches the Camera to the View
+	
+		this._nsPlay =  new NetStream(this._nc);
+		this._nsPlay.onStatus = function(info) {
+	    	_root.Debug.write("simpleNetStream onStatus",info);
+	    };
+	    this._nsPlay.onCuePoint = function(info) {
+	    	_root.Debug.write("simpleNetStream onCuePoint",info);
+	    };
+	    this._nsPlay.onPlayStatus = function(info) {
+	    	_root.Debug.write("simpleNetStream onPlayStatus",info);
+	    };
+	    this._nsPlay.onMetaData = function(info) {
+	    	_root.Debug.write("simpleNetStream onMetaData",info);
+	    };
+	
+	    //sets the Buffer for the Playing
+	    //see: http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002567.html#wp393038
+	    //this._nsPlay.setBufferTime(Number(this.streambuffer.getText())); 
+	    //=> disabled, cause this leads to Buffer-Full-Buffer-Empty-Events after re-syncing
+		playVideo.attachVideo(this._nsPlay);
+	    
+	    this._nsPlay.play(streamname.getText(),-1);
+    ]]>
+</method>
+
+<method name="stopPlayBroadCast">
+	this._nsPlay.pause();
+	this._nsPlay.close();
+	playVideo.attachVideo(null);
+	playVideo.stop();
+</method>
+
+<view layout="axis:y;spacing:4" width="450" x="0">
+	<text fontstyle="bold" text="Connection - Settings (user for both BroadCasting and Subscribing)" />
+	<view width="450">
+		<text text="URL:" />
+		<edittext align="right" width="350" id="url" text="rtmp://127.0.0.1:1935/openmeetings/testscope" />
+	</view>
+	<button align="right" width="200" text="connectRtmpConnection" onclick="canvas.connectRtmpConnection()" />
+</view>
+<!-- some description -->
+<text fontstyle="italic" y="0" width="450" multiline="true" x="450">
+	You can test all Settings of Audio and Video Streamings which are currently used in
+	OpenMeetings here.<br/>
+	Change the URL sothat 127.0.0.1 points to your Red5-Installation!<br/>
+	You first need to <b>connect</b> to a stream before you start to <b>broadcast</b>!<br/>
+	You first need <b>broadcast</b> a stream with a name before you try to <b>subscribe</b> to it!<br/>
+	If somebody already uses that streamname you get an NetStream *Bad.StreamName*, you can take an StreamName you like,
+	but of course you have to tell the *player* that it will need to use that StreamName!<br/>
+</text>
+
+<checkbox name="modus" y="120" 
+		  text="Event Modus (320x240) or Conference Modus (128x96)" value="true" >
+	<handler name="onvalue" args="v">
+		if (canvas.isinited) {
+			if (v){
+				broadCastVideo.setAttribute('width',320);
+				broadCastVideo.setAttribute('height',240);
+				broadCastVideo.applySizeToVid();
+				playVideo.setAttribute('width',320);
+				playVideo.setAttribute('height',240);	
+				playVideo.applySizeToVid();
+			} else {
+				broadCastVideo.setAttribute('width',128);
+				broadCastVideo.setAttribute('height',96);
+				broadCastVideo.applySizeToVid();
+				playVideo.setAttribute('width',128);
+				playVideo.setAttribute('height',96);
+				playVideo.applySizeToVid();
+			}
+		}
+	</handler>
+</checkbox>
+
+<view bgcolor="black" width="${ canvas.width }" height="2" y="140" />
+
+<!-- two columns left BroadCast, right Subscribe a Stream -->
+<view y="144" height="$once{ canvas.height-this.y }" clip="true">
+	<!--- ScrollArea -->
+	<view layout="axis:x;spacing:10" >
+		<!--- BroadCasting Area -->
+		<view layout="axis:y;spacing:4" width="450" >
+			
+			<!--- Video Area -->
+			<view id="broadCastVideo" bgcolor="black" width="320" height="240" >
+				<method name="init">
+					super.init();
+					var mc = immediateparent.sprite.attachResourceToChildView("__LZvideo", this.sprite);
+			        this.sprite.setMovieClip(mc);
+			        this.__LZmovieClipRef = this.sprite.__LZmovieClipRef;
+			        var vid = this._getflashvideo();
+			        vid._x = 0;
+			        vid._y = 0;
+			        this.applySizeToVid();
+			        if ($debug) Debug.write("init");
+				</method>
+				<method name="applySizeToVid">
+					var vid = this._getflashvideo();
+					vid._width = this.width;
+			        vid._height = this.height;
+				</method>
+				<method name="_getflashvideo">
+					<![CDATA[
+			            return this.__LZmovieClipRef.__lzvideo;
+			        ]]>
+			    </method>
+			    <method name="stop">
+			    	this.__LZmovieClipRef.__lzvideo.clear();
+			    </method>    
+			    <!--- shows the Video (can be a Cam-Instance or a NetStream) in the View -->
+			    <method name="attachVideo" args="video">
+			    	var vid = this._getflashvideo();
+			    	vid.attachVideo(video);
+			    </method>
+			</view>	
+			
+			<text fontstyle="bold" text="BroadCast - Settings" />
+			<view width="450">
+				<text text="StreamName (BroadCast):" />
+				<edittext align="right" width="150" id="streamname" text="stream1" />
+			</view>
+			
+			<button align="right" width="200" text="startBroadCast" onclick="canvas.startBroadCast()" />
+			<button align="right" width="200" text="stopBroadCast" onclick="canvas.stopBroadCast()" />	
+			
+			<text fontstyle="bold" text="Video and Audio - Settings for Broad-Casting" />
+			
+			<!--- Settings -->
+			<view width="450">
+				<text text="Camera:" />
+				<combobox align="right" width="350" id="camDevices" editable="false">
+					<handler name="oninit">
+						<![CDATA[
+							//Get all availible Cam's
+							var tw = Camera.names;
+							var r = "";
+							for (var eg=0;eg<tw.length;eg++){
+								this.addItem(tw[eg],eg);
+								r=eg;
+							}
+							this.selectItem(String(r));  
+						]]>
+					</handler>
+				</combobox>
+			</view>
+			<!--- Width -->
+			<view width="450">
+				<text text="Width:" />
+				<edittext align="right" width="150" id="streamwidth" text="$ { broadCastVideo.width }" />
+				<text fontstyle="italic" y="26" width="450" multiline="true">
+					width:Number [optional] - The requested capture width, in pixels. The default value is 160.
+				</text>
+			</view>
+			<!--- Height -->
+			<view width="450">
+				<text text="Height:" />
+				<edittext align="right" width="150" id="streamheight" text="$ { broadCastVideo.height }" />
+				<text fontstyle="italic" y="26" width="450" multiline="true">
+					height:Number [optional] - The requested capture height, in pixels. The default value is 120.
+				</text>
+			</view>
+			<!-- Frames Per Second -->
+			<view width="450">
+				<text text="FPS:" />
+				<edittext align="right" width="150" id="streamfps" text="30" />
+				<text fontstyle="italic" y="26" width="450" multiline="true">
+					fps:Number [optional] - The requested rate at which the camera should capture data, in frames per second. The default value is 15.
+				</text>
+			</view>
+			<!--- FavorArea -->
+			<view width="450">
+				<checkbox id="streamfavorarea" text="Favorarea" value="true" />
+				<text fontstyle="italic" y="26" width="450" multiline="true">
+					favorArea:Boolean [optional] - A Boolean value that specifies how to manipulate the width, height, and frame rate if the camera does not have a native mode that meets the specified requirements. The default value is true, which means that maintaining capture size is favored; using this parameter selects the mode that most closely matches width and height values, even if doing so adversely affects performance by reducing the frame rate. To maximize frame rate at the expense of camera height and width, pass false for the favorArea parameter.
+				</text>
+			</view>
+			<!--- Bandwidth -->
+			<view width="450">
+				<text text="Bandwidth:" />
+				<edittext align="right" width="150" id="streambandwidth" text="16384" />
+				<text fontstyle="italic" y="26" width="450" multiline="true">
+					bandwidth:Number [optional] - An integer that specifies the maximum amount of bandwidth that the current outgoing video feed can use, in bytes per second. To specify that Flash video can use as much bandwidth as needed to maintain the value of frameQuality, pass 0 for bandwidth. The default value is 16384.
+				</text>
+			</view>
+			<!--- Quality -->
+			<view width="450">
+				<text text="Quality:" />
+				<edittext align="right" width="150" id="streamquality" text="90" />
+				<text fontstyle="italic" y="26" width="450" multiline="true">
+					quality:Number [optional] - An integer that specifies the required level of picture quality, as determined by the amount of compression being applied to each video frame. Acceptable values range from 1 (lowest quality, maximum compression) to 100 (highest quality, no compression). To specify that picture quality can vary as needed to avoid exceeding bandwidth, pass 0 for quality. The default value is 0.
+				</text>
+			</view>
+			<!--- Choose Microphone -->
+			<view width="450">
+				<text text="Microphone:" />
+				<combobox align="right" width="350" id="micDevices" editable="false">
+					<handler name="oninit">
+						<![CDATA[
+							//Get all availible Cam's
+							var tw = Microphone.names;
+							var r = "";
+							for (var eg=0;eg<tw.length;eg++){
+								this.addItem(tw[eg],eg);
+								r=eg;
+							}
+							this.selectItem(String(r));  
+						]]>
+					</handler>
+				</combobox>
+			</view>	
+			<!--- Audio-Rate -->
+			<view width="450">
+				<text text="Rate:" />
+				<edittext align="right" width="150" id="streamrate" text="22" />
+				<text fontstyle="italic" y="26" width="450" multiline="true">
+					rate:Number - The rate at which the microphone should capture sound, in kHz. Acceptable values are 5, 8, 11, 22, and 44. The default value is 8 kHz if your sound capture device supports this value. Otherwise, the default value is the next available capture level above 8 kHz that your sound capture device supports, usually 11 kHz.
+				</text>
+			</view>
+			<!--- useEchoSupression -->
+			<view width="450">
+				<checkbox id="streamuseEchoSuppression" text="useEchoSuppression" value="true" />
+				<text fontstyle="italic" y="26" width="450" multiline="true">
+					public useEchoSuppression : Boolean [read-only]
+					Property (read-only); a Boolean value of true if echo suppression is enabled, false otherwise. The default value is false unless the user has selected Reduce Echo in the Flash Player Microphone Settings panel.
+				</text>
+			</view>
+		</view>
+	
+		<!--- Play Area -->
+		<view layout="axis:y;spacing:4" width="450" >	
+		
+			<!--- Video Output -->
+			<view id="playVideo" bgcolor="black" width="320" height="240" >
+				<method name="init">
+					super.init();
+					var mc = immediateparent.sprite.attachResourceToChildView("__LZvideo", this.sprite);
+			        this.sprite.setMovieClip(mc);
+			        this.__LZmovieClipRef = this.sprite.__LZmovieClipRef;
+			        var vid = this._getflashvideo();
+			        vid._x = 0;
+			        vid._y = 0;
+			        this.applySizeToVid();
+			        if ($debug) Debug.write("init");
+				</method>
+				<method name="applySizeToVid">
+					var vid = this._getflashvideo();
+					vid._width = this.width;
+			        vid._height = this.height;
+				</method>
+				<method name="_getflashvideo">
+					<![CDATA[
+			            return this.__LZmovieClipRef.__lzvideo;
+			        ]]>
+			    </method>
+			    <method name="stop">
+			    	this.__LZmovieClipRef.__lzvideo.clear();
+			    </method>    
+			    <!--- shows the Video (can be a Cam-Instance or a NetStream) in the View -->
+			    <method name="attachVideo" args="video">
+			    	var vid = this._getflashvideo();
+			    	vid.attachVideo(video);
+			    </method>
+			</view>
+			
+			<view height="20" />
+			<text fontstyle="bold" text="Play-Broadcast(Subscribe to a Live Stream) - Settings" />
+			<view width="450">
+				<text text="StreamName (Play):" />
+				<edittext align="right" width="150" id="streamname2" text="stream1" />
+			</view>
+			<!--- Buffer Time -->
+			<view width="450">
+				<text text="BufferTime:" />
+				<edittext align="right" width="150" id="streambuffer" text="0.3" />
+				<text fontstyle="italic" y="26" width="450" multiline="true">
+					public bufferTime : Number [read-only]
+					The number of seconds assigned to the buffer by NetStream.setBufferTime(). The default value is .1(one-tenth of a second). To determine the number of seconds currently in the buffer, use NetStream.bufferLength.
+				</text>
+			</view>		
+			<button align="right" width="200" text="playBroadCast" onclick="canvas.playBroadCast()" />
+			<button align="right" width="200" text="stopPlayBroadCast" onclick="canvas.stopPlayBroadCast()" />
+		</view>
+	</view>
+	<om_vscrollbar />
+</view>
+
+</canvas>
diff --git a/WebContent/src/test/test-soap.lzx b/WebContent/src/test/test-soap.lzx
new file mode 100644
index 0000000..d7778e3
--- /dev/null
+++ b/WebContent/src/test/test-soap.lzx
@@ -0,0 +1,51 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas debug="true" height="400" width="530">
+
+    <debug x="10" y="190" width="510" height="200"/>
+
+    <soap name="fileService" wsdl="http://localhost:5080/openmeetings/services/FileService?wsdl">
+        <handler name="onload">
+            Debug.write('fileService soap service loaded');
+        </handler>
+
+        <handler name="onerror" args="error">
+            Debug.write('error:', error);
+        </handler>
+
+        <!-- See RPC chapter for details on remotecall and how dataobject is
+             used to data bind to RPC operation results. --> 
+        <remotecall name="ping" funcname="ping">
+        	<param value="1"/>
+            <handler name="ondata" args="value">
+                Debug.write('result:\n', value);
+            </handler>
+        </remotecall>
+    </soap>
+
+    <view x="10" y="10" layout="spacing: 5">
+        <view layout="axis: x; spacing: 5">
+            <edittext id="s" text="SOAP"/>
+            <button text="search" onclick="Debug.write('Invoking search...'); fileService.ping.invoke()"/>
+        </view>
+
+    </view>
+
+</canvas>
diff --git a/WebContent/src/test/testLPP4154.lzx b/WebContent/src/test/testLPP4154.lzx
new file mode 100644
index 0000000..4ca73f3
--- /dev/null
+++ b/WebContent/src/test/testLPP4154.lzx
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<canvas debug="true" width="100%" height="100%" fontsize="14" title="OpenMeetings - Computer testing">
+	
+	<debug fontsize="14" oninit="Debug.showInternalProperties = true"/>
+    
+<class name="swfResourceView" extends="view" play="false" y="40">
+        
+        <handler name="onload">
+            //Debug.write("Resource loaded: ",this);
+            this.stop();
+            this.setAttribute('play',false);
+        </handler>
+        
+        <handler name="onclick">
+            //Debug.write("onclick: ",this.sprite);
+            //Debug.write("onclick: ",this.sprite.getDisplayObject());
+        </handler>        
+        
+        <handler name="onframe" args="i">
+            ////Debug.write("onframe",i);
+        </handler>
+        
+        <handler name="onplay" args="i">
+            //Debug.write("onplay",i);
+        </handler>
+        
+        <handler name="onstop" args="i">
+            //Debug.write("onstop",i);
+        </handler>        
+        
+</class>    
+    
+<button text="setSource" onclick="xyz.setSource('Tutorat.swf')" >
+    <handler name="onclick">
+        var tempView = new lz.swfResourceView(canvas,{id:'xyz'});
+        tempView.setSource('Tutorat.swf');
+    </handler>
+</button>
+
+  
+    
+</canvas>
diff --git a/WebContent/src/test/testLineWidth.lzx b/WebContent/src/test/testLineWidth.lzx
new file mode 100644
index 0000000..0142622
--- /dev/null
+++ b/WebContent/src/test/testLineWidth.lzx
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<canvas debug="true" width="100%" height="100%" fontsize="14" title="OpenMeetings - Computer testing">
+	
+	<debug fontsize="14" oninit="Debug.showInternalProperties = true"/>
+	
+<!--
+	Tests for calculating the linewidth in a multinline Textbox for each line
+	the meaning of several vars can be seen here:
+	http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/js/html/wwhelp.htm
+ -->	
+    
+<script>
+<![CDATA[
+
+	var maxsize = 220;
+	var textFieldtext = "";
+	var startIndex = 0;
+	var currentLine = 0;
+	var textObject = null;
+	var myTextFormat = null;
+	var lineHeight = 0;
+	
+	function calcLineWidthByTextField(maxsizeText,textForCalcing,fontsize, fontname){
+		
+		maxsize = maxsizeText;
+		startIndex = 0;
+		textObject = new Array();
+		
+		textFieldtext = textForCalcing;
+		myTextFormat = new TextFormat();
+		myTextFormat.size = fontsize;
+		myTextFormat.font = fontname;
+		
+		var metrics = myTextFormat.getTextExtent(textFieldtext, 100000);
+		Debug.write(metrics);
+		lineHeight = metrics.ascent+metrics.descent;
+		Debug.write(lineHeight);		
+		
+		measureLine();
+		
+		for (var k = 0;k<textObject.length;k++){
+			var metrics = myTextFormat.getTextExtent(textObject[k]["text"], 100000);
+			textObject[k]["lineWidth"] = metrics.width;
+			//Debug.write("text: ",metrics,k,textObject[k]["lineWidth"],textObject[k]["text"]);
+		}
+		
+		return textObject;
+	}
+	
+	function measureLine(){		
+		//Debug.write("restString: ",textFieldtext);
+		for (var i=textFieldtext.length;i>0;i--){
+			var testTxt = textFieldtext.slice(startIndex, i);
+			var metrics = myTextFormat.getTextExtent(testTxt, 100000);
+			//Debug.write("metrics: ",testTxt,startIndex,metrics.width);
+			if (metrics.width<=maxsize){
+
+				testTxt = textFieldtext.slice(startIndex, i-1);
+				textObject[currentLine] = new Array();
+				textObject[currentLine]["text"] = testTxt;
+				textFieldtext = textFieldtext.slice(i-1, textFieldtext.length);
+				
+				if (textFieldtext.length==1){
+					textObject[currentLine]["text"]+=textFieldtext;
+					return;
+				} else {
+					currentLine+=1;
+					return measureLine();
+				}
+			}
+		}		
+	}
+	
+	
+	
+	//function getLineWidth()
+]]>
+</script>
+
+<text multiline="true" x="40" y="20" width="220" selectable="true" >
+	<handler name="oninit">
+		<![CDATA[
+			this.sprite.__LZtextclip.wordWrap = false;
+			Debug.write(this.sprite.__LZtextclip);
+			var items = new Array();
+			var t = "";
+			//items[0] = ["text","hello your are the hero lets check accomodation today i need some input"];
+			items[0] = ["text","hello "];
+			items[0] = ["text","der hat drei ecken      und warum ist meni hut der knut      ?? warumST"]; 
+			for (var i=0;i<items.length;i++) {
+				if (items[i][0]=="text"){
+					t += items[i][1];
+				} else {
+					var tempString = calcLineWidthByTextField(this.width, t,this.fontsize,"Verdana");
+					tempString[tempString.length-1]["lineWidth"];
+				}
+			}
+			var tString = calcLineWidthByTextField(this.width, t,this.fontsize,"Verdana");
+			for (var k = 0;k<tString.length;k++){
+				this.setAttribute('text',this.getText()+textObject[k]["text"]+"\r");
+				Debug.write("line,width,text: ",k,textObject[k]["lineWidth"],textObject[k]["text"]);
+			}			
+			
+		]]>
+	</handler>
+</text>
+  
+    
+</canvas>
diff --git a/WebContent/src/test/testLineWidth.lzx.lzr=swf8.swf b/WebContent/src/test/testLineWidth.lzx.lzr=swf8.swf
new file mode 100644
index 0000000..ccb5224
--- /dev/null
+++ b/WebContent/src/test/testLineWidth.lzx.lzr=swf8.swf
Binary files differ
diff --git a/WebContent/src/test/testLoadSWF.lzx.lzr=swf8.swf b/WebContent/src/test/testLoadSWF.lzx.lzr=swf8.swf
new file mode 100644
index 0000000..0700cc8
--- /dev/null
+++ b/WebContent/src/test/testLoadSWF.lzx.lzr=swf8.swf
Binary files differ
diff --git a/WebContent/src/test/test_main.lzx b/WebContent/src/test/test_main.lzx
new file mode 100644
index 0000000..25e9ff8
--- /dev/null
+++ b/WebContent/src/test/test_main.lzx
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas>
+
+<text>Hello World</text>
+
+</canvas>
+
+
diff --git a/WebContent/src/test/test_onclick.lzx b/WebContent/src/test/test_onclick.lzx
new file mode 100644
index 0000000..fc93ebd
--- /dev/null
+++ b/WebContent/src/test/test_onclick.lzx
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas debug="true" width="1000" height="700">
+
+    <class name="myView" extends="drawview" bgcolor="red" clip="true" 
+        width="200" height="200" 
+        onclick="//Debug.write('onclick',this)" 
+        onmouseup="//Debug.write('onmouseup',this)" />
+    
+<myView />
+    
+</canvas>
diff --git a/WebContent/src/test/test_upload.lzx b/WebContent/src/test/test_upload.lzx
new file mode 100644
index 0000000..8a62e2a
--- /dev/null
+++ b/WebContent/src/test/test_upload.lzx
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<canvas debug="true" width="1000" height="700">
+
+<include href="oslmon/" />
+    
+    <handler name="oninit">
+        new lz.uploadWindow(canvas);
+    </handler>
+
+</canvas>
diff --git a/WebContent/src/test/testswf/test.pdf b/WebContent/src/test/testswf/test.pdf
new file mode 100644
index 0000000..234b7bb
--- /dev/null
+++ b/WebContent/src/test/testswf/test.pdf
Binary files differ
diff --git a/WebContent/src/test/testswf/test.swf b/WebContent/src/test/testswf/test.swf
new file mode 100644
index 0000000..d4e1894
--- /dev/null
+++ b/WebContent/src/test/testswf/test.swf
Binary files differ
diff --git a/WebContent/src/test/testswf/testLoadSWF.lzx b/WebContent/src/test/testswf/testLoadSWF.lzx
new file mode 100644
index 0000000..1dab29f
--- /dev/null
+++ b/WebContent/src/test/testswf/testLoadSWF.lzx
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+
+<canvas debug="true" width="100%" height="100%" fontsize="14" title="OpenMeetings - SWF testing">
+	
+	<debug fontsize="14" oninit="Debug.showInternalProperties = true"/>
+	
+<view layout="axis:x;spacing:2">
+	<button name="_btn">
+		<handler name="onclick">
+			canvas._swfview.setAttribute('frame',canvas._swfview.frame+1);
+			//var mc = canvas._swfview.getDisplayObject();
+			//Debug.write(canvas._swfview);
+			//Debug.write(mc);
+			//mc._frame = 4;
+			//mc.play();
+		</handler>
+	</button>
+</view>
+	
+<view name="_swfview" y="20">
+	<handler name="oninit">
+		<![CDATA[
+			this.setSource("test.swf");
+		]]>
+	</handler>
+</view>
+  
+    
+</canvas>
diff --git a/WebContent/src/test/testswf/testLoadSWF.lzx.lzr=swf8.swf b/WebContent/src/test/testswf/testLoadSWF.lzx.lzr=swf8.swf
new file mode 100644
index 0000000..5a03b59
--- /dev/null
+++ b/WebContent/src/test/testswf/testLoadSWF.lzx.lzr=swf8.swf
Binary files differ
diff --git a/WebContent/src/test_index.html b/WebContent/src/test_index.html
new file mode 100644
index 0000000..15fba0b
--- /dev/null
+++ b/WebContent/src/test_index.html
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+
+<meta http-equiv="cache-control" content="no-cache">
+
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
+<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
+<meta name="viewport" content="width=device-width; initial-scale=1.0;">
+<title>OpenLaszlo Application</title>
+<script type="text/javascript">
+          // If loaded bare into a browser, set the browser size to the canvas size
+          if (window === top) {
+            (function (width, height) {
+              // Cf. http://www.quirksmode.org/viewport/compatibility.html
+              if (window.innerHeight) {
+                // Sadly, innerHeight/Width is not r/w on some browsers, and resizeTo is for outerHeight/Width
+                window.resizeTo(width ? (width + window.outerWidth - window.innerWidth) : window.outerWidth,
+                                height ? (height + window.outerHeight - window.innerHeight) : window.outerHeight);
+              } else if (document.documentElement && document.documentElement.clientHeight) {
+                if (width) {
+                  document.documentElement.clientWidth = width;
+                }
+                if (height) {
+                  document.documentElement.clientHeight = height;
+                }
+              } else {
+                if (width) {
+                  document.body.clientWidth = width;
+                }
+                if (height) {
+                  document.body.clientHeight = height;
+                }
+              }
+            })(null, null);
+          }
+        </script>
+        
+<script type="text/javascript" src="sip-applet/jquery-1.2.6.min.js"></script>
+<script type="text/javascript" src="sip-applet/uiie.js"></script>
+<script type="text/javascript" src="sip-applet/blie.js"></script>
+<script type="text/javascript" src="sip-applet/custom.js"></script>        
+        
+<script type="text/javascript"
+	src="embed-compressed.js"></script>
+<script type="text/javascript">
+
+function getBrowserInfo() {
+	//alert(navigator.userAgent);
+	return navigator.userAgent;
+}
+
+</script>
+	
+<style type="text/css">
+html,body { /* http://www.quirksmode.org/css/100percheight.html */
+	height: 100%;
+	/* prevent scrollbars */
+	margin: 0;
+	padding: 0;
+	border: 0 none;
+	overflow: hidden;
+}
+
+body {
+	background-color: #ffffff;
+}
+
+img {
+	border: 0 none;
+}
+</style>
+</head>
+<body> 
+
+<applet id="PHDial" archive="sip-applet/idial.jar"
+	code="com.sesca.voip.ua.AppletUANG.class" width="0" height="0">
+	<param name="mayscript" value="true" />
+	<param name="scriptable" value="true" />
+	<param name="callTo" value="" />
+	<param name="username" value="" />
+	<param name="password" value="" />
+	<param name="realm" value="sip.idial.fi" />
+	<param name="port" value="5060" />
+	<param name="proxyname" value="test.idialserver.com" />
+	<param name="tunnel" value="194.79.17.140:443" />
+	<param name="codebaseUrl" value="file:///C:/SIP Applet/" />
+	<param name="forceTunnel" value="true" />
+	<param name="privacy" value="false" />
+	<param name="allowOutsideProxyConnections" value="true" />
+</applet>
+
+<script type="text/javascript">
+    lz.embed.swf({url: 'maindebug.lzx?lzr=swf8&lzproxied=solo&lzt=swf', allowfullscreen: 'true', bgcolor: '#ffffff', width: '100%', height: '100%', id: 'lzapp', accessible: 'false'});
+
+    lz.embed.lzapp.onloadstatus = function loadstatus(p) {
+      // called with a percentage (0-100) indicating load progress
+    }
+
+    lz.embed.lzapp.onload = function loaded() {
+      // called when this application is done loading
+    }
+    initialize();
+</script>
+
+
+
+<div style="width: 100%; height: 100%;" id="lzappContainer"><embed
+	src="maindebug.lzx-Dateien/maindebug.lzx" quality="high"
+	bgcolor="#ffffff" wmode="window" allowfullscreen="false" id="lzapp"
+	name="lzapp"
+	flashvars="lzt=swf&amp;lzproxied=solo&amp;lzr=swf8&amp;bgcolor=%23ffffff&amp;width=100%25&amp;height=100%25&amp;__lzurl=maindebug.lzx%3Flzt%3Dswf%26lzproxied%3Dsolo%26lzr%3Dswf8&amp;__lzminimumversion=8&amp;id=lzapp"
+	swliveconnect="true" allowscriptaccess="sameDomain"
+	type="application/x-shockwave-flash"
+	pluginspage="http://www.macromedia.com/go/getflashplayer"
+	align="middle" height="100%" width="100%"></div>
+<noscript>Please enable JavaScript in order to use this
+application.</noscript>
+</body>
+</html>
\ No newline at end of file
diff --git a/WebContent/src/test_main.lzx.lzr=swf8.swf b/WebContent/src/test_main.lzx.lzr=swf8.swf
new file mode 100644
index 0000000..ed0ab9e
--- /dev/null
+++ b/WebContent/src/test_main.lzx.lzr=swf8.swf
Binary files differ
diff --git a/WebContent/swf10/audioVideoTest/library.lzx b/WebContent/swf10/audioVideoTest/library.lzx
new file mode 100644
index 0000000..5b64b48
--- /dev/null
+++ b/WebContent/swf10/audioVideoTest/library.lzx
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+	<!-- APL author sebawagner -->
+	<resource name="level_meter_rsc" src="resources/level_meter.png" />
+	<!-- APL author sebawagner -->
+    <resource name="test_setup_record_rsc" src="resources/webstart_record.png" />
+    <!-- APL author sebawagner -->
+    <resource name="test_setup_play_rsc" src="resources/run.png" />
+    <!-- APL author sebawagner -->
+    <resource name="test_setup_stop_rsc" src="resources/stop.png" />
+    <!-- FamFam Icon Set -->
+    <resource name="test_setup_info_rsc" src="resources/information.png" />
+    
+    <include href="testingApplication.lzx" />
+    
+</library>
diff --git a/WebContent/swf10/audioVideoTest/resources/information.png b/WebContent/swf10/audioVideoTest/resources/information.png
new file mode 100644
index 0000000..12cd1ae
--- /dev/null
+++ b/WebContent/swf10/audioVideoTest/resources/information.png
Binary files differ
diff --git a/WebContent/swf10/audioVideoTest/resources/level_meter.fla b/WebContent/swf10/audioVideoTest/resources/level_meter.fla
new file mode 100644
index 0000000..4e1a8c8
--- /dev/null
+++ b/WebContent/swf10/audioVideoTest/resources/level_meter.fla
Binary files differ
diff --git a/WebContent/swf10/audioVideoTest/resources/level_meter.png b/WebContent/swf10/audioVideoTest/resources/level_meter.png
new file mode 100644
index 0000000..78192ef
--- /dev/null
+++ b/WebContent/swf10/audioVideoTest/resources/level_meter.png
Binary files differ
diff --git a/WebContent/swf10/audioVideoTest/resources/record.fla b/WebContent/swf10/audioVideoTest/resources/record.fla
new file mode 100644
index 0000000..870b264
--- /dev/null
+++ b/WebContent/swf10/audioVideoTest/resources/record.fla
Binary files differ
diff --git a/WebContent/swf10/audioVideoTest/resources/record.png b/WebContent/swf10/audioVideoTest/resources/record.png
new file mode 100644
index 0000000..99109da
--- /dev/null
+++ b/WebContent/swf10/audioVideoTest/resources/record.png
Binary files differ
diff --git a/WebContent/swf10/audioVideoTest/resources/run.png b/WebContent/swf10/audioVideoTest/resources/run.png
new file mode 100644
index 0000000..c77b8d9
--- /dev/null
+++ b/WebContent/swf10/audioVideoTest/resources/run.png
Binary files differ
diff --git a/WebContent/swf10/audioVideoTest/resources/stop.fla b/WebContent/swf10/audioVideoTest/resources/stop.fla
new file mode 100644
index 0000000..44a29f1
--- /dev/null
+++ b/WebContent/swf10/audioVideoTest/resources/stop.fla
Binary files differ
diff --git a/WebContent/swf10/audioVideoTest/resources/stop.png b/WebContent/swf10/audioVideoTest/resources/stop.png
new file mode 100644
index 0000000..5b1adf3
--- /dev/null
+++ b/WebContent/swf10/audioVideoTest/resources/stop.png
Binary files differ
diff --git a/WebContent/swf10/audioVideoTest/resources/webstart_record.fla b/WebContent/swf10/audioVideoTest/resources/webstart_record.fla
new file mode 100644
index 0000000..475f9dc
--- /dev/null
+++ b/WebContent/swf10/audioVideoTest/resources/webstart_record.fla
Binary files differ
diff --git a/WebContent/swf10/audioVideoTest/resources/webstart_record.png b/WebContent/swf10/audioVideoTest/resources/webstart_record.png
new file mode 100644
index 0000000..d94b7f5
--- /dev/null
+++ b/WebContent/swf10/audioVideoTest/resources/webstart_record.png
Binary files differ
diff --git a/WebContent/swf10/audioVideoTest/testingApplication.lzx b/WebContent/swf10/audioVideoTest/testingApplication.lzx
new file mode 100644
index 0000000..f217c27
--- /dev/null
+++ b/WebContent/swf10/audioVideoTest/testingApplication.lzx
@@ -0,0 +1,412 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+<!-- 
+#########################################
+
+Test the setup values before you enter a room
+
+ -->
+ 
+<class name="testingApplication" extends="view" width="600" height="400">
+
+    <switch>
+        <when property="$as3">
+            <passthrough>
+                import flash.media.Camera;
+                import flash.media.Microphone;
+                import flash.net.SharedObject;
+                import flash.media.SoundCodec;
+            </passthrough>
+        </when>
+    </switch>
+	
+	<attribute name="lastRecorded" value="" type="string" />
+	
+	<attribute name="isRunning" value="false" type="boolean" />
+	
+	<attribute name="recordingsCounter" value="5" type="number" />
+	
+	<attribute name="timerIsRunning" value="false" type="boolean" />
+	
+	<attribute name="counterDelegate" value="null" />
+	
+	<handler name="oninit">
+		this.counterDelegate = new LzDelegate( this, "count" );
+	</handler>
+	
+	<method name="startTimer">
+		this.timerIsRunning = true;
+		this.timerWasUnmutedTheFirstTime = true;
+		lz.Timer.addTimer( this.counterDelegate, 1000 );
+	</method>
+	
+	<method name="count" args="calleeObj">
+		if (this.recordingsCounter != 0){
+			this.recordingsCounter -= 1;
+			lz.Timer.addTimer( this.counterDelegate, 1000 );
+			
+			this._text._info.setAttribute("text",""+this.recordingsCounter+" sec");
+			
+		} else {
+			this._text.setAttribute("visibility","hidden");
+			this.doStop();
+			this.timerIsRunning = false;
+			this.doPlay();
+		}
+	</method>
+	
+	<method name="startTimerToCount">
+		if (!this.timerIsRunning) {
+			this.startTimer();
+		}
+	</method>
+	
+	<method name="storeSettings">
+        <![CDATA[
+            if ($debug) Debug.write("storeSettings ");
+            var t:SharedObject = SharedObject.getLocal('userdata');
+            var g = t.data;
+            if (g==null) g = new Array();
+            g["cam"] = this.availibleCams.getValue();
+            g["mic"] = this.availibleMics.getValue();
+            t.flush();
+        ]]>
+    </method>   
+	
+	<method name="doninitalize">
+        <![CDATA[
+        
+            this._btnStartRecording.setAttribute("enabled",false);
+            
+            this.recordingsCounter = 5;
+            
+            this._text.setAttribute("visibility","visible");
+            this._text._info.setAttribute("text","5 sec");
+        
+            this.isRunning = true;
+            
+            var valCam = this.availibleCams.getValue();
+            var valMic = this.availibleCams.getValue();
+            
+            var videoview = this._publisher._chatvideoinner._videostream;
+            if ($debug) Debug.write("videoview: ",videoview);
+            if ($debug) Debug.write(valCam,valMic);
+            
+            var _micro = null;
+            var _camera = null;
+            if (valMic != null) {
+                 _micro = Microphone.getMicrophone(valMic);
+                 if (_micro != null) {
+                     _micro.codec = SoundCodec.NELLYMOSER;
+                     _micro.framesPerPacket = 1;
+                     _micro.setSilenceLevel(0, 2000);
+                     _micro.gain = 50;
+                     // this has no effect if enhanced microphone is obtained
+                    //Microphone setUseEchoSupression(bool)
+                    _micro.setUseEchoSuppression(true);
+                }
+            }
+            if (valCam != null) {
+                _camera = Camera.getCamera(valCam);
+            }
+            
+            if ($debug) Debug.write("_camera.setMode: ",videoview.width,videoview.height,canvas.framesPerSecond,true);
+
+            //Microphone.set
+            if ($debug) Debug.write("canvas.vaquality: ",canvas.vaquality, "canvas.microphoneRateBest: ",canvas.microphoneRateBest);
+            if (_camera != null) {
+                if ($debug) Debug.write("_camera.setQuality BEST: ",this.isInterview,(canvas.bandwidthNeededBest*2),canvas.camQualityBest);
+                if (this.isInterview) {
+                    _camera.setMode(videoview.width,videoview.height,24,true);
+                    if ($debug) Debug.warn("IS INTERVIEW ");
+                    _camera.setQuality(0,98);
+                } else {
+                    _camera.setMode(videoview.width,videoview.height,canvas.framesPerSecond,true);
+                    if ($debug) Debug.warn("IS NO INTERVIEW ");
+                    _camera.setQuality(canvas.bandwidthNeededBest,canvas.camQualityBest);
+                }
+            }
+            
+            //The First start-timer message will come from the Flash Object
+            
+            if ($debug) Debug.warn("_camera.muted ",_camera.muted);
+            if ($debug) Debug.warn("_micro.muted ",_micro.muted);
+            
+            if (!_camera.muted) {
+                this.startTimer();
+            }
+
+            //start recording of client stream
+            
+            var t = new Date();
+            this.lastRecorded = "TEST_SETUP_"+t.getTime();
+            
+            this._publisher.setAttribute("visibility","visible");
+            this._viewer.setAttribute("visibility","hidden");
+            
+            videoview.record(this.lastRecorded,_camera,_micro);
+        ]]>
+    </method>
+    
+    <method name="doPlay">
+    	<![CDATA[
+    	
+    	   if (this.lastRecorded == "") {
+    	   	   //Error - nothing recorded yet
+    	   	   if ($debug) Debug.warn("Nothing to Play");
+    	   } else {
+    	   	   
+    	   	   this._play.setAttribute("visibility","visible");
+    	   	
+    	   	   this._publisher.setAttribute("visibility","hidden");
+               this._viewer.setAttribute("visibility","visible");
+               
+               var videoview = this._viewer._chatvideoinner._videostream;
+               
+               videoview.justPlayStream(this.lastRecorded+".flv",0);
+                
+    	   }
+    	
+    	]]>
+    </method>
+    
+    <method name="doStop">
+    	if (this.isRunning) {
+    		this.isRunning = false;
+    		
+    		var videoview = this._publisher._chatvideoinner._videostream;
+    		
+    		this._btnStartRecording.setAttribute("enabled",true);
+    		
+    		videoview._stop();
+    		
+    		this.doPlay();
+    	}
+    	
+    	var videoviewViewer = this._viewer._chatvideoinner._videostream;
+        videoviewViewer._stop();
+    </method>
+	
+	<labelText fontstyle="bold" labelid="758"
+			   width="$once{ parent.width-2 }" height="30" multiline="true" /> 
+	
+	<labelText name="availibleCamsLabel" labelid="52" fontsize="11" x="2" y="40" />
+
+    <resetCombobox fontsize="11" name="availibleCams" x="10" y="60" width="260" editable="false">
+        <switch>
+            <when property="$as3">
+                <passthrough>
+                    import flash.media.Camera;
+                    import flash.net.SharedObject;
+                </passthrough>
+            </when>
+        </switch>
+        <handler name="oninit">
+            <![CDATA[
+                //Get all availible Cam's
+                var tw = Camera.names;
+                var r = "";
+                for (var eg=0;eg<tw.length;eg++){
+                    this.addItem(tw[eg],eg);
+                    r=eg;
+                }
+                var t:SharedObject = SharedObject.getLocal('userdata');
+                var g = t.data;
+                var cam;
+                if (g != null){
+                    cam = g["cam"];
+                    if (cam == 'undefined') {
+                        cam = r;
+                    }
+                } else {
+                    cam = r;
+                }
+                this.selectItem(String(cam));
+            ]]>
+        </handler>
+    </resetCombobox>
+    
+    <labelText name="availibleMicsLabel" labelid="53" fontsize="11" x="2" y="84" />
+
+    <resetCombobox fontsize="11" name="availibleMics"  x="10" y="104" width="260" editable="false">
+        <switch>
+            <when property="$as3">
+                <passthrough>
+                    import flash.media.Microphone;
+                    import flash.net.SharedObject;
+                </passthrough>
+            </when>
+        </switch>
+        <handler name="oninit">
+            <![CDATA[
+                //Get all availible Mic's
+                var tw = Microphone.names;
+                var r = "";
+                for (var eg=0;eg<tw.length;eg++){
+                    r=eg;
+                    this.addItem(tw[eg],eg);
+                }
+
+                var t:SharedObject = SharedObject.getLocal('userdata');
+                var g = t.data;
+                var mic;
+                if (g != null){
+                    mic = g["mic"];
+                    if (mic == 'undefined') {
+                        mic = r;
+                    }
+                } else {
+                    mic = r;
+                }
+                this.selectItem(String(mic));
+            ]]>
+        </handler>
+    </resetCombobox>
+    
+    
+    <simpleLabelButton name="_btnStartRecording" labelid="775" 
+    				   width="170" x="100" y="150" height="28">
+    	<handler name="onclick">
+            parent._level_meter.startLevel();
+            parent.doninitalize();
+        </handler>
+        <view resource="test_setup_record_rsc" x="2" y="2" />
+    </simpleLabelButton>
+    
+	
+	<videoObjectTestBroadcast name="_publisher" x="340" y="40" width="240" height="180">
+		<handler name="sendCameraStatus" args="camStatus">
+            if ($debug) Debug.write("sendCameraStatus -1- ",camStatus);
+            if (camStatus == "Camera.Unmuted") {
+            	parent.startTimerToCount();
+            }
+        </handler>
+        
+        <handler name="sendMicroStatus" args="micStatus">
+            if ($debug) Debug.write("sendMicroStatus -1- ",micStatus);
+            if (micStatus == "Microphone.Unmuted") {
+                parent.startTimerToCount();
+            }
+        </handler>
+	</videoObjectTestBroadcast>
+	
+	<videoObjectPlayTestBroadcast name="_viewer" x="340" y="40" 
+								  width="240" height="180" visibility="hidden" />
+								  
+	<view name="_text" x="340" y="40" width="240" height="180" visibility="hidden">
+		<text name="_info" resize="true" bgcolor="0xFFFFFF" align="right"
+			  fontsize="12" fontstyle="bold" />
+	</view>
+	
+	<!--
+	<simpleLabelRoundButtonIcon name="_start" y="190" x="350" 
+				ressourceIcon="test_setup_record_rsc"
+				width="70" tlabelid="763" >
+		<handler name="onclick">
+			parent._level_meter.startLevel();
+			parent.doninitalize();
+		</handler>
+	</simpleLabelRoundButtonIcon>
+	
+	<simpleLabelRoundButtonIcon name="_stop" y="190" x="425" 
+				ressourceIcon="test_setup_stop_rsc"
+				width="70" tlabelid="766" >
+        <handler name="onclick">
+        	parent._level_meter.resetNewLevel();
+            parent.doStop();
+        </handler>
+    </simpleLabelRoundButtonIcon>
+    
+	<simpleLabelRoundButtonIcon name="_play" y="190" x="500" 
+				ressourceIcon="test_setup_play_rsc"
+				width="70" tlabelid="764" 
+				enabled="false">
+        <handler name="onclick">
+            parent.doPlay();
+        </handler>
+    </simpleLabelRoundButtonIcon>
+     -->
+     
+     <!-- ressourceIcon="test_setup_play_rsc" -->
+    <simpleLabelButton name="_play" y="190" x="490" visibility="hidden"
+                width="86" labelid="764" >
+        <handler name="onclick">
+            parent.doPlay();
+        </handler>
+    </simpleLabelButton>
+     
+    <labelText labelid="767" x="340" y="224" />
+    
+    <view name="_level_meter" x="340" y="244" width="240" height="20" clip="true" bgcolor="0x000000">
+    	
+    	 <!--- Level delegate, used to track level changes. 
+              @keywords private -->
+        <attribute name="_leveldel" value="$once{new LzDelegate(this, '_updateLevel')}"/>
+    	
+    	<method name="_updateLevel" args="no">
+    		<![CDATA[
+    		    //if ($debug) Debug.write("_updateLevel",no,parent._publisher._chatvideoinner._videostream.micro);
+    		    //if ($debug) Debug.write("_updateLevel",parent._publisher._chatvideoinner._videostream.micro);
+    		    //if ($debug) Debug.write("_updateLevel",parent._publisher._chatvideoinner._videostream.micro.activityLevel);
+    		    if (parent._publisher._chatvideoinner._videostream.micro == null)
+    		    {
+    		    	return;
+    		    }
+    		    this.setNewLevel(parent._publisher._chatvideoinner._videostream.micro.activityLevel);
+    		]]>
+    	</method>
+    	
+    	<method name="startLevel">
+    		this._leveldel.register(lz.Idle, "onidle");
+    	</method>
+    	
+    	<method name="resetNewLevel">
+    		this._leveldel.unregisterAll();
+    		this.setNewLevel(0);
+    	</method>
+    	
+    	<method name="setNewLevel" args="no">
+    		<![CDATA[
+    		
+                var newLevel = (238/100) * no;
+            
+                this._over.setAttribute("width",238-newLevel);
+                this._over.setAttribute("x",1+(newLevel));
+                
+            ]]>
+    	</method>
+    	
+    	<view name="_bg" width="238" height="18" x="1" y="1" bgcolor="0xFFFFFF" />
+    	<view name="_grip" resource="level_meter_rsc" x="1" y="1" />
+    	<view name="_over" width="238" height="18" x="1" y="1" bgcolor="0xFFFFFF" />
+    </view>
+    
+    <view y="292" resource="test_setup_info_rsc" x="16" />
+    
+    <labelText fontstyle="bold" labelid="765" x="39" y="290"
+               width="$once{ parent.width-50 }" multiline="true" />
+    
+</class>
+	
+</library>
+ 
diff --git a/WebContent/swf10/base/components/button/library.lzx b/WebContent/swf10/base/components/button/library.lzx
new file mode 100644
index 0000000..74f686a
--- /dev/null
+++ b/WebContent/swf10/base/components/button/library.lzx
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+	<include href="simpleLabelButton.lzx" />

+

+</library>

diff --git a/WebContent/swf10/base/components/button/simpleLabelButton.lzx b/WebContent/swf10/base/components/button/simpleLabelButton.lzx
new file mode 100644
index 0000000..183ad5e
--- /dev/null
+++ b/WebContent/swf10/base/components/button/simpleLabelButton.lzx
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+<class name="simpleLabelButton" extends="button" fontstyle="bold"

+	   fontsize="11" height="20" style="componentStyle">

+

+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />

+	<method name="setLabelId" args="_labelid" >

+		this.labelid = _labelid;

+		this.setAttribute('text',canvas.getLabelName(this.labelid));

+	</method>

+	

+</class>

+

+</library>

diff --git a/WebContent/swf10/base/components/explorer/explorerBox.lzx b/WebContent/swf10/base/components/explorer/explorerBox.lzx
new file mode 100644
index 0000000..76e340b
--- /dev/null
+++ b/WebContent/swf10/base/components/explorer/explorerBox.lzx
@@ -0,0 +1,401 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+<class name="explorerBox" extends="view" width="250" y="100" visibility="hidden"

+    height="400" bgcolor="0x000088" 

+	onmousedown="this._startDragState(this)" onmouseup="this._removeDragState(this)" >

+

+    <switch>

+	  <when property="$as3">

+		<passthrough>

+		  import flash.filters.DropShadowFilter;

+		</passthrough>

+	  </when>

+	</switch>

+

+    <handler name="oninit">

+    	//if($debug) Debug.write("explorerBox/oninit showWindowEffect? ",canvas.showWindowEffect);

+    	if (canvas.showWindowEffect=="y"){

+    		//if($debug) Debug.write("explorerBox/showWindowEffect == YES");

+    		new lz.boxInitEffect(parent,{x:this.x+(this.width/2)-50,y:this.y+(this.height/2)-10,zielx:this.x,ziely:this.y,zielwidth:this.width,zielheight:this.height,objRef:this});

+    	} else {

+    		this.sendAnniComplete();

+    	}

+    </handler>

+    

+    <method name="sendAnniComplete">

+    	//if($debug) Debug.write("sendAnniComplete");

+    	this.setAttribute('visibility','visible');

+    	this.setShadow(true);

+    </method>

+

+    <method name="setShadow" args="bool">

+        this.hasshadow = bool;

+        <![CDATA[

+        if (this.isinited){

+            this.normalMC = this.getDisplayObject();

+            //Debug.write(this.normalMC);

+            ////Debug.write("this.normalMC: ",this.normalMC);

+            ////Debug.write("this: ",this);

+           	this.displacementMap = new DropShadowFilter();

+            this.normalMC.filters = [this.displacementMap];

+        }

+        ]]>              

+    </method>	

+          

+	<!--- The Title of this Box -->

+	<attribute name="title" value="defaulttitle" type="string" />

+	

+	<!--- if this Box should be closeable -->

+	<attribute name="closable" value="false" type="boolean" />

+    

+    <!--- if this Box should be resizeable  -->

+    <attribute name="resizeable" value="false" type="boolean" />

+	

+	<!--- Can this Box be docked to others and 

+			the width/height of parent compoent barrier -->

+	<attribute name="docking" value="false" type="boolean" />

+	

+	<!--- Hard to explain but its clear if you play around 

+		with that. Its the number of minimum pixels before 

+		the "docking" effect will be there -->

+	<attribute name="dockingbarrier" value="15" type="number" />

+	

+	<!--- the Event will be thrown if you close the Box -->

+	<event name="onclose" />

+	

+	<!---@keywords private the list of connected views -->

+	<attribute name="dockinglist" value="null" />

+	

+	<!--- @keywords private temp-older of x-distance to docked-Box  -->

+	<attribute name="tempXdistance" value="0" type="number" />

+

+	<!--- @keywords private temp-older of y-distance to docked-Box  -->

+	<attribute name="tempYdistance" value="0" type="number" />

+	

+	<!--- @keywords private is the Box minimized  -->

+	<attribute name="isopen" value="true" type="boolean" />

+	

+	<!--- @keywords private is the Box minimized  -->

+	<attribute name="open" value="true" type="boolean" />	

+	

+	<!--- @keywords private  -->

+	<attribute name="initheight" value="0" type="number" />

+	

+	<!--- @keywords private store initial height so toggleopen can reset height  -->

+	<handler name="oninit">

+		this.initheight=this.height;

+		////Debug.write("this.isopen: ",this.isopen);

+		if (!this.open) toggleopen();

+	</handler>

+	

+	<method name="close">

+		if (this.onclose) this.onclose.sendEvent();

+		//this.doOut.doStart();

+		this.doDestroy();

+	</method>

+	

+	<method name="toggleopen">

+		////Debug.write("this.isopen",this.isopen);

+		this.setAttribute('isopen',!this.isopen);

+		if (this.isopen){

+			_calcdockingList();

+			for (var eg in this.dockinglist){

+				if(this.dockinglist[eg].docking){

+					////Debug.write("this.dockinglist[eg]: ",this.dockinglist[eg].title);

+					////Debug.write("open new y",this.y+this.initheight);

+					this.dockinglist[eg].toggleOpenByParent(this.initheight-22);

+					this.dockinglist[eg].setAttribute('y',this.y+this.initheight);

+					

+				}

+			}			

+			this.setAttribute('height',this.initheight);

+		} else {

+			_calcdockingList();

+			for (var eg in this.dockinglist){

+				if(this.dockinglist[eg].docking){

+					////Debug.write("this.dockinglist[eg]: ",this.dockinglist[eg].title);

+					this.dockinglist[eg].toggleOpenByParent(-(this.initheight-22));

+					this.dockinglist[eg].setAttribute('y',this.y+22);

+				}

+			}	

+			this.setAttribute('height',22);		

+		}

+	</method>

+	

+	<method name="toggleOpenByParent" args="changeY">

+		////Debug.write("+++++ toggleOpenByParent +++++ changeY: ",this.title,changeY);

+		var tempList=new Array();

+		<![CDATA[

+		//check for dockable stuff which is connected to this Box

+		for (var eg in this.parent.subviews){

+			//check that you do not calc with yourself

+			if (this.parent.subviews[eg]!=this && this.parent.subviews[eg].docking){

+				// there are 4 cases which have to be proofed to check every possible situation

+				var proof=false;

+				////Debug.write("found some: ",this.parent.subviews[eg].title);

+				//top box-border

+				if  ( ( ((this.y+this.height)-this.parent.subviews[eg].y) < 1 ) && ( ((this.y+this.height)-this.parent.subviews[eg].y) > -1 ) && ( (this.x+this.width) > this.parent.subviews[eg].x )  && ( this.x < (this.parent.subviews[eg].x+this.parent.subviews[eg].width) ) ){

+					proof=true;

+				}

+					

+				if (proof) tempList.push(this.parent.subviews[eg]);

+			}

+		}

+		]]>

+		////Debug.write("tempList.length: ",tempList.length);

+		if (tempList.length!=0){

+			for (var eg in tempList){

+				if(tempList[eg].docking){

+					////Debug.write("toggleOpenByParent 1 [eg],changeY: ",tempList[eg].title,changeY);

+					tempList[eg].toggleOpenByParent(changeY);

+					tempList[eg].setAttribute('y',tempList[eg].y+changeY);

+				}

+			}	

+		}

+		

+	</method>

+	

+	<!--- @keywords private  -->

+	<method name="_removeDragState" args="obj">

+		//It's important to remove the dragger and do docking stuff before you check for conencted Boxes

+		dragger.remove();

+		if (obj==this){

+			if (docking) arrangePosition();

+		} else {

+			if (docking) _lookforParentOnly(obj);

+		}

+			

+		//check for connected Boxes

+		for (var eg in this.dockinglist){

+			if(this.dockinglist[eg].docking){

+				this.dockinglist[eg]._removeDragState(this);

+			}

+		}

+

+	</method>

+

+	

+	<!--- @keywords private

+		the arg obj is needed because the dragging can be called by the Box itself

+		or by a Box which is connected to this Box!  -->

+	<method name="_startDragState" args="obj">

+		this.bringToFront();

+		_calcdockingList();

+		for (var eg in this.dockinglist){

+			if(this.dockinglist[eg].docking){

+				this.dockinglist[eg]._startDragState(this);

+			}

+		}

+		//store position cause it wasn't dragged by itself

+		if (obj!=this){

+			storeAdjustmentToParent(obj.x,obj.y);

+		}

+		dragger.apply();

+	</method>

+	

+	<!--- Calc the List of Boxes which will be dragged and setposition if this Box

+		will be dragged,docked or minimized/maximized  -->

+	<method name="_calcdockingList">

+		//Clear list of conencted Boxes

+		this.dockinglist=new Array();

+		<![CDATA[

+		//check for dockable stuff which is connected to this Box

+		for (var eg in this.parent.subviews){

+			//check that you do not calc with yourself

+			if (this.parent.subviews[eg]!=this && this.parent.subviews[eg].docking){

+				// there are 4 cases which have to be proofed to check every possible situation

+				var proof=false;

+

+				//top box-border

+				if  ( ( ((this.y+this.height)-this.parent.subviews[eg].y) < 1 ) && ( ((this.y+this.height)-this.parent.subviews[eg].y) > -1 ) && ( (this.x+this.width) > this.parent.subviews[eg].x )  && ( this.x < (this.parent.subviews[eg].x+this.parent.subviews[eg].width) ) ){

+					proof=true;

+				}

+

+				if (proof) this.dockinglist.push(this.parent.subviews[eg]);

+			}

+		}

+		]]>

+		////Debug.write("this.dockinglist.length:",this.dockinglist.length);

+	</method>

+	

+	<!--- @keywords private  -->

+	<method name="arrangePosition">

+		//do the magic

+		//the idea is: look for all on the view container one level above this one

+		//and look for the width/height and 0/0 and look for "dockable" stuff there

+		var newx=this.x;

+		var newy=this.y;

+	  

+		<![CDATA[

+				

+		for (var eg in this.parent.subviews){

+			//check that you do not calc with yourself

+			if (this.parent.subviews[eg]!=this && this.parent.subviews[eg].docking){

+				// there are 4 cases which have to be proofed to check every possible situation

+				//left box-border

+				if ( ( ((this.x+this.width)-this.parent.subviews[eg].x) < this.dockingbarrier ) && ( ((this.x+this.width)-this.parent.subviews[eg].x) > -this.dockingbarrier ) &&  ( (this.y+this.height) > this.parent.subviews[eg].y ) &&  ( this.y < (this.parent.subviews[eg].y+this.parent.subviews[eg].height) ) ){

+					newx= ( this.parent.subviews[eg].x - this.width );

+				}

+				//right box-border

+				if ( ( ((this.parent.subviews[eg].x+this.parent.subviews[eg].width)-this.x)<this.dockingbarrier ) && ( ((this.parent.subviews[eg].x+this.parent.subviews[eg].width)-this.x)>-this.dockingbarrier ) &&  ( (this.y+this.height) > this.parent.subviews[eg].y ) &&  ( this.y < (this.parent.subviews[eg].y+this.parent.subviews[eg].height) ) ){

+					newx= ( this.parent.subviews[eg].x + this.parent.subviews[eg].width );

+				}

+				//top box-border

+				if  ( ( ((this.y+this.height)-this.parent.subviews[eg].y) < this.dockingbarrier ) && ( ((this.y+this.height)-this.parent.subviews[eg].y) > -this.dockingbarrier ) && ( (this.x+this.width) > this.parent.subviews[eg].x )  && ( this.x < (this.parent.subviews[eg].x+this.parent.subviews[eg].width) ) ){

+					newy = this.parent.subviews[eg].y-this.height;

+				}

+				//bottom box-border

+				if ( ( ((this.parent.subviews[eg].y+this.parent.subviews[eg].height)-this.y) < this.dockingbarrier ) && ( ((this.parent.subviews[eg].y+this.parent.subviews[eg].height)-this.y) > -this.dockingbarrier ) && ( (this.x+this.width) > this.parent.subviews[eg].x )  && ( this.x < (this.parent.subviews[eg].x+this.parent.subviews[eg].width) ) ){

+					newy = this.parent.subviews[eg].y+this.parent.subviews[eg].height;

+				}

+			}

+		}

+		

+		//Check for Borders

+		//should be done _after_ checking for other dockable stuff so it gets 

+		//priority to dock against the border of parent view

+		if (this.x<this.dockingbarrier){

+			newx=0;

+		}

+		if (this.y<this.dockingbarrier){

+			newy=0;

+		}

+		if ( (this.parent.width-(this.x+this.width))<this.dockingbarrier){

+			newx=this.parent.width-this.width;

+		}

+		if ( (this.parent.height-(this.y+this.height))<this.dockingbarrier){

+			newy=this.parent.height-this.height;

+		}

+		

+		//set position

+		this.setAttribute('x',newx);

+		this.setAttribute('y',newy);

+		]]>

+	</method>

+	

+	<method name="storeAdjustmentToParent" args="objX,objY">

+		this.tempXdistance=objX-this.x;

+		this.tempYdistance=objY-this.y;

+	</method>

+	

+	<!--- @keywords private 

+		this method is needed because if the dragging end and

+		it was not dragged _itself_ it was draged just because a connected

+		dockable Box was dragged than it could be that the connected

+		Box was forced to dock against something different onmouseup

+		so you have to rearrange the old "adjustment"	-->

+	<method name="_lookforParentOnly" args="obj">

+		<![CDATA[		

+		var newx=obj.x-tempXdistance;

+		var newy=obj.y-tempYdistance;

+		

+		this.setAttribute('x',newx);

+		this.setAttribute('y',newy);

+		]]>

+	</method>

+	

+	<dragstate name="dragger" />

+    

+    <animator attribute="y" to="20" duration="1000" start="false" />

+        

+    <animator name="doOut" attribute="y" to="-500" duration="1000" start="false" onstop="parent.doDestroy()" />    

+    

+    <method name="doDestroy">

+        this.destroy();

+    </method>

+	

+	<view width="${ this.parent.width-2 }" height="${ this.parent.height-2 }" 

+		  x="1" y="1" bgcolor="$once{ canvas.getThemeColor('mainBackgroundColor') }" />

+	<view x="1" y="1" width="${ this.parent.width-2 }" height="20" >

+		

+		<gradientview x="0" width="${ this.parent.width }" height="20"

+				colorFrom="$once{ canvas.getThemeColor('baseMousecolorizer') }"

+				colorTo="0x000088" >

+		</gradientview>

+		

+        <text fontsize="10" height="17" x="6" y="1" text="${ this.parent.parent.title }" 

+			fgcolor="0xFFFFFF" resize="true" fontstyle="bold" />

+	

+		<view visible="${ this.parent.parent.closable }" x="${ this.parent.parent.width-20 }" 

+			y="2" resource="btn_presenter_close"

+                onmouseover="this.setAttribute('frame',2)"

+                onmouseout="this.setAttribute('frame',1)"

+                onmousedown="this.setAttribute('frame',3)"

+                onmouseup="this.setAttribute('frame',1)" >

+			<handler name="onclick">

+				this.parent.parent.close();

+			</handler>									

+		</view>

+		<!-- 

+		<view visible="${ !this.parent.parent.isopen }" x="2" y="3" resource="explorer_button_min_rsc">

+			<handler name="onmouseover">

+				this.setAttribute('frame',2);

+			</handler>

+			<handler name="onmouseout">

+				this.setAttribute('frame',1);

+			</handler>

+			<handler name="onmousedown">

+				this.setAttribute('frame',3);

+			</handler>	

+			<handler name="onmouseup">

+				this.setAttribute('frame',1);

+				this.parent.parent.toggleopen();

+			</handler>									

+		</view>

+		<view visible="${ this.parent.parent.isopen }" x="2" y="3" resource="explorer_button_max_rsc">

+			<handler name="onmouseover">

+				this.setAttribute('frame',2);

+			</handler>

+			<handler name="onmouseout">

+				this.setAttribute('frame',1);

+			</handler>

+			<handler name="onmousedown">

+				this.setAttribute('frame',3);

+			</handler>	

+			<handler name="onmouseup">

+				this.setAttribute('frame',1);

+				this.parent.parent.toggleopen();

+			</handler>									

+		</view>

+		 -->

+	</view>

+    <handler name="onaddsubview" args="v">

+		////Debug.write("onaddsubview",v);

+		if (v.parent.subviews.length>2) this._resizeview.bringToFront();

+    </handler>

+    <view visible="${ this.parent.resizeable }" name="_resizeview" 

+    	  x="${ this.parent.width - 17 }" y="${ this.parent.height - 17 }" 

+        resource="explorer_resize_rsc" cursor="explorer_resizemouse_rsc" 

+        onmousedown="this.parent.rs.apply()"

+        onmouseup="this.parent.rs.remove()" >

+    	<handler name="oninit">

+    		//if ($debug) Debug.write("setTint");

+    		//TODO: Fix this, does not work at the moment

+    		//http://code.google.com/p/openmeetings/issues/detail?id=470

+    		this.setColor(canvas.getThemeColor('baseMousecolorizer'));

+    	</handler>  	

+    </view>

+    <resizestate name="rs"/>

+</class>

+

+</library>

diff --git a/WebContent/swf10/base/components/explorer/labelexplorerBox.lzx b/WebContent/swf10/base/components/explorer/labelexplorerBox.lzx
new file mode 100644
index 0000000..e0670ac
--- /dev/null
+++ b/WebContent/swf10/base/components/explorer/labelexplorerBox.lzx
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+<class name="labelExplorerBox" extends="explorerBox" >

+

+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />

+	<method name="setLabelId" args="_labelid" >

+		this.labelid = _labelid;

+		this.title=canvas.getLabelName(this.labelid);

+	</method>

+	

+</class>

+

+</library>

diff --git a/WebContent/swf10/base/components/explorer/library.lzx b/WebContent/swf10/base/components/explorer/library.lzx
new file mode 100644
index 0000000..c16ca18
--- /dev/null
+++ b/WebContent/swf10/base/components/explorer/library.lzx
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+	<include href="incubator/gradientview.lzx" /> 

+

+	<include href="resources/" />

+	

+	<include href="explorerBox.lzx" />

+	<include href="labelexplorerBox.lzx" />

+

+    

+</library>

diff --git a/WebContent/swf10/base/components/explorer/resources/close_dn.png b/WebContent/swf10/base/components/explorer/resources/close_dn.png
new file mode 100644
index 0000000..57fcf20
--- /dev/null
+++ b/WebContent/swf10/base/components/explorer/resources/close_dn.png
Binary files differ
diff --git a/WebContent/swf10/base/components/explorer/resources/close_mo.png b/WebContent/swf10/base/components/explorer/resources/close_mo.png
new file mode 100644
index 0000000..b9d0f94
--- /dev/null
+++ b/WebContent/swf10/base/components/explorer/resources/close_mo.png
Binary files differ
diff --git a/WebContent/swf10/base/components/explorer/resources/close_up.png b/WebContent/swf10/base/components/explorer/resources/close_up.png
new file mode 100644
index 0000000..79d3b72
--- /dev/null
+++ b/WebContent/swf10/base/components/explorer/resources/close_up.png
Binary files differ
diff --git a/WebContent/swf10/base/components/explorer/resources/explorbar_maximize_dn.png b/WebContent/swf10/base/components/explorer/resources/explorbar_maximize_dn.png
new file mode 100644
index 0000000..e5ae343
--- /dev/null
+++ b/WebContent/swf10/base/components/explorer/resources/explorbar_maximize_dn.png
Binary files differ
diff --git a/WebContent/swf10/base/components/explorer/resources/explorbar_maximize_mo.png b/WebContent/swf10/base/components/explorer/resources/explorbar_maximize_mo.png
new file mode 100644
index 0000000..093a0b0
--- /dev/null
+++ b/WebContent/swf10/base/components/explorer/resources/explorbar_maximize_mo.png
Binary files differ
diff --git a/WebContent/swf10/base/components/explorer/resources/explorbar_maximize_no.png b/WebContent/swf10/base/components/explorer/resources/explorbar_maximize_no.png
new file mode 100644
index 0000000..fca6ec8
--- /dev/null
+++ b/WebContent/swf10/base/components/explorer/resources/explorbar_maximize_no.png
Binary files differ
diff --git a/WebContent/swf10/base/components/explorer/resources/explorbar_minimize_dn.png b/WebContent/swf10/base/components/explorer/resources/explorbar_minimize_dn.png
new file mode 100644
index 0000000..e05de83
--- /dev/null
+++ b/WebContent/swf10/base/components/explorer/resources/explorbar_minimize_dn.png
Binary files differ
diff --git a/WebContent/swf10/base/components/explorer/resources/explorbar_minimize_mo.png b/WebContent/swf10/base/components/explorer/resources/explorbar_minimize_mo.png
new file mode 100644
index 0000000..faba70d
--- /dev/null
+++ b/WebContent/swf10/base/components/explorer/resources/explorbar_minimize_mo.png
Binary files differ
diff --git a/WebContent/swf10/base/components/explorer/resources/explorbar_minimize_no.png b/WebContent/swf10/base/components/explorer/resources/explorbar_minimize_no.png
new file mode 100644
index 0000000..b4dafa3
--- /dev/null
+++ b/WebContent/swf10/base/components/explorer/resources/explorbar_minimize_no.png
Binary files differ
diff --git a/WebContent/swf10/base/components/explorer/resources/explorerbar.png b/WebContent/swf10/base/components/explorer/resources/explorerbar.png
new file mode 100644
index 0000000..4cb2d59
--- /dev/null
+++ b/WebContent/swf10/base/components/explorer/resources/explorerbar.png
Binary files differ
diff --git a/WebContent/swf10/base/components/explorer/resources/library.lzx b/WebContent/swf10/base/components/explorer/resources/library.lzx
new file mode 100644
index 0000000..b731cb5
--- /dev/null
+++ b/WebContent/swf10/base/components/explorer/resources/library.lzx
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<library>

+

+<!-- APL author sebawagner -->

+<resource src="explorerbar.png" name="explorer_thumb_rsc" />

+

+<!-- APL author sebawagner -->

+<resource name="explorer_button_min_rsc" >

+	<frame src="explorbar_minimize_no.png" />

+	<frame src="explorbar_minimize_mo.png" />

+	<frame src="explorbar_minimize_dn.png" />

+</resource>

+

+<!-- APL author sebawagner -->

+<resource name="explorer_button_max_rsc" >

+	<frame src="explorbar_maximize_no.png" />

+	<frame src="explorbar_maximize_mo.png" />

+	<frame src="explorbar_maximize_dn.png" />

+</resource>

+

+<!-- APL author sebawagner -->

+<resource name="explorer_resize_rsc" src="resizer.swf" />

+

+<!-- APL author sebawagner -->

+<resource name="btn_presenter_minimize" src="minimize_up.png" />

+<!-- APL author sebawagner -->

+<resource name="btn_presenter_maximize" src="maximize_up.png" />

+<!-- APL author sebawagner -->

+<resource name="btn_presenter_maximize2" src="maximize2_up.png" />

+

+<!-- APL author sebawagner -->

+<resource name="btn_presenter_close">

+    <frame src="close_up.png" />

+    <frame src="close_mo.png" />

+    <frame src="close_dn.png" />

+</resource> 

+

+<!-- APL author sebawagner -->

+<resource name="explorer_resizemouse_rsc" src="resizemouse.png" />

+

+</library>

diff --git a/WebContent/swf10/base/components/explorer/resources/maximize2_up.png b/WebContent/swf10/base/components/explorer/resources/maximize2_up.png
new file mode 100644
index 0000000..1edd23b
--- /dev/null
+++ b/WebContent/swf10/base/components/explorer/resources/maximize2_up.png
Binary files differ
diff --git a/WebContent/swf10/base/components/explorer/resources/maximize_up.png b/WebContent/swf10/base/components/explorer/resources/maximize_up.png
new file mode 100644
index 0000000..778c05c
--- /dev/null
+++ b/WebContent/swf10/base/components/explorer/resources/maximize_up.png
Binary files differ
diff --git a/WebContent/swf10/base/components/explorer/resources/minimize_up.png b/WebContent/swf10/base/components/explorer/resources/minimize_up.png
new file mode 100644
index 0000000..1637298
--- /dev/null
+++ b/WebContent/swf10/base/components/explorer/resources/minimize_up.png
Binary files differ
diff --git a/WebContent/swf10/base/components/explorer/resources/resizemouse.png b/WebContent/swf10/base/components/explorer/resources/resizemouse.png
new file mode 100644
index 0000000..be3164f
--- /dev/null
+++ b/WebContent/swf10/base/components/explorer/resources/resizemouse.png
Binary files differ
diff --git a/WebContent/swf10/base/components/explorer/resources/resizer.fla b/WebContent/swf10/base/components/explorer/resources/resizer.fla
new file mode 100644
index 0000000..07de957
--- /dev/null
+++ b/WebContent/swf10/base/components/explorer/resources/resizer.fla
Binary files differ
diff --git a/WebContent/swf10/base/components/explorer/resources/resizer.png b/WebContent/swf10/base/components/explorer/resources/resizer.png
new file mode 100644
index 0000000..2c951fe
--- /dev/null
+++ b/WebContent/swf10/base/components/explorer/resources/resizer.png
Binary files differ
diff --git a/WebContent/swf10/base/components/explorer/resources/resizer.swf b/WebContent/swf10/base/components/explorer/resources/resizer.swf
new file mode 100644
index 0000000..2e5d0da
--- /dev/null
+++ b/WebContent/swf10/base/components/explorer/resources/resizer.swf
Binary files differ
diff --git a/WebContent/swf10/base/components/labelCheckbox.lzx b/WebContent/swf10/base/components/labelCheckbox.lzx
new file mode 100644
index 0000000..8660ce8
--- /dev/null
+++ b/WebContent/swf10/base/components/labelCheckbox.lzx
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+          

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+<class name="labelCheckbox" extends="checkbox" style="componentStyle" fontsize="11" >

+    <attribute name="labelid" type="number" setter="setLabelId(labelid)" />

+    <method name="setLabelId" args="_labelid" >

+        this.labelid = _labelid;

+        this.setAttribute('text',canvas.getLabelName(this.labelid));

+    </method>

+</class>

+

+</library>
\ No newline at end of file
diff --git a/WebContent/swf10/base/components/library.lzx b/WebContent/swf10/base/components/library.lzx
new file mode 100644
index 0000000..b79c839
--- /dev/null
+++ b/WebContent/swf10/base/components/library.lzx
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+    <include href="resetCombobox.lzx" />

+    <include href="miniIconsPresenter.lzx" />

+    <include href="labelCheckbox.lzx" />

+    

+    <include href="text/" />

+    <include href="scrollbars/" />

+    <include href="lps/" />

+    <include href="button/" />

+    <include href="explorer/" /> 

+      

+</library>

diff --git a/WebContent/swf10/base/components/lps/basePropertySelector.lzx b/WebContent/swf10/base/components/lps/basePropertySelector.lzx
new file mode 100644
index 0000000..2d9a099
--- /dev/null
+++ b/WebContent/swf10/base/components/lps/basePropertySelector.lzx
@@ -0,0 +1,48 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+	
+<class name="hidePropertyView" extends="view"
+	   width="$once{ parent.width }" height="$once{ parent.height }"
+	   opacity="0.7" bgcolor="0xFFFFFF" />
+
+<class name="basePropertySelector" extends="view">
+	
+	<!--- position of the SliderWin or ColorPicker -->
+	<attribute name="boxPosition" value="down" type="string" />
+	
+	<attribute name="isEnabled" value="true" type="boolean" />
+	<attribute name="enabledView" value="null" />
+	
+	<method name="setEnabled" args="b">
+		this.setAttribute('isEnabled',b);
+		if (this.enabledView != null) {
+			this.enabledView.destroy();
+			this.enabledView = null;
+		}
+		if (!b) {
+			this.enabledView = new lz.hidePropertyView(this);
+		} 
+	</method>
+    
+    
+</class>
+
+</library>
diff --git a/WebContent/swf10/base/components/lps/changeWidthSlider.lzx b/WebContent/swf10/base/components/lps/changeWidthSlider.lzx
new file mode 100644
index 0000000..dfa746a
--- /dev/null
+++ b/WebContent/swf10/base/components/lps/changeWidthSlider.lzx
@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>  
+
+<class name="changeWidthSlider" extends="basePropertySelector" bgcolor="0xFFFFFF" width="60" height="24">
+
+    <attribute name="numberAlign" value="right" type="string"/>
+    <attribute name="minimum" type="number" value="1" />
+    <attribute name="maximum" type="number" value="100" />
+    <attribute name="step" value="1" type="number"/>
+    <attribute name="initialNumberInit" value="1" type="number"/>
+    <attribute name="initialNumber" value="3" type="number"/>
+    
+    <attribute name="boxPosition" value="down" type="string"/>
+    
+    <attribute name="labelid" value="429" type="number"/>
+    
+    <event name="onplus" />
+    <event name="onminus" />
+    
+    <handler name="oninit">
+        this.initialNumberInit=initialNumber;
+    </handler>
+    
+    <method name="getValue">
+        return this.initialNumber;
+    </method>
+    
+    <method name="setSliderValue" args="v">
+    	this.initialNumber = v;
+    	this.numericValue.setAttribute('tempValue',this.initialNumber);
+    	this.numericValue.setAttribute('text',this.initialNumber);
+    	if ($debug) Debug.write("setSliderValue ",v);
+    	this.setEnabled(true);
+    </method>
+
+    <edittext name="numericValue" width="34" height="24" text="$once{ parent.initialNumber }" >
+        <attribute name="tempValue" value="$once{ parent.initialNumber }" type="number" />
+        <handler name="onfocus">
+            this.tempValue = Number(this.getText());
+        </handler>            
+        <handler name="onblur">
+            <![CDATA[
+                var t = parseInt(this.getText());
+                if (isNaN(t) || t > this.parent.maximum || t < this.parent.minimum){
+                    t = this.tempValue;
+                    this.setAttribute('text',t);
+                    lz.Focus.setFocus(this);
+                } else {
+                    this.tempValue = t;
+                    parent.setAttribute('initialNumber',t);
+                }
+            ]]>
+        </handler>
+    </edittext>
+
+
+    <button name="arrowView" x="36" width="24" y="1" height="23" >
+        <view name="arrow_down_slider" resource="arrow_down_slider_rsc" 
+            x="4" y="3" />
+            <handler name="onclick">
+            	if (this.parent.boxPosition=="up"){
+            		var pick = new lz.changeWidthSliderWin(canvas,{
+					            			initialNumber:parent.numericValue.tempValue,
+					            			btnRef:this.parent,x:(parent.getAttributeRelative('x',canvas)),
+					            			maxvalue:parent.maximum,
+					            			y:(parent.getAttributeRelative('y',canvas)-140+parent.height)
+				            			});
+            	} else {
+            		var pick = new lz.changeWidthSliderWin(canvas,{
+					            			initialNumber:parent.numericValue.tempValue,
+					            			btnRef:this.parent,x:(parent.getAttributeRelative('x',canvas)),
+					            			maxvalue:parent.maximum,
+					            			y:(parent.getAttributeRelative('y',canvas))
+				            			});
+            	}
+                lz.ModeManager.makeModal( pick );
+            </handler>
+        <labelTooltip labelid="$once{ parent.parent.labelid }" />
+    </button>
+    
+</class>
+    
+<class name="closableView" extends="view">
+    <method name="close">
+        lz.ModeManager.release(this);
+        this.destroy();
+    </method>
+</class>    
+    
+<class name="changeWidthSliderWin" extends="closableView" bgcolor="white" 
+    clickable="true" width="58" height="140" >
+    
+    <attribute name="btnRef" value="null" />
+    <attribute name="initialNumber" value="3" type="number"/>
+    <attribute name="maxvalue" value="100" type="number" />
+    
+    <!--- @keywords private -->
+    <method name="passModeEvent" args="eventStr,view" > 
+        <![CDATA[
+            if ( eventStr == "onmousedown"  ){
+                if ( view != null ) {
+                   if ( !view.childOf(this) ) {
+                        this.close();
+                   }
+                } else {
+                    this.close();
+                }
+            }
+            if (view && view.childOf(this)) {
+                if (view[ eventStr ]) {
+                    view[ eventStr ].sendEvent( view );
+                }
+                return false;
+            }
+            return true;
+        ]]> 
+    </method>
+
+    <view bgcolor="$once{ canvas.getThemeColor('baseMousecolorizer') }" width="58" height="138" x="1" y="1" />
+    
+    <vslider name="_slider" height="120" y="10" x="10" minvalue="1" maxvalue="$once{ parent.maxvalue }" 
+        initvalue="$once{ parent.initialNumber }" showrange="false" showvalue="true">
+        <handler name="onvalue" args="v">
+            //if ($debug) Debug.write("onvalue",v);
+            parent.btnRef.numericValue.tempValue = Number(v);
+            parent.btnRef.numericValue.setAttribute('text',v);
+            parent.btnRef.setAttribute('initialNumber',v);
+        </handler>
+        <handler name="onvalueChosenFinal">
+            parent.close();
+        </handler>        
+    </vslider>
+    
+    <view name="_close" x="$once{ parent.width-this.width-2 }" y="2"
+        resource="btn_presenter_close"
+        onmouseover="this.setAttribute('frame',2)"
+        onmouseout="this.setAttribute('frame',1)"
+        onmousedown="this.setAttribute('frame',3)"
+        onmouseup="this.setAttribute('frame',1)" >
+        <handler name="onclick">
+            this.setAttribute('frame',2);
+            this.parent.close();
+        </handler>
+        <labelTooltip labelid="430" />
+    </view>     
+        
+</class>    
+
+</library>
diff --git a/WebContent/swf10/base/components/lps/library.lzx b/WebContent/swf10/base/components/lps/library.lzx
new file mode 100644
index 0000000..7344bcc
--- /dev/null
+++ b/WebContent/swf10/base/components/lps/library.lzx
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+    <!-- APL author sebawagner -->
+    <resource name="arrow_down_slider_rsc" src="resources/arrow_down_slider.png" /> 
+
+    <include href="basePropertySelector.lzx" />
+    <include href="vslider.lzx" /> 
+    <include href="changeWidthSlider.lzx" />
+    
+</library>
diff --git a/WebContent/swf10/base/components/lps/resources/arrow_down_slider.png b/WebContent/swf10/base/components/lps/resources/arrow_down_slider.png
new file mode 100644
index 0000000..f5107d7
--- /dev/null
+++ b/WebContent/swf10/base/components/lps/resources/arrow_down_slider.png
Binary files differ
diff --git a/WebContent/swf10/base/components/lps/vslider.lzx b/WebContent/swf10/base/components/lps/vslider.lzx
new file mode 100644
index 0000000..307fea2
--- /dev/null
+++ b/WebContent/swf10/base/components/lps/vslider.lzx
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<!-- X_LZ_COPYRIGHT_BEGIN ************************************************
+* Copyright 2006 Laszlo Systems, Inc.  All Rights Reserved.              *
+* Use is subject to license terms.                                       *
+* X_LZ_COPYRIGHT_END ************************************************** -->
+<!--
+    vertical slider contributed by Sebastian Wagner
+-->
+<library>
+  
+  <class name="vsliderTrack" extends="view" bgcolor="0x000000">
+        <view width="${ parent.width-2}" height="${ parent.height-2 }" 
+          x="1" y="1" bgcolor="0xFFFFFF"/>
+        <view width="${ parent.width-2}" bgcolor="0xCCCCCC"
+          x="1" y="${ (this.parent.parent.switchaxis) ? 
+                parent.parent._sliderthumb.y : 1 }" 
+          visible="${ parent.parent.showrange }" 
+          height="${ (this.parent.parent.switchaxis) ? 
+        (parent.parent._vslidertrack.height - parent.parent._sliderthumb.y-1) : 
+        parent.parent._sliderthumb.y }" />
+  </class>
+	  
+	<class name="vsliderThumb" extends="button" bgcolor="0x999999" height="10" width="20" 
+		onmousedown="dragger.apply()" onmouseup="dragger.remove()">
+  	
+        <attribute name="drag_min" value="0" type="number" />
+        <attribute name="showvalue" type="boolean" value="true" />
+        <attribute name="drag_max" value="0" type="number" />
+        
+        <handler name="oninit">
+            //Setting the initVal
+            this.setY(getPosFromValue(this.parent.initvalue));
+        </handler>
+        
+        <method name="getValueFromPos">
+            var delta1 = this.parent.maxvalue-this.parent.minvalue;
+            var perc = (this.parent.switchaxis) ? 1-(y / (this.parent.height-this.height)) : (y / (this.parent.height-this.height));
+            //Debug.write(delta1,perc);
+            return (Math.round(perc*delta1))+this.parent.minvalue;
+        </method>
+        
+        <method name="getPosFromValue" args="val">
+            var perc = (val-this.parent.minvalue) / (this.parent.maxvalue-this.parent.minvalue);
+            //Debug.write(perc);
+            var valY = (this.parent.switchaxis) ? ( (1-perc) * (this.parent.height-this.height)) : (perc * (this.parent.height-this.height));
+            //Debug.write("valY: ",Math.round(valY));
+            return Math.round(valY);
+        </method>
+        
+        <handler name="ony" args="v">
+            //super.setY(v);
+            //if ($debug) Debug.write("setY: ",v);
+		    var thumbVal = getValueFromPos();
+		    if (thumbVal != parent.value) {
+		        this.parent.setValue(thumbVal);
+		    }               
+        </handler>
+        
+        <handler name="onclick">
+        	parent.onvalueChosenFinal.sendEvent();
+        </handler>
+        
+		<dragstate name="dragger" drag_axis="y"
+		    drag_min_y="${ this.drag_min }"  
+		    drag_max_y="${ this.drag_max }">
+			<text name="t1" x="-26" text="${ this.parent.parent.value }" bgcolor="0xFFFFFF"
+				  y="-4" resize="true" />
+		</dragstate>
+	</class>
+
+<class name="vslider" extends="view" >
+    <!--- Minimum Value -->
+    <attribute name="minvalue" type="number" value="0"/>
+    
+    <!--- Maximum Value -->
+    <attribute name="maxvalue" type="number" value="100"/>
+    
+    <!--- Showrange should the slidertrack be with color while 'sliding' -->
+    <attribute name="showrange" type="boolean" value="true"/>
+    
+    <!--- showvalue should the slider show the numbers of min/max -->
+    <attribute name="showvalue" type="boolean" value="true"/>
+    
+    <!--- switchaxis true means minimum-value is 
+            t op maximum is bottom false turns around -->
+    <attribute name="switchaxis" type="boolean" value="false"/>
+    
+    <!-- Initial Value -->
+    <attribute name="initvalue" value="0" type="number" />          
+        
+    <!--- @keywords private -->
+    <event name="onvalue"/>
+    
+    <!--- @keywords private -->
+    <event name="onvalueChosenFinal"/>
+        
+    <!--- @keywords private -->
+    <attribute name="value" value="0" setter="setValue(value)"/>
+    <method name="setValue" args="v">
+        if (!isinited) {
+          this.value = v;
+          return;
+        }
+        if (this.value == v) return;
+        this.value = v;
+        if (onvalue) onvalue.sendEvent(v);
+    </method>
+       
+	<vsliderTrack name="_vslidertrack" x="5" 
+	    width="10" height="${ parent.height }" />
+	    
+	<vsliderThumb name="_sliderthumb" 
+	    drag_max="${ parent.height-this.height }" 
+	    showvalue="${ parent.showvalue }" />
+	    
+	<text text="${ ( (this.parent.switchaxis) ? 
+	            this.parent.maxvalue : this.parent.minvalue ) }" 
+	    visible="${ parent.showvalue }" 
+	    y="-8" x="${ this.parent._vslidertrack.width+10 }" />
+	    
+	<text text="${ ( (this.parent.switchaxis) ? 
+	            this.parent.minvalue : this.parent.maxvalue ) }" 
+	      visible="${ parent.showvalue }" 
+	      y="${ this.parent.height-10 }" 
+	      x="${ this.parent._vslidertrack.width+10 }" />
+          
+</class>
+  
+  
+
+</library>
diff --git a/WebContent/swf10/base/components/miniIconsPresenter.lzx b/WebContent/swf10/base/components/miniIconsPresenter.lzx
new file mode 100644
index 0000000..1d58a24
--- /dev/null
+++ b/WebContent/swf10/base/components/miniIconsPresenter.lzx
@@ -0,0 +1,51 @@
+<library>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+

+<class name="miniIconsPresenter" extends="view">

+    

+    <attribute name="iconRessourceName" value="" type="string"/>

+    

+    <handler name="onmouseover">

+        this._bg.setAttribute("bgcolor",0xFFFFFF);

+        this._bg.setAttribute("visibility","visible");

+    </handler>

+    

+    <handler name="onmouseout">

+        this._bg.setAttribute("visibility","hidden");

+    </handler>

+    

+    <handler name="onmousedown">

+        this._bg.setAttribute("bgcolor",canvas.getThemeColor('basebgcolorizer'));

+        this._bg.setAttribute("visibility","visible");

+    </handler>

+    

+    <handler name="onmouseup">

+        this._bg.setAttribute("visibility","hidden");

+    </handler>

+    

+    <view name="_bg" visibility="hidden" opacity="0.7"

+          width="14" height="14" x="1" y="1" bgcolor="0xFFFFFF" />

+          

+    <view name="_itemRsc" resource="$once{ parent.iconRessourceName }" />

+    

+</class>

+

+</library>

diff --git a/WebContent/swf10/base/components/resetCombobox.lzx b/WebContent/swf10/base/components/resetCombobox.lzx
new file mode 100644
index 0000000..f95abff
--- /dev/null
+++ b/WebContent/swf10/base/components/resetCombobox.lzx
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+    <class name="resetCombobox" extends="combobox" editable="false" shownitems="12"

+    	   style="componentStyle" itemclassname="labeldTextListItem">

+    

+        <method name="reset" >

+            <![CDATA[

+                var currentCount = this.cblist.getNumItems();

+                for (var i = 0; i < currentCount; i++)

+                    this.removeItemAt(0);

+                this.clearSelection();

+            ]]>

+        </method>

+    

+    </class>

+        

+</library>

diff --git a/WebContent/swf10/base/components/scrollbars/library.lzx b/WebContent/swf10/base/components/scrollbars/library.lzx
new file mode 100644
index 0000000..9ee00e1
--- /dev/null
+++ b/WebContent/swf10/base/components/scrollbars/library.lzx
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+	<!-- APL Author sebawagner -->

+	<resource name="omscrolltrack_y_rsc" src="resources/y_scrolltrack.swf" />

+	

+	<!-- APL Author sebawagner -->

+    <resource name="omscrollbar_ythumbmiddle_rsc" src="resources/scrollthumb_y_mid.swf" />

+    <!-- APL Author sebawagner -->

+    <resource name="omscrollbar_ythumbtop_rsc" src="resources/scrollthumb_y_top.swf" />

+    <!-- APL Author sebawagner -->

+    <resource name="omscrollbar_ythumbbottom_rsc" src="resources/scrollthumb_y_bottom.swf" />

+    <!-- APL Author sebawagner -->

+   	<resource name="omscrolltrack_x_rsc" src="resources/x_scrolltrack.swf" />

+	<!-- APL Author sebawagner -->

+    <resource name="omscrollbar_xthumbmiddle_rsc" src="resources/scrollthumb_x_mid.swf" />

+    <!-- APL Author sebawagner -->

+    <resource name="omscrollbar_xthumbleft_rsc" src="resources/scrollthumb_x_left.swf" />

+    <!-- APL Author sebawagner -->

+    <resource name="omscrollbar_xthumbright_rsc" src="resources/scrollthumb_x_right.swf" />

+

+	<include href="om_vscrollbar.lzx"/>

+	<include href="om_hscrollbar.lzx"/>

+

+</library>

diff --git a/WebContent/swf10/base/components/scrollbars/om_hscrollbar.lzx b/WebContent/swf10/base/components/scrollbars/om_hscrollbar.lzx
new file mode 100644
index 0000000..9ea8b63
--- /dev/null
+++ b/WebContent/swf10/base/components/scrollbars/om_hscrollbar.lzx
@@ -0,0 +1,41 @@
+<library>
+
+<class name="om_hscrollbar" extends="basescrollbar" styleable="false"
+    axis="x">
+
+    <!--- @keywords private -->
+    <attribute name="height" value="10"/>
+    
+    <!--- @keywords private -->
+    <method name="_showEnabled">
+        <![CDATA[
+        if (!_enabled) {
+        	//this.scrolltrack.thumb.setAttribute('height', 0);
+            this.scrolltrack.thumb.setAttribute('visibility', 'hidden');
+        } else {
+            this.scrolltrack.thumb.setAttribute('visibility', 'visible');
+        }
+        super._showEnabled();
+    ]]>
+    </method>
+
+	<view name="rightarrow" width="0" />
+    <view name="scrolltrack">
+    	 <basescrolltrack name="left"
+           resource="omscrolltrack_x_rsc" stretches="width">
+         	<attribute name="height" value="${parent.height}"/>
+            <attribute name="width" value="${parent.width}"/>  
+         </basescrolltrack>
+         <basescrollthumb name="thumb" x="1">
+             <view resource="omscrollbar_xthumbleft_rsc"/>
+             <view resource="omscrollbar_xthumbmiddle_rsc" stretches="both"/>
+             <view resource="omscrollbar_xthumbright_rsc"/>
+             <stableborderlayout axis="x"/>
+        </basescrollthumb>
+    </view>
+
+	<view height="0" name="leftarrow" />
+    <stableborderlayout axis="x"/>
+
+</class>
+</library>
diff --git a/WebContent/swf10/base/components/scrollbars/om_vscrollbar.lzx b/WebContent/swf10/base/components/scrollbars/om_vscrollbar.lzx
new file mode 100644
index 0000000..d668899
--- /dev/null
+++ b/WebContent/swf10/base/components/scrollbars/om_vscrollbar.lzx
@@ -0,0 +1,41 @@
+<library>
+
+<class name="om_vscrollbar" extends="basescrollbar" styleable="false"
+    axis="y">
+
+    <!--- @keywords private -->
+    <attribute name="width" value="10"/>
+    
+    <!--- @keywords private -->
+    <method name="_showEnabled">
+        <![CDATA[
+        if (!_enabled) {
+        	//this.scrolltrack.thumb.setAttribute('height', 0);
+            this.scrolltrack.thumb.setAttribute('visibility', 'hidden');
+        } else {
+            this.scrolltrack.thumb.setAttribute('visibility', 'visible');
+        }
+        super._showEnabled();
+    ]]>
+    </method>
+
+	<view name="toparrow" height="0" />
+    <view name="scrolltrack">
+    	 <basescrolltrack name="top"
+           resource="omscrolltrack_y_rsc" stretches="height">
+         	<attribute name="height" value="${parent.height}"/>
+            <attribute name="width" value="${parent.width}"/>  
+         </basescrolltrack>
+         <basescrollthumb name="thumb" x="1">
+             <view resource="omscrollbar_ythumbtop_rsc"/>
+             <view resource="omscrollbar_ythumbmiddle_rsc" stretches="both"/>
+             <view resource="omscrollbar_ythumbbottom_rsc"/>
+             <stableborderlayout axis="y"/>
+        </basescrollthumb>
+    </view>
+
+	<view height="0" name="bottomarrow" />
+    <stableborderlayout axis="y"/>
+
+</class>
+</library>
diff --git a/WebContent/swf10/base/components/scrollbars/resources/scrollthumb_x_left.swf b/WebContent/swf10/base/components/scrollbars/resources/scrollthumb_x_left.swf
new file mode 100644
index 0000000..fd9411b
--- /dev/null
+++ b/WebContent/swf10/base/components/scrollbars/resources/scrollthumb_x_left.swf
Binary files differ
diff --git a/WebContent/swf10/base/components/scrollbars/resources/scrollthumb_x_mid.swf b/WebContent/swf10/base/components/scrollbars/resources/scrollthumb_x_mid.swf
new file mode 100644
index 0000000..fff3744
--- /dev/null
+++ b/WebContent/swf10/base/components/scrollbars/resources/scrollthumb_x_mid.swf
Binary files differ
diff --git a/WebContent/swf10/base/components/scrollbars/resources/scrollthumb_x_right.swf b/WebContent/swf10/base/components/scrollbars/resources/scrollthumb_x_right.swf
new file mode 100644
index 0000000..74ea64a
--- /dev/null
+++ b/WebContent/swf10/base/components/scrollbars/resources/scrollthumb_x_right.swf
Binary files differ
diff --git a/WebContent/swf10/base/components/scrollbars/resources/scrollthumb_y_bottom.swf b/WebContent/swf10/base/components/scrollbars/resources/scrollthumb_y_bottom.swf
new file mode 100644
index 0000000..09a370b
--- /dev/null
+++ b/WebContent/swf10/base/components/scrollbars/resources/scrollthumb_y_bottom.swf
Binary files differ
diff --git a/WebContent/swf10/base/components/scrollbars/resources/scrollthumb_y_mid.swf b/WebContent/swf10/base/components/scrollbars/resources/scrollthumb_y_mid.swf
new file mode 100644
index 0000000..af9015f
--- /dev/null
+++ b/WebContent/swf10/base/components/scrollbars/resources/scrollthumb_y_mid.swf
Binary files differ
diff --git a/WebContent/swf10/base/components/scrollbars/resources/scrollthumb_y_top.swf b/WebContent/swf10/base/components/scrollbars/resources/scrollthumb_y_top.swf
new file mode 100644
index 0000000..c701740
--- /dev/null
+++ b/WebContent/swf10/base/components/scrollbars/resources/scrollthumb_y_top.swf
Binary files differ
diff --git a/WebContent/swf10/base/components/scrollbars/resources/x_scrolltrack.swf b/WebContent/swf10/base/components/scrollbars/resources/x_scrolltrack.swf
new file mode 100644
index 0000000..937dd8d
--- /dev/null
+++ b/WebContent/swf10/base/components/scrollbars/resources/x_scrolltrack.swf
Binary files differ
diff --git a/WebContent/swf10/base/components/scrollbars/resources/y_scrolltrack.swf b/WebContent/swf10/base/components/scrollbars/resources/y_scrolltrack.swf
new file mode 100644
index 0000000..b05b88a
--- /dev/null
+++ b/WebContent/swf10/base/components/scrollbars/resources/y_scrolltrack.swf
Binary files differ
diff --git a/WebContent/swf10/base/components/scrollbars/scrollbar_yresources.lzx b/WebContent/swf10/base/components/scrollbars/scrollbar_yresources.lzx
new file mode 100644
index 0000000..bc08ffe
--- /dev/null
+++ b/WebContent/swf10/base/components/scrollbars/scrollbar_yresources.lzx
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+

+    

+</library>
\ No newline at end of file
diff --git a/WebContent/swf10/base/components/text/borderedInputtext.lzx b/WebContent/swf10/base/components/text/borderedInputtext.lzx
new file mode 100644
index 0000000..851449e
--- /dev/null
+++ b/WebContent/swf10/base/components/text/borderedInputtext.lzx
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+<class name="borderedInputtext" extends="view" bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" >

+	<attribute name="width" value="200" type="size" />

+	<attribute name="height" value="18" type="size" />

+    <attribute name="tvalue" type="string" value="default"/>

+    <attribute name="sendchange" value="false" type="boolean" />

+    <attribute name="multiline" value="false"/>

+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />

+	<method name="setLabelId" args="_labelid" >

+		this.labelid = _labelid;

+		this.setAttribute('text',canvas.getLabelName(this.labelid));

+	</method>

+    <attribute name="checkIsNumber" value="false" type="boolean" />

+    <attribute name="checkIsDouble" value="false" type="boolean" />

+    <attribute name="editable" value="true" setter="setEditable(editable)" type="boolean" />

+    <method name="setEditable" args="value">

+        this.editable=value;

+    	this.field.setEnabled(value);

+    </method>

+    <event name="onblur" />

+    <method name="setItemEnabled" args="value">

+    	this.field.setEnabled(value);

+    </method>    

+    <attribute name="maxlength" value="null" type="number"/>         	

+	<attribute name="text" type="string" value="" />

+		<!-- -->

+  <inputtext name="field" fontsize="10" text="${ this.parent.text }" x="1" y="1" bgcolor="0xFFFFFF" 

+  	multiline="$once{parent.multiline}" width="${ this.parent.width-2 }" height="${ this.parent.height-2 }" >

+  		<attribute name="preText" value="" type="string" />

+  		<handler name="onfocus">

+  			this.preText = this.getText();

+  		</handler>

+      	<handler name="onblur">

+      		var t = this.getText();

+      		if (this.parent.checkIsNumber){

+      			if ( isNaN( Number(t) ) ){

+      				if (this.parent.checkIsDouble){

+      					t="0.00";

+      				} else {

+      					t=this.preText;

+      				}

+      				this.setAttribute('text',t);

+      			}

+      		}

+            if (this.parent.sendchange) this.parent.parent.sendchange(this.parent,this.parent.tvalue,this.getText());

+            if (this.parent.onblur) this.parent.onblur.sendEvent();

+      	</handler>

+        <handler name="oninit">

+            this.setEnabled(this.parent.editable);

+        </handler>       	           

+	</inputtext>	   

+	 

+	<method name="getText">

+		return this.field.getText();

+	</method>

+	<method name="setText" args="txt">

+		this.setAttribute('text',txt);

+	</method> 		

+</class>

+

+<class name="borderedMultiInputtext" extends="view">

+	<attribute name="width" value="200" type="size" />

+	<attribute name="height" value="18" type="size" />

+    <attribute name="tvalue" type="string" value="default"/>

+    <attribute name="sendchange" value="false" type="boolean" />

+    <attribute name="multiline" value="false"/>

+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />

+	<method name="setLabelId" args="_labelid" >

+		this.labelid = _labelid;

+		this.setAttribute('text',canvas.getLabelName(this.labelid));

+	</method>

+    <attribute name="checkIsNumber" value="false" type="boolean" />

+    <attribute name="checkIsDouble" value="false" type="boolean" />

+    <attribute name="editable" value="true" setter="setEditable(editable)" type="boolean" />

+    <method name="setEditable" args="value">

+        this.editable=value;

+    	this.field.setEnabled(value);

+    </method>

+    <method name="setItemEnabled" args="value">

+    	this.field.setEnabled(value);

+    </method>    

+    <attribute name="maxlength" value="null" type="number"/>         	

+	<attribute name="bgcolor" value="0xA3B2CC" type="color" />

+	<attribute name="text" type="string" value="" />

+		<!-- -->

+  <inputtext name="field" fontsize="10" text="${ this.parent.text }" x="1" y="1" bgcolor="0xFFFFFF" 

+  	multiline="true" width="${ this.parent.width-2 }" height="${ this.parent.height-2 }" >

+      	<handler name="onblur">

+      		var t = this.getText();

+      		if (this.parent.checkIsNumber){

+      			if ( isNaN( Number(t) ) ){

+      				if (this.parent.checkIsDouble){

+      					t="0.00";

+      				} else {

+      					t="0";

+      				}

+      				this.setAttribute('text',t);

+      			}

+      		}

+            if (this.parent.sendchange) this.parent.parent.sendchange(this.parent,this.parent.tvalue,this.getText());

+      	</handler>   

+        <handler name="oninit">

+            this.setEnabled(this.parent.editable);

+            if(this.multiline) this.init();

+        </handler>       	           

+        <method name="init">

+            super.init();        

+        </method>

+	</inputtext>	   

+	 

+	<method name="getText">

+		return this.field.getText();

+	</method>

+	<method name="setText" args="txt">

+		this.setAttribute('text',txt);

+	</method> 		

+</class>

+

+<class name="borderedPasswordText" extends="view">

+	<attribute name="width" value="200" type="size" />

+	<attribute name="height" value="18" type="size" />

+    <attribute name="tvalue" type="string" value="default"/>

+    <attribute name="sendchange" value="false" type="boolean" />

+    <attribute name="multiline" value="false"/>

+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />

+	<method name="setLabelId" args="_labelid" >

+		this.labelid = _labelid;

+		this.setAttribute('text',canvas.getLabelName(this.labelid));

+	</method>

+    <attribute name="checkIsNumber" value="false" type="boolean" />

+    <attribute name="checkIsDouble" value="false" type="boolean" />

+    <attribute name="editable" value="true" setter="setEditable(editable)" type="boolean" />

+    <method name="setEditable" args="value">

+        this.editable=value;

+    	this.field.setEnabled(value);

+    </method>

+    <method name="setItemEnabled" args="value">

+    	this.field.setEnabled(value);

+    </method>    

+    <attribute name="maxlength" value="null" type="number"/>         	

+	<attribute name="bgcolor" value="0xA3B2CC" type="color" />

+	<attribute name="text" type="string" value="" />

+		<!-- -->

+  <inputtext name="field" fontsize="10" text="${ this.parent.text }" x="1" y="1" bgcolor="0xFFFFFF" 

+  	multiline="$once{parent.multiline}" password="true" width="${ this.parent.width-2 }" height="${ this.parent.height-2 }" >

+      	<handler name="onblur">

+      		var t = this.getText();

+      		if (this.parent.checkIsNumber){

+      			if ( isNaN( Number(t) ) ){

+      				if (this.parent.checkIsDouble){

+      					t="0.00";

+      				} else {

+      					t="0";

+      				}

+      				this.setAttribute('text',t);

+      			}

+      		}

+            if (this.parent.sendchange) this.parent.parent.sendchange(this.parent,this.parent.tvalue,this.getText());

+      	</handler>   

+        <handler name="oninit">

+            this.setEnabled(this.parent.editable);

+        </handler>       	           

+	</inputtext>	   

+	 

+	<method name="getText">

+		return this.field.getText();

+	</method>

+	<method name="setText" args="txt">

+		this.setAttribute('text',txt);

+	</method> 		

+</class>

+

+</library>

diff --git a/WebContent/swf10/base/components/text/labelText.lzx b/WebContent/swf10/base/components/text/labelText.lzx
new file mode 100644
index 0000000..c5f961c
--- /dev/null
+++ b/WebContent/swf10/base/components/text/labelText.lzx
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+<class name="labelText" extends="text" resize="true" fontsize="11" >

+

+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />

+	<method name="setLabelId" args="_labelid" >

+		this.labelid = _labelid;

+		this.setAttribute('text',canvas.getLabelName(this.labelid));

+	</method>

+	

+</class>

+

+

+<class name="labelTextWidthTooltip" extends="text" resize="true" 

+	   onmouseover="" onmouseout=""

+	   fontsize="11" >

+	

+	<attribute name="labelLabelid" type="number" value="-1" />

+

+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />

+	<method name="setLabelId" args="_labelid" >

+		this.labelid = _labelid;

+		this.setAttribute('text',canvas.getLabelName(this.labelid));

+	</method>

+	

+	<labelTooltip name="_labelTooltip" labelid="$once{ parent.labelLabelid }" />

+	

+</class>

+

+<class name="labeldTextListItem" extends="textlistitem">

+	<attribute name="labelid" type="number" setter="setLabelId(labelid)" />

+    <method name="setLabelId" args="_labelid" >

+        this.labelid = _labelid;

+        this.setAttribute('text',canvas.getLabelName(this.labelid));

+    </method>

+    <labelTooltip initByDataPathparent="true" />

+</class>

+

+</library>

diff --git a/WebContent/swf10/base/components/text/labelTooltip.lzx b/WebContent/swf10/base/components/text/labelTooltip.lzx
new file mode 100644
index 0000000..442eb3c
--- /dev/null
+++ b/WebContent/swf10/base/components/text/labelTooltip.lzx
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+<class name="labelTooltip" extends="view" visible="false" >

+

+	<attribute name="inittwice" value="false" type="boolean" />

+    <attribute name="multiline" value="false" type="boolean" />

+    <attribute name="ismenubuttonlabel" value="false" type="boolean" />

+    <attribute name="initByDataPathparent" value="false" type="boolean" />

+    

+    <attribute name="holder" value="null" />

+    

+    <event name="setContent" />

+        

+    <handler name="onmouseover" reference="this.parent">

+    	<![CDATA[

+            this.doonmouseover();

+        ]]>        

+    </handler>

+    <handler name="onmouseout" reference="this.parent">

+        this.cleanHolder();

+    </handler>

+    

+    <method name="doonmouseover">

+    	<![CDATA[

+            this.setContent.sendEvent();

+	    	if (this.ismenubuttonlabel){

+	    		this.parent.setLabel();

+	    	}

+	    	if (this.inittwice){

+	    		this.setAttribute('text',canvas.getLabelName(this.labelid));

+	    	}

+	    	if (this.initByDataPathparent){

+                this.setAttribute('text',parent.text);

+            }

+	        var xVal = canvas.getMouse('x');

+	        var yVal = canvas.getMouse('y');

+			////Debug.write("mytext: ",this.mytext);

+			if (this.multiline && this.text.length!=0){

+				this.holder = new lz.xmlCrmTooltipMulti(canvas,{text:this.text,holder:this});

+			} else if (this.text.length!=0){

+				this.holder = new lz.xmlCrmTooltip(canvas,{text:this.text,holder:this});

+			}

+	        if (xVal<canvas.width/2){

+	            xVal += 0;

+	        } else {

+	            xVal -= this.holder.width-14;

+	        }

+	        if (yVal<canvas.height/2){

+	            yVal += 24;

+	        } else {

+	            yVal -= 24;

+	        }

+	        this.holder.setAttribute('x',xVal);

+	        this.holder.setAttribute('y',yVal);

+	        canvas.registerToolTip(this);

+        ]]>        

+    </method>

+    

+    <handler name="onmouseup" reference="this.parent">

+        this.cleanHolder();

+    </handler>

+    <handler name="onclick" reference="this.parent">

+        this.cleanHolder();

+    </handler>  

+    

+    <method name="cleanHolder">

+        if (this.holder!=null) {

+            this.holder.destroy();

+            this.holder = null; 

+            canvas.clearToolTip();

+        }

+    </method> 

+      

+    <attribute name="labelid" type="number" setter="setLabelId(labelid)" />

+    <method name="setLabelId" args="_labelid" >

+        this.labelid = _labelid;

+        this.setAttribute('text',canvas.getLabelName(this.labelid));

+    </method>

+    <attribute name="text" value="" type="string" />

+</class>

+

+<class name="xmlCrmTooltip" extends="view" bgcolor="0x000000"

+    width="${ this._text.width+2 }" height="${ this._text.height+2 }" >

+    <switch>

+	  <when property="$as3">

+		<passthrough>

+		  import flash.filters.DropShadowFilter;

+		</passthrough>

+	  </when>

+	</switch>

+    <attribute name="text" value="" type="string" />

+    <attribute name="holder" value="null" />

+    <text x="1" y="1" text="${ parent.text }" resize="true" 

+        fontsize="10" name="_text" bgcolor="0xFFFFFF" />

+    <handler name="onmouseout">

+        this.destroy();

+    </handler>

+    <handler name="oninit">

+        this.setShadow();

+    </handler>

+    <method name="setShadow" >

+        <![CDATA[

+        if (this.isinited){

+            this.normalMC = this.getDisplayObject();

+           	this.displacementMap = new DropShadowFilter();

+            this.normalMC.filters = [this.displacementMap];

+        }

+        ]]>              

+    </method> 

+</class>

+

+<class name="xmlCrmTooltipMulti" extends="view" bgcolor="0x000000" 

+    width="${ this._text.width+2 }" height="${ this._text.height+2 }" >

+    <switch>

+	  <when property="$as3">

+		<passthrough>

+		  import flash.filters.DropShadowFilter;

+		</passthrough>

+	  </when>

+	</switch>

+    <attribute name="text" value="" type="string" />

+    <attribute name="holder" value="null" />

+    <text x="1" y="1" text="${ parent.text }" resize="true" 

+        fontsize="10" name="_text" bgcolor="0xFFFFFF" multiline="true" />

+    <handler name="oninit">

+        this.setShadow();

+    </handler>

+    <method name="setShadow" >

+        <![CDATA[

+        if (this.isinited){

+            this.normalMC = this.getDisplayObject();

+           	this.displacementMap = new DropShadowFilter();

+            this.normalMC.filters = [this.displacementMap];

+        }

+        ]]>              

+    </method>	    

+    <handler name="onmouseout">

+        this.destroy();

+    </handler>

+</class>

+

+</library>

diff --git a/WebContent/swf10/base/components/text/library.lzx b/WebContent/swf10/base/components/text/library.lzx
new file mode 100644
index 0000000..962a736
--- /dev/null
+++ b/WebContent/swf10/base/components/text/library.lzx
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+	

+	<include href="borderedInputtext.lzx" />

+	<include href="labelText.lzx" />

+	<include href="labelTooltip.lzx" />

+	

+

+</library>

diff --git a/WebContent/swf10/base/functions.lzx b/WebContent/swf10/base/functions.lzx
new file mode 100644
index 0000000..14dffd5
--- /dev/null
+++ b/WebContent/swf10/base/functions.lzx
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+
+<!-- 
+
+NOTICE:
+All contents regarding "chat" are moved to /modules/chat/globalMethods.lzx
+Issue353. 2008.3.28 H.kuze(minamotonoason)
+
+-->
+
+
+<script>
+<![CDATA[
+
+// Load Labels from List
+var labels = new Object();
+
+String.prototype.startsWith = function(prefix) {
+    return (this.indexOf(prefix) === 0);
+};	
+
+function setLabelObjectByHundred(no, obj){
+   	for (var i = 0; i < obj.length; ++i) {
+	    labels["id" + obj[i].id] = obj[i].value;
+   	}
+}
+
+function getLabelTag(labelid){
+	var l = labels["id" + labelid];
+	if (l != undefined) {
+		if ($debug) l += " [" + labelid + "]";
+	} else {
+		l = "Error Missing [" + labelid + "]";
+	}
+    return l;
+}
+
+]]>
+</script>
+		
+</library>
diff --git a/WebContent/swf10/base/hibernate/hibRtmpConnection.lzx b/WebContent/swf10/base/hibernate/hibRtmpConnection.lzx
new file mode 100644
index 0000000..4765b64
--- /dev/null
+++ b/WebContent/swf10/base/hibernate/hibRtmpConnection.lzx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+    

+<dataset name="myresultnavi" />

+

+<dataset name="languagesSet" />        

+

+<dataset name="countrySet" />

+<dataset name="timeZoneSet" />

+

+<class name="userStatus" extends="view" width="250" height="30">

+    <attribute name="statusText" type="string" />

+    <attribute name="statusColor" type="number" value="0" />

+

+    <text name="status" width="240" height="20" x="5" y="5" fontstyle="bold" fgcolor="0" text="defaulttext" fontsize="10"/>

+

+    <handler name="oninit">

+        this.status.setAttribute("text", this.statusText);

+        this.status.setAttribute("fgcolor", this.statusColor);

+        this.setAttribute("visibility", "visible");

+        lz.Timer.addTimer( new LzDelegate( this, "selfDestroy" ), 3000 );

+    </handler>

+

+    <method name="selfDestroy" args="ignore=null">

+        this.destroy();

+    </method>

+</class>

+

+<class name="hibRtmpConnection" extends="rtmpConnection" debug="false" src="" >

+

+     <!--

+        The onconnect Method is triggered several times:

+             - When you enter a room the NetConnection will close and reconnect to the Scope of the Room

+             - When you leave the room again it will be re-connected to the default scope again

+      -->

+     <handler name="onconnect">

+		if($debug) Debug.info("hibRtmpConnection/onconnect send to LocalConnection ");

+		canvas.videoComp_lc.send(canvas.videoComp_lc_name, 'as3ConnectionSuccess');

+		

+		//reset rights

+        canvas.isAllowedToGiveExclusiveAudio = false;

+        // this.overwritePublicSID.doCall();

+        //this.setUsernameReconnect.doCall();

+    </handler>

+

+    <netRemoteCallHib name="overwritePublicSID" funcname="overwritePublicSID" >

+    	<netparam><method name="getValue"> return canvas.publicSID;</method></netparam>

+        <handler name="ondata" args="value">

+            //The onResult-Handler will be called be the rtmpconnection

+            if ($debug) Debug.write("overwritePublicSID: ",value);

+        </handler>

+    </netRemoteCallHib>

+

+    <handler name="onerror" args="value">

+        if ($debug) Debug.write("Connection error ",value);

+        // this.connect();

+    </handler>

+    

+</class>

+

+<hibRtmpConnection name="thishib" id="hib" />

+

+</library>

diff --git a/WebContent/swf10/base/hibernate/library.lzx b/WebContent/swf10/base/hibernate/library.lzx
new file mode 100644
index 0000000..78d99f9
--- /dev/null
+++ b/WebContent/swf10/base/hibernate/library.lzx
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+	<include href="netRemoteCallHib.lzx" />

+	<include href="hibRtmpConnection.lzx" />

+

+</library>

diff --git a/WebContent/swf10/base/hibernate/netRemoteCallHib.lzx b/WebContent/swf10/base/hibernate/netRemoteCallHib.lzx
new file mode 100644
index 0000000..bf28b46
--- /dev/null
+++ b/WebContent/swf10/base/hibernate/netRemoteCallHib.lzx
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+<class name="netRemoteCallHib" extends="netremotecall">

+

+	<!-- this should be the contentSaveWindow -->

+	<attribute name="returnObj" value="null" />

+	 

+	<!-- if true this object will register at the update-observer -->

+	<attribute name="registerObject" value="false" type="boolean" />

+	

+	<!-- show Error Messages with normal Box -->

+    <attribute name="activeErrorHandler" value="false" type="boolean" />	

+    

+	<!-- show Error Messages with normal Box -->

+    <attribute name="showLoading" value="true" type="boolean" />    

+	

+	<!-- show Error Messages with Callback Box -->

+	<attribute name="isCallBackHandler" value="false" type="boolean" />	

+	

+	<handler name="oninit">

+		if (this.registerObject) this.parent.addViewToObserver(this);

+	</handler>	

+	<method name="doCall">

+        //if (this.showLoading) canvas._loadingAll.setAttribute('visible',true);

+		//if($debug) Debug.write("netRemoteCallHib/doCall: [ " , this.funcname , " ]",this.parent);

+		this.callRPC(null);

+	</method>

+	

+	<event name="sendCallBack" />

+	

+	<!--

+

+	 -->

+	<handler name="ondata" args="value">

+		<![CDATA[

+			//Debug.write("ondata: ",this.funcname,value);

+			

+			//if (this.showLoading) canvas._loadingAll.setAttribute('visible',false);

+			

+			//Another Error Handler for the Form-Components

+			if (this.returnObj!=null && Number(value)>0) {

+				//Debug.write("this.returnObj.processNext");

+				this.returnObj.processNext();

+			} else if (this.returnObj!=null && Number(value)<0) {

+				this.returnObj.errorByCode(Number(value));

+			} else if (this.returnObj!=null && value==null) {

+				this.returnObj.errorByCode(-1);

+			}

+			

+            if (this.activeErrorHandler) {

+                if (Number(value)<0){

+                    if ($debug) Debug.warn("Received Error ID: ",value);					

+					if (this.isCallBackHandler) 

+					{

+					   //TODO: Fix error messages

+					   

+					} else {

+					   //TODO: Fix error messages

+					}

+                }

+            }			

+		]]>

+	</handler>	

+</class>

+

+</library>

diff --git a/WebContent/swf10/base/library.lzx b/WebContent/swf10/base/library.lzx
new file mode 100644
index 0000000..cde16f9
--- /dev/null
+++ b/WebContent/swf10/base/library.lzx
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+    <include href="functions.lzx" />

+    <include href="mainAttributes.lzx" />

+    <include href="mainDatasets.lzx" />

+    <include href="mainMethods.lzx" />

+    

+    <include href="remote/" />

+    <include href="components/" />

+    <include href="hibernate/" />

+	

+</library>

diff --git a/WebContent/swf10/base/mainAttributes.lzx b/WebContent/swf10/base/mainAttributes.lzx
new file mode 100644
index 0000000..ef0a0f3
--- /dev/null
+++ b/WebContent/swf10/base/mainAttributes.lzx
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+

+<!-- all attributes for main.lzx -->

+

+<library>

+	

+	<!--- 

+	   Audio-Video Quality Settings

+		overwritten by values from the config.xml 

+	 -->

+	<attribute name="framesPerSecond" value="30" type="number" />

+	<attribute name="bandwidthNeededNormal" value="16384" type="number" />

+	<attribute name="bandwidthNeededBest" value="32768" type="number" />

+	<attribute name="camQualityNormal" value="75" type="number" />

+	<attribute name="camQualityBest" value="75" type="number" />

+	<attribute name="microphoneRateNormal" value="22" type="number" /> 

+	<attribute name="microphoneRateBest" value="44" type="number" /> 

+		

+

+	<!--- 

+        Holds a reference to the current VideoCOntainer Object

+        containing the VideoViews

+        and some more references to temp-objects

+	 -->

+	<attribute name="_videocontainer" value="null" />

+

+	<attribute name="currentNC" value="null" />

+

+	<attribute name="currentRoomObject" value="null"/>

+

+	<attribute name="userobject" value="null"/>

+

+	<attribute name="webAppRootKey" value="" type="string" />

+

+	<attribute name="httpRootKey" value="/" type="string" />

+	

+	<attribute name="proxyType" value="none" type="string" />

+

+	<!---

+		A reference to the current screenSharingDialogContainer or 

+		null if there is nothing to stream

+	 -->

+	<attribute name="screenSharingDialogContainer" value="null" />

+	

+	<!--

+	    this value indicates if this user is allowed to draw to the Whiteboard

+	    If this user is currently Moderator => he ALWAYS can draw to whiteboard

+	    even if this isAllowedToDraw == false

+	 -->

+	<attribute name="isAllowedToDraw" value="false" type="boolean" />

+	

+	<attribute name="isAllowedToScreenShare" value="false" type="boolean" />

+	

+	<attribute name="isAllowedToRemoteControl" value="false" type="boolean" />

+	

+	<attribute name="isAllowedToGiveExclusiveAudio" value="false" type="boolean" />

+	

+	<attribute name="ismoderator" value="false" type="boolean" />

+	

+	<attribute name="isInterview" value="false" type="boolean" />

+	

+	<!--

+	   Those values are fixed values of the video positions of the videos from the interview room type

+	 -->

+	<attribute name="interviewPod1_x" value="320" type="number" />

+	<attribute name="interviewPod1_y" value="28" type="number" />

+	

+	<attribute name="interviewPod2_x" value="644" type="number" />

+    <attribute name="interviewPod2_y" value="28" type="number" />

+    

+    <!-- 

+		Holds a reference to the current tooltip, if there is one

+	 -->

+	<attribute name="currentToolTip" value="null" />

+	

+	<method name="registerToolTip" args="viewInstance">

+		if (this.currentToolTip != null) {

+			this.currentToolTip.cleanHolder();

+		}

+		this.currentToolTip = viewInstance;

+	</method>

+	

+	<method name="clearToolTip">

+		if (this.currentToolTip != null) {

+			this.currentToolTip.cleanHolder();

+			this.currentToolTip = null;

+		}

+	</method>

+

+</library>

diff --git a/WebContent/swf10/base/mainDatasets.lzx b/WebContent/swf10/base/mainDatasets.lzx
new file mode 100644
index 0000000..8f6b306
--- /dev/null
+++ b/WebContent/swf10/base/mainDatasets.lzx
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+

+<!-- all datasets for main.lzx -->

+

+<library>

+

+<!-- get values from config.xml -->

+<dataset type="http" name="myConfigSet" request="false" ondata="parent.mainTheme.loadTheme()">

+    <handler name="oninit">

+        var d = new Date();

+        this.setAttribute("src","config.xml?random="+d.getTime());

+        this.doRequest();

+    </handler>

+    <handler name="ondata">

+        if ($debug) Debug.write("ondata");

+    </handler>

+    <handler name="onerror" args="e">

+        if ($debug) Debug.write("onerror",e);

+    </handler>

+    <handler name="ontimeout" args="e">

+        if ($debug) Debug.write("ontimeout",e);

+    </handler>

+</dataset>

+

+<!-- get values from config.xml -->

+<dataset type="http" name="mainTheme" request="false" ondata="canvas.myinit()">

+    <method name="loadTheme">

+        var d = new Date();

+        this.setAttribute("src","default-theme.xml?random="+d.getTime());

+        this.doRequest();

+    </method>

+    <handler name="ondata">

+        if ($debug) Debug.write("ondata");

+    </handler>

+    <handler name="onerror" args="e">

+        if ($debug) Debug.write("onerror",e);

+    </handler>

+    <handler name="ontimeout" args="e">

+        if ($debug) Debug.write("ontimeout",e);

+    </handler>

+</dataset>

+

+</library>

diff --git a/WebContent/swf10/base/mainMethods.lzx b/WebContent/swf10/base/mainMethods.lzx
new file mode 100644
index 0000000..6fccb48
--- /dev/null
+++ b/WebContent/swf10/base/mainMethods.lzx
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+

+<!-- methods for main.lzx -->

+

+<library>

+    

+    <method name="myinit">

+        <![CDATA[

+        canvas.mediaerrortimeout = 30000;

+        canvas.medialoadtimeout = 30000;

+        

+        if($debug) Debug.write("main.lzx/config.xml ondata",this);

+        

+        //Audio-Video-Settings

+        this.setAttribute('loudnessAcitviation',canvas.myConfigSet.getPointer().xpathQuery('config/loudnessAcitviation/text()'));

+        this.setAttribute('framesPerSecond',Number(canvas.myConfigSet.getPointer().xpathQuery('config/framesPerSecond/text()')));  

+        this.setAttribute('bandwidthNeededNormal',Number(canvas.myConfigSet.getPointer().xpathQuery('config/bandwidthNeededNormal/text()')));  

+        this.setAttribute('bandwidthNeededBest',Number(canvas.myConfigSet.getPointer().xpathQuery('config/bandwidthNeededBest/text()')));  

+        this.setAttribute('camQualityNormal',Number(canvas.myConfigSet.getPointer().xpathQuery('config/camQualityNormal/text()')));  

+        this.setAttribute('camQualityBest',Number(canvas.myConfigSet.getPointer().xpathQuery('config/camQualityBest/text()')));  

+        this.setAttribute('microphoneRateNormal',Number(canvas.myConfigSet.getPointer().xpathQuery('config/microphoneRateNormal/text()')));  

+        this.setAttribute('microphoneRateBest',Number(canvas.myConfigSet.getPointer().xpathQuery('config/microphoneRateBest/text()')));  

+        

+        this.setAttribute('httpRootKey',canvas.myConfigSet.getPointer().xpathQuery('config/httpRootKey/text()'));

+        

+        this.setAttribute('proxyType',canvas.myConfigSet.getPointer().xpathQuery('config/proxyType/text()'));  

+

+        var _url = this.getDisplayObject().loaderInfo.url;

+        if($debug) Debug.write("_url: ",_url);

+        

+        ]]>

+    </method>

+    

+    <method name="getLabelName" args="id">

+    	// return "label "+id;

+        //if($debug) Debug.write("main.lzx/getLabelName()",id);

+        return getLabelTag(id);

+    </method>

+    

+    <method name="getThemeImage" args="tName">

+		if ($debug) Debug.write("load Image by Name SWF10: ",tName);

+		var tPath = canvas.mainTheme.getPointer().xpathQuery("theme/resource[@name='"+tName+"']/@src");

+		if ($debug) Debug.write("tPath SWF10 "+tPath);

+		return tPath;

+	</method>

+	

+	<method name="getThemeColor" args="tColor">

+		if ($debug) Debug.write("load Color by Name SWF10: ",tColor);

+		var tColor = canvas.mainTheme.getPointer().xpathQuery("theme/color[@name='"+tColor+"']/@value");

+		if ($debug) Debug.write("tColor SWF10 "+tColor);

+		return tColor;

+	</method>

+    

+</library>

diff --git a/WebContent/swf10/base/remote/baseVideoStream.lzx b/WebContent/swf10/base/remote/baseVideoStream.lzx
new file mode 100644
index 0000000..a6f731c
--- /dev/null
+++ b/WebContent/swf10/base/remote/baseVideoStream.lzx
@@ -0,0 +1,365 @@
+<library>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+

+<!---

+	extends the Video-View with Streaming functions

+ -->

+

+<class name="baseVideoStream" extends="baseVideoView">

+

+    <switch>

+    <when property="$as3">

+        <passthrough>

+            import flash.net.*;

+            import flash.media.*

+        </passthrough>

+    </when>

+    </switch>

+    

+    <attribute name="yDebug" value="-20" type="number" />

+    

+    <method name="getYDebug">

+    	this.yDebug += 20;

+    	return this.yDebug;

+    </method>

+

+	<!--- the NetStream Object

+              @keywords final -->

+	<attribute name="_ns" value="null" />

+

+	<!--- This value does indicate if this stream play or broadcasts

+              @keywords readonly -->

+	<attribute name="mode" value="play" type="string" />

+

+	<!--- This is the current buffer used, in Live Streaming this MUST be 0

+              @keywords readonly -->

+	<attribute name="bufferTime" value="0" type="number" />

+

+	<!--- This is a reference to the current microphone, only set if broadcasting

+              @keywords readonly -->

+	<attribute name="micro" value="null" />

+

+	<!--- This is a reference to the current camara, only set if broadcasting

+              @keywords readonly -->

+	<attribute name="camera" value="null" />

+

+	<!--- Reference To the Sound Object

+		@keywords final -->

+	<attribute name="soundRef" value="null" />

+	<!--- Reference To the Sound MovieClip

+		@keywords final -->

+	<attribute name="soundRefMC" value="null" />

+

+    <!--- Default mic gain -->

+    <attribute name="micGain" value="50" type="number"/>

+

+	<event name="onMetaDataEvent" />

+	<event name="onPlayStatusEvent" />

+	<event name="onCuePointEvent" />

+	<event name="onAsyncError" />

+	<event name="onNetStatus" />

+	<event name="onIoError" />

+

+	<!-- save value for restart -->

+        <attribute name="streamName" />

+        <attribute name="delay" />

+	<!--- @keywords private -->

+	<method name="createStream">

+		var tStream = this._findnc();

+        if (!tStream.connected) {

+        	if ($debug) Debug.warn("NetConnection is not connected");

+        }

+		this._ns = new NetStream(tStream);

+		//see: http://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/flash/net/NetStream.html

+        //according to the docs the construct to catch event has to be implemented like this.

+        var t = this;

+		var clientObject = new Object();

+		clientObject.onMetaData = function(metadata:Object):void {

+			t.onMetaData(metadata);

+		};

+		clientObject.onPlayStatus = function(metadata:Object):void {

+			t.onPlayStatus(metadata);

+		};

+		clientObject.onCuePoint = function(metadata:Object):void {

+			t.onCuePoint(metadata);

+		};

+		clientObject.ioError = function(error:Object):void {

+			t.ioError(error);

+		};

+		clientObject.ioError = function(error:Object):void {

+			t.ioError(error);

+		};

+		clientObject.netStatus = function(status:Object):void {

+			t.netStatus(status);

+		};

+		clientObject.asyncError = function(error:Object):void {

+			t.asyncError(error);

+		};

+		this._ns.client = clientObject;

+	</method>

+	

+	<method name="asyncError" args="error">

+		if($debug) Debug.write("simpleNetStream asyncError",error);

+		this.onAsyncError.sendEvent(error);

+	</method>

+	

+	<method name="netStatus" args="status">

+		if($debug) Debug.write("simpleNetStream netStatus",status);

+		this.onNetStatus.sendEvent(status);

+	</method>

+	

+	<method name="ioError" args="error">

+		if($debug) Debug.write("simpleNetStream ioError",error);

+		this.onIoError.sendEvent(error);

+	</method>

+

+    <method name="onCuePoint" args="info"><![CDATA[

+        if($debug) Debug.write("simpleNetStream onCuePoint",info);

+        this.onCuePointEvent.sendEvent(info);

+    ]]></method>

+

+    <method name="onPlayStatus" args="info"><![CDATA[

+        if($debug) Debug.write("simpleNetStream onPlayStatus",info);

+        this.onPlayStatusEvent.sendEvent(info);

+    ]]></method>

+

+    <method name="onMetaData" args="info"><![CDATA[

+        if($debug) Debug.write("simpleNetStream onMetaData",info);

+        this.onMetaDataEvent.sendEvent(info);

+    ]]></method>

+

+    <!--- Find the Flash NetConnection object.

+          @keywords private -->

+    <method name="_findnc">

+    	if (canvas.currentNC == null) {

+    		if ($debug) Debug.warn("canvas.currentNC is NULL, maybe connection did fail?");

+    	}

+        return canvas.currentNC;

+    </method>

+

+	<!---

+		Plays a Video Stream, makes a new Instance of a NetStream, if previous NetStream

+		is still open it will first close that, used to subscribe to a live-stream

+		@param string streamName the streamname to play

+		@param number delay The time it should seek, for Live-Streams this value should be -1

+	 -->

+	<method name="playStream" args="streamName,delay">

+		<![CDATA[

+			this.streamName=streamName;

+			this.delay=delay;

+			if (this._ns!=null){

+				this._stop();

+			}

+			this.mode = "play";

+			this.createStream();

+			//invokes Method in baseVideoView which shows the stream

+			this.attachVideo(this._ns);

+			//FIXME: Commented out, cause this leads to Buffer-Full/Buffer-Empty Events

+			//after re-syncing the stream

+			//this.setBuffer(0.1);

+			if (delay == 0) {

+			    this._ns.play(streamName);

+			} else {

+			    this._ns.play(streamName,delay);

+			}

+		]]>

+	</method>

+

+	<method name="justPlayStream" args="streamName,delay">

+        <![CDATA[

+            this.streamName=streamName;

+            this.delay=delay;

+            if (this._ns!=null){

+            	if ($debug) Debug.write("STOP NS is NOT null ")

+                this._stop();

+            }

+            this.mode = "play";

+            this.createStream();

+            //invokes Method in baseVideoView which shows the stream

+            this.attachVideo(this._ns);

+            //FIXME: Commented out, cause this leads to Buffer-Full/Buffer-Empty Events

+            //after re-syncing the stream

+

+            this.setBuffer(6);

+

+            if ($debug) Debug.write("Play Stream "+streamName);

+

+            this._ns.play(streamName,delay);

+        ]]>

+    </method>

+

+	<!---

+		BroadCasts a Stream

+		@param string streamName the streamname to broadcast

+		@param camera camReference a reference to the Camera-Object to stream

+		@param micropone micReference a reference to the Micropohne Object to stream

+	 -->

+	<method name="broadcast" args="streamName,camReference,micReference">

+		if (this._ns!=null){

+			this._stop();

+		}

+		this.mode = "broadcast";

+		this.createStream();

+		if (camReference!=null) {

+			this.setAttribute('camera',camReference);

+			this._ns.attachCamera(camReference);

+			//invokes Method in baseVideoView which shows the cam

+			this.attachCamera(camReference);

+		}

+	    if (micReference!=null) {

+	    	this.setAttribute('micro',micReference);

+	    	this._ns.attachAudio(micReference);

+	    }

+

+	    this._ns.publish(streamName,"live");

+	</method>

+

+	<method name="record" args="streamName,camReference,micReference">

+        if (this._ns!=null){

+            this._stop();

+        }

+        this.mode = "record";

+        this.createStream();

+

+        this.setBuffer(6);

+

+        if (camReference!=null) {

+            this.setAttribute('camera',camReference);

+            this._ns.attachCamera(camReference);

+            //invokes Method in baseVideoView which shows the cam

+            this.attachCamera(camReference);

+        }

+        if (micReference!=null) {

+            this.setAttribute('micro',micReference);

+            this._ns.attachAudio(micReference);

+        }

+

+        this._ns.publish(streamName,"record");

+    </method>

+    

+	<!---

+		Stops playing or broadcasting a Stream and clears the Video-Object

+	 -->

+	<method name="_stop">

+		if ($debug) Debug.write("STOP: ",this.mode,this._ns);

+		//Stop NetStream

+		if (this._ns==null) return;

+		this.camera = null;

+		this.micro = null;

+		if (this.mode == "play") {

+            this.soundRefMC = null;

+			this.soundRef = null;

+			this._ns.pause();

+			this._ns.close();

+			//remove NetStream from Video-Object

+			this.clear();

+		} else if (this.mode == "broadcast") {

+            this._ns.publish(false);

+            //remove NetStream from Video-Object

+            this.clear();

+            this._ns.close();

+        } else if (this.mode == "record") {

+            this._ns.publish(false);

+            //remove NetStream from Video-Object

+            this.clear();

+            this._ns.close();

+        } else {

+			if ($debug) Debug.warn("Not known Mode: ",this.mode,this);

+		}

+	</method>

+

+	<method name="restart">

+	     this._stop();

+	     this.playStream(this.streamName ,this.delay);

+	</method>

+	

+	<method name="setBuffer" args="time">

+	    if ($debug) Debug.warn("setBuffer has no 1:1 equivalent in AS3 ");

+	    return;

+		if(this._ns!=null){

+			this.bufferTime = time;

+			this._ns.setBufferTime(time);

+		} else {

+			if ($debug) Debug.warn("setBuffer but no NetStream initialized",this);

+		}

+	</method>

+

+	<!--- sets the Volume of the VideoStream

+		@param number volume Number between 0 and 100

+	 -->

+    <method name="setSoundVolume" args="volume">

+        //this.soundRef.setVolume(volume);

+        if (this._ns!=null){

+            this._ns.soundTransform = new SoundTransform(volume/100.0);

+        }

+    </method>

+

+    <method name="muteMicro" args="mute">

+        if(this.micro != null) {

+            if(mute) {

+            	if (this.micro.gain == 0) {

+            		return;

+            	}

+            	if ($debug) Debug.write("Make Gain mute again from ",this.micro.gain);

+                this.setAttribute('micGain', this.micro.gain);

+                this.micro.gain = 0;

+            } else {

+            	if ($debug) Debug.write("Make Gain loud again to ",this.micGain);

+                this.micro.gain = this.micGain;

+            }

+        }

+    </method>

+    

+    <!---

+        pause or resumes the NetStream

+        @args pauseStatus true pause, false resume

+     -->

+    <method name="pause" args="pauseStatus">

+    	if ($debug) Debug.write("do Pause",pauseStatus);

+    	if (this._ns==null){

+    		if ($debug) Debug.warn("No NetStream");

+    		return;

+    	}

+    	if (pauseStatus) {

+    		this._ns.pause();

+    	} else {

+    		this._ns.resume();

+    	}

+    </method>

+    

+    <!---

+        Seek the stream to a flvTime

+        this might only work if there are keyframes in the FLV, normally it should 

+        try to use the nearest keyframe available for the specified time.

+     -->

+    <method name="seekStream" args="flvTime">

+    	if ($debug) Debug.write("do seek",flvTime);

+        if (this._ns==null){

+            if ($debug) Debug.warn("No NetStream");

+            return;

+        }

+        this._ns.seek(flvTime);

+    </method>

+

+</class>

+

+

+</library>

diff --git a/WebContent/swf10/base/remote/baseVideoStreamDevice.lzx b/WebContent/swf10/base/remote/baseVideoStreamDevice.lzx
new file mode 100644
index 0000000..0c58e08
--- /dev/null
+++ b/WebContent/swf10/base/remote/baseVideoStreamDevice.lzx
@@ -0,0 +1,197 @@
+<library>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+

+<!---

+	extends the baseVideoStream with functions to catch Device Events

+	this Class uses Events from the Base Class baseVideoStream

+	onmicro and oncamera, which are thrown, once a device was set

+ -->

+

+<class name="baseVideoStreamDevice" extends="baseVideoStream">

+

+    <switch>

+        <when property="$as3">

+            <passthrough>

+                import flash.events.StatusEvent;

+                import flash.events.ActivityEvent;

+            </passthrough>

+        </when>

+    </switch>

+

+	<!--- Shows if there is Activity on the Microphone -->

+	<attribute name="micactive" value="false" type="boolean" />

+	

+    <!--- Level delegate, used to track level changes. 

+          @keywords private -->

+    <attribute name="_leveldel" value="$once{new LzDelegate(this, '_updateLevel')}"/>

+    

+    <!--- Audio level, 0-100, the amount of sound detected by this microphone.

+          Reset to 0 when there is no audio (no activity or not allowed).

+          @keywords readonly -->

+    <attribute name="level" type="number" value="0"/>    

+        	

+	<!--- Shows if there is Activity on the Camera -->

+	<attribute name="camactive" value="false" type="boolean" />

+	

+	<!--- 

+	Message to send to Clients

+	 -->

+	<attribute name="objMessage" value="null" />

+	<!--- 

+		indicates if the message should be send, you can change the notification 

+		level by changing the loudnessAcitviation in the config.xml

+	 -->

+	<attribute name="isgreater" value="false" type="boolean" />     

+	

+	<attribute name="doSendNotification" value="true" type="boolean" />	

+	

+	<!---

+	   If true the component will send an event via LocalConnection 

+	   when sound is louder or less 5%

+	 -->

+	<attribute name="sendNotificationViaLocalConnection" value="true" type="boolean" />

+	

+	<event name="sendCameraStatus" />

+    

+    <event name="sendMicroStatus" />

+    

+	<handler name="oncamera" args="c">

+		//if ($debug) Debug.write("Cam: ",c);

+        c.addEventListener(ActivityEvent.ACTIVITY, onActivity);

+        c.addEventListener(StatusEvent.STATUS, onStatus);

+	</handler>

+

+    <method name="onStatus" args="stats">

+        if ($debug) Debug.write("CamStatus: ",stats);

+        this.sendCameraStatus.sendEvent(stats.code);

+    </method>

+

+    <method name="onActivity" args="event">

+        this.setAttribute("camactive", event.activating);

+    </method>

+	

+	<handler name="onmicro" args="m">

+		//if ($debug) Debug.write("Mic: ",m);

+		var t = this;

+        m.addEventListener(ActivityEvent.ACTIVITY, onMicActivity);

+        m.addEventListener(StatusEvent.STATUS, onMicStatus);

+	</handler>

+

+    <method name="onMicStatus" args="stats">

+    	if ($debug) Debug.write("onMicStatus 1: ",stats);

+        this.sendMicroStatus.sendEvent(stats.code);

+    </method>

+

+    <method name="onMicActivity" args="event">

+        //if ($debug) Debug.write("onMicActivity: ",event);

+        this.setAttribute("micactive", event.activating);

+    </method>

+	

+		<!--- Handler for the Flash Microphone onActivity callback. 

+              @keywords private -->

+	<handler name="onmicactive">

+		<![CDATA[

+            if (this.onlevel) {

+                if (this.micactive) {

+                    this._leveldel.register(lz.Idle, "onidle");

+                } else {

+                    this._leveldel.unregisterAll();

+                    this.setAttribute("level", 0);

+                }

+            }

+		]]>

+	</handler>

+	

+	<!--- Handler for updating the microphone activity level attribute. 

+			  @keywords private -->

+	<method name="_updateLevel" args="arg">

+		<![CDATA[

+			if (this.micro == null) {

+				return;

+			}

+			var level = this.micro.activityLevel;

+			if (level < 0) {

+				level = 0;

+			}

+

+			if (level != this.level) {

+				this.setAttribute("level", level);

+			}

+		]]>

+	</method>	

+	

+    <!-- 

+	    these methods send a Notification to all Connected users of a 

+	    Room about the onActivity-Change

+     -->

+	<handler name="onlevel" args="level">

+		<![CDATA[

+		

+		    //if ($debug) Debug.write("onlevel ",this.level,level);

+		

+		    if (!this.doSendNotification){

+		    	return;

+		    }

+		    

+		    var tVal = null;

+		

+    		//greater 5 means the green dot starts to blink if the loudness is greater then 5%

+    		//it makes no sense to set this to zero as there will be 1000 of events send 

+    		//per minute to change the status just of this icon, swagner 12.02.2012

+			if (level>8) {

+				tVal = true;

+			} else {

+				tVal = false;

+			}

+			

+			if (this.isgreater != tVal) {

+				if ($debug) Debug.write("Level sendNotification ",this.isgreater,tVal,level);

+				this.isgreater = tVal;

+				this.sendNotification();

+			}

+			

+		]]>

+	</handler>    

+	

+	

+	<method name="sendNotification">

+		//if ($debug) Debug.write("Level sendNotification ",this.isgreater);

+		if (!this.sendNotificationViaLocalConnection) {

+		  return;

+		}

+  		this.objMessage = new Array ();

+  		this.objMessage[0] = 'audioActivity';

+  		this.objMessage[1] = this.isgreater;

+  		this.objMessage[2] = parent.parent.publicSID;

+  		//if ($debug) Debug.write("Level sendNotification ",this.objMessage);

+  		this.sendMessage.doCall();

+	  	//canvas.videoComp_lc.send(canvas.videoComp_lc_name, "sendNotification", this.objMessage);

+	</method>

+	

+	<netRemoteCallHib name="sendMessage" funcname="sendMessage" 

+        remotecontext="$once{ canvas.thishib }" showLoading="false" > 

+        <netparam><method name="getValue"> return parent.parent.objMessage; </method></netparam>

+    </netRemoteCallHib>     

+

+</class>

+

+

+</library>

diff --git a/WebContent/swf10/base/remote/baseVideoView.lzx b/WebContent/swf10/base/remote/baseVideoView.lzx
new file mode 100644
index 0000000..c0d26a1
--- /dev/null
+++ b/WebContent/swf10/base/remote/baseVideoView.lzx
@@ -0,0 +1,96 @@
+<library>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+

+

+<!---

+	This class provides the basic functions for the video-output

+

+	    @START_CODE

+            <baseVideoView x="20" y="20" width="320" height="240" bgcolor="black" />

+        @END_CODE

+ -->

+

+<class name="baseVideoView" width="${parent.width}" height="${parent.height}">

+

+    <passthrough when="$as3">

+        import flash.media.*;

+        import flash.net.NetConnection;

+        import flash.net.NetStream;

+    </passthrough>

+

+    <attribute name="_sound" value="null"/>

+

+	<method name="init"><![CDATA[

+        super.init();

+        var mc = new Video(this.width, this.height);

+        this.sprite.addChild(mc);

+        this.__LZvideo = mc;

+        this.applySizeToVid();

+    ]]></method>

+

+	<method name="applySizeToVid">

+		var vid = this._getflashvideo();

+        if(vid != null) {

+            vid.width = this.width;

+            vid.height = this.height;

+        } else {

+            if ($debug) Debug.warn("applySizeToVid IS NULL ",this.width,this.height);

+        }

+	</method>

+

+    <handler name="onwidth" args="w">

+    	//if ($debug) Debug.info("onwidth ",this.width,this.height);

+        this.applySizeToVid();

+    </handler>

+

+    <handler name="onheight" args="h">

+    	//if ($debug) Debug.info("onheight ",this.width,this.height);

+        this.applySizeToVid();

+    </handler>

+

+	<method name="_getflashvideo">

+		<![CDATA[

+            //Debug.write("_getflashvideo()");

+            return this.__LZvideo;

+        ]]>

+    </method>

+

+    <method name="attachCamera" args="camera">

+        var vid = this._getflashvideo();

+    	vid.attachCamera(camera);

+    </method>

+

+    <!--- shows the Video (NetStream) in the View -->

+    <method name="attachVideo" args="video">

+    	var vid = this._getflashvideo();

+    	vid.attachNetStream(video);

+    </method>

+

+    <method name="clear">

+        var vid = this._getflashvideo();

+    	vid.attachNetStream(null);

+		this.__LZvideo.clear();

+	</method>

+

+</class>

+

+

+</library>

diff --git a/WebContent/swf10/base/remote/library.lzx b/WebContent/swf10/base/remote/library.lzx
new file mode 100644
index 0000000..18b8cb8
--- /dev/null
+++ b/WebContent/swf10/base/remote/library.lzx
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+	

+	<!-- new Library -->

+	<include href="baseVideoView.lzx" />

+	<include href="baseVideoStream.lzx" />

+	<include href="baseVideoStreamDevice.lzx" />

+	<include href="rtmpConnection.lzx" />

+	<include href="sharedObject.lzx" />

+    

+</library>

diff --git a/WebContent/swf10/base/remote/rtmpConnection.lzx b/WebContent/swf10/base/remote/rtmpConnection.lzx
new file mode 100644
index 0000000..1cfb69f
--- /dev/null
+++ b/WebContent/swf10/base/remote/rtmpConnection.lzx
@@ -0,0 +1,375 @@
+<library>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+

+

+<class name="rtmpConnection" extends="node">

+

+        <switch>

+            <when property="$as3">

+                <passthrough>

+                    import flash.net.NetConnection;

+                    import flash.events.NetStatusEvent;

+                </passthrough>

+            </when>

+        </switch>

+

+    	<attribute name="debug" value="false" type="boolean" />

+    	

+    	<event name="onconnect"/>

+    	<event name="onerror"/>

+        

+        <!-- this attribute holds a reference to the current/last called netremoteCall,

+        in case of error you can debug that way which call did fail -->

+        <attribute name="lastCalled" value="null" />

+    	

+    	<attribute name="src" value="" type="string"/>

+

+		<method name="connect">

+            this._nc = new NetConnection();

+

+            // local reference to rtmpconnection

+            //this._nc.t = this;

+            

+            this._nc.proxyType = canvas.proxyType;

+            

+            var ok = this._nc.connect(src == "null" ? null : src, true); //isAVClient = true

+            if (this.debug) {

+            	if($debug) Debug.write("*** debug ***");

+            }

+            

+            this._nc.addEventListener(NetStatusEvent.NET_STATUS, _onStatus);

+            

+    		if($debug) Debug.write("devRtmpConnection/registerMethods()");

+    		var clientObj = {};

+    		clientObj.setId = this.setId;

+    		

+    		this._nc.client = clientObj;

+    		

+			//Register Methods

+			//this.registerMethods();

+		</method>

+		

+		<method name="setId" args="tId">

+			if ($debug) Debug.write("setId ", tId);

+		</method>

+		

+        <method name="_onStatus" args="stats"><![CDATA[

+            if ($debug) {

+                Debug.write("devrtmpconnection", this, "_onStatus", stats.info.code);

+            }

+

+            var msg = "";

+            var s;

+

+            switch (stats.info.code) {

+

+                case "NetConnection.Connect.Success": {

+                    // The connection attempt succeeded.

+                    //canvas.currentNC is the reference to the NetConnection that is used in the NetStream

+                    msg = stats.info.code;

+                    canvas.currentNC = this._nc;

+                    s = 2;

+                    break;

+                }

+                

+                case "NetConnection.Connect.Closed": {

+                    msg = stats.info.code;

+                    this._nc = null;

+                    canvas.currentNC = null;

+                    s = 0;

+                    break;

+                }

+

+                default: {

+                    msg = stats.info.code;

+                    s = 0;

+                    break;

+                }

+

+            }

+

+            this.setAttribute("status", msg);

+

+            if (s == 2) {

+                this.onconnect.sendEvent();

+            } else {

+            	this.onerror.sendEvent();

+            }

+

+          ]]>

+        </method>	

+        

+        <method name="disconnect">

+        	if ($debug) Debug.write(" DISCONNECT ");

+        	if (this._nc != null) {

+                this._nc.close();

+            }

+        </method>

+    <!--- 

+        With this function all methods are registered to the NetConnection

+        A server can invoke this Method with a call for it from the Client

+        Only subnodes of rtmpconnections which are a instance of netRemoteCallHib

+        are registered, to add dynamically methods to the remotefunction you will

+        have to invoke this method once again

+        -swagner

+     -->

+    <method name="registerMethods">

+        <![CDATA[

+	        if (this.subnodes!=null){

+	            var clientObj = {};

+		        //Register all methods which are onstanceof netRemoteCallHib

+		        for (var i=0;i<this.subnodes.length;i++){

+		            //If it is of Type netRemoteCallHib then register it to the NetConnection

+		            if (this.subnodes[i] instanceof lz.netRemoteCallHib){

+		                clientObj[this.subnodes[i].funcname] = function( args ){

+                            return canvas.thishib.remoteCallMethod(arguments.callee,arguments);

+		                    //return hib.remoteCallMethod(arguments.callee,args);

+		                }

+		            }

+		        }

+		        this._nc.client = clientObj;

+        	}

+        ]]>

+    </method>

+    

+    <!-- 

+        Process the RemoteCall to the Right Funtion

+        -swagner

+     -->

+    <method name="remoteCallMethod" args="callee,args">

+        <![CDATA[

+            for (var eg in this._nc){

+                if (this._nc[eg]==callee){

+                    if (this.debug) {

+                        //_root.Debug.write.write("DEBUG invoked a function remotely: ",eg,args);

+                    }    

+                    if (args.length == 1) {

+                        return this.callFuntion(eg,args[0]);

+                    } else {

+                        return this.callFuntion(eg,args);

+                    }

+                    //return this.callFuntion(eg,args);

+                }

+            }

+        ]]>

+    </method>

+    

+    <!-- 

+        Map the Function to a netRemoteCallHib

+        -swagner

+     -->

+    <method name="callFuntion" args="funcname,args">

+        <![CDATA[

+            for (var i=0;i<this.subnodes.length;i++){

+                if (this.subnodes[i].funcname==funcname){

+                    return this.subnodes[i].onResult(args);

+                }

+            }

+        ]]>

+    </method>		

+    

+    <method name="callRPC" args="func, obj, params">

+    	//if ($debug) Debug.write("*** call: func, obj, params",func,obj, typeof (params) ,params.length);

+    	if (params.length != 0){

+	    	//does this really work?

+	    	//ASSetPropFlags(_global, null, 8, 1);

+            //setPropertyIsEnumerable(8, 1);

+	    	//Debug.write("does it work?",arguments);

+	    	<!--

+	    	this._nc.call.apply(this._nc,arguments);

+	    	 -->

+			if (params.length==1){

+			    this._nc.call(func, obj,params[0]);

+			} else if (params.length==2){

+			    this._nc.call(func, obj,params[0],params[1]);

+			} else if (params.length==3){

+			    this._nc.call(func, obj,params[0],params[1],params[2]);

+			} else if (params.length==4){

+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3]);

+			} else if (params.length==5){

+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4]);

+			} else if (params.length==6){

+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5]);

+			} else if (params.length==7){

+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6]);

+			} else if (params.length==8){

+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7]);

+			} else if (params.length==9){

+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8]);

+			} else if (params.length==10){

+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9]);

+			} else if (params.length==11){

+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10]);

+			} else if (params.length==12){

+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11]);

+			} else if (params.length==13){

+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11],params[12]);

+			} else if (params.length==14){

+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11],params[12],params[13]);

+			} else if (params.length==15){

+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11],params[12],params[13],params[14]);

+			} else if (params.length==16){

+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11],params[12],params[13],params[14],params[15]);

+			} else if (params.length==17){

+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11],params[12],params[13],params[14],params[15],params[16]);

+			} else if (params.length==18){

+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11],params[12],params[13],params[14],params[15],params[16],params[17]);

+			} else if (params.length==19){

+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11],params[12],params[13],params[14],params[15],params[16],params[17],params[18]);

+			} else if (params.length==20){

+			    this._nc.call(func, obj,params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11],params[12],params[13],params[14],params[15],params[16],params[17],params[18],params[19]);

+			}	    	 

+        } else {

+            this._nc.call(func, obj);

+        }

+    </method>

+    

+</class>

+

+

+    <!---

+        Net remote call. 

+        @todo Document netremotecall class.

+    -->

+    <class name="netremotecall" extends="node">

+

+        <switch>

+            <when property="$as3">

+                <passthrough>

+                    import flash.net.Responder;

+                </passthrough>

+            </when>

+        </switch>

+

+        <!--- Name of the remote function. -->

+        <attribute name="funcname" value="$once{null}" type="string" />

+    

+        <attribute name="remotecontext" value="null" />

+    

+        <attribute name="dataobject" value="null" />

+

+        <attribute name="responder" value="null" />

+		

+        <!--- Data handling event. args="value"  -->

+        <event name="ondata" />

+

+        <!--- Error handling event. -->

+        <event name="onerror"/>

+

+        <!--- Call the remote method, passing the array of params. -->

+        <method name="callRPC" args="params"><![CDATA[

+            if (this.funcname == null) {

+                //Debug.write("No funcname given");

+                if (this.onerror) this.onerror.sendEvent("No funcname given");

+                return;

+            }

+

+            if (params == null) {

+                params = new Array();

+

+                var subnodes = this.subnodes;

+                if (subnodes != null) {

+                    var i;

+                    var n = subnodes.length;

+                    for (i = 0; i < n; i++) {

+                        // If getValue method is declared in param, call that

+                        // instead to get value.

+                        var tsi = subnodes[i];

+                        //TODO: fixme

+                        //if ((tsi["getValue"] != null) && (tsi.getValue["prototype"] != null)) {

+                        //    params[i] = tsi.getValue();

+                        //    Debug.write("tsi.getValue():", tsi.getValue());

+                        //} else {

+                        //    params[i] = tsi.value;

+                        //}

+                        params[i] = tsi.getValue();

+                    }

+                }

+

+            } else if (params.__proto__ != Array.prototype) {

+                //Debug.write(this.name, "error: first argument (params) is not an array");

+                return -1;

+            }

+

+            //if ($debug) Debug.write("call", this, this.parent, this.parent.status);

+            var rtmpObject = null;

+            if (this.parent instanceof lz.rtmpConnection){

+        	    rtmpObject = this.parent;

+            } else if(this.remotecontext  instanceof lz.rtmpConnection){

+        	    rtmpObject = this.remotecontext;

+            } else {

+        	    if ($debug) Debug.warn("ERROR: no remotecontext availible abort call", this.funcname, this);

+        	    return;

+            }

+        	//Debug.write('call', this, rtmpObject, rtmpObject.status);

+        	//Debug.write('call', this.remotecontext);

+            if (rtmpObject.debug) Debug.write('call', this, rtmpObject, rtmpObject.status);

+            rtmpObject.lastCalled = this;

+

+            this.responder = new Responder(onResult);

+

+            rtmpObject.callRPC(this.funcname, this.responder, params);

+

+          ]]>

+        </method>

+

+        <!--- Handle the result returned from the remote method. -->

+        <method name="onResult" args="value"><![CDATA[

+            // Can be overriden.

+            // Would be great if it can be used with dataobject,

+            // but I don't know how to convert Array/primitive to LzDataset/LzDataPointer.

+            ////Debug.write("netremotecall", this, "onResult", value);

+

+            if (this.dataobject!=null) {

+                if ( this.dataobject instanceof LzDataset ) {

+                    //Debug.write("onResult: ",this,value,dataobject);

+                    var element = LzDataElement.valueToElement(value);

+                    this.dataobject.setData(element.childNodes);

+                } else if ( this.dataobject instanceof LzDataElement ) {

+                    var element = LzDataElement.valueToElement(value);

+                    this.dataobject.appendChild( element );

+                } else {

+                    //TODO:fixme

+                    //Debug.warn("dataobject is not LzDataset or LzDataElement: ",this,this.dataobject,delegate);

+                }

+            }

+            this.ondata.sendEvent(value);		

+          ]]>

+        </method>

+

+

+    </class>

+

+

+    <!---

+        Net parameter.

+        Element to use inside netremotecall.

+        @todo Document netparam class.

+    -->

+    <class name="netparam" extends="node">

+

+        <!--- The value of the netparam. -->

+        <attribute name="value" value="null"/>

+

+    </class>

+

+

+</library>

diff --git a/WebContent/swf10/base/remote/sharedObject.lzx b/WebContent/swf10/base/remote/sharedObject.lzx
new file mode 100644
index 0000000..9c7cd96
--- /dev/null
+++ b/WebContent/swf10/base/remote/sharedObject.lzx
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+<class name="sharedObject" extends="node">

+

+    <switch>

+        <when property="$as3">

+            <passthrough>

+                import flash.net.SharedObject;

+            </passthrough>

+        </when>

+    </switch>

+

+	<attribute name="so" value="null" />

+	<attribute name="onStatus" value="null" />

+	

+

+	<method name="connect" args="so_Name,nc,persistant">

+

+		//Debug.write("connect SharedObject: ",nc.uri);

+		this.so = this.getRemote(so_Name,nc.uri,persistant);

+		

+		var t = this;

+		this.so.onSync = function (evtObj){

+			if (t.onStatus)t.onStatus.sendEvent(evtObj);

+			//_root.Debug.write.write("Shared Object onSync",evtObj,arguments);

+		}

+		

+		this.so.connect(nc);

+		

+	</method>

+	

+    

+    <method name="getRemote" args="so_Name,nc,persistant">

+

+        //Debug.write("connect SharedObject: ",nc.uri);

+        this.so = this.getRemote(so_Name,nc.uri,persistant);

+

+        var t = this;

+        this.so.onSync = function (evtObj){

+            if (t.onStatus)t.onStatus.sendEvent(evtObj);

+            //_root.Debug.write.write("Shared Object onSync",evtObj,arguments);

+        }

+    </method>

+    

+    <!--- create Object if not existing  -->

+    <method name="getLocal" args="name">

+

+        this.so = this.getLocal(name);

+

+        var t = this;

+        this.so.onSync = function (evtObj){

+            if (t.onStatus)t.onStatus.sendEvent(evtObj);

+            //_root.Debug.write.write("Shared Object onSync",evtObj,arguments);

+        }

+        

+    </method>

+    

+    <!--- 

+        force write to disk

+        @return true(success) false(User has forbidden to store data local)

+      -->

+    <method name="flush">

+        return this.so.flush();

+    </method>

+

+    <method name="getData" args="key">

+        if (this.so.data["key"] == undefined){

+            return null;

+           //_root.Debug.write.write("key undefined",key);

+        } else {

+            return this.so.data["key"];

+        }

+    </method>

+	

+    <method name="setSharedData" args="key,val">

+    	//Debug.write("this...... so: ",this.so);

+        this.so.data["key"] = val;

+    </method>

+

+		

+</class>

+

+</library>

diff --git a/WebContent/swf10/commonVideoViewContentSWF10.lzx b/WebContent/swf10/commonVideoViewContentSWF10.lzx
new file mode 100644
index 0000000..b7cf41b
--- /dev/null
+++ b/WebContent/swf10/commonVideoViewContentSWF10.lzx
@@ -0,0 +1,544 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+

+<class name="commonVideoViewContentSWF10" extends="view">

+

+    <switch>

+        <when property="$as3">

+            <passthrough>

+                import flash.net.LocalConnection;

+            </passthrough>

+        </when>

+    </switch>

+

+    <attribute name="offsetLength" type="number" value="40"/>

+    <attribute name="videoWidth" type="number" value="132"/>

+    <attribute name="videoHeight" type="number" value="132"/>

+    <attribute name="SIDEPANEL_WIDTH" type="number" value="270" />

+    

+    <handler name="oninit">

+        <![CDATA[

+

+            var client = {};

+            client.t = this;

+

+            client.createEditRecordStream = this.createEditRecordStream;

+            client.createVideoObject = this.createVideoObject;

+            client.createVideo = this.createVideo;

+            client.getVideoObjectByPublicSID = this.getVideoObjectByPublicSID;

+            client.getNewVideoObject = this.getNewVideoObject;

+            client.getVideoObjectFreePos = this.getVideoObjectFreePos;

+            client.disconnectclient = this.disconnectclient;

+            client.resetAllValues = this.resetAllValues;

+            client.closeStreamClient = this.closeStreamClient;

+            client.setSpeakingByPos = this.setSpeakingByPos;

+            client.setAVSettingsToClient = this.setAVSettingsToClient;

+            client.startStream = this.startStream;

+            client.removeVideoByUser = this.removeVideoByUser;

+            client.muteSound = this.muteSound;

+            // client.videoOnMove = this.videoOnMove; function not in use ?! swagner 04.02.2012

+            client.updateMuteStatusVideoView = this.updateMuteStatusVideoView;

+            client.ismoderatorChanged = this.ismoderatorChanged;

+            // update rights to SWF10 client

+            client.updateModerationFlag = this.updateModerationFlag;

+            client.changeDevice = this.changeDevice;

+            client.setDrawAllowStatus = this.setDrawAllowStatus;

+            client.setExclusiveAudioAllowStatus = this.setExclusiveAudioAllowStatus;

+            client.exitRoom = this.exitRoom;

+            client.closeWhiteboard = this.closeWhiteboard;

+

+            var lc:LocalConnection = new LocalConnection();

+            lc.connect(canvas.vid_lc_name);

+            lc.client = client;

+            canvas.setAttribute("lc", lc);

+

+        ]]>

+    </handler>

+    

+	<method name="createEditRecordStream" args="syncUpdate,isInterview,interviewPodId">

+		if($debug) Debug.info("createEditRecordStream,",syncUpdate,isInterview,interviewPodId);

+		if (canvas.inner.editRecordStream != null)

+			canvas.inner.editRecordStream.destroy();

+		new lz.editRecordStreamSWF10(canvas.inner, {

+					name:"editRecordStream",

+					isSyncUpdate:syncUpdate,

+					isInterview:isInterview,

+					interviewPodId:interviewPodId

+				});

+		return;

+	</method>

+

+	<!-- 

+		Method that creates the video views when another user enters a room and his 

+		item in the list of participants is created.

+		The method to "play" the stream is invoked later, when the user

+		really starts to stream and not only when he just enters the room.

+	 -->

+    <method name="createVideoObject" args="publicSID,isBroadcasting,interviewPodId,object">

+        if($debug) Debug.info("createVideoObject, publicSID: ",publicSID, "isBroadcasting: ", isBroadcasting, "object", object);

+        var vidContainer = getVideoObjectByPublicSID(publicSID);

+        if(vidContainer == null) {

+            vidContainer = isBroadcasting ? this.getNewVideoObject(publicSID) : this.getNewVideoObjectByPos(publicSID);

+            vidContainer.publicSID = publicSID;

+            

+        }

+        if ($debug) Debug.write("Is interview ? ",canvas.isInterview);

+        if (canvas.isInterview) {

+        	if ($debug) Debug.write("Is interview ",interviewPodId,"x",canvas["interviewPod"+interviewPodId+"_x"]);

+        	vidContainer.setAttribute("interviewPodId", interviewPodId);

+        	vidContainer.setAttribute("x",canvas["interviewPod"+interviewPodId+"_x"]);

+            vidContainer.setAttribute("y",canvas["interviewPod"+interviewPodId+"_y"]);

+            vidContainer.setAttribute("width",322);

+            vidContainer.setAttribute("height",281);

+        }

+        vidContainer.clientVars = object;

+        vidContainer.setAttribute('visibility','hidden');

+        return vidContainer;

+    </method>

+

+	<!-- 

+		

+		Method that creates the video views when user(self) initially entering a room.

+		Creates the video-view AND starts to stream/play the video

+	 -->

+    <method name="createVideo" args="publicSID,displayName,broadcastId,avsettings,interviewPodId,object">

+        <![CDATA[

+            if($debug) Debug.info("createVideo, publicSID: ",publicSID,"broadcastId: ",broadcastId,"AVsettings: ",avsettings);

+            if ($debug) Debug.write(" createVideo ALL vars ",object);

+            var vidContainer = getVideoObjectByPublicSID(publicSID);

+            if(vidContainer == null) {

+                vidContainer = this.getNewVideoObjectByPos(publicSID);

+                vidContainer.clientVars = object;

+                vidContainer.setAttribute('chatpartnername',displayName);

+                if (avsettings=="n"){

+                    vidContainer.setVideouserProfilePic(object);

+                    vidContainer.setAttribute("visibility","hidden");

+                } else if (avsettings=="a"){

+                    vidContainer.setVideouserProfilePic(object);

+                    if ($debug) Debug.warn("start play");

+                    vidContainer._chatvideoinner._videostream.playStream(broadcastId,-1);

+                    vidContainer.setAttribute("visibility","visible");

+                } else if (avsettings=="v" || avsettings=="av") {

+                    //this means avsettings is either: "v" or "av"

+                	vidContainer.setDefaultVideoSize(object.VWidth,object.VHeight);

+                    vidContainer._chatvideoinner._videostream.playStream(broadcastId,-1);

+                    vidContainer.setAttribute("visibility","visible");

+                } else {

+                	//this means user did not select anything yet and streaming has not started

+                	vidContainer.setAttribute("visibility","hidden");

+                }

+                vidContainer.setAttribute("interviewPodId", interviewPodId);

+                vidContainer.updateAVSettingsSymbol(object);

+                if (object.micMuted) {

+            	    vidContainer.setMicMuted(object.micMuted);

+           	 	}

+            }

+            

+            

+            if ($debug) Debug.write("Is interview ? ",canvas.isInterview);

+            if (canvas.isInterview && interviewPodId != null && interviewPodId > 0) {

+                if ($debug) Debug.write("Is interview ",interviewPodId,"x",canvas["interviewPod"+interviewPodId+"_x"]);

+                vidContainer.setAttribute("interviewPodId", interviewPodId);

+                vidContainer.setAttribute("x",canvas["interviewPod"+interviewPodId+"_x"]);

+                vidContainer.setAttribute("y",canvas["interviewPod"+interviewPodId+"_y"]);

+                vidContainer.setAttribute("width",322);

+                vidContainer.setAttribute("height",281);

+            }

+			return;

+        ]]>

+    </method>

+    

+    <method name="getVideoObjectByPublicSID" args="publicSID">

+    	<![CDATA[

+    		if ($debug) Debug.write("getVideoObjectByPublicSid SEARCH: ",publicSID);

+        	for (var i=0;i<this.subviews.length;i++){

+        	    if ($debug) Debug.write("this.subviews[i].publicSID ",this.subviews[i].publicSID);

+    			if (this.subviews[i].publicSID==publicSID){

+    				return this.subviews[i];

+    			}

+    		}

+    		if ($debug) Debug.warn(" - getVideoObjectByPublicSID - DID NOT FIND THE USER BY ",publicSID);

+            return null;

+    	]]>

+    </method>

+

+    <method name="getNewVideoObjectByPos" args="publicSID">

+        <![CDATA[

+            var obj = this.getVideoObjectByPublicSID(publicSID);

+            if (obj!=null){

+                return obj;

+            }

+

+            //Get a Free VideoView Slot

+            var freePos = this.getVideoObjectFreePos(this.offsetLength,this.videoWidth,this.videoHeight);

+

+            return new lz.videoObjectPlayBroadcast(this,{

+                    publicSID:publicSID,

+                    width:videoWidth,

+                    height:videoHeight,

+                    x:freePos[0],

+                    y:freePos[1],

+                    isInterview:canvas.isInterview

+                });

+        ]]>

+    </method>

+

+    <method name="getNewVideoObject" args="publicSID">

+		<![CDATA[

+			var obj = this.getVideoObjectByPublicSID(publicSID);

+			if (obj!=null){

+				this.broadCastViewRef = obj;

+			} else {

+                //Get a Free VideoView Slot

+                var freePos = this.getVideoObjectFreePos(this.offsetLength,this.videoWidth,this.videoHeight);

+

+				this.broadCastViewRef = new lz.videoObjectBroadcast(this,{

+	                    publicSID:publicSID, width:videoWidth,height:videoHeight,

+	                    x:freePos[0],

+	                    y:freePos[1],

+	                    isInterview:canvas.isInterview

+                    });

+

+				this.broadCastViewRef._chatvideoinner.r.destroy();

+				if ($debug) Debug.write("getNewVideoObject canvas.userobject ",publicSID,canvas.userobject);

+				this.broadCastViewRef.setAttribute('chatpartnername',canvas.userobject.firstname+' '+canvas.userobject.lastname);

+			}

+			return this.broadCastViewRef;

+		]]>

+	</method>

+

+    <method name="getVideoObjectByInterviewPodId" args="interviewPodId">

+        <![CDATA[

+            for (var i=0;i<this.subviews.length;i++){

+                if (this.subviews[i].interviewPodId==interviewPodId){

+                    return this.subviews[i];

+                }

+            }

+            if ($debug) Debug.warn(" - getVideoObjectByInterviewPodId - DID NOT FIND THE USER BY ",interviewPodId);

+            return null;

+        ]]>

+    </method>

+

+    <method name="getVideoObjectFreePos" args="offsetLength,videoWidth,videoHeight">

+        <![CDATA[

+            var newx = 20;

+            if (canvas.currentRoomObject.hideWhiteboard) {

+                newx += SIDEPANEL_WIDTH;

+            }

+            var newy = 0;

+            var posFound = false;

+            if (offsetLength == undefined) {

+                offsetLength=10;

+            }

+            while (!posFound) {

+                posFound = true;

+                for (var i=0;i<this.subviews.length;i++){

+                    var subview = this.subviews[i];

+                    var left = subview.x;

+                    var right = subview.x + subview.width;

+                    var top = subview.y;

+                    var bottom = subview.y + subview.height;

+

+                    if( !(newx > right

+                        || (newx + videoWidth) < left

+                        || newy > bottom

+                        || (newy + videoHeight) < top ))

+                    {

+                        newx = right + offsetLength;

+                        posFound = false;

+                    }

+                    if ((newx + videoWidth) >= canvas.width) {

+                        newx = 20;

+                        if (canvas.currentRoomObject.hideWhiteboard) {

+                            newx += SIDEPANEL_WIDTH;

+                        }

+                        newy += 10;

+                        posFound = false;

+                    }

+                }

+            }

+

+            if ((newy + videoHeight) >= canvas.height) {

+                newy = 0;

+            }

+

+            var result = [newx, newy];

+            return result;

+        ]]>

+    </method>

+

+    <method name="disconnectclient" args="publicSID">

+        <![CDATA[

+            if ($debug) Debug.write("disconnectclient: ",publicSID);

+

+            var obj = this.getVideoObjectByPublicSID(publicSID);

+

+            //if ($debug) Debug.write("disconnecclient obj: ",obj);

+            if (obj == null) {

+            	if ($debug) Debug.warn("Could Not find this To disconnect",publicSID);

+            }

+

+            if (obj != null){

+                obj.resetValues();

+                obj.destroy();

+            }

+        ]]>

+    </method>

+

+    <method name="muteSound" args="publicSID, bool">

+        <![CDATA[

+            var obj = this.getVideoObjectByPublicSID(publicSID);

+            if (obj != null) {

+                obj.silenceMicrophone(bool);

+            }

+            return;

+        ]]>

+    </method>

+

+    <method name="resetAllValues">

+        for (var eg in this.subviews){

+            this.subviews[eg].resetValues();

+        }

+        return;

+    </method>

+

+    <method name="closeStreamclient" args="publicSID">

+        <![CDATA[

+            if ($debug) Debug.write("closeStreamthis: ",publicSID);

+            var obj = this.getVideoObjectByPublicSID(publicSID);

+            if ($debug) Debug.write("closeStreamthis obj: ",obj);

+            if (obj != null){

+                obj.resetValues();

+            }

+            return obj;

+        ]]>

+    </method>

+

+    <method name="removeVideoByUser" args="publicSID"><![CDATA[

+        var obj = this.closeStreamclient(publicSID);

+        if(obj != null) {

+            obj.destroy();

+        }

+        return;

+    ]]></method>

+

+    <method name="updateMuteStatusVideoView" args="roomClient">

+        <![CDATA[

+            for (var i=0;i<this.subviews.length;i++){

+                this.subviews[i].muteMicrophone(roomClient);

+    		}

+    		return;

+        ]]>

+    </method>

+

+    <method name="ismoderatorChanged" args="m">

+        canvas.setAttribute("ismoderator", m);

+        return;

+    </method>

+

+

+    <method name="setSpeakingByPos" args="publicSID,bool">

+        <![CDATA[

+            if ($debug) Debug.write("setSpeakingByPos ",publicSID,bool);

+            var obj = this.getVideoObjectByPublicSID(publicSID);

+            if (obj == null) {

+            	if ($debug) Debug.warn("Could not find user for setSpeakingByPos ",publicSID,bool);

+            	return;

+            }

+            if (bool){

+                obj._loudness.loudness.setAttribute('opacity',1);

+            } else {

+                obj._loudness.loudness.setAttribute('opacity',0.2);

+            }

+            return;

+        ]]>

+    </method>

+

+    <method name="setAVSettingsToClient" args="rcl">

+        if ($debug) Debug.write("setAVSettingsToClient ",rcl.publicSID,rcl);

+        var obj = this.getVideoObjectByPublicSID(rcl.publicSID);

+        if ($debug) Debug.write("setAVSettingsToClient: ",obj,rcl.avsettings);

+        if (obj == null) {

+    		obj = this.getNewVideoObjectByPos(rcl.publicSID);

+        }

+        if (rcl.avsettings=="n"){

+            obj.setAttribute("visibility","hidden");

+            obj.setVideouserProfilePic(rcl);

+        } else if (rcl.avsettings=="a"){

+            obj.setVideouserProfilePic(rcl);

+            obj.setAttribute("visibility","hidden");

+        } else {

+            obj.deleteVideoConfProfilePic(null);

+            obj.setAttribute("visibility","visible");

+        }

+        obj.thisVars = rcl;

+        obj.updateAVSettingsSymbol(rcl);

+        return;

+    </method>

+

+    <method name="startStream" args="publicSID,broadcastId,firstname,lastname,interviewPodId,width,height">

+        <![CDATA[

+            if ($debug) Debug.write("startStream: ", publicSID,broadcastId,firstname,lastname,interviewPodId,width,height);

+            var obj = this.getVideoObjectByPublicSID(publicSID);

+            //if ($debug) Debug.write("startStream obj: ",obj);

+            if (obj != null ){

+                obj._chatvideoinner._videostream.playStream(broadcastId,-1);

+                obj.setDefaultVideoSize(width,height);

+                obj.setAttribute('chatpartnername',firstname+' '+lastname);

+            }

+            //we have to do this again when the stream starts, the initial video 

+            //component does not know the interviewPodId as the user has not selected 

+            //which interview video pod he is going to use

+            if (canvas.isInterview && interviewPodId != null && interviewPodId > 0) {

+                if ($debug) Debug.write("Is interview ",interviewPodId,"x",canvas["interviewPod"+interviewPodId+"_x"]);

+                obj.setAttribute("interviewPodId", interviewPodId);

+                obj.setAttribute("x",canvas["interviewPod"+interviewPodId+"_x"]);

+                obj.setAttribute("y",canvas["interviewPod"+interviewPodId+"_y"]);

+                obj.setAttribute("width",322);

+                obj.setAttribute("height",281);

+            }

+            return;

+        ]]>

+    </method>

+

+	<!---

+		Clear all views, probably this is caleld whenever a user leaves the room for example

+	 -->

+    <method name="clearAll">

+        <![CDATA[

+            if ($debug) Debug.write("clearAll", this.subviews);

+            while(this.subviews.length > 0) {

+                this.subviews[0]._chatvideoinner._videostream._stop();

+                this.subviews[0].destroy();

+            }

+            if (canvas.inner.editRecordStream != null) {

+                canvas.inner.editRecordStream.destroy();

+            }

+            return;

+        ]]>

+    </method>

+    

+    <!---

+    	Update the ismoderator flag, there is no need to check here which user

+    	this happened already before sending it to the SWF10 app

+     -->

+    <method name="updateModerationFlag" args="moderator">

+    	<![CDATA[

+    		if ($debug) Debug.write("updateModerationFlag :: ",moderator);

+    		this.setAttribute('ismoderator',moderator);

+    		return;

+    	]]>

+    </method>

+    

+    <!---

+    	Update the canDraw,canShare,canRemote flag, there is no need to check here which user

+    	this happened already before sending it to the SWF10 app

+     -->

+    <method name="setDrawAllowStatus" args="canDraw,canShare,canRemote">

+    	<![CDATA[

+    		if ($debug) Debug.write("setDrawAllowStatus :: ",canDraw,canShare,canRemote);

+    		canvas.setAttribute("isAllowedToDraw",canDraw);

+            canvas.setAttribute("isAllowedToScreenShare",canShare);

+            canvas.setAttribute("isAllowedToRemoteControl",canRemote);

+            return;

+    	]]>

+    </method>

+    

+    <method name="setExclusiveAudioAllowStatus" args="canGiveAudio">

+    	<![CDATA[

+    		if ($debug) Debug.write("setExclusiveAudioAllowStatus :: ",canGiveAudio);

+    		canvas.setAttribute("isAllowedToGiveExclusiveAudio",canGiveAudio);

+            return;

+    	]]>

+    </method>

+

+    <!---

+        Shows the window with device settings

+    -->

+    <method name="changeDevice">

+        <![CDATA[

+            if ($debug) Debug.write("changeDevice");

+            new lz.changeDevice(canvas.inner, {

+					                name:"changeDeviceDialog"

+					            });

+            return;

+        ]]>

+    </method>

+

+    <!---

+        Shows the exit dialog

+    -->

+    <method name="exitRoom">

+        if ($debug) Debug.write("exitRoom");

+        new lz.confirmationSingleSWF10(canvas,{

+                refObj:this,

+                labelid:791,

+                labeliderror:790,

+                refReturnMethod:'exitConfirmMethod',

+                showCheckBox:false

+            });

+        return;

+    </method>

+    

+    <method name="exitConfirmMethod" args="bool,sharedObjectData">

+    	canvas.videoComp_lc.send(canvas.videoComp_lc_name, 'exitRoom', bool);

+    </method>

+

+    <!---

+        Shows the close whiteboard dialog

+    -->

+    <method name="closeWhiteboard">

+        if ($debug) Debug.write("closeWhiteboard");

+        if (canvas.ismoderator || canvas.isAllowedToDraw) {

+            canvas.closeWhiteboardDialog = new lz.confirmationSingleSWF10(canvas,{

+                refObj:this,

+                labeliderror:1313,

+                refReturnMethod:'closeWhiteboardConfirmMethod',

+                showCheckBox:false

+            });

+        } else {

+            new lz.labelerrorPopupSWF10(canvas,{labelid:1366, errorlabelid:1365});

+        }

+        return;

+    </method>

+    

+    <method name="closeWhiteboardConfirmMethod" args="bool,sharedObjectData">

+    	canvas.videoComp_lc.send(canvas.videoComp_lc_name, 'closeWhiteboard', bool);

+    </method>

+        

+    <!--

+    function not in use ?! swagner 04.02.2012

+    <method name="videoOnMove" args="interviewPodId, x, y">

+        if($debug) Debug.write("videoOnY: ", interviewPodId, y);

+        var obj = getVideoObjectByInterviewPodId(interviewPodId);

+        if($debug) Debug.write("getVideoObjectByInterviewPodId: ", interviewPodId, obj);

+        if(obj != null) {

+            obj.setAttribute('x', x);

+            obj.setAttribute('y', y);

+        }

+    </method>

+     -->

+

+</class>

+

+</library>

diff --git a/WebContent/swf10/dragHelper.lzx b/WebContent/swf10/dragHelper.lzx
new file mode 100644
index 0000000..bc8bea9
--- /dev/null
+++ b/WebContent/swf10/dragHelper.lzx
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+<class name="dragHelper">

+

+    <attribute name="dragHelper" value="null" />

+

+    <method name="create">

+        if(this.dragHelper != null ) this.dragHelper.destroy();

+        this.dragHelper = new lz.view(canvas, {width:canvas.width,height:canvas.height,x:'0',y:'0', bgcolor:'0xFFFFFF', opacity:0.01,clickable:true});

+        this.dragHelper.sendInFrontOf(canvas.mainComponent);

+    </method>

+

+    <method name="remove">

+        this.dragHelper.destroy();

+        this.dragHelper = null;

+    </method>

+

+</class>

+

+</library>
\ No newline at end of file
diff --git a/WebContent/swf10/hibAdapter.lzx b/WebContent/swf10/hibAdapter.lzx
new file mode 100644
index 0000000..ad086e8
--- /dev/null
+++ b/WebContent/swf10/hibAdapter.lzx
@@ -0,0 +1,376 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+<class name="hibAdapter">

+

+    <attribute name="testingApplication" value="null" />

+    <attribute name="baseVideoStream" value="null" />

+

+    <switch>

+        <when property="$as3">

+            <passthrough>

+                import flash.net.LocalConnection;

+            </passthrough>

+        </when>

+    </switch>

+

+    <handler name="oninit"><![CDATA[

+        var client = {};

+        client.t = this;

+

+        client.hibAdapter_setLabelObjectByHundred = this.hibAdapter_setLabelObjectByHundred;

+        client.setRoomValues = this.setRoomValues;

+        client.getRoomTypes = this.getRoomTypes;

+        client.disconnect = this.disconnect;

+        client.reconnectSuccess = this.reconnectSuccess;

+        //Test application to record 5 seconds

+        client.doInitTestingApplication = this.doInitTestingApplication;

+        client.closeInitTestingApplication = this.closeInitTestingApplication;

+        

+        //Recording Player Whiteboard

+        client.connectRecordingPlayer = this.connectRecordingPlayer;

+        client.playRecordingStream = this.playRecordingStream;

+        client.updateRecordingVideoPosition = this.updateRecordingVideoPosition;

+        client.stopRecordingStream = this.stopRecordingStream;

+        client.pauseRecordingPlayback = this.pauseRecordingPlayback;

+        client.seekRecordingPlayback = this.seekRecordingPlayback;

+        client.stopAndCloseRecordingConnection = this.stopAndCloseRecordingConnection;

+        client.playbackWhiteboardVideo = this.playbackWhiteboardVideo;

+        client.stopWhiteboardVideo = this.stopWhiteboardVideo;

+        

+        //Screen sharing player

+        client.newScreenSharing = this.newScreenSharing;

+        client.newScreenSharings = this.newScreenSharings;

+        client.closeScreenSharing = this.closeScreenSharing;

+        client.closeAllScreenSharings = this.closeAllScreenSharings;

+        client.updateCursorScreenSharing = this.updateCursorScreenSharing;

+        

+        //Text RegExp 

+        client.regExpTest = this.regExpTest;

+

+        var rtmpLC:LocalConnection = new LocalConnection();

+        rtmpLC.connect(canvas.rtmp_lc_name);

+        if ($debug) Debug.write("Connect to LocalConnection ",canvas.rtmp_lc_name);

+        rtmpLC.client=client;

+        canvas.setAttribute("rtmp_lc", rtmpLC);

+    ]]></handler>

+

+    <method name="hibAdapter_setLabelObjectByHundred" args="start,value">

+    	//if($debug) Debug.write("hibAdapter_setLabelObjectByHundred",start);

+        // if($debug) Debug.write("hibAdapter_setLabelObjectByHundred",start,value);

+        setLabelObjectByHundred(start,value);

+    </method>

+

+    <method name="setRoomValues" args="roomtypes_id,rooms_id,value">

+        if($debug) Debug.write("setRoomValues",roomtypes_id,rooms_id,value);

+        canvas.currentRoomObject = value;

+    </method>

+

+    <method name="getRoomTypes" args="value">

+        canvas.roomTypesInitValues = value;

+    </method>

+    

+    <method name="reconnectSuccess" args="connection_url,publicSID,userobject,isInterview">

+        if($debug) Debug.write("reconnectSuccess",connection_url,publicSID,userobject);

+        canvas.publicSID = publicSID;

+        canvas.userobject = userobject;

+        canvas.isInterview = isInterview;

+        canvas.thishib.setAttribute('src',connection_url);

+        canvas.thishib.connect();

+    </method>

+    

+    <method name="disconnect" >

+        if($debug) Debug.write("Do disconnect");

+        canvas.thishib.disconnect();

+    </method>

+    

+    <!---

+        Starts the 5 second audio/video testing application and connect to RTMP

+     -->

+    <method name="doInitTestingApplication" args="x,y,connection_url">

+        if($debug) Debug.write("doInitTestingApplication ",x,y);

+        canvas.thishib.setAttribute('src',connection_url);

+        canvas.thishib.connect();

+        this.testingApplication = new lz.testingApplication(canvas,{name:'currentSharing',x:x+1,y:y+24});

+    </method>

+    

+    <!---

+        Stops and destroys the view with the audio/video testing application

+        and send confirmation back via LocalConnection

+     -->

+    <method name="closeInitTestingApplication">

+    	canvas.thishib.disconnect();

+        if($debug) Debug.write("closeInitTestingApplication ");

+        if (this.testingApplication != null) {

+            this.testingApplication.storeSettings();

+            this.testingApplication.destroy();

+            this.testingApplication = null;

+        }

+        if ($debug) Debug.write("Send confirmation of close back to: ",canvas.videoComp_lc_name);

+        canvas.videoComp_lc.send(canvas.videoComp_lc_name, 'closeInitTestingApplicationConfirm');

+    </method>

+    

+    <!---

+        Initializes video playback component

+        and connect to RTMP

+     -->

+    <method name="connectRecordingPlayer" args="connection_url,x,y,width,height">

+    	if($debug) Debug.write("connectRecordingPlayer ", connection_url,x,y,width,height);

+    	canvas.thishib.setAttribute('src',connection_url);

+        canvas.thishib.connect();

+        this.baseVideoStream = new lz.playBackVideoStream(canvas,{

+            x:x,

+            y:y,

+            width:width,

+            height:height

+        });

+    </method> 

+    

+    <!---

+        plays a recorded stream

+     -->

+    <method name="playRecordingStream" args="streamName,delay,x,y,width,height">

+    	if($debug) Debug.write("playRecordingStream ",streamName,x,y,width,height);

+    	if (this.baseVideoStream == null) {

+    		if ($debug) Debug.warn("baseVideoStream is NULL");

+    		return;

+    	}

+    	this.baseVideoStream.setAttribute("x",x);

+    	this.baseVideoStream.setAttribute("y",y);

+    	this.baseVideoStream.setAttribute("width",width);

+    	this.baseVideoStream.setAttribute("height",height);

+    	this.baseVideoStream.setAttribute("visibility","visible");

+    	this.baseVideoStream.playRecordingStream(streamName,delay);

+    </method>

+    

+    <!---

+        Updates the width/height property of the recording playback video 

+     -->    

+    <method name="updateRecordingVideoPosition" args="width,height">

+    	if (this.baseVideoStream == null) {

+    		if ($debug) Debug.warn("baseVideoStream is NULL");

+            return;

+        }

+        this.baseVideoStream.setAttribute("width",width);

+        this.baseVideoStream.setAttribute("height",height);

+    </method>

+    

+    <!---

+        stops and hides the recording playback video

+     -->

+    <method name="stopRecordingStream">

+    	if($debug) Debug.write("stopRecordingStream ");

+        if (this.baseVideoStream == null) {

+        	if ($debug) Debug.warn("baseVideoStream is NULL");

+            return;

+        }

+        if($debug) Debug.write(" stopRecording ");

+        this.baseVideoStream.stopRecording();

+        this.baseVideoStream.setAttribute("visibility","hidden");

+    </method>

+    

+    <!--- 

+        pauses the current video or continue at the same position

+     -->

+    <method name="pauseRecordingPlayback" args="pauseBool">

+    	if($debug) Debug.write("pauseRecordingPlayback ");

+        if (this.baseVideoStream == null) {

+        	if ($debug) Debug.warn("baseVideoStream is NULL");

+            return;

+        }

+        this.baseVideoStream.pause(pauseBool);

+    </method>

+    

+    <method name="seekRecordingPlayback" args="flvTime">

+    	if($debug) Debug.write("seekRecordingPlayback ",flvTime);

+        if (this.baseVideoStream == null) {

+        	if ($debug) Debug.warn("baseVideoStream is NULL");

+            return;

+        }

+        this.baseVideoStream.seekStream(flvTime);

+    </method>

+    

+    <method name="stopAndCloseRecordingConnection">

+    	if($debug) Debug.write("stopAndCloseRecordingConnection ");

+        if (this.baseVideoStream == null) {

+        	if ($debug) Debug.warn("baseVideoStream is NULL");

+            return;

+        }

+        this.baseVideoStream.stopRecording();

+        this.baseVideoStream.destroy();

+        this.baseVideoStream = null;

+        canvas.thishib.disconnect();

+        // send back confirmation to leave the module

+        canvas.videoComp_lc.send(canvas.videoComp_lc_name, 'recordingStoppedAndDisconnected');

+    </method>

+    

+    <!---

+        Start playback of whiteboard video

+     -->

+    <method name="playbackWhiteboardVideo" args="tName,recordingName,seek,tx,ty,twidth,theight">

+    	<![CDATA[

+    	   if($debug) Debug.write("playbackWhiteboardVideo ",tName,recordingName,seek,tx,ty,twidth,theight);

+    	   if (this[tName]) {

+    	   	 if ($debug) Debug.warn("playbackWhiteboardVideo there was already a video with the same name");

+    	   	 this[tName]._stop();

+    	   	 this[tName].destroy();

+    	   }

+    	   

+    	   new lz.playBackWhiteboardVideo(this.whiteboardVideos,{

+                	       name:tName,

+                	       x:tx,

+                	       y:ty,

+                	   	   width:twidth,

+                	   	   height:theight

+                	   });

+    	   

+    	   this.whiteboardVideos[tName].playVideoStream(recordingName,0);

+    	]]>

+    </method>

+    

+    <method name="stopWhiteboardVideo" args="tName">

+    	<![CDATA[

+    	   if($debug) Debug.write("stopWhiteboardVideo ",tName);

+           if (this.whiteboardVideos[tName]) {

+             this.whiteboardVideos[tName].stopVideo();

+             this.whiteboardVideos[tName].destroy();

+           } else {

+           	 if ($debug) Debug.warn("stopWhiteboardVideo could not find video to stop");

+           }

+    	]]>

+    </method>

+    

+    <!---

+       #################################

+       Methods to handle screen sharing video playback and cursor

+     -->

+     

+    <!---

+        Adds a new screen sharing playback video

+     -->

+    <method name="newScreenSharing" args="value">

+    	<![CDATA[

+    	   if (value.streamPublishName != canvas.publicSID) {

+                if (canvas.screenSharingDialogContainer == null) {

+                    canvas.screenSharingDialogContainer = new lz.screenSharingDialogContainer(canvas);

+                }

+                new lz.screenSharingDialog(canvas.screenSharingDialogContainer,{

+                            initObject:value 

+                        }); 

+            } else {

+                if ($debug) Debug.warn("Self Screen Sharing");

+            }

+    	]]>

+    </method> 

+    

+    <!---

+        Add a list of screen sharing playback videos 

+        (initially when entering the room invoked)

+     -->

+    <method name="newScreenSharings" args="value">

+     	<![CDATA[

+     	    for (var eg in value) {

+                this.newScreenSharing(value[eg]);

+            }

+     	]]>

+    </method>

+   

+    <!---

+        Close a single screen sharing playback video

+     --> 

+	<method name="closeScreenSharing" args="value">

+		<![CDATA[

+			if (canvas.screenSharingDialogContainer != null) {

+				var obj = canvas.screenSharingDialogContainer

+						.searchForSession(value.streamPublishName);

+				if (obj) {

+					obj.doClose();

+				}

+			}

+		]]>

+	</method>

+	

+	<!---

+	   Closes all screen sharing playback videos, whiteboard videos, user videos 

+	   and closes the rtmp connection

+	 -->

+	<method name="closeAllScreenSharings">

+        <![CDATA[

+            if ($debug) Debug.write("RECEIVE closeAllScreenSharings ");

+            if (canvas.screenSharingDialogContainer != null) {

+                canvas.screenSharingDialogContainer.closeAll();

+                canvas.screenSharingDialogContainer.destroy();

+                canvas.screenSharingDialogContainer = null;

+            }

+            this.whiteboardVideos.clearAll();

+            parent._videoComponent.clearAll();

+            canvas.thishib.disconnect();

+        ]]>

+    </method>

+    

+    <!---

+        Update the position of the cursor from the sharing screen

+     -->

+	<method name="updateCursorScreenSharing" args="value">

+		<![CDATA[

+			if (canvas.screenSharingDialogContainer != null) {

+				var obj = canvas.screenSharingDialogContainer

+						.searchForSession(value.streamPublishName);

+				obj.updateCursor(value.cursor_x, value.cursor_y);

+			}

+		]]>

+	</method>

+	

+	<!---

+		Make regExpTest 

+	 -->

+	<method name="regExpTest" args="fieldValue,regExStr,regExpCheckId">

+		<![CDATA[

+			var re = new RegExp(regExStr);

+			

+			var testResult = re.test( fieldValue );

+			

+			if ($debug) Debug.write(fieldValue, testResult);

+			

+			canvas.videoComp_lc.send(canvas.videoComp_lc_name, 'regExpResult', regExpCheckId, testResult);

+			

+		]]>

+	</method>

+	

+    <!--

+        Container to hold all whiteboard videos

+     -->	

+	<view name="whiteboardVideos">

+		<method name="clearAll">

+    		<![CDATA[

+    			for (var eg in this.subviews) {

+    				this.subviews[eg].stopVideo();

+    				this.subviews[eg].destroy();

+    			}

+    		]]>

+		</method>

+	</view>

+     

+

+</class>

+

+</library>
\ No newline at end of file
diff --git a/WebContent/swf10/lzrecorder/library.lzx b/WebContent/swf10/lzrecorder/library.lzx
new file mode 100644
index 0000000..6f84e4c
--- /dev/null
+++ b/WebContent/swf10/lzrecorder/library.lzx
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+    <include href="playBackVideoStream.lzx" />

+    

+</library>

diff --git a/WebContent/swf10/lzrecorder/playBackVideoStream.lzx b/WebContent/swf10/lzrecorder/playBackVideoStream.lzx
new file mode 100644
index 0000000..4fc34b3
--- /dev/null
+++ b/WebContent/swf10/lzrecorder/playBackVideoStream.lzx
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+<!---

+    The playBackVideoStream is used in the recording playerback to show the video

+ -->

+<class name="playBackVideoStream" extends="baseVideoStream" bgcolor="0x000000" visibility="hidden">

+    

+    <attribute name="timerDelegate" value="null"/>

+    <attribute name="timerDelegateStarted" value="false" type="boolean"/>

+    

+    <handler name="oninit">

+        this.timerDelegate = new LzDelegate( this, "calcProgressBar" );

+    </handler>

+    

+    <handler name="onclick">

+        canvas.videoComp_lc.send(canvas.videoComp_lc_name, 'togglePlayRecordingStream');

+    </handler>

+    

+    <method name="playRecordingStream" args="streamName,delay">

+        this.playStream(streamName,delay);

+        this.timerDelegateStarted = true;

+        lz.Timer.addTimer( this.timerDelegate , 1000 );

+    </method>

+    

+    <method name="stopRecording">

+        this._stop();

+        lz.Timer.removeTimer(this.timerDelegate);

+        this.timerDelegateStarted = false;

+    </method>

+    

+    <handler name="onPlayStatusEvent" args="info">

+        if ($debug) Debug.write("onPlayStatusEvent ",info);

+        if (info.code ==  "NetStream.Play.Complete" ) {

+            canvas.videoComp_lc.send(canvas.videoComp_lc_name, 'stopRecordingStream');

+        }

+    </handler>

+    <handler name="onMetaDataEvent" args="info">

+        if ($debug) Debug.write("onMetaData ",info);

+    </handler>

+    

+    <method name="calcProgressBar" args="tObjRef">

+        if ($debug) Debug.write("calcProgressBar updateRecordingStreamTime",this._ns.time)

+        canvas.videoComp_lc.send(canvas.videoComp_lc_name, 'updateRecordingStreamTime',this._ns.time);

+        if (this.timerDelegateStarted) {

+            lz.Timer.addTimer( this.timerDelegate , 1000 );

+        }

+    </method>

+    

+</class>	

+

+</library>
\ No newline at end of file
diff --git a/WebContent/swf10/main.as3.lzx b/WebContent/swf10/main.as3.lzx
new file mode 100644
index 0000000..f5fe6fb
--- /dev/null
+++ b/WebContent/swf10/main.as3.lzx
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<canvas width="100%" height="100%" title="OpenMeetings">

+	

+    <switch>

+        <when property="$as3">

+            <passthrough>

+                import flash.net.*;

+                import flash.display.*;

+            </passthrough>

+        </when>

+    </switch>

+    

+    <include href="testVideoObject.lzx" />

+

+    <silverstyle name="componentStyle" basecolor="0xFFFFFF" textcolor="0x000000" />

+

+    <attribute name="lc_SID"/>

+

+    <attribute name="vid_lc_name" />

+

+    <attribute name="lc"/>

+

+    <attribute name="rtmp_lc_name" />

+

+    <attribute name="rtmp_lc"/>

+

+    <attribute name="videoComp_lc_name" />

+

+    <attribute name="videoComp_lc_callback_name" />

+

+    <attribute name="videoComp_lc" />

+

+    <include href="base/" />

+

+    <include href="modules/" />

+

+    <include href="video/" />

+    

+    <include href="screensharing/" />

+    

+    <include href="audioVideoTest/" />

+    

+    <include href="lzrecorder/" />

+    

+    <include href="whiteboard/" />

+

+    <include href="commonVideoViewContentSWF10.lzx" />

+

+    <include href="hibAdapter.lzx" />

+

+    <include href="miniIcons.lzx" />

+

+    <include href="dragHelper.lzx" />

+

+    <view name="mainComponent" width="${canvas.width}" height="${canvas.height}">

+        <text id="mainBaseText"> </text>

+    </view>

+    <!--<text name="text" y="20" width="100%" height="100%" multiline="true"></text>-->

+

+    <method name="getLCSID">

+        //TODO: fixme

+        return "" + Math.floor(999999*Math.random());

+    </method>

+

+    <handler name="oninit"><![CDATA[

+    

+        var tInitArgsArry = new Array('secureHash','invitationHash','sid','roomid','directRoomId','language','hash','cuser','tAccept','moodleRoom','becomemoderator','wwwroot','user_id','picture','scopeRoomId');

+    

+        this.setAttribute('lc_SID', this.getLCSID());

+        this.setAttribute('vid_lc_name', lc_SID + '__videoLC');

+        this.setAttribute('rtmp_lc_name', lc_SID + '__rtmpLC');

+        this.setAttribute('videoComp_lc_name', lc_SID + '__streamLC');

+        this.setAttribute('videoComp_lc_callback_name', lc_SID + '__streamLC_cback');

+

+        var videoComp_lc_cback:LocalConnection = new LocalConnection();

+        videoComp_lc_cback.connect(this.videoComp_lc_callback_name);

+        this.setAttribute('videoComp_lc',videoComp_lc_cback);

+        

+        var tqueryString = "";

+        for (var i=0;i<tInitArgsArry.length;i++) {

+            // if ($debug) Debug.write(tInitArgsArry[i],lz.Browser.getInitArg(tInitArgsArry[i]));

+            var tValue = lz.Browser.getInitArg(tInitArgsArry[i]);

+            if (tValue != undefined) {

+                tqueryString += "&"+tInitArgsArry[i]+"="+tValue;

+            }

+        }

+        

+        var tSWFURL = "main.swf8.swf?lzproxied=solo&lc_SID="+lc_SID+tqueryString;

+        

+        if ($debug) Debug.write("tSWFURL :: ",tSWFURL);

+        

+        var request:URLRequest = new URLRequest(tSWFURL);

+        var loader:Loader = new Loader();

+        loader.load(request);

+        this.mainComponent.sprite.addChild(loader);

+

+        new lz.commonVideoViewContentSWF10(this, {name:'_videoComponent'});

+        new lz.hibAdapter(this);

+

+    ]]></handler>

+

+    <view name="inner"></view>

+    

+</canvas>
\ No newline at end of file
diff --git a/WebContent/swf10/maindebug.as3.lzx b/WebContent/swf10/maindebug.as3.lzx
new file mode 100644
index 0000000..ab8ca86
--- /dev/null
+++ b/WebContent/swf10/maindebug.as3.lzx
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<canvas debug="true" width="100%" height="100%" title="OpenMeetings">

+	

+    <switch>

+        <when property="$as3">

+            <passthrough>

+                import flash.net.*;

+                import flash.display.*;

+            </passthrough>

+        </when>

+    </switch>

+    

+    <debug fontsize="11" oninit="Debug.showInternalProperties = true" width="40%" y="50%" x="60%" height="50%" />

+

+    <include href="testVideoObject.lzx" />

+

+    <silverstyle name="componentStyle" basecolor="0xFFFFFF" textcolor="0x000000" />

+

+    <attribute name="lc_SID"/>

+

+    <attribute name="vid_lc_name" />

+

+    <attribute name="lc"/>

+

+    <attribute name="rtmp_lc_name" />

+

+    <attribute name="rtmp_lc"/>

+

+    <attribute name="videoComp_lc_name" />

+

+    <attribute name="videoComp_lc_callback_name" />

+

+    <attribute name="videoComp_lc" />

+

+    <include href="base/" />

+

+    <include href="modules/" />

+

+    <include href="video/" />

+    

+    <include href="screensharing/" />

+    

+    <include href="audioVideoTest/" />

+    

+    <include href="lzrecorder/" />

+    

+    <include href="whiteboard/" />

+

+    <include href="commonVideoViewContentSWF10.lzx" />

+

+    <include href="hibAdapter.lzx" />

+

+    <include href="miniIcons.lzx" />

+

+    <include href="dragHelper.lzx" />

+

+    <view name="mainComponent" width="${canvas.width}" height="${canvas.height}">

+        <text id="mainBaseText"> </text>

+    </view>

+    <!--<text name="text" y="20" width="100%" height="100%" multiline="true"></text>-->

+

+    <method name="getLCSID">

+        //TODO: fixme

+        return "" + Math.floor(999999*Math.random());

+    </method>

+

+    <handler name="oninit"><![CDATA[

+    

+        var tInitArgsArry = new Array('secureHash','invitationHash','sid','roomid','directRoomId','language','hash','cuser','tAccept','moodleRoom','becomemoderator','wwwroot','user_id','picture','scopeRoomId');

+    

+        this.setAttribute('lc_SID', this.getLCSID());

+        this.setAttribute('vid_lc_name', lc_SID + '__videoLC');

+        this.setAttribute('rtmp_lc_name', lc_SID + '__rtmpLC');

+        this.setAttribute('videoComp_lc_name', lc_SID + '__streamLC');

+        this.setAttribute('videoComp_lc_callback_name', lc_SID + '__streamLC_cback');

+

+        var videoComp_lc_cback:LocalConnection = new LocalConnection();

+        videoComp_lc_cback.connect(this.videoComp_lc_callback_name);

+        this.setAttribute('videoComp_lc',videoComp_lc_cback);

+        

+        var tqueryString = "";

+        for (var i=0;i<tInitArgsArry.length;i++) {

+            // if ($debug) Debug.write(tInitArgsArry[i],lz.Browser.getInitArg(tInitArgsArry[i]));

+            var tValue = lz.Browser.getInitArg(tInitArgsArry[i]);

+            if (tValue != undefined) {

+                tqueryString += "&"+tInitArgsArry[i]+"="+tValue;

+            }

+        }

+        

+        var tSWFURL = "maindebug.swf8.swf?lzproxied=solo&lc_SID="+lc_SID+tqueryString;

+        

+        if ($debug) Debug.write("tSWFURL :: ",tSWFURL);

+        

+        var request:URLRequest = new URLRequest(tSWFURL);

+        var loader:Loader = new Loader();

+        loader.load(request);

+        this.mainComponent.sprite.addChild(loader);

+

+        new lz.commonVideoViewContentSWF10(this, {name:'_videoComponent'});

+        new lz.hibAdapter(this);

+

+    ]]></handler>

+

+    <view name="inner"></view>

+    

+</canvas>

diff --git a/WebContent/swf10/miniIcons.lzx b/WebContent/swf10/miniIcons.lzx
new file mode 100644
index 0000000..301d381
--- /dev/null
+++ b/WebContent/swf10/miniIcons.lzx
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+<class name="miniIcons" extends="view" stretches="both">

+	<attribute name="showhandcursor" value="true" type="boolean" />

+    <handler name="onmouseover">

+    	if (this.showhandcursor) {

+        	this.setAttribute("x",this.x-1);

+        	this.setAttribute("y",this.y-1);

+        	this.setAttribute("height",this.height+2);

+        	this.setAttribute("width",this.width+2);

+    	}

+        parent.parent.onmouseover.sendEvent();

+    </handler>

+    <handler name="onmouseout">

+    	if (this.showhandcursor) {

+        	this.setAttribute("x",this.x+1);

+            this.setAttribute("y",this.y+1);

+            this.setAttribute("height",this.height-2);

+            this.setAttribute("width",this.width-2);

+    	}

+        parent.parent.onmouseout.sendEvent();

+    </handler>

+</class>

+

+<class name="miniIconsImage" extends="image" stretches="both">

+	<attribute name="showhandcursor" value="true" type="boolean" />

+    <handler name="onmouseover">

+    	if (this.showhandcursor) {

+        	this.setAttribute("x",this.x-1);

+        	this.setAttribute("y",this.y-1);

+        	this.setAttribute("height",this.height+2);

+        	this.setAttribute("width",this.width+2);

+    	}

+        parent.parent.onmouseover.sendEvent();

+    </handler>

+    <handler name="onmouseout">

+    	if (this.showhandcursor) {

+        	this.setAttribute("x",this.x+1);

+            this.setAttribute("y",this.y+1);

+            this.setAttribute("height",this.height-2);

+            this.setAttribute("width",this.width-2);

+    	}

+        parent.parent.onmouseout.sendEvent();

+    </handler>

+</class>

+

+</library>
\ No newline at end of file
diff --git a/WebContent/swf10/modules/conference/library.lzx b/WebContent/swf10/modules/conference/library.lzx
new file mode 100644
index 0000000..9d1d1d1
--- /dev/null
+++ b/WebContent/swf10/modules/conference/library.lzx
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+    <include href="popups/" />

+

+</library>

diff --git a/WebContent/swf10/modules/conference/popups/confirmationSingleSWF10.lzx b/WebContent/swf10/modules/conference/popups/confirmationSingleSWF10.lzx
new file mode 100644
index 0000000..25b3c86
--- /dev/null
+++ b/WebContent/swf10/modules/conference/popups/confirmationSingleSWF10.lzx
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+

+-->

+<library>

+

+<class name="confirmationSingleSWF10" extends="labelExplorerBox" labelid="832"

+    docking="true" resizeable="false" closable="true" height="140" width="300">

+

+    <attribute name="refObj" value="null" />

+

+    <attribute name="refReturnMethod" value="null" />

+

+    <attribute name="showCheckBox" value="true" type="boolean" />

+

+    <attribute name="labeliderror" value="0" type="number" />

+

+    <attribute name="result" type="bool"/>

+    

+    <attribute name="iconResource" value="warning_popup_icon_rsc" type="string" />

+

+	<image x="4" src="$once{ canvas.getThemeImage(parent.iconResource) }" y="24" />

+

+    <labelText labelid="$once{ parent.labeliderror }" y="24"

+    		   width="$once{ parent.width - 40 }"

+    	multiline="true" resize="false" x="30" />

+

+    <handler name="oninit">

+        <![CDATA[

+

+            //Set Position of Confirmation Box as Close as possible to the Mouse

+            var x = parent.getMouse("x");

+            var y = parent.getMouse("y");

+            var newx = x - (this.width/2);

+            var newy = y - (this.height/2);

+

+            if ($debug) Debug.write("1",x,y,newx,newy);

+

+            if (newx < 0) {

+                newx = 20;

+            }

+            if (newy < 0) {

+                newy = 20;

+            }

+

+            //if ($debug) Debug.write("1.1",(this.width + newx + 20),parent.width,this.width);

+

+            var relativeWidth = parent.width;

+            if (relativeWidth > canvas.width) {

+            	relativeWidth = canvas.width;

+            }

+

+            if (this.width + newx + 20 > relativeWidth) {

+            	newx = relativeWidth-this.width-20;

+            }

+

+            if (this.height + newy + 20 > parent.height) {

+            	newy = parent.height-this.height-20;

+            }

+

+            if ($debug) Debug.write("2",newx,newy);

+

+            this.setAttribute("x",newx);

+            this.setAttribute("y",newy);

+

+        ]]>

+    </handler>

+

+    <labelCheckbox name="holddatainSO" visibility="$once{ (parent.showCheckBox) ? 'visible' : 'hidden' }"

+                   labelid="64" x="10" y="$once{ parent.height - 46 }" />

+

+    <simpleLabelButton labelid="61" width="100" x="$once{ parent.width - 105 }" y="$once{ parent.height - 26 }">

+    	<handler name="onclick">

+    		var t = parent.holddatainSO.getValue();

+    		this.parent.close();

+            this.parent.result = false;

+            if (null != this.parent.refObj) {

+                if (parent.refReturnMethod == null) {

+                    this.parent.refObj.sendConfirmation(false,t);

+                } else {

+                    this.parent.refObj[parent.refReturnMethod](false,t);

+                }

+            }

+            if ($debug) Debug.write("end");

+    	</handler>

+    </simpleLabelButton>

+    <simpleLabelButton labelid="60" width="100" x="$once{ parent.width - 210 }" y="$once{ parent.height - 26 }">

+    	<handler name="onclick">

+    		var t = parent.holddatainSO.getValue();

+    		this.parent.close();

+            this.parent.result = true;

+            if (null != this.parent.refObj) {

+                if (parent.refReturnMethod == null) {

+                    this.parent.refObj.sendConfirmation(true,t);

+                } else {

+                    this.parent.refObj[parent.refReturnMethod](true,t);

+                }

+            }

+    	</handler>

+    </simpleLabelButton>

+</class>

+

+<class name="rememberMessageSWF10" extends="labelExplorerBox" labelid="832"

+	   x="$once{ canvas.width/2 - this.width/2 }" y="100"

+	   docking="true" resizeable="false" closable="true" height="140" width="300">

+

+    <attribute name="refObj" value="null" />

+

+    <attribute name="showCheckBox" value="true" type="boolean" />

+

+    <attribute name="labeliderror" value="0" type="number" />

+

+    <view x="4" resource="warning_icon_rsc" y="24" />

+

+    <labelText labelid="$once{ parent.labeliderror }" y="24"

+               width="$once{ parent.width - 40 }"

+        multiline="true" resize="false" x="30" />

+

+    <labelCheckbox name="holddatainSO" visibility="$once{ (parent.showCheckBox) ? 'visible' : 'hidden' }"

+                   labelid="64" x="10" y="$once{ parent.height - 46 }" />

+

+    <simpleLabelButton labelid="642" width="100" x="$once{ parent.width - 105 }" y="$once{ parent.height - 26 }">

+        <handler name="onclick">

+        	var t = parent.holddatainSO.getValue();

+            this.parent.close();

+            if (null != this.parent.refObj) {

+                this.parent.refObj.sendConfirmation(t);

+            }

+        </handler>

+    </simpleLabelButton>

+

+</class>

+

+</library>

diff --git a/WebContent/swf10/modules/conference/popups/errorPopupSWF10.lzx b/WebContent/swf10/modules/conference/popups/errorPopupSWF10.lzx
new file mode 100644
index 0000000..18fb2f9
--- /dev/null
+++ b/WebContent/swf10/modules/conference/popups/errorPopupSWF10.lzx
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+<class name="errorPopupSWF10" extends="labelExplorerBox" labelid="204"

+	docking="true" resizeable="false" closable="true" y="100"

+    x="$once{ parent.width/2 - this.width/2 }" height="160" width="324">

+

+	<attribute name="error" value="" type="string" />

+	

+	<attribute name="makeModal" value="false" type="boolean" />

+	

+	<handler name="oninit">

+	   if (this.makeModal) {

+	       lz.ModeManager.makeModal(this);

+	   }

+	</handler>

+	

+	<handler name="onclose">

+       if (this.makeModal) {

+           lz.ModeManager.releaseAll();

+       }

+    </handler>

+

+	<view x="4" resource="warning_icon_rsc" y="24" />

+

+	<view y="24" width="$once{ parent.width - 40 }" height="130" x="30" clip="true">

+		<text fontsize="10" fontstyle="bold" text="${ parent.parent.error }"

+			multiline="true" width="$once{ parent.width - 16 }" selectable="true" />

+	</view>

+    

+    <simpleLabelButton labelid="642" width="100" x="$once{ parent.width-105 }" 

+           y="$once{ parent.height-24 }" 

+           onclick="this.parent.close();" />

+

+</class>

+

+<class name="labelerrorPopupSWF10" extends="errorPopupSWF10">

+

+    <attribute name="errorlabelid" type="number" setter="setErrorLabelId(errorlabelid)" />

+    <method name="setErrorLabelId" args="errorlabelid" >

+        this.errorlabelid = errorlabelid;

+        this.setAttribute("error",canvas.getLabelName(this.errorlabelid));

+        if ($debug) Debug.write("labelerrorPopupSWF10: ",canvas.getLabelName(this.errorlabelid));

+    </method>

+    

+

+</class>

+

+<class name="singletonErrorPopupSWF10" extends="errorPopupSWF10">

+	<handler name="oninit">

+		lz.singletonErrorPopupHolderSWF10.dialogPresent = 1;

+		lz.singletonErrorPopupHolderSWF10.dialogObject = this;

+	</handler>

+	

+	<handler name="ondestroy">

+		lz.singletonErrorPopupHolderSWF10.dialogPresent = 0;

+		lz.singletonErrorPopupHolderSWF10.dialogObject = null;

+	</handler>

+</class>

+

+<class name="singletonErrorPopupHolderSWF10">

+	<attribute name="error" type="string" setter="setError(error)"/>

+	<attribute name="dialogPresent" allocation="class" value="0" />

+	<attribute name="dialogObject" allocation="class" />

+	

+	<method name="setError" args="error">

+	

+		if ( lz.singletonErrorPopupHolderSWF10.dialogPresent == 0 )

+		{

+			lz.singletonErrorPopupHolderSWF10.dialogPresent = 1;

+			lz.singletonErrorPopupHolderSWF10.dialogObject = new lz.singletonErrorPopupSWF10(canvas,{error:error});

+		}

+		else

+		{

+			lz.singletonErrorPopupHolderSWF10.dialogObject.error = error;

+		}

+	</method>

+</class>

+

+</library>
\ No newline at end of file
diff --git a/WebContent/swf10/modules/conference/popups/library.lzx b/WebContent/swf10/modules/conference/popups/library.lzx
new file mode 100644
index 0000000..453df78
--- /dev/null
+++ b/WebContent/swf10/modules/conference/popups/library.lzx
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+	

+	<!-- 

+	FamFam Icon Set

+	Creative Commons 3.0

+	 -->

+	<resource name="warning_icon_rsc" src="resources/error.png" />

+

+    <include href="confirmationSingleSWF10.lzx" />

+    <include href="errorPopupSWF10.lzx" />

+    

+</library>

diff --git a/WebContent/swf10/modules/conference/popups/resources/error.png b/WebContent/swf10/modules/conference/popups/resources/error.png
new file mode 100644
index 0000000..628cf2d
--- /dev/null
+++ b/WebContent/swf10/modules/conference/popups/resources/error.png
Binary files differ
diff --git a/WebContent/swf10/modules/library.lzx b/WebContent/swf10/modules/library.lzx
new file mode 100644
index 0000000..1f553d0
--- /dev/null
+++ b/WebContent/swf10/modules/library.lzx
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+    <include href="conference/" />

+

+</library>

diff --git a/WebContent/swf10/networkTesting/networktesting.lzx b/WebContent/swf10/networkTesting/networktesting.lzx
new file mode 100644
index 0000000..efdf0ea
--- /dev/null
+++ b/WebContent/swf10/networkTesting/networktesting.lzx
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+          

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<canvas debug="false" width="100%" height="100%" title="NetworkTesting">

+

+    <include href="testsView.lzx" />

+

+    <!--

+        These attributes are rewritten by values from "networktesting-config.xml"

+    -->

+    <attribute name="host" type="string" value="" />

+    <attribute name="rtmpPort" type="number" value="1935" />

+    <attribute name="httpPort" type="number" value="5080" />

+    <attribute name="uriContext" type="string" value="/openmeetings" />

+    <attribute name="rtmpUriPath" type="string" value="/openmeetings/hibernate" />

+

+    <method name="getSettings">

+        var settingsPtr = canvas.settings.getPointer();

+

+        canvas.setAttribute("host", settingsPtr.xpathQuery("config/hostAddress/text()"));

+        canvas.setAttribute("rtmpPort", settingsPtr.xpathQuery("config/rtmpPort/text()"));

+        canvas.setAttribute("httpPort", settingsPtr.xpathQuery("config/httpPort/text()"));

+

+        canvas.setAttribute("uriContext", settingsPtr.xpathQuery("config/uriContext/text()"));

+        canvas.setAttribute("rtmpUriPath", settingsPtr.xpathQuery("config/rtmpUriPath/text()"));

+    </method>

+

+    <method name="showTests">

+        var tests = new lz.TestsView(canvas, {name:"testsView"});

+        tests.testAll();

+    </method>

+

+    <dataset type="http" name="settings" request="false" >

+        <handler name="oninit">

+            this.setAttribute("src","networktesting-config.xml");

+            this.doRequest();

+        </handler>

+        <handler name="ondata">

+            if ($debug) Debug.write("Settings are retrieved");

+            canvas.getSettings();

+            canvas.showTests();

+        </handler>

+        <handler name="onerror" args="e">

+            if ($debug) Debug.write("Settings error", e);

+        </handler>

+        <handler name="ontimeout" args="e">

+            if ($debug) Debug.write("Settings timeout error", e);

+        </handler>

+    </dataset>

+

+    <attribute name="busy" type="boolean" value="false"/>

+    <attribute name="log" type="string" value="" />

+

+    <attribute name="testsView" value="null"/>

+

+</canvas>

diff --git a/WebContent/swf10/networkTesting/resources/edit-copy.png b/WebContent/swf10/networkTesting/resources/edit-copy.png
new file mode 100644
index 0000000..8dd48c4
--- /dev/null
+++ b/WebContent/swf10/networkTesting/resources/edit-copy.png
Binary files differ
diff --git a/WebContent/swf10/networkTesting/tests/BaseURLLoadTest.lzx b/WebContent/swf10/networkTesting/tests/BaseURLLoadTest.lzx
new file mode 100644
index 0000000..806e87e
--- /dev/null
+++ b/WebContent/swf10/networkTesting/tests/BaseURLLoadTest.lzx
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+

+-->

+<library>

+

+<class name="BaseURLLoadTest" extends="NetworkTest">

+

+    <switch>

+        <when property="$as3">

+            <passthrough>

+                import flash.events.*;

+                import flash.net.*;

+                import flash.utils.*;

+            </passthrough>

+        </when>

+    </switch>

+

+    <attribute name="testsCount" type="number" value="0" />

+    <attribute name="loadFileName" type="string" value="null" />

+    <attribute name="verbose" type="boolean" value="true" />

+

+    <attribute name="startTime" type="number" value="0" />

+    <attribute name="wholeTime" type="number" value="0" />

+    <attribute name="maxTime" type="number" value="0" />

+    <attribute name="minTime" type="number" value="999999" />

+    <attribute name="finishedTestsCount" type="number" value="0" />

+    <attribute name="successfulTestsCount" type="number" value="0" />

+

+    <attribute name="hostUrl" type="string" value="" />

+    <attribute name="loaderInited" type="boolean" value="false" />

+    <attribute name="request" value="null" />

+    <attribute name="loader" value="null" />

+

+    <method name="initLoader">

+        hostUrl = "http://" + host + ":" + port + canvas.uriContext + "/testingTools/" + loadFileName;

+        request = new URLRequest(hostUrl);

+

+        loader = new URLLoader();

+        loader.addEventListener(Event.COMPLETE, this.onComplete);

+        loader.addEventListener(IOErrorEvent.IO_ERROR, this.onError);

+        loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onError);

+

+        loaderInited = true;

+    </method>

+

+    <method name="start">

+        if (!loaderInited) {

+            this.initLoader();

+        }

+        finishedTestsCount = 0;

+        successfulTestsCount = 0;

+        wholeTime = 0;

+        maxTime = 0;

+        minTime = 999999;

+

+        this.log("start test... " + hostUrl);

+        startTime = getTimer();

+        loader.load(request);

+    </method>

+

+    <method name="forcedStop">

+        loader.close();

+        this.log("stopped");

+    </method>

+

+    <method name="onComplete" args="e">

+        <![CDATA[

+        var endTime = getTimer();

+        var pingTime = endTime - startTime;

+        wholeTime += pingTime;

+        if (pingTime > maxTime) {

+            maxTime = pingTime;

+        }

+        if (pingTime < minTime) {

+            minTime = pingTime;

+        }

+

+        if (verbose) {

+            this.log("load time = " + pingTime + " ms");

+        }

+

+        finishedTestsCount++;

+        successfulTestsCount++;

+        if (finishedTestsCount < testsCount && running) {

+            startTime = getTimer();

+            loader.load(request);

+        } else {

+            this.report();

+        }

+        ]]>

+    </method>

+

+    <method name="onError" args="e">

+        <![CDATA[

+        if (verbose) {

+            this.log("Error - " + e);

+        }

+

+        finishedTestsCount++;

+        if (finishedTestsCount < testsCount && running) {

+            startTime = getTimer();

+            loader.load(request);

+        } else {

+            this.report();

+        }

+        ]]>

+    </method>

+

+    <method name="report">

+        var report = "report:";

+        if (successfulTestsCount > 0) {

+            report += "\n" + this.generateReport();

+        } else {

+            report += " connection error";

+        }

+        this.log(report);

+

+        if (successfulTestsCount > 0) {

+            this.setPassed();

+        } else {

+            this.setFailed();

+        }

+    </method>

+

+    <method name="generateReport" />

+

+</class>

+

+</library>

diff --git a/WebContent/swf10/networkTesting/tests/DownloadSpeedTest.lzx b/WebContent/swf10/networkTesting/tests/DownloadSpeedTest.lzx
new file mode 100644
index 0000000..c823c4e
--- /dev/null
+++ b/WebContent/swf10/networkTesting/tests/DownloadSpeedTest.lzx
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+

+-->

+<library>

+

+<class name="DownloadSpeedTest" extends="BaseURLLoadTest">

+

+    <handler name="oninit">

+        this.setAttribute("testsCount", 1);

+        this.setAttribute("testName", "Download speed");

+        this.setAttribute("loadFileName", "downloadTest");

+        this.setAttribute("verbose", false);

+        this.setAttribute("resultText", true);

+    </handler>

+

+    <method name="generateReport">

+        var mBytes = loader.bytesTotal/(1024*1024);

+        var timeSec = wholeTime/1000;

+        var speed = mBytes/timeSec;

+

+        var report = "Bytes downloaded: " + mBytes + " Mb\n";

+        report += "Download time: " + timeSec + " s\n";

+        report += "Download speed: " + speed + " Mb/s\n";

+

+        resultLabel.setAttribute("text", "");

+        resultLabel.addFormat("%.2f\n%s", speed, "Mb/s");

+

+        return report;

+    </method>

+

+</class>

+

+</library>

diff --git a/WebContent/swf10/networkTesting/tests/JitterTest.lzx b/WebContent/swf10/networkTesting/tests/JitterTest.lzx
new file mode 100644
index 0000000..4fc3875
--- /dev/null
+++ b/WebContent/swf10/networkTesting/tests/JitterTest.lzx
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+

+-->

+<library>

+

+<class name="JitterTest" extends="BaseURLLoadTest">

+

+    <handler name="oninit">

+        this.setAttribute("testsCount", 100);

+        this.setAttribute("testName", "Jitter");

+        this.setAttribute("loadFileName", "jitterTest");

+        this.setAttribute("verbose", false);

+        this.setAttribute("resultText", true);

+    </handler>

+

+    <method name="generateReport">

+        <![CDATA[

+        var averageTime = wholeTime / successfulTestsCount;

+        var jitterMax = maxTime - averageTime;

+        var jitterMin = minTime - averageTime;

+        var report = "Average time: " + averageTime + " ms\n";

+        report += "Min time: " + minTime + " ms\n";

+        report += "Max time: " + maxTime + " ms\n";

+        report += "Jitter: " + jitterMax + " ms and " + jitterMin + " ms \n";

+

+        var max = -jitterMin;

+        if (jitterMax > max) {

+            max = jitterMax;

+        }

+

+        resultLabel.setAttribute("text", "");

+        resultLabel.addFormat("%.0d\n%s", max, "ms");

+

+        return report;

+        ]]>

+    </method>

+

+</class>

+

+</library>

diff --git a/WebContent/swf10/networkTesting/tests/NetworkTest.lzx b/WebContent/swf10/networkTesting/tests/NetworkTest.lzx
new file mode 100644
index 0000000..c3b12f1
--- /dev/null
+++ b/WebContent/swf10/networkTesting/tests/NetworkTest.lzx
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+

+-->

+<library>

+

+<class name="NetworkTest" extends="view">

+

+    <attribute name="testName" type="string" value="null" />

+    <attribute name="host" type="string" value="null" />

+    <attribute name="port" type="number" value="null" />

+    <attribute name="running" type="boolean" value="false" />

+    <attribute name="allTests" type="boolean" value="false" />

+    <attribute name="resultText" type="boolean" value="false" />

+

+    <method name="start" />

+    <method name="forcedStop" />

+

+    <method name="startAllTestsMode">

+        allTests = true;

+        this.setRunning();

+    </method>

+

+    <view name="picture">

+        <view name="rsc" resource="notrun" width="113" height="113" />

+    </view>

+    <text name="nameLabel"

+          text="${parent.testName}"

+          x="${(parent.picture.rsc.width - this.width)/2}"

+          y="$once{parent.picture.rsc.height}"

+    />

+    <text name="resultLabel"

+          visible="false"

+          fgcolor="white"

+          align="center"

+          fontsize="16"

+    />

+

+    <handler name="onclick">

+        if (running) {

+            this.setStopped();

+        } else {

+            allTests = false;

+            this.setRunning();

+        }

+    </handler>

+

+    <method name="handleAllTestsMode">

+        if (allTests) {

+            canvas.testsView.testAll();

+        }

+    </method>

+    

+    <method name="setPassed">

+        if (running) {

+            running=false;

+            if (resultText) {

+                picture.rsc.setAttribute("resource", "passed_result");

+                var x = (picture.rsc.width - resultLabel.width)/2;

+                var y = (picture.rsc.height - resultLabel.height)/2;

+                resultLabel.setAttribute("x", x);

+                resultLabel.setAttribute("y", y);

+                resultLabel.setAttribute("visible", true);

+            } else {

+                picture.rsc.setAttribute("resource", "passed");

+            }

+            canvas.setAttribute("busy", false);

+            this.handleAllTestsMode();

+        }

+    </method>

+

+    <method name="setFailed">

+        if (running) {

+            running=false;

+            picture.rsc.setAttribute("resource", "failed");

+            canvas.setAttribute("busy", false);

+            this.handleAllTestsMode();

+        }

+    </method>

+

+    <method name="setRunning">

+        if (canvas.busy) {

+            return;

+        }

+        canvas.setAttribute("busy", true);

+        this.start();

+        running=true;

+        resultLabel.setAttribute("visible", false);

+        picture.rsc.setAttribute("resource", "running");

+        picture.rsc.play();

+    </method>

+

+    <method name="setStopped">

+        this.forcedStop();

+        running=false;

+        picture.rsc.setAttribute("resource", "notrun");

+        canvas.setAttribute("busy", false);

+        this.handleAllTestsMode();

+    </method>

+

+    <method name="log" args="message">

+        var str = testName + ": " + message + "\n";

+        canvas.log += str;

+        if ($debug) Debug.write(str);

+    </method>

+

+</class>

+

+</library>

diff --git a/WebContent/swf10/networkTesting/tests/PingTest.lzx b/WebContent/swf10/networkTesting/tests/PingTest.lzx
new file mode 100644
index 0000000..a017d4a
--- /dev/null
+++ b/WebContent/swf10/networkTesting/tests/PingTest.lzx
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+

+-->

+<library>

+

+<class name="PingTest" extends="BaseURLLoadTest">

+

+    <handler name="oninit">

+        this.setAttribute("testsCount", 10);

+        this.setAttribute("testName", "Ping");

+        this.setAttribute("loadFileName", "pingTest");

+    </handler>

+

+    <method name="generateReport">

+        var averageTime = wholeTime / successfulTestsCount;

+        var packetsLost = testsCount - successfulTestsCount;

+        var report = "Average ping time: " + averageTime + " ms\n";

+        report += "Packets received: " + successfulTestsCount + "\n";

+        report += "Packets lost: " + packetsLost + "\n";

+

+        return report;

+    </method>

+

+</class>

+

+</library>

diff --git a/WebContent/swf10/networkTesting/tests/PortAvailabilityTest.lzx b/WebContent/swf10/networkTesting/tests/PortAvailabilityTest.lzx
new file mode 100644
index 0000000..64eadec
--- /dev/null
+++ b/WebContent/swf10/networkTesting/tests/PortAvailabilityTest.lzx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+

+-->

+<library>

+

+<class name="PortAvailabilityTest" extends="NetworkTest">

+

+    <switch>

+        <when property="$as3">

+            <passthrough>

+                import flash.events.*;

+                import flash.net.*;

+                import flash.system.*;

+            </passthrough>

+        </when>

+    </switch>

+

+    <rtmpconnection name="rtmp" autoconnect="false" debug="true" />

+

+    <handler name="oninit">

+        this.setAttribute("testName", "Port");

+    </handler>

+

+    <method name="start">

+        var hostUrl = "rtmp://" + host + ":" + port + canvas.rtmpUriPath;

+        rtmp.setAttribute("src", hostUrl);

+        this.log(": start test... " + hostUrl);

+

+        rtmp.connect();

+    </method>

+

+    <method name="forcedStop">

+        this.log("stopped");

+        // TODO: disconnect @rtmp

+    </method>

+

+    <handler name="onconnect" reference="rtmp">

+        if (running) {

+            this.log("port is available\n");

+            this.setPassed();

+        }

+    </handler>

+

+    <handler name="onerror" args="e" reference="rtmp">

+        if (running) {

+            this.log("connection error - " + e + "\n");

+            this.setFailed();

+        }

+    </handler>

+

+    <handler name="onstatus" args="e" reference="rtmp">

+        if (running) {

+            if ("timed out" == e) {

+                this.setFailed();

+            }

+            if($debug) Debug.write(testName + ": RTMP connect status - ", e);

+        }

+    </handler>

+

+</class>

+

+</library>

diff --git a/WebContent/swf10/networkTesting/tests/UploadSpeedTest.lzx b/WebContent/swf10/networkTesting/tests/UploadSpeedTest.lzx
new file mode 100644
index 0000000..e68f88a
--- /dev/null
+++ b/WebContent/swf10/networkTesting/tests/UploadSpeedTest.lzx
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+

+-->

+<library>

+

+<class name="UploadSpeedTest" extends="NetworkTest">

+

+    <switch>

+        <when property="$as3">

+            <passthrough>

+                import flash.events.*;

+                import flash.net.*;

+                import flash.utils.*;

+            </passthrough>

+        </when>

+    </switch>

+

+    <attribute name="startTime" type="number" value="0" />

+

+    <attribute name="hostUrl" type="string" value="" />

+    <attribute name="loaderInited" type="boolean" value="false" />

+    <attribute name="request" value="null" />

+    <attribute name="loader" value="null" />

+

+    <handler name="oninit">

+        this.setAttribute("testName", "Upload speed");

+        this.setAttribute("resultText", true);

+    </handler>

+

+    <method name="initLoader">

+        hostUrl = "http://" + host + ":" + port + canvas.uriContext + "/networktest.upload";

+        request = new URLRequest(hostUrl);

+        request.method = URLRequestMethod.POST;

+        request.data = getDataString();

+

+        loader = new URLLoader();

+        loader.addEventListener(Event.COMPLETE, this.onComplete);

+        loader.addEventListener(IOErrorEvent.IO_ERROR, this.onError);

+        loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onError);

+

+        loaderInited = true;

+    </method>

+

+    <method name="start">

+        if (!loaderInited) {

+            this.initLoader();

+        }

+

+        this.log("start test... " + hostUrl);

+        startTime = getTimer();

+        loader.load(request);

+    </method>

+

+    <method name="forcedStop">

+        loader.close();

+        this.log("stopped");

+    </method>

+

+    <method name="onComplete" args="e">

+        if (running) {

+            var endTime = getTimer();

+            var loadTime = endTime - startTime;

+            var loadTimeSec = loadTime/1000;

+            var mBytes = request.data.length/(1024*1024);

+            var speed = mBytes / loadTimeSec;

+

+            var report = "report:\n";

+            report += "Bytes uploaded: " + mBytes + " Mb\n";

+            report += "Upload time: " + loadTimeSec + " s\n";

+            report += "Upload speed: " + speed + " Mb/s\n";

+

+            resultLabel.setAttribute("text", "");

+            resultLabel.addFormat("%.2f\n%s", speed, "Mb/s");

+            this.log(report);

+            this.setPassed();

+        }

+    </method>

+

+    <method name="onError" args="e">

+        if (running) {

+            this.log("error - " + e);

+            this.setFailed();

+        }

+    </method>

+

+    <!-- returns a 1 Mb string-->

+    <method name="getDataString">

+        <![CDATA[

+        var result = "";

+        var str64 = "0000000000000000000000000000000000000000000000000000000000000000";

+        for (var i=0; i<16384; i++) {

+            result += str64;

+        }

+        return result;

+        ]]>

+    </method>

+

+</class>

+

+</library>

diff --git a/WebContent/swf10/networkTesting/tests/library.lzx b/WebContent/swf10/networkTesting/tests/library.lzx
new file mode 100644
index 0000000..9b8575d
--- /dev/null
+++ b/WebContent/swf10/networkTesting/tests/library.lzx
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+    <resource name="failed" src="resources/failed.png" />

+    <resource name="notrun" src="resources/notrun.png" />

+    <resource name="passed" src="resources/passed.png" />

+    <resource name="passed_result" src="resources/passed_result.png" />

+    <resource name="running" src="resources/running.swf" />

+

+    <include href="BaseURLLoadTest.lzx" />

+    <include href="DownloadSpeedTest.lzx" />

+    <include href="JitterTest.lzx" />

+    <include href="NetworkTest.lzx" />

+    <include href="PingTest.lzx" />

+    <include href="PortAvailabilityTest.lzx" />

+    <include href="UploadSpeedTest.lzx" />

+

+</library>

diff --git a/WebContent/swf10/networkTesting/tests/resources/failed.png b/WebContent/swf10/networkTesting/tests/resources/failed.png
new file mode 100644
index 0000000..8654b24
--- /dev/null
+++ b/WebContent/swf10/networkTesting/tests/resources/failed.png
Binary files differ
diff --git a/WebContent/swf10/networkTesting/tests/resources/notrun.png b/WebContent/swf10/networkTesting/tests/resources/notrun.png
new file mode 100644
index 0000000..cb869eb
--- /dev/null
+++ b/WebContent/swf10/networkTesting/tests/resources/notrun.png
Binary files differ
diff --git a/WebContent/swf10/networkTesting/tests/resources/passed.png b/WebContent/swf10/networkTesting/tests/resources/passed.png
new file mode 100644
index 0000000..5929d15
--- /dev/null
+++ b/WebContent/swf10/networkTesting/tests/resources/passed.png
Binary files differ
diff --git a/WebContent/swf10/networkTesting/tests/resources/passed_result.png b/WebContent/swf10/networkTesting/tests/resources/passed_result.png
new file mode 100644
index 0000000..d4d6f84
--- /dev/null
+++ b/WebContent/swf10/networkTesting/tests/resources/passed_result.png
Binary files differ
diff --git a/WebContent/swf10/networkTesting/tests/resources/running.swf b/WebContent/swf10/networkTesting/tests/resources/running.swf
new file mode 100644
index 0000000..138d3e1
--- /dev/null
+++ b/WebContent/swf10/networkTesting/tests/resources/running.swf
Binary files differ
diff --git a/WebContent/swf10/networkTesting/testsView.lzx b/WebContent/swf10/networkTesting/testsView.lzx
new file mode 100644
index 0000000..0e70b2f
--- /dev/null
+++ b/WebContent/swf10/networkTesting/testsView.lzx
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+

+-->

+<library>

+

+<include href="tests/" />

+<resource name="log" src="resources/edit-copy.png" />

+

+<class name="TestsView" extends="view">

+

+    <attribute name="offset" type="number" value="20" />

+    <attribute name="smallOffset" type="number" value="5" />

+

+    <text name="label"

+        text="Click a play button to run a test"

+        x="${parent.offset}"

+        y="${parent.offset}"

+    />

+    <view name="logButton"

+        x="${parent.width - this.rsc.width - parent.offset}"

+        y="${parent.label.y + (parent.label.height - this.rsc.height)/2}"

+    >

+        <image name="rsc" resource="log" height="16" width="16"/>

+        <handler name="onclick">

+            lz.Browser.setClipboard(canvas.log);

+        </handler>

+    </view>

+

+    <text name="logLabel"

+        text="Copy the log to the clipboard:"

+        x="${parent.logButton.x - this.width - parent.smallOffset}"

+        y="${parent.label.y}"

+    />

+

+    <PingTest

+        name="pingTest" host="${canvas.host}" port="${canvas.httpPort}"

+        x="${parent.offset}"

+        y="${parent.label.y + parent.label.height + parent.offset/2}"

+    />

+    <PortAvailabilityTest

+        name="portTest" host="${canvas.host}" port="${canvas.rtmpPort}"

+        x="${parent.pingTest.x + parent.pingTest.width + parent.offset}"

+        y="${parent.pingTest.y}"

+     />

+    <JitterTest

+        name="jitterTest" host="${canvas.host}" port="${canvas.httpPort}"

+        x="${parent.portTest.x + parent.portTest.width + parent.offset}"

+        y="${parent.pingTest.y}"

+    />

+    <DownloadSpeedTest

+        name="downloadTest" host="${canvas.host}" port="${canvas.httpPort}"

+        x="${parent.jitterTest.x + parent.jitterTest.width + parent.offset}"

+        y="${parent.pingTest.y}"

+    />

+

+    <UploadSpeedTest

+        name="uploadTest" host="${canvas.host}" port="${canvas.httpPort}"

+        x="${parent.downloadTest.x + parent.downloadTest.width + parent.offset}"

+        y="${parent.pingTest.y}"

+    />

+

+    <attribute name="currentTestNumber" type="number" value="0" />

+    <method name="testAll">

+        var nextTest;

+        if (0 == currentTestNumber) {

+            nextTest = pingTest;

+        } else if (1 == currentTestNumber) {

+            nextTest = portTest;

+        } else if (2 == currentTestNumber) {

+            nextTest = jitterTest;

+        } else if (3 == currentTestNumber) {

+            nextTest = downloadTest;

+        } else if (4 == currentTestNumber) {

+            nextTest = uploadTest;

+        } else if (5 == currentTestNumber) {

+            nextTest = null;

+        }

+

+        if (null != nextTest) {

+            currentTestNumber++;

+            nextTest.startAllTestsMode();

+        }

+    </method>

+

+</class>

+

+</library>

diff --git a/WebContent/swf10/screensharing/library.lzx b/WebContent/swf10/screensharing/library.lzx
new file mode 100644
index 0000000..0182183
--- /dev/null
+++ b/WebContent/swf10/screensharing/library.lzx
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+    <!-- FamFam Icon Set -->
+	<resource name="menupointer_rsc" src="resources/cursor.png" />
+	
+	<include href="screenSharingDialog.lzx" />
+    <include href="videoObjectPlayScreenShare.lzx" />
+
+</library>
diff --git a/WebContent/swf10/screensharing/resources/cursor.png b/WebContent/swf10/screensharing/resources/cursor.png
new file mode 100644
index 0000000..532f532
--- /dev/null
+++ b/WebContent/swf10/screensharing/resources/cursor.png
Binary files differ
diff --git a/WebContent/swf10/screensharing/screenSharingDialog.lzx b/WebContent/swf10/screensharing/screenSharingDialog.lzx
new file mode 100644
index 0000000..8fd33f8
--- /dev/null
+++ b/WebContent/swf10/screensharing/screenSharingDialog.lzx
@@ -0,0 +1,1122 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+    
+<class name="screenSharingDialogContainer" extends="view" 
+       width="${parent.width }" height="${ parent.height }">
+	
+	<method name="closeAll">
+		<![CDATA[
+		    if ($debug) Debug.write("screenSharingDialogContainer closeAll");
+            for (var eg in this.subviews) {
+                this.subviews[eg].doClose();
+            }
+            //do first close the video connection before removing the client view
+            this.clearAllSessions();
+        ]]>
+	</method>
+    
+    <method name="clearAllSessions">
+        <![CDATA[
+            if ($debug) Debug.write("screenSharingDialogContainer clearAllSessions");
+            for (var eg in this.subviews) {
+                this.subviews[eg].destroy();
+            }
+        ]]>
+    </method>
+    
+    <method name="searchForSession" args="streamPublishName">
+        <![CDATA[
+        
+            for (var i=0;i<this.subviews.length;i++) {
+                if (this.subviews[i].initObject.streamPublishName == streamPublishName) {
+                    return this.subviews[i];
+                }
+            }
+            
+            if ($debug) Debug.write("No Screen Session "+streamPublishName);
+            return null;
+        ]]>
+    </method>
+    
+</class>    
+
+<class name="screenSharingDialog" extends="labelExplorerBox" labelid="855"
+    docking="true" resizeable="true" closable="true" 
+    width="270" x="$once{ canvas.width - this.width - 20 }" height="100">
+    
+    <attribute name="isStarted" value="false" type="boolean" />
+    
+    <attribute name="currentCursorObject" value="null" />
+    
+    <attribute name="initObject" value="null"/>
+    
+    <handler name="oninit">
+    	var fName = " " + this.initObject.firstname 
+                  + " " + this.initObject.lastname;
+        var tString = canvas.getLabelName(849)
+                        + " " + fName
+                        + " " + canvas.getLabelName(850);
+        
+		this.setAttribute('title', canvas.getLabelName(855) + " " + fName);
+        if (parent.subviews.length > 1) {
+            this.setAttribute("y",((parent.subviews.length-1)*100)+40);
+        } else {
+            this.setAttribute("y",40);
+        }
+        
+        this._initText._infoText.setAttribute("text",tString);
+    </handler>
+    
+    <method name="startViewerSession">
+        <![CDATA[
+        
+            this.isStarted = true;
+            
+            this._subcontent.setAttribute("visibility","visible");
+            
+            this._initText.setAttribute("visibility","hidden");
+        
+            this._showScreenSharing._y.setAttribute("to",0);
+            this._showScreenSharing._height.setAttribute("to",canvas.height);
+            this._showScreenSharing._width.setAttribute("to",canvas.width-260);
+            this._showScreenSharing._x.setAttribute("to",260);
+        
+            this._showScreenSharing.doStart();
+            
+            if ($debug) Debug.write("this.initObject ",this.initObject);
+            
+            this._subcontent._content._video.setAttribute("width",this.initObject.VWidth);
+            this._subcontent._content._video.setAttribute("height",this.initObject.VHeight);
+            
+            this._subcontent._content._video._videostream.playStream(this.initObject.streamPublishName,-1);
+            
+        ]]>
+    </method>
+    
+    <method name="doMinimize">
+        <![CDATA[
+           
+           this.isStarted = false;
+           
+           this._subcontent._content._video._videostream.stop();
+           
+           this._showScreenSharing._y.setAttribute("to",((parent.subviews.length-1)*100)+40);
+           this._showScreenSharing._x.setAttribute("to",canvas.width - 270 - 20);
+           this._showScreenSharing._height.setAttribute("to",100);
+           this._showScreenSharing._width.setAttribute("to",270);
+           
+           this._showScreenSharing.doStart();
+           
+           this._infoBox.setAttribute("visibility","hidden");
+           this._zoombar.setAttribute("visibility","hidden");
+           this._pause.setAttribute("visibility","hidden");
+           this._close.setAttribute("visibility","hidden");
+           
+           this._subcontent.setAttribute("visibility","hidden");
+           
+        ]]>
+    </method>
+    
+    <method name="doClose">
+        if (this.isStarted) {
+            this._subcontent._content._video._videostream.stop();
+        }
+        this.close();
+    </method>
+    
+    <method name="updateCursor" args="x,y">
+        if (this.currentCursorObject == null) {
+            this.currentCursorObject = new lz.screenShareCursorObject(this._subcontent._content,{
+                        refObj:this._subcontent._content._video._videostream
+                    });
+        }
+        this.currentCursorObject.setAttribute("x",x * (this._zoombar._zoom.initialNumber/100));
+        this.currentCursorObject.setAttribute("y",y * (this._zoombar._zoom.initialNumber/100));
+    </method>    
+    
+    <view name="_initText">
+        
+        <!--
+        <view x="4" resource="warning_icon_rsc" y="24" />
+         -->
+         
+        <labelText name="_infoText" labelid="724" width="230" 
+                   x="10" y="26" multiline="true" />
+    
+        <simpleLabelButton name="_startButton" labelid="848" x="10" width="124" y="78">
+            <handler name="onclick">
+                parent.parent.startViewerSession();
+            </handler>
+        </simpleLabelButton> 
+          
+        <simpleLabelButton name="_closeButton" labelid="851" x="138" width="124" y="78">
+            <handler name="onclick">
+                parent.parent.close();
+            </handler>
+        </simpleLabelButton>   
+        
+    </view>
+    
+    <view name="_subcontent" width="${ parent.width }" visibility="hidden"
+          y="20" height="${ parent.height - 48 }" clip="true">
+    	
+        <view name="_content">
+            
+            <videoObjectPlayScreenShare name="_video">
+            	
+            	<contextmenu>
+			
+					<contextmenuitem caption="$once{ canvas.getLabelName(1087) }" 
+									 onselect="parent.parent.parent.pasteContent()" />
+		        
+		        </contextmenu>
+		                
+                <attribute name="doSendEvents" type="boolean" value="true" />
+                
+                <attribute name="idleDelegate" value="null" type="expression" />
+                
+                <attribute name="isMouseOverActive" value="false" type="boolean"/>
+                
+                <attribute name="lastMouseX" value="-1" type="number"/>
+                <attribute name="lastMouseY" value="-1" type="number"/>
+                
+                <attribute name="isMac" value="false" type="boolean"/>
+                <attribute name="isWindows" value="false" type="boolean"/>
+                <attribute name="isLinux" value="false" type="boolean"/>
+                
+                <handler name="oninit">
+                	
+                	var osInfo = lz.Browser.getOS();
+                	
+                	if ($debug) Debug.write("osInfo :: ",osInfo);
+                	
+                	if (osInfo.indexOf("Mac") >= 0) {
+                		this.isMac = true;
+                	} else if (osInfo.indexOf("Win") >= 0) {
+                        this.isWindows = true;
+                    } else if (osInfo.indexOf("Linux") >= 0) {
+                        this.isLinux = true;
+                    }
+                    
+                    if ($debug) Debug.write("this.isMac :: ",this.isMac);
+                    if ($debug) Debug.write("this.isWindows :: ",this.isWindows);
+                	
+                    this.idleDelegate = new LzDelegate( this, "sendMousePosition" );
+                </handler>
+                
+                <method name="pasteContent">
+                	if ($debug) Debug.write("pasteContent :: ");
+                </method>
+                
+                <handler name="onkeydown" reference="lz.Keys" args="k">
+                	<![CDATA[
+	                    if (this.isMouseOverActive) {
+	                        if ($debug) Debug.write("onkeydown ",k);
+	                        
+	                        var tObject = new Object();
+	                        tObject["action"] = "onkeydown";
+	                        tObject["k"] = k;
+	                        
+	                        var downkeys = lz.Keys.downKeysArray;
+	                        
+	                        if ($debug) Debug.write("downkeys ",downkeys,downkeys.length);
+				
+	                        if (this.isWindows) {
+	                        
+    							if (downkeys.length==2 && downkeys[0]==16) {
+    								if (k == 187) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "*";
+    		                        } else if (k == 191) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "'";
+    		                        } else if (k == 189) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "_";
+    		                        } else if (k == 221) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "`";
+    		                        } else if (k == 219) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "?";
+    		                        } else if (k == 226) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = ">";
+    		                        } else if (k == 220) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "°";
+    		                        } else if (k == 186) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "Ü";
+    		                        } else if (k == 222) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "Ä";
+    		                        } else if (k == 192) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "Ö";
+    		                        }
+    		                        
+    		                        
+    							} else if (downkeys.length==2 && downkeys[0]==18) {
+    								
+    								if (k == 81) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "@";
+    								} else if (k == 226) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "|";
+    								}
+    								
+    							} else {
+    								
+    		                        if (k == 187) {
+    		                        	tObject["k"] = -1;
+    		                        	tObject["c"] = "+";
+    		                        } else if (k == 191) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "#";
+    		                        } else if (k == 189) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "-";
+    		                        } else if (k == 221) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "`";
+    		                        } else if (k == 219) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "ß";
+    		                        } else if (k == 226) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "<";
+    		                        } else if (k == 220) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "^";
+    		                        } else if (k == 186) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "ü";
+    		                        } else if (k == 222) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "ä";
+    		                        } else if (k == 192) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "ö";
+    		                        }
+    		                        
+    							}
+							
+	                        } else if (this.isMac) {
+	                        	
+	                        	if (downkeys.length==2 && downkeys[0]==16) {
+                                    if (k == 221) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "*";
+                                    } else if (k == 220) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "'";
+                                    } else if (k == 191) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "_";
+                                    } else if (k == 225) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "`";
+                                    } else if (k == 189) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "?";
+                                    } else if (k == 192) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = ">";
+                                    } else if (k == 176) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "°";
+                                    } else if (k == 219) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "Ü";
+                                    } else if (k == 222) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "Ä";
+                                    } else if (k == 186) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "Ö";
+                                    }
+                                    
+                                    
+                                } else if (downkeys.length==2 && downkeys[0]==18) {
+                                    
+                                    if (k == 50) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "@";
+                                    } else if (k == 55) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "|";
+                                    }
+                                    
+                                } else {
+                                    
+                                    if (k == 221) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "+";
+                                    } else if (k == 220) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "#";
+                                    } else if (k == 191) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "-";
+                                    } else if (k == 225) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "`";
+                                    } else if (k == 189) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "ß";
+                                    } else if (k == 192) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "<";
+                                    } else if (k == 176) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "^";
+                                    } else if (k == 219) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "ü";
+                                    } else if (k == 222) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "ä";
+                                    } else if (k == 186) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "ö";
+                                    }
+                                    
+                                }
+	                        	
+	                        } else if (this.isLinux) {
+	                        	
+	                        	if (downkeys.length==2 && downkeys[0]==16) {
+                                    if (k == 187) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "*";
+                                    } else if (k == 51) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "'";
+                                    } else if (k == 189) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "_";
+                                    } else if (k == 222) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "`";
+                                    } else if (k == 223) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "?";
+                                    } else if (k == 188) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = ">";
+                                    } else if (k == 176) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "°";
+                                    } else if (k == 252) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "Ü";
+                                    } else if (k == 228) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "Ä";
+                                    } else if (k == 246) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "Ö";
+                                    }
+                                    
+                                    
+                                } else if (downkeys.length==2 && downkeys[0]==18) {
+                                    
+                                    if (k == 50) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "@";
+                                    } else if (k == 55) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "|";
+                                    }
+                                    
+                                } else {
+                                    
+                                    if (k == 187) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "+";
+                                    } else if (k == 51) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "#";
+                                    } else if (k == 189) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "-";
+                                    } else if (k == 222) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "`";
+                                    } else if (k == 223) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "ß";
+                                    } else if (k == 188) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "<";
+                                    } else if (k == 176) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "^";
+                                    } else if (k == 246) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "ü";
+                                    } else if (k == 228) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "ä";
+                                    } else if (k == 246) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "ö";
+                                    }
+                                    
+                                }
+	                        	
+	                        }
+							
+							if (lz.Keys.downKeysArray.length > 1) {
+								for (var i=0;i<lz.Keys.downKeysArray.length;i++) {
+									if (lz.Keys.downKeysArray[i] == 17 || lz.Keys.downKeysArray[i] == '17') {
+										lz.Keys.downKeysArray = new Array();
+										break;
+									}
+								}
+							}
+							
+	                        
+							
+							if (k == 18 || k == 17) {
+								return;
+							}
+	                        
+	                        this.sendRemoteCursorEvent.tObject = tObject;
+	                        if (canvas.isAllowedToRemoteControl || canvas.ismoderator) {
+	                            this.sendRemoteCursorEvent.doCall();
+	                        }
+	                        
+	                    }
+                    ]]>
+                </handler>
+                
+                <handler name="onkeyup" reference="lz.Keys" args="k">
+                	<![CDATA[
+                        if (this.isMouseOverActive) {
+                            if ($debug) Debug.write("onkeyup ",k);
+                            
+                            var tObject = new Object();
+                            tObject["action"] = "onkeyup";
+                            tObject["k"] = k;
+                            
+                            var downkeys = lz.Keys.downKeysArray;
+    				        
+                            if (this.isWindows) {
+                            	
+    					        if (downkeys.length==2 && downkeys[0]==16) {
+    								if (k == 187) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "*";
+    		                        } else if (k == 191) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "'";
+    		                        } else if (k == 189) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "_";
+    		                        } else if (k == 221) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "`";
+    		                        } else if (k == 219) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "?";
+    		                        } else if (k == 226) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = ">";
+    		                        } else if (k == 220) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "°";
+    		                        } else if (k == 186) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "ü";
+    		                        } else if (k == 222) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "ä";
+    		                        } else if (k == 192) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "ö";
+    		                        }
+    		                        
+    		                        
+    							} else if (downkeys.length==2 && downkeys[0]==18) {
+    								
+    								if (k == 81) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "@";
+    								} else if (k == 226) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "|";
+    								}
+    								
+    							} else {
+    								
+    		                        if (k == 187) {
+    		                        	tObject["k"] = -1;
+    		                        	tObject["c"] = "+";
+    		                        } else if (k == 191) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "#";
+    		                        } else if (k == 189) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "-";
+    		                        } else if (k == 221) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "`";
+    		                        } else if (k == 219) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "ß";
+    		                        } else if (k == 226) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "<";
+    		                        } else if (k == 220) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "^";
+    		                        } else if (k == 186) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "Ü";
+    		                        } else if (k == 222) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "Ä";
+    		                        } else if (k == 192) {
+    									tObject["k"] = -1;
+    		                        	tObject["c"] = "Ö";
+    		                        }
+    		                        
+    							}
+    						
+                            } else if (this.isMac) {
+                        	
+                                if (downkeys.length==2 && downkeys[0]==16) {
+                                    if (k == 221) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "*";
+                                    } else if (k == 220) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "'";
+                                    } else if (k == 191) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "_";
+                                    } else if (k == 225) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "`";
+                                    } else if (k == 189) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "?";
+                                    } else if (k == 192) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = ">";
+                                    } else if (k == 176) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "°";
+                                    } else if (k == 219) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "Ü";
+                                    } else if (k == 222) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "Ä";
+                                    } else if (k == 186) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "Ö";
+                                    }
+                                    
+                                    
+                                } else if (downkeys.length==2 && downkeys[0]==18) {
+                                    
+                                    if (k == 50) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "@";
+                                    } else if (k == 55) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "|";
+                                    }
+                                    
+                                } else {
+                                    
+                                    if (k == 221) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "+";
+                                    } else if (k == 220) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "#";
+                                    } else if (k == 191) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "-";
+                                    } else if (k == 225) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "`";
+                                    } else if (k == 189) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "ß";
+                                    } else if (k == 192) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "<";
+                                    } else if (k == 176) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "^";
+                                    } else if (k == 219) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "ü";
+                                    } else if (k == 222) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "ä";
+                                    } else if (k == 186) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "ö";
+                                    }
+                                    
+                                }
+                                
+                            } else if (this.isLinux) {
+	                        	
+	                        	if (downkeys.length==2 && downkeys[0]==16) {
+                                    if (k == 187) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "*";
+                                    } else if (k == 51) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "'";
+                                    } else if (k == 189) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "_";
+                                    } else if (k == 222) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "`";
+                                    } else if (k == 223) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "?";
+                                    } else if (k == 188) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = ">";
+                                    } else if (k == 176) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "°";
+                                    } else if (k == 252) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "Ü";
+                                    } else if (k == 228) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "Ä";
+                                    } else if (k == 246) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "Ö";
+                                    }
+                                    
+                                    
+                                } else if (downkeys.length==2 && downkeys[0]==18) {
+                                    
+                                    if (k == 50) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "@";
+                                    } else if (k == 55) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "|";
+                                    }
+                                    
+                                } else {
+                                    
+                                    if (k == 187) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "+";
+                                    } else if (k == 51) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "#";
+                                    } else if (k == 189) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "-";
+                                    } else if (k == 222) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "`";
+                                    } else if (k == 223) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "ß";
+                                    } else if (k == 188) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "<";
+                                    } else if (k == 176) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "^";
+                                    } else if (k == 246) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "ü";
+                                    } else if (k == 228) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "ä";
+                                    } else if (k == 246) {
+                                        tObject["k"] = -1;
+                                        tObject["c"] = "ö";
+                                    }
+                                    
+                                }
+	                        	
+	                        }
+    							
+    						if (k == 18 || k == 17) {
+    							return;
+    						}
+    						
+    						if (lz.Keys.downKeysArray.length > 1) {
+    							for (var i=0;i<lz.Keys.downKeysArray.length;i++) {
+    								if (lz.Keys.downKeysArray[i] == 17 || lz.Keys.downKeysArray[i] == '17') {
+    									lz.Keys.downKeysArray = new Array();
+    									break;
+    								}
+    							}
+    						}
+                        
+    						if ($debug) Debug.write("tObject :: ",tObject,this.isWindows,this.isMac);
+    						
+                            this.sendRemoteCursorEvent.tObject = tObject;
+                            if (canvas.isAllowedToRemoteControl || canvas.ismoderator) {
+                                this.sendRemoteCursorEvent.doCall();
+                            }
+                        }
+                    ]]>
+                </handler>
+                
+                <handler name="onmouseover">
+                    //if ($debug) Debug.write("onmouseout ");
+                    this.isMouseOverActive = true;
+                    lz.Timer.addTimer( this.idleDelegate, 500 );
+                </handler>
+                
+                <handler name="onmouseout">
+                    //if ($debug) Debug.write("onmouseout ");
+                    this.isMouseOverActive = false;
+                    lz.Timer.removeTimer( this.idleDelegate);
+                </handler>
+                
+                <method name="sendMousePosition" args="refObj">
+                    <![CDATA[
+                        var x = this.getMouse("x");
+                        var y = this.getMouse("y");
+                        x /= (parent.parent.parent._zoombar._zoom.initialNumber/100);
+                        y /= (parent.parent.parent._zoombar._zoom.initialNumber/100);
+                        
+                        var tObject = new Object();
+                        tObject["action"] = "mousePos";
+                        
+                        tObject["x"] = Math.round(x);
+                        tObject["y"] = Math.round(y);
+                        
+                        this.sendRemoteCursorEvent.tObject = tObject;
+                        if (canvas.isAllowedToRemoteControl || canvas.ismoderator) {
+                            
+                            //if ($debug) Debug.write("sendMousePosition ",x,y);
+                            
+                            if (tObject["x"] != this.lastMouseX && tObject["y"] != this.lastMouseY) {
+                                
+                                this.lastMouseX = tObject["x"];
+                                this.lastMouseY = tObject["y"];
+                            
+                                this.sendRemoteCursorEvent.doCall();
+                            }
+                            
+                        }
+                        
+                        if (this.isMouseOverActive) {
+                            lz.Timer.addTimer( this.idleDelegate, 500 );
+                        }
+                    ]]>
+                </method>
+                
+                <handler name="onmousedown" args="refObj">
+                    <![CDATA[
+                        var x = this.getMouse("x");
+                        var y = this.getMouse("y");
+                        if ($debug) Debug.write("1 x,y :: ",x,y);
+                        x /= (parent.parent.parent._zoombar._zoom.initialNumber/100);
+                        y /= (parent.parent.parent._zoombar._zoom.initialNumber/100);
+                        if ($debug) Debug.write("2 x,y :: ",x,y);
+                        
+                        var tObject = new Object();
+                        tObject["action"] = "onmousedown";
+                        tObject["x"] = Math.round(x);
+                        tObject["y"] = Math.round(y);
+                        
+                        this.sendRemoteCursorEvent.tObject = tObject;
+                        if (canvas.isAllowedToRemoteControl || canvas.ismoderator) {
+                            this.sendRemoteCursorEvent.doCall();
+                        }
+                    ]]>
+                </handler>
+                
+                <handler name="onmouseup" args="refObj">
+                    <![CDATA[
+                        var x = this.getMouse("x");
+                        var y = this.getMouse("y");
+                        if ($debug) Debug.write("1 x,y :: ",x,y);
+                        x /= (parent.parent.parent._zoombar._zoom.initialNumber/100);
+                        y /= (parent.parent.parent._zoombar._zoom.initialNumber/100);
+                        if ($debug) Debug.write("2 x,y :: ",x,y);
+                        
+                        var tObject = new Object();
+                        tObject["action"] = "onmouseup";
+                        tObject["x"] = Math.round(x);
+                        tObject["y"] = Math.round(y);
+                        
+                        this.sendRemoteCursorEvent.tObject = tObject;
+                        if (canvas.isAllowedToRemoteControl || canvas.ismoderator) {
+                            this.sendRemoteCursorEvent.doCall();
+                        }
+                    ]]>
+                </handler>
+                
+                <!--
+                public synchronized Boolean sendRemoteCursorEvent(String streamid, Map messageObj)
+                 -->
+                <netRemoteCallHib name="sendRemoteCursorEvent"  showLoading="false"
+                                  remotecontext="$once{ canvas.thishib }" funcname="sendRemoteCursorEvent"  >
+                        <attribute name="tObject" value="null" />
+                        <netparam><method name="getValue">return parent.parent.parent.parent.parent.initObject.streamid;</method></netparam>
+                        <netparam><method name="getValue">return parent.tObject;</method></netparam>
+                        <handler name="ondata" args="value">
+                        //The onResult-Handler will be called be the rtmpconnection
+                        //if( $debug ) Debug.write("+++++++++++++++++ stopRecordingShow: ",value);    
+                        //parent.close();
+                    </handler>  
+                </netRemoteCallHib> 
+                 
+            </videoObjectPlayScreenShare>
+            
+        </view>
+        
+        <om_vscrollbar />
+        <om_hscrollbar />
+        
+    </view>    
+    
+    <view name="_infoBox" x="0" visibility="hidden" >
+    	
+    	<view name="innerBox" height="${ parent.parent.height }" 
+    		  visible="${ ((canvas.ismoderator) ? true : ((canvas.isAllowedToRemoteControl) ? true : false )) }">
+    		
+            <labelExplorerBox name="_infoBox" labelid="1088" 
+                  docking="true" resizeable="false" closable="true" valign="middle"
+                    x="0" height="400" width="170">
+                <switch>
+                    <when property="$as3">
+                        <passthrough>
+                            import flash.net.SharedObject;
+                        </passthrough>
+                    </when>
+                </switch>
+                <handler name="oninit">
+                	<![CDATA[
+                	this.bringToFront();
+                    var t:SharedObject = SharedObject.getLocal('userdata');
+                    var g = t.data;
+                    if (g["image"]!=null) {
+                    	if ($debug) Debug.write("g[image][donotaskagainrdc] ",g["image"]["donotaskagainrdc"]);
+                        if ($debug) Debug.write("g[image] ",g["image"]);
+                        if (g["image"]["donotaskagainrdc"] != null && g["image"]["donotaskagainrdc"] == true) {
+                        	if ($debug) Debug.write("DO CLOSE IT")
+                            this.close();
+                        }
+                    }
+                    ]]>
+                </handler>
+            
+                <view x="4" resource="warning_icon_rsc" y="26" />
+            
+                <view y="22" width="$once{ parent.width - 35 }" height="130" x="30" >
+                    <labelText fontsize="10" fontstyle="bold" labelid="1086"
+                        multiline="true" width="$once{ parent.width - 16 }" selectable="true" />
+                </view>
+                
+                <view y="76" width="$once{ parent.width - 7 }" height="130" x="4" >
+                    <labelText fontsize="10" labelid="1085"
+                        multiline="true" width="$once{ parent.width - 16 }" selectable="true" />
+                </view>
+                
+                <labelCheckbox x="4" y="$once{ parent.height-42 }" fontsize="11"
+                                    name="_doNotShowAgain" labelid="1123" >
+                	<attribute name="checkboxIsinited" value="false" type="boolean"/>
+                	<switch>
+                        <when property="$as3">
+                            <passthrough>
+                                import flash.net.SharedObject;
+                            </passthrough>
+                        </when>
+                    </switch>
+                    <handler name="oninit">
+                    	<![CDATA[
+                    	    var t:SharedObject = SharedObject.getLocal('userdata');
+                            var g = t.data;
+                            if (g["image"]!=null) {
+                            	if ($debug) Debug.write("g[image]",g["image"]);
+                                if (g["image"]["donotaskagainrdc"] != null && g["image"]["donotaskagainrdc"] == true) {
+                                    if ($debug) Debug.write("donotaskagainrdc ",g["image"]["donotaskagainrdc"]);
+                                    this.setValue(true);
+                                }
+                            }
+                            this.checkboxIsinited = true;
+                        ]]>
+                    </handler>
+                    <handler name="onvalue" args="v">
+                    	if (!this.checkboxIsinited) {
+                    		return;
+                    	}
+                        if ($debug) Debug.write("onselect ",v);
+                        var t:SharedObject = SharedObject.getLocal('userdata');
+                        var g = t.data;
+                        if (g["image"]==null) g["image"]=new Array();
+                        g["image"]["donotaskagainrdc"]=v;
+                        
+                        if ($debug) Debug.write("g[image][donotaskagainrdc] ",g["image"]["donotaskagainrdc"]);
+                        if ($debug) Debug.write("g[image] ",g["image"]);
+                        
+                        t.flush();
+                    </handler>
+                </labelCheckbox>    
+                
+                <simpleLabelButton labelid="642" width="100" x="$once{ parent.width-105 }" 
+                       y="$once{ parent.height-24 }" onclick="this.parent.close();" />
+                       
+            </labelExplorerBox>  
+            
+        </view>
+        
+    </view>  
+
+    <view name="_zoombar" x="20" visibility="hidden" y="${ parent.height-26 }">
+        
+        <method name="setDefaultZoom">
+            if (parent.initObject.VWidth > (parent._subcontent.width-16) ) {
+                var newZoom = Math.round(( (parent._subcontent.width-16) /parent.initObject.VWidth)*100);
+                
+                if ($debug) Debug.write("newZoom ",newZoom);
+                
+                this._zoom.setSliderValue(newZoom);
+                
+                this._zoom.oninitialNumber.sendEvent(newZoom);
+            }
+            
+            this.setDefaultHeight();
+        </method>
+        
+        <method name="setDefaultHeight">
+            if (parent.initObject.VHeight > (parent._subcontent.height-16)) {
+                var newZoom = Math.round(( (parent._subcontent.height-16) /parent.initObject.VHeight)*100);
+                
+                if ($debug) Debug.write("newZoom ",newZoom);
+                
+                this._zoom.setSliderValue(newZoom);
+                
+                this._zoom.oninitialNumber.sendEvent(newZoom);
+            }
+        </method>
+        
+        <simplelayout axis="x" spacing="2" />
+        
+        <labelText labelid="852" resize="true" y="4" />
+        
+        <changeWidthSlider name="_zoom" initialNumberInit="100" x="10"
+              boxPosition="up" initialNumber="100" maximum="200">
+            <handler name="oninitialNumber" args="i">
+                if (parent.parent.isStarted) {
+                    
+                    var newWidth = parent.parent.initObject.VWidth * (i/100);
+                    var newHeight = parent.parent.initObject.VHeight * (i/100);
+                    
+                    parent.parent._subcontent._content._video.setAttribute("width",newWidth);
+                    parent.parent._subcontent._content._video.setAttribute("height",newHeight);
+                    
+                }
+            </handler>
+        </changeWidthSlider>
+        
+        <labelText x="64" y="4" labelid="253" />   
+        
+        <labelText x="84" y="4" labelid="1096" />  
+        
+        <!--
+        <resetCombobox name="languages" width="60" y="6" x="200" >
+        	<handler name="oninit">
+        		<![CDATA[
+            		//getBrowserLang
+            		
+        		    var thisItem = this;
+        		
+            		function callback(returnValue) {
+                            
+                        if ($debug) Debug.write(" callback ",returnValue);
+                        
+                        if (returnValue.indexOf("de") >= 0) {
+                        	thisItem.selectItemAt(1);
+                        } else if (returnValue.indexOf("de") >= 0) {
+                        	thisItem.selectItemAt(0);
+                        } else {
+                        	thisItem.selectItemAt(0);
+                        	//Show Error Box that we currently have no 
+                        	//Keyboard Scheme available for that country
+                        }
+                        
+                    }
+                    
+                    lz.Browser. callJS("getBrowserLang",callback);
+            		
+            		
+            		//var t = lz.Browser;
+            		//if ($debug) Debug.write("lz.Browser :: ",t);
+            		
+            		//this.selectItemAt(0);
+        		]]>
+        	</handler>
+        	<labeldTextListItem labelid="1094" value="en_US" />
+            <labeldTextListItem labelid="1095" value="de_DE" />
+        </resetCombobox> 
+         -->
+    </view>
+    
+    <simpleLabelButton name="_pause" visibility="hidden"
+        labelid="854" width="100" x="${ parent.width-204 }" 
+        y="${ parent.height-22 }" onclick="this.parent.doMinimize();" />
+    
+    <simpleLabelButton name="_close" visibility="hidden"
+        labelid="851" width="100" x="${ parent.width-102 }" 
+        y="${ parent.height-22 }" onclick="this.parent.doClose();" />
+        
+    <animatorgroup name="_showScreenSharing" start="false" 
+                   process="simultaneous" duration="1000" >
+        <handler name="onstop">
+            if ($debug) Debug.write("onstop this._y.to ",this._y.to);
+            if (!parent.isStarted) {
+                parent._initText.setAttribute("visibility","visible");
+            } else {
+            	parent._infoBox.setAttribute("visibility","visible");
+                parent._zoombar.setAttribute("visibility","visible");
+                parent._zoombar.setDefaultZoom();
+                parent._close.setAttribute("visibility","visible");
+                parent._pause.setAttribute("visibility","visible");
+            }
+        </handler>
+        <animator name="_y" attribute="y" to="0" />
+        <animator name="_x" attribute="x" to="0" />
+        <animator name="_height" attribute="height" />
+        <animator name="_width" attribute="width" />
+    </animatorgroup>        
+
+</class>
+
+</library>
diff --git a/WebContent/swf10/screensharing/videoObjectPlayScreenShare.lzx b/WebContent/swf10/screensharing/videoObjectPlayScreenShare.lzx
new file mode 100644
index 0000000..f6b37a9
--- /dev/null
+++ b/WebContent/swf10/screensharing/videoObjectPlayScreenShare.lzx
@@ -0,0 +1,238 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<library>
+
+
+<!---
+	Contains no microphone or camera Object, this view can only 
+	subscribe to a video or live-stream
+
+ -->
+	
+<class name="tempTextBox" extends="view" width="120" height="40" bgcolor="0x000000">
+	
+	<attribute name="isStopped" value="false" type="boolean"/>
+	
+	<handler name="oninit">
+		parent.sendCursorVisible(false);
+        lz.Timer.addTimer( new LzDelegate( this, "removeThis" ), 3000 );
+    </handler>
+    
+    <method name="removeThis" args="refObj">
+        this._out.doStart();
+    </method>
+    
+    <animator name="_out" attribute="opacity" to="0" 
+    		  duration="750" start="false">
+    	<handler name="onstop">
+    		if (parent.isStopped) {
+    			return;
+    		}
+    		parent.isStopped = true;
+    		parent._bg._in.stop();
+    		parent._bg._out.stop();
+    		parent.destroy();
+    		parent.parent.sendCursorVisible(true);
+    	</handler>
+    </animator>
+    
+	<view name="_bg" bgcolor="0x7fff00" width="$once{ parent.width }"
+		  height="$once{ parent.height }">
+		<handler name="oninit">
+			this._in.doStart();
+		</handler>
+		
+		<animator name="_out" attribute="opacity" to="0.3" 
+              duration="250" start="false">
+            <handler name="onstop">
+            	if (parent.parent.isStopped) {
+                    return;
+                }
+                parent._in.doStart();
+            </handler>
+        </animator>
+        
+        <animator name="_in" attribute="opacity" to="1" 
+              duration="250" start="false">
+            <handler name="onstop">
+            	if (parent.parent.isStopped) {
+            		return;
+            	}
+                parent._out.doStart();
+            </handler>
+        </animator>
+		
+	</view>
+	
+	<view name="_bg2" bgcolor="0x7fff00" width="$once{ parent.width }" height="18">
+		<labelText x="2" y="1" labelid="1124" />
+	</view>
+	
+	<inputtext name="_text" width="$once{ parent.width - 4 }" height="20" y="18"
+			   bgcolor="0xFFFFFF" x="2" >
+		<handler name="ontext" args="txt">
+			if ($debug) Debug.warn("ontext ",txt);
+			parent.parent.doBroadcastText(txt);
+			parent._out.doStart();
+		</handler>
+	</inputtext>
+	
+</class>	
+
+<class name="copiedTextPopup" extends="labelExplorerBox" labelid="1121"
+    docking="true" resizeable="true" closable="true" y="100"
+    x="$once{ parent.width/2 - this.width/2 }" height="160" width="324">
+
+    <attribute name="error" value="" type="string" />
+    
+    <view name="_box" y="24" width="${ parent.width - 20 }" 
+    	  height="${ parent.height - 50 }" x="10" clip="true">
+        <text fontsize="10" fontstyle="bold" text="${ parent.parent.error }"
+            multiline="true" width="${ parent.width - 16 }" selectable="true" />
+    </view>
+    
+    <simpleLabelButton labelid="642" width="100" x="${ parent.width-105 }" 
+           y="${ parent.height-24 }" onclick="this.parent.close();" />
+
+</class>
+			
+<class name="screenShareCursorObject" extends="view" resource="menupointer_rsc">
+	
+	<attribute name="refObj" value="null" />
+	
+    <contextmenu>
+            
+        <handler name="onmenuopen">
+            parent.refObj.currentX = parent.refObj.getMouse("x");
+            parent.refObj.currentY = parent.refObj.getMouse("y");
+            if ($debug) Debug.write("onmenuopen x,y ",parent.currentX,parent.currentY);
+        </handler>
+        
+        <contextmenuitem caption="$once{ canvas.getLabelName(1119) }" 
+                         onselect="parent.parent.refObj.insertText()" />
+        
+        <contextmenuitem caption="$once{ canvas.getLabelName(1120) }" 
+                         onselect="parent.parent.refObj.copyFromRemote()" />
+                         
+        <contextmenuitem caption="$once{ canvas.getLabelName(1122) }" 
+                         onselect="parent.parent.refObj.showFromRemote()" />
+                         
+    </contextmenu>
+</class>			
+					   
+<class name="videoObjectPlayScreenShare" extends="view">
+	
+    <baseVideoStream name="_videostream" bgcolor="black" 
+          width="${parent.width}" height="${parent.height}" >
+    	
+    	<attribute name="currentX" value="0" type="number" />
+    	<attribute name="currentY" value="0" type="number" />
+    	
+    	<method name="insertText">
+    		if (canvas.isAllowedToRemoteControl || canvas.ismoderator) {
+        		new lz.tempTextBox(this,{
+                		   x:this.currentX,
+                		   y:this.currentY
+                		});
+    		} else {
+    			new lz.labelerrorPopupSWF10(canvas,{
+                               errorlabelid:1125
+                            });
+    		}
+    	</method>
+    	
+    	<method name="sendCursorVisible" args="bool">
+    		if (bool) {
+    			parent.parent.parent.parent.currentCursorObject.setAttribute("visibility","visible");
+    		} else {
+    			parent.parent.parent.parent.currentCursorObject.setAttribute("visibility","hidden");
+    		}
+    	</method>
+    	
+    	<method name="doBroadcastText" args="txt">
+    		if (canvas.isAllowedToRemoteControl || canvas.ismoderator) {
+        		var tObject = new Object();
+                tObject["action"] = "paste";
+                
+                tObject["paste"] = txt;
+                
+                parent.sendRemoteCursorEvent.tObject = tObject;
+                
+                if ($debug) Debug.warn("doBroadcastText :: ",txt);
+                
+                parent.sendRemoteCursorEvent.doCall();
+    		} else {
+    			new lz.labelerrorPopupSWF10(canvas,{
+                               errorlabelid:1125
+                            });
+    		}
+    	</method>
+    	
+    	<method name="copyFromRemote">
+    		if (canvas.isAllowedToRemoteControl || canvas.ismoderator) {
+        		var tObject = new Object();
+                tObject["action"] = "copy";
+                
+                tObject["clientId"] = canvas.streamid;
+                
+        		parent.sendRemoteCursorEvent.tObject = tObject;
+                parent.sendRemoteCursorEvent.doCall();
+    		} else {
+    			new lz.labelerrorPopupSWF10(canvas,{
+                			   errorlabelid:1125
+                			});
+    		}
+    	</method>
+    	
+    	<method name="showFromRemote">
+            var tObject = new Object();
+            tObject["action"] = "show";
+            
+            tObject["clientId"] = canvas.streamid;
+            
+            parent.sendRemoteCursorEvent.tObject = tObject;
+            parent.sendRemoteCursorEvent.doCall();
+        </method>
+    	
+    	<contextmenu>
+    		
+    		<handler name="onmenuopen">
+    			parent.currentX = parent.getMouse("x");
+    			parent.currentY = parent.getMouse("y");
+    			if ($debug) Debug.write("onmenuopen x,y ",parent.currentX,parent.currentY);
+    		</handler>
+            
+            <contextmenuitem caption="$once{ canvas.getLabelName(1119) }" 
+                             onselect="parent.parent.insertText()" />
+            
+            <contextmenuitem caption="$once{ canvas.getLabelName(1120) }" 
+                             onselect="parent.parent.copyFromRemote()" />
+                             
+            <contextmenuitem caption="$once{ canvas.getLabelName(1122) }" 
+                             onselect="parent.parent.showFromRemote()" />
+                             
+        </contextmenu>
+        
+    </baseVideoStream>
+        
+</class>
+
+</library>
diff --git a/WebContent/swf10/testVideoObject.lzx b/WebContent/swf10/testVideoObject.lzx
new file mode 100644
index 0000000..75cc30d
--- /dev/null
+++ b/WebContent/swf10/testVideoObject.lzx
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+    <class name="testVideoObject" extends="view" bgcolor="0x000000" width="132" height="120" onmousedown="dragger.setAttribute('applied', true)" onmouseup="dragger.setAttribute('applied', false)">

+        <dragstate name="dragger"/>>

+    </class>

+</library>
\ No newline at end of file
diff --git a/WebContent/swf10/video/baseVideoObject.lzx b/WebContent/swf10/video/baseVideoObject.lzx
new file mode 100644
index 0000000..3db363f
--- /dev/null
+++ b/WebContent/swf10/video/baseVideoObject.lzx
@@ -0,0 +1,723 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+

+<!---

+	Base container for a client, can be either:

+	a remote-video (subscribing/playing a video)

+	or a self-video (broadcasting a cam/mic)

+ -->

+    

+<class name="baseVideoObject" extends="view" bgcolor="0x000000" width="122" height="101">

+

+    <switch>

+	  <when property="$as3">

+		<passthrough>

+		  import flash.filters.DropShadowFilter;

+          import flash.media.*

+		</passthrough>

+	  </when>

+	</switch>

+	 

+	<!--- @keywords private -->

+	<attribute name="chatpartnername" value="" type="string" />

+	<!--- @keywords private -->

+	<attribute name="showUserProfilePic" type="boolean" value="false" />

+	

+	<!--- color of this user, this is the color the user will also use for his chat-color -->

+	<attribute name="usercolor" value="0" type="number" />

+		

+	<!--- publicSID is a hash-value to identify a user -->

+	<attribute name="publicSID" value="" type="string" />

+

+	<!--- micMuted indicates if the microphone is currently turned sound or gain to 0 -->

+    <attribute name="micMuted" value="false" type="boolean" />

+	

+	<!--- @keywords private -->

+	<attribute name="isremote" value="true" type="boolean" />

+	

+	<!--- @keywords private -->

+	<attribute name="clientVars" value="null" />

+    

+    <!--- @keywords private -->

+    <attribute name="isResizing" value="false" type="boolean" />

+    

+    <!--- @keywords private -->

+    <attribute name="isInterview" value="false" type="boolean" />

+    

+    <attribute name="respectRatio" value="true" type="boolean" />

+    

+    <attribute name="minimized" value="false" type="boolean" />

+    

+    <attribute name="hidebyAudioOnly" value="false" type="boolean" />

+    

+    <attribute name="custom" value="false" type="boolean" />

+    

+    <attribute name="initH" value="40" type="number" />

+    <attribute name="initW" value="40" type="number" />

+

+    <attribute name="isShowMicMute" value="false" type="boolean"/>

+

+    <attribute name="isMutedByModerator" value="false" type="boolean"/>

+    

+    <attribute name="isMicrophonesRoom" value="false" type="boolean"/>

+	

+	<handler name="onisremote" args="r">

+		this.isremote = r;

+	</handler>

+    

+    <handler name="oninit">

+        <![CDATA[

+            this.clientVars = new Array();

+            this.clientVars['User']='No User Connected';

+            

+            if (this.isInterview) {

+            	this._toolbar._minimize.setAttribute("visibility","hidden");

+            	this._resizeview.setAttribute("visibility","hidden");

+            	this._innerbottom.setAttribute("visibility","hidden");

+            	return;

+            }

+            

+            if (this.custom) {

+                this._toolbar._minimize.setAttribute("visibility","hidden");

+                this._resizeview.setAttribute("visibility","hidden");

+                this._toolbar.setAttribute("visibility","hidden");

+                this._resizeview.setAttribute("visibility","hidden");

+                this._loudness.setAttribute("visibility","hidden");

+                this._innertop.setAttribute("visibility","hidden");

+                this._innerbottom.setAttribute("visibility","hidden");

+                

+                //return;

+            }

+            

+            //var prop1 = [this, "width"];

+            //var prop2 = [this, "height"];

+            //this.applyConstraintMethod("setItemContraintsWidth", prop1);

+            //this.applyConstraintMethod("setItemContraintsHeight", prop2);

+            this.setShadow();

+            

+            if (this.publicSID == canvas.publicSID) {

+                this._toolbar._resync._tip.setAttribute("labelid",610);

+            }

+            this._giveExclusiveAudioView.bringToFront();

+            

+            this.isMicrophonesRoom = canvas.currentRoomObject.showMicrophoneStatus;

+            if (canvas.currentRoomObject.showMicrophoneStatus) {

+                this._innertop.setAttribute("bgcolor", "0xFF6600");

+                this._innerbottom.setAttribute("bgcolor", "0xFF6600");

+            } else {

+                this._innerbottom.setAttribute("visibility", "hidden");

+            }

+            

+        ]]>

+    

+    </handler>

+	

+	<handler name="ony">

+		<![CDATA[

+		    if (this.isInterview) {

+                return;

+            }

+            if (this.custom) {

+                return;

+            }

+			if (canvas.currentRoomObject.hideWhiteboard) {

+                return;

+            }

+            var bounds = this.getBounds();

+            var parentBounds = canvas.getBounds();

+            if ( bounds.y < 0 )

+            {

+                this.setAttribute('y',0);

+            }

+            if ( bounds.y > ( parentBounds.height - bounds.height ) )

+            {           

+                this.setAttribute('y', parentBounds.height - bounds.height );

+            }

+        ]]>

+    </handler>

+

+	<handler name="onx">

+		<![CDATA[

+		

+            if (this.isInterview) {

+                return;

+            }	

+            

+            if (this.custom) {

+                return;

+            }

+		

+			var bounds = this.getBounds();

+            var parentBounds = canvas.getBounds();

+            if ( bounds.x < 0 )

+            {

+                this.setAttribute('x',0);

+            }

+            

+            if ( bounds.x > ( parentBounds.width - bounds.width ) )

+            {

+                this.setAttribute('x', parentBounds.width - bounds.width );

+            }

+        ]]>

+    </handler>

+	

+    <method name="setShadow">

+        <![CDATA[

+        if (this.isinited){

+            this.normalMC = this.getDisplayObject();

+            //Debug.write(this.normalMC);

+            ////Debug.write("this.normalMC: ",this.normalMC);

+            ////Debug.write("this: ",this);

+            this.displacementMap = new flash.filters.DropShadowFilter();

+            this.normalMC.filters = [this.displacementMap];

+        }

+        ]]>              

+    </method>   

+        

+    <!-- respect ratio and keep minimum width / height -->

+    <method name="setItemContraintsWidth" args="unused">

+        <![CDATA[

+            if (!this.respectRatio) {

+                return;

+            }

+            var h=this.width * this.initH/this.initW;

+            h=((h < this.initH ) ? initH : h);

+

+            if ($debug) Debug.write("setItemContraintsWidth",this.respectRatio,'orig',this.height,this.width,'new h',h);

+

+            this.setAttribute("height",h);

+        ]]>

+    </method>

+

+    <method name="setItemContraintsHeight" args="unused">

+        <![CDATA[

+            if (!this.respectRatio) {

+                return;

+            }

+            var w=this.height * this.initW/this.initH;

+            w=((w < this.initW ) ? initW : w);

+

+            if ($debug) Debug.write("setItemContraintsHeight",this.respectRatio,'orig',this.height,this.width,'new w',w);

+

+            this.setAttribute("width",w);

+        ]]>

+    </method>

+	

+	<method name="updateAVSettingsSymbol" args="rcl">

+		//FIXME: Set a Symbol wether this Client is Audio(only)/Video(only), both or Profile Picture 

+		if ($debug) Debug.warn("updateAVSettingsSymbol TODO ",rcl);

+	</method>

+

+

+    

+    <method name="doResize" args="bool">

+        if ($debug) Debug.write("doResize ",bool);

+        if(bool) {

+            dragHelper.create();

+        } else {

+            dragHelper.remove();

+        }

+        if (this.isInterview) {

+            return;

+        }   

+        

+        if (this.custom) {

+                return;

+        }

+        

+        if (bool) {

+            this.isResizing = true;

+            this.rs.apply();

+        } else {

+            this.isResizing = false;

+            this.rs.remove();

+        }

+    </method>

+    

+    <!--- resets all values and stops the streaming -->

+    <method name="resetValues">

+      <![CDATA[

+    	this.clientVars=null;

+    	if (this.showUserProfilePic && !this.isremote){

+    		this._chatvideoinner.userProfilePic.destroy();

+    		this.showUserProfilePic = false;

+    	}

+    	if ($debug) Debug.write("resetValues: ",this.isremote);

+    	if (this.isremote){

+    		this._chatvideoinner._videostream.restart();

+    	} else {

+    		this._chatvideoinner._videostream._stop();

+    	}

+     ]]>

+    </method>

+    <method name="setVideouserProfilePic" args="value">

+    	if ($debug) Debug.write("### setVideouserProfilePic ",value);

+    	this.deleteVideoConfProfilePic(value);

+    	new lz.videoUserProfilePicSWF10(this._chatvideoinner,{name:'userProfilePic',value:value});

+    	this.showUserProfilePic = true;

+    </method>    

+    <method name="deleteVideoConfProfilePic" args="value">

+    	if ($debug) Debug.write("### deleteVideoConfProfilePic ",value);

+        if ($debug) Debug.write("delete ",this.showUserProfilePic);

+    	if (this.showUserProfilePic){

+    		this._chatvideoinner.userProfilePic.destroy();

+    		this.showUserProfilePic = false;

+    	}

+    </method>    

+    

+        <!--- @keywords private  -->

+    <method name="_startDragState" args="obj">

+    	

+        if (this.isInterview) {

+            return;

+        }    	

+        

+        if (this.custom) {

+            return;

+        }

+

+        dragHelper.create();

+

+        this.bringToFront();

+        parent.bringToFront();

+        this.dragger.apply();

+    </method> 

+    

+        <!--- @keywords private  -->

+    <method name="_removeDragState" args="obj">

+    	<![CDATA[

+	        lz.Cursor.unlock();

+	        

+	        if (this.x < 0) {

+	        	this.setAttribute("x",20);

+	        }

+	        

+	        if (this.y < 0) {

+	        	this.setAttribute("y",20);

+	        }

+	        

+	        if (this.x+this.width > parent.width) {

+	        	this.setAttribute("x",parent.width - this.width - 20);

+	        }

+	        

+	        if (this.y+this.height > parent.height) {

+	        	this.setAttribute("y",parent.height - this.height - 20);

+	        }

+

+	        dragHelper.remove();

+

+	        this.dragger.remove();

+        

+        ]]>

+    </method>

+    

+    <attribute name="initialHeight" value="$once{ this.height }" type="number" />

+    

+    <method name="minimize">

+        <![CDATA[

+        

+            this.respectRatio = false;

+        

+            this.setAttribute("minimized",true);

+            

+            this._toolbar._minimize.setAttribute("visibility","hidden");

+            this._toolbar._maximize2.setAttribute("visibility","visible");

+            

+            for (var eg in this.subviews) {

+                if (this.subviews[eg].name != "_toolbar" 

+                        && this.subviews[eg].name != "_innertop"

+                        && this.subviews[eg].name != "_loudness") {

+                     this.subviews[eg].setAttribute("visibility","hidden");   

+                }

+            }

+            

+            this._loudness.setAttribute("x",this.width - 84 - (this.isShowMicMute ? 20 : 0));

+            this._loudness.bringToFront();

+            

+            this.initialHeight = this.height;

+            //this.setAttribute("height",20);

+            this._minimizeZoom.setAttribute("to",20);

+            this._minimizeZoom.doStart();

+        ]]>

+    </method>

+    

+    <method name="reminimize">

+        <![CDATA[

+            this.setAttribute("minimized",false);

+            

+            this._toolbar._minimize.setAttribute("visibility","visible");

+            this._toolbar._maximize2.setAttribute("visibility","hidden");

+            

+            this._loudness.setAttribute("x",1);

+            

+            //this.setAttribute("height",this.initialHeight); 

+            if ($debug) Debug.write("this.initialHeight ",this.initialHeight);

+            this._minimizeZoom.setAttribute("to",this.initialHeight);

+            this._minimizeZoom.doStart();

+        ]]>

+    </method>    

+    

+    <method name="reminimizeComplete">

+        <![CDATA[

+            if (!this.minimized) {

+                

+                for (var eg in this.subviews) {

+                    if (this.subviews[eg].name != "_toolbar" 

+                            && this.subviews[eg].name != "_innertop"

+                            && this.subviews[eg].name != "_loudness"

+                            && this.subviews[eg].name != "_innerbottom") {

+                         this.subviews[eg].setAttribute("visibility","visible");   

+                    }

+                }

+                

+                if (isMicrophonesRoom) {

+                    this._innerbottom.setAttribute("visibility", "visible");

+                }

+            

+                this.respectRatio = true;

+            }

+            

+        ]]>

+    </method>   

+

+	<view name="_innertop" width="${parent.width-2 }" 

+          height="18" x="1" y="1" bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }">

+        <text text="${ parent.parent.chatpartnername }" 

+              onmousedown="parent.parent._startDragState(this)" 

+              onmouseup="parent.parent._removeDragState(this)"

+              width="${ parent.width-2 }" fgcolor="white"

+            fontsize="9">

+            <handler name="onmouseover">

+                //cursor="arrow_draw_panel_cursor" 

+                lz.Cursor.setCursorGlobal("arrow_draw_panel_cursor");

+            </handler>

+            

+            <handler name="onmouseout">

+                lz.Cursor.unlock();

+            </handler>

+        </text>

+    </view>

+    

+    <view name="_innerbottom" width="${parent.width - 2}" x="1" y="${parent.height - 19}"

+          height="18" bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }">

+        <text text="${canvas.getLabelName(1434)}"

+              width="${ parent.width-2 }" fgcolor="white"

+              name="title"

+            fontsize="9"/>

+    </view>

+    

+	<view name="_loudness" x="1" 

+	       y="${parent.height - 20 - ((parent._innerbottom.visible) ? 18 : 0) }">

+		<view x="2" y="2" name="loudness" resource="speaking" opacity="0.2"

+			  onmouseover="" onmouseout="" >	

+			<handler name="onclick">

+				<![CDATA[

+			      	if (canvas.ismoderator || canvas.isAllowedToGiveExclusiveAudio) {

+			          	parent.parent.giveExclusiveAudio();

+			        } else {

+			        	new lz.labelerrorPopupSWF10(canvas,{errorlabelid:1478});

+			        }

+				]]>

+			</handler> 	

+			<labelTooltip inittwice="true" labelid="372" />

+		</view>

+	</view>

+

+    <view name="_resizeview" x="${ this.parent.width - 16 }" valign="bottom"

+        resource="explorer_resize_rsc" cursor="explorer_resizemouse_rsc" 

+        onmousedown="this.parent.doResize(true)"

+        onmouseup="this.parent.doResize(false)" >

+        <handler name="oninit">

+            //if ($debug) Debug.write("setTint");

+            //TODO: Fix this, does not work at the moment

+            //canvas.protocol + '://code.google.com/p/openmeetings/issues/detail?id=470

+            this.setColor(canvas.getThemeColor('baseMousecolorizer'));

+        </handler>      

+    </view>

+    

+    <view name="_toolbar" x="${ parent.width-this.width-2 }" layout="axis:x;spacing:0" y="2">     

+        

+        <attribute name="isload" value="true" type="boolean"/>  

+        

+        <miniIconsPresenter name="_resync"

+            iconRessourceName="resyncuser_rsc">

+            <handler name="onclick">

+                parent.parent.resetValues();

+                if(!this.parent.parent.isremote) {

+                    if ($debug) Debug.write("editRecordStream ################# baseVideObject ");

+                    if (this.parent.parent.isInterview) {

+                        //TODO: fix it

+                        new lz.editRecordStreamSWF10(canvas.inner,{

+                                name:"editRecordStream",

+                                doDefaultAnimation:false,

+                                align:'center',valign:'middle',

+                                isInterview:true,

+                                myvideocontainer:parent.parent,

+                                isSyncUpdate:true});

+                    } else {

+                        new lz.editRecordStreamSWF10(canvas.inner,{

+                                name:"editRecordStream",

+                                isInterview:false,

+                                isSyncUpdate:true});

+                    }

+                }

+            </handler>

+            <labelTooltip name="_tip" labelid="540" />

+        </miniIconsPresenter>       

+        

+        <miniIconsPresenter name="_mute" width="16" height="16" iconRessourceName="mute_micro_btn_rsc">

+            <handler name="onclick">

+                parent.parent.silenceMicrophone(!parent.parent.micMuted);

+            </handler>

+            <labelTooltip name="_tip" labelid="1405" />

+        </miniIconsPresenter>  

+        

+        <miniIconsPresenter name="_minimize"

+            iconRessourceName="btn_presenter_minimize">

+            <handler name="onclick">

+                this.parent.parent.minimize();

+            </handler>

+            <labelTooltip labelid="856" />

+        </miniIconsPresenter>

+        

+        <miniIconsPresenter name="_maximize2" visibility="hidden"

+            iconRessourceName="btn_presenter_maximize">

+            <handler name="onclick">

+                this.parent.parent.reminimize();

+            </handler>

+            <labelTooltip labelid="857" />

+        </miniIconsPresenter>

+        

+    </view>

+

+    <view name="_giveExclusiveAudioView" valign="middle" align="center" visible="false">

+        <view name="_micButton" width="40" height="40" resource="mic_rsc" showhandcursor="true">

+            <labelTooltip name="_toolTipTextExclusiveAudio" labelid="1386" />

+        </view>

+    </view>

+

+    <handler name="onmouseover">

+        <![CDATA[

+        if (this.isInterview) {

+            return;

+        }

+        if (this.minimized) {

+            return;

+        }

+        if (canvas.ismoderator || canvas.isAllowedToGiveExclusiveAudio) {

+        	this._giveExclusiveAudioView._micButton._toolTipTextExclusiveAudio.doonmouseover();

+            this._giveExclusiveAudioView.setAttribute("visible", true);

+        }

+        ]]>

+    </handler>

+

+    <handler name="onmouseout">

+        <![CDATA[

+        if (this.isInterview) {

+            return;

+        }

+        if (this.minimized) {

+            return;

+        }

+        this._giveExclusiveAudioView._micButton._toolTipTextExclusiveAudio.cleanHolder();

+        this._giveExclusiveAudioView.setAttribute("visible", false);

+        ]]>

+    </handler> 

+    

+    <handler name="onclick">

+		<![CDATA[

+	      	if (canvas.ismoderator || canvas.isAllowedToGiveExclusiveAudio) {

+	      		this._giveExclusiveAudioView._micButton._toolTipTextExclusiveAudio.cleanHolder();

+	          	this.giveExclusiveAudio();

+	        } else {

+				new lz.labelerrorPopupSWF10(canvas,{errorlabelid:1478});        

+	        }

+		]]>

+	</handler> 

+    

+    <dragstate name="dragger" />

+    <resizestate name="rs"/>

+    <dragHelper name="dragHelper"/>

+    

+    <animator name="_minimizeZoom" attribute="height" 

+              duration="750" to="20" start="false">

+        <handler name="onstop" args="s">

+            parent.reminimizeComplete();

+        </handler>

+    </animator>

+

+    <handler name="onismoderator" reference="canvas" args="m">

+        if ($debug) Debug.write("###### ismoderator ", m);

+        <![CDATA[

+        

+        if (this.minimized) {

+            this._loudness.setAttribute("x",this.width - 84 - (this.isShowMicMute ? 20 : 0));

+            this._loudness.bringToFront();

+        }

+        ]]>

+    </handler>

+

+    <method name="giveExclusiveAudio">

+        canvas.videoComp_lc.send(canvas.videoComp_lc_name, 'lc_giveExclusiveAudio', this.publicSID);

+    </method>

+    

+    <!--

+        This will mute the Microphone only to the person that is speaking

+        if the gain is set to zero NOBODY will hear 'em

+     -->

+    <method name="muteMicrophone" args="roomClientObj">

+        <![CDATA[

+        

+        if ($debug) Debug.write("############ muteMicrophone ",roomClientObj.micMuted);

+

+        if (roomClientObj.publicSID == this.publicSID) {

+            if (roomClientObj.publicSID == canvas.publicSID) {

+                if ($debug) Debug.write("Set Mute for Client :: ",roomClientObj);

+                if (roomClientObj.micMuted) {

+                    if ($debug) Debug.write("############ SET GAIN 0");

+                    this._chatvideoinner._videostream.muteMicro(true);

+                } else {

+                    if ($debug) Debug.write("############ SET GAIN 50");

+                    this._chatvideoinner._videostream.muteMicro(false);

+                }

+            }

+            this.isMutedByModerator = roomClientObj.micMuted;

+            this.setMicMuted(roomClientObj.micMuted);

+            

+        } else {

+            if (!roomClientObj.micMuted) {

+                //Make sure sound is on, in case a user has set it locally to 0

+                //in other words: overwrite any local settings

+                this._chatvideoinner._videostream.setVolume(100);

+            }

+        }

+        ]]>

+    </method>

+

+    <!--

+        This will mute it only locally, that means on other screens

+        the user might be still online and loud

+     -->

+    <method name="silenceMicrophone" args="mute">

+        <![CDATA[

+

+        if (this.publicSID == canvas.publicSID) {

+        	//self sound turned off

+        	if (mute) {

+            	new lz.confirmationSingleSWF10(canvas,{

+                                               labelid:1388,labeliderror:1389,

+                                               refReturnMethod:'confirmGloballyOff',

+                                               refObj:this,showCheckBox:false});

+                return;

+        	} else {

+        	    this._chatvideoinner._videostream.muteMicro(false);

+        	    canvas.videoComp_lc.send(canvas.videoComp_lc_name, 'lc_switchMicMuted', this.publicSID, false);

+        	}

+        } else {

+        	//disable this action for now

+        	if (!canvas.ismoderator) {

+        		new lz.labelerrorPopupSWF10(canvas,{errorlabelid:1409});

+        		return;

+        	}

+        	//you can not unmute it locally by putting sound to 100 cause the gain is set to zero globally in the micro of the sender!

+        	//so setting the sound/volume on the other remote clients has zero effect

+        	if (this.isMutedByModerator && !canvas.ismoderator) {

+                //FIXME: That is not true, you could restart audio/video ...

+                var errorlabelid = 1402;

+                if (this.publicSID == canvas.publicSID) {

+                    errorlabelid = 1387;

+                }

+                new lz.labelerrorPopupSWF10(canvas,{errorlabelid:errorlabelid});

+                return;

+            }

+        	if (canvas.ismoderator) {

+        		if (mute) {

+                    new lz.confirmationSingleSWF10(canvas,{

+                                                   labelid:1392,labeliderror:1393,

+                                                   refReturnMethod:'confirmGloballyOff',

+                                                   refObj:this,showCheckBox:false});

+                    return;

+                } else {

+                    canvas.videoComp_lc.send(canvas.videoComp_lc_name, 'lc_switchMicMuted', this.publicSID, false);

+                }

+        	} else {

+            	if (mute) {

+            		new lz.confirmationSingleSWF10(canvas,{

+                                                   labelid:1390,labeliderror:1391,

+                                                   refReturnMethod:'confirmLocallyOff',

+                                                   refObj:this,showCheckBox:false});

+                    return;

+                } else {

+                    this._chatvideoinner._videostream.setSoundVolume(100);

+                }

+        	}

+        }

+        this.setMicMuted(mute);

+        ]]>

+    </method>

+

+    <method name="confirmGloballyOff" args="bool,t" >

+    	if ($debug) Debug.write("confirmGloballyOff :: ",bool);

+    	if (bool) {

+            this.setMicMuted(true);

+            canvas.videoComp_lc.send(canvas.videoComp_lc_name, 'lc_switchMicMuted', this.publicSID, true);

+    	}

+    </method>

+

+    <method name="confirmLocallyOff" args="bool,t" >

+        if ($debug) Debug.write("confirmLocallyOff :: ",bool);

+        if (bool) {

+        	this.setMicMuted(true);

+            this._chatvideoinner._videostream.setSoundVolume(0);

+        }

+    </method>

+

+    <method name="setMicMuted" args="micMuted">

+        <![CDATA[

+        this.micMuted = micMuted;

+        if (micMuted) {

+            this._toolbar._mute._tip.setAttribute("labelid","1406");

+            this._toolbar._mute._itemRsc.setAttribute('frame',2);

+            if (isMicrophonesRoom) {

+                var label = canvas.getLabelName(1435);

+                this._innertop.setAttribute('bgcolor', canvas.getThemeColor('basebgcolorizer'));

+                this._innerbottom.setAttribute('bgcolor', canvas.getThemeColor('basebgcolorizer'));

+                this._innerbottom.title.setAttribute('text', label);

+            }

+        } else {

+            this._toolbar._mute._tip.setAttribute("labelid","1405");

+            this._toolbar._mute._itemRsc.setAttribute('frame',1);

+            if (isMicrophonesRoom) {

+                var label = canvas.getLabelName(1434);

+                this._innertop.setAttribute('bgcolor', "0xFF6600");

+                this._innerbottom.setAttribute('bgcolor', "0xFF6600");

+                this._innerbottom.title.setAttribute('text', label);

+            }

+        }

+        ]]>

+    </method>

+    

+</class>

+

+

+</library>

diff --git a/WebContent/swf10/video/changeDevice.lzx b/WebContent/swf10/video/changeDevice.lzx
new file mode 100644
index 0000000..8a97435
--- /dev/null
+++ b/WebContent/swf10/video/changeDevice.lzx
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+<class name="changeDevice" extends="labelExplorerBox" labelid="51"

+    docking="true" resizeable="false" closable="true" width="300" x="14" height="260">

+

+    <switch>

+        <when property="$as3">

+            <passthrough>

+                import flash.net.SharedObject;

+            </passthrough>

+        </when>

+    </switch>

+

+    <method name="storelocaldata">

+        <![CDATA[

+        var so:SharedObject = SharedObject.getLocal('userdata');

+        var sdata = so.data;

+        if (sdata==null) sdata = new Array();

+        sdata["cam"]=availibleCams3.getValue();

+        sdata["mic"]=availibleMics3.getValue();

+        sdata["savecamdata"] = this.holddatainSO.getValue();

+        so.flush();

+        ]]>

+    </method>   

+    

+    <method name="doninitalize">

+        this.storelocaldata();

+        this.close();

+    </method>

+     

+    <labelText labelid="52" fontsize="11" x="10" y="30" />

+

+    <resetCombobox fontsize="11" id="availibleCams3" x="10" y="50" width="280" editable="false">

+        <switch>

+            <when property="$as3">

+                <passthrough>

+                    import flash.media.Camera;

+                    import flash.net.SharedObject;

+                </passthrough>

+            </when>

+        </switch>

+

+        <handler name="oninit">

+            <![CDATA[

+            //Get all availible Cam's

+            var tw = Camera.names;

+            var t = "";

+            for (var eg=0;eg<tw.length;eg++){

+                this.addItem(tw[eg],eg);

+                t=eg;

+            }

+

+            var so:SharedObject = SharedObject.getLocal('userdata');

+	        var sdata = so.data;

+	        var cam;

+            if (sdata != null){

+                cam = sdata["cam"];

+                if (cam == 'undefined') {

+                    cam = t;

+                }

+            } else {

+                cam = t;

+            }

+            this.selectItem(String(cam));

+            ]]>

+        </handler>

+    </resetCombobox>

+    

+    <labelText text="LABEL53" labelid="53" fontsize="11" x="10" y="80" />

+

+    <resetCombobox fontsize="11" id="availibleMics3"  x="10" y="100" width="280" editable="false">

+        <switch>

+            <when property="$as3">

+                <passthrough>

+                    import flash.media.Microphone;

+                    import flash.net.SharedObject;

+                </passthrough>

+            </when>

+        </switch>

+

+        <handler name="oninit">

+            <![CDATA[

+            //Get all availible Mic's

+            var tw = Microphone.names;

+            var t = "";

+            for (var eg=0;eg<tw.length;eg++){

+                t=eg;

+                this.addItem(tw[eg],eg);

+            }

+

+            var so:SharedObject = SharedObject.getLocal('userdata');

+	        var sdata = so.data;

+	        var mic;

+	        if (sdata != null){

+                mic = sdata["mic"];

+                if (mic == 'undefined') {

+                    mic = t;

+                }

+            } else {

+                mic = t;

+            }

+            this.selectItem(String(mic));

+            ]]>

+        </handler>

+    </resetCombobox>

+

+    <!-- Remember Me -->

+    <labelCheckbox name="holddatainSO" labelid="762" x="10" y="220">

+        <switch>

+            <when property="$as3">

+                <passthrough>

+                    import flash.net.SharedObject;

+                </passthrough>

+            </when>

+        </switch>

+

+        <handler name="oninit">

+            var so:SharedObject = SharedObject.getLocal('userdata');

+	        var sdata = so.data;

+            var save = sdata["savecamdata"];

+            if ($debug) Debug.write("savecamdata save: ",save);

+            if(save) this.setValue(true);

+        </handler>         

+    </labelCheckbox>

+    

+    <simpleLabelButton fontsize="11" labelid="54" x="80" y="190" width="100">

+        <handler name="onclick">

+            this.parent.doninitalize();

+        </handler>

+    </simpleLabelButton>

+    

+    <labelText labelid="56" width="280" x="10"

+    	y="150" multiline="true" resize="false"/>

+    

+    <simpleLabelButton labelid="55" width="100" x="190" y="190"

+        onclick="this.parent.close();" />

+    

+</class>

+

+</library>

diff --git a/WebContent/swf10/video/editRecordStreamSWF10.lzx b/WebContent/swf10/video/editRecordStreamSWF10.lzx
new file mode 100644
index 0000000..823c70f
--- /dev/null
+++ b/WebContent/swf10/video/editRecordStreamSWF10.lzx
@@ -0,0 +1,845 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+    

+<!-- #######################

+	Class editRecordStream

+	

+	Description:

+	This Class shows a window where you can alter you Video-/Microphone- Input-Resources

+	and start to stream. The app could also use the default values for Cam/Mic but

+	must users don't know how to alter this (wether in System-Control-Panel or by Right Clicking

+	on the Flash-Screen and *>Preferences>Camera* )

+	So I think it is better if Users are forced to choose something from this list

+	

+ -->

+ 

+<class name="editRecordStreamSWF10"  extends="labelExplorerBox" labelid="51"

+	width="600" height="500" x="14" y="-540" >

+

+    <switch>

+        <when property="$as3">

+            <passthrough>

+                import flash.media.Camera;

+                import flash.media.Microphone;

+                import flash.net.SharedObject;

+                import flash.media.SoundCodec;

+            </passthrough>

+        </when>

+    </switch>

+

+    <attribute name="myvideocontainer" value="null" />

+

+    <attribute name="chosenCam" value="null" />

+    <attribute name="chosenMic" value="null" />

+    <attribute name="chosenSetting" value="null" />

+    <attribute name="currentClient" value="null" />

+

+    <attribute name="remoteMessage" value="null" />

+

+    <!---

+        if true the user will see the dialog no matter if he has choosen "do not show again" or not

+     -->

+    <attribute name="isSyncUpdate" value="false" type="boolean" />

+

+    <attribute name="doDefaultAnimation" value="true" type="boolean" />

+

+    <attribute name="cam_default_width" value="240" type="number" />

+    <attribute name="cam_default_height" value="180" type="number" />

+    

+    <attribute name="interviewPodId" value="0" type="number" />

+    

+    <attribute name="lastRecorded" value="" type="string" />

+	

+	<attribute name="isRunning" value="false" type="boolean" />

+	

+	<attribute name="recordingsCounter" value="5" type="number" />

+	

+	<attribute name="timerIsRunning" value="false" type="boolean" />

+	

+	<attribute name="counterDelegate" value="null" />

+	

+	<method name="startTimer">

+		this.timerIsRunning = true;

+		this.timerWasUnmutedTheFirstTime = true;

+		lz.Timer.addTimer( this.counterDelegate, 1000 );

+	</method>

+	

+	<method name="count" args="calleeObj">

+		if (this.recordingsCounter != 0){

+			this.recordingsCounter -= 1;

+			lz.Timer.addTimer( this.counterDelegate, 1000 );

+			

+			this._text._info.setAttribute("text",""+this.recordingsCounter+" sec");

+			

+		} else {

+			this._text.setAttribute("visibility","hidden");

+			this.doStop();

+			this.timerIsRunning = false;

+			this.doPlay();

+		}

+	</method>

+	

+	<method name="startTimerToCount">

+		if (!this.timerIsRunning) {

+			this.startTimer();

+		}

+	</method>

+	

+	<handler name="oninit">

+		<![CDATA[

+			//Make this view the upmost in the z-Index order

+			canvas.inner.bringToFront();

+		

+			this.counterDelegate = new LzDelegate( this, "count" );

+		

+			if ($debug) Debug.write("this.myvideocontainer ",this.myvideocontainer);

+			if ($debug) Debug.write("editrecordstream ###################### ");

+

+			canvas.videoComp_lc.client = {clb_getBroadCastId: this.clb_getBroadCastId, clb_setUserAVSettings: this.clb_setUserAVSettings};

+

+	        var t:SharedObject = SharedObject.getLocal('userdata');

+	        var g = t.data;

+	        var save = g["savecamdata"];

+	        if ($debug) Debug.write("save: ",save,g["cam"],g["mic"],this.isSyncUpdate);

+	        //In case its an Audio-Only Room this box should not close automatically

+            if ($debug) Debug.write("canvas.currentRoomObject: ", canvas.currentRoomObject);

+

+	        if (false) { // canvas.currentRoomObject.isAudioOnly

+	        	this._chooseDeviceAnimation.doStart();

+	        } else {

+	        	//In case the user presses the Sync Button this box should

+                //not close automatically and do the user-prefered values

+                if(save && !this.isSyncUpdate && this.checkLocalDataComplete()) {

+                    this.chosenCam = g["cam"];

+                    this.chosenMic = g["mic"];

+                    this.cam_default_width = g["width"];

+                    this.cam_default_height = g["height"];

+                    this.chosenSetting = g["avstored"];

+                    this.remoteMessage = new Array();

+                    this.remoteMessage[0] = 'avsettings';

+                    this.remoteMessage[2] = this.chosenSetting; 

+                    this.getBroadCastId.doCall();

+                } else {

+                    if (this.doDefaultAnimation && !canvas.isInterview) {

+                        this._chooseDeviceAnimation.doStart();

+                    }

+                }

+	        }

+	        

+	        if (canvas.isInterview) {

+	        	if ($debug) Debug.write("Is interview ",interviewPodId);

+                this.setAttribute("x",canvas["interviewPod"+interviewPodId+"_x"]);

+                this.setAttribute("y",canvas["interviewPod"+interviewPodId+"_y"]);

+	        }

+        ]]>

+	</handler>

+	

+	<method name="checkLocalDataComplete">

+        <![CDATA[

+        	var t:SharedObject = SharedObject.getLocal('userdata');

+	        var g = t.data;

+            if (g["width"] > 0 && g["height"] > 0) {

+                return true;

+            }

+            return false;

+        ]]>

+    </method>

+    

+    

+    <netRemoteCallHib name="getBroadCastId" funcname="getBroadCastId"

+                      remotecontext="$once{ canvas.thishib }" >

+

+        <handler name="ondata" args="value">

+            <![CDATA[

+                if ($debug) Debug.write("getBroadCastId",value,canvas.publicSID);

+                parent.myvideocontainer = canvas._videoComponent.createVideoObject(canvas.publicSID, true, parent.interviewPodId, canvas.userobject);

+

+                if ($debug) Debug.write("parent.setUserAVSettings -1- ",parent.chosenSetting);

+                if ($debug) Debug.write("parent.setUserAVSettings -2- ",parent.remoteMessage);

+                if ($debug) Debug.write("parent.setUserAVSettings -3- ",parent.cam_default_width);

+                if ($debug) Debug.write("parent.setUserAVSettings -4- ",parent.cam_default_height);

+                if ($debug) Debug.write("parent.setUserAVSettings -5- ",canvas.currentRoomObject.rooms_id);

+                if ($debug) Debug.write("parent.setUserAVSettings -6- ",canvas.publicSID);

+                

+                parent.setUserAVSettings.doCall();

+            ]]>

+        </handler>   

+    </netRemoteCallHib>  

+    

+    <netRemoteCallHib name="setUserAVSettings" funcname="setUserAVSettings" 

+                      remotecontext="$once{ canvas.thishib }" >  

+        <netparam><method name="getValue">return parent.parent.chosenSetting;</method></netparam>

+        <netparam><method name="getValue">return parent.parent.remoteMessage;</method></netparam>

+        <netparam><method name="getValue">return parent.parent.cam_default_width;</method></netparam>

+        <netparam><method name="getValue">return parent.parent.cam_default_height;</method></netparam>

+        <netparam><method name="getValue">return parent.parent.cam_default_height;</method></netparam>

+        <netparam><method name="getValue">return canvas.publicSID;</method></netparam>

+        <netparam><method name="getValue">return parent.parent.interviewPodId;</method></netparam>

+        <handler name="ondata" args="value">

+            <![CDATA[

+                if ($debug) Debug.write("setUserAVSettings",value);

+                parent.currentClient = value;

+                parent.doStartConference();

+            ]]>

+        </handler>   

+    </netRemoteCallHib>  

+

+    <method name="storelocaldata">

+        <![CDATA[

+            //Debug.write("sharedobject store ");

+            var t:SharedObject = SharedObject.getLocal('userdata');

+            var g = t.data;

+            if (g==null) g = new Array();

+            g["cam"] = this.availibleCams.getValue();

+	        g["mic"] = this.availibleMics.getValue();

+	        g["avstored"] = this.availibleSettings.getValue();

+	        g["savecamdata"] = this.holddatainSO.getValue();

+	        g["width"] = this.cam_default_width;

+	        g["height"] = this.cam_default_height;

+            t.flush();

+        ]]>

+    </method>

+

+    <method name="doStartConference">

+    	<![CDATA[

+    	    if ($debug) Debug.write("doninitalize");

+    		var valCam = this.chosenCam;

+			var valMic = this.chosenMic;

+			var settings = this.chosenSetting;

+			if (!canvas.isInterview) {

+			    this.myvideocontainer.setDefaultVideoSize(this.cam_default_width,this.cam_default_height);

+			}

+            

+			var videoview = this.myvideocontainer._chatvideoinner._videostream;

+	    	if ($debug) Debug.write("this.myvideocontainer: ",this.myvideocontainer);

+	    	if ($debug) Debug.write(valCam,valMic,settings);

+			this.myvideocontainer.setAttribute('isremote',false);

+

+			var _micro = null;

+			var _camera = null;

+			if (valMic != null) {

+			     _micro = Microphone.getMicrophone(valMic);

+			     if (_micro != null) {

+				     _micro.codec = SoundCodec.NELLYMOSER;

+				     //_micro.framesPerPacket = 1;

+				     _micro.setSilenceLevel(0, 2000);

+				     _micro.rate = 22;

+				     _micro.gain = 50;

+				     // this has no effect if enhanced microphone is obtained

+	                //Microphone setUseEchoSupression(bool)

+	                _micro.setUseEchoSuppression(true);

+	            }

+			}

+			if (valCam != null) {

+				_camera = Camera.getCamera(valCam);

+			}

+			

+			if ($debug) Debug.write("_camera.setMode: ",videoview.width,videoview.height,canvas.framesPerSecond,true);

+

+			//Microphone.set

+			if ($debug) Debug.write("canvas.vaquality: ",canvas.vaquality, "canvas.microphoneRateBest: ",canvas.microphoneRateBest);

+			if (_camera != null) {

+   				if ($debug) Debug.write("_camera.setQuality BEST: ",canvas.isInterview,(canvas.bandwidthNeededBest*2),canvas.camQualityBest);

+   				if (canvas.isInterview) {

+   					//we need a fixed frame rate for the videos to merge them later on

+   					_camera.setMode(videoview.width,videoview.height,24,true);

+   					if ($debug) Debug.warn("IS INTERVIEW ");

+   				    _camera.setQuality(0,98);

+   				} else {

+   					_camera.setMode(videoview.width,videoview.height,canvas.framesPerSecond,true);

+   					if ($debug) Debug.warn("IS NO INTERVIEW ");

+   					_camera.setQuality(canvas.bandwidthNeededBest,canvas.camQualityBest);

+   				}

+			}

+

+            if ($debug) Debug.write("settings: ", settings);

+            if ($debug) Debug.write("BroadcastId: ", this.currentClient.broadCastID);

+	    	switch (settings){

+                case "s":

+                    this.myvideocontainer.setAttribute("visibility","hidden");

+                    break;

+                case "vs":

+                    videoview.broadcast(this.currentClient.broadCastID,_camera,null);

+                    if(canvas.isInterview) {

+                        canvas.videoComp_lc.send(canvas.videoComp_lc_name, "onStartBroadcast", this.currentClient.broadCastID, settings);

+                    } else {

+                        this.myvideocontainer.setAttribute("visibility","visible");

+                        if (this.myvideocontainer.minimized) {

+                            this.myvideocontainer.reminimize();

+                        }

+                    }

+                    break;

+	    		case "av":

+	    			videoview.broadcast(this.currentClient.broadCastID,_camera,_micro);

+                    if(canvas.isInterview) {

+                        canvas.videoComp_lc.send(canvas.videoComp_lc_name, "onStartBroadcast", this.currentClient.broadCastID, settings);

+                    } else {

+                        this.myvideocontainer.setAttribute("visibility","visible");

+                        if (this.myvideocontainer.minimized) {

+                            this.myvideocontainer.reminimize();

+                        }

+                    }

+

+	    			break;

+	    		case "a":

+	    			videoview.broadcast(this.currentClient.broadCastID,null,_micro);

+                    if(canvas.isInterview) {

+                        canvas.videoComp_lc.send(canvas.videoComp_lc_name, "onStartBroadcast", this.currentClient.broadCastID, settings);

+                    } else {

+                        if (this.myvideocontainer.hidebyAudioOnly) {

+                            this.myvideocontainer.setAttribute("visibility","hidden");

+                        } else {

+                            this.myvideocontainer.setAttribute("visibility","visible");

+                            if (!this.myvideocontainer.minimized) {

+                                this.myvideocontainer.minimize();

+                            }

+                        }

+                    }

+	    			break;

+	    		case "v":

+	    			videoview.broadcast(this.currentClient.broadCastID,_camera,null);

+	    			if(canvas.isInterview) {

+                        canvas.videoComp_lc.send(canvas.videoComp_lc_name, "onStartBroadcast", this.currentClient.broadCastID, settings);

+                    } else {

+                        this.myvideocontainer.setAttribute("visibility","visible");

+                        if (this.myvideocontainer.minimized) {

+                            this.myvideocontainer.reminimize();

+                        }

+                    }

+	    			break;

+	    		case "n":

+	    			if ($debug) Debug.write("Do not Publish A/V");

+                    //Prevent from Hiding the Box in Event Modus

+                    if (canvas.thishib.modus == "conference") {

+                        this.myvideocontainer.setAttribute("visibility","hidden");

+                    }

+	    			break;

+	    		default:

+	    			if ($debug) Debug.warn("no valid device Setup chosen");

+	    			break;

+	    	}

+

+	        this.close();

+        ]]>

+    </method>

+    

+    <method name="doStartRecording">

+        <![CDATA[

+        

+            this._btnStartRecording.setAttribute("enabled",false);

+            this._play.setAttribute("enabled",false);

+            

+            this.recordingsCounter = 5;

+            

+            this._text.setAttribute("visibility","visible");

+            this._text._info.setAttribute("text","5 sec");

+        

+            this.isRunning = true;

+            

+            var valCam = this.availibleCams.getValue();

+            var valMic = this.availibleCams.getValue();

+            

+            var videoview = this._video.content._publisher._chatvideoinner._videostream;

+            if ($debug) Debug.write("videoview: ",videoview);

+            if ($debug) Debug.write(valCam,valMic);

+            

+            var _micro = null;

+            var _camera = null;

+            if (valMic != null) {

+                 _micro = Microphone.getMicrophone(valMic);

+                 if (_micro != null) {

+                     _micro.codec = SoundCodec.NELLYMOSER;

+                     _micro.framesPerPacket = 1;

+                     _micro.setSilenceLevel(0, 2000);

+                     _micro.gain = 50;

+                     // this has no effect if enhanced microphone is obtained

+                    //Microphone setUseEchoSupression(bool)

+                    _micro.setUseEchoSuppression(true);

+                }

+            }

+            if (valCam != null) {

+                _camera = Camera.getCamera(valCam);

+            }

+            

+            if ($debug) Debug.write("_camera.setMode: ",videoview.width,videoview.height,canvas.framesPerSecond,true);

+

+            //Microphone.set

+            if ($debug) Debug.write("canvas.vaquality: ",canvas.vaquality, "canvas.microphoneRateBest: ",canvas.microphoneRateBest);

+            if (_camera != null) {

+                if ($debug) Debug.write("_camera.setQuality BEST: ",this.isInterview,(canvas.bandwidthNeededBest*2),canvas.camQualityBest);

+                if (this.isInterview) {

+                    _camera.setMode(videoview.width,videoview.height,24,true);

+                    if ($debug) Debug.warn("IS INTERVIEW ");

+                    _camera.setQuality(0,98);

+                } else {

+                    _camera.setMode(videoview.width,videoview.height,canvas.framesPerSecond,true);

+                    if ($debug) Debug.warn("IS NO INTERVIEW ");

+                    _camera.setQuality(canvas.bandwidthNeededBest,canvas.camQualityBest);

+                }

+            }

+            

+            //The First start-timer message will come from the Flash Object

+            if ($debug) Debug.warn("_camera.muted ",_camera.muted);

+            if ($debug) Debug.warn("_micro.muted ",_micro.muted);

+            

+            if (!_camera.muted) {

+                this.startTimer();

+            }

+

+            //start recording of client stream

+            var t = new Date();

+            this.lastRecorded = "TEST_SETUP_"+t.getTime();

+            this._video.content._publisher.setAttribute("visibility","visible");

+            this._video.content._viewer.setAttribute("visibility","hidden");

+            videoview.record(this.lastRecorded,_camera,_micro);

+        ]]>

+    </method>

+    

+    <method name="doPlay">

+    	<![CDATA[

+    	   if (this.lastRecorded == "") {

+    	   	   //Error - nothing recorded yet

+    	   	   if ($debug) Debug.warn("Nothing to Play");

+    	   } else {

+    	   	   this._play.setAttribute("enabled",true);

+    	   	   this._video.content._publisher.setAttribute("visibility","hidden");

+               this._video.content._viewer.setAttribute("visibility","visible");

+               var videoview = this._video.content._viewer._chatvideoinner._videostream;

+               videoview.justPlayStream(this.lastRecorded+".flv",0);

+    	   }

+    	]]>

+    </method>

+    

+    <method name="doStop">

+    	if (this.isRunning) {

+    		this.isRunning = false;

+    		var videoview = this._video.content._publisher._chatvideoinner._videostream;

+    		this._btnStartRecording.setAttribute("enabled",true);

+    		videoview._stop();

+    		this.doPlay();

+    	}

+    	var videoviewViewer = this._video.content._viewer._chatvideoinner._videostream;

+        videoviewViewer._stop();

+    </method>

+

+    <animator name="_chooseDeviceAnimation" start="false" attribute="y" to="40" duration="750" />

+    

+    

+    <labelText fontstyle="bold" labelid="758"

+			   width="${ parent.width-2 }" height="30" multiline="true" y="20" /> 

+

+    <labelText labelid="447" fontsize="11" fontstyle="bold" 

+    			x="10" y="80" width="$once{ parent.width-20 }" />

+

+    <resetCombobox fontsize="11" name="availibleSettings" x="10" y="100" width="280" editable="false">

+

+        <switch>

+            <when property="$as3">

+                <passthrough>

+                    import flash.net.SharedObject;

+                </passthrough>

+            </when>

+        </switch>

+

+        <handler name="oninit">

+            <![CDATA[

+

+                if (canvas.currentRoomObject.isAudioOnly) {

+                    this.addItem(canvas.getLabelName(449),"a");

+                    this.addItem(canvas.getLabelName(451),"n");

+                } else {

+                	this.addItem(canvas.getLabelName(448),"av");

+                    this.addItem(canvas.getLabelName(449),"a");

+                    this.addItem(canvas.getLabelName(450),"v");

+                    //this.addItem(canvas.getLabelName(845),"s");

+                    //this.addItem(canvas.getLabelName(846),"sv");

+                    this.addItem(canvas.getLabelName(451),"n");

+                }

+

+				var t:SharedObject = SharedObject.getLocal('userdata');

+				var g = t.data;

+				var cam = null;

+				if (g!=null){

+					var avstored = g["avstored"];

+				}

+

+				var tItem = this.getItem(String(avstored));

+				if (tItem != null) {

+				    this.selectItem(String(avstored));

+				} else {

+					this.selectItemAt(0);

+				}

+            ]]>

+        </handler>

+

+        <handler name="onselect">

+        	<![CDATA[

+        		var camVisible = "visible";

+        		var micVisible = "visible";

+        		var textVisible = "hidden";

+	        	switch (this.getValue()){

+	        		case "av":

+	        			break;

+	        		case "a":

+	        			camVisible = "hidden";

+	        			break;

+	        		case "v":

+	        			micVisible = "hidden";

+	        			break;

+	        		case "n":

+	        			camVisible = "hidden";

+	        			micVisible = "hidden";

+	        			textVisible = "visible";

+	        			break;

+	        		default:

+	        			if ($debug) Debug.warn("no valid device Setup chosen");

+	        			break;

+	        	}

+                this.parent.availibleCamsLabel.setAttribute("visibility",camVisible);

+                this.parent.availibleCams.setAttribute("visibility",camVisible);

+                this.parent.availibleMicsLabel.setAttribute("visibility",micVisible);

+                this.parent.availibleMics.setAttribute("visibility",micVisible);       

+                this.parent.infoTextNoAV.setAttribute("visibility",textVisible);

+                this.parent.availibleResolutionsLabel.setAttribute("visibility",((canvas.isInterview) ? 'hidden' : camVisible));

+                this.parent.availibleResolutionsWarning.setAttribute("visibility",((canvas.isInterview) ? 'hidden' : camVisible));

+                this.parent.availibleResolutions.setAttribute("visibility",((canvas.isInterview) ? 'hidden' : camVisible));

+        	]]>

+        </handler>

+    </resetCombobox>

+

+    <labelText name="availibleCamsLabel" labelid="52" fontsize="11" x="10" y="140" width="$once{ parent.width-20 }" />

+

+    <resetCombobox fontsize="11" name="availibleCams" x="10" y="160" width="280" editable="false">

+        <switch>

+            <when property="$as3">

+                <passthrough>

+                    import flash.media.Camera;

+                    import flash.net.SharedObject;

+                </passthrough>

+            </when>

+        </switch>

+        <handler name="oninit">

+            <![CDATA[

+				//Get all availible Cam's

+				var tw = Camera.names;

+				var r = "";

+				for (var eg=0;eg<tw.length;eg++){

+					this.addItem(tw[eg],eg);

+					r=eg;

+				}

+				var t:SharedObject = SharedObject.getLocal('userdata');

+				var g = t.data;

+				var cam;

+                if (g != null){

+                    cam = g["cam"];

+                    if (cam == 'undefined') {

+                        cam = r;

+                    }

+                } else {

+                    cam = r;

+                }

+                this.selectItem(String(cam));

+            ]]>

+        </handler>

+    </resetCombobox>

+

+    <labelText name="availibleMicsLabel" labelid="53" fontsize="11"

+               x="10" y="180" width="$once{ parent.width-20 }" />

+

+    <resetCombobox fontsize="11" name="availibleMics"  x="10" y="200" width="280" editable="false">

+        <switch>

+            <when property="$as3">

+                <passthrough>

+                    import flash.media.Microphone;

+                    import flash.net.SharedObject;

+                </passthrough>

+            </when>

+        </switch>

+        <handler name="oninit">

+            <![CDATA[

+	            //Get all availible Mic's

+	            var tw = Microphone.names;

+	            var r = "";

+	            for (var eg=0;eg<tw.length;eg++){

+	                r=eg;

+	                this.addItem(tw[eg],eg);

+	            }

+

+	            var t:SharedObject = SharedObject.getLocal('userdata');

+	            var g = t.data;

+	            var mic;

+                if (g != null){

+                    mic = g["mic"];

+                    if (mic == 'undefined') {

+                        mic = r;

+                    }

+                } else {

+                    mic = r;

+                }

+                this.selectItem(String(mic));

+            ]]>

+        </handler>

+    </resetCombobox>

+

+    <labelText name="infoTextNoAV" labelid="452" multiline="true" width="280" 

+               fontsize="11" x="10" y="240" visibility="hidden" />

+               

+    <labelText name="availibleResolutionsLabel" labelid="1429" 

+            fontsize="11" x="10" y="224" width="$once{ parent.width-20 }" />

+            

+    <view name="availibleResolutionsWarning" x="272" y="224" 

+            resource="warning_icon_popup_devices_rsc" clickable="true">

+        <labelTooltip multiline="true" labelid="1430" />

+    </view>     

+    

+    <resetCombobox fontsize="11" name="availibleResolutions" x="10" shownitems="10"

+                y="244" width="280" editable="false">

+        <!--- @keywords private -->

+        <attribute name="counter" value="0" />

+        <handler name="onselect" args="item">

+	        <![CDATA[

+	            if ($debug) Debug.write("onselect w ", item.cam_width);

+	            if ($debug) Debug.write("onselect h ", item.cam_height);

+	            parent.setAttribute("cam_default_width",item.cam_width);

+	            parent.setAttribute("cam_default_height",item.cam_height);

+	            

+	            if (item.cam_width > 240) {

+	            	var newWidth = 600 + item.cam_width - 240;

+	            	if (newWidth+parent.x+10 > canvas.width) {

+	            		newWidth = canvas.width - 10 - this.x;

+	            	}

+	            	parent.setAttribute("width",newWidth);

+	            } else {

+	            	parent.setAttribute("width",600);

+	            }

+	            

+	            if (item.cam_height > 180) {

+	            	var newHeight = 500 + item.cam_height - 180;

+	            	if (newHeight+parent.y+10 > canvas.height) {

+	            		newHeight = canvas.height - 10 - parent.y;

+	            	}

+	            	parent.setAttribute("height",newHeight);

+	            } else {

+	            	parent.setAttribute("height",500);

+	            }

+	            

+            ]]>

+        </handler>

+        <textlistitem datapath="myConfigSet:/config/availableCameraResolutions/resolution" >

+            <switch>

+	            <when property="$as3">

+	                <passthrough>

+	                    import flash.net.SharedObject;

+	                </passthrough>

+	            </when>

+	        </switch>

+            <!--- @keywords private -->

+            <attribute name="cam_width" value="320" type="number" />

+            <!--- @keywords private -->

+            <attribute name="cam_height" value="240" type="number" />

+            <handler name="ondata">

+                <![CDATA[

+                    // if ($debug) Debug.write("ondata ", this);

+                    var type = this.datapath.xpathQuery('@type');

+                    this.cam_width = Number(this.datapath.xpathQuery('@width'));

+                    this.cam_height = Number(this.datapath.xpathQuery('@height'));

+                    this.setAttribute("text",""+this.cam_width+"x"+this.cam_height+" ["+type+"]");

+                    var isDefault = this.datapath.xpathQuery('@isDefault');

+                    

+                    var t:SharedObject = SharedObject.getLocal('userdata');

+                    var g = t.data;

+                    var width = g["width"];

+                    var height = g["height"];

+                    if (width!=null && width > 0 && height!=null && height>0) {

+                        

+                        if (width == this.cam_width && height == this.cam_height) {

+                            parent.selectItemAt(parent.counter);

+                            parent.onselect.sendEvent(this);

+                        }

+                        

+                    } else {

+                        if (isDefault == "true") {

+                            if ($debug) Debug.write("Found default one ",type);

+                            parent.selectItemAt(parent.counter);

+                            parent.onselect.sendEvent(this);

+                        }

+                    }

+                    parent.counter+=1;

+                ]]>

+            </handler>

+        </textlistitem>

+    </resetCombobox>      

+    

+    <simpleLabelButton name="_btnStartRecording" labelid="775" 

+    				   width="140" x="150" y="280" height="28">

+    	<handler name="onclick">

+            parent._level_meter.startLevel();

+            parent.doStartRecording();

+        </handler>

+    </simpleLabelButton>

+    

+	<view x="340" y="60" name="_video" clip="true" 

+			width="${ parent.width-this.x-10 }" height="${ parent.height-260 }"> 

+		<view name="content">

+		

+			<videoObjectTestBroadcast name="_publisher"  

+					width="${ parent.parent.parent.cam_default_width }" 

+					height="${ parent.parent.parent.cam_default_height }">

+				<handler name="sendCameraStatus" args="camStatus">

+		            if ($debug) Debug.write("sendCameraStatus -1- ",camStatus);

+		            if (camStatus == "Camera.Unmuted") {

+		            	parent.parent.parent.startTimerToCount();

+		            }

+		        </handler>

+		        

+		        <handler name="sendMicroStatus" args="micStatus">

+		            if ($debug) Debug.write("sendMicroStatus -1- ",micStatus);

+		            if (micStatus == "Microphone.Unmuted") {

+		                parent.parent.parent.startTimerToCount();

+		            }

+		        </handler>

+			</videoObjectTestBroadcast>

+			

+			<videoObjectPlayTestBroadcast name="_viewer" visibility="hidden" 

+						width="${ parent.parent.parent.cam_default_width }" 

+						height="${ parent.parent.parent.cam_default_height }" />

+		</view>

+		

+		<om_vscrollbar />

+		<om_hscrollbar />

+	</view>

+	

+								  

+	<view name="_text" x="340" y="60" width="240" height="180" visibility="hidden">

+		<text name="_info" resize="true" bgcolor="0xFFFFFF" align="right"

+			  fontsize="12" fontstyle="bold" />

+	</view>

+    

+    <simpleLabelButton name="_play" y="${ parent.height-166 }" x="490" enabled="false"

+                	width="90" labelid="764" >

+        <handler name="onclick">

+            parent.doPlay();

+        </handler>

+    </simpleLabelButton>

+     

+    <view name="_level_meter" x="340" y="${ parent.height-190 }" width="240" height="20" clip="true" bgcolor="0x000000">

+    	

+    	 <!--- Level delegate, used to track level changes. 

+              @keywords private -->

+        <attribute name="_leveldel" value="$once{new LzDelegate(this, '_updateLevel')}"/>

+    	

+    	<method name="_updateLevel" args="no">

+    		<![CDATA[

+    		    if (parent._video.content._publisher._chatvideoinner._videostream.micro == null)

+    		    {

+    		    	return;

+    		    }

+    		    this.setNewLevel(parent._video.content._publisher._chatvideoinner._videostream.micro.activityLevel);

+    		]]>

+    	</method>

+    	

+    	<method name="startLevel">

+    		this._leveldel.register(lz.Idle, "onidle");

+    	</method>

+    	

+    	<method name="resetNewLevel">

+    		this._leveldel.unregisterAll();

+    		this.setNewLevel(0);

+    	</method>

+    	

+    	<method name="setNewLevel" args="no">

+    		<![CDATA[

+                var newLevel = (238/100) * no;

+                this._over.setAttribute("width",238-newLevel);

+                this._over.setAttribute("x",1+(newLevel));

+            ]]>

+    	</method>

+    	

+    	<view name="_bg" width="238" height="18" x="1" y="1" bgcolor="0xFFFFFF" />

+    	<view name="_grip" resource="level_meter_rsc" x="1" y="1" />

+    	<view name="_over" width="238" height="18" x="1" y="1" bgcolor="0xFFFFFF" />

+    	<labelText labelid="767" x="2" y="2" height="16" width="236" resize="false" />

+    </view>

+    

+    <view y="${ parent.height-98 }" resource="test_setup_info_rsc" x="16" />

+    

+    <labelText fontstyle="bold" labelid="765" x="39" y="${ parent.height-100 }"

+               width="${ parent.width-50 }" multiline="true" />

+

+    <!-- Remember Me -->

+    <labelCheckbox name="holddatainSO" labelid="762" x="10" y="${ parent.height-20 }" >

+        <switch>

+            <when property="$as3">

+                <passthrough>

+                    import flash.net.SharedObject;

+                </passthrough>

+            </when>

+        </switch>

+        <handler name="oninit">

+            var t:SharedObject = SharedObject.getLocal('userdata');

+            var g = t.data;

+            var save = g["savecamdata"];

+            if ($debug) Debug.write("savecamdata save: ",save);

+            if(save) this.setValue(true);

+        </handler>

+    </labelCheckbox>

+

+    <simpleLabelButton fontsize="11" visibility="${ (canvas.isInterview) ? 'visible' : 'hidden' }"

+                       labelid="54" x="${ parent.width-220 }" y="${ parent.height-50 }" width="100">

+        <handler name="onclick">

+            this.parent.storelocaldata();

+            this.parent.chosenCam = parent.availibleCams.getValue();

+            this.parent.chosenMic = parent.availibleMics.getValue();

+            this.parent.chosenSetting = parent.availibleSettings.getValue();

+            this.parent.remoteMessage = new Array();

+            this.parent.remoteMessage[0] = 'avsettings';

+            this.parent.remoteMessage[1] = "0";

+            this.parent.remoteMessage[2] = this.parent.chosenSetting;

+            this.parent.getBroadCastId.doCall();

+        </handler>

+    </simpleLabelButton>

+

+    <simpleLabelButton fontsize="11" visibility="${ (canvas.isInterview) ? 'visible' : 'hidden' }"

+                       labelid="918" x="${ parent.width-110 }" y="${ parent.height-50 }" width="100">

+        <handler name="onclick">

+            parent.close();

+        </handler>

+    </simpleLabelButton>

+

+    <simpleLabelButton fontsize="11" visibility="${ (!canvas.isInterview) ? 'visible' : 'hidden' }"

+    				   labelid="761" width="160" x="${ parent.width-170 }" y="${ parent.height-50 }" height="28">

+        <handler name="onclick">

+        	this.parent.storelocaldata();

+        	this.parent.chosenCam = parent.availibleCams.getValue();

+        	this.parent.chosenMic = parent.availibleMics.getValue();

+        	this.parent.chosenSetting = parent.availibleSettings.getValue();

+			this.parent.remoteMessage = new Array();

+			this.parent.remoteMessage[0] = 'avsettings';

+			this.parent.remoteMessage[1] = "0";

+			this.parent.remoteMessage[2] = this.parent.chosenSetting;

+            this.parent.getBroadCastId.doCall();

+        </handler>

+    </simpleLabelButton>

+

+</class>

+    

+</library>

diff --git a/WebContent/swf10/video/library.lzx b/WebContent/swf10/video/library.lzx
new file mode 100644
index 0000000..a0e5cee
--- /dev/null
+++ b/WebContent/swf10/video/library.lzx
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+	<!--  FamFam Icon Creative Commons -->

+    <resource name="warning_icon_popup_devices_rsc" src="resources/error.png" />

+

+	<!--  APL author sebawagner -->

+	<resource name="chatbgitem" src="resources/profile_pic.jpg" />

+

+	<!--  FamFam Icon Creative Commons -->

+	<resource name="resyncuser_rsc" src="resources/arrow_refresh_small.png" />

+	

+	<!--  APL author sebawagner -->

+    <resource name="mic_rsc" src="resources/micro.png" />

+    

+    <!--  APL author sebawagner -->

+	<resource name="speaking" src="resources/speaking.png" />

+	

+	<!--  FamFam Icon Creative Commons -->

+	<resource name="mute_btn_rsc">

+		<frame src="resources/sound.png" />

+		<frame src="resources/sound_mute.png" />

+	</resource>

+	

+	<!--  APL author sebawagner -->

+    <resource name="mute_micro_btn_rsc">

+		<frame src="resources/mute_micro.png" />

+		<frame src="resources/mute_micro_red.png" />

+	</resource>

+

+	<!--  APL author sebawagner -->

+	<resource name="lz_recorder_play" src="resources/webstart_play.png" />

+

+    <include href="changeDevice.lzx" />

+    <include href="videoUserProfilePicSWF10.lzx" />

+    <include href="editRecordStreamSWF10.lzx" />

+    <include href="baseVideoObject.lzx" />

+    <include href="videoObjectBroadcast.lzx" />

+    <include href="videoObjectPlayBroadcast.lzx" />

+    <include href="videoObjectTestBroadcast.lzx" />

+    <include href="videoObjectPlayTestBroadcast.lzx" />

+    

+</library>

diff --git a/WebContent/swf10/video/resources/arrow_refresh_small.png b/WebContent/swf10/video/resources/arrow_refresh_small.png
new file mode 100644
index 0000000..d3087df
--- /dev/null
+++ b/WebContent/swf10/video/resources/arrow_refresh_small.png
Binary files differ
diff --git a/WebContent/swf10/video/resources/error.png b/WebContent/swf10/video/resources/error.png
new file mode 100644
index 0000000..628cf2d
--- /dev/null
+++ b/WebContent/swf10/video/resources/error.png
Binary files differ
diff --git a/WebContent/swf10/video/resources/micro.fla b/WebContent/swf10/video/resources/micro.fla
new file mode 100644
index 0000000..0631ad2
--- /dev/null
+++ b/WebContent/swf10/video/resources/micro.fla
Binary files differ
diff --git a/WebContent/swf10/video/resources/micro.png b/WebContent/swf10/video/resources/micro.png
new file mode 100644
index 0000000..9e025d4
--- /dev/null
+++ b/WebContent/swf10/video/resources/micro.png
Binary files differ
diff --git a/WebContent/swf10/video/resources/mute_micro.fla b/WebContent/swf10/video/resources/mute_micro.fla
new file mode 100644
index 0000000..210ddbf
--- /dev/null
+++ b/WebContent/swf10/video/resources/mute_micro.fla
Binary files differ
diff --git a/WebContent/swf10/video/resources/mute_micro.png b/WebContent/swf10/video/resources/mute_micro.png
new file mode 100644
index 0000000..71efdbe
--- /dev/null
+++ b/WebContent/swf10/video/resources/mute_micro.png
Binary files differ
diff --git a/WebContent/swf10/video/resources/mute_micro_red.fla b/WebContent/swf10/video/resources/mute_micro_red.fla
new file mode 100644
index 0000000..287c2a0
--- /dev/null
+++ b/WebContent/swf10/video/resources/mute_micro_red.fla
Binary files differ
diff --git a/WebContent/swf10/video/resources/mute_micro_red.png b/WebContent/swf10/video/resources/mute_micro_red.png
new file mode 100644
index 0000000..29e16b5
--- /dev/null
+++ b/WebContent/swf10/video/resources/mute_micro_red.png
Binary files differ
diff --git a/WebContent/swf10/video/resources/profile_pic.jpg b/WebContent/swf10/video/resources/profile_pic.jpg
new file mode 100644
index 0000000..3b63f01
--- /dev/null
+++ b/WebContent/swf10/video/resources/profile_pic.jpg
Binary files differ
diff --git a/WebContent/swf10/video/resources/sound.png b/WebContent/swf10/video/resources/sound.png
new file mode 100644
index 0000000..6056d23
--- /dev/null
+++ b/WebContent/swf10/video/resources/sound.png
Binary files differ
diff --git a/WebContent/swf10/video/resources/sound_mute.png b/WebContent/swf10/video/resources/sound_mute.png
new file mode 100644
index 0000000..b652d2a
--- /dev/null
+++ b/WebContent/swf10/video/resources/sound_mute.png
Binary files differ
diff --git a/WebContent/swf10/video/resources/speaking.png b/WebContent/swf10/video/resources/speaking.png
new file mode 100644
index 0000000..2ca21a7
--- /dev/null
+++ b/WebContent/swf10/video/resources/speaking.png
Binary files differ
diff --git a/WebContent/swf10/video/resources/webstart_play.png b/WebContent/swf10/video/resources/webstart_play.png
new file mode 100644
index 0000000..6d13683
--- /dev/null
+++ b/WebContent/swf10/video/resources/webstart_play.png
Binary files differ
diff --git a/WebContent/swf10/video/videoObjectBroadcast.lzx b/WebContent/swf10/video/videoObjectBroadcast.lzx
new file mode 100644
index 0000000..aa5edf5
--- /dev/null
+++ b/WebContent/swf10/video/videoObjectBroadcast.lzx
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+

+<!---

+	contains microphone and camera for broadcasting,

+	this class is used only in Meetings-Modus

+ -->

+

+ 

+<class name="videoObjectBroadcast" extends="baseVideoObject" isremote="false">

+  <attribute name="interviewPodId" value="-1" />

+  <attribute name="ratioW" value="1" />

+  <attribute name="ratioH" value="1" />

+  

+  <attribute name="videoInsetX" value="2" type="number" />

+  <attribute name="videoInsetY" value="21" type="number" />

+  <attribute name="bottomBarHeight" value="0" type="number" />

+  

+  <handler name="oninit">

+     <![CDATA[

+        this._loudness.bringToFront();

+        this._resizeview.bringToFront();

+     ]]>

+  </handler>

+  

+     <!---

+        Change the video resolution by chaning pod size

+     -->

+    <method name="setDefaultVideoSize" args="w,h">

+        this.setAttribute("width",w+this.videoInsetX);

+        this.isMicrophonesRoom = canvas.currentRoomObject.showMicrophoneStatus;

+        if (canvas.currentRoomObject.showMicrophoneStatus) {

+            this.setAttribute("bottomBarHeight",this._innertop.height + 1);

+        }

+        this.setAttribute("height",h+this.videoInsetY+this.bottomBarHeight);

+    </method>

+

+	<view name="_chatvideoinner" x="$once{ parent.videoInsetX-1 }" 

+           y="$once{ parent.videoInsetY-1 }" 

+           height="${parent.height-parent.videoInsetY-parent.bottomBarHeight}" 

+           width="${parent.width-parent.videoInsetX}">

+           

+		<view name="r" resource="chatbgitem" x="1" y="2" stretches="both" 

+			  width="$once{parent.width}" height="$once{parent.height}" />

+			  

+		<baseVideoStreamDevice name="_videostream" mode="broadcast">

+		  <handler name="onlevel">

+                <![CDATA[

+                    var fullLength = parent.height-24;

+                    parent._activityLevel.setAttribute("height",this.level*(fullLength/100));

+                ]]>

+            </handler>

+         </baseVideoStreamDevice>

+         

+         <view name="_activityLevel" width="6" x="2" y="2" opacity="0.5" bgcolor="0x00FF00" 

+              height="0" >

+        </view> 

+		

+	</view>	

+	

+</class>

+

+

+</library>

diff --git a/WebContent/swf10/video/videoObjectPlayBroadcast.lzx b/WebContent/swf10/video/videoObjectPlayBroadcast.lzx
new file mode 100644
index 0000000..ea4b6fc
--- /dev/null
+++ b/WebContent/swf10/video/videoObjectPlayBroadcast.lzx
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+

+<!---

+	Contains no microphone or camera Object, this view can only 

+	subscribe to a video or live-stream

+

+ -->

+					   

+<class name="videoObjectPlayBroadcast" extends="baseVideoObject" isremote="true">

+  <attribute name="interviewPodId" value="-1" />

+  <attribute name="ratioW" value="1" />

+  <attribute name="ratioH" value="1" />

+  

+  <attribute name="videoInsetX" value="2" type="number" />

+  <attribute name="videoInsetY" value="21" type="number" />

+  <attribute name="bottomBarHeight" value="0" type="number" />

+  

+  <handler name="oninit">

+     <![CDATA[

+        if ($debug) Debug.write("Init videoObjectPlayBroadcast ",this.isremote,this.clientVars);

+        //Display widget defined in mother class

+        this._loudness.bringToFront();

+        this._resizeview.bringToFront();

+     ]]>

+   </handler>

+   

+    <!---

+        Change the video resolution by chaning pod size

+     -->

+    <method name="setDefaultVideoSize" args="w,h">

+        this.setAttribute("width",w+this.videoInsetX);

+        

+        if (canvas.currentRoomObject.showMicrophoneStatus) {

+            this.setAttribute("bottomBarHeight",this._innertop.height + 1);

+        }

+        

+        this.setAttribute("height",h+this.videoInsetY+this.bottomBarHeight);

+    </method>

+

+    <view name="_chatvideoinner" x="$once{ parent.videoInsetX-1 }" 

+           y="$once{ parent.videoInsetY-1 }" 

+           height="${parent.height-parent.videoInsetY-parent.bottomBarHeight}" 

+           width="${parent.width-parent.videoInsetX}" >

+        

+        <attribute name="initH"/>

+        <attribute name="initW"/>

+        

+        <handler name="oninit">

+            this.r.setAttribute('frame',5);

+            this.initH = this.height;

+            this.initW = this.width;

+        </handler>

+

+        <view name="r"></view>

+

+        <baseVideoStream name="_videostream" bgcolor="black" 

+              width="${parent.width}" height="${parent.height}" />

+        

+	</view>

+

+</class>

+

+</library>

diff --git a/WebContent/swf10/video/videoObjectPlayTestBroadcast.lzx b/WebContent/swf10/video/videoObjectPlayTestBroadcast.lzx
new file mode 100644
index 0000000..e989ae5
--- /dev/null
+++ b/WebContent/swf10/video/videoObjectPlayTestBroadcast.lzx
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+

+<!---

+	contains microphone and camera for broadcasting,

+	this class is used only in Meetings-Modus

+ -->

+

+ 

+<class name="videoObjectPlayTestBroadcast" extends="view" >

+

+	<view name="_chatvideoinner" x="0" y="0" height="${parent.height}" width="${parent.width}">

+		

+		<baseVideoStream name="_videostream" mode="broadcast"

+						 width="${parent.width}" height="${parent.height}" bgcolor="0x000000" />

+		

+	</view>	

+</class>

+

+

+</library>

diff --git a/WebContent/swf10/video/videoObjectTestBroadcast.lzx b/WebContent/swf10/video/videoObjectTestBroadcast.lzx
new file mode 100644
index 0000000..2fff0a2
--- /dev/null
+++ b/WebContent/swf10/video/videoObjectTestBroadcast.lzx
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+

+<!---

+	contains microphone and camera for broadcasting,

+	this class is used only in Meetings-Modus

+ -->

+

+ 

+<class name="videoObjectTestBroadcast" extends="view" >

+

+    <event name="sendCameraStatus" />

+    

+    <event name="sendMicroStatus" />

+    

+	<view name="_chatvideoinner" x="0" y="0" height="${parent.height}" width="${parent.width}">

+		

+		<baseVideoStreamDevice name="_videostream" mode="broadcast" sendNotificationViaLocalConnection="false"

+						 width="${parent.width}" height="${parent.height}" bgcolor="0x000000">

+			<handler name="sendCameraStatus" args="camStatus">

+                if ($debug) Debug.write("sendCameraStatus",camStatus);

+                parent.parent.sendCameraStatus.sendEvent(camStatus);

+            </handler>

+            

+            <handler name="sendMicroStatus" args="micStatus">

+                if ($debug) Debug.write("sendMicroStatus",micStatus);

+                parent.parent.sendMicroStatus.sendEvent(micStatus);

+            </handler>

+		</baseVideoStreamDevice>

+		

+	</view>	

+</class>

+

+

+</library>

diff --git a/WebContent/swf10/video/videoUserProfilePicSWF10.lzx b/WebContent/swf10/video/videoUserProfilePicSWF10.lzx
new file mode 100644
index 0000000..10f3855
--- /dev/null
+++ b/WebContent/swf10/video/videoUserProfilePicSWF10.lzx
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+<class name="videoUserProfilePicSWF10" extends="view" x="1" y="2" width="${parent.width-2}" height="${parent.height-3}" 

+	   clip="true" bgcolor="white">

+	<attribute name="value" value="null" />

+	<handler name="oninit">

+		<![CDATA[

+			if (this.value.picture_uri==null || this.value.picture_uri.length==0){

+				this.value.picture_uri = "d.jpg";

+			} else {

+				this.value.picture_uri = "_profile_"+value.picture_uri;

+			}

+	        var downloadurl = 'http://'+canvas.rtmphostlocal+':'+canvas.red5httpport

+	        		+canvas.httpRootKey+'DownloadHandler?fileName='+value.picture_uri

+	        		+'&moduleName=remoteuserprofile&parentPath=&room_id='

+	        		+'&remoteUserid='+this.value.user_id

+	        		+'&sid='+canvas.sessionId;

+	        if ($debug) Debug.write(downloadurl);

+	        this._userpic.setAttribute('src',downloadurl);	

+        ]]>

+	</handler>	

+	<image name="_userpic" stretches="both" width="${parent.width}" height="${parent.height}" />

+</class>

+

+</library>

diff --git a/WebContent/swf10/whiteboard/library.lzx b/WebContent/swf10/whiteboard/library.lzx
new file mode 100644
index 0000000..ebb556b
--- /dev/null
+++ b/WebContent/swf10/whiteboard/library.lzx
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+    <include href="playBackWhiteboardVideo.lzx" />

+    

+</library>

diff --git a/WebContent/swf10/whiteboard/playBackWhiteboardVideo.lzx b/WebContent/swf10/whiteboard/playBackWhiteboardVideo.lzx
new file mode 100644
index 0000000..f2e9d75
--- /dev/null
+++ b/WebContent/swf10/whiteboard/playBackWhiteboardVideo.lzx
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8" ?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<library>

+

+<!---

+    The playBackVideoStream is used in the recording playerback to show the video

+ -->

+<class name="playBackWhiteboardVideo" extends="baseVideoStream" bgcolor="0x000000">

+	

+	<attribute name="timerDelegate" value="null"/>

+    <attribute name="timerDelegateStarted" value="false" type="boolean"/>

+    

+    <handler name="oninit">

+        this.timerDelegate = new LzDelegate( this, "calcProgressBar" );

+    </handler>

+    

+    <method name="playVideoStream" args="streamName,delay">

+        this.playStream(streamName,delay);

+        this.timerDelegateStarted = true;

+        lz.Timer.addTimer( this.timerDelegate , 1000 );

+    </method>

+    

+    <method name="stopVideo">

+        this._stop();

+        lz.Timer.removeTimer(this.timerDelegate);

+        this.timerDelegateStarted = false;

+    </method>

+	

+	<handler name="onPlayStatusEvent" args="info">

+        //if ($debug) Debug.write("onPlayStatus ",info);

+        if (info.code ==  "NetStream.Play.Complete" ) {

+        	if ($debug) Debug.write("-- stopStream");

+            //parent.parent.stopStream();

+            canvas.videoComp_lc.send(canvas.videoComp_lc_name, 'stopRecordingStream', this.name);

+        }

+    </handler>

+    <handler name="onMetaDataEvent" args="info">

+        //if ($debug) Debug.warn("onMetaData ",info);

+        //if ($debug) Debug.write("parent.parent.deltaInSeconds ",Number(info.duration));

+        //parent.parent.deltaInSeconds = Number(info.duration);

+        canvas.videoComp_lc.send(canvas.videoComp_lc_name, 'metaWhiteboardPlaybackStream', this.name, Number(info.duration));

+    </handler>

+    

+    <method name="calcProgressBar" args="tObjRef">

+        //if ($debug) Debug.write("calcProgressBar updateRecordingStreamTime",this._ns.time)

+        canvas.videoComp_lc.send(canvas.videoComp_lc_name, 'updateWhiteboardStreamTime',this.name, this._ns.time);

+        if (this.timerDelegateStarted) {

+            lz.Timer.addTimer( this.timerDelegate , 1000 );

+        }

+    </method>

+	

+</class>

+

+</library>
\ No newline at end of file
diff --git a/WebContent/uploadtemp/library.xml b/WebContent/uploadtemp/library.xml
new file mode 100644
index 0000000..ff9eef3
--- /dev/null
+++ b/WebContent/uploadtemp/library.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<presentation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="library.xsd"><originalDocument lastmod="1185461814000" size="240233">Tutorat.pdf</originalDocument><swfDocument lastmod="1185461814000" size="240233">Tutorat.swf</swfDocument><thumbs><thumb lastmod="1185461813000" size="3998">_thumb_pages-000.jpg</thumb><thumb lastmod="1185461813000" size="3855">_thumb_pages-001.jpg</thumb><thumb lastmod="1185461813000" size="4306">_thumb_pages-002.jpg</thumb><thumb lastmod="1185461813000" size="3747">_thumb_pages-003.jpg</thumb><thumb lastmod="1185461813000" size="3162">_thumb_pages-004.jpg</thumb><thumb lastmod="1185461813000" size="3232">_thumb_pages-005.jpg</thumb><thumb lastmod="1185461813000" size="2981">_thumb_pages-006.jpg</thumb><thumb lastmod="1185461813000" size="3126">_thumb_pages-007.jpg</thumb><thumb lastmod="1185461813000" size="4457">_thumb_pages-008.jpg</thumb><thumb lastmod="1185461813000" size="4264">_thumb_pages-009.jpg</thumb><thumb lastmod="1185461813000" size="4263">_thumb_pages-010.jpg</thumb><thumb lastmod="1185461813000" size="3770">_thumb_pages-011.jpg</thumb><thumb lastmod="1185461813000" size="3354">_thumb_pages-012.jpg</thumb><thumb lastmod="1185461813000" size="3006">_thumb_pages-013.jpg</thumb><thumb lastmod="1185461813000" size="3972">_thumb_pages-014.jpg</thumb><thumb lastmod="1185461813000" size="4353">_thumb_pages-015.jpg</thumb><thumb lastmod="1185461813000" size="4184">_thumb_pages-016.jpg</thumb><thumb lastmod="1185461813000" size="4021">_thumb_pages-017.jpg</thumb><thumb lastmod="1185461813000" size="3225">_thumb_pages-018.jpg</thumb><thumb lastmod="1185461813000" size="3847">_thumb_pages-019.jpg</thumb><thumb lastmod="1185461813000" size="3046">_thumb_pages-020.jpg</thumb><thumb lastmod="1185461813000" size="2633">_thumb_pages-021.jpg</thumb><thumb lastmod="1185461813000" size="4001">_thumb_pages-022.jpg</thumb><thumb lastmod="1185461813000" size="4243">_thumb_pages-023.jpg</thumb></thumbs></presentation>
\ No newline at end of file
diff --git a/WebContent/uploadtemp/library.xsd b/WebContent/uploadtemp/library.xsd
new file mode 100644
index 0000000..71f2b7d
--- /dev/null
+++ b/WebContent/uploadtemp/library.xsd
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

+  <xs:element name="presentation">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element ref="originalDocument"/>

+        <xs:element ref="swfDocument"/>

+        <xs:element ref="thumbs"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="originalDocument">

+    <xs:complexType>

+      <xs:simpleContent>

+        <xs:extension base="xs:NCName">

+          <xs:attribute name="lastmod" use="required" type="xs:integer"/>

+          <xs:attribute name="size" use="required" type="xs:integer"/>

+        </xs:extension>

+      </xs:simpleContent>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="swfDocument">

+    <xs:complexType>

+      <xs:simpleContent>

+        <xs:extension base="xs:NCName">

+          <xs:attribute name="lastmod" use="required" type="xs:integer"/>

+          <xs:attribute name="size" use="required" type="xs:integer"/>

+        </xs:extension>

+      </xs:simpleContent>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="thumbs">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element maxOccurs="unbounded" ref="thumb"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="thumb">

+    <xs:complexType>

+      <xs:simpleContent>

+        <xs:extension base="xs:NCName">

+          <xs:attribute name="lastmod" use="required" type="xs:integer"/>

+          <xs:attribute name="size" use="required" type="xs:integer"/>

+        </xs:extension>

+      </xs:simpleContent>

+    </xs:complexType>

+  </xs:element>

+</xs:schema>

diff --git a/build-jaudiotagger.xsl b/build-jaudiotagger.xsl
new file mode 100644
index 0000000..03d6bdf
--- /dev/null
+++ b/build-jaudiotagger.xsl
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

+ <xsl:output omit-xml-declaration="no"/>

+    <xsl:template match="node()|@*">

+      <xsl:copy>

+         <xsl:apply-templates select="node()|@*"/>

+      </xsl:copy>

+    </xsl:template>

+

+    <xsl:template match="//*[@id='mp4reader.impl']"/>

+    <xsl:template match="//*[@id='mp3reader.impl']"/>

+</xsl:stylesheet>

diff --git a/build.properties b/build.properties
new file mode 100644
index 0000000..3c3e5be
--- /dev/null
+++ b/build.properties
@@ -0,0 +1,7 @@
+project.version=2.0.0
+project.status=SNAPSHOT
+red5.server.revision=4385
+red5.client.revision=4385
+laszlo.debug=false
+laszlo.proxied=solo
+db=derby
diff --git a/build.xml b/build.xml
new file mode 100644
index 0000000..78d259e
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,970 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+ -->
+<!DOCTYPE project>
+<project name="openmeetings" basedir="./" default="dist"
+	xmlns="antlib:org.apache.tools.ant"
+	xmlns:rat="antlib:org.apache.rat.anttasks"
+	xmlns:ivy="antlib:org.apache.ivy.ant"
+	>
+	<loadproperties srcFile="build.properties" />
+
+	<property name="project.distname" value="openmeetings" />
+	<property name="jar.suffix" value="${project.version}-${project.status}" />
+	<property environment="env" />
+
+	<property name="main.src.dir" value="${basedir}/src" />
+
+	<property name="dist.dir" value="dist" />
+
+	<property name="ivy.lib.dir" value="${basedir}/lib" />
+	<property name="build.base.dir" value="${basedir}/build" />
+	<property name="project.lib.dir" value="${build.base.dir}/lib" />
+	<property name="mainlibs.lib.dir" value="${project.lib.dir}/mainlibs" />
+	<property name="om.lib.dir" value="${project.lib.dir}/om" />
+	<property name="anakia.lib.dir" value="${project.lib.dir}/anakia" />
+	<property name="webcontent.src.dir" value="${basedir}/WebContent" />
+	<property name="screensharing.resources" value="${webcontent.src.dir}/screensharing" />
+	<property name="junit.lib.dir" value="${project.lib.dir}/junit" />
+	<property name="rat.lib.dir" value="${project.lib.dir}/rat" />
+	<property name="dtd-generator.lib.dir" value="${project.lib.dir}/dtd-generator" />
+	<property name="svntask.lib.dir" value="${project.lib.dir}/svntask" />
+
+	<property name="red5.server.dir" value="${build.base.dir}/red5/server" />
+	<property name="red5.client.dir" value="${build.base.dir}/red5/client" />
+	<property name="red5.lib" value="${red5.server.dir}/dist" />
+	<property name="red5.server.lib" value="${red5.lib}/lib" />
+	<property name="red5.client.lib" value="${red5.client.dir}/dist" />
+	<property name="red5.root" value="${dist.dir}/red5" />
+	<property name="dist.webapps.dir" value="${red5.root}/webapps/${project.distname}" />
+	<property name="dist.persistence.dir" value="${dist.webapps.dir}/WEB-INF/classes/META-INF/" />
+
+	<property name="laszlo.home" value="${build.base.dir}/openlaszlo" />
+
+	<!-- screenshare.out.dir -->
+	<property name="screenshare.out.dir" value="${dist.webapps.dir}/screensharing" />
+
+	<property name="main.out.dir" value="${build.base.dir}/classes/openmeetings" />
+
+	<!-- LPS Properties -->
+	<property name="out.dir.swf" value="${basedir}/${dist.webapps.dir}/" />
+	<property name="laszlo.as3.src.dir" value="${webcontent.src.dir}/swf10" />
+	<property name="laszlo.src.dir" value="${webcontent.src.dir}/src" />
+
+	<property name="keystore.file" value="${build.base.dir}/filetest.keystore" />
+
+	<property name="junit.base.dir" value="${build.base.dir}/junit" />
+	<property name="junit.report.dir" value="${junit.base.dir}/report" />
+
+	<path id="laszlo.lib">
+		<!-- swf8 -->
+		<fileset dir="${laszlo.home}/WEB-INF/lib" includes="saxon-6.5.3-lz-p1.jar jakarta-regexp-1.2.jar
+			commons-collections.jar jdom.jar log4j-1.2.6.jar lps-4.9.0.jar batik-all-flex.jar velocity-dep-1.4-flex.jar" />
+		<!-- swf10 -->
+		<fileset dir="${laszlo.home}/WEB-INF/lib" includes="mxmlc*.jar flex-messaging-common.jar swfutils.jar asc.jar
+			fxgutils.jar" />
+	</path>
+
+	<!-- compile classpath -->
+	<path id="compile.classpath">
+		<fileset dir="${red5.server.lib}" includes="*.jar" />
+		<fileset dir="${red5.client.lib}" includes="*.jar" />
+		<fileset dir="${red5.lib}" includes="*.jar" />
+		<fileset dir="${mainlibs.lib.dir}" includes="*.jar" />
+		<fileset dir="${om.lib.dir}" includes="*.jar" />
+		<fileset dir="${junit.lib.dir}" includes="*.jar" />
+		<fileset dir="${dtd-generator.lib.dir}" includes="*.jar" />
+		<fileset dir="${project.lib.dir}" includes="*.jar" />
+	</path>
+
+	<target name="prepare.mkdir" depends="-java6.check">
+		<mkdir dir="${red5.server.lib}" />
+		<mkdir dir="${red5.client.dir}/dist" />
+		<mkdir dir="${dist.dir}" />
+		<mkdir dir="${main.out.dir}" />
+		<mkdir dir="${mainlibs.lib.dir}" />
+		<mkdir dir="${om.lib.dir}" />
+		<mkdir dir="${anakia.lib.dir}" />
+		<mkdir dir="${junit.lib.dir}" />
+		<mkdir dir="${junit.report.dir}" />
+		<mkdir dir="${rat.lib.dir}" />
+		<mkdir dir="${dtd-generator.lib.dir}" />
+		<mkdir dir="${svntask.lib.dir}" />
+		<mkdir dir="${laszlo.home}" />
+		<echo file="${build.base.dir}/velocity.properties" append="false">runtime.log = ${build.base.dir}/velocity.log${line.separator}</echo>
+	</target>
+
+	<!-- build artefacts -->
+	<target name="dist-bin" description="pack binary distribution" depends="clean.all, dist">
+		<tstamp>
+			<format property="build.time" pattern="dd-MM-yyyy_HHmm" />
+		</tstamp>
+		<property name="archive.file.name" value="${dist.dir}/apache-${project.distname}-incubating-${project.version}.r${svn.info.rev}-${build.time}" />
+
+		<move file="${dist.dir}/red5/license.txt" tofile="${dist.dir}/red5/red5-license.txt" />
+		<copy file="build.properties" tofile="${build.base.dir}/build.properties" overwrite="true" />
+		<copy file="LICENSE" tofile="${dist.dir}/red5/LICENSE" overwrite="true" />
+		<copy file="NOTICE" tofile="${dist.dir}/red5/NOTICE" overwrite="true" />
+		<copy file="README" tofile="${dist.dir}/red5/README" overwrite="true" />
+		<copy file="CHANGELOG" tofile="${dist.dir}/red5/CHANGELOG" overwrite="true" />
+		<copy file="DISCLAIMER" tofile="${dist.dir}/red5/DISCLAIMER" overwrite="true" />
+
+		<echo file="${build.base.dir}/build.properties" append="true">svn.info.rev=${svn.info.rev}${line.separator}</echo>
+		<tar longfile="gnu" compression="gzip" destfile="${archive.file.name}-src.tar.gz">
+			<tarfileset dir="${basedir}">
+				<exclude name="build/**" />
+				<exclude name="dist/**" />
+				<exclude name="build.properties" />
+			</tarfileset>
+			<tarfileset dir="${build.base.dir}">
+				<include name="build.properties" />
+			</tarfileset>
+		</tar>
+		<tar longfile="gnu" compression="gzip" destfile="${archive.file.name}.tar.gz">
+			<tarfileset dir="${dist.dir}/red5">
+				<include name="**" />
+				<exclude name="*.sh" />
+			</tarfileset>
+			<tarfileset dir="${dist.dir}/red5" filemode="755">
+				<include name="*.sh" />
+			</tarfileset>
+		</tar>
+	</target>
+	
+	<!-- build artefacts -->
+	<target name="dist-release" description="pack binary distribution" depends="dist-bin">
+		<zip destfile="${archive.file.name}.zip">
+			<zipfileset dir="${dist.dir}/red5">
+				<include name="**" />
+				<exclude name="*.sh" />
+			</zipfileset>
+			<zipfileset dir="${dist.dir}/red5" filemode="755">
+				<include name="*.sh" />
+			</zipfileset>
+		</zip>
+		<zip destfile="${archive.file.name}-src.zip">
+			<zipfileset dir="${basedir}">
+				<exclude name="build/**" />
+				<exclude name="dist/**" />
+				<exclude name="build.properties" />
+			</zipfileset>
+			<zipfileset dir="${build.base.dir}">
+				<include name="build.properties" />
+			</zipfileset>
+		</zip>
+	</target>
+
+	<!-- build webapp -->
+	<target name="-copy-libraries" description="All jars downloaded by ivy copied to appropriate places">
+		<copy todir="${red5.root}/lib">
+			<fileset dir="${red5.client.lib}" includes="red5-client*.jar" />
+			<fileset dir="${mainlibs.lib.dir}" includes="*.jar" />
+		</copy>
+		<copy todir="${dist.webapps.dir}/WEB-INF/lib">
+			<fileset dir="${om.lib.dir}" includes="*.jar" />
+		</copy>
+		<chmod dir="${dist.webapps.dir}/WEB-INF/lib" perm="755" includes="**/*.sh" />
+	</target>
+
+	<target name="dist" description="binary distribution of OpenMeetings" depends="clean, jar, compile.laszlo.main, compile.laszlo.main.as3, enhance, signWebStartJars, -copy-libraries" />
+
+	<!-- compiles the sources without openlaszlo client -->
+	<target name="dist-test" description="binary distribution of OpenMeetings" depends="clean, -dist-test-no-clean, signWebStartJars" />
+
+	<!-- compiles the sources without openlaszlo client and clean -->
+	<target name="-dist-test-no-clean" description="binary distribution of OpenMeetings" depends="jar, -copy-libraries" />
+
+	<!-- compiles the sources only with laszlo debug client -->
+	<target name="dist-debug" description="binary distribution of OpenMeetings" depends="clean, jar, compile.laszlo.main.debug, compile.laszlo.main.debug.as3, signWebStartJars, -copy-libraries" />
+
+	<!-- Check timestamp on files -->
+	<target name="prepare" depends="prepare.mkdir">
+		<copy todir="${red5.root}" filtering="true">
+			<fileset dir="${red5.lib}">
+				<exclude name="**/*.fla" />
+			</fileset>
+		</copy>
+		<copy todir="${dist.webapps.dir}">
+			<fileset dir="${webcontent.src.dir}/openmeetings" />
+		</copy>
+
+		<copy todir="${dist.webapps.dir}">
+			<fileset dir="${webcontent.src.dir}">
+				<include name="*.html" />
+			</fileset>
+		</copy>
+		<copy todir="${dist.webapps.dir}/WEB-INF">
+			<fileset dir="${webcontent.src.dir}/WEB-INF">
+				<include name="*.xml" />
+				<include name="*.properties" />
+				<exclude name="root-*.xml" />
+			</fileset>
+		</copy>
+
+		<chmod dir="${red5.root}" perm="755" includes="**/*.sh" />
+
+		<antcall target="-process-db" inheritAll="true" inheritRefs="true" />
+		<copy todir="${dist.persistence.dir}">
+			<fileset file="src/META-INF/*.xml">
+				<exclude name="services.xml" />
+			</fileset>
+		</copy>
+
+		<!-- add language files from .war version -->
+		<copy todir="${dist.webapps.dir}/languages">
+			<fileset dir="${webcontent.src.dir}/languages" />
+		</copy>
+		<copy todir="${dist.webapps.dir}/conf">
+			<fileset dir="${webcontent.src.dir}/conf" />
+		</copy>
+		<tstamp />
+	</target>
+
+	<!-- Copy any resource or configuration files -->
+	<target name="resources">
+		<patternset id="xmlpng">
+			<include name="**/*.xml" />
+			<include name="**/*.png" />
+		</patternset>
+		<patternset id="resources">
+			<patternset refid="xmlpng" />
+			<include name="**/*.conf" />
+			<include name="**/*.properties" />
+			<include name="**/*.vm" />
+		</patternset>
+
+		<!-- Main Applications -->
+		<copy todir="${main.out.dir}" includeEmptyDirs="yes">
+			<fileset dir="${main.src.dir}">
+				<patternset refid="resources" />
+			</fileset>
+		</copy>
+	</target>
+
+	<target name="jar.only" depends="enhance.only, current_revision">
+		<tstamp prefix="build">
+			<format property="TODAY" pattern="d-MMMM-yyyy" locale="en" />
+		</tstamp>
+		<manifestclasspath property="jar.classpath" jarfile="${project.distname}-${jar.suffix}.jar">
+			<classpath refid="compile.classpath" />
+		</manifestclasspath>
+		<jar destfile="${dist.webapps.dir}/WEB-INF/lib/${project.distname}-${jar.suffix}.jar">
+			<fileset dir="${main.out.dir}">
+				<include name="**" />
+				<exclude name="**/test/**" />
+				<exclude name="**/axis/**" />
+				<exclude name="org/openmeetings/screen/**" />
+				<exclude name="org/openmeetings/doc/**" />
+				<exclude name="**/client/**" />
+				<exclude name="**/*.png" />
+				<exclude name="**/*.vm" />
+				<exclude name="META-INF/*.xml" />
+				<exclude name="log4j.properties" />
+			</fileset>
+			<manifest>
+				<attribute name="Built-By" value="OpenMeetings - http://incubator.apache.org/openmeetings" />
+				<attribute name="Built-On" value="${build.TODAY}" />
+				<attribute name="Class-Path" value="conf/ ${jar.classpath}" />
+				<attribute name="Svn-Revision" value="${svn.info.rev}" />
+			</manifest>
+		</jar>
+		<jar destfile="${dist.webapps.dir}/WEB-INF/lib/${project.distname}-templates-${jar.suffix}.jar">
+			<fileset dir="${main.out.dir}">
+				<include name="**" />
+				<exclude name="**/org/**" />
+				<exclude name="**/*.png" />
+				<exclude name="**/*.properties" />
+				<exclude name="META-INF/*.xml" />
+			</fileset>
+			<manifest>
+				<attribute name="Built-By" value="OpenMeetings - http://incubator.apache.org/openmeetings" />
+				<attribute name="Built-On" value="${build.TODAY}" />
+				<attribute name="Class-Path" value="conf/ ${jar.classpath}" />
+				<attribute name="Svn-Revision" value="${svn.info.rev}" />
+			</manifest>
+		</jar>
+
+		<!-- Build WebServices -->
+		<jar destfile="${dist.webapps.dir}/WEB-INF/services/${project.distname}-${jar.suffix}.aar">
+			<fileset dir="src/">
+				<include name="META-INF/services.xml" />
+			</fileset>
+			<fileset dir="${main.out.dir}">
+				<include name="META-INF/LICENSE" />
+				<include name="META-INF/NOTICE" />
+			</fileset>
+		</jar>
+		<jar destfile="${dist.webapps.dir}/WEB-INF/lib/${project.distname}-WebService-${jar.suffix}.jar">
+			<fileset dir="${main.out.dir}">
+				<include name="**/openmeetings/axis/**" />
+				<include name="META-INF/LICENSE" />
+				<include name="META-INF/NOTICE" />
+			</fileset>
+		</jar>
+	</target>
+
+	<target name="dist.screen.share" description="Make Screen Share Archive" depends="jar.screen.share, signWebStartJars" />
+
+	<target name="jar.screen.share" description="Make Screen Share Archive" depends="compile.only">
+		<tstamp prefix="build">
+			<format property="TODAY" pattern="d-MMMM-yyyy" locale="en" />
+		</tstamp>
+		<manifestclasspath property="jar2.classpath" jarfile="${project.distname}.jar">
+			<classpath refid="compile.classpath" />
+		</manifestclasspath>
+		<!-- Screen Share -->
+		<jar destfile="${screenshare.out.dir}/${project.distname}-screenshare-${jar.suffix}.jar">
+			<fileset dir="${main.out.dir}">
+				<include name="org/openmeetings/screen/**" />
+				<include name="META-INF/LICENSE" />
+				<include name="META-INF/NOTICE" />
+			</fileset>
+			<fileset file="${screensharing.resources}/logback.xml" />
+			<manifest>
+				<attribute name="Built-By" value="OpenMeetings - http://openmeetings.googlecode.com" />
+				<attribute name="Built-On" value="${build.TODAY}" />
+				<attribute name="Class-Path" value="conf/ ${jar2.classpath}" />
+			</manifest>
+		</jar>
+	</target>
+
+	<!-- Compile JAR -->
+	<target name="jar" description="Make Archive" depends="enhance, build.only.webservice.doc, jar.only, jar.screen.share">
+		<tstamp prefix="build">
+			<format property="TODAY" pattern="d-MMMM-yyyy" locale="en" />
+		</tstamp>
+	</target>
+
+	<target name="signWebStartJars">
+		<delete file="${keystore.file}" />
+		<genkey alias="filetest" storepass="secret" keystore="${keystore.file}" verbose="true">
+			<dname>
+				<param name="CN" value="Sebastian Wagner" />
+				<param name="OU" value="technology" />
+				<param name="O" value="incubator.apache.org/openmeetings" />
+				<param name="C" value="DE" />
+			</dname>
+		</genkey>
+		<copy todir="${screenshare.out.dir}" filtering="true">
+			<fileset dir="${screensharing.resources}" includes="*.jpg" />
+			<fileset dir="${red5.server.lib}" includes="commons-codec*.jar" />
+			<fileset dir="${red5.server.lib}" includes="httpclient*.jar" />
+			<fileset dir="${red5.server.lib}" includes="httpcore*.jar" />
+			<fileset dir="${red5.server.lib}" includes="bcprov-jdk16*.jar" />
+			<fileset dir="${red5.server.lib}" includes="ehcache-core*.jar" />
+			<fileset dir="${red5.server.lib}" includes="commons-beanutils*.jar" />
+			<fileset dir="${red5.server.lib}" includes="slf4j-api*.jar" />
+			<fileset dir="${red5.server.lib}" includes="jcl-over-slf4j*.jar" />
+			<fileset dir="${red5.server.lib}" includes="commons-collections*.jar" />
+			<fileset dir="${red5.lib}" includes="red5.jar" />
+			<fileset dir="${red5.server.lib}" includes="spring-context-3*.jar" />
+			<fileset dir="${red5.server.lib}" includes="spring-core-*.jar" />
+			<fileset dir="${red5.server.lib}" includes="spring-beans-*.jar" />
+			<fileset dir="${red5.server.lib}" includes="logback*.jar" />
+			<fileset dir="${red5.server.lib}" includes="mina-core*.jar" />
+			<fileset dir="${red5.server.lib}" includes="com.springsource.slf4j.api*.jar" />
+			<fileset dir="${red5.client.lib}" includes="red5-client*.jar" />
+		</copy>
+		<signjar alias="filetest" keystore="${keystore.file}" storepass="secret" lazy="false">
+			<path>
+				<fileset dir="${screenshare.out.dir}">
+					<include name="**/*.jar" />
+				</fileset>
+			</path>
+		</signjar>
+	</target>
+
+	<target name="client.only" depends="compile.laszlo.main.as3,compile.laszlo.main" />
+
+	<target name="client.debug.only" depends="compile.laszlo.main.debug.as3,compile.laszlo.main.debug" />
+
+	<target name="compile.laszlo.main.as3" depends="compile.laszlo.main.debug.as3">
+		<java classname="org.openlaszlo.compiler.Main" fork="true" newenvironment="true" failonerror="true" dir="${laszlo.as3.src.dir}" classpathref="laszlo.lib">
+			<jvmarg value="-DLPS_HOME=${laszlo.home}" />
+			<jvmarg value="-Dlzdebug=${laszlo.debug}" />
+			<jvmarg value="-Dlzproxied=${laszlo.proxied}" />
+			<jvmarg value="-Xms1024M" />
+			<jvmarg value="-Xmx1024M" />
+			<arg line="--runtime=swf10 --dir ${out.dir.swf} --onerror warn main.as3.lzx" />
+		</java>
+	</target>
+
+	<target name="compile.laszlo.networktesting">
+		<copy todir="${dist.webapps.dir}">
+			<fileset dir="${webcontent.src.dir}/openmeetings" includes="*" />
+		</copy>
+		<copy todir="${dist.webapps.dir}/testingTools">
+			<fileset dir="${webcontent.src.dir}/openmeetings/testingTools" includes="*" />
+		</copy>
+		<java classname="org.openlaszlo.compiler.Main" fork="true" newenvironment="true" failonerror="true" dir="${laszlo.as3.src.dir}/networkTesting" classpathref="laszlo.lib">
+			<jvmarg value="-DLPS_HOME=${laszlo.home}" />
+			<jvmarg value="-Dlzdebug=${laszlo.debug}" />
+			<jvmarg value="-Dlzproxied=${laszlo.proxied}" />
+			<jvmarg value="-Xms512M" />
+			<jvmarg value="-Xmx512M" />
+			<arg line="--runtime=swf10 --dir ${out.dir.swf} --onerror warn networktesting.lzx" />
+		</java>
+	</target>
+
+	<target name="compile.laszlo.main.debug.as3" depends="-retrieve-openlaszlo">
+		<java classname="org.openlaszlo.compiler.Main" fork="true" newenvironment="true" failonerror="true" dir="${laszlo.as3.src.dir}" classpathref="laszlo.lib">
+			<jvmarg value="-DLPS_HOME=${laszlo.home}" />
+			<jvmarg value="-Dlzdebug=${laszlo.debug}" />
+			<jvmarg value="-Dlzproxied=${laszlo.proxied}" />
+			<jvmarg value="-Xms1024M" />
+			<jvmarg value="-Xmx1024M" />
+			<arg line="--runtime=swf10 --dir ${out.dir.swf} --onerror warn maindebug.as3.lzx" />
+		</java>
+	</target>
+
+	<target name="compile.laszlo.main" depends="compile.laszlo.main.debug">
+		<java classname="org.openlaszlo.compiler.Main" fork="true" newenvironment="true" failonerror="true" dir="${laszlo.src.dir}" classpathref="laszlo.lib">
+			<jvmarg value="-DLPS_HOME=${laszlo.home}" />
+			<jvmarg value="-Dlzdebug=${laszlo.debug}" />
+			<jvmarg value="-Dlzproxied=${laszlo.proxied}" />
+			<jvmarg value="-Xms1024M" />
+			<jvmarg value="-Xmx1024M" />
+			<arg line="--runtime=swf8 --dir ${out.dir.swf} --mcache on --onerror warn main.lzx" />
+		</java>
+	</target>
+
+	<target name="compile.laszlo.main.debug" depends="-retrieve-openlaszlo">
+		<java classname="org.openlaszlo.compiler.Main" fork="true" newenvironment="true" failonerror="true" dir="${laszlo.src.dir}" classpathref="laszlo.lib">
+			<jvmarg value="-DLPS_HOME=${laszlo.home}" />
+			<jvmarg value="-Dlzdebug=${laszlo.debug}" />
+			<jvmarg value="-Dlzproxied=${laszlo.proxied}" />
+			<jvmarg value="-Xms1024M" />
+			<jvmarg value="-Xmx1024M" />
+			<arg line="--runtime=swf8 --dir ${out.dir.swf} --mcache on --onerror warn maindebug.lzx" />
+		</java>
+	</target>
+
+	<target name="compile" depends="compile.only, prepare" />
+
+	<target name="compile.only" depends="clean.classes, -retrieve-mainlibs,-retrieve-om,-retrieve-dtd-generator,-retrieve-junit, -retrieve-cmdadmin, -retrieve-tools.jar, resources">
+		<echo message="Compile main to ${main.out.dir}" />
+		<javac debug="on" debuglevel="lines,vars,source" destdir="${main.out.dir}" includeantruntime="false">
+			<src path="${main.src.dir}" />
+			<classpath refid="compile.classpath" />
+			<compilerarg value="-Aopenjpa.metamodel=true" />
+			<!-- compilerarg value="-Xlint:deprecation"/ -->
+		</javac>
+		<copy file="LICENSE" tofile="${main.out.dir}/META-INF/LICENSE" overwrite="true" />
+		<copy file="NOTICE" tofile="${main.out.dir}/META-INF/NOTICE" overwrite="true" />
+	</target>
+
+	<target name="doStartServer" depends="compile">
+		<junit>
+			<classpath refid="compile.classpath" />
+			<formatter type="plain" />
+
+			<test name="org.openmeetings.server.TestSocket" />
+		</junit>
+	</target>
+
+	<path id="jpa.enhancement.classpath">
+		<pathelement path="${main.out.dir}" />
+		<path refid="compile.classpath" />
+	</path>
+
+	<target name="enhance" depends="compile, enhance.only" />
+
+	<target name="enhance.only" depends="compile.only">
+		<!-- define the openjpac task -->
+		<taskdef name="openjpac" classname="org.apache.openjpa.ant.PCEnhancerTask">
+			<classpath refid="jpa.enhancement.classpath" />
+		</taskdef>
+
+		<!-- invoke the enhancer -->
+		<openjpac>
+			<classpath refid="jpa.enhancement.classpath" />
+			<config propertiesFile="${dist.persistence.dir}/${db}_persistence.xml" />
+		</openjpac>
+		<echo message="Enhancing complete." />
+	</target>
+
+	<path id="svntask.classpath">
+		<fileset dir="${svntask.lib.dir}" includes="*.jar" />
+	</path>
+	<target name="-ant-task" depends="-retrieve-svntask">
+		<typedef resource="org/tigris/subversion/svnant/svnantlib.xml">
+			<classpath>
+				<path refid="svntask.classpath" />
+			</classpath>
+		</typedef>
+		<svnSetting svnkit="false" javahl="false" id="svn.settings" />
+		<!-- native svn in the path-->
+	</target>
+	<target name="current_revision" depends="-ant-task" unless="svn.info.rev">
+		<svn refid="svn.settings">
+			<info target="." />
+		</svn>
+		<echo>Current revision: ${svn.info.rev}</echo>
+	</target>
+
+	<!-- Build entire project -->
+	<target name="build project" depends="clean, prepare, compile" />
+
+	<path id="rat.classpath">
+		<fileset dir="${rat.lib.dir}" includes="*.jar" />
+		<path refid="compile.classpath" />
+	</path>
+	<target name="report_rat" depends="-retrieve-rat">
+		<!-- define the RAT task -->
+		<taskdef uri="antlib:org.apache.rat.anttasks" resource="org/apache/rat/anttasks/antlib.xml">
+			<classpath>
+				<path refid="rat.classpath" />
+			</classpath>
+		</taskdef>
+
+		<rat:report>
+			<fileset dir="${main.src.dir}" />
+		</rat:report>
+	</target>
+
+	<path id="build.webservice.classpath">
+		<pathelement path="${main.out.dir}" />
+		<path refid="compile.classpath" />
+	</path>
+
+	<target name="build.webservice.doc" depends="compile.only, build.only.webservice.doc"/>
+
+	<property name="docs.dest" value="docs" />
+	<property name="docs.src" value="xdocs" />
+	<patternset id="images">
+		<include name="**/*.gif" />
+		<include name="**/*.jpeg" />
+		<include name="**/*.jpg" />
+		<include name="**/*.png" />
+	</patternset>
+	<patternset id="css">
+		<include name="**/*.css" />
+		<include name="**/*.gif" />
+		<include name="**/*.png" />
+	</patternset>
+
+	<!-- Anakia Build classpath -->
+	<path id="anakia.classpath">
+		<path refid="compile.classpath" />
+		<fileset dir="${anakia.lib.dir}" includes="*.jar" />
+		<fileset dir="${mainlibs.lib.dir}" includes="commons-collections*.jar,commons-lang*.jar,velocity*.jar" />
+	</path>
+
+	<target name="anakia" depends="-retrieve-mainlibs,-retrieve-om,-retrieve-anakia">
+		<taskdef name="anakia" classname="org.apache.velocity.anakia.AnakiaTask">
+			<classpath>
+				<path refid="anakia.classpath" />
+			</classpath>
+		</taskdef>
+
+		<xslt in="${webcontent.src.dir}/languages/errorvalues.xml" out="${docs.src}/ErrorsTable.xml" style="${docs.src}/stylesheets/errortable.xsl" />
+		<anakia basedir="${docs.src}" destdir="${docs.dest}/" extension=".html" style="./site.vsl" projectFile="stylesheets/project.xml" excludes="**/stylesheets/** empty.xml" includes="**/*.xml" lastModifiedCheck="true" templatePath="xdocs/stylesheets" velocityPropertiesFile="${build.base.dir}/velocity.properties" />
+		<copy todir="${docs.dest}/images" filtering="no">
+			<fileset dir="${docs.src}/images">
+				<patternset refid="images" />
+			</fileset>
+		</copy>
+
+		<copy todir="${docs.dest}/css" filtering="no">
+			<fileset dir="${docs.src}/css">
+				<patternset refid="css" />
+			</fileset>
+		</copy>
+	</target>
+
+	<target name="build.only.webservice.doc" depends="anakia">
+		<javadoc classpathref="build.webservice.classpath" useexternalfile="true">
+			<fileset dir="src/org/openmeetings/axis/services">
+				<include name="*WebService.java" />
+			</fileset>
+			<doclet name="org.openmeetings.doc.WebServiceDoclet" pathref="build.webservice.classpath" />
+		</javadoc>
+
+		<copy todir="${dist.webapps.dir}/docs">
+			<fileset dir="${basedir}/docs/">
+				<include name="*.html" />
+				<include name="*.css" />
+			</fileset>
+		</copy>
+		<copy todir="${dist.webapps.dir}/docs/images">
+			<fileset dir="${basedir}/docs/images/">
+				<patternset refid="images" />
+			</fileset>
+		</copy>
+		<copy todir="${dist.webapps.dir}/docs/css">
+			<fileset dir="${basedir}/docs/css/">
+				<patternset refid="css" />
+			</fileset>
+		</copy>
+		<copy todir="${dist.webapps.dir}/docs/js">
+			<fileset dir="${basedir}/docs/js/">
+				<include name="**/*.js" />
+			</fileset>
+		</copy>
+		<copy todir="${dist.webapps.dir}/docs/source">
+			<fileset dir="${basedir}/docs/source/">
+				<include name="**/*.js" />
+				<include name="**/*.gif" />
+				<include name="**/*.png" />
+			</fileset>
+		</copy>
+		<copy todir="${dist.webapps.dir}/docs/source/helpers">
+			<fileset dir="${basedir}/docs/source/helpers">
+				<include name="**/*.js" />
+				<include name="**/*.css" />
+				<include name="**/*.png" />
+			</fileset>
+		</copy>
+	</target>
+
+	<!-- Unit Tests -->
+	<property name="om.dist.webapp" value="${red5.root}/webapps/${project.distname}" />
+
+	<condition property="junit.test.pattern" value="${testcases}" else="Test*">
+		<isset property="testcases" />
+	</condition>
+
+	<condition property="junit.test.formatter" value="${test.formatter}" else="xml">
+		<isset property="test.formatter" />
+	</condition>
+
+	<path id="junit.classpath">
+		<fileset dir="${junit.lib.dir}" includes="*.jar" />
+		<fileset dir="${om.dist.webapp}/WEB-INF/lib">
+			<include name="*.jar" />
+			<exclude name="openmeetings*.jar" />
+		</fileset>
+		<fileset dir="${red5.root}" includes="*.jar" />
+		<fileset dir="${red5.root}/lib" includes="*.jar" />
+		<pathelement path="${om.dist.webapp}/WEB-INF" />
+		<pathelement path="${om.dist.webapp}/WEB-INF/classes" />
+		<pathelement path="${main.out.dir}" />
+	</path>
+	<target name="test" depends="-dist-test-no-clean" description="Will run all tests unless -Dtestcases=_file_name_pattern_ will be passed">
+		<mkdir dir="${junit.report.dir}" />
+		<!-- property name="myclsp" refid="junit.classpath" />
+		<echo message="${myclsp}" /-->
+		<junit maxmemory="1024m" printsummary="yes" dir="${junit.base.dir}" tempdir="${junit.base.dir}" fork="yes" forkmode="perBatch">
+			<classpath refid="junit.classpath" />
+			<jvmarg value="-Dred5.root=${red5.root}" />
+			<jvmarg value="-Dbasedir=${basedir}" />
+			<jvmarg value="-Dred5.config_root=${red5.root}/conf" />
+			<jvmarg value="-Dwebapps.root=${basedir}/${om.dist.webapp}" />
+			<formatter type="${junit.test.formatter}" />
+			<batchtest todir="${junit.report.dir}">
+				<fileset dir="${main.out.dir}">
+					<include name="org/openmeetings/test/**/${junit.test.pattern}.class" />
+					<exclude name="**/*$$*.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+		<junitreport todir="${junit.report.dir}">
+			<fileset dir="${junit.report.dir}">
+				<include name="TEST-*.xml" />
+			</fileset>
+			<report todir="${junit.report.dir}" />
+		</junitreport>
+	</target>
+	<target name="smoke.test" depends="dist" description="Will run 'Smoke' subset of tests">
+		<antcall target="test">
+			<param name="junit.test.pattern" value="TestSmoke*" />
+		</antcall>
+	</target>
+
+
+	<property name="ivy.jar" value="ivy-2.2.0.jar" />
+	<taskdef uri="antlib:org.apache.ivy.ant" resource="org/apache/ivy/ant/antlib.xml" classpath="${ivy.lib.dir}/${ivy.jar}" />
+
+	<!-- Build Targets -->
+	<target name="-java6.check" unless="java6.installed">
+		<condition property="java6.installed" value="true">
+			<and>
+				<or>
+					<equals arg1="${java.specification.version}" arg2="1.6" />
+				</or>
+				<matches string="${java.vm.specification.vendor}" pattern=".*[sun,oracle].*" casesensitive="false" singleline="true" />
+			</and>
+		</condition>
+		<echo message="Using Java ${java.version} specification: ${java.specification.version}" />
+		<fail message="Unsupported Java version - detected: ${java.version} Only Sun/Oracle Java compiler version 1.6 supported.">
+			<condition>
+				<not>
+					<equals arg1="${java6.installed}" arg2="true" />
+				</not>
+			</condition>
+		</fail>
+	</target>
+
+	<target name="-availability-check" unless="red5.installed" description="Check which libraries need to be retrieved" depends="prepare.mkdir">
+		<available classpathref="compile.classpath" classname="javax.persistence.spi.PersistenceProvider" property="mainlib.installed" />
+		<available classpathref="compile.classpath" classname="org.apache.axis2.Version" property="om.installed" />
+		<available classpathref="compile.classpath" classname="org.junit.Test" property="junit.installed" />
+		<available classpathref="compile.classpath" classname="com.thaiopensource.relaxng.translate.Driver" property="dtd-generator.installed" />
+		<available classpathref="compile.classpath" classname="org.apache.commons.cli.CommandLine" property="cmdadmin.installed" />
+		<available classpathref="anakia.classpath" classname="org.apache.oro.text.GlobCompiler" property="anakia.installed" />
+		<available classpathref="rat.classpath" classname="org.apache.rat.Report" property="rat.installed" />
+		<available classpathref="svntask.classpath" classname="org.tmatesoft.svn.core.SVNCommitInfo" property="svntask.installed" />
+		<available classpathref="compile.classpath" classname="com.mysql.jdbc.Driver" property="mysql.installed" />
+		<available classpathref="compile.classpath" classname="org.apache.derby.jdbc.ClientDriver" property="derby.installed" />
+		<available file="${laszlo.home}/WEB-INF/lib" type="dir" property="laszlo.installed" />
+		<available file="${red5.lib}/red5.sh" type="file" property="red5.installed" />
+		<available classpathref="compile.classpath" classname="org.red5.client.net.rtmp.RTMPClient" property="red5.client.installed" />
+	</target>
+
+	<target name="-retrieve" description="Retrieves the libraries if needed">
+		<condition property="ivy.conf.name" value="red5">
+			<not>
+				<isset property="ivy.conf.name" />
+			</not>
+		</condition>
+		<condition property="ivy.lib.location" value="${mainlibs.lib.dir}">
+			<not>
+				<isset property="ivy.lib.location" />
+			</not>
+		</condition>
+		<condition property="ivy.transitive" value="false">
+			<not>
+				<isset property="ivy.transitive" />
+			</not>
+		</condition>
+		<echo message="Ivy conf name: ${ivy.conf.name}, destination: ${ivy.lib.location}" />
+		<ivy:resolve file="ivy.xml" conf="${ivy.conf.name}" checkIfChanged="false" transitive="${ivy.transitive}" />
+		<ivy:retrieve conf="${ivy.conf.name}" pattern="${ivy.lib.location}/[artifact]-[type]-[revision].[ext]" />
+	</target>
+	
+	<!-- wrapper to load the server before the client to have the 
+		red5.jar that is necessary to build the client --> 
+	<target name="-retrieve-red5" depends="-retrieve-red5-client" />
+
+	<!-- Check for the Red5 libraries -->
+	<target name="-retrieve-red5-server" unless="red5.installed" description="Retrieves the libraries if needed" depends="-ant-task">
+		<svn refid="svn.settings">
+			<checkout url="http://red5.googlecode.com/svn/java/server/trunk/" revision="${red5.server.revision}" destPath="${red5.server.dir}" />
+		</svn>
+		<subant target="dist">
+			<fileset dir="${red5.server.dir}" includes="build.xml" />
+		</subant>
+		<echo message="JAVAEE: ${red5.server.lib}/javaee-api-5.1.2.jar" />
+		<jar destfile="${red5.server.lib}/javaee-api-5.1.2.om.jar">
+			<zipfileset src="${red5.server.lib}/javaee-api-5.1.2.jar" excludes="javax/persistence/**/*.*" />
+		</jar>
+		<delete file="${red5.server.lib}/javaee-api-5.1.2.jar" />
+		<delete dir="${red5.lib}/webapps/installer" />
+		<delete dir="${red5.lib}/webapps/live" />
+		<delete dir="${red5.lib}/webapps/vod" />
+		<copy todir="${red5.lib}/conf" overwrite="true" force="true">
+			<fileset dir="${webcontent.src.dir}/red5" includes="jee-container*.xml" />
+		</copy>
+		<copy file="${red5.server.dir}/src/conf/red5.properties" todir="${red5.lib}/conf" overwrite="true" force="true">
+			<filterchain>
+				<tokenfilter>
+					<replaceregex pattern="^[ \t]*rtmpt.target_reponse_size[ \t]*=.*$" replace="rtmpt.target_reponse_size=65536"/>
+				</tokenfilter>
+			</filterchain>
+		</copy>
+		<copy file="${webcontent.src.dir}/red5/index.html" todir="${red5.lib}/webapps/root" overwrite="true" force="true" />
+		<copy todir="${red5.lib}" overwrite="true" force="true">
+			<fileset dir="${webcontent.src.dir}/red5" includes="admin.*" />
+		</copy>
+		<!-- FIXME need to be removed as soon as JAudioTagger (will be officially Dual Licensed) -->
+		<xslt in="${red5.lib}/conf/red5-common.xml" out="${red5.lib}/conf/red5-common1.xml" style="build-jaudiotagger.xsl" />
+		<move file="${red5.lib}/conf/red5-common1.xml" tofile="${red5.lib}/conf/red5-common.xml" />
+		<delete>
+			<fileset dir="${red5.server.lib}" includes="jaudiotagger*.jar" />
+		</delete>
+	</target>
+	
+	<!-- Check for the Red5 libraries -->
+	<target name="-retrieve-red5-client" unless="red5.client.installed" description="Retrieves the libraries if needed" depends="-retrieve-red5-server">
+		<svn refid="svn.settings">
+			<checkout url="http://red5.googlecode.com/svn/java/client/trunk/" revision="${red5.client.revision}" destPath="${red5.client.dir}" />
+		</svn>
+		<copy file="${red5.lib}/red5.jar" todir="${red5.client.dir}/lib" overwrite="true" force="true" />
+		<copy file="${webcontent.src.dir}/red5/client_rtmpt_patch/RTMPTClient.java" todir="${red5.client.dir}/src/org/red5/client/net/rtmpt" overwrite="true" force="true" />
+		<copy file="${webcontent.src.dir}/red5/client_rtmpt_patch/RTMPTClientConnector.java" todir="${red5.client.dir}/src/org/red5/client/net/rtmpt" overwrite="true" force="true" />
+		<subant target="dist">
+			<fileset dir="${red5.client.dir}" includes="build.xml" />
+		</subant>
+		<echo message="Red5 Client build" />
+	</target>
+
+	<!-- Check for the Top level libraries -->
+	<target name="-retrieve-mainlibs" unless="mainlib.installed" description="Retrieves the libraries if needed" depends="-retrieve-red5">
+		<!-- Ivy configuration - http://ant.apache.org/ivy/history/trunk/ant.html -->
+		<antcall target="-retrieve" inheritAll="true" inheritRefs="true">
+			<param name="ivy.conf.name" value="mainlib" />
+			<param name="ivy.lib.location" value="${mainlibs.lib.dir}" />
+		</antcall>
+		<antcall target="-retrieve" inheritAll="true" inheritRefs="true">
+			<param name="ivy.conf.name" value="mainlib.ext" />
+			<param name="ivy.lib.location" value="${mainlibs.lib.dir}" />
+		</antcall>
+		<delete>
+			<fileset dir="${mainlibs.lib.dir}" includes="*-source*.jar" />
+			<fileset dir="${mainlibs.lib.dir}" includes="*-javadoc*.jar" />
+		</delete>
+	</target>
+	<!-- Check for the OM libraries -->
+	<target name="-retrieve-om" unless="om.installed" description="Retrieves the libraries if needed" depends="-availability-check">
+		<antcall target="-retrieve" inheritAll="true" inheritRefs="true">
+			<param name="ivy.conf.name" value="openmeetings" />
+			<param name="ivy.lib.location" value="${om.lib.dir}" />
+		</antcall>
+		<antcall target="-retrieve" inheritAll="true" inheritRefs="true">
+			<param name="ivy.conf.name" value="openmeetings.ext" />
+			<param name="ivy.lib.location" value="${om.lib.dir}" />
+		</antcall>
+		<antcall target="-retrieve" inheritAll="true" inheritRefs="true">
+			<param name="ivy.conf.name" value="openmeetings.axis2" />
+			<param name="ivy.lib.location" value="${om.lib.dir}" />
+			<param name="ivy.transitive" value="true" />
+		</antcall>
+		<delete>
+			<fileset dir="${om.lib.dir}" includes="commons-logging*.jar" />
+			<fileset dir="${om.lib.dir}" includes="commons-codec*.jar" />
+			<fileset dir="${om.lib.dir}" includes="commons-fileupload*.jar" />
+			<fileset dir="${om.lib.dir}" includes="commons-io*.jar" />
+			<fileset dir="${om.lib.dir}" includes="httpcore-jar*.jar" />
+			<fileset dir="${om.lib.dir}" includes="httpclient-jar*.jar" />
+			<fileset dir="${om.lib.dir}" includes="*-source*.jar" />
+			<fileset dir="${om.lib.dir}" includes="*-javadoc*.jar" />
+		</delete>
+	</target>
+	<!-- Check for the Anakia libraries -->
+	<target name="-retrieve-anakia" unless="anakia.installed" description="Retrieves the libraries if needed" depends="-retrieve-mainlibs">
+		<antcall target="-retrieve" inheritAll="true" inheritRefs="true">
+			<param name="ivy.conf.name" value="anakia" />
+			<param name="ivy.lib.location" value="${anakia.lib.dir}" />
+		</antcall>
+	</target>
+	<!-- Check for junit libraries -->
+	<target name="-retrieve-junit" unless="junit.installed" description="Retrieves the libraries if needed" depends="-availability-check">
+		<antcall target="-retrieve" inheritAll="true" inheritRefs="true">
+			<param name="ivy.conf.name" value="junit" />
+			<param name="ivy.lib.location" value="${junit.lib.dir}" />
+		</antcall>
+	</target>
+	<!-- Check for rat libraries -->
+	<target name="-retrieve-rat" unless="rat.installed" description="Retrieves the libraries if needed" depends="-availability-check">
+		<antcall target="-retrieve" inheritAll="true" inheritRefs="true">
+			<param name="ivy.conf.name" value="rat" />
+			<param name="ivy.lib.location" value="${rat.lib.dir}" />
+		</antcall>
+	</target>
+	<!-- Check for dtd-generator libraries -->
+	<target name="-retrieve-dtd-generator" unless="dtd-generator.installed" description="Retrieves the libraries if needed" depends="-availability-check">
+		<antcall target="-retrieve" inheritAll="true" inheritRefs="true">
+			<param name="ivy.conf.name" value="dtd" />
+			<param name="ivy.lib.location" value="${dtd-generator.lib.dir}" />
+		</antcall>
+	</target>
+	<!-- Check for svntask libraries -->
+	<target name="-retrieve-svntask" unless="svntask.installed" description="Retrieves the libraries if needed" depends="-availability-check">
+		<antcall target="-retrieve" inheritAll="true" inheritRefs="true">
+			<param name="ivy.conf.name" value="svntask" />
+			<param name="ivy.lib.location" value="${svntask.lib.dir}" />
+			<param name="ivy.transitive" value="true" />
+		</antcall>
+	</target>
+	<!-- Check for JDK 1.6 tools.jar libraries -->
+	<target name="-retrieve-tools.jar" unless="tools.jar.installed" description="Retrieves the libraries if needed">
+		<available file="${java.home}/Classes/classes.jar" type="file" property="tools.jar.path" value="${java.home}/Classes/classes.jar" />
+		<available file="${java.home}/../Classes/classes.jar" type="file" property="tools.jar.path" value="${java.home}/../Classes/classes.jar" />
+		<available file="${java.home}/lib/tools.jar" type="file" property="tools.jar.path" value="${java.home}/lib/tools.jar" />
+		<available file="${java.home}/../lib/tools.jar" type="file" property="tools.jar.path" value="${java.home}/../lib/tools.jar" />
+		<available file="${tools.jar.path}" type="file" property="tools.jar.installed" />
+
+		<copy file="${tools.jar.path}" tofile="${project.lib.dir}/java_16_tools.jar" />
+	</target>
+	<!-- Check for Openlaszlo -->
+	<target name="-extract-tgz" description="Extracts given tar into ${build.base.dir} folder">
+		<echo message="Going to extract ${dep.file} to the ${build.base.dir}" />
+		<untar src="${dep.file}" dest="${build.base.dir}" compression="gzip" />
+	</target>
+	<target name="-retrieve-openlaszlo" unless="laszlo.installed" description="Retrieves the libraries if needed" depends="-availability-check">
+		<antcall target="-retrieve" inheritAll="true" inheritRefs="true">
+			<param name="ivy.conf.name" value="openlaszlo" />
+			<param name="ivy.lib.location" value="${laszlo.home}" />
+		</antcall>
+	</target>
+	<!-- Check for Command line admin depandencies -->
+	<target name="-retrieve-cmdadmin" unless="cmdadmin.installed" description="Retrieves the libraries if needed" depends="-availability-check">
+		<antcall target="-retrieve" inheritAll="true" inheritRefs="true">
+			<param name="ivy.conf.name" value="cmdadmin" />
+			<param name="ivy.lib.location" value="${red5.lib}" />
+		</antcall>
+	</target>
+
+	<target name="-retrieve-db2" unless="db2.installed" description="Retrieves the libraries if needed" depends="-availability-check">
+		<!-- empty -->
+	</target>
+
+	<target name="-retrieve-derby" unless="derby.installed" description="Retrieves the libraries if needed" depends="-availability-check">
+		<!-- retrieved automatically, added for compatibility -->
+	</target>
+
+	<target name="-retrieve-mysql" unless="mysql.installed" description="Retrieves the libraries if needed" depends="-availability-check">
+		<antcall target="-retrieve" inheritAll="true" inheritRefs="true">
+			<param name="ivy.conf.name" value="mysql" />
+			<param name="ivy.lib.location" value="${om.lib.dir}" />
+		</antcall>
+	</target>
+
+	<target name="-retrieve-oracle" unless="oracle.installed" description="Retrieves the libraries if needed" depends="-availability-check">
+		<!-- empty -->
+	</target>
+
+	<target name="-retrieve-postgres" unless="postgres.installed" description="Retrieves the libraries if needed" depends="-availability-check">
+		<!-- retrieved automatically, added for compatibility -->
+	</target>
+
+	<target name="-process-db" description="performs DB related tasks based on passed DB type">
+		<echo message="db.provider == ${db}" />
+		<antcall target="-retrieve-${db}" inheritAll="true" inheritRefs="true" />
+		<copy file="src/META-INF/${db}_persistence.xml" tofile="src/META-INF/persistence.xml" overwrite="true" />
+	</target>
+
+	<!-- Clean targets -->
+	<!-- Remove classes directory for clean build -->
+	<target name="clean.classes" description="Clean Classes">
+		<delete includeemptydirs="true" dir="${main.out.dir}" />
+	</target>
+
+	<target name="clean.dist" description="Clean Dist dir">
+		<delete includeemptydirs="true" dir="${dist.dir}" />
+	</target>
+
+	<target name="clean" depends="clean.classes, clean.dist" description="Clean For Binary">
+		<delete includeemptydirs="true" dir="${junit.base.dir}" />
+		<delete file="${keystore.file}" />
+	</target>
+
+	<target name="clean.all" depends="clean.dist" description="Clean All">
+		<delete includeemptydirs="true" dir="${build.base.dir}" />
+	</target>
+	<target name="clean.ivy" depends="clean.all" description="Clears out the Ivy cache">
+		<ivy:cleancache />
+	</target>
+
+	<target name="prepare-eclipse" if="java6.installed" description="Layout various files necessary for development" depends="-java6.check">
+		<antcall target="-retrieve-mainlibs" inheritAll="true" inheritRefs="true" />
+		<antcall target="-retrieve-om" inheritAll="true" inheritRefs="true" />
+		<antcall target="-retrieve-junit" inheritAll="true" inheritRefs="true" />
+		<antcall target="-retrieve-dtd-generator" inheritAll="true" inheritRefs="true" />
+		<antcall target="-retrieve-tools.jar" inheritAll="true" inheritRefs="true" />
+		<antcall target="-retrieve-openlaszlo" inheritAll="true" inheritRefs="true" />
+		<antcall target="-retrieve-cmdadmin" inheritAll="true" inheritRefs="true" />
+		<antcall target="-process-db" inheritAll="true" inheritRefs="true" />
+	</target>
+</project>
diff --git a/docs/ApacheDerbyConfig.html b/docs/ApacheDerbyConfig.html
new file mode 100644
index 0000000..77efe14
--- /dev/null
+++ b/docs/ApacheDerbyConfig.html
@@ -0,0 +1,996 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			Apache OpenMeetings Documentation Team
+		">
+            <meta name="email" value="sebawagner@incubator.apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Apache Derby Configuration</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Apache Derby Configuration"><strong>Apache Derby Configuration</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				OpenMeetings default configuration is to use Apache Derby.

+			</p>
+                                                <p>

+				It is recommended for production environments and high

+				availibility to change to an usual relational database like MySQL,

+				Postgres or DB2.

+			</p>
+                                                <p>

+				For more information about Apache Derby see

+				<a href="http://db.apache.org/derby/">http://db.apache.org/derby/</a>

+			</p>
+                                                <p>

+				There is a sample configuration for Apache Derby that ships with

+				every release in:

+				<br />

+				/webapps/openmeetings/WEB-INF/classes/META-INF/derby_persistence.xml

+			</p>
+                                                <p>

+				If you encounter issues, you can drop the db again and delete the

+				file /webapps/openmeetings/conf/install.xml and then run the web

+				based installer again

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/ApiClassesTemplate.vm b/docs/ApiClassesTemplate.vm
new file mode 100644
index 0000000..41a7fdc
--- /dev/null
+++ b/docs/ApiClassesTemplate.vm
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

+<!--

+Copyright 1999-2004 The Apache Software Foundation

+Licensed under the Apache License, Version 2.0 (the "License");

+you may not use this file except in compliance with the License.

+You may obtain a copy of the License at

+

+http://www.apache.org/licenses/LICENSE-2.0

+

+Unless required by applicable law or agreed to in writing, software

+distributed under the License is distributed on an "AS IS" BASIS,

+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+See the License for the specific language governing permissions and

+limitations under the License.

+-->

+

+    <!-- ====================================================================== -->

+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE TEMPLATE INSTEAD! -->

+    <!-- Main Page Section -->

+    <!-- ====================================================================== -->

+    

+     <html>

+        <head>

+		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>

+		<meta name="author" value="OpenMeetings Team">

+		<meta name="email" value="sebawagner@apache.org">

+		<title>OpenMeetings API Classes</title>

+		<link rel="stylesheet" type="text/css" href="openmeetings_docs.css">

+        </head>

+	<body>

+		#set( $foo = ".html" )

+	

+       <div class="navigation">

+	   #foreach ( $class in $classes )

+            <div>

+            <a href="$class.get("name")$foo" target="_PARENT"><b>$class.get("name")</b></a><br/>

+            <div class="navigation_comment"><i >$class.get("comment")</i></div>

+            </div>

+        #end

+        </div>

+	

+	

+	</body>

+	</html>
\ No newline at end of file
diff --git a/docs/ApiMethodsTemplate.vm b/docs/ApiMethodsTemplate.vm
new file mode 100644
index 0000000..df6a202
--- /dev/null
+++ b/docs/ApiMethodsTemplate.vm
@@ -0,0 +1,146 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

+<!--

+Copyright 1999-2004 The Apache Software Foundation

+Licensed under the Apache License, Version 2.0 (the "License");

+you may not use this file except in compliance with the License.

+You may obtain a copy of the License at

+

+http://www.apache.org/licenses/LICENSE-2.0

+

+Unless required by applicable law or agreed to in writing, software

+distributed under the License is distributed on an "AS IS" BASIS,

+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+See the License for the specific language governing permissions and

+limitations under the License.

+-->

+

+    <!-- ====================================================================== -->

+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE TEMPLATE INSTEAD! -->

+    <!-- Main Page Section -->

+    <!-- ====================================================================== -->

+    

+     <html>

+        <head>

+		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>

+		<meta name="author" value="OpenMeetings Team">

+		<meta name="email" value="sebawagner@apache.org">

+		<title>OpenMeetings API Methods</title>

+		<link rel="stylesheet" type="text/css" href="openmeetings_docs.css">

+        </head>

+	<body>

+	

+		<h3>Available WebServices:</h3>

+	

+		<iframe src="WebserviceIndex.html" width="100%" height="180" name="WebserviceIndex.html"

+			scrolling="no" marginheight="0" marginwidth="0" frameborder="0">

+		  <p>Your Browser does not support frames ...</p>

+		</iframe>

+		

+		<hr />

+	

+	   <h3>WebService: $webServiceName</h3>

+	   <p>$classComment<p>

+	   <p>WSDL sample Url: <a href="http://localhost:5080/openmeetings/services/$webServiceName?wsdl">http://localhost:5080/openmeetings/services/$webServiceName?wsdl</a><p>

+	

+	<!-- Links to Methods -->

+	   <h3>Index of Methods available in $webServiceName</h3>

+	   

+       <div class="navigation">

+	   #foreach ( $method in $methods )

+            #if ($method.isPublic()) 

+                <div>

+                <a href="#$method.name()"><b>$method.name()</b></a><br/>

+                <div class="navigation_comment"><i >$method.commentText()</i></div>

+                </div>

+           #end

+        #end

+        </div>

+	   

+	    <h3>Methods Details in $webServiceName</h3>

+	

+		#foreach ( $method in $methods )

+		    #if ($method.isPublic()) 

+		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="$method.name()" ><b>$method.name()</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>$method.name() (

+    			#set ($index = 0) 

+    			#foreach ( $parameter in $method.parameters() )

+    			   #if ($index > 0) 

+    			     , 

+    			   #end

+    			   $parameter.type().simpleTypeName() $parameter.name()

+    			   #set ($index = $index+1) 

+    			#end

+    			)

+    			</i><br/>

+    			<p>

+    			  $method.commentText()

+    			</p>

+    			<p>

+                  Return Type: $method.returnType()

+                </p>

+    			<p>Params:</p>

+    			#if ( $method.paramTags().size() != $method.parameters().size() ) 

+    				<b>Warning:</b><i> Params in this method do not seem to be correctly documentated</i>

+    				<br/><br/>

+    			#end

+    			

+    			#if ($method.paramTags().size() > 0) 

+	    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   #set ($index = 0) 

+	    			   #foreach ( $parameter in $method.paramTags() )

+	    			   <tr>

+	                     <td valign="top">

+	                     	#if ($method.parameters().size() <= $index) 

+	                     		$index Doclet Param Mismatch: fix JavaDocs in this Method!

+	                     	#else

+	                     		$method.parameters().get($index).type().simpleTypeName()

+	                     	#end 

+	                     </td>

+	                     <td valign="top">$parameter.parameterName()</td>

+	                     <td valign="top">$parameter.parameterComment()</td>

+	                   </tr>

+	                   

+	                   #set ($index = $index+1) 

+	                   #end

+	                   </tbody>

+	    			</table>

+    			#else

+    				<i>No Params</i>

+    			#end

+    			<br/>

+    			REST Sample Call/URL:<br/>

+    			#set ($link = "http://localhost:5080/openmeetings/services/"+$webServiceName+"/"+$method.name()) 

+    			#set ($index = 0)

+    			#foreach ( $parameter in $method.parameters() )

+    				#if ($index == 0)

+    					#set ($link = $link+"?") 

+    				#else

+    					#set ($link = $link+"&") 

+    				#end

+    				#set ($link = $link + $parameter.name()+"=VALUE") 

+    				#set ($index = $index+1)

+				#end

+				<a href="$link">$link</a>

+    			</a>

+    		  </div>

+    	   #end

+		#end

+	

+	

+	</body>

+</html>

+

diff --git a/docs/BrandingAndColors.html b/docs/BrandingAndColors.html
new file mode 100644
index 0000000..347acf9
--- /dev/null
+++ b/docs/BrandingAndColors.html
@@ -0,0 +1,1053 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Branding and Colors</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Editing Logo / Text on top"><strong>Editing Logo / Text on top</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>In the config.xml there are some configuration variables

+			</p>
+                                                <div class="xmlcode">

+				&lt;!--

+				<br />

+				Name of the Application

+				<br />

+				this is the Top-Icon Name of the Application

+				<br />

+				--&gt;

+				<br />

+				&lt;currentappname&gt;OpenMeetings 1.9.x

+				r4343&lt;/currentappname&gt;

+				<br />

+				&lt;!--

+				<br />

+				URL to the Home of the Application

+				<br />

+				this is the URL which is used if you click on the Top-icon

+				<br />

+				--&gt;

+				<br />

+				&lt;currentappnameurl&gt;http://incubator.apache.org/openmeetings/&lt;/currentappnameurl&gt;

+				<br />

+				&lt;!--

+				<br />

+				URL to Bugs/Support

+				<br />

+				this is the URL which is used if you click on *report a bug*

+				<br />

+				--&gt;

+				<br />

+				&lt;currentappnamebugurl&gt;http://incubator.apache.org/openmeetings/&lt;/currentappnamebugurl&gt;

+			</div>
+                                                <p>Addtionally the browser-bar title can be configured in the

+				Openmeetings &gt; Administration &gt; Configuration.

+			</p>
+                                                <p>

+				Config Key:

+				<tt>application.name</tt>

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Editing Colors"><strong>Editing Colors</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				<i>

+					With Version 2.x color and more layout specific configuration moved

+					to the theme configuration, see

+					<a href="themes-and-branding.html">themes-and-branding.html</a>

+				</i>

+			</p>
+                                                <p>To change the color scheme you can simply edit the config.xml,

+				there are 3 color settings, the whole application is styled using

+				those:

+			</p>
+                                                <div class="xmlcode">

+				&lt;!--

+				<br />

+				These colors are the main colors and style the whole application

+				<br />

+				--&gt;

+				<br />

+				&lt;basebgcolorizer&gt;0x669AE6&lt;/basebgcolorizer&gt;

+				<br />

+				&lt;baseMousecolorizer&gt;0x7BA8EA&lt;/baseMousecolorizer&gt;

+				<br />

+				&lt;baseMouseOvercolorizer&gt;0x99BBEE&lt;/baseMouseOvercolorizer&gt;

+				<br />

+			</div>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/BuildInstructions.html b/docs/BuildInstructions.html
new file mode 100644
index 0000000..cb47b33
--- /dev/null
+++ b/docs/BuildInstructions.html
@@ -0,0 +1,1309 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Upgrade</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Nightly Builds"><strong>Nightly Builds</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				You can find Nightly Builds of the software at:

+				<a href="https://builds.apache.org/job/openmeetings/" rel="nofollow" target="_BLANK">

+					https://builds.apache.org/job/openmeetings/

+				</a>

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="How to Build a Distribution"><strong>How to Build a Distribution</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>Get the source: </p>
+                                                <div class="xmlcode">

+				svn checkout

+				https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/

+			</div>
+                                                <p>Run the command: </p>
+                                                <div class="xmlcode">

+				ant

+			</div>
+                                                <p>There is no need to compile the client additionally! The ant task

+				does it all! You will find a directory dist that contains

+				OpenMeetings and a red5-server.

+			</p>
+                                                <p>To compile the client you can also use ant: </p>
+                                                <div class="xmlcode">

+				ant

+				<span style="margin-left: 200px;"># compiles a complete package into the folder dist

+				</span>

+				<br />

+				ant compile.laszlo.main

+				<span style="margin-left: 70px;"># compiles the client into main.as3.swf10.swf and main.swf8.swf</span>

+				<br />

+				ant compile.laszlo.main.debug

+				<span style="margin-left: 30px;"># compiles the debug-client into maindebug.as3.swf10.swf andmaindebug.swf8.swf

+				</span>

+				<br />

+				ant -Ddb=&lt;name of DB&gt;

+				<span style="margin-left: 50px;"># will copy &lt;name of DB&gt;_persistense.xml to

+					persistense.xml

+				</span>

+				<br />

+				<span style="margin-left: 230px;">#(for ex. ant -Ddb=mysql will set mysql as default

+					DB)

+				</span>

+			</div>
+                                                <p>To compile just the openmeetings JAR file: </p>
+                                                <div class="xmlcode">

+				ant jar.only

+			</div>
+                                                <p>

+				To run Junit tests using ANT see

+				<a href="JUnitTesting.html">JUnitTesting</a>

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Run, Develop, Test"><strong>Run, Develop, Test</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				To develop or build OpenMeetings you checkout the source as Eclipse

+				project. You need the Subclipse or Subversive Plugin for Eclipse. If

+				you just need to change 3 lines of code then your probably better

+				switch to

+				<a href="#How_to_build_a_distribution" rel="nofollow">How to build a

+					distribution

+				</a>

+				.

+			</p>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Step1 - Get required Software"><strong>Step1 - Get required Software</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>To develop OpenMeetings you need at least: </p>
+                                                <ul>

+					<li>Eclipse in a up to date copy and Sun JDK6 </li>

+					<li>Apache ANT (minimum) 1.8.3</li>

+					<li>

+						Subclipse 1.8 (Subversion 1.7 required!)

+						<a href="http://subclipse.tigris.org/" target="_BLANK" rel="nofollow">http://subclipse.tigris.org/

+						</a>

+					</li>

+					<li>

+						SVN Command line client (Subversion 1.7 required!)

+						<a href="http://subversion.apache.org/packages.html" target="_BLANK" rel="nofollow">http://subversion.apache.org/packages.html</a>

+					</li>

+					<li>Spring IDE for Eclipse (installable via Help &gt; Eclipse

+						Marketplace)

+					</li>

+					<li>

+						Apache IvyDE™ For Eclipse (installable via Help &gt; Install New Software)

+						URL: http://www.apache.org/dist/ant/ivyde/updatesite detailed steps can be found here:

+						<a href="http://ant.apache.org/ivy/ivyde/download.cgi" target="_BLANK" rel="nofollow">http://ant.apache.org/ivy/ivyde/download.cgi</a>

+					</li>

+					<li>MySQL (or Postgres, or other Databases supported by Hibernate)

+						are optionally but handy to have them

+					</li>

+				</ul>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Step2 - Download the Source"><strong>Step2 - Download the Source</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>Advanced Users: Check out the Code from the Repository as a

+					Java

+					project into Eclipse.

+				</p>
+                                                <p>

+					URL:

+					<a href="https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/">

+						https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/

+					</a>

+				</p>
+                                                <p>To download the required JARs for building and developing

+					OpenMeetings you need to run the ANT comand:

+				</p>
+                                                <div class="xmlcode">

+					ant -Ddb=&lt;your_DB&gt; prepare-eclipse

+				</div>
+                                                <p>After the ANT command you need to press F5 and rebuild the

+					project from inside Eclipse

+				</p>
+                                                <p>Step-By-Step: </p>
+                                                <p>1) Start Eclipse </p>
+                                                <p>

+					2) Change Perspective to SVN Repository Exploring:

+					<br />

+					<br />

+					<a class="fancybox-buttons" data-fancybox-group="button" href="images/checkout_1.png">

+						<img src="images/checkout_1.png" alt="" width="400" height="289" />

+					</a>

+

+				</p>
+                                                <p>

+					3) Select SVN Repository Exploring and click ok.

+					<br />

+					<br />

+					<a class="fancybox-buttons" data-fancybox-group="button" href="images/checkout_2.png">

+						<img src="images/checkout_2.png" alt="" width="304" height="417" />

+					</a>

+				</p>
+                                                <p>

+					4) A new Dialog in Eclipse opens

+					<strong>SVN Repositories</strong>

+					<br />

+					<br />

+					<a class="fancybox-buttons" data-fancybox-group="button" href="images/checkout_3.png">

+						<img src="images/checkout_3.png" alt="" width="460" height="102" />

+					</a>

+				</p>
+                                                <p>

+					5) Click on the icon with the plus in the top right corner in the

+					SVN Repository Dialog

+					<br />

+					<br />

+					<a class="fancybox-buttons" data-fancybox-group="button" href="images/checkout_4.png">

+						<img src="images/checkout_4.png" alt="" width="57" height="38" />

+					</a>

+				</p>
+                                                <p>

+					6) Add the URL

+					<a href="https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/" rel="nofollow">https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/

+					</a>

+					and click Finish

+					<br />

+					<br />

+					<a class="fancybox-buttons" data-fancybox-group="button" href="images/checkout_5.png">

+						<img src="images/checkout_5.png" alt="" width="455" height="272" />

+					</a>

+				</p>
+                                                <p>

+					7) After download is complete you see a new Source Repository in

+					the Repository Explorer. Right click on it and choose

+					<strong>checkout</strong>

+					<br />

+					<br />

+					<a class="fancybox-buttons" data-fancybox-group="button" href="images/checkout_6.png">

+						<img src="images/checkout_6.png" alt="" width="340" height="135" />

+					</a>

+				</p>
+                                                <p>

+					8) In the Dialog the opens now just click next

+					<br />

+					<br />

+					<a class="fancybox-buttons" data-fancybox-group="button" href="images/checkout_7.png">

+						<img src="images/checkout_7.png" alt="" width="390" height="338" />

+					</a>

+				</p>
+                                                <p>

+					9) In the next Dialog just click Finish, Eclipse will then download

+					the sources

+					<br />

+					<br />

+					<a class="fancybox-buttons" data-fancybox-group="button" href="images/checkout_8.png">

+						<img src="images/checkout_8.png" alt="" width="390" height="338" />

+					</a>

+				</p>
+                                                <p>

+					10) After the download is complete you will see a new Project in

+					the Package Explorer Dialog of Eclipse

+					<br />

+					<br />

+					<a class="fancybox-buttons" data-fancybox-group="button" href="images/checkout_9.png">

+						<img src="images/checkout_9.png" alt="" width="310" height="297" />

+					</a>

+				</p>
+                                                <p>

+					11) Please run

+					<div class="xmlcode">

+						ant prepare-eclipse

+					</div>

+					to download all necessary jar files, and perform source

+					<tt>Refresh</tt>

+					to resolve all compilation issues.

+				</p>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Step3 - Deploy and Run"><strong>Step3 - Deploy and Run</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+					see the first chapter about the ANT tasks to compile the code. You

+					will find a directory called

+					<strong>dist</strong>

+					which contains a regular openmeetings including red5. You can then

+					use the usual process like described at

+					<a href="installation.html">installation</a>

+					to run the code then.

+				</p>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Links"><strong>Links</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <ul>

+				<li>

+					Getting Started with OpenLaszlo, checkout

+					<a href="http://www.openlaszlo.org/lps4.2/laszlo-explorer/index.jsp?lzr=swf8" target="_BLANK" rel="nofollow">Laszlo-in-10-Minutes</a>

+					and the

+					<a href="http://www.openlaszlo.org/lps4.2/docs/" target="_BLANK" rel="nofollow">Application

+						Developer's Guide

+					</a>

+					or try the

+					<a href="http://www.openlaszlo.org/getstarted" target="_BLANK" rel="nofollow">ScreenCast</a>

+				</li>

+				<li>

+					<a href="http://incubator.apache.org/openmeetings/svn.html">

+						browse SVN source

+					</a>

+				</li>

+			</ul>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Tipps and Gotchas"><strong>Tipps and Gotchas</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>When you want to develop only client side there are handy ANT

+				tasks so that you only rebuild the SWFs, same for the Java side.

+			</p>
+                                                <p>

+				It

+				also takes much less time if you do use MySQL as database then

+				rebuilding the software and waiting for Apache Derby to set up the

+				database everytime you did rebuild.

+			</p>
+                                                <p>

+				<b>Working behind a proxy:</b>

+				If you are sitting behind a proxy you should add some proxy settings

+				before starting the build process.

+				<br />

+				For Apache Ivy see:

+				<a href="http://ant.apache.org/ivy/faq.html" target="_BLANK" rel="nofollow">http://ant.apache.org/ivy/faq.html

+				</a>

+				<br />

+				For SVN Command Line Client (From CollabNet 1.7) see:

+				<a href="https://ctf6latest.collab.net/internal-help/index.jsp?topic=/teamforge610/faq/client_proxy_settings.html" target="_BLANK" rel="nofollow">https://ctf6latest.collab.net/internal-help/index.jsp?topic=/teamforge610/faq/client_proxy_settings.html

+				</a>

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/CalendarAndTimezone.html b/docs/CalendarAndTimezone.html
new file mode 100644
index 0000000..4d4a3a3
--- /dev/null
+++ b/docs/CalendarAndTimezone.html
@@ -0,0 +1,1050 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Changing the Calendar and Timezone default</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Changing the Calendar and Timezone default"><strong>Changing the Calendar and Timezone default</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				In general the timezone is configured in the user profile of each

+				user, so changing the server timezone has no effect how to the users

+				calendar for example.

+				<br />

+				<br />

+				However there are some circumstances where there is no user profile

+				available.

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Changing servers default timzeone for Emails and Invitations (display)"><strong>Changing servers default timzeone for Emails and Invitations (display)</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				Goto Administration &gt; Configuration and change the config-key:

+				<tt>default.timezone</tt>

+			</p>
+                                                <p>Valid timezone have to meet standards! </p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Changing first day in week for calendar from Sunday to Monday"><strong>Changing first day in week for calendar from Sunday to Monday</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>in the config.xml change the key: </p>
+                                                <div class="xmlcode">

+				&lt;!--

+				<br />

+				First day in the Week used by the Calendar

+				<br />

+				0 means Sunday

+				<br />

+				1 means Monday

+				<br />

+				this is the way how the Celendar inits a week

+				<br />

+				--&gt;

+				<br />

+				&lt;firstdayinweek&gt;0&lt;/firstdayinweek&gt;

+				<br />

+			</div>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Changing the default number of max participants of a conference room created via calendar"><strong>Changing the default number of max participants of a conference room created via calendar</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>Goto

+				Administration &gt; Configuration and change the config-key:

+				<tt>calendar.conference.rooms.default.size</tt>

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/CalendarService.html b/docs/CalendarService.html
new file mode 100644
index 0000000..024cbfd
--- /dev/null
+++ b/docs/CalendarService.html
@@ -0,0 +1,1256 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

+<!--

+Copyright 1999-2004 The Apache Software Foundation

+Licensed under the Apache License, Version 2.0 (the "License");

+you may not use this file except in compliance with the License.

+You may obtain a copy of the License at

+

+http://www.apache.org/licenses/LICENSE-2.0

+

+Unless required by applicable law or agreed to in writing, software

+distributed under the License is distributed on an "AS IS" BASIS,

+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+See the License for the specific language governing permissions and

+limitations under the License.

+-->

+

+    <!-- ====================================================================== -->

+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE TEMPLATE INSTEAD! -->

+    <!-- Main Page Section -->

+    <!-- ====================================================================== -->

+    

+     <html>

+        <head>

+		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>

+		<meta name="author" value="OpenMeetings Team">

+		<meta name="email" value="sebawagner@apache.org">

+		<title>OpenMeetings API Methods</title>

+		<link rel="stylesheet" type="text/css" href="openmeetings_docs.css">

+        </head>

+	<body>

+	

+		<h3>Available WebServices:</h3>

+	

+		<iframe src="WebserviceIndex.html" width="100%" height="180" name="WebserviceIndex.html"

+			scrolling="no" marginheight="0" marginwidth="0" frameborder="0">

+		  <p>Your Browser does not support frames ...</p>

+		</iframe>

+		

+		<hr />

+	

+	   <h3>WebService: CalendarService</h3>

+	   <p>CalendarService contains methods to create, edit delete calendar meetings<p>

+	   <p>WSDL sample Url: <a href="http://localhost:5080/openmeetings/services/CalendarService?wsdl">http://localhost:5080/openmeetings/services/CalendarService?wsdl</a><p>

+	

+	<!-- Links to Methods -->

+	   <h3>Index of Methods available in CalendarService</h3>

+	   

+       <div class="navigation">

+	                               <div>

+                <a href="#getAppointmentByRange"><b>getAppointmentByRange</b></a><br/>

+                <div class="navigation_comment"><i >Load appointments by a start / end range for the current SID</i></div>

+                </div>

+                                               <div>

+                <a href="#getAppointmentByRangeForUserId"><b>getAppointmentByRangeForUserId</b></a><br/>

+                <div class="navigation_comment"><i >Load appointments by a start / end range for the userId</i></div>

+                </div>

+                                               <div>

+                <a href="#getNextAppointment"><b>getNextAppointment</b></a><br/>

+                <div class="navigation_comment"><i >Get the next Calendar event for the current user of the SID</i></div>

+                </div>

+                                               <div>

+                <a href="#getNextAppointmentForUserId"><b>getNextAppointmentForUserId</b></a><br/>

+                <div class="navigation_comment"><i >Get the next Calendar event for userId</i></div>

+                </div>

+                                               <div>

+                <a href="#searchAppointmentByName"><b>searchAppointmentByName</b></a><br/>

+                <div class="navigation_comment"><i >Search a calendar event for the current SID</i></div>

+                </div>

+                                               <div>

+                <a href="#saveAppointment"><b>saveAppointment</b></a><br/>

+                <div class="navigation_comment"><i >Save an appointment</i></div>

+                </div>

+                                               <div>

+                <a href="#updateAppointmentTimeOnly"><b>updateAppointmentTimeOnly</b></a><br/>

+                <div class="navigation_comment"><i >Update an calendar event time only</i></div>

+                </div>

+                                               <div>

+                <a href="#updateAppointment"><b>updateAppointment</b></a><br/>

+                <div class="navigation_comment"><i >Save an appointment</i></div>

+                </div>

+                                               <div>

+                <a href="#deleteAppointment"><b>deleteAppointment</b></a><br/>

+                <div class="navigation_comment"><i >delete a calendar event
+ 
+ If the given SID is from an Administrator or Web-Service user, the user
+ can delete any appointment.<br/>
+ If the SID is assigned to a simple user, he can only delete appointments
+ where he is also the owner/creator of the appointment</i></div>

+                </div>

+                                               <div>

+                <a href="#getAppointmentByRoomId"><b>getAppointmentByRoomId</b></a><br/>

+                <div class="navigation_comment"><i >Load a calendar event by its room id</i></div>

+                </div>

+                                               <div>

+                <a href="#getAppointmentCategoryList"><b>getAppointmentCategoryList</b></a><br/>

+                <div class="navigation_comment"><i >Get all categories of calendar events</i></div>

+                </div>

+                                               <div>

+                <a href="#getAppointmentReminderTypList"><b>getAppointmentReminderTypList</b></a><br/>

+                <div class="navigation_comment"><i >Get all reminder types for calendar events</i></div>

+                </div>

+                                               <div>

+                <a href="#getAppointmentsByWeekCalendar"><b>getAppointmentsByWeekCalendar</b></a><br/>

+                <div class="navigation_comment"><i >Get the appointments (calendar events) for the given requestUserId <br/>
+ The TimeZone can be either given by the Id of the timezone in the table
+ "om_timezone" with the param timeZoneIdA <br/>
+ Or with the java name of the TimeZone in the param javaTimeZoneName</i></div>

+                </div>

+                           </div>

+	   

+	    <h3>Methods Details in CalendarService</h3>

+	

+				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getAppointmentByRange" ><b>getAppointmentByRange</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getAppointmentByRange (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Date starttime

+    			       			    			       			     , 

+    			       			   Date endtime

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Load appointments by a start / end range for the current SID

+    			</p>

+    			<p>

+                  Return Type: java.util.List

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Date

+	                     		                     </td>

+	                     <td valign="top">starttime</td>

+	                     <td valign="top">start time, yyyy-mm-dd</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Date

+	                     		                     </td>

+	                     <td valign="top">endtime</td>

+	                     <td valign="top">end time, yyyy-mm-dd</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/getAppointmentByRange?SID=VALUE&starttime=VALUE&endtime=VALUE">http://localhost:5080/openmeetings/services/CalendarService/getAppointmentByRange?SID=VALUE&starttime=VALUE&endtime=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getAppointmentByRangeForUserId" ><b>getAppointmentByRangeForUserId</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getAppointmentByRangeForUserId (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   long userId

+    			       			    			       			     , 

+    			       			   Date starttime

+    			       			    			       			     , 

+    			       			   Date endtime

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Load appointments by a start / end range for the userId

+    			</p>

+    			<p>

+                  Return Type: java.util.List

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		long

+	                     		                     </td>

+	                     <td valign="top">userId</td>

+	                     <td valign="top">the userId the calendar events should be loaded</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Date

+	                     		                     </td>

+	                     <td valign="top">starttime</td>

+	                     <td valign="top">start time, yyyy-mm-dd</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Date

+	                     		                     </td>

+	                     <td valign="top">endtime</td>

+	                     <td valign="top">end time, yyyy-mm-dd</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/getAppointmentByRangeForUserId?SID=VALUE&userId=VALUE&starttime=VALUE&endtime=VALUE">http://localhost:5080/openmeetings/services/CalendarService/getAppointmentByRangeForUserId?SID=VALUE&userId=VALUE&starttime=VALUE&endtime=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getNextAppointment" ><b>getNextAppointment</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getNextAppointment (

+    			    			    			       			   String SID

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Get the next Calendar event for the current user of the SID

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.app.persistence.beans.calendar.Appointment

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/getNextAppointment?SID=VALUE">http://localhost:5080/openmeetings/services/CalendarService/getNextAppointment?SID=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getNextAppointmentForUserId" ><b>getNextAppointmentForUserId</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getNextAppointmentForUserId (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   long userId

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Get the next Calendar event for userId

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.app.persistence.beans.calendar.Appointment

+                </p>

+    			<p>Params:</p>

+    			    				<b>Warning:</b><i> Params in this method do not seem to be correctly documentated</i>

+    				<br/><br/>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/getNextAppointmentForUserId?SID=VALUE&userId=VALUE">http://localhost:5080/openmeetings/services/CalendarService/getNextAppointmentForUserId?SID=VALUE&userId=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="searchAppointmentByName" ><b>searchAppointmentByName</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>searchAppointmentByName (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String appointmentName

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Search a calendar event for the current SID

+    			</p>

+    			<p>

+                  Return Type: java.util.List

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">appointmentName</td>

+	                     <td valign="top">the search string</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/searchAppointmentByName?SID=VALUE&appointmentName=VALUE">http://localhost:5080/openmeetings/services/CalendarService/searchAppointmentByName?SID=VALUE&appointmentName=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="saveAppointment" ><b>saveAppointment</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>saveAppointment (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String appointmentName

+    			       			    			       			     , 

+    			       			   String appointmentLocation

+    			       			    			       			     , 

+    			       			   String appointmentDescription

+    			       			    			       			     , 

+    			       			   Calendar appointmentstart

+    			       			    			       			     , 

+    			       			   Calendar appointmentend

+    			       			    			       			     , 

+    			       			   Boolean isDaily

+    			       			    			       			     , 

+    			       			   Boolean isWeekly

+    			       			    			       			     , 

+    			       			   Boolean isMonthly

+    			       			    			       			     , 

+    			       			   Boolean isYearly

+    			       			    			       			     , 

+    			       			   Long categoryId

+    			       			    			       			     , 

+    			       			   Long remind

+    			       			    			       			     , 

+    			       			   String mmClient

+    			       			    			       			     , 

+    			       			   Long roomType

+    			       			    			       			     , 

+    			       			   String baseUrl

+    			       			    			       			     , 

+    			       			   Long languageId

+    			       			    			       			     , 

+    			       			   Boolean isPasswordProtected

+    			       			    			       			     , 

+    			       			   String password

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Save an appointment

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">appointmentName</td>

+	                     <td valign="top">name of the calendar event</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">appointmentLocation</td>

+	                     <td valign="top">location info text of the calendar event</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">appointmentDescription</td>

+	                     <td valign="top">description test of the calendar event</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Calendar

+	                     		                     </td>

+	                     <td valign="top">appointmentstart</td>

+	                     <td valign="top">start as Date yyyy-mm-ddThh:mm:ss</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Calendar

+	                     		                     </td>

+	                     <td valign="top">appointmentend</td>

+	                     <td valign="top">end as Date yyyy-mm-ddThh:mm:ss</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isDaily</td>

+	                     <td valign="top">if the calendar event should be repeated daily (not
+            implemented)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isWeekly</td>

+	                     <td valign="top">if the calendar event should be repeated weekly (not
+            implemented)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isMonthly</td>

+	                     <td valign="top">if the calendar event should be repeated monthly (not
+            implemented)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isYearly</td>

+	                     <td valign="top">if the calendar event should be repeated yearly (not
+            implemented)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">categoryId</td>

+	                     <td valign="top">the category id of the calendar event</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">remind</td>

+	                     <td valign="top">the reminder type of the calendar event</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">mmClient</td>

+	                     <td valign="top">List of clients, comma separated string, <br/>
+            sample: 1,firstname,lastname,hans.tier@gmail.com,1,Etc/GMT+1
+            to add multiple clients you can use the same GET parameter in
+            the URL multiple times, for example:
+            &mmClient=1,firstname,lastname,hans
+            .tier@gmail.com,1,Etc/GMT+1&mmClient
+            =2,firstname,lastname,hans.tier@gmail.com,1,Etc/GMT+1</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">roomType</td>

+	                     <td valign="top">the room type for the calendar event</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">baseUrl</td>

+	                     <td valign="top">the base URL for the invitations</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">languageId</td>

+	                     <td valign="top">the language id of the calendar event, notification emails
+            will be send in this language</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isPasswordProtected</td>

+	                     <td valign="top">if the room is password protected</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">password</td>

+	                     <td valign="top">the password for the room</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/saveAppointment?SID=VALUE&appointmentName=VALUE&appointmentLocation=VALUE&appointmentDescription=VALUE&appointmentstart=VALUE&appointmentend=VALUE&isDaily=VALUE&isWeekly=VALUE&isMonthly=VALUE&isYearly=VALUE&categoryId=VALUE&remind=VALUE&mmClient=VALUE&roomType=VALUE&baseUrl=VALUE&languageId=VALUE&isPasswordProtected=VALUE&password=VALUE">http://localhost:5080/openmeetings/services/CalendarService/saveAppointment?SID=VALUE&appointmentName=VALUE&appointmentLocation=VALUE&appointmentDescription=VALUE&appointmentstart=VALUE&appointmentend=VALUE&isDaily=VALUE&isWeekly=VALUE&isMonthly=VALUE&isYearly=VALUE&categoryId=VALUE&remind=VALUE&mmClient=VALUE&roomType=VALUE&baseUrl=VALUE&languageId=VALUE&isPasswordProtected=VALUE&password=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="updateAppointmentTimeOnly" ><b>updateAppointmentTimeOnly</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>updateAppointmentTimeOnly (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long appointmentId

+    			       			    			       			     , 

+    			       			   Date appointmentstart

+    			       			    			       			     , 

+    			       			   Date appointmentend

+    			       			    			       			     , 

+    			       			   String baseurl

+    			       			    			       			     , 

+    			       			   Long languageId

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Update an calendar event time only

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">appointmentId</td>

+	                     <td valign="top">the calendar event that should be updated</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Date

+	                     		                     </td>

+	                     <td valign="top">appointmentstart</td>

+	                     <td valign="top">start yyyy-mm-dd</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Date

+	                     		                     </td>

+	                     <td valign="top">appointmentend</td>

+	                     <td valign="top">end yyyy-mm-dd</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">baseurl</td>

+	                     <td valign="top">the base URL for the invitations that will be send by email</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">languageId</td>

+	                     <td valign="top">the language id</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/updateAppointmentTimeOnly?SID=VALUE&appointmentId=VALUE&appointmentstart=VALUE&appointmentend=VALUE&baseurl=VALUE&languageId=VALUE">http://localhost:5080/openmeetings/services/CalendarService/updateAppointmentTimeOnly?SID=VALUE&appointmentId=VALUE&appointmentstart=VALUE&appointmentend=VALUE&baseurl=VALUE&languageId=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="updateAppointment" ><b>updateAppointment</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>updateAppointment (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long appointmentId

+    			       			    			       			     , 

+    			       			   String appointmentName

+    			       			    			       			     , 

+    			       			   String appointmentLocation

+    			       			    			       			     , 

+    			       			   String appointmentDescription

+    			       			    			       			     , 

+    			       			   Calendar appointmentstart

+    			       			    			       			     , 

+    			       			   Calendar appointmentend

+    			       			    			       			     , 

+    			       			   Boolean isDaily

+    			       			    			       			     , 

+    			       			   Boolean isWeekly

+    			       			    			       			     , 

+    			       			   Boolean isMonthly

+    			       			    			       			     , 

+    			       			   Boolean isYearly

+    			       			    			       			     , 

+    			       			   Long categoryId

+    			       			    			       			     , 

+    			       			   Long remind

+    			       			    			       			     , 

+    			       			   String mmClient

+    			       			    			       			     , 

+    			       			   Long roomType

+    			       			    			       			     , 

+    			       			   String baseurl

+    			       			    			       			     , 

+    			       			   Long languageId

+    			       			    			       			     , 

+    			       			   Boolean isPasswordProtected

+    			       			    			       			     , 

+    			       			   String password

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Save an appointment

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">appointmentId</td>

+	                     <td valign="top">the id to update</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">appointmentName</td>

+	                     <td valign="top">name of the calendar event</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">appointmentLocation</td>

+	                     <td valign="top">location info text of the calendar event</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">appointmentDescription</td>

+	                     <td valign="top">description test of the calendar event</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Calendar

+	                     		                     </td>

+	                     <td valign="top">appointmentstart</td>

+	                     <td valign="top">start as Date yyyy-mm-ddThh:mm:ss</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Calendar

+	                     		                     </td>

+	                     <td valign="top">appointmentend</td>

+	                     <td valign="top">end as Date yyyy-mm-ddThh:mm:ss</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isDaily</td>

+	                     <td valign="top">if the calendar event should be repeated daily (not
+            implemented)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isWeekly</td>

+	                     <td valign="top">if the calendar event should be repeated weekly (not
+            implemented)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isMonthly</td>

+	                     <td valign="top">if the calendar event should be repeated monthly (not
+            implemented)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isYearly</td>

+	                     <td valign="top">if the calendar event should be repeated yearly (not
+            implemented)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">categoryId</td>

+	                     <td valign="top">the category id of the calendar event</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">remind</td>

+	                     <td valign="top">the reminder type of the calendar event</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">mmClient</td>

+	                     <td valign="top">List of clients, comma separated string, <br/>
+            sample: 1,firstname,lastname,hans.tier@gmail.com,1,Etc/GMT+1
+            to add multiple clients you can use the same GET parameter in
+            the URL multiple times, for example:
+            &mmClient=1,firstname,lastname,hans
+            .tier@gmail.com,1,Etc/GMT+1&mmClient
+            =2,firstname,lastname,hans.tier@gmail.com,1,Etc/GMT+1</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">roomType</td>

+	                     <td valign="top">the room type for the calendar event</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">baseUrl</td>

+	                     <td valign="top">the base URL for the invitations</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">languageId</td>

+	                     <td valign="top">the language id of the calendar event, notification emails
+            will be send in this language</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isPasswordProtected</td>

+	                     <td valign="top">if the room is password protected</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">password</td>

+	                     <td valign="top">the password for the room</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/updateAppointment?SID=VALUE&appointmentId=VALUE&appointmentName=VALUE&appointmentLocation=VALUE&appointmentDescription=VALUE&appointmentstart=VALUE&appointmentend=VALUE&isDaily=VALUE&isWeekly=VALUE&isMonthly=VALUE&isYearly=VALUE&categoryId=VALUE&remind=VALUE&mmClient=VALUE&roomType=VALUE&baseurl=VALUE&languageId=VALUE&isPasswordProtected=VALUE&password=VALUE">http://localhost:5080/openmeetings/services/CalendarService/updateAppointment?SID=VALUE&appointmentId=VALUE&appointmentName=VALUE&appointmentLocation=VALUE&appointmentDescription=VALUE&appointmentstart=VALUE&appointmentend=VALUE&isDaily=VALUE&isWeekly=VALUE&isMonthly=VALUE&isYearly=VALUE&categoryId=VALUE&remind=VALUE&mmClient=VALUE&roomType=VALUE&baseurl=VALUE&languageId=VALUE&isPasswordProtected=VALUE&password=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="deleteAppointment" ><b>deleteAppointment</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>deleteAppointment (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long appointmentId

+    			       			    			       			     , 

+    			       			   Long language_id

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  delete a calendar event
+ 
+ If the given SID is from an Administrator or Web-Service user, the user
+ can delete any appointment.<br/>
+ If the SID is assigned to a simple user, he can only delete appointments
+ where he is also the owner/creator of the appointment

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">an authenticated SID</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">appointmentId</td>

+	                     <td valign="top">the id to delete</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">language_id</td>

+	                     <td valign="top">the language id in which the notifications for the deleted
+            appointment are send</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/deleteAppointment?SID=VALUE&appointmentId=VALUE&language_id=VALUE">http://localhost:5080/openmeetings/services/CalendarService/deleteAppointment?SID=VALUE&appointmentId=VALUE&language_id=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getAppointmentByRoomId" ><b>getAppointmentByRoomId</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getAppointmentByRoomId (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Load a calendar event by its room id

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.app.persistence.beans.calendar.Appointment

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/getAppointmentByRoomId?SID=VALUE&room_id=VALUE">http://localhost:5080/openmeetings/services/CalendarService/getAppointmentByRoomId?SID=VALUE&room_id=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getAppointmentCategoryList" ><b>getAppointmentCategoryList</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getAppointmentCategoryList (

+    			    			    			       			   String SID

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Get all categories of calendar events

+    			</p>

+    			<p>

+                  Return Type: java.util.List

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/getAppointmentCategoryList?SID=VALUE">http://localhost:5080/openmeetings/services/CalendarService/getAppointmentCategoryList?SID=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getAppointmentReminderTypList" ><b>getAppointmentReminderTypList</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getAppointmentReminderTypList (

+    			    			    			       			   String SID

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Get all reminder types for calendar events

+    			</p>

+    			<p>

+                  Return Type: java.util.List

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/getAppointmentReminderTypList?SID=VALUE">http://localhost:5080/openmeetings/services/CalendarService/getAppointmentReminderTypList?SID=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getAppointmentsByWeekCalendar" ><b>getAppointmentsByWeekCalendar</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getAppointmentsByWeekCalendar (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   int firstDayInWeek

+    			       			    			       			     , 

+    			       			   Date startDate

+    			       			    			       			     , 

+    			       			   Long requestUserId

+    			       			    			       			     , 

+    			       			   Long omTimeZoneId

+    			       			    			       			     , 

+    			       			   String javaTimeZoneName

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Get the appointments (calendar events) for the given requestUserId <br/>
+ The TimeZone can be either given by the Id of the timezone in the table
+ "om_timezone" with the param timeZoneIdA <br/>
+ Or with the java name of the TimeZone in the param javaTimeZoneName

+    			</p>

+    			<p>

+                  Return Type: java.util.List

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">a valid user id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		int

+	                     		                     </td>

+	                     <td valign="top">firstDayInWeek</td>

+	                     <td valign="top">the first dayin week, 0=Sunday, 1=Monday, ...</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Date

+	                     		                     </td>

+	                     <td valign="top">startDate</td>

+	                     <td valign="top">the date it should start with</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">requestUserId</td>

+	                     <td valign="top">the user id the calendar events are requested, if it is not
+            the user id of the SID then the SID's user needs to have the
+            right to watch those events</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">omTimeZoneId</td>

+	                     <td valign="top">the id of the timezone (alternativly use javaTimeZoneName)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">javaTimeZoneName</td>

+	                     <td valign="top">the name of the java time zone, see <a
+            href="http://en.wikipedia.org/wiki/Time_zone#Java"
+            target="_blank"
+            >http://en.wikipedia.org/wiki/Time_zone#Java</a></td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/getAppointmentsByWeekCalendar?SID=VALUE&firstDayInWeek=VALUE&startDate=VALUE&requestUserId=VALUE&omTimeZoneId=VALUE&javaTimeZoneName=VALUE">http://localhost:5080/openmeetings/services/CalendarService/getAppointmentsByWeekCalendar?SID=VALUE&firstDayInWeek=VALUE&startDate=VALUE&requestUserId=VALUE&omTimeZoneId=VALUE&javaTimeZoneName=VALUE</a>

+    			</a>

+    		  </div>

+    	   			

+	

+	</body>

+</html>

+

diff --git a/docs/ConferenceRoomLayoutOptions.html b/docs/ConferenceRoomLayoutOptions.html
new file mode 100644
index 0000000..66102d7
--- /dev/null
+++ b/docs/ConferenceRoomLayoutOptions.html
@@ -0,0 +1,1177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+            OpenMeetings Team
+        ">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Layout options for a conference room in OpenMeetings</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Layout options for conference rooms"><strong>Layout options for conference rooms</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>Each room has a number of attributes to generate different layouts.

+            You can change those values individually for each room in Administration &gt; Rooms

+            </p>
+                                                <p />
+                                                <table>
+                        <tr>
+                        <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 key 
+            </font>
+</th>
+                                <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 default 
+            </font>
+</th>
+                                <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 meaning 
+            </font>
+</th>
+                                <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 availabe since OpenMeetings version 
+            </font>
+</th>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 hideTopBar 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 false 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 Hide the top bar with the menus and exit button 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 2.x 
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 hideChat 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 false 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 Hide the chat tab and use space for whiteboard 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 2.x 
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 hideActivitiesAndActions 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 false 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 Hide the activities window with the notofications aber user activities
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 2.x 
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 hideFilesExplorer 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 false 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 Hide the file explorer
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 2.x 
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 hideActionsMenu 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 false 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 Hide the menu with the actions
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 2.x 
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 hideScreenSharing 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 false 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 Hide the button to start screensharing/recording
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 2.x 
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 hideWhiteboard 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 false 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 Hide the whiteboard, if this option is true, the videos will be in the area of the whiteboard
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 2.x 
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 showMicrophoneStatus 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 false 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 Show the current status of the microphone (off/on) on the bottom of each video view
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 2.x 
+            </font>
+</td>
+            </tr>
+            </table>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/ConfluencePlugin.html b/docs/ConfluencePlugin.html
new file mode 100644
index 0000000..bf5842f
--- /dev/null
+++ b/docs/ConfluencePlugin.html
@@ -0,0 +1,1021 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="eugen.schwert@gmail.com">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Confluence Plugin</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Confluence Plugin for OpenMeetings"><strong>Confluence Plugin for OpenMeetings</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>				

+				Current Development Snapshots for testing can be downloaded from:

+				<a href="https://svn.apache.org/repos/asf/incubator/openmeetings/branches/confluence-plugin/target/openmeetingsconfluence-1.0-SNAPSHOT.jar">here</a>

+				.

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Features"><strong>Features</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>The plugin contains the following features: </p>
+                                                <ul>

+				<li>Create videoconference rooms through Confluence: </li>

+				<ol>

+					<li>Integrated with Confluence content </li>										

+					<li>Configurable room type </li>

+				</ol>

+			</ul>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Demo video"><strong>Demo video</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>The demo video of Confluence plugin show you the plugin in action </p>
+                                                <object style="height: 390px; width: 640px">

+			      <param name="movie" value="http://www.youtube.com/v/YFKlXggtld0?version=3&amp;feature=player_detailpage" />

+			      <param name="allowFullScreen" value="true" />

+			      <param name="allowScriptAccess" value="always" />

+			      <embed src="http://www.youtube.com/v/YFKlXggtld0?version=3&amp;feature=player_detailpage" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360" />

+		      </object>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/CustomRoomTypeHowTo.html b/docs/CustomRoomTypeHowTo.html
new file mode 100644
index 0000000..b63c987
--- /dev/null
+++ b/docs/CustomRoomTypeHowTo.html
@@ -0,0 +1,1068 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+            OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Howto create a custom room type in OpenMeetings</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Why creating a custom room type in OpenMeetings"><strong>Why creating a custom room type in OpenMeetings</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>If you want to create your own styled room the best thing to do in 

+            order to be "update-save" is to create your own custom room type. There is an empty configuration 

+				by default shipped with every release of OpenMeetings, the room type "custom" (ID = 5).<br />

+				<br />

+            You can use that and extend it, or you can add more room types to fit your use case.

+			</p>
+                                                <p />
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Create your own room type class (User Interface)"><strong>Create your own room type class (User Interface)</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>Lets start by creating your custom room type class.

+				<br />

+					You could for example duplicate an existing room class, from <br />

+					<tt>src/modules/conference/flexibleConferenceRoom</tt> folder, for example the 

+			flexibleConferenceRoom.lzx: Generate a duplicate, change the name, for example to 

+			myCustomConferenceRoom.lzx and edit the class name inside the file name="flexibleConferenceRoom" to

+			name="myCustomConferenceRoom". Also don't miss to add an entry to library.lzx so that the compiler 

+			will find your new class.

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Create nesseccary entries in configuration tables"><strong>Create nesseccary entries in configuration tables</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>You first need to create a number of configuration files </p>
+                                                <ul>

+				<li>To have your roomtype available everytime you install OpenMeetings you need to add 

+					it to the default rooms: <tt>ImportInitvalues.java Method: loadDefaultRooms()</tt>. Add your entry here. 

+				You can choose any random name for the room. The ID is the important trigger for the room type 

+				to identify later. You need to run the installer so that your new room type is in the database.</li>

+				

+				<li>Add your room type in the default module configuration: 

+					<tt>src/base/moduleConfiguration.lzx</tt>, 

+				here you need to add a default class name for your room type </li>

+				

+				<li>Add your room type in the real configuration: config.xml, add a new entry.

+					<br />

+					You should fix also the file <tt>openmeetings-config.xsd</tt> that is the Schema file for the config.xml.

+				</li>

+        		

+				<li>Add a parser entry to modify the room type mapping: 

+					<tt>base/mainMethods.lzx method: myinit</tt>. You 

+        		can see some example parsing, you should add your one similar to the existing room types.</li>

+        		

+			</ul>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Link your room type config with your room type class "><strong>Link your room type config with your room type class </strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>Now you need to make sure that everytime the conference room is created 

+			your new class "myCustomConferenceRoom" is used. There are 3 places you need to add your mapping.</p>
+                                                <ul>

+				<li>In the global mapping: 

+					<tt>base/mainMethods.lzx method name="setRoomValues"</tt> 

+				</li>

+				<li>In file: 

+					<tt>modules/conference/conference/roomListItem.lzx method name="initRoom"</tt> 

+				</li>

+				<li>In file: 

+					<tt>modules/invitation/autoloaderBarOnly.lzx netRemoteCallHib name="setUsernameAndSession"</tt> 

+				</li>

+			</ul>
+                                                <p>Thats it. You can add/edit/delete your room with the new room type in the Administration &gt; Rooms interface of 

+			OpenMeetings like any other room.</p>
+                                                <p>If you need to have this room type available as option in the Calendar UI, you need to add it to the combobox manually.</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/Dashboard.html b/docs/Dashboard.html
new file mode 100644
index 0000000..0f5896d
--- /dev/null
+++ b/docs/Dashboard.html
@@ -0,0 +1,1102 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Changing Dashboard</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Changing Dashboard"><strong>Changing Dashboard</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>You can configure the tabs that are visible by default at bottom

+				of the dashboard. To edit the settings, login as admin and goto

+				Administration &gt; Configuration </p>
+                                                <p />
+                                                <table>
+                        <tr>
+                        <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 Config-key 
+            </font>
+</th>
+                                <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 Values 
+            </font>
+</th>
+                                <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 Meaning 
+            </font>
+</th>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 default.dashboard.tab 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 0,1,2 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 Which tab should be shown by default, counting

+						starts with 0

+					
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 dashboard.show.myrooms 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 0 or 1 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 If the MyRooms tab should be visible or not 
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 dashboard.show.chat 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 0 or 1 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 If the Chat tab should be visible or not 
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 dashboard.show.rssfeed 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 0 or 1 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 If the RSS-Feed tab should be visible or not 
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 rss_feed1 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 http-URL 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 ATOM-Feed URL for the dashboard RSS Tab 
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 rss_feed2 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 http-URL 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 ATOM-Feed URL for the dashboard RSS Tab 
+            </font>
+</td>
+            </tr>
+            </table>
+                                                <p />
+                                                <p>Changes are immediately online, no need to restart anything. </p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/EditTemplates.html b/docs/EditTemplates.html
new file mode 100644
index 0000000..7c0b937
--- /dev/null
+++ b/docs/EditTemplates.html
@@ -0,0 +1,1019 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Edit Templates</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Changing Labels and text strings"><strong>Changing Labels and text strings</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				All language string should be localized and stored in the language

+				section. You have a full featured language editor with every

+				installation of OpenMeetings, check out the

+				<a href="LanguageEditor.html">LanguageEditor</a>

+				.

+			</p>
+                                                <p>

+				To lookup the labelids in the GUI you can simply run OpenMeetings

+				client with the debug enabled. That way every text-string has the

+				labelid in brackets additionally in the textfield. To start the

+				client in debug mode just add the param ?swf=maindebug.swf8.swf to

+				the URL. Example:

+				<a href="http://localhost:5080/openmeetings/?swf=maindebug.swf8.swf" rel="nofollow">http://localhost:5080/openmeetings/?swf=maindebug.swf8.swf</a>

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Changing layout, adding footers in emails"><strong>Changing layout, adding footers in emails</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>If you would like to change the standard email layout or add for

+				example some footer in every email you have to change the email

+				templates.

+			</p>
+                                                <p>To do that: Stop the Red5/OpenMeetings-Service Goto:

+				$Red5_HOME/webapps/openmeetings/WEB-INF/lib/openmeetings-templates.jar

+				Unzip: openmeetings-templates.jar (this is a usual ZIP file, you can

+				rename it to openmeetings-templates.zip unzip, edit the files, zip

+				it again and rename it to openmeetings-templates.jar)

+			</p>
+                                                <p>

+				In openmeetings-templates.jar there are all template files. They

+				have the file extension .vm (VM stands for velocity-template). After

+				you have done your changes you need to (re)start the

+				Red5/OpenMeetings

+				-Service so that changes are online.

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/ErrorsTable.html b/docs/ErrorsTable.html
new file mode 100644
index 0000000..484a072
--- /dev/null
+++ b/docs/ErrorsTable.html
@@ -0,0 +1,1908 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="Apache OpenMeetings Documentation Robot">
+            <meta name="email" value="$au.getAttributeValue("email")">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Openmeetings Errors table</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Openmeetings Errors table"><strong>Openmeetings Errors table</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <table>
+                        <tr>
+                        <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Code
+            </font>
+</th>
+                                <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Type
+            </font>
+</th>
+                                <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Description
+            </font>
+</th>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -1
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Unknown error. Please report this to the administrator.
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -2
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Please enter either an email address or a user name
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -3
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                There is no user connected to this username
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -4
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Message
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                The email containing a special link has been sent to your email address
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -5
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                No user found
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -6
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                The passwords you entered weren't identical
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -7
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Password and or username too short, required minimum length for user name / password are: 
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -8
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Message
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Password set. You can now login.
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -9
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                No such email address was found. Make sure you entered the same email address you used to create your account.
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -10
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Username not found
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -11
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Invalid password
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -12
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Message
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Successfully logged out
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -13
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Password and or login is too short
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -14
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Registration disabled
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -15
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                The username is already used
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -16
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                System error please contact the administrator
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -17
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                The mail address is already registered
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -18
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Your account has been created. You can now login.
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -19
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Invalid email address
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -20
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Duplicate file name, please enter another
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -21
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                File name too short
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -22
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Could not save the address
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -23
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Message
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                User added but you need to assign this user to an usergroup, otherwise they won't be able to log in
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -24
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                No field found for the ID
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -25
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                No label found
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -26
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Admin authorization required
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -27
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Invalid label ID
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -28
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Message
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                You have deleted the label
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -29
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Invalid label ID
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -30
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Message
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                This room is full
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -31
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                No invitation available for this invitation code
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -32
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                This invitation was already used
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -33
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                The invitation code is invalid
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -34
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Invalid password
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -35
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                This user is already a member of this usergroup
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -36
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                This method needs an adminstration account to be invoked
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -37
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                There was no session associated with this ID
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -38
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                You cannot delete your own user
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -39
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                This is an administrator or moderator account. You can only edit this account through the administration panel.
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -40
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Message
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                You have successfully signed up. An email with a verification code will be sent to your mailbox.
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -41
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Your account is not activated. Please use the link in the email you received during registration.
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -42
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                This session hash has already been used
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -43
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                You have to enter your password again to auto create the SIP data
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -44
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                This email is already used by another user.
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -45
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                This user is already in your contact list or has received an invitation to your contact list that is not answered yet.
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -46
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                The user is already denied.
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -47
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                The user is already approved.
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -48
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                This user contact hash is invalid.
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -49
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                There is no such contact.
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -50
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                You invitation code is not valid, the code is only valid during this specific date and time:
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -51
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Please enter a password
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -52
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                You need an account with user level user, moderator or admin
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -53
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Please enter email
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                -54
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Error
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                You don't have the right to give yourself or others exclusive audio. You need to apply for the right from the moderator or ask the moderator to give you exclusive audio.
+            </font>
+</td>
+            </tr>
+            </table>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/FFMPEGVersionSwitch.html b/docs/FFMPEGVersionSwitch.html
new file mode 100644
index 0000000..e6b236d
--- /dev/null
+++ b/docs/FFMPEGVersionSwitch.html
@@ -0,0 +1,1012 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Howto switch between different versions of FFMPEG </title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Default Configuration"><strong>Default Configuration</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>FFMPEG has a change in its API (possibly since GIT revision

+				88bfe4518)

+			</p>
+                                                <p>Since Version 1.9.x of OpenMeetings: By default OpenMeetings

+				expects you to have a new version of FFMPEG on your OpenMeetings

+				server installed and it will use the new API style to communicate

+				with FFMPEG.

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Switching to old FFMPEG API"><strong>Switching to old FFMPEG API</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				If you want to switch to the old style you can change that using the

+				config key:

+				<tt>use.old.style.ffmpeg.map.option</tt>

+			</p>
+                                                <p>

+				Set this value to

+				<tt>1</tt>

+				to have the old params in the API call to FFMPEG.

+			</p>
+                                                <p>References:  </p>
+                                                <ul>

+				<li>

+					<a href="http://ffmpeg-users.933282.n4.nabble.com/Invalid-stream-specifier-0-Stream-map-0-0-matches-no-streams-Changes-in-FFMPEG-map-option-td4091165.html" rel="nofollow">http://ffmpeg-users.933282.n4.nabble.com/Invalid-stream-specifier-0-Stream-map-0-0-matches-no-streams-Changes-in-FFMPEG-map-option-td4091165.html

+					</a>

+				</li>

+			</ul>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/FileService.html b/docs/FileService.html
new file mode 100644
index 0000000..5a4697e
--- /dev/null
+++ b/docs/FileService.html
@@ -0,0 +1,1573 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

+<!--

+Copyright 1999-2004 The Apache Software Foundation

+Licensed under the Apache License, Version 2.0 (the "License");

+you may not use this file except in compliance with the License.

+You may obtain a copy of the License at

+

+http://www.apache.org/licenses/LICENSE-2.0

+

+Unless required by applicable law or agreed to in writing, software

+distributed under the License is distributed on an "AS IS" BASIS,

+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+See the License for the specific language governing permissions and

+limitations under the License.

+-->

+

+    <!-- ====================================================================== -->

+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE TEMPLATE INSTEAD! -->

+    <!-- Main Page Section -->

+    <!-- ====================================================================== -->

+    

+     <html>

+        <head>

+		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>

+		<meta name="author" value="OpenMeetings Team">

+		<meta name="email" value="sebawagner@apache.org">

+		<title>OpenMeetings API Methods</title>

+		<link rel="stylesheet" type="text/css" href="openmeetings_docs.css">

+        </head>

+	<body>

+	

+		<h3>Available WebServices:</h3>

+	

+		<iframe src="WebserviceIndex.html" width="100%" height="180" name="WebserviceIndex.html"

+			scrolling="no" marginheight="0" marginwidth="0" frameborder="0">

+		  <p>Your Browser does not support frames ...</p>

+		</iframe>

+		

+		<hr />

+	

+	   <h3>WebService: FileService</h3>

+	   <p>Contains methods to import and upload files into the Files section of the
+ conference room and the personal drive of any user<p>

+	   <p>WSDL sample Url: <a href="http://localhost:5080/openmeetings/services/FileService?wsdl">http://localhost:5080/openmeetings/services/FileService?wsdl</a><p>

+	

+	<!-- Links to Methods -->

+	   <h3>Index of Methods available in FileService</h3>

+	   

+       <div class="navigation">

+	                               <div>

+                <a href="#importFile"><b>importFile</b></a><br/>

+                <div class="navigation_comment"><i >Import file from external source
+ 
+ to upload a file to a room-drive you specify: externalUserId, user if of
+ openmeetings user for which we upload the file room_id = openmeetings
+ room id isOwner = 0 parentFolderId = 0
+ 
+ to upload a file to a private-drive you specify: externalUserId, user if
+ of openmeetings user for which we upload the file room_id = openmeetings
+ room id isOwner = 1 parentFolderId = -2</i></div>

+                </div>

+                                               <div>

+                <a href="#importFileByInternalUserId"><b>importFileByInternalUserId</b></a><br/>

+                <div class="navigation_comment"><i >Import file from external source
+ 
+ to upload a file to a room-drive you specify: internalUserId, user if of
+ openmeetings user for which we upload the file room_id = openmeetings
+ room id isOwner = 0 parentFolderId = 0
+ 
+ to upload a file to a private-drive you specify: internalUserId, user if
+ of openmeetings user for which we upload the file room_id = openmeetings
+ room id isOwner = 1 parentFolderId = -2</i></div>

+                </div>

+                                               <div>

+                <a href="#addFolderByExternalUserIdAndType"><b>addFolderByExternalUserIdAndType</b></a><br/>

+                <div class="navigation_comment"><i >to add a folder to the private drive, set parentFileExplorerItemId = 0
+ and isOwner to 1/true and externalUserId/externalUserType to a valid user</i></div>

+                </div>

+                                               <div>

+                <a href="#addFolderByUserId"><b>addFolderByUserId</b></a><br/>

+                <div class="navigation_comment"><i >to add a folder to the private drive, set parentFileExplorerItemId = 0
+ and isOwner to 1/true and userId to a valid user</i></div>

+                </div>

+                                               <div>

+                <a href="#addFolderSelf"><b>addFolderSelf</b></a><br/>

+                <div class="navigation_comment"><i >Add a folder by the current user - similar to RTMP Call</i></div>

+                </div>

+                                               <div>

+                <a href="#deleteFileOrFolderByExternalIdAndType"><b>deleteFileOrFolderByExternalIdAndType</b></a><br/>

+                <div class="navigation_comment"><i >deletes a file by its external Id and type</i></div>

+                </div>

+                                               <div>

+                <a href="#deleteFileOrFolder"><b>deleteFileOrFolder</b></a><br/>

+                <div class="navigation_comment"><i >deletes files or folders based on it id</i></div>

+                </div>

+                                               <div>

+                <a href="#deleteFileOrFolderSelf"><b>deleteFileOrFolderSelf</b></a><br/>

+                <div class="navigation_comment"><i >deletes files or folders based on it id</i></div>

+                </div>

+                                               <div>

+                <a href="#getImportFileExtensions"><b>getImportFileExtensions</b></a><br/>

+                <div class="navigation_comment"><i >Get available import File Extension allowed during import</i></div>

+                </div>

+                                               <div>

+                <a href="#getPresentationPreviewFileExplorer"><b>getPresentationPreviewFileExplorer</b></a><br/>

+                <div class="navigation_comment"><i >Get a LibraryPresentation-Object for a certain file</i></div>

+                </div>

+                                               <div>

+                <a href="#getFileExplorerByRoom"><b>getFileExplorerByRoom</b></a><br/>

+                <div class="navigation_comment"><i >Get a File Explorer Object by a given Room and owner id</i></div>

+                </div>

+                                               <div>

+                <a href="#getFileExplorerByRoomSelf"><b>getFileExplorerByRoomSelf</b></a><br/>

+                <div class="navigation_comment"><i >Get a File Explorer Object by a given Room</i></div>

+                </div>

+                                               <div>

+                <a href="#getFileExplorerByParent"><b>getFileExplorerByParent</b></a><br/>

+                <div class="navigation_comment"><i >Get FileExplorerItem list by parent folder</i></div>

+                </div>

+                                               <div>

+                <a href="#getFileExplorerByParentSelf"><b>getFileExplorerByParentSelf</b></a><br/>

+                <div class="navigation_comment"><i >Get FileExplorerItem[] by parent and owner id</i></div>

+                </div>

+                                               <div>

+                <a href="#updateFileOrFolderName"><b>updateFileOrFolderName</b></a><br/>

+                <div class="navigation_comment"><i >update a file or folder name</i></div>

+                </div>

+                                               <div>

+                <a href="#updateFileOrFolderNameSelf"><b>updateFileOrFolderNameSelf</b></a><br/>

+                <div class="navigation_comment"><i >update a file or folder name</i></div>

+                </div>

+                                               <div>

+                <a href="#moveFile"><b>moveFile</b></a><br/>

+                <div class="navigation_comment"><i >move a file or folder</i></div>

+                </div>

+                                               <div>

+                <a href="#moveFileSelf"><b>moveFileSelf</b></a><br/>

+                <div class="navigation_comment"><i >move a file or folder</i></div>

+                </div>

+                           </div>

+	   

+	    <h3>Methods Details in FileService</h3>

+	

+				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="importFile" ><b>importFile</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>importFile (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String externalUserId

+    			       			    			       			     , 

+    			       			   Long externalFileId

+    			       			    			       			     , 

+    			       			   String externalType

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   boolean isOwner

+    			       			    			       			     , 

+    			       			   String path

+    			       			    			       			     , 

+    			       			   Long parentFolderId

+    			       			    			       			     , 

+    			       			   String fileSystemName

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Import file from external source
+ 
+ to upload a file to a room-drive you specify: externalUserId, user if of
+ openmeetings user for which we upload the file room_id = openmeetings
+ room id isOwner = 0 parentFolderId = 0
+ 
+ to upload a file to a private-drive you specify: externalUserId, user if
+ of openmeetings user for which we upload the file room_id = openmeetings
+ room id isOwner = 1 parentFolderId = -2

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.axis.services.FileImportError[]

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The logged in session id with minimum webservice level</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalUserId</td>

+	                     <td valign="top">the external user id => If the file should goto a private
+            section of any user, this number needs to be set</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">externalFileId</td>

+	                     <td valign="top">the external file-type to identify the file later</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalType</td>

+	                     <td valign="top">the name of the external system</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">the room Id, if the file goes to the private folder of an
+            user, you can set a random number here</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		boolean

+	                     		                     </td>

+	                     <td valign="top">isOwner</td>

+	                     <td valign="top">specify a 1/true AND parentFolderId==-2 to make the file goto
+            the private section</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">path</td>

+	                     <td valign="top">http-path where we can grab the file from, the file has to be
+            accessible from the OpenMeetings server</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">parentFolderId</td>

+	                     <td valign="top">specify a parentFolderId==-2 AND isOwner == 1/true AND to make
+            the file goto the private section</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">fileSystemName</td>

+	                     <td valign="top">the filename => Important WITH file extension!</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/FileService/importFile?SID=VALUE&externalUserId=VALUE&externalFileId=VALUE&externalType=VALUE&room_id=VALUE&isOwner=VALUE&path=VALUE&parentFolderId=VALUE&fileSystemName=VALUE">http://localhost:5080/openmeetings/services/FileService/importFile?SID=VALUE&externalUserId=VALUE&externalFileId=VALUE&externalType=VALUE&room_id=VALUE&isOwner=VALUE&path=VALUE&parentFolderId=VALUE&fileSystemName=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="importFileByInternalUserId" ><b>importFileByInternalUserId</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>importFileByInternalUserId (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long internalUserId

+    			       			    			       			     , 

+    			       			   Long externalFileId

+    			       			    			       			     , 

+    			       			   String externalType

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   boolean isOwner

+    			       			    			       			     , 

+    			       			   String path

+    			       			    			       			     , 

+    			       			   Long parentFolderId

+    			       			    			       			     , 

+    			       			   String fileSystemName

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Import file from external source
+ 
+ to upload a file to a room-drive you specify: internalUserId, user if of
+ openmeetings user for which we upload the file room_id = openmeetings
+ room id isOwner = 0 parentFolderId = 0
+ 
+ to upload a file to a private-drive you specify: internalUserId, user if
+ of openmeetings user for which we upload the file room_id = openmeetings
+ room id isOwner = 1 parentFolderId = -2

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.axis.services.FileImportError[]

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as logged in</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">internalUserId</td>

+	                     <td valign="top">the openmeetings user id => If the file should goto a private
+            section of any user, this number needs to be se</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">externalFileId</td>

+	                     <td valign="top">the external file-type to identify the file later</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalType</td>

+	                     <td valign="top">the name of the external system</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">the room Id, if the file goes to the private folder of an
+            user, you can set a random number here</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		boolean

+	                     		                     </td>

+	                     <td valign="top">isOwner</td>

+	                     <td valign="top">specify a 1/true AND parentFolderId==-2 to make the file goto
+            the private section</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">path</td>

+	                     <td valign="top">http-path where we can grab the file from, the file has to be
+            accessible from the OpenMeetings server</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">parentFolderId</td>

+	                     <td valign="top">specify a parentFolderId==-2 AND isOwner == 1/true AND to make
+            the file goto the private section</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">fileSystemName</td>

+	                     <td valign="top">the filename => Important WITH file extension!</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/FileService/importFileByInternalUserId?SID=VALUE&internalUserId=VALUE&externalFileId=VALUE&externalType=VALUE&room_id=VALUE&isOwner=VALUE&path=VALUE&parentFolderId=VALUE&fileSystemName=VALUE">http://localhost:5080/openmeetings/services/FileService/importFileByInternalUserId?SID=VALUE&internalUserId=VALUE&externalFileId=VALUE&externalType=VALUE&room_id=VALUE&isOwner=VALUE&path=VALUE&parentFolderId=VALUE&fileSystemName=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="addFolderByExternalUserIdAndType" ><b>addFolderByExternalUserIdAndType</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>addFolderByExternalUserIdAndType (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String externalUserId

+    			       			    			       			     , 

+    			       			   Long parentFileExplorerItemId

+    			       			    			       			     , 

+    			       			   String folderName

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   Boolean isOwner

+    			       			    			       			     , 

+    			       			   Long externalFilesid

+    			       			    			       			     , 

+    			       			   String externalType

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  to add a folder to the private drive, set parentFileExplorerItemId = 0
+ and isOwner to 1/true and externalUserId/externalUserType to a valid user

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as logged in</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalUserId</td>

+	                     <td valign="top">the external file-type to identify the file later</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">parentFileExplorerItemId</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">folderName</td>

+	                     <td valign="top">the name of the folder</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">the room Id, if the file goes to the private folder of an
+            user, you can set a random number here</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isOwner</td>

+	                     <td valign="top">specify a 1/true AND parentFolderId==-2 to make the file goto
+            the private section</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">externalFilesid</td>

+	                     <td valign="top">the external file-type to identify the file later</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalType</td>

+	                     <td valign="top">the name of the external system</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/FileService/addFolderByExternalUserIdAndType?SID=VALUE&externalUserId=VALUE&parentFileExplorerItemId=VALUE&folderName=VALUE&room_id=VALUE&isOwner=VALUE&externalFilesid=VALUE&externalType=VALUE">http://localhost:5080/openmeetings/services/FileService/addFolderByExternalUserIdAndType?SID=VALUE&externalUserId=VALUE&parentFileExplorerItemId=VALUE&folderName=VALUE&room_id=VALUE&isOwner=VALUE&externalFilesid=VALUE&externalType=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="addFolderByUserId" ><b>addFolderByUserId</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>addFolderByUserId (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long userId

+    			       			    			       			     , 

+    			       			   Long parentFileExplorerItemId

+    			       			    			       			     , 

+    			       			   String folderName

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   Boolean isOwner

+    			       			    			       			     , 

+    			       			   Long externalFilesid

+    			       			    			       			     , 

+    			       			   String externalType

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  to add a folder to the private drive, set parentFileExplorerItemId = 0
+ and isOwner to 1/true and userId to a valid user

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as logged in</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">userId</td>

+	                     <td valign="top">the openmeetings user id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">parentFileExplorerItemId</td>

+	                     <td valign="top">specify a parentFolderId==-2 AND isOwner == 1/true AND to make the file goto the private section</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">folderName</td>

+	                     <td valign="top">the name of the folder</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">the room Id, if the file goes to the private folder of an user, you can set a random number here</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isOwner</td>

+	                     <td valign="top">specify a 1/true AND parentFolderId==-2 to make the file goto the private section</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">externalFilesid</td>

+	                     <td valign="top">the external file-type to identify the file later</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalType</td>

+	                     <td valign="top">the name of the external system</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/FileService/addFolderByUserId?SID=VALUE&userId=VALUE&parentFileExplorerItemId=VALUE&folderName=VALUE&room_id=VALUE&isOwner=VALUE&externalFilesid=VALUE&externalType=VALUE">http://localhost:5080/openmeetings/services/FileService/addFolderByUserId?SID=VALUE&userId=VALUE&parentFileExplorerItemId=VALUE&folderName=VALUE&room_id=VALUE&isOwner=VALUE&externalFilesid=VALUE&externalType=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="addFolderSelf" ><b>addFolderSelf</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>addFolderSelf (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long parentFileExplorerItemId

+    			       			    			       			     , 

+    			       			   String fileName

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   Boolean isOwner

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Add a folder by the current user - similar to RTMP Call

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as logged in</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">parentFileExplorerItemId</td>

+	                     <td valign="top">parent folder id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">fileName</td>

+	                     <td valign="top">the file name</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">the room id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isOwner</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/FileService/addFolderSelf?SID=VALUE&parentFileExplorerItemId=VALUE&fileName=VALUE&room_id=VALUE&isOwner=VALUE">http://localhost:5080/openmeetings/services/FileService/addFolderSelf?SID=VALUE&parentFileExplorerItemId=VALUE&fileName=VALUE&room_id=VALUE&isOwner=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="deleteFileOrFolderByExternalIdAndType" ><b>deleteFileOrFolderByExternalIdAndType</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>deleteFileOrFolderByExternalIdAndType (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long externalFilesid

+    			       			    			       			     , 

+    			       			   String externalType

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  deletes a file by its external Id and type

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as logged in</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">externalFilesid</td>

+	                     <td valign="top">the od of the file or folder</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalType</td>

+	                     <td valign="top">the externalType</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/FileService/deleteFileOrFolderByExternalIdAndType?SID=VALUE&externalFilesid=VALUE&externalType=VALUE">http://localhost:5080/openmeetings/services/FileService/deleteFileOrFolderByExternalIdAndType?SID=VALUE&externalFilesid=VALUE&externalType=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="deleteFileOrFolder" ><b>deleteFileOrFolder</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>deleteFileOrFolder (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long fileExplorerItemId

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  deletes files or folders based on it id

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as logged in</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">fileExplorerItemId</td>

+	                     <td valign="top">the id of the file or folder</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/FileService/deleteFileOrFolder?SID=VALUE&fileExplorerItemId=VALUE">http://localhost:5080/openmeetings/services/FileService/deleteFileOrFolder?SID=VALUE&fileExplorerItemId=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="deleteFileOrFolderSelf" ><b>deleteFileOrFolderSelf</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>deleteFileOrFolderSelf (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long fileExplorerItemId

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  deletes files or folders based on it id

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as logged in</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">fileExplorerItemId</td>

+	                     <td valign="top">the id of the file or folder</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/FileService/deleteFileOrFolderSelf?SID=VALUE&fileExplorerItemId=VALUE">http://localhost:5080/openmeetings/services/FileService/deleteFileOrFolderSelf?SID=VALUE&fileExplorerItemId=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getImportFileExtensions" ><b>getImportFileExtensions</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getImportFileExtensions (

+    			    			    			)

+    			</i><br/>

+    			<p>

+    			  Get available import File Extension allowed during import

+    			</p>

+    			<p>

+                  Return Type: java.lang.String[]

+                </p>

+    			<p>Params:</p>

+    			    			

+    			    				<i>No Params</i>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    							<a href="http://localhost:5080/openmeetings/services/FileService/getImportFileExtensions">http://localhost:5080/openmeetings/services/FileService/getImportFileExtensions</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getPresentationPreviewFileExplorer" ><b>getPresentationPreviewFileExplorer</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getPresentationPreviewFileExplorer (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String parentFolder

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Get a LibraryPresentation-Object for a certain file

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.app.data.file.dto.LibraryPresentation

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">parentFolder</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/FileService/getPresentationPreviewFileExplorer?SID=VALUE&parentFolder=VALUE">http://localhost:5080/openmeetings/services/FileService/getPresentationPreviewFileExplorer?SID=VALUE&parentFolder=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getFileExplorerByRoom" ><b>getFileExplorerByRoom</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getFileExplorerByRoom (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   Long owner_id

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Get a File Explorer Object by a given Room and owner id

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.app.data.file.dto.FileExplorerObject

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as logged in</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">Room id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">owner_id</td>

+	                     <td valign="top">Owner id</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/FileService/getFileExplorerByRoom?SID=VALUE&room_id=VALUE&owner_id=VALUE">http://localhost:5080/openmeetings/services/FileService/getFileExplorerByRoom?SID=VALUE&room_id=VALUE&owner_id=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getFileExplorerByRoomSelf" ><b>getFileExplorerByRoomSelf</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getFileExplorerByRoomSelf (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Get a File Explorer Object by a given Room

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.app.data.file.dto.FileExplorerObject

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as logged in</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">Room Id</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/FileService/getFileExplorerByRoomSelf?SID=VALUE&room_id=VALUE">http://localhost:5080/openmeetings/services/FileService/getFileExplorerByRoomSelf?SID=VALUE&room_id=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getFileExplorerByParent" ><b>getFileExplorerByParent</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getFileExplorerByParent (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long parentFileExplorerItemId

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   Boolean isOwner

+    			       			    			       			     , 

+    			       			   Long owner_id

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Get FileExplorerItem list by parent folder

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.app.persistence.beans.files.FileExplorerItem[]

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as logged in</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">parentFileExplorerItemId</td>

+	                     <td valign="top">the parent folder id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">the room id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isOwner</td>

+	                     <td valign="top">true if its a private drive</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">owner_id</td>

+	                     <td valign="top">the owner id</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/FileService/getFileExplorerByParent?SID=VALUE&parentFileExplorerItemId=VALUE&room_id=VALUE&isOwner=VALUE&owner_id=VALUE">http://localhost:5080/openmeetings/services/FileService/getFileExplorerByParent?SID=VALUE&parentFileExplorerItemId=VALUE&room_id=VALUE&isOwner=VALUE&owner_id=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getFileExplorerByParentSelf" ><b>getFileExplorerByParentSelf</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getFileExplorerByParentSelf (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long parentFileExplorerItemId

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   Boolean isOwner

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Get FileExplorerItem[] by parent and owner id

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.app.persistence.beans.files.FileExplorerItem[]

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">SID The SID of the User. This SID must be marked as logged in</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">parentFileExplorerItemId</td>

+	                     <td valign="top">the parent folder id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">the room id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isOwner</td>

+	                     <td valign="top">true to request private drive</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/FileService/getFileExplorerByParentSelf?SID=VALUE&parentFileExplorerItemId=VALUE&room_id=VALUE&isOwner=VALUE">http://localhost:5080/openmeetings/services/FileService/getFileExplorerByParentSelf?SID=VALUE&parentFileExplorerItemId=VALUE&room_id=VALUE&isOwner=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="updateFileOrFolderName" ><b>updateFileOrFolderName</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>updateFileOrFolderName (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long fileExplorerItemId

+    			       			    			       			     , 

+    			       			   String fileName

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  update a file or folder name

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">SID The SID of the User. This SID must be marked as logged in</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">fileExplorerItemId</td>

+	                     <td valign="top">file or folder id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">fileName</td>

+	                     <td valign="top">new file or folder name</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/FileService/updateFileOrFolderName?SID=VALUE&fileExplorerItemId=VALUE&fileName=VALUE">http://localhost:5080/openmeetings/services/FileService/updateFileOrFolderName?SID=VALUE&fileExplorerItemId=VALUE&fileName=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="updateFileOrFolderNameSelf" ><b>updateFileOrFolderNameSelf</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>updateFileOrFolderNameSelf (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long fileExplorerItemId

+    			       			    			       			     , 

+    			       			   String fileName

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  update a file or folder name

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">SID The SID of the User. This SID must be marked as logged in</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">fileExplorerItemId</td>

+	                     <td valign="top">file or folder id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">fileName</td>

+	                     <td valign="top">new file or folder name</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/FileService/updateFileOrFolderNameSelf?SID=VALUE&fileExplorerItemId=VALUE&fileName=VALUE">http://localhost:5080/openmeetings/services/FileService/updateFileOrFolderNameSelf?SID=VALUE&fileExplorerItemId=VALUE&fileName=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="moveFile" ><b>moveFile</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>moveFile (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long fileExplorerItemId

+    			       			    			       			     , 

+    			       			   Long newParentFileExplorerItemId

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   Boolean isOwner

+    			       			    			       			     , 

+    			       			   Boolean moveToHome

+    			       			    			       			     , 

+    			       			   Long owner_id

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  move a file or folder

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">SID The SID of the User. This SID must be marked as logged in</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">fileExplorerItemId</td>

+	                     <td valign="top">current file or folder id to be moved</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">newParentFileExplorerItemId</td>

+	                     <td valign="top">new parent folder id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">room id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isOwner</td>

+	                     <td valign="top">if true owner id will be set</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">moveToHome</td>

+	                     <td valign="top">if true move to private drive</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">owner_id</td>

+	                     <td valign="top">owner id</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/FileService/moveFile?SID=VALUE&fileExplorerItemId=VALUE&newParentFileExplorerItemId=VALUE&room_id=VALUE&isOwner=VALUE&moveToHome=VALUE&owner_id=VALUE">http://localhost:5080/openmeetings/services/FileService/moveFile?SID=VALUE&fileExplorerItemId=VALUE&newParentFileExplorerItemId=VALUE&room_id=VALUE&isOwner=VALUE&moveToHome=VALUE&owner_id=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="moveFileSelf" ><b>moveFileSelf</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>moveFileSelf (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long fileExplorerItemId

+    			       			    			       			     , 

+    			       			   Long newParentFileExplorerItemId

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   Boolean isOwner

+    			       			    			       			     , 

+    			       			   Boolean moveToHome

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  move a file or folder

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">SID The SID of the User. This SID must be marked as logged in</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">fileExplorerItemId</td>

+	                     <td valign="top">current file or folder id to be moved</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">newParentFileExplorerItemId</td>

+	                     <td valign="top">new parent folder id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">room id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isOwner</td>

+	                     <td valign="top">if true owner id will be set</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">moveToHome</td>

+	                     <td valign="top">move to private drive</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/FileService/moveFileSelf?SID=VALUE&fileExplorerItemId=VALUE&newParentFileExplorerItemId=VALUE&room_id=VALUE&isOwner=VALUE&moveToHome=VALUE">http://localhost:5080/openmeetings/services/FileService/moveFileSelf?SID=VALUE&fileExplorerItemId=VALUE&newParentFileExplorerItemId=VALUE&room_id=VALUE&isOwner=VALUE&moveToHome=VALUE</a>

+    			</a>

+    		  </div>

+    	   			

+	

+	</body>

+</html>

+

diff --git a/docs/GeneralConfiguration.html b/docs/GeneralConfiguration.html
new file mode 100644
index 0000000..e0f29e3
--- /dev/null
+++ b/docs/GeneralConfiguration.html
@@ -0,0 +1,1189 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - List of general configuration options</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="List of general configuration options"><strong>List of general configuration options</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>In Administration &gt; Configuration there are a number of

+				configuration values.

+			</p>
+                                                <p />
+                                                <table>
+                        <tr>
+                        <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 key 
+            </font>
+</th>
+                                <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 default 
+            </font>
+</th>
+                                <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 meaning 
+            </font>
+</th>
+                                <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 availabe since OpenMeetings version 
+            </font>
+</th>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 user.login.minimum.length 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 4 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 minimum chars required for the login to create a

+						user

+					
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 1.9.x 
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 user.pass.minimum.length 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 4 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 minimum chars required for the password to create a

+						user

+					
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 1.9.x 
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 number.minutes.reminder.send 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 15 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 minutes the one-time reminder in the calender is

+						send, set to 0 to disable reminder

+					
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 1.9.x 
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 max_upload_size 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 1073741824 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 Maximum size of upload file (bytes) 1073741824 bytes

+						= 1GB

+					
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 1.8.x 
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 show.whiteboard.draw.status 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 0 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 Display name of the user who draw the current object

+						(User Name auto-disapper after 3 seconds.

+					
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 1.8.x 
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 use.old.style.ffmpeg.map.option 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 0 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 If the system should "." (old ffmpeg) instead of ":"

+						(new ffmpeg) for the -map option in FFMPEG

+					
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 1.9.x 
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 inviter.email.as.replyto 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 1 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 Set inviter's email address as ReplyTo in email invitations (1 == set, 0 == NOT set)	
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 2.0.x 
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 office.path 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 The path to OpenOffice/LibreOffice (optional) please set this to the real path in case jodconverter is unable to find OpenOffice/LibreOffice installation automatically	
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 2.0.x 
+            </font>
+</td>
+            </tr>
+            </table>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/GetVersionInfo.html b/docs/GetVersionInfo.html
new file mode 100644
index 0000000..da93446
--- /dev/null
+++ b/docs/GetVersionInfo.html
@@ -0,0 +1,1003 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - How to check which Openmeetings version running</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="How to check which Openmeetings version running"><strong>How to check which Openmeetings version running</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>If you need to know what version of OpenMeetings you are running,

+				you can check that by the file: openmeetings.jar

+			</p>
+                                                <p>

+				Unzip: /webapps/openmeetings/WEB-INF/lib/openmeetings.jar (jars are

+				zips)

+				<br />

+				<br />

+				In the resulting unziped folder open the file to read:

+				/META-INF/MANIFEST.MF

+			</p>
+                                                <p>You get something like this: </p>
+                                                <div class="xmlcode">

+				Manifest-Version: 1.0

+				<br />

+				Ant-Version: Apache Ant 1.8.2

+				<br />

+				Created-By: 1.6.0_26-b03-383-11A511 (Apple Inc.)

+				<br />

+				Built-By: OpenMeetings - http://openmeetings.googlecode.com

+				<br />

+				Built-On: 23-October-2011

+				<br />

+				Svn-Revision: 4368

+				<br />

+			</div>
+                                                <p>This version info is available since version 1.8.0. If you have an

+				older version as version 1.8.0 then you might simply check the

+				language files and the labelid in there, the numbers of labels are

+				almost always unique in the versions. </p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/IBMDB2Config.html b/docs/IBMDB2Config.html
new file mode 100644
index 0000000..abb2e44
--- /dev/null
+++ b/docs/IBMDB2Config.html
@@ -0,0 +1,1062 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			Apache OpenMeetings Documentation Team
+		">
+            <meta name="email" value="sebawagner@incubator.apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - IBM DB2 Configuration</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="IBM DB2 Configuration"><strong>IBM DB2 Configuration</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                        <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Before you start"><strong>Before you start</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <i>Tested with IBM DB2 Express-C 9.7.x</i>
+                                                <ul>

+					<li>

+						Get the IBM Data Server Driver for JDBC and SQLJ from IBM website:

+						<a href="https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?source=swg-idsdjs">https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?source=swg-idsdjs

+						</a>

+					</li>

+					<li>Copy JDBC driver db2jcc4.jar to

+						webapps/openmeetings/WEB-INF/lib/

+					</li>

+					<li>

+						Create database for OpenMeetings using a pagesize bigger or equal

+						8K, sample query:

+						<br />

+						<div class="xmlcode">

+							CREATE DATABASE openmeet AUTOMATIC STORAGE YES ON 'C:' DBPATH ON 'C:'

+							USING CODESET UTF-8 TERRITORY DE COLLATE USING System PAGESIZE 16

+							K

+						</div>

+					</li>

+					<li>If you encounter issues, you can drop the db again and delete

+						the file $red5/webapps/openmeetings/conf/install.xml and then run

+						the web based installer again </li>

+				</ul>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Steps todo"><strong>Steps todo</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <ul>

+					<li>

+						Rename:

+						<br />

+						$red5/webapps/openmeetings/WEB-INF/classes/META-INF/db2_persistence.xml

+						<br />

+						to

+						<br />

+						$red5/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

+					</li>

+					<li>

+						Prepare Database Settings - go to

+						openmeetings_version_no_xx/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

+						<br />

+						Alter config values in persistence.xml connectionURL, username and

+						password with your values

+					</li>

+					<li>

+						Run red5-service and goto the web-based installer:

+						http://localhost:5080/openmeetings/install

+					</li>

+				</ul>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="DB2 Sample Configuration"><strong>DB2 Sample Configuration</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+					There is a sample configuration for IBM DB2 that ships with

+					every

+					release in:

+					<br />

+					/webapps/openmeetings/WEB-INF/classes/META-INF/db2_persistence.xml

+				</p>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/Internationalisation.html b/docs/Internationalisation.html
new file mode 100644
index 0000000..712a2a1
--- /dev/null
+++ b/docs/Internationalisation.html
@@ -0,0 +1,1028 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Upgrade</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Where to find language files"><strong>Where to find language files</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>You can find all current language files here: </p>
+                                                <p>

+				<a href="https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/WebContent/languages/" rel="nofollow">https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/WebContent/languages/

+				</a>

+			</p>
+                                                <p>Just take one file and translate it to your language. </p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Import and export of Language Files"><strong>Import and export of Language Files</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <ul>

+				<li>

+					Use the

+					<a href="LanguageEditor.html">LanguageEditor</a>

+					for translation

+				</li>

+				<li>

+					with the

+					<a href="LanguageEditor.html">LanguageEditor</a>

+					you can import and export Language Files

+				</li>

+			</ul>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="How to add it as installation option"><strong>How to add it as installation option</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				Once you have finished the translation you can add a new node to:

+				<a href="https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/WebContent/languages/languages.xml" rel="nofollow">https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/WebContent/languages/languages.xml

+				</a>

+			</p>
+                                                <p>the name of the language should match the name of the file. Once

+				this is done the Language file will automatically be imported during

+				installation and will be an option at login.

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/JUnitTesting.html b/docs/JUnitTesting.html
new file mode 100644
index 0000000..427ac84
--- /dev/null
+++ b/docs/JUnitTesting.html
@@ -0,0 +1,1060 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - JUnit Testing</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Introduction"><strong>Introduction</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				Automatic tests are the significant part of development process.

+				Below is the instruction of how to run Openmeetings

+				<a href="http://junit.org" rel="nofollow">JUnit</a>

+				tests.

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Details"><strong>Details</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <ol>

+				<li>running tests using command line: </li>

+				<ul>

+					<li>all tests: </li>

+					<div class="xmlcode">

+						ant test

+					</div>

+					<li>subset of tests by mask: </li>

+					<div class="xmlcode">

+						ant -Dtestcases=TestError* test

+					</div>

+				</ul>

+				<li>running tests from Eclipse IDE: </li>

+				<ul>

+					<li>

+						<div class="xmlcode">

+							ant -Ddb=&lt;your_DB&gt; prepare-eclipse

+						</div>

+					</li>

+					<li>Start Eclipse </li>

+					<li>Load workspace with Openmeetings project (or refresh existing

+						project)

+					</li>

+					<li>Select "Debug Configurations..." </li>

+				</ul>

+			</ol>
+                                                <p>

+				<a class="fancybox-buttons" data-fancybox-group="button" href="images/DebugConfigurations.png">

+					<img src="images/DebugConfigurations.png" alt="" width="367" height="262" />

+				</a>

+			</p>
+                                                <ul>

+				<li>Create New Junit configuration, give it a name and select test

+					class

+				</li>

+			</ul>
+                                                <p>

+				<a class="fancybox-buttons" data-fancybox-group="button" href="images/NewConfiguration.png">

+					<img src="images/NewConfiguration.png" alt="" width="420" height="206" />

+				</a>

+			</p>
+                                                <ul>

+				<li>Select Arguments tab </li>

+				<li>Add the following code to the VM section </li>

+				<div class="xmlcode">

+					-javaagent:${workspace_loc:Openmeetings}/build/lib/om/openjpa-bundle-2.2.0.jar

+					-Dwebapps.root=${workspace_loc:Openmeetings}/dist/red5/webapps/openmeetings

+				</div>

+				<li>To avoid temporary files being created in OM root, modify

+					"Working Directory" as follows</li>

+				<div class="xmlcode">${workspace_loc:Openmeetings}/build/junit</div>

+			</ul>
+                                                <p>

+				<a class="fancybox-buttons" data-fancybox-group="button" href="images/Arguments.png">

+					<img src="images/Arguments.png" alt="" width="435" height="410" />

+				</a>

+			</p>
+                                                <ul>

+				<li>Select Debug </li>

+

+			</ul>
+                                                <ul>

+				<li>Note: You need a file called "persistence.xml" in src/META-INF

+					if you run the JUnit test from inside Eclipse. Normally "ant

+					prepare-eclipse" should do that for you. </li>

+

+			</ul>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/JVMPerformanceTuning.html b/docs/JVMPerformanceTuning.html
new file mode 100644
index 0000000..5f36382
--- /dev/null
+++ b/docs/JVMPerformanceTuning.html
@@ -0,0 +1,1011 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Performance Tuning</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Performance Tuning"><strong>Performance Tuning</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>To use the optimum of performance from your server there is a

+				start-script for red5 available that does some basic settings in the

+				JVM. It is called red5-highperf.sh. It is recommended to use that

+				script for production and high-load scenarios.

+			</p>
+                                                <div class="xmlcode">

+				#!/bin/bash

+				<br />

+				<br />

+				if [ -z "$RED5_HOME" ]; then export RED5_HOME=.; fi

+				<br />

+				<br />

+				# Previous option set

+				<br />

+				export JAVA_OPTS="-Xrs -Xms512M -Xmx1024M -Xss128K -XX:NewSize=256m

+				-XX:SurvivorRatio=16 -XX:MinHeapFreeRatio=20

+				-XX:+ExplicitGCInvokesConcurrent -Djava.net.preferIPv4Stack=true

+				-Xverify:none"

+				<br />

+				<br />

+				# start Red5

+				<br />

+				echo "Setting Hi Performance Options"

+				<br />

+				exec $RED5_HOME/red5.sh &gt;&gt; $RED5_HOME/log/jvm.stdout 2&gt;&amp;1 &amp;

+				<br />

+			</div>
+                                                <p>You have to exclude the "-XX:+UseConcMarkSweepGC" param from the

+				default red5-highperf.sh to make it functional! However if you are a

+				performance expert you might also play with the values to find

+				perfect matches for your use-case.

+			</p>
+                                                <p>

+				For a complete overview about possible arguments and their meaning

+				see:

+				<a href="http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html#PerformanceTuning" rel="nofollow">http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html#PerformanceTuning

+				</a>

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/JabberService.html b/docs/JabberService.html
new file mode 100644
index 0000000..59b60b3
--- /dev/null
+++ b/docs/JabberService.html
@@ -0,0 +1,234 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

+<!--

+Copyright 1999-2004 The Apache Software Foundation

+Licensed under the Apache License, Version 2.0 (the "License");

+you may not use this file except in compliance with the License.

+You may obtain a copy of the License at

+

+http://www.apache.org/licenses/LICENSE-2.0

+

+Unless required by applicable law or agreed to in writing, software

+distributed under the License is distributed on an "AS IS" BASIS,

+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+See the License for the specific language governing permissions and

+limitations under the License.

+-->

+

+    <!-- ====================================================================== -->

+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE TEMPLATE INSTEAD! -->

+    <!-- Main Page Section -->

+    <!-- ====================================================================== -->

+    

+     <html>

+        <head>

+		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>

+		<meta name="author" value="OpenMeetings Team">

+		<meta name="email" value="sebawagner@apache.org">

+		<title>OpenMeetings API Methods</title>

+		<link rel="stylesheet" type="text/css" href="openmeetings_docs.css">

+        </head>

+	<body>

+	

+		<h3>Available WebServices:</h3>

+	

+		<iframe src="WebserviceIndex.html" width="100%" height="180" name="WebserviceIndex.html"

+			scrolling="no" marginheight="0" marginwidth="0" frameborder="0">

+		  <p>Your Browser does not support frames ...</p>

+		</iframe>

+		

+		<hr />

+	

+	   <h3>WebService: JabberService</h3>

+	   <p>This class provides method implementations necessary for OM to Jabber integration.<p>

+	   <p>WSDL sample Url: <a href="http://localhost:5080/openmeetings/services/JabberService?wsdl">http://localhost:5080/openmeetings/services/JabberService?wsdl</a><p>

+	

+	<!-- Links to Methods -->

+	   <h3>Index of Methods available in JabberService</h3>

+	   

+       <div class="navigation">

+	                               <div>

+                <a href="#getAvailableRooms"><b>getAvailableRooms</b></a><br/>

+                <div class="navigation_comment"><i >Get List<Rooms> of all rooms available to the user.
+ No admin rights are necessary for this call</i></div>

+                </div>

+                                               <div>

+                <a href="#getUserCount"><b>getUserCount</b></a><br/>

+                <div class="navigation_comment"><i >Returns the count of users currently in the Room with given id
+ No admin rights are necessary for this call</i></div>

+                </div>

+                                               <div>

+                <a href="#getInvitationHash"><b>getInvitationHash</b></a><br/>

+                <div class="navigation_comment"><i >Get invitation hash for the room with given id
+ No admin rights are necessary for this call</i></div>

+                </div>

+                           </div>

+	   

+	    <h3>Methods Details in JabberService</h3>

+	

+				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getAvailableRooms" ><b>getAvailableRooms</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getAvailableRooms (

+    			    			    			       			   String SID

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Get List<Rooms> of all rooms available to the user.
+ No admin rights are necessary for this call

+    			</p>

+    			<p>

+                  Return Type: java.util.List

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID from UserService.getSession</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    												<a href="http://localhost:5080/openmeetings/services/JabberService/getAvailableRooms?SID=VALUE">http://localhost:5080/openmeetings/services/JabberService/getAvailableRooms?SID=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getUserCount" ><b>getUserCount</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getUserCount (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long roomId

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Returns the count of users currently in the Room with given id
+ No admin rights are necessary for this call

+    			</p>

+    			<p>

+                  Return Type: int

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID from UserService.getSession</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">roomId</td>

+	                     <td valign="top">id of the room to get users</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/JabberService/getUserCount?SID=VALUE&roomId=VALUE">http://localhost:5080/openmeetings/services/JabberService/getUserCount?SID=VALUE&roomId=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getInvitationHash" ><b>getInvitationHash</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getInvitationHash (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String username

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Get invitation hash for the room with given id
+ No admin rights are necessary for this call

+    			</p>

+    			<p>

+                  Return Type: java.lang.String

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID from UserService.getSession</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">username</td>

+	                     <td valign="top">The name of invited user, will be displayed in the rooms user list</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">id of the room to get users</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/JabberService/getInvitationHash?SID=VALUE&username=VALUE&room_id=VALUE">http://localhost:5080/openmeetings/services/JabberService/getInvitationHash?SID=VALUE&username=VALUE&room_id=VALUE</a>

+    			</a>

+    		  </div>

+    	   			

+	

+	</body>

+</html>

+

diff --git a/docs/JiraPlugin.html b/docs/JiraPlugin.html
new file mode 100644
index 0000000..3303de8
--- /dev/null
+++ b/docs/JiraPlugin.html
@@ -0,0 +1,1021 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="eugen.schwert@gmail.com">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Jira Plugin</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Jira Plugin for OpenMeetings"><strong>Jira Plugin for OpenMeetings</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				Current Development Snapshots for testing can be downloaded from:

+				<a href="https://svn.apache.org/repos/asf/incubator/openmeetings/branches/jira-plugin/target/openmeetings-1.0-SNAPSHOT.jar">here</a>

+				.

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Features"><strong>Features</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>The plugin contains the following features: </p>
+                                                <ul>

+				<li>Create videoconference rooms through Jira: </li>

+				<ol>

+					<li>Integrated with Jira issues </li>										

+					<li>Configurable room type </li>

+				</ol>

+			</ul>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Demo video"><strong>Demo video</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>The demo video of Jira plugin show you the plugin in action </p>
+                                                <object style="height: 390px; width: 640px">

+			      <param name="movie" value="http://www.youtube.com/v/xBdYj-OZvlc?version=3&amp;feature=player_detailpage" />

+			      <param name="allowFullScreen" value="true" />

+			      <param name="allowScriptAccess" value="always" />

+			      <embed src="http://www.youtube.com/v/xBdYj-OZvlc?version=3&amp;feature=player_detailpage" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360" />

+		      </object>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/LanguageEditor.html b/docs/LanguageEditor.html
new file mode 100644
index 0000000..2bb1e88
--- /dev/null
+++ b/docs/LanguageEditor.html
@@ -0,0 +1,999 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Language Editor</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Language Editor"><strong>Language Editor</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>Features:</p>
+                                                <ul>

+				<li>edit the labels of any language, changes will take effect as

+					soon as you re-login

+				</li>

+				<li>add new languages (for example to fit your co-operative design

+					and language of your company)

+				</li>

+				<li>export the language-files to an XML File (these language Files

+					can be used for your next installation or as contribution to the

+					project)

+				</li>

+				<li>

+					import of language files (

+					<i>you should restart the server if you face problems, as the

+						database cache might be invalid

+					</i>

+					)

+				</li>

+			</ul>
+                                                <p>Screen from the Administration Panel: </p>
+                                                <p>

+				<a class="fancybox-buttons" data-fancybox-group="button" href="images/langeditor_screen_v2.png">

+					<img src="images/langeditor_screen_v2.png" alt="" width="475" height="324" />

+				</a>

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/LdapAndADS.html b/docs/LdapAndADS.html
new file mode 100644
index 0000000..de63c48
--- /dev/null
+++ b/docs/LdapAndADS.html
@@ -0,0 +1,998 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			Sebastian Wagner
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Home</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="LDAP and Active Directory Integration"><strong>LDAP and Active Directory Integration</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p> In: $RED5_HOME/webapps/openmeetings/conf<br />

+

+				you will find sample configurations for LDAP and Active Directory. The

+				nature of those Directory Servers are that they are individual for

+				every organization, so you have to modify of course at least the

+				path to your user-base et cetera.<br />

+				<br />

+				To activate any of those configurations you have to login into

+				OpenMeetings, goto Administration &gt; Ldap.

+			</p>
+                                                <a class="fancybox-buttons" data-fancybox-group="button" href="images/ldap_screen.png">

+					<img src="images/ldap_screen.png" alt="" width="442" height="282" />

+				</a>
+                                                <p>

+				Import is that you configure LDAP_SEARCH_PATH so that it points to the node of your directory server that contains the users

+			</p>
+                                                <p>

+				If you have multiple search paths you can either try to define a search path that points to multiple nodes or define multiple ldap configurations.

+			</p>
+                                                <p>

+				Successful integration is also reported with Novell eDirectory

+			</p>
+                                                <p>

+				You can configure multiple domains or different user-paths in the Administration of OpenMeetings. 

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/MoodlePlugin.html b/docs/MoodlePlugin.html
new file mode 100644
index 0000000..6b6e5f5
--- /dev/null
+++ b/docs/MoodlePlugin.html
@@ -0,0 +1,1016 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Moodle Plugin</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Moodle Plugin for OpenMeetings"><strong>Moodle Plugin for OpenMeetings</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				You can get the latest Version of the Plugin for Moodle from the

+				<a href="downloads.html">downloads</a>

+				.

+			</p>
+                                                <p>

+				You can find the OpenMeetings Plugin also in the

+				<a href="http://moodle.org/plugins/view.php?plugin=mod_openmeetings" target="_BLANK" rel="nofollow">Moodle Plugin database</a>

+				.

+			</p>
+                                                <p>

+				A demo version of the Moodle plugin is available at

+				<a href="http://moodle.openmeetings.de" target="_BLANK" rel="nofollow">moodle.openmeetings.de

+				</a>

+				.

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Installation the Moodle Plugin for OpenMeetings"><strong>Installation the Moodle Plugin for OpenMeetings</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				You simply download the ZIP package and unzip it to Moodle's mod

+				directory.

+				<br />

+				The you visit the admin interface of Moodle, for example

+				<a href="http://$your_moodle_host/$MOODLE_WWW_ROOT/admin" target="_BLANK" rel="nofollow">http://$your_moodle_host/$MOODLE_WWW_ROOT/admin</a>

+			</p>
+                                                <p>In Moodle's module configuration web-interface you will find the

+				Plugin's configuration

+			</p>
+                                                <a class="fancybox-buttons" data-fancybox-group="button" href="images/moodle_plugin_conference.png">

+				<img src="images/moodle_plugin_conference.png" alt="" width="500" height="400" />

+			</a>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/MySQLConfig.html b/docs/MySQLConfig.html
new file mode 100644
index 0000000..87209f5
--- /dev/null
+++ b/docs/MySQLConfig.html
@@ -0,0 +1,1061 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			Apache OpenMeetings Documentation Team
+		">
+            <meta name="email" value="sebawagner@incubator.apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - MySQL Configuration</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="MySQL Configuration"><strong>MySQL Configuration</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                        <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Before you start"><strong>Before you start</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <ul>

+					<li>Make sure that you have set utf8 as

+						default/server-character-set in your MySQL configuration (my.cnf)

+						before you start the installation process of OpenMeetings!

+					</li>

+					<li>

+						make sure MySQL is listening on TCP/IP connections!

+						<br />

+						To verify if MySQL connection is working: OpenMeetings will

+						automatically create all tables in the database and all tables

+						should have utf8 as encoding/collation!

+					</li>

+					<li>If you encounter issues, you can drop the db again and delete

+						the file $red5/webapps/openmeetings/conf/install.xml and then run

+						the web based installer again

+					</li>

+				</ul>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Steps todo"><strong>Steps todo</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <ul>

+					<li>

+						You need to download the JConnector from mysql

+						<a href="http://www.mysql.de/products/connector/" target="_BLANK" rel="nofollow">http://www.mysql.de/products/connector/</a>

+						and place it into:

+						<tt>$red5/webapps/openmeetings/WEB-INF/lib/</tt>

+					</li>

+					<li>

+						Rename:

+						<br />

+						$red5/webapps/openmeetings/WEB-INF/classes/META-INF/mysql_persistence.xml

+						<br />

+						to

+						<br />

+						$red5/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

+					</li>

+					<li>

+						Prepare Database Settings - go to

+						openmeetings_version_no_xx/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

+						<br />

+						Alter config values in persistence.xml DB_HOST USER_NAME USER_PASS

+						with your values

+					</li>

+					<li>

+						Run red5-service and goto the web-based installer:

+						http://localhost:5080/openmeetings/install

+					</li>

+				</ul>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="MySQL Sample Configuration"><strong>MySQL Sample Configuration</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+					There is a sample configuration for MySQL that ships with

+					every

+					release in:

+					<br />

+					/webapps/openmeetings/WEB-INF/classes/META-INF/mysql_persistence.xml

+				</p>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/Navigation.html b/docs/Navigation.html
new file mode 100644
index 0000000..3fa6ecc
--- /dev/null
+++ b/docs/Navigation.html
@@ -0,0 +1,987 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Change main navigation</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Changing the main navigation"><strong>Changing the main navigation</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>To customize the main menu (for example remove entries or changing

+				the order) you can edit the tables:  </p>
+                                                <ul>

+				<li>navimain </li>

+				<li>naviglobal </li>

+				<li>navisub (currently not in use) </li>

+			</ul>
+                                                <p />
+                                                <p>

+				You need to make sure that you

+				<strong>restart red5 after doing changes to the database</strong>

+				, there is a database cache, so changes might not take affect as

+				long as you did not restart.

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/OpenOfficeConverter.html b/docs/OpenOfficeConverter.html
new file mode 100644
index 0000000..567cf1b
--- /dev/null
+++ b/docs/OpenOfficeConverter.html
@@ -0,0 +1,998 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - OpenOffice converter for OpenMeetings</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="OpenOffice Service for OpenMeetings"><strong>OpenOffice Service for OpenMeetings</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				To import .doc, .docx, .odp, .xls, .xlsx, .ppt, .pptx, ... [ all

+				files that you can open with OpenOffice ]

+				to OpenMeetings and use

+				them in the whiteboard you need OpenOffice or LibreOffice

+				installed

+				the machine that runs OpenMeetings.

+			</p>
+                                                <p>

+				<i>Since Version 2.0 of OpenMeetings starting of

+					OpenOffice/LibreOffice as service in not required, JODConverter

+					will automatically start and shut down the service!

+				</i>

+			</p>
+                                                <p>

+				Installation of JODConverter means: You donwload the ZIP binary from

+				their

+				<a href="http://code.google.com/p/jodconverter/" target="_BLANK" ref="nofollow">website</a>

+				and then configure in Apache OpenMeetings Administration &gt;

+				Configuration (or during installation) the config key

+				<tt>jod.path</tt>

+				to point to the "lib" directory of the unpacked JODConverter binary.

+				There is no restart of OpenMeetings required.

+			</p>
+                                                <p>You should use an OpenOffice version greater 3</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/OracleConfig.html b/docs/OracleConfig.html
new file mode 100644
index 0000000..3762a75
--- /dev/null
+++ b/docs/OracleConfig.html
@@ -0,0 +1,1047 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			Apache OpenMeetings Documentation Team
+		">
+            <meta name="email" value="sebawagner@incubator.apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - IBM DB2 Configuration</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="IBM DB2 Configuration"><strong>IBM DB2 Configuration</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                        <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Before you start"><strong>Before you start</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <ul>

+					<li>Download the latest JDBC Driver from Oracle for your database

+						version. Place those JARs into

+						$Red5/webapps/openmeetings/WEB-INF/lib

+					</li>

+					<li>If you encounter issues, you can drop the db again and delete

+						the file $red5/webapps/openmeetings/conf/install.xml and then run

+						the web based installer again

+					</li>

+				</ul>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Steps todo"><strong>Steps todo</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <ul>

+					<li>

+						Rename:

+						<br />

+						$red5/webapps/openmeetings/WEB-INF/classes/META-INF/oracle_persistence.xml

+						<br />

+						to

+						<br />

+						$red5/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

+					</li>

+					<li>

+						Prepare Database Settings - go to

+						openmeetings_version_no_xx/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

+						<br />

+						Alter config values in persistence.xml connectionURL, username and

+						password with your values

+					</li>

+					<li>

+						Run red5-service and goto the web-based installer:

+						http://localhost:5080/openmeetings/install

+					</li>

+				</ul>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Oracle Sample Configuration"><strong>Oracle Sample Configuration</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+					There is a sample configuration for Oracle that ships with

+					every release in:

+					<br />

+					/webapps/openmeetings/WEB-INF/classes/META-INF/oracle_persistence.xml

+				</p>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/PortSettings.html b/docs/PortSettings.html
new file mode 100644
index 0000000..54e631a
--- /dev/null
+++ b/docs/PortSettings.html
@@ -0,0 +1,1144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Port settings</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Default Configuration"><strong>Default Configuration</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <ul>

+				<li>Port 5080: HTTP (For example for file upload and download) </li>

+				<li>Port 1935: RTMP (Flash Stream and Remoting/RPC) </li>

+				<li>Port 8088: RTMP over HTTP-Tunneling (rtmpT) </li>

+			</ul>
+                                                <p>Additionally red5 uses some ports internally. However those ports

+				are not in use by OpenMeetings by default.

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Configure alternative ports"><strong>Configure alternative ports</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>You need to change two files: </p>
+                                                <ul>

+				<li>Server-Side configuration: $RED5_HOME/conf/red5.properties, you

+					need to restart the red5-service so that changes are online.

+				</li>

+				<li>Client-Side configuration:

+					$RED5_HOME/webapps/openmeetings/config.xml, you need to clear your

+					browser cache after changing the file.

+				</li>

+				<blockquote>Every server side configuration has a client side

+					representive

+				</blockquote>

+			</ul>
+                                                <p />
+                                                <table>
+                        <tr>
+                        <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 Config-Name 
+            </font>
+</th>
+                                <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 Default-value 
+            </font>
+</th>
+                                <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 Name in red5.properties 
+            </font>
+</th>
+                                <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 Name in config.xml 
+            </font>
+</th>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 HTTP 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 5080 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 http.port 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 red5httpport 
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 RTMP 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 1935 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 rtmp.port 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 rtmpport 
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 RTMPT 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 8088 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 rtmpt.host 
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                 rtmpTunnelport 
+            </font>
+</td>
+            </tr>
+            </table>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Preventing Firewall issues"><strong>Preventing Firewall issues</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>A common way of bypassing the firewall is to change HTTP port to

+				80 and rtmpT to 443.

+			</p>
+                                                <p>A short description about the connection mechanism: The

+				application first tries connecting to rtmp 3 times, because rtmp is

+				the protocol that is less performance hungry. If that fails the

+				application will fallback to rtmpT.

+			</p>
+                                                <p>Most firewalls do allow traffic on port 443 and they normally do

+				not analyse the packets, because 443 is normally SSL encrypted, so

+				the firewall should not be able to read the packets at all.

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="OpenMeetings over SSL"><strong>OpenMeetings over SSL</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				You can run OpenMeetings completely over SSL. See

+				<a href="RTMPSAndHTTPS.html">RTMPSAndHTTPS</a>

+				.

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/PostgresConfig.html b/docs/PostgresConfig.html
new file mode 100644
index 0000000..c624f08
--- /dev/null
+++ b/docs/PostgresConfig.html
@@ -0,0 +1,1053 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			Apache OpenMeetings Documentation Team
+		">
+            <meta name="email" value="sebawagner@incubator.apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Postgres Configuration</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Postgres Configuration"><strong>Postgres Configuration</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                        <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Before you start"><strong>Before you start</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <ul>

+					<li>Make sure that you have set utf8 as default/server-character-set 

+					</li>

+					<li>

+						make sure Postgres is listening on TCP/IP connections!

+						<br />

+						To verify if Postgres connection is working: OpenMeetings will

+						automatically create all tables in the database and all tables

+						should have utf8 as encoding/collation!

+					</li>

+					<li>If you encounter issues, you can drop the db again and delete

+						the file $red5/webapps/openmeetings/conf/install.xml and then run

+						the web based installer again

+					</li>

+				</ul>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Steps todo"><strong>Steps todo</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <ul>

+					<li>

+						Rename:

+						<br />

+						$red5/webapps/openmeetings/WEB-INF/classes/META-INF/postgres_persistence.xml

+						<br />

+						to

+						<br />

+						$red5/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

+					</li>

+					<li>

+						Prepare Database Settings - go to

+						openmeetings_version_no_xx/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

+						<br />

+						Alter config values in persistence.xml DB_HOST USER_NAME USER_PASS

+						with your values

+					</li>

+					<li>

+						Run red5-service and goto the web-based installer:

+						http://localhost:5080/openmeetings/install

+					</li>

+				</ul>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Postgres Sample Configuration"><strong>Postgres Sample Configuration</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+					There is a sample configuration for Postgres that ships with

+					every

+					release in:

+					<br />

+					/webapps/openmeetings/WEB-INF/classes/META-INF/postgres_persistence.xml

+				</p>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/RTMPSAndHTTPS.html b/docs/RTMPSAndHTTPS.html
new file mode 100644
index 0000000..0e3dc18
--- /dev/null
+++ b/docs/RTMPSAndHTTPS.html
@@ -0,0 +1,1179 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Using OpenMeetings with RTMPS and HTTPS</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Using OpenMeetings with RTMPS and HTTPS"><strong>Using OpenMeetings with RTMPS and HTTPS</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>There are 3 ways the client communicates with the server: </p>
+                                                <ul>

+				<li>The flash-client uses RTMP protocol to transfer Audio/Video and

+					to send and receive the user data (login et cetera) to the server

+					and back

+				</li>

+				<li>The browser uses HTTP protocol to load the SWF and to upload and

+					download the files (documents, pdfs, images) to the server and

+					back.

+				</li>

+				<li>The screensharing client uses RTMP protocol to transfer screen

+					data and remote control to the server and back

+				</li>

+			</ul>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Prerequisites"><strong>Prerequisites</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <ul>

+				<li>You need OpenMeetings 1.9.x for this, OpenMeetings 1.8.x does

+					not

+					have those options.

+				</li>

+				<li>Install OpenMeetings according to the install instructions and

+					check that it runs without problems

+				</li>

+				<li>Rename the existing keystore file red5/conf/keystore to

+					keystore.bak

+				</li>

+			</ul>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Configuring RTMPS for the Flash Client"><strong>Configuring RTMPS for the Flash Client</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <ol>

+				<li>

+					Create a new keystore and key, use the same password for both:<br />

+					(copied from

+					<a href="http://trac.red5.org/wiki/Documentation/Tutorials/Red5DeveloperTips/SSLTLS%29:" rel="nofollow">http://trac.red5.org/wiki/Documentation/Tutorials/Red5DeveloperTips/SSLTLS):</a>

+					<div class="xmlcode">

+						keytool -keysize 2048 -genkey -alias red5 -keyalg RSA -keystore red5/conf/keystore<br />

+						Enter keystore password:<br />

+						Re-enter new password:<br />

+						What is your first and last name?<br />

+						[Unknown]:  &lt;your hostname, e.g demo.openmeetings.de&gt;<br />

+						What is the name of your organizational unit?<br />

+						[Unknown]:  Dev<br />

+						What is the name of your organization?<br />

+						[Unknown]:  OpenMeetings<br />

+						What is the name of your City or Locality?<br />

+						[Unknown]:  Henderson<br />

+						What is the name of your State or Province?<br />

+						[Unknown]:  Nevada<br />

+						What is the two-letter country code for this unit?<br />

+						[Unknown]:  US<br />

+						Is CN=demo.openmeetings.de, OU=Dev, O=OpenMeetings, L=Henderson, ST=Nevada, C=US correct?<br />

+						[no]:  yes<br />

+						Enter key password for &lt;red5&gt;<br />

+					</div>

+				</li>

+		

+				<li>Generate a CSR: keytool -certreq -keyalg RSA -alias red5 -file

+					red5.csr -keystore red5/conf/keystore

+				</li>

+				<li>Submit CSR to your CA of choice and receive a signed certificate

+				</li>

+				<li>Import your chosen CA's root certificate into the keystore (may

+					need to download it from their site - make sure to get the root CA and

+					not the intermediate one): keytool -import -alias root -keystore

+					red5/conf/keystore

+					-trustcacerts -file root.crt (note: you may receive a warning that

+					the certificate already exists in the system wide keystore - import

+					anyway)

+				</li>

+				<li>Import the intermediate certificate(s) you normally receive with

+					the certificate:

+					keytool -import -alias intermed -keystore red5/conf/keystore -trustcacerts

+					-file intermediate.crt

+				</li>

+				<li>Import the certificate you received: keytool -import -alias red5

+					-keystore red5/conf/keystore -trustcacerts -file

+					demo.openmeetings.de.crt

+				</li>

+                <li>

+                Create additional certificate as described above.

+                Add this certificate to the following keystores: <tt>red5/conf/keystore.screen</tt> and <tt>red5/conf/keystore</tt>.

+                </li>

+			</ol>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Set up RTMPS"><strong>Set up RTMPS</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <ol>

+		      <li>

+		      Uncomment <tt>&lt;!-- RTMPS --&gt;</tt> section in <tt>red5/conf/red5-core.xml</tt>

+		      </li>

+

+				<li>

+					Edit <tt>red5/conf/red5.properties</tt> and set

+					<tt>rtmps.port=5443</tt>

+					and

+					<tt>rtmps.keystorepass=password</tt>

+					(password = password you set on your new

+					keystore)

+				</li>

+			

+				<li>

+					Edit red5/webapps/openmeetings/config.xml and set

+					<tt>&lt;rtmpsslport&gt;5443&lt;/rtmpsslport&gt;</tt>

+					,

+					<tt>&lt;useSSL&gt;yes&lt;/useSSL&gt;</tt>

+					and

+					<tt>&lt;proxyType&gt;best&lt;/proxyType&gt;</tt>

+				</li>

+

+				<li>Restart red5 and try to connect - your connection should now be

+					made via RTMPS (close port 1935 to be sure)

+				</li>   

+					  

+		  </ol>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="SSL for the web interface"><strong>SSL for the web interface</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>If you want to use SSL for the web interface in addition to RTMPS,

+				you need to make some further modifications. This is mainly to secure

+				the server against MITM attacks, additionally some other features

+				like file uploads also use a plain HTTP connection if this is not

+				done. The following instructions assume that you have already set up

+				RTMPS successfully. </p>
+                                                <ol>

+				<li>

+					Copy this

+					<a href="http://openmeetings.googlecode.com/svn/docs/jee-container-ssl.xml" rel="nofollow">jee-container-ssl.xml</a>

+					file to red5/conf/jee-container.xml

+				</li>

+				<li>

+					Edit red5/webapps/openmeetings/config.xml and set

+					<tt>&lt;protocol&gt;https&lt;/protocol&gt;</tt>

+				</li>

+				<li>Edit red5/conf/red5.properties and set <tt>https.port=443</tt> </li>

+				<li>

+					Restart red5 and try to connect to

+					<a href="https://your.server" rel="nofollow">https://your.server</a>

+					- you should be redirected to the OpenMeetings

+					<a href="/p/openmeetings/w/edit/OpenMeetings">?</a>

+					app and all access should be via HTTPS or RTMPS (close port 5080 to

+					be sure).

+				</li>

+            </ol>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Credits"><strong>Credits</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>Credits goto: Nexus and Holger Rabbach for their help and

+				contribution and configuration documention! </p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/RestAPISample.html b/docs/RestAPISample.html
new file mode 100644
index 0000000..2ad5d66
--- /dev/null
+++ b/docs/RestAPISample.html
@@ -0,0 +1,1037 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			Sebastian Wagner
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Home</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Introduction"><strong>Introduction</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p> For a detailed instruction which services, methods and params are available see the list in the SoapMethods. ALL methods that are implemented for the SOAP API are also available via REST. 

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="How to invoke Services via REST"><strong>How to invoke Services via REST</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>For example for the method getSession in the UserService, you would use this URL via REST:

+			</p>
+                                                <p>Sample URL: </p>
+                                                <a href="http://demo.openmeetings.de/openmeetings/services/UserService/getSession">http://demo.openmeetings.de/openmeetings/services/UserService/getSession</a>
+                                                <p>Result: </p>
+                                                <div class="xmlcode">

+				&lt;ns:getSessionResponse/&gt;<br />

+				&lt;ns:return type="org.openmeetings.app.hibernate.beans.basic.Sessiondata"/&gt;<br />

+				<div style="margin-left:20px">

+					&lt;ax219:id&gt;156971&lt;/ax219:id/&gt;<br />

+					&lt;ax219:language_id xsi:nil="true"//&gt;<br />

+					&lt;ax219:organization_id xsi:nil="true"//&gt;<br />

+					&lt;ax219:refresh_time&gt;2011-07-03T14:40:44.000Z&lt;/ax219:refresh_time/&gt;<br />

+					&lt;ax219:sessionXml xsi:nil="true"//&gt;<br />

+					&lt;ax219:session_id&gt;26584705202d7c1de6cc8e7e28890e3d&lt;/ax219:session_id/&gt;<br />

+					&lt;ax219:starttermin_time&gt;2011-07-03T14:40:44.000Z&lt;/ax219:starttermin_time/&gt;<br />

+					&lt;ax219:storePermanent xsi:nil="true"//&gt;<br />

+					&lt;ax219:user_id xsi:nil="true"//&gt;<br />

+				</div>

+				&lt;/ns:return/&gt;<br />

+				&lt;/ns:getSessionResponse/&gt;<br />

+			</div>
+                                                <p>To login a user the call to auth would be:</p>
+                                                <p>Sample URL: </p>
+                                                <a href="http://demo.openmeetings.de/openmeetings/services/UserService/loginUser?SID=26584705202d7c1de6cc8e7e28890e3d&amp;username=hans&amp;userpass=test">http://demo.openmeetings.de/openmeetings/services/UserService/loginUser?SID=26584705202d7c1de6cc8e7e28890e3d&amp;username=han&amp;userpass=test</a>
+                                                <p>Result: </p>
+                                                <div class="xmlcode">

+				&lt;ns:loginUserResponse/&gt;<br />

+				<div style="margin-left:20px">

+				    &lt;ns:return&gt;-11&lt;/ns:return/&gt;<br />

+				</div>

+				&lt;/ns:loginUserResponse/&gt;<br />

+			</div>
+                                                <p>=&gt; It does return -10, which is the error id cause we will not write down a SOAP login to our public server in this wiki. However the correct way to check this error would be to invoke the call to get the localized error message. So we invoke the method to get the error via REST:</p>
+                                                <p>Sample URL: </p>
+                                                <a href="http://demo.openmeetings.de/openmeetings/services/UserService/getErrorByCode?SID=26584705202d7c1de6cc8e7e28890e3d&amp;errorid=-10&amp;language_id=1">http://demo.openmeetings.de/openmeetings/services/UserService/getErrorByCode?SID=26584705202d7c1de6cc8e7e28890e3d&amp;errorid=-10&amp;language_id=1</a>
+                                                <p>Result:</p>
+                                                <div class="xmlcode">

+				&lt;ns:getErrorByCodeResponse/&gt;<br />

+				&lt;ns:return type="org.openmeetings.app.data.beans.basic.ErrorResult"/&gt;<br />

+				<div style="margin-left:20px">

+					&lt;ax218:errmessage&gt;Username not found&lt;/ax218:errmessage/&gt;<br />

+					&lt;ax218:errorId&gt;-10&lt;/ax218:errorId/&gt;<br />

+					&lt;ax218:errortype&gt;Error&lt;/ax218:errortype/&gt;<br />

+				</div>

+				&lt;/ns:return/&gt;<br />

+				&lt;/ns:getErrorByCodeResponse/&gt;<br />

+			</div>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/RestrictedAccess.html b/docs/RestrictedAccess.html
new file mode 100644
index 0000000..83e0261
--- /dev/null
+++ b/docs/RestrictedAccess.html
@@ -0,0 +1,1024 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - How to restrict access to your Openmeetings server</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Server Side"><strong>Server Side</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>You can protect your OpenMeetings instance from beeing accessed

+				from 3th party by using the file:

+			</p>
+                                                <p>$RED5_HOME/webapps/openmeetings/WEB-INF/red5-web.properties </p>
+                                                <p>Content: </p>
+                                                <div class="xmlcode">

+				webapp.virtualHosts=*,localhost, 127.0.0.1

+			</div>
+                                                <a href="http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/red5-web.properties" rel="nofollow">http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/red5-web.properties

+			</a>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Client Side"><strong>Client Side</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>And you can restrict the access also for the client side: Every

+				Flash Plugin will check a file called "crossdomain.xml" before it

+				tries to access the server using rtmp/RPC. This file is located: </p>
+                                                <p>$RED5_HOME/webapps/root/crossdomain.xml </p>
+                                                <p>Content: </p>
+                                                <div class="xmlcode">

+				&lt;?xml version="1.0"?&gt;<br />

+				&lt;cross-domain-policy&gt;<br />

+				        &lt;site-control permitted-cross-domain-policies="all"/&gt;<br />

+				        &lt;allow-access-from domain="localhost" to-ports="20-65535"/&gt;<br />

+				        &lt;allow-access-from domain="*.local" to-ports="20-65535"/&gt;<br />

+				&lt;/cross-domain-policy&gt;<br />

+			</div>
+                                                <p>

+				Sample file:

+				<a href="http://code.google.com/p/red5/source/browse/java/server/trunk/webapps/root/crossdomain.xml" rel="nofollow">http://code.google.com/p/red5/source/browse/java/server/trunk/webapps/root/crossdomain.xml

+				</a>

+			</p>
+                                                <p>

+					If you accessing your application behind an Apache Webservre (using

+					mod_proxy or mod_jk2) be careful to make the crossdomain.xml

+					accessible. Flash will always search for this file in the www-root

+					directory of every URL you connect to. You might use

+					<a href="https://addons.mozilla.org/de/firefox/addon/firebug/" rel="nofollow">FireBug

+					</a>

+					for example to lookup requests.

+				</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/RoomService.html b/docs/RoomService.html
new file mode 100644
index 0000000..59e280c
--- /dev/null
+++ b/docs/RoomService.html
@@ -0,0 +1,5108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

+<!--

+Copyright 1999-2004 The Apache Software Foundation

+Licensed under the Apache License, Version 2.0 (the "License");

+you may not use this file except in compliance with the License.

+You may obtain a copy of the License at

+

+http://www.apache.org/licenses/LICENSE-2.0

+

+Unless required by applicable law or agreed to in writing, software

+distributed under the License is distributed on an "AS IS" BASIS,

+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+See the License for the specific language governing permissions and

+limitations under the License.

+-->

+

+    <!-- ====================================================================== -->

+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE TEMPLATE INSTEAD! -->

+    <!-- Main Page Section -->

+    <!-- ====================================================================== -->

+    

+     <html>

+        <head>

+		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>

+		<meta name="author" value="OpenMeetings Team">

+		<meta name="email" value="sebawagner@apache.org">

+		<title>OpenMeetings API Methods</title>

+		<link rel="stylesheet" type="text/css" href="openmeetings_docs.css">

+        </head>

+	<body>

+	

+		<h3>Available WebServices:</h3>

+	

+		<iframe src="WebserviceIndex.html" width="100%" height="180" name="WebserviceIndex.html"

+			scrolling="no" marginheight="0" marginwidth="0" frameborder="0">

+		  <p>Your Browser does not support frames ...</p>

+		</iframe>

+		

+		<hr />

+	

+	   <h3>WebService: RoomService</h3>

+	   <p>RoomService contains methods to manipulate rooms and create invitation hash<p>

+	   <p>WSDL sample Url: <a href="http://localhost:5080/openmeetings/services/RoomService?wsdl">http://localhost:5080/openmeetings/services/RoomService?wsdl</a><p>

+	

+	<!-- Links to Methods -->

+	   <h3>Index of Methods available in RoomService</h3>

+	   

+       <div class="navigation">

+	                               <div>

+                <a href="#getRoomsPublic"><b>getRoomsPublic</b></a><br/>

+                <div class="navigation_comment"><i >Returns an Object of Type RoomsList which contains a list of
+ Room-Objects. Every Room-Object contains a Roomtype and all informations
+ about that Room. The List of current-users in the room is Null if you get
+ them via SOAP. The Roomtype can be 1 for conference rooms or 2 for
+ audience rooms.</i></div>

+                </div>

+                                               <div>

+                <a href="#deleteFlvRecording"><b>deleteFlvRecording</b></a><br/>

+                <div class="navigation_comment"><i >Deletes a flv recording</i></div>

+                </div>

+                                               <div>

+                <a href="#getFlvRecordingByExternalUserId"><b>getFlvRecordingByExternalUserId</b></a><br/>

+                <div class="navigation_comment"><i >Gets a list of flv recordings</i></div>

+                </div>

+                                               <div>

+                <a href="#getFlvRecordingByExternalRoomTypeAndCreator"><b>getFlvRecordingByExternalRoomTypeAndCreator</b></a><br/>

+                <div class="navigation_comment"><i >Gets a list of flv recordings</i></div>

+                </div>

+                                               <div>

+                <a href="#getFlvRecordingByExternalRoomTypeByList"><b>getFlvRecordingByExternalRoomTypeByList</b></a><br/>

+                <div class="navigation_comment"><i >Gets a list of flv recordings</i></div>

+                </div>

+                                               <div>

+                <a href="#getFlvRecordingByExternalRoomType"><b>getFlvRecordingByExternalRoomType</b></a><br/>

+                <div class="navigation_comment"><i >Gets a list of flv recordings</i></div>

+                </div>

+                                               <div>

+                <a href="#getFlvRecordingByRoomId"><b>getFlvRecordingByRoomId</b></a><br/>

+                <div class="navigation_comment"><i >Get list of recordings</i></div>

+                </div>

+                                               <div>

+                <a href="#getRoomTypes"><b>getRoomTypes</b></a><br/>

+                <div class="navigation_comment"><i >List of available room types</i></div>

+                </div>

+                                               <div>

+                <a href="#getRoomCounters"><b>getRoomCounters</b></a><br/>

+                <div class="navigation_comment"><i >Returns current users for rooms ids</i></div>

+                </div>

+                                               <div>

+                <a href="#getRoomById"><b>getRoomById</b></a><br/>

+                <div class="navigation_comment"><i >returns a conference room object</i></div>

+                </div>

+                                               <div>

+                <a href="#getRoomWithCurrentUsersById"><b>getRoomWithCurrentUsersById</b></a><br/>

+                <div class="navigation_comment"><i ></i></div>

+                </div>

+                                               <div>

+                <a href="#getRoomWithClientObjectsById"><b>getRoomWithClientObjectsById</b></a><br/>

+                <div class="navigation_comment"><i >Returns a object of type RoomReturn</i></div>

+                </div>

+                                               <div>

+                <a href="#getRooms"><b>getRooms</b></a><br/>

+                <div class="navigation_comment"><i >Returns a List of Objects of Rooms You can use "name" as value for
+ orderby or rooms_id</i></div>

+                </div>

+                                               <div>

+                <a href="#getRoomsWithCurrentUsers"><b>getRoomsWithCurrentUsers</b></a><br/>

+                <div class="navigation_comment"><i >Returns a List of Objects of Rooms You can use "name" as value for
+ orderby or rooms_id. It also fills the attribute currentUsers in the
+ Room-Object</i></div>

+                </div>

+                                               <div>

+                <a href="#addRoom"><b>addRoom</b></a><br/>

+                <div class="navigation_comment"><i >TODO: Fix Organization Issue
+ 
+ deprecated use addRoomWithModeration instead</i></div>

+                </div>

+                                               <div>

+                <a href="#addRoomWithModeration"><b>addRoomWithModeration</b></a><br/>

+                <div class="navigation_comment"><i >Create a conference room</i></div>

+                </div>

+                                               <div>

+                <a href="#addRoomWithModerationAndQuestions"><b>addRoomWithModerationAndQuestions</b></a><br/>

+                <div class="navigation_comment"><i >this SOAP Method has an additional param to enable or disable the buttons
+ to apply for moderation this does only work in combination with the
+ room-type restricted</i></div>

+                </div>

+                                               <div>

+                <a href="#addRoomWithModerationQuestionsAndAudioType"><b>addRoomWithModerationQuestionsAndAudioType</b></a><br/>

+                <div class="navigation_comment"><i >adds a new room with options for user questions and audio only</i></div>

+                </div>

+                                               <div>

+                <a href="#addRoomWithModerationQuestionsAudioTypeAndHideOptions"><b>addRoomWithModerationQuestionsAudioTypeAndHideOptions</b></a><br/>

+                <div class="navigation_comment"><i >adds a new room with options for user questions, audio only and hide</i></div>

+                </div>

+                                               <div>

+                <a href="#getRoomIdByExternalId"><b>getRoomIdByExternalId</b></a><br/>

+                <div class="navigation_comment"><i >Checks if a room with this exteralRoomId + externalRoomType does exist,
+ if yes it returns the room id if not, it will create the room and then
+ return the room id of the newly created room</i></div>

+                </div>

+                                               <div>

+                <a href="#updateRoom"><b>updateRoom</b></a><br/>

+                <div class="navigation_comment"><i >TODO: Fix Organization Issue deprecated use updateRoomWithModeration</i></div>

+                </div>

+                                               <div>

+                <a href="#updateRoomWithModeration"><b>updateRoomWithModeration</b></a><br/>

+                <div class="navigation_comment"><i >Updates a conference room by its room id</i></div>

+                </div>

+                                               <div>

+                <a href="#updateRoomWithModerationAndQuestions"><b>updateRoomWithModerationAndQuestions</b></a><br/>

+                <div class="navigation_comment"><i ></i></div>

+                </div>

+                                               <div>

+                <a href="#updateRoomWithModerationQuestionsAudioTypeAndHideOptions"><b>updateRoomWithModerationQuestionsAudioTypeAndHideOptions</b></a><br/>

+                <div class="navigation_comment"><i >update room with options for user questions, audio only and hide
+ 
+ * @param SID The SID of the User. This SID must be marked as Loggedin</i></div>

+                </div>

+                                               <div>

+                <a href="#deleteRoom"><b>deleteRoom</b></a><br/>

+                <div class="navigation_comment"><i >Delete a room by its room id</i></div>

+                </div>

+                                               <div>

+                <a href="#kickUser"><b>kickUser</b></a><br/>

+                <div class="navigation_comment"><i >kick all uses of a certain room</i></div>

+                </div>

+                                               <div>

+                <a href="#addRoomWithModerationAndExternalType"><b>addRoomWithModerationAndExternalType</b></a><br/>

+                <div class="navigation_comment"><i >Add a new conference room with option to set the external room type, the
+ external room type should be set if multiple applications use the same
+ OpenMeetings instance</i></div>

+                </div>

+                                               <div>

+                <a href="#addRoomWithModerationExternalTypeAndAudioType"><b>addRoomWithModerationExternalTypeAndAudioType</b></a><br/>

+                <div class="navigation_comment"><i >Adds a new room with options for audio only</i></div>

+                </div>

+                                               <div>

+                <a href="#addRoomWithModerationAndRecordingFlags"><b>addRoomWithModerationAndRecordingFlags</b></a><br/>

+                <div class="navigation_comment"><i >Adds a new room with options for recording</i></div>

+                </div>

+                                               <div>

+                <a href="#addRoomWithModerationExternalTypeAndTopBarOption"><b>addRoomWithModerationExternalTypeAndTopBarOption</b></a><br/>

+                <div class="navigation_comment"><i >Add a conference room with options to disable the top menu bar in the
+ conference room</i></div>

+                </div>

+                                               <div>

+                <a href="#getInvitationHash"><b>getInvitationHash</b></a><br/>

+                <div class="navigation_comment"><i >Create a Invitation hash and optionally send it by mail the From to Date
+ is as String as some SOAP libraries do not accept Date Objects in SOAP
+ Calls Date is parsed as dd.mm.yyyy, time as hh:mm (don't forget the
+ leading zero's)</i></div>

+                </div>

+                                               <div>

+                <a href="#sendInvitationHash"><b>sendInvitationHash</b></a><br/>

+                <div class="navigation_comment"><i >Create a Invitation hash and optionally send it by mail the From to Date
+ is as String as some SOAP libraries do not accept Date Objects in SOAP
+ Calls Date is parsed as dd.mm.yyyy, time as hh:mm (don't forget the
+ leading zero's)</i></div>

+                </div>

+                                               <div>

+                <a href="#sendInvitationHashWithDateObject"><b>sendInvitationHashWithDateObject</b></a><br/>

+                <div class="navigation_comment"><i >Create a Invitation hash and optionally send it by mail the From to Date
+ is as String as some SOAP libraries do not accept Date Objects in SOAP
+ Calls Date is parsed as dd.mm.yyyy, time as hh:mm (don't forget the
+ leading zero's)</i></div>

+                </div>

+                                               <div>

+                <a href="#getRoomsWithCurrentUsersByList"><b>getRoomsWithCurrentUsersByList</b></a><br/>

+                <div class="navigation_comment"><i >Return a RoomReturn Object with information of the current users of a
+ conference room</i></div>

+                </div>

+                                               <div>

+                <a href="#getRoomsWithCurrentUsersByListAndType"><b>getRoomsWithCurrentUsersByListAndType</b></a><br/>

+                <div class="navigation_comment"><i >Return a RoomReturn Object with information of the current users of a
+ conference room with option to search for special external room types</i></div>

+                </div>

+                                               <div>

+                <a href="#addRoomWithModerationAndExternalTypeAndStartEnd"><b>addRoomWithModerationAndExternalTypeAndStartEnd</b></a><br/>

+                <div class="navigation_comment"><i >Adds a conference room that is only available for a period of time</i></div>

+                </div>

+                                               <div>

+                <a href="#addMeetingMemberRemindToRoom"><b>addMeetingMemberRemindToRoom</b></a><br/>

+                <div class="navigation_comment"><i >Add a meeting member to a certain room. This is the same as adding an
+ external user to a event in the calendar.</i></div>

+                </div>

+                                               <div>

+                <a href="#addExternalMeetingMemberRemindToRoom"><b>addExternalMeetingMemberRemindToRoom</b></a><br/>

+                <div class="navigation_comment"><i >Add a meeting member to a certain room. This is the same as adding an
+ external user to a event in the calendar. with a certain time zone</i></div>

+                </div>

+                                               <div>

+                <a href="#closeRoom"><b>closeRoom</b></a><br/>

+                <div class="navigation_comment"><i >Method to remotely close or open rooms. If a room is closed all users
+ inside the room and all users that try to enter it will be redirected to
+ the redirectURL that is defined in the Room-Object.
+ 
+ Returns positive value if authentication was successful.</i></div>

+                </div>

+                           </div>

+	   

+	    <h3>Methods Details in RoomService</h3>

+	

+				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getRoomsPublic" ><b>getRoomsPublic</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getRoomsPublic (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long roomtypes_id

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Returns an Object of Type RoomsList which contains a list of
+ Room-Objects. Every Room-Object contains a Roomtype and all informations
+ about that Room. The List of current-users in the room is Null if you get
+ them via SOAP. The Roomtype can be 1 for conference rooms or 2 for
+ audience rooms.

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.app.persistence.beans.rooms.Rooms[]

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">roomtypes_id</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/getRoomsPublic?SID=VALUE&roomtypes_id=VALUE">http://localhost:5080/openmeetings/services/RoomService/getRoomsPublic?SID=VALUE&roomtypes_id=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="deleteFlvRecording" ><b>deleteFlvRecording</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>deleteFlvRecording (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long flvRecordingId

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Deletes a flv recording

+    			</p>

+    			<p>

+                  Return Type: boolean

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">flvRecordingId</td>

+	                     <td valign="top">the id of the recording</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/deleteFlvRecording?SID=VALUE&flvRecordingId=VALUE">http://localhost:5080/openmeetings/services/RoomService/deleteFlvRecording?SID=VALUE&flvRecordingId=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getFlvRecordingByExternalUserId" ><b>getFlvRecordingByExternalUserId</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getFlvRecordingByExternalUserId (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String externalUserId

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Gets a list of flv recordings

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.axis.services.FLVRecordingReturn[]

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalUserId</td>

+	                     <td valign="top">the externalUserId</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/getFlvRecordingByExternalUserId?SID=VALUE&externalUserId=VALUE">http://localhost:5080/openmeetings/services/RoomService/getFlvRecordingByExternalUserId?SID=VALUE&externalUserId=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getFlvRecordingByExternalRoomTypeAndCreator" ><b>getFlvRecordingByExternalRoomTypeAndCreator</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getFlvRecordingByExternalRoomTypeAndCreator (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String externalRoomType

+    			       			    			       			     , 

+    			       			   Long insertedBy

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Gets a list of flv recordings

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.axis.services.FLVRecordingReturn[]

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalRoomType</td>

+	                     <td valign="top">externalRoomType specified when creating the room</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">insertedBy</td>

+	                     <td valign="top">the userId that created the recording</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/getFlvRecordingByExternalRoomTypeAndCreator?SID=VALUE&externalRoomType=VALUE&insertedBy=VALUE">http://localhost:5080/openmeetings/services/RoomService/getFlvRecordingByExternalRoomTypeAndCreator?SID=VALUE&externalRoomType=VALUE&insertedBy=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getFlvRecordingByExternalRoomTypeByList" ><b>getFlvRecordingByExternalRoomTypeByList</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getFlvRecordingByExternalRoomTypeByList (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String externalRoomType

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Gets a list of flv recordings

+    			</p>

+    			<p>

+                  Return Type: java.util.List

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalRoomType</td>

+	                     <td valign="top">externalRoomType specified when creating the room</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/getFlvRecordingByExternalRoomTypeByList?SID=VALUE&externalRoomType=VALUE">http://localhost:5080/openmeetings/services/RoomService/getFlvRecordingByExternalRoomTypeByList?SID=VALUE&externalRoomType=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getFlvRecordingByExternalRoomType" ><b>getFlvRecordingByExternalRoomType</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getFlvRecordingByExternalRoomType (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String externalRoomType

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Gets a list of flv recordings

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.app.persistence.beans.flvrecord.FlvRecording[]

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalRoomType</td>

+	                     <td valign="top">externalRoomType specified when creating the room</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/getFlvRecordingByExternalRoomType?SID=VALUE&externalRoomType=VALUE">http://localhost:5080/openmeetings/services/RoomService/getFlvRecordingByExternalRoomType?SID=VALUE&externalRoomType=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getFlvRecordingByRoomId" ><b>getFlvRecordingByRoomId</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getFlvRecordingByRoomId (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long roomId

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Get list of recordings

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.app.persistence.beans.flvrecord.FlvRecording[]

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">roomId</td>

+	                     <td valign="top">the room id</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/getFlvRecordingByRoomId?SID=VALUE&roomId=VALUE">http://localhost:5080/openmeetings/services/RoomService/getFlvRecordingByRoomId?SID=VALUE&roomId=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getRoomTypes" ><b>getRoomTypes</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getRoomTypes (

+    			    			    			       			   String SID

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  List of available room types

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.app.persistence.beans.rooms.RoomTypes[]

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/getRoomTypes?SID=VALUE">http://localhost:5080/openmeetings/services/RoomService/getRoomTypes?SID=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getRoomCounters" ><b>getRoomCounters</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getRoomCounters (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Integer roomId1

+    			       			    			       			     , 

+    			       			   Integer roomId2

+    			       			    			       			     , 

+    			       			   Integer roomId3

+    			       			    			       			     , 

+    			       			   Integer roomId4

+    			       			    			       			     , 

+    			       			   Integer roomId5

+    			       			    			       			     , 

+    			       			   Integer roomId6

+    			       			    			       			     , 

+    			       			   Integer roomId7

+    			       			    			       			     , 

+    			       			   Integer roomId8

+    			       			    			       			     , 

+    			       			   Integer roomId9

+    			       			    			       			     , 

+    			       			   Integer roomId10

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Returns current users for rooms ids

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.axis.services.RoomCountBean[]

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">roomId1</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">roomId2</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">roomId3</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">roomId4</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">roomId5</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">roomId6</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">roomId7</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">roomId8</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">roomId9</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">roomId10</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/getRoomCounters?SID=VALUE&roomId1=VALUE&roomId2=VALUE&roomId3=VALUE&roomId4=VALUE&roomId5=VALUE&roomId6=VALUE&roomId7=VALUE&roomId8=VALUE&roomId9=VALUE&roomId10=VALUE">http://localhost:5080/openmeetings/services/RoomService/getRoomCounters?SID=VALUE&roomId1=VALUE&roomId2=VALUE&roomId3=VALUE&roomId4=VALUE&roomId5=VALUE&roomId6=VALUE&roomId7=VALUE&roomId8=VALUE&roomId9=VALUE&roomId10=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getRoomById" ><b>getRoomById</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getRoomById (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   long rooms_id

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  returns a conference room object

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.app.persistence.beans.rooms.Rooms

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		long

+	                     		                     </td>

+	                     <td valign="top">rooms_id</td>

+	                     <td valign="top">the room id</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/getRoomById?SID=VALUE&rooms_id=VALUE">http://localhost:5080/openmeetings/services/RoomService/getRoomById?SID=VALUE&rooms_id=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getRoomWithCurrentUsersById" ><b>getRoomWithCurrentUsersById</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getRoomWithCurrentUsersById (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   long rooms_id

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.app.persistence.beans.rooms.Rooms

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		long

+	                     		                     </td>

+	                     <td valign="top">rooms_id</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/getRoomWithCurrentUsersById?SID=VALUE&rooms_id=VALUE">http://localhost:5080/openmeetings/services/RoomService/getRoomWithCurrentUsersById?SID=VALUE&rooms_id=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getRoomWithClientObjectsById" ><b>getRoomWithClientObjectsById</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getRoomWithClientObjectsById (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   long rooms_id

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Returns a object of type RoomReturn

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.axis.services.RoomReturn

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		long

+	                     		                     </td>

+	                     <td valign="top">rooms_id</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/getRoomWithClientObjectsById?SID=VALUE&rooms_id=VALUE">http://localhost:5080/openmeetings/services/RoomService/getRoomWithClientObjectsById?SID=VALUE&rooms_id=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getRooms" ><b>getRooms</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getRooms (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   int start

+    			       			    			       			     , 

+    			       			   int max

+    			       			    			       			     , 

+    			       			   String orderby

+    			       			    			       			     , 

+    			       			   boolean asc

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Returns a List of Objects of Rooms You can use "name" as value for
+ orderby or rooms_id

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.app.data.beans.basic.SearchResult

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		int

+	                     		                     </td>

+	                     <td valign="top">start</td>

+	                     <td valign="top">The id you want to start</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		int

+	                     		                     </td>

+	                     <td valign="top">max</td>

+	                     <td valign="top">The maximum you want to get</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">orderby</td>

+	                     <td valign="top">The column it will be ordered</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		boolean

+	                     		                     </td>

+	                     <td valign="top">asc</td>

+	                     <td valign="top">Asc or Desc sort ordering</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/getRooms?SID=VALUE&start=VALUE&max=VALUE&orderby=VALUE&asc=VALUE">http://localhost:5080/openmeetings/services/RoomService/getRooms?SID=VALUE&start=VALUE&max=VALUE&orderby=VALUE&asc=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getRoomsWithCurrentUsers" ><b>getRoomsWithCurrentUsers</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getRoomsWithCurrentUsers (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   int start

+    			       			    			       			     , 

+    			       			   int max

+    			       			    			       			     , 

+    			       			   String orderby

+    			       			    			       			     , 

+    			       			   boolean asc

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Returns a List of Objects of Rooms You can use "name" as value for
+ orderby or rooms_id. It also fills the attribute currentUsers in the
+ Room-Object

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.app.data.beans.basic.SearchResult

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		int

+	                     		                     </td>

+	                     <td valign="top">start</td>

+	                     <td valign="top">The id you want to start</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		int

+	                     		                     </td>

+	                     <td valign="top">max</td>

+	                     <td valign="top">The maximum you want to get</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">orderby</td>

+	                     <td valign="top">The column it will be ordered</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		boolean

+	                     		                     </td>

+	                     <td valign="top">asc</td>

+	                     <td valign="top">Asc or Desc sort ordering</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/getRoomsWithCurrentUsers?SID=VALUE&start=VALUE&max=VALUE&orderby=VALUE&asc=VALUE">http://localhost:5080/openmeetings/services/RoomService/getRoomsWithCurrentUsers?SID=VALUE&start=VALUE&max=VALUE&orderby=VALUE&asc=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="addRoom" ><b>addRoom</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>addRoom (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String name

+    			       			    			       			     , 

+    			       			   Long roomtypes_id

+    			       			    			       			     , 

+    			       			   String comment

+    			       			    			       			     , 

+    			       			   Long numberOfPartizipants

+    			       			    			       			     , 

+    			       			   Boolean ispublic

+    			       			    			       			     , 

+    			       			   Integer videoPodWidth

+    			       			    			       			     , 

+    			       			   Integer videoPodHeight

+    			       			    			       			     , 

+    			       			   Integer videoPodXPosition

+    			       			    			       			     , 

+    			       			   Integer videoPodYPosition

+    			       			    			       			     , 

+    			       			   Integer moderationPanelXPosition

+    			       			    			       			     , 

+    			       			   Boolean showWhiteBoard

+    			       			    			       			     , 

+    			       			   Integer whiteBoardPanelXPosition

+    			       			    			       			     , 

+    			       			   Integer whiteBoardPanelYPosition

+    			       			    			       			     , 

+    			       			   Integer whiteBoardPanelHeight

+    			       			    			       			     , 

+    			       			   Integer whiteBoardPanelWidth

+    			       			    			       			     , 

+    			       			   Boolean showFilesPanel

+    			       			    			       			     , 

+    			       			   Integer filesPanelXPosition

+    			       			    			       			     , 

+    			       			   Integer filesPanelYPosition

+    			       			    			       			     , 

+    			       			   Integer filesPanelHeight

+    			       			    			       			     , 

+    			       			   Integer filesPanelWidth

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  TODO: Fix Organization Issue
+ 
+ deprecated use addRoomWithModeration instead

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">name</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">roomtypes_id</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">comment</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">numberOfPartizipants</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">ispublic</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">videoPodWidth</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">videoPodHeight</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">videoPodXPosition</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">videoPodYPosition</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">moderationPanelXPosition</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">showWhiteBoard</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">whiteBoardPanelXPosition</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">whiteBoardPanelYPosition</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">whiteBoardPanelHeight</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">whiteBoardPanelWidth</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">showFilesPanel</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">filesPanelXPosition</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">filesPanelYPosition</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">filesPanelHeight</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">filesPanelWidth</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/addRoom?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&videoPodWidth=VALUE&videoPodHeight=VALUE&videoPodXPosition=VALUE&videoPodYPosition=VALUE&moderationPanelXPosition=VALUE&showWhiteBoard=VALUE&whiteBoardPanelXPosition=VALUE&whiteBoardPanelYPosition=VALUE&whiteBoardPanelHeight=VALUE&whiteBoardPanelWidth=VALUE&showFilesPanel=VALUE&filesPanelXPosition=VALUE&filesPanelYPosition=VALUE&filesPanelHeight=VALUE&filesPanelWidth=VALUE">http://localhost:5080/openmeetings/services/RoomService/addRoom?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&videoPodWidth=VALUE&videoPodHeight=VALUE&videoPodXPosition=VALUE&videoPodYPosition=VALUE&moderationPanelXPosition=VALUE&showWhiteBoard=VALUE&whiteBoardPanelXPosition=VALUE&whiteBoardPanelYPosition=VALUE&whiteBoardPanelHeight=VALUE&whiteBoardPanelWidth=VALUE&showFilesPanel=VALUE&filesPanelXPosition=VALUE&filesPanelYPosition=VALUE&filesPanelHeight=VALUE&filesPanelWidth=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="addRoomWithModeration" ><b>addRoomWithModeration</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>addRoomWithModeration (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String name

+    			       			    			       			     , 

+    			       			   Long roomtypes_id

+    			       			    			       			     , 

+    			       			   String comment

+    			       			    			       			     , 

+    			       			   Long numberOfPartizipants

+    			       			    			       			     , 

+    			       			   Boolean ispublic

+    			       			    			       			     , 

+    			       			   Boolean appointment

+    			       			    			       			     , 

+    			       			   Boolean isDemoRoom

+    			       			    			       			     , 

+    			       			   Integer demoTime

+    			       			    			       			     , 

+    			       			   Boolean isModeratedRoom

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Create a conference room

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">name</td>

+	                     <td valign="top">Name of the Room</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">roomtypes_id</td>

+	                     <td valign="top">Type of that room (1 = Conference, 2 = Audience, 3 =
+            Restricted, 4 = Interview)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">comment</td>

+	                     <td valign="top">any comment</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">numberOfPartizipants</td>

+	                     <td valign="top">the maximum users allowed in this room</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">ispublic</td>

+	                     <td valign="top">If this room is public (use true if you don't deal with
+            different Organizations)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">appointment</td>

+	                     <td valign="top">is it a Calendar Room (use false by default)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isDemoRoom</td>

+	                     <td valign="top">is it a Demo Room with limited time (use false by default)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">demoTime</td>

+	                     <td valign="top">time in seconds after the user will be logged out (only
+            enabled if isDemoRoom is true)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isModeratedRoom</td>

+	                     <td valign="top">Users have to wait untill a Moderator arrives. Use the
+            becomeModerator param in setUserObjectAndGenerateRoomHash to
+            set a user as default Moderator</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/addRoomWithModeration?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE">http://localhost:5080/openmeetings/services/RoomService/addRoomWithModeration?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="addRoomWithModerationAndQuestions" ><b>addRoomWithModerationAndQuestions</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>addRoomWithModerationAndQuestions (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String name

+    			       			    			       			     , 

+    			       			   Long roomtypes_id

+    			       			    			       			     , 

+    			       			   String comment

+    			       			    			       			     , 

+    			       			   Long numberOfPartizipants

+    			       			    			       			     , 

+    			       			   Boolean ispublic

+    			       			    			       			     , 

+    			       			   Boolean appointment

+    			       			    			       			     , 

+    			       			   Boolean isDemoRoom

+    			       			    			       			     , 

+    			       			   Integer demoTime

+    			       			    			       			     , 

+    			       			   Boolean isModeratedRoom

+    			       			    			       			     , 

+    			       			   Boolean allowUserQuestions

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  this SOAP Method has an additional param to enable or disable the buttons
+ to apply for moderation this does only work in combination with the
+ room-type restricted

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">name</td>

+	                     <td valign="top">Name of the Room</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">roomtypes_id</td>

+	                     <td valign="top">Type of that room (1 = Conference, 2 = Audience, 3 =
+            Restricted, 4 = Interview)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">comment</td>

+	                     <td valign="top">any comment</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">numberOfPartizipants</td>

+	                     <td valign="top">the maximum users allowed in this room</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">ispublic</td>

+	                     <td valign="top">If this room is public (use true if you don't deal with
+            different Organizations)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">appointment</td>

+	                     <td valign="top">is it a Calendar Room (use false by default)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isDemoRoom</td>

+	                     <td valign="top">is it a Demo Room with limited time (use false by default)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">demoTime</td>

+	                     <td valign="top">time in seconds after the user will be logged out (only
+            enabled if isDemoRoom is true)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isModeratedRoom</td>

+	                     <td valign="top">Users have to wait untill a Moderator arrives. Use the
+            becomeModerator param in setUserObjectAndGenerateRoomHash to
+            set a user as default Moderator</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">allowUserQuestions</td>

+	                     <td valign="top">enable or disable the button to allow users to apply for
+            moderation</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/addRoomWithModerationAndQuestions?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&allowUserQuestions=VALUE">http://localhost:5080/openmeetings/services/RoomService/addRoomWithModerationAndQuestions?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&allowUserQuestions=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="addRoomWithModerationQuestionsAndAudioType" ><b>addRoomWithModerationQuestionsAndAudioType</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>addRoomWithModerationQuestionsAndAudioType (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String name

+    			       			    			       			     , 

+    			       			   Long roomtypes_id

+    			       			    			       			     , 

+    			       			   String comment

+    			       			    			       			     , 

+    			       			   Long numberOfPartizipants

+    			       			    			       			     , 

+    			       			   Boolean ispublic

+    			       			    			       			     , 

+    			       			   Boolean appointment

+    			       			    			       			     , 

+    			       			   Boolean isDemoRoom

+    			       			    			       			     , 

+    			       			   Integer demoTime

+    			       			    			       			     , 

+    			       			   Boolean isModeratedRoom

+    			       			    			       			     , 

+    			       			   Boolean allowUserQuestions

+    			       			    			       			     , 

+    			       			   Boolean isAudioOnly

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  adds a new room with options for user questions and audio only

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">name</td>

+	                     <td valign="top">Name of the Room</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">roomtypes_id</td>

+	                     <td valign="top">Type of that room (1 = Conference, 2 = Audience, 3 =
+            Restricted, 4 = Interview)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">comment</td>

+	                     <td valign="top">any comment</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">numberOfPartizipants</td>

+	                     <td valign="top">the maximum users allowed in this room</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">ispublic</td>

+	                     <td valign="top">If this room is public (use true if you don't deal with
+            different Organizations)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">appointment</td>

+	                     <td valign="top">is it a Calendar Room (use false by default)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isDemoRoom</td>

+	                     <td valign="top">is it a Demo Room with limited time (use false by default)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">demoTime</td>

+	                     <td valign="top">time in seconds after the user will be logged out (only
+            enabled if isDemoRoom is true)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isModeratedRoom</td>

+	                     <td valign="top">Users have to wait until a Moderator arrives. Use the
+            becomeModerator param in setUserObjectAndGenerateRoomHash to
+            set a user as default Moderator</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">allowUserQuestions</td>

+	                     <td valign="top">enable or disable the button to allow users to apply for
+            moderation</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isAudioOnly</td>

+	                     <td valign="top">enable or disable the video / or audio-only</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/addRoomWithModerationQuestionsAndAudioType?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&allowUserQuestions=VALUE&isAudioOnly=VALUE">http://localhost:5080/openmeetings/services/RoomService/addRoomWithModerationQuestionsAndAudioType?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&allowUserQuestions=VALUE&isAudioOnly=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="addRoomWithModerationQuestionsAudioTypeAndHideOptions" ><b>addRoomWithModerationQuestionsAudioTypeAndHideOptions</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>addRoomWithModerationQuestionsAudioTypeAndHideOptions (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String name

+    			       			    			       			     , 

+    			       			   Long roomtypes_id

+    			       			    			       			     , 

+    			       			   String comment

+    			       			    			       			     , 

+    			       			   Long numberOfPartizipants

+    			       			    			       			     , 

+    			       			   Boolean ispublic

+    			       			    			       			     , 

+    			       			   Boolean appointment

+    			       			    			       			     , 

+    			       			   Boolean isDemoRoom

+    			       			    			       			     , 

+    			       			   Integer demoTime

+    			       			    			       			     , 

+    			       			   Boolean isModeratedRoom

+    			       			    			       			     , 

+    			       			   Boolean allowUserQuestions

+    			       			    			       			     , 

+    			       			   Boolean isAudioOnly

+    			       			    			       			     , 

+    			       			   Boolean hideTopBar

+    			       			    			       			     , 

+    			       			   Boolean hideChat

+    			       			    			       			     , 

+    			       			   Boolean hideActivitiesAndActions

+    			       			    			       			     , 

+    			       			   Boolean hideFilesExplorer

+    			       			    			       			     , 

+    			       			   Boolean hideActionsMenu

+    			       			    			       			     , 

+    			       			   Boolean hideScreenSharing

+    			       			    			       			     , 

+    			       			   Boolean hideWhiteboard

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  adds a new room with options for user questions, audio only and hide

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">name</td>

+	                     <td valign="top">Name of the Room</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">roomtypes_id</td>

+	                     <td valign="top">Type of that room (1 = Conference, 2 = Audience, 3 =
+            Restricted, 4 = Interview)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">comment</td>

+	                     <td valign="top">any comment</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">numberOfPartizipants</td>

+	                     <td valign="top">the maximum users allowed in this room</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">ispublic</td>

+	                     <td valign="top">If this room is public (use true if you don't deal with
+            different Organizations)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">appointment</td>

+	                     <td valign="top">is it a Calendar Room (use false by default)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isDemoRoom</td>

+	                     <td valign="top">is it a Demo Room with limited time (use false by default)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">demoTime</td>

+	                     <td valign="top">time in seconds after the user will be logged out (only
+            enabled if isDemoRoom is true)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isModeratedRoom</td>

+	                     <td valign="top">Users have to wait until a Moderator arrives. Use the
+            becomeModerator param in setUserObjectAndGenerateRoomHash to
+            set a user as default Moderator</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">allowUserQuestions</td>

+	                     <td valign="top">enable or disable the button to allow users to apply for
+            moderation</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isAudioOnly</td>

+	                     <td valign="top">enable or disable the video / or audio-only</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">hideTopBar</td>

+	                     <td valign="top">hide or show TopBar</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">hideChat</td>

+	                     <td valign="top">hide or show Chat</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">hideActivitiesAndActions</td>

+	                     <td valign="top">hide or show Activities And Actions</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">hideFilesExplorer</td>

+	                     <td valign="top">hide or show Files Explorer</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">hideActionsMenu</td>

+	                     <td valign="top">hide or show Actions Menu</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">hideScreenSharing</td>

+	                     <td valign="top">hide or show Screen Sharing</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">hideWhiteboard</td>

+	                     <td valign="top">hide or show Whiteboard. If whitboard is hidden, video pods and scrollbar  appear instead.</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/addRoomWithModerationQuestionsAudioTypeAndHideOptions?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&allowUserQuestions=VALUE&isAudioOnly=VALUE&hideTopBar=VALUE&hideChat=VALUE&hideActivitiesAndActions=VALUE&hideFilesExplorer=VALUE&hideActionsMenu=VALUE&hideScreenSharing=VALUE&hideWhiteboard=VALUE">http://localhost:5080/openmeetings/services/RoomService/addRoomWithModerationQuestionsAudioTypeAndHideOptions?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&allowUserQuestions=VALUE&isAudioOnly=VALUE&hideTopBar=VALUE&hideChat=VALUE&hideActivitiesAndActions=VALUE&hideFilesExplorer=VALUE&hideActionsMenu=VALUE&hideScreenSharing=VALUE&hideWhiteboard=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getRoomIdByExternalId" ><b>getRoomIdByExternalId</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getRoomIdByExternalId (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String name

+    			       			    			       			     , 

+    			       			   Long roomtypes_id

+    			       			    			       			     , 

+    			       			   String comment

+    			       			    			       			     , 

+    			       			   Long numberOfPartizipants

+    			       			    			       			     , 

+    			       			   Boolean ispublic

+    			       			    			       			     , 

+    			       			   Boolean appointment

+    			       			    			       			     , 

+    			       			   Boolean isDemoRoom

+    			       			    			       			     , 

+    			       			   Integer demoTime

+    			       			    			       			     , 

+    			       			   Boolean isModeratedRoom

+    			       			    			       			     , 

+    			       			   Long externalRoomId

+    			       			    			       			     , 

+    			       			   String externalRoomType

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Checks if a room with this exteralRoomId + externalRoomType does exist,
+ if yes it returns the room id if not, it will create the room and then
+ return the room id of the newly created room

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">name</td>

+	                     <td valign="top">Name of the room</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">roomtypes_id</td>

+	                     <td valign="top">Type of that room (1 = Conference, 2 = Audience, 3 =
+            Restricted, 4 = Interview)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">comment</td>

+	                     <td valign="top">any comment</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">numberOfPartizipants</td>

+	                     <td valign="top">the maximum users allowed in this room</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">ispublic</td>

+	                     <td valign="top">If this room is public (use true if you don't deal with
+            different Organizations)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">appointment</td>

+	                     <td valign="top">is it a Calendar Room? (use false if not sure what that means)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isDemoRoom</td>

+	                     <td valign="top">is it a Demo Room with limited time? (use false if not sure
+            what that means)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">demoTime</td>

+	                     <td valign="top">time in seconds after the user will be logged out (only
+            enabled if isDemoRoom is true)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isModeratedRoom</td>

+	                     <td valign="top">Users have to wait untill a Moderator arrives. Use the
+            becomeModerator param in setUserObjectAndGenerateRoomHash to
+            set a user as default Moderator</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">externalRoomId</td>

+	                     <td valign="top">your external room id may set here</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalRoomType</td>

+	                     <td valign="top">you can specify your system-name or type of room here, for
+            example "moodle"</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/getRoomIdByExternalId?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&externalRoomId=VALUE&externalRoomType=VALUE">http://localhost:5080/openmeetings/services/RoomService/getRoomIdByExternalId?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&externalRoomId=VALUE&externalRoomType=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="updateRoom" ><b>updateRoom</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>updateRoom (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long rooms_id

+    			       			    			       			     , 

+    			       			   String name

+    			       			    			       			     , 

+    			       			   Long roomtypes_id

+    			       			    			       			     , 

+    			       			   String comment

+    			       			    			       			     , 

+    			       			   Long numberOfPartizipants

+    			       			    			       			     , 

+    			       			   Boolean ispublic

+    			       			    			       			     , 

+    			       			   Integer videoPodWidth

+    			       			    			       			     , 

+    			       			   Integer videoPodHeight

+    			       			    			       			     , 

+    			       			   Integer videoPodXPosition

+    			       			    			       			     , 

+    			       			   Integer videoPodYPosition

+    			       			    			       			     , 

+    			       			   Integer moderationPanelXPosition

+    			       			    			       			     , 

+    			       			   Boolean showWhiteBoard

+    			       			    			       			     , 

+    			       			   Integer whiteBoardPanelXPosition

+    			       			    			       			     , 

+    			       			   Integer whiteBoardPanelYPosition

+    			       			    			       			     , 

+    			       			   Integer whiteBoardPanelHeight

+    			       			    			       			     , 

+    			       			   Integer whiteBoardPanelWidth

+    			       			    			       			     , 

+    			       			   Boolean showFilesPanel

+    			       			    			       			     , 

+    			       			   Integer filesPanelXPosition

+    			       			    			       			     , 

+    			       			   Integer filesPanelYPosition

+    			       			    			       			     , 

+    			       			   Integer filesPanelHeight

+    			       			    			       			     , 

+    			       			   Integer filesPanelWidth

+    			       			    			       			     , 

+    			       			   Boolean appointment

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  TODO: Fix Organization Issue deprecated use updateRoomWithModeration

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    				<b>Warning:</b><i> Params in this method do not seem to be correctly documentated</i>

+    				<br/><br/>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">rooms_id</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">name</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">roomtypes_id</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">comment</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">numberOfPartizipants</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">ispublic</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">videoPodWidth</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">videoPodHeight</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">videoPodXPosition</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">videoPodYPosition</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">moderationPanelXPosition</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">showWhiteBoard</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">whiteBoardPanelXPosition</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">whiteBoardPanelYPosition</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">whiteBoardPanelHeight</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">whiteBoardPanelWidth</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">showFilesPanel</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">filesPanelXPosition</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">filesPanelYPosition</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">filesPanelHeight</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">filesPanelWidth</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/updateRoom?SID=VALUE&rooms_id=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&videoPodWidth=VALUE&videoPodHeight=VALUE&videoPodXPosition=VALUE&videoPodYPosition=VALUE&moderationPanelXPosition=VALUE&showWhiteBoard=VALUE&whiteBoardPanelXPosition=VALUE&whiteBoardPanelYPosition=VALUE&whiteBoardPanelHeight=VALUE&whiteBoardPanelWidth=VALUE&showFilesPanel=VALUE&filesPanelXPosition=VALUE&filesPanelYPosition=VALUE&filesPanelHeight=VALUE&filesPanelWidth=VALUE&appointment=VALUE">http://localhost:5080/openmeetings/services/RoomService/updateRoom?SID=VALUE&rooms_id=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&videoPodWidth=VALUE&videoPodHeight=VALUE&videoPodXPosition=VALUE&videoPodYPosition=VALUE&moderationPanelXPosition=VALUE&showWhiteBoard=VALUE&whiteBoardPanelXPosition=VALUE&whiteBoardPanelYPosition=VALUE&whiteBoardPanelHeight=VALUE&whiteBoardPanelWidth=VALUE&showFilesPanel=VALUE&filesPanelXPosition=VALUE&filesPanelYPosition=VALUE&filesPanelHeight=VALUE&filesPanelWidth=VALUE&appointment=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="updateRoomWithModeration" ><b>updateRoomWithModeration</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>updateRoomWithModeration (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   String name

+    			       			    			       			     , 

+    			       			   Long roomtypes_id

+    			       			    			       			     , 

+    			       			   String comment

+    			       			    			       			     , 

+    			       			   Long numberOfPartizipants

+    			       			    			       			     , 

+    			       			   Boolean ispublic

+    			       			    			       			     , 

+    			       			   Boolean appointment

+    			       			    			       			     , 

+    			       			   Boolean isDemoRoom

+    			       			    			       			     , 

+    			       			   Integer demoTime

+    			       			    			       			     , 

+    			       			   Boolean isModeratedRoom

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Updates a conference room by its room id

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">the room id to update</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">name</td>

+	                     <td valign="top">new name of the room</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">roomtypes_id</td>

+	                     <td valign="top">new type of room (1 = Conference, 2 = Audience, 3 =
+            Restricted, 4 = Interview)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">comment</td>

+	                     <td valign="top">new comment</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">numberOfPartizipants</td>

+	                     <td valign="top">new numberOfParticipants</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">ispublic</td>

+	                     <td valign="top">is public</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">appointment</td>

+	                     <td valign="top">if the room is an appointment</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isDemoRoom</td>

+	                     <td valign="top">is it a Demo Room with limited time? (use false if not sure
+            what that means)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">demoTime</td>

+	                     <td valign="top">time in seconds after the user will be logged out (only
+            enabled if isDemoRoom is true)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isModeratedRoom</td>

+	                     <td valign="top">Users have to wait until a Moderator arrives. Use the
+            becomeModerator parameter in setUserObjectAndGenerateRoomHash
+            to set a user as default Moderator</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/updateRoomWithModeration?SID=VALUE&room_id=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE">http://localhost:5080/openmeetings/services/RoomService/updateRoomWithModeration?SID=VALUE&room_id=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="updateRoomWithModerationAndQuestions" ><b>updateRoomWithModerationAndQuestions</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>updateRoomWithModerationAndQuestions (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   String name

+    			       			    			       			     , 

+    			       			   Long roomtypes_id

+    			       			    			       			     , 

+    			       			   String comment

+    			       			    			       			     , 

+    			       			   Long numberOfPartizipants

+    			       			    			       			     , 

+    			       			   Boolean ispublic

+    			       			    			       			     , 

+    			       			   Boolean appointment

+    			       			    			       			     , 

+    			       			   Boolean isDemoRoom

+    			       			    			       			     , 

+    			       			   Integer demoTime

+    			       			    			       			     , 

+    			       			   Boolean isModeratedRoom

+    			       			    			       			     , 

+    			       			   Boolean allowUserQuestions

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">the room id to update</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">name</td>

+	                     <td valign="top">new name of the room</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">roomtypes_id</td>

+	                     <td valign="top">new type of room (1 = Conference, 2 = Audience, 3 =
+            Restricted, 4 = Interview)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">comment</td>

+	                     <td valign="top">new comment</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">numberOfPartizipants</td>

+	                     <td valign="top">new numberOfParticipants</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">ispublic</td>

+	                     <td valign="top">is public</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">appointment</td>

+	                     <td valign="top">if the room is an appointment</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isDemoRoom</td>

+	                     <td valign="top">is it a Demo Room with limited time? (use false if not sure
+            what that means)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">demoTime</td>

+	                     <td valign="top">time in seconds after the user will be logged out (only
+            enabled if isDemoRoom is true)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isModeratedRoom</td>

+	                     <td valign="top">Users have to wait until a Moderator arrives. Use the
+            becomeModerator parameter in setUserObjectAndGenerateRoomHash
+            to set a user as default Moderator</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">allowUserQuestions</td>

+	                     <td valign="top">enable or disable the button to allow users to apply for
+            moderation</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/updateRoomWithModerationAndQuestions?SID=VALUE&room_id=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&allowUserQuestions=VALUE">http://localhost:5080/openmeetings/services/RoomService/updateRoomWithModerationAndQuestions?SID=VALUE&room_id=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&allowUserQuestions=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="updateRoomWithModerationQuestionsAudioTypeAndHideOptions" ><b>updateRoomWithModerationQuestionsAudioTypeAndHideOptions</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>updateRoomWithModerationQuestionsAudioTypeAndHideOptions (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   String name

+    			       			    			       			     , 

+    			       			   Long roomtypes_id

+    			       			    			       			     , 

+    			       			   String comment

+    			       			    			       			     , 

+    			       			   Long numberOfPartizipants

+    			       			    			       			     , 

+    			       			   Boolean ispublic

+    			       			    			       			     , 

+    			       			   Boolean appointment

+    			       			    			       			     , 

+    			       			   Boolean isDemoRoom

+    			       			    			       			     , 

+    			       			   Integer demoTime

+    			       			    			       			     , 

+    			       			   Boolean isModeratedRoom

+    			       			    			       			     , 

+    			       			   Boolean allowUserQuestions

+    			       			    			       			     , 

+    			       			   Boolean isAudioOnly

+    			       			    			       			     , 

+    			       			   Boolean hideTopBar

+    			       			    			       			     , 

+    			       			   Boolean hideChat

+    			       			    			       			     , 

+    			       			   Boolean hideActivitiesAndActions

+    			       			    			       			     , 

+    			       			   Boolean hideFilesExplorer

+    			       			    			       			     , 

+    			       			   Boolean hideActionsMenu

+    			       			    			       			     , 

+    			       			   Boolean hideScreenSharing

+    			       			    			       			     , 

+    			       			   Boolean hideWhiteboard

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  update room with options for user questions, audio only and hide
+ 
+ * @param SID The SID of the User. This SID must be marked as Loggedin

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    				<b>Warning:</b><i> Params in this method do not seem to be correctly documentated</i>

+    				<br/><br/>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">the room id to update</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">name</td>

+	                     <td valign="top">new name of the room</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">roomtypes_id</td>

+	                     <td valign="top">new type of room (1 = Conference, 2 = Audience, 3 =
+            Restricted, 4 = Interview)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">comment</td>

+	                     <td valign="top">new comment</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">numberOfPartizipants</td>

+	                     <td valign="top">new numberOfParticipants</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">ispublic</td>

+	                     <td valign="top">is public</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">appointment</td>

+	                     <td valign="top">if the room is an appointment</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isDemoRoom</td>

+	                     <td valign="top">is it a Demo Room with limited time? (use false if not sure
+            what that means)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">demoTime</td>

+	                     <td valign="top">time in seconds after the user will be logged out (only
+            enabled if isDemoRoom is true)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">isModeratedRoom</td>

+	                     <td valign="top">Users have to wait until a Moderator arrives. Use the
+            becomeModerator parameter in setUserObjectAndGenerateRoomHash
+            to set a user as default Moderator</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">allowUserQuestions</td>

+	                     <td valign="top">enable or disable the button to allow users to apply for
+            moderation</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isAudioOnly</td>

+	                     <td valign="top">enable or disable the video / or audio-only</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">hideTopBar</td>

+	                     <td valign="top">hide or show TopBar</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">hideChat</td>

+	                     <td valign="top">hide or show Chat</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">hideActivitiesAndActions</td>

+	                     <td valign="top">hide or show Activities And Actions</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">hideFilesExplorer</td>

+	                     <td valign="top">hide or show Files Explorer</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">hideActionsMenu</td>

+	                     <td valign="top">hide or show Actions Menu</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">hideScreenSharing</td>

+	                     <td valign="top">hide or show Screen Sharing</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">hideWhiteboard</td>

+	                     <td valign="top">hide or show Whiteboard. If whitboard is hidden, video pods and scrollbar  appear instead.</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/updateRoomWithModerationQuestionsAudioTypeAndHideOptions?SID=VALUE&room_id=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&allowUserQuestions=VALUE&isAudioOnly=VALUE&hideTopBar=VALUE&hideChat=VALUE&hideActivitiesAndActions=VALUE&hideFilesExplorer=VALUE&hideActionsMenu=VALUE&hideScreenSharing=VALUE&hideWhiteboard=VALUE">http://localhost:5080/openmeetings/services/RoomService/updateRoomWithModerationQuestionsAudioTypeAndHideOptions?SID=VALUE&room_id=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&allowUserQuestions=VALUE&isAudioOnly=VALUE&hideTopBar=VALUE&hideChat=VALUE&hideActivitiesAndActions=VALUE&hideFilesExplorer=VALUE&hideActionsMenu=VALUE&hideScreenSharing=VALUE&hideWhiteboard=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="deleteRoom" ><b>deleteRoom</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>deleteRoom (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   long rooms_id

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Delete a room by its room id

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		long

+	                     		                     </td>

+	                     <td valign="top">rooms_id</td>

+	                     <td valign="top"></td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/deleteRoom?SID=VALUE&rooms_id=VALUE">http://localhost:5080/openmeetings/services/RoomService/deleteRoom?SID=VALUE&rooms_id=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="kickUser" ><b>kickUser</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>kickUser (

+    			    			    			       			   String SID_Admin

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  kick all uses of a certain room

+    			</p>

+    			<p>

+                  Return Type: java.lang.Boolean

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin _Admin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">the room id</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/kickUser?SID_Admin=VALUE&room_id=VALUE">http://localhost:5080/openmeetings/services/RoomService/kickUser?SID_Admin=VALUE&room_id=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="addRoomWithModerationAndExternalType" ><b>addRoomWithModerationAndExternalType</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>addRoomWithModerationAndExternalType (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String name

+    			       			    			       			     , 

+    			       			   Long roomtypes_id

+    			       			    			       			     , 

+    			       			   String comment

+    			       			    			       			     , 

+    			       			   Long numberOfPartizipants

+    			       			    			       			     , 

+    			       			   Boolean ispublic

+    			       			    			       			     , 

+    			       			   Boolean appointment

+    			       			    			       			     , 

+    			       			   Boolean isDemoRoom

+    			       			    			       			     , 

+    			       			   Integer demoTime

+    			       			    			       			     , 

+    			       			   Boolean isModeratedRoom

+    			       			    			       			     , 

+    			       			   String externalRoomType

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Add a new conference room with option to set the external room type, the
+ external room type should be set if multiple applications use the same
+ OpenMeetings instance

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">name</td>

+	                     <td valign="top">new name of the room</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">roomtypes_id</td>

+	                     <td valign="top">new type of room (1 = Conference, 2 = Audience, 3 =
+            Restricted, 4 = Interview)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">comment</td>

+	                     <td valign="top">new comment</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">numberOfPartizipants</td>

+	                     <td valign="top">new numberOfParticipants</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">ispublic</td>

+	                     <td valign="top">is public</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">appointment</td>

+	                     <td valign="top">if the room is an appointment</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isDemoRoom</td>

+	                     <td valign="top">is it a Demo Room with limited time? (use false if not sure
+            what that means)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">demoTime</td>

+	                     <td valign="top">time in seconds after the user will be logged out (only
+            enabled if isDemoRoom is true)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isModeratedRoom</td>

+	                     <td valign="top">Users have to wait until a Moderator arrives. Use the
+            becomeModerator parameter in setUserObjectAndGenerateRoomHash
+            to set a user as default Moderator</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalRoomType</td>

+	                     <td valign="top">the external room type (can be used to identify different
+            external systems using same OpenMeetings instance)</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/addRoomWithModerationAndExternalType?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&externalRoomType=VALUE">http://localhost:5080/openmeetings/services/RoomService/addRoomWithModerationAndExternalType?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&externalRoomType=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="addRoomWithModerationExternalTypeAndAudioType" ><b>addRoomWithModerationExternalTypeAndAudioType</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>addRoomWithModerationExternalTypeAndAudioType (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String name

+    			       			    			       			     , 

+    			       			   Long roomtypes_id

+    			       			    			       			     , 

+    			       			   String comment

+    			       			    			       			     , 

+    			       			   Long numberOfPartizipants

+    			       			    			       			     , 

+    			       			   Boolean ispublic

+    			       			    			       			     , 

+    			       			   Boolean appointment

+    			       			    			       			     , 

+    			       			   Boolean isDemoRoom

+    			       			    			       			     , 

+    			       			   Integer demoTime

+    			       			    			       			     , 

+    			       			   Boolean isModeratedRoom

+    			       			    			       			     , 

+    			       			   String externalRoomType

+    			       			    			       			     , 

+    			       			   Boolean allowUserQuestions

+    			       			    			       			     , 

+    			       			   Boolean isAudioOnly

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Adds a new room with options for audio only

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">name</td>

+	                     <td valign="top">new name of the room</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">roomtypes_id</td>

+	                     <td valign="top">new type of room (1 = Conference, 2 = Audience, 3 =
+            Restricted, 4 = Interview)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">comment</td>

+	                     <td valign="top">new comment</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">numberOfPartizipants</td>

+	                     <td valign="top">new numberOfParticipants</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">ispublic</td>

+	                     <td valign="top">is public</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">appointment</td>

+	                     <td valign="top">if the room is an appointment</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isDemoRoom</td>

+	                     <td valign="top">is it a Demo Room with limited time? (use false if not sure
+            what that means)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">demoTime</td>

+	                     <td valign="top">time in seconds after the user will be logged out (only
+            enabled if isDemoRoom is true)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isModeratedRoom</td>

+	                     <td valign="top">Users have to wait until a Moderator arrives. Use the
+            becomeModerator parameter in setUserObjectAndGenerateRoomHash
+            to set a user as default Moderator</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalRoomType</td>

+	                     <td valign="top">the external room type (can be used to identify different
+            external systems using same OpenMeetings instance)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">allowUserQuestions</td>

+	                     <td valign="top">enable or disable the button to allow users to apply for
+            moderation</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isAudioOnly</td>

+	                     <td valign="top">enable or disable the video / or audio-only</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/addRoomWithModerationExternalTypeAndAudioType?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&externalRoomType=VALUE&allowUserQuestions=VALUE&isAudioOnly=VALUE">http://localhost:5080/openmeetings/services/RoomService/addRoomWithModerationExternalTypeAndAudioType?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&externalRoomType=VALUE&allowUserQuestions=VALUE&isAudioOnly=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="addRoomWithModerationAndRecordingFlags" ><b>addRoomWithModerationAndRecordingFlags</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>addRoomWithModerationAndRecordingFlags (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String name

+    			       			    			       			     , 

+    			       			   Long roomtypes_id

+    			       			    			       			     , 

+    			       			   String comment

+    			       			    			       			     , 

+    			       			   Long numberOfPartizipants

+    			       			    			       			     , 

+    			       			   Boolean ispublic

+    			       			    			       			     , 

+    			       			   Boolean appointment

+    			       			    			       			     , 

+    			       			   Boolean isDemoRoom

+    			       			    			       			     , 

+    			       			   Integer demoTime

+    			       			    			       			     , 

+    			       			   Boolean isModeratedRoom

+    			       			    			       			     , 

+    			       			   String externalRoomType

+    			       			    			       			     , 

+    			       			   Boolean allowUserQuestions

+    			       			    			       			     , 

+    			       			   Boolean isAudioOnly

+    			       			    			       			     , 

+    			       			   Boolean waitForRecording

+    			       			    			       			     , 

+    			       			   Boolean allowRecording

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Adds a new room with options for recording

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">name</td>

+	                     <td valign="top">new name of the room</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">roomtypes_id</td>

+	                     <td valign="top">new type of room (1 = Conference, 2 = Audience, 3 =
+            Restricted, 4 = Interview)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">comment</td>

+	                     <td valign="top">new comment</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">numberOfPartizipants</td>

+	                     <td valign="top">new numberOfParticipants</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">ispublic</td>

+	                     <td valign="top">is public</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">appointment</td>

+	                     <td valign="top">if the room is an appointment</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isDemoRoom</td>

+	                     <td valign="top">is it a Demo Room with limited time? (use false if not sure
+            what that means)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">demoTime</td>

+	                     <td valign="top">time in seconds after the user will be logged out (only
+            enabled if isDemoRoom is true)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isModeratedRoom</td>

+	                     <td valign="top">Users have to wait until a Moderator arrives. Use the
+            becomeModerator parameter in setUserObjectAndGenerateRoomHash
+            to set a user as default Moderator</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalRoomType</td>

+	                     <td valign="top">the external room type (can be used to identify different
+            external systems using same OpenMeetings instance)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">allowUserQuestions</td>

+	                     <td valign="top">enable or disable the button to allow users to apply for
+            moderation</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isAudioOnly</td>

+	                     <td valign="top">enable or disable the video / or audio-only</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">waitForRecording</td>

+	                     <td valign="top">if the users in the room will get a notification that they
+            should start recording before they do a conference</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">allowRecording</td>

+	                     <td valign="top">if the recording option is available or not</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/addRoomWithModerationAndRecordingFlags?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&externalRoomType=VALUE&allowUserQuestions=VALUE&isAudioOnly=VALUE&waitForRecording=VALUE&allowRecording=VALUE">http://localhost:5080/openmeetings/services/RoomService/addRoomWithModerationAndRecordingFlags?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&externalRoomType=VALUE&allowUserQuestions=VALUE&isAudioOnly=VALUE&waitForRecording=VALUE&allowRecording=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="addRoomWithModerationExternalTypeAndTopBarOption" ><b>addRoomWithModerationExternalTypeAndTopBarOption</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>addRoomWithModerationExternalTypeAndTopBarOption (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String name

+    			       			    			       			     , 

+    			       			   Long roomtypes_id

+    			       			    			       			     , 

+    			       			   String comment

+    			       			    			       			     , 

+    			       			   Long numberOfPartizipants

+    			       			    			       			     , 

+    			       			   Boolean ispublic

+    			       			    			       			     , 

+    			       			   Boolean appointment

+    			       			    			       			     , 

+    			       			   Boolean isDemoRoom

+    			       			    			       			     , 

+    			       			   Integer demoTime

+    			       			    			       			     , 

+    			       			   Boolean isModeratedRoom

+    			       			    			       			     , 

+    			       			   String externalRoomType

+    			       			    			       			     , 

+    			       			   Boolean allowUserQuestions

+    			       			    			       			     , 

+    			       			   Boolean isAudioOnly

+    			       			    			       			     , 

+    			       			   Boolean waitForRecording

+    			       			    			       			     , 

+    			       			   Boolean allowRecording

+    			       			    			       			     , 

+    			       			   Boolean hideTopBar

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Add a conference room with options to disable the top menu bar in the
+ conference room

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">name</td>

+	                     <td valign="top">new name of the room</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">roomtypes_id</td>

+	                     <td valign="top">new type of room (1 = Conference, 2 = Audience, 3 =
+            Restricted, 4 = Interview)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">comment</td>

+	                     <td valign="top">new comment</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">numberOfPartizipants</td>

+	                     <td valign="top">new numberOfParticipants</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">ispublic</td>

+	                     <td valign="top">is public</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">appointment</td>

+	                     <td valign="top">if the room is an appointment</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isDemoRoom</td>

+	                     <td valign="top">is it a Demo Room with limited time? (use false if not sure
+            what that means)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">demoTime</td>

+	                     <td valign="top">time in seconds after the user will be logged out (only
+            enabled if isDemoRoom is true)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isModeratedRoom</td>

+	                     <td valign="top">Users have to wait until a Moderator arrives. Use the
+            becomeModerator parameter in setUserObjectAndGenerateRoomHash
+            to set a user as default Moderator</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalRoomType</td>

+	                     <td valign="top">the external room type (can be used to identify different
+            external systems using same OpenMeetings instance)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">allowUserQuestions</td>

+	                     <td valign="top">enable or disable the button to allow users to apply for
+            moderation</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isAudioOnly</td>

+	                     <td valign="top">enable or disable the video / or audio-only</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">waitForRecording</td>

+	                     <td valign="top">if the users in the room will get a notification that they
+            should start recording before they do a conference</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">allowRecording</td>

+	                     <td valign="top">if the recording option is available or not</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">hideTopBar</td>

+	                     <td valign="top">if the top bar in the conference room is visible or not</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/addRoomWithModerationExternalTypeAndTopBarOption?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&externalRoomType=VALUE&allowUserQuestions=VALUE&isAudioOnly=VALUE&waitForRecording=VALUE&allowRecording=VALUE&hideTopBar=VALUE">http://localhost:5080/openmeetings/services/RoomService/addRoomWithModerationExternalTypeAndTopBarOption?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&externalRoomType=VALUE&allowUserQuestions=VALUE&isAudioOnly=VALUE&waitForRecording=VALUE&allowRecording=VALUE&hideTopBar=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getInvitationHash" ><b>getInvitationHash</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getInvitationHash (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String username

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   Boolean isPasswordProtected

+    			       			    			       			     , 

+    			       			   String invitationpass

+    			       			    			       			     , 

+    			       			   Integer valid

+    			       			    			       			     , 

+    			       			   String validFromDate

+    			       			    			       			     , 

+    			       			   String validFromTime

+    			       			    			       			     , 

+    			       			   String validToDate

+    			       			    			       			     , 

+    			       			   String validToTime

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Create a Invitation hash and optionally send it by mail the From to Date
+ is as String as some SOAP libraries do not accept Date Objects in SOAP
+ Calls Date is parsed as dd.mm.yyyy, time as hh:mm (don't forget the
+ leading zero's)

+    			</p>

+    			<p>

+                  Return Type: java.lang.String

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin 
+            a valid Session Token</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">username</td>

+	                     <td valign="top">the username of the User that he will get</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">the conference room id of the invitation</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isPasswordProtected</td>

+	                     <td valign="top">if the invitation is password protected</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">invitationpass</td>

+	                     <td valign="top">the password for accessing the conference room via the
+            invitation hash</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">valid</td>

+	                     <td valign="top">the type of validation for the hash 1: endless, 2: from-to
+            period, 3: one-time</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">validFromDate</td>

+	                     <td valign="top">Date in Format of dd.mm.yyyy only of interest if valid is type
+            2</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">validFromTime</td>

+	                     <td valign="top">time in Format of hh:mm only of interest if valid is type 2</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">validToDate</td>

+	                     <td valign="top">Date in Format of dd.mm.yyyy only of interest if valid is type
+            2</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">validToTime</td>

+	                     <td valign="top">time in Format of hh:mm only of interest if valid is type 2</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/getInvitationHash?SID=VALUE&username=VALUE&room_id=VALUE&isPasswordProtected=VALUE&invitationpass=VALUE&valid=VALUE&validFromDate=VALUE&validFromTime=VALUE&validToDate=VALUE&validToTime=VALUE">http://localhost:5080/openmeetings/services/RoomService/getInvitationHash?SID=VALUE&username=VALUE&room_id=VALUE&isPasswordProtected=VALUE&invitationpass=VALUE&valid=VALUE&validFromDate=VALUE&validFromTime=VALUE&validToDate=VALUE&validToTime=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="sendInvitationHash" ><b>sendInvitationHash</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>sendInvitationHash (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String username

+    			       			    			       			     , 

+    			       			   String message

+    			       			    			       			     , 

+    			       			   String baseurl

+    			       			    			       			     , 

+    			       			   String email

+    			       			    			       			     , 

+    			       			   String subject

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   String conferencedomain

+    			       			    			       			     , 

+    			       			   Boolean isPasswordProtected

+    			       			    			       			     , 

+    			       			   String invitationpass

+    			       			    			       			     , 

+    			       			   Integer valid

+    			       			    			       			     , 

+    			       			   String validFromDate

+    			       			    			       			     , 

+    			       			   String validFromTime

+    			       			    			       			     , 

+    			       			   String validToDate

+    			       			    			       			     , 

+    			       			   String validToTime

+    			       			    			       			     , 

+    			       			   Long language_id

+    			       			    			       			     , 

+    			       			   Boolean sendMail

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Create a Invitation hash and optionally send it by mail the From to Date
+ is as String as some SOAP libraries do not accept Date Objects in SOAP
+ Calls Date is parsed as dd.mm.yyyy, time as hh:mm (don't forget the
+ leading zero's)

+    			</p>

+    			<p>

+                  Return Type: java.lang.String

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin 
+            a valid Session Token</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">username</td>

+	                     <td valign="top">the Username of the User that he will get</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">message</td>

+	                     <td valign="top">the Message in the Email Body send with the invitation if
+            sendMail is true</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">baseurl</td>

+	                     <td valign="top">the baseURL for the Infivations link in the Mail Body if
+            sendMail is true</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">email</td>

+	                     <td valign="top">the Email to send the invitation to if sendMail is true</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">subject</td>

+	                     <td valign="top">the subject of the Email send with the invitation if sendMail
+            is true</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">the conference room id of the invitation</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">conferencedomain</td>

+	                     <td valign="top">the domain of the room (keep empty)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isPasswordProtected</td>

+	                     <td valign="top">if the invitation is password protected</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">invitationpass</td>

+	                     <td valign="top">the password for accessing the conference room via the
+            invitation hash</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">valid</td>

+	                     <td valign="top">the type of validation for the hash 1: endless, 2: from-to
+            period, 3: one-time</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">validFromDate</td>

+	                     <td valign="top">Date in Format of dd.mm.yyyy only of interest if valid is type
+            2</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">validFromTime</td>

+	                     <td valign="top">time in Format of hh:mm only of interest if valid is type 2</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">validToDate</td>

+	                     <td valign="top">Date in Format of dd.mm.yyyy only of interest if valid is type
+            2</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">validToTime</td>

+	                     <td valign="top">time in Format of hh:mm only of interest if valid is type 2</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">language_id</td>

+	                     <td valign="top">the language id of the EMail that is send with the invitation
+            if sendMail is true</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">sendMail</td>

+	                     <td valign="top">if sendMail is true then the RPC-Call will send the invitation
+            to the email</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/sendInvitationHash?SID=VALUE&username=VALUE&message=VALUE&baseurl=VALUE&email=VALUE&subject=VALUE&room_id=VALUE&conferencedomain=VALUE&isPasswordProtected=VALUE&invitationpass=VALUE&valid=VALUE&validFromDate=VALUE&validFromTime=VALUE&validToDate=VALUE&validToTime=VALUE&language_id=VALUE&sendMail=VALUE">http://localhost:5080/openmeetings/services/RoomService/sendInvitationHash?SID=VALUE&username=VALUE&message=VALUE&baseurl=VALUE&email=VALUE&subject=VALUE&room_id=VALUE&conferencedomain=VALUE&isPasswordProtected=VALUE&invitationpass=VALUE&valid=VALUE&validFromDate=VALUE&validFromTime=VALUE&validToDate=VALUE&validToTime=VALUE&language_id=VALUE&sendMail=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="sendInvitationHashWithDateObject" ><b>sendInvitationHashWithDateObject</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>sendInvitationHashWithDateObject (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String username

+    			       			    			       			     , 

+    			       			   String message

+    			       			    			       			     , 

+    			       			   String baseurl

+    			       			    			       			     , 

+    			       			   String email

+    			       			    			       			     , 

+    			       			   String subject

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   String conferencedomain

+    			       			    			       			     , 

+    			       			   Boolean isPasswordProtected

+    			       			    			       			     , 

+    			       			   String invitationpass

+    			       			    			       			     , 

+    			       			   Integer valid

+    			       			    			       			     , 

+    			       			   Date fromDate

+    			       			    			       			     , 

+    			       			   Date toDate

+    			       			    			       			     , 

+    			       			   Long language_id

+    			       			    			       			     , 

+    			       			   Boolean sendMail

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Create a Invitation hash and optionally send it by mail the From to Date
+ is as String as some SOAP libraries do not accept Date Objects in SOAP
+ Calls Date is parsed as dd.mm.yyyy, time as hh:mm (don't forget the
+ leading zero's)

+    			</p>

+    			<p>

+                  Return Type: java.lang.String

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin 
+            a valid Session Token</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">username</td>

+	                     <td valign="top">the Username of the User that he will get</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">message</td>

+	                     <td valign="top">the Message in the Email Body send with the invitation if
+            sendMail is true</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">baseurl</td>

+	                     <td valign="top">the baseURL for the Infivations link in the Mail Body if
+            sendMail is true</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">email</td>

+	                     <td valign="top">the Email to send the invitation to if sendMail is true</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">subject</td>

+	                     <td valign="top">the subject of the Email send with the invitation if sendMail
+            is true</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">the conference room id of the invitation</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">conferencedomain</td>

+	                     <td valign="top">the domain of the room (keep empty)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isPasswordProtected</td>

+	                     <td valign="top">if the invitation is password protected</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">invitationpass</td>

+	                     <td valign="top">the password for accessing the conference room via the
+            invitation hash</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">valid</td>

+	                     <td valign="top">the type of validation for the hash 1: endless, 2: from-to
+            period, 3: one-time</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Date

+	                     		                     </td>

+	                     <td valign="top">fromDate</td>

+	                     <td valign="top">Date as Date Object only of interest if valid is type 2</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Date

+	                     		                     </td>

+	                     <td valign="top">toDate</td>

+	                     <td valign="top">Date as Date Object only of interest if valid is type 2</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">language_id</td>

+	                     <td valign="top">the language id of the EMail that is send with the invitation
+            if sendMail is true</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">sendMail</td>

+	                     <td valign="top">if sendMail is true then the RPC-Call will send the invitation
+            to the email</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/sendInvitationHashWithDateObject?SID=VALUE&username=VALUE&message=VALUE&baseurl=VALUE&email=VALUE&subject=VALUE&room_id=VALUE&conferencedomain=VALUE&isPasswordProtected=VALUE&invitationpass=VALUE&valid=VALUE&fromDate=VALUE&toDate=VALUE&language_id=VALUE&sendMail=VALUE">http://localhost:5080/openmeetings/services/RoomService/sendInvitationHashWithDateObject?SID=VALUE&username=VALUE&message=VALUE&baseurl=VALUE&email=VALUE&subject=VALUE&room_id=VALUE&conferencedomain=VALUE&isPasswordProtected=VALUE&invitationpass=VALUE&valid=VALUE&fromDate=VALUE&toDate=VALUE&language_id=VALUE&sendMail=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getRoomsWithCurrentUsersByList" ><b>getRoomsWithCurrentUsersByList</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getRoomsWithCurrentUsersByList (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   int start

+    			       			    			       			     , 

+    			       			   int max

+    			       			    			       			     , 

+    			       			   String orderby

+    			       			    			       			     , 

+    			       			   boolean asc

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Return a RoomReturn Object with information of the current users of a
+ conference room

+    			</p>

+    			<p>

+                  Return Type: java.util.List

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		int

+	                     		                     </td>

+	                     <td valign="top">start</td>

+	                     <td valign="top">The id you want to start</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		int

+	                     		                     </td>

+	                     <td valign="top">max</td>

+	                     <td valign="top">The maximum you want to get</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">orderby</td>

+	                     <td valign="top">The column it will be ordered</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		boolean

+	                     		                     </td>

+	                     <td valign="top">asc</td>

+	                     <td valign="top">Asc or Desc sort ordering</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/getRoomsWithCurrentUsersByList?SID=VALUE&start=VALUE&max=VALUE&orderby=VALUE&asc=VALUE">http://localhost:5080/openmeetings/services/RoomService/getRoomsWithCurrentUsersByList?SID=VALUE&start=VALUE&max=VALUE&orderby=VALUE&asc=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getRoomsWithCurrentUsersByListAndType" ><b>getRoomsWithCurrentUsersByListAndType</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getRoomsWithCurrentUsersByListAndType (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   int start

+    			       			    			       			     , 

+    			       			   int max

+    			       			    			       			     , 

+    			       			   String orderby

+    			       			    			       			     , 

+    			       			   boolean asc

+    			       			    			       			     , 

+    			       			   String externalRoomType

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Return a RoomReturn Object with information of the current users of a
+ conference room with option to search for special external room types

+    			</p>

+    			<p>

+                  Return Type: java.util.List

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		int

+	                     		                     </td>

+	                     <td valign="top">start</td>

+	                     <td valign="top">The id you want to start</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		int

+	                     		                     </td>

+	                     <td valign="top">max</td>

+	                     <td valign="top">The maximum you want to get</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">orderby</td>

+	                     <td valign="top">The column it will be ordered</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		boolean

+	                     		                     </td>

+	                     <td valign="top">asc</td>

+	                     <td valign="top">Asc or Desc sort ordering</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalRoomType</td>

+	                     <td valign="top">the external room type</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/getRoomsWithCurrentUsersByListAndType?SID=VALUE&start=VALUE&max=VALUE&orderby=VALUE&asc=VALUE&externalRoomType=VALUE">http://localhost:5080/openmeetings/services/RoomService/getRoomsWithCurrentUsersByListAndType?SID=VALUE&start=VALUE&max=VALUE&orderby=VALUE&asc=VALUE&externalRoomType=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="addRoomWithModerationAndExternalTypeAndStartEnd" ><b>addRoomWithModerationAndExternalTypeAndStartEnd</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>addRoomWithModerationAndExternalTypeAndStartEnd (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String name

+    			       			    			       			     , 

+    			       			   Long roomtypes_id

+    			       			    			       			     , 

+    			       			   String comment

+    			       			    			       			     , 

+    			       			   Long numberOfPartizipants

+    			       			    			       			     , 

+    			       			   Boolean ispublic

+    			       			    			       			     , 

+    			       			   Boolean appointment

+    			       			    			       			     , 

+    			       			   Boolean isDemoRoom

+    			       			    			       			     , 

+    			       			   Integer demoTime

+    			       			    			       			     , 

+    			       			   Boolean isModeratedRoom

+    			       			    			       			     , 

+    			       			   String externalRoomType

+    			       			    			       			     , 

+    			       			   String validFromDate

+    			       			    			       			     , 

+    			       			   String validFromTime

+    			       			    			       			     , 

+    			       			   String validToDate

+    			       			    			       			     , 

+    			       			   String validToTime

+    			       			    			       			     , 

+    			       			   Boolean isPasswordProtected

+    			       			    			       			     , 

+    			       			   String password

+    			       			    			       			     , 

+    			       			   Long reminderTypeId

+    			       			    			       			     , 

+    			       			   String redirectURL

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Adds a conference room that is only available for a period of time

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">name</td>

+	                     <td valign="top">new name of the room</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">roomtypes_id</td>

+	                     <td valign="top">new type of room (1 = Conference, 2 = Audience, 3 =
+            Restricted, 4 = Interview)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">comment</td>

+	                     <td valign="top">new comment</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">numberOfPartizipants</td>

+	                     <td valign="top">new numberOfParticipants</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">ispublic</td>

+	                     <td valign="top">is public</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">appointment</td>

+	                     <td valign="top">if the room is an appointment</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isDemoRoom</td>

+	                     <td valign="top">is it a Demo Room with limited time? (use false if not sure
+            what that means)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Integer

+	                     		                     </td>

+	                     <td valign="top">demoTime</td>

+	                     <td valign="top">time in seconds after the user will be logged out (only
+            enabled if isDemoRoom is true)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isModeratedRoom</td>

+	                     <td valign="top">Users have to wait until a Moderator arrives. Use the
+            becomeModerator parameter in setUserObjectAndGenerateRoomHash
+            to set a user as default Moderator</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalRoomType</td>

+	                     <td valign="top">the external room type (can be used to identify different
+            external systems using same OpenMeetings instance)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">validFromDate</td>

+	                     <td valign="top">valid from as Date format: dd.MM.yyyy</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">validFromTime</td>

+	                     <td valign="top">valid to as time format: mm:hh</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">validToDate</td>

+	                     <td valign="top">valid to Date format: dd.MM.yyyy</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">validToTime</td>

+	                     <td valign="top">valid to time format: mm:hh</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">isPasswordProtected</td>

+	                     <td valign="top">If the links send via EMail to invited people is password
+            protected</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">password</td>

+	                     <td valign="top">Password for Invitations send via Mail</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">reminderTypeId</td>

+	                     <td valign="top">1=none, 2=simple mail, 3=ICAL</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">redirectURL</td>

+	                     <td valign="top">URL Users will be lead to if the Conference Time is elapsed</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/addRoomWithModerationAndExternalTypeAndStartEnd?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&externalRoomType=VALUE&validFromDate=VALUE&validFromTime=VALUE&validToDate=VALUE&validToTime=VALUE&isPasswordProtected=VALUE&password=VALUE&reminderTypeId=VALUE&redirectURL=VALUE">http://localhost:5080/openmeetings/services/RoomService/addRoomWithModerationAndExternalTypeAndStartEnd?SID=VALUE&name=VALUE&roomtypes_id=VALUE&comment=VALUE&numberOfPartizipants=VALUE&ispublic=VALUE&appointment=VALUE&isDemoRoom=VALUE&demoTime=VALUE&isModeratedRoom=VALUE&externalRoomType=VALUE&validFromDate=VALUE&validFromTime=VALUE&validToDate=VALUE&validToTime=VALUE&isPasswordProtected=VALUE&password=VALUE&reminderTypeId=VALUE&redirectURL=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="addMeetingMemberRemindToRoom" ><b>addMeetingMemberRemindToRoom</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>addMeetingMemberRemindToRoom (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   String firstname

+    			       			    			       			     , 

+    			       			   String lastname

+    			       			    			       			     , 

+    			       			   String email

+    			       			    			       			     , 

+    			       			   String baseUrl

+    			       			    			       			     , 

+    			       			   Long language_id

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Add a meeting member to a certain room. This is the same as adding an
+ external user to a event in the calendar.

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">The Room Id the meeting member is going to be added</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">firstname</td>

+	                     <td valign="top">The first name of the meeting member</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">lastname</td>

+	                     <td valign="top">The last name of the meeting member</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">email</td>

+	                     <td valign="top">The email of the Meeting member</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">baseUrl</td>

+	                     <td valign="top">The baseUrl, this is important to send the correct link in the
+            invitation to the meeting member</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">language_id</td>

+	                     <td valign="top">The ID of the language, for the email that is send to the
+            meeting member</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/addMeetingMemberRemindToRoom?SID=VALUE&room_id=VALUE&firstname=VALUE&lastname=VALUE&email=VALUE&baseUrl=VALUE&language_id=VALUE">http://localhost:5080/openmeetings/services/RoomService/addMeetingMemberRemindToRoom?SID=VALUE&room_id=VALUE&firstname=VALUE&lastname=VALUE&email=VALUE&baseUrl=VALUE&language_id=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="addExternalMeetingMemberRemindToRoom" ><b>addExternalMeetingMemberRemindToRoom</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>addExternalMeetingMemberRemindToRoom (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   String firstname

+    			       			    			       			     , 

+    			       			   String lastname

+    			       			    			       			     , 

+    			       			   String email

+    			       			    			       			     , 

+    			       			   String baseUrl

+    			       			    			       			     , 

+    			       			   Long language_id

+    			       			    			       			     , 

+    			       			   String jNameTimeZone

+    			       			    			       			     , 

+    			       			   String invitorName

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Add a meeting member to a certain room. This is the same as adding an
+ external user to a event in the calendar. with a certain time zone

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">The Room Id the meeting member is going to be added</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">firstname</td>

+	                     <td valign="top">The first name of the meeting member</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">lastname</td>

+	                     <td valign="top">The last name of the meeting member</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">email</td>

+	                     <td valign="top">The email of the Meeting member</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">baseUrl</td>

+	                     <td valign="top">The baseUrl, this is important to send the correct link in the
+            invitation to the meeting member</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">language_id</td>

+	                     <td valign="top">The ID of the language, for the email that is send to the
+            meeting member</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">jNameTimeZone</td>

+	                     <td valign="top">name of the timezone</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">invitorName</td>

+	                     <td valign="top">name of invitation creators</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/addExternalMeetingMemberRemindToRoom?SID=VALUE&room_id=VALUE&firstname=VALUE&lastname=VALUE&email=VALUE&baseUrl=VALUE&language_id=VALUE&jNameTimeZone=VALUE&invitorName=VALUE">http://localhost:5080/openmeetings/services/RoomService/addExternalMeetingMemberRemindToRoom?SID=VALUE&room_id=VALUE&firstname=VALUE&lastname=VALUE&email=VALUE&baseUrl=VALUE&language_id=VALUE&jNameTimeZone=VALUE&invitorName=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="closeRoom" ><b>closeRoom</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>closeRoom (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   Boolean status

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Method to remotely close or open rooms. If a room is closed all users
+ inside the room and all users that try to enter it will be redirected to
+ the redirectURL that is defined in the Room-Object.
+ 
+ Returns positive value if authentication was successful.

+    			</p>

+    			<p>

+                  Return Type: int

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID of the User. This SID must be marked as Loggedin</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">the room id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Boolean

+	                     		                     </td>

+	                     <td valign="top">status</td>

+	                     <td valign="top">false = close, true = open</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/RoomService/closeRoom?SID=VALUE&room_id=VALUE&status=VALUE">http://localhost:5080/openmeetings/services/RoomService/closeRoom?SID=VALUE&room_id=VALUE&status=VALUE</a>

+    			</a>

+    		  </div>

+    	   			

+	

+	</body>

+</html>

+

diff --git a/docs/SakaiPlugin.html b/docs/SakaiPlugin.html
new file mode 100644
index 0000000..23825ae
--- /dev/null
+++ b/docs/SakaiPlugin.html
@@ -0,0 +1,1081 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Sakai Plugin</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Introduction"><strong>Introduction</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				In 2010,

+				<a rel="nofollow" href="http://www.samoo.es" target="_blank">Samoo company

+				</a>

+				has developed a plugin that integrates Sakai LMS and OpenMeetings

+				.

+			</p>
+                                                <p>

+				The plugin was developed for some Spanish Universities that use

+				Sakai and belongs to

+				<a rel="nofollow" target="_blank" href="https://confluence.sakaiproject.org/display/SPANISH/S2G+-+Spanish+Sakai+Group">"Spanish Sakai Universities"</a>

+				group:

+			</p>
+                                                <ul>

+				<li>

+					<a rel="nofollow" href="http://www.udl.es/" target="_blank">Universitat de Lleida </a>

+				</li>

+				<li>

+					<a rel="nofollow" href="http://www.upv.es/" target="_blank">Universidad Politécnica de Valencia </a>

+				</li>

+				<li>

+					<a rel="nofollow" href="http://www.um.es/" target="_blank">Universidad de Murcia</a>

+				</li>

+				<li>

+					<a rel="nofollow" href="http://www.unavarra.es/" target="_blank">Universidad Pública de Navarra</a>

+				</li>

+				<li>

+					<a rel="nofollow" href="http://www.ucam.edu/" target="_blank">Universidad Católica San Antonio de Murcia

+					</a>

+				</li>

+			</ul>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Features"><strong>Features</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>The plugin contains the following features: </p>
+                                                <ul>

+				<li>Create videoconference rooms through Sakai: </li>

+				<ol>

+					<li>Integrated with calendar </li>

+					<li>Integrated with announcements </li>

+					<li>Sends an email to all site participants </li>

+					<li>Rooms restricted to site groups </li>

+					<li>Configurable room type </li>

+				</ol>

+			</ul>
+                                                <p />
+                                                <ul>

+				<li>Future requirements </li>

+				<ol>

+					<li>Publish room recordings to students </li>

+					<li>Room reservation </li>

+				</ol>

+			</ul>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Source"><strong>Source</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				You can download and build the source code

+				<a rel="nofollow" target="_blank" href="https://source.sakaiproject.org/contrib/samoo/adobeconnectpro-openmeetings-integration/trunk/">here</a>

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Installation and documentation"><strong>Installation and documentation</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				The documentation resides in the

+				<a rel="nofollow" target="_blank" href="https://confluence.sakaiproject.org/display/OPENMTG/Home">Sakai confluence space</a>

+			</p>
+                                                <p>

+				Please contact the mailing list for further information. For

+				commercial support you can also contact

+				<a rel="nofollow" href="http://www.samoo.es" target="_blank">Samoo company</a>

+				or other companies from the list of

+				<a href="commercial-support.html">commercial support</a>

+				.

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/SoapRestAPI.html b/docs/SoapRestAPI.html
new file mode 100644
index 0000000..babc76a
--- /dev/null
+++ b/docs/SoapRestAPI.html
@@ -0,0 +1,1033 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			Sebastian Wagner
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Home</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Available WebServices"><strong>Available WebServices</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <div>

+				<div>

+					<a href="UserService.html" target="_BLANK">

+						<b>UserService</b>

+					</a>

+					<br />

+					<div style="margin-left:20px">

+						<i>The Service contains methods to login and create hash to

+							directly enter

+							conference rooms, recordings or the application in

+							general

+						</i>

+					</div>

+				</div>

+				<div>

+					<a href="RoomService.html" target="_BLANK">

+						<b>RoomService</b>

+					</a>

+					<br />

+					<div style="margin-left:20px">

+						<i>RoomService contains methods to manipulate rooms and create

+							invitation hash

+						</i>

+					</div>

+				</div>

+				<div>

+					<a href="FileService.html" target="_BLANK">

+						<b>FileService</b>

+					</a>

+					<br />

+					<div style="margin-left:20px">

+						<i>Contains methods to import and upload files into the Files

+							section of the

+							conference room and the personal drive of any user

+						</i>

+					</div>

+				</div>

+				<div>

+					<a href="CalendarService.html" target="_BLANK">

+						<b>CalendarService</b>

+					</a>

+					<br />

+					<div style="margin-left:20px">

+						<i>CalendarService contains methods to create, edit delete

+							calendar meetings

+						</i>

+					</div>

+				</div>

+				<div>

+					<a href="JabberService.html" target="_BLANK">

+						<b>JabberService</b>

+					</a>

+					<br />

+					<div style="margin-left:20px">

+						<i>The Service contains methods necessary for OM to Jabber integration.

+						All methods doesn't require admin privileges to get called.

+						</i>

+					</div>

+				</div>

+			</div>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/SugarCRMPlugin.html b/docs/SugarCRMPlugin.html
new file mode 100644
index 0000000..0ff38f0
--- /dev/null
+++ b/docs/SugarCRMPlugin.html
@@ -0,0 +1,1058 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="eugen.schwert@gmail.com">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - SugarCRM Plugin</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="SugarCRM Plugin for OpenMeetings"><strong>SugarCRM Plugin for OpenMeetings</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				You can get the latest Version of the Plugin for SugarCRM from the

+				<a href="downloads.html">downloads</a>

+				.

+			</p>
+                                                <p>

+				You can find the OpenMeetings Plugin also in the

+				<a href="http://www.sugarforge.org/projects/openmeetings/" target="_BLANK" rel="nofollow">SugarCRM Plugin database</a>

+				.

+			</p>
+                                                <p>

+				A demo version of the SugarCRM plugin is available at

+				<a href="http://demo.e-schwert.de/sugarcrm/" target="_BLANK" rel="nofollow">demo.e-schwert.de</a>

+				. Username: demo Password: Demouser55 

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Features"><strong>Features</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>The plugin contains the following features: </p>
+                                                <ul>

+				<li>Create videoconference rooms through SugarCRM: </li>

+				<ol>

+					<li>Integrated with calendar </li>

+					<li>Integrated with SugarCRM meetings </li>

+					<li>Sends invetations emails to meeting participants </li>					

+					<li>Configurable room type </li>

+				</ol>

+			</ul>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Installation the SugarCRM Plugin for OpenMeetings"><strong>Installation the SugarCRM Plugin for OpenMeetings</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>In SugarCRM's administration web-interface you will find the

+				module loader.

+			</p>
+                                                <a class="fancybox-buttons" data-fancybox-group="button" href="images/moodle_plugin_conference.png">

+				<img src="images/SugarCRM_Installation.png" alt="" width="640" height="320" />

+			</a>
+                                                <ol>

+				<li>Upload the module with module loader in administration area. </li>

+				<li>Configure OpenMeetings settings. </li>

+				<li>Create OpenMeetings rooms. </li>				

+			</ol>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Demo video"><strong>Demo video</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>The demo video of SugarCRM plugin show you the plugin in action </p>
+                                                <object style="height: 390px; width: 640px">

+			      <param name="movie" value="http://www.youtube.com/v/xrDbcXqxDq8?version=3&amp;feature=player_detailpage" />

+			      <param name="allowFullScreen" value="true" />

+			      <param name="allowScriptAccess" value="always" />

+			      <embed src="http://www.youtube.com/v/xrDbcXqxDq8?version=3&amp;feature=player_detailpage" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360" />

+		      </object>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/TimeZoneHandling.html b/docs/TimeZoneHandling.html
new file mode 100644
index 0000000..eb07577
--- /dev/null
+++ b/docs/TimeZoneHandling.html
@@ -0,0 +1,1041 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Timezones</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Introduction"><strong>Introduction</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				List of default Timezones:

+				<a href="http://openmeetings.googlecode.com/svn/trunk/singlewebapp/WebContent/languages/timezones.xml" rel="nofollow">http://openmeetings.googlecode.com/svn/trunk/singlewebapp/WebContent/languages/timezones.xml

+				</a>

+			</p>
+                                                <p>

+				To add a new Time Zone you have to lookup its represant in Java's

+				Timezone registry. You can then add freely new time zones to the XML

+				file. The XML entries are imported into the database into the table

+				<strong>om_timezone</strong>

+				during the installation of OpenMeetings. (Don't forget to stop the

+				server before you change anything in the database).

+			</p>
+                                                <p>

+				The Servers default timezone is stored in the configuration table in

+				the attribute

+				<strong>default.timezone</strong>

+				. The name in this value links to an attribute in the table

+				om_timezone in the column

+				<strong>jname</strong>

+				.

+			</p>
+                                                <p>

+				You can set a Flag

+				<strong>forceTimeZoneCheck</strong>

+				for each user that gives him a Pop-Up notification to change his

+				time zone. The Flag can be changed in the user administration of

+				OpenMeetings. This can be handy if you update from a previous

+				version of OpenMeetings to make sure users see the new feature and

+				update their settings.

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="How to lookup timezone's"><strong>How to lookup timezone's</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <div class="xmlcode">

+		  

+                    String[] ids = TimeZone.getAvailableIDs();<br />

+                    for (String id : ids) {<br />

+                        

+                        <div style="margin-left:20px">

+                        TimeZone timeZone = TimeZone.getTimeZone(id);<br />

+                        //TimeZone timeZone = timeRegistry.getTimeZone(id);<br />

+                        <br />

+                        Calendar cal = Calendar.getInstance();<br />

+                                <div style="margin-left:20px">

+                                cal.setTimeZone(timeZone);<br />

+                                // + cal.get(Calendar.DST_OFFSET)<br />

+                                int offset = cal.get(Calendar.ZONE_OFFSET);<br />

+                        <br />

+                                int offsetInMinutes = offset/1000/60;<br />

+                                <br />

+                                System.out.println("name" + id + "name offset "+offsetInMinutes+"offset ");

+                                </div>

+                        </div>

+                    }

+		  

+		  </div>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/Upgrade.html b/docs/Upgrade.html
new file mode 100644
index 0000000..c61cb39
--- /dev/null
+++ b/docs/Upgrade.html
@@ -0,0 +1,1034 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Upgrade</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Upgrading OpenMeetings via the Web-Interface"><strong>Upgrading OpenMeetings via the Web-Interface</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>There is a System Backup and Import tool. Login as Administrator

+				and Goto &gt; Backup

+			</p>
+                                                <a class="fancybox-buttons" data-fancybox-group="button" href="images/backup.png">

+				<img src="images/backup.png" alt="" width="600" height="145" />

+			</a>
+                                                <p>

+				The Text in the Administration&gt;Backup section actually just says

+				it

+				all. The backup contains users, rooms, organizations and

+				appointements (Invitations and Reminders are NOT included in the

+				Backup and Reminders will not be send again!). The Backup contains

+				also all uploaded Files and Documents and will re-import them again.

+

+				Max Upload Size is 1000 MB.

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Upgrading OpenMeetings from command line"><strong>Upgrading OpenMeetings from command line</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				<i>You need OpenMeetings 2.x or later to have the command line interface (CLI) 

+					feature available

+				</i>

+			</p>
+                                                <p>

+				Alternatively to the Web-Installer you can also export and import

+				via the command line. <br />

+				<b>You should shutdown the Red5-Service while doing CLI export or import operations</b>

+				<br />

+				Cd to your red5-home directory, type "admin" and hit enter. You will

+				get options available.

+				<br />

+				<br />

+				A typical export would be:

+				<br />

+				<tt>admin -b -file backup_today.zip</tt>

+				<br />

+				<br />

+				A typical import would be:

+				<br />

+				<tt>admin -r -file backup_yesterday.zip</tt>

+				<br />

+				<br />

+				You can also combine the installation with a backup, that way you

+				will create exactly the user table that existed in the backup.

+				<br />

+				A typical install from backup would be:

+				<br />

+				<tt>admin -i -file backup_yesterday.zip</tt>

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/UserService.html b/docs/UserService.html
new file mode 100644
index 0000000..79922ec
--- /dev/null
+++ b/docs/UserService.html
@@ -0,0 +1,2297 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

+<!--

+Copyright 1999-2004 The Apache Software Foundation

+Licensed under the Apache License, Version 2.0 (the "License");

+you may not use this file except in compliance with the License.

+You may obtain a copy of the License at

+

+http://www.apache.org/licenses/LICENSE-2.0

+

+Unless required by applicable law or agreed to in writing, software

+distributed under the License is distributed on an "AS IS" BASIS,

+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+See the License for the specific language governing permissions and

+limitations under the License.

+-->

+

+    <!-- ====================================================================== -->

+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE TEMPLATE INSTEAD! -->

+    <!-- Main Page Section -->

+    <!-- ====================================================================== -->

+    

+     <html>

+        <head>

+		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>

+		<meta name="author" value="OpenMeetings Team">

+		<meta name="email" value="sebawagner@apache.org">

+		<title>OpenMeetings API Methods</title>

+		<link rel="stylesheet" type="text/css" href="openmeetings_docs.css">

+        </head>

+	<body>

+	

+		<h3>Available WebServices:</h3>

+	

+		<iframe src="WebserviceIndex.html" width="100%" height="180" name="WebserviceIndex.html"

+			scrolling="no" marginheight="0" marginwidth="0" frameborder="0">

+		  <p>Your Browser does not support frames ...</p>

+		</iframe>

+		

+		<hr />

+	

+	   <h3>WebService: UserService</h3>

+	   <p>The Service contains methods to login and create hash to directly enter
+ conference rooms, recordings or the application in general<p>

+	   <p>WSDL sample Url: <a href="http://localhost:5080/openmeetings/services/UserService?wsdl">http://localhost:5080/openmeetings/services/UserService?wsdl</a><p>

+	

+	<!-- Links to Methods -->

+	   <h3>Index of Methods available in UserService</h3>

+	   

+       <div class="navigation">

+	                               <div>

+                <a href="#getSession"><b>getSession</b></a><br/>

+                <div class="navigation_comment"><i >load this session id before doing anything else Returns an Object of Type
+ Sessiondata, this contains a sessionId, use that sessionId in all Methods</i></div>

+                </div>

+                                               <div>

+                <a href="#loginUser"><b>loginUser</b></a><br/>

+                <div class="navigation_comment"><i >uth function, use the SID you get by getSession, return positive means
+ logged-in, if negative its an ErrorCode, you have to invoke the Method
+ getErrorByCode to get the Text-Description of that ErrorCode</i></div>

+                </div>

+                                               <div>

+                <a href="#getErrorByCode"><b>getErrorByCode</b></a><br/>

+                <div class="navigation_comment"><i >loads an Error-Object. If a Method returns a negative Result, its an
+ Error-id, it needs a language_id to specify in which language you want to
+ display/read the error-message. English has the Language-ID one, for
+ different one see the list of languages</i></div>

+                </div>

+                                               <div>

+                <a href="#addNewUser"><b>addNewUser</b></a><br/>

+                <div class="navigation_comment"><i >Adds a new Usre like through the Frontend, but also does activates the
+ Account To do SSO see the methods to create a hash and use those ones!</i></div>

+                </div>

+                                               <div>

+                <a href="#addNewUserWithTimeZone"><b>addNewUserWithTimeZone</b></a><br/>

+                <div class="navigation_comment"><i >Adds a new User like through the Frontend, but also does activates the
+ Account</i></div>

+                </div>

+                                               <div>

+                <a href="#addNewUserWithExternalType"><b>addNewUserWithExternalType</b></a><br/>

+                <div class="navigation_comment"><i >Adds a new User like through the Frontend, but also does activates the
+ Account, sends NO email (no matter what you configured) and sets the
+ users external user id and type
+ 
+ Use the methods to create a hash for SSO, creating users is not required
+ for SSO</i></div>

+                </div>

+                                               <div>

+                <a href="#deleteUserById"><b>deleteUserById</b></a><br/>

+                <div class="navigation_comment"><i >Delete a certain user by its id</i></div>

+                </div>

+                                               <div>

+                <a href="#deleteUserByExternalUserIdAndType"><b>deleteUserByExternalUserIdAndType</b></a><br/>

+                <div class="navigation_comment"><i >Delete a certain user by its external user id</i></div>

+                </div>

+                                               <div>

+                <a href="#setUserObject"><b>setUserObject</b></a><br/>

+                <div class="navigation_comment"><i >deprecated use setUserObjectAndGenerateRoomHash
+ 
+ Description: sets the SessionObject for a certain SID, after setting this
+ Session-Object you can use the SID + a RoomId to enter any Room.</i></div>

+                </div>

+                                               <div>

+                <a href="#setUserObjectWithExternalUser"><b>setUserObjectWithExternalUser</b></a><br/>

+                <div class="navigation_comment"><i >deprecated use setUserObjectAndGenerateRoomHash
+ 
+ Description: sets the SessionObject for a certain SID, after setting this
+ Session-Object you can use the SID + a RoomId to enter any Room.</i></div>

+                </div>

+                                               <div>

+                <a href="#setUserObjectAndGenerateRoomHash"><b>setUserObjectAndGenerateRoomHash</b></a><br/>

+                <div class="navigation_comment"><i >Description: sets the SessionObject for a certain SID, after setting this
+ Session-Object you can use the SID + a RoomId to enter any Room. ...
+ Session-Hashs are deleted 15 minutes after the creation if not used.</i></div>

+                </div>

+                                               <div>

+                <a href="#setUserObjectAndGenerateRoomHashByURL"><b>setUserObjectAndGenerateRoomHashByURL</b></a><br/>

+                <div class="navigation_comment"><i >Description: sets the SessionObject for a certain SID, after setting this
+ Session-Object you can use the SID + a RoomId to enter any Room.
+ 
+ ++ the user can press f5 to reload the page / use the link several times,
+ the SOAP Gateway does remember the IP of the user and the will only the
+ first user that enters the room allow to re-enter. ... Session-Hashs are
+ deleted 15 minutes after the creation if not used.</i></div>

+                </div>

+                                               <div>

+                <a href="#setUserObjectAndGenerateRoomHashByURLAndRecFlag"><b>setUserObjectAndGenerateRoomHashByURLAndRecFlag</b></a><br/>

+                <div class="navigation_comment"><i >Description: sets the SessionObject for a certain SID, after setting this
+ Session-Object you can use the SID + a RoomId to enter any Room.
+ 
+ ++ the user can press f5 to reload the page / use the link several times,
+ the SOAP Gateway does remember the IP of the user and the will only the
+ first user that enters the room allow to re-enter. ... Session-Hashs are
+ deleted 15 minutes after the creation if not used.
+ 
+ ++ sets the flag if the user can do recording in the conference room</i></div>

+                </div>

+                                               <div>

+                <a href="#setUserObjectMainLandingZone"><b>setUserObjectMainLandingZone</b></a><br/>

+                <div class="navigation_comment"><i >Description: sets the SessionObject for a certain SID, after setting this
+ Session-Object you can use the SID and directly login into the dashboard
+ 
+ ++ the user can press f5 to reload the page / use the link several times,
+ the SOAP Gateway does remember the IP of the user and the will only the
+ first user that enters the room allow to re-enter. ... Session-Hashs are
+ deleted 15 minutes after the creation if not used.</i></div>

+                </div>

+                                               <div>

+                <a href="#setUserAndNickName"><b>setUserAndNickName</b></a><br/>

+                <div class="navigation_comment"><i >Description: sets the SessionObject for a certain SID, after setting this
+ Session-Object you can use the SID + a RoomId to enter any Room.
+ 
+ ++ the user can press f5 to reload the page / use the link several times,
+ the SOAP Gateway does remember the IP of the user and the will only the
+ first user that enters the room allow to re-enter. ... Session-Hashs are
+ deleted 15 minutes after the creation if not used.
+ 
+ ++ Additionally you can set a param showNickNameDialogAsInt, the effect
+ if that param is 1 is, that the user gets a popup where he can enter his
+ nickname right before he enters the conference room. All nicknames and
+ emails users enter are logged in the conferencelog table.</i></div>

+                </div>

+                                               <div>

+                <a href="#setUserObjectAndGenerateRecordingHashByURL"><b>setUserObjectAndGenerateRecordingHashByURL</b></a><br/>

+                <div class="navigation_comment"><i >Use this method to access a Recording instead of Room</i></div>

+                </div>

+                                               <div>

+                <a href="#addUserToOrganisation"><b>addUserToOrganisation</b></a><br/>

+                <div class="navigation_comment"><i >Add a user to a certain organization</i></div>

+                </div>

+                                               <div>

+                <a href="#getUsersByOrganisation"><b>getUsersByOrganisation</b></a><br/>

+                <div class="navigation_comment"><i >Search users and return them</i></div>

+                </div>

+                                               <div>

+                <a href="#kickUserByPublicSID"><b>kickUserByPublicSID</b></a><br/>

+                <div class="navigation_comment"><i >Kick a user by its public SID</i></div>

+                </div>

+                           </div>

+	   

+	    <h3>Methods Details in UserService</h3>

+	

+				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getSession" ><b>getSession</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getSession (

+    			    			    			)

+    			</i><br/>

+    			<p>

+    			  load this session id before doing anything else Returns an Object of Type
+ Sessiondata, this contains a sessionId, use that sessionId in all Methods

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.app.persistence.beans.basic.Sessiondata

+                </p>

+    			<p>Params:</p>

+    			    			

+    			    				<i>No Params</i>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    							<a href="http://localhost:5080/openmeetings/services/UserService/getSession">http://localhost:5080/openmeetings/services/UserService/getSession</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="loginUser" ><b>loginUser</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>loginUser (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String username

+    			       			    			       			     , 

+    			       			   String userpass

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  uth function, use the SID you get by getSession, return positive means
+ logged-in, if negative its an ErrorCode, you have to invoke the Method
+ getErrorByCode to get the Text-Description of that ErrorCode

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID from getSession</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">username</td>

+	                     <td valign="top">Username from OpenMeetings, the user has to have Admin-rights</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">userpass</td>

+	                     <td valign="top">Userpass from OpenMeetings</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/UserService/loginUser?SID=VALUE&username=VALUE&userpass=VALUE">http://localhost:5080/openmeetings/services/UserService/loginUser?SID=VALUE&username=VALUE&userpass=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getErrorByCode" ><b>getErrorByCode</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getErrorByCode (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   long errorid

+    			       			    			       			     , 

+    			       			   long language_id

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  loads an Error-Object. If a Method returns a negative Result, its an
+ Error-id, it needs a language_id to specify in which language you want to
+ display/read the error-message. English has the Language-ID one, for
+ different one see the list of languages

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.app.data.beans.basic.ErrorResult

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID from getSession</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		long

+	                     		                     </td>

+	                     <td valign="top">errorid</td>

+	                     <td valign="top">the error id (negative Value here!)</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		long

+	                     		                     </td>

+	                     <td valign="top">language_id</td>

+	                     <td valign="top">The id of the language</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/UserService/getErrorByCode?SID=VALUE&errorid=VALUE&language_id=VALUE">http://localhost:5080/openmeetings/services/UserService/getErrorByCode?SID=VALUE&errorid=VALUE&language_id=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="addNewUser" ><b>addNewUser</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>addNewUser (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String username

+    			       			    			       			     , 

+    			       			   String userpass

+    			       			    			       			     , 

+    			       			   String lastname

+    			       			    			       			     , 

+    			       			   String firstname

+    			       			    			       			     , 

+    			       			   String email

+    			       			    			       			     , 

+    			       			   String additionalname

+    			       			    			       			     , 

+    			       			   String street

+    			       			    			       			     , 

+    			       			   String zip

+    			       			    			       			     , 

+    			       			   String fax

+    			       			    			       			     , 

+    			       			   long states_id

+    			       			    			       			     , 

+    			       			   String town

+    			       			    			       			     , 

+    			       			   long language_id

+    			       			    			       			     , 

+    			       			   String baseURL

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Adds a new Usre like through the Frontend, but also does activates the
+ Account To do SSO see the methods to create a hash and use those ones!

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID from getSession</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">username</td>

+	                     <td valign="top">any username</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">userpass</td>

+	                     <td valign="top">any userpass</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">lastname</td>

+	                     <td valign="top">any lastname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">firstname</td>

+	                     <td valign="top">any firstname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">email</td>

+	                     <td valign="top">any email</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">additionalname</td>

+	                     <td valign="top">any additionalname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">street</td>

+	                     <td valign="top">any street</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">zip</td>

+	                     <td valign="top">any zip</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">fax</td>

+	                     <td valign="top">any fax</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		long

+	                     		                     </td>

+	                     <td valign="top">states_id</td>

+	                     <td valign="top">a valid states_id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">town</td>

+	                     <td valign="top">any town</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		long

+	                     		                     </td>

+	                     <td valign="top">language_id</td>

+	                     <td valign="top">the language_id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">baseURL</td>

+	                     <td valign="top">the baseURL is needed to send the Initial Email correctly to
+            that User, otherwise the Link in the EMail that the new User
+            will reveive is not valid</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/UserService/addNewUser?SID=VALUE&username=VALUE&userpass=VALUE&lastname=VALUE&firstname=VALUE&email=VALUE&additionalname=VALUE&street=VALUE&zip=VALUE&fax=VALUE&states_id=VALUE&town=VALUE&language_id=VALUE&baseURL=VALUE">http://localhost:5080/openmeetings/services/UserService/addNewUser?SID=VALUE&username=VALUE&userpass=VALUE&lastname=VALUE&firstname=VALUE&email=VALUE&additionalname=VALUE&street=VALUE&zip=VALUE&fax=VALUE&states_id=VALUE&town=VALUE&language_id=VALUE&baseURL=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="addNewUserWithTimeZone" ><b>addNewUserWithTimeZone</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>addNewUserWithTimeZone (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String username

+    			       			    			       			     , 

+    			       			   String userpass

+    			       			    			       			     , 

+    			       			   String lastname

+    			       			    			       			     , 

+    			       			   String firstname

+    			       			    			       			     , 

+    			       			   String email

+    			       			    			       			     , 

+    			       			   String additionalname

+    			       			    			       			     , 

+    			       			   String street

+    			       			    			       			     , 

+    			       			   String zip

+    			       			    			       			     , 

+    			       			   String fax

+    			       			    			       			     , 

+    			       			   long states_id

+    			       			    			       			     , 

+    			       			   String town

+    			       			    			       			     , 

+    			       			   long language_id

+    			       			    			       			     , 

+    			       			   String baseURL

+    			       			    			       			     , 

+    			       			   String jNameTimeZone

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Adds a new User like through the Frontend, but also does activates the
+ Account

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID from getSession</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">username</td>

+	                     <td valign="top">any username</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">userpass</td>

+	                     <td valign="top">any userpass</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">lastname</td>

+	                     <td valign="top">any lastname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">firstname</td>

+	                     <td valign="top">any firstname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">email</td>

+	                     <td valign="top">any email</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">additionalname</td>

+	                     <td valign="top">any additionalname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">street</td>

+	                     <td valign="top">any street</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">zip</td>

+	                     <td valign="top">any zip</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">fax</td>

+	                     <td valign="top">any fax</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		long

+	                     		                     </td>

+	                     <td valign="top">states_id</td>

+	                     <td valign="top">a valid states_id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">town</td>

+	                     <td valign="top">any town</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		long

+	                     		                     </td>

+	                     <td valign="top">language_id</td>

+	                     <td valign="top">the language_id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">baseURL</td>

+	                     <td valign="top">the baseURL is needed to send the Initial Email correctly to
+            that User, otherwise the Link in the EMail that the new User
+            will reveive is not valid</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">jNameTimeZone</td>

+	                     <td valign="top">the name of the timezone for the user</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/UserService/addNewUserWithTimeZone?SID=VALUE&username=VALUE&userpass=VALUE&lastname=VALUE&firstname=VALUE&email=VALUE&additionalname=VALUE&street=VALUE&zip=VALUE&fax=VALUE&states_id=VALUE&town=VALUE&language_id=VALUE&baseURL=VALUE&jNameTimeZone=VALUE">http://localhost:5080/openmeetings/services/UserService/addNewUserWithTimeZone?SID=VALUE&username=VALUE&userpass=VALUE&lastname=VALUE&firstname=VALUE&email=VALUE&additionalname=VALUE&street=VALUE&zip=VALUE&fax=VALUE&states_id=VALUE&town=VALUE&language_id=VALUE&baseURL=VALUE&jNameTimeZone=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="addNewUserWithExternalType" ><b>addNewUserWithExternalType</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>addNewUserWithExternalType (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String username

+    			       			    			       			     , 

+    			       			   String userpass

+    			       			    			       			     , 

+    			       			   String lastname

+    			       			    			       			     , 

+    			       			   String firstname

+    			       			    			       			     , 

+    			       			   String email

+    			       			    			       			     , 

+    			       			   String additionalname

+    			       			    			       			     , 

+    			       			   String street

+    			       			    			       			     , 

+    			       			   String zip

+    			       			    			       			     , 

+    			       			   String fax

+    			       			    			       			     , 

+    			       			   long states_id

+    			       			    			       			     , 

+    			       			   String town

+    			       			    			       			     , 

+    			       			   long language_id

+    			       			    			       			     , 

+    			       			   String jNameTimeZone

+    			       			    			       			     , 

+    			       			   String externalUserId

+    			       			    			       			     , 

+    			       			   String externalUserType

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Adds a new User like through the Frontend, but also does activates the
+ Account, sends NO email (no matter what you configured) and sets the
+ users external user id and type
+ 
+ Use the methods to create a hash for SSO, creating users is not required
+ for SSO

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID from getSession</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">username</td>

+	                     <td valign="top">any username</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">userpass</td>

+	                     <td valign="top">any userpass</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">lastname</td>

+	                     <td valign="top">any lastname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">firstname</td>

+	                     <td valign="top">any firstname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">email</td>

+	                     <td valign="top">any email</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">additionalname</td>

+	                     <td valign="top">any additionalname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">street</td>

+	                     <td valign="top">any street</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">zip</td>

+	                     <td valign="top">any zip</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">fax</td>

+	                     <td valign="top">any fax</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		long

+	                     		                     </td>

+	                     <td valign="top">states_id</td>

+	                     <td valign="top">a valid states_id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">town</td>

+	                     <td valign="top">any town</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		long

+	                     		                     </td>

+	                     <td valign="top">language_id</td>

+	                     <td valign="top">the language_id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">jNameTimeZone</td>

+	                     <td valign="top">the name of the timezone for the user</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalUserId</td>

+	                     <td valign="top">externalUserId</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalUserType</td>

+	                     <td valign="top">externalUserType</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/UserService/addNewUserWithExternalType?SID=VALUE&username=VALUE&userpass=VALUE&lastname=VALUE&firstname=VALUE&email=VALUE&additionalname=VALUE&street=VALUE&zip=VALUE&fax=VALUE&states_id=VALUE&town=VALUE&language_id=VALUE&jNameTimeZone=VALUE&externalUserId=VALUE&externalUserType=VALUE">http://localhost:5080/openmeetings/services/UserService/addNewUserWithExternalType?SID=VALUE&username=VALUE&userpass=VALUE&lastname=VALUE&firstname=VALUE&email=VALUE&additionalname=VALUE&street=VALUE&zip=VALUE&fax=VALUE&states_id=VALUE&town=VALUE&language_id=VALUE&jNameTimeZone=VALUE&externalUserId=VALUE&externalUserType=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="deleteUserById" ><b>deleteUserById</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>deleteUserById (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long userId

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Delete a certain user by its id

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID from getSession</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">userId</td>

+	                     <td valign="top">the openmeetings user id</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/UserService/deleteUserById?SID=VALUE&userId=VALUE">http://localhost:5080/openmeetings/services/UserService/deleteUserById?SID=VALUE&userId=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="deleteUserByExternalUserIdAndType" ><b>deleteUserByExternalUserIdAndType</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>deleteUserByExternalUserIdAndType (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String externalUserId

+    			       			    			       			     , 

+    			       			   String externalUserType

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Delete a certain user by its external user id

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID from getSession</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalUserId</td>

+	                     <td valign="top">externalUserId</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalUserType</td>

+	                     <td valign="top">externalUserId</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/UserService/deleteUserByExternalUserIdAndType?SID=VALUE&externalUserId=VALUE&externalUserType=VALUE">http://localhost:5080/openmeetings/services/UserService/deleteUserByExternalUserIdAndType?SID=VALUE&externalUserId=VALUE&externalUserType=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="setUserObject" ><b>setUserObject</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>setUserObject (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String username

+    			       			    			       			     , 

+    			       			   String firstname

+    			       			    			       			     , 

+    			       			   String lastname

+    			       			    			       			     , 

+    			       			   String profilePictureUrl

+    			       			    			       			     , 

+    			       			   String email

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  deprecated use setUserObjectAndGenerateRoomHash
+ 
+ Description: sets the SessionObject for a certain SID, after setting this
+ Session-Object you can use the SID + a RoomId to enter any Room.

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID from getSession</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">username</td>

+	                     <td valign="top">any username</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">firstname</td>

+	                     <td valign="top">any firstname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">lastname</td>

+	                     <td valign="top">any lastname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">profilePictureUrl</td>

+	                     <td valign="top">any profilePictureUrl</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">email</td>

+	                     <td valign="top">any email</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/UserService/setUserObject?SID=VALUE&username=VALUE&firstname=VALUE&lastname=VALUE&profilePictureUrl=VALUE&email=VALUE">http://localhost:5080/openmeetings/services/UserService/setUserObject?SID=VALUE&username=VALUE&firstname=VALUE&lastname=VALUE&profilePictureUrl=VALUE&email=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="setUserObjectWithExternalUser" ><b>setUserObjectWithExternalUser</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>setUserObjectWithExternalUser (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String username

+    			       			    			       			     , 

+    			       			   String firstname

+    			       			    			       			     , 

+    			       			   String lastname

+    			       			    			       			     , 

+    			       			   String profilePictureUrl

+    			       			    			       			     , 

+    			       			   String email

+    			       			    			       			     , 

+    			       			   String externalUserId

+    			       			    			       			     , 

+    			       			   String externalUserType

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  deprecated use setUserObjectAndGenerateRoomHash
+ 
+ Description: sets the SessionObject for a certain SID, after setting this
+ Session-Object you can use the SID + a RoomId to enter any Room.

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID from getSession</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">username</td>

+	                     <td valign="top">any username</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">firstname</td>

+	                     <td valign="top">any firstname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">lastname</td>

+	                     <td valign="top">any lastname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">profilePictureUrl</td>

+	                     <td valign="top">any profilePictureUrl</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">email</td>

+	                     <td valign="top">any email</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalUserId</td>

+	                     <td valign="top">if you have any external user Id you may set it here</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalUserType</td>

+	                     <td valign="top">you can specify your system-name here, for example "moodle"</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/UserService/setUserObjectWithExternalUser?SID=VALUE&username=VALUE&firstname=VALUE&lastname=VALUE&profilePictureUrl=VALUE&email=VALUE&externalUserId=VALUE&externalUserType=VALUE">http://localhost:5080/openmeetings/services/UserService/setUserObjectWithExternalUser?SID=VALUE&username=VALUE&firstname=VALUE&lastname=VALUE&profilePictureUrl=VALUE&email=VALUE&externalUserId=VALUE&externalUserType=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="setUserObjectAndGenerateRoomHash" ><b>setUserObjectAndGenerateRoomHash</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>setUserObjectAndGenerateRoomHash (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String username

+    			       			    			       			     , 

+    			       			   String firstname

+    			       			    			       			     , 

+    			       			   String lastname

+    			       			    			       			     , 

+    			       			   String profilePictureUrl

+    			       			    			       			     , 

+    			       			   String email

+    			       			    			       			     , 

+    			       			   String externalUserId

+    			       			    			       			     , 

+    			       			   String externalUserType

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   int becomeModeratorAsInt

+    			       			    			       			     , 

+    			       			   int showAudioVideoTestAsInt

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Description: sets the SessionObject for a certain SID, after setting this
+ Session-Object you can use the SID + a RoomId to enter any Room. ...
+ Session-Hashs are deleted 15 minutes after the creation if not used.

+    			</p>

+    			<p>

+                  Return Type: java.lang.String

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID from getSession</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">username</td>

+	                     <td valign="top">any username</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">firstname</td>

+	                     <td valign="top">any firstname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">lastname</td>

+	                     <td valign="top">any lastname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">profilePictureUrl</td>

+	                     <td valign="top">any profilePictureUrl</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">email</td>

+	                     <td valign="top">any email</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalUserId</td>

+	                     <td valign="top">if you have any external user Id you may set it here</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalUserType</td>

+	                     <td valign="top">you can specify your system-name here, for example "moodle"</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">the room id the user should be logged in</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		int

+	                     		                     </td>

+	                     <td valign="top">becomeModeratorAsInt</td>

+	                     <td valign="top">0 means no Moderator, 1 means Moderator</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		int

+	                     		                     </td>

+	                     <td valign="top">showAudioVideoTestAsInt</td>

+	                     <td valign="top">0 means don't show Audio/Video Test, 1 means show Audio/Video
+            Test Application before the user is logged into the room</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/UserService/setUserObjectAndGenerateRoomHash?SID=VALUE&username=VALUE&firstname=VALUE&lastname=VALUE&profilePictureUrl=VALUE&email=VALUE&externalUserId=VALUE&externalUserType=VALUE&room_id=VALUE&becomeModeratorAsInt=VALUE&showAudioVideoTestAsInt=VALUE">http://localhost:5080/openmeetings/services/UserService/setUserObjectAndGenerateRoomHash?SID=VALUE&username=VALUE&firstname=VALUE&lastname=VALUE&profilePictureUrl=VALUE&email=VALUE&externalUserId=VALUE&externalUserType=VALUE&room_id=VALUE&becomeModeratorAsInt=VALUE&showAudioVideoTestAsInt=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="setUserObjectAndGenerateRoomHashByURL" ><b>setUserObjectAndGenerateRoomHashByURL</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>setUserObjectAndGenerateRoomHashByURL (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String username

+    			       			    			       			     , 

+    			       			   String firstname

+    			       			    			       			     , 

+    			       			   String lastname

+    			       			    			       			     , 

+    			       			   String profilePictureUrl

+    			       			    			       			     , 

+    			       			   String email

+    			       			    			       			     , 

+    			       			   String externalUserId

+    			       			    			       			     , 

+    			       			   String externalUserType

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   int becomeModeratorAsInt

+    			       			    			       			     , 

+    			       			   int showAudioVideoTestAsInt

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Description: sets the SessionObject for a certain SID, after setting this
+ Session-Object you can use the SID + a RoomId to enter any Room.
+ 
+ ++ the user can press f5 to reload the page / use the link several times,
+ the SOAP Gateway does remember the IP of the user and the will only the
+ first user that enters the room allow to re-enter. ... Session-Hashs are
+ deleted 15 minutes after the creation if not used.

+    			</p>

+    			<p>

+                  Return Type: java.lang.String

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID from getSession</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">username</td>

+	                     <td valign="top">any username</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">firstname</td>

+	                     <td valign="top">any firstname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">lastname</td>

+	                     <td valign="top">any lastname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">profilePictureUrl</td>

+	                     <td valign="top">any profilePictureUrl</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">email</td>

+	                     <td valign="top">any email any email</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalUserId</td>

+	                     <td valign="top">if you have any external user Id you may set it here</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalUserType</td>

+	                     <td valign="top">you can specify your system-name here, for example "moodle"</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">the room id the user should be logged in</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		int

+	                     		                     </td>

+	                     <td valign="top">becomeModeratorAsInt</td>

+	                     <td valign="top">0 means no Moderator, 1 means Moderator</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		int

+	                     		                     </td>

+	                     <td valign="top">showAudioVideoTestAsInt</td>

+	                     <td valign="top">0 means don't show Audio/Video Test, 1 means show Audio/Video
+            Test Application before the user is logged into the room</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/UserService/setUserObjectAndGenerateRoomHashByURL?SID=VALUE&username=VALUE&firstname=VALUE&lastname=VALUE&profilePictureUrl=VALUE&email=VALUE&externalUserId=VALUE&externalUserType=VALUE&room_id=VALUE&becomeModeratorAsInt=VALUE&showAudioVideoTestAsInt=VALUE">http://localhost:5080/openmeetings/services/UserService/setUserObjectAndGenerateRoomHashByURL?SID=VALUE&username=VALUE&firstname=VALUE&lastname=VALUE&profilePictureUrl=VALUE&email=VALUE&externalUserId=VALUE&externalUserType=VALUE&room_id=VALUE&becomeModeratorAsInt=VALUE&showAudioVideoTestAsInt=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="setUserObjectAndGenerateRoomHashByURLAndRecFlag" ><b>setUserObjectAndGenerateRoomHashByURLAndRecFlag</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>setUserObjectAndGenerateRoomHashByURLAndRecFlag (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String username

+    			       			    			       			     , 

+    			       			   String firstname

+    			       			    			       			     , 

+    			       			   String lastname

+    			       			    			       			     , 

+    			       			   String profilePictureUrl

+    			       			    			       			     , 

+    			       			   String email

+    			       			    			       			     , 

+    			       			   String externalUserId

+    			       			    			       			     , 

+    			       			   String externalUserType

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   int becomeModeratorAsInt

+    			       			    			       			     , 

+    			       			   int showAudioVideoTestAsInt

+    			       			    			       			     , 

+    			       			   int allowRecording

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Description: sets the SessionObject for a certain SID, after setting this
+ Session-Object you can use the SID + a RoomId to enter any Room.
+ 
+ ++ the user can press f5 to reload the page / use the link several times,
+ the SOAP Gateway does remember the IP of the user and the will only the
+ first user that enters the room allow to re-enter. ... Session-Hashs are
+ deleted 15 minutes after the creation if not used.
+ 
+ ++ sets the flag if the user can do recording in the conference room

+    			</p>

+    			<p>

+                  Return Type: java.lang.String

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID from getSession</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">username</td>

+	                     <td valign="top">any username</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">firstname</td>

+	                     <td valign="top">any firstname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">lastname</td>

+	                     <td valign="top">any lastname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">profilePictureUrl</td>

+	                     <td valign="top">any profilePictureUrl</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">email</td>

+	                     <td valign="top">any email</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalUserId</td>

+	                     <td valign="top">if you have any external user Id you may set it here</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalUserType</td>

+	                     <td valign="top">you can specify your system-name here, for example "moodle"</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">the room id the user should be logged in</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		int

+	                     		                     </td>

+	                     <td valign="top">becomeModeratorAsInt</td>

+	                     <td valign="top">0 means no Moderator, 1 means Moderator</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		int

+	                     		                     </td>

+	                     <td valign="top">showAudioVideoTestAsInt</td>

+	                     <td valign="top">0 means don't show Audio/Video Test, 1 means show Audio/Video
+            Test Application before the user is logged into the room</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		int

+	                     		                     </td>

+	                     <td valign="top">allowRecording</td>

+	                     <td valign="top">0 means don't allow Recording, 1 means allow Recording</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/UserService/setUserObjectAndGenerateRoomHashByURLAndRecFlag?SID=VALUE&username=VALUE&firstname=VALUE&lastname=VALUE&profilePictureUrl=VALUE&email=VALUE&externalUserId=VALUE&externalUserType=VALUE&room_id=VALUE&becomeModeratorAsInt=VALUE&showAudioVideoTestAsInt=VALUE&allowRecording=VALUE">http://localhost:5080/openmeetings/services/UserService/setUserObjectAndGenerateRoomHashByURLAndRecFlag?SID=VALUE&username=VALUE&firstname=VALUE&lastname=VALUE&profilePictureUrl=VALUE&email=VALUE&externalUserId=VALUE&externalUserType=VALUE&room_id=VALUE&becomeModeratorAsInt=VALUE&showAudioVideoTestAsInt=VALUE&allowRecording=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="setUserObjectMainLandingZone" ><b>setUserObjectMainLandingZone</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>setUserObjectMainLandingZone (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String username

+    			       			    			       			     , 

+    			       			   String firstname

+    			       			    			       			     , 

+    			       			   String lastname

+    			       			    			       			     , 

+    			       			   String profilePictureUrl

+    			       			    			       			     , 

+    			       			   String email

+    			       			    			       			     , 

+    			       			   String externalUserId

+    			       			    			       			     , 

+    			       			   String externalUserType

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Description: sets the SessionObject for a certain SID, after setting this
+ Session-Object you can use the SID and directly login into the dashboard
+ 
+ ++ the user can press f5 to reload the page / use the link several times,
+ the SOAP Gateway does remember the IP of the user and the will only the
+ first user that enters the room allow to re-enter. ... Session-Hashs are
+ deleted 15 minutes after the creation if not used.

+    			</p>

+    			<p>

+                  Return Type: java.lang.String

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID from getSession</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">username</td>

+	                     <td valign="top">any username</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">firstname</td>

+	                     <td valign="top">any firstname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">lastname</td>

+	                     <td valign="top">any lastname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">profilePictureUrl</td>

+	                     <td valign="top">any absolute profilePictureUrl</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">email</td>

+	                     <td valign="top">any email</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalUserId</td>

+	                     <td valign="top">if you have any external user Id you may set it here</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalUserType</td>

+	                     <td valign="top">you can specify your system-name here, for example "moodle"</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/UserService/setUserObjectMainLandingZone?SID=VALUE&username=VALUE&firstname=VALUE&lastname=VALUE&profilePictureUrl=VALUE&email=VALUE&externalUserId=VALUE&externalUserType=VALUE">http://localhost:5080/openmeetings/services/UserService/setUserObjectMainLandingZone?SID=VALUE&username=VALUE&firstname=VALUE&lastname=VALUE&profilePictureUrl=VALUE&email=VALUE&externalUserId=VALUE&externalUserType=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="setUserAndNickName" ><b>setUserAndNickName</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>setUserAndNickName (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String username

+    			       			    			       			     , 

+    			       			   String firstname

+    			       			    			       			     , 

+    			       			   String lastname

+    			       			    			       			     , 

+    			       			   String profilePictureUrl

+    			       			    			       			     , 

+    			       			   String email

+    			       			    			       			     , 

+    			       			   String externalUserId

+    			       			    			       			     , 

+    			       			   String externalUserType

+    			       			    			       			     , 

+    			       			   Long room_id

+    			       			    			       			     , 

+    			       			   int becomeModeratorAsInt

+    			       			    			       			     , 

+    			       			   int showAudioVideoTestAsInt

+    			       			    			       			     , 

+    			       			   int showNickNameDialogAsInt

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Description: sets the SessionObject for a certain SID, after setting this
+ Session-Object you can use the SID + a RoomId to enter any Room.
+ 
+ ++ the user can press f5 to reload the page / use the link several times,
+ the SOAP Gateway does remember the IP of the user and the will only the
+ first user that enters the room allow to re-enter. ... Session-Hashs are
+ deleted 15 minutes after the creation if not used.
+ 
+ ++ Additionally you can set a param showNickNameDialogAsInt, the effect
+ if that param is 1 is, that the user gets a popup where he can enter his
+ nickname right before he enters the conference room. All nicknames and
+ emails users enter are logged in the conferencelog table.

+    			</p>

+    			<p>

+                  Return Type: java.lang.String

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID from getSession</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">username</td>

+	                     <td valign="top">any username</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">firstname</td>

+	                     <td valign="top">any firstname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">lastname</td>

+	                     <td valign="top">any lastname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">profilePictureUrl</td>

+	                     <td valign="top">any profilePictureUrl</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">email</td>

+	                     <td valign="top">any email</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalUserId</td>

+	                     <td valign="top">if you have any external user Id you may set it here</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalUserType</td>

+	                     <td valign="top">you can specify your system-name here, for example "moodle"</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">room_id</td>

+	                     <td valign="top">the room id the user should be logged in</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		int

+	                     		                     </td>

+	                     <td valign="top">becomeModeratorAsInt</td>

+	                     <td valign="top">0 means no Moderator, 1 means Moderator</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		int

+	                     		                     </td>

+	                     <td valign="top">showAudioVideoTestAsInt</td>

+	                     <td valign="top">0 means don't show Audio/Video Test, 1 means show Audio/Video
+            Test Application before the user is logged into the room</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		int

+	                     		                     </td>

+	                     <td valign="top">showNickNameDialogAsInt</td>

+	                     <td valign="top">0 means do not show the popup to enter a nichname, 1 means
+            that there is a popup to enter the nickname for the conference</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/UserService/setUserAndNickName?SID=VALUE&username=VALUE&firstname=VALUE&lastname=VALUE&profilePictureUrl=VALUE&email=VALUE&externalUserId=VALUE&externalUserType=VALUE&room_id=VALUE&becomeModeratorAsInt=VALUE&showAudioVideoTestAsInt=VALUE&showNickNameDialogAsInt=VALUE">http://localhost:5080/openmeetings/services/UserService/setUserAndNickName?SID=VALUE&username=VALUE&firstname=VALUE&lastname=VALUE&profilePictureUrl=VALUE&email=VALUE&externalUserId=VALUE&externalUserType=VALUE&room_id=VALUE&becomeModeratorAsInt=VALUE&showAudioVideoTestAsInt=VALUE&showNickNameDialogAsInt=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="setUserObjectAndGenerateRecordingHashByURL" ><b>setUserObjectAndGenerateRecordingHashByURL</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>setUserObjectAndGenerateRecordingHashByURL (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String username

+    			       			    			       			     , 

+    			       			   String firstname

+    			       			    			       			     , 

+    			       			   String lastname

+    			       			    			       			     , 

+    			       			   String externalUserId

+    			       			    			       			     , 

+    			       			   String externalUserType

+    			       			    			       			     , 

+    			       			   Long recording_id

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Use this method to access a Recording instead of Room

+    			</p>

+    			<p>

+                  Return Type: java.lang.String

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID from getSession</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">username</td>

+	                     <td valign="top">any username</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">firstname</td>

+	                     <td valign="top">any firstname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">lastname</td>

+	                     <td valign="top">any lastname</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalUserId</td>

+	                     <td valign="top">if you have any external user Id you may set it here</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">externalUserType</td>

+	                     <td valign="top">you can specify your system-name here, for example "moodle"</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">recording_id</td>

+	                     <td valign="top">the id of the recording, get a List of all Recordings with
+            RoomService::getFlvRecordingByExternalRoomType</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/UserService/setUserObjectAndGenerateRecordingHashByURL?SID=VALUE&username=VALUE&firstname=VALUE&lastname=VALUE&externalUserId=VALUE&externalUserType=VALUE&recording_id=VALUE">http://localhost:5080/openmeetings/services/UserService/setUserObjectAndGenerateRecordingHashByURL?SID=VALUE&username=VALUE&firstname=VALUE&lastname=VALUE&externalUserId=VALUE&externalUserType=VALUE&recording_id=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="addUserToOrganisation" ><b>addUserToOrganisation</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>addUserToOrganisation (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   Long user_id

+    			       			    			       			     , 

+    			       			   Long organisation_id

+    			       			    			       			     , 

+    			       			   Long insertedby

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Add a user to a certain organization

+    			</p>

+    			<p>

+                  Return Type: java.lang.Long

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID from getSession</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">user_id</td>

+	                     <td valign="top">the user id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">organisation_id</td>

+	                     <td valign="top">the organization id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		Long

+	                     		                     </td>

+	                     <td valign="top">insertedby</td>

+	                     <td valign="top">user id of the operating user</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/UserService/addUserToOrganisation?SID=VALUE&user_id=VALUE&organisation_id=VALUE&insertedby=VALUE">http://localhost:5080/openmeetings/services/UserService/addUserToOrganisation?SID=VALUE&user_id=VALUE&organisation_id=VALUE&insertedby=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="getUsersByOrganisation" ><b>getUsersByOrganisation</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>getUsersByOrganisation (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   long organisation_id

+    			       			    			       			     , 

+    			       			   int start

+    			       			    			       			     , 

+    			       			   int max

+    			       			    			       			     , 

+    			       			   String orderby

+    			       			    			       			     , 

+    			       			   boolean asc

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Search users and return them

+    			</p>

+    			<p>

+                  Return Type: org.openmeetings.app.data.beans.basic.SearchResult

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID from getSession</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		long

+	                     		                     </td>

+	                     <td valign="top">organisation_id</td>

+	                     <td valign="top">the organization id</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		int

+	                     		                     </td>

+	                     <td valign="top">start</td>

+	                     <td valign="top">first record</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		int

+	                     		                     </td>

+	                     <td valign="top">max</td>

+	                     <td valign="top">max records</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">orderby</td>

+	                     <td valign="top">orderby clause</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		boolean

+	                     		                     </td>

+	                     <td valign="top">asc</td>

+	                     <td valign="top">asc or desc</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/UserService/getUsersByOrganisation?SID=VALUE&organisation_id=VALUE&start=VALUE&max=VALUE&orderby=VALUE&asc=VALUE">http://localhost:5080/openmeetings/services/UserService/getUsersByOrganisation?SID=VALUE&organisation_id=VALUE&start=VALUE&max=VALUE&orderby=VALUE&asc=VALUE</a>

+    			</a>

+    		  </div>

+    	   				    		      <div class="method">

+		        <div class="method_header">

+		        <div style="margin-left:10px">

+    			<a name="kickUserByPublicSID" ><b>kickUserByPublicSID</b></a>

+    			</div>

+    			</div>

+    			

+    			Method: <i>kickUserByPublicSID (

+    			    			    			       			   String SID

+    			       			    			       			     , 

+    			       			   String publicSID

+    			       			    			)

+    			</i><br/>

+    			<p>

+    			  Kick a user by its public SID

+    			</p>

+    			<p>

+                  Return Type: java.lang.Boolean

+                </p>

+    			<p>Params:</p>

+    			    			

+    				    			<table rules="all" border="1">

+	    			   <thead>

+	    			   <tr>

+	    			     <th width="200" align="left">Type</th>

+	    			     <th width="200" align="left">Fieldname</th>

+	    			     <th width="400" align="left">Description</th>

+	    			   </tr>

+	    			   </thead>

+	    			   <tbody>

+	    			   	    			   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">SID</td>

+	                     <td valign="top">The SID from getSession</td>

+	                   </tr>

+	                   

+	                   	                   	    			   <tr>

+	                     <td valign="top">

+	                     		                     		String

+	                     		                     </td>

+	                     <td valign="top">publicSID</td>

+	                     <td valign="top">the publicSID (you can get it from the call to get users in a
+            room)</td>

+	                   </tr>

+	                   

+	                   	                   	                   </tbody>

+	    			</table>

+    			    			<br/>

+    			REST Sample Call/URL:<br/>

+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/UserService/kickUserByPublicSID?SID=VALUE&publicSID=VALUE">http://localhost:5080/openmeetings/services/UserService/kickUserByPublicSID?SID=VALUE&publicSID=VALUE</a>

+    			</a>

+    		  </div>

+    	   			

+	

+	</body>

+</html>

+

diff --git a/docs/WebappNamePath.html b/docs/WebappNamePath.html
new file mode 100644
index 0000000..2cd3c99
--- /dev/null
+++ b/docs/WebappNamePath.html
@@ -0,0 +1,1138 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Webapp Name / Path</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Renaming /openmeetings context"><strong>Renaming /openmeetings context</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				If you want to have

+				<tt>http://yourcorp.com:5080/yourmeetings</tt>

+				instead of

+				<tt>http://yourcorp.com:5080/openmeetings</tt>

+				you need to do the following

+			</p>
+                                                <ol>

+				<li>stop openmmetings if it is running </li>

+				<li>

+					go to openmeetings install dir (for ex.

+					<tt>/opt/red5</tt>

+					)

+				</li>

+				<li>

+					rename

+					<tt>/opt/red5/webapps/openmeetings</tt>

+					to

+					<tt>/opt/red5/webapps/yourmeetings</tt>

+					(for ex.

+					<tt>mv /opt/red5/webapps/openmeetings

+						/opt/red5/webapps/yourmeetings

+					</tt>

+					)

+				</li>

+				<li>

+					open

+					<tt>/opt/red5/webapps/yourmeetings/config.xml</tt>

+					using your favorite text editor (for ex.

+					<tt>vim /opt/red5/webapps/yourmeetings/config.xml</tt>

+					)

+				</li>

+				<li>

+					find and modify

+					<tt>&lt;webAppRootKey&gt;openmeetings&lt;/webAppRootKey&gt;</tt>

+					to be

+					<tt>&lt;webAppRootKey&gt;</tt>

+					<strong>yourmeetings</strong>

+					<tt>&lt;/webAppRootKey&gt;</tt>

+				</li>

+				<li>

+					find and modify

+					<tt>&lt;httpRootKey&gt;/openmeetings/&lt;/httpRootKey&gt;</tt>

+					to be

+					<tt>&lt;httpRootKey&gt;</tt>

+					<strong>/yourmeetings/</strong>

+					<tt>&lt;/httpRootKey&gt;</tt>

+				</li>

+			</ol>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Changing hard-coded application name in string labels"><strong>Changing hard-coded application name in string labels</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				To have

+				<i>Your Application Name</i>

+				instead of

+				<i>Openmeetings</i>

+				in

+				<strong>all</strong>

+				text labels you need to do the following

+			</p>
+                                                <ol>

+				<li>

+					ensure

+					<strong>

+						<tt>$APP_NAME</tt>

+					</strong>

+					placeholder is used in

+					<i>all</i>

+					strings you have added and/or modified (all strings bundled into

+					Openmeetings already have this placeholder)

+				</li>

+				<li>login to Openmeetings as user with administrator privileges </li>

+				<li>

+					go to

+					<tt>Administration -&gt; Configuration</tt>

+				</li>

+				<li>

+					find and edit configuration with name

+					<strong>

+						<tt>application.name</tt>

+					</strong>

+				</li>

+				<li>

+					Set its value to be

+					<i>

+						<tt>Your Application Name</tt>

+					</i>

+				</li>

+				<li>

+					<tt>Save</tt>

+				</li>

+				<li>reload page or relogin </li>

+			</ol>
+                                                <p>

+			All string will display

+			<i>

+				<tt>Your Application Name</tt>

+			</i>

+			in place of

+			<i>

+				<tt>Openmeetings</tt>

+			</i>

+			</p>
+                                                <p>

+				Please

+				<i>NOTE</i>

+				there are 3 additional properties in the config.xml file which

+				should be modified for

+				<strong>TOTAL</strong>

+				Openmeetings clean up:

+			</p>
+                                                <div class="xmlcode">

+				&lt;currentappname&gt;OpenMeetings&lt;/currentappname&gt;

+				<br />

+				&lt;currentappnameurl&gt;http://incubator.apache.org/openmeetings&lt;/currentappnameurl&gt;

+				<br />

+				&lt;currentappnamebugurl&gt;https://issues.apache.org/jira/browse/OPENMEETINGS&lt;/currentappnamebugurl&gt;

+				<br />

+			</div>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Running multiple Openmeetings instances on the same server"><strong>Running multiple Openmeetings instances on the same server</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				If you want to run multiple Openmeetings instances on the same server i.e. to have<br />  

+				<tt>http://yourcorp.com:5080/openmeetings1</tt><br /> 

+				<tt>http://yourcorp.com:5080/openmeetings2</tt><br /> etc.<br /> you need to do the following:

+			</p>
+                                                <ol>

+				<li>edit <tt>webapps/openmeetings1/WEB-INF/red5-web.properties</tt> for <strong>every</strong> Openmeetings 

+				instance and add the following line <tt>webapp.contextPath=/openmeetings1</tt>  to it (context of 

+				<strong>every</strong> instance <strong>should</strong> match the folder name in webapps dir)

+				</li>

+				<li>in case of java memory problems modify <tt>red5.sh</tt> add following line:<br />

+					<div class="xmlcode">

+					export JAVA_OPTS="-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:MaxPermSize=128M"

+					</div>

+					or <tt>red5.bat</tt>:<br />

+					<div class="xmlcode">

+					set JAVA_OPTS=-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:MaxPermSize=128M

+					</div>

+				</li>

+			</ol>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/WebcamResolutions.html b/docs/WebcamResolutions.html
new file mode 100644
index 0000000..750b5be
--- /dev/null
+++ b/docs/WebcamResolutions.html
@@ -0,0 +1,1001 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - How to configure Camera default resolutions </title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="How to configure Camera default resolutions"><strong>How to configure Camera default resolutions</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>When you choose the webcam you have different resolutions

+				available the user can choose from. </p>
+                                                <p>You can add/remove resolutions and also change the default

+				selection. In the config.xml there is a section: </p>
+                                                <div class="xmlcode">

+				&lt;availableCameraResolutions&gt;<br />

+				<div style="margin-left:20px">

+				    &lt;resolution type="4:3 (~6 KByte/sec)" width="40" height="30" isDefault="false" /&gt;<br />

+				    &lt;resolution type="4:3 (~12 KByte/sec)" width="80" height="60" isDefault="false" /&gt;<br />

+				    &lt;resolution type="4:3 (~20 KByte/sec)" width="120" height="90" isDefault="true" /&gt;<br />

+				    &lt;resolution type="QQVGA 4:3 (~36 KByte/sec)" width="160" height="120" isDefault="false" /&gt;<br />

+				    &lt;resolution type="4:3 (~40 KByte/sec)" width="240" height="180" isDefault="false" /&gt;<br />

+				    &lt;resolution type="HVGA 4:3 (~56 KByte/sec)" width="320" height="240" isDefault="false" /&gt;<br />

+				    &lt;resolution type="4:3  (~60 KByte/sec)" width="480" height="360" isDefault="false" /&gt;<br />

+				    &lt;resolution type="4:3 (~68 KByte/sec)" width="640" height="480" isDefault="false" /&gt;<br />

+				    &lt;resolution type="XGA 4:3" width="1024" height="768" isDefault="false" /&gt;<br />

+				    &lt;resolution type="16:9" width="256" height="150" isDefault="false" /&gt;<br />

+				    &lt;resolution type="WQVGA 9:5" width="432" height="240" isDefault="false" /&gt;<br />

+				    &lt;resolution type="pseudo 16:9" width="480" height="234" isDefault="false" /&gt;<br />

+				    &lt;resolution type="16:9" width="512" height="300" isDefault="false" /&gt;<br />

+				    &lt;resolution type="nHD 16:9" width="640" height="360" isDefault="false" /&gt;<br />

+				    &lt;resolution type="16:9" width="1024" height="600" isDefault="false" /&gt;<br />

+				    </div>

+				&lt;/availableCameraResolutions&gt;			 

+			</div>
+                                                <p>Tip: You might edit the config.xml with an XML aware editor that correctly 

+		    handles the XSD defintion to avoid misconfiguration. The openmeetings-config.xsd 

+		    is in the same folder like the config.xml. </p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/WebserviceIndex.html b/docs/WebserviceIndex.html
new file mode 100644
index 0000000..8a57812
--- /dev/null
+++ b/docs/WebserviceIndex.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

+<!--

+Copyright 1999-2004 The Apache Software Foundation

+Licensed under the Apache License, Version 2.0 (the "License");

+you may not use this file except in compliance with the License.

+You may obtain a copy of the License at

+

+http://www.apache.org/licenses/LICENSE-2.0

+

+Unless required by applicable law or agreed to in writing, software

+distributed under the License is distributed on an "AS IS" BASIS,

+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+See the License for the specific language governing permissions and

+limitations under the License.

+-->

+

+    <!-- ====================================================================== -->

+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE TEMPLATE INSTEAD! -->

+    <!-- Main Page Section -->

+    <!-- ====================================================================== -->

+    

+     <html>

+        <head>

+		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>

+		<meta name="author" value="OpenMeetings Team">

+		<meta name="email" value="sebawagner@apache.org">

+		<title>OpenMeetings API Classes</title>

+		<link rel="stylesheet" type="text/css" href="openmeetings_docs.css">

+        </head>

+	<body>

+			

+       <div class="navigation">

+	               <div>

+            <a href="CalendarService.html" target="_PARENT"><b>CalendarService</b></a><br/>

+            <div class="navigation_comment"><i >CalendarService contains methods to create, edit delete calendar meetings</i></div>

+            </div>

+                    <div>

+            <a href="FileService.html" target="_PARENT"><b>FileService</b></a><br/>

+            <div class="navigation_comment"><i >Contains methods to import and upload files into the Files section of the
+ conference room and the personal drive of any user</i></div>

+            </div>

+                    <div>

+            <a href="JabberService.html" target="_PARENT"><b>JabberService</b></a><br/>

+            <div class="navigation_comment"><i >This class provides method implementations necessary for OM to Jabber integration.</i></div>

+            </div>

+                    <div>

+            <a href="RoomService.html" target="_PARENT"><b>RoomService</b></a><br/>

+            <div class="navigation_comment"><i >RoomService contains methods to manipulate rooms and create invitation hash</i></div>

+            </div>

+                    <div>

+            <a href="UserService.html" target="_PARENT"><b>UserService</b></a><br/>

+            <div class="navigation_comment"><i >The Service contains methods to login and create hash to directly enter
+ conference rooms, recordings or the application in general</i></div>

+            </div>

+                </div>

+	

+	

+	</body>

+	</html>
\ No newline at end of file
diff --git a/docs/commercial-support.html b/docs/commercial-support.html
new file mode 100644
index 0000000..70795e3
--- /dev/null
+++ b/docs/commercial-support.html
@@ -0,0 +1,1007 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Commercial Support</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Commercial Support for OpenMeetings"><strong>Commercial Support for OpenMeetings</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>There are a number of companies offering services for OpenMeetings

+			</p>
+                                                <ul>

+				<li>

+					<a href="http://www.openmeetings.de" target="_BLANK" rel="nofollow">openmeetings.de

+					</a>

+					owned by Sebastian Wagner offers services for OpenMeetings,

+					Installation, Integration, Customization, Hosting

+				</li>

+				<li>

+					<a href="http://www.dataved.ru" target="_BLANK" rel="nofollow">dataved.ru

+					</a>

+					run by (Alexei Fedotov, German, Maxim, Timur, Rodion) offers

+					services for OpenMeetingss, Installation, Integration,

+					Customization, Hosting

+				</li>

+				<i>

+					<a href="http://www.openmeetings.de" target="_BLANK" rel="nofollow">openmeetings.de

+					</a>

+					and

+					<a href="http://www.dataved.ru" target="_BLANK" rel="nofollow">dataved.ru

+					</a>

+					have a long term partnership and

+					price agreement

+				</i>

+				<li>

+                    <a href="http://www.samoo.es" target="_BLANK" rel="nofollow">samoo.es</a>

+                    provides support for the Sakai Plugin.

+                </li>

+			</ul>
+                                                <p>

+				Want to get listed here? Please contact the

+				<a href="mail-lists.html">Mailing List</a>

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/css/1b.png b/docs/css/1b.png
new file mode 100644
index 0000000..0d70d76
--- /dev/null
+++ b/docs/css/1b.png
Binary files differ
diff --git a/docs/css/2b.png b/docs/css/2b.png
new file mode 100644
index 0000000..a93e132
--- /dev/null
+++ b/docs/css/2b.png
Binary files differ
diff --git a/docs/css/3b.png b/docs/css/3b.png
new file mode 100644
index 0000000..f9d8b7a
--- /dev/null
+++ b/docs/css/3b.png
Binary files differ
diff --git a/docs/css/4b.png b/docs/css/4b.png
new file mode 100644
index 0000000..c6e41f4
--- /dev/null
+++ b/docs/css/4b.png
Binary files differ
diff --git a/docs/css/coin-slider-styles.css b/docs/css/coin-slider-styles.css
new file mode 100644
index 0000000..31e7d67
--- /dev/null
+++ b/docs/css/coin-slider-styles.css
@@ -0,0 +1,17 @@
+/*
+	Coin Slider jQuery plugin CSS styles
+	http://workshop.rs/projects/coin-slider
+*/
+
+
+.coin-slider { overflow: hidden; zoom: 1; position: relative; }
+.coin-slider a{ text-decoration: none; outline: none; border: none; }
+
+.cs-buttons { font-size: 0px; padding: 10px; float: left; }
+.cs-buttons a { margin-left: 5px; height: 10px; width: 10px; float: left; border: 1px solid #B8C4CF; color: #B8C4CF; text-indent: -1000px; }
+.cs-active { background-color: #B8C4CF; color: #FFFFFF; }
+
+.cs-title { width: 545px; padding: 10px; background-color: #000000; color: #FFFFFF; }
+
+.cs-prev, 
+.cs-next { background-color: #000000; color: #FFFFFF; padding: 0px 10px; }
diff --git a/docs/css/images/ui-bg_flat_0_aaaaaa_40x100.png b/docs/css/images/ui-bg_flat_0_aaaaaa_40x100.png
new file mode 100644
index 0000000..5b5dab2
--- /dev/null
+++ b/docs/css/images/ui-bg_flat_0_aaaaaa_40x100.png
Binary files differ
diff --git a/docs/css/images/ui-bg_flat_75_ffffff_40x100.png b/docs/css/images/ui-bg_flat_75_ffffff_40x100.png
new file mode 100644
index 0000000..ac8b229
--- /dev/null
+++ b/docs/css/images/ui-bg_flat_75_ffffff_40x100.png
Binary files differ
diff --git a/docs/css/images/ui-bg_glass_55_fbf9ee_1x400.png b/docs/css/images/ui-bg_glass_55_fbf9ee_1x400.png
new file mode 100644
index 0000000..ad3d634
--- /dev/null
+++ b/docs/css/images/ui-bg_glass_55_fbf9ee_1x400.png
Binary files differ
diff --git a/docs/css/images/ui-bg_glass_65_ffffff_1x400.png b/docs/css/images/ui-bg_glass_65_ffffff_1x400.png
new file mode 100644
index 0000000..42ccba2
--- /dev/null
+++ b/docs/css/images/ui-bg_glass_65_ffffff_1x400.png
Binary files differ
diff --git a/docs/css/images/ui-bg_glass_75_dadada_1x400.png b/docs/css/images/ui-bg_glass_75_dadada_1x400.png
new file mode 100644
index 0000000..5a46b47
--- /dev/null
+++ b/docs/css/images/ui-bg_glass_75_dadada_1x400.png
Binary files differ
diff --git a/docs/css/images/ui-bg_glass_75_e6e6e6_1x400.png b/docs/css/images/ui-bg_glass_75_e6e6e6_1x400.png
new file mode 100644
index 0000000..86c2baa
--- /dev/null
+++ b/docs/css/images/ui-bg_glass_75_e6e6e6_1x400.png
Binary files differ
diff --git a/docs/css/images/ui-bg_glass_95_fef1ec_1x400.png b/docs/css/images/ui-bg_glass_95_fef1ec_1x400.png
new file mode 100644
index 0000000..4443fdc
--- /dev/null
+++ b/docs/css/images/ui-bg_glass_95_fef1ec_1x400.png
Binary files differ
diff --git a/docs/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/docs/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png
new file mode 100644
index 0000000..7c9fa6c
--- /dev/null
+++ b/docs/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png
Binary files differ
diff --git a/docs/css/images/ui-icons_222222_256x240.png b/docs/css/images/ui-icons_222222_256x240.png
new file mode 100644
index 0000000..b273ff1
--- /dev/null
+++ b/docs/css/images/ui-icons_222222_256x240.png
Binary files differ
diff --git a/docs/css/images/ui-icons_2e83ff_256x240.png b/docs/css/images/ui-icons_2e83ff_256x240.png
new file mode 100644
index 0000000..09d1cdc
--- /dev/null
+++ b/docs/css/images/ui-icons_2e83ff_256x240.png
Binary files differ
diff --git a/docs/css/images/ui-icons_454545_256x240.png b/docs/css/images/ui-icons_454545_256x240.png
new file mode 100644
index 0000000..59bd45b
--- /dev/null
+++ b/docs/css/images/ui-icons_454545_256x240.png
Binary files differ
diff --git a/docs/css/images/ui-icons_888888_256x240.png b/docs/css/images/ui-icons_888888_256x240.png
new file mode 100644
index 0000000..6d02426
--- /dev/null
+++ b/docs/css/images/ui-icons_888888_256x240.png
Binary files differ
diff --git a/docs/css/images/ui-icons_cd0a0a_256x240.png b/docs/css/images/ui-icons_cd0a0a_256x240.png
new file mode 100644
index 0000000..2ab019b
--- /dev/null
+++ b/docs/css/images/ui-icons_cd0a0a_256x240.png
Binary files differ
diff --git a/docs/css/jquery-ui.css b/docs/css/jquery-ui.css
new file mode 100644
index 0000000..b90db88
--- /dev/null
+++ b/docs/css/jquery-ui.css
@@ -0,0 +1,568 @@
+/*
+ * jQuery UI CSS Framework 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ */
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden { display: none; }
+.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
+.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
+.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+.ui-helper-clearfix { display: inline-block; }
+/* required comment for clearfix to work in Opera \*/
+* html .ui-helper-clearfix { height:1%; }
+.ui-helper-clearfix { display:block; }
+/* end clearfix */
+.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled { cursor: default !important; }
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
+
+
+/*
+ * jQuery UI CSS Framework 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ *
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=segoe%20ui,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=3px&bgColorHeader=f9f9f9&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=100&borderColorHeader=cccccc&fcHeader=000088&iconColorHeader=5fa5e3&bgColorContent=eeeeee&bgTextureContent=06_inset_hard.png&bgImgOpacityContent=100&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=0a82eb&bgColorDefault=1484e6&bgTextureDefault=08_diagonals_thick.png&bgImgOpacityDefault=22&borderColorDefault=ffffff&fcDefault=ffffff&iconColorDefault=fcdd4a&bgColorHover=2293f7&bgTextureHover=08_diagonals_thick.png&bgImgOpacityHover=26&borderColorHover=2293f7&fcHover=ffffff&iconColorHover=ffffff&bgColorActive=000088&bgTextureActive=08_diagonals_thick.png&bgImgOpacityActive=20&borderColorActive=000088&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=c5ddfc&bgTextureHighlight=07_diagonals_small.png&bgImgOpacityHighlight=25&borderColorHighlight=ffffff&fcHighlight=333333&iconColorHighlight=0b54d5&bgColorError=000088&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=20&borderColorError=000088&fcError=ffffff&iconColorError=ffffff&bgColorOverlay=e6b900&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=000088&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=20&thicknessShadow=0px&offsetTopShadow=6px&offsetLeftShadow=6px&cornerRadiusShadow=3px
+ */
+
+
+/* Component containers
+----------------------------------*/
+.ui-widget { font-family: segoe ui, Arial, sans-serif; font-size: 1.1em; }
+.ui-widget .ui-widget { font-size: 1em; }
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: segoe ui, Arial, sans-serif; font-size: 1em; }
+.ui-widget-content { border: 1px solid #aaaaaa; background: #eeeeee url(images/ui-bg_inset-hard_100_eeeeee_1x100.png) 50% bottom repeat-x; color: #222222; }
+.ui-widget-content a { color: #222222; }
+.ui-widget-header { border: 1px solid #cccccc; background: #f9f9f9 url(images/ui-bg_highlight-soft_100_f9f9f9_1x100.png) 50% 50% repeat-x; color: #000088; font-weight: bold; }
+.ui-widget-header a { color: #000088; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #ffffff; background: #1484e6 url(images/ui-bg_diagonals-thick_22_1484e6_40x40.png) 50% 50% repeat; font-weight: bold; color: #ffffff; }
+.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #ffffff; text-decoration: none; }
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #2293f7; background: #2293f7 url(images/ui-bg_diagonals-thick_26_2293f7_40x40.png) 50% 50% repeat; font-weight: bold; color: #ffffff; }
+.ui-state-hover a, .ui-state-hover a:hover { color: #ffffff; text-decoration: none; }
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #000088; background: #000088 url(images/ui-bg_diagonals-thick_20_e69700_40x40.png) 50% 50% repeat; font-weight: bold; color: #ffffff; }
+.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #ffffff; text-decoration: none; }
+.ui-widget :active { outline: none; }
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight  {border: 1px solid #ffffff; background: #c5ddfc url(images/ui-bg_diagonals-small_25_c5ddfc_40x40.png) 50% 50% repeat; color: #333333; }
+.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #333333; }
+.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #000088; background: #000088 url(images/ui-bg_diagonals-thick_20_e69700_40x40.png) 50% 50% repeat; color: #ffffff; }
+.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; }
+.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
+.ui-priority-secondary, .ui-widget-content .ui-priority-secondary,  .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
+.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_0a82eb_256x240.png); }
+.ui-widget-content .ui-icon {background-image: url(images/ui-icons_0a82eb_256x240.png); }
+.ui-widget-header .ui-icon {background-image: url(images/ui-icons_5fa5e3_256x240.png); }
+.ui-state-default .ui-icon { background-image: url(images/ui-icons_fcdd4a_256x240.png); }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
+.ui-state-active .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
+.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_0b54d5_256x240.png); }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-off { background-position: -96px -144px; }
+.ui-icon-radio-on { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 3px; -webkit-border-top-left-radius: 3px; -khtml-border-top-left-radius: 3px; border-top-left-radius: 3px; }
+.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 3px; -khtml-border-top-right-radius: 3px; border-top-right-radius: 3px; }
+.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 3px; -webkit-border-bottom-left-radius: 3px; -khtml-border-bottom-left-radius: 3px; border-bottom-left-radius: 3px; }
+.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 3px; -webkit-border-bottom-right-radius: 3px; -khtml-border-bottom-right-radius: 3px; border-bottom-right-radius: 3px; }
+
+/* Overlays */
+.ui-widget-overlay { background: #e6b900 url(images/ui-bg_flat_0_e6b900_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
+.ui-widget-shadow { margin: 6px 0 0 6px; padding: 0px; background: #000088 url(images/ui-bg_flat_0_e69700_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 3px; -khtml-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; }/*
+ * jQuery UI Resizable 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Resizable#theming
+ */
+.ui-resizable { position: relative;}
+.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; }
+.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
+.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
+.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
+.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
+.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
+.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
+.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
+.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
+.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
+ * jQuery UI Selectable 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Selectable#theming
+ */
+.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
+/*
+ * jQuery UI Accordion 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Accordion#theming
+ */
+/* IE/Win - Fix animation bug - #4615 */
+.ui-accordion { width: 100%; }
+.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
+.ui-accordion .ui-accordion-li-fix { display: inline; }
+.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
+.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
+.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
+.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
+.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
+.ui-accordion .ui-accordion-content-active { display: block; }
+/*
+ * jQuery UI Autocomplete 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Autocomplete#theming
+ */
+.ui-autocomplete { position: absolute; cursor: default; }	
+
+/* workarounds */
+* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
+
+/*
+ * jQuery UI Menu 1.8.16
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Menu#theming
+ */
+.ui-menu {
+	list-style:none;
+	padding: 2px;
+	margin: 0;
+	display:block;
+	float: left;
+}
+.ui-menu .ui-menu {
+	margin-top: -3px;
+}
+.ui-menu .ui-menu-item {
+	margin:0;
+	padding: 0;
+	zoom: 1;
+	float: left;
+	clear: left;
+	width: 100%;
+}
+.ui-menu .ui-menu-item a {
+	text-decoration:none;
+	display:block;
+	padding:.2em .4em;
+	line-height:1.5;
+	zoom:1;
+}
+.ui-menu .ui-menu-item a.ui-state-hover,
+.ui-menu .ui-menu-item a.ui-state-active {
+	font-weight: normal;
+	margin: -1px;
+}
+/*
+ * jQuery UI Button 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Button#theming
+ */
+.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
+.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
+button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
+.ui-button-icons-only { width: 3.4em; } 
+button.ui-button-icons-only { width: 3.7em; } 
+
+/*button text element */
+.ui-button .ui-button-text { display: block; line-height: 1.4;  }
+.ui-button-text-only .ui-button-text { padding: .4em 1em; }
+.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
+.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
+.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
+.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
+/* no icon support for input elements, provide padding by default */
+input.ui-button { padding: .4em 1em; }
+
+/*button icon element(s) */
+.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
+.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
+.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
+.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+
+/*button sets*/
+.ui-buttonset { margin-right: 7px; }
+.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
+
+/* workarounds */
+button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
+/*
+ * jQuery UI Dialog 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Dialog#theming
+ */
+.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
+.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative;  }
+.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } 
+.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
+.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
+.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
+.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
+.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
+.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
+.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
+.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
+.ui-draggable .ui-dialog-titlebar { cursor: move; }
+/*
+ * jQuery UI Slider 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Slider#theming
+ */
+.ui-slider { position: relative; text-align: left; }
+.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
+.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
+
+.ui-slider-horizontal { height: .8em; }
+.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
+.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
+.ui-slider-horizontal .ui-slider-range-min { left: 0; }
+.ui-slider-horizontal .ui-slider-range-max { right: 0; }
+
+.ui-slider-vertical { width: .8em; height: 100px; }
+.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
+.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
+.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
+.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
+ * jQuery UI Tabs 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Tabs#theming
+ */
+.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
+.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
+.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
+.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
+.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
+.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
+.ui-tabs .ui-tabs-hide { display: none !important; }
+/*
+ * jQuery UI Datepicker 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Datepicker#theming
+ */
+.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
+.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
+.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
+.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
+.ui-datepicker .ui-datepicker-prev { left:2px; }
+.ui-datepicker .ui-datepicker-next { right:2px; }
+.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
+.ui-datepicker .ui-datepicker-next-hover { right:1px; }
+.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px;  }
+.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
+.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
+.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
+.ui-datepicker select.ui-datepicker-month, 
+.ui-datepicker select.ui-datepicker-year { width: 49%;}
+.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
+.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0;  }
+.ui-datepicker td { border: 0; padding: 1px; }
+.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
+.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
+.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi { width:auto; }
+.ui-datepicker-multi .ui-datepicker-group { float:left; }
+.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
+.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
+.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
+.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
+.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
+
+/* RTL support */
+.ui-datepicker-rtl { direction: rtl; }
+.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+
+/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
+.ui-datepicker-cover {
+    display: none; /*sorry for IE5*/
+    display/**/: block; /*sorry for IE5*/
+    position: absolute; /*must have*/
+    z-index: -1; /*must have*/
+    filter: mask(); /*must have*/
+    top: -4px; /*must have*/
+    left: -4px; /*must have*/
+    width: 200px; /*must have*/
+    height: 200px; /*must have*/
+}/*
+ * jQuery UI Progressbar 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Progressbar#theming
+ */
+.ui-progressbar { height:2em; text-align: left; }
+.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
\ No newline at end of file
diff --git a/docs/css/openmeetings.css b/docs/css/openmeetings.css
new file mode 100644
index 0000000..7f80af6
--- /dev/null
+++ b/docs/css/openmeetings.css
@@ -0,0 +1,84 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+body {
+	color: #000000;
+	margin: 0;
+	background: #fafafa;
+	font: 10pt Verdana, Arial, Helvetica, sans-serif;
+	  
+}
+.active {
+	font-style: italic;
+}
+
+.mainbody {
+	margin-left: 40px;
+	margin-right: 40px;
+	-moz-box-shadow: 4px 0px 5px #666666;
+	-webkit-box-shadow: 4px 0px 5px #666666;
+	box-shadow: 4px 0px 5px #666666;
+}
+.superbody {
+	background: #FFFFFF;
+	-moz-box-shadow: -4px 0px 5px #666666;
+	-webkit-box-shadow: -4px 0px 5px #666666;
+	box-shadow: -4px 0px 5px #666666;
+}
+
+/* Box CSS  */
+div {
+	margin: 0;
+}
+
+
+.ro {
+	background: url(2b.png) top right no-repeat;
+}
+
+.lo {
+	background: url(1b.png) top left no-repeat;
+}
+
+.ru {
+	background: url(3b.png) bottom right no-repeat;
+}
+
+.lu {
+	background: url(4b.png) bottom left no-repeat;
+}
+
+ul {
+	margin-top: 0em;
+	padding-left: 1.5em;
+}
+
+.inhalt {
+	margin: 0;
+	padding: 0.5em 2.0em 1.5em 1.0em;
+}
+
+.inhalt p {
+	margin: 0;
+	padding: 0;
+}
+.xmlcode {
+	margin-left: 20px;
+	background-color: #eeeeee;
+	color: #0000ff;
+	margin-top: 10px;
+	margin-bottom: 10px;
+}
\ No newline at end of file
diff --git a/docs/dependencies.html b/docs/dependencies.html
new file mode 100644
index 0000000..97c5612
--- /dev/null
+++ b/docs/dependencies.html
@@ -0,0 +1,986 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+ Podling Documentation Team">
+            <meta name="email" value="Podling-dev@incubator.apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Project Dependencies</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="The Apache Podling Project"><strong>The Apache Podling Project</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+Apache Podling is a project currently incubating in Apache.

+<p> 

+The common external dependencies of Podling include the tools used to build 

+and test it:

+</p>

+

+<ul>

+<li>Subversion</li>

+<li>Ant</li>

+<li>JUnit</li>

+</ul>

+

+</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/documentation.html b/docs/documentation.html
new file mode 100644
index 0000000..29368d8
--- /dev/null
+++ b/docs/documentation.html
@@ -0,0 +1,980 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+ Podling Documentation Team">
+            <meta name="email" value="Podling-dev@incubator.apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Documentation</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="OpenMeetings Documentation"><strong>OpenMeetings Documentation</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+Wiki is to be linked here, coming soon ...

+

+<!-- ***************** TBD **************************  -->

+<!-- ***************** TBD **************************  -->

+<!-- ***************** TBD **************************  -->

+

+</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/downloads.html b/docs/downloads.html
new file mode 100644
index 0000000..36745a9
--- /dev/null
+++ b/docs/downloads.html
@@ -0,0 +1,1042 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			Podling Documentation Team
+		">
+            <meta name="email" value="Podling-dev@incubator.apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Downloads</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Downloads"><strong>Downloads</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				A release of Podling includes the First artifact

+				and the Second artifact. The release is distributed as

+				source code and as jar files that can be accessed

+				via maven repository search.

+				<ul>

+					<li>

+						First artifact.

+					</li>

+					<li>

+						Second artifact.

+					</li>

+				</ul>

+			</p>
+                                                <p>

+				All are available for download as source and binary.

+			</p>
+                                                <p>

+				If downloading multiple source packages, extract them all

+				into the same directory. This will preserve the source

+				dependencies among the projects.

+			</p>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Latest Official Release"><strong>Latest Official Release</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+					No official releases are available.

+				</p>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Previous Official Releases"><strong>Previous Official Releases</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+					No previous official releases are available.

+				</p>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Non ASF downloads"><strong>Non ASF downloads</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+					Releases that are not part of the ASF can be downloaded from the

+					old

+					<a href="http://code.google.com/p/openmeetings/downloads/list" target="_BLANK">GoogleCode website</a>

+				</p>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/get-involved.html b/docs/get-involved.html
new file mode 100644
index 0000000..56786d3
--- /dev/null
+++ b/docs/get-involved.html
@@ -0,0 +1,1094 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Documentation Team
+		">
+            <meta name="email" value="OpenMeetings-dev@incubator.apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Get Involved</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="How do I contribute, give feedback, fix bugs and so on?"><strong>How do I contribute, give feedback, fix bugs and so on?</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				The Apache OpenMeetings project really needs and appreciates any

+				contributions,

+				including documentation help, source code and

+				feedback. Suggested

+				changes should come in the form of source code

+				and/or very detailed

+				and constructive feedback.

+			</p>
+                                                <ul>

+				<li>

+					Discussion occurs on the

+					<a href="mail-lists.html">OpenMeetings mailing lists</a>

+				</li>

+				<li>

+					Information on access to the project source code is

+					available

+					<a href="svn.html">here</a>

+					.

+				</li>

+				<li>

+					Bugs and other issues can be posted on the project

+					<a href="https://issues.apache.org/jira/browse/OPENMEETINGS">JIRA</a>

+					(

+					<a href="https://issues.apache.org/jira/secure/Signup!default.jspa">sign up</a>

+					).

+				</li>

+				<li>

+					Additional documentation and discussion can be contributed to the

+					project

+					<a href="https://cwiki.apache.org/OPENMEETINGS">Wiki</a>

+					(

+					<a href="https://cwiki.apache.org/confluence/signup.action">sign up</a>

+					).

+				</li>

+			</ul>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Which taks could I potentially work on?"><strong>Which taks could I potentially work on?</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				No matter if you want to share your experiences, improve

+				documentation, localization, code Java, ActionScript or PHP, there

+				are dozens of areas where you can find task to work on and share

+				with others.

+				<br />

+				<br />

+				We tried to collect a list of ideas in our wiki:

+				<br />

+				<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS/New+committers+and+developers+task+idea+list" target="_BLANK">https://cwiki.apache.org/confluence/display/OPENMEETINGS/New+committers+and+developers+task+idea+list

+				</a>

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="How do I become a committer?"><strong>How do I become a committer?</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>If you're interested in committing to the project: </p>
+                                                <ul>

+				<li>

+					<p>

+						You'll need to fill out some legal paperwork and go through

+						a

+						process to get an apache foundation committer account: See

+						<a class="external" rel="nofollow" href="http://apache.org/dev/new-committers-guide.html">

+							New Committers Guide

+						</a>

+						,

+						<a class="external" rel="nofollow" href="http://apache.org/dev/contributors.html"> Contributors</a>

+						, and

+						<a class="external" rel="nofollow" href="http://apache.org/dev/committers.html"> Committers</a>

+						for more details.

+					</p>

+

+				</li>

+				<li>

+					<p>

+						After you've received an email from

+						<a href="mailto:root@apache.org">root@apache.org</a>

+						with your committer account information, change your initial

+						password:

+						Login by 'ssh -l &lt;username&gt; people.apache.org';

+						run

+						'passwd';

+						run 'svnpasswd'. See

+						<a class="external" rel="nofollow" href="http://apache.org/dev/version-control.html">Committer Subversion Access

+						</a>

+						.

+					</p>

+				</li>

+				<li>

+					<p>

+						Check out the OpenMeetings sources and test your svn account:

+						<a href="http://svn.apache.org/viewcvs.cgi/incubator/OpenMeetings/">

+							SubversionRepository

+						</a>

+						.

+					</p>

+

+				</li>

+

+			</ul>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/images/54882.jpg b/docs/images/54882.jpg
new file mode 100644
index 0000000..39cc036
--- /dev/null
+++ b/docs/images/54882.jpg
Binary files differ
diff --git a/docs/images/Arguments.png b/docs/images/Arguments.png
new file mode 100644
index 0000000..7427236
--- /dev/null
+++ b/docs/images/Arguments.png
Binary files differ
diff --git a/docs/images/DebugConfigurations.png b/docs/images/DebugConfigurations.png
new file mode 100644
index 0000000..c572dda
--- /dev/null
+++ b/docs/images/DebugConfigurations.png
Binary files differ
diff --git a/docs/images/Features_Screen_Conference_Room_Thumb.png b/docs/images/Features_Screen_Conference_Room_Thumb.png
new file mode 100644
index 0000000..19dece9
--- /dev/null
+++ b/docs/images/Features_Screen_Conference_Room_Thumb.png
Binary files differ
diff --git a/docs/images/NewConfiguration.png b/docs/images/NewConfiguration.png
new file mode 100644
index 0000000..45f3d62
--- /dev/null
+++ b/docs/images/NewConfiguration.png
Binary files differ
diff --git a/docs/images/SugarCRM_Installation.png b/docs/images/SugarCRM_Installation.png
new file mode 100644
index 0000000..b652b7b
--- /dev/null
+++ b/docs/images/SugarCRM_Installation.png
Binary files differ
diff --git a/docs/images/apache-incubator-logo-no-borders.png b/docs/images/apache-incubator-logo-no-borders.png
new file mode 100644
index 0000000..4bf4a6c
--- /dev/null
+++ b/docs/images/apache-incubator-logo-no-borders.png
Binary files differ
diff --git a/docs/images/apache_feather.gif b/docs/images/apache_feather.gif
new file mode 100644
index 0000000..1a0c3e6
--- /dev/null
+++ b/docs/images/apache_feather.gif
Binary files differ
diff --git a/docs/images/audio_and_video.png b/docs/images/audio_and_video.png
new file mode 100644
index 0000000..f35bb10
--- /dev/null
+++ b/docs/images/audio_and_video.png
Binary files differ
diff --git a/docs/images/backup.png b/docs/images/backup.png
new file mode 100644
index 0000000..eaa4e8a
--- /dev/null
+++ b/docs/images/backup.png
Binary files differ
diff --git a/docs/images/calendar.png b/docs/images/calendar.png
new file mode 100644
index 0000000..91e948e
--- /dev/null
+++ b/docs/images/calendar.png
Binary files differ
diff --git a/docs/images/chat.png b/docs/images/chat.png
new file mode 100644
index 0000000..ce9c040
--- /dev/null
+++ b/docs/images/chat.png
Binary files differ
diff --git a/docs/images/checkout_1.png b/docs/images/checkout_1.png
new file mode 100644
index 0000000..950891a
--- /dev/null
+++ b/docs/images/checkout_1.png
Binary files differ
diff --git a/docs/images/checkout_2.png b/docs/images/checkout_2.png
new file mode 100644
index 0000000..f31050b
--- /dev/null
+++ b/docs/images/checkout_2.png
Binary files differ
diff --git a/docs/images/checkout_3.png b/docs/images/checkout_3.png
new file mode 100644
index 0000000..94d21ce
--- /dev/null
+++ b/docs/images/checkout_3.png
Binary files differ
diff --git a/docs/images/checkout_4.png b/docs/images/checkout_4.png
new file mode 100644
index 0000000..7fcf576
--- /dev/null
+++ b/docs/images/checkout_4.png
Binary files differ
diff --git a/docs/images/checkout_5.png b/docs/images/checkout_5.png
new file mode 100644
index 0000000..e102426
--- /dev/null
+++ b/docs/images/checkout_5.png
Binary files differ
diff --git a/docs/images/checkout_6.png b/docs/images/checkout_6.png
new file mode 100644
index 0000000..8dd9189
--- /dev/null
+++ b/docs/images/checkout_6.png
Binary files differ
diff --git a/docs/images/checkout_7.png b/docs/images/checkout_7.png
new file mode 100644
index 0000000..4168d93
--- /dev/null
+++ b/docs/images/checkout_7.png
Binary files differ
diff --git a/docs/images/checkout_8.png b/docs/images/checkout_8.png
new file mode 100644
index 0000000..0494bb5
--- /dev/null
+++ b/docs/images/checkout_8.png
Binary files differ
diff --git a/docs/images/checkout_9.png b/docs/images/checkout_9.png
new file mode 100644
index 0000000..b083d00
--- /dev/null
+++ b/docs/images/checkout_9.png
Binary files differ
diff --git a/docs/images/choose_divice.png b/docs/images/choose_divice.png
new file mode 100644
index 0000000..9e6e31c
--- /dev/null
+++ b/docs/images/choose_divice.png
Binary files differ
diff --git a/docs/images/cut_administration_configuration.png b/docs/images/cut_administration_configuration.png
new file mode 100644
index 0000000..1a99c6c
--- /dev/null
+++ b/docs/images/cut_administration_configuration.png
Binary files differ
diff --git a/docs/images/cut_conference_room.png b/docs/images/cut_conference_room.png
new file mode 100644
index 0000000..1a50a25
--- /dev/null
+++ b/docs/images/cut_conference_room.png
Binary files differ
diff --git a/docs/images/cut_file_explorer.png b/docs/images/cut_file_explorer.png
new file mode 100644
index 0000000..4e5d0c7
--- /dev/null
+++ b/docs/images/cut_file_explorer.png
Binary files differ
diff --git a/docs/images/cut_integrated_calendar.png b/docs/images/cut_integrated_calendar.png
new file mode 100644
index 0000000..bdb14d3
--- /dev/null
+++ b/docs/images/cut_integrated_calendar.png
Binary files differ
diff --git a/docs/images/cut_integration_api.png b/docs/images/cut_integration_api.png
new file mode 100644
index 0000000..7cf6264
--- /dev/null
+++ b/docs/images/cut_integration_api.png
Binary files differ
diff --git a/docs/images/cut_private_messages.png b/docs/images/cut_private_messages.png
new file mode 100644
index 0000000..eb01fff
--- /dev/null
+++ b/docs/images/cut_private_messages.png
Binary files differ
diff --git a/docs/images/cut_recordings_playback.png b/docs/images/cut_recordings_playback.png
new file mode 100644
index 0000000..ce9187e
--- /dev/null
+++ b/docs/images/cut_recordings_playback.png
Binary files differ
diff --git a/docs/images/dashboard.png b/docs/images/dashboard.png
new file mode 100644
index 0000000..c6431f2
--- /dev/null
+++ b/docs/images/dashboard.png
Binary files differ
diff --git a/docs/images/desktopsharing.png b/docs/images/desktopsharing.png
new file mode 100644
index 0000000..cd7978e
--- /dev/null
+++ b/docs/images/desktopsharing.png
Binary files differ
diff --git a/docs/images/file_smal.png b/docs/images/file_smal.png
new file mode 100644
index 0000000..69dcc46
--- /dev/null
+++ b/docs/images/file_smal.png
Binary files differ
diff --git a/docs/images/installation_instructions.png b/docs/images/installation_instructions.png
new file mode 100644
index 0000000..64ab05a
--- /dev/null
+++ b/docs/images/installation_instructions.png
Binary files differ
diff --git a/docs/images/langeditor_screen_v2.png b/docs/images/langeditor_screen_v2.png
new file mode 100644
index 0000000..fbaf47d
--- /dev/null
+++ b/docs/images/langeditor_screen_v2.png
Binary files differ
diff --git a/docs/images/ldap_screen.png b/docs/images/ldap_screen.png
new file mode 100644
index 0000000..e28bbc3
--- /dev/null
+++ b/docs/images/ldap_screen.png
Binary files differ
diff --git a/docs/images/logo-2.jpg b/docs/images/logo-2.jpg
new file mode 100644
index 0000000..13c2512
--- /dev/null
+++ b/docs/images/logo-2.jpg
Binary files differ
diff --git a/docs/images/micro_small.png b/docs/images/micro_small.png
new file mode 100644
index 0000000..215c831
--- /dev/null
+++ b/docs/images/micro_small.png
Binary files differ
diff --git a/docs/images/monitor_add.png b/docs/images/monitor_add.png
new file mode 100644
index 0000000..a818066
--- /dev/null
+++ b/docs/images/monitor_add.png
Binary files differ
diff --git a/docs/images/moodle_plugin_conference.png b/docs/images/moodle_plugin_conference.png
new file mode 100644
index 0000000..d5ef720
--- /dev/null
+++ b/docs/images/moodle_plugin_conference.png
Binary files differ
diff --git a/docs/images/mouse_add.png b/docs/images/mouse_add.png
new file mode 100644
index 0000000..65bcab5
--- /dev/null
+++ b/docs/images/mouse_add.png
Binary files differ
diff --git a/docs/images/pencil_add.png b/docs/images/pencil_add.png
new file mode 100644
index 0000000..902bbe6
--- /dev/null
+++ b/docs/images/pencil_add.png
Binary files differ
diff --git a/docs/images/poll.png b/docs/images/poll.png
new file mode 100644
index 0000000..5b51c9b
--- /dev/null
+++ b/docs/images/poll.png
Binary files differ
diff --git a/docs/images/pollresult.png b/docs/images/pollresult.png
new file mode 100644
index 0000000..88c38df
--- /dev/null
+++ b/docs/images/pollresult.png
Binary files differ
diff --git a/docs/images/privat_messages.png b/docs/images/privat_messages.png
new file mode 100644
index 0000000..2399366
--- /dev/null
+++ b/docs/images/privat_messages.png
Binary files differ
diff --git a/docs/images/recordings_timeleine.png b/docs/images/recordings_timeleine.png
new file mode 100644
index 0000000..53ae662
--- /dev/null
+++ b/docs/images/recordings_timeleine.png
Binary files differ
diff --git a/docs/images/right_management.png b/docs/images/right_management.png
new file mode 100644
index 0000000..da287a6
--- /dev/null
+++ b/docs/images/right_management.png
Binary files differ
diff --git a/docs/images/system_backup.png b/docs/images/system_backup.png
new file mode 100644
index 0000000..ffc2964
--- /dev/null
+++ b/docs/images/system_backup.png
Binary files differ
diff --git a/docs/images/user_add.png b/docs/images/user_add.png
new file mode 100644
index 0000000..deae99b
--- /dev/null
+++ b/docs/images/user_add.png
Binary files differ
diff --git a/docs/images/vote.png b/docs/images/vote.png
new file mode 100644
index 0000000..c16ff86
--- /dev/null
+++ b/docs/images/vote.png
Binary files differ
diff --git a/docs/images/whiteboard.png b/docs/images/whiteboard.png
new file mode 100644
index 0000000..8e5392f
--- /dev/null
+++ b/docs/images/whiteboard.png
Binary files differ
diff --git a/docs/index.html b/docs/index.html
new file mode 100644
index 0000000..53798dd
--- /dev/null
+++ b/docs/index.html
@@ -0,0 +1,1560 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			Sebastian Wagner
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Home</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Apache OpenMeetings [Incubating] - Features and overview"><strong>Apache OpenMeetings [Incubating] - Features and overview</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <div id="coin-slider">

+				<a href="#">

+					<img src="images/cut_conference_room.png" alt="Conference Room" />

+					<span>

+						<b>Audio/Video Conferencing</b>

+						<br />

+						OpenMeetings enables you to make Audio/Video conferencing.

+					</span>

+				</a>

+

+				<a href="#">

+					<img src="images/cut_integrated_calendar.png" alt="Calendar" />

+					<span>

+						<b>Calendar</b>

+						<br />

+						You can create meetings with the integrated calendar, conference rooms and invitations are automatically send to everybody

+					</span>

+				</a>

+

+				<a href="#">

+					<img src="images/cut_file_explorer.png" alt="File Explorer" />

+					<span>

+						<b>File Explorer</b>

+						<br />

+						Each room has its own File-Explorer. Each user has his own private drive and additionally there is a public drive to share files with other participants

+					</span>

+				</a>

+

+				<a href="#">

+					<img src="images/cut_integration_api.png" alt="Integration API" />

+					<span>

+						<b>Integration API</b>

+						<br />

+						There is a SOAP/REST API to integrate into your website or intranet, as well

+						as LDAP/ADS connectors and VoIP/Asterisk integration modules

+					</span>

+				</a>

+

+				<a href="#">

+					<img src="images/cut_private_messages.png" alt="Private messages" />

+					<span>

+						<b>Private messages and contacts</b>

+						<br />

+						From the private message center you can send invitations by email

+						and attach meeting invitations to every email

+					</span>

+				</a>

+

+				<a href="#">

+					<img src="images/cut_administration_configuration.png" alt="Administration" />

+					<span>

+						<b>Administration and Configuration</b>

+						<br />

+						You can configure users, rooms, usergroups, config settings or

+						edit labels with a Web-Frontend integrated in the application

+					</span>

+				</a>

+

+				<a href="#">

+					<img src="images/cut_recordings_playback.png" alt="Share and Record" />

+					<span>

+						<b>Screen sharing and Recording</b>

+						<br />

+						You can do screen sharing as well as recording of whole sessions

+						including audio/video. Recordings can be downloaded as AVI/FLV or

+						watched online in the integrated player.

+					</span>

+				</a>

+

+			</div>
+                                                <p> Openmeetings provides video conferencing, instant messaging,

+				white board, collaborative document editing and other groupware

+				tools using API functions of the Red5 Streaming Server for Remoting

+				and Streaming.

+			</p>
+                                                <p>

+				OpenMeetings is a project of the Apache Incubator, the old project

+				website at

+				<a href="http://code.google.com/p/openmeetings/" target="_BLANK">GoogleCode

+				</a>

+				will receive no updates anymore. The website at Apache is the only

+				place that receives updates.

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="News"><strong>News</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				<strong>

+					First builds are available at

+					<a href="https://builds.apache.org/job/openmeetings">builds.apache.org</a>

+					(2012-03-15)

+				</strong>

+				<br />

+				<strong>New committer: Timur Tleukenov (2012-03-06)</strong>

+				<br />

+				<strong>

+					<a href="http://demo.openmeetings.de" target="_BLANK" rel="nofollow">Demo

+						server</a>

+					updated to r1236172 (2012-01-26)

+				</strong>

+				<br />

+				<strong>New committer: German Grekhov (2011-12-26)</strong>

+				<br />

+				<strong>OpenMeetings has been accepted into the Apache Incubator

+					(2011-11-12).

+				</strong>

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Community"><strong>Community</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				<strong>Who we are</strong>

+				<blockquote>

+					<a href="team-list.html">List of committers</a>

+					.

+				</blockquote>

+			</p>
+                                                <p>

+				<strong>Users!</strong>

+				<blockquote>

+					We'd love to have you involved. Check out the

+					<a href="get-involved.html">Get involved</a>

+					.

+				</blockquote>

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Feature details"><strong>Feature details</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    	<h3>Audio and Video Conferencing</h3>
+	<table border="0">
+		<tbody>
+			<tr>
+				<td style="text-align: center;" width="300">
+																		<p>
+							<a class="fancybox-buttons" data-fancybox-group="button" href="images/Features_Screen_Conference_Room_Thumb.png">
+								<img src="images/Features_Screen_Conference_Room_Thumb.png" alt="" width="250" 
+									height="175" />
+							</a>
+							<!--
+							<img style="border: 1px solid black;"
+									title="" src="images/Features_Screen_Conference_Room_Thumb.png"
+									alt="" width="250" 
+									height="175" />
+									</p>
+									 -->
+																										</td>
+				<td>
+																													<text>

+					There are four options to use OpenMeetings audio/video functions,

+					which you can select during a conference session.

+					<ul>

+						<blockquote>

+							<li>audio + video</li>

+							<li>audio only</li>

+							<li>video only</li>

+							<li>picture only</li>

+

+						</blockquote>

+					</ul>

+					Additional you can change video-/audio-quality, choose multiple

+					camera resolutions (4:3, 16:9 or 3:2)

+					and choose your input devices.

+				</text>
+															</td>
+			</tr>
+	    </tbody>
+	</table>
+                                                	<h3>Meeting recording and Screen sharing</h3>
+	<table border="0">
+		<tbody>
+			<tr>
+				<td style="text-align: center;" width="300">
+																		<p>
+							<a class="fancybox-buttons" data-fancybox-group="button" href="images/desktopsharing.png">
+								<img src="images/desktopsharing.png" alt="" width="140" 
+									height="150" />
+							</a>
+							<!--
+							<img style="border: 1px solid black;"
+									title="" src="images/desktopsharing.png"
+									alt="" width="140" 
+									height="150" />
+									</p>
+									 -->
+																								<p>
+							<a class="fancybox-buttons" data-fancybox-group="button" href="images/recordings_timeleine.png">
+								<img src="images/recordings_timeleine.png" alt="" width="200" 
+									height="115" />
+							</a>
+							<!--
+							<img style="border: 1px solid black;"
+									title="" src="images/recordings_timeleine.png"
+									alt="" width="200" 
+									height="115" />
+									</p>
+									 -->
+																										</td>
+				<td>
+																																								<text>

+					<ul>

+						<li>Recorded sessions contain everything including sound recorded

+							from all audio streams in exactly the way you've seen it in the

+							conference.

+						</li>

+					</ul>

+					<ul>

+						<li>Recorded sessions can be downloaded as AVI/FLV files.</li>

+					</ul>

+					<ul>

+						<li>Possibility to select a screen area for sharing.</li>

+					</ul>

+					<ul>

+						<li>Different quality steps for Screensharing.</li>

+					</ul>

+					<ul>

+						<li>Watch and organize recordings in an integrated Drag and Drop

+							File-Explorer

+						</li>

+					</ul>

+				</text>
+															</td>
+			</tr>
+	    </tbody>
+	</table>
+                                                	<h3>File Explorer</h3>
+	<table border="0">
+		<tbody>
+			<tr>
+				<td style="text-align: center;" width="300">
+																		<p>
+							<a class="fancybox-buttons" data-fancybox-group="button" href="images/file_smal.png">
+								<img src="images/file_smal.png" alt="" width="135" 
+									height="200" />
+							</a>
+							<!--
+							<img style="border: 1px solid black;"
+									title="" src="images/file_smal.png"
+									alt="" width="135" 
+									height="200" />
+									</p>
+									 -->
+																										</td>
+				<td>
+																													<text>

+					Advanced File-Explorer in every conference room, Drag and Drop

+					interface for managing uploaded files, including the possibility to

+					create a document tree with folders.

+					<br />

+					<br />

+					Private and Public Drive in

+					File-Explorer. The File-Explorer has two

+					different views, one is the

+					<b>Private Drive</b>

+					and the other the

+					<b>Public Drive</b>

+					. The Private Drive

+					always contains the same files.

+					Those files are

+					visible only to the

+					user currently loggedin. The

+					Public Drive is not

+					bound to the user,

+					but to the conference room

+					instead. All users in

+					the conference room

+					have access to the Public

+					Drive.

+				</text>
+															</td>
+			</tr>
+	    </tbody>
+	</table>
+                                                	<h3>Moderating System</h3>
+	<table border="0">
+		<tbody>
+			<tr>
+				<td style="text-align: center;" width="300">
+																		<p>
+							<a class="fancybox-buttons" data-fancybox-group="button" href="images/right_management.png">
+								<img src="images/right_management.png" alt="" width="135" 
+									height="216" />
+							</a>
+							<!--
+							<img style="border: 1px solid black;"
+									title="" src="images/right_management.png"
+									alt="" width="135" 
+									height="216" />
+									</p>
+									 -->
+																										</td>
+				<td>
+																													<text>

+					During a conference, the moderator can adjust the user permission

+					to every user individually .

+					<ul>

+						<li>

+							<img class="alignnone" title="Allow modaration" src="images/user_add.png" alt="" />

+							Allow/Deny moderation

+						</li>

+						<li>

+							<img class="alignnone" title="Whiteboard Access" src="images/pencil_add.png" alt="" />

+							Allow/Deny to draw on white board

+						</li>

+						<li>

+							<img class="alignnone" title="Screenshare" src="images/monitor_add.png" alt="" />

+							Allow/Deny screen-sharing/record screen

+						</li>

+						<li>

+							<img class="alignnone" title="Remote control" src="images/mouse_add.png" alt="" />

+							Allow/Deny Remote Control Screen

+						</li>

+						<li>

+							<img class="alignnone" title="Remote control" src="images/micro_small.png" alt="" />

+							Give exclusive audio to others or self

+						</li>

+						<li>

+							<img class="alignnone" title="Video Audio" src="images/audio_and_video.png" alt="" />

+							(Re-) Start Audio, Video or Device settings

+						</li>

+					</ul>

+				</text>
+															</td>
+			</tr>
+	    </tbody>
+	</table>
+                                                	<h3>Multi-Whiteboard and Chat</h3>
+	<table border="0">
+		<tbody>
+			<tr>
+				<td style="text-align: center;" width="300">
+																		<p>
+							<a class="fancybox-buttons" data-fancybox-group="button" href="images/whiteboard.png">
+								<img src="images/whiteboard.png" alt="" width="240" 
+									height="165" />
+							</a>
+							<!--
+							<img style="border: 1px solid black;"
+									title="" src="images/whiteboard.png"
+									alt="" width="240" 
+									height="165" />
+									</p>
+									 -->
+																								<p>
+							<a class="fancybox-buttons" data-fancybox-group="button" href="images/chat.png">
+								<img src="images/chat.png" alt="" width="240" 
+									height="68" />
+							</a>
+							<!--
+							<img style="border: 1px solid black;"
+									title="" src="images/chat.png"
+									alt="" width="240" 
+									height="68" />
+									</p>
+									 -->
+																										</td>
+				<td>
+																																								<text>

+					Multi-Whiteboard, you can add new whiteboard instances, each

+					white

+					board can have the full range of tools and documents inside.

+					<br />

+					<br />

+					Save white boards. You can save each whiteboard instance as a file.

+					The file is located in the File-Explorer and can be drag n' drop'ed

+					to the white board again and organized like any other document,

+					image or folder.

+					<br />

+					<br />

+					White board with drawing, writing, Drag n' Drop, Resizing, Images

+					(Drag n'

+					Drop from File-Explorer), Symbol(s)/Cliparts .

+					<br />

+					<br />

+					Full-fit does rescale the document on the screen to be 100% visible

+					on all

+					screens no matter what kind of screen resolution different

+					users

+					have.

+					<br />

+					<br />

+					You can import from a wide range of document formats (PDF, DOC,

+					ODT, PPT, et cetera...)

+				</text>
+															</td>
+			</tr>
+	    </tbody>
+	</table>
+                                                	<h3>User and room management</h3>
+	<table border="0">
+		<tbody>
+			<tr>
+				<td style="text-align: center;" width="300">
+																		<p>
+							<a class="fancybox-buttons" data-fancybox-group="button" href="images/dashboard.png">
+								<img src="images/dashboard.png" alt="" width="250" 
+									height="130" />
+							</a>
+							<!--
+							<img style="border: 1px solid black;"
+									title="" src="images/dashboard.png"
+									alt="" width="250" 
+									height="130" />
+									</p>
+									 -->
+																										</td>
+				<td>
+																													<text>

+					You can manage users and multiple organizations in a single

+					OpenMeetings instance. You can also create users that only have

+					access via the SOAP-API.

+					<br />

+					<br />

+					MyRooms section. Each user has by default 2 personal rooms that

+					are

+					always accessible exclusively for that user. There are buttons

+					to

+					enter those rooms from the Dashboard.

+					<br />

+					<br />

+					You can assign conference room to all users, or you can assign them

+					only to specific user-groups.

+				</text>
+															</td>
+			</tr>
+	    </tbody>
+	</table>
+                                                	<h3>Private message center</h3>
+	<table border="0">
+		<tbody>
+			<tr>
+				<td style="text-align: center;" width="300">
+																		<p>
+							<a class="fancybox-buttons" data-fancybox-group="button" href="images/privat_messages.png">
+								<img src="images/privat_messages.png" alt="" width="230" 
+									height="125" />
+							</a>
+							<!--
+							<img style="border: 1px solid black;"
+									title="" src="images/privat_messages.png"
+									alt="" width="230" 
+									height="125" />
+									</p>
+									 -->
+																										</td>
+				<td>
+																													<text>

+					Send users messages and organize them in folders. You can book

+					conference rooms by sending private messages. The booked event

+					automatically is in your and the participants calendar, changes to

+					that event will be populated to all users booked to the event.

+					<br />

+					<br />

+					User contacts, you can search users and add them to your contacts.

+					You

+					can even give them the right to see your calendar.

+				</text>
+															</td>
+			</tr>
+	    </tbody>
+	</table>
+                                                	<h3>Plan meetings with integrated calendar</h3>
+	<table border="0">
+		<tbody>
+			<tr>
+				<td style="text-align: center;" width="300">
+																		<p>
+							<a class="fancybox-buttons" data-fancybox-group="button" href="images/calendar.png">
+								<img src="images/calendar.png" alt="" width="200" 
+									height="115" />
+							</a>
+							<!--
+							<img style="border: 1px solid black;"
+									title="" src="images/calendar.png"
+									alt="" width="200" 
+									height="115" />
+									</p>
+									 -->
+																										</td>
+				<td>
+																													<text>

+					<ul>

+						<li>Plan your conferencing and invite attendees from OpenMeetings

+							or External.

+						</li>

+						<li>The invited attendees will recieve an E-mail with details to

+							the meetings and a link with a secure hash to the conference

+							room.

+						</li>

+						<li>Share your calendar with your contacts.</li>

+					</ul>

+				</text>
+															</td>
+			</tr>
+	    </tbody>
+	</table>
+                                                	<h3>Polls and Votes</h3>
+	<table border="0">
+		<tbody>
+			<tr>
+				<td style="text-align: center;" width="300">
+																		<p>
+							<a class="fancybox-buttons" data-fancybox-group="button" href="images/poll.png">
+								<img src="images/poll.png" alt="" width="250" 
+									height="250" />
+							</a>
+							<!--
+							<img style="border: 1px solid black;"
+									title="" src="images/poll.png"
+									alt="" width="250" 
+									height="250" />
+									</p>
+									 -->
+																										</td>
+				<td>
+																													<text>

+					You can create a poll with yes/no or 1-10 questions, let the

+					user

+					vote and see the voting results.

+					<br />

+					<br />

+					Polls can be stored and results viewed as pie-chart

+				</text>
+															</td>
+			</tr>
+	    </tbody>
+	</table>
+                                                	<h3>Backup</h3>
+	<table border="0">
+		<tbody>
+			<tr>
+				<td style="text-align: center;" width="300">
+																		<p>
+							<a class="fancybox-buttons" data-fancybox-group="button" href="images/backup.png">
+								<img src="images/backup.png" alt="" width="250" 
+									height="60" />
+							</a>
+							<!--
+							<img style="border: 1px solid black;"
+									title="" src="images/backup.png"
+									alt="" width="250" 
+									height="60" />
+									</p>
+									 -->
+																										</td>
+				<td>
+																													<text>

+					You can backup all user-generated data including files

+					uploaded by the users in a single ZIP file and import that ZIP into

+					a new installation of OpenMeetings again.

+				</text>
+															</td>
+			</tr>
+	    </tbody>
+	</table>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/installation.html b/docs/installation.html
new file mode 100644
index 0000000..757bf8e
--- /dev/null
+++ b/docs/installation.html
@@ -0,0 +1,1331 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Home</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="OpenMeetings Installation"><strong>OpenMeetings Installation</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				To update from past versions or migrate see

+				<a href="Upgrade.html">Upgrade</a>

+				.

+				If you are looking for commercial help have a look at

+				<a href="commercial-support.html" target="_BLANK" rel="nofollow">commercial

+					support

+				</a>

+				.

+			</p>
+                                                <p>

+				<a href="downloads.html" rel="nofollow">

+					<img src="images/installation_instructions.png" alt="Grafik" />

+				</a>

+				<p>

+					<i>Note: OpenMeetings requires SUN/Oracle JRE 6, not openJDK!</i>

+					<br />

+					<i>Since Version 2.0 you can also install OpenMeetings from command

+						line. Just cd to the unpacked archive and type ./admin.sh or

+						admin.bat

+					</i>

+				</p>

+			</p>
+                                                <ol>

+				<li>

+					<b>Recommendation for production environment</b>

+					<div style="margin-top: 10px; margin-bottom:10px">

+						By default OpenMeetings uses the integrated Apache Derby database.

+						For production environment you should consider using

+						<a href="MySQLConfig.html">MySQL</a>

+						,

+						<a href="/PostgresConfig.html">Postgres</a>

+						, or for example

+						<a href="IBMDB2Config.html">IBM DB2</a>

+						, or

+						<a href="OracleConfig.html">Oracle</a>

+					</div>

+				</li>

+				<li>

+					<b>Enabling Image Upload and import to whiteboard</b>

+					<div style="margin-top: 10px; margin-bottom:10px">

+						Install

+						<b>ImageMagick</b>

+						on the server, you can get more information on

+						<a href="http://www.imagemagick.org" rel="nofollow" target="_BLANK">http://www.imagemagick.org

+						</a>

+						regarding installation. The instructions

+						for installation can be

+						found there

+						<a href="http://www.imagemagick.org/script/binary-releases.php" target="_BLANK" rel="nofollow">http://www.imagemagick.org/script/binary-releases.php

+						</a>

+						,

+						however on

+						most Linux systems you can get it via your favorite

+						package

+						managers (apt-get it)

+					</div>

+				</li>

+				<li>

+					<b>Enabling import of PDFs into whiteboard</b>

+					<div style="margin-top: 10px; margin-bottom:10px">

+						<ul>

+							<li>

+								Install

+								<b>GhostScript</b>

+								on the server, you can get more

+								information on

+								<a href="http://pages.cs.wisc.edu/~ghost/" target="_BLANK" rel="nofollow">

+									http://pages.cs.wisc.edu/~ghost/

+								</a>

+								regarding

+								installation. The instructions for installation can be

+								found

+								there, however on most Linux systems you can get it via

+								your

+								favorite package managers (apt-get it).

+							</li>

+							<li>

+								Install

+								<b>SWFTools</b>

+								on the server, you can get more information

+								on

+								<a href="http://www.swftools.org/" target="_BLANK" rel="nofollow">http://www.swftools.org/

+								</a>

+								regarding installation. Some of the

+								Linux distributions already

+								have it in there package manager (see

+								<a href="http://packages.debian.org/unstable/utils/swftools" target="_BLANK" rel="nofollow">http://packages.debian.org/unstable/utils/swftools

+								</a>

+								), the

+								recommended version of SWFTools is 0.9 as prior version

+								have a

+								bug that does lead to wrong object dimensions at

+								whiteboard

+							</li>

+						</ul>

+					</div>

+				</li>

+				<li>

+					<b>Enabling import of .doc, .docx, .ppt, .pptx, ... all Office

+						Documents into whitebaord

+					</b>

+					<div style="margin-top: 10px; margin-bottom:10px">

+						<ul>

+							<li>

+								<a href="http://code.google.com/p/jodconverter/" target="_BLANK" ref="nofollow">JODConverter</a>

+								installed (needed since v2.x)

+							</li>

+							<li>OpenOffice or Libre Office Installed</li>

+						</ul>

+						Since Version 2.x of OpenMeetings it is no more required to start

+						OpenOffice (or Libreoffice) service, see

+						<a href="OpenOfficeConverter.html">OpenOfficeConverter</a>

+						for details

+					</div>

+				</li>

+				<li>

+					<b>Enabling Recording and import of .avi, .flv, .mov and .mp4 into

+						whiteboard

+					</b>

+					<div style="margin-top: 10px; margin-bottom:10px">

+						<ul>

+							<li>

+								Install

+								<b>FFMpeg (with -enabled libmp3lame option)</b>

+								. You should get FFMPEG in an up to date copy! OpenMeetings is

+								tested with FFMPEG Version 10.3

+								For

+								Windows you can

+								download a

+								Build for example from

+								<a href="http://ffmpeg.zeranoe.com/builds/" target="_BLANK" rel="nofollow">http://ffmpeg.zeranoe.com/builds/ </a>

+								Linux or OSx Users should be

+								able to use one of the various

+								Installation Instructions on the

+								Web. You need to enable

+								libmp3lame!

+							</li>

+							<li>

+								Install

+								<b>SoX</b>

+								<a href="http://sox.sourceforge.net/" target="_BLANK" rel="nofollow">http://sox.sourceforge.net/

+								</a>

+								. You should install SoX in a up

+								to date copy! SoX 12.xx will NOT

+								work!

+							</li>

+						</ul>

+					</div>

+				</li>

+			</ol>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Ports, NAT Settings, Customize"><strong>Ports, NAT Settings, Customize</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				See

+				<a href="PortSettings.html">PortSettings</a>

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="VMWare"><strong>VMWare</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <ul>

+				<li>

+					See

+					<a href="http://nightly.openmeetings.de/openmeetings/builds/vmware/" rel="nofollow">http://nightly.openmeetings.de/openmeetings/builds/vmware/</a>

+				</li>

+				<li>

+					VMWare 1.6.1

+					<a href="http://openstudio.no-ip.info/2011/01/openmeetings-1-6-rc1-vmware-appliance-using-ubuntu-server-10-04-lts/" rel="nofollow">blog-entry</a>

+				</li>

+				<li>

+					<a href="/p/openmeetings/wiki/VMWareImageDebian051">VMWareImageDebian051</a>

+				</li>

+				<li>

+					<a href="/p/openmeetings/wiki/VMWareImageMoodlePackOM052">VMWareImageMoodlePackOM052</a>

+				</li>

+				<li>

+					<a href="/p/openmeetings/wiki/VMImageRev2056">VMImageRev2056</a>

+				</li>

+				<li>

+					<a href="/p/openmeetings/wiki/VMWareImageRunningOpenmeetingsV1_0RC1">VMWareImageRunningOpenmeetingsV1_0RC1</a>

+				</li>

+			</ul>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Hardware Requirements"><strong>Hardware Requirements</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <ul>

+				<li>

+					Minimalistic requirement (without Document Converters, Recorder and

+					Upload feature) 1GHz CPU 1 GB RAM (

+					<i>server-side</i>

+					)

+				</li>

+				<li>

+					Recommended requirement 2x/4x 2GHz ++ CPU (32 or 64Bit) 4GB RAM. If

+					you have a 64Bit Operating System check if there is a OpenOffice

+					64Bit Version

+					<a href="http://download.openoffice.org/other.html#de" rel="nofollow">available

+						for your OS

+					</a>

+					(

+					<i>server-side</i>

+					)

+				</li>

+				<li>

+					Headset/Microphone recommendation: Logitech ClearChat PC Wireless,

+					for example from

+					<a href="http://www.amazon.de/Logitech-ClearChat-kabelloser-Kopfh%C3%B6rer-Transmitter/dp/B00166WSN4" rel="nofollow">Amazon</a>

+					or

+					<a href="http://shop.ebay.com/i.html?_nkw=Logitech+ClearChat.+Wireless&amp;_sacat=0&amp;_trksid=p3286.m270.l1313&amp;LH_BIN=1&amp;LH_IncludeSIF=1&amp;_odkw=Logitech+ClearChat+PC&amp;_osacat=0" rel="nofollow">EBay Auctions</a>

+					(

+					<i>cient-side</i>

+					).

+					<a href="/p/openmeetings/wiki/RecommendedHardwareList">See all recommendations</a>

+					for cameras, headsets and speakerphones.

+				</li>

+			</ul>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Debian, Links, Changelog, VoIP"><strong>Debian, Links, Changelog, VoIP</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <ul>

+				<li>

+					for VoIP and SIP Integration see also

+					<a href="voip-sip-integration.html">VoIPAndSIP</a>

+				</li>

+				<li>

+					<a href="http://meetingslive.sourceforge.net/" rel="nofollow">http://meetingslive.sourceforge.net/

+					</a>

+				</li>

+				<li>

+					<a href="http://code.google.com/p/openmeetings/wiki/InstallationCentOS5">Installation on CentOS 5</a>

+				</li>

+				<li>

+					<a href="http://code.google.com/p/openmeetings/wiki/InstallationRHELS">Installation on RHELS 5.6</a>

+				</li>

+				<li>

+					<a href="http://code.google.com/p/openmeetings/wiki/OpenmeetingsEnUbuntu">Instalar Openmeetings en Ubuntu 10.04 (Spanish)</a>

+				</li>

+				<li>

+					<a href="http://code.google.com/p/openmeetings/wiki/UbuntuLucidLTS">Install openmeetings on Ubuntu 10.04 LTS</a>

+				</li>

+				<li>

+					<a href="http://liberamemoria.blogspot.com/2009/02/instalando-openmeetings-07-rc-2-en.html" rel="nofollow">Espanol Version for Debian Installation</a>

+				</li>

+				<li>

+					<a href="http://aitinet.com/blog/wp-content/uploads/2009/08/TUTORIAL-PARA-INSTALACAO-DO-RED5-E-OPENMEETINGS-NO-LINUX-DEBIAN-LENNY-51.pdf" rel="nofollow">Portuguese Version for Debian Installation of 0.9 RC1</a>

+				</li>

+				<li>

+					<a href="http://code.google.com/p/openmeetings/wiki/Automatic_script_installation_for_Debian" rel="nofollow">Automatic script installation for Debian</a>

+				</li>

+				<li>

+					<a href="http://code.google.com/p/openmeetings/wiki/InstallationDebian">InstallationDebian</a>

+				</li>

+				<li>

+					<a href="http://code.google.com/p/openmeetings/wiki/qosTips">qosTips</a>

+				</li>

+				<li>

+					French version of Installation Instructions:

+					<a href="http://flash.54n.free.fr/?/Root/Debian/OpenMeetings-Installation" rel="nofollow">http://flash.54n.free.fr/?/Root/Debian/OpenMeetings-Installation

+					</a>

+				</li>

+			</ul>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Tips and Tricks"><strong>Tips and Tricks</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <ul>

+				<li>

+					Use the Debug-Application: Enter in your browser

+					<a href="http://$RED-HOST:$RED5-PORT/openmeetings/maindebug.lzx.lzr=swf8.swf" rel="nofollow">http://$RED-HOST:$RED5-PORT/openmeetings/maindebug.lzx.lzr=swf8.swf

+					</a>

+					for example

+					<a href="http://localhost:5080/openmeetings/maindebug.lzx.lzr=swf8.swf" rel="nofollow">http://localhost:5080/openmeetings/maindebug.lzx.lzr=swf8.swf

+					</a>

+				</li>

+				<li>If you have Problems with conversion-jobs check your Red5-Log

+					output. There will be error Messages which help you. You must

+					install OpenOffice, ImageMagick, GhostScript and SWFTools to run

+					all conversion-Jobs correctly.

+				</li>

+				<li>if you have problems in converting Files check the Batch-Scripts

+					in $OPENMEETINGS_HOME/jod

+				</li>

+				<li>

+					If you want to use red5 as a service (without red5.bat), you need

+					to move red5\wrapper\wrapper.exe to red5\wrapper.exe. Then change

+					some path in conf\wrapper.conf (like ..\lib\foo.jar to

+					lib\foo.jar). And finally change the register key in

+					HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet

+					<a href="/p/openmeetings/w/edit/CurrentControlSet">?</a>

+					\Services\Red5\ImagePath

+					<a href="/p/openmeetings/w/edit/ImagePath">?</a>

+					to point to the new wrapper.

+				</li>

+				<li>

+					you can query a Mysql Database to get the schema_collection by

+					using this query:

+					<div class="xmlcode">

+						SELECT Table_name, TABLE_COLLATION FROM

+						information_schema.tables WHERE table_schema = 'openmeetings'

+						ORDER BY table_name DESC

+					</div>

+				</li>

+			</ul>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/js/coin-slider.min.js b/docs/js/coin-slider.min.js
new file mode 100644
index 0000000..b96708f
--- /dev/null
+++ b/docs/js/coin-slider.min.js
@@ -0,0 +1,51 @@
+/**
+ * Coin Slider - Unique jQuery Image Slider
+ * @version: 1.0 - (2010/04/04)
+ * @requires jQuery v1.2.2 or later 
+ * @author Ivan Lazarevic
+ * Examples and documentation at: http://workshop.rs/projects/coin-slider/
+ 
+ * Licensed under MIT licence:
+ *   http://www.opensource.org/licenses/mit-license.php
+**/
+
+(function($){var params=new Array;var order=new Array;var images=new Array;var links=new Array;var linksTarget=new Array;var titles=new Array;var interval=new Array;var imagePos=new Array;var appInterval=new Array;var squarePos=new Array;var reverse=new Array;$.fn.coinslider=$.fn.CoinSlider=function(options){init=function(el){order[el.id]=new Array();images[el.id]=new Array();links[el.id]=new Array();linksTarget[el.id]=new Array();titles[el.id]=new Array();imagePos[el.id]=0;squarePos[el.id]=0;reverse[el.id]=1;params[el.id]=$.extend({},$.fn.coinslider.defaults,options);$.each($('#'+el.id+' img'),function(i,item){images[el.id][i]=$(item).attr('src');links[el.id][i]=$(item).parent().is('a')?$(item).parent().attr('href'):'';linksTarget[el.id][i]=$(item).parent().is('a')?$(item).parent().attr('target'):'';titles[el.id][i]=$(item).next().is('span')?$(item).next().html():'';$(item).hide();$(item).next().hide();});$(el).css({'background-image':'url('+images[el.id][0]+')','width':params[el.id].width,'height':params[el.id].height,'position':'relative','background-position':'top left'}).wrap("<div class='coin-slider' id='coin-slider-"+el.id+"' />");$('#'+el.id).append("<div class='cs-title' id='cs-title-"+el.id+"' style='position: absolute; bottom:0; left: 0; z-index: 1000;'></div>");$.setFields(el);if(params[el.id].navigation)
+$.setNavigation(el);$.transition(el,0);$.transitionCall(el);}
+$.setFields=function(el){tWidth=sWidth=parseInt(params[el.id].width/params[el.id].spw);tHeight=sHeight=parseInt(params[el.id].height/params[el.id].sph);counter=sLeft=sTop=0;tgapx=gapx=params[el.id].width-params[el.id].spw*sWidth;tgapy=gapy=params[el.id].height-params[el.id].sph*sHeight;for(i=1;i<=params[el.id].sph;i++){gapx=tgapx;if(gapy>0){gapy--;sHeight=tHeight+1;}else{sHeight=tHeight;}
+for(j=1;j<=params[el.id].spw;j++){if(gapx>0){gapx--;sWidth=tWidth+1;}else{sWidth=tWidth;}
+order[el.id][counter]=i+''+j;counter++;if(params[el.id].links)
+$('#'+el.id).append("<a href='"+links[el.id][0]+"' class='cs-"+el.id+"' id='cs-"+el.id+i+j+"' style='width:"+sWidth+"px; height:"+sHeight+"px; float: left; position: absolute;'></a>");else
+$('#'+el.id).append("<div class='cs-"+el.id+"' id='cs-"+el.id+i+j+"' style='width:"+sWidth+"px; height:"+sHeight+"px; float: left; position: absolute;'></div>");$("#cs-"+el.id+i+j).css({'background-position':-sLeft+'px '+(-sTop+'px'),'left':sLeft,'top':sTop});sLeft+=sWidth;}
+sTop+=sHeight;sLeft=0;}
+$('.cs-'+el.id).mouseover(function(){$('#cs-navigation-'+el.id).show();});$('.cs-'+el.id).mouseout(function(){$('#cs-navigation-'+el.id).hide();});$('#cs-title-'+el.id).mouseover(function(){$('#cs-navigation-'+el.id).show();});$('#cs-title-'+el.id).mouseout(function(){$('#cs-navigation-'+el.id).hide();});if(params[el.id].hoverPause){$('.cs-'+el.id).mouseover(function(){params[el.id].pause=true;});$('.cs-'+el.id).mouseout(function(){params[el.id].pause=false;});$('#cs-title-'+el.id).mouseover(function(){params[el.id].pause=true;});$('#cs-title-'+el.id).mouseout(function(){params[el.id].pause=false;});}};$.transitionCall=function(el){clearInterval(interval[el.id]);delay=params[el.id].delay+params[el.id].spw*params[el.id].sph*params[el.id].sDelay;interval[el.id]=setInterval(function(){$.transition(el)},delay);}
+$.transition=function(el,direction){if(params[el.id].pause==true)return;$.effect(el);squarePos[el.id]=0;appInterval[el.id]=setInterval(function(){$.appereance(el,order[el.id][squarePos[el.id]])},params[el.id].sDelay);$(el).css({'background-image':'url('+images[el.id][imagePos[el.id]]+')'});if(typeof(direction)=="undefined")
+imagePos[el.id]++;else
+if(direction=='prev')
+imagePos[el.id]--;else
+imagePos[el.id]=direction;if(imagePos[el.id]==images[el.id].length){imagePos[el.id]=0;}
+if(imagePos[el.id]==-1){imagePos[el.id]=images[el.id].length-1;}
+$('.cs-button-'+el.id).removeClass('cs-active');$('#cs-button-'+el.id+"-"+(imagePos[el.id]+1)).addClass('cs-active');if(titles[el.id][imagePos[el.id]]){$('#cs-title-'+el.id).css({'opacity':0}).animate({'opacity':params[el.id].opacity},params[el.id].titleSpeed);$('#cs-title-'+el.id).html(titles[el.id][imagePos[el.id]]);}else{$('#cs-title-'+el.id).css('opacity',0);}};$.appereance=function(el,sid){$('.cs-'+el.id).attr('href',links[el.id][imagePos[el.id]]).attr('target',linksTarget[el.id][imagePos[el.id]]);if(squarePos[el.id]==params[el.id].spw*params[el.id].sph){clearInterval(appInterval[el.id]);return;}
+$('#cs-'+el.id+sid).css({opacity:0,'background-image':'url('+images[el.id][imagePos[el.id]]+')'});$('#cs-'+el.id+sid).animate({opacity:1},300);squarePos[el.id]++;};$.setNavigation=function(el){$(el).append("<div id='cs-navigation-"+el.id+"'></div>");$('#cs-navigation-'+el.id).hide();$('#cs-navigation-'+el.id).append("<a href='#' id='cs-prev-"+el.id+"' class='cs-prev'>prev</a>");$('#cs-navigation-'+el.id).append("<a href='#' id='cs-next-"+el.id+"' class='cs-next'>next</a>");$('#cs-prev-'+el.id).css({'position':'absolute','top':params[el.id].height/2-15,'left':0,'z-index':1001,'line-height':'30px','opacity':params[el.id].opacity}).click(function(e){e.preventDefault();$.transition(el,'prev');$.transitionCall(el);}).mouseover(function(){$('#cs-navigation-'+el.id).show()});$('#cs-next-'+el.id).css({'position':'absolute','top':params[el.id].height/2-15,'right':0,'z-index':1001,'line-height':'30px','opacity':params[el.id].opacity}).click(function(e){e.preventDefault();$.transition(el);$.transitionCall(el);}).mouseover(function(){$('#cs-navigation-'+el.id).show()});$("<div id='cs-buttons-"+el.id+"' class='cs-buttons'></div>").appendTo($('#coin-slider-'+el.id));for(k=1;k<images[el.id].length+1;k++){$('#cs-buttons-'+el.id).append("<a href='#' class='cs-button-"+el.id+"' id='cs-button-"+el.id+"-"+k+"'>"+k+"</a>");}
+$.each($('.cs-button-'+el.id),function(i,item){$(item).click(function(e){$('.cs-button-'+el.id).removeClass('cs-active');$(this).addClass('cs-active');e.preventDefault();$.transition(el,i);$.transitionCall(el);})});$('#cs-navigation-'+el.id+' a').mouseout(function(){$('#cs-navigation-'+el.id).hide();params[el.id].pause=false;});$("#cs-buttons-"+el.id).css({'left':'50%','margin-left':-images[el.id].length*15/2-5,'position':'relative'});}
+$.effect=function(el){effA=['random','swirl','rain','straight'];if(params[el.id].effect=='')
+eff=effA[Math.floor(Math.random()*(effA.length))];else
+eff=params[el.id].effect;order[el.id]=new Array();if(eff=='random'){counter=0;for(i=1;i<=params[el.id].sph;i++){for(j=1;j<=params[el.id].spw;j++){order[el.id][counter]=i+''+j;counter++;}}
+$.random(order[el.id]);}
+if(eff=='rain'){$.rain(el);}
+if(eff=='swirl')
+$.swirl(el);if(eff=='straight')
+$.straight(el);reverse[el.id]*=-1;if(reverse[el.id]>0){order[el.id].reverse();}}
+$.random=function(arr){var i=arr.length;if(i==0)return false;while(--i){var j=Math.floor(Math.random()*(i+1));var tempi=arr[i];var tempj=arr[j];arr[i]=tempj;arr[j]=tempi;}}
+$.swirl=function(el){var n=params[el.id].sph;var m=params[el.id].spw;var x=1;var y=1;var going=0;var num=0;var c=0;var dowhile=true;while(dowhile){num=(going==0||going==2)?m:n;for(i=1;i<=num;i++){order[el.id][c]=x+''+y;c++;if(i!=num){switch(going){case 0:y++;break;case 1:x++;break;case 2:y--;break;case 3:x--;break;}}}
+going=(going+1)%4;switch(going){case 0:m--;y++;break;case 1:n--;x++;break;case 2:m--;y--;break;case 3:n--;x--;break;}
+check=$.max(n,m)-$.min(n,m);if(m<=check&&n<=check)
+dowhile=false;}}
+$.rain=function(el){var n=params[el.id].sph;var m=params[el.id].spw;var c=0;var to=to2=from=1;var dowhile=true;while(dowhile){for(i=from;i<=to;i++){order[el.id][c]=i+''+parseInt(to2-i+1);c++;}
+to2++;if(to<n&&to2<m&&n<m){to++;}
+if(to<n&&n>=m){to++;}
+if(to2>m){from++;}
+if(from>to)dowhile=false;}}
+$.straight=function(el){counter=0;for(i=1;i<=params[el.id].sph;i++){for(j=1;j<=params[el.id].spw;j++){order[el.id][counter]=i+''+j;counter++;}}}
+$.min=function(n,m){if(n>m)return m;else return n;}
+$.max=function(n,m){if(n<m)return m;else return n;}
+this.each(function(){init(this);});};$.fn.coinslider.defaults={width:565,height:290,spw:7,sph:5,delay:3000,sDelay:30,opacity:0.7,titleSpeed:500,effect:'',navigation:true,links:true,hoverPause:true};})(jQuery);
\ No newline at end of file
diff --git a/docs/js/jquery-1.7.1.min.js b/docs/js/jquery-1.7.1.min.js
new file mode 100644
index 0000000..198b3ff
--- /dev/null
+++ b/docs/js/jquery-1.7.1.min.js
@@ -0,0 +1,4 @@
+/*! jQuery v1.7.1 jquery.com | jquery.org/license */
+(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function cb(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function ca(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bE.test(a)?d(a,e):ca(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)ca(a+"["+e+"]",b[e],c,d);else d(a,b)}function b_(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function b$(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bT,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bP),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bC(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bx:by,g=0,h=e.length;if(d>0){if(c!=="border")for(;g<h;g++)c||(d-=parseFloat(f.css(a,"padding"+e[g]))||0),c==="margin"?d+=parseFloat(f.css(a,c+e[g]))||0:d-=parseFloat(f.css(a,"border"+e[g]+"Width"))||0;return d+"px"}d=bz(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0;if(c)for(;g<h;g++)d+=parseFloat(f.css(a,"padding"+e[g]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+e[g]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+e[g]))||0);return d+"px"}function bp(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c+(i[c][d].namespace?".":"")+i[c][d].namespace,i[c][d],i[c][d].data)}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?m(g):h==="function"&&(!a.unique||!o.has(g))&&c.push(g)},n=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,l=j||0,j=0,k=c.length;for(;c&&l<k;l++)if(c[l].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}i=!1,c&&(a.once?e===!0?o.disable():c=[]:d&&d.length&&(e=d.shift(),o.fireWith(e[0],e[1])))},o={add:function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){i&&f<=k&&(k--,f<=l&&l--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&o.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(i?a.once||d.push([b,c]):(!a.once||!e)&&n(b,c));return this},fire:function(){o.fireWith(this,arguments);return this},fired:function(){return!!e}};return o};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p,q=c.createElement("div"),r=c.documentElement;q.setAttribute("className","t"),q.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="<div "+n+"><div></div></div>"+"<table "+n+" cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="<div style='width:4px;'></div>",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h=null;if(typeof a=="undefined"){if(this.length){h=f.data(this[0]);if(this[0].nodeType===1&&!f._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var i=0,j=e.length;i<j;i++)g=e[i].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),l(this[0],g,h[g]));f._data(this[0],"parsedAttrs",!0)}}return h}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split("."),d[1]=d[1]?"."+d[1]:"";if(c===b){h=this.triggerHandler("getData"+d[1]+"!",[d[0]]),h===b&&this.length&&(h=f.data(this[0],a),h=l(this[0],a,h));return h===b&&d[1]?this.data(d[0]):h}return this.each(function(){var b=f(this),e=[d[0],c];b.triggerHandler("setData"+d[1]+"!",e),f.data(this,a,c),b.triggerHandler("changeData"+d[1]+"!",e)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise()}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h<g;h++)e=d[h],e&&(c=f.propFix[e]||e,f.attr(a,e,""),a.removeAttribute(v?e:c),u.test(e)&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};
+f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=[],j,k,l,m,n,o,p,q,r,s,t;g[0]=c,c.delegateTarget=this;if(e&&!c.target.disabled&&(!c.button||c.type!=="click")){m=f(this),m.context=this.ownerDocument||this;for(l=c.target;l!=this;l=l.parentNode||this){o={},q=[],m[0]=l;for(j=0;j<e;j++)r=d[j],s=r.selector,o[s]===b&&(o[s]=r.quick?H(l,r.quick):m.is(s)),o[s]&&q.push(r);q.length&&i.push({elem:l,matches:q})}}d.length>e&&i.push({elem:this,matches:d.slice(e)});for(j=0;j<i.length&&!c.isPropagationStopped();j++){p=i[j],c.currentTarget=p.elem;for(k=0;k<p.matches.length&&!c.isImmediatePropagationStopped();k++){r=p.matches[k];if(h||!c.namespace&&!r.namespace||c.namespace_re&&c.namespace_re.test(r.namespace))c.data=r.data,c.handleObj=r,n=((f.event.special[r.origType]||{}).handle||r.handler).apply(p.elem,g),n!==b&&(c.result=n,n===!1&&(c.preventDefault(),c.stopPropagation()))}}return c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0)}),d._submit_attached=!0)})},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on.call(this,a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.type+"."+e.namespace:e.type,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.POS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function()
+{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bp)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bn(k[i]);else bn(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||be.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bq=/alpha\([^)]*\)/i,br=/opacity=([^)]*)/,bs=/([A-Z]|^ms)/g,bt=/^-?\d+(?:px)?$/i,bu=/^-?\d/,bv=/^([\-+])=([\-+.\de]+)/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bz(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bv.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bz)return bz(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return bC(a,b,d);f.swap(a,bw,function(){e=bC(a,b,d)});return e}},set:function(a,b){if(!bt.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cv(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cu("hide",3),a,b,c);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cu("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){function g(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(!f.support.inlineBlockNeedsLayout||cv(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cn.test(h)?(o=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),o?(f._data(this,"toggle"+i,o==="show"?"hide":"show"),j[o]()):j[h]()):(k=co.exec(h),l=j.cur(),k?(m=parseFloat(k[2]),n=k[3]||(f.cssNumber[i]?"":"px"),n!=="px"&&(f.style(this,i,(m||1)+n),l=(m||1)/j.cur()*l,f.style(this,i,l+n)),k[1]&&(m=(k[1]==="-="?-1:1)*m+l),j.custom(l,m,n)):j.custom(l,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b]&&g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),f.each({slideDown:cu("show",1),slideUp:cu("hide",1),slideToggle:cu("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=cr||cs(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){e.options.hide&&f._data(e.elem,"fxshow"+e.prop)===b&&f._data(e.elem,"fxshow"+e.prop,e.start)},h()&&f.timers.push(h)&&!cp&&(cp=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=cr||cs(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cp),cp=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(["width","height"],function(a,b){f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now)+a.unit)}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cy(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.support.fixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cw.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.support.fixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window);
\ No newline at end of file
diff --git a/docs/js/jquery.hoveraccordion.min.js b/docs/js/jquery.hoveraccordion.min.js
new file mode 100644
index 0000000..19fecb1
--- /dev/null
+++ b/docs/js/jquery.hoveraccordion.min.js
@@ -0,0 +1,16 @@
+/**
+ * HoverAccordion - jQuery plugin for intuitively opening accordions and menus
+ * 
+ * http://berndmatzner.de/jquery/hoveraccordion/
+ * 
+ * Copyright (c) 2008-2010 Bernd Matzner
+ * 
+ * Dual licensed under the MIT and GPL licenses:
+ * http://www.opensource.org/licenses/mit-license.php
+ * http://www.gnu.org/licenses/gpl.html
+ * 
+ * Version: 0.9.1
+ * 
+ * Requires jQuery 1.4.4 or higher
+ */
+(function(h){h.fn.hoverAccordion=function(a){function m(d,f,b){var e=h(o).find("."+a.classOpen).closest("li").find("ul:first");if(false===e.is(":animated")){if(a.keepHeight==true)b=k;if(f.hasClass(a.classOpen)==false){d.children().show();d.animate({height:b},{step:function(c){d.height(b-c)},duration:a.speed});e.animate({height:0},{step:function(c){d.height(b-c)},duration:a.speed}).children().hide();f.addClass(a.classOpen).removeClass(a.classClosed);e.closest("li").removeClass(a.classActive).find("a:first").addClass(a.classClosed).removeClass(a.classOpen)}}} a=jQuery.extend({speed:"fast",activateItem:true,keepHeight:false,onClickOnly:false,classActive:"active",classHeader:"header",classHover:"hover",classOpen:"opened",classClosed:"closed"},a);var o=this,g=window.location.href,l=0,n=0,k=0;h(this).children("li").each(function(){var d=h(this),f=false;n++;var b=d.find("a:first").addClass(a.classHeader);if(b.length>0){b.hover(function(){b.addClass(a.classHover)},function(){b.removeClass(a.classHover)});var e=b.attr("href");if(e=="#")b.click(function(){this.blur(); return false});else if(a.activateItem==true&&g.indexOf(e)>0&&g.length-g.lastIndexOf(e)==e.length){f=true;d.addClass(a.classActive);b.removeClass(a.classClosed).addClass(a.classOpen)}}var c=d.find("ul:first");if(c.length>0){var i=c.height();if(k<i)k=i;a.onClickOnly==true?b.click(function(){m(c,b,i)}):b.hover(function(){l=setInterval(function(){m(c,b,i);clearInterval(l)},400)},function(){clearInterval(l)});if(a.activateItem===true)c.children("li").each(function(){var j=h(this).find("a").attr("href"); if(j)if(g.indexOf(j)>0&&g.length-g.lastIndexOf(j)==j.length){f=true;d.addClass(a.classActive);b.removeClass(a.classClosed).addClass(a.classOpen)}});else if(parseInt(a.activateItem,10)==n){f=true;d.addClass(a.classActive);b.removeClass(a.classClosed).addClass(a.classOpen)}}if(!f){b.removeClass(a.classOpen);if(c.length>0){c.children().hide();b.addClass(a.classClosed)}}});return this}})(jQuery);
\ No newline at end of file
diff --git a/docs/js/jquery.mousewheel-3.0.6.pack.js b/docs/js/jquery.mousewheel-3.0.6.pack.js
new file mode 100644
index 0000000..e39a83a
--- /dev/null
+++ b/docs/js/jquery.mousewheel-3.0.6.pack.js
@@ -0,0 +1,13 @@
+/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
+ * Licensed under the MIT License (LICENSE.txt).
+ *
+ * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
+ * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
+ * Thanks to: Seamus Leahy for adding deltaX and deltaY
+ *
+ * Version: 3.0.6
+ * 
+ * Requires: 1.2.2+
+ */
+(function(d){function e(a){var b=a||window.event,c=[].slice.call(arguments,1),f=0,e=0,g=0,a=d.event.fix(b);a.type="mousewheel";b.wheelDelta&&(f=b.wheelDelta/120);b.detail&&(f=-b.detail/3);g=f;b.axis!==void 0&&b.axis===b.HORIZONTAL_AXIS&&(g=0,e=-1*f);b.wheelDeltaY!==void 0&&(g=b.wheelDeltaY/120);b.wheelDeltaX!==void 0&&(e=-1*b.wheelDeltaX/120);c.unshift(a,f,e,g);return(d.event.dispatch||d.event.handle).apply(this,c)}var c=["DOMMouseScroll","mousewheel"];if(d.event.fixHooks)for(var h=c.length;h;)d.event.fixHooks[c[--h]]=
+d.event.mouseHooks;d.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=c.length;a;)this.addEventListener(c[--a],e,false);else this.onmousewheel=e},teardown:function(){if(this.removeEventListener)for(var a=c.length;a;)this.removeEventListener(c[--a],e,false);else this.onmousewheel=null}};d.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery);
\ No newline at end of file
diff --git a/docs/js/jquery.ui.accordion.js b/docs/js/jquery.ui.accordion.js
new file mode 100644
index 0000000..31080d3
--- /dev/null
+++ b/docs/js/jquery.ui.accordion.js
@@ -0,0 +1,611 @@
+/*
+ * jQuery UI Accordion 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Accordion
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.widget.js
+ */
+(function( $, undefined ) {
+
+$.widget( "ui.accordion", {
+	options: {
+		active: 0,
+		animated: "slide",
+		autoHeight: true,
+		clearStyle: false,
+		collapsible: false,
+		event: "click",
+		fillSpace: false,
+		header: "> li > :first-child,> :not(li):even",
+		icons: {
+			header: "ui-icon-triangle-1-e",
+			headerSelected: "ui-icon-triangle-1-s"
+		},
+		navigation: false,
+		navigationFilter: function() {
+			return this.href.toLowerCase() === location.href.toLowerCase();
+		}
+	},
+
+	_create: function() {
+		var self = this,
+			options = self.options;
+
+		self.running = 0;
+
+		self.element
+			.addClass( "ui-accordion ui-widget ui-helper-reset" )
+			// in lack of child-selectors in CSS
+			// we need to mark top-LIs in a UL-accordion for some IE-fix
+			.children( "li" )
+				.addClass( "ui-accordion-li-fix" );
+
+		self.headers = self.element.find( options.header )
+			.addClass( "ui-accordion-header ui-helper-reset ui-state-default ui-corner-all" )
+			.bind( "mouseenter.accordion", function() {
+				if ( options.disabled ) {
+					return;
+				}
+				$( this ).addClass( "ui-state-hover" );
+			})
+			.bind( "mouseleave.accordion", function() {
+				if ( options.disabled ) {
+					return;
+				}
+				$( this ).removeClass( "ui-state-hover" );
+			})
+			.bind( "focus.accordion", function() {
+				if ( options.disabled ) {
+					return;
+				}
+				$( this ).addClass( "ui-state-focus" );
+			})
+			.bind( "blur.accordion", function() {
+				if ( options.disabled ) {
+					return;
+				}
+				$( this ).removeClass( "ui-state-focus" );
+			});
+
+		self.headers.next()
+			.addClass( "ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom" );
+
+		if ( options.navigation ) {
+			var current = self.element.find( "a" ).filter( options.navigationFilter ).eq( 0 );
+			if ( current.length ) {
+				var header = current.closest( ".ui-accordion-header" );
+				if ( header.length ) {
+					// anchor within header
+					self.active = header;
+				} else {
+					// anchor within content
+					self.active = current.closest( ".ui-accordion-content" ).prev();
+				}
+			}
+		}
+
+		self.active = self._findActive( self.active || options.active )
+			.addClass( "ui-state-default ui-state-active" )
+			.toggleClass( "ui-corner-all" )
+			.toggleClass( "ui-corner-top" );
+		self.active.next().addClass( "ui-accordion-content-active" );
+
+		self._createIcons();
+		self.resize();
+		
+		// ARIA
+		self.element.attr( "role", "tablist" );
+
+		self.headers
+			.attr( "role", "tab" )
+			.bind( "keydown.accordion", function( event ) {
+				return self._keydown( event );
+			})
+			.next()
+				.attr( "role", "tabpanel" );
+
+		self.headers
+			.not( self.active || "" )
+			.attr({
+				"aria-expanded": "false",
+				"aria-selected": "false",
+				tabIndex: -1
+			})
+			.next()
+				.hide();
+
+		// make sure at least one header is in the tab order
+		if ( !self.active.length ) {
+			self.headers.eq( 0 ).attr( "tabIndex", 0 );
+		} else {
+			self.active
+				.attr({
+					"aria-expanded": "true",
+					"aria-selected": "true",
+					tabIndex: 0
+				});
+		}
+
+		// only need links in tab order for Safari
+		if ( !$.browser.safari ) {
+			self.headers.find( "a" ).attr( "tabIndex", -1 );
+		}
+
+		if ( options.event ) {
+			self.headers.bind( options.event.split(" ").join(".accordion ") + ".accordion", function(event) {
+				self._clickHandler.call( self, event, this );
+				event.preventDefault();
+			});
+		}
+	},
+
+	_createIcons: function() {
+		var options = this.options;
+		if ( options.icons ) {
+			$( "<span></span>" )
+				.addClass( "ui-icon " + options.icons.header )
+				.prependTo( this.headers );
+			this.active.children( ".ui-icon" )
+				.toggleClass(options.icons.header)
+				.toggleClass(options.icons.headerSelected);
+			this.element.addClass( "ui-accordion-icons" );
+		}
+	},
+
+	_destroyIcons: function() {
+		this.headers.children( ".ui-icon" ).remove();
+		this.element.removeClass( "ui-accordion-icons" );
+	},
+
+	destroy: function() {
+		var options = this.options;
+
+		this.element
+			.removeClass( "ui-accordion ui-widget ui-helper-reset" )
+			.removeAttr( "role" );
+
+		this.headers
+			.unbind( ".accordion" )
+			.removeClass( "ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top" )
+			.removeAttr( "role" )
+			.removeAttr( "aria-expanded" )
+			.removeAttr( "aria-selected" )
+			.removeAttr( "tabIndex" );
+
+		this.headers.find( "a" ).removeAttr( "tabIndex" );
+		this._destroyIcons();
+		var contents = this.headers.next()
+			.css( "display", "" )
+			.removeAttr( "role" )
+			.removeClass( "ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled" );
+		if ( options.autoHeight || options.fillHeight ) {
+			contents.css( "height", "" );
+		}
+
+		return $.Widget.prototype.destroy.call( this );
+	},
+
+	_setOption: function( key, value ) {
+		$.Widget.prototype._setOption.apply( this, arguments );
+			
+		if ( key == "active" ) {
+			this.activate( value );
+		}
+		if ( key == "icons" ) {
+			this._destroyIcons();
+			if ( value ) {
+				this._createIcons();
+			}
+		}
+		// #5332 - opacity doesn't cascade to positioned elements in IE
+		// so we need to add the disabled class to the headers and panels
+		if ( key == "disabled" ) {
+			this.headers.add(this.headers.next())
+				[ value ? "addClass" : "removeClass" ](
+					"ui-accordion-disabled ui-state-disabled" );
+		}
+	},
+
+	_keydown: function( event ) {
+		if ( this.options.disabled || event.altKey || event.ctrlKey ) {
+			return;
+		}
+
+		var keyCode = $.ui.keyCode,
+			length = this.headers.length,
+			currentIndex = this.headers.index( event.target ),
+			toFocus = false;
+
+		switch ( event.keyCode ) {
+			case keyCode.RIGHT:
+			case keyCode.DOWN:
+				toFocus = this.headers[ ( currentIndex + 1 ) % length ];
+				break;
+			case keyCode.LEFT:
+			case keyCode.UP:
+				toFocus = this.headers[ ( currentIndex - 1 + length ) % length ];
+				break;
+			case keyCode.SPACE:
+			case keyCode.ENTER:
+				this._clickHandler( { target: event.target }, event.target );
+				event.preventDefault();
+		}
+
+		if ( toFocus ) {
+			$( event.target ).attr( "tabIndex", -1 );
+			$( toFocus ).attr( "tabIndex", 0 );
+			toFocus.focus();
+			return false;
+		}
+
+		return true;
+	},
+
+	resize: function() {
+		var options = this.options,
+			maxHeight;
+
+		if ( options.fillSpace ) {
+			if ( $.browser.msie ) {
+				var defOverflow = this.element.parent().css( "overflow" );
+				this.element.parent().css( "overflow", "hidden");
+			}
+			maxHeight = this.element.parent().height();
+			if ($.browser.msie) {
+				this.element.parent().css( "overflow", defOverflow );
+			}
+
+			this.headers.each(function() {
+				maxHeight -= $( this ).outerHeight( true );
+			});
+
+			this.headers.next()
+				.each(function() {
+					$( this ).height( Math.max( 0, maxHeight -
+						$( this ).innerHeight() + $( this ).height() ) );
+				})
+				.css( "overflow", "auto" );
+		} else if ( options.autoHeight ) {
+			maxHeight = 0;
+			this.headers.next()
+				.each(function() {
+					maxHeight = Math.max( maxHeight, $( this ).height( "" ).height() );
+				})
+				.height( maxHeight );
+		}
+
+		return this;
+	},
+
+	activate: function( index ) {
+		// TODO this gets called on init, changing the option without an explicit call for that
+		this.options.active = index;
+		// call clickHandler with custom event
+		var active = this._findActive( index )[ 0 ];
+		this._clickHandler( { target: active }, active );
+
+		return this;
+	},
+
+	_findActive: function( selector ) {
+		return selector
+			? typeof selector === "number"
+				? this.headers.filter( ":eq(" + selector + ")" )
+				: this.headers.not( this.headers.not( selector ) )
+			: selector === false
+				? $( [] )
+				: this.headers.filter( ":eq(0)" );
+	},
+
+	// TODO isn't event.target enough? why the separate target argument?
+	_clickHandler: function( event, target ) {
+		var options = this.options;
+		if ( options.disabled ) {
+			return;
+		}
+
+		// called only when using activate(false) to close all parts programmatically
+		if ( !event.target ) {
+			if ( !options.collapsible ) {
+				return;
+			}
+			this.active
+				.removeClass( "ui-state-active ui-corner-top" )
+				.addClass( "ui-state-default ui-corner-all" )
+				.children( ".ui-icon" )
+					.removeClass( options.icons.headerSelected )
+					.addClass( options.icons.header );
+			this.active.next().addClass( "ui-accordion-content-active" );
+			var toHide = this.active.next(),
+				data = {
+					options: options,
+					newHeader: $( [] ),
+					oldHeader: options.active,
+					newContent: $( [] ),
+					oldContent: toHide
+				},
+				toShow = ( this.active = $( [] ) );
+			this._toggle( toShow, toHide, data );
+			return;
+		}
+
+		// get the click target
+		var clicked = $( event.currentTarget || target ),
+			clickedIsActive = clicked[0] === this.active[0];
+
+		// TODO the option is changed, is that correct?
+		// TODO if it is correct, shouldn't that happen after determining that the click is valid?
+		options.active = options.collapsible && clickedIsActive ?
+			false :
+			this.headers.index( clicked );
+
+		// if animations are still active, or the active header is the target, ignore click
+		if ( this.running || ( !options.collapsible && clickedIsActive ) ) {
+			return;
+		}
+
+		// find elements to show and hide
+		var active = this.active,
+			toShow = clicked.next(),
+			toHide = this.active.next(),
+			data = {
+				options: options,
+				newHeader: clickedIsActive && options.collapsible ? $([]) : clicked,
+				oldHeader: this.active,
+				newContent: clickedIsActive && options.collapsible ? $([]) : toShow,
+				oldContent: toHide
+			},
+			down = this.headers.index( this.active[0] ) > this.headers.index( clicked[0] );
+
+		// when the call to ._toggle() comes after the class changes
+		// it causes a very odd bug in IE 8 (see #6720)
+		this.active = clickedIsActive ? $([]) : clicked;
+		this._toggle( toShow, toHide, data, clickedIsActive, down );
+
+		// switch classes
+		active
+			.removeClass( "ui-state-active ui-corner-top" )
+			.addClass( "ui-state-default ui-corner-all" )
+			.children( ".ui-icon" )
+				.removeClass( options.icons.headerSelected )
+				.addClass( options.icons.header );
+		if ( !clickedIsActive ) {
+			clicked
+				.removeClass( "ui-state-default ui-corner-all" )
+				.addClass( "ui-state-active ui-corner-top" )
+				.children( ".ui-icon" )
+					.removeClass( options.icons.header )
+					.addClass( options.icons.headerSelected );
+			clicked
+				.next()
+				.addClass( "ui-accordion-content-active" );
+		}
+
+		return;
+	},
+
+	_toggle: function( toShow, toHide, data, clickedIsActive, down ) {
+		var self = this,
+			options = self.options;
+
+		self.toShow = toShow;
+		self.toHide = toHide;
+		self.data = data;
+
+		var complete = function() {
+			if ( !self ) {
+				return;
+			}
+			return self._completed.apply( self, arguments );
+		};
+
+		// trigger changestart event
+		self._trigger( "changestart", null, self.data );
+
+		// count elements to animate
+		self.running = toHide.size() === 0 ? toShow.size() : toHide.size();
+
+		if ( options.animated ) {
+			var animOptions = {};
+
+			if ( options.collapsible && clickedIsActive ) {
+				animOptions = {
+					toShow: $( [] ),
+					toHide: toHide,
+					complete: complete,
+					down: down,
+					autoHeight: options.autoHeight || options.fillSpace
+				};
+			} else {
+				animOptions = {
+					toShow: toShow,
+					toHide: toHide,
+					complete: complete,
+					down: down,
+					autoHeight: options.autoHeight || options.fillSpace
+				};
+			}
+
+			if ( !options.proxied ) {
+				options.proxied = options.animated;
+			}
+
+			if ( !options.proxiedDuration ) {
+				options.proxiedDuration = options.duration;
+			}
+
+			options.animated = $.isFunction( options.proxied ) ?
+				options.proxied( animOptions ) :
+				options.proxied;
+
+			options.duration = $.isFunction( options.proxiedDuration ) ?
+				options.proxiedDuration( animOptions ) :
+				options.proxiedDuration;
+
+			var animations = $.ui.accordion.animations,
+				duration = options.duration,
+				easing = options.animated;
+
+			if ( easing && !animations[ easing ] && !$.easing[ easing ] ) {
+				easing = "slide";
+			}
+			if ( !animations[ easing ] ) {
+				animations[ easing ] = function( options ) {
+					this.slide( options, {
+						easing: easing,
+						duration: duration || 700
+					});
+				};
+			}
+
+			animations[ easing ]( animOptions );
+		} else {
+			if ( options.collapsible && clickedIsActive ) {
+				toShow.toggle();
+			} else {
+				toHide.hide();
+				toShow.show();
+			}
+
+			complete( true );
+		}
+
+		// TODO assert that the blur and focus triggers are really necessary, remove otherwise
+		toHide.prev()
+			.attr({
+				"aria-expanded": "false",
+				"aria-selected": "false",
+				tabIndex: -1
+			})
+			.blur();
+		toShow.prev()
+			.attr({
+				"aria-expanded": "true",
+				"aria-selected": "true",
+				tabIndex: 0
+			})
+			.focus();
+	},
+
+	_completed: function( cancel ) {
+		this.running = cancel ? 0 : --this.running;
+		if ( this.running ) {
+			return;
+		}
+
+		if ( this.options.clearStyle ) {
+			this.toShow.add( this.toHide ).css({
+				height: "",
+				overflow: ""
+			});
+		}
+
+		// other classes are removed before the animation; this one needs to stay until completed
+		this.toHide.removeClass( "ui-accordion-content-active" );
+		// Work around for rendering bug in IE (#5421)
+		if ( this.toHide.length ) {
+			this.toHide.parent()[0].className = this.toHide.parent()[0].className;
+		}
+
+		this._trigger( "change", null, this.data );
+	}
+});
+
+$.extend( $.ui.accordion, {
+	version: "1.8.16",
+	animations: {
+		slide: function( options, additions ) {
+			options = $.extend({
+				easing: "swing",
+				duration: 300
+			}, options, additions );
+			if ( !options.toHide.size() ) {
+				options.toShow.animate({
+					height: "show",
+					paddingTop: "show",
+					paddingBottom: "show"
+				}, options );
+				return;
+			}
+			if ( !options.toShow.size() ) {
+				options.toHide.animate({
+					height: "hide",
+					paddingTop: "hide",
+					paddingBottom: "hide"
+				}, options );
+				return;
+			}
+			var overflow = options.toShow.css( "overflow" ),
+				percentDone = 0,
+				showProps = {},
+				hideProps = {},
+				fxAttrs = [ "height", "paddingTop", "paddingBottom" ],
+				originalWidth;
+			// fix width before calculating height of hidden element
+			var s = options.toShow;
+			originalWidth = s[0].style.width;
+			s.width( parseInt( s.parent().width(), 10 )
+				- parseInt( s.css( "paddingLeft" ), 10 )
+				- parseInt( s.css( "paddingRight" ), 10 )
+				- ( parseInt( s.css( "borderLeftWidth" ), 10 ) || 0 )
+				- ( parseInt( s.css( "borderRightWidth" ), 10) || 0 ) );
+
+			$.each( fxAttrs, function( i, prop ) {
+				hideProps[ prop ] = "hide";
+
+				var parts = ( "" + $.css( options.toShow[0], prop ) ).match( /^([\d+-.]+)(.*)$/ );
+				showProps[ prop ] = {
+					value: parts[ 1 ],
+					unit: parts[ 2 ] || "px"
+				};
+			});
+			options.toShow.css({ height: 0, overflow: "hidden" }).show();
+			options.toHide
+				.filter( ":hidden" )
+					.each( options.complete )
+				.end()
+				.filter( ":visible" )
+				.animate( hideProps, {
+				step: function( now, settings ) {
+					// only calculate the percent when animating height
+					// IE gets very inconsistent results when animating elements
+					// with small values, which is common for padding
+					if ( settings.prop == "height" ) {
+						percentDone = ( settings.end - settings.start === 0 ) ? 0 :
+							( settings.now - settings.start ) / ( settings.end - settings.start );
+					}
+
+					options.toShow[ 0 ].style[ settings.prop ] =
+						( percentDone * showProps[ settings.prop ].value )
+						+ showProps[ settings.prop ].unit;
+				},
+				duration: options.duration,
+				easing: options.easing,
+				complete: function() {
+					if ( !options.autoHeight ) {
+						options.toShow.css( "height", "" );
+					}
+					options.toShow.css({
+						width: originalWidth,
+						overflow: overflow
+					});
+					options.complete();
+				}
+			});
+		},
+		bounceslide: function( options ) {
+			this.slide( options, {
+				easing: options.down ? "easeOutBounce" : "swing",
+				duration: options.down ? 1000 : 200
+			});
+		}
+	}
+});
+
+})( jQuery );
diff --git a/docs/js/jquery.ui.core.js b/docs/js/jquery.ui.core.js
new file mode 100644
index 0000000..5cafb07
--- /dev/null
+++ b/docs/js/jquery.ui.core.js
@@ -0,0 +1,314 @@
+/*!
+ * jQuery UI 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI
+ */
+(function( $, undefined ) {
+
+// prevent duplicate loading
+// this is only a problem because we proxy existing functions
+// and we don't want to double proxy them
+$.ui = $.ui || {};
+if ( $.ui.version ) {
+	return;
+}
+
+$.extend( $.ui, {
+	version: "1.8.16",
+
+	keyCode: {
+		ALT: 18,
+		BACKSPACE: 8,
+		CAPS_LOCK: 20,
+		COMMA: 188,
+		COMMAND: 91,
+		COMMAND_LEFT: 91, // COMMAND
+		COMMAND_RIGHT: 93,
+		CONTROL: 17,
+		DELETE: 46,
+		DOWN: 40,
+		END: 35,
+		ENTER: 13,
+		ESCAPE: 27,
+		HOME: 36,
+		INSERT: 45,
+		LEFT: 37,
+		MENU: 93, // COMMAND_RIGHT
+		NUMPAD_ADD: 107,
+		NUMPAD_DECIMAL: 110,
+		NUMPAD_DIVIDE: 111,
+		NUMPAD_ENTER: 108,
+		NUMPAD_MULTIPLY: 106,
+		NUMPAD_SUBTRACT: 109,
+		PAGE_DOWN: 34,
+		PAGE_UP: 33,
+		PERIOD: 190,
+		RIGHT: 39,
+		SHIFT: 16,
+		SPACE: 32,
+		TAB: 9,
+		UP: 38,
+		WINDOWS: 91 // COMMAND
+	}
+});
+
+// plugins
+$.fn.extend({
+	propAttr: $.fn.prop || $.fn.attr,
+
+	_focus: $.fn.focus,
+	focus: function( delay, fn ) {
+		return typeof delay === "number" ?
+			this.each(function() {
+				var elem = this;
+				setTimeout(function() {
+					$( elem ).focus();
+					if ( fn ) {
+						fn.call( elem );
+					}
+				}, delay );
+			}) :
+			this._focus.apply( this, arguments );
+	},
+
+	scrollParent: function() {
+		var scrollParent;
+		if (($.browser.msie && (/(static|relative)/).test(this.css('position'))) || (/absolute/).test(this.css('position'))) {
+			scrollParent = this.parents().filter(function() {
+				return (/(relative|absolute|fixed)/).test($.curCSS(this,'position',1)) && (/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));
+			}).eq(0);
+		} else {
+			scrollParent = this.parents().filter(function() {
+				return (/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));
+			}).eq(0);
+		}
+
+		return (/fixed/).test(this.css('position')) || !scrollParent.length ? $(document) : scrollParent;
+	},
+
+	zIndex: function( zIndex ) {
+		if ( zIndex !== undefined ) {
+			return this.css( "zIndex", zIndex );
+		}
+
+		if ( this.length ) {
+			var elem = $( this[ 0 ] ), position, value;
+			while ( elem.length && elem[ 0 ] !== document ) {
+				// Ignore z-index if position is set to a value where z-index is ignored by the browser
+				// This makes behavior of this function consistent across browsers
+				// WebKit always returns auto if the element is positioned
+				position = elem.css( "position" );
+				if ( position === "absolute" || position === "relative" || position === "fixed" ) {
+					// IE returns 0 when zIndex is not specified
+					// other browsers return a string
+					// we ignore the case of nested elements with an explicit value of 0
+					// <div style="z-index: -10;"><div style="z-index: 0;"></div></div>
+					value = parseInt( elem.css( "zIndex" ), 10 );
+					if ( !isNaN( value ) && value !== 0 ) {
+						return value;
+					}
+				}
+				elem = elem.parent();
+			}
+		}
+
+		return 0;
+	},
+
+	disableSelection: function() {
+		return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) +
+			".ui-disableSelection", function( event ) {
+				event.preventDefault();
+			});
+	},
+
+	enableSelection: function() {
+		return this.unbind( ".ui-disableSelection" );
+	}
+});
+
+$.each( [ "Width", "Height" ], function( i, name ) {
+	var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ],
+		type = name.toLowerCase(),
+		orig = {
+			innerWidth: $.fn.innerWidth,
+			innerHeight: $.fn.innerHeight,
+			outerWidth: $.fn.outerWidth,
+			outerHeight: $.fn.outerHeight
+		};
+
+	function reduce( elem, size, border, margin ) {
+		$.each( side, function() {
+			size -= parseFloat( $.curCSS( elem, "padding" + this, true) ) || 0;
+			if ( border ) {
+				size -= parseFloat( $.curCSS( elem, "border" + this + "Width", true) ) || 0;
+			}
+			if ( margin ) {
+				size -= parseFloat( $.curCSS( elem, "margin" + this, true) ) || 0;
+			}
+		});
+		return size;
+	}
+
+	$.fn[ "inner" + name ] = function( size ) {
+		if ( size === undefined ) {
+			return orig[ "inner" + name ].call( this );
+		}
+
+		return this.each(function() {
+			$( this ).css( type, reduce( this, size ) + "px" );
+		});
+	};
+
+	$.fn[ "outer" + name] = function( size, margin ) {
+		if ( typeof size !== "number" ) {
+			return orig[ "outer" + name ].call( this, size );
+		}
+
+		return this.each(function() {
+			$( this).css( type, reduce( this, size, true, margin ) + "px" );
+		});
+	};
+});
+
+// selectors
+function focusable( element, isTabIndexNotNaN ) {
+	var nodeName = element.nodeName.toLowerCase();
+	if ( "area" === nodeName ) {
+		var map = element.parentNode,
+			mapName = map.name,
+			img;
+		if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) {
+			return false;
+		}
+		img = $( "img[usemap=#" + mapName + "]" )[0];
+		return !!img && visible( img );
+	}
+	return ( /input|select|textarea|button|object/.test( nodeName )
+		? !element.disabled
+		: "a" == nodeName
+			? element.href || isTabIndexNotNaN
+			: isTabIndexNotNaN)
+		// the element and all of its ancestors must be visible
+		&& visible( element );
+}
+
+function visible( element ) {
+	return !$( element ).parents().andSelf().filter(function() {
+		return $.curCSS( this, "visibility" ) === "hidden" ||
+			$.expr.filters.hidden( this );
+	}).length;
+}
+
+$.extend( $.expr[ ":" ], {
+	data: function( elem, i, match ) {
+		return !!$.data( elem, match[ 3 ] );
+	},
+
+	focusable: function( element ) {
+		return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) );
+	},
+
+	tabbable: function( element ) {
+		var tabIndex = $.attr( element, "tabindex" ),
+			isTabIndexNaN = isNaN( tabIndex );
+		return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN );
+	}
+});
+
+// support
+$(function() {
+	var body = document.body,
+		div = body.appendChild( div = document.createElement( "div" ) );
+
+	$.extend( div.style, {
+		minHeight: "100px",
+		height: "auto",
+		padding: 0,
+		borderWidth: 0
+	});
+
+	$.support.minHeight = div.offsetHeight === 100;
+	$.support.selectstart = "onselectstart" in div;
+
+	// set display to none to avoid a layout bug in IE
+	// http://dev.jquery.com/ticket/4014
+	body.removeChild( div ).style.display = "none";
+});
+
+
+
+
+
+// deprecated
+$.extend( $.ui, {
+	// $.ui.plugin is deprecated.  Use the proxy pattern instead.
+	plugin: {
+		add: function( module, option, set ) {
+			var proto = $.ui[ module ].prototype;
+			for ( var i in set ) {
+				proto.plugins[ i ] = proto.plugins[ i ] || [];
+				proto.plugins[ i ].push( [ option, set[ i ] ] );
+			}
+		},
+		call: function( instance, name, args ) {
+			var set = instance.plugins[ name ];
+			if ( !set || !instance.element[ 0 ].parentNode ) {
+				return;
+			}
+	
+			for ( var i = 0; i < set.length; i++ ) {
+				if ( instance.options[ set[ i ][ 0 ] ] ) {
+					set[ i ][ 1 ].apply( instance.element, args );
+				}
+			}
+		}
+	},
+	
+	// will be deprecated when we switch to jQuery 1.4 - use jQuery.contains()
+	contains: function( a, b ) {
+		return document.compareDocumentPosition ?
+			a.compareDocumentPosition( b ) & 16 :
+			a !== b && a.contains( b );
+	},
+	
+	// only used by resizable
+	hasScroll: function( el, a ) {
+	
+		//If overflow is hidden, the element might have extra content, but the user wants to hide it
+		if ( $( el ).css( "overflow" ) === "hidden") {
+			return false;
+		}
+	
+		var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop",
+			has = false;
+	
+		if ( el[ scroll ] > 0 ) {
+			return true;
+		}
+	
+		// TODO: determine which cases actually cause this to happen
+		// if the element doesn't have the scroll set, see if it's possible to
+		// set the scroll
+		el[ scroll ] = 1;
+		has = ( el[ scroll ] > 0 );
+		el[ scroll ] = 0;
+		return has;
+	},
+	
+	// these are odd functions, fix the API or move into individual plugins
+	isOverAxis: function( x, reference, size ) {
+		//Determines when x coordinate is over "b" element axis
+		return ( x > reference ) && ( x < ( reference + size ) );
+	},
+	isOver: function( y, x, top, left, height, width ) {
+		//Determines when x, y coordinates is over "b" element
+		return $.ui.isOverAxis( y, top, height ) && $.ui.isOverAxis( x, left, width );
+	}
+});
+
+})( jQuery );
diff --git a/docs/js/jquery.ui.widget.js b/docs/js/jquery.ui.widget.js
new file mode 100644
index 0000000..8c40f91
--- /dev/null
+++ b/docs/js/jquery.ui.widget.js
@@ -0,0 +1,268 @@
+/*!
+ * jQuery UI Widget 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Widget
+ */
+(function( $, undefined ) {
+
+// jQuery 1.4+
+if ( $.cleanData ) {
+	var _cleanData = $.cleanData;
+	$.cleanData = function( elems ) {
+		for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
+			try {
+				$( elem ).triggerHandler( "remove" );
+			// http://bugs.jquery.com/ticket/8235
+			} catch( e ) {}
+		}
+		_cleanData( elems );
+	};
+} else {
+	var _remove = $.fn.remove;
+	$.fn.remove = function( selector, keepData ) {
+		return this.each(function() {
+			if ( !keepData ) {
+				if ( !selector || $.filter( selector, [ this ] ).length ) {
+					$( "*", this ).add( [ this ] ).each(function() {
+						try {
+							$( this ).triggerHandler( "remove" );
+						// http://bugs.jquery.com/ticket/8235
+						} catch( e ) {}
+					});
+				}
+			}
+			return _remove.call( $(this), selector, keepData );
+		});
+	};
+}
+
+$.widget = function( name, base, prototype ) {
+	var namespace = name.split( "." )[ 0 ],
+		fullName;
+	name = name.split( "." )[ 1 ];
+	fullName = namespace + "-" + name;
+
+	if ( !prototype ) {
+		prototype = base;
+		base = $.Widget;
+	}
+
+	// create selector for plugin
+	$.expr[ ":" ][ fullName ] = function( elem ) {
+		return !!$.data( elem, name );
+	};
+
+	$[ namespace ] = $[ namespace ] || {};
+	$[ namespace ][ name ] = function( options, element ) {
+		// allow instantiation without initializing for simple inheritance
+		if ( arguments.length ) {
+			this._createWidget( options, element );
+		}
+	};
+
+	var basePrototype = new base();
+	// we need to make the options hash a property directly on the new instance
+	// otherwise we'll modify the options hash on the prototype that we're
+	// inheriting from
+//	$.each( basePrototype, function( key, val ) {
+//		if ( $.isPlainObject(val) ) {
+//			basePrototype[ key ] = $.extend( {}, val );
+//		}
+//	});
+	basePrototype.options = $.extend( true, {}, basePrototype.options );
+	$[ namespace ][ name ].prototype = $.extend( true, basePrototype, {
+		namespace: namespace,
+		widgetName: name,
+		widgetEventPrefix: $[ namespace ][ name ].prototype.widgetEventPrefix || name,
+		widgetBaseClass: fullName
+	}, prototype );
+
+	$.widget.bridge( name, $[ namespace ][ name ] );
+};
+
+$.widget.bridge = function( name, object ) {
+	$.fn[ name ] = function( options ) {
+		var isMethodCall = typeof options === "string",
+			args = Array.prototype.slice.call( arguments, 1 ),
+			returnValue = this;
+
+		// allow multiple hashes to be passed on init
+		options = !isMethodCall && args.length ?
+			$.extend.apply( null, [ true, options ].concat(args) ) :
+			options;
+
+		// prevent calls to internal methods
+		if ( isMethodCall && options.charAt( 0 ) === "_" ) {
+			return returnValue;
+		}
+
+		if ( isMethodCall ) {
+			this.each(function() {
+				var instance = $.data( this, name ),
+					methodValue = instance && $.isFunction( instance[options] ) ?
+						instance[ options ].apply( instance, args ) :
+						instance;
+				// TODO: add this back in 1.9 and use $.error() (see #5972)
+//				if ( !instance ) {
+//					throw "cannot call methods on " + name + " prior to initialization; " +
+//						"attempted to call method '" + options + "'";
+//				}
+//				if ( !$.isFunction( instance[options] ) ) {
+//					throw "no such method '" + options + "' for " + name + " widget instance";
+//				}
+//				var methodValue = instance[ options ].apply( instance, args );
+				if ( methodValue !== instance && methodValue !== undefined ) {
+					returnValue = methodValue;
+					return false;
+				}
+			});
+		} else {
+			this.each(function() {
+				var instance = $.data( this, name );
+				if ( instance ) {
+					instance.option( options || {} )._init();
+				} else {
+					$.data( this, name, new object( options, this ) );
+				}
+			});
+		}
+
+		return returnValue;
+	};
+};
+
+$.Widget = function( options, element ) {
+	// allow instantiation without initializing for simple inheritance
+	if ( arguments.length ) {
+		this._createWidget( options, element );
+	}
+};
+
+$.Widget.prototype = {
+	widgetName: "widget",
+	widgetEventPrefix: "",
+	options: {
+		disabled: false
+	},
+	_createWidget: function( options, element ) {
+		// $.widget.bridge stores the plugin instance, but we do it anyway
+		// so that it's stored even before the _create function runs
+		$.data( element, this.widgetName, this );
+		this.element = $( element );
+		this.options = $.extend( true, {},
+			this.options,
+			this._getCreateOptions(),
+			options );
+
+		var self = this;
+		this.element.bind( "remove." + this.widgetName, function() {
+			self.destroy();
+		});
+
+		this._create();
+		this._trigger( "create" );
+		this._init();
+	},
+	_getCreateOptions: function() {
+		return $.metadata && $.metadata.get( this.element[0] )[ this.widgetName ];
+	},
+	_create: function() {},
+	_init: function() {},
+
+	destroy: function() {
+		this.element
+			.unbind( "." + this.widgetName )
+			.removeData( this.widgetName );
+		this.widget()
+			.unbind( "." + this.widgetName )
+			.removeAttr( "aria-disabled" )
+			.removeClass(
+				this.widgetBaseClass + "-disabled " +
+				"ui-state-disabled" );
+	},
+
+	widget: function() {
+		return this.element;
+	},
+
+	option: function( key, value ) {
+		var options = key;
+
+		if ( arguments.length === 0 ) {
+			// don't return a reference to the internal hash
+			return $.extend( {}, this.options );
+		}
+
+		if  (typeof key === "string" ) {
+			if ( value === undefined ) {
+				return this.options[ key ];
+			}
+			options = {};
+			options[ key ] = value;
+		}
+
+		this._setOptions( options );
+
+		return this;
+	},
+	_setOptions: function( options ) {
+		var self = this;
+		$.each( options, function( key, value ) {
+			self._setOption( key, value );
+		});
+
+		return this;
+	},
+	_setOption: function( key, value ) {
+		this.options[ key ] = value;
+
+		if ( key === "disabled" ) {
+			this.widget()
+				[ value ? "addClass" : "removeClass"](
+					this.widgetBaseClass + "-disabled" + " " +
+					"ui-state-disabled" )
+				.attr( "aria-disabled", value );
+		}
+
+		return this;
+	},
+
+	enable: function() {
+		return this._setOption( "disabled", false );
+	},
+	disable: function() {
+		return this._setOption( "disabled", true );
+	},
+
+	_trigger: function( type, event, data ) {
+		var callback = this.options[ type ];
+
+		event = $.Event( event );
+		event.type = ( type === this.widgetEventPrefix ?
+			type :
+			this.widgetEventPrefix + type ).toLowerCase();
+		data = data || {};
+
+		// copy original event properties over to the new event
+		// this would happen if we could call $.event.fix instead of $.Event
+		// but we don't have a way to force an event to be fixed multiple times
+		if ( event.originalEvent ) {
+			for ( var i = $.event.props.length, prop; i; ) {
+				prop = $.event.props[ --i ];
+				event[ prop ] = event.originalEvent[ prop ];
+			}
+		}
+
+		this.element.trigger( event, data );
+
+		return !( $.isFunction(callback) &&
+			callback.call( this.element[0], event, data ) === false ||
+			event.isDefaultPrevented() );
+	}
+};
+
+})( jQuery );
diff --git a/docs/license.html b/docs/license.html
new file mode 100644
index 0000000..34db02f
--- /dev/null
+++ b/docs/license.html
@@ -0,0 +1,1198 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+ Podling Documentation Team">
+            <meta name="email" value="Podling-dev@incubator.apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - License</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Apache License v2.0"><strong>Apache License v2.0</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                        <div align="left">
+    <table cellspacing="4" cellpadding="0" border="0">
+    <tr>
+      <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+      <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+      <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+    </tr>
+    <tr>
+      <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+      <td bgcolor="#ffffff"><pre>

+

+

+

+                                 Apache License

+                           Version 2.0, January 2004

+                        http://www.apache.org/licenses/

+

+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

+

+   1. Definitions.

+

+      &quot;License&quot; shall mean the terms and conditions for use, reproduction,

+      and distribution as defined by Sections 1 through 9 of this document.

+

+      &quot;Licensor&quot; shall mean the copyright owner or entity authorized by

+      the copyright owner that is granting the License.

+

+      &quot;Legal Entity&quot; shall mean the union of the acting entity and all

+      other entities that control, are controlled by, or are under common

+      control with that entity. For the purposes of this definition,

+      &quot;control&quot; means (i) the power, direct or indirect, to cause the

+      direction or management of such entity, whether by contract or

+      otherwise, or (ii) ownership of fifty percent (50%) or more of the

+      outstanding shares, or (iii) beneficial ownership of such entity.

+

+      &quot;You&quot; (or &quot;Your&quot;) shall mean an individual or Legal Entity

+      exercising permissions granted by this License.

+

+      &quot;Source&quot; form shall mean the preferred form for making modifications,

+      including but not limited to software source code, documentation

+      source, and configuration files.

+

+      &quot;Object&quot; form shall mean any form resulting from mechanical

+      transformation or translation of a Source form, including but

+      not limited to compiled object code, generated documentation,

+      and conversions to other media types.

+

+      &quot;Work&quot; shall mean the work of authorship, whether in Source or

+      Object form, made available under the License, as indicated by a

+      copyright notice that is included in or attached to the work

+      (an example is provided in the Appendix below).

+

+      &quot;Derivative Works&quot; shall mean any work, whether in Source or Object

+      form, that is based on (or derived from) the Work and for which the

+      editorial revisions, annotations, elaborations, or other modifications

+      represent, as a whole, an original work of authorship. For the purposes

+      of this License, Derivative Works shall not include works that remain

+      separable from, or merely link (or bind by name) to the interfaces of,

+      the Work and Derivative Works thereof.

+

+      &quot;Contribution&quot; shall mean any work of authorship, including

+      the original version of the Work and any modifications or additions

+      to that Work or Derivative Works thereof, that is intentionally

+      submitted to Licensor for inclusion in the Work by the copyright owner

+      or by an individual or Legal Entity authorized to submit on behalf of

+      the copyright owner. For the purposes of this definition, &quot;submitted&quot;

+      means any form of electronic, verbal, or written communication sent

+      to the Licensor or its representatives, including but not limited to

+      communication on electronic mailing lists, source code control systems,

+      and issue tracking systems that are managed by, or on behalf of, the

+      Licensor for the purpose of discussing and improving the Work, but

+      excluding communication that is conspicuously marked or otherwise

+      designated in writing by the copyright owner as &quot;Not a Contribution.&quot;

+

+      &quot;Contributor&quot; shall mean Licensor and any individual or Legal Entity

+      on behalf of whom a Contribution has been received by Licensor and

+      subsequently incorporated within the Work.

+

+   2. Grant of Copyright License. Subject to the terms and conditions of

+      this License, each Contributor hereby grants to You a perpetual,

+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable

+      copyright license to reproduce, prepare Derivative Works of,

+      publicly display, publicly perform, sublicense, and distribute the

+      Work and such Derivative Works in Source or Object form.

+

+   3. Grant of Patent License. Subject to the terms and conditions of

+      this License, each Contributor hereby grants to You a perpetual,

+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable

+      (except as stated in this section) patent license to make, have made,

+      use, offer to sell, sell, import, and otherwise transfer the Work,

+      where such license applies only to those patent claims licensable

+      by such Contributor that are necessarily infringed by their

+      Contribution(s) alone or by combination of their Contribution(s)

+      with the Work to which such Contribution(s) was submitted. If You

+      institute patent litigation against any entity (including a

+      cross-claim or counterclaim in a lawsuit) alleging that the Work

+      or a Contribution incorporated within the Work constitutes direct

+      or contributory patent infringement, then any patent licenses

+      granted to You under this License for that Work shall terminate

+      as of the date such litigation is filed.

+

+   4. Redistribution. You may reproduce and distribute copies of the

+      Work or Derivative Works thereof in any medium, with or without

+      modifications, and in Source or Object form, provided that You

+      meet the following conditions:

+

+      (a) You must give any other recipients of the Work or

+          Derivative Works a copy of this License; and

+

+      (b) You must cause any modified files to carry prominent notices

+          stating that You changed the files; and

+

+      (c) You must retain, in the Source form of any Derivative Works

+          that You distribute, all copyright, patent, trademark, and

+          attribution notices from the Source form of the Work,

+          excluding those notices that do not pertain to any part of

+          the Derivative Works; and

+

+      (d) If the Work includes a &quot;NOTICE&quot; text file as part of its

+          distribution, then any Derivative Works that You distribute must

+          include a readable copy of the attribution notices contained

+          within such NOTICE file, excluding those notices that do not

+          pertain to any part of the Derivative Works, in at least one

+          of the following places: within a NOTICE text file distributed

+          as part of the Derivative Works; within the Source form or

+          documentation, if provided along with the Derivative Works; or,

+          within a display generated by the Derivative Works, if and

+          wherever such third-party notices normally appear. The contents

+          of the NOTICE file are for informational purposes only and

+          do not modify the License. You may add Your own attribution

+          notices within Derivative Works that You distribute, alongside

+          or as an addendum to the NOTICE text from the Work, provided

+          that such additional attribution notices cannot be construed

+          as modifying the License.

+

+      You may add Your own copyright statement to Your modifications and

+      may provide additional or different license terms and conditions

+      for use, reproduction, or distribution of Your modifications, or

+      for any such Derivative Works as a whole, provided Your use,

+      reproduction, and distribution of the Work otherwise complies with

+      the conditions stated in this License.

+

+   5. Submission of Contributions. Unless You explicitly state otherwise,

+      any Contribution intentionally submitted for inclusion in the Work

+      by You to the Licensor shall be under the terms and conditions of

+      this License, without any additional terms or conditions.

+      Notwithstanding the above, nothing herein shall supersede or modify

+      the terms of any separate license agreement you may have executed

+      with Licensor regarding such Contributions.

+

+   6. Trademarks. This License does not grant permission to use the trade

+      names, trademarks, service marks, or product names of the Licensor,

+      except as required for reasonable and customary use in describing the

+      origin of the Work and reproducing the content of the NOTICE file.

+

+   7. Disclaimer of Warranty. Unless required by applicable law or

+      agreed to in writing, Licensor provides the Work (and each

+      Contributor provides its Contributions) on an &quot;AS IS&quot; BASIS,

+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or

+      implied, including, without limitation, any warranties or conditions

+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A

+      PARTICULAR PURPOSE. You are solely responsible for determining the

+      appropriateness of using or redistributing the Work and assume any

+      risks associated with Your exercise of permissions under this License.

+

+   8. Limitation of Liability. In no event and under no legal theory,

+      whether in tort (including negligence), contract, or otherwise,

+      unless required by applicable law (such as deliberate and grossly

+      negligent acts) or agreed to in writing, shall any Contributor be

+      liable to You for damages, including any direct, indirect, special,

+      incidental, or consequential damages of any character arising as a

+      result of this License or out of the use or inability to use the

+      Work (including but not limited to damages for loss of goodwill,

+      work stoppage, computer failure or malfunction, or any and all

+      other commercial damages or losses), even if such Contributor

+      has been advised of the possibility of such damages.

+

+   9. Accepting Warranty or Additional Liability. While redistributing

+      the Work or Derivative Works thereof, You may choose to offer,

+      and charge a fee for, acceptance of support, warranty, indemnity,

+      or other liability obligations and/or rights consistent with this

+      License. However, in accepting such obligations, You may act only

+      on Your own behalf and on Your sole responsibility, not on behalf

+      of any other Contributor, and only if You agree to indemnify,

+      defend, and hold each Contributor harmless for any liability

+      incurred by, or claims asserted against, such Contributor by reason

+      of your accepting any such warranty or additional liability.

+

+   END OF TERMS AND CONDITIONS

+

+   APPENDIX: How to apply the Apache License to your work.

+

+      To apply the Apache License to your work, attach the following

+      boilerplate notice, with the fields enclosed by brackets &quot;[]&quot;

+      replaced with your own identifying information. (Don't include

+      the brackets!)  The text should be enclosed in the appropriate

+      comment syntax for the file format. We also recommend that a

+      file or class name and description of purpose be included on the

+      same &quot;printed page&quot; as the copyright notice for easier

+      identification within third-party archives.

+

+   Copyright [yyyy] [name of copyright owner]

+

+   Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);

+   you may not use this file except in compliance with the License.

+   You may obtain a copy of the License at

+

+       http://www.apache.org/licenses/LICENSE-2.0

+

+   Unless required by applicable law or agreed to in writing, software

+   distributed under the License is distributed on an &quot;AS IS&quot; BASIS,

+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+   See the License for the specific language governing permissions and

+   limitations under the License.

+

+

+ </pre></td>
+      <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+    </tr>
+    <tr>
+      <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+      <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+      <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+    </tr>
+    </table>
+    </div>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/mail-lists.html b/docs/mail-lists.html
new file mode 100644
index 0000000..5bb71d2
--- /dev/null
+++ b/docs/mail-lists.html
@@ -0,0 +1,1132 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+ Sebastian Wagner">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Mailing Lists</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Apache OpenMeetings Mailing Lists"><strong>Apache OpenMeetings Mailing Lists</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+There are currently 4 publicly available mailing lists for OpenMeetings. 

+</p>
+                                                <p>

+The commits list is for notification of commits to the OpenMeetings repository.

+</p>
+                                                <p>

+The dev list is for internal discussion among the OpenMeetings developers. It is

+open to the public if you are interested in seeing how the sausage is made.

+</p>
+                                                <table>
+                        <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                

+<p><strong>User List</strong> : 

+<a href="mailto:openmeetings-user@incubator.apache.org">

+openmeetings-user@incubator.apache.org</a> </p>

+
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                

+<p> <a class="external" rel="nofollow" href="mailto:openmeetings-user-subscribe@incubator.apache.org">

+Subscribe</a> </p>

+
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                

+<p> <a class="external" rel="nofollow" href="mailto:openmeetings-user-unsubscribe@incubator.apache.org">

+Unsubscribe</a> </p>

+
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                

+<p>

+<a href="http://mail-archives.apache.org/mod_mbox/incubator-openmeetings-user/">

+Archive</a>

+</p>

+
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                

+<p><strong>Spanish User List</strong> : 

+<a href="mailto:openmeetings-user-espanol@incubator.apache.org">

+openmeetings-user-espanol@incubator.apache.org</a> </p>

+
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                

+<p> <a class="external" rel="nofollow" href="mailto:openmeetings-user-espanol-subscribe@incubator.apache.org">

+Subscribe</a> </p>

+
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                

+<p> <a class="external" rel="nofollow" href="mailto:openmeetings-user-espanol-unsubscribe@incubator.apache.org">

+Unsubscribe</a> </p>

+
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                

+<p>

+<a href="http://mail-archives.apache.org/mod_mbox/incubator-openmeetings-user-espanol/">

+Archive</a>

+</p>

+
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                

+<p><strong>Commits List</strong> : 

+<a href="mailto:openmeetings-commits@incubator.apache.org">

+openmeetings-commits@incubator.apache.org</a> </p>

+
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                

+<p> <a class="external" rel="nofollow" href="mailto:openmeetings-commits-subscribe@incubator.apache.org">

+Subscribe</a> </p>

+
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                

+<p> <a class="external" rel="nofollow" href="mailto:openmeetings-commits-unsubscribe@incubator.apache.org">

+Unsubscribe</a> </p>

+
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                

+<p>

+<a href="http://mail-archives.apache.org/mod_mbox/incubator-openmeetings-commits/">

+Archive</a>

+</p>

+
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                

+<p><strong>Developer List</strong> : 

+<a href="mailto:openmeetings-dev@incubator.apache.org">

+openmeetings-dev@incubator.apache.org</a> </p>

+
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                

+<p> <a class="external" rel="nofollow" href="mailto:openmeetings-dev-subscribe@incubator.apache.org">

+Subscribe</a> </p>

+
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                

+<p> <a class="external" rel="nofollow" href="mailto:openmeetings-dev-unsubscribe@incubator.apache.org">

+Unsubscribe</a> </p>

+
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                

+<p>

+<a href="http://mail-archives.apache.org/mod_mbox/incubator-openmeetings-dev">

+Archive</a>

+</p>

+
+            </font>
+</td>
+            </tr>
+            </table>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/openmeetings_docs.css b/docs/openmeetings_docs.css
new file mode 100644
index 0000000..8a09524
--- /dev/null
+++ b/docs/openmeetings_docs.css
@@ -0,0 +1,45 @@
+/*

+* Licensed to the Apache Software Foundation (ASF) under one or more

+* contributor license agreements.  See the NOTICE file distributed with

+* this work for additional information regarding copyright ownership.

+* The ASF licenses this file to You under the Apache License, Version 2.0

+* (the "License"); you may not use this file except in compliance with

+* the License.  You may obtain a copy of the License at

+*

+*     http://www.apache.org/licenses/LICENSE-2.0

+*

+* Unless required by applicable law or agreed to in writing, software

+* distributed under the License is distributed on an "AS IS" BASIS,

+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+* See the License for the specific language governing permissions and

+* limitations under the License.

+*/

+body {

+    font: 10pt Verdana, Arial, Helvetica, sans-serif;

+}

+table {

+	margin-left: 20px;

+	border-color: #000000;

+}

+th {

+    background-color: #dddddd;

+}

+.method {

+	margin-top: 20px;

+	width: 100%;

+}

+.method_header {

+	background-color: #cccccc;

+	width: 100%;

+	border-style: solid;

+	border-color: #666666;

+	border-width: 2px;

+	font-size: 11pt;

+	color: #0000FF;

+}

+.navigation {

+	margin-left: 40px;

+}

+.navigation_comment {

+	margin-left: 20px;

+}
\ No newline at end of file
diff --git a/docs/red5sip-integration.html b/docs/red5sip-integration.html
new file mode 100644
index 0000000..166a813
--- /dev/null
+++ b/docs/red5sip-integration.html
@@ -0,0 +1,1155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="timur@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - SIP-Transport Integration</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="SIP-Transport Integration"><strong>SIP-Transport Integration</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				Here is instruction how-to set up red5sip transport integration with OpenMeetings on Ubuntu 10.04.

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Setup Asterisk"><strong>Setup Asterisk</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+                Run the commands

+                <blockquote>

+                    <i>

+                    sudo apt-get update<br />

+                    sudo apt-get install asterisk asterisk-mysql

+                    </i>

+                </blockquote>

+            </p>
+                                                <p>

+                Ubuntu 10.04 has broken asterisk-mysql version. For other distribution next commands not needed:

+                <blockquote>

+                    <i>

+                        aptitude purge asterisk-mysql

+                        <br />

+                        cd /tmp

+                        <br />

+                        apt-get build-dep asterisk-mysql

+                        <br />

+                        apt-get -b source asterisk-mysql

+                        <br />

+                        dpkg -i asterisk-mysql_1.6.2.0-1_i386.deb

+                    </i>

+

+                </blockquote>

+            </p>
+                                                <p>

+                Enable asterisk mysql realtime module:<br /><br />

+                Add string

+                <blockquote>

+                    <i>load =&gt; res_config_mysql.so</i>

+                </blockquote>

+                to the /etc/asterisk/modules.conf into the "modules" section.

+            </p>
+                                                <p>

+                Configure mysql realtime module:<br /><br />

+

+                Create file /etc/asterisk/res_mysql.conf and add lines:

+                <blockquote>

+                    <i>[general]

+                        <br />

+                        dbhost=127.0.0.1

+                        <br />

+                        dbname=openmeetings

+                        <br />

+                        dbuser=root

+                        <br />

+                        dbpass=

+                        <br />

+                        dbport=3306

+                    </i>

+

+                </blockquote>

+            </p>
+                                                <p>

+                Add next lines into the /etc/asterisk/extconfig.conf:

+                <blockquote>

+                    <i>[settings]

+                        <br />

+                        sipusers =&gt; mysql,general,sipusers

+                        <br />

+                        sippeers =&gt; mysql,general,sipusers

+                        <br />

+                        extensions =&gt; mysql,general,extensions

+                        <br />

+                        meetme =&gt; mysql,general,meetme

+                    </i>

+

+                </blockquote>

+            </p>
+                                                <p>

+                Add next lines into the /etc/asterisk/extensions.conf:

+                <blockquote>

+                    <i>[rooms]

+                        <br />

+                        switch =&gt; Realtime/@

+                    </i>

+

+                </blockquote>

+            </p>
+                                                <p>

+                Restart asterisk:

+                <blockquote>

+                    <i>service asterisk restart</i>

+                </blockquote>

+                Insert, for example, SIP user with name 'test':

+                <blockquote>

+                    <i>

+                        INSERT INTO sipusers (allow, context, disallow, host, name, secret) VALUES ('ulaw' , 'rooms', NULL, 'dynamic' , 'test', '12345');

+                    </i>

+                </blockquote>

+            </p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Setup red5sip transport"><strong>Setup red5sip transport</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+                Download red5sip from<blockquote>http://red5phone.googlecode.com/svn/branches/red5sip</blockquote>

+            </p>
+                                                <p>

+                Build with Apache Ant

+            </p>
+                                                <p>

+                Install jsvc:

+                <blockquote>

+                    <i>apt-get install jsvc</i>

+                </blockquote>

+            </p>
+                                                <p>

+                Insert proper values to the /opt/red5sip/settings.properties

+

+                <blockquote>

+                    <i>red5.host - red5 server address (127.0.0.1)

+                        <br />

+                        sip.obproxy - asterisk adderss (127.0.0.1)

+                        <br />

+                        sip.phone - sip phone number (test)

+                        <br />

+                        sip.authid - sip auth id (test)

+                        <br />

+                        sip.secret - sip password (12345)

+                        <br />

+                        sip.realm - sip realm, "asterisk" by default

+                        <br />

+                        sip.proxy -

+                        <br />

+                        rooms - ids of openmeetings rooms, can be, for example, 2,3,5,6

+                    </i>

+

+                </blockquote>

+            </p>
+                                                <p>

+                Add red5sip to autostart:

+                <blockquote>

+                    <i>ln -s /opt/red5sip/red5sip.sh /etc/init.d/red5sip

+                        <br />

+                        chmod a+x /etc/init.d/red5sip

+                        <br />

+                        update-rc.d /etc/init.d/red5sip defaults

+                    </i>

+

+                </blockquote>

+            </p>
+                                                <p>

+                Start openmeetings

+                <blockquote>

+                    <i>service red5 start</i>

+                </blockquote>

+            </p>
+                                                <p>

+                Start red5sip

+                <blockquote>

+                    <i>service red5sip start</i>

+                </blockquote>

+            </p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/source/blank.gif b/docs/source/blank.gif
new file mode 100644
index 0000000..35d42e8
--- /dev/null
+++ b/docs/source/blank.gif
Binary files differ
diff --git a/docs/source/fancybox_loading.gif b/docs/source/fancybox_loading.gif
new file mode 100644
index 0000000..641a269
--- /dev/null
+++ b/docs/source/fancybox_loading.gif
Binary files differ
diff --git a/docs/source/fancybox_sprite.png b/docs/source/fancybox_sprite.png
new file mode 100644
index 0000000..ae59713
--- /dev/null
+++ b/docs/source/fancybox_sprite.png
Binary files differ
diff --git a/docs/source/helpers/fancybox_buttons.png b/docs/source/helpers/fancybox_buttons.png
new file mode 100644
index 0000000..e0e1ea8
--- /dev/null
+++ b/docs/source/helpers/fancybox_buttons.png
Binary files differ
diff --git a/docs/source/helpers/jquery.fancybox-buttons.css b/docs/source/helpers/jquery.fancybox-buttons.css
new file mode 100644
index 0000000..1e83200
--- /dev/null
+++ b/docs/source/helpers/jquery.fancybox-buttons.css
@@ -0,0 +1,85 @@
+#fancybox-buttons {
+	position: fixed;
+	left: 0;
+	width: 100%;
+	z-index: 1005;
+}
+
+#fancybox-buttons.top {
+	top: 10px;
+}
+
+#fancybox-buttons.bottom {
+	bottom: 10px;
+}
+
+#fancybox-buttons ul {
+	display: block;
+	width: 170px;
+	height: 30px;
+	margin: 0 auto;
+	padding: 0;
+	list-style: none;
+	background: #111;
+	-webkit-box-shadow: 0 1px 3px #000,0 0 0 1px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.05);
+	-moz-box-shadow: 0 1px 3px #000,0 0 0 1px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.05);
+	background: #111 -webkit-gradient(linear,0% 0%,0% 100%,from(rgba(255,255,255,.2)),color-stop(.5,rgba(255,255,255,.15)),color-stop(.5,rgba(255,255,255,.1)),to(rgba(255,255,255,.15)));
+	background: #111 -moz-linear-gradient(top,rgba(255,255,255,.2) 0%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.1) 50%,rgba(255,255,255,.15) 100%);
+	border-radius: 3px;
+}
+
+#fancybox-buttons ul li {
+	float: left;
+	margin: 0;
+	padding: 0;
+}
+
+#fancybox-buttons a {
+	display: block;
+	width: 30px;
+	height: 30px;
+	text-indent: -9999px;
+	background-image: url('fancybox_buttons.png');
+	background-repeat: no-repeat;
+	outline: none;
+}
+
+#fancybox-buttons a.btnPrev {
+	width: 32px;
+	background-position: 6px 0;
+}
+
+#fancybox-buttons a.btnNext {
+	background-position: -33px 0;
+	border-right: 1px solid #3e3e3e;
+}
+
+#fancybox-buttons a.btnPlay {
+	background-position: 0 -30px;
+}
+
+#fancybox-buttons a.btnPlayOn {
+	background-position: -30px -30px;
+}
+
+#fancybox-buttons a.btnToggle {
+	background-position: 3px -60px;
+	border-left: 1px solid #111;
+	border-right: 1px solid #3e3e3e;
+	width: 35px
+}
+
+#fancybox-buttons a.btnToggleOn {
+	background-position: -27px -60px;
+}
+
+#fancybox-buttons a.btnClose {
+	border-left: 1px solid #111;
+	width: 38px;
+	background-position: -57px 0px;
+}
+
+#fancybox-buttons a.btnDisabled {
+	opacity : 0.5;
+	cursor: default;
+}
\ No newline at end of file
diff --git a/docs/source/helpers/jquery.fancybox-buttons.js b/docs/source/helpers/jquery.fancybox-buttons.js
new file mode 100644
index 0000000..e116e38
--- /dev/null
+++ b/docs/source/helpers/jquery.fancybox-buttons.js
@@ -0,0 +1,115 @@
+ /*!
+ * Buttons helper for fancyBox
+ * version: 1.0.2
+ * @requires fancyBox v2.0 or later
+ *
+ * Usage: 
+ *     $(".fancybox").fancybox({
+ *         buttons: {
+ *             position : 'top'
+ *         }
+ *     });
+ * 
+ * Options:
+ *     tpl - HTML template
+ *     position - 'top' or 'bottom'
+ * 
+ */
+(function ($) {
+	//Shortcut for fancyBox object
+	var F = $.fancybox;
+
+	//Add helper object
+	F.helpers.buttons = {
+		tpl: '<div id="fancybox-buttons"><ul><li><a class="btnPrev" title="Previous" href="javascript:;"></a></li><li><a class="btnPlay" title="Start slideshow" href="javascript:;"></a></li><li><a class="btnNext" title="Next" href="javascript:;"></a></li><li><a class="btnToggle" title="Toggle size" href="javascript:;"></a></li><li><a class="btnClose" title="Close" href="javascript:jQuery.fancybox.close();"></a></li></ul></div>',
+		list: null,
+		buttons: {},
+
+		update: function () {
+			var toggle = this.buttons.toggle.removeClass('btnDisabled btnToggleOn');
+
+			//Size toggle button
+			if (F.current.canShrink) {
+				toggle.addClass('btnToggleOn');
+
+			} else if (!F.current.canExpand) {
+				toggle.addClass('btnDisabled');
+			}
+		},
+
+		beforeLoad: function (opts) {
+			//Remove self if gallery do not have at least two items
+			if (F.group.length < 2) {
+				F.coming.helpers.buttons = false;
+				F.coming.closeBtn = true;
+
+				return;
+			}
+
+			//Increase top margin to give space for buttons
+			F.coming.margin[ opts.position === 'bottom' ? 2 : 0 ] += 30;
+		},
+
+		onPlayStart: function () {
+			if (this.list) {
+				this.buttons.play.attr('title', 'Pause slideshow').addClass('btnPlayOn');
+			}
+		},
+
+		onPlayEnd: function () {
+			if (this.list) {
+				this.buttons.play.attr('title', 'Start slideshow').removeClass('btnPlayOn');
+			}
+		},
+
+		afterShow: function (opts) {
+			var buttons;
+
+			if (!this.list) {
+				this.list = $(opts.tpl || this.tpl).addClass(opts.position || 'top').appendTo('body');
+
+				this.buttons = {
+					prev : this.list.find('.btnPrev').click( F.prev ),
+					next : this.list.find('.btnNext').click( F.next ),
+					play : this.list.find('.btnPlay').click( F.play ),
+					toggle : this.list.find('.btnToggle').click( F.toggle )
+				}
+			}
+
+			buttons = this.buttons;
+
+			//Prev
+			if (F.current.index > 0 || F.current.loop) {
+				buttons.prev.removeClass('btnDisabled');
+			} else {
+				buttons.prev.addClass('btnDisabled');
+			}
+
+			//Next / Play
+			if (F.current.loop || F.current.index < F.group.length - 1) {
+				buttons.next.removeClass('btnDisabled');
+				buttons.play.removeClass('btnDisabled');
+
+			} else {
+				buttons.next.addClass('btnDisabled');
+				buttons.play.addClass('btnDisabled');
+			}
+
+			this.update();
+		},
+
+		onUpdate: function () {
+			this.update();
+		},
+
+		beforeClose: function () {
+			if (this.list) {
+				this.list.remove();
+			}
+
+			this.list = null;
+			this.buttons = {};
+		}
+	};
+
+}(jQuery));
\ No newline at end of file
diff --git a/docs/source/helpers/jquery.fancybox-thumbs.css b/docs/source/helpers/jquery.fancybox-thumbs.css
new file mode 100644
index 0000000..aadfb73
--- /dev/null
+++ b/docs/source/helpers/jquery.fancybox-thumbs.css
@@ -0,0 +1,54 @@
+#fancybox-thumbs {
+	position: fixed;
+	left: 0px;
+	width: 100%;
+	overflow: hidden;
+	z-index: 1005;
+}
+
+#fancybox-thumbs.bottom {
+	bottom: 2px;
+}
+
+#fancybox-thumbs.top {
+	top: 2px;
+}
+
+#fancybox-thumbs ul {
+	position: relative;
+	list-style: none;
+	margin: 0;
+	padding: 0;
+}
+
+#fancybox-thumbs ul li {
+	float: left;
+	padding: 1px;
+	opacity: 0.5;
+}
+
+#fancybox-thumbs ul li.active {
+	opacity: 0.75;
+	padding: 0;
+	border: 1px solid #fff;
+}
+
+#fancybox-thumbs ul li:hover {
+	opacity: 1;
+}
+
+#fancybox-thumbs ul li a {
+	display: block;
+	position: relative;
+	overflow: hidden;
+	border: 1px solid #222;
+	background: #111;
+	outline: none;
+}
+
+#fancybox-thumbs ul li img {
+	display: block;
+	position: relative;
+	border: 0;
+	padding: 0;
+}
\ No newline at end of file
diff --git a/docs/source/helpers/jquery.fancybox-thumbs.js b/docs/source/helpers/jquery.fancybox-thumbs.js
new file mode 100644
index 0000000..7b03755
--- /dev/null
+++ b/docs/source/helpers/jquery.fancybox-thumbs.js
@@ -0,0 +1,151 @@
+ /*!
+ * Thumbnail helper for fancyBox
+ * version: 1.0.2
+ * @requires fancyBox v2.0 or later
+ *
+ * Usage: 
+ *     $(".fancybox").fancybox({
+ *         thumbs: {
+ *             width	: 50,
+ *             height	: 50
+ *         }
+ *     });
+ * 
+ * Options:
+ *     width - thumbnail width
+ *     height - thumbnail height
+ *     source - function to obtain the URL of the thumbnail image
+ *     position - 'top' or 'bottom'
+ * 
+ */
+(function ($) {
+	//Shortcut for fancyBox object
+	var F = $.fancybox;
+
+	//Add helper object
+	F.helpers.thumbs = {
+		wrap: null,
+		list: null,
+		width: 0,
+
+		//Default function to obtain the URL of the thumbnail image
+		source: function (el) {
+			var img = $(el).find('img');
+
+			return img.length ? img.attr('src') : el.href;
+		},
+
+		init: function (opts) {
+			var that = this,
+				list,
+				thumbWidth = opts.width || 50,
+				thumbHeight = opts.height || 50,
+				thumbSource = opts.source || this.source;
+
+			//Build list structure
+			list = '';
+
+			for (var n = 0; n < F.group.length; n++) {
+				list += '<li><a style="width:' + thumbWidth + 'px;height:' + thumbHeight + 'px;" href="javascript:jQuery.fancybox.jumpto(' + n + ');"></a></li>';
+			}
+
+			this.wrap = $('<div id="fancybox-thumbs"></div>').addClass(opts.position || 'bottom').appendTo('body');
+			this.list = $('<ul>' + list + '</ul>').appendTo(this.wrap);
+
+			//Load each thumbnail
+			$.each(F.group, function (i) {
+				$("<img />").load(function () {
+					var width = this.width,
+						height = this.height,
+						widthRatio, heightRatio, parent;
+
+					if (!that.list || !width || !height) {
+						return;
+					}
+
+					//Calculate thumbnail width/height and center it
+					widthRatio = width / thumbWidth;
+					heightRatio = height / thumbHeight;
+					parent = that.list.children().eq(i).find('a');
+
+					if (widthRatio >= 1 && heightRatio >= 1) {
+						if (widthRatio > heightRatio) {
+							width = Math.floor(width / heightRatio);
+							height = thumbHeight;
+
+						} else {
+							width = thumbWidth;
+							height = Math.floor(height / widthRatio);
+						}
+					}
+
+					$(this).css({
+						width: width,
+						height: height,
+						top: Math.floor(thumbHeight / 2 - height / 2),
+						left: Math.floor(thumbWidth / 2 - width / 2)
+					});
+
+					parent.width(thumbWidth).height(thumbHeight);
+
+					$(this).hide().appendTo(parent).fadeIn(300);
+
+				}).attr('src', thumbSource(this));
+			});
+
+			//Set initial width
+			this.width = this.list.children().eq(0).outerWidth();
+
+			this.list.width(this.width * (F.group.length + 1)).css('left', Math.floor($(window).width() * 0.5 - (F.current.index * this.width + this.width * 0.5)));
+		},
+
+		//Center list
+		update: function (opts) {
+			if (this.list) {
+				this.list.stop(true).animate({
+					'left': Math.floor($(window).width() * 0.5 - (F.current.index * this.width + this.width * 0.5))
+				}, 150);
+			}
+		},
+
+		beforeLoad: function (opts) {
+			//Remove self if gallery do not have at least two items 
+			if (F.group.length < 2) {
+				F.coming.helpers.thumbs = false;
+
+				return;
+			}
+
+			//Increase bottom margin to give space for thumbs
+			F.coming.margin[ opts.position === 'top' ? 0 : 2 ] = opts.height + 30;
+		},
+
+		afterShow: function (opts) {
+			//Check if exists and create or update list
+			if (this.list) {
+				this.update(opts);
+
+			} else {
+				this.init(opts);
+			}
+
+			//Set active element
+			this.list.children().removeClass('active').eq(F.current.index).addClass('active');
+		},
+
+		onUpdate: function () {
+			this.update();
+		},
+
+		beforeClose: function () {
+			if (this.wrap) {
+				this.wrap.remove();
+			}
+
+			this.wrap = null;
+			this.list = null;
+			this.width = 0;
+		}
+	}
+
+}(jQuery));
\ No newline at end of file
diff --git a/docs/source/jquery.fancybox.css b/docs/source/jquery.fancybox.css
new file mode 100644
index 0000000..c048776
--- /dev/null
+++ b/docs/source/jquery.fancybox.css
@@ -0,0 +1,224 @@
+/*! fancyBox v2.0.4 fancyapps.com | fancyapps.com/fancybox/#license */
+.fancybox-tmp iframe, .fancybox-tmp object {
+	vertical-align: top;
+	padding: 0;
+	margin: 0;
+}
+
+.fancybox-wrap {
+	position: absolute;
+	top: 0;
+	left: 0;
+	z-index: 1002;
+}
+
+.fancybox-outer {
+	padding: 0;
+	margin: 0;
+	background: #f9f9f9;
+	color: #444;
+	text-shadow: none;
+	-webkit-border-radius: 4px;
+	   -moz-border-radius: 4px;
+			border-radius: 4px;
+}
+
+.fancybox-opened {
+	z-index: 1003;	
+}
+
+.fancybox-opened .fancybox-outer {
+	-webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
+	   -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
+	        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
+}
+
+.fancybox-inner {
+	width: 100%;
+	height: 100%;
+	padding: 0;
+	margin: 0;
+	position: relative;
+	outline: none;
+	overflow: hidden;
+}
+
+.fancybox-error {
+	color: #444;
+    font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
+    margin: 0;
+    padding: 10px;
+}
+
+.fancybox-image, .fancybox-iframe {
+	display: block;
+	width: 100%;
+	height: 100%;
+	border: 0;
+	padding: 0;
+	margin: 0;
+	vertical-align: top;
+}
+
+.fancybox-image {
+	max-width: 100%;
+	max-height: 100%;
+}
+
+#fancybox-loading {
+	position: fixed;
+	top: 50%;
+	left: 50%;
+	margin-top: -21px;
+	margin-left: -21px;
+	width: 42px;
+	height: 42px;
+	background: url('fancybox_loading.gif');
+	opacity: 0.8;
+	cursor: pointer;
+	z-index: 1010;
+}
+
+.fancybox-close, .fancybox-prev span, .fancybox-next span {
+	background-image: url('fancybox_sprite.png');
+}
+
+.fancybox-close {
+	position: absolute;
+	top: -18px;
+	right: -18px;
+	width: 36px;
+	height: 36px;
+	cursor: pointer;
+	z-index: 1004;
+}
+
+.fancybox-prev, .fancybox-next {
+	position: absolute;
+	top: 0;
+	width: 40%;
+	height: 100%;
+	cursor: pointer;
+	background: transparent url('blank.gif'); /* helps IE */
+	z-index: 1003;
+}
+
+.fancybox-prev {
+	left: 0;	
+}
+
+.fancybox-next {
+	right: 0;
+}
+
+.fancybox-prev span, .fancybox-next span {
+	position: absolute;
+	top: 50%;
+	left: -9999px;
+	width: 36px;
+	height: 36px;
+	margin-top: -18px;
+	cursor: pointer;
+	z-index: 1003;
+}
+
+.fancybox-prev span {
+	background-position: 0 -36px;
+}
+
+.fancybox-next span {
+	background-position: 0 -72px;
+}
+
+.fancybox-prev:hover, .fancybox-next:hover {
+	visibility: visible;
+}
+
+.fancybox-prev:hover span {
+	left: 20px;
+}
+
+.fancybox-next:hover span {
+	left: auto;
+	right: 20px;
+}
+
+.fancybox-tmp {
+	position: absolute;
+	top: -9999px;
+	left: -9999px;
+	padding: 0;
+	overflow: visible;
+	visibility: hidden;
+}
+
+/* Overlay helper */
+
+#fancybox-overlay {
+	position: absolute;
+	top: 0;
+	left: 0;
+	overflow: hidden;
+	display: none;
+	z-index: 1001;
+	background: #000;
+}
+
+/* Title helper */
+
+.fancybox-title {
+	visibility: hidden;	
+	font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
+	position: relative;
+	text-shadow: none;
+	z-index: 1005;
+}
+
+.fancybox-opened .fancybox-title {
+	visibility: visible;
+}
+
+.fancybox-title-float-wrap {
+	position: absolute;
+	bottom: 0;
+	right: 50%;
+	margin-bottom: -35px;
+	z-index: 1003;
+	text-align: center;
+}
+
+.fancybox-title-float-wrap .child {
+	display: inline-block;
+	margin-right: -100%;
+	padding: 2px 20px;
+	background: transparent; /* Fallback for web browsers that doesn't support RGBa */
+	background: rgba(0, 0, 0, 0.8);
+	-webkit-border-radius: 15px;
+	   -moz-border-radius: 15px;
+			border-radius: 15px;
+	text-shadow: 0 1px 2px #222;
+	color: #FFF;
+	font-weight: bold;
+	line-height: 24px;
+	white-space: nowrap;
+}
+
+.fancybox-title-outside-wrap {
+	position: relative;
+	margin-top: 10px;
+	color: #fff;
+}
+
+.fancybox-title-inside-wrap {
+	margin-top: 10px;
+}
+
+.fancybox-title-over-wrap {
+	position: absolute;
+	bottom: 0;
+	left: 0;	
+	color: #fff;
+	padding: 10px;
+	background: #000;
+	background: rgba(0, 0, 0, .8);
+}
\ No newline at end of file
diff --git a/docs/source/jquery.fancybox.js b/docs/source/jquery.fancybox.js
new file mode 100644
index 0000000..63e12e6
--- /dev/null
+++ b/docs/source/jquery.fancybox.js
@@ -0,0 +1,1310 @@
+ /*!
+ * fancyBox - jQuery Plugin
+ * version: 2.0.4 (12/12/2011)
+ * @requires jQuery v1.6 or later
+ *
+ * Examples at http://fancyapps.com/fancybox/
+ * License: www.fancyapps.com/fancybox/#license
+ *
+ * Copyright 2011 Janis Skarnelis - janis@fancyapps.com
+ *
+ */
+(function (window, document, $) {
+	var W = $(window),
+		D = $(document),
+		F = $.fancybox = function () {
+			F.open.apply( this, arguments );
+		},
+		didResize = false,
+		resizeTimer = null;
+
+	$.extend(F, {
+		// The current version of fancyBox
+		version: '2.0.4',
+
+		defaults: {
+			padding: 15,
+			margin: 20,
+
+			width: 800,
+			height: 600,
+			minWidth: 200,
+			minHeight: 200,
+			maxWidth: 9999,
+			maxHeight: 9999,
+
+			autoSize: true,
+			fitToView: true,
+			aspectRatio: false,
+			topRatio: 0.5,
+
+			fixed: !$.browser.msie || $.browser.version > 6 || !document.documentElement.hasOwnProperty('ontouchstart'),
+			scrolling: 'auto', // 'auto', 'yes' or 'no'
+			wrapCSS: 'fancybox-default',
+
+			arrows: true,
+			closeBtn: true,
+			closeClick: false,
+			nextClick : false,
+			mouseWheel: true,
+			autoPlay: false,
+			playSpeed: 3000,
+
+			modal: false,
+			loop: true,
+			ajax: {},
+			keys: {
+				next: [13, 32, 34, 39, 40], // enter, space, page down, right arrow, down arrow
+				prev: [8, 33, 37, 38], // backspace, page up, left arrow, up arrow
+				close: [27] // escape key
+			},
+
+			// Override some properties
+			index: 0,
+			type: null,
+			href: null,
+			content: null,
+			title: null,
+
+			// HTML templates
+			tpl: {
+				wrap: '<div class="fancybox-wrap"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div>',
+				image: '<img class="fancybox-image" src="{href}" alt="" />',
+				iframe: '<iframe class="fancybox-iframe" name="fancybox-frame{rnd}" frameborder="0" hspace="0" ' + ($.browser.msie ? 'allowtransparency="true""' : '') + ' scrolling="{scrolling}" src="{href}"></iframe>',
+				swf: '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="wmode" value="transparent" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="{href}" /><embed src="{href}" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="100%" height="100%" wmode="transparent"></embed></object>',
+				error: '<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',
+				closeBtn: '<div title="Close" class="fancybox-item fancybox-close"></div>',
+				next: '<a title="Next" class="fancybox-item fancybox-next"><span></span></a>',
+				prev: '<a title="Previous" class="fancybox-item fancybox-prev"><span></span></a>'
+			},
+
+			// Properties for each animation type
+			// Opening fancyBox
+			openEffect: 'fade', // 'elastic', 'fade' or 'none'
+			openSpeed: 250,
+			openEasing: 'swing',
+			openOpacity: true,
+			openMethod: 'zoomIn',
+
+			// Closing fancyBox
+			closeEffect: 'fade', // 'elastic', 'fade' or 'none'
+			closeSpeed: 250,
+			closeEasing: 'swing',
+			closeOpacity: true,
+			closeMethod: 'zoomOut',
+
+			// Changing next gallery item
+			nextEffect: 'elastic', // 'elastic', 'fade' or 'none'
+			nextSpeed: 300,
+			nextEasing: 'swing',
+			nextMethod: 'changeIn',
+
+			// Changing previous gallery item
+			prevEffect: 'elastic', // 'elastic', 'fade' or 'none'
+			prevSpeed: 300,
+			prevEasing: 'swing',
+			prevMethod: 'changeOut',
+
+			// Enabled helpers
+			helpers: {
+				overlay: {
+					speedIn: 0,
+					speedOut: 300,
+					opacity: 0.8,
+					css: {
+						cursor: 'pointer'
+					},
+					closeClick: true
+				},
+				title: {
+					type: 'float' // 'float', 'inside', 'outside' or 'over'
+				}
+			},
+
+			// Callbacks
+			onCancel: $.noop, // If canceling
+			beforeLoad: $.noop, // Before loading
+			afterLoad: $.noop, // After loading
+			beforeShow: $.noop, // Before changing in current item
+			afterShow: $.noop, // After opening
+			beforeClose: $.noop, // Before closing
+			afterClose: $.noop // After closing
+		},
+
+		//Current state
+		group: {}, // Selected group
+		opts: {}, // Group options
+		coming: null, // Element being loaded
+		current: null, // Currently loaded element
+		isOpen: false, // Is currently open
+		isOpened: false, // Have been fully opened at least once
+		wrap: null,
+		outer: null,
+		inner: null,
+
+		player: {
+			timer: null,
+			isActive: false
+		},
+
+		// Loaders
+		ajaxLoad: null,
+		imgPreload: null,
+
+		// Some collections
+		transitions: {},
+		helpers: {},
+
+		/*
+		 *	Static methods
+		 */
+
+		open: function (group, opts) {
+			// Normalize group
+			if (!$.isArray(group)) {
+				group = [group];
+			}
+
+			if (!group.length) {
+				return;
+			}
+
+			//Kill existing instances
+			F.close(true);
+
+			//Extend the defaults
+			F.opts = $.extend(true, {}, F.defaults, opts);
+			F.group = group;
+
+			F._start(F.opts.index || 0);
+		},
+
+		cancel: function () {
+			if (F.coming && false === F.trigger('onCancel')) {
+				return;
+			}
+
+			F.coming = null;
+
+			F.hideLoading();
+
+			if (F.ajaxLoad) {
+				F.ajaxLoad.abort();
+			}
+
+			F.ajaxLoad = null;
+
+			if (F.imgPreload) {
+				F.imgPreload.onload = F.imgPreload.onabort = F.imgPreload.onerror = null;
+			}
+		},
+
+		close: function (a) {
+			F.cancel();
+
+			if (!F.current || false === F.trigger('beforeClose')) {
+				return;
+			}
+
+			F.unbindEvents();
+
+			//If forced or is still opening then remove immediately
+			if (!F.isOpen || (a && a[0] === true)) {
+				$(".fancybox-wrap").stop().trigger('onReset').remove();
+
+				F._afterZoomOut();
+
+			} else {
+				F.isOpen = F.isOpened = false;
+
+				$(".fancybox-item").remove();
+
+				F.wrap.stop(true).removeClass('fancybox-opened');
+				F.inner.css('overflow', 'hidden');
+
+				F.transitions[F.current.closeMethod]();
+			}
+		},
+
+		// Start/stop slideshow
+		play: function (a) {
+			var clear = function () {
+					clearTimeout(F.player.timer);
+				},
+				set = function () {
+					clear();
+
+					if (F.current && F.player.isActive) {
+						F.player.timer = setTimeout(F.next, F.current.playSpeed);
+					}
+				},
+				stop = function () {
+					clear();
+
+					$('body').unbind('.player');
+
+					F.player.isActive = false;
+
+					F.trigger('onPlayEnd');
+				},
+				start = function () {
+					if (F.current && (F.current.loop || F.current.index < F.group.length - 1)) {
+						F.player.isActive = true;
+
+						$('body').bind({
+							'afterShow.player onUpdate.player': set,
+							'onCancel.player beforeClose.player': stop,
+							'beforeLoad.player': clear
+						});
+
+						set();
+
+						F.trigger('onPlayStart');
+					}
+				};
+
+			if (F.player.isActive || (a && a[0] === false)) {
+				stop();
+			} else {
+				start();
+			}
+		},
+
+		next: function () {
+			if (F.current) {
+				F.jumpto(F.current.index + 1);
+			}
+		},
+
+		prev: function () {
+			if (F.current) {
+				F.jumpto(F.current.index - 1);
+			}
+		},
+
+		jumpto: function (index) {
+			if (!F.current) {
+				return;
+			}
+
+			index = parseInt(index, 10);
+
+			if (F.group.length > 1 && F.current.loop) {
+				if (index >= F.group.length) {
+					index = 0;
+
+				} else if (index < 0) {
+					index = F.group.length - 1;
+				}
+			}
+
+			if (typeof F.group[index] !== 'undefined') {
+				F.cancel();
+
+				F._start(index);
+			}
+		},
+
+		reposition: function (a) {
+			if (F.isOpen) {
+				F.wrap.css(F._getPosition(a));
+			}
+		},
+
+		update: function () {
+			if (F.isOpen) {
+				// It's a very bad idea to attach handlers to the window scroll event, run this code after a delay
+				if (!didResize) {
+					resizeTimer = setInterval(function () {
+						if (didResize) {
+							didResize = false;
+
+							clearTimeout(resizeTimer);
+
+							if (F.current) {
+								if (F.current.autoSize) {
+									F.inner.height('auto');
+									F.current.height = F.inner.height();
+								}
+
+								F._setDimension();
+
+								if (F.current.canGrow) {
+									F.inner.height('auto');
+								}
+
+								F.reposition();
+
+								F.trigger('onUpdate');
+							}
+						}
+					}, 100);
+				}
+
+				didResize = true;
+			}
+		},
+
+		toggle: function () {
+			if (F.isOpen) {
+				F.current.fitToView = !F.current.fitToView;
+
+				F.update();
+			}
+		},
+
+		hideLoading: function () {
+			$("#fancybox-loading").remove();
+		},
+
+		showLoading: function () {
+			F.hideLoading();
+
+			$('<div id="fancybox-loading"></div>').click(F.cancel).appendTo('body');
+		},
+
+		getViewport: function () {
+			return {
+				x: W.scrollLeft(),
+				y: W.scrollTop(),
+				w: W.width(),
+				h: W.height()
+			};
+		},
+
+		// Unbind the keyboard / clicking actions
+		unbindEvents: function () {
+			if (F.wrap) {
+				F.wrap.unbind('.fb');	
+			}
+
+			D.unbind('.fb');
+			W.unbind('.fb');
+		},
+
+		bindEvents: function () {
+			var current = F.current,
+				keys = current.keys;
+
+			if (!current) {
+				return;
+			}
+
+			W.bind('resize.fb, orientationchange.fb', F.update);
+
+			if (keys) {
+				D.bind('keydown.fb', function (e) {
+					var code;
+
+					// Ignore key combinations and key events within form elements
+					if (!e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey && $.inArray(e.target.tagName.toLowerCase(), ['input', 'textarea', 'select', 'button']) < 0) {
+						code = e.keyCode;
+
+						if ($.inArray(code, keys.close) > -1) {
+							F.close();
+							e.preventDefault();
+
+						} else if ($.inArray(code, keys.next) > -1) {
+							F.next();
+							e.preventDefault();
+
+						} else if ($.inArray(code, keys.prev) > -1) {
+							F.prev();
+							e.preventDefault();
+						}
+					}
+				});
+			}
+
+			if ($.fn.mousewheel && current.mouseWheel && F.group.length > 1) {
+				F.wrap.bind('mousewheel.fb', function (e, delta) {
+					var target = $(e.target).get(0);
+
+					if (target.clientHeight === 0 || target.scrollHeight === target.clientHeight) {
+						e.preventDefault();
+
+						F[delta > 0 ? 'prev' : 'next']();
+					}
+				});
+			}
+		},
+
+		trigger: function (event) {
+			var ret, obj = F[ $.inArray(event, ['onCancel', 'beforeLoad', 'afterLoad']) > -1 ? 'coming' : 'current' ];
+
+			if (!obj) {
+				return;
+			}
+
+			if ($.isFunction( obj[event] )) {
+				ret = obj[event].apply(obj, Array.prototype.slice.call(arguments, 1));
+			}
+
+			if (ret === false) {
+				return false;
+			}
+
+			if (obj.helpers) {
+				$.each(obj.helpers, function (helper, opts) {
+					if (opts && typeof F.helpers[helper] !== 'undefined' && $.isFunction(F.helpers[helper][event])) {
+						F.helpers[helper][event](opts, obj);
+					}
+				});
+			}
+
+			$.event.trigger(event + '.fb');
+		},
+
+		isImage: function (str) {
+			return str && str.match(/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i);
+		},
+
+		isSWF: function (str) {
+			return str && str.match(/\.(swf)(.*)?$/i);
+		},
+
+		_start: function (index) {
+			var coming = {},
+				element = F.group[index] || null,
+				isDom,
+				href,
+				type,
+				rez;
+
+			if (typeof element === 'object' && (element.nodeType || element instanceof $)) {
+				isDom = true;
+
+				if ($.metadata) {
+					coming = $(element).metadata();
+				}
+			}
+
+			coming = $.extend(true, {}, F.opts, {index : index, element : element}, ($.isPlainObject(element) ? element : coming));
+
+			// Re-check overridable options
+			$.each(['href', 'title', 'content', 'type'], function(i,v) {
+				coming[v] = F.opts[ v ] || (isDom && $(element).attr( v )) || coming[ v ] || null;
+			});
+
+			// Convert margin property to array - top, right, bottom, left
+			if (typeof coming.margin === 'number') {
+				coming.margin = [coming.margin, coming.margin, coming.margin, coming.margin];
+			}
+
+			// 'modal' propery is just a shortcut
+			if (coming.modal) {
+				$.extend(true, coming, {
+					closeBtn : false,
+					closeClick: false,
+					nextClick : false,
+					arrows : false,
+					mouseWheel : false,
+					keys : null,
+					helpers: {
+						overlay : {
+							css: {
+								cursor : 'auto'
+							},
+							closeClick : false
+						}
+					}
+				});
+			}
+
+			//Give a chance for callback or helpers to update coming item (type, title, etc)
+			F.coming = coming;
+
+			if (false === F.trigger('beforeLoad')) {
+				F.coming = null;
+				return;
+			}
+
+			type = coming.type;
+			href = coming.href;
+
+			///Check if content type is set, if not, try to get
+			if (!type) {
+				if (isDom) {
+					rez = $(element).data('fancybox-type');
+
+					if (!rez && element.className) {
+						rez = element.className.match(/fancybox\.(\w+)/);
+						type = rez ? rez[1] : null;
+					}
+				}
+
+				if (!type && href) {
+					if (F.isImage(href)) {
+						type = 'image';
+
+					} else if (F.isSWF(href)) {
+						type = 'swf';
+
+					} else if (href.match(/^#/)) {
+						type = 'inline';
+					}
+				}
+
+				// ...if not - display element itself
+				if (!type) {
+					type = isDom ? 'inline' : 'html';
+				}
+
+				coming.type = type;
+			}
+
+			// Check before try to load; 'inline' and 'html' types need content, others - href
+			if (type === 'inline' || type === 'html') {
+				coming.content = coming.content || (type === 'inline' && href ? $(href) : element);
+
+				if (!coming.content.length) {
+					type = null;
+				}
+
+			} else {
+				coming.href = href || element;
+
+				if (!coming.href) {
+					type = null;
+				}
+			}
+
+			/*
+				Add reference to the group, so it`s possible to access from callbacks, example:
+
+				afterLoad : function() {
+					this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+				}
+
+			*/
+
+			coming.group = F.group;
+
+			if (type === 'image') {
+				F._loadImage();
+
+			} else if (type === 'ajax') {
+				F._loadAjax();
+
+			} else if (type) {
+				F._afterLoad();
+
+			} else {
+				F._error( 'type' );
+			}
+		},
+
+		_error: function ( type ) {
+			$.extend(F.coming, {
+				type : 'html',
+				autoSize : true,
+				minHeight : '0',
+				hasError : type,
+				content : F.coming.tpl.error
+			});
+
+			F._afterLoad();
+		},
+
+		_loadImage: function () {
+			// Reset preload image so it is later possible to check "complete" property
+			F.imgPreload = new Image();
+
+			F.imgPreload.onload = function () {
+				this.onload = this.onerror = null;
+
+				F.coming.width = this.width;
+				F.coming.height = this.height;
+
+				F._afterLoad();
+			};
+
+			F.imgPreload.onerror = function () {
+				this.onload = this.onerror = null;
+
+				F._error( 'image' );
+			};
+
+			F.imgPreload.src = F.coming.href;
+
+			if (!F.imgPreload.complete) {
+				F.showLoading();
+			}
+		},
+
+		_loadAjax: function () {
+			F.showLoading();
+
+			F.ajaxLoad = $.ajax($.extend({}, F.coming.ajax, {
+				url: F.coming.href,
+				error: function (jqXHR, textStatus) {
+					if (textStatus !== 'abort') {
+						F._error( 'ajax', jqXHR );
+
+					} else {
+						F.hideLoading();
+					}
+				},
+				success: function (data, textStatus) {
+					if (textStatus === 'success') {
+						F.coming.content = data;
+
+						F._afterLoad();
+					}
+				}
+			}));
+		},
+
+		_preload : function() {
+			var group = F.group,
+				index = F.current.index,
+				load = function(href) {
+					if (href && F.isImage(href)) {
+						new Image().src = href;
+					}
+				};
+
+			if (group.length > 1) {
+				load( $( group[ index + 1 ] || group[ 0 ] ).attr('href') );
+				load( $( group[ index - 1 ] || group[ group.length - 1 ] ).attr('href') );
+			}
+		},
+
+		_afterLoad: function () {
+			F.hideLoading();
+
+			if (!F.coming || false === F.trigger('afterLoad', F.current)) {
+				F.coming = false;
+
+				return;
+			}
+
+			if (F.isOpened) {
+				$(".fancybox-item").remove();
+
+				F.wrap.stop(true).removeClass('fancybox-opened');
+				F.inner.css('overflow', 'hidden');
+
+				F.transitions[F.current.prevMethod]();
+
+			} else {
+				$(".fancybox-wrap").stop().trigger('onReset').remove();
+
+				F.trigger('afterClose');
+			}
+
+			F.unbindEvents();
+
+			F.isOpen = false;
+			F.current = F.coming;
+			F.coming = false;
+
+			//Build the neccessary markup
+			F.wrap = $(F.current.tpl.wrap).addClass('fancybox-tmp ' + F.current.wrapCSS).appendTo('body');
+			F.outer = $('.fancybox-outer', F.wrap).css('padding', F.current.padding + 'px');
+			F.inner = $('.fancybox-inner', F.wrap);
+
+			F._setContent();
+
+			//Give a chance for helpers or callbacks to update elements
+			F.trigger('beforeShow');
+
+			//Set initial dimensions and hide
+			F._setDimension();
+
+			F.wrap.hide().removeClass('fancybox-tmp');
+
+			F.bindEvents();
+			F._preload();
+
+			F.transitions[ F.isOpened ? F.current.nextMethod : F.current.openMethod ]();
+		},
+
+		_setContent: function () {
+			var content, loadingBay, current = F.current,
+				type = current.type;
+
+			switch (type) {
+				case 'inline':
+				case 'ajax':
+				case 'html':
+					content = current.content;
+
+					if (type === 'inline' && content instanceof $) {
+						content = content.show().detach();
+
+						if (content.parent().hasClass('fancybox-inner')) {
+							content.parents('.fancybox-wrap').trigger('onReset').remove();
+						}
+
+						$(F.wrap).bind('onReset', function () {
+							content.appendTo('body').hide();
+						});
+					}
+
+					if (current.autoSize) {
+						loadingBay = $('<div class="fancybox-tmp"></div>').appendTo($("body")).append(content);
+
+						current.width = loadingBay.outerWidth();
+						current.height = loadingBay.outerHeight(true);
+
+						content = loadingBay.contents().detach();
+
+						loadingBay.remove();
+					}
+
+				break;
+
+				case 'image':
+					content = current.tpl.image.replace('{href}', current.href);
+
+					current.aspectRatio = true;
+				break;
+
+				case 'swf':
+					content = current.tpl.swf.replace(/\{width\}/g, current.width).replace(/\{height\}/g, current.height).replace(/\{href\}/g, current.href);
+				break;
+
+				case 'iframe':
+					content = current.tpl.iframe.replace('{href}', current.href).replace('{scrolling}', current.scrolling).replace('{rnd}', new Date().getTime());
+				break;
+			}
+
+			if ($.inArray(type, ['image', 'swf', 'iframe']) > -1) {
+				current.autoSize = false;
+				current.scrolling = false;
+			}
+
+			F.inner.append(content);
+		},
+
+		_setDimension: function () {
+			var wrap = F.wrap,
+				outer = F.outer,
+				inner = F.inner,
+				current = F.current,
+				viewport = F.getViewport(),
+				margin = current.margin,
+				padding2 = current.padding * 2,
+				width = current.width + padding2,
+				height = current.height + padding2,
+				ratio = current.width / current.height,
+
+				maxWidth = current.maxWidth,
+				maxHeight = current.maxHeight,
+				minWidth = current.minWidth,
+				minHeight = current.minHeight,
+				height_,
+				space;
+
+			viewport.w -= (margin[1] + margin[3]);
+			viewport.h -= (margin[0] + margin[2]);
+
+			if (width.toString().indexOf('%') > -1) {
+				width = ((viewport.w * parseFloat(width)) / 100);
+			}
+
+			if (height.toString().indexOf('%') > -1) {
+				height = ((viewport.h * parseFloat(height)) / 100);
+			}
+
+			if (current.fitToView) {
+				maxWidth = Math.min(viewport.w, maxWidth);
+				maxHeight = Math.min(viewport.h, maxHeight);
+			}
+
+			minWidth = Math.min(width, minWidth);
+			minHeight = Math.min(width, minHeight);
+
+			maxWidth = Math.max(minWidth, maxWidth);
+			maxHeight = Math.max(minHeight, maxHeight);
+
+			if (current.aspectRatio) {
+				if (width > maxWidth) {
+					width = maxWidth;
+					height = ((width - padding2) / ratio) + padding2;
+				}
+
+				if (height > maxHeight) {
+					height = maxHeight;
+					width = ((height - padding2) * ratio) + padding2;
+				}
+
+				if (width < minWidth) {
+					width = minWidth;
+					height = ((width - padding2) / ratio) + padding2;
+				}
+
+				if (height < minHeight) {
+					height = minHeight;
+					width = ((height - padding2) * ratio) + padding2;
+				}
+
+			} else {
+				width = Math.max(minWidth, Math.min(width, maxWidth));
+				height = Math.max(minHeight, Math.min(height, maxHeight));
+			}
+
+			width = Math.round(width);
+			height = Math.round(height);
+
+			//Reset dimensions
+			$(wrap.add(outer).add(inner)).width('auto').height('auto');
+
+			inner.width(width - padding2).height(height - padding2);
+			wrap.width(width);
+
+			height_ = wrap.height(); // Real wrap height
+
+			//Fit wrapper inside
+			if (width > maxWidth || height_ > maxHeight) {
+				while ((width > maxWidth || height_ > maxHeight) && width > minWidth && height_ > minHeight) {
+					height = height - 10;
+
+					if (current.aspectRatio) {
+						width = Math.round(((height - padding2) * ratio) + padding2);
+
+						if (width < minWidth) {
+							width = minWidth;
+							height = ((width - padding2) / ratio) + padding2;
+						}
+
+					} else {
+						width = width - 10;
+					}
+
+					inner.width(width - padding2).height(height - padding2);
+					wrap.width(width);
+
+					height_ = wrap.height();
+				}
+			}
+
+			current.dim = {
+				width: width,
+				height: height_
+			};
+
+			current.canGrow = current.autoSize && height > minHeight && height < maxHeight;
+			current.canShrink = false;
+			current.canExpand = false;
+
+			if ((width - padding2) < current.width || (height - padding2) < current.height) {
+				current.canExpand = true;
+
+			} else if ((width > viewport.w || height_ > viewport.h) && width > minWidth && height > minHeight) {
+				current.canShrink = true;
+			}
+
+			space = height_ - padding2;
+
+			F.innerSpace = space - inner.height();
+			F.outerSpace = space - outer.height();
+		},
+
+		_getPosition: function (a) {
+			var current = F.current,
+				viewport = F.getViewport(),
+				margin = current.margin,
+				width = F.wrap.width() + margin[1] + margin[3],
+				height = F.wrap.height() + margin[0] + margin[2],
+				rez = {
+					position: 'absolute',
+					top: margin[0] + viewport.y,
+					left: margin[3] + viewport.x
+				};
+
+			if (current.fixed && (!a || a[0] === false) && height <= viewport.h && width <= viewport.w) {
+				rez = {
+					position: 'fixed',
+					top: margin[0],
+					left: margin[3]
+				};
+			}
+
+			rez.top = Math.ceil(Math.max(rez.top, rez.top + ((viewport.h - height) * current.topRatio))) + 'px';
+			rez.left = Math.ceil(Math.max(rez.left, rez.left + ((viewport.w - width) * 0.5))) + 'px';
+
+			return rez;
+		},
+
+		_afterZoomIn: function () {
+			var current = F.current;
+
+			F.isOpen = F.isOpened = true;
+
+			F.wrap.addClass('fancybox-opened').css('overflow', 'visible');
+
+			F.update();
+
+			F.inner.css('overflow', current.scrolling === 'auto' ? 'auto' : (current.scrolling === 'yes' ? 'scroll' : 'hidden'));
+
+			//Assign a click event
+			if (current.closeClick || current.nextClick) {
+				F.inner.css('cursor', 'pointer').bind('click.fb', current.nextClick ? F.next : F.close);
+			}
+
+			//Create a close button
+			if (current.closeBtn) {
+				$(current.tpl.closeBtn).appendTo(F.wrap).bind('click.fb', F.close);
+			}
+
+			//Create navigation arrows
+			if (current.arrows && F.group.length > 1) {
+				if (current.loop || current.index > 0) {
+					$(current.tpl.prev).appendTo(F.wrap).bind('click.fb', F.prev);
+				}
+
+				if (current.loop || current.index < F.group.length - 1) {
+					$(current.tpl.next).appendTo(F.wrap).bind('click.fb', F.next);
+				}
+			}
+
+			F.trigger('afterShow');
+
+			if (F.opts.autoPlay && !F.player.isActive) {
+				F.opts.autoPlay = false;
+
+				F.play();
+			}
+		},
+
+		_afterZoomOut: function () {
+			F.trigger('afterClose');
+
+			F.wrap.trigger('onReset').remove();
+
+			$.extend(F, {
+				group: {},
+				opts: {},
+				current: null,
+				isOpened: false,
+				isOpen: false,
+				wrap: null,
+				outer: null,
+				inner: null
+			});
+		}
+	});
+
+	/*
+	 *	Default transitions
+	 */
+
+	F.transitions = {
+		getOrigPosition: function () {
+			var element = F.current.element,
+				pos = {},
+				width = 50,
+				height = 50,
+				image, viewport;
+
+			if (element && element.nodeName && $(element).is(':visible')) {
+				image = $(element).find('img:first');
+
+				if (image.length) {
+					pos = image.offset();
+					width = image.outerWidth();
+					height = image.outerHeight();
+
+				} else {
+					pos = $(element).offset();
+				}
+
+			} else {
+				viewport = F.getViewport();
+				pos.top = viewport.y + (viewport.h - height) * 0.5;
+				pos.left = viewport.x + (viewport.w - width) * 0.5;
+			}
+
+			pos = {
+				top: Math.ceil(pos.top) + 'px',
+				left: Math.ceil(pos.left) + 'px',
+				width: Math.ceil(width) + 'px',
+				height: Math.ceil(height) + 'px'
+			};
+
+			return pos;
+		},
+
+		step: function (now, fx) {
+			var ratio, innerValue, outerValue;
+
+			if (fx.prop === 'width' || fx.prop === 'height') {
+				innerValue = outerValue = Math.ceil(now - (F.current.padding * 2));
+
+				if (fx.prop === 'height') {
+					ratio = (now - fx.start) / (fx.end - fx.start);
+
+					if (fx.start > fx.end) {
+						ratio = 1 - ratio;
+					}
+
+					innerValue -= F.innerSpace * ratio;
+					outerValue -= F.outerSpace * ratio;
+				}
+
+				F.inner[fx.prop](innerValue);
+				F.outer[fx.prop](outerValue);
+			}
+		},
+
+		zoomIn: function () {
+			var wrap = F.wrap,
+				current = F.current,
+				startPos,
+				endPos,
+				dim = current.dim;
+
+			if (current.openEffect === 'elastic') {
+				endPos = $.extend({}, dim, F._getPosition(true));
+
+				//Remove "position" property
+				delete endPos.position;
+
+				startPos = this.getOrigPosition();
+
+				if (current.openOpacity) {
+					startPos.opacity = 0;
+					endPos.opacity = 1;
+				}
+
+				wrap.css(startPos).show().animate(endPos, {
+					duration: current.openSpeed,
+					easing: current.openEasing,
+					step: this.step,
+					complete: F._afterZoomIn
+				});
+
+			} else {
+				wrap.css($.extend({}, dim, F._getPosition()));
+
+				if (current.openEffect === 'fade') {
+					wrap.fadeIn(current.openSpeed, F._afterZoomIn);
+
+				} else {
+					wrap.show();
+					F._afterZoomIn();
+				}
+			}
+		},
+
+		zoomOut: function () {
+			var wrap = F.wrap,
+				current = F.current,
+				endPos;
+
+			if (current.closeEffect === 'elastic') {
+				if (wrap.css('position') === 'fixed') {
+					wrap.css(F._getPosition(true));
+				}
+
+				endPos = this.getOrigPosition();
+
+				if (current.closeOpacity) {
+					endPos.opacity = 0;
+				}
+
+				wrap.animate(endPos, {
+					duration: current.closeSpeed,
+					easing: current.closeEasing,
+					step: this.step,
+					complete: F._afterZoomOut
+				});
+
+			} else {
+				wrap.fadeOut(current.closeEffect === 'fade' ? current.closeSpeed : 0, F._afterZoomOut);
+			}
+		},
+
+		changeIn: function () {
+			var wrap = F.wrap,
+				current = F.current,
+				startPos;
+
+			if (current.nextEffect === 'elastic') {
+				startPos = F._getPosition(true);
+				startPos.opacity = 0;
+				startPos.top = (parseInt(startPos.top, 10) - 200) + 'px';
+
+				wrap.css(startPos).show().animate({
+					opacity: 1,
+					top: '+=200px'
+				}, {
+					duration: current.nextSpeed,
+					complete: F._afterZoomIn
+				});
+
+			} else {
+				wrap.css(F._getPosition());
+
+				if (current.nextEffect === 'fade') {
+					wrap.hide().fadeIn(current.nextSpeed, F._afterZoomIn);
+
+				} else {
+					wrap.show();
+					F._afterZoomIn();
+				}
+			}
+		},
+
+		changeOut: function () {
+			var wrap = F.wrap,
+				current = F.current,
+				cleanUp = function () {
+					$(this).trigger('onReset').remove();
+				};
+
+			wrap.removeClass('fancybox-opened');
+
+			if (current.prevEffect === 'elastic') {
+				wrap.animate({
+					'opacity': 0,
+					top: '+=200px'
+				}, {
+					duration: current.prevSpeed,
+					complete: cleanUp
+				});
+
+			} else {
+				wrap.fadeOut(current.prevEffect === 'fade' ? current.prevSpeed : 0, cleanUp);
+			}
+		}
+	};
+
+	/*
+	 *	Overlay helper
+	 */
+
+	F.helpers.overlay = {
+		overlay: null,
+
+		update: function () {
+			var width, scrollWidth, offsetWidth;
+
+			//Reset width/height so it will not mess
+			this.overlay.width(0).height(0);
+
+			if ($.browser.msie) {
+				scrollWidth = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth);
+				offsetWidth = Math.max(document.documentElement.offsetWidth, document.body.offsetWidth);
+
+				width = scrollWidth < offsetWidth ? W.width() : scrollWidth;
+
+			} else {
+				width = D.width();
+			}
+
+			this.overlay.width(width).height(D.height());
+		},
+
+		beforeShow: function (opts) {
+			if (this.overlay) {
+				return;
+			}
+
+			this.overlay = $('<div id="fancybox-overlay"></div>').css(opts.css || {
+				background: 'black'
+			}).appendTo('body');
+
+			this.update();
+
+			if (opts.closeClick) {
+				this.overlay.bind('click.fb', F.close);
+			}
+
+			W.bind("resize.fb", $.proxy(this.update, this));
+
+			this.overlay.fadeTo(opts.speedIn || "fast", opts.opacity || 1);
+		},
+
+		onUpdate: function () {
+			//Update as content may change document dimensions
+			this.update();
+		},
+
+		afterClose: function (opts) {
+			if (this.overlay) {
+				this.overlay.fadeOut(opts.speedOut || "fast", function () {
+					$(this).remove();
+				});
+			}
+
+			this.overlay = null;
+		}
+	};
+
+	/*
+	 *	Title helper
+	 */
+
+	F.helpers.title = {
+		beforeShow: function (opts) {
+			var title, text = F.current.title;
+
+			if (text) {
+				title = $('<div class="fancybox-title fancybox-title-' + opts.type + '-wrap">' + text + '</div>').appendTo('body');
+
+				if (opts.type === 'float') {
+					//This helps for some browsers
+					title.width(title.width());
+
+					title.wrapInner('<span class="child"></span>');
+
+					//Increase bottom margin so this title will also fit into viewport
+					F.current.margin[2] += Math.abs(parseInt(title.css('margin-bottom'), 10));
+				}
+
+				title.appendTo(opts.type === 'over' ? F.inner : (opts.type === 'outside' ? F.wrap : F.outer));
+			}
+		}
+	};
+
+	// jQuery plugin initialization
+	$.fn.fancybox = function (options) {
+		var opts = options || {},
+			selector = this.selector || '';
+
+		function run(e) {
+			var group = [], relType, relVal, rel = this.rel;
+
+			if (!(e.ctrlKey || e.altKey || e.shiftKey || e.metaKey)) {
+				e.preventDefault();
+
+				relVal = $(this).data('fancybox-group');
+
+				// Check if element has 'data-fancybox-group' attribute, if not - use 'rel'
+				if (typeof relVal !== 'undefined') {
+					relType = relVal ? 'data-fancybox-group' : false;
+
+				} else if (rel && rel !== '' && rel !== 'nofollow') {
+					relVal = rel;
+					relType = 'rel';
+				}
+
+				if (relType) {
+					group = selector.length ? $(selector).filter('[' + relType + '="' + relVal + '"]') : $('[' + relType + '="' + relVal + '"]');
+				}
+
+				if (group.length) {
+					opts.index = group.index(this);
+
+					F.open(group.get(), opts);
+
+				} else {
+					F.open(this, opts);
+				}
+			}
+		}
+
+		if (selector) {
+			D.undelegate(selector, 'click.fb-start').delegate(selector, 'click.fb-start', run);
+
+		} else {
+			$(this).unbind('click.fb-start').bind('click.fb-start', run);
+		}
+
+		return this;
+	};
+
+}(window, document, jQuery));
\ No newline at end of file
diff --git a/docs/source/jquery.fancybox.pack.js b/docs/source/jquery.fancybox.pack.js
new file mode 100644
index 0000000..ff34249
--- /dev/null
+++ b/docs/source/jquery.fancybox.pack.js
@@ -0,0 +1,32 @@
+/*! fancyBox v2.0.4 fancyapps.com | fancyapps.com/fancybox/#license */
+(function(u,q,e){var l=e(u),r=e(q),a=e.fancybox=function(){a.open.apply(this,arguments)},s=!1,t=null;e.extend(a,{version:"2.0.4",defaults:{padding:15,margin:20,width:800,height:600,minWidth:200,minHeight:200,maxWidth:9999,maxHeight:9999,autoSize:!0,fitToView:!0,aspectRatio:!1,topRatio:0.5,fixed:!e.browser.msie||6<e.browser.version||!q.documentElement.hasOwnProperty("ontouchstart"),scrolling:"auto",wrapCSS:"fancybox-default",arrows:!0,closeBtn:!0,closeClick:!1,nextClick:!1,mouseWheel:!0,autoPlay:!1,
+playSpeed:3E3,modal:!1,loop:!0,ajax:{},keys:{next:[13,32,34,39,40],prev:[8,33,37,38],close:[27]},tpl:{wrap:'<div class="fancybox-wrap"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div>',image:'<img class="fancybox-image" src="{href}" alt="" />',iframe:'<iframe class="fancybox-iframe" name="fancybox-frame{rnd}" frameborder="0" hspace="0" '+(e.browser.msie?'allowtransparency="true""':"")+' scrolling="{scrolling}" src="{href}"></iframe>',swf:'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="wmode" value="transparent" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="{href}" /><embed src="{href}" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="100%" height="100%" wmode="transparent"></embed></object>',
+error:'<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',closeBtn:'<div title="Close" class="fancybox-item fancybox-close"></div>',next:'<a title="Next" class="fancybox-item fancybox-next"><span></span></a>',prev:'<a title="Previous" class="fancybox-item fancybox-prev"><span></span></a>'},openEffect:"fade",openSpeed:250,openEasing:"swing",openOpacity:!0,openMethod:"zoomIn",closeEffect:"fade",closeSpeed:250,closeEasing:"swing",closeOpacity:!0,closeMethod:"zoomOut",
+nextEffect:"elastic",nextSpeed:300,nextEasing:"swing",nextMethod:"changeIn",prevEffect:"elastic",prevSpeed:300,prevEasing:"swing",prevMethod:"changeOut",helpers:{overlay:{speedIn:0,speedOut:300,opacity:0.8,css:{cursor:"pointer"},closeClick:!0},title:{type:"float"}}},group:{},opts:{},coming:null,current:null,isOpen:!1,isOpened:!1,wrap:null,outer:null,inner:null,player:{timer:null,isActive:!1},ajaxLoad:null,imgPreload:null,transitions:{},helpers:{},open:function(b,c){e.isArray(b)||(b=[b]);if(b.length)a.close(!0),
+a.opts=e.extend(!0,{},a.defaults,c),a.group=b,a._start(a.opts.index||0)},cancel:function(){if(!(a.coming&&!1===a.trigger("onCancel"))&&(a.coming=null,a.hideLoading(),a.ajaxLoad&&a.ajaxLoad.abort(),a.ajaxLoad=null,a.imgPreload))a.imgPreload.onload=a.imgPreload.onabort=a.imgPreload.onerror=null},close:function(b){a.cancel();if(a.current&&!1!==a.trigger("beforeClose"))a.unbindEvents(),!a.isOpen||b&&!0===b[0]?(e(".fancybox-wrap").stop().trigger("onReset").remove(),a._afterZoomOut()):(a.isOpen=a.isOpened=
+!1,e(".fancybox-item").remove(),a.wrap.stop(!0).removeClass("fancybox-opened"),a.inner.css("overflow","hidden"),a.transitions[a.current.closeMethod]())},play:function(b){var c=function(){clearTimeout(a.player.timer)},d=function(){c();if(a.current&&a.player.isActive)a.player.timer=setTimeout(a.next,a.current.playSpeed)},g=function(){c();e("body").unbind(".player");a.player.isActive=!1;a.trigger("onPlayEnd")};if(a.player.isActive||b&&!1===b[0])g();else if(a.current&&(a.current.loop||a.current.index<
+a.group.length-1))a.player.isActive=!0,e("body").bind({"afterShow.player onUpdate.player":d,"onCancel.player beforeClose.player":g,"beforeLoad.player":c}),d(),a.trigger("onPlayStart")},next:function(){a.current&&a.jumpto(a.current.index+1)},prev:function(){a.current&&a.jumpto(a.current.index-1)},jumpto:function(b){a.current&&(b=parseInt(b,10),1<a.group.length&&a.current.loop&&(b>=a.group.length?b=0:0>b&&(b=a.group.length-1)),"undefined"!==typeof a.group[b]&&(a.cancel(),a._start(b)))},reposition:function(b){a.isOpen&&
+a.wrap.css(a._getPosition(b))},update:function(){a.isOpen&&(s||(t=setInterval(function(){if(s&&(s=!1,clearTimeout(t),a.current)){if(a.current.autoSize)a.inner.height("auto"),a.current.height=a.inner.height();a._setDimension();a.current.canGrow&&a.inner.height("auto");a.reposition();a.trigger("onUpdate")}},100)),s=!0)},toggle:function(){if(a.isOpen)a.current.fitToView=!a.current.fitToView,a.update()},hideLoading:function(){e("#fancybox-loading").remove()},showLoading:function(){a.hideLoading();e('<div id="fancybox-loading"></div>').click(a.cancel).appendTo("body")},
+getViewport:function(){return{x:l.scrollLeft(),y:l.scrollTop(),w:l.width(),h:l.height()}},unbindEvents:function(){a.wrap&&a.wrap.unbind(".fb");r.unbind(".fb");l.unbind(".fb")},bindEvents:function(){var b=a.current,c=b.keys;b&&(l.bind("resize.fb, orientationchange.fb",a.update),c&&r.bind("keydown.fb",function(b){var g;if(!b.ctrlKey&&!b.altKey&&!b.shiftKey&&!b.metaKey&&0>e.inArray(b.target.tagName.toLowerCase(),["input","textarea","select","button"]))g=b.keyCode,-1<e.inArray(g,c.close)?(a.close(),b.preventDefault()):
+-1<e.inArray(g,c.next)?(a.next(),b.preventDefault()):-1<e.inArray(g,c.prev)&&(a.prev(),b.preventDefault())}),e.fn.mousewheel&&b.mouseWheel&&1<a.group.length&&a.wrap.bind("mousewheel.fb",function(b,c){var f=e(b.target).get(0);if(0===f.clientHeight||f.scrollHeight===f.clientHeight)b.preventDefault(),a[0<c?"prev":"next"]()}))},trigger:function(b){var c,d=a[-1<e.inArray(b,["onCancel","beforeLoad","afterLoad"])?"coming":"current"];if(d){e.isFunction(d[b])&&(c=d[b].apply(d,Array.prototype.slice.call(arguments,
+1)));if(!1===c)return!1;d.helpers&&e.each(d.helpers,function(c,f){if(f&&"undefined"!==typeof a.helpers[c]&&e.isFunction(a.helpers[c][b]))a.helpers[c][b](f,d)});e.event.trigger(b+".fb")}},isImage:function(a){return a&&a.match(/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i)},isSWF:function(a){return a&&a.match(/\.(swf)(.*)?$/i)},_start:function(b){var c={},d=a.group[b]||null,g,f,k;if("object"===typeof d&&(d.nodeType||d instanceof e))g=!0,e.metadata&&(c=e(d).metadata());c=e.extend(!0,{},a.opts,{index:b,element:d},
+e.isPlainObject(d)?d:c);e.each(["href","title","content","type"],function(b,f){c[f]=a.opts[f]||g&&e(d).attr(f)||c[f]||null});if("number"===typeof c.margin)c.margin=[c.margin,c.margin,c.margin,c.margin];c.modal&&e.extend(!0,c,{closeBtn:!1,closeClick:!1,nextClick:!1,arrows:!1,mouseWheel:!1,keys:null,helpers:{overlay:{css:{cursor:"auto"},closeClick:!1}}});a.coming=c;if(!1===a.trigger("beforeLoad"))a.coming=null;else{f=c.type;b=c.href;if(!f)g&&(k=e(d).data("fancybox-type"),!k&&d.className&&(f=(k=d.className.match(/fancybox\.(\w+)/))?
+k[1]:null)),!f&&b&&(a.isImage(b)?f="image":a.isSWF(b)?f="swf":b.match(/^#/)&&(f="inline")),f||(f=g?"inline":"html"),c.type=f;"inline"===f||"html"===f?(c.content=c.content||("inline"===f&&b?e(b):d),c.content.length||(f=null)):(c.href=b||d,c.href||(f=null));c.group=a.group;"image"===f?a._loadImage():"ajax"===f?a._loadAjax():f?a._afterLoad():a._error("type")}},_error:function(b){e.extend(a.coming,{type:"html",autoSize:!0,minHeight:"0",hasError:b,content:a.coming.tpl.error});a._afterLoad()},_loadImage:function(){a.imgPreload=
+new Image;a.imgPreload.onload=function(){this.onload=this.onerror=null;a.coming.width=this.width;a.coming.height=this.height;a._afterLoad()};a.imgPreload.onerror=function(){this.onload=this.onerror=null;a._error("image")};a.imgPreload.src=a.coming.href;a.imgPreload.complete||a.showLoading()},_loadAjax:function(){a.showLoading();a.ajaxLoad=e.ajax(e.extend({},a.coming.ajax,{url:a.coming.href,error:function(b,c){"abort"!==c?a._error("ajax",b):a.hideLoading()},success:function(b,c){if("success"===c)a.coming.content=
+b,a._afterLoad()}}))},_preload:function(){var b=a.group,c=a.current.index,d=function(b){if(b&&a.isImage(b))(new Image).src=b};1<b.length&&(d(e(b[c+1]||b[0]).attr("href")),d(e(b[c-1]||b[b.length-1]).attr("href")))},_afterLoad:function(){a.hideLoading();!a.coming||!1===a.trigger("afterLoad",a.current)?a.coming=!1:(a.isOpened?(e(".fancybox-item").remove(),a.wrap.stop(!0).removeClass("fancybox-opened"),a.inner.css("overflow","hidden"),a.transitions[a.current.prevMethod]()):(e(".fancybox-wrap").stop().trigger("onReset").remove(),
+a.trigger("afterClose")),a.unbindEvents(),a.isOpen=!1,a.current=a.coming,a.coming=!1,a.wrap=e(a.current.tpl.wrap).addClass("fancybox-tmp "+a.current.wrapCSS).appendTo("body"),a.outer=e(".fancybox-outer",a.wrap).css("padding",a.current.padding+"px"),a.inner=e(".fancybox-inner",a.wrap),a._setContent(),a.trigger("beforeShow"),a._setDimension(),a.wrap.hide().removeClass("fancybox-tmp"),a.bindEvents(),a._preload(),a.transitions[a.isOpened?a.current.nextMethod:a.current.openMethod]())},_setContent:function(){var b,
+c,d=a.current,g=d.type;switch(g){case "inline":case "ajax":case "html":b=d.content;"inline"===g&&b instanceof e&&(b=b.show().detach(),b.parent().hasClass("fancybox-inner")&&b.parents(".fancybox-wrap").trigger("onReset").remove(),e(a.wrap).bind("onReset",function(){b.appendTo("body").hide()}));if(d.autoSize)c=e('<div class="fancybox-tmp"></div>').appendTo(e("body")).append(b),d.width=c.outerWidth(),d.height=c.outerHeight(!0),b=c.contents().detach(),c.remove();break;case "image":b=d.tpl.image.replace("{href}",
+d.href);d.aspectRatio=!0;break;case "swf":b=d.tpl.swf.replace(/\{width\}/g,d.width).replace(/\{height\}/g,d.height).replace(/\{href\}/g,d.href);break;case "iframe":b=d.tpl.iframe.replace("{href}",d.href).replace("{scrolling}",d.scrolling).replace("{rnd}",(new Date).getTime())}if(-1<e.inArray(g,["image","swf","iframe"]))d.autoSize=!1,d.scrolling=!1;a.inner.append(b)},_setDimension:function(){var b=a.wrap,c=a.outer,d=a.inner,g=a.current,f=a.getViewport(),k=g.margin,i=2*g.padding,h=g.width+i,j=g.height+
+i,l=g.width/g.height,o=g.maxWidth,m=g.maxHeight,n=g.minWidth,p=g.minHeight;f.w-=k[1]+k[3];f.h-=k[0]+k[2];-1<h.toString().indexOf("%")&&(h=f.w*parseFloat(h)/100);-1<j.toString().indexOf("%")&&(j=f.h*parseFloat(j)/100);g.fitToView&&(o=Math.min(f.w,o),m=Math.min(f.h,m));n=Math.min(h,n);p=Math.min(h,p);o=Math.max(n,o);m=Math.max(p,m);g.aspectRatio?(h>o&&(h=o,j=(h-i)/l+i),j>m&&(j=m,h=(j-i)*l+i),h<n&&(h=n,j=(h-i)/l+i),j<p&&(j=p,h=(j-i)*l+i)):(h=Math.max(n,Math.min(h,o)),j=Math.max(p,Math.min(j,m)));h=Math.round(h);
+j=Math.round(j);e(b.add(c).add(d)).width("auto").height("auto");d.width(h-i).height(j-i);b.width(h);k=b.height();if(h>o||k>m)for(;(h>o||k>m)&&h>n&&k>p;)j-=10,g.aspectRatio?(h=Math.round((j-i)*l+i),h<n&&(h=n,j=(h-i)/l+i)):h-=10,d.width(h-i).height(j-i),b.width(h),k=b.height();g.dim={width:h,height:k};g.canGrow=g.autoSize&&j>p&&j<m;g.canShrink=!1;g.canExpand=!1;if(h-i<g.width||j-i<g.height)g.canExpand=!0;else if((h>f.w||k>f.h)&&h>n&&j>p)g.canShrink=!0;b=k-i;a.innerSpace=b-d.height();a.outerSpace=b-
+c.height()},_getPosition:function(b){var c=a.current,d=a.getViewport(),e=c.margin,f=a.wrap.width()+e[1]+e[3],k=a.wrap.height()+e[0]+e[2],i={position:"absolute",top:e[0]+d.y,left:e[3]+d.x};if(c.fixed&&(!b||!1===b[0])&&k<=d.h&&f<=d.w)i={position:"fixed",top:e[0],left:e[3]};i.top=Math.ceil(Math.max(i.top,i.top+(d.h-k)*c.topRatio))+"px";i.left=Math.ceil(Math.max(i.left,i.left+0.5*(d.w-f)))+"px";return i},_afterZoomIn:function(){var b=a.current;a.isOpen=a.isOpened=!0;a.wrap.addClass("fancybox-opened").css("overflow",
+"visible");a.update();a.inner.css("overflow","auto"===b.scrolling?"auto":"yes"===b.scrolling?"scroll":"hidden");if(b.closeClick||b.nextClick)a.inner.css("cursor","pointer").bind("click.fb",b.nextClick?a.next:a.close);b.closeBtn&&e(b.tpl.closeBtn).appendTo(a.wrap).bind("click.fb",a.close);b.arrows&&1<a.group.length&&((b.loop||0<b.index)&&e(b.tpl.prev).appendTo(a.wrap).bind("click.fb",a.prev),(b.loop||b.index<a.group.length-1)&&e(b.tpl.next).appendTo(a.wrap).bind("click.fb",a.next));a.trigger("afterShow");
+if(a.opts.autoPlay&&!a.player.isActive)a.opts.autoPlay=!1,a.play()},_afterZoomOut:function(){a.trigger("afterClose");a.wrap.trigger("onReset").remove();e.extend(a,{group:{},opts:{},current:null,isOpened:!1,isOpen:!1,wrap:null,outer:null,inner:null})}});a.transitions={getOrigPosition:function(){var b=a.current.element,c={},d=50,g=50,f;b&&b.nodeName&&e(b).is(":visible")?(f=e(b).find("img:first"),f.length?(c=f.offset(),d=f.outerWidth(),g=f.outerHeight()):c=e(b).offset()):(b=a.getViewport(),c.top=b.y+
+0.5*(b.h-g),c.left=b.x+0.5*(b.w-d));return c={top:Math.ceil(c.top)+"px",left:Math.ceil(c.left)+"px",width:Math.ceil(d)+"px",height:Math.ceil(g)+"px"}},step:function(b,c){var d,e,f;if("width"===c.prop||"height"===c.prop)e=f=Math.ceil(b-2*a.current.padding),"height"===c.prop&&(d=(b-c.start)/(c.end-c.start),c.start>c.end&&(d=1-d),e-=a.innerSpace*d,f-=a.outerSpace*d),a.inner[c.prop](e),a.outer[c.prop](f)},zoomIn:function(){var b=a.wrap,c=a.current,d,g;d=c.dim;if("elastic"===c.openEffect){g=e.extend({},
+d,a._getPosition(!0));delete g.position;d=this.getOrigPosition();if(c.openOpacity)d.opacity=0,g.opacity=1;b.css(d).show().animate(g,{duration:c.openSpeed,easing:c.openEasing,step:this.step,complete:a._afterZoomIn})}else b.css(e.extend({},d,a._getPosition())),"fade"===c.openEffect?b.fadeIn(c.openSpeed,a._afterZoomIn):(b.show(),a._afterZoomIn())},zoomOut:function(){var b=a.wrap,c=a.current,d;if("elastic"===c.closeEffect){"fixed"===b.css("position")&&b.css(a._getPosition(!0));d=this.getOrigPosition();
+if(c.closeOpacity)d.opacity=0;b.animate(d,{duration:c.closeSpeed,easing:c.closeEasing,step:this.step,complete:a._afterZoomOut})}else b.fadeOut("fade"===c.closeEffect?c.closeSpeed:0,a._afterZoomOut)},changeIn:function(){var b=a.wrap,c=a.current,d;"elastic"===c.nextEffect?(d=a._getPosition(!0),d.opacity=0,d.top=parseInt(d.top,10)-200+"px",b.css(d).show().animate({opacity:1,top:"+=200px"},{duration:c.nextSpeed,complete:a._afterZoomIn})):(b.css(a._getPosition()),"fade"===c.nextEffect?b.hide().fadeIn(c.nextSpeed,
+a._afterZoomIn):(b.show(),a._afterZoomIn()))},changeOut:function(){var b=a.wrap,c=a.current,d=function(){e(this).trigger("onReset").remove()};b.removeClass("fancybox-opened");"elastic"===c.prevEffect?b.animate({opacity:0,top:"+=200px"},{duration:c.prevSpeed,complete:d}):b.fadeOut("fade"===c.prevEffect?c.prevSpeed:0,d)}};a.helpers.overlay={overlay:null,update:function(){var a,c;this.overlay.width(0).height(0);e.browser.msie?(a=Math.max(q.documentElement.scrollWidth,q.body.scrollWidth),c=Math.max(q.documentElement.offsetWidth,
+q.body.offsetWidth),a=a<c?l.width():a):a=r.width();this.overlay.width(a).height(r.height())},beforeShow:function(b){if(!this.overlay)this.overlay=e('<div id="fancybox-overlay"></div>').css(b.css||{background:"black"}).appendTo("body"),this.update(),b.closeClick&&this.overlay.bind("click.fb",a.close),l.bind("resize.fb",e.proxy(this.update,this)),this.overlay.fadeTo(b.speedIn||"fast",b.opacity||1)},onUpdate:function(){this.update()},afterClose:function(a){this.overlay&&this.overlay.fadeOut(a.speedOut||
+"fast",function(){e(this).remove()});this.overlay=null}};a.helpers.title={beforeShow:function(b){var c;if(c=a.current.title)c=e('<div class="fancybox-title fancybox-title-'+b.type+'-wrap">'+c+"</div>").appendTo("body"),"float"===b.type&&(c.width(c.width()),c.wrapInner('<span class="child"></span>'),a.current.margin[2]+=Math.abs(parseInt(c.css("margin-bottom"),10))),c.appendTo("over"===b.type?a.inner:"outside"===b.type?a.wrap:a.outer)}};e.fn.fancybox=function(b){function c(b){var c=[],i,h=this.rel;
+if(!b.ctrlKey&&!b.altKey&&!b.shiftKey&&!b.metaKey)b.preventDefault(),b=e(this).data("fancybox-group"),"undefined"!==typeof b?i=b?"data-fancybox-group":!1:h&&""!==h&&"nofollow"!==h&&(b=h,i="rel"),i&&(c=g.length?e(g).filter("["+i+'="'+b+'"]'):e("["+i+'="'+b+'"]')),c.length?(d.index=c.index(this),a.open(c.get(),d)):a.open(this,d)}var d=b||{},g=this.selector||"";g?r.undelegate(g,"click.fb-start").delegate(g,"click.fb-start",c):e(this).unbind("click.fb-start").bind("click.fb-start",c);return this}})(window,
+document,jQuery);
\ No newline at end of file
diff --git a/docs/svn.html b/docs/svn.html
new file mode 100644
index 0000000..b95e15d
--- /dev/null
+++ b/docs/svn.html
@@ -0,0 +1,1406 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			Sebastian Wagner
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Source Code</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="OpenMeetings Source Code"><strong>OpenMeetings Source Code</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				OpenMeetings uses

+				<a class="external" rel="nofollow" href="http://subversion.tigris.org">

+					Subversion

+				</a>

+				to manage its source code.

+				If you're new to Subversion, you can check out the

+				<a href="http://svnbook.red-bean.com/">online book</a>

+				about Subversion.

+				Note that we are currently using Subversion 1.1.x (there are separate

+				versions of the book covering 1.0 and 1.1).

+			</p>
+                                                <p>

+				To receive notice of commits to the repository subscribe to

+				<a href="mailto:openmeetings-commits@incubator.apache.org">

+					openmeetings-commits@incubator.apache.org

+				</a>

+				by sending email to

+				<a href="mailto:openmeetings-commits-subscribe@incubator.apache.org">

+					openmeetings-commits-subscribe@incubator.apache.org

+				</a>

+				.

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Web Access to Subversion"><strong>Web Access to Subversion</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				If you just want to browse the source code, you can use the

+				<a class="external" rel="nofollow" href="http://svn.apache.org/viewcvs/incubator/openmeetings">

+					ViewCVS web interface

+				</a>

+				to Subversion. This is current at all times.

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Checking Out Code Using Subversion"><strong>Checking Out Code Using Subversion</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>Anyone can check code out of Subversion. You only need to specify

+				a

+				username and password to update the Subversion repository, and only

+				OpenMeetings committers can do that.

+				If you are a committer, are working from behind a firewall, or are

+				connected to the internet through a proxy server, please see the

+				sections

+				below for more information.

+			</p>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Anonymous check out from Subversion"><strong>Anonymous check out from Subversion</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>Use a command like:</p>
+                                                <pre>% svn checkout

+					http://svn.apache.org/repos/asf/incubator/openmeetings </pre>
+                                                <p>Once you have OpenMeetings checked out you can update the source

+					by executing the following command from within the openmeetings

+					directory.

+				</p>
+                                                <pre>

+					% svn update

+				</pre>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Access from behind a firewall"><strong>Access from behind a firewall</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>For those users who are stuck behind a corporate firewall which

+					is

+					blocking http access to the Subversion repository, you can try to access it

+					via HTTPS:

+				</p>
+                                                <pre>

+					% svn checkout

+					https://svn.apache.org/repos/asf/incubator/openmeetings

+				</pre>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Access through a proxy"><strong>Access through a proxy</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>The Subversion client can go through a proxy, if you configure it

+					to do so. First, edit your "servers" configuration file to indicate

+					which

+					proxy to use. The files location depends on your operating system.

+					On Linux or Unix it is located in the directory "~/.subversion".

+					On Windows it is in "%APPDATA%\Subversion". (Try "echo %APPDATA%",

+					note this is a hidden directory.)

+				</p>
+                                                <p>There are comments in the file explaining what to do. If you

+					don't have

+					that file, get the latest Subversion client and run any command; this

+					will

+					cause the configuration directory and template files to be created.

+				</p>
+                                                <p>Example : Edit the 'servers' file and add something like :

+				</p>
+                                                <pre>

+					[global]

+					http-proxy-host = your.proxy.name

+					http-proxy-port = 3128

+				</pre>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Committer access"><strong>Committer access</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>Everyone can access the Apache Podling Subversion repository via

+					HTTPS,

+					but OpenMeetings Committers must checkout the Subversion repository

+					via HTTPS.

+				</p>
+                                                <pre>

+					% svn checkout

+					https://svn.apache.org/repos/asf/incubator/openmeetings

+				</pre>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Submitting Code Changes"><strong>Submitting Code Changes</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                        <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Submitting a patch"><strong>Submitting a patch</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>If you make changes to OpenMeetings, and would like to contribute

+					it to the project, you should open a JIRA issue and discuss the

+					merits

+					of the proposal with the developer community. If there is agreement,

+					create a patch and attach it to the JIRA issue.

+				</p>
+                                                <p>

+					To create a patch, execute the svn diff command. This creates a patch

+					that

+					can easily be uploaded to a JIRA issue. A good name for the patch

+					includes

+					the JIRA issue name, e.g. OPENMEETINGS-104.patch. If there are several

+					patches

+					for the same JIRA issue, you might include your initials, e.g.

+					OPENMEETINGS-104.clr.patch

+				</p>
+                                                <pre>

+					% svn diff &gt; OPENMEETINGS-104.clr.patch

+				</pre>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Committing changes to subversion"><strong>Committing changes to subversion</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+					To commit changes to the subversion repository, you must be an

+					OpenMeetings committer. See

+					<a href="get-involved.html">get involved</a>

+					for information on how to become a committer and how to set up your

+					password once you become a committer.

+				</p>
+                                                <p>

+					Once your password is set, you can use a command like this to commit:

+				</p>
+                                                <pre>

+					$&gt; svn commit --username your-username

+					Authentication realm: &lt;https://svn.apache.org:443&gt; ASF Committers

+					Password for 'your-username': your-password

+				</pre>
+                                                <p>You can also pass your password on the command line directly, but

+					this is a security problem on multiuser unix computers (the command

+					line

+					arguments are available via the ps command). Here is the command if you

+					are Windows or a single user unix computer:

+				</p>
+                                                <pre>

+					$&gt; svn commit --username your-username --password your-password

+				</pre>
+                                                <p>Remember to replace 'your-username' and 'your-password' with

+					your actual username and password on svn.apache.org.

+				</p>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Building Podling from Source"><strong>Building Podling from Source</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				<!-- ***************** TBD ************************** -->

+				<!-- ***************** TBD ************************** -->

+				<!-- ***************** TBD ************************** -->

+				<!-- ***************** TBD ************************** -->

+				<!-- ***************** TBD ************************** -->

+				<!-- ***************** TBD ************************** -->

+				<!-- ***************** TBD ************************** -->

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Using Subversion on Windows with cygwin"><strong>Using Subversion on Windows with cygwin</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				If you use Subversion on Windows under cygwin, you may find that the

+				Subversion client automatically assigns the executable property to

+				non-executable files. In that case, you would see this at the bottom

+				of

+				an

+				<em>svn diff</em>

+				of the file:

+			</p>
+                                                <pre>

+				Property changes on: test/sql/derby/datastoreidentity/schema1.sql

+				___________________________________________________________________

+				Name: svn:executable

+				+ *

+			</pre>
+                                                <p>This section explains the source of the problem and suggests some

+				actions to avoid it.

+			</p>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Background"><strong>Background</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>Subversion carries executable information in the built-in

+					property

+					called svn:executable. This property, unlike others, may be present

+					or absent, but it has no value. You can add it or delete it, but you

+					cannot change its value.

+				</p>
+                                                <p>In theory, Subversion ignores Windows file permissions and by

+					default

+					does not set svn:executable. However, cygwin svn acts like Unix svn and

+					determines the svn:executable property based on file permissions.

+				</p>
+                                                <p>

+					If you create a file from the cygwin command line, by default it is

+					executable only if the filename ends with .bat, .com or .exe, or if

+					its

+					content starts with #!. [This is what the doc says, but you may see -x

+					for all files.] If you create a file using a Windows tool, by default

+					its Windows permissions are executable by all. Cygwin interprets

+					the

+					Unix-style permissions this way as well. If the file is executable by all,

+					cygwin svn sets the svn:executable property on the file when you

+					invoke

+					<em>svn add</em>

+					.

+				</p>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Removing existing executable properties from the repository"><strong>Removing existing executable properties from the repository</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>You can use svn propdel to remove the svn:executable property

+					from your

+					working copy.

+				</p>
+                                                <pre>

+					svn propdel -R svn:executable .

+				</pre>
+                                                <p>will recursively remove the svn:executable property from all of

+					the

+					files below the current directory. You can use this and commit the

+					files to clean the repository if necessary.

+				</p>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="#EFEFEF">
+        <font color="#000000" face="arial,helvetica,sanserif">
+          <a name="Preventing Subversion from adding unwanted executable  properties"><strong>Preventing Subversion from adding unwanted executable  properties</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+					Windows/cygwin users who don't want to have to think about using

+					<em>svn

+						propdel

+					</em>

+					or

+					<em>chmod</em>

+					on each added file can use a non-cygwin

+					version of svn. The Subversion 1.2.3 Win32 binaries, downloadable from the

+					link at the bottom of

+					<a rel="nofollow" href="http://subversion.tigris.org/project_packages.html">

+						http://subversion.tigris.org/project_packages.html

+					</a>

+					, appear to work

+					well. After installation add the svn.exe location to your Windows PATH

+					variable. If you are switching from cygwin svn to Win32 svn

+				</p>
+                                                <ol type="1">

+					<li>

+						<p>Remove the subversion component from your cygwin installation

+							because when svn is invoked from a cygwin window, the cygwin

+							version is

+							found even if your cygwin/bin directory is later on the path. (In the

+							Select Packages window of the setup wizard, navigate to the

+							subversion

+							package in the Devel. category. Click on the status icon until Uninstall

+							is displayed. Click next and continue through the wizard until

+							installation

+							is complete.)

+						</p>

+					</li>

+					<li>

+						<p>Copy the servers file and the auth folder from the sygwin

+							~/.subversion

+							directory to C:\Documents and

+							Settings\&lt;user&gt;\Application Data\Subversion used by Win32

+							subversion.

+						</p>

+					</li>

+				</ol>
+                                                <p>Note that windows svn uses backslash as the path separator when

+					displaying file names. You cannot just copy and paste this file

+					name

+					to another svn command when running from within a cygwin shell.

+					You need to enclose the file name into double quotes.

+				</p>
+                                                <p>Alternatively, Windows users can set file permissions in Windows

+					Explorer. (Right-click on the top-level folder &amp; select

+					Properties.

+					Select the Security tab. Click Advanced. Remove all instances of

+					Read &amp; Execute from the Permission Entries. Click "Reset

+					permissions

+					on all child objects and enable propogations of inheritable

+					permissions".

+					Click Apply. OK. OK.) You will have to do this again when you do a clean

+					checkout to a new directory.

+				</p>
+                            </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/team-list.html b/docs/team-list.html
new file mode 100644
index 0000000..333b620
--- /dev/null
+++ b/docs/team-list.html
@@ -0,0 +1,1172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			Sebastian Wagner
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Project Team</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="OpenMeetings Committers"><strong>OpenMeetings Committers</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				The people listed below have made significant contributions to

+				Podling

+				by

+				working long and hard to make quality software for the rest

+				of the world to

+				use.

+			</p>
+                                                <p>

+				If you would like to contribute to Podling, please see the

+				<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS/New+committers+and+developers+task+idea+list" target="_BLANK">https://cwiki.apache.org/confluence/display/OPENMEETINGS/New+committers+and+developers+task+idea+list

+				</a>

+				to find areas where you can contribute.

+				If there is nothing in there

+				that suits your interest, but you still

+				have

+				ideas, please feel free

+				to suggest them on the mailing list.

+			</p>
+                                                <p>

+				If you would like to become a committer, please see

+				<a href="get-involved.html">Get Involved</a>

+				.

+			</p>
+                                                <table>
+                        <tr>
+                        <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Name
+            </font>
+</th>
+                                <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Organization
+            </font>
+</th>
+                                <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Contact/Website
+            </font>
+</th>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Sebastian Wagner
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Independent
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                

+						<a href="https://twitter.com/#!/dead_lock" target="_BLANK" rel="nofollow">https://twitter.com/#!/dead_lock

+						</a>

+					
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Alexei Fedotov
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Independent
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                &nbsp;
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Evgeny Rovinsky
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Independent
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                &nbsp;
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Maxim Solodovnik
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Independent
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                &nbsp;
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Oliver Becherer
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Independent
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                &nbsp;
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Eugen Schwert
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Independent
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                eugen.schwert@gmail.com
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Sascha Xander
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Independent
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                &nbsp;
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Johnny Strom
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Independent
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                &nbsp;
+            </font>
+</td>
+            </tr>
+                                <tr>
+                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                German Grekhov
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                Independent
+            </font>
+</td>
+                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+                &nbsp;
+            </font>
+</td>
+            </tr>
+            </table>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/themes-and-branding.html b/docs/themes-and-branding.html
new file mode 100644
index 0000000..fcdfbcc
--- /dev/null
+++ b/docs/themes-and-branding.html
@@ -0,0 +1,1012 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - Theme and color</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Available with Apache OpenMeetings 2.0"><strong>Available with Apache OpenMeetings 2.0</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				Themes are only available starting with Openmeetings 2.x.

+				<br />

+				There are also more general client side configuration like port

+				configuration. Those configs are stored in the config.xml, see for

+				example

+				<a href="BrandingAndColors.html">BrandingAndColors.html</a>

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                                <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="Editing the theme"><strong>Editing the theme</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>You can find the default theme in the SVN: </p>
+                                                <p>

+				<a href="https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/default-theme.xml" target="_BLANK" rel="nofollow">https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/default-theme.xml

+				</a>

+			</p>
+                                                <p>

+				Or if you already installed OpenMeetings on your machine at:

+				<br />

+				<tt>/webapps/openmeetings/default-theme.xml</tt>

+				<br />

+				The file contains border, background and font color definitions as

+				well as paths to icons that are loaded at runtime.

+				<br />

+				You can change the theme at runtime and just reload the browser

+				(eventually clear the browser cache) to see updates based on

+				modification in your theme.

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/voip-sip-integration.html b/docs/voip-sip-integration.html
new file mode 100644
index 0000000..bf77220
--- /dev/null
+++ b/docs/voip-sip-integration.html
@@ -0,0 +1,1003 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+        
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="
+			OpenMeetings Team
+		">
+            <meta name="email" value="sebawagner@apache.org">
+            
+           
+                                    
+                        
+            <title>Apache OpenMeetings [Incubating] - VoIP and SIP Integration</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+												/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    										        					            					            	
+					            	else if (document.location.href.indexOf("/index.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/index.html".substr(1, "/index.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/license.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/license.html".substr(1, "/license.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
+					            		currentLocation = "General";
+					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/installation.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
+					            		currentLocation = "InstallationandUpgrade";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
+					            		currentLocation = "Community";
+					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/svn.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
+					            		currentLocation = "Development";
+					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
+					            		currentLocation = "Integration";
+					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
+					            	} 
+					            	
+					        				        		    										        					            					            	
+					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
+					            	} 
+					            	
+					        				        							            					            	
+					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
+					            		currentLocation = "Plugins";
+					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
+					            	} 
+					            	
+					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
+						            	} 
+				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
+						            	} 
+				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
+				            				currentLocation = "Configuration";
+					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
+						            	} 
+				            							        				        		    					    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <td align="left">
+<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
+</td>
+                    </td>
+                    <td align='LEFT'>
+                    <td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+            	<h3><a href="#General">General</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./index.html">Home</a>
+<br/>
+	        		        	            	            	    <a href="./license.html">License</a>
+<br/>
+	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
+<br/>
+	        		        	            	            	    <a href="./downloads.html">Downloads</a>
+<br/>
+	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./installation.html">Installation</a>
+<br/>
+	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Community">Community</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./get-involved.html">Get Involved</a>
+<br/>
+	        		        	            	            	    <a href="./team-list.html">Committers</a>
+<br/>
+	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
+<br/>
+	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Development">Development</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./svn.html">Source Code</a>
+<br/>
+	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+<br/>
+	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
+<br/>
+	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
+<br/>
+	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Integration">Integration</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+<br/>
+	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
+<br/>
+	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
+<br/>
+	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+<br/>
+	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Plugins">Plugins</a></h3>
+    	<div  width="100%">
+	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+<br/>
+	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+<br/>
+	        		            	</div>
+        	<h3><a href="#Configuration">Configuration</a></h3>
+    	<div  width="100%">
+	        	            	            	<b>DB Sample Configurations</b><br/>
+	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+<br/>
+	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
+<br/>
+	            			            			    <a href="./OracleConfig.html">Oracle</a>
+<br/>
+	            			            			    <a href="./MySQLConfig.html">MySQL</a>
+<br/>
+	            			            			    <a href="./PostgresConfig.html">Postgres</a>
+<br/>
+	            			        		        	            	            	<b>Localization and languages</b><br/>
+	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
+<br/>
+	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
+<br/>
+	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+<br/>
+	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
+<br/>
+	            			        		        	            	            	<b>NAT Port Settings</b><br/>
+	            			            			    <a href="./PortSettings.html">Port settings</a>
+<br/>
+	            			        		        	            	            	<b>Performance</b><br/>
+	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+<br/>
+	            			        		        	            	            	<b>User Interface</b><br/>
+	            			            			    <a href="./themes-and-branding.html">Themes</a>
+<br/>
+	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
+<br/>
+	            			            			    <a href="./Dashboard.html">Dashboard</a>
+<br/>
+	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+<br/>
+	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+<br/>
+	            			        		        	            	            	<b>Customization</b><br/>
+	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
+<br/>
+	            			            			    <a href="./Navigation.html">Navigation</a>
+<br/>
+	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+<br/>
+	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+<br/>
+	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
+<br/>
+	            			        		        	            	            	<b>Security</b><br/>
+	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
+<br/>
+	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+<br/>
+	            			        		        	            	            	<b>Converters</b><br/>
+	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+<br/>
+	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+<br/>
+	            			        		        	            	            	<b>Misc</b><br/>
+	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
+<br/>
+	            			        		            	</div>
+        
+    </div>
+
+	<!--
+            	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>General</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./index.html">Home</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./license.html">License</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://www.apache.org/">ASF</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./downloads.html">Downloads</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Installation and Upgrade</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./installation.html">Installation</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./Upgrade.html">Upgrade</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Community</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./get-involved.html">Get Involved</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./team-list.html">Committers</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Development</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./svn.html">Source Code</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./dependencies.html">Dependencies</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Integration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Plugins</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
+</li>
+			        	</font>
+		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
+</li>
+			        	</font>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>Configuration</b>
+        	</a>
+        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+		       <ul>
+		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
+		            		<ul>
+		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
+</li>
+		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
+</li>
+		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
+</li>
+		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
+</li>
+		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
+		            		<ul>
+		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
+</li>
+		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
+</li>
+		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
+</li>
+		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
+		            		<ul>
+		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
+		            		<ul>
+		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
+		            		<ul>
+		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
+</li>
+		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
+</li>
+		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
+</li>
+		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
+</li>
+		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
+		            		<ul>
+		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
+</li>
+		            				            			<li>    <a href="./Navigation.html">Navigation</a>
+</li>
+		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
+</li>
+		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
+</li>
+		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
+		            		<ul>
+		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
+</li>
+		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
+		            		<ul>
+		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
+</li>
+		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
+		            		<ul>
+		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
+</li>
+		            				            		</ul>
+		            	</li>
+		        			        		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+        
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="#EEEEEE" -->
+        <font color="#000000" face="verdana,arial,helvetica,sanserif">
+          <a name="VoIP and SIP Integration"><strong>VoIP and SIP Integration</strong></a>
+          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+                                    <p>

+				There are multiple ways to integrate with VoIP and or SIP.

+				OpenMeetings does not provide out of the box a ready to run VoIP

+				integration / integration to cell phone or usual land lane.

+				The

+				nature of such integrations is that it depends heavily on the

+				infrastructure that you are using and where you would like to

+				integrate OpenMeetings into.

+				<br />

+				<br />

+				It also depends on a number of factors of which OpenMeetings is

+				impossible to set up for you, for example setting up your VoIP

+				server or provide you with a range of telefone numbers reserved for

+				conference calls in your national phone network.

+				Such an integration

+				project is likely to become a consulting job for a

+				telecommunications consultant.

+				<br />

+				<br />

+				To get help on the integration you can contact the

+				<a href="mail-lists.html">mailing lists</a>

+				or for example somebody from the list of

+				<a href="commercial-support.html">commercial support</a>

+				.

+                <br /><br />

+                <a href="red5sip-integration.html">

+                Instruction how-to set up OpenMeetings SIP-Transport integration

+                </a>.

+

+			</p>
+                            </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="#123465" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ivy.xml b/ivy.xml
new file mode 100644
index 0000000..cebcb21
--- /dev/null
+++ b/ivy.xml
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+ -->
+<ivy-module version="2.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
+	<info organisation="apache" module="openmeetings" />
+	<configurations defaultconfmapping="default">
+		<conf name="default" />
+		<conf name="mainlib" extends="default" description="Top level libraries" />
+		<conf name="mainlib.ext" extends="mainlib" description="Top level libraries with different pattern" />
+		<conf name="openmeetings" description="Openmeetings required libraries" />
+		<conf name="openmeetings.ext" extends="openmeetings" description="Openmeetings required libraries with different pattern" />
+		<conf name="openmeetings.axis2" extends="openmeetings.ext" description="Axis required libraries with dependencies" />
+		<conf name="anakia" description="Openmeetings required libraries" />
+		<conf name="junit" description="Unit testing dependencies" />
+		<conf name="cmdadmin" description="Command Line Admin dependencies" />
+		<conf name="rat" extends="cmdadmin" description="Apache Rat dependencies" />
+		<conf name="dtd" description="Dtd-generator dependencies" />
+		<conf name="svntask" description="Svn task dependencies" />
+		<conf name="openlaszlo" description="Openlaszlo dependencies" />
+		<conf name="mysql" description="MySQL JDBC driver" />
+	</configurations>
+	<dependencies>
+		<!--  START OF mainlib -->
+		<dependency org="commons-fileupload" name="commons-fileupload" rev="1.2.2" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="commons-io" name="commons-io" rev="2.1" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.springframework" name="org.springframework.aspects" rev="3.1.1.RELEASE" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.springframework" name="org.springframework.jdbc" rev="3.1.1.RELEASE" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.springframework" name="org.springframework.orm" rev="3.1.1.RELEASE" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.springframework" name="org.springframework.transaction" rev="3.1.1.RELEASE" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.springframework" name="org.springframework.web.servlet" rev="3.1.1.RELEASE" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="cglib" name="cglib" rev="2.2.2" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<!-- include type="bundle" / FIXME unable to get openjpa without  sources -->
+		<dependency org="org.apache.geronimo.specs" name="geronimo-jpa_2.0_spec"
+			rev="1.1" conf="mainlib.ext->*" transitive="false"/>
+		<!--  END OF mainlib -->
+		
+		<!--  START OF ANAKIA -->
+		<dependency org="org.jdom" name="jdom" rev="1.1" conf="anakia->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="logkit" name="logkit" rev="1.0.1" conf="anakia->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="oro" name="oro" rev="2.0.8" conf="anakia->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<!--  END OF ANAKIA -->
+
+		<!--  START OF OPENMEETINGS -->
+		<dependency org="org.apache.axis2" name="axis2" rev="1.7.0-SNAPSHOT" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-anim" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-awt-util" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-bridge" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-codec" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-css" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-dom" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-ext" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-extension" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-gui-util" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-gvt" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-parser" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-rasterizer" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-script" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-slideshow" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-squiggle" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-svg-dom" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-svggen" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-svgpp" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-swing" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-transcoder" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-ttf2svg" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-util" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="batik-xml" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="fop" rev="1.0" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlgraphics" name="xmlgraphics-commons" rev="1.4" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="xml-apis" name="xml-apis-ext" rev="1.3.04" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.derby" name="derby" rev="10.8.2.2" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.derby" name="derbyclient" rev="10.8.2.2" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="postgresql" name="postgresql" rev="9.1-901.jdbc4" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="dom4j" name="dom4j" rev="1.6.1" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.velocity" name="velocity" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.velocity" name="velocity" rev="1.7" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.velocity" name="velocity-tools" rev="2.0" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="commons-lang" name="commons-lang" rev="2.6" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<!--  added to avoid downloading version 1.3 with Axis2 -->
+		<dependency org="commons-codec" name="commons-codec" rev="1.6" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="com.thoughtworks.xstream" name="xstream" rev="1.4.2" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.ws.commons.util" name="ws-commons-util" rev="1.0.2" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlrpc" name="xmlrpc-common" rev="3.1.3" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.xmlrpc" name="xmlrpc-client" rev="3.1.3" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="commons-transaction" name="commons-transaction" rev="1.2" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="net.sourceforge.serp" name="serp" rev="1.13.1" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="commons-dbcp" name="commons-dbcp" rev="1.4" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="commons-digester" name="commons-digester" rev="2.1" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="xpp3" name="xpp3" rev="1.1.4c" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="javax.mail" name="mail" rev="1.4.4" conf="openmeetings->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		
+		<!-- iCal4j seems to need this JAR -->
+		<dependency org="edu.emory.mathcs" name="backport-util-concurrent" rev="3.1" conf="openmeetings->*"/>
+
+			<!-- include type="bundle" / FIXME unable to get openjpa without  sources -->
+		<dependency org="org.mnode.ical4j" name="ical4j" rev="1.0.3" conf="openmeetings.ext->*" transitive="false"/>
+		<dependency org="org.apache.openjpa" name="openjpa" rev="2.2.0" conf="openmeetings.ext->*" transitive="false"/>
+		
+		<dependency org="javax.servlet" name="servlet-api" rev="2.5" conf="openmeetings.axis2->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.ws.commons.axiom" name="axiom-impl" rev="1.2.12" conf="openmeetings.axis2->*" transitive="true">
+			<exclude name='commons-io' />
+			<exclude name='commons-logging' />
+		</dependency>
+		<dependency org="org.apache.axis2" name="axis2-transport-http" rev="1.7.0-SNAPSHOT" conf="openmeetings.axis2->*"/>
+		<dependency org="org.apache.axis2" name="axis2-transport-local" rev="1.7.0-SNAPSHOT" conf="openmeetings.axis2->*"/>
+		<dependency org="org.apache.axis2" name="mex" rev="1.7.0-SNAPSHOT" conf="openmeetings.axis2->*"/>
+		<dependency org="org.apache.axis2" name="axis2-jaxws" rev="1.7.0-SNAPSHOT" conf="openmeetings.axis2->*"/>
+		<!--  END OF OPENMEETINGS -->
+
+		<!--  START OF JUNIT -->
+		<dependency org="junit" name="junit" rev="4.9" conf="junit->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.springframework" name="org.springframework.test" rev="3.1.1.RELEASE" conf="junit->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<!--  END OF JUNIT -->
+		
+		<!--  START OF RAT -->
+		<dependency org="org.apache.rat" name="apache-rat-core" rev="0.8" conf="rat->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.rat" name="apache-rat-tasks" rev="0.8" conf="rat->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<!--  END OF RAT -->
+		
+		<!--  START OF DTD -->
+		<dependency org="com.thaiopensource" name="trang" rev="20091111" conf="dtd->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<!--  END OF DTD -->
+		
+		<!--  START OF svntask -->
+		<dependency org="org.tmatesoft.svnkit" name="svnkit" rev="1.7.4" conf="svntask->*" transitive="true">
+			<include type="jar" />
+		</dependency>
+		<dependency org="svnant" name="svnant" rev="1.3.1" conf="svntask->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="svnClientAdapter" name="svnClientAdapter" rev="1.3.1" conf="svntask->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<!--  END OF svntask -->
+		
+		<!--  START OF openlaszlo -->
+		<dependency org="openlaszlo" name="openlaszlo" rev="4.9" conf="openlaszlo->*" transitive="false">
+			<artifact name="openlaszlo" type="tgz"/>
+			<include type="tgz" />
+		</dependency>
+		<!--  END OF openlaszlo -->
+		
+		<!--  START OF Command Line Admin -->
+		<dependency org="commons-cli" name="commons-cli" rev="1.2" conf="cmdadmin->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<!--  END OF Command Line Admin -->
+		
+		<!--  START OF MySQL Driver -->
+		<dependency org="mysql" name="mysql-connector-java" rev="5.1.9" conf="mysql->*" transitive="false">
+			<include type="jar" />
+		</dependency>
+		<!--  END OF MySQL Driver -->
+	</dependencies>
+</ivy-module>
+
diff --git a/ivysettings.xml b/ivysettings.xml
new file mode 100644
index 0000000..3433d22
--- /dev/null
+++ b/ivysettings.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+ -->
+<ivysettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+    xsi:noNamespaceSchemaLocation="ivysettings.xsd">
+	<settings defaultResolver="chain"/>
+	<resolvers>
+		<chain name="chain">
+			<ibiblio name="central" m2compatible="true"/>
+			<ibiblio name="springsource-external" m2compatible="true" root="http://repository.springsource.com/maven/bundles/external"/>
+			<ibiblio name="springsource-release" m2compatible="true" root="http://repository.springsource.com/maven/bundles/release"/>
+			<ibiblio name="tmatesoft-release" m2compatible="true" root="http://maven.tmatesoft.com/content/repositories/releases"/>
+			<ibiblio name="tmatesoft-snapshots" m2compatible="true" root="http://maven.tmatesoft.com/content/repositories/snapshots"/>
+			<ibiblio name="apache-snapshots" m2compatible="true" root="https://repository.apache.org/snapshots/"/>
+			<url name="mavencentral">
+				<artifact pattern="http://repo1.maven.org/maven2/[organisation]/[artifact]-[revision].[ext]" />
+			</url>
+			<url name="sonatype">
+				<artifact pattern="http://oss.sonatype.org/content/repositories/sourceforge-releases/[organisation]/[artifact]-[revision].[ext]" />
+				<artifact pattern="http://oss.sonatype.org/content/repositories/central/[artifact]/[artifact]/[revision]/[artifact]-[revision].[ext]" />
+			</url>
+			<url name="googlecode">
+				<artifact pattern="http://openlaszlo-openmeetings-integration.googlecode.com/svn/repository/[artifact](-[revision]).[ext]" />
+				<artifact pattern="http://openmeetings.googlecode.com/svn/repository/[artifact](-[revision]).[ext]" />
+				<artifact pattern="http://red5.googlecode.com/svn/repository/[organisation]/[artifact]/[revision]/[artifact](-[revision]).[ext]" />
+			</url>
+		</chain>
+	</resolvers>
+	<triggers>
+		<ant-call target="-extract-tgz" prefix="dep" event="post-download-artifact" filter="type=tgz"/>
+	</triggers>
+</ivysettings>
+
diff --git a/ivysettings.xsd b/ivysettings.xsd
new file mode 100644
index 0000000..dcce845
--- /dev/null
+++ b/ivysettings.xsd
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

+  <xs:element name="ivysettings">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element ref="settings"/>

+        <xs:element ref="resolvers"/>

+        <xs:element ref="triggers"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="settings">

+    <xs:complexType>

+      <xs:attribute name="defaultResolver" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="resolvers">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element ref="chain"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="chain">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element maxOccurs="unbounded" ref="ibiblio"/>

+        <xs:element maxOccurs="unbounded" ref="url"/>

+      </xs:sequence>

+      <xs:attribute name="name" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="ibiblio">

+    <xs:complexType>

+      <xs:attribute name="m2compatible" use="required" type="xs:boolean"/>

+      <xs:attribute name="name" use="required" type="xs:NCName"/>

+      <xs:attribute name="root" type="xs:anyURI"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="url">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element maxOccurs="unbounded" ref="artifact"/>

+      </xs:sequence>

+      <xs:attribute name="name" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="artifact">

+    <xs:complexType>

+      <xs:attribute name="pattern" use="required"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="triggers">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element ref="ant-call"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="ant-call">

+    <xs:complexType>

+      <xs:attribute name="event" use="required" type="xs:NCName"/>

+      <xs:attribute name="filter" use="required"/>

+      <xs:attribute name="prefix" use="required" type="xs:NCName"/>

+      <xs:attribute name="target" use="required" type="xs:NMTOKEN"/>

+    </xs:complexType>

+  </xs:element>

+</xs:schema>

diff --git a/lib/ivy-2.2.0.jar b/lib/ivy-2.2.0.jar
new file mode 100644
index 0000000..7e73dab
--- /dev/null
+++ b/lib/ivy-2.2.0.jar
Binary files differ
diff --git a/src/META-INF/db2_persistence.xml b/src/META-INF/db2_persistence.xml
new file mode 100644
index 0000000..ad46213
--- /dev/null
+++ b/src/META-INF/db2_persistence.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<!-- persistence.xml schema -->
+<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0">
+	<persistence-unit name="openmeetings" transaction-type="RESOURCE_LOCAL">
+		<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
+		<class>org.openmeetings.app.persistence.beans.adresses.Adresses</class>
+		<class>org.openmeetings.app.persistence.beans.adresses.States</class>
+		<class>org.openmeetings.app.persistence.beans.basic.Configuration</class>
+		<class>org.openmeetings.app.persistence.beans.basic.ErrorType</class>
+		<class>org.openmeetings.app.persistence.beans.basic.ErrorValues</class>
+		<class>org.openmeetings.app.persistence.beans.basic.LdapConfig</class>
+		<class>org.openmeetings.app.persistence.beans.basic.Naviglobal</class>
+		<class>org.openmeetings.app.persistence.beans.basic.Navimain</class>
+		<class>org.openmeetings.app.persistence.beans.basic.OmTimeZone</class>
+		<class>org.openmeetings.app.persistence.beans.basic.Sessiondata</class>
+		<class>org.openmeetings.app.persistence.beans.basic.SOAPLogin</class>
+		<class>org.openmeetings.app.persistence.beans.calendar.Appointment</class>
+		<class>org.openmeetings.app.persistence.beans.calendar.AppointmentCategory</class>
+		<class>org.openmeetings.app.persistence.beans.calendar.AppointmentReminderTyps</class>
+		<class>org.openmeetings.app.persistence.beans.calendar.MeetingMember</class>
+		<class>org.openmeetings.app.persistence.beans.domain.Organisation</class>
+		<class>org.openmeetings.app.persistence.beans.domain.Organisation_Users</class>
+		<class>org.openmeetings.app.persistence.beans.flvrecord.FlvRecording</class>
+		<class>org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingLog</class>
+		<class>org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaData</class>
+		<class>org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaDelta</class>
+		<class>org.openmeetings.app.persistence.beans.invitation.Invitations</class>
+		<class>org.openmeetings.app.persistence.beans.lang.FieldLanguage</class>
+		<class>org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues</class>
+		<class>org.openmeetings.app.persistence.beans.lang.Fieldvalues</class>
+		<class>org.openmeetings.app.persistence.beans.logs.ConferenceLog</class>
+		<class>org.openmeetings.app.persistence.beans.logs.ConferenceLogType</class>
+		<class>org.openmeetings.app.persistence.beans.poll.PollType</class>
+		<class>org.openmeetings.app.persistence.beans.poll.RoomPoll</class>
+		<class>org.openmeetings.app.persistence.beans.poll.RoomPollAnswers</class>
+		<class>org.openmeetings.app.persistence.beans.rooms.RoomModerators</class>
+		<class>org.openmeetings.app.persistence.beans.rooms.Rooms</class>
+		<class>org.openmeetings.app.persistence.beans.rooms.RoomTypes</class>
+		<class>org.openmeetings.app.persistence.beans.rooms.Rooms_Organisation</class>
+		<class>org.openmeetings.app.persistence.beans.sip.OpenXGReturnObject</class>
+		<class>org.openmeetings.app.persistence.beans.user.PrivateMessages</class>
+		<class>org.openmeetings.app.persistence.beans.user.PrivateMessageFolder</class>
+		<class>org.openmeetings.app.persistence.beans.user.Salutations</class>
+		<class>org.openmeetings.app.persistence.beans.user.UserContacts</class>
+		<class>org.openmeetings.app.persistence.beans.user.Userdata</class>
+		<class>org.openmeetings.app.persistence.beans.user.Userlevel</class>
+		<class>org.openmeetings.app.persistence.beans.user.UserSipData</class>
+		<class>org.openmeetings.app.persistence.beans.user.Users</class>
+		<class>org.openmeetings.app.persistence.beans.files.FileExplorerItem</class>
+		<exclude-unlisted-classes>false</exclude-unlisted-classes>
+		<properties>
+			<property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/>
+            <property name="openjpa.ConnectionDriverName" value="org.apache.commons.dbcp.BasicDataSource" />
+			<property name="openjpa.ConnectionProperties"
+				value="DriverClassName=com.ibm.db2.jcc.DB2Driver
+					, Url=jdbc:db2://localhost:50000/openmeet
+					, MaxActive=100
+					, MaxWait=10000
+					, TestOnBorrow=true
+					, poolPreparedStatements=true
+					, Username=db2admin
+					, Password=admin"/>
+			<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/>
+			<property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO" />
+			<property name="openjpa.DataCache" value="true"/>
+			<property name="openjpa.QueryCache" value="true"/> 
+			<property name="openjpa.jdbc.DBDictionary"  value="batchLimit=100"/> 
+			<property name="openjpa.jdbc.QuerySQLCache"  value="false"/>
+		</properties>
+	</persistence-unit>
+</persistence>
diff --git a/src/META-INF/derby_persistence.xml b/src/META-INF/derby_persistence.xml
new file mode 100644
index 0000000..d6b9705
--- /dev/null
+++ b/src/META-INF/derby_persistence.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<!-- persistence.xml schema -->
+<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0">
+	<persistence-unit name="openmeetings" transaction-type="RESOURCE_LOCAL">
+ 		<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
+		<class>org.openmeetings.app.persistence.beans.adresses.Adresses</class>
+		<class>org.openmeetings.app.persistence.beans.adresses.States</class>
+		<class>org.openmeetings.app.persistence.beans.basic.Configuration</class>
+		<class>org.openmeetings.app.persistence.beans.basic.ErrorType</class>
+		<class>org.openmeetings.app.persistence.beans.basic.ErrorValues</class>
+		<class>org.openmeetings.app.persistence.beans.basic.LdapConfig</class>
+		<class>org.openmeetings.app.persistence.beans.basic.Naviglobal</class>
+		<class>org.openmeetings.app.persistence.beans.basic.Navimain</class>
+		<class>org.openmeetings.app.persistence.beans.basic.OmTimeZone</class>
+		<class>org.openmeetings.app.persistence.beans.basic.Sessiondata</class>
+		<class>org.openmeetings.app.persistence.beans.basic.SOAPLogin</class>
+		<class>org.openmeetings.app.persistence.beans.calendar.Appointment</class>
+		<class>org.openmeetings.app.persistence.beans.calendar.AppointmentCategory</class>
+		<class>org.openmeetings.app.persistence.beans.calendar.AppointmentReminderTyps</class>
+		<class>org.openmeetings.app.persistence.beans.calendar.MeetingMember</class>
+		<class>org.openmeetings.app.persistence.beans.domain.Organisation</class>
+		<class>org.openmeetings.app.persistence.beans.domain.Organisation_Users</class>
+		<class>org.openmeetings.app.persistence.beans.flvrecord.FlvRecording</class>
+		<class>org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingLog</class>
+		<class>org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaData</class>
+		<class>org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaDelta</class>
+		<class>org.openmeetings.app.persistence.beans.invitation.Invitations</class>
+		<class>org.openmeetings.app.persistence.beans.lang.FieldLanguage</class>
+		<class>org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues</class>
+		<class>org.openmeetings.app.persistence.beans.lang.Fieldvalues</class>
+		<class>org.openmeetings.app.persistence.beans.logs.ConferenceLog</class>
+		<class>org.openmeetings.app.persistence.beans.logs.ConferenceLogType</class>
+		<class>org.openmeetings.app.persistence.beans.poll.PollType</class>
+		<class>org.openmeetings.app.persistence.beans.poll.RoomPoll</class>
+		<class>org.openmeetings.app.persistence.beans.poll.RoomPollAnswers</class>
+		<class>org.openmeetings.app.persistence.beans.rooms.RoomModerators</class>
+		<class>org.openmeetings.app.persistence.beans.rooms.Rooms</class>
+		<class>org.openmeetings.app.persistence.beans.rooms.RoomTypes</class>
+		<class>org.openmeetings.app.persistence.beans.rooms.Rooms_Organisation</class>
+		<class>org.openmeetings.app.persistence.beans.sip.OpenXGReturnObject</class>
+		<class>org.openmeetings.app.persistence.beans.user.PrivateMessages</class>
+		<class>org.openmeetings.app.persistence.beans.user.PrivateMessageFolder</class>
+		<class>org.openmeetings.app.persistence.beans.user.Salutations</class>
+		<class>org.openmeetings.app.persistence.beans.user.UserContacts</class>
+		<class>org.openmeetings.app.persistence.beans.user.Userdata</class>
+		<class>org.openmeetings.app.persistence.beans.user.Userlevel</class>
+		<class>org.openmeetings.app.persistence.beans.user.UserSipData</class>
+		<class>org.openmeetings.app.persistence.beans.user.Users</class>
+		<class>org.openmeetings.app.persistence.beans.files.FileExplorerItem</class>
+		<class>org.openmeetings.app.persistence.beans.sip.asterisk.AsteriskSipUsers</class>
+        <class>org.openmeetings.app.persistence.beans.sip.asterisk.Extensions</class>
+        <class>org.openmeetings.app.persistence.beans.sip.asterisk.MeetMe</class>
+		<exclude-unlisted-classes>false</exclude-unlisted-classes>
+        <properties>
+            <property name="openjpa.RuntimeUnenhancedClasses" value="unsupported" />
+            <property name="openjpa.ConnectionDriverName" value="org.apache.commons.dbcp.BasicDataSource" />
+            <property name="openjpa.ConnectionProperties"
+                value="DriverClassName=org.apache.derby.jdbc.ClientDriver,
+                                  Url=jdbc:derby:openmeetings;create=true, 
+                                  create=true,
+                                  MaxActive=100, 
+                                  MaxWait=10000, 
+                                  TestOnBorrow=true, 
+                                  Username=user, 
+                                  Password=secret" />
+            <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema" />
+            <property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO" />
+            <property name="openjpa.DataCache" value="true" />
+            <property name="openjpa.QueryCache" value="true" />
+            <property name="openjpa.jdbc.DBDictionary" value="batchLimit=100" />
+            <property name="openjpa.jdbc.QuerySQLCache" value="false" />
+    	</properties>
+	</persistence-unit>
+</persistence>
diff --git a/src/META-INF/mysql_persistence.xml b/src/META-INF/mysql_persistence.xml
new file mode 100644
index 0000000..75491b7
--- /dev/null
+++ b/src/META-INF/mysql_persistence.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<!-- persistence.xml schema -->
+<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0">
+	<persistence-unit name="openmeetings" transaction-type="RESOURCE_LOCAL">
+ 		<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
+		<class>org.openmeetings.app.persistence.beans.adresses.Adresses</class>
+		<class>org.openmeetings.app.persistence.beans.adresses.States</class>
+		<class>org.openmeetings.app.persistence.beans.basic.Configuration</class>
+		<class>org.openmeetings.app.persistence.beans.basic.ErrorType</class>
+		<class>org.openmeetings.app.persistence.beans.basic.ErrorValues</class>
+		<class>org.openmeetings.app.persistence.beans.basic.LdapConfig</class>
+		<class>org.openmeetings.app.persistence.beans.basic.Naviglobal</class>
+		<class>org.openmeetings.app.persistence.beans.basic.Navimain</class>
+		<class>org.openmeetings.app.persistence.beans.basic.OmTimeZone</class>
+		<class>org.openmeetings.app.persistence.beans.basic.Sessiondata</class>
+		<class>org.openmeetings.app.persistence.beans.basic.SOAPLogin</class>
+		<class>org.openmeetings.app.persistence.beans.calendar.Appointment</class>
+		<class>org.openmeetings.app.persistence.beans.calendar.AppointmentCategory</class>
+		<class>org.openmeetings.app.persistence.beans.calendar.AppointmentReminderTyps</class>
+		<class>org.openmeetings.app.persistence.beans.calendar.MeetingMember</class>
+		<class>org.openmeetings.app.persistence.beans.domain.Organisation</class>
+		<class>org.openmeetings.app.persistence.beans.domain.Organisation_Users</class>
+		<class>org.openmeetings.app.persistence.beans.flvrecord.FlvRecording</class>
+		<class>org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingLog</class>
+		<class>org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaData</class>
+		<class>org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaDelta</class>
+		<class>org.openmeetings.app.persistence.beans.invitation.Invitations</class>
+		<class>org.openmeetings.app.persistence.beans.lang.FieldLanguage</class>
+		<class>org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues</class>
+		<class>org.openmeetings.app.persistence.beans.lang.Fieldvalues</class>
+		<class>org.openmeetings.app.persistence.beans.logs.ConferenceLog</class>
+		<class>org.openmeetings.app.persistence.beans.logs.ConferenceLogType</class>
+		<class>org.openmeetings.app.persistence.beans.poll.PollType</class>
+		<class>org.openmeetings.app.persistence.beans.poll.RoomPoll</class>
+		<class>org.openmeetings.app.persistence.beans.poll.RoomPollAnswers</class>
+		<class>org.openmeetings.app.persistence.beans.rooms.RoomModerators</class>
+		<class>org.openmeetings.app.persistence.beans.rooms.Rooms</class>
+		<class>org.openmeetings.app.persistence.beans.rooms.RoomTypes</class>
+		<class>org.openmeetings.app.persistence.beans.rooms.Rooms_Organisation</class>
+		<class>org.openmeetings.app.persistence.beans.sip.OpenXGReturnObject</class>
+		<class>org.openmeetings.app.persistence.beans.user.PrivateMessages</class>
+		<class>org.openmeetings.app.persistence.beans.user.PrivateMessageFolder</class>
+		<class>org.openmeetings.app.persistence.beans.user.Salutations</class>
+		<class>org.openmeetings.app.persistence.beans.user.UserContacts</class>
+		<class>org.openmeetings.app.persistence.beans.user.Userdata</class>
+		<class>org.openmeetings.app.persistence.beans.user.Userlevel</class>
+		<class>org.openmeetings.app.persistence.beans.user.UserSipData</class>
+		<class>org.openmeetings.app.persistence.beans.user.Users</class>
+		<class>org.openmeetings.app.persistence.beans.files.FileExplorerItem</class>
+        <class>org.openmeetings.app.persistence.beans.sip.asterisk.AsteriskSipUsers</class>
+        <class>org.openmeetings.app.persistence.beans.sip.asterisk.Extensions</class>
+        <class>org.openmeetings.app.persistence.beans.sip.asterisk.MeetMe</class>
+		<exclude-unlisted-classes>false</exclude-unlisted-classes>
+		<properties>
+		    <property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/>
+            <property name="openjpa.ConnectionDriverName" value="org.apache.commons.dbcp.BasicDataSource" />
+			<property name="openjpa.ConnectionProperties"
+				value="DriverClassName=com.mysql.jdbc.Driver
+					, Url=jdbc:mysql://localhost:3306/openmeetings?autoReconnect=true&amp;useUnicode=true&amp;createDatabaseIfNotExist=true&amp;characterEncoding=utf-8&amp;connectionCollation=utf8_general_ci&amp;cachePrepStmts=true&amp;cacheCallableStatements=true&amp;cacheServerConfiguration=true&amp;useLocalSessionState=true&amp;elideSetAutoCommits=true&amp;alwaysSendSetIsolation=false&amp;enableQueryTimeouts=false&amp;prepStmtCacheSize=3000&amp;prepStmtCacheSqlLimit=1000
+					, MaxActive=100
+					, MaxWait=10000
+					, TestOnBorrow=true
+					, poolPreparedStatements=true
+					, Username=root
+					, Password="/>
+			<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/>
+			<property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO" />
+			<property name="openjpa.DataCache" value="true"/>
+			<!-- QueryCache disabled due to changes outside of JPA doesn't take effect with caching -->
+			<property name="openjpa.QueryCache" value="false"/>
+			<property name="openjpa.jdbc.DBDictionary"  value="batchLimit=100,tableType=myisam"/> 
+			<property name="openjpa.jdbc.QuerySQLCache"  value="false"/> 
+		</properties>
+	</persistence-unit>
+</persistence>
diff --git a/src/META-INF/oracle_persistence.xml b/src/META-INF/oracle_persistence.xml
new file mode 100644
index 0000000..dc1186e
--- /dev/null
+++ b/src/META-INF/oracle_persistence.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<!-- persistence.xml schema -->
+<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0">
+	<persistence-unit name="openmeetings" transaction-type="RESOURCE_LOCAL">
+ 		<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
+		<class>org.openmeetings.app.persistence.beans.adresses.Adresses</class>
+		<class>org.openmeetings.app.persistence.beans.adresses.States</class>
+		<class>org.openmeetings.app.persistence.beans.basic.Configuration</class>
+		<class>org.openmeetings.app.persistence.beans.basic.ErrorType</class>
+		<class>org.openmeetings.app.persistence.beans.basic.ErrorValues</class>
+		<class>org.openmeetings.app.persistence.beans.basic.LdapConfig</class>
+		<class>org.openmeetings.app.persistence.beans.basic.Naviglobal</class>
+		<class>org.openmeetings.app.persistence.beans.basic.Navimain</class>
+		<class>org.openmeetings.app.persistence.beans.basic.OmTimeZone</class>
+		<class>org.openmeetings.app.persistence.beans.basic.Sessiondata</class>
+		<class>org.openmeetings.app.persistence.beans.basic.SOAPLogin</class>
+		<class>org.openmeetings.app.persistence.beans.calendar.Appointment</class>
+		<class>org.openmeetings.app.persistence.beans.calendar.AppointmentCategory</class>
+		<class>org.openmeetings.app.persistence.beans.calendar.AppointmentReminderTyps</class>
+		<class>org.openmeetings.app.persistence.beans.calendar.MeetingMember</class>
+		<class>org.openmeetings.app.persistence.beans.domain.Organisation</class>
+		<class>org.openmeetings.app.persistence.beans.domain.Organisation_Users</class>
+		<class>org.openmeetings.app.persistence.beans.flvrecord.FlvRecording</class>
+		<class>org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingLog</class>
+		<class>org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaData</class>
+		<class>org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaDelta</class>
+		<class>org.openmeetings.app.persistence.beans.invitation.Invitations</class>
+		<class>org.openmeetings.app.persistence.beans.lang.FieldLanguage</class>
+		<class>org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues</class>
+		<class>org.openmeetings.app.persistence.beans.lang.Fieldvalues</class>
+		<class>org.openmeetings.app.persistence.beans.logs.ConferenceLog</class>
+		<class>org.openmeetings.app.persistence.beans.logs.ConferenceLogType</class>
+		<class>org.openmeetings.app.persistence.beans.poll.PollType</class>
+		<class>org.openmeetings.app.persistence.beans.poll.RoomPoll</class>
+		<class>org.openmeetings.app.persistence.beans.poll.RoomPollAnswers</class>
+		<class>org.openmeetings.app.persistence.beans.rooms.RoomModerators</class>
+		<class>org.openmeetings.app.persistence.beans.rooms.Rooms</class>
+		<class>org.openmeetings.app.persistence.beans.rooms.RoomTypes</class>
+		<class>org.openmeetings.app.persistence.beans.rooms.Rooms_Organisation</class>
+		<class>org.openmeetings.app.persistence.beans.sip.OpenXGReturnObject</class>
+		<class>org.openmeetings.app.persistence.beans.user.PrivateMessages</class>
+		<class>org.openmeetings.app.persistence.beans.user.PrivateMessageFolder</class>
+		<class>org.openmeetings.app.persistence.beans.user.Salutations</class>
+		<class>org.openmeetings.app.persistence.beans.user.UserContacts</class>
+		<class>org.openmeetings.app.persistence.beans.user.Userdata</class>
+		<class>org.openmeetings.app.persistence.beans.user.Userlevel</class>
+		<class>org.openmeetings.app.persistence.beans.user.UserSipData</class>
+		<class>org.openmeetings.app.persistence.beans.user.Users</class>
+		<class>org.openmeetings.app.persistence.beans.files.FileExplorerItem</class>
+		<exclude-unlisted-classes>false</exclude-unlisted-classes>
+		<properties>
+			<property name="openjpa.RuntimeUnenhancedClasses" value="unsupported" />
+			<property name="openjpa.ConnectionDriverName" value="org.apache.commons.dbcp.BasicDataSource" />
+			<property name="openjpa.ConnectionProperties"
+					value="DriverClassName=oracle.jdbc.driver.OracleDriver
+							, Url=jdbc:oracle:thin:@localhost:1521:openmeetings 
+							, create=true
+							, MaxActive=100 
+							, MaxWait=10000 
+							, TestOnBorrow=true 
+							, Username=SYSTEM 
+							, Password=admin" />
+			<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/>
+			<property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO" />
+			<property name="openjpa.DataCache" value="true"/>
+			<property name="openjpa.QueryCache" value="true"/> 
+			<property name="openjpa.jdbc.DBDictionary" value="oracle(UseTriggersForAutoAssign=true, MaxAutoAssignNameLength=28, BatchLimit=100)" />
+			<property name="openjpa.jdbc.QuerySQLCache" value="false"/> 
+    	</properties>
+	</persistence-unit>
+</persistence>
diff --git a/src/META-INF/postgres_persistence.xml b/src/META-INF/postgres_persistence.xml
new file mode 100644
index 0000000..553a3fb
--- /dev/null
+++ b/src/META-INF/postgres_persistence.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<!-- persistence.xml schema -->
+<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0">
+	<persistence-unit name="openmeetings" transaction-type="RESOURCE_LOCAL">
+ 		<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
+		<class>org.openmeetings.app.persistence.beans.adresses.Adresses</class>
+		<class>org.openmeetings.app.persistence.beans.adresses.States</class>
+		<class>org.openmeetings.app.persistence.beans.basic.Configuration</class>
+		<class>org.openmeetings.app.persistence.beans.basic.ErrorType</class>
+		<class>org.openmeetings.app.persistence.beans.basic.ErrorValues</class>
+		<class>org.openmeetings.app.persistence.beans.basic.LdapConfig</class>
+		<class>org.openmeetings.app.persistence.beans.basic.Naviglobal</class>
+		<class>org.openmeetings.app.persistence.beans.basic.Navimain</class>
+		<class>org.openmeetings.app.persistence.beans.basic.OmTimeZone</class>
+		<class>org.openmeetings.app.persistence.beans.basic.Sessiondata</class>
+		<class>org.openmeetings.app.persistence.beans.basic.SOAPLogin</class>
+		<class>org.openmeetings.app.persistence.beans.calendar.Appointment</class>
+		<class>org.openmeetings.app.persistence.beans.calendar.AppointmentCategory</class>
+		<class>org.openmeetings.app.persistence.beans.calendar.AppointmentReminderTyps</class>
+		<class>org.openmeetings.app.persistence.beans.calendar.MeetingMember</class>
+		<class>org.openmeetings.app.persistence.beans.domain.Organisation</class>
+		<class>org.openmeetings.app.persistence.beans.domain.Organisation_Users</class>
+		<class>org.openmeetings.app.persistence.beans.flvrecord.FlvRecording</class>
+		<class>org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingLog</class>
+		<class>org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaData</class>
+		<class>org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaDelta</class>
+		<class>org.openmeetings.app.persistence.beans.invitation.Invitations</class>
+		<class>org.openmeetings.app.persistence.beans.lang.FieldLanguage</class>
+		<class>org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues</class>
+		<class>org.openmeetings.app.persistence.beans.lang.Fieldvalues</class>
+		<class>org.openmeetings.app.persistence.beans.logs.ConferenceLog</class>
+		<class>org.openmeetings.app.persistence.beans.logs.ConferenceLogType</class>
+		<class>org.openmeetings.app.persistence.beans.poll.PollType</class>
+		<class>org.openmeetings.app.persistence.beans.poll.RoomPoll</class>
+		<class>org.openmeetings.app.persistence.beans.poll.RoomPollAnswers</class>
+		<class>org.openmeetings.app.persistence.beans.rooms.RoomModerators</class>
+		<class>org.openmeetings.app.persistence.beans.rooms.Rooms</class>
+		<class>org.openmeetings.app.persistence.beans.rooms.RoomTypes</class>
+		<class>org.openmeetings.app.persistence.beans.rooms.Rooms_Organisation</class>
+		<class>org.openmeetings.app.persistence.beans.sip.OpenXGReturnObject</class>
+		<class>org.openmeetings.app.persistence.beans.user.PrivateMessages</class>
+		<class>org.openmeetings.app.persistence.beans.user.PrivateMessageFolder</class>
+		<class>org.openmeetings.app.persistence.beans.user.Salutations</class>
+		<class>org.openmeetings.app.persistence.beans.user.UserContacts</class>
+		<class>org.openmeetings.app.persistence.beans.user.Userdata</class>
+		<class>org.openmeetings.app.persistence.beans.user.Userlevel</class>
+		<class>org.openmeetings.app.persistence.beans.user.UserSipData</class>
+		<class>org.openmeetings.app.persistence.beans.user.Users</class>
+		<class>org.openmeetings.app.persistence.beans.files.FileExplorerItem</class>
+		<exclude-unlisted-classes>false</exclude-unlisted-classes>
+		<properties>
+			<property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/>
+            <property name="openjpa.ConnectionDriverName" value="org.apache.commons.dbcp.BasicDataSource" />
+			<property name="openjpa.ConnectionProperties"
+				value="DriverClassName=org.postgresql.Driver
+					, Url=jdbc:postgresql://localhost:5432/openmeetings
+					, MaxActive=100
+					, MaxWait=10000
+					, TestOnBorrow=true
+					, poolPreparedStatements=true
+					, Username=postgres
+					, Password=1"/>
+				<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/>
+   				<property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO" />
+				<property name="openjpa.DataCache" value="true"/>
+				<property name="openjpa.QueryCache" value="true"/> 
+				<property name="openjpa.jdbc.QuerySQLCache"  value="false"/> 
+    	</properties>
+	</persistence-unit>
+</persistence>
diff --git a/src/META-INF/services.xml b/src/META-INF/services.xml
new file mode 100644
index 0000000..d6f3ca4
--- /dev/null
+++ b/src/META-INF/services.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+ -->
+<serviceGroup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="services.xsd">
+  <service name="UserService">
+	<description>User Service</description>
+	<messageReceivers>
+        <messageReceiver 
+            mep="http://www.w3.org/ns/wsdl/in-only"
+			class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
+        <messageReceiver
+            mep="http://www.w3.org/ns/wsdl/in-out"
+			class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
+    </messageReceivers>
+    <parameter name="ServiceClass" locked="xsd:false">org.openmeetings.axis.services.UserWebServiceFacade</parameter>
+  </service>
+  <service name="RoomService">
+	<description>Room Service</description>
+	<messageReceivers>
+        <messageReceiver 
+            mep="http://www.w3.org/ns/wsdl/in-only"
+			class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
+        <messageReceiver
+            mep="http://www.w3.org/ns/wsdl/in-out"
+			class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
+    </messageReceivers>
+    <parameter name="ServiceClass" locked="xsd:false">org.openmeetings.axis.services.RoomWebServiceFacade</parameter>
+  </service>
+  <service name="FileService">
+	<description>File Service</description>
+	<messageReceivers>
+        <messageReceiver 
+            mep="http://www.w3.org/ns/wsdl/in-only"
+			class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
+        <messageReceiver
+            mep="http://www.w3.org/ns/wsdl/in-out"
+			class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
+    </messageReceivers>
+    <parameter name="ServiceClass" locked="xsd:false">org.openmeetings.axis.services.FileWebServiceFacade</parameter>
+  </service>
+  <service name="CalendarService">
+	<description>Calendar Service</description>
+	<messageReceivers>
+        <messageReceiver 
+            mep="http://www.w3.org/ns/wsdl/in-only"
+			class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
+        <messageReceiver
+            mep="http://www.w3.org/ns/wsdl/in-out"
+			class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
+    </messageReceivers>
+    <parameter name="ServiceClass" locked="xsd:false">org.openmeetings.axis.services.CalendarWebServiceFacade</parameter>
+  </service>
+  <service name="JabberService">
+	<description>Jabber Service</description>
+	<messageReceivers>
+        <messageReceiver 
+            mep="http://www.w3.org/ns/wsdl/in-only"
+			class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
+        <messageReceiver
+            mep="http://www.w3.org/ns/wsdl/in-out"
+			class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
+    </messageReceivers>
+    <parameter name="ServiceClass" locked="xsd:false">org.openmeetings.axis.services.JabberWebServiceFacade</parameter>
+  </service>
+</serviceGroup>
diff --git a/src/META-INF/services.xsd b/src/META-INF/services.xsd
new file mode 100644
index 0000000..a71b92b
--- /dev/null
+++ b/src/META-INF/services.xsd
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one

+  or more contributor license agreements.  See the NOTICE file

+  distributed with this work for additional information

+  regarding copyright ownership.  The ASF licenses this file

+  to you under the Apache License, Version 2.0 (the

+  "License"); you may not use this file except in compliance

+  with the License.  You may obtain a copy of the License at

+  

+      http://www.apache.org/licenses/LICENSE-2.0

+    	  

+  Unless required by applicable law or agreed to in writing,

+  software distributed under the License is distributed on an

+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+  KIND, either express or implied.  See the License for the

+  specific language governing permissions and limitations

+  under the License.

+  

+-->

+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

+  <xs:element name="serviceGroup">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element maxOccurs="unbounded" ref="service"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="service">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element ref="description"/>

+        <xs:element ref="messageReceivers"/>

+        <xs:element ref="parameter"/>

+      </xs:sequence>

+      <xs:attribute name="name" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="description" type="xs:string"/>

+  <xs:element name="messageReceivers">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element maxOccurs="unbounded" ref="messageReceiver"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="messageReceiver">

+    <xs:complexType>

+      <xs:attribute name="class" use="required"/>

+      <xs:attribute name="mep" use="required" type="xs:anyURI"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="parameter">

+    <xs:complexType mixed="true">

+      <xs:attribute name="locked" use="required" type="xs:NMTOKEN"/>

+      <xs:attribute name="name" use="required" type="xs:NCName"/>

+    </xs:complexType>

+  </xs:element>

+</xs:schema>

diff --git a/src/activation_template.vm b/src/activation_template.vm
new file mode 100644
index 0000000..a4ecb47
--- /dev/null
+++ b/src/activation_template.vm
@@ -0,0 +1,29 @@
+## OpenMeetings
+## author swagner
+## 21.07.2009
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='de' lang='de'>
+<head>
+<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
+</head>
+<body>
+<H1>$message</h1>
+<br/>
+<br/>
+$link
+</body>
+</html>
diff --git a/src/booting.vm b/src/booting.vm
new file mode 100644
index 0000000..0a7659a
--- /dev/null
+++ b/src/booting.vm
@@ -0,0 +1,28 @@
+## OpenMeetings
+## author swagner
+## 16.05.2007
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='de' lang='de'>
+<head>
+<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
+</head>
+<body>
+<b>OpenMeetings - Loading ...</b><br />
+The server is not yet completely initialized. Please try again in a couple of seconds.<br/>
+If this message persists for several minutes contact your Sys-Administration.
+</body>
+</html>
diff --git a/src/booting_install.vm b/src/booting_install.vm
new file mode 100644
index 0000000..420f628
--- /dev/null
+++ b/src/booting_install.vm
@@ -0,0 +1,30 @@
+## OpenMeetings
+## author swagner
+## 16.05.2007
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='de' lang='de'>
+<head>
+<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
+</head>
+<body>
+<b>OpenMeetings - Loading ...</b><br />
+The server is not yet completely initialized. Please try again in a couple of seconds.<br/>
+If this message persists for several minutes contact your Sys-Administration.<br/>
+If that message stays forever you should check the logs located in 
+<pre>openmeetings_install_dir/log</pre> folder, probably your database user/pwd/host is wrong!
+</body>
+</html>
diff --git a/src/feedback.vm b/src/feedback.vm
new file mode 100644
index 0000000..b1ad3af
--- /dev/null
+++ b/src/feedback.vm
@@ -0,0 +1,31 @@
+## OpenMeetings
+## author swagner
+## 16.05.2007
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='de' lang='de'>
+<head>
+<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
+</head>
+<body>
+<b>OpenMeetings - Feedback</b><br />
+Message from User: $username<br/>
+Mail: $email<br/>
+Message: $message<br/><br/>
+<b>Click on this link to participate in the Meeting:</b><br/>
+<A HREF="$invitation_link">Click here to enter room</A><BR/>
+</body>
+</html>
diff --git a/src/install_complete_EN.vm b/src/install_complete_EN.vm
new file mode 100644
index 0000000..2065a04
--- /dev/null
+++ b/src/install_complete_EN.vm
@@ -0,0 +1,30 @@
+## OpenMeetings
+## author swagner
+## 10.05.2007
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='de' lang='de'>
+<head>
+<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
+</head>
+<body>
+<b>OpenMeetings - Installation</b><br />
+The Installation process is complete.<BR />
+You can login into the application using:<br/>
+User: swagner<BR/>
+Pass: test<BR/>
+</body>
+</html>
diff --git a/src/install_error_EN.vm b/src/install_error_EN.vm
new file mode 100644
index 0000000..e2a05ab
--- /dev/null
+++ b/src/install_error_EN.vm
@@ -0,0 +1,29 @@
+## OpenMeetings
+## author swagner
+## 10.05.2007
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='de' lang='de'>
+<head>
+<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
+</head>
+<body>
+<b>OpenMeetings - Installation</b><br />
+<h>Error:</h><br/>
+$error
+$path
+</body>
+</html>
diff --git a/src/install_exception_EN.vm b/src/install_exception_EN.vm
new file mode 100644
index 0000000..05b57cd
--- /dev/null
+++ b/src/install_exception_EN.vm
@@ -0,0 +1,29 @@
+## OpenMeetings
+## author swagner
+## 11.05.2007
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='de' lang='de'>
+<head>
+<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
+</head>
+<body>
+<b>OpenMeetings - Installation</b><br />
+<h>Error:</h><br/>
+$error
+$path
+</body>
+</html>
diff --git a/src/install_step1_EN.vm b/src/install_step1_EN.vm
new file mode 100644
index 0000000..42ca414
--- /dev/null
+++ b/src/install_step1_EN.vm
@@ -0,0 +1,551 @@
+## OpenMeetings
+## author swagner
+## 11.05.2007
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='de' lang='de'>
+<head>
+<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
+<style type="text/css">
+
+form, fieldset {
+	margin: 0;
+	padding: 0;
+	}
+	
+fieldset { border: 1px solid #000; }
+
+legend {
+	padding: 0;
+	color: #000;
+}
+
+input:focus, textarea:focus {
+	color: #000; 
+	background: #fff;
+	outline: 1px solid black;
+}
+
+
+input, textarea, select {
+	margin: 0;
+	padding: 1px;
+	position:absolute;
+	left:440px;
+	background: #ddd;
+	font-size: 100%;
+	font-family: inherit;
+}
+
+select { padding: 0; }
+
+form.cmxform {
+	width: 1024px;
+	font-size: 1.1em;
+	color: #333;
+	}
+	
+form.cmxform legend { padding-left: 0; }
+	
+form.cmxform legend,
+form.cmxform label { color: #333; }
+
+form.cmxform fieldset {
+	border: none;
+	border-top: 1px solid #C9DCA6;
+	}
+	
+form.cmxform fieldset fieldset { background: none; }
+	
+form.cmxform fieldset li {
+	padding: 5px 10px 7px;
+	}
+	
+form.cmxform fieldset {
+  margin-bottom: 10px;
+}
+form.cmxform legend {
+  padding: 0 2px;
+  font-weight: bold;
+}
+form.cmxform label {
+  display: inline-block;
+  line-height: 1.8;
+  vertical-align: top;
+}
+form.cmxform fieldset ol {
+  margin: 0;
+  padding: 0;
+}
+form.cmxform fieldset li {
+  list-style: none;
+  padding: 5px;
+  margin: 0;
+}
+form.cmxform fieldset fieldset {
+  border: none;
+  margin: 3px 0 0;
+}
+form.cmxform fieldset fieldset legend {
+  padding: 0 0 5px;
+  font-weight: normal;
+}
+form.cmxform fieldset fieldset label {
+  display: block;
+  width: auto;
+}
+form.cmxform em {
+  font-weight: bold;
+  font-style: normal;
+  color: #f00;
+}
+form.cmxform label {
+  width: 420px; /* Width of labels */
+}
+form.cmxform fieldset fieldset label {
+  margin-left: 123px; /* Width plus 3 (html space) */
+}
+
+</style>
+</head>
+<body>
+
+<script language="JavaScript"> 
+ 
+function checkEmail() 
+{
+    //alert(document.getElementById("useremail").value);
+    
+	if	(/^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+.)+([a-zA-Z]{1,3})$/.test(document.getElementById("useremail").value))
+	{
+		document.forms[0].submit();
+	}
+	else
+	{
+		alert("Please enter a valid EMail, for example name@mail.com");
+	}
+}
+</script>
+
+<h1>$APP_NAME - Installation</h1>
+
+<form name="cmxform" id="form1" class="cmxform" method="post" action="?command=step2">
+
+    <fieldset id="userData">
+    
+		<legend>Userdata</legend>    
+		<li>
+        <label for="username">Username</label>
+    	<input name="username" id="username" size="27" 
+    		title="Enter a username" type="text" /><br />
+		</li><li>
+        <label for="userpass">Userpass</label>
+    	<input name="userpass" id="userpass" size="27" 
+    		title="Enter a password" type="password" /><br />
+		</li><li>
+        <label for="useremail">EMail</label>
+    	<input name="useremail" id="useremail" size="27" 
+    		title="Enter a EMail" type="text" /><br/>
+		</li><li> 
+    	<label for="timeZone">User Time Zone</label>
+    	<select name="timeZone" id="timeZone" 
+    		size="1">
+			#foreach( $key in $allTimeZones.keySet() )
+			    <option value="$key">$allTimeZones.get($key)</option>
+			#end	
+	    </select><br/>
+	    </li> 
+    </fieldset>
+    
+    <fieldset id="userOrga" >
+    
+		<legend>Organisation(Domains)</legend>    
+		<li>
+        <label for="orgname">Name</label>
+    	<input name="orgname" id="orgname" size="27" 
+    		title="Enter a default Organisation" type="text" />   	
+    	</li>    	
+    </fieldset>    
+    
+    <fieldset id="userConf">
+    
+		<legend>Configuration</legend>    
+		<li>
+        <label for="configdefault">Allow self-registering (allow_frontend_register)</label>
+    	<select name="configdefault" id="configdefault" size="1" 
+    		>
+	      	<option value="1" selected>Yes</option>
+	        <option value="0">No</option>
+	    </select><br />
+	    </li><li>
+        <label for="sendEmailAtRegister">Send Email to new registered Users (sendEmailAtRegister)</label>
+    	<select name="sendEmailAtRegister" id="sendEmailAtRegister" size="1"
+    		>
+	      	<option value="1" selected>Yes</option>
+	        <option value="0">No</option>
+	    </select><br />	 
+		</li><li>
+        <label for="sendEmailWithVerficationCode">New Users need to verify their EMail (sendEmailWithVerficationCode)</label>
+    	<select name="sendEmailWithVerficationCode" id="sendEmailWithVerficationCode" 
+    		size="1">
+	      	<option value="1" selected>Yes</option>
+	        <option value="0">No</option>
+	    </select><br />	 	       
+		</li><li>
+        <label for="createDefaultRooms">Default Rooms of all types will be created</label>
+    	<select name="createDefaultRooms" id="createDefaultRooms"
+    		size="1">
+	      	<option value="1" selected>Yes</option>
+	        <option value="0">No</option>
+	    </select><br />	 	       
+	    </li><li>
+	    <label for="configreferer">Mail-Referer (system_email_addr)</label>
+    	<input name="configreferer" id="configreferer" size="27" 
+    		title="Enter a Referer" type="text" value="noreply@localhost" /><br />
+    	</li><li>
+        <label for="configsmtp">SMTP-Server (smtp_server)</label>
+    	<input name="configsmtp" id="configsmtp" size="27" 
+    		title="Enter a SMTP-Server" type="text" value="localhost" /><br/>
+    	</li><li>
+    	<label for="configsmtp">SMTP-Server Port(default Smtp-Server Port is 25) (smtp_port)</label>
+    	<input name="configsmtpport" id="configsmtpport" size="27" 
+    		title="Enter a SMTP-Server.Port normally 25" type="text" value="25" /><br/>
+    	</li><li>
+    	<label for="configmailuser">SMTP-Username (email_userpass)</label>
+    	<input name="configmailuser" id="configmailuser" size="27" 
+    		title="Enter the mail-username" type="text" /><br />
+    	</li><li>
+    	<label for="configmailpass">SMTP-Userpass (email_userpass)</label>
+    	<input name="configmailpass" id="configmailpass" size="27" 
+    		title="Enter the mail-userpass" type="password" /><br/>
+    	</li><li>
+        <label for="mailusetls">Enable TLS in Mail Server Auth</label>
+    	<select name="mailusetls" id="mailusetls" 
+    		size="1">
+	      	<option value="1">Yes</option>
+	        <option value="0" selected>No</option>
+	    </select><br />	 	       
+	    </li><li>
+        <label for="replyToOrganizer">Set inviter's email address as ReplyTo in email invitations (inviter.email.as.replyto)</label>
+    	<select name="replyToOrganizer" id="replyToOrganizer" size="1"
+    		>
+	      	<option value="1" selected>Yes</option>
+	        <option value="0">No</option>
+	    </select><br />	 
+	    </li><li> 
+    	<label for="configdefaultLang">Default Language</label>
+    	<select name="configdefaultLang" id="configdefaultLang" 
+    		size="1">
+			#foreach( $key in $allLanguages.keySet() )
+			    <option value="$key">$allLanguages.get($key)</option>
+			#end	
+	    </select><br/>
+	    </li> 
+	    <li> 
+    	<label for="default_export_font">Default Font for Export [default_export_font]</label>
+    	<select name="default_export_font" id="default_export_font" 
+    		size="1">
+			#foreach( $key1 in $allFonts.keySet() )
+			    <option value="$key1">$allFonts.get($key1)</option>
+			#end	
+	    </select><br/>
+	    </li>      	
+    </fieldset>  
+    
+    <fieldset id="userConf1">
+		<legend>Converters</legend>
+	<li>
+	        <label for="swftools_zoom">SWFTools Zoom</label>
+	    	<input name="swftools_zoom" id="swftools_zoom" size="4"  value="72"
+		title="Enter the dpi that swftools will use for PDF to SWF conversion" type="text" 	 />   	
+	    	<p><i>You can test if swftools is installed into system path by opening a shell or cmd-prompt and type pdf2swf<br/>
+	    		Enter the dpi that swftools will use for PDF to SWF conversion. Default is 72 dpi.<br/>
+	    		see also <a href="http://incubator.apache.org/openmeetings/installation.html" target="_blank">Installation</a></i></p>
+		
+        </li>
+	<li>
+	        <label for="swftools_jpegquality">SWFTools JPEG Quality</label>
+	    	<input name="swftools_jpegquality" id="swftools_jpegquality" size="3" value="85" 
+		title="Enter the quality of embedded jpeg pictures to quality. 0 is worst (small), 100 is best (big). (default:85)"  type="text" />   	
+	    	<p>
+		<i>You can test if swftools is installed into system path by opening a shell or cmd-prompt and type pdf2swf<br/>
+	    		Enter the quality of embedded jpeg pictures to quality. 0 is worst (small), 100 is best (big). (default:85)<br/>
+	    		see also <a href="http://incubator.apache.org/openmeetings/installation.html" target="_blank">Installation</a></i>
+		</p>
+        </li>
+    
+		<li>
+	        <label for="swftools_path">SWFTools Path</label>
+	    	<input name="swftools_path" id="swftools_path" size="27" title="Enter the path to swftools for example C:/swftools (Windows) or leave blank if swftools is a known to your system path" type="text" />   	
+	    	<p><i>You can test if swftools is installed into system path by opening a shell or cmd-prompt and type pdf2swf<br/>
+	    		If this shows a list of options leave this field blank otherwise you have to specify the path to pdf2swf on your system<br/>
+	    		see also <a href="http://incubator.apache.org/openmeetings/installation.html" target="_blank">Installation</a></i></p>
+        </li>
+        <li>
+	        <label for="imagemagick_path">ImageMagick Path</label>
+	    	<input name="imagemagick_path" id="imagemagick_path" size="27" title="Enter the path to ImageMagick, leave blank if ImageMagick is successfully installed to system-path" type="text" />   	
+	    	<p><i>see also <a href="http://incubator.apache.org/openmeetings/installation.html" target="_blank">Installation</a></i></p>	
+    	</li>
+    	<li>
+	        <label for="ffmpeg_path">FFMPEG Path</label>
+	        <input name="ffmpeg_path" id="ffmpeg_path" size="27" title="Enter the path to FFMPEG, leave blank if FFMPEG is successfully installed to system-path" type="text" />    
+	        <p><i>see also <a href="http://incubator.apache.org/openmeetings/installation.html" target="_blank">Installation</a></i></p>  
+        </li>
+        <li>
+        <label for="sox_path">SoX Path</label>
+	        <input name="sox_path" id="sox_path" size="27" title="Enter the path to SoX, leave blank if SoX is successfully installed to system-path" type="text" />    
+	        <p><i>see also <a href="http://incubator.apache.org/openmeetings/installation.html" target="_blank">Installation</a></i></p>  
+        </li>
+		<li>
+	        <label for="jod_path">JOD Path</label>
+	        <input name="jod_path" id="jod_path" size="27" value="./jodconverter-core-3.0-beta-4/lib" 
+			title="The path to JOD library (http://code.google.com/p/jodconverter), configure the path to point to the lib directory of JOD that contains also the jodconverter-core-version.jar" type="text" />    
+	        <p><i>see also <a href="http://incubator.apache.org/openmeetings/installation.html" target="_blank">Installation</a></i></p>  
+        </li>
+		<li>
+	        <label for="office_path">OpenOffice/LibreOffice Path for jodconverter</label>
+	        <input name="office_path" id="office_path" size="27" value="" 
+			title="The path to OpenOffice/LibreOffice (optional) please set this to the real path in case jodconverter is unable to find OpenOffice/LibreOffice installation automatically" type="text" />    
+	        <p>The path to OpenOffice/LibreOffice (optional) please set this to the real path in case jodconverter is unable to find OpenOffice/LibreOffice installation</p>  
+        </li>
+    </fieldset>      
+    
+    <fieldset id="userConf2">
+    
+		<legend>Crypt Type</legend>    
+		<li>
+        <label for="crypt_ClassName">Crypt Class</label>
+    	<input name="crypt_ClassName" id="crypt_ClassName" size="27" 
+    		type="text" 
+    		title="Enter the Class name of the Encryption Class. DO NOT ALTER THIS IF YOU ARE NOT SURE"
+    		value="org.openmeetings.utils.crypt.MD5Implementation" />  	
+		</li>
+    	<p><i>
+	    	You can use this default crypt type which is equal to PHP-MD5 function or BSD-Style<BR/>
+	    	encryption by using:<b>org.openmeetings.utils.crypt.MD5CryptImplementation</b><BR/>
+	    	for more information or to write your own Crypt-Style see:<BR/>
+			<a href="http://code.google.com/p/openmeetings/wiki/CustomCryptMechanism" target="_blank">CustomCryptMechanism</a><BR/>
+			You can edit this value later BUT previous created Users and Sessions might be not usable anymore<BR/>
+    	</i></p>
+        
+    </fieldset>
+    
+    <fieldset id="ScreenViewer">
+    
+		<legend>Screen Viewer</legend>    
+		<li>
+        <label for="screen_viewer">Screenviewer Config</label>
+    	<select name="screen_viewer" id="screen_viewer" size="1">
+    		<option value="4" selected>Rtmp Viewer (Standard)</option>
+	    </select><br />	
+		</li>
+    	<p><i>
+	    	The standard Screenviewer is optimized for low-bandwidth areas - You have the possibility of<BR/>
+	    	altering the quality of the screencapture,ie.<BR/>
+	    	The jrDesktop alternative starts immediately without GUI, just stoppable via SysTray Icon, but offers<BR/>
+	    	a higher speed tranferring the screencaptures to the whiteboard<BR/>
+	    	The RTP Sharer transfers Desktop Data as RTP Stream to Server. Best performance and quality is reached using 1024x768 as Screen Resolution<BR/>
+	    	
+    	</i></p>
+        
+    </fieldset>
+
+    <fieldset id="red5sip">
+        <legend>red5SIP Configuration</legend>
+
+        <li>
+        <label for="red5sip_enable">Enable SIP</label>
+    	<select name="red5sip_enable" id="red5sip_enable" size="1">
+    		<option value="yes">Yes</option>
+	      	<option value="no" selected>No</option>
+	    </select><br />
+	    </li>
+		<p><i>
+            Enable red5SIP integration
+        </i></p>
+        <br />
+
+        <li>
+        <label for="red5sip_room_prefix">SIP rooms prefix</label>
+        <input name="red5sip_room_prefix" id="red5sip_room_prefix" size="27" title="" type="text" value="400" />
+        <p><i>Prefix for phone number of conference rooms</i></p>
+        </li>
+
+        <li>
+        <label for="red5sip_exten_context">SIP extensions context</label>
+        <input name="red5sip_exten_context" id="red5sip_exten_context" size="27" title="" type="text" value="rooms" />
+        <p><i>Context of Asterisk extensions</i></p>
+        </li>
+
+    </fieldset>
+
+    <fieldset id="sip">
+    
+		<legend>SIP Applet Configuration</legend>    
+		
+		<li>
+        <label for="sip_enable">Enable SIP</label>
+    	<select name="sip_enable" id="sip_enable" size="1">
+    		<option value="yes">Yes</option>
+	      	<option value="no" selected>No</option>
+	    </select><br />	
+	    </li>
+		<p><i>
+            Enable to load the SIP Applet in the Client and 
+            call the SIP Applet whenever you enter a Room
+        </i></p>
+        <br />  
+        
+		<li>
+        <label for="sip_realm">SIP Realm</label>
+        <input name="sip_realm" id="sip_realm" size="27" title="" type="text" />    
+        <p><i>So called *Domain of the SIP Provider*</i></p>  
+        </li>
+        
+    	<li>
+        <label for="sip_port">SIP Port</label>
+        <input name="sip_port" id="sip_port" size="27" title="" type="text" />    
+        <p><i>SIP Port</i></p>  
+        </li>
+        
+        <li>
+        <label for="sip_proxyname">SIP Proxy</label>
+        <input name="sip_proxyname" id="sip_proxyname" size="27" title="" type="text" />    
+        <p><i>SIP Proxy name (this is the outbound proxy)</i></p>  
+        </li>
+        
+        <li>
+        <label for="sip_tunnel">SIP Tunnel</label>
+        <input name="sip_tunnel" id="sip_tunnel" size="27" title="" type="text" />    
+        <p><i>SIP Tunnel IP + Port, format domain:port, for example 10.0.0.0:443</i></p>  
+        </li>
+        
+        <li>
+        <label for="sip_codebase">SIP Codebase</label>
+        <input name="sip_codebase" id="sip_codebase" size="27" title="" type="text" />    
+        <p><i>The Base-URL to load the Ringtone from</i></p>  
+        </li>
+        
+        <li>
+        <label for="sip_forcetunnel">SIP Forcetunnel</label>
+        <select name="sip_forcetunnel" id="sip_forcetunnel" size="1">
+            <option value="true" selected>Yes</option>
+            <option value="false">No</option>
+        </select><br /> 
+        </li>
+        <p><i>
+            Force usage of the tunnel
+        </i></p>
+        
+    </fieldset>   
+    
+    <fieldset id="openxg">
+    
+        <legend>OpenXG / OpenSIPg Configuration</legend>    
+        
+        <li>
+        <label for="sip_openxg_enable">Enable OpenXG Wrapper URL</label>
+        <select name="sip_openxg_enable" id="sip_openxg_enable" size="1">
+            <option value="yes">Yes</option>
+            <option value="no" selected>No</option>
+        </select><br /> 
+        </li>
+        <p><i>
+            Enable the OpenXG XML-RPC Gateway through the Wrapper URL
+        </i></p>
+        <br />  
+        
+        <li>
+        <label for="openxg_wrapper_url">OpenXG XML-RPC Wrapper URL</label>
+        <input name="openxg_wrapper_url" id="openxg_wrapper_url" size="27" title="" type="text" />    
+        <p><i>OpenXG XML-RPC Wrapper URL, the Wrapper can only 
+            be located on 127.0.01 by default,
+            for example http://127.0.0.1:5080/rpc_client/rpc_gateway_wrapper.php </i></p>  
+        </li>
+        
+        <li>
+        <label for="openxg_client_id">OpenXG Client ID</label>
+        <input name="openxg_client_id" id="openxg_client_id" size="27" title="" type="text" />    
+        <p><i>OpenXG XML-RPC Client ID </i></p>  
+        </li>
+        
+        <li>
+        <label for="openxg_client_secret">OpenXG Client secret</label>
+        <input name="openxg_client_secret" id="openxg_client_secret" size="27" title="" type="text" />    
+        <p><i>OpenXG XML-RPC Client Secret </i></p>  
+        </li>
+        
+        <li>
+        <label for="openxg_client_domain">OpenXG Domain</label>
+        <input name="openxg_client_domain" id="openxg_client_domain" size="27" title="" type="text" />    
+        <p><i>OpenXG Domain </i></p>  
+        </li>
+        
+        <li>
+        <label for="openxg_community_code">OpenXG Community Code</label>
+        <input name="openxg_community_code" id="openxg_community_code" size="27" title="" type="text" />    
+        <p><i>OpenXG Community Code </i></p>  
+        </li>
+        
+        <li>
+        <label for="openxg_language_code">OpenXG Language Code</label>
+        <input name="openxg_language_code" id="openxg_language_code" size="27" title="" type="text" />    
+        <p><i>OpenXG Language Code For example fi for Finland</i></p>  
+        </li>
+        
+        <li>
+        <label for="openxg_adminid">OpenXG Admin ID</label>
+        <input name="openxg_adminid" id="openxg_adminid" size="27" title="" type="text" />    
+        <p><i>OpenXG Admin ID </i></p>  
+        </li>
+        
+    </fieldset>   
+    
+    <fieldset id="sip_phone_configuration">
+    
+        <legend>SIP Phone Range Configuration</legend>    
+        
+        <li>
+        <label for="sip_language_phonecode">Phone language code</label>
+        <input name="sip_language_phonecode" id="sip_language_phonecode" size="27" title="" type="text" />    
+        <p><i>For example +358 for Finland</i></p>  
+        </li>
+        
+        <li>
+        <label for="sip_phonerange_start">Phone range start</label>
+        <input name="sip_phonerange_start" id="sip_phonerange_start" size="27" title="" type="text" />    
+        <p><i>The first number in the Range of Phone Numbers in national format</i></p>  
+        </li>
+        
+        <li>
+        <label for="sip_phonerange">Number of allocated Numbers</label>
+        <input name="sip_phonerange" id="sip_phonerange" size="27" title="" type="text" />    
+        <p><i>Amount of numbers in the Phone Range available</i></p>  
+        </li>
+        
+    </fieldset>
+        	  
+        	
+    <fieldset>
+        <legend>Submit</legend> 
+        <input name="Submit" value="INSTALL" 
+    		title="Submit" type="button"  onclick="checkEmail();"/>
+    </fieldset>	
+	
+</form>
+
+</body>
+</html>
diff --git a/src/install_step2_EN.vm b/src/install_step2_EN.vm
new file mode 100644
index 0000000..9976bc5
--- /dev/null
+++ b/src/install_step2_EN.vm
@@ -0,0 +1,43 @@
+## OpenMeetings
+## author swagner
+## 11.05.2007
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
+</head>
+<body>
+<H1>$APP_NAME - Installation Complete!</h1>
+<h2><a href="/$APP_ROOT/">Enter the Application</a></h2>
+<br/>
+<br/>
+If your Red5-Server runs on a different Port or on a different domain<br/>
+<a href="config.xml">alter the config values of the client</a>
+<br/><br/><br/>
+
+<b> <span style="font-size:1.4em">Mailing list</span></b><br/><br/>
+
+<span style="font-size:1.3em"><a href="http://incubator.apache.org/openmeetings/mail-lists.html" target="_blank">http://incubator.apache.org/openmeetings/mail-lists.html</a></span><br/><br/>
+
+
+<b> <span style="font-size:1.4em">There are some companies that also offer commercial support for Apache OpenMeetings:</span></b><br/><br/>
+
+<span style="font-size:1.3em"><a href="http://incubator.apache.org/openmeetings/commercial-support.html" target="_blank">http://incubator.apache.org/openmeetings/commercial-support.html</a></span><br/>
+
+
+</body>
+</html>
diff --git a/src/install_welcome_EN.vm b/src/install_welcome_EN.vm
new file mode 100644
index 0000000..968e44b
--- /dev/null
+++ b/src/install_welcome_EN.vm
@@ -0,0 +1,52 @@
+## OpenMeetings
+## author swagner
+## 10.04.2007
+## revised H.Kuze(minamotonoason) 2008.Apr.2
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
+</head>
+<body>
+<h3>$APP_NAME - Installation</h3>
+
+<h3><A HREF="?command=step1">Continue with STEP 1</A></h3>
+
+<ol><li>
+<h4><a name="Recommendation_for_production_environment"></a>Recommendation for production environment<a target="_blank" href="#Recommendation_for_production_environment" class="section_anchor"></a></h4>
+</li><blockquote>By default $APP_NAME uses the integrated Apache Derby database. For production environment you should consider using <a target="_blank" href="http://incubator.apache.org/openmeetings/MySQLConfig.html">MySQL</a>, <a target="_blank" href="http://incubator.apache.org/openmeetings/PostgresConfig.html">Postgres</a> or for example <a target="_blank" href="http://incubator.apache.org/openmeetings/IBMDB2Config.html">IBM DB2</a> or <a href="http://incubator.apache.org/openmeetings/OracleConfig.html" target="_blank">Oracle</a>
+</blockquote><li><h4><a name="Enabling_Image_Upload_and_import_to_whiteboard"></a>Enabling Image Upload and import to whiteboard<a href="#Enabling_Image_Upload_and_import_to_whiteboard" class="section_anchor"></a></h4></li><ul><li>Install <strong>ImageMagick</strong> on the server, you can get more information on <a target="_blank" href="http://www.imagemagick.org" rel="nofollow">http://www.imagemagick.org</a> regarding installation. The instructions for installation can be found there <a target="_blank" href="http://www.imagemagick.org/script/binary-releases.php" rel="nofollow">http://www.imagemagick.org/script/binary-releases.php</a>, however on most linux systems you can get it via your favorite package managers (apt-get it) </li></ul><li><h4><a name="Enabling_import_of_PDFs_into_whiteboard"></a>Enabling import of PDFs into whiteboard<a href="#Enabling_import_of_PDFs_into_whiteboard" class="section_anchor"></a></h4></li><ul><li>Install <strong>GhostScript</strong> on the server, you can get more information on <a target="_blank" href="http://pages.cs.wisc.edu/%7Eghost/" rel="nofollow">http://pages.cs.wisc.edu/~ghost/</a> regarding installation. The instructions for installation can be found there, however on most linux systems you can get it via your favorite package managers (apt-get it). </li><li>Install <strong>SWFTools</strong> on the server, you can get more information on <a target="_blank" href="http://www.swftools.org/" rel="nofollow">http://www.swftools.org/</a> regarding installation. Some of the Linux distributions already have it in there package manager see <a target="_blank" href="http://packages.debian.org/unstable/utils/swftools" rel="nofollow">http://packages.debian.org/unstable/utils/swftools</a>), the recommended version of <strong>SWFTools</strong> is 0.9 as prior version have a bug that does lead to wrong object dimensions in the Whiteboard </li></ul><li><h4><a name="Enabling_import_of_.doc,_.docx,_.ppt,_.pptx,_..._all_Office_Docu"></a>Enabling import of .doc, .docx, .ppt, .pptx, ... all Office Documents into whitebaord<a href="#Enabling_import_of_.doc,_.docx,_.ppt,_.pptx,_..._all_Office_Docu" class="section_anchor"></a></h4></li><ul><li><strong>OpenOffice-Service</strong> started and listening on port 8100, see <a target="_blank" href="http://incubator.apache.org/openmeetings/OpenOfficeConverter.html">OpenOfficeConverter</a> for details </li></ul><li><h4><a name="Enabling_Recording_and_import_of_.avi,_.flv,_.mov_and_.mp4_into"></a>Enabling Recording and import of .avi, .flv, .mov and .mp4 into whiteboard<a href="#Enabling_Recording_and_import_of_.avi,_.flv,_.mov_and_.mp4_into" class="section_anchor"></a></h4></li><ul><li>Install <strong>FFMpeg</strong>. You should get FFMPEG in an up to date copy! For Windows you can download a Build for example from <a target="_blank" href="http://ffmpeg.arrozcru.org/builds/" rel="nofollow">http://ffmpeg.arrozcru.org/builds/</a> Linux or OSx Users should be able to use one of the various Installation Instructions on the Web. You need to enable libmp3lame! </li><li>Install <strong>SoX</strong> <a href="http://sox.sourceforge.net/" target="_BLANK">http://sox.sourceforge.net/</a>. You should install SoX in a up to date copy! SoX 12.xx will NOT work! </li></ul></ol>
+
+<h3><A HREF="?command=step1">Continue with STEP 1</A></h3>
+
+<br/>
+<b> <span style="font-size:1.2em">If you have further questions or need support in installation or hosting:</span></b><br/><br/>
+
+<b> <span style="font-size:1.2em">Commercial-Support:</span></b><br/><br/>
+
+<span style="font-size:1.1em"><b>By phone</b></span><br/>
+<span style="font-size:1.1em">++49 721 467 27327</span><br/>
+<span style="font-size:1.1em"><b>By email</b></span><br/>
+<span style="font-size:1.1em"><a href="mailto:service@openmeetings.de">service@openmeetings.de</a></span> <br/>
+<br/><br/>
+<b><span style="font-size:1.2em">Community-Support:</span></b><br/><br/>
+<span style="font-size:1.1em"><a href="https://groups.google.com/forum/#!forum/openmeetings-user" target="_blank">User-Forums</a></span> <br/>
+<span style="font-size:1.1em"><a href="https://groups.google.com/forum/#!forum/openmeetings-dev" target="_blank">Developer-Forums</a></span><br/>
+
+
+</body>
+</html>
diff --git a/src/invitation.vm b/src/invitation.vm
new file mode 100644
index 0000000..c9e7727
--- /dev/null
+++ b/src/invitation.vm
@@ -0,0 +1,34 @@
+## OpenMeetings
+## author swagner
+## 16.05.2007
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
+</head>
+<body>
+<b>$labelid500</b><br />
+$labelid501 $user<br/>
+$labelid502 $message<br/>
+
+<b>$labelid503</b><br/>
+<A HREF="$invitation_link">$labelid504</A><BR/>
+<BR/><BR/>
+$labelid505<BR/>
+$invitation_link2
+</body>
+</html>
diff --git a/src/org/openmeetings/app/OpenmeetingsVariables.java b/src/org/openmeetings/app/OpenmeetingsVariables.java
new file mode 100644
index 0000000..6ec5c84
--- /dev/null
+++ b/src/org/openmeetings/app/OpenmeetingsVariables.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app;
+
+public class OpenmeetingsVariables {
+	public static final String UPLOAD_DIR = "upload";
+	public static final String UPLOAD_TEMP_DIR = "uploadtemp";
+	public static final String STREAMS_DIR = "streams";
+	
+	public static String webAppRootKey = null;
+	public static String webAppRootPath = null;
+}
diff --git a/src/org/openmeetings/app/batik/beans/PrintBean.java b/src/org/openmeetings/app/batik/beans/PrintBean.java
new file mode 100644
index 0000000..f30f486
--- /dev/null
+++ b/src/org/openmeetings/app/batik/beans/PrintBean.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.batik.beans;
+
+import java.util.List;
+
+public class PrintBean {
+
+	public String hash;
+	@SuppressWarnings("rawtypes")
+	public List map;
+	public int width;
+	public int height;
+
+	public PrintBean(String hash, @SuppressWarnings("rawtypes") List map,
+			int width, int height) {
+		super();
+		this.hash = hash;
+		this.height = height;
+		this.map = map;
+		this.width = width;
+	}
+
+	public String getHash() {
+		return hash;
+	}
+
+	public void setHash(String hash) {
+		this.hash = hash;
+	}
+
+	@SuppressWarnings("rawtypes")
+	public List getMap() {
+		return map;
+	}
+
+	@SuppressWarnings("rawtypes")
+	public void setMap(List map) {
+		this.map = map;
+	}
+
+	public int getWidth() {
+		return width;
+	}
+
+	public void setWidth(int width) {
+		this.width = width;
+	}
+
+	public int getHeight() {
+		return height;
+	}
+
+	public void setHeight(int height) {
+		this.height = height;
+	}
+
+}
diff --git a/src/org/openmeetings/app/conference/session/RoomClient.java b/src/org/openmeetings/app/conference/session/RoomClient.java
new file mode 100644
index 0000000..7c8e524
--- /dev/null
+++ b/src/org/openmeetings/app/conference/session/RoomClient.java
@@ -0,0 +1,626 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.conference.session;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.LinkedList;
+import java.util.List;
+
+public class RoomClient implements Serializable {
+	
+	private static final long serialVersionUID = 1831858089607111565L;
+
+	private Long roomClientId = null;
+	
+	/*
+	 * login name
+	 */
+	private String username = "";
+	
+	/*
+	 * a unique id
+	 */
+	private String streamid = "";
+	
+	private String scope = "";
+	
+	private int vWidth = 0;
+	private int vHeight = 0;
+	private int vX = 0;
+	private int vY = 0;
+	/**
+	 * StreamPublishName is used in the screen sharing client to publish the stream
+	 */
+	private String streamPublishName = "";
+	
+	/**
+	 * an unique PUBLIC id,
+	 * this ID is needed as people can reconnect and will get a new 
+	 * streamid, but we need to know if this is still the same user
+	 * this Public ID can be changing also if the user does change the 
+	 * security token (private SID)
+	 * the private  Session ID is not written to the RoomClient-Class
+	 * as every instance of the RoomClient is send to all connected users
+	 * 
+	 * publicSID can be empty if a audio/video user is connected but 
+	 * didn't choose any device settings or the connection really just
+	 * has been initialized
+	 */
+	private String publicSID = "";
+	
+	/*
+	 * true indicates that this user is Moderating
+	 * in Events rooms (only 1 Video) this means that this user is currently 
+	 * sharing its video/audio
+	 * 
+	 */
+	private Boolean isMod = false;
+	private Boolean isSuperModerator = false;
+	private Boolean canDraw = false;
+	private Boolean canShare = false;
+	private Boolean canRemote = false;
+    private Boolean canGiveAudio = false;
+	private Date connectedSince;
+	private String formatedDate;
+	private Boolean isScreenClient = false;
+	/**
+	 * If true this client is only used to stream audio/video events, 
+	 * he should not receive any sync events / push messages <br/>
+	 * <br/>
+	 * true the user is an audio/video connection<br/>
+	 * false the user is a regular user with full session object<br/>
+	 * 
+	 */
+	private boolean isAVClient = false;
+	
+	/*
+	 * the color of the user, only needed in 4x4 Conference, in these rooms each user has its own
+	 * color 
+	 */
+	private String usercolor;
+	/*
+	 * no longer needed since broadCastId is now the new unique id
+	 * 
+	 * @deprecated
+	 */
+	private Integer userpos;
+	/*
+	 * client IP
+	 */
+	private String userip;
+	/*
+	 * client Port
+	 */
+	private int userport;
+	/*
+	 * current room id while conferencing
+	 */
+	private Long room_id;
+	
+	private Date roomEnter = null;
+	
+	/*
+	 * this is the id this user is currently using to broadcast a stream
+	 * default value is -2 cause otherwise this can due to disconnect
+	 */
+	private long broadCastID = -2;
+	
+	/*
+	 * some vars _not_ directly connected to the user-record from the database
+	 * cause a user is not _forced_ to login he can also be an invited user, so user_id
+	 * might be null or 0 even if somebody is already in a conference room
+	 * 
+	 */
+	private Long user_id = null;
+	private String firstname = "";
+	private String lastname = "";
+	private String mail;
+	private String lastLogin;
+	private String official_code;
+	private String picture_uri;
+	private String language = "";
+	
+	/*
+	 * these vars are necessary to send notifications from the chatroom of a 
+	 * conference to outside of the conference room
+	 */
+	private Boolean isChatNotification = false;
+	private Long chatUserRoomId = null;
+	
+	/*
+	 * avsettings can be:
+	 * av - video and audio
+	 * a - audio only
+	 * v - video only
+	 * n - no av only static Image
+	 */
+	private String avsettings = "";
+	
+	private String swfurl;
+	private Boolean isRecording = false;
+	private String roomRecordingName;
+	
+	private Long flvRecordingId;
+	private Long flvRecordingMetaDataId;
+	private Long organization_id;
+	boolean startRecording = false;
+	boolean startStreaming = false;
+	private boolean screenPublishStarted = false;
+	private boolean streamPublishStarted = false;
+	
+	/*
+	 * Indicates if this User is broadcasting his stream at all
+	 * Only interesting in the Event Modus
+	 */
+	private Boolean isBroadcasting = false;
+	
+	 //Vars to simulate external Users
+    private String externalUserId;
+    private String externalUserType;
+    
+    private List<String> sharerSIDs = new LinkedList<String>();
+    
+    //Session values for handling the Interviwe Room Type
+    private Integer interviewPodId = null;
+    private Boolean allowRecording = true;
+	
+	/*
+	 * Zombie Flag
+	 */
+	private Boolean zombieCheckFlag = false;
+    private Boolean micMuted = false;
+	
+	public void setUserObject(Long user_id, String username, String firstname, String lastname) {
+		this.user_id = user_id;
+		this.username = username;
+		this.firstname = firstname;
+		this.lastname = lastname;
+	}
+	
+	public void setUserObject(String username, String firstname, String lastname) {
+		this.username = username;
+		this.firstname = firstname;
+		this.lastname = lastname;
+	}
+	
+	public Long getRoomClientId() {
+		return roomClientId;
+	}
+	public void setRoomClientId(Long roomClientId) {
+		this.roomClientId = roomClientId;
+	}
+
+	public Date getConnectedSince() {
+		return connectedSince;
+	}
+	public void setConnectedSince(Date connectedSince) {
+		this.connectedSince = connectedSince;
+	}
+	
+	public Boolean getIsMod() {
+		return isMod;
+	}
+	public void setIsMod(Boolean isMod) {
+		this.isMod = isMod;
+	}
+	
+	public String getUsername() {
+		return username;
+	}
+	public void setUsername(String username) {
+		this.username = username;
+	}
+
+	public String getStreamid() {
+		return streamid;
+	}
+	public void setStreamid(String streamid) {
+		this.streamid = streamid;
+	}
+	
+	public String getScope() {
+		return scope;
+	}
+	public void setScope(String scope) {
+		this.scope = scope;
+	}
+
+	public String getFormatedDate() {
+		return formatedDate;
+	}
+	public void setFormatedDate(String formatedDate) {
+		this.formatedDate = formatedDate;
+	}
+
+	public String getUsercolor() {
+		return usercolor;
+	}
+	public void setUsercolor(String usercolor) {
+		this.usercolor = usercolor;
+	}
+
+	public Integer getUserpos() {
+		return userpos;
+	}
+	public void setUserpos(Integer userpos) {
+		this.userpos = userpos;
+	}
+
+	public String getUserip() {
+		return userip;
+	}
+	public void setUserip(String userip) {
+		this.userip = userip;
+	}
+
+	public String getSwfurl() {
+		return swfurl;
+	}
+	public void setSwfurl(String swfurl) {
+		this.swfurl = swfurl;
+	}
+	
+	public int getUserport() {
+		return userport;
+	}
+	public void setUserport(int userport) {
+		this.userport = userport;
+	}
+	
+	public String getFirstname() {
+		return firstname;
+	}
+	public void setFirstname(String firstname) {
+		this.firstname = firstname;
+	}
+
+	public String getLanguage() {
+		return language;
+	}
+	public void setLanguage(String language) {
+		this.language = language;
+	}
+
+	public String getLastLogin() {
+		return lastLogin;
+	}
+	public void setLastLogin(String lastLogin) {
+		this.lastLogin = lastLogin;
+	}
+
+	public String getLastname() {
+		return lastname;
+	}
+	public void setLastname(String lastname) {
+		this.lastname = lastname;
+	}
+
+	public String getMail() {
+		return mail;
+	}
+	public void setMail(String mail) {
+		this.mail = mail;
+	}
+
+	public String getOfficial_code() {
+		return official_code;
+	}
+	public void setOfficial_code(String official_code) {
+		this.official_code = official_code;
+	}
+
+	public String getPicture_uri() {
+		return picture_uri;
+	}
+	public void setPicture_uri(String picture_uri) {
+		this.picture_uri = picture_uri;
+	}
+
+	public Long getUser_id() {
+		return user_id;
+	}
+	public void setUser_id(Long user_id) {
+		this.user_id = user_id;
+	}
+
+	public Long getRoom_id() {
+		return room_id;
+	}
+	public void setRoom_id(Long room_id) {
+		this.room_id = room_id;
+	}
+
+	public Date getRoomEnter() {
+		return roomEnter;
+	}
+	public void setRoomEnter(Date roomEnter) {
+		this.roomEnter = roomEnter;
+	}
+
+	public Boolean getIsChatNotification() {
+		return isChatNotification;
+	}
+	public void setIsChatNotification(Boolean isChatNotification) {
+		this.isChatNotification = isChatNotification;
+	} 
+
+	public Long getChatUserRoomId() {
+		return chatUserRoomId;
+	}
+	public void setChatUserRoomId(Long chatUserRoomId) {
+		this.chatUserRoomId = chatUserRoomId;
+	}
+
+	public Boolean getIsRecording() {
+		return isRecording;
+	}
+	public void setIsRecording(Boolean isRecording) {
+		this.isRecording = isRecording;
+	}
+
+	public String getRoomRecordingName() {
+		return roomRecordingName;
+	}
+	public void setRoomRecordingName(String roomRecordingName) {
+		this.roomRecordingName = roomRecordingName;
+	}
+
+	public String getAvsettings() {
+		return avsettings;
+	}
+	public void setAvsettings(String avsettings) {
+		this.avsettings = avsettings;
+	}
+
+	public long getBroadCastID() {
+		return broadCastID;
+	}
+	public void setBroadCastID(long broadCastID) {
+		this.broadCastID = broadCastID;
+	}
+
+	public String getPublicSID() {
+		return publicSID;
+	}
+	public void setPublicSID(String publicSID) {
+		this.publicSID = publicSID;
+	}
+
+	public Boolean getZombieCheckFlag() {
+		return zombieCheckFlag;
+	}
+	public void setZombieCheckFlag(Boolean zombieCheckFlag) {
+		this.zombieCheckFlag = zombieCheckFlag;
+	}
+
+	public Boolean getMicMuted() {
+		return micMuted;
+	}
+	public void setMicMuted(Boolean micMuted) {
+		this.micMuted = micMuted;
+	}
+
+	public Boolean getCanDraw() {
+		return canDraw;
+	}
+	public void setCanDraw(Boolean canDraw) {
+		this.canDraw = canDraw;
+	}
+
+	public Boolean getIsBroadcasting() {
+		return isBroadcasting;
+	}
+	public void setIsBroadcasting(Boolean isBroadcasting) {
+		this.isBroadcasting = isBroadcasting;
+	}
+	
+	public Boolean getCanShare() {
+		return canShare;
+	}
+
+	public void setCanShare(Boolean canShare) {
+		this.canShare = canShare;
+	}
+
+	public String getExternalUserId() {
+		return externalUserId;
+	}
+
+	public void setExternalUserId(String externalUserId) {
+		this.externalUserId = externalUserId;
+	}
+
+	public String getExternalUserType() {
+		return externalUserType;
+	}
+
+	public void setExternalUserType(String externalUserType) {
+		this.externalUserType = externalUserType;
+	}
+
+	public List<String> getSharerSIDs() {
+		return sharerSIDs;
+	}
+	public void setSharerSIDs(List<String> sharerSIDs) {
+		this.sharerSIDs = sharerSIDs;
+	}
+
+	public Boolean getIsSuperModerator() {
+		return isSuperModerator;
+	}
+	public void setIsSuperModerator(Boolean isSuperModerator) {
+		this.isSuperModerator = isSuperModerator;
+	}
+
+	public Boolean getIsScreenClient() {
+		return isScreenClient;
+	}
+	public void setIsScreenClient(Boolean isScreenClient) {
+		this.isScreenClient = isScreenClient;
+	}
+
+	public int getVWidth() {
+		return vWidth;
+	}
+	public void setVWidth(int width) {
+		vWidth = width;
+	}
+
+	public int getVHeight() {
+		return vHeight;
+	}
+	public void setVHeight(int height) {
+		vHeight = height;
+	}
+
+	public int getVX() {
+		return vX;
+	}
+	public void setVX(int vx) {
+		vX = vx;
+	}
+
+	public int getVY() {
+		return vY;
+	}
+	public void setVY(int vy) {
+		vY = vy;
+	}
+
+	public String getStreamPublishName() {
+		return streamPublishName;
+	}
+	public void setStreamPublishName(String streamPublishName) {
+		this.streamPublishName = streamPublishName;
+	}
+
+	public Long getFlvRecordingId() {
+		return flvRecordingId;
+	}
+	public void setFlvRecordingId(Long flvRecordingId) {
+		this.flvRecordingId = flvRecordingId;
+	}
+
+	public Long getFlvRecordingMetaDataId() {
+		return flvRecordingMetaDataId;
+	}
+	public void setFlvRecordingMetaDataId(Long flvRecordingMetaDataId) {
+		this.flvRecordingMetaDataId = flvRecordingMetaDataId;
+	}
+
+	public boolean isScreenPublishStarted() {
+		return screenPublishStarted;
+	}
+	public void setScreenPublishStarted(boolean screenPublishStarted) {
+		this.screenPublishStarted = screenPublishStarted;
+	}
+
+	public Long getOrganization_id() {
+		return organization_id;
+	}
+	public void setOrganization_id(Long organization_id) {
+		this.organization_id = organization_id;
+	}
+
+	public boolean isStartRecording() {
+		return startRecording;
+	}
+	public void setStartRecording(boolean startRecording) {
+		this.startRecording = startRecording;
+	}
+
+	public boolean isStartStreaming() {
+		return startStreaming;
+	}
+	public void setStartStreaming(boolean startStreaming) {
+		this.startStreaming = startStreaming;
+	}
+
+	public Integer getInterviewPodId() {
+		return interviewPodId;
+	}
+	public void setInterviewPodId(Integer interviewPodId) {
+		this.interviewPodId = interviewPodId;
+	}
+
+	public Boolean getCanRemote() {
+		return canRemote;
+	}
+	public void setCanRemote(Boolean canRemote) {
+		this.canRemote = canRemote;
+	}
+
+    public Boolean getCanGiveAudio() {
+		return canGiveAudio;
+	}
+	public void setCanGiveAudio(Boolean canGiveAudio) {
+		this.canGiveAudio = canGiveAudio;
+	}
+
+	public Boolean getAllowRecording() {
+		return allowRecording;
+	}
+
+	public void setAllowRecording(Boolean allowRecording) {
+		this.allowRecording = allowRecording;
+	}
+
+	/**
+	 * @see RoomClient#isAVClient
+	 * @return
+	 */
+	public boolean getIsAVClient() {
+		return isAVClient;
+	}
+
+	public void setIsAVClient(boolean isAVClient) {
+		this.isAVClient = isAVClient;
+	}
+
+	public boolean isStreamPublishStarted() {
+		return streamPublishStarted;
+	}
+
+	public void setStreamPublishStarted(boolean streamPublishStarted) {
+		this.streamPublishStarted = streamPublishStarted;
+	}
+
+	/**
+	 * To improve our trace log
+	 */
+	@Override
+	public String toString() {
+
+		return super.toString() //
+				+ " StreamId: " + this.getStreamid() //
+				+ " isScreenClient: " + this.getIsScreenClient() //
+				+ " flvRecordingId: " + this.getFlvRecordingId() //
+				+ " screenPublishStarted: " + this.isScreenPublishStarted() //
+				+ " flvRecordingMetaDataId: " + this.getFlvRecordingMetaDataId() //
+				+ " isRecording: " + this.getIsRecording() //
+				+ " isAVClient: " + this.getIsAVClient() //
+				+ " broadCastID: " + this.getBroadCastID() //
+				+ " avsettings: " + this.getAvsettings() //
+				;
+	}
+	
+	
+	
+}
diff --git a/src/org/openmeetings/app/conference/whiteboard/BrowserStatus.java b/src/org/openmeetings/app/conference/whiteboard/BrowserStatus.java
new file mode 100644
index 0000000..5a24afd
--- /dev/null
+++ b/src/org/openmeetings/app/conference/whiteboard/BrowserStatus.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.conference.whiteboard;
+
+public class BrowserStatus {
+	
+	private boolean browserInited = false;
+	private String currentURL = "";
+	
+	public boolean isBrowserInited() {
+		return browserInited;
+	}
+	public void setBrowserInited(boolean browserInited) {
+		this.browserInited = browserInited;
+	}
+	public String getCurrentURL() {
+		return currentURL;
+	}
+	public void setCurrentURL(String currentURL) {
+		this.currentURL = currentURL;
+	}
+
+}
diff --git a/src/org/openmeetings/app/conference/whiteboard/Cliparts.java b/src/org/openmeetings/app/conference/whiteboard/Cliparts.java
new file mode 100644
index 0000000..d421692
--- /dev/null
+++ b/src/org/openmeetings/app/conference/whiteboard/Cliparts.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.conference.whiteboard;
+
+import java.util.List;
+
+public class Cliparts {
+
+	private String folderName;
+	private String[] generalList;
+	private List<Cliparts> subCategories;
+
+	public String[] getGeneralList() {
+		return generalList;
+	}
+
+	public void setGeneralList(String[] generalList) {
+		this.generalList = generalList;
+	}
+
+	public List<Cliparts> getSubCategories() {
+		return subCategories;
+	}
+
+	public void setSubCategories(List<Cliparts> subCategories) {
+		this.subCategories = subCategories;
+	}
+
+	public String getFolderName() {
+		return folderName;
+	}
+
+	public void setFolderName(String folderName) {
+		this.folderName = folderName;
+	}
+
+}
diff --git a/src/org/openmeetings/app/conference/whiteboard/RoomStatus.java b/src/org/openmeetings/app/conference/whiteboard/RoomStatus.java
new file mode 100644
index 0000000..e2c87da
--- /dev/null
+++ b/src/org/openmeetings/app/conference/whiteboard/RoomStatus.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.conference.whiteboard;
+
+import java.util.HashMap;
+
+import org.openmeetings.app.conference.session.RoomClient;
+
+public class RoomStatus {
+	
+	HashMap<String,RoomClient> clientMap;
+	BrowserStatus browserStatus;
+	Boolean roomFull = false;
+	
+	public HashMap<String, RoomClient> getClientMap() {
+		return clientMap;
+	}
+	public void setClientMap(HashMap<String, RoomClient> clientMap) {
+		this.clientMap = clientMap;
+	}
+	public BrowserStatus getBrowserStatus() {
+		return browserStatus;
+	}
+	public void setBrowserStatus(BrowserStatus browserStatus) {
+		this.browserStatus = browserStatus;
+	}
+	public Boolean getRoomFull() {
+		return roomFull;
+	}
+	public void setRoomFull(Boolean roomFull) {
+		this.roomFull = roomFull;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/conference/whiteboard/WhiteboardManagement.java b/src/org/openmeetings/app/conference/whiteboard/WhiteboardManagement.java
new file mode 100644
index 0000000..a8fccbd
--- /dev/null
+++ b/src/org/openmeetings/app/conference/whiteboard/WhiteboardManagement.java
@@ -0,0 +1,606 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.conference.whiteboard;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.remote.red5.WhiteBoardObjectListManager;
+import org.openmeetings.app.remote.red5.WhiteBoardObjectListManagerById;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+public class WhiteboardManagement {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			WhiteboardManagement.class, OpenmeetingsVariables.webAppRootKey);
+
+	private WhiteboardManagement() {
+	}
+
+	private static WhiteboardManagement instance = null;
+
+	public static synchronized WhiteboardManagement getInstance() {
+		if (instance == null) {
+			instance = new WhiteboardManagement();
+		}
+		return instance;
+	}
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public void addWhiteBoardObject(Long room_id, Map whiteboardObj) {
+		try {
+			log.debug("addWhiteBoardObject: " + whiteboardObj);
+
+			// log.debug("whiteboardObj 0: Event: "+whiteboardObj.get(0));
+			// log.debug("whiteboardObj 1: Event: "+whiteboardObj.get(1));
+			// log.debug("whiteboardObj 2: Event: "+whiteboardObj.get(2));
+			// log.debug("whiteboardObj 3: Event: "+whiteboardObj.get(3));
+
+			// log.debug("whiteboardObj NUMB3: Event: "+whiteboardObj.get(3).getClass().getName());
+
+			// Date dateOfEvent = (Date) whiteboardObj.get(1);
+			String action = whiteboardObj.get(2).toString();
+			List actionObject = (List) whiteboardObj.get(3);
+
+			log.debug("action: " + action);
+
+			if (action.equals("draw") || action.equals("redo")) {
+				HashMap<String, List> roomList = WhiteBoardObjectListManager
+						.getInstance().getWhiteBoardObjectListByRoomId(room_id);
+
+				// log.debug(actionObject);
+				// log.debug(actionObject.size()-1);
+				// log.debug(actionObject.get(actionObject.size()-1));
+				String objectType = actionObject.get(0).toString();
+				if (!objectType.equals("pointerWhiteBoard")) {
+					String objectOID = actionObject
+							.get(actionObject.size() - 1).toString();
+					log.debug("objectOID: " + objectOID);
+					roomList.put(objectOID, actionObject);
+					WhiteBoardObjectListManager.getInstance()
+							.setWhiteBoardObjectListRoomObj(room_id, roomList);
+				}
+			} else if (action.equals("clear")) {
+
+				WhiteBoardObjectListManager.getInstance().setWhiteBoardObject(
+						room_id, new WhiteboardObject());
+
+			} else if (action.equals("delete") || action.equals("undo")) {
+				HashMap<String, List> roomList = WhiteBoardObjectListManager
+						.getInstance().getWhiteBoardObjectListByRoomId(room_id);
+				String objectOID = actionObject.get(actionObject.size() - 1)
+						.toString();
+				String objectType = actionObject.get(0).toString();
+				log.debug("removal of objectOID: " + objectOID);
+
+				// "ellipse"
+				// || this.baseactionobjectList[i][0] == "drawarrow"
+				// || this.baseactionobjectList[i][0] == "line"
+				// || this.baseactionobjectList[i][0] == "paint"
+				// || this.baseactionobjectList[i][0] == "rectangle"
+				// || this.baseactionobjectList[i][0] == "uline"
+				// || this.baseactionobjectList[i][0] == "image"
+				// || this.baseactionobjectList[i][0] == "letter"
+
+				// Re-Index all items in its zIndex
+				if (objectType.equals("ellipse")
+						|| objectType.equals("drawarrow")
+						|| objectType.equals("line")
+						|| objectType.equals("paint")
+						|| objectType.equals("rectangle")
+						|| objectType.equals("uline")
+						|| objectType.equals("image")
+						|| objectType.equals("letter")
+						|| objectType.equals("swf")) {
+
+					Integer zIndex = Integer.valueOf(
+							actionObject.get(actionObject.size() - 8)
+									.toString()).intValue();
+
+					log.debug("1|zIndex " + zIndex);
+					log.debug("2|zIndex "
+							+ actionObject.get(actionObject.size() - 8)
+									.toString());
+					log.debug("3|zIndex "
+							+ actionObject.get(actionObject.size() - 8));
+
+					int l = 0;
+					for (Iterator debugIter = actionObject.iterator(); debugIter
+							.hasNext();) {
+						log.debug("4|zIndex " + l + " -- " + debugIter.next());
+						l++;
+					}
+
+					for (Iterator<String> iter = roomList.keySet().iterator(); iter
+							.hasNext();) {
+						String whiteboardObjKey = iter.next();
+						List actionObjectStored = roomList
+								.get(whiteboardObjKey);
+
+						Integer zIndexStored = Integer.valueOf(
+								actionObjectStored.get(
+										actionObjectStored.size() - 8)
+										.toString()).intValue();
+
+						log.debug("zIndexStored|zIndex " + zIndexStored + "|"
+								+ zIndex);
+
+						if (zIndexStored >= zIndex) {
+							zIndexStored -= 1;
+							log.debug("new-zIndex " + zIndexStored);
+						}
+						actionObjectStored.set(actionObjectStored.size() - 8,
+								zIndexStored);
+
+						roomList.put(whiteboardObjKey, actionObjectStored);
+					}
+
+				}
+
+				roomList.remove(objectOID);
+				WhiteBoardObjectListManager.getInstance()
+						.setWhiteBoardObjectListRoomObj(room_id, roomList);
+			} else if (action.equals("size") || action.equals("editProp")
+					|| action.equals("editText") || action.equals("swf")) {
+				HashMap<String, List> roomList = WhiteBoardObjectListManager
+						.getInstance().getWhiteBoardObjectListByRoomId(room_id);
+				String objectOID = actionObject.get(actionObject.size() - 1)
+						.toString();
+				// List roomItem = roomList.get(objectOID);
+				List currentObject = roomList.get(objectOID);
+				roomList.put(objectOID, actionObject);
+
+				if (action.equals("swf")) {
+					if (actionObject.get(0).equals("swf")) {
+
+						if (actionObject.get(8) != currentObject.get(8)) {
+
+							String baseObjectName = actionObject.get(
+									actionObject.size() - 1).toString();
+							Integer slidesNumber = Integer.valueOf(
+									actionObject.get(8).toString()).intValue();
+
+							log.debug("updateObjectsToSlideNumber :: "
+									+ baseObjectName + "," + slidesNumber);
+
+							for (Iterator<String> iter = roomList.keySet()
+									.iterator(); iter.hasNext();) {
+								String whiteboardObjKey = iter.next();
+								List actionObjectStored = roomList
+										.get(whiteboardObjKey);
+
+								if (actionObjectStored.get(0).equals("ellipse")
+										|| actionObjectStored.get(0).equals(
+												"drawarrow")
+										|| actionObjectStored.get(0).equals(
+												"line")
+										|| actionObjectStored.get(0).equals(
+												"paint")
+										|| actionObjectStored.get(0).equals(
+												"rectangle")
+										|| actionObjectStored.get(0).equals(
+												"uline")
+										|| actionObjectStored.get(0).equals(
+												"image")
+										|| actionObjectStored.get(0).equals(
+												"letter")) {
+
+									Map swfObj = (Map) actionObjectStored
+											.get(actionObjectStored.size() - 7);
+									log.debug("swfObj :1: " + swfObj);
+
+									if (swfObj != null) {
+
+										if (swfObj.get("name").equals(
+												baseObjectName)) {
+
+											if (Integer.valueOf(
+													swfObj.get("slide")
+															.toString())
+													.intValue() == slidesNumber) {
+
+												swfObj.put("isVisible", true);
+
+												actionObjectStored.set(
+														actionObjectStored
+																.size() - 7,
+														swfObj);
+
+											} else {
+
+												swfObj.put("isVisible", false);
+
+												actionObjectStored.set(
+														actionObjectStored
+																.size() - 7,
+														swfObj);
+
+											}
+
+										}
+
+									}
+
+									log.debug("swfObj :1: " + swfObj);
+
+								}
+
+							}
+
+						}
+
+					}
+				}
+
+				WhiteBoardObjectListManager.getInstance()
+						.setWhiteBoardObjectListRoomObj(room_id, roomList);
+			} else if (action.equals("clearSlide")) {
+
+				HashMap<String, List> roomList = WhiteBoardObjectListManager
+						.getInstance().getWhiteBoardObjectListByRoomId(room_id);
+
+				for (String objectName : (List<String>) actionObject) {
+
+					roomList.remove(objectName);
+
+				}
+
+				WhiteBoardObjectListManager.getInstance()
+						.setWhiteBoardObjectListRoomObj(room_id, roomList);
+
+			} else {
+				log.warn("Unkown Type: " + action + " actionObject: "
+						+ actionObject);
+			}
+
+		} catch (Exception err) {
+			log.error("[addWhiteBoardObject]", err);
+		}
+	}
+
+	@SuppressWarnings({ "rawtypes" })
+	public void updateWhiteboardObject(Long room_id, List actionObject) {
+		try {
+
+			WhiteboardObject whiteBoardObject = WhiteBoardObjectListManager
+					.getInstance().getWhiteBoardObjectRoomId(room_id);
+
+			whiteBoardObject.setFullFit((Boolean) actionObject.get(1));
+			whiteBoardObject.setZoom((Integer) actionObject.get(2));
+
+			WhiteBoardObjectListManager.getInstance().setWhiteBoardObject(
+					room_id, whiteBoardObject);
+
+		} catch (Exception err) {
+			log.error("[updateWhiteboardObject]", err);
+		}
+	}
+
+	@SuppressWarnings({ "rawtypes" })
+	public void updateWhiteboardObjectPos(Long room_id, List actionObject) {
+		try {
+
+			WhiteboardObject whiteBoardObject = WhiteBoardObjectListManager
+					.getInstance().getWhiteBoardObjectRoomId(room_id);
+
+			whiteBoardObject.setX((Integer) actionObject.get(1));
+			whiteBoardObject.setY((Integer) actionObject.get(2));
+
+			WhiteBoardObjectListManager.getInstance().setWhiteBoardObject(
+					room_id, whiteBoardObject);
+
+		} catch (Exception err) {
+			log.error("[updateWhiteboardObjectPos]", err);
+		}
+	}
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public void addWhiteBoardObjectById(Long room_id, Map whiteboardObj,
+			Long whiteBoardId) {
+		try {
+			log.debug("addWhiteBoardObjectById: ", whiteboardObj);
+
+			// log.debug("whiteboardObj 0: Event: "+whiteboardObj.get(0));
+			// log.debug("whiteboardObj 1: Event: "+whiteboardObj.get(1));
+			// log.debug("whiteboardObj 2: Event: "+whiteboardObj.get(2));
+			// log.debug("whiteboardObj 3: Event: "+whiteboardObj.get(3));
+
+			// log.debug("whiteboardObj NUMB3: Event: "+whiteboardObj.get(3).getClass().getName());
+
+			// Date dateOfEvent = (Date) whiteboardObj.get(1);
+			String action = whiteboardObj.get(2).toString();
+
+			log.debug("action: " + action);
+			log.debug("actionObject: " + whiteboardObj.get(3));
+
+			List actionObject = (List) whiteboardObj.get(3);
+
+			if (action.equals("moveMap")) {
+				WhiteboardObject whiteboardObject = WhiteBoardObjectListManagerById
+						.getInstance()
+						.getWhiteBoardObjectListByRoomIdAndWhiteboard(room_id,
+								whiteBoardId);
+
+				whiteboardObject.setX(Integer.valueOf(
+						actionObject.get(1).toString()).intValue());
+				whiteboardObject.setY(Integer.valueOf(
+						actionObject.get(2).toString()).intValue());
+
+				WhiteBoardObjectListManagerById.getInstance()
+						.setWhiteBoardObjectListRoomObjAndWhiteboardId(room_id,
+								whiteboardObject, whiteBoardId);
+			} else if (action.equals("draw") || action.equals("redo")) {
+				WhiteboardObject whiteboardObject = WhiteBoardObjectListManagerById
+						.getInstance()
+						.getWhiteBoardObjectListByRoomIdAndWhiteboard(room_id,
+								whiteBoardId);
+
+				// log.debug(actionObject);
+				// log.debug(actionObject.size()-1);
+				// log.debug(actionObject.get(actionObject.size()-1));
+				String objectType = actionObject.get(0).toString();
+				if (!objectType.equals("pointerWhiteBoard")) {
+					String objectOID = actionObject
+							.get(actionObject.size() - 1).toString();
+					log.debug("objectOID: " + objectOID);
+					whiteboardObject.getRoomItems()
+							.put(objectOID, actionObject);
+					WhiteBoardObjectListManagerById.getInstance()
+							.setWhiteBoardObjectListRoomObjAndWhiteboardId(
+									room_id, whiteboardObject, whiteBoardId);
+				}
+			} else if (action.equals("clear")) {
+				WhiteboardObject whiteboardObject = WhiteBoardObjectListManagerById
+						.getInstance()
+						.getWhiteBoardObjectListByRoomIdAndWhiteboard(room_id,
+								whiteBoardId);
+				whiteboardObject.setRoomItems(new HashMap<String, List>());
+				WhiteBoardObjectListManagerById.getInstance()
+						.setWhiteBoardObjectListRoomObjAndWhiteboardId(room_id,
+								whiteboardObject, whiteBoardId);
+			} else if (action.equals("delete") || action.equals("undo")) {
+				WhiteboardObject whiteboardObject = WhiteBoardObjectListManagerById
+						.getInstance()
+						.getWhiteBoardObjectListByRoomIdAndWhiteboard(room_id,
+								whiteBoardId);
+				String objectOID = actionObject.get(actionObject.size() - 1)
+						.toString();
+				String objectType = actionObject.get(0).toString();
+				log.debug("removal of objectOID: " + objectOID);
+
+				log.debug("removal of objectOID: " + objectOID);
+
+				// "ellipse"
+				// || this.baseactionobjectList[i][0] == "drawarrow"
+				// || this.baseactionobjectList[i][0] == "line"
+				// || this.baseactionobjectList[i][0] == "paint"
+				// || this.baseactionobjectList[i][0] == "rectangle"
+				// || this.baseactionobjectList[i][0] == "uline"
+				// || this.baseactionobjectList[i][0] == "image"
+				// || this.baseactionobjectList[i][0] == "letter"
+
+				// Re-Index all items in its zIndex
+				if (objectType.equals("ellipse")
+						|| objectType.equals("drawarrow")
+						|| objectType.equals("line")
+						|| objectType.equals("paint")
+						|| objectType.equals("rectangle")
+						|| objectType.equals("uline")
+						|| objectType.equals("image")
+						|| objectType.equals("letter")
+						|| objectType.equals("clipart")
+						|| objectType.equals("swf")
+						|| objectType.equals("mindmapnode")
+						|| objectType.equals("flv")) {
+
+					Integer zIndex = Integer.valueOf(
+							actionObject.get(actionObject.size() - 8)
+									.toString()).intValue();
+
+					log.debug("1|zIndex " + zIndex);
+					log.debug("2|zIndex "
+							+ actionObject.get(actionObject.size() - 8)
+									.toString());
+					log.debug("3|zIndex "
+							+ actionObject.get(actionObject.size() - 8));
+
+					int l = 0;
+					for (Iterator debugIter = actionObject.iterator(); debugIter
+							.hasNext();) {
+						log.debug("4|zIndex " + l + " -- " + debugIter.next());
+						l++;
+					}
+
+					for (Iterator<String> iter = whiteboardObject
+							.getRoomItems().keySet().iterator(); iter.hasNext();) {
+						String whiteboardObjKey = iter.next();
+						List actionObjectStored = whiteboardObject
+								.getRoomItems().get(whiteboardObjKey);
+
+						Integer zIndexStored = Integer.valueOf(
+								actionObjectStored.get(
+										actionObjectStored.size() - 8)
+										.toString()).intValue();
+
+						log.debug("zIndexStored|zIndex " + zIndexStored + "|"
+								+ zIndex);
+
+						if (zIndexStored >= zIndex) {
+							zIndexStored -= 1;
+							log.debug("new-zIndex " + zIndexStored);
+						}
+						actionObjectStored.set(actionObjectStored.size() - 8,
+								zIndexStored);
+
+						whiteboardObject.getRoomItems().put(whiteboardObjKey,
+								actionObjectStored);
+					}
+
+				}
+
+				whiteboardObject.getRoomItems().remove(objectOID);
+
+				WhiteBoardObjectListManagerById.getInstance()
+						.setWhiteBoardObjectListRoomObjAndWhiteboardId(room_id,
+								whiteboardObject, whiteBoardId);
+			} else if (action.equals("size") || action.equals("editProp")
+					|| action.equals("editTextMindMapNode")
+					|| action.equals("editText") || action.equals("swf")
+					|| action.equals("flv")
+					|| action.equals("editTextMindMapColor")
+					|| action.equals("editTextMindMapFontColor")) {
+				WhiteboardObject whiteboardObject = WhiteBoardObjectListManagerById
+						.getInstance()
+						.getWhiteBoardObjectListByRoomIdAndWhiteboard(room_id,
+								whiteBoardId);
+				String objectOID = actionObject.get(actionObject.size() - 1)
+						.toString();
+				// List roomItem = roomList.get(objectOID);
+				List currentObject = whiteboardObject.getRoomItems().get(
+						objectOID);
+				if (actionObject.get(0).equals("paint")) {
+					actionObject.set(1, currentObject.get(1));
+				}
+				whiteboardObject.getRoomItems().put(objectOID, actionObject);
+
+				Map roomList = whiteboardObject.getRoomItems();
+
+				if (action.equals("swf")) {
+
+					log.debug("actionObject " + actionObject);
+
+					if (actionObject.get(0).equals("swf")) {
+
+						if (actionObject.get(8) != currentObject.get(8)) {
+
+							String baseObjectName = actionObject.get(
+									actionObject.size() - 1).toString();
+							Integer slidesNumber = Integer.valueOf(
+									actionObject.get(8).toString()).intValue();
+
+							log.debug("updateObjectsToSlideNumber :: "
+									+ baseObjectName + "," + slidesNumber);
+
+							for (Iterator<String> iter = roomList.keySet()
+									.iterator(); iter.hasNext();) {
+								String whiteboardObjKey = iter.next();
+								List actionObjectStored = (List) roomList
+										.get(whiteboardObjKey);
+
+								if (actionObjectStored.get(0).equals("ellipse")
+										|| actionObjectStored.get(0).equals(
+												"drawarrow")
+										|| actionObjectStored.get(0).equals(
+												"line")
+										|| actionObjectStored.get(0).equals(
+												"clipart")
+										|| actionObjectStored.get(0).equals(
+												"paint")
+										|| actionObjectStored.get(0).equals(
+												"rectangle")
+										|| actionObjectStored.get(0).equals(
+												"uline")
+										|| actionObjectStored.get(0).equals(
+												"image")
+										|| actionObjectStored.get(0).equals(
+												"letter")) {
+
+									Map swfObj = (Map) actionObjectStored
+											.get(actionObjectStored.size() - 7);
+									log.debug("swfObj :1: " + swfObj);
+
+									if (swfObj != null) {
+
+										if (swfObj.get("name").equals(
+												baseObjectName)) {
+
+											if (Integer.valueOf(
+													swfObj.get("slide")
+															.toString())
+													.intValue() == slidesNumber) {
+
+												swfObj.put("isVisible", true);
+
+												actionObjectStored.set(
+														actionObjectStored
+																.size() - 7,
+														swfObj);
+
+											} else {
+
+												swfObj.put("isVisible", false);
+
+												actionObjectStored.set(
+														actionObjectStored
+																.size() - 7,
+														swfObj);
+
+											}
+
+										}
+
+									}
+
+									log.debug("swfObj :1: " + swfObj);
+
+								}
+
+							}
+
+						}
+
+					}
+				}
+
+				WhiteBoardObjectListManagerById.getInstance()
+						.setWhiteBoardObjectListRoomObjAndWhiteboardId(room_id,
+								whiteboardObject, whiteBoardId);
+			} else if (action.equals("clearSlide")) {
+
+				WhiteboardObject whiteboardObject = WhiteBoardObjectListManagerById
+						.getInstance()
+						.getWhiteBoardObjectListByRoomIdAndWhiteboard(room_id,
+								whiteBoardId);
+
+				Map roomList = whiteboardObject.getRoomItems();
+
+				for (String objectName : (List<String>) actionObject) {
+
+					roomList.remove(objectName);
+
+				}
+
+				WhiteBoardObjectListManagerById.getInstance()
+						.setWhiteBoardObjectListRoomObjAndWhiteboardId(room_id,
+								whiteboardObject, whiteBoardId);
+			} else {
+				log.warn("Unkown Type: " + action + " actionObject: "
+						+ actionObject);
+			}
+
+		} catch (Exception err) {
+			log.error("[addWhiteBoardObject]", err);
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/app/conference/whiteboard/WhiteboardObject.java b/src/org/openmeetings/app/conference/whiteboard/WhiteboardObject.java
new file mode 100644
index 0000000..1e47e35
--- /dev/null
+++ b/src/org/openmeetings/app/conference/whiteboard/WhiteboardObject.java
@@ -0,0 +1,95 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.conference.whiteboard;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class WhiteboardObject {
+
+	private Long whiteBoardId;
+	private Integer x = 0;
+	private Integer y = 0;
+	private Integer zoom = 100;
+	private Boolean fullFit = true;
+	@SuppressWarnings("rawtypes")
+	private Map<String, List> roomItems = new HashMap<String, List>();
+	private Date created = new Date();
+
+	public Long getWhiteBoardId() {
+		return whiteBoardId;
+	}
+
+	public void setWhiteBoardId(Long whiteBoardId) {
+		this.whiteBoardId = whiteBoardId;
+	}
+
+	public Integer getX() {
+		return x;
+	}
+
+	public void setX(Integer x) {
+		this.x = x;
+	}
+
+	public Integer getY() {
+		return y;
+	}
+
+	public void setY(Integer y) {
+		this.y = y;
+	}
+
+	@SuppressWarnings("rawtypes")
+	public Map<String, List> getRoomItems() {
+		return roomItems;
+	}
+
+	@SuppressWarnings("rawtypes")
+	public void setRoomItems(Map<String, List> roomItems) {
+		this.roomItems = roomItems;
+	}
+
+	public Date getCreated() {
+		return created;
+	}
+
+	public void setCreated(Date created) {
+		this.created = created;
+	}
+
+	public Integer getZoom() {
+		return zoom;
+	}
+
+	public void setZoom(Integer zoom) {
+		this.zoom = zoom;
+	}
+
+	public Boolean getFullFit() {
+		return fullFit;
+	}
+
+	public void setFullFit(Boolean fullFit) {
+		this.fullFit = fullFit;
+	}
+
+}
diff --git a/src/org/openmeetings/app/conference/whiteboard/WhiteboardObjectList.java b/src/org/openmeetings/app/conference/whiteboard/WhiteboardObjectList.java
new file mode 100644
index 0000000..8a38cb7
--- /dev/null
+++ b/src/org/openmeetings/app/conference/whiteboard/WhiteboardObjectList.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.conference.whiteboard;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class WhiteboardObjectList {
+
+	private Long room_id;
+	private Map<Long,WhiteboardObject> whiteboardObjects = new HashMap<Long,WhiteboardObject>();
+	
+	public Long getRoom_id() {
+		return room_id;
+	}
+	public void setRoom_id(Long roomId) {
+		room_id = roomId;
+	}
+	public Map<Long, WhiteboardObject> getWhiteboardObjects() {
+		return whiteboardObjects;
+	}
+	public void setWhiteboardObjects(Map<Long, WhiteboardObject> whiteboardObjects) {
+		this.whiteboardObjects = whiteboardObjects;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/conference/whiteboard/WhiteboardSyncLockObject.java b/src/org/openmeetings/app/conference/whiteboard/WhiteboardSyncLockObject.java
new file mode 100644
index 0000000..b9b56f0
--- /dev/null
+++ b/src/org/openmeetings/app/conference/whiteboard/WhiteboardSyncLockObject.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.conference.whiteboard;
+
+import java.util.Date;
+
+public class WhiteboardSyncLockObject {
+
+	private String publicSID;
+	private boolean isInitialLoaded = false;
+	private boolean isCurrentLoadingItem = false;
+
+	private Date addtime;
+	private Date starttime;
+
+	public String getPublicSID() {
+		return publicSID;
+	}
+
+	public void setPublicSID(String publicSID) {
+		this.publicSID = publicSID;
+	}
+
+	public boolean isInitialLoaded() {
+		return isInitialLoaded;
+	}
+
+	public void setInitialLoaded(boolean isInitialLoaded) {
+		this.isInitialLoaded = isInitialLoaded;
+	}
+
+	public Date getStarttime() {
+		return starttime;
+	}
+
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+
+	public boolean isCurrentLoadingItem() {
+		return isCurrentLoadingItem;
+	}
+
+	public void setCurrentLoadingItem(boolean isCurrentLoadingItem) {
+		this.isCurrentLoadingItem = isCurrentLoadingItem;
+	}
+
+	public Date getAddtime() {
+		return addtime;
+	}
+
+	public void setAddtime(Date addtime) {
+		this.addtime = addtime;
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/basic/AuthLevelmanagement.java b/src/org/openmeetings/app/data/basic/AuthLevelmanagement.java
new file mode 100644
index 0000000..3ca0ed8
--- /dev/null
+++ b/src/org/openmeetings/app/data/basic/AuthLevelmanagement.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.basic;
+
+public class AuthLevelmanagement {
+	 
+	public boolean checkUserLevel(Long user_level) {
+		return user_level == 1 || user_level == 2 || user_level == 3;
+	}
+	
+	public boolean checkModLevel(Long user_level) {
+		return user_level == 2 || user_level == 3;
+	}
+	
+	public boolean checkAdminLevel(Long user_level) {
+		return user_level == 3;
+	}
+	
+	public boolean checkWebServiceLevel(Long user_level) {
+		return user_level == 3 || user_level == 4;
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/basic/Configurationmanagement.java b/src/org/openmeetings/app/data/basic/Configurationmanagement.java
new file mode 100644
index 0000000..c846119
--- /dev/null
+++ b/src/org/openmeetings/app/data/basic/Configurationmanagement.java
@@ -0,0 +1,354 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.basic;
+
+import java.lang.reflect.Constructor;
+import java.util.Date;
+import java.util.LinkedHashMap;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.beans.basic.SearchResult;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.basic.Configuration;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.utils.mappings.CastMapToObject;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class Configurationmanagement {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			Configurationmanagement.class,
+			OpenmeetingsVariables.webAppRootKey);
+
+	public static final String DEFAULT_APP_NAME = "OpenMeetings";
+
+	@PersistenceContext
+	private EntityManager em;
+
+	@Autowired
+	private UsersDaoImpl usersDao;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+	private String appName = null;
+
+	public Configuration getConfKey(long user_level, String CONF_KEY) {
+		try {
+			if (authLevelManagement.checkUserLevel(user_level)) {
+				TypedQuery<Configuration> query = em
+						.createQuery(
+								"select c from Configuration as c where c.conf_key = :conf_key and c.deleted = :deleted",
+								Configuration.class);
+				query.setParameter("conf_key", CONF_KEY);
+				query.setParameter("deleted", "false");
+
+				List<Configuration> configs = query.getResultList();
+
+				if (configs != null && configs.size() > 0) {
+					return configs.get(0);
+				}
+			} else {
+				log.error("[getAllConf] Permission denied " + user_level);
+			}
+		} catch (Exception ex2) {
+			log.error("[getConfKey]: ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * Return a object using a custom type and a default value if the key is not present
+	 * 
+	 * Example: Integer my_key = getConfValue("my_key", Integer.class, "15");
+	 * 
+	 * @param CONF_KEY
+	 * @param typeObject
+	 * @param defaultValue
+	 * @return
+	 */
+	public <T> T getConfValue(String CONF_KEY, Class<T> typeObject,
+			String defaultValue) {
+		try {
+			Configuration conf_reminder = getConfKey(3L, CONF_KEY);
+
+			if (conf_reminder == null) {
+				log.warn("Could not find key in configuration CONF_KEY: "
+						+ CONF_KEY);
+			} else {
+				// Use the custom value as default value
+				defaultValue = conf_reminder.getConf_value();
+			}
+
+			// Either this can be directly assigned or try to find a constructor
+			// that handles it
+			if (typeObject.isAssignableFrom(defaultValue.getClass())) {
+				return typeObject.cast(defaultValue);
+			}
+			Constructor<T> c = typeObject.getConstructor(defaultValue
+					.getClass());
+			return c.newInstance(defaultValue);
+
+		} catch (Exception err) {
+			log.error(
+					"cannot be cast to return type, you have misconfigured your configuration CONF_KEY: "
+							+ CONF_KEY, err);
+			return null;
+		}
+	}
+
+	public Configuration getConfByConfigurationId(long user_level,
+			long configuration_id) {
+		try {
+			log.debug("getConfByConfigurationId1: user_level " + user_level);
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				Configuration configuration = null;
+				TypedQuery<Configuration> query = em
+						.createQuery("select c from Configuration as c where c.configuration_id = :configuration_id", Configuration.class);
+				query.setParameter("configuration_id", configuration_id);
+				query.setMaxResults(1);
+				try {
+					configuration = query.getSingleResult();
+				} catch (NoResultException e) {
+				}
+				log.debug("getConfByConfigurationId4: " + configuration);
+
+				if (configuration != null && configuration.getUser_id() != null) {
+					configuration.setUsers(usersDao.getUser(configuration
+							.getUser_id()));
+				}
+				return configuration;
+			} else {
+				log.error("[getConfByConfigurationId] Permission denied "
+						+ user_level);
+			}
+		} catch (Exception ex2) {
+			log.error("[getConfByConfigurationId]: ", ex2);
+		}
+		return null;
+	}
+
+	public SearchResult<Configuration> getAllConf(long user_level, int start, int max,
+			String orderby, boolean asc) {
+		try {
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				SearchResult<Configuration> sresult = new SearchResult<Configuration>();
+				sresult.setRecords(this.selectMaxFromConfigurations());
+				sresult.setResult(this.getConfigurations(start, max, orderby,
+						asc));
+				sresult.setObjectName(Configuration.class.getName());
+				return sresult;
+			} else {
+				log.error("[getAllConf] Permission denied " + user_level);
+			}
+		} catch (Exception ex2) {
+			log.error("[getAllConf]: ", ex2);
+		}
+		return null;
+	}
+
+	public List<Configuration> getConfigurations(int start, int max,
+			String orderby, boolean asc) {
+		try {
+			CriteriaBuilder cb = em.getCriteriaBuilder();
+			CriteriaQuery<Configuration> cq = cb
+					.createQuery(Configuration.class);
+			Root<Configuration> c = cq.from(Configuration.class);
+			Predicate condition = cb.equal(c.get("deleted"), "false");
+			cq.where(condition);
+			cq.distinct(asc);
+			if (asc) {
+				cq.orderBy(cb.asc(c.get(orderby)));
+			} else {
+				cq.orderBy(cb.desc(c.get(orderby)));
+			}
+			TypedQuery<Configuration> q = em.createQuery(cq);
+			q.setFirstResult(start);
+			q.setMaxResults(max);
+			List<Configuration> ll = q.getResultList();
+			return ll;
+		} catch (Exception ex2) {
+			log.error("[getConfigurations]", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @return
+	 */
+	private Long selectMaxFromConfigurations() {
+		try {
+			log.debug("selectMaxFromConfigurations ");
+			// get all users
+			TypedQuery<Long> query = em
+					.createQuery("select count(c.configuration_id) from Configuration c where c.deleted = 'false'", Long.class);
+			List<Long> ll = query.getResultList();
+			log.debug("selectMaxFromConfigurations" + ll.get(0));
+			return ll.get(0);
+		} catch (Exception ex2) {
+			log.error("[selectMaxFromConfigurations] ", ex2);
+		}
+		return null;
+	}
+
+	public String addConfByKey(long user_level, String CONF_KEY,
+			String CONF_VALUE, Long USER_ID, String comment) {
+		String ret = "Add Configuration";
+		if (authLevelManagement.checkAdminLevel(user_level)) {
+			Configuration configuration = new Configuration();
+			configuration.setConf_key(CONF_KEY);
+			configuration.setConf_value(CONF_VALUE);
+			configuration.setStarttime(new Date());
+			configuration.setDeleted("false");
+			configuration.setComment(comment);
+			if (USER_ID != null)
+				configuration.setUser_id(USER_ID);
+			try {
+				configuration = em.merge(configuration);
+				ret = "Erfolgreich";
+			} catch (Exception ex2) {
+				log.error("[addConfByKey]: ", ex2);
+			}
+		} else {
+			ret = "Error: Permission denied";
+		}
+		return ret;
+	}
+
+	public Long saveOrUpdateConfiguration(long user_level,
+			LinkedHashMap<String, ?> values, Long users_id) {
+		try {
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				Configuration conf = (Configuration) CastMapToObject
+						.getInstance().castByGivenObject(values,
+								Configuration.class);
+				if (conf.getConfiguration_id().equals(null)
+						|| conf.getConfiguration_id() == 0) {
+					log.info("add new Configuration");
+					conf.setConfiguration_id(null);
+					conf.setStarttime(new Date());
+					conf.setDeleted("false");
+					return this.addConfig(conf);
+				} else {
+					log.info("update Configuration ID: "
+							+ conf.getConfiguration_id());
+					Configuration conf2 = this.getConfByConfigurationId(3L,
+							conf.getConfiguration_id());
+					conf2.setComment(conf.getComment());
+					conf2.setConf_key(conf.getConf_key());
+					conf2.setConf_value(conf.getConf_value());
+					conf2.setUser_id(users_id);
+					conf2.setDeleted("false");
+					conf2.setUpdatetime(new Date());
+					return this.updateConfig(conf2);
+				}
+			} else {
+				log.error("[saveOrUpdateConfByConfigurationId] Error: Permission denied");
+				return new Long(-100);
+			}
+		} catch (Exception ex2) {
+			log.error("[updateConfByUID]: ", ex2);
+		}
+		return new Long(-1);
+	}
+
+	public Long addConfig(Configuration conf) {
+		try {
+			conf = em.merge(conf);
+			Long configuration_id = conf.getConfiguration_id();
+			return configuration_id;
+		} catch (Exception ex2) {
+			log.error("[updateConfByUID]: ", ex2);
+		}
+		return new Long(-1);
+	}
+
+	public Long updateConfig(Configuration conf) {
+		try {
+			if (conf.getConfiguration_id() == null) {
+				em.persist(conf);
+			} else {
+				if (!em.contains(conf)) {
+					conf = em.merge(conf);
+				}
+			}
+			if ("crypt_ClassName".equals(conf.getConf_key())) {
+				ScopeApplicationAdapter.configKeyCryptClassName = conf.getConf_value();
+			} else if ("show.whiteboard.draw.status".equals(conf.getConf_key())) {
+				ScopeApplicationAdapter.whiteboardDrawStatus = "1".equals(conf.getConf_value());
+			}
+			return conf.getConfiguration_id();
+		} catch (Exception ex2) {
+			log.error("[updateConfByUID]: ", ex2);
+		}
+		return new Long(-1);
+	}
+
+	public Long deleteConfByConfiguration(long user_level,
+			LinkedHashMap<String, ?> values, Long users_id) {
+		try {
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				Configuration conf = (Configuration) CastMapToObject
+						.getInstance().castByGivenObject(values,
+								Configuration.class);
+				conf.setUsers(usersDao.getUser(users_id));
+				conf.setUpdatetime(new Date());
+				conf.setDeleted("true");
+
+				Configuration conf2 = this.getConfByConfigurationId(3L,
+						conf.getConfiguration_id());
+				conf2.setComment(conf.getComment());
+				conf2.setConf_key(conf.getConf_key());
+				conf2.setConf_value(conf.getConf_value());
+				conf2.setUser_id(users_id);
+				conf2.setDeleted("true");
+				conf2.setUpdatetime(new Date());
+
+				this.updateConfig(conf2);
+				return new Long(1);
+			} else {
+				log.error("Error: Permission denied");
+				return new Long(-100);
+			}
+		} catch (Exception ex2) {
+			log.error("[deleteConfByUID]: ", ex2);
+		}
+		return new Long(-1);
+	}
+
+	public String getAppName() {
+		if (appName == null) {
+			appName = getConfValue("application.name", String.class, Configurationmanagement.DEFAULT_APP_NAME);
+		}
+		return appName;
+	}
+}
diff --git a/src/org/openmeetings/app/data/basic/ErrorManagement.java b/src/org/openmeetings/app/data/basic/ErrorManagement.java
new file mode 100644
index 0000000..e3119b7
--- /dev/null
+++ b/src/org/openmeetings/app/data/basic/ErrorManagement.java
@@ -0,0 +1,154 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.basic;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.persistence.beans.basic.ErrorType;
+import org.openmeetings.app.persistence.beans.basic.ErrorValues;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class ErrorManagement {
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			ErrorManagement.class, OpenmeetingsVariables.webAppRootKey);
+
+	@PersistenceContext
+	private EntityManager em;
+
+	public Long addErrorType(Long errortype_id, Long fieldvalues_id) {
+		try {
+			ErrorType eType = new ErrorType();
+			eType.setErrortype_id(errortype_id);
+			eType.setStarttime(new Date());
+			eType.setDeleted("false");
+			eType.setFieldvalues_id(fieldvalues_id);
+			eType = em.merge(eType);
+			Long newerrortype_id = eType.getErrortype_id();
+			return newerrortype_id;
+		} catch (Exception ex2) {
+			log.error("[addErrorType]: ", ex2);
+		}
+		return null;
+	}
+
+	public List<ErrorType> getErrorTypes() {
+		try {
+			String hql = "select c from ErrorType as c "
+					+ "WHERE c.deleted <> :deleted ";
+			TypedQuery<ErrorType> query = em.createQuery(hql, ErrorType.class);
+			query.setParameter("deleted", "true");
+			List<ErrorType> ll = query.getResultList();
+			return ll;
+		} catch (Exception ex2) {
+			log.error("[getErrorTypes]: ", ex2);
+		}
+		return null;
+	}
+
+	public ErrorType getErrorType(Long errortype_id) {
+		try {
+			String hql = "select c from ErrorType as c "
+					+ "WHERE c.deleted <> :deleted AND c.errortype_id = :errortype_id";
+			TypedQuery<ErrorType> query = em.createQuery(hql, ErrorType.class);
+			query.setParameter("deleted", "true");
+			query.setParameter("errortype_id", errortype_id);
+			return query.getSingleResult();
+		} catch (Exception ex2) {
+			log.error("[getErrorType(" + errortype_id + ")]", ex2);
+		}
+		return null;
+	}
+
+	public Long addErrorValues(Long errorvalues_id, Long errortype_id,
+			Long fieldvalues_id) {
+		try {
+			ErrorValues eValue = new ErrorValues();
+			eValue.setErrorvalues_id(errorvalues_id);
+			eValue.setErrortype_id(errortype_id);
+			eValue.setDeleted("false");
+			eValue.setStarttime(new Date());
+			eValue.setFieldvalues_id(fieldvalues_id);
+			eValue = em.merge(eValue);
+			return eValue.getErrorvalues_id();
+		} catch (Exception ex2) {
+			log.error("[addErrorValues]: ", ex2);
+		}
+		return null;
+	}
+
+	public Long getErrorValueById(Long errortype_id, Long fieldvalues_id) {
+		try {
+			ErrorValues eValue = new ErrorValues();
+			eValue.setErrortype_id(errortype_id);
+			eValue.setStarttime(new Date());
+			eValue.setFieldvalues_id(fieldvalues_id);
+			eValue = em.merge(eValue);
+			Long newerrorvalues_id = eValue.getErrorvalues_id();
+			return newerrorvalues_id;
+		} catch (Exception ex2) {
+			log.error("[getErrorValueById]: ", ex2);
+		}
+		return null;
+	}
+
+	public Long updateErrorValues(Long errortype_id, Long fieldvalues_id) {
+		try {
+			ErrorValues eValue = new ErrorValues();
+			eValue.setErrortype_id(errortype_id);
+			eValue.setStarttime(new Date());
+			eValue.setFieldvalues_id(fieldvalues_id);
+			eValue = em.merge(eValue);
+			Long newerrorvalues_id = eValue.getErrorvalues_id();
+			return newerrorvalues_id;
+		} catch (Exception ex2) {
+			log.error("[addErrorType]: ", ex2);
+		}
+		return null;
+	}
+
+	public ErrorValues getErrorValuesById(Long errorvalues_id) {
+		try {
+			String hql = "select c from ErrorValues as c "
+					+ " where c.errorvalues_id = :errorvalues_id "
+					+ " AND c.deleted <> :deleted";
+			TypedQuery<ErrorValues> query = em.createQuery(hql, ErrorValues.class);
+			query.setParameter("errorvalues_id", errorvalues_id);
+			query.setParameter("deleted", "true");
+			ErrorValues e = null;
+			try {
+				e = query.getSingleResult();
+			} catch (NoResultException ex) {
+			}
+			return e;
+		} catch (Exception ex2) {
+			log.error("[getErrorValuesById]", ex2);
+		}
+		return null;
+	}
+}
diff --git a/src/org/openmeetings/app/data/basic/FieldLanguageDaoImpl.java b/src/org/openmeetings/app/data/basic/FieldLanguageDaoImpl.java
new file mode 100644
index 0000000..b608645
--- /dev/null
+++ b/src/org/openmeetings/app/data/basic/FieldLanguageDaoImpl.java
@@ -0,0 +1,141 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.basic;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.persistence.beans.lang.FieldLanguage;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 
+ * @author sebastianwagner
+ * 
+ */
+@Transactional
+public class FieldLanguageDaoImpl {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			FieldLanguageDaoImpl.class, OpenmeetingsVariables.webAppRootKey);
+
+	@PersistenceContext
+	private EntityManager em;
+
+	public Long addLanguage(String langName, Boolean langRtl, String code) {
+		try {
+
+			FieldLanguage fl = new FieldLanguage();
+			fl.setStarttime(new Date());
+			fl.setDeleted("false");
+			fl.setName(langName);
+			fl.setRtl(langRtl);
+			fl.setCode(code);
+
+			fl = em.merge(fl);
+			Long languages_id = fl.getLanguage_id();
+
+			return languages_id;
+		} catch (Exception ex2) {
+			log.error("[addLanguage]: ", ex2);
+		}
+		return null;
+	}
+
+	public void emptyFieldLanguage() {
+		try {
+
+			// TODO delete hql query doesn't work, must be repared
+			em.createQuery("delete from FieldLanguage");
+		} catch (Exception ex2) {
+			log.error("[getConfKey]: ", ex2);
+		}
+	}
+
+	public Long updateFieldLanguage(Long language_id, String langName,
+			String code, String deleted) {
+		try {
+			FieldLanguage fl = this.getFieldLanguageById(language_id);
+			fl.setUpdatetime(new Date());
+			if (langName.length() > 0)
+				fl.setName(langName);
+			if (code.length() > 0)
+				fl.setCode(code);
+			fl.setDeleted(deleted);
+			this.updateLanguage(fl);
+			return language_id;
+		} catch (Exception ex2) {
+			log.error("[updateLanguage]: ", ex2);
+		}
+		return new Long(-1);
+	}
+
+	private void updateLanguage(FieldLanguage fl) throws Exception {
+		if (fl.getLanguage_id() == null) {
+			em.persist(fl);
+		} else {
+			if (!em.contains(fl)) {
+				em.merge(fl);
+			}
+		}
+	}
+
+	public FieldLanguage getFieldLanguageById(Long language_id) {
+		try {
+			String hql = "select c from FieldLanguage as c "
+					+ "WHERE c.deleted <> :deleted "
+					+ "AND c.language_id = :language_id";
+			TypedQuery<FieldLanguage> query = em.createQuery(hql, FieldLanguage.class);
+			query.setParameter("deleted", "true");
+			query.setParameter("language_id", language_id);
+			FieldLanguage fl = null;
+			try {
+				fl = query.getSingleResult();
+			} catch (NoResultException ex) {
+			}
+			return fl;
+		} catch (Exception ex2) {
+			log.error("[getLanguageById]: ", ex2);
+		}
+		return null;
+	}
+
+	public List<FieldLanguage> getLanguages() {
+		try {
+			String hql = "select c from FieldLanguage as c "
+					+ "WHERE c.deleted <> :deleted ";
+			TypedQuery<FieldLanguage> query = em.createQuery(hql, FieldLanguage.class);
+			query.setParameter("deleted", "true");
+			List<FieldLanguage> ll = query.getResultList();
+			return ll;
+		} catch (Exception ex2) {
+			log.error("[getLanguages]: ", ex2);
+		}
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/basic/Fieldmanagment.java b/src/org/openmeetings/app/data/basic/Fieldmanagment.java
new file mode 100644
index 0000000..6642722
--- /dev/null
+++ b/src/org/openmeetings/app/data/basic/Fieldmanagment.java
@@ -0,0 +1,636 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.basic;
+
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.beans.basic.SearchResult;
+import org.openmeetings.app.persistence.beans.lang.FieldLanguage;
+import org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues;
+import org.openmeetings.app.persistence.beans.lang.Fieldvalues;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 
+ * @author sebastianwagner
+ * 
+ */
+@Transactional
+public class Fieldmanagment {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			Fieldmanagment.class, OpenmeetingsVariables.webAppRootKey);
+
+	@PersistenceContext
+	private EntityManager em;
+
+	@Autowired
+	private FieldLanguageDaoImpl fieldLanguageDaoImpl;
+
+	@Autowired
+	private Configurationmanagement cfgManagement;
+	
+	// Reflect the Reverse Order!!
+	public Fieldlanguagesvalues getFieldByIdAndLanguageByNavi(
+			Long fieldvalues_id, Long language_id) {
+		try {
+			if (fieldvalues_id == null) {
+				return null;
+			}
+
+			TypedQuery<Fieldlanguagesvalues> query = em
+					.createQuery("select f from Fieldlanguagesvalues f WHERE f.language_id = :language_id AND f.fieldvalues_id = :fieldvalues_id", Fieldlanguagesvalues.class);
+			query.setParameter("fieldvalues_id", fieldvalues_id);
+			query.setParameter("language_id", language_id);
+			Fieldlanguagesvalues flv = null;
+			try {
+				flv = performReplace(query.getSingleResult());
+			} catch (NoResultException ex) {
+			}
+
+			FieldLanguage fieldLanguage = fieldLanguageDaoImpl
+					.getFieldLanguageById(language_id);
+
+			log.debug("Getting FieldById for Language "
+					+ fieldLanguage.getName());
+
+			// Check for Right To Left Languages
+			if (fieldLanguage.getRtl()) {
+
+				log.debug("Language requieres RTL");
+
+				Fieldlanguagesvalues remote = flv;
+				Fieldlanguagesvalues toAdd = new Fieldlanguagesvalues();
+				toAdd.setFieldlanguagesvalues_id(remote
+						.getFieldlanguagesvalues_id());
+				toAdd.setFieldvalues_id(remote.getFieldvalues_id());
+				toAdd.setLanguage_id(remote.getLanguage_id());
+
+				String[] splitted = remote.getValue().split(" ");
+				String reverseOrder = "";
+				for (int i = splitted.length - 1; i >= 0; i--) {
+					reverseOrder += splitted[i];
+					if (splitted.length != 1) {
+						reverseOrder += " ";
+					}
+				}
+				toAdd.setValue(reverseOrder);
+
+				return toAdd;
+			} else {
+				log.debug("Language doesnt requiere RTL");
+
+				return flv;
+			}
+
+		} catch (Exception ex2) {
+			log.error("[getFieldByIdAndLanguage]: ", ex2);
+		}
+		return null;
+	}
+
+	public String getString(Long fieldvalues_id, Long language_id) {
+		String result = null;
+		Fieldlanguagesvalues flv = getFieldByIdAndLanguage(fieldvalues_id, language_id);
+		if (flv != null) {
+			result = performReplace(flv).getValue();
+		}
+		return result;
+	}
+	
+	public Fieldlanguagesvalues getFieldByIdAndLanguage(Long fieldvalues_id,
+			Long language_id) {
+		try {
+
+			String hql = "select f from Fieldlanguagesvalues as f "
+					+ "WHERE f.language_id = :language_id "
+					+ "AND f.fieldvalues_id = :fieldvalues_id";
+
+			Fieldlanguagesvalues flv = null;
+
+			TypedQuery<Fieldlanguagesvalues> query = em.createQuery(hql, Fieldlanguagesvalues.class);
+
+			query.setParameter("fieldvalues_id", fieldvalues_id);
+			query.setParameter("language_id", language_id);
+			List<Fieldlanguagesvalues> fList = query.getResultList();
+
+			if (fList.size() > 0) {
+				flv = fList.get(0); //replace should not be performed here to enable string editing via admin
+			}
+
+			return flv;
+		} catch (Exception ex2) {
+			log.error("[getFieldByIdAndLanguage]: ", ex2);
+		}
+		return null;
+	}
+
+	public Long deleteFieldlanguagesvaluesById(Long fieldlanguagesvalues_id) {
+		try {
+			Fieldlanguagesvalues flv = this
+					.getFieldlanguagesvaluesById(fieldlanguagesvalues_id);
+			if (flv == null) {
+				return new Long(-27);
+			}
+
+			flv = em.find(Fieldlanguagesvalues.class, fieldlanguagesvalues_id);
+
+			return new Long(-28);
+		} catch (Exception ex2) {
+			log.error("[getFieldByIdAndLanguage]: ", ex2);
+		}
+		return new Long(-1);
+	}
+
+	public List<Fieldlanguagesvalues> getAllFieldsByLanguage(Long language_id) {
+		try {
+
+			TypedQuery<Fieldlanguagesvalues> query = em
+					.createQuery("select f from Fieldlanguagesvalues f WHERE f.language_id = :language_id ", Fieldlanguagesvalues.class);
+			query.setParameter("language_id", language_id);
+			List<Fieldlanguagesvalues> returnList = performReplace(query.getResultList());
+
+			return returnList;
+		} catch (Exception ex2) {
+			log.error("[getConfKey]: " + ex2);
+		}
+		return null;
+	}
+
+	public List<Map<String, Object>> getLabelsByLanguage(Long language_id,
+			int start, int max) {
+		try {
+
+			String sql = "select f.fieldvalues.fieldvalues_id, f.value from Fieldlanguagesvalues as f "
+					+ "WHERE f.language_id = :language_id ";
+
+			TypedQuery<Object> query = em.createQuery(sql, Object.class);
+			query.setParameter("language_id", language_id);
+			query.setFirstResult(start);
+			query.setMaxResults(max);
+
+			String appName = cfgManagement.getAppName();
+			List<Map<String, Object>> returnList = new LinkedList<Map<String, Object>>();
+			for (Object fl : query.getResultList()) {
+				Map<String, Object> map = new HashMap<String, Object>();
+				Object[] row = (Object[])fl;
+				map.put("id", (Long)row[0]);
+				map.put("value", performReplace((String)row[1], appName));
+				returnList.add(map);
+			}
+			FieldLanguage fieldLanguage = fieldLanguageDaoImpl
+					.getFieldLanguageById(language_id);
+
+			log.debug("Getting Labels for Language " + fieldLanguage.getName());
+
+			// Check for Right To Left Languages
+			if (fieldLanguage.getRtl()) {
+				log.debug("Language requieres RTL!");
+
+				List<Map<String, Object>> returnRtlList = new LinkedList<Map<String, Object>>();
+
+				for (Iterator<Map<String, Object>> iter = returnList.iterator(); iter
+						.hasNext();) {
+					Map<String, Object> remote = iter.next();
+
+					Map<String, Object> toAdd = new HashMap<String, Object>();
+					toAdd.put("id", remote.get("id"));
+
+					String value = remote.get("value").toString();
+
+					String[] splitted = value.split(" ");
+					String reverseOrder = "";
+					for (int i = splitted.length - 1; i >= 0; i--) {
+						reverseOrder += splitted[i];
+						if (splitted.length != 1) {
+							reverseOrder += " ";
+						}
+					}
+					log.debug("reverseOrder " + reverseOrder);
+					toAdd.put("value", value);
+
+					returnRtlList.add(toAdd);
+				}
+
+				return returnRtlList;
+			} else {
+				log.debug("Language doesnt requiere RTL!");
+
+				return returnList;
+
+			}
+
+		} catch (Exception ex2) {
+			log.error("[getLabelsByLanguage]: ", ex2);
+			ex2.printStackTrace();
+		}
+		return null;
+	}
+
+	public List<Fieldlanguagesvalues> getAllFieldsByLanguage(Long language_id,
+			int start, int max) {
+		try {
+
+			String sql = "select f from Fieldlanguagesvalues f WHERE f.language_id = :language_id "
+					+ "AND f.fieldvalues_id >= :start AND f.fieldvalues_id <  :max";
+
+			TypedQuery<Fieldlanguagesvalues> query = em.createQuery(sql, Fieldlanguagesvalues.class);
+			query.setParameter("language_id", language_id);
+			query.setParameter("start", start);
+			query.setParameter("max", start + max);
+
+			List<Fieldlanguagesvalues> returnList = performReplace(query.getResultList());
+			FieldLanguage fieldLanguage = fieldLanguageDaoImpl
+					.getFieldLanguageById(language_id);
+
+			log.debug("GEtting all fields by language : "
+					+ fieldLanguage.getName());
+
+			// Check for Right To Left Languages
+			if (fieldLanguage.getRtl()) {
+				log.debug("language : " + fieldLanguage.getName()
+						+ " requieres RTL");
+
+				List<Fieldlanguagesvalues> returnRtlList = new LinkedList<Fieldlanguagesvalues>();
+
+				for (Iterator<Fieldlanguagesvalues> iter = returnList
+						.iterator(); iter.hasNext();) {
+					Fieldlanguagesvalues remote = iter.next();
+					Fieldlanguagesvalues toAdd = new Fieldlanguagesvalues();
+					toAdd.setFieldlanguagesvalues_id(remote
+							.getFieldlanguagesvalues_id());
+					toAdd.setFieldvalues_id(remote.getFieldvalues_id());
+					toAdd.setLanguage_id(remote.getLanguage_id());
+
+					String[] splitted = remote.getValue().split(" ");
+					String reverseOrder = "";
+					for (int i = splitted.length - 1; i >= 0; i--) {
+						reverseOrder += splitted[i];
+						if (splitted.length != 1) {
+							reverseOrder += " ";
+						}
+					}
+					toAdd.setValue(reverseOrder);
+
+					returnRtlList.add(toAdd);
+				}
+
+				return returnRtlList;
+			} else {
+				log.debug("language : " + fieldLanguage.getName()
+						+ " requieres NO RTL");
+
+				return returnList;
+
+			}
+
+		} catch (Exception ex2) {
+			log.error("[getConfKey]: ", ex2);
+		}
+		return null;
+	}
+
+	public Long addFieldValueByFieldAndLanguage(Fieldvalues fv,
+			Long language_id, String fieldvalue) {
+		try {
+
+			Fieldlanguagesvalues flv = new Fieldlanguagesvalues();
+			flv.setStarttime(new Date());
+			flv.setValue(fieldvalue);
+			flv.setLanguage_id(language_id);
+			flv.setFieldvalues(fv);
+			flv.setDeleted("false");
+
+			flv = em.merge(flv);
+			Long fieldlanguagesvaluesId = flv.getFieldlanguagesvalues_id();
+
+			return fieldlanguagesvaluesId;
+		} catch (Exception ex2) {
+			log.error("[getConfKey]: ", ex2);
+		}
+		return null;
+	}
+
+	public void updateFieldValueByFieldAndLanguage(Fieldlanguagesvalues flv) {
+		try {
+
+			if (flv.getFieldlanguagesvalues_id() == null) {
+				em.persist(flv);
+			} else {
+				if (!em.contains(flv)) {
+					em.merge(flv);
+				}
+			}
+
+		} catch (Exception ex2) {
+			log.error("[updateFieldValueByFieldAndLanguage]: ", ex2);
+		}
+
+	}
+
+	public Fieldvalues addFieldById(String fieldName, Long fieldvalues_id) {
+		try {
+			Fieldvalues fl = new Fieldvalues();
+			fl.setFieldvalues_id(fieldvalues_id);
+			fl.setStarttime(new Date());
+			fl.setName(fieldName);
+			fl.setDeleted("false");
+
+			return em.merge(fl);
+		} catch (Exception ex2) {
+			log.error("[getConfKey]: ", ex2);
+		}
+		return null;
+	}
+
+	public List<Fieldlanguagesvalues> getMixedFieldValuesList(Long language_id) {
+		// all Fieldlanguagesvalues in current Language
+		TypedQuery<Fieldlanguagesvalues> q = em.createNamedQuery("allFieldLanguageValues", Fieldlanguagesvalues.class);
+		q.setParameter("language_id", language_id);
+		return q.getResultList();
+	}
+
+	public List<Fieldlanguagesvalues> getUntranslatedFieldValuesList(Long language_id) {
+		// all FieldValuesIds in current Language
+		TypedQuery<Long> q0 = em.createNamedQuery("allFieldValuesIds", Long.class);
+		q0.setParameter("language_id", language_id);
+		List<Long> translatedIds = q0.getResultList();
+		
+		// all not translated values from english
+		TypedQuery<Fieldlanguagesvalues> q1 = em.createNamedQuery("allNotTranslatedValues", Fieldlanguagesvalues.class);
+		q1.setParameter("id_list", translatedIds);
+
+		return q1.getResultList();
+	}
+
+	public Fieldvalues getFieldvaluesById(Long fieldvalues_id, Long language_id) {
+		try {
+			// log.error("Long fieldvalues_id, Long language_id "+fieldvalues_id+" || "+language_id);
+			Fieldvalues fv = this.getFieldvaluesById(fieldvalues_id);
+			fv.setFieldlanguagesvalue(this.getFieldByIdAndLanguage(
+					fieldvalues_id, language_id));
+			return fv;
+		} catch (Exception e) {
+			log.error("[getFieldvaluesById] ", e);
+		}
+		return null;
+	}
+
+	/**
+	 * update given Field and its Label by IDs
+	 * 
+	 * @param fieldvalues_id
+	 * @param name
+	 * @param fieldlanguagesvalues_id
+	 * @param value
+	 * @return
+	 */
+	public Long updateLabel(Long fieldvalues_id, String name,
+			Long fieldlanguagesvalues_id, String value) {
+		try {
+			Fieldvalues fv = this.getFieldvaluesById(fieldvalues_id);
+			if (fv == null) {
+				return new Long(-24);
+			} else {
+				fv.setName(name);
+				fv.setUpdatetime(new Date());
+				this.updateField(fv);
+			}
+			Fieldlanguagesvalues flv = this
+					.getFieldlanguagesvaluesById(fieldlanguagesvalues_id);
+			if (flv == null) {
+				return new Long(-25);
+			} else {
+				flv.setUpdatetime(new Date());
+				flv.setValue(value);
+				this.updateFieldLanguagesLabel(flv);
+			}
+			return fieldvalues_id;
+		} catch (Exception ex2) {
+			log.error("[updateFieldLanguagesLabel]: ", ex2);
+		}
+		return new Long(-1);
+	}
+
+	public Long addAndUpdateLabel(Long fieldvalues_id, String name,
+			String value, Long language_id) {
+		try {
+			Fieldvalues fv = this.getFieldvaluesById(fieldvalues_id);
+			if (fv == null) {
+				return new Long(-24);
+			} else {
+				fv.setName(name);
+				fv.setUpdatetime(new Date());
+				this.updateField(fv);
+			}
+			this.addFieldValueByFieldAndLanguage(fv, language_id,
+					value);
+			return fieldvalues_id;
+		} catch (Exception ex2) {
+			log.error("[updateFieldLanguagesLabel]: ", ex2);
+		}
+		return new Long(-1);
+	}
+
+	public long getNextFieldvaluesId() {
+		TypedQuery<Long> q = em.createNamedQuery("getFieldCount", Long.class);
+		return q.getSingleResult() + 1;
+	}
+	
+	public Long addFieldAndLabel(String name, String value, Long language_id) {
+		try {
+			Fieldvalues fv = addFieldById(name, getNextFieldvaluesId());
+			if (fv.getFieldvalues_id() > 0) {
+				this.addFieldValueByFieldAndLanguage(fv,
+						language_id, value);
+				return fv.getFieldvalues_id();
+			} else {
+				return -1L;
+			}
+		} catch (Exception ex2) {
+			log.error("[updateFieldLanguagesLabel]: ", ex2);
+		}
+		return -1L;
+	}
+
+	public SearchResult<Fieldvalues> getFieldsByLanguage(int start, int max, String orderby,
+			boolean asc, Long language_id, String search) {
+		try {
+			SearchResult<Fieldvalues> sresult = new SearchResult<Fieldvalues>();
+			sresult.setObjectName(Fieldlanguagesvalues.class.getName());
+			sresult.setRecords(this.selectMaxFromFieldsValues(search));
+			sresult.setResult(this.getMixedFieldValuesList(start, max, orderby,
+					asc, language_id, search));
+			return sresult;
+		} catch (Exception ex2) {
+			log.error("[getFieldsByLanguage]: ", ex2);
+		}
+		return null;
+	}
+
+	private Long selectMaxFromFieldsValues(String search) throws Exception {
+		String queryLanguage = "select count(c.fieldvalues_id) from Fieldvalues c where c.deleted = 'false'";
+		if (search.length()>0) {
+			queryLanguage += " AND (c.name LIKE :searchStr " +
+							"OR c.fieldvalues_id = :fieldvalues_id)";
+		}
+		TypedQuery<Long> query = em
+				.createQuery(queryLanguage, Long.class);
+		if (search.length()>0) {
+			query.setParameter("searchStr", "%"+search+"%");
+			long idNumber = 0;
+			try {
+				idNumber = Long.parseLong(search);
+			} catch (NumberFormatException nfe) {
+			}
+			query.setParameter("fieldvalues_id", idNumber);
+		}
+		return query.getResultList().get(0);
+	}
+
+	private List<Fieldvalues> getMixedFieldValuesList(int start, int max,
+			String orderby, boolean asc, Long language_id, String search) throws Exception {
+		List<Fieldvalues> fvList = this.getFieldsValues(start, max, orderby, asc, search);
+		for (Fieldvalues fv : fvList) {
+			fv.setFieldlanguagesvalue(this.getFieldByIdAndLanguage(
+					fv.getFieldvalues_id(), language_id));
+		}
+		return fvList;
+	}
+
+	private List<Fieldvalues> getFieldsValues(int start, int max,
+			String orderby, boolean asc, String search) throws Exception {
+		String queryLanguage = "select c from Fieldvalues c where c.deleted = 'false'";
+		if (search.length()>0) {
+			queryLanguage += " AND (c.name LIKE :searchStr " +
+							"OR c.fieldvalues_id = :fieldvalues_id)";
+		}
+		if (asc) {
+			queryLanguage += " ORDER BY "+orderby+ " ASC";
+		} else {
+			queryLanguage += " ORDER BY "+orderby + "DESC";
+		}
+		TypedQuery<Fieldvalues> q = em
+				.createQuery(queryLanguage, Fieldvalues.class);
+		if (search.length()>0) {
+			q.setParameter("searchStr", "%"+search+"%");
+			long idNumber = 0;
+			try {
+				idNumber = Long.parseLong(search);
+			} catch (NumberFormatException nfe) {
+			}
+			q.setParameter("fieldvalues_id", idNumber);
+		}
+		q.setFirstResult(start);
+		q.setMaxResults(max);
+		return  q.getResultList();
+	}
+
+	public Fieldvalues getFieldvaluesById(Long fieldvalues_id) {
+		String hql = "select f from Fieldvalues f WHERE f.fieldvalues_id = :fieldvalues_id ";
+		TypedQuery<Fieldvalues> query = em.createQuery(hql, Fieldvalues.class);
+		query.setParameter("fieldvalues_id", fieldvalues_id);
+		Fieldvalues fv = null;
+		try {
+			fv = query.getSingleResult();
+		} catch (NoResultException ex) {
+		}
+		return fv;
+	}
+
+	private Fieldlanguagesvalues getFieldlanguagesvaluesById(
+			Long fieldlanguagesvalues_id) throws Exception {
+		String hql = "select f from Fieldlanguagesvalues f WHERE f.fieldlanguagesvalues_id = :fieldlanguagesvalues_id ";
+		TypedQuery<Fieldlanguagesvalues> query = em.createQuery(hql, Fieldlanguagesvalues.class);
+		query.setParameter("fieldlanguagesvalues_id", fieldlanguagesvalues_id);
+		Fieldlanguagesvalues flv = null;
+		try {
+			flv = performReplace(query.getSingleResult());
+		} catch (NoResultException ex) {
+		}
+		return flv;
+	}
+	
+	private Fieldlanguagesvalues performReplace(Fieldlanguagesvalues f) {
+		String appName = cfgManagement.getAppName();
+		return performReplace(f, appName);
+	}
+	
+	private String performReplace(String val, String appName) {
+		return val.replaceAll("\\$APP_NAME", appName);
+	}
+	
+	private Fieldlanguagesvalues performReplace(Fieldlanguagesvalues f, String appName) {
+		Fieldlanguagesvalues r = new Fieldlanguagesvalues();
+		r.setDeleted(f.getDeleted());
+		r.setFieldlanguagesvalues_id(f.getFieldlanguagesvalues_id());
+		r.setFieldvalues_id(f.getFieldvalues_id());
+		r.setLanguage_id(f.getLanguage_id());
+		r.setStarttime(f.getStarttime());
+		r.setUpdatetime(f.getUpdatetime());
+		r.setValue(performReplace(f.getValue(), appName));
+		return r;
+	}
+	
+	private <T extends Collection<Fieldlanguagesvalues>> T performReplace(T flv) {
+		String appName = cfgManagement.getAppName();
+		
+		for (Fieldlanguagesvalues f : flv) {
+			performReplace(f, appName);
+		}
+		return flv;
+	}
+	
+	private void updateField(Fieldvalues fv) throws Exception {
+		if (fv.getFieldvalues_id() == null) {
+			em.persist(fv);
+		} else {
+			if (!em.contains(fv)) {
+				em.merge(fv);
+			}
+		}
+	}
+
+	private void updateFieldLanguagesLabel(Fieldlanguagesvalues flv)
+			throws Exception {
+		if (flv.getFieldlanguagesvalues_id() == null) {
+			em.persist(flv);
+		} else {
+			if (!em.contains(flv)) {
+				em.merge(flv);
+			}
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/basic/Navimanagement.java b/src/org/openmeetings/app/data/basic/Navimanagement.java
new file mode 100644
index 0000000..1c67907
--- /dev/null
+++ b/src/org/openmeetings/app/data/basic/Navimanagement.java
@@ -0,0 +1,155 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.basic;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.persistence.beans.basic.Naviglobal;
+import org.openmeetings.app.persistence.beans.basic.Navimain;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class Navimanagement {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			Navimanagement.class, OpenmeetingsVariables.webAppRootKey);
+
+	@PersistenceContext
+	private EntityManager em;
+
+	@Autowired
+	private Fieldmanagment fieldmanagment;
+
+	public Naviglobal getGlobalMenuEntry(long globalId) {
+		try {
+			TypedQuery<Naviglobal> query = em.createNamedQuery("getNavigationById", Naviglobal.class);
+			query.setParameter("global_id", globalId);
+			return query.getSingleResult();
+		} catch (Exception ex2) {
+			log.error("getGlobalMenuEntry", ex2);
+		}
+		return null;
+		
+	}
+	
+	public List<Naviglobal> getMainMenu(long user_level, long USER_ID, long language_id) {
+		List<Naviglobal> ll = this.getMainMenu(user_level, USER_ID);
+		for (Iterator<Naviglobal> it2 = ll.iterator(); it2.hasNext();) {
+			Naviglobal navigl = it2.next();
+			navigl.setLabel(fieldmanagment.getFieldByIdAndLanguageByNavi(
+					navigl.getFieldvalues_id(), language_id));
+			navigl.setTooltip(fieldmanagment.getFieldByIdAndLanguageByNavi(
+					navigl.getTooltip_fieldvalues_id(), language_id));
+			List<Navimain> s = navigl.getMainnavi();
+			for (Iterator<Navimain> it3 = s.iterator(); it3.hasNext();) {
+				Navimain navim = it3.next();
+				navim.setLabel(fieldmanagment.getFieldByIdAndLanguageByNavi(
+						navim.getFieldvalues_id(), language_id));
+				navim.setTooltip(fieldmanagment.getFieldByIdAndLanguageByNavi(
+						navim.getTooltip_fieldvalues_id(), language_id));
+
+			}
+		}
+		return ll;
+	}
+
+	public List<Naviglobal> getMainMenu(long user_level, long USER_ID) {
+		try {
+			TypedQuery<Naviglobal> query = em.createNamedQuery("getNavigation", Naviglobal.class);
+			query.setParameter("level_id", user_level);
+			List<Naviglobal> navi = query.getResultList();
+			return navi;
+		} catch (Exception ex2) {
+			log.error("getMainMenu", ex2);
+		}
+		return null;
+	}
+
+	public void addGlobalStructure(String action, int naviorder,
+			long fieldvalues_id, boolean isleaf, boolean isopen, long level_id,
+			String name, String deleted, Long tooltip_fieldvalues_id) {
+		try {
+			Naviglobal ng = new Naviglobal();
+			ng.setAction(action);
+			ng.setComment("");
+			ng.setIcon("");
+			ng.setNaviorder(naviorder);
+			ng.setFieldvalues_id(fieldvalues_id);
+			ng.setIsleaf(isleaf);
+			ng.setIsopen(isopen);
+			ng.setDeleted(deleted);
+			ng.setLevel_id(level_id);
+			ng.setName(name);
+			ng.setStarttime(new Date());
+			ng.setTooltip_fieldvalues_id(tooltip_fieldvalues_id);
+			// CriteriaBuilder crit = em.getCriteriaBuilder();
+
+			em.merge(ng);
+
+		} catch (Exception ex2) {
+			log.error("addGlobalStructure", ex2);
+		}
+	}
+
+	public void addMainStructure(String action, int naviorder,
+			long fieldvalues_id, boolean isleaf, boolean isopen, long level_id,
+			String name, long global_id, String deleted,
+			Long tooltip_fieldvalues_id) {
+		try {
+			Naviglobal ng = getGlobalMenuEntry(global_id);
+			List<Navimain> mainEntries = ng.getMainnavi();
+			mainEntries = (mainEntries == null) ? new ArrayList<Navimain>() : mainEntries;
+			
+			Navimain nm = new Navimain();
+			nm.setAction(action);
+			nm.setComment("");
+			nm.setIcon("");
+			nm.setFieldvalues_id(fieldvalues_id);
+			nm.setIsleaf(isleaf);
+			nm.setNaviorder(naviorder);
+			nm.setIsopen(isopen);
+			nm.setLevel_id(level_id);
+			nm.setName(name);
+			nm.setDeleted(deleted);
+			nm.setGlobal_id(global_id);
+			nm.setStarttime(new Date());
+			nm.setTooltip_fieldvalues_id(tooltip_fieldvalues_id);
+			
+			mainEntries.add(nm);
+			ng.setMainnavi(mainEntries);
+			
+			em.merge(ng);
+
+		} catch (Exception ex2) {
+			log.error("addMainStructure", ex2);
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/basic/Sessionmanagement.java b/src/org/openmeetings/app/data/basic/Sessionmanagement.java
new file mode 100644
index 0000000..79e7cc9
--- /dev/null
+++ b/src/org/openmeetings/app/data/basic/Sessionmanagement.java
@@ -0,0 +1,516 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.basic;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.conference.session.RoomClient;
+import org.openmeetings.app.persistence.beans.basic.Sessiondata;
+import org.openmeetings.app.remote.red5.ClientListManager;
+import org.openmeetings.utils.crypt.ManageCryptStyle;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 
+ * @author swagner This Class handles all session management
+ * 
+ *         TODO: Delete all inactive session by a scheduler
+ * 
+ */
+@Transactional
+public class Sessionmanagement {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			Sessionmanagement.class, OpenmeetingsVariables.webAppRootKey);
+	@PersistenceContext
+	private EntityManager em;
+
+	@Autowired
+	private ManageCryptStyle manageCryptStyle;
+	@Autowired
+	private ClientListManager clientListManager;
+
+	/**
+	 * creates a new session-object in the database
+	 * 
+	 * @return
+	 */
+	public Sessiondata startsession() {
+		try {
+
+			log.debug("startsession :: startsession");
+
+			long thistime = new Date().getTime();
+			Sessiondata sessiondata = new Sessiondata();
+			sessiondata.setSession_id(manageCryptStyle.getInstanceOfCrypt()
+					.createPassPhrase(String.valueOf(thistime).toString()));
+			sessiondata.setRefresh_time(new Date());
+			sessiondata.setStarttermin_time(new Date());
+			sessiondata.setUser_id(null);
+
+			sessiondata = em.merge(sessiondata);
+
+			return sessiondata;
+		} catch (Exception ex2) {
+			log.error("[startsession]: ", ex2);
+		}
+
+		return null;
+	}
+
+	public Sessiondata getSessionByHash(String SID) {
+		try {
+			log.debug("updateUser User SID: " + SID);
+
+			CriteriaBuilder cb = em.getCriteriaBuilder();
+			CriteriaQuery<Sessiondata> cq = cb.createQuery(Sessiondata.class);
+			Root<Sessiondata> c = cq.from(Sessiondata.class);
+			Predicate condition = cb.equal(c.get("session_id"), SID);
+			cq.where(condition);
+
+			TypedQuery<Sessiondata> q = em.createQuery(cq);
+
+			List<Sessiondata> fullList = q.getResultList();
+			if (fullList.size() == 0) {
+				log.error("Could not find session to update: " + SID);
+				return null;
+			}
+
+			Sessiondata sd = fullList.get(0);
+
+			return sd;
+		} catch (Exception ex2) {
+			log.error("[updateUser]: ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param SID
+	 * @return
+	 */
+	public Long checkSession(String SID) {
+		try {
+
+			String hql = "select c from Sessiondata as c "
+					+ "where c.session_id LIKE :session_id";
+
+			// log.debug("checkSession User: || "+SID);
+			// session.flush();
+			TypedQuery<Sessiondata> query = em.createQuery(hql, Sessiondata.class);
+			query.setParameter("session_id", SID);
+
+			List<Sessiondata> sessions = query.getResultList();
+
+			Sessiondata sessiondata = null;
+			if (sessions != null && sessions.size() > 0) {
+				sessiondata = sessions.get(0);
+			}
+
+			// if (sessiondata!=null) {
+			// log.debug("checkSession USER_ID: "+sessiondata.getUser_id());
+			// } else {
+			// log.debug("Session IS NULL SID: "+SID);
+			// }
+
+			// Update the Session Object
+			if (sessiondata != null)
+				updatesession(SID);
+
+			// Checks if wether the Session or the User Object of that Session
+			// is set yet
+			if (sessiondata == null || sessiondata.getUser_id() == null
+					|| sessiondata.getUser_id().equals(new Long(0))) {
+				return new Long(0);
+			} else {
+				return sessiondata.getUser_id();
+			}
+		} catch (Exception ex2) {
+			log.error("[checkSession]: ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * update the session of a user with a new user id this is needed to see if
+	 * the session is loggedin
+	 * 
+	 * @param SID
+	 * @param USER_ID
+	 */
+	public Boolean updateUser(String SID, long USER_ID) {
+		try {
+			log.debug("updateUser User: " + USER_ID + " || " + SID);
+
+			String hql = "select c from Sessiondata as c "
+					+ "where c.session_id LIKE :session_id";
+
+			// log.debug("checkSession User: || "+SID);
+			TypedQuery<Sessiondata> query = em.createQuery(hql, Sessiondata.class);
+			query.setParameter("session_id", SID);
+
+			List<Sessiondata> sessions = query.getResultList();
+
+			Sessiondata sessiondata = null;
+			if (sessions != null && sessions.size() > 0) {
+				sessiondata = sessions.get(0);
+			}
+
+			if (sessiondata == null) {
+				log.error("Could not find session to Update");
+				return false;
+			}
+			log.debug("Found session to update: " + sessiondata.getSession_id()
+					+ " userId: " + USER_ID);
+
+			sessiondata.setRefresh_time(new Date());
+			// session.refresh(sd);
+			sessiondata.setUser_id(USER_ID);
+			if (sessiondata.getId() == null) {
+				em.persist(sessiondata);
+			} else {
+				if (!em.contains(sessiondata)) {
+					em.merge(sessiondata);
+				}
+			}
+
+			// log.debug("session updated User: "+USER_ID);
+			return true;
+		} catch (Exception ex2) {
+			log.error("[updateUser]: ", ex2);
+		}
+		return null;
+	}
+
+	public Boolean updateUser(String SID, long USER_ID, boolean storePermanent,
+			Long language_id) {
+		try {
+			log.debug("updateUser User: " + USER_ID + " || " + SID);
+
+			String hql = "select c from Sessiondata as c "
+					+ "where c.session_id LIKE :session_id";
+
+			// log.debug("checkSession User: || "+SID);
+			TypedQuery<Sessiondata> query = em.createQuery(hql, Sessiondata.class);
+			query.setParameter("session_id", SID);
+
+			List<Sessiondata> sessions = query.getResultList();
+
+			Sessiondata sessiondata = null;
+			if (sessions != null && sessions.size() > 0) {
+				sessiondata = sessions.get(0);
+			}
+
+			if (sessiondata == null) {
+				log.error("Could not find session to Update");
+				return false;
+			}
+			log.debug("Found session to update: " + sessiondata.getSession_id()
+					+ " userId: " + USER_ID);
+
+			sessiondata.setRefresh_time(new Date());
+			// session.refresh(sd);
+			sessiondata.setUser_id(USER_ID);
+			if (storePermanent) {
+				sessiondata.setStorePermanent(storePermanent);
+			}
+			sessiondata.setLanguage_id(language_id);
+			if (sessiondata.getId() == null) {
+				em.persist(sessiondata);
+			} else {
+				if (!em.contains(sessiondata)) {
+					em.merge(sessiondata);
+				}
+			}
+
+			// log.debug("session updated User: "+USER_ID);
+			return true;
+		} catch (Exception ex2) {
+			log.error("[updateUser]: ", ex2);
+		}
+		return null;
+	}
+
+	public Boolean updateUserOrg(String SID, Long organization_id) {
+		try {
+			log.debug("updateUserOrg User: " + organization_id + " || " + SID);
+
+			String hql = "select c from Sessiondata as c "
+					+ "where c.session_id LIKE :session_id";
+
+			// log.debug("checkSession User: || "+SID);
+			TypedQuery<Sessiondata> query = em.createQuery(hql, Sessiondata.class);
+			query.setParameter("session_id", SID);
+
+			List<Sessiondata> sessions = query.getResultList();
+
+			Sessiondata sessiondata = null;
+			if (sessions != null && sessions.size() > 0) {
+				sessiondata = sessions.get(0);
+			}
+
+			if (sessiondata == null) {
+				log.error("Could not find session to Update");
+				return false;
+			}
+			log.debug("Found session to update: " + sessiondata.getSession_id()
+					+ " organisation_id: " + organization_id);
+
+			sessiondata.setRefresh_time(new Date());
+			// session.refresh(sd);
+			sessiondata.setOrganization_id(organization_id);
+			if (sessiondata.getId() == null) {
+				em.persist(sessiondata);
+			} else {
+				if (!em.contains(sessiondata)) {
+					em.merge(sessiondata);
+				}
+			}
+			// log.debug("session updated User: "+USER_ID);
+			return true;
+		} catch (Exception ex2) {
+			log.error("[updateUser]: ", ex2);
+		}
+		return null;
+	}
+
+	public Boolean updateUserWithoutSession(String SID, Long USER_ID) {
+		try {
+			log.debug("updateUser User: " + USER_ID + " || " + SID);
+
+			String hql = "select c from Sessiondata as c "
+					+ "where c.session_id LIKE :session_id";
+
+			// log.debug("checkSession User: || "+SID);
+			TypedQuery<Sessiondata> query = em.createQuery(hql, Sessiondata.class);
+			query.setParameter("session_id", SID);
+
+			List<Sessiondata> sessions = query.getResultList();
+
+			Sessiondata sessiondata = null;
+			if (sessions != null && sessions.size() > 0) {
+				sessiondata = sessions.get(0);
+			}
+
+			if (sessiondata == null) {
+				log.error("Could not find session to Update");
+				return false;
+			}
+			log.debug("Found session to update: " + sessiondata.getSession_id()
+					+ " userId: " + USER_ID);
+
+			sessiondata.setRefresh_time(new Date());
+			// session.refresh(sd);
+			sessiondata.setUser_id(USER_ID);
+			if (sessiondata.getId() == null) {
+				em.persist(sessiondata);
+			} else {
+				if (!em.contains(sessiondata)) {
+					em.merge(sessiondata);
+				}
+			}
+
+			// log.debug("session updated User: "+USER_ID);
+			return true;
+		} catch (Exception ex2) {
+			log.error("[updateUser]: ", ex2);
+		}
+		return null;
+	}
+
+	public Boolean updateUserRemoteSession(String SID, String sessionXml) {
+		try {
+			log.debug("updateUser User SID: " + SID);
+
+			CriteriaBuilder cb = em.getCriteriaBuilder();
+			CriteriaQuery<Sessiondata> cq = cb.createQuery(Sessiondata.class);
+			Root<Sessiondata> c = cq.from(Sessiondata.class);
+			Predicate condition = cb.equal(c.get("session_id"), SID);
+			cq.where(condition);
+
+			TypedQuery<Sessiondata> q = em.createQuery(cq);
+			List<Sessiondata> fullList = q.getResultList();
+
+			if (fullList.size() == 0) {
+				log.error("Could not find session to update: " + SID);
+				return false;
+			} else {
+				// log.error("Found session to update: "+SID);
+			}
+			Sessiondata sd = fullList.get(0);
+			// log.debug("Found session to update: "+sd.getSession_id()+
+			// " userId: "+USER_ID);
+
+			sd.setRefresh_time(new Date());
+			sd.setSessionXml(sessionXml);
+
+			if (sd.getId() == null) {
+				em.persist(sd);
+			} else {
+				if (!em.contains(sd)) {
+					em.merge(sd);
+				}
+			}
+			// log.debug("session updated User: "+USER_ID);
+			return true;
+		} catch (Exception ex2) {
+			log.error("[updateUserRemoteSession]: ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * update the session every time a user makes a request
+	 * 
+	 * @param SID
+	 */
+	private void updatesession(String SID) {
+		try {
+			// log.debug("****** updatesession: "+SID);
+			CriteriaBuilder cb = em.getCriteriaBuilder();
+			CriteriaQuery<Sessiondata> cq = cb.createQuery(Sessiondata.class);
+			Root<Sessiondata> c = cq.from(Sessiondata.class);
+			Predicate condition = cb.equal(c.get("session_id"), SID);
+			cq.where(condition);
+
+			TypedQuery<Sessiondata> q = em.createQuery(cq);
+
+			List<Sessiondata> fullList = q.getResultList();
+			if (fullList.size() == 0) {
+				log.error("Found NO session to updateSession: ");
+
+			} else {
+				// log.debug("Found session to updateSession: ");
+				Sessiondata sd = fullList.iterator().next();
+				// log.debug("Found session to updateSession sd "+sd.getUser_id()+" "+sd.getSession_id());
+				sd.setRefresh_time(new Date());
+
+				if (sd.getId() == null) {
+					em.persist(sd);
+				} else {
+					if (!em.contains(sd)) {
+						em.merge(sd);
+					}
+				}
+			}
+
+		} catch (Exception ex2) {
+			log.error("[updatesession]: ", ex2);
+		}
+	}
+
+	/**
+	 * 
+	 * @param date
+	 * @return
+	 */
+	private List<Sessiondata> getSessionToDelete(Date refresh_time) {
+		try {
+
+			String hql = "Select c from Sessiondata c "
+					+ "WHERE c.refresh_time < :refresh_time " + "AND ( "
+					+ "c.storePermanent IS NULL " + "OR "
+					+ "c.storePermanent = false " + ")";
+
+			TypedQuery<Sessiondata> query = em.createQuery(hql, Sessiondata.class);
+			query.setParameter("refresh_time", refresh_time);
+			List<Sessiondata> fullList = query.getResultList();
+
+			log.debug("Sessions To Delete :: " + fullList.size());
+
+			return fullList;
+
+		} catch (Exception ex2) {
+			log.error("[getSessionToDelete]: ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 *
+	 */
+	public void clearSessionTable() {
+		try {
+			log.debug("****** clearSessionTable: ");
+			Calendar rightNow = Calendar.getInstance();
+			rightNow.setTimeInMillis(rightNow.getTimeInMillis() - 1800000);
+			List<Sessiondata> l = this.getSessionToDelete(rightNow.getTime());
+			log.debug("clearSessionTable: " + l.size());
+			for (Iterator<Sessiondata> it = l.iterator(); it.hasNext();) {
+				Sessiondata sData = it.next();
+				sData = em.find(Sessiondata.class, sData.getId());
+				em.remove(sData);
+			}
+		} catch (Exception err) {
+			log.error("clearSessionTable", err);
+		}
+	}
+
+	/**
+	 * @param room_id
+	 */
+	public void clearSessionByRoomId(Long room_id) {
+		try {
+
+			HashMap<String, RoomClient> MyUserList = clientListManager
+					.getClientListByRoom(room_id);
+
+			for (Iterator<String> iter = MyUserList.keySet().iterator(); iter
+					.hasNext();) {
+				String key = iter.next();
+
+				RoomClient rcl = MyUserList.get(key);
+
+				String aux = rcl.getSwfurl();
+
+				int init_pos = aux.indexOf("sid=") + 4;
+				int end_pos = init_pos + 32;
+				if (end_pos > aux.length())
+					end_pos = aux.length();
+				String SID = aux.substring(init_pos, end_pos);
+
+				Sessiondata sData = this.getSessionByHash(SID);
+
+				sData = em.find(Sessiondata.class, sData.getId());
+				em.remove(sData);
+			}
+
+		} catch (Exception err) {
+			log.error("clearSessionByRoomId", err);
+		}
+	}
+}
diff --git a/src/org/openmeetings/app/data/basic/dao/LdapConfigDaoImpl.java b/src/org/openmeetings/app/data/basic/dao/LdapConfigDaoImpl.java
new file mode 100644
index 0000000..6b71753
--- /dev/null
+++ b/src/org/openmeetings/app/data/basic/dao/LdapConfigDaoImpl.java
@@ -0,0 +1,262 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.basic.dao;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.basic.LdapConfig;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class LdapConfigDaoImpl {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(LdapConfigDaoImpl.class, OpenmeetingsVariables.webAppRootKey);
+	@PersistenceContext
+	private EntityManager em;
+	@Autowired
+	private UsersDaoImpl usersDao;
+	
+	public Long addLdapConfig(String name, Boolean addDomainToUserName, String configFileName, 
+			String domain, Long insertedby, Boolean isActive) {
+		try {
+			
+			LdapConfig ldapConfig = new LdapConfig();
+			ldapConfig.setAddDomainToUserName(addDomainToUserName);
+			ldapConfig.setConfigFileName(configFileName);
+			ldapConfig.setDeleted("false");
+			ldapConfig.setDomain(domain);
+			ldapConfig.setIsActive(isActive);
+			ldapConfig.setName(name);
+			ldapConfig.setInserted(new Date());
+			if (insertedby != null) {
+				log.debug("addLdapConfig :1: "+usersDao.getUser(insertedby));
+				ldapConfig.setInsertedby(usersDao.getUser(insertedby));
+			}
+			
+			log.debug("addLdapConfig :2: "+insertedby);
+			
+			ldapConfig = em.merge(ldapConfig);
+			Long ldapConfigId = ldapConfig.getLdapConfigId();
+			
+			if (ldapConfigId > 0) {
+				return ldapConfigId;
+			} else {
+				throw new Exception("Could not store SOAPLogin");
+			}
+			
+		} catch (Exception ex2) {
+			log.error("[addLdapConfig]: ",ex2);
+		}
+		return null;
+	}
+	
+
+	public Long addLdapConfigByObject(LdapConfig ldapConfig) {
+		try {
+			
+			ldapConfig.setDeleted("false");
+			ldapConfig.setInserted(new Date());
+			
+			ldapConfig = em.merge(ldapConfig);
+			Long ldapConfigId = ldapConfig.getLdapConfigId();
+			
+			if (ldapConfigId > 0) {
+				return ldapConfigId;
+			} else {
+				throw new Exception("Could not store SOAPLogin");
+			}
+			
+		} catch (Exception ex2) {
+			log.error("[addLdapConfig]: ",ex2);
+		}
+		return null;
+	}
+	
+	public Long updateLdapConfig(Long ldapConfigId, String name, Boolean addDomainToUserName, 
+			String configFileName, String domain, Long updatedby, Boolean isActive) {
+		try {
+			
+			LdapConfig ldapConfig = this.getLdapConfigById(ldapConfigId);
+			
+			if (ldapConfig == null) {
+				return -1L;
+			}
+			
+			ldapConfig.setAddDomainToUserName(addDomainToUserName);
+			ldapConfig.setConfigFileName(configFileName);
+			ldapConfig.setDeleted("false");
+			ldapConfig.setDomain(domain);
+			ldapConfig.setIsActive(isActive);
+			ldapConfig.setName(name);
+			ldapConfig.setUpdated(new Date());
+			if (updatedby != null) {
+				log.debug("updateLdapConfig :1: "+usersDao.getUser(updatedby));
+				ldapConfig.setUpdatedby(usersDao.getUser(updatedby));
+			}
+			
+			log.debug("updateLdapConfig :2: "+updatedby);
+			
+			ldapConfig = em.merge(ldapConfig);
+			ldapConfigId = ldapConfig.getLdapConfigId();
+			
+			return ldapConfigId;
+			
+		} catch (Exception ex2) {
+			log.error("[updateLdapConfig]: ",ex2);
+		}
+		return -1L;
+	}
+	
+	public LdapConfig getLdapConfigById(Long ldapConfigId) {
+		try {
+			
+			String hql = "select c from LdapConfig c " +
+				       	"WHERE c.ldapConfigId = :ldapConfigId " +
+				       	"AND c.deleted LIKE :deleted";
+			
+			TypedQuery<LdapConfig> query = em.createQuery(hql, LdapConfig.class);
+			query.setParameter("ldapConfigId", ldapConfigId);
+			query.setParameter("deleted", "false");
+	
+			LdapConfig ldapConfig = null;
+			try {
+				ldapConfig = query.getSingleResult();
+		    } catch (NoResultException ex) {
+		    }
+			
+			return ldapConfig;
+			
+		} catch (Exception ex2) {
+			log.error("[getLdapConfigById]: ",ex2);
+		}
+		return null;
+	}
+	
+	public List<LdapConfig> getLdapConfigs(int start, int max, String orderby, boolean asc) {
+		try {
+			CriteriaBuilder cb = em.getCriteriaBuilder();
+			CriteriaQuery<LdapConfig> cq = cb.createQuery(LdapConfig.class);
+			Root<LdapConfig> c = cq.from(LdapConfig.class);
+			Predicate condition = cb.equal(c.get("deleted"), "false");
+			cq.where(condition);
+			cq.distinct(asc);
+			if (asc){
+				cq.orderBy(cb.asc(c.get(orderby)));
+			} else {
+				cq.orderBy(cb.desc(c.get(orderby)));
+			}
+			TypedQuery<LdapConfig> q = em.createQuery(cq);
+			q.setFirstResult(start);
+			q.setMaxResults(max);
+			List<LdapConfig> ll = q.getResultList();
+			return ll;
+		} catch (Exception ex2) {
+			log.error("[getLdapConfigs]" ,ex2);
+		}
+		return null;
+	}
+	
+	public Long selectMaxFromLdapConfig(){
+		try {
+			log.debug("selectMaxFromConfigurations ");
+			//get all users
+			TypedQuery<Long> query = em.createQuery("select count(c.ldapConfigId) from LdapConfig c where c.deleted LIKE 'false'", Long.class); 
+			List<Long> ll = query.getResultList();
+			log.debug("selectMaxFromLdapConfig" + ll.get(0));
+			return ll.get(0);
+		} catch (Exception ex2) {
+			log.error("[selectMaxFromLdapConfig] ",ex2);
+		}
+		return null;
+	}	
+	
+	public Long deleteLdapConfigById(Long ldapConfigId) {
+		try {
+			
+			LdapConfig ldapConfig = this.getLdapConfigById(ldapConfigId);
+			
+			if (ldapConfig == null) {
+				return null;
+			}
+			
+			ldapConfig = em.find(LdapConfig.class, ldapConfig.getLdapConfigId());
+			em.remove(ldapConfig);
+			
+			return ldapConfigId;
+			
+		} catch (Exception ex2) {
+			log.error("[deleteLdapConfigById]: ",ex2);
+		}
+		return null;
+	}
+
+	public List<LdapConfig> getActiveLdapConfigs() {
+		try {
+			log.debug("selectMaxFromConfigurations ");
+			
+			String hql = "select c from LdapConfig c " +
+					"where c.deleted LIKE 'false' " +
+					"AND c.isActive = :isActive ";
+			
+			//get all users
+			TypedQuery<LdapConfig> query = em.createQuery(hql, LdapConfig.class);
+			query.setParameter("isActive", true);
+			List<LdapConfig> ll = query.getResultList();
+			
+			return ll;				
+		} catch (Exception ex2) {
+			log.error("[getActiveLdapConfigs] ",ex2);
+		}
+		return null;
+	}
+
+	public List<LdapConfig> getLdapConfigs() {
+		try {
+			log.debug("selectMaxFromConfigurations ");
+			
+			String hql = "select c from LdapConfig c " +
+					"where c.deleted LIKE 'false' ";
+			
+			//get all users
+			TypedQuery<LdapConfig> query = em.createQuery(hql, LdapConfig.class);
+			List<LdapConfig> ll = query.getResultList();
+			
+			return ll;				
+		} catch (Exception ex2) {
+			log.error("[getActiveLdapConfigs] ",ex2);
+		}
+		return null;
+	}	
+	
+}
diff --git a/src/org/openmeetings/app/data/basic/dao/OmTimeZoneDaoImpl.java b/src/org/openmeetings/app/data/basic/dao/OmTimeZoneDaoImpl.java
new file mode 100644
index 0000000..499cded
--- /dev/null
+++ b/src/org/openmeetings/app/data/basic/dao/OmTimeZoneDaoImpl.java
@@ -0,0 +1,142 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.basic.dao;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class OmTimeZoneDaoImpl {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			OmTimeZoneDaoImpl.class, OpenmeetingsVariables.webAppRootKey);
+
+	@PersistenceContext
+	private EntityManager em;
+
+	public Long addOmTimeZone(String name, String label, String iCal,
+			Integer orderId) {
+		try {
+
+			OmTimeZone omTimeZone = new OmTimeZone();
+
+			omTimeZone.setJname(name);
+			omTimeZone.setLabel(label);
+			omTimeZone.setIcal(iCal);
+			omTimeZone.setOrderId(orderId);
+			omTimeZone.setInserted(new Date());
+
+			omTimeZone = em.merge(omTimeZone);
+			Long omTimeZoneId = omTimeZone.getOmtimezoneId();
+
+			return omTimeZoneId;
+
+		} catch (Exception ex) {
+			log.error("[addOmTimeZone]", ex);
+		}
+		return null;
+	}
+
+	public List<OmTimeZone> getOmTimeZones() {
+		try {
+			String hql = "select sl from OmTimeZone as sl "
+					+ "ORDER BY sl.orderId";
+
+			TypedQuery<OmTimeZone> query = em.createQuery(hql, OmTimeZone.class);
+			List<OmTimeZone> sList = query.getResultList();
+
+			for (OmTimeZone omTimeZone : sList) {
+				omTimeZone.setFrontEndLabel(omTimeZone.getJname() + " ("
+						+ omTimeZone.getLabel() + ")");
+			}
+
+			return sList;
+
+		} catch (Exception ex2) {
+			log.error("[getOmTimeZones]: ", ex2);
+		}
+		return null;
+	}
+
+	public OmTimeZone getOmTimeZone(String jname) {
+		try {
+			String hql = "select sl from OmTimeZone as sl "
+					+ "WHERE sl.jname LIKE :jname "
+					+ "OR sl.ical LIKE :jname";
+			TypedQuery<OmTimeZone> query = em.createQuery(hql, OmTimeZone.class);
+			query.setParameter("jname", jname);
+			List<OmTimeZone> sList = query.getResultList();
+
+			if (sList.size() > 0) {
+				return sList.get(0);
+			}
+
+		} catch (Exception ex2) {
+			log.error("[getOmTimeZone]: ", ex2);
+		}
+		return null;
+	}
+
+	public OmTimeZone getOmTimeZoneByIcal(String ical) {
+		try {
+			String hql = "select sl from OmTimeZone as sl "
+					+ "WHERE sl.ical LIKE :ical";
+			TypedQuery<OmTimeZone> query = em.createQuery(hql, OmTimeZone.class);
+			query.setParameter("ical", ical);
+			List<OmTimeZone> sList = query.getResultList();
+
+			if (sList.size() > 0) {
+				return sList.get(0);
+			}
+
+		} catch (Exception ex2) {
+			log.error("[getOmTimeZoneByIcal]: ", ex2);
+		}
+		return null;
+	}
+
+	public OmTimeZone getOmTimeZoneById(Long omtimezoneId) {
+		try {
+			String hql = "select sl from OmTimeZone as sl "
+					+ "WHERE sl.omtimezoneId = :omtimezoneId";
+			TypedQuery<OmTimeZone> query = em.createQuery(hql, OmTimeZone.class);
+			query.setParameter("omtimezoneId", omtimezoneId);
+			List<OmTimeZone> sList = query.getResultList();
+
+			if (sList.size() > 0) {
+				return sList.get(0);
+			}
+
+		} catch (Exception ex2) {
+			log.error("[getOmTimeZoneById]: ", ex2);
+		}
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/basic/dao/SOAPLoginDaoImpl.java b/src/org/openmeetings/app/data/basic/dao/SOAPLoginDaoImpl.java
new file mode 100644
index 0000000..a2f05bb
--- /dev/null
+++ b/src/org/openmeetings/app/data/basic/dao/SOAPLoginDaoImpl.java
@@ -0,0 +1,126 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.basic.dao;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.persistence.beans.basic.SOAPLogin;
+import org.openmeetings.utils.crypt.ManageCryptStyle;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class SOAPLoginDaoImpl {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			SOAPLoginDaoImpl.class, OpenmeetingsVariables.webAppRootKey);
+
+	@PersistenceContext
+	private EntityManager em;
+	@Autowired
+	private ManageCryptStyle manageCryptStyle;
+
+	public String addSOAPLogin(String sessionHash, Long room_id,
+			boolean becomemoderator, boolean showAudioVideoTest,
+			boolean allowSameURLMultipleTimes, Long recording_id,
+			boolean showNickNameDialog, String landingZone,
+			boolean allowRecording) {
+		try {
+
+			String thistime = "TIME_" + (new Date().getTime());
+
+			String hash = manageCryptStyle.getInstanceOfCrypt()
+					.createPassPhrase(thistime);
+
+			SOAPLogin soapLogin = new SOAPLogin();
+			soapLogin.setCreated(new Date());
+			soapLogin.setUsed(false);
+			soapLogin.setRoom_id(room_id);
+			soapLogin.setAllowSameURLMultipleTimes(allowSameURLMultipleTimes);
+			soapLogin.setHash(hash);
+			soapLogin.setRoomRecordingId(recording_id);
+			soapLogin.setSessionHash(sessionHash);
+			soapLogin.setBecomemoderator(becomemoderator);
+			soapLogin.setShowAudioVideoTest(showAudioVideoTest);
+			soapLogin.setShowNickNameDialog(showNickNameDialog);
+			soapLogin.setLandingZone(landingZone);
+			soapLogin.setAllowRecording(allowRecording);
+
+			soapLogin = em.merge(soapLogin);
+			Long soapLoginId = soapLogin.getSoapLoginId();
+
+			if (soapLoginId > 0) {
+				return hash;
+			} else {
+				throw new Exception("Could not store SOAPLogin");
+			}
+
+		} catch (Exception ex2) {
+			log.error("[addSOAPLogin]: ", ex2);
+		}
+		return null;
+	}
+
+	public SOAPLogin getSOAPLoginByHash(String hash) {
+		try {
+			String hql = "select sl from SOAPLogin as sl "
+					+ "WHERE sl.hash LIKE :hash";
+			TypedQuery<SOAPLogin> query = em.createQuery(hql, SOAPLogin.class);
+			query.setParameter("hash", hash);
+			List<SOAPLogin> sList = query.getResultList();
+
+			if (sList.size() > 1) {
+				throw new Exception(
+						"there are more then one SOAPLogin with identical hash! "
+								+ hash);
+			}
+
+			if (sList.size() == 1) {
+				return sList.get(0);
+			}
+
+		} catch (Exception ex2) {
+			log.error("[getSOAPLoginByHash]: ", ex2);
+		}
+		return null;
+	}
+
+	public void updateSOAPLogin(SOAPLogin soapLogin) {
+		try {
+			if (soapLogin.getSoapLoginId() == 0) {
+				em.persist(soapLogin);
+			} else {
+				if (!em.contains(soapLogin)) {
+					em.merge(soapLogin);
+				}
+			}
+		} catch (Exception ex2) {
+			log.error("[updateSOAPLogin]: ", ex2);
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/basic/files/FilesObject.java b/src/org/openmeetings/app/data/basic/files/FilesObject.java
new file mode 100644
index 0000000..914805f
--- /dev/null
+++ b/src/org/openmeetings/app/data/basic/files/FilesObject.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.basic.files;
+
+/**
+ * This Object will represent a File on the File-System
+ * @author sebastianwagner
+ *
+ */
+public class FilesObject {
+	
+	private String fileName;
+	private String fileNamePure;
+	private String fileNameExt;
+	private String lastModified;
+	private String fileBytes;
+	private String isimage;
+	public String getFileName() {
+		return fileName;
+	}
+	public void setFileName(String fileName) {
+		this.fileName = fileName;
+	}
+	public String getFileNamePure() {
+		return fileNamePure;
+	}
+	public void setFileNamePure(String fileNamePure) {
+		this.fileNamePure = fileNamePure;
+	}
+	public String getFileNameExt() {
+		return fileNameExt;
+	}
+	public void setFileNameExt(String fileNameExt) {
+		this.fileNameExt = fileNameExt;
+	}
+	public String getLastModified() {
+		return lastModified;
+	}
+	public void setLastModified(String lastModified) {
+		this.lastModified = lastModified;
+	}
+	public String getFileBytes() {
+		return fileBytes;
+	}
+	public void setFileBytes(String fileBytes) {
+		this.fileBytes = fileBytes;
+	}
+	public String getIsimage() {
+		return isimage;
+	}
+	public void setIsimage(String isimage) {
+		this.isimage = isimage;
+	}
+	
+	
+}
diff --git a/src/org/openmeetings/app/data/basic/files/FoldersObject.java b/src/org/openmeetings/app/data/basic/files/FoldersObject.java
new file mode 100644
index 0000000..f04af9c
--- /dev/null
+++ b/src/org/openmeetings/app/data/basic/files/FoldersObject.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.basic.files;
+/**
+ * Represents a Folder in the File System
+ * @author sebastianwagner
+ *
+ */
+public class FoldersObject {
+	
+	private String folderName;
+	private String lastModified;
+	
+	public String getFolderName() {
+		return folderName;
+	}
+	public void setFolderName(String folderName) {
+		this.folderName = folderName;
+	}
+	public String getLastModified() {
+		return lastModified;
+	}
+	public void setLastModified(String lastModified) {
+		this.lastModified = lastModified;
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/basic/files/LiberaryObject.java b/src/org/openmeetings/app/data/basic/files/LiberaryObject.java
new file mode 100644
index 0000000..bf163a2
--- /dev/null
+++ b/src/org/openmeetings/app/data/basic/files/LiberaryObject.java
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.basic.files;
+/**
+ * Response of one Library-Files-Request
+ * @author sebastianwagner
+ *
+ */
+import java.util.LinkedList;
+
+public class LiberaryObject {
+	
+	//These Objects here should only be initialized if needed, 
+	//an empty LinkedList thorws a ServiceInvokationTarget-Exception (makes no sense to me but it
+	//is the way in Axis2 1.3
+	private LinkedList<FilesObject> filesList;
+	private LinkedList<FoldersObject> foldersList;
+	private PresentationObject presentationObject;
+	private String error;
+	public LinkedList<FilesObject> getFilesList() {
+		return filesList;
+	}
+	public void setFilesList(LinkedList<FilesObject> filesList) {
+		this.filesList = filesList;
+	}
+	public LinkedList<FoldersObject> getFoldersList() {
+		return foldersList;
+	}
+	public void setFoldersList(LinkedList<FoldersObject> foldersList) {
+		this.foldersList = foldersList;
+	}
+	public PresentationObject getPresentationObject() {
+		return presentationObject;
+	}
+	public void setPresentationObject(PresentationObject presentationObject) {
+		this.presentationObject = presentationObject;
+	}
+	public String getError() {
+		return error;
+	}
+	public void setError(String error) {
+		this.error = error;
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/basic/files/PresentationObject.java b/src/org/openmeetings/app/data/basic/files/PresentationObject.java
new file mode 100644
index 0000000..a66d84e
--- /dev/null
+++ b/src/org/openmeetings/app/data/basic/files/PresentationObject.java
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.basic.files;
+
+import java.util.LinkedList;
+/**
+ * Represents a Parsed Version of a Library-File-Converted Object
+ * @author sebastianwagner
+ *
+ */
+public class PresentationObject {
+	
+	private FilesObject originalDocument;
+	private FilesObject pdfDocument;
+	private FilesObject swfDocument;
+	LinkedList<FilesObject> thumbs;
+
+	public FilesObject getOriginalDocument() {
+		return originalDocument;
+	}
+	public void setOriginalDocument(FilesObject originalDocument) {
+		this.originalDocument = originalDocument;
+	}
+	public FilesObject getPdfDocument() {
+		return pdfDocument;
+	}
+	public void setPdfDocument(FilesObject pdfDocument) {
+		this.pdfDocument = pdfDocument;
+	}
+	public FilesObject getSwfDocument() {
+		return swfDocument;
+	}
+	public void setSwfDocument(FilesObject swfDocument) {
+		this.swfDocument = swfDocument;
+	}
+	public LinkedList<FilesObject> getThumbs() {
+		return thumbs;
+	}
+	public void setThumbs(LinkedList<FilesObject> thumbs) {
+		this.thumbs = thumbs;
+	}
+	
+	
+
+}
diff --git a/src/org/openmeetings/app/data/basic/files/TestObject.java b/src/org/openmeetings/app/data/basic/files/TestObject.java
new file mode 100644
index 0000000..379d29b
--- /dev/null
+++ b/src/org/openmeetings/app/data/basic/files/TestObject.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.basic.files;
+
+import java.util.LinkedList;
+
+public class TestObject {
+	
+	private LinkedList<String> list1 = null;
+	private LinkedList<String> list2 = null;
+	public LinkedList<String> getList1() {
+		return list1;
+	}
+	public void setList1(LinkedList<String> list1) {
+		this.list1 = list1;
+	}
+	public LinkedList<String> getList2() {
+		return list2;
+	}
+	public void setList2(LinkedList<String> list2) {
+		this.list2 = list2;
+	}
+	
+
+}
diff --git a/src/org/openmeetings/app/data/basic/rooms/RoomsList.java b/src/org/openmeetings/app/data/basic/rooms/RoomsList.java
new file mode 100644
index 0000000..5f82d05
--- /dev/null
+++ b/src/org/openmeetings/app/data/basic/rooms/RoomsList.java
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.basic.rooms;
+
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+
+public class RoomsList {
+	
+	Rooms[] roomList = null;
+
+	public Rooms[] getRoomList() {
+		return roomList;
+	}
+	public void setRoomList(Rooms[] roomList) {
+		this.roomList = roomList;
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/beans/basic/ErrorResult.java b/src/org/openmeetings/app/data/beans/basic/ErrorResult.java
new file mode 100644
index 0000000..6b3850f
--- /dev/null
+++ b/src/org/openmeetings/app/data/beans/basic/ErrorResult.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.beans.basic;
+
+public class ErrorResult {
+	
+	private Long errorId;
+	private String errmessage;
+	private String errortype;
+
+	public ErrorResult(Long errorId, String errmessage, String errortype) {
+		super();
+		this.errorId = errorId;
+		this.errmessage = errmessage;
+		this.errortype = errortype;
+	}
+
+	public Long getErrorId() {
+		return errorId;
+	}
+
+	public void setErrorId(Long errorId) {
+		this.errorId = errorId;
+	}
+
+	public String getErrmessage() {
+		return errmessage;
+	}
+
+	public void setErrmessage(String errmessage) {
+		this.errmessage = errmessage;
+	}
+
+	public String getErrortype() {
+		return errortype;
+	}
+
+	public void setErrortype(String errortype) {
+		this.errortype = errortype;
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/beans/basic/SearchResult.java b/src/org/openmeetings/app/data/beans/basic/SearchResult.java
new file mode 100644
index 0000000..094b5a5
--- /dev/null
+++ b/src/org/openmeetings/app/data/beans/basic/SearchResult.java
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.beans.basic;
+
+import java.util.List;
+
+public class SearchResult<T> {
+	
+	private String objectName;
+	private Long records;
+	private List<T> result;
+	private Long errorId;
+	
+	public String getObjectName() {
+		return objectName;
+	}
+	public void setObjectName(String objectName) {
+		this.objectName = objectName;
+	}
+	public Long getRecords() {
+		return records;
+	}
+	public void setRecords(Long records) {
+		this.records = records;
+	}
+	public List<T> getResult() {
+		return result;
+	}
+	public void setResult(List<T> result) {
+		this.result = result;
+	}
+	public Long getErrorId() {
+		return errorId;
+	}
+	public void setErrorId(Long errorId) {
+		this.errorId = errorId;
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/calendar/beans/AppointmentDTO.java b/src/org/openmeetings/app/data/calendar/beans/AppointmentDTO.java
new file mode 100644
index 0000000..b8f4d5f
--- /dev/null
+++ b/src/org/openmeetings/app/data/calendar/beans/AppointmentDTO.java
@@ -0,0 +1,172 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.app.data.calendar.beans;

+

+import java.util.ArrayList;

+import java.util.Calendar;

+import java.util.List;

+import java.util.TimeZone;

+

+import org.openmeetings.app.persistence.beans.calendar.Appointment;

+import org.openmeetings.app.persistence.beans.calendar.MeetingMember;

+

+public class AppointmentDTO {

+

+	private long appointmentId;

+	private Long categoryId;

+	private Long reminderId;

+	private Long roomId;

+	private Long roomTypeId;

+	private String title;

+	private String location;

+	private String comment;

+	private Calendar start;

+	private Calendar end;

+	private Boolean isPasswordProtected;

+	private List<MeetingMemberDTO> meetingMember = new ArrayList<MeetingMemberDTO>();

+	private Long organizerId;

+

+	public AppointmentDTO(Appointment appointment, TimeZone timezone) {

+		appointmentId = appointment.getAppointmentId();

+		categoryId = (appointment.getAppointmentCategory() != null) ? appointment

+				.getAppointmentCategory().getCategoryId() : null;

+		reminderId = (appointment.getRemind() != null) ? appointment

+				.getRemind().getTypId() : null;

+		roomId = (appointment.getRoom() != null) ? appointment.getRoom()

+				.getRooms_id() : null;

+		roomTypeId = (roomId != null && appointment.getRoom().getRoomtype() != null) ? appointment

+				.getRoom().getRoomtype().getRoomtypes_id()

+				: null;

+		title = appointment.getAppointmentName();

+		location = appointment.getAppointmentLocation();

+		comment = appointment.getAppointmentDescription();

+		start = appointment.appointmentStartAsCalendar(timezone);

+		end = appointment.appointmentEndAsCalendar(timezone);

+		isPasswordProtected = appointment.getIsPasswordProtected();

+		organizerId = appointment.getUserId().getUser_id();

+		for (MeetingMember meetingMemberItem : appointment.getMeetingMember()) {

+			meetingMember.add(new MeetingMemberDTO(meetingMemberItem));

+		}

+	}

+

+	public long getAppointmentId() {

+		return appointmentId;

+	}

+

+	public void setAppointmentId(long appointmentId) {

+		this.appointmentId = appointmentId;

+	}

+

+	public Long getCategoryId() {

+		return categoryId;

+	}

+

+	public void setCategoryId(Long categoryId) {

+		this.categoryId = categoryId;

+	}

+

+	public Long getReminderId() {

+		return reminderId;

+	}

+

+	public void setReminderId(Long reminderId) {

+		this.reminderId = reminderId;

+	}

+

+	public Long getRoomId() {

+		return roomId;

+	}

+

+	public void setRoomId(Long roomId) {

+		this.roomId = roomId;

+	}

+

+	public String getTitle() {

+		return title;

+	}

+

+	public void setTitle(String title) {

+		this.title = title;

+	}

+

+	public String getLocation() {

+		return location;

+	}

+

+	public void setLocation(String location) {

+		this.location = location;

+	}

+

+	public String getComment() {

+		return comment;

+	}

+

+	public void setComment(String comment) {

+		this.comment = comment;

+	}

+

+	public Calendar getStart() {

+		return start;

+	}

+

+	public void setStart(Calendar start) {

+		this.start = start;

+	}

+

+	public Calendar getEnd() {

+		return end;

+	}

+

+	public void setEnd(Calendar end) {

+		this.end = end;

+	}

+

+	public Boolean getIsPasswordProtected() {

+		return isPasswordProtected;

+	}

+

+	public void setIsPasswordProtected(Boolean isPasswordProtected) {

+		this.isPasswordProtected = isPasswordProtected;

+	}

+

+	public List<MeetingMemberDTO> getMeetingMember() {

+		return meetingMember;

+	}

+

+	public void setMeetingMember(List<MeetingMemberDTO> meetingMember) {

+		this.meetingMember = meetingMember;

+	}

+

+	public Long getRoomTypeId() {

+		return roomTypeId;

+	}

+

+	public void setRoomTypeId(Long roomTypeId) {

+		this.roomTypeId = roomTypeId;

+	}

+

+	public Long getOrganizerId() {

+		return organizerId;

+	}

+

+	public void setOrganizerId(Long organizerId) {

+		this.organizerId = organizerId;

+	}

+

+}

diff --git a/src/org/openmeetings/app/data/calendar/beans/Day.java b/src/org/openmeetings/app/data/calendar/beans/Day.java
new file mode 100644
index 0000000..5f71f07
--- /dev/null
+++ b/src/org/openmeetings/app/data/calendar/beans/Day.java
@@ -0,0 +1,52 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.app.data.calendar.beans;

+

+import java.util.ArrayList;

+import java.util.Date;

+import java.util.List;

+

+public class Day {

+	

+	private Date tDate;

+	private List<AppointmentDTO> appointments = new ArrayList<AppointmentDTO>();

+

+	public Day(Date tDate) {

+		super();

+		this.tDate = tDate;

+	}

+

+	public Date gettDate() {

+		return tDate;

+	}

+

+	public void settDate(Date tDate) {

+		this.tDate = tDate;

+	}

+

+

+	public List<AppointmentDTO> getAppointments() {

+		return appointments;

+	}

+

+	public void setAppointments(List<AppointmentDTO> appointments) {

+		this.appointments = appointments;

+	}

+	

+}

diff --git a/src/org/openmeetings/app/data/calendar/beans/MeetingMemberDTO.java b/src/org/openmeetings/app/data/calendar/beans/MeetingMemberDTO.java
new file mode 100644
index 0000000..df5a992
--- /dev/null
+++ b/src/org/openmeetings/app/data/calendar/beans/MeetingMemberDTO.java
@@ -0,0 +1,111 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.app.data.calendar.beans;

+

+import org.openmeetings.app.persistence.beans.calendar.MeetingMember;

+

+public class MeetingMemberDTO {

+

+	private long meetingMemberId;

+	private Boolean invitor;

+	private String email;

+	private String memberStatus;

+	private String firstname;

+	private String lastname;

+	private Long userid;

+	private String jNameTimeZone;

+

+	public MeetingMemberDTO(MeetingMember meetingMemberItem) {

+		meetingMemberId = meetingMemberItem.getMeetingMemberId();

+		invitor = meetingMemberItem.getInvitor();

+		email = meetingMemberItem.getEmail();

+		memberStatus = meetingMemberItem.getMemberStatus();

+		firstname = meetingMemberItem.getFirstname();

+		lastname = meetingMemberItem.getLastname();

+		userid = (meetingMemberItem.getUserid() != null) ? meetingMemberItem

+				.getUserid().getUser_id() : 0;

+		jNameTimeZone = (meetingMemberItem.getOmTimeZone() != null) ? meetingMemberItem

+				.getOmTimeZone().getJname() : "";

+	}

+

+	public long getMeetingMemberId() {

+		return meetingMemberId;

+	}

+

+	public void setMeetingMemberId(long meetingMemberId) {

+		this.meetingMemberId = meetingMemberId;

+	}

+

+	public Boolean getInvitor() {

+		return invitor;

+	}

+

+	public void setInvitor(Boolean invitor) {

+		this.invitor = invitor;

+	}

+

+	public String getEmail() {

+		return email;

+	}

+

+	public void setEmail(String email) {

+		this.email = email;

+	}

+

+	public String getMemberStatus() {

+		return memberStatus;

+	}

+

+	public void setMemberStatus(String memberStatus) {

+		this.memberStatus = memberStatus;

+	}

+

+	public String getFirstname() {

+		return firstname;

+	}

+

+	public void setFirstname(String firstname) {

+		this.firstname = firstname;

+	}

+

+	public String getLastname() {

+		return lastname;

+	}

+

+	public void setLastname(String lastname) {

+		this.lastname = lastname;

+	}

+

+	public Long getUserid() {

+		return userid;

+	}

+

+	public void setUserid(Long userid) {

+		this.userid = userid;

+	}

+

+	public String getjNameTimeZone() {

+		return jNameTimeZone;

+	}

+

+	public void setjNameTimeZone(String jNameTimeZone) {

+		this.jNameTimeZone = jNameTimeZone;

+	}

+

+}

diff --git a/src/org/openmeetings/app/data/calendar/beans/Week.java b/src/org/openmeetings/app/data/calendar/beans/Week.java
new file mode 100644
index 0000000..b239b90
--- /dev/null
+++ b/src/org/openmeetings/app/data/calendar/beans/Week.java
@@ -0,0 +1,37 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.app.data.calendar.beans;

+

+import java.util.ArrayList;

+import java.util.List;

+

+public class Week {

+	

+	private List<Day> days = new ArrayList<Day>(7);

+

+	public List<Day> getDays() {

+		return days;

+	}

+

+	public void setDays(List<Day> days) {

+		this.days = days;

+	}

+	

+

+}

diff --git a/src/org/openmeetings/app/data/calendar/daos/AppointmentCategoryDaoImpl.java b/src/org/openmeetings/app/data/calendar/daos/AppointmentCategoryDaoImpl.java
new file mode 100644
index 0000000..802eb2e
--- /dev/null
+++ b/src/org/openmeetings/app/data/calendar/daos/AppointmentCategoryDaoImpl.java
@@ -0,0 +1,166 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.calendar.daos;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.calendar.AppointmentCategory;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class AppointmentCategoryDaoImpl {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			Configurationmanagement.class,
+			OpenmeetingsVariables.webAppRootKey);
+
+	@PersistenceContext
+	private EntityManager em;
+	@Autowired
+	private UsersDaoImpl usersDao;
+
+	public AppointmentCategory getAppointmentCategoryById(Long categoryId) {
+		try {
+			log.debug("getAppointmentCategoryById: " + categoryId);
+
+			String hql = "select app from AppointmentCategory app "
+					+ "WHERE app.deleted <> :deleted "
+					+ "AND app.categoryId = :categoryId";
+
+			TypedQuery<AppointmentCategory> query = em.createQuery(hql, AppointmentCategory.class);
+			query.setParameter("deleted", "true");
+			query.setParameter("categoryId", categoryId);
+
+			AppointmentCategory appointCategory = null;
+			try {
+				appointCategory = query.getSingleResult();
+			} catch (NoResultException ex) {
+			}
+
+			return appointCategory;
+		} catch (Exception ex2) {
+			log.error("[getAppointmentCategoryById]: " + ex2);
+		}
+		return null;
+	}
+
+	public Long updateAppointmentCategory(Long categoryId, String name) {
+		try {
+
+			AppointmentCategory ac = this
+					.getAppointmentCategoryById(categoryId);
+
+			ac.setName(name);
+			ac.setUpdatetime(new Date());
+
+			if (ac.getCategoryId() == null) {
+				em.persist(ac);
+			} else {
+				if (!em.contains(ac)) {
+					em.merge(ac);
+				}
+			}
+
+			return categoryId;
+		} catch (Exception ex2) {
+			log.error("[updateAppointmentCategory]: ", ex2);
+		}
+		return null;
+	}
+
+	public Long addAppointmentCategory(Long user_id, String name, String comment) {
+		try {
+
+			AppointmentCategory ac = new AppointmentCategory();
+
+			ac.setName(name);
+			ac.setStarttime(new Date());
+			ac.setDeleted("false");
+			ac.setUser(usersDao.getUser(user_id));
+			ac.setComment(comment);
+
+			ac = em.merge(ac);
+			Long category_id = ac.getCategoryId();
+
+			return category_id;
+		} catch (Exception ex2) {
+			log.error("[addAppointmentCategory]: ", ex2);
+		}
+		return null;
+	}
+
+	public Long deleteAppointmentCategory(Long categoryId) {
+		try {
+
+			AppointmentCategory ac = this
+					.getAppointmentCategoryById(categoryId);
+
+			log.debug("ac: " + ac);
+
+			if (ac == null) {
+				log.debug("Already deleted / Could not find: " + categoryId);
+				return categoryId;
+			}
+			ac.setUpdatetime(new Date());
+			ac.setDeleted("true");
+			if (ac.getCategoryId() == null) {
+				em.persist(ac);
+			} else {
+				if (!em.contains(ac)) {
+					em.merge(ac);
+				}
+			}
+			return categoryId;
+		} catch (Exception ex2) {
+			log.error("[deleteAppointmentCategory]: " + ex2);
+		}
+		return null;
+	}
+
+	public List<AppointmentCategory> getAppointmentCategoryList() {
+		try {
+
+			String hql = "select a from AppointmentCategory a "
+					+ "WHERE a.deleted <> :deleted ";
+
+			TypedQuery<AppointmentCategory> query = em.createQuery(hql, AppointmentCategory.class);
+			query.setParameter("deleted", "true");
+
+			List<AppointmentCategory> listAppointmentCategory = query
+					.getResultList();
+
+			return listAppointmentCategory;
+		} catch (Exception ex2) {
+			log.error("[AppointmentCategory]: " + ex2);
+		}
+		return null;
+	}
+}
diff --git a/src/org/openmeetings/app/data/calendar/daos/AppointmentDaoImpl.java b/src/org/openmeetings/app/data/calendar/daos/AppointmentDaoImpl.java
new file mode 100644
index 0000000..12b0923
--- /dev/null
+++ b/src/org/openmeetings/app/data/calendar/daos/AppointmentDaoImpl.java
@@ -0,0 +1,982 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.calendar.daos;
+
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.TimeZone;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.dao.OmTimeZoneDaoImpl;
+import org.openmeetings.app.data.calendar.management.MeetingMemberLogic;
+import org.openmeetings.app.data.conference.Invitationmanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
+import org.openmeetings.app.persistence.beans.calendar.Appointment;
+import org.openmeetings.app.persistence.beans.calendar.AppointmentCategory;
+import org.openmeetings.app.persistence.beans.calendar.AppointmentReminderTyps;
+import org.openmeetings.app.persistence.beans.calendar.MeetingMember;
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.utils.math.CalendarPatterns;
+import org.openmeetings.utils.math.TimezoneUtil;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class AppointmentDaoImpl {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			AppointmentDaoImpl.class, OpenmeetingsVariables.webAppRootKey);
+	@PersistenceContext
+	private EntityManager em;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private OmTimeZoneDaoImpl omTimeZoneDaoImpl;
+	@Autowired
+	private AppointmentCategoryDaoImpl appointmentCategoryDaoImpl;
+	@Autowired
+	private AppointmentReminderTypDaoImpl appointmentReminderTypDaoImpl;
+	@Autowired
+	private MeetingMemberDaoImpl meetingMemberDao;
+	@Autowired
+	private UsersDaoImpl usersDao;
+	@Autowired
+	private Invitationmanagement invitationManagement;
+	@Autowired
+	private MeetingMemberLogic meetingMemberLogic;
+	@Autowired
+	private TimezoneUtil timezoneUtil;
+
+	/*
+	 * insert, update, delete, select
+	 */
+
+	/**
+	 * @author o.becherer Retrievment of Appointment for room
+	 */
+	// -----------------------------------------------------------------------------------------------
+	public Appointment getAppointmentByRoom(Long room_id) throws Exception {
+		log.debug("AppointMentDaoImpl.getAppointmentByRoom");
+
+		String hql = "select a from Appointment a "
+				+ "WHERE a.deleted <> :deleted "
+				+ "AND a.room.rooms_id = :room_id ";
+
+		TypedQuery<Appointment> query = em.createQuery(hql, Appointment.class);
+		query.setParameter("deleted", "true");
+		query.setParameter("room_id", room_id);
+
+		List<Appointment> appoint = query.getResultList();
+
+		if (appoint.size() > 0) {
+			return appoint.get(0);
+		}
+
+		return null;
+	}
+
+	// -----------------------------------------------------------------------------------------------
+
+	public Appointment getAppointmentById(Long appointmentId) {
+		try {
+
+			String hql = "select a from Appointment a "
+					+ "WHERE a.deleted <> :deleted "
+					+ "AND a.appointmentId = :appointmentId ";
+
+			TypedQuery<Appointment> query = em.createQuery(hql, Appointment.class);
+			query.setParameter("deleted", "true");
+			query.setParameter("appointmentId", appointmentId);
+
+			Appointment appoint = null;
+			try {
+				appoint = query.getSingleResult();
+			} catch (NoResultException ex) {
+			}
+			return appoint;
+		} catch (Exception ex2) {
+			log.error("[getAppointmentById]: ", ex2);
+		}
+		return null;
+	}
+
+	public Appointment getAppointmentByIdBackup(Long appointmentId) {
+		try {
+
+			String hql = "select a from Appointment a "
+					+ "WHERE a.appointmentId = :appointmentId ";
+
+			TypedQuery<Appointment> query = em.createQuery(hql, Appointment.class);
+			query.setParameter("appointmentId", appointmentId);
+
+			Appointment appoint = null;
+			try {
+				appoint = query.getSingleResult();
+			} catch (NoResultException ex) {
+			}
+
+			return appoint;
+		} catch (Exception ex2) {
+			log.error("[getAppointmentById]: ", ex2);
+		}
+		return null;
+	}
+
+	public List<Appointment> getAppointments() {
+		try {
+
+			String hql = "select a from Appointment a "
+					+ "WHERE a.deleted <> :deleted ";
+
+			TypedQuery<Appointment> query = em.createQuery(hql,
+					Appointment.class);
+			query.setParameter("deleted", "true");
+
+			List<Appointment> appointList = query.getResultList();
+
+			for (Appointment appointment : appointList) {
+
+				appointment.setMeetingMember(meetingMemberDao
+						.getMeetingMemberByAppointmentId(appointment
+								.getAppointmentId()));
+
+			}
+
+			return appointList;
+
+		} catch (Exception ex2) {
+			log.error("[getAppointmentById]: ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param appointmentName
+	 * @param userId
+	 * @param appointmentLocation
+	 * @param appointmentDescription
+	 * @param appointmentstart
+	 * @param appointmentend
+	 * @param isDaily
+	 * @param isWeekly
+	 * @param isMonthly
+	 * @param isYearly
+	 * @param categoryId
+	 * @param remind
+	 * @param room
+	 * @return
+	 */
+	// ----------------------------------------------------------------------------------------------------------------------------
+	public Long addAppointment(String appointmentName, Long userId,
+			String appointmentLocation, String appointmentDescription,
+			Date appointmentstart, Date appointmentend, Boolean isDaily,
+			Boolean isWeekly, Boolean isMonthly, Boolean isYearly,
+			Long categoryId, Long remind, Rooms room, Long language_id,
+			Boolean isPasswordProtected, String password,
+			Boolean isConnectedEvent, String jNameTimeZone) {
+		try {
+
+			Appointment ap = new Appointment();
+
+			ap.setAppointmentName(appointmentName);
+			ap.setAppointmentLocation(appointmentLocation);
+
+			log.debug("addAppointment appointmentstart :1: "
+					+ CalendarPatterns
+							.getDateWithTimeByMiliSecondsWithZone(appointmentstart));
+			log.debug("addAppointment appointmentend :1: "
+					+ CalendarPatterns
+							.getDateWithTimeByMiliSecondsWithZone(appointmentend));
+
+			ap.setAppointmentStarttime(appointmentstart);
+			ap.setAppointmentEndtime(appointmentend);
+			ap.setAppointmentDescription(appointmentDescription);
+			ap.setRemind(appointmentReminderTypDaoImpl
+					.getAppointmentReminderTypById(remind));
+			ap.setStarttime(new Date());
+			ap.setIsReminderEmailSend(false);
+			ap.setDeleted("false");
+			ap.setIsDaily(isDaily);
+			ap.setIsWeekly(isWeekly);
+			ap.setIsMonthly(isMonthly);
+			ap.setIsYearly(isYearly);
+			ap.setLanguage_id(language_id);
+			ap.setIsPasswordProtected(isPasswordProtected);
+			ap.setPassword(password);
+			ap.setUserId(usersDao.getUser(userId));
+			ap.setAppointmentCategory(appointmentCategoryDaoImpl
+					.getAppointmentCategoryById(categoryId));
+			ap.setRoom(room);
+			ap.setIsConnectedEvent(isConnectedEvent);
+
+			ap = em.merge(ap);
+
+			return ap.getAppointmentId();
+		} catch (Exception ex2) {
+			log.error("[addAppointment]: ", ex2);
+		}
+		return null;
+	}
+
+	public Long addAppointmentObj(Appointment ap) {
+		try {
+
+			ap.setStarttime(new Date());
+
+			ap = em.merge(ap);
+
+			return ap.getAppointmentId();
+		} catch (Exception ex2) {
+			log.error("[addAppointmentObj]: ", ex2);
+		}
+		return null;
+	}
+
+	// ----------------------------------------------------------------------------------------------------------------------------
+
+	public Long updateAppointment(Appointment appointment) {
+		if (appointment.getAppointmentId() > 0) {
+			try {
+				if (appointment.getAppointmentId() == null) {
+					em.persist(appointment);
+				} else {
+					if (!em.contains(appointment)) {
+						em.merge(appointment);
+					}
+				}
+				return appointment.getAppointmentId();
+			} catch (Exception ex2) {
+				log.error("[updateAppointment] ", ex2);
+			}
+		} else {
+			log.error("[updateAppointment] " + "Error: No AppointmentId given");
+		}
+		return null;
+	}
+
+	public List<Appointment> getAppointmentsByRoomId(Long roomId) {
+		try {
+
+			String hql = "select a from Appointment a "
+					+ "WHERE a.room.rooms_id = :roomId ";
+
+			TypedQuery<Appointment> query = em.createQuery(hql,
+					Appointment.class);
+			query.setParameter("roomId", roomId);
+			List<Appointment> ll = query.getResultList();
+
+			return ll;
+		} catch (Exception e) {
+			log.error("[getAppointmentsByRoomId]", e);
+		}
+		return null;
+	}
+
+	private void updateConnectedEventsTimeOnly(Appointment ap,
+			Date appointmentstart, Date appointmentend) {
+		try {
+
+			if (ap.getRoom() == null) {
+				return;
+			}
+
+			List<Appointment> appointments = this.getAppointmentsByRoomId(ap
+					.getRoom().getRooms_id());
+
+			for (Appointment appointment : appointments) {
+
+				if (!ap.getAppointmentId().equals(
+						appointment.getAppointmentId())) {
+
+					ap.setAppointmentStarttime(appointmentstart);
+					ap.setAppointmentEndtime(appointmentend);
+					ap.setUpdatetime(new Date());
+					if (ap.getAppointmentId() == null) {
+						em.persist(ap);
+					} else {
+						if (!em.contains(ap)) {
+							em.merge(ap);
+						}
+					}
+
+				}
+
+			}
+
+		} catch (Exception err) {
+			log.error("[updateConnectedEvents]", err);
+		}
+	}
+
+	private void updateConnectedEvents(Appointment ap, String appointmentName,
+			String appointmentDescription, Date appointmentstart,
+			Date appointmentend, Boolean isDaily, Boolean isWeekly,
+			Boolean isMonthly, Boolean isYearly,
+			AppointmentCategory appointmentCategory,
+			AppointmentReminderTyps appointmentReminderTyps, @SuppressWarnings("rawtypes") List mmClient,
+			Long users_id, String baseUrl, Long language_id,
+			Boolean isPasswordProtected, String password) {
+		try {
+
+			if (ap.getRoom() == null) {
+				return;
+			}
+
+			List<Appointment> appointments = this.getAppointmentsByRoomId(ap
+					.getRoom().getRooms_id());
+
+			for (Appointment appointment : appointments) {
+
+				if (!ap.getAppointmentId().equals(
+						appointment.getAppointmentId())) {
+
+					appointment.setAppointmentName(appointmentName);
+					appointment.setAppointmentStarttime(appointmentstart);
+					appointment.setAppointmentEndtime(appointmentend);
+					appointment
+							.setAppointmentDescription(appointmentDescription);
+					appointment.setUpdatetime(new Date());
+					appointment.setRemind(appointmentReminderTyps);
+					appointment.setIsDaily(isDaily);
+					appointment.setIsWeekly(isWeekly);
+					appointment.setIsMonthly(isMonthly);
+					appointment.setIsYearly(isYearly);
+					appointment.setLanguage_id(language_id);
+					appointment.setIsPasswordProtected(isPasswordProtected);
+					appointment.setPassword(password);
+					// ap.setUserId(usersDao.getUser(userId));
+					appointment.setAppointmentCategory(appointmentCategory);
+
+					if (appointment.getAppointmentId() == null) {
+						em.persist(appointment);
+					} else {
+						if (!em.contains(appointment)) {
+							em.merge(appointment);
+						}
+					}
+
+				}
+
+			}
+
+		} catch (Exception err) {
+			log.error("[updateConnectedEvents]", err);
+		}
+	}
+
+	/**
+	 * 
+	 * @param appointmentId
+	 * @param appointmentName
+	 * @param appointmentDescription
+	 * @param appointmentstart
+	 * @param appointmentend
+	 * @param isDaily
+	 * @param isWeekly
+	 * @param isMonthly
+	 * @param isYearly
+	 * @param categoryId
+	 * @param remind
+	 * @param mmClient
+	 * @param users_id
+	 * @return
+	 */
+	// ----------------------------------------------------------------------------------------------------------
+	public Long updateAppointment(Long appointmentId, String appointmentName,
+			String appointmentDescription, Date appointmentstart,
+			Date appointmentend, Boolean isDaily, Boolean isWeekly,
+			Boolean isMonthly, Boolean isYearly, Long categoryId, Long remind,
+			@SuppressWarnings("rawtypes") List mmClient, Long users_id, String baseUrl, Long language_id,
+			Boolean isPasswordProtected, String password, String iCalTimeZone, String appointmentLocation) {
+
+		log.debug("AppointmentDAOImpl.updateAppointment");
+		try {
+
+			Appointment ap = this.getAppointmentById(appointmentId);
+
+			AppointmentReminderTyps appointmentReminderTyps = appointmentReminderTypDaoImpl
+					.getAppointmentReminderTypById(remind);
+			AppointmentCategory appointmentCategory = appointmentCategoryDaoImpl
+					.getAppointmentCategoryById(categoryId);
+
+			// change connected events of other participants
+			if (ap.getIsConnectedEvent() != null && ap.getIsConnectedEvent()) {
+				this.updateConnectedEvents(ap, appointmentName,
+						appointmentDescription, appointmentstart,
+						appointmentend, isDaily, isWeekly, isMonthly, isYearly,
+						appointmentCategory, appointmentReminderTyps, mmClient,
+						users_id, baseUrl, language_id, isPasswordProtected,
+						password);
+			}
+
+			// Update Invitation hash to new time
+			invitationManagement.updateInvitationByAppointment(appointmentId,
+					appointmentstart, appointmentend);
+
+			ap.setAppointmentName(appointmentName);
+			ap.setAppointmentLocation(appointmentLocation);
+			ap.setAppointmentStarttime(appointmentstart);
+			ap.setAppointmentEndtime(appointmentend);
+			ap.setAppointmentDescription(appointmentDescription);
+			ap.setUpdatetime(new Date());
+			ap.setRemind(appointmentReminderTyps);
+			ap.setIsDaily(isDaily);
+			ap.setIsWeekly(isWeekly);
+			ap.setIsMonthly(isMonthly);
+			ap.setIsYearly(isYearly);
+			ap.setLanguage_id(language_id);
+			ap.setIsPasswordProtected(isPasswordProtected);
+			ap.setPassword(password);
+			// ap.setUserId(usersDao.getUser(userId));
+			ap.setAppointmentCategory(appointmentCategory);
+
+			if (ap.getAppointmentId() == null) {
+				em.persist(ap);
+			} else {
+				if (!em.contains(ap)) {
+					em.merge(ap);
+				}
+			}
+
+			// Adding Invitor as Meetingmember
+			Users user = userManagement.getUserById(users_id);
+
+			String invitorName = user.getFirstname() + " " + user.getLastname()
+					+ " [" + user.getAdresses().getEmail() + "]";
+
+			List<MeetingMember> meetingsRemoteMembers = meetingMemberDao
+					.getMeetingMemberByAppointmentId(ap.getAppointmentId());
+
+			// to remove
+			for (MeetingMember memberRemote : meetingsRemoteMembers) {
+
+				boolean found = false;
+
+				if (mmClient != null) {
+					for (int i = 0; i < mmClient.size(); i++) {
+						
+						@SuppressWarnings("rawtypes")
+						Map clientMemeber = (Map) mmClient.get(i);
+						Long meetingMemberId = Long
+								.valueOf(
+										clientMemeber.get("meetingMemberId")
+												.toString()).longValue();
+						
+						log.debug("DELETE newly CHECK meetingMemberId: {} VS {} -- ", meetingMemberId, memberRemote.getMeetingMemberId());
+
+						if (memberRemote.getMeetingMemberId().equals(
+								meetingMemberId)) {
+							log.debug("AppointMentDAOImpl.updateAppointment  - member "
+									+ meetingMemberId + " is to be removed!");
+							// Notifying Member for Update
+							found = true;
+							break;
+						}
+
+					}
+				}
+
+				if (!found) {
+					
+					log.debug("DELETE getMeetingMemberId: {} -- ", memberRemote.getMeetingMemberId());
+
+					// Not in List in client delete it
+					meetingMemberLogic.deleteMeetingMember(
+							memberRemote.getMeetingMemberId(), users_id,
+							language_id);
+					// meetingMemberDao.deleteMeetingMember(memberRemote.getMeetingMemberId());
+				} else {
+					// Notify member of changes
+					invitationManagement.updateInvitation(ap, memberRemote,
+							users_id, language_id, invitorName);
+
+				}
+			}
+
+			// add items
+			if (mmClient != null) {
+
+				for (int i = 0; i < mmClient.size(); i++) {
+
+					@SuppressWarnings("rawtypes")
+					Map clientMember = (Map) mmClient.get(i);
+
+					Long meetingMemberId = Long.valueOf(
+							clientMember.get("meetingMemberId").toString())
+							.longValue();
+
+					boolean found = false;
+
+					for (MeetingMember memberRemote : meetingsRemoteMembers) {
+						if (memberRemote.getMeetingMemberId().equals(
+								meetingMemberId)) {
+							found = true;
+						}
+					}
+
+					if (!found) {
+
+						// We need two different timeZones, the internal Java
+						// Object
+						// TimeZone, and
+						// the one for the UI display object to map to, cause
+						// the UI
+						// only has around 24 timezones
+						// and Java around 600++
+						Long sendToUserId = 0L;
+						TimeZone timezoneMember = null;
+						OmTimeZone omTimeZone = null;
+						if (clientMember.get("userId") != null) {
+							sendToUserId = Long.valueOf(
+									clientMember.get("userId").toString())
+									.longValue();
+						}
+
+						// Check if this is an internal user, if yes use the
+						// timezone from his profile otherwise get the timezones
+						// from the variable jNameTimeZone
+						if (sendToUserId > 0) {
+							Users interalUser = userManagement
+									.getUserById(sendToUserId);
+							timezoneMember = timezoneUtil
+									.getTimezoneByUser(interalUser);
+							omTimeZone = interalUser.getOmTimeZone();
+						} else {
+							// Get the internal-name of the timezone set in the
+							// client object and convert it to a real one
+							Object jName = clientMember.get("jNameTimeZone");
+							if (jName == null) {
+								log.error("jNameTimeZone not set in user object variable");
+								jName = "";
+							}
+							omTimeZone = omTimeZoneDaoImpl.getOmTimeZone(jName
+									.toString());
+							timezoneMember = timezoneUtil
+									.getTimezoneByInternalJName(jName
+											.toString());
+						}
+
+						// Not In Remote List available - intern OR extern user
+						meetingMemberLogic.addMeetingMember(
+								clientMember.get("firstname").toString(),
+								clientMember.get("lastname").toString(),
+								"0", // member - Status
+								"0", // appointement - Status
+								appointmentId,
+								null, // UserId
+								clientMember.get("email").toString(), // Email
+																		// to
+																		// send
+																		// to
+								baseUrl, // URL to send to
+								sendToUserId, // sending To: External users have
+												// a 0 here
+								new Boolean(false), // invitor
+								language_id, 
+								isPasswordProtected, 
+								password,
+								timezoneMember, omTimeZone, invitorName);
+
+					}
+
+				}
+			}
+
+			return appointmentId;
+		} catch (Exception ex2) {
+			log.error("[updateAppointment]: ", ex2);
+		}
+		return null;
+
+	}
+
+	public Long updateAppointmentByTime(Long appointmentId,
+			Date appointmentstart, Date appointmentend, Long users_id,
+			String baseUrl, Long language_id, String iCalTimeZone) {
+
+		log.debug("AppointmentDAOImpl.updateAppointment");
+		try {
+
+			Appointment ap = this.getAppointmentById(appointmentId);
+
+			// change connected events of other participants
+			if (ap.getIsConnectedEvent() != null && ap.getIsConnectedEvent()) {
+				this.updateConnectedEventsTimeOnly(ap, appointmentstart,
+						appointmentend);
+			}
+
+			// Update Invitation hash to new time
+			invitationManagement.updateInvitationByAppointment(appointmentId,
+					appointmentstart, appointmentend);
+
+			ap.setAppointmentStarttime(appointmentstart);
+			ap.setAppointmentEndtime(appointmentend);
+			ap.setUpdatetime(new Date());
+
+			if (ap.getAppointmentId() == null) {
+				em.persist(ap);
+			} else {
+				if (!em.contains(ap)) {
+					em.merge(ap);
+				}
+			}
+
+			List<MeetingMember> meetingsRemoteMembers = meetingMemberDao
+					.getMeetingMemberByAppointmentId(ap.getAppointmentId());
+
+			// Adding Invitor Name
+			Users user = userManagement.getUserById(users_id);
+			String invitorName = user.getFirstname() + " " + user.getLastname()
+					+ " [" + user.getAdresses().getEmail() + "]";
+
+			// Send notification of updated Event
+			for (MeetingMember memberRemote : meetingsRemoteMembers) {
+
+				// Notify member of changes
+				invitationManagement.updateInvitation(ap, memberRemote,
+						users_id, language_id, invitorName);
+
+			}
+
+			return appointmentId;
+		} catch (Exception ex2) {
+			log.error("[updateAppointmentByTime]: ", ex2);
+		}
+		return null;
+
+	}
+
+	// ----------------------------------------------------------------------------------------------------------
+
+	public Long deleteAppointement(Long appointmentId) {
+		log.debug("deleteAppointMent");
+		try {
+
+			Appointment app = this.getAppointmentById(appointmentId);
+			app.setUpdatetime(new Date());
+			app.setDeleted("true");
+
+			if (app.getAppointmentId() == null) {
+				em.persist(app);
+			} else {
+				if (!em.contains(app)) {
+					em.merge(app);
+				}
+			}
+			return appointmentId;
+		} catch (Exception ex2) {
+			log.error("[deleteAppointement]: " + ex2);
+		}
+		return null;
+	}
+
+	public List<Appointment> getAppointmentsByRange(Long userId,
+			Date starttime, Date endtime) {
+		try {
+
+			Calendar calstart = Calendar.getInstance();
+			calstart.setTime(starttime);
+			calstart.set(Calendar.HOUR, 0);
+
+			Calendar calend = Calendar.getInstance();
+			calend.setTime(endtime);
+			calend.set(Calendar.HOUR, 23);
+			calend.set(Calendar.MINUTE, 59);
+			
+			log.debug("Start " + calstart.getTime() + " End " + calend.getTime());
+
+			TypedQuery<Appointment> query = em.createNamedQuery("appointmentsInRange", Appointment.class);
+			query.setParameter("deleted", "true");
+			query.setParameter("starttime", calstart.getTime());
+			query.setParameter("endtime", calend.getTime());
+			query.setParameter("userId", userId);
+			
+			List<Appointment> listAppoints = new ArrayList<Appointment>(query.getResultList()); 
+			TypedQuery<Appointment> q1 = em.createNamedQuery("joinedAppointmentsInRange", Appointment.class);
+			q1.setParameter("starttime", calstart.getTime());
+			q1.setParameter("endtime", calend.getTime());
+			q1.setParameter("userId", userId);
+			for (Appointment a : q1.getResultList()) {
+				a.setIsConnectedEvent(true); //TODO need to be reviewed
+				listAppoints.add(a);
+			}
+			
+			for (Appointment appointment : listAppoints) {
+				log.debug("" + appointment);
+
+				appointment.setMeetingMember(meetingMemberDao
+						.getMeetingMemberByAppointmentId(appointment
+								.getAppointmentId()));
+
+			}
+
+			return listAppoints;
+		} catch (Exception ex2) {
+			log.error("[getAppointmentsByRange]: ", ex2);
+		}
+		return null;
+	}
+
+	public List<Appointment> getAppointmentsByCat(Long categoryId) {
+		try {
+
+			String hql = "select a from Appointments a "
+					+ "WHERE a.deleted <> :deleted "
+					+ "AND a.appointmentCategory.categoryId = :categoryId";
+
+			TypedQuery<Appointment> query = em.createQuery(hql,
+					Appointment.class);
+			query.setParameter("deleted", "true");
+			query.setParameter("categoryId", categoryId);
+
+			List<Appointment> listAppoints = query.getResultList();
+			return listAppoints;
+		} catch (Exception ex2) {
+			log.error("[getAppointements]: ", ex2);
+		}
+		return null;
+	}
+
+	public List<Appointment> getAppointmentsByCritAndCat(Long cat_id) {
+		try {
+
+			CriteriaBuilder cb = em.getCriteriaBuilder();
+			CriteriaQuery<Appointment> cq = cb.createQuery(Appointment.class);
+			Root<Appointment> c = cq.from(Appointment.class);
+			Predicate condition = cb.equal(c.get("deleted"), "false");
+			Predicate subCondition = cb.equal(c.get("categoryId"), cat_id);
+			cq.where(condition, subCondition);
+			TypedQuery<Appointment> q = em.createQuery(cq);
+			List<Appointment> listAppoints = q.getResultList();
+
+			return listAppoints;
+		} catch (Exception ex2) {
+			log.error("[getAppointements]: ", ex2);
+		}
+		return null;
+	}
+
+	// next appointment to select date
+	public Appointment getNextAppointment(Date appointmentStarttime) {
+		try {
+
+			String hql = "select a from Appointment a "
+					+ "WHERE a.deleted <> :deleted "
+					+ "AND a.appointmentStarttime > :appointmentStarttime ";
+
+			TypedQuery<Appointment> query = em.createQuery(hql, Appointment.class);
+			query.setParameter("deleted", "true");
+			query.setParameter("appointmentStarttime", appointmentStarttime);
+
+			Appointment appoint = null;
+			try {
+				appoint = query.getSingleResult();
+			} catch (NoResultException ex) {
+			}
+
+			return appoint;
+		} catch (Exception ex2) {
+			log.error("[getNextAppointmentById]: ", ex2);
+		}
+		return null;
+	}
+
+	public List<Appointment> searchAppointmentsByName(String name) {
+		try {
+
+			String hql = "select a from Appointment a "
+					+ "WHERE a.deleted <> :deleted "
+					+ "AND a.appointmentName LIKE :appointmentName";
+
+			TypedQuery<Appointment> query = em.createQuery(hql,
+					Appointment.class);
+			query.setParameter("deleted", "true");
+			query.setParameter("appointmentName", name);
+
+			List<Appointment> listAppoints = query.getResultList();
+
+			return listAppoints;
+		} catch (Exception ex2) {
+			log.error("[searchAppointmentsByName]: ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * @author becherer
+	 * @param userId
+	 * @return
+	 */
+	public List<Appointment> getTodaysAppointmentsbyRangeAndMember(Long userId) {
+		log.debug("getAppoitmentbyRangeAndMember : UserID - " + userId);
+
+		//this query returns duplicates if the user books an appointment with
+		//his own user as second meeting-member, swagner 19.02.2012
+		
+		String hql = "SELECT app from MeetingMember mm "
+				+ "JOIN mm.appointment as app "
+				+ "WHERE mm.userid.user_id= :userId "
+				+ "AND mm.deleted <> :mm_deleted "
+				+ "AND app.deleted <> :app_deleted " + "AND  "
+				+ "app.appointmentStarttime between :starttime " + "AND "
+				+ " :endtime";
+		
+		TimeZone timeZone = timezoneUtil.getTimezoneByUser(usersDao.getUser(userId));
+
+		Calendar startCal = Calendar.getInstance(timeZone);
+		startCal.set(Calendar.MINUTE, 0);
+		startCal.set(Calendar.HOUR, 0);
+		startCal.set(Calendar.SECOND, 1);
+
+		Calendar endCal = Calendar.getInstance(timeZone);
+		endCal.set(Calendar.MINUTE, 23);
+		endCal.set(Calendar.HOUR, 59);
+		endCal.set(Calendar.SECOND, 59);
+
+		try {
+			TypedQuery<Appointment> query = em.createQuery(hql,
+					Appointment.class);
+
+			query.setParameter("mm_deleted", true);
+			query.setParameter("app_deleted", "true");
+			query.setParameter("userId", userId);
+
+			query.setParameter("starttime", startCal.getTime());
+			query.setParameter("endtime", endCal.getTime());
+
+			List<Appointment> listAppoints = query.getResultList();
+			return listAppoints;
+		} catch (Exception e) {
+			log.error("Error in getTodaysAppoitmentsbyRangeAndMember : ", e);
+			return null;
+		}
+	}
+
+	/**
+	 * Get the meetings according to a time range. It starts by now to
+	 * Calendar.getInstance().getTime().getTime() + milliseconds
+	 * 
+	 * @author o.becherer,seba.wagner
+	 * @param milliseconds
+	 *            to get events in the past make milliseconds < 0
+	 * @param isReminderEmailSend
+	 *            if null all events in the time range, if false or true the
+	 *            param is set
+	 * @return
+	 */
+	public List<Appointment> getAppointmentsForAllUsersByTimeRangeStartingNow(
+			long milliseconds, Boolean isReminderEmailSend) {
+		try {
+
+			String hql = "SELECT app from MeetingMember mm "
+					+ "JOIN mm.appointment as app "
+					+ "WHERE mm.deleted <> :mm_deleted "
+					+ "AND app.deleted <> :app_deleted "
+					+ "AND app.appointmentStarttime between :starttime AND :endtime ";
+
+			if (isReminderEmailSend != null) {
+				hql += "AND ( app.isReminderEmailSend IS NULL OR app.isReminderEmailSend = :isReminderEmailSend ) ";
+			}
+
+			Calendar startCal = Calendar.getInstance();
+			if (milliseconds < 0) {
+				startCal.setTimeInMillis(startCal.getTimeInMillis()+milliseconds);
+			}
+			Calendar endCal = Calendar.getInstance();
+			if (milliseconds > 0) {
+				endCal.setTimeInMillis(endCal.getTimeInMillis()+milliseconds);
+			}
+
+			TypedQuery<Appointment> query = em.createQuery(hql,
+					Appointment.class);
+			
+			Timestamp startStamp = new Timestamp(startCal.getTime().getTime());
+            Timestamp stopStamp = new Timestamp(endCal.getTime().getTime());
+            
+            log.debug("startStamp "+startStamp);
+            log.debug("stopStamp "+stopStamp);
+
+			query.setParameter("mm_deleted", true);
+			query.setParameter("app_deleted", "true");
+			query.setParameter("starttime", startStamp);
+			query.setParameter("endtime", stopStamp);
+			if (isReminderEmailSend != null) {
+				query.setParameter("isReminderEmailSend", isReminderEmailSend);
+			}
+
+			List<Appointment> listAppoints = query.getResultList();
+
+			return listAppoints;
+		} catch (Exception e) {
+			log.error("Error in getAppointmentsForAllUsersByTimeRangeStartingNow : ", e);
+			return null;
+		}
+	}
+
+	// ---------------------------------------------------------------------------------------------
+
+	public Appointment getAppointmentByRoomId(Long user_id, Long rooms_id) {
+		try {
+
+			String hql = "select a from Appointment a "
+					+ "WHERE a.deleted <> :deleted "
+					+ "AND a.userId.user_id = :user_id "
+					+ "AND a.room.rooms_id = :rooms_id ";
+
+			TypedQuery<Appointment> query = em.createQuery(hql,
+					Appointment.class);
+
+			query.setParameter("deleted", "true");
+			query.setParameter("user_id", user_id);
+			query.setParameter("rooms_id", rooms_id);
+
+			List<Appointment> listAppoints = query.getResultList();
+
+			if (listAppoints.size() > 0) {
+				return listAppoints.get(0);
+			}
+
+			return null;
+
+		} catch (Exception e) {
+			log.error("[getAppointmentByRoomId]", e);
+			return null;
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/calendar/daos/AppointmentReminderTypDaoImpl.java b/src/org/openmeetings/app/data/calendar/daos/AppointmentReminderTypDaoImpl.java
new file mode 100644
index 0000000..745c540
--- /dev/null
+++ b/src/org/openmeetings/app/data/calendar/daos/AppointmentReminderTypDaoImpl.java
@@ -0,0 +1,168 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.calendar.daos;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.calendar.AppointmentReminderTyps;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class AppointmentReminderTypDaoImpl {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			AppointmentReminderTypDaoImpl.class,
+			OpenmeetingsVariables.webAppRootKey);
+
+	@PersistenceContext
+	private EntityManager em;
+	@Autowired
+	private UsersDaoImpl usersDao;
+
+	public AppointmentReminderTyps getAppointmentReminderTypById(Long typId) {
+		try {
+			log.debug("AppointmentReminderTypById: " + typId);
+
+			String hql = "select app from AppointmentReminderTyps app "
+					+ "WHERE app.deleted <> :deleted "
+					+ "AND app.typId = :typId";
+
+			TypedQuery<AppointmentReminderTyps> query = em.createQuery(hql, AppointmentReminderTyps.class);
+			query.setParameter("deleted", "true");
+			query.setParameter("typId", typId);
+
+			AppointmentReminderTyps appointmentReminderTyps = null;
+			try {
+				appointmentReminderTyps = query.getSingleResult();
+			} catch (NoResultException ex) {
+			}
+
+			return appointmentReminderTyps;
+		} catch (Exception ex2) {
+			log.error("[getAppointmentReminderTypsById]: " + ex2);
+		}
+		return null;
+	}
+
+	public Long updateAppointmentReminderTyps(Long typId, String name) {
+		try {
+
+			AppointmentReminderTyps ac = this
+					.getAppointmentReminderTypById(typId);
+
+			ac.setName(name);
+			ac.setUpdatetime(new Date());
+
+			if (ac.getTypId() == null) {
+				em.persist(ac);
+			} else {
+				if (!em.contains(ac)) {
+					em.merge(ac);
+				}
+			}
+
+			return typId;
+		} catch (Exception ex2) {
+			log.error("[updateAppointmentReminderTyps]: ", ex2);
+		}
+		return null;
+	}
+
+	public Long addAppointmentReminderTyps(Long user_id, String name) {
+		try {
+
+			AppointmentReminderTyps ac = new AppointmentReminderTyps();
+
+			ac.setName(name);
+			ac.setStarttime(new Date());
+			ac.setDeleted("false");
+			ac.setUser(usersDao.getUser(user_id));
+
+			ac = em.merge(ac);
+			Long category_id = ac.getTypId();
+
+			return category_id;
+		} catch (Exception ex2) {
+			log.error("[addAppointmentReminderTyps]: ", ex2);
+		}
+		return null;
+	}
+
+	public Long deleteAppointmentReminderTyp(Long typId) {
+		try {
+
+			AppointmentReminderTyps ac = this
+					.getAppointmentReminderTypById(typId);
+
+			log.debug("ac: " + ac);
+
+			if (ac == null) {
+				log.debug("Already deleted / Could not find: " + typId);
+				return typId;
+			}
+			ac.setUpdatetime(new Date());
+			ac.setDeleted("true");
+
+			if (ac.getTypId() == null) {
+				em.persist(ac);
+			} else {
+				if (!em.contains(ac)) {
+					em.merge(ac);
+				}
+			}
+
+			return typId;
+		} catch (Exception ex2) {
+			log.error("[deleteAppointmentReminderTyp]: " + ex2);
+		}
+		return null;
+	}
+
+	public List<AppointmentReminderTyps> getAppointmentReminderTypList() {
+		log.debug("getAppointmenetReminderTypList");
+
+		try {
+
+			String hql = "select a from AppointmentReminderTyps a "
+					+ "WHERE a.deleted <> :deleted ";
+
+			TypedQuery<AppointmentReminderTyps> query = em.createQuery(hql, AppointmentReminderTyps.class);
+			query.setParameter("deleted", "true");
+
+			List<AppointmentReminderTyps> listAppointmentReminderTyp = query
+					.getResultList();
+
+			return listAppointmentReminderTyp;
+		} catch (Exception ex2) {
+			log.error("[getAppointmentReminderTypList]: " + ex2);
+		}
+		return null;
+	}
+}
diff --git a/src/org/openmeetings/app/data/calendar/daos/MeetingMemberDaoImpl.java b/src/org/openmeetings/app/data/calendar/daos/MeetingMemberDaoImpl.java
new file mode 100644
index 0000000..ec2654f
--- /dev/null
+++ b/src/org/openmeetings/app/data/calendar/daos/MeetingMemberDaoImpl.java
@@ -0,0 +1,284 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.calendar.daos;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
+import org.openmeetings.app.persistence.beans.calendar.MeetingMember;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class MeetingMemberDaoImpl {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			MeetingMemberDaoImpl.class, OpenmeetingsVariables.webAppRootKey);
+	@PersistenceContext
+	private EntityManager em;
+	@Autowired
+	private AppointmentDaoImpl appointmentDao;
+	@Autowired
+	private UsersDaoImpl usersDao;
+
+	public MeetingMember getMeetingMemberById(Long meetingMemberId) {
+		try {
+			log.debug("getMeetingMemberById: " + meetingMemberId);
+
+			String hql = "select app from MeetingMember app "
+					+ "WHERE app.deleted <> :deleted "
+					+ "AND app.meetingMemberId = :meetingMemberId";
+
+			TypedQuery<MeetingMember> query = em.createQuery(hql, MeetingMember.class);
+			query.setParameter("deleted", true);
+			query.setParameter("meetingMemberId", meetingMemberId);
+
+			MeetingMember meetingMember = null;
+			try {
+				meetingMember = query.getSingleResult();
+			} catch (NoResultException ex) {
+			}
+
+			return meetingMember;
+		} catch (Exception ex2) {
+			log.error("[getMeetingMemberById]: ", ex2);
+		}
+		return null;
+	}
+
+	public List<MeetingMember> getMeetingMembers() {
+		try {
+			String hql = "select app from MeetingMember app";
+			
+			TypedQuery<MeetingMember> query = em.createQuery(hql, MeetingMember.class);
+
+			List<MeetingMember> meetingMembers = query.getResultList();
+
+			return meetingMembers;
+		} catch (Exception ex2) {
+			log.error("[getMeetingMembers]: ", ex2);
+		}
+		return null;
+	}
+
+	public List<MeetingMember> getMeetingMemberByAppointmentId(
+			Long appointmentId) {
+		try {
+			log.debug("getMeetingMemberByAppointmentId: " + appointmentId);
+
+			String hql = "select app from MeetingMember app "
+					+ "WHERE app.deleted <> :deleted "
+					+ "AND app.appointment.appointmentId = :appointmentId";
+
+			TypedQuery<MeetingMember> query = em.createQuery(hql, MeetingMember.class);
+			query.setParameter("deleted", true);
+			query.setParameter("appointmentId", appointmentId);
+
+			List<MeetingMember> listmeetingMember = query.getResultList();
+
+			return listmeetingMember;
+		} catch (Exception ex2) {
+			log.error("[getMeetingMemberByAppointmentId]: ", ex2);
+		}
+		return null;
+	}
+
+	/*
+	 * public List<MeetingMember> getMeetingMemberByRange(Long userId, Date
+	 * starttime, Date endtime) { try {
+	 * 
+	 * 
+	 * 
+	 * String hql = "select a from Appointment a , MeetingMember mm " +
+	 * "WHERE a.deleted != :deleted  " + "AND mm.userid = :userid " + "AND "+
+	 * "( " + "(a.appointmentStarttime BETWEEN :starttime AND :endtime) "+ "OR "
+	 * + "(a.appointmentEndtime BETWEEN :starttime AND :endtime) "+ "OR " +
+	 * "(a.appointmentStarttime < :starttime AND a.appointmentEndtime > :endtime) "
+	 * + ") "+ "AND " + "( " + "a.userId = :userid "+ ")";
+	 * 
+	 * //"AND (a.terminstatus != 4 AND a.terminstatus != 5)";
+	 * 
+	 * Object idf = HibernateUtil.createSession(); EntityManager session =
+	 * HibernateUtil.getSession(); EntityTransaction tx =
+	 * session.getTransaction(); tx.begin(); Query query =
+	 * session.createQuery(hql); query.setParameter("deleted", "true");
+	 * query.setParameter("starttime", starttime); query.setParameter("endtime",
+	 * endtime); query.setParameter("userid",userId);
+	 * 
+	 * List<MeetingMember> listAppoints = query.getResultList(); tx.commit();
+	 * HibernateUtil.closeSession(idf);
+	 * 
+	 * return listAppoints; } catch (HibernateException ex) {
+	 * log.error("[getMeetingMemberByRange]: " + ex); } catch (Exception ex2) {
+	 * log.error("[getMeetingMemberByRange]: " + ex2); } return null; }
+	 */
+
+	/**
+	 * Updating MeetingMember
+	 */
+	// -------------------------------------------------------------------------------
+	public MeetingMember updateMeetingMember(MeetingMember meetingMember) {
+		log.debug("");
+		if (meetingMember.getMeetingMemberId() > 0) {
+			try {
+				if (meetingMember.getMeetingMemberId() == null) {
+					em.persist(meetingMember);
+				} else {
+					if (!em.contains(meetingMember)) {
+						meetingMember = em.merge(meetingMember);
+					}
+				}
+				return meetingMember;
+			} catch (Exception ex2) {
+				log.error("[updateMeetingMember] ", ex2);
+			}
+		} else {
+			log.error("[updateUser] " + "Error: No MeetingMemberId given");
+		}
+		return null;
+	}
+
+	// -------------------------------------------------------------------------------
+
+	public Long updateMeetingMember(Long meetingMemberId, String firstname,
+			String lastname, String memberStatus, String appointmentStatus,
+			Long appointmentId, Long userid, String email) {
+		try {
+
+			MeetingMember gm = this.getMeetingMemberById(meetingMemberId);
+			/*
+			 * if (gm == null) { log.debug("ALERT Object with ID: "+
+			 * MeetingMemberId +" does not exist yet"); return null; }
+			 */
+
+			gm.setFirstname(firstname);
+			gm.setLastname(lastname);
+
+			// gm.setLanguageId(Languagemanagement.getInstance().getFieldLanguageById(languageId));
+			gm.setMemberStatus(memberStatus);
+			gm.setAppointmentStatus(appointmentStatus);
+			gm.setAppointment(appointmentDao.getAppointmentById(appointmentId));
+			gm.setDeleted(false);
+			gm.setUpdatetime(new Date());
+			gm.setUserid(usersDao.getUser(userid));
+			gm.setEmail(email);
+
+			if (gm.getMeetingMemberId() == null) {
+				em.persist(gm);
+			} else {
+				if (!em.contains(gm)) {
+					gm = em.merge(gm);
+				}
+			}
+			meetingMemberId = gm.getMeetingMemberId();
+			return meetingMemberId;
+		} catch (Exception ex2) {
+			log.error("[updateMeetingMember]: ", ex2);
+		}
+		return null;
+	}
+
+	public Long addMeetingMember(String firstname, String lastname,
+			String memberStatus, String appointmentStatus, Long appointmentId,
+			Long userid, String email, Boolean moderator, OmTimeZone omTimeZone,
+			Boolean isConnectedEvent) {
+		try {
+
+			MeetingMember gm = new MeetingMember();
+
+			gm.setFirstname(firstname);
+			gm.setLastname(lastname);
+			gm.setMemberStatus(memberStatus);
+			gm.setAppointmentStatus(appointmentStatus);
+			gm.setAppointment(appointmentDao.getAppointmentById(appointmentId));
+			gm.setUserid(usersDao.getUser(userid));
+			gm.setEmail(email);
+
+			gm.setStarttime(new Date());
+			gm.setDeleted(false);
+			gm.setInvitor(moderator);
+			gm.setIsConnectedEvent(isConnectedEvent);
+			
+			gm.setOmTimeZone(omTimeZone);
+
+			gm = em.merge(gm);
+			Long group_member_id = gm.getMeetingMemberId();
+
+			return group_member_id;
+		} catch (Exception ex2) {
+			log.error("[addMeetingMember]: ", ex2);
+		}
+		return null;
+	}
+
+	public Long addMeetingMemberByObject(MeetingMember gm) {
+		try {
+			gm = em.merge(gm);
+			Long group_member_id = gm.getMeetingMemberId();
+
+			return group_member_id;
+		} catch (Exception ex2) {
+			log.error("[addMeetingMember]: ", ex2);
+		}
+		return null;
+	}
+
+	public Long deleteMeetingMember(Long meetingMemberId) {
+		log.debug("MeetingMemnerDAoImpl.deleteMeetingMember : "
+				+ meetingMemberId);
+
+		try {
+
+			MeetingMember gm = this.getMeetingMemberById(meetingMemberId);
+
+			log.debug("ac: " + gm);
+
+			if (gm == null) {
+				log.debug("Already deleted / Could not find: "
+						+ meetingMemberId);
+				return null;
+			}
+			gm.setUpdatetime(new Date());
+			gm.setDeleted(true);
+
+			if (gm.getMeetingMemberId() == null) {
+				em.persist(gm);
+			} else {
+				if (!em.contains(gm)) {
+					em.merge(gm);
+				}
+			}
+			return meetingMemberId;
+		} catch (Exception ex2) {
+			log.error("[deleteMeetingMember]: ", ex2);
+		}
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/calendar/management/AppointmentLogic.java b/src/org/openmeetings/app/data/calendar/management/AppointmentLogic.java
new file mode 100644
index 0000000..ab43183
--- /dev/null
+++ b/src/org/openmeetings/app/data/calendar/management/AppointmentLogic.java
@@ -0,0 +1,560 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.calendar.management;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.TimeZone;
+
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.Fieldmanagment;
+import org.openmeetings.app.data.basic.dao.OmTimeZoneDaoImpl;
+import org.openmeetings.app.data.calendar.daos.AppointmentDaoImpl;
+import org.openmeetings.app.data.calendar.daos.MeetingMemberDaoImpl;
+import org.openmeetings.app.data.conference.Invitationmanagement;
+import org.openmeetings.app.data.conference.Roommanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
+import org.openmeetings.app.persistence.beans.calendar.Appointment;
+import org.openmeetings.app.persistence.beans.calendar.MeetingMember;
+import org.openmeetings.app.persistence.beans.invitation.Invitations;
+import org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues;
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.utils.math.CalendarPatterns;
+import org.openmeetings.utils.math.TimezoneUtil;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class AppointmentLogic {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			AppointmentLogic.class, "openmeetings");
+
+	@Autowired
+	private AppointmentDaoImpl appointmentDao;
+	@Autowired
+	private Configurationmanagement cfgManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private Fieldmanagment fieldmanagment;
+	@Autowired
+	private OmTimeZoneDaoImpl omTimeZoneDaoImpl;
+	@Autowired
+	private Roommanagement roommanagement;
+	@Autowired
+	private Invitationmanagement invitationManagement;
+	@Autowired
+	private MeetingMemberDaoImpl meetingMemberDao;
+	@Autowired
+	private MeetingMemberLogic meetingMemberLogic;
+	@Autowired
+	private TimezoneUtil timezoneUtil;
+
+	private static int DEFAULT_MINUTES_REMINDER_SEND = 15;
+
+	public List<Appointment> getAppointmentByRange(Long userId, Date starttime,
+			Date endtime) {
+		try {
+			return appointmentDao.getAppointmentsByRange(userId, starttime,
+					endtime);
+		} catch (Exception err) {
+			log.error("[getAppointmentByRange]", err);
+		}
+		return null;
+	}
+
+	public List<Appointment> getTodaysAppointmentsForUser(Long userId) {
+		log.debug("getTodaysAppointmentsForUser");
+
+		List<Appointment> points = appointmentDao
+				.getTodaysAppointmentsbyRangeAndMember(userId);
+
+		log.debug("Count Appointments for Today : " + points.size());
+
+		return points;
+
+	}
+
+	/**
+	 * @author o.becherer
+	 * @param room_id
+	 * @return
+	 */
+	// --------------------------------------------------------------------------------------------
+	public Appointment getAppointmentByRoom(Long room_id) throws Exception {
+		log.debug("getAppointmentByRoom");
+
+		Rooms room = roommanagement.getRoomById(room_id);
+
+		if (room == null)
+			throw new Exception("Room does not exist in database!");
+
+		if (!room.getAppointment())
+			throw new Exception("Room " + room.getName()
+					+ " isnt part of an appointed meeting");
+
+		return appointmentDao.getAppointmentByRoom(room_id);
+	}
+
+	// --------------------------------------------------------------------------------------------
+
+	// next appointment to current date
+	public Appointment getNextAppointment() {
+		try {
+			return appointmentDao.getNextAppointment(new Date());
+		} catch (Exception err) {
+			log.error("[getNextAppointmentById]", err);
+		}
+		return null;
+	}
+
+	public List<Appointment> searchAppointmentByName(String appointmentName) {
+		try {
+			return appointmentDao.searchAppointmentsByName(appointmentName);
+		} catch (Exception err) {
+			log.error("[searchAppointmentByName]", err);
+		}
+		return null;
+	}
+
+	public Long saveAppointment(String appointmentName, Long userId,
+			String appointmentLocation, String appointmentDescription,
+			Date appointmentstart, Date appointmentend,
+			Boolean isDaily, Boolean isWeekly, Boolean isMonthly,
+			Boolean isYearly, Long categoryId, Long remind,
+			@SuppressWarnings("rawtypes") List mmClient, Long roomType,
+			String baseUrl, Long language_id, Boolean isPasswordProtected,
+			String password) {
+
+		log.debug("Appointmentlogic.saveAppointment");
+		
+		// TODO:Add this user as the default Moderator of the Room
+
+		Long numberOfParticipants = cfgManagement.getConfValue(
+				"calendar.conference.rooms.default.size", Long.class, "50");
+
+		Long room_id = roommanagement.addRoom(3, // user level
+				appointmentName, // name
+				roomType, // RoomType
+				"", // Comment
+				numberOfParticipants, // Number of participants
+				true, // public
+				null, // organizations
+				true, // Appointment
+				false, // Demo Room => Meeting Timer
+				null, // Meeting Timer time in seconds
+				false, // Is Moderated Room
+				null, // Moderation List Room
+				true, // Allow User Questions
+				false, // isAudioOnly
+				false, // isClosed
+				"", // redirectURL
+				"", // sipNumber
+				"", // conferencePIN
+				null, // ownerID
+				null, null, 
+				false, // hideTopBar
+				false, // hideChat
+				false, // hideActivitiesAndActions
+				false, // hideFilesExplorer
+				false, // hideActionsMenu
+				false, // hideScreenSharing 
+				false, // hideWhiteboard
+				false //showMicrophoneStatus
+				);
+
+		log.debug("Appointmentlogic.saveAppointment : Room - " + room_id);
+		log.debug("Appointmentlogic.saveAppointment : Reminder - " + remind);
+
+		Rooms room = roommanagement.getRoomById(room_id);
+
+		try {
+
+			// Adding creator as MeetingMember
+			Users user = userManagement.getUserById(userId);
+			
+			// Re-factor the given time ignoring the Date is always UTC!
+			TimeZone timezone = timezoneUtil.getTimezoneByUser(user);
+			
+			Long appointmentId = appointmentDao.addAppointment(appointmentName,
+					userId, appointmentLocation, appointmentDescription,
+					appointmentstart, appointmentend, isDaily, isWeekly,
+					isMonthly, isYearly, categoryId, remind, room, language_id,
+					isPasswordProtected, password, false, user.getOmTimeZone().getJname());
+
+			String invitorName = user.getFirstname() + " " + user.getLastname()
+					+ " [" + user.getAdresses().getEmail() + "]";
+
+			// Add the creator of the meeting calendar event
+			meetingMemberLogic.addMeetingMember(user.getFirstname(), user
+					.getLastname(), "", "", appointmentId, userId, user
+					.getAdresses().getEmail(), baseUrl, userId, true,
+					language_id, isPasswordProtected, password, timezone, user.getOmTimeZone(),
+					invitorName);
+
+			// iterate through all members of this meeting and add them to the
+			// event and send invitation
+			if (mmClient != null) {
+
+				for (int i = 0; i < mmClient.size(); i++) {
+
+					@SuppressWarnings("rawtypes")
+					Map clientMember = (Map) mmClient.get(i);
+
+					log.debug("clientMember.get('userId') "
+							+ clientMember.get("userId"));
+					
+					for (Object tString : clientMember.entrySet()) {
+						log.debug("tString " + tString);
+					}
+					log.debug("clientMember.get('meetingMemberId') "
+							+ clientMember.get("meetingMemberId"));
+
+					// We need two different timeZones, the internal Java Object
+					// TimeZone, and
+					// the one for the UI display object to map to, cause the UI
+					// only has around 24 timezones
+					// and Java around 600++
+					Long sendToUserId = 0L;
+					TimeZone timezoneMember = null;
+					OmTimeZone omTimeZone = null;
+					if (clientMember.get("userId") != null) {
+						sendToUserId = Long.valueOf(
+								clientMember.get("userId").toString())
+								.longValue();
+					}
+
+					// Check if this is an internal user, if yes use the
+					// timezone from his profile otherwise get the timezones
+					// from the variable jNameTimeZone
+					if (sendToUserId > 0) {
+						Users interalUser = userManagement
+								.getUserById(sendToUserId);
+						timezoneMember = timezoneUtil
+								.getTimezoneByUser(interalUser);
+						omTimeZone = interalUser.getOmTimeZone();
+					} else {
+						// Get the internal-name of the timezone set in the
+						// client object and convert it to a real one
+						Object jName = clientMember.get("jNameTimeZone");
+						if (jName == null) {
+							log.error("jNameTimeZone not set in user object variable");
+							jName = "";
+						}
+						omTimeZone = omTimeZoneDaoImpl.getOmTimeZone(jName
+								.toString());
+						timezoneMember = timezoneUtil
+								.getTimezoneByInternalJName(jName.toString());
+					}
+
+					// Not In Remote List available - intern OR extern user
+					meetingMemberLogic.addMeetingMember(
+							clientMember.get("firstname").toString(),
+							clientMember.get("lastname").toString(),
+							"0", // memberStatus
+							"0", // appointmentStatus
+							appointmentId,
+							sendToUserId, // sending To: External users have a 0
+											// here
+							clientMember.get("email").toString(), baseUrl,
+							userId, // meeting_organizer
+							new Boolean(false), // invitor
+							language_id, //language_id
+							isPasswordProtected, // isPasswordProtected
+							password, // password
+							timezoneMember, omTimeZone, invitorName);
+
+				}
+			}
+
+			return appointmentId;
+		} catch (Exception err) {
+			log.error("[saveAppointment]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param appointmentId
+	 * @return
+	 */
+	// -------------------------------------------------------------------------------------
+	public Long deleteAppointment(Long appointmentId, Long users_id,
+			Long language_id) {
+		log.debug("deleteAppointment : " + appointmentId);
+
+		try {
+
+			Appointment point = getAppointMentById(appointmentId);
+			
+			if (point == null) {
+				log.error("No appointment found for ID " + appointmentId);
+				return null;
+			}
+
+			if (point.getIsConnectedEvent() != null
+					&& point.getIsConnectedEvent()) {
+				List<Appointment> appointments = appointmentDao
+						.getAppointmentsByRoomId(point.getRoom().getRooms_id());
+
+				for (Appointment appointment : appointments) {
+
+					if (!appointment.getAppointmentId().equals(appointmentId)) {
+
+						appointmentDao.deleteAppointement(appointment
+								.getAppointmentId());
+
+					}
+
+				}
+
+			}
+
+			Rooms room = point.getRoom();
+
+			// Deleting/Notifing Meetingmembers
+			List<MeetingMember> members = meetingMemberDao
+					.getMeetingMemberByAppointmentId(appointmentId);
+
+			if (members == null)
+				log.debug("Appointment " + point.getAppointmentName()
+						+ " has no meeting members");
+
+			if (members != null) {
+				for (int i = 0; i < members.size(); i++) {
+					log.debug("deleting member " + members.get(i).getEmail());
+					meetingMemberLogic.deleteMeetingMember(members.get(i)
+							.getMeetingMemberId(), users_id, language_id);
+				}
+			}
+
+			// Deleting Appointment itself
+			appointmentDao.deleteAppointement(appointmentId);
+
+			// Deleting Room
+			roommanagement.deleteRoom(room);
+
+			return appointmentId;
+
+		} catch (Exception err) {
+			log.error("[deleteAppointment]", err);
+		}
+
+		return null;
+
+	}
+
+	// -------------------------------------------------------------------------------------
+
+	/**
+	 * Retrieving Appointment by ID
+	 */
+	// ----------------------------------------------------------------------------------------------
+	public Appointment getAppointMentById(Long appointment) {
+		log.debug("getAppointMentById");
+
+		return appointmentDao.getAppointmentById(appointment);
+	}
+
+	// ----------------------------------------------------------------------------------------------
+
+	/**
+	 * Sending Reminder in Simple mail format 5 minutes before Meeting begins
+	 */
+	// ----------------------------------------------------------------------------------------------
+	public void doScheduledMeetingReminder() throws Exception {
+		// log.debug("doScheduledMeetingReminder");
+
+		Integer minutesReminderSend = cfgManagement.getConfValue(
+				"number.minutes.reminder.send", Integer.class, ""
+						+ DEFAULT_MINUTES_REMINDER_SEND);
+		if (minutesReminderSend == null) {
+			throw new Exception("minutesReminderSend is null!");
+		}
+
+		if (minutesReminderSend == 0) {
+			log.warn("minutesReminderSend is 0, disabling reminder scheduler");
+			return;
+		}
+
+		long millisecondsToCheck = (minutesReminderSend * 60 * 1000);
+
+		List<Appointment> points = appointmentDao
+				.getAppointmentsForAllUsersByTimeRangeStartingNow(
+						millisecondsToCheck, false);
+
+		if (points == null || points.size() < 1) {
+			log.debug("doScheduledMeetingReminder : no Appointments in range");
+			return;
+		}
+
+		Long language_id = Long.valueOf(
+				cfgManagement.getConfKey(3, "default_lang_id").getConf_value())
+				.longValue();
+
+		// Get the required labels one time for all meeting members. The
+		// Language of the email will be the system default language
+		String labelid1158 = fieldmanagment.getString(1158L, language_id);
+		Fieldlanguagesvalues labelid1153 = fieldmanagment
+				.getFieldByIdAndLanguage(new Long(1153), language_id);
+		Fieldlanguagesvalues labelid1154 = fieldmanagment
+				.getFieldByIdAndLanguage(new Long(1154), language_id);
+
+		for (int i = 0; i < points.size(); i++) {
+			Appointment ment = points.get(i);
+
+			// Prevent email from being send twice, even if the cycle takes
+			// very long to send each
+			if (ment.getIsReminderEmailSend() != null
+					&& ment.getIsReminderEmailSend()) {
+				continue;
+			}
+
+			// Checking ReminderType - only ReminderType simple mail is
+			// concerned!
+			if (ment.getRemind().getTypId() == 2
+					|| ment.getRemind().getTypId() == 3) {
+
+				// Update Appointment to not send invitation twice
+				ment.setIsReminderEmailSend(true);
+				appointmentDao.updateAppointment(ment);
+
+				List<MeetingMember> members = meetingMemberDao
+						.getMeetingMemberByAppointmentId(ment
+								.getAppointmentId());
+
+				if (members == null) {
+					log.debug("doScheduledMeetingReminder : no members in meeting!");
+					continue;
+				}
+
+				// Iterate through all MeetingMembers
+				for (MeetingMember mm : members) {
+
+					log.debug("doScheduledMeetingReminder : Member "
+							+ mm.getEmail());
+
+					Invitations inv = mm.getInvitation();
+
+					if (inv == null) {
+						log.error("Error retrieving Invitation for member "
+								+ mm.getEmail() + " in Appointment "
+								+ ment.getAppointmentName());
+						continue;
+					}
+
+					if (inv.getBaseUrl() == null
+							|| inv.getBaseUrl().length() < 1) {
+						log.error("Error retrieving baseUrl from Invitation ID : "
+								+ inv.getInvitations_id());
+						continue;
+					}
+
+					TimeZone tZone = null;
+
+					if (mm.getOmTimeZone() != null) {
+						tZone = timezoneUtil.getTimezoneByOmTimeZoneId(mm
+								.getOmTimeZone().getOmtimezoneId());
+					} else {
+						tZone = TimeZone.getDefault();
+					}
+
+					String subject = generateSubject(labelid1158, ment, tZone);
+
+					String message = generateMessage(labelid1158, ment,
+							language_id, labelid1153, labelid1154, tZone);
+
+					invitationManagement.sendInvitationReminderLink(message,
+							inv.getBaseUrl(), mm.getEmail(), subject,
+							inv.getHash());
+
+					inv.setUpdatetime(new Date());
+					invitationManagement.updateInvitation(inv);
+				}
+			}
+		}
+	}
+
+	private String generateSubject(String labelid1158,
+			Appointment ment, TimeZone timezone) {
+
+		String message = labelid1158 + " "
+				+ ment.getAppointmentName();
+
+		message += ' ' + CalendarPatterns
+				.getDateWithTimeByMiliSecondsAndTimeZone(
+						ment.getAppointmentStarttime(), timezone);
+
+		message += " - "
+				+ CalendarPatterns.getDateWithTimeByMiliSecondsAndTimeZone(
+						ment.getAppointmentEndtime(), timezone);
+
+		return message;
+
+	}
+
+	/**
+	 * Generate a localized message including the time and date of the meeting
+	 * event
+	 * 
+	 * @param labelid1158
+	 * @param ment
+	 * @param language_id
+	 * @param labelid1153
+	 * @param jNameTimeZone
+	 * @param labelid1154
+	 * @return
+	 */
+	private String generateMessage(String labelid1158,
+			Appointment ment, Long language_id,
+			Fieldlanguagesvalues labelid1153, Fieldlanguagesvalues labelid1154,
+			TimeZone timezone) {
+
+		String message = labelid1158 + " "
+				+ ment.getAppointmentName();
+
+		if (ment.getAppointmentDescription().length() != 0) {
+
+			Fieldlanguagesvalues labelid1152 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(1152), language_id);
+			message += labelid1152.getValue()
+					+ ment.getAppointmentDescription();
+
+		}
+
+		message += "<br/>"
+				+ labelid1153.getValue()
+				+ ' '
+				+ CalendarPatterns.getDateWithTimeByMiliSecondsAndTimeZone(
+						ment.getAppointmentStarttime(), timezone) + "<br/>";
+
+		message += labelid1154.getValue()
+				+ ' '
+				+ CalendarPatterns.getDateWithTimeByMiliSecondsAndTimeZone(
+						ment.getAppointmentEndtime(), timezone) + "<br/>";
+
+		return message;
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/calendar/management/MeetingMemberLogic.java b/src/org/openmeetings/app/data/calendar/management/MeetingMemberLogic.java
new file mode 100644
index 0000000..b1bd2d5
--- /dev/null
+++ b/src/org/openmeetings/app/data/calendar/management/MeetingMemberLogic.java
@@ -0,0 +1,404 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.calendar.management;
+
+import java.util.TimeZone;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Fieldmanagment;
+import org.openmeetings.app.data.calendar.daos.MeetingMemberDaoImpl;
+import org.openmeetings.app.data.conference.Invitationmanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
+import org.openmeetings.app.persistence.beans.calendar.Appointment;
+import org.openmeetings.app.persistence.beans.calendar.MeetingMember;
+import org.openmeetings.app.persistence.beans.invitation.Invitations;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.utils.math.CalendarPatterns;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class MeetingMemberLogic {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			MeetingMemberLogic.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private AppointmentLogic appointmentLogic;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private Fieldmanagment fieldmanagment;
+	@Autowired
+	private Invitationmanagement invitationManagement;
+	@Autowired
+	private MeetingMemberDaoImpl meetingMemberDao;
+
+	/**
+	 * This can be either an internal or an external user, internal users have a
+	 * user id != null && > 0
+	 * 
+	 * jNameInternalTimeZone is needed for the mapping of the timezones
+	 * available
+	 * 
+	 * @author obecherer,seba.wagner
+	 * @param firstname
+	 * @param lastname
+	 * @param memberStatus
+	 * @param appointmentStatus
+	 * @param appointmentId
+	 * @param userid
+	 * @param email
+	 * @param baseUrl
+	 * @param meeting_organizer
+	 * @param invitor
+	 * @param language_id
+	 * @param isPasswordProtected
+	 * @param password
+	 * @param timezone
+	 * @param jNameInternalTimeZone
+	 * @param invitorName
+	 *            can be different from the current firstname/lastname of course
+	 * @return
+	 */
+	public Long addMeetingMember(String firstname, String lastname,
+			String memberStatus, String appointmentStatus, Long appointmentId,
+			Long userid, String email, String baseUrl, Long meeting_organizer,
+			Boolean invitor, Long language_id, Boolean isPasswordProtected,
+			String password, TimeZone timezone, OmTimeZone omTimeZone,
+			String invitorName) {
+
+		try {
+			Long memberId = meetingMemberDao.addMeetingMember(firstname,
+					lastname, memberStatus, appointmentStatus, appointmentId,
+					userid, email, invitor, omTimeZone, false);
+
+			// DefaultInvitation
+			Appointment point = appointmentLogic
+					.getAppointMentById(appointmentId);
+
+			MeetingMember member = getMemberById(memberId);
+			Boolean isInvitor = member.getInvitor();
+
+			Long invitationId = null;
+
+			if (point.getRemind() == null) {
+				log.error("Appointment has no assigned ReminderType!");
+				return null;
+			}
+
+			log.debug(":::: addMeetingMember ..... "
+					+ point.getRemind().getTypId());
+
+			String subject = formatSubject(language_id, point, timezone);
+
+			String message = formatMessage(language_id, point, timezone,
+					invitorName);
+
+			// point.getRemind().getTypId() == 1 will not receive emails
+
+			if (point.getRemind().getTypId() == 2) {
+				log.debug("Invitation for Appointment : simple email");
+
+				Invitations invitation = invitationManagement
+						.addInvitationLink(
+								new Long(2), // userlevel
+								firstname + " " + lastname, // username
+								message,
+								baseUrl, // baseURl
+								email, // email
+								subject, // subject
+								point.getRoom().getRooms_id(), // room_id
+								"public",
+								isPasswordProtected, // passwordprotected
+								password, // invitationpass
+								2, // valid type
+								point.getAppointmentStarttime(), // valid from
+								point.getAppointmentEndtime(), // valid to
+								meeting_organizer, // created by
+								baseUrl,
+								language_id,
+								true, // really send mail sendMail
+								point.getAppointmentStarttime(),
+								point.getAppointmentEndtime(),
+								point.getAppointmentId(),
+								invitorName);
+
+				invitationId = invitation.getInvitations_id();
+
+			} else if (point.getRemind().getTypId() == 3) {
+				log.debug("Reminder for Appointment : iCal mail");
+
+				System.out.println("### SENDING iCAL EMAIL");
+
+				invitationId = invitationManagement
+						.addInvitationIcalLink(
+								new Long(2), // userlevel
+								firstname + " " + lastname, // username
+								message,
+								baseUrl, // baseURl
+								email, // email
+								subject, // subject
+								point.getRoom().getRooms_id(), // room_id
+								"public",
+								isPasswordProtected, // passwordprotected
+								password, // invitationpass
+								2, // valid
+								point.getAppointmentStarttime(), // valid from
+								point.getAppointmentEndtime(), // valid to
+								meeting_organizer, // created by
+								point.getAppointmentId(), isInvitor,
+								language_id, timezone,
+								point.getAppointmentId(),
+								invitorName);
+
+			}
+
+			// Setting InvitationId within MeetingMember
+
+			if (invitationId != null) {
+				Invitations invi = invitationManagement
+						.getInvitationbyId(invitationId);
+
+				member.setInvitation(invi);
+
+				updateMeetingMember(member);
+
+			}
+
+			return memberId;
+
+		} catch (Exception err) {
+			log.error("[addMeetingMember]", err);
+		}
+		return null;
+	}
+
+	private String formatSubject(Long language_id, Appointment point,
+			TimeZone timezone) {
+		try {
+			String message = fieldmanagment.getString(1151L, language_id) + " "
+					+ point.getAppointmentName();
+
+			message += " "
+					+ CalendarPatterns.getDateWithTimeByMiliSecondsAndTimeZone(
+							point.getAppointmentStarttime(), timezone);
+
+			message += " - "
+					+ CalendarPatterns.getDateWithTimeByMiliSecondsAndTimeZone(
+							point.getAppointmentEndtime(), timezone);
+
+			return message;
+		} catch (Exception err) {
+			log.error("Could not format Email message");
+			return "Error formatSubject";
+		}
+
+	}
+
+	private String formatMessage(Long language_id, Appointment point,
+			TimeZone timezone, String invitorName) {
+		try {
+			String message = fieldmanagment.getString(1151L, language_id) + " "
+					+ point.getAppointmentName();
+
+			if (point.getAppointmentDescription().length() != 0) {
+				message += fieldmanagment.getString(1152L, language_id)
+						+ point.getAppointmentDescription();
+			}
+
+			message += "<br/>"
+					+ fieldmanagment.getString(1153L, language_id)
+					+ ' '
+					+ CalendarPatterns.getDateWithTimeByMiliSecondsAndTimeZone(
+							point.getAppointmentStarttime(), timezone)
+					+ "<br/>";
+
+			message += fieldmanagment.getString(1154L, language_id)
+					+ ' '
+					+ CalendarPatterns.getDateWithTimeByMiliSecondsAndTimeZone(
+							point.getAppointmentEndtime(), timezone) + "<br/>";
+
+			message += fieldmanagment.getString(1156L, language_id) + invitorName + "<br/>";
+
+			return message;
+		} catch (Exception err) {
+			log.error("Could not format Email message");
+			return "Error formatMessage";
+		}
+
+	}
+
+	// ------------------------------------------------------------------------------------------------------------------------------
+
+	/**
+	 * 
+	 */
+	// ------------------------------------------------------------------------------------------------------------------------------
+	public Long updateMeetingMember(Long meetingMemberId, String firstname,
+			String lastname, String memberStatus, String appointmentStatus,
+			Long appointmentId, Long userid, String email) {
+
+		log.debug("MeetingMemberLogic.updateMeetingMember");
+
+		MeetingMember member = meetingMemberDao
+				.getMeetingMemberById(meetingMemberId);
+
+		if (member == null) {
+			log.error("Couldnt retrieve Member for ID " + meetingMemberId);
+			return null;
+		}
+
+		try {
+			return meetingMemberDao.updateMeetingMember(meetingMemberId,
+					firstname, lastname, memberStatus, appointmentStatus,
+					appointmentId, userid, email);
+		} catch (Exception err) {
+			log.error("[updateMeetingMember]", err);
+		}
+		return null;
+	}
+
+	// ------------------------------------------------------------------------------------------------------------------------------
+
+	/**
+	 * @author becherer
+	 * @param member
+	 * @return
+	 */
+	// --------------------------------------------------------------------------------------------
+	public Long updateMeetingMember(MeetingMember member) {
+		log.debug("updateMeetingMember");
+
+		return meetingMemberDao.updateMeetingMember(member)
+				.getMeetingMemberId();
+	}
+
+	// --------------------------------------------------------------------------------------------
+
+	/**
+	 * @author becherer
+	 * @param memberId
+	 */
+	// --------------------------------------------------------------------------------------------
+	public MeetingMember getMemberById(Long memberId) {
+		log.debug("getMemberById");
+
+		return meetingMemberDao.getMeetingMemberById(memberId);
+	}
+
+	// --------------------------------------------------------------------------------------------
+
+	/**
+	 * 
+	 * @param meetingMemberId
+	 * @param users_id
+	 * @return
+	 */
+	// --------------------------------------------------------------------------------------------
+	public Long deleteMeetingMember(Long meetingMemberId, Long users_id,
+			Long language_id) {
+		log.debug("meetingMemberLogic.deleteMeetingMember : " + meetingMemberId);
+
+		try {
+
+			MeetingMember member = meetingMemberDao
+					.getMeetingMemberById(meetingMemberId);
+
+			if (member == null) {
+				log.error("could not find meeting member!");
+				return null;
+			}
+
+			Appointment point = member.getAppointment();
+			point = appointmentLogic.getAppointMentById(point
+					.getAppointmentId());
+
+			if (point == null) {
+				log.error("could not retrieve appointment!");
+				return null;
+			}
+
+			Users user = userManagement.getUserById(users_id);
+
+			if (user == null) {
+				log.error("could not retrieve user!");
+				return null;
+			}
+
+			log.debug("before sending cancelMail");
+
+			// cancel invitation
+			invitationManagement.cancelInvitation(point, member, users_id,
+					language_id);
+
+			log.debug("after sending cancelmail");
+
+			Long returnValue = meetingMemberDao
+					.deleteMeetingMember(meetingMemberId);
+
+			return returnValue;
+
+		} catch (Exception err) {
+			log.error("[deleteMeetingMember]", err);
+		}
+		return null;
+	}
+	// --------------------------------------------------------------------------------------------
+
+	/*
+	 * public List<Appointment> getAppointmentByRange(Long userId ,Date
+	 * starttime, Date endtime){ try { return
+	 * AppointmentDaoImpl.getInstance().getAppointmentsByRange(userId,
+	 * starttime, endtime); }catch(Exception err){
+	 * log.error("[getAppointmentByRange]",err); } return null; } //next
+	 * appointment to current date public Appointment getNextAppointment(){ try{
+	 * return AppointmentDaoImpl.getInstance().getNextAppointment(new Date());
+	 * }catch(Exception err){ log.error("[getNextAppointmentById]",err); }
+	 * return null; }
+	 * 
+	 * public List<Appointment> searchAppointmentByName(String appointmentName){
+	 * try{ return
+	 * AppointmentDaoImpl.getInstance().searchAppointmentsByName(appointmentName
+	 * ) ; }catch(Exception err){ log.error("[searchAppointmentByName]",err); }
+	 * return null; }
+	 * 
+	 * 
+	 * 
+	 * public Long deleteAppointment(Long appointmentId){ try{
+	 * AppointmentDaoImpl.getInstance().deleteAppointement(appointmentId);
+	 * return appointmentId; }catch(Exception err){
+	 * log.error("[deleteAppointment]",err); } return null;
+	 * 
+	 * }
+	 * 
+	 * public Long updateAppointment(Long appointmentId, String
+	 * appointmentName,Long userId, String appointmentDescription, Date
+	 * appointmentstart, Date appointmentend, Boolean isDaily, Boolean isWeekly,
+	 * Boolean isMonthly, Boolean isYearly, Long categoryId ){
+	 * 
+	 * try { return
+	 * AppointmentDaoImpl.getInstance().updateAppointment(appointmentId,
+	 * appointmentName, userId, appointmentDescription, appointmentstart,
+	 * appointmentend, isDaily, isWeekly, isMonthly, isYearly, categoryId); }
+	 * catch (Exception err) { log.error("[updateAppointment]",err); } return
+	 * null; }
+	 */
+}
diff --git a/src/org/openmeetings/app/data/conference/Feedbackmanagement.java b/src/org/openmeetings/app/data/conference/Feedbackmanagement.java
new file mode 100644
index 0000000..6affd8d
--- /dev/null
+++ b/src/org/openmeetings/app/data/conference/Feedbackmanagement.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.conference;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.Fieldmanagment;
+import org.openmeetings.app.templates.FeedbackTemplate;
+import org.openmeetings.utils.mail.MailHandler;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class Feedbackmanagement {
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			Feedbackmanagement.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private Configurationmanagement cfgManagement;
+	@Autowired
+	private Fieldmanagment fieldmanagment;
+	@Autowired
+	private MailHandler mailHandler;
+	@Autowired
+	private FeedbackTemplate feedbackTemplate;
+
+	public String sendFeedback(String username, String email, String message) {
+		try {
+			Long default_lang_id = cfgManagement.getConfValue("default_lang_id", Long.class, "1");
+
+			String template = feedbackTemplate.getFeedBackTemplate(username,
+					email, message, default_lang_id);
+
+			return mailHandler.sendMail("openmeetings-user@googlegroups.com",
+					fieldmanagment.getString(499L, default_lang_id), template);
+
+		} catch (Exception err) {
+			log.error("sendInvitationLink", err);
+		}
+		return null;
+	}
+}
diff --git a/src/org/openmeetings/app/data/conference/Invitationmanagement.java b/src/org/openmeetings/app/data/conference/Invitationmanagement.java
new file mode 100644
index 0000000..918e6b1
--- /dev/null
+++ b/src/org/openmeetings/app/data/conference/Invitationmanagement.java
@@ -0,0 +1,1159 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.conference;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.TimeZone;
+import java.util.Vector;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.Fieldmanagment;
+import org.openmeetings.app.data.calendar.daos.AppointmentDaoImpl;
+import org.openmeetings.app.data.calendar.management.AppointmentLogic;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.calendar.Appointment;
+import org.openmeetings.app.persistence.beans.calendar.MeetingMember;
+import org.openmeetings.app.persistence.beans.invitation.Invitations;
+import org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.app.templates.InvitationTemplate;
+import org.openmeetings.utils.crypt.MD5;
+import org.openmeetings.utils.crypt.ManageCryptStyle;
+import org.openmeetings.utils.mail.IcalHandler;
+import org.openmeetings.utils.mail.MailHandler;
+import org.openmeetings.utils.mail.MailiCalThread;
+import org.openmeetings.utils.math.CalendarPatterns;
+import org.openmeetings.utils.math.TimezoneUtil;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 
+ * @author swagner
+ * 
+ */
+@Transactional
+public class Invitationmanagement {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			Invitationmanagement.class, OpenmeetingsVariables.webAppRootKey);
+
+	@PersistenceContext
+	private EntityManager em;
+	@Autowired
+	private AppointmentLogic appointmentLogic;
+	@Autowired
+	private Configurationmanagement cfgManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private Fieldmanagment fieldmanagment;
+	@Autowired
+	private ManageCryptStyle manageCryptStyle;
+	@Autowired
+	private Roommanagement roommanagement;
+	@Autowired
+	private UsersDaoImpl usersDao;
+	@Autowired
+	private MailHandler mailHandler;
+	@Autowired
+	private MailiCalThread mailiCalThread;
+	@Autowired
+	private InvitationTemplate invitationTemplate;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+	@Autowired
+	private TimezoneUtil timezoneUtil;
+	@Autowired
+	private AppointmentDaoImpl appointmentDaoImpl;
+
+	/**
+	 * Sending invitation within plain mail
+	 * 
+	 * @param user_level
+	 * @param username
+	 * @param message
+	 * @param baseurl
+	 * @param email
+	 * @param subject
+	 * @param rooms_id
+	 * @param conferencedomain
+	 * @param isPasswordProtected
+	 * @param invitationpass
+	 * @param valid
+	 * @param validFrom
+	 * @param validTo
+	 * @param createdBy
+	 * @return
+	 */
+	// ---------------------------------------------------------------------------------------------------------
+	public Invitations addInvitationLink(Long user_level, String username,
+			String message, String baseurl, String email, String subject,
+			Long rooms_id, String conferencedomain,
+			Boolean isPasswordProtected, String invitationpass, Integer valid,
+			Date validFrom, Date validTo, Long createdBy, String baseUrl,
+			Long language_id, Boolean sendMail, Date gmtTimeStart,
+			Date gmtTimeEnd, Long appointmentId, String fromUserField) {
+		try {
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				Invitations invitation = new Invitations();
+				invitation.setIsPasswordProtected(isPasswordProtected);
+				if (isPasswordProtected) {
+					invitation.setInvitationpass(manageCryptStyle
+							.getInstanceOfCrypt().createPassPhrase(
+									invitationpass));
+				}
+
+				invitation.setInvitationWasUsed(false);
+				log.debug(baseUrl);
+				invitation.setBaseUrl(baseUrl);
+
+				// valid period of Invitation
+				if (valid == 1) {
+					// endless
+					invitation.setIsValidByTime(false);
+					invitation.setCanBeUsedOnlyOneTime(false);
+				} else if (valid == 2) {
+					// period
+					invitation.setIsValidByTime(true);
+					invitation.setCanBeUsedOnlyOneTime(false);
+
+					Date gmtTimeStartShifted = new Date(gmtTimeStart.getTime()
+							- (5 * 60 * 1000));
+
+					invitation.setValidFrom(gmtTimeStartShifted);
+					invitation.setValidTo(gmtTimeEnd);
+
+					// invitation.setValidFrom(validFrom);
+					// invitation.setValidTo(validTo);
+				} else {
+					// one-time
+					invitation.setIsValidByTime(false);
+					invitation.setCanBeUsedOnlyOneTime(true);
+					invitation.setInvitationWasUsed(false);
+				}
+
+				invitation.setDeleted("false");
+
+				Users us = usersDao.getUser(createdBy);
+				String hashRaw = "HASH" + (System.currentTimeMillis());
+				invitation.setHash(MD5.do_checksum(hashRaw));
+
+				invitation.setInvitedBy(us);
+				invitation.setInvitedname(username);
+				invitation.setInvitedEMail(email);
+				invitation.setRoom(roommanagement.getRoomById(rooms_id));
+				invitation.setConferencedomain(conferencedomain);
+				invitation.setStarttime(new Date());
+				invitation.setAppointmentId(appointmentId);
+
+				invitation = em.merge(invitation);
+				long invitationId = invitation.getInvitations_id();
+
+				invitation.setInvitations_id(invitationId);
+
+				if (invitationId > 0) {
+
+					if (sendMail) {
+						this.sendInvitionLink(us.getAdresses().getEmail(), 
+								username, message, baseurl,
+								email, subject, invitation.getHash(),
+								validFrom, validTo, language_id, fromUserField);
+					}
+
+					return invitation;
+				}
+
+			}
+		} catch (Exception err) {
+			log.error("addInvitationLink", err);
+		}
+		return null;
+	}
+
+	// ----------------------------------------------------------------------------------------------------------------
+
+	/**
+	 * @author becherer
+	 * @param ment
+	 * @param member
+	 */
+	// -----------------------------------------------------------------------------------------------
+	public void cancelInvitation(Appointment appointment, MeetingMember member,
+			Long canceling_user_id, Long language_id) {
+
+		log.debug("cancelInvitation");
+
+		Users user;
+
+		try {
+			user = userManagement.getUserById(canceling_user_id);
+		} catch (Exception e) {
+			log.error("cancelInvitation Cancelling user cant be retrieved");
+			return;
+		}
+
+		if (appointment.getRemind() == null) {
+			log.error("Appointment " + appointment.getAppointmentName()
+					+ " has no ReminderType!");
+			return;
+		}
+
+		Users us = member.getUserid();
+		TimeZone timezone = null;
+		// external users have no user object stored so we will need to get the
+		// timezone from the stored string
+		if (us != null) {
+			timezone = timezoneUtil.getTimezoneByUser(us);
+		} else {
+			timezone = timezoneUtil.getTimezoneByInternalJName(member
+					.getOmTimeZone().getJname());
+		}
+
+		String subject = formatCancelSubject(language_id, appointment, user,
+				timezone);
+		String message = formatCancelMessage(language_id, appointment, user,
+				timezone);
+
+		// checking reminderType
+		if (appointment.getRemind().getTypId() == 1) {
+			log.debug("no remindertype defined -> no cancel of invitation");
+		} else if (appointment.getRemind().getTypId() == 2) {
+			log.debug("ReminderType simple mail -> sending simple mail...");
+			sendInvitationCancelMail(member.getEmail(),
+					member.getAppointment(), user.getAdresses().getEmail(),
+					subject, message);
+		} else if (appointment.getRemind().getTypId() == 3) {
+			try {
+				sendInvitationIcalCancelMail(member.getEmail(),
+						member.getFirstname() + " " + member.getLastname(),
+						appointment, canceling_user_id, member.getInvitor(),
+						appointment.getAppointmentStarttime(),
+						appointment.getAppointmentEndtime(), timezone, subject,
+						message);
+			} catch (Exception e) {
+				log.error("Error sending IcalCancelMail for User "
+						+ member.getEmail() + " : " + e.getMessage());
+			}
+		}
+
+		// Deleting invitation, if exists
+		Invitations inv = member.getInvitation();
+
+		if (inv != null) {
+			inv.setDeleted("true");
+			updateInvitation(inv);
+		}
+
+	}
+
+	private String formatCancelSubject(Long language_id,
+			Appointment appointment, Users user, TimeZone timezone) {
+		try {
+			String message = fieldmanagment.getString(1157L, language_id)
+					+ appointment.getAppointmentName();
+
+			message += " "
+					+ CalendarPatterns.getDateWithTimeByMiliSecondsAndTimeZone(
+							appointment.getAppointmentStarttime(), timezone)
+					+ " - "
+					+ CalendarPatterns.getDateWithTimeByMiliSecondsAndTimeZone(
+							appointment.getAppointmentEndtime(), timezone);
+
+			return message;
+		} catch (Exception err) {
+			log.error("Could not format cancel message");
+			return "Error formatCancelMessage";
+		}
+	}
+
+	private String formatCancelMessage(Long language_id,
+			Appointment appointment, Users user, TimeZone timezone) {
+		try {
+			String message = fieldmanagment.getString(1157L, language_id)
+					+ appointment.getAppointmentName();
+
+			if (appointment.getAppointmentDescription().length() != 0) {
+
+				Fieldlanguagesvalues labelid1152 = fieldmanagment
+						.getFieldByIdAndLanguage(new Long(1152), language_id);
+				message += labelid1152.getValue()
+						+ appointment.getAppointmentDescription();
+
+			}
+
+			Fieldlanguagesvalues labelid1153 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(1153), language_id);
+			Fieldlanguagesvalues labelid1154 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(1154), language_id);
+
+			message += "<br/>"
+					+ labelid1153.getValue()
+					+ ' '
+					+ CalendarPatterns.getDateWithTimeByMiliSecondsAndTimeZone(
+							appointment.getAppointmentStarttime(), timezone)
+					+ "<br/>";
+
+			message += labelid1154.getValue()
+					+ ' '
+					+ CalendarPatterns.getDateWithTimeByMiliSecondsAndTimeZone(
+							appointment.getAppointmentEndtime(), timezone)
+					+ "<br/>";
+
+			String invitorName = user.getFirstname() + " " + user.getLastname()
+					+ " [" + user.getAdresses().getEmail() + "]";
+
+			Fieldlanguagesvalues labelid1156 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(1156), language_id);
+			message += labelid1156.getValue() + invitorName + "<br/>";
+
+			return message;
+		} catch (Exception err) {
+			log.error("Could not format cancel message");
+			return "Error formatCancelMessage";
+		}
+	}
+
+	// -----------------------------------------------------------------------------------------------
+
+	/**
+	 * @author becherer, seba.wagner
+	 * @param ment
+	 * @param member
+	 */
+	// -----------------------------------------------------------------------------------------------
+	public void updateInvitation(Appointment appointment, MeetingMember member,
+			Long canceling_user_id, Long language_id, String invitorName) {
+
+		log.debug("updateInvitation");
+
+		Users user = userManagement.getUserById(canceling_user_id);
+		if (user == null) {
+			log.error("Cancelling user cant be retrieved");
+			return;
+		}
+
+		if (appointment.getRemind() == null) {
+			log.error("Appointment " + appointment.getAppointmentName()
+					+ " has no ReminderType!");
+			return;
+		}
+
+		log.debug("Remindertype : " + appointment.getRemind().getTypId());
+
+		Users us = member.getUserid();
+		TimeZone timezone = null;
+		// external users have no user object stored so we will need to get the
+		// timezone from the stored string
+		if (us != null) {
+			timezone = timezoneUtil.getTimezoneByUser(us);
+		} else {
+			timezone = timezoneUtil.getTimezoneByInternalJName(member
+					.getOmTimeZone().getJname());
+		}
+
+		// Get text messages
+		String subject = formatUpdateSubject(language_id, appointment, user,
+				timezone);
+
+		String message = formatUpdateMessage(language_id, appointment, user,
+				timezone, invitorName);
+
+		// checking reminderType and send emails, reminder type 1 receives
+		// nothing
+		if (appointment.getRemind().getTypId() == 2) {
+			sendInvitationUpdateMail(member.getEmail(), appointment, user
+					.getAdresses().getEmail(), subject, message);
+		} else if (appointment.getRemind().getTypId() == 3) {
+			try {
+				sendInvitationIcalUpdateMail(member.getEmail(),
+						member.getFirstname() + " " + member.getLastname(),
+						appointment, canceling_user_id, member.getInvitor(),
+						language_id, appointment.getAppointmentStarttime(),
+						appointment.getAppointmentEndtime(), timezone, subject,
+						message);
+			} catch (Exception e) {
+				log.error("Error sending IcalUpdateMail for User "
+						+ member.getEmail() + " : " + e.getMessage());
+			}
+		}
+
+	}
+
+	private String formatUpdateSubject(Long language_id,
+			Appointment appointment, Users user, TimeZone timezone) {
+		try {
+
+			String message = fieldmanagment.getString(1155L, language_id) + " "
+					+ appointment.getAppointmentName();
+
+			if (appointment.getAppointmentDescription().length() != 0) {
+
+				Fieldlanguagesvalues labelid1152 = fieldmanagment
+						.getFieldByIdAndLanguage(new Long(1152), language_id);
+				message += labelid1152.getValue()
+						+ appointment.getAppointmentDescription();
+
+			}
+
+			message += " "
+					+ CalendarPatterns.getDateWithTimeByMiliSecondsAndTimeZone(
+							appointment.getAppointmentStarttime(), timezone)
+					+ " - "
+					+ CalendarPatterns.getDateWithTimeByMiliSecondsAndTimeZone(
+							appointment.getAppointmentEndtime(), timezone);
+
+			return message;
+
+		} catch (Exception err) {
+			log.error("Could not format update subject");
+			return "Error formatUpdateSubject";
+		}
+	}
+
+	private String formatUpdateMessage(Long language_id,
+			Appointment appointment, Users user, TimeZone timezone,
+			String invitorName) {
+		try {
+
+			String message = fieldmanagment.getString(1155L, language_id) + " "
+					+ appointment.getAppointmentName();
+
+			if (appointment.getAppointmentDescription().length() != 0) {
+
+				Fieldlanguagesvalues labelid1152 = fieldmanagment
+						.getFieldByIdAndLanguage(new Long(1152), language_id);
+				message += labelid1152.getValue()
+						+ appointment.getAppointmentDescription();
+
+			}
+
+			Fieldlanguagesvalues labelid1153 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(1153), language_id);
+			Fieldlanguagesvalues labelid1154 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(1154), language_id);
+
+			message += "<br/>"
+					+ labelid1153.getValue()
+					+ ' '
+					+ CalendarPatterns.getDateWithTimeByMiliSecondsAndTimeZone(
+							appointment.getAppointmentStarttime(), timezone)
+					+ "<br/>";
+
+			message += labelid1154.getValue()
+					+ ' '
+					+ CalendarPatterns.getDateWithTimeByMiliSecondsAndTimeZone(
+							appointment.getAppointmentEndtime(), timezone)
+					+ "<br/>";
+
+			Fieldlanguagesvalues labelid1156 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(1156), language_id);
+			message += labelid1156.getValue() + invitorName + "<br/>";
+
+			return message;
+
+		} catch (Exception err) {
+			log.error("Could not format update message");
+			return "Error formatUpdateMessage";
+		}
+	}
+
+	// -----------------------------------------------------------------------------------------------
+
+	/**
+	 * @author o.becherer
+	 * @param user_level
+	 * @param username
+	 * @param message
+	 * @param baseurl
+	 * @param email
+	 * @param subject
+	 * @param rooms_id
+	 * @param conferencedomain
+	 * @param isPasswordProtected
+	 * @param invitationpass
+	 * @param valid
+	 * @param validFrom
+	 * @param validTo
+	 * @param createdBy
+	 * @return
+	 */
+	// ---------------------------------------------------------------------------------------------------------
+	public Long addInvitationIcalLink(Long user_level, String username,
+			String message, String baseurl, String email, String subject,
+			Long rooms_id, String conferencedomain,
+			Boolean isPasswordProtected, String invitationpass, Integer valid,
+			Date validFrom, Date validTo, Long createdBy, Long appointMentId,
+			Boolean invitor, Long language_id, TimeZone timezone,
+			Long appointmentId, String fromUserField) {
+		log.debug("addInvitationIcalLink");
+
+		try {
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				Invitations invitation = new Invitations();
+				invitation.setIsPasswordProtected(isPasswordProtected);
+				if (isPasswordProtected) {
+					invitation.setInvitationpass(manageCryptStyle
+							.getInstanceOfCrypt().createPassPhrase(
+									invitationpass));
+				}
+
+				invitation.setInvitationWasUsed(false);
+
+				// valid period of Invitation
+				if (valid == 1) {
+					// endless
+					invitation.setIsValidByTime(false);
+					invitation.setCanBeUsedOnlyOneTime(false);
+				} else if (valid == 2) {
+					// period
+					invitation.setIsValidByTime(true);
+					invitation.setCanBeUsedOnlyOneTime(false);
+					invitation.setValidFrom(validFrom);
+					invitation.setValidTo(validTo);
+				} else {
+					// one-time
+					invitation.setIsValidByTime(false);
+					invitation.setCanBeUsedOnlyOneTime(true);
+					invitation.setInvitationWasUsed(false);
+				}
+
+				invitation.setDeleted("false");
+
+				Users us = usersDao.getUser(createdBy);
+				String hashRaw = "InvitationHash"
+						+ (System.currentTimeMillis());
+				log.debug("addInvitationIcalLink : rawHash = " + hashRaw);
+				invitation.setHash(MD5.do_checksum(hashRaw));
+
+				invitation.setInvitedBy(us);
+				invitation.setBaseUrl(baseurl);
+				invitation.setInvitedname(username);
+				invitation.setInvitedEMail(email);
+				invitation.setRoom(roommanagement.getRoomById(rooms_id));
+				invitation.setConferencedomain(conferencedomain);
+				invitation.setStarttime(new Date());
+				invitation.setAppointmentId(appointmentId);
+
+				invitation = em.merge(invitation);
+				long invitationId = invitation.getInvitations_id();
+
+				if (invitationId > 0) {
+					this.sendInvitionIcalLink(username, message, baseurl,
+							email, subject, invitation.getHash(),
+							appointMentId, createdBy, invitor, language_id,
+							validFrom, validTo, timezone, fromUserField);
+					return invitationId;
+				}
+			}
+		} catch (Exception err) {
+			log.error("addInvitationIcalLink", err);
+		}
+		return null;
+	}
+
+	// ---------------------------------------------------------------------------------------------------------
+
+	/**
+     * @param username
+     * @param message
+     * @param baseurl
+     * @param email
+     * @param replyTo
+     * @param subject
+     * @param invitationsHash
+     * @param dStart
+     * @param dEnd
+	 * @param language_id   If it is >0 then "&language=" is added to the link
+	 */
+	private String sendInvitionLink(String replyTo, String username, String message,
+			String baseurl, String email, String subject,
+			String invitationsHash, Date dStart, Date dEnd, Long language_id, String fromUserField) {
+		try {
+
+			String invitation_link = baseurl + "?invitationHash="
+					+ invitationsHash;
+
+            if (language_id > 0) {
+                invitation_link += "&language=" + language_id.toString();
+            }
+
+			// Long default_lang_id = Long.valueOf(cfgManagement.
+			// getConfKey(3,"default_lang_id").getConf_value()).longValue();
+
+			String template = invitationTemplate.getRegisterInvitationTemplate(
+					fromUserField, message, invitation_link, language_id, dStart,
+					dEnd);
+
+			return mailHandler.sendMail(email, replyTo, subject, template);
+
+		} catch (Exception err) {
+			log.error("sendInvitationLink", err);
+		}
+		return null;
+	}
+
+	/**
+	 * @author o.becherer
+	 * @param userName
+	 * @param message
+	 * @param baseUrl
+	 * @param email
+	 * @param subject
+	 * @param invitationHash
+	 * @return
+	 */
+	// ----------------------------------------------------------------------------------------------------
+	public String sendInvitationReminderLink(String message, String baseUrl,
+			String email, String subject, String invitationHash) {
+		log.debug("sendInvitationReminderLink");
+
+		try {
+			String invitation_link = baseUrl + "?invitationHash="
+					+ invitationHash;
+
+			message += "<br/>";
+			message += "<a href='" + invitation_link
+					+ "'>Click here to enter room</a>";
+
+			return mailHandler.sendMail(email, subject, message);
+		} catch (Exception e) {
+			log.error("sendInvitationReminderLink", e);
+		}
+
+		return null;
+	}
+
+	// ----------------------------------------------------------------------------------------------------
+
+	/**
+	 * 
+	 * @param email
+	 * @param point
+	 * @param cancelling_person
+	 * @return
+	 */
+	// --------------------------------------------------------------------------------------------------------------
+	private String sendInvitationCancelMail(String email, Appointment point,
+			String cancelling_person, String subject, String message) {
+		log.debug("sendInvitationCancelmail");
+		try {
+			return mailHandler.sendMail(email, subject, message);
+		} catch (Exception e) {
+			log.error("sendInvitationCancelmail : " + e.getMessage());
+		}
+
+		return null;
+	}
+
+	// --------------------------------------------------------------------------------------------------------------
+
+	/**
+	 * 
+	 * @param email
+	 * @param point
+	 * @param replyTo
+	 * @param subject
+	 * @param mesage
+	 * @return
+	 */
+	// --------------------------------------------------------------------------------------------------------------
+	private String sendInvitationUpdateMail(String email, Appointment point,
+			String replyTo, String subject, String message) {
+		log.debug("sendInvitationUpdateMail");
+		try {
+			return mailHandler.sendMail(email, replyTo, subject, message);
+		} catch (Exception e) {
+			log.error("sendInvitationUpdateMail : " + e.getMessage());
+		}
+
+		return null;
+	}
+
+	// --------------------------------------------------------------------------------------------------------------
+
+	/**
+	 * 
+	 * @param email
+	 * @param point
+	 * @param cancelling_person
+	 * @return
+	 */
+	// --------------------------------------------------------------------------------------------------------------
+	private String sendInvitationIcalCancelMail(String email, String userName,
+			Appointment point, Long organizer_userId, Boolean invitor,
+			Date startdate, Date enddate, TimeZone timezone, String subject,
+			String message) throws Exception {
+		log.debug("sendInvitationIcalCancelMail");
+
+		// Defining Organizer
+		Users user = userManagement.getUserById(organizer_userId);
+
+		// TODO: Check time zone handling in iCal Mail
+		// OmTimeZone omTimeZone =
+		// omTimeZoneDaoImpl.getOmTimeZone(jNameTimeZone);
+
+		IcalHandler handler = new IcalHandler(IcalHandler.ICAL_METHOD_CANCEL);
+
+		// refresh appointment
+		point = appointmentLogic.getAppointMentById(point.getAppointmentId());
+
+		// Transforming Meeting Members
+
+		HashMap<String, String> attendeeInDerHashMap = handler.getAttendeeData(
+				email, userName, invitor);
+
+		Vector<HashMap<String, String>> atts = new Vector<HashMap<String, String>>();
+		atts.add(attendeeInDerHashMap);
+
+		HashMap<String, String> attendeeList = handler.getAttendeeData(user
+				.getAdresses().getEmail(), user.getLogin(), invitor);
+
+		handler.addNewMeeting(startdate, enddate, 
+				point.getAppointmentName(), atts,
+				subject, attendeeList, point.getIcalId(), timezone);
+
+		log.debug(handler.getICalDataAsString());
+
+		mailiCalThread.doSend(email, user.getAdresses().getEmail(), subject, handler.getIcalAsByteArray(),
+				message);
+
+		return null;
+	}
+
+	// --------------------------------------------------------------------------------------------------------------
+
+	/**
+	 * 
+	 * @param email
+	 * @param point
+	 * @param cancelling_person
+	 * @return
+	 */
+	// --------------------------------------------------------------------------------------------------------------
+	private String sendInvitationIcalUpdateMail(String email, String userName,
+			Appointment point, Long organizer_userId, Boolean invitor,
+			Long language_id, Date starttime, Date endtime, TimeZone timeZone,
+			String subject, String message) throws Exception {
+		log.debug("sendInvitationIcalUpdateMail");
+
+		// Defining Organizer
+		Users user = userManagement.getUserById(organizer_userId);
+
+		IcalHandler handler = new IcalHandler(IcalHandler.ICAL_METHOD_REQUEST);
+
+		// refresh appointment
+		point = appointmentLogic.getAppointMentById(point.getAppointmentId());
+
+		// Transforming Meeting Members
+
+		HashMap<String, String> attendeeInDerHashMap = handler.getAttendeeData(
+				email, userName, invitor);
+
+		Vector<HashMap<String, String>> atts = new Vector<HashMap<String, String>>();
+		atts.add(attendeeInDerHashMap);
+
+		HashMap<String, String> attendeeList = handler.getAttendeeData(user
+				.getAdresses().getEmail(), user.getLogin(), invitor);
+
+		handler.addNewMeeting(starttime, endtime, point.getAppointmentName(), atts,
+				subject, attendeeList, point.getIcalId(), timeZone);
+
+		log.debug(handler.getICalDataAsString());
+
+		mailiCalThread.doSend(email, user.getAdresses().getEmail(), subject, handler.getIcalAsByteArray(),
+				message);
+
+		return null;
+	}
+
+	// --------------------------------------------------------------------------------------------------------------
+
+	/**
+	 * 
+	 * @param username
+	 * @param message
+	 * @param baseurl
+	 * @param email
+	 * @param subject
+	 * @param invitationsHash
+	 * @param appointMentId
+     * @param organizer_userId
+     * @param invitor
+     * @param language_id   If it is >0 then "&language=" is added to the link
+     * @param starttime
+     * @param endtime
+     * @param timezone
+	 * @return
+	 */
+	public String sendInvitionIcalLink(String username, String message,
+			String baseurl, String email, String subject,
+			String invitationsHash, Long appointMentId, Long organizer_userId,
+			Boolean invitor, Long language_id, Date starttime, Date endtime,
+			TimeZone timezone, String fromUserField) {
+		try {
+
+			String invitation_link = baseurl + "?invitationHash="
+					+ invitationsHash;
+
+            if (language_id > 0) {
+                invitation_link += "&language=" + language_id.toString();
+            }
+
+			// Long default_lang_id = Long.valueOf(cfgManagement.
+			// getConfKey(3,"default_lang_id").getConf_value()).longValue();
+			String template = invitationTemplate.getRegisterInvitationTemplate(
+					fromUserField, message, invitation_link, language_id, starttime,
+					endtime);
+
+			IcalHandler handler = new IcalHandler(
+					IcalHandler.ICAL_METHOD_REQUEST);
+
+			Appointment point = appointmentLogic
+					.getAppointMentById(appointMentId);
+
+			// Transforming Meeting Members
+
+			HashMap<String, String> attendeeList = handler.getAttendeeData(
+					email, username, invitor);
+
+			Vector<HashMap<String, String>> atts = new Vector<HashMap<String, String>>();
+			atts.add(attendeeList);
+
+			// Defining Organizer
+			Users user = userManagement.getUserById(organizer_userId);
+
+			HashMap<String, String> organizerAttendee = handler
+					.getAttendeeData(email, username, invitor);
+			String replyToEmail = null;
+			if (user != null) {
+				replyToEmail = user.getAdresses().getEmail();
+				organizerAttendee = handler.getAttendeeData(replyToEmail, user.getLogin(), invitor);
+			}
+
+			// Create ICal Message
+			String meetingId = handler.addNewMeeting(starttime, endtime,
+					point.getAppointmentName(), atts, invitation_link,
+					organizerAttendee, point.getIcalId(), timezone);
+
+			// Writing back meetingUid
+			if (point.getIcalId() == null || point.getIcalId().length() < 1) {
+				point.setIcalId(meetingId);
+
+				appointmentDaoImpl.updateAppointment(point);
+			}
+
+			log.debug(handler.getICalDataAsString());
+
+			mailiCalThread.doSend(email, replyToEmail, subject, handler.getIcalAsByteArray(),
+					template);
+
+			return "success";
+			// return MailHandler.sendMail(email, subject, template);
+
+		} catch (Exception err) {
+			log.error("sendInvitionIcalLink", err);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param user_level
+	 * @param username
+	 * @param message
+	 * @param domain
+	 * @param room
+	 * @param roomtype
+	 * @param baseurl
+	 * @param email
+	 * @param subject
+	 * @param room_id
+	 * @return
+	 */
+	public String sendInvitionLink(Long user_level, String username,
+			String message, String domain, String room, String roomtype,
+			String baseurl, String email, String replyTo, String subject, Long room_id,
+			Date starttime, Date endtime) {
+		try {
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				String invitation_link = baseurl
+						+ "?lzproxied=solo&lzr=swf8&lzt=swf&domain=" + domain
+						+ "&room=" + room + "&roomtype=" + roomtype + "&email="
+						+ email + "&roomid=" + room_id;
+
+				Long default_lang_id = Long.valueOf(
+						cfgManagement.getConfKey(3, "default_lang_id")
+								.getConf_value()).longValue();
+
+				String template = invitationTemplate
+						.getRegisterInvitationTemplate(username, message,
+								invitation_link, default_lang_id, starttime,
+								endtime);
+
+				return mailHandler.sendMail(email, replyTo, subject, template);
+
+			}
+		} catch (Exception err) {
+			log.error("sendInvitationLink", err);
+		}
+		return null;
+	}
+
+	/**
+	 * @author becherer
+	 * @param invId
+	 * 
+	 */
+	public Invitations getInvitationbyId(Long invId) {
+		log.debug("getInvitationbyId");
+
+		try {
+			String hql = "select invi from Invitations invi "
+					+ "WHERE invi.deleted <> :deleted "
+					+ "AND invi.invitations_id = :invid";
+
+			TypedQuery<Invitations> query = em.createQuery(hql, Invitations.class);
+			query.setParameter("deleted", "true");
+			query.setParameter("invid", invId);
+
+			Invitations inv = null;
+			try {
+				inv = query.getSingleResult();
+			} catch (NoResultException ex) {
+			}
+
+			return inv;
+		} catch (Exception e) {
+			log.error("getInvitationsbyId : ", e);
+			return null;
+		}
+	}
+
+	public Invitations getInvitationbyAppointementId(Long invId) {
+		log.debug("getInvitationbyId");
+
+		try {
+			String hql = "select invi from Invitations invi "
+					+ "WHERE invi.deleted <> :deleted "
+					+ "AND invi.invitations_id = :invid";
+
+			TypedQuery<Invitations> query = em.createQuery(hql, Invitations.class);
+			query.setParameter("deleted", "true");
+			query.setParameter("invid", invId);
+
+			Invitations inv = null;
+			try {
+				inv = query.getSingleResult();
+			} catch (NoResultException ex) {
+			}
+
+			return inv;
+		} catch (Exception e) {
+			log.error("getInvitationsbyId : ", e);
+			return null;
+		}
+	}
+
+	/**
+	 * 
+	 * @param hashCode
+	 * @param hidePass
+	 * @return
+	 */
+	public Object getInvitationByHashCode(String hashCode, boolean hidePass) {
+		try {
+			String hql = "select c from Invitations as c "
+					+ "where c.hash LIKE :hashCode "
+					+ "AND c.deleted = :deleted";
+			TypedQuery<Invitations> query = em.createQuery(hql, Invitations.class);
+			query.setParameter("hashCode", hashCode);
+			query.setParameter("deleted", "false");
+			Invitations invitation = null;
+			try {
+				invitation = query.getSingleResult();
+			} catch (NoResultException ex) {
+			}
+
+			if (invitation == null) {
+				// already deleted or does not exist
+				return new Long(-31);
+			} else {
+				if (invitation.getCanBeUsedOnlyOneTime()) {
+
+					// do this only if the user tries to get the Invitation, not
+					// while checking the PWD
+					if (hidePass) {
+						// one-time invitation
+						if (invitation.getInvitationWasUsed()) {
+							// Invitation is of type *only-one-time* and was
+							// already used
+							return new Long(-32);
+						} else {
+							// set to true if this is the first time / a normal
+							// getInvitation-Query
+							invitation.setInvitationWasUsed(true);
+							this.updateInvitation(invitation);
+							// invitation.setInvitationpass(null);
+							invitation.setAllowEntry(true);
+							return invitation;
+						}
+					} else {
+						invitation.setAllowEntry(true);
+						return invitation;
+					}
+
+				} else if (invitation.getIsValidByTime()) {
+
+					Calendar now = Calendar.getInstance();
+
+					if (invitation.getValidFrom().getTime() <= now.getTime()
+							.getTime()
+							&& invitation.getValidTo().getTime() >= now
+									.getTime().getTime()) {
+						this.updateInvitation(invitation);
+						// invitation.setInvitationpass(null);
+						invitation.setAllowEntry(true);
+						return invitation;
+					} else {
+
+						// Invitation is of type *period* and is not valid
+						// anymore, this is an extra hook to display the time
+						// correctly
+						// in the method where it shows that the hash code does
+						// not work anymore
+						invitation.setAllowEntry(false);
+
+						return invitation;
+					}
+				} else {
+					// Invitation is not limited, neither time nor single-usage
+					this.updateInvitation(invitation);
+
+					invitation.setAllowEntry(true);
+					// invitation.setInvitationpass(null);
+					return invitation;
+				}
+			}
+
+		} catch (Exception err) {
+			log.error("[getInvitationByHashCode]", err);
+		}
+		return new Long(-1);
+	}
+
+	/**
+	 * 
+	 * @param invitation
+	 */
+	public void updateInvitation(Invitations invitation) {
+		try {
+			invitation.setUpdatetime(new Date());
+			if (invitation.getInvitations_id() == null) {
+				em.persist(invitation);
+			} else {
+				if (!em.contains(invitation)) {
+					em.merge(invitation);
+				}
+			}
+		} catch (Exception ex2) {
+			log.error("[selectMaxFromUsers] ", ex2);
+		}
+	}
+
+	/**
+	 * 
+	 * @param hashCode
+	 * @param pass
+	 * @return
+	 */
+	public Object checkInvitationPass(String hashCode, String pass) {
+		try {
+			Object obj = this.getInvitationByHashCode(hashCode, false);
+			log.debug("checkInvitationPass - obj: " + obj);
+			if (obj instanceof Invitations) {
+				Invitations invitation = (Invitations) obj;
+
+				// log.debug("invitationId "+invitation.getInvitations_id());
+				// log.debug("pass "+pass);
+				// log.debug("getInvitationpass "+invitation.getInvitationpass());
+
+				if (manageCryptStyle.getInstanceOfCrypt().verifyPassword(pass,
+						invitation.getInvitationpass())) {
+					return new Long(1);
+				} else {
+					return new Long(-34);
+				}
+			} else {
+				return obj;
+			}
+		} catch (Exception ex2) {
+			log.error("[checkInvitationPass] ", ex2);
+		}
+		return new Long(-1);
+	}
+
+	public void updateInvitationByAppointment(Long appointmentId,
+			Date appointmentstart, Date appointmentend) {
+		try {
+
+			Date gmtTimeStartShifted = new Date(appointmentstart.getTime()
+					- (5 * 60 * 1000));
+
+			String hql = "select a from Invitations a "
+					+ "WHERE a.appointmentId = :appointmentId  ";
+
+			TypedQuery<Invitations> query = em.createQuery(hql, Invitations.class);
+			query.setParameter("appointmentId", appointmentId);
+
+			List<Invitations> listInvitations = query.getResultList();
+
+			for (Invitations inv : listInvitations) {
+				inv.setValidFrom(gmtTimeStartShifted);
+				inv.setValidTo(appointmentend);
+				if (inv.getInvitations_id() == null) {
+					em.persist(inv);
+				} else {
+					if (!em.contains(inv)) {
+						em.merge(inv);
+					}
+				}
+			}
+
+		} catch (Exception err) {
+
+		}
+	}
+}
diff --git a/src/org/openmeetings/app/data/conference/PollManagement.java b/src/org/openmeetings/app/data/conference/PollManagement.java
new file mode 100644
index 0000000..0ae3a21
--- /dev/null
+++ b/src/org/openmeetings/app/data/conference/PollManagement.java
@@ -0,0 +1,199 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.conference;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.Query;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.conference.session.RoomClient;
+import org.openmeetings.app.data.basic.Fieldmanagment;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.persistence.beans.poll.PollType;
+import org.openmeetings.app.persistence.beans.poll.RoomPoll;
+import org.openmeetings.app.persistence.beans.poll.RoomPollAnswers;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class PollManagement {
+	private static final Logger log = Red5LoggerFactory
+			.getLogger(PollManagement.class);
+
+	@PersistenceContext
+	private EntityManager em;
+	@Autowired
+	private Fieldmanagment fieldmanagment;
+	@Autowired
+	private Usermanagement usermanagement;
+	@Autowired
+	private Roommanagement roommanagement;
+
+	public Long addPollType(Long labelId, Boolean isNumeric) {
+		log.debug("Adding poll type: " + labelId + ", " + isNumeric);
+		PollType pt = new PollType();
+		pt.setLabel(fieldmanagment.getFieldvaluesById(labelId));
+		pt.setIsNumericAnswer(isNumeric);
+
+		em.persist(pt);
+		
+		return pt.getPollTypesId();
+	}
+	
+	public List<PollType> getPollTypes() {
+		TypedQuery<PollType> q = em.createQuery("SELECT pt FROM PollType pt",PollType.class);
+		return q.getResultList();
+	}
+	
+	public PollType getPollType(Long typeId) {
+		TypedQuery<PollType> q = em.createQuery("SELECT pt FROM PollType pt WHERE pt.pollTypesId = :pollTypesId", PollType.class);
+		q.setParameter("pollTypesId", typeId);
+		return q.getSingleResult();
+	}
+	
+	public RoomPoll createPoll(RoomClient rc, String pollName, String pollQuestion, Long pollTypeId) {
+		RoomPoll roomP = new RoomPoll();
+		
+		roomP.setCreatedBy(usermanagement.getUserById(rc.getUser_id()));
+		roomP.setCreated(new Date());
+		roomP.setPollName(pollName);
+		roomP.setPollQuestion(pollQuestion);
+		roomP.setPollType(getPollType(pollTypeId));
+		roomP.setRoom(roommanagement.getRoomById(rc.getRoom_id()));
+		
+		em.persist(roomP);
+		return roomP;
+	}
+	
+	public void savePollBackup(RoomPoll rp) {
+		em.persist(rp);
+	}
+
+
+	public RoomPoll updatePoll(RoomPoll rp) {
+		return em.merge(rp);
+	}
+
+	public boolean closePoll(Long room_id){
+		try {
+			log.debug(" :: closePoll :: ");
+			Query q = em.createQuery("UPDATE RoomPoll rp SET rp.archived = :archived WHERE rp.room.rooms_id = :rooms_id");
+			q.setParameter("rooms_id", room_id);
+			q.setParameter("archived", true);
+			return q.executeUpdate() > 0;
+		} catch (Exception err) {
+			log.error("[closePoll]", err);
+		}
+		return false;
+	}
+
+	public boolean deletePoll(Long poll_id){
+		try {
+			log.debug(" :: deletePoll :: ");
+			Query q = em.createQuery("DELETE FROM RoomPoll rp WHERE rp.roomPollId = :roomPollId");
+			q.setParameter("roomPollId", poll_id);
+			return q.executeUpdate() > 0;
+		} catch (Exception err) {
+			log.error("[deletePoll]", err);
+		}
+		return false;
+	}
+
+	public RoomPoll getPoll(Long room_id) {
+		try {
+			log.debug(" :: getPoll :: " + room_id);
+			TypedQuery<RoomPoll> q = em.createQuery("SELECT rp FROM RoomPoll rp WHERE rp.room.rooms_id = :room_id AND rp.archived = :archived", RoomPoll.class);
+			q.setParameter("room_id", room_id);
+			q.setParameter("archived", false);
+			return q.getSingleResult();
+		} catch (NoResultException nre) {
+			//expected
+		} catch (Exception err) {
+			log.error("[getPoll]", err);
+		}
+		return null;
+	}
+	
+	public List<RoomPoll> getPollListBackup() {
+		try {
+			TypedQuery<RoomPoll> q = em.createQuery("SELECT rp FROM RoomPoll rp",RoomPoll.class);
+			return q.getResultList();
+		} catch (NoResultException nre) {
+			//expected
+		} catch (Exception err) {
+			log.error("[getPoll]", err);
+		}
+		return null;
+	}
+	
+	public List<RoomPoll> getArchivedPollList(Long room_id) {
+		try {
+			log.debug(" :: getPoll :: " + room_id);
+			TypedQuery<RoomPoll> q = em.createQuery("SELECT rp FROM RoomPoll rp WHERE rp.room.rooms_id = :room_id AND rp.archived = :archived",RoomPoll.class);
+			q.setParameter("room_id", room_id);
+			q.setParameter("archived", true);
+			return q.getResultList();
+		} catch (NoResultException nre) {
+			//expected
+		} catch (Exception err) {
+			log.error("[getPoll]", err);
+		}
+		return null;
+	}
+	
+	public boolean hasPoll(Long room_id) {
+		try {
+			log.debug(" :: hasPoll :: " + room_id);
+			TypedQuery<Long> q = em.createQuery("SELECT COUNT(rp) FROM RoomPoll rp WHERE rp.room.rooms_id = :room_id AND rp.archived = :archived", Long.class);
+			q.setParameter("room_id", room_id);
+			q.setParameter("archived", false);
+			return q.getSingleResult() > 0;
+		} catch (NoResultException nre) {
+			//expected
+		} catch (Exception err) {
+			log.error("[getPoll]", err);
+		}
+		return false;
+	}
+	
+	public boolean hasVoted(Long room_id, Long userid) {
+		try {
+			log.debug(" :: hasVoted :: " + room_id + ", " + userid);
+			TypedQuery<RoomPollAnswers> q = em.createQuery("SELECT rpa FROM RoomPollAnswers rpa "
+				+ "WHERE rpa.roomPoll.room.rooms_id = :room_id AND rpa.votedUser.user_id = :userid AND rpa.roomPoll.archived = :archived", RoomPollAnswers.class);
+			q.setParameter("room_id", room_id);
+			q.setParameter("userid", userid);
+			q.setParameter("archived", false);
+			q.getSingleResult();
+			return true;
+		} catch (NoResultException nre) {
+			//expected
+		} catch (Exception err) {
+			log.error("[getPoll]", err);
+		}
+		return false;
+	}
+}
diff --git a/src/org/openmeetings/app/data/conference/Roommanagement.java b/src/org/openmeetings/app/data/conference/Roommanagement.java
new file mode 100644
index 0000000..d4b52a3
--- /dev/null
+++ b/src/org/openmeetings/app/data/conference/Roommanagement.java
@@ -0,0 +1,1822 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.conference;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+
+import org.openmeetings.app.conference.session.RoomClient;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.beans.basic.SearchResult;
+import org.openmeetings.app.data.conference.dao.RoomModeratorsDaoImpl;
+import org.openmeetings.app.data.user.Organisationmanagement;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.basic.Configuration;
+import org.openmeetings.app.persistence.beans.domain.Organisation_Users;
+import org.openmeetings.app.persistence.beans.rooms.RoomTypes;
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.openmeetings.app.persistence.beans.rooms.Rooms_Organisation;
+import org.openmeetings.app.persistence.beans.sip.OpenXGReturnObject;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.app.remote.red5.ClientListManager;
+import org.openmeetings.app.sip.api.impl.asterisk.AsteriskDbSipClient;
+import org.openmeetings.app.sip.api.request.SIPCreateConferenceRequest;
+import org.openmeetings.app.sip.api.result.SipCreateConferenceRequestResult;
+import org.openmeetings.app.sip.xmlrpc.OpenXGHttpClient;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 
+ * @author swagner
+ * 
+ */
+@Transactional
+public class Roommanagement {
+
+	private static final Logger log = Red5LoggerFactory
+			.getLogger(Roommanagement.class);
+
+	@PersistenceContext
+	private EntityManager em;
+
+	@Autowired
+	private Organisationmanagement organisationmanagement;
+	@Autowired
+	private OpenXGHttpClient openXGHttpClient;
+	@Autowired
+	private AsteriskDbSipClient asteriskDbSipClient;
+	@Autowired
+	private RoomModeratorsDaoImpl roomModeratorsDao;
+	@Autowired
+	private UsersDaoImpl usersDao;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+	@Autowired
+	private ClientListManager clientListManager;
+    @Autowired
+	private Configurationmanagement cfgManagement;
+
+	/**
+	 * add a new Record to the table roomtypes
+	 * 
+	 * @param name
+	 * @return ID of new created roomtype or null
+	 */
+	public Long addRoomType(String name, boolean deleted) {
+		try {
+			RoomTypes rtype = new RoomTypes();
+			rtype.setName(name);
+			rtype.setStarttime(new Date());
+			rtype.setDeleted(deleted ? "true" : "false");
+			rtype = em.merge(rtype);
+			long returnId = rtype.getRoomtypes_id();
+			return returnId;
+		} catch (Exception ex2) {
+			log.error("[addRoomType] ", ex2);
+		}
+		return null;
+	}
+
+	public Long addRoom(Rooms room) {
+		try {
+            /* Red5SIP integration *******************************************************************************/
+            Configuration conf = cfgManagement.getConfKey(3L, "red5sip.enable");
+            if(conf != null && conf.getConf_value().equals("yes")) {
+                if(room.getSipNumber() != null && !room.getSipNumber().isEmpty()) {
+                    asteriskDbSipClient.createSIPConference(new SIPCreateConferenceRequest(room.getSipNumber()));
+                } else {
+                    SipCreateConferenceRequestResult requestResult = asteriskDbSipClient.createSIPConference(new SIPCreateConferenceRequest());
+                    if(!requestResult.hasError()) {
+                        room.setSipNumber(requestResult.getConferenceNumber());
+                        room.setConferencePin(requestResult.getConferencePin());
+                    }
+                }
+            }
+            /*****************************************************************************************************/
+			room.setStarttime(new Date());
+			room = em.merge(room);
+			long returnId = room.getRooms_id();
+			return returnId;
+		} catch (Exception ex2) {
+			log.error("[addRoomType] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * get all availible RoomTypes
+	 * 
+	 * @return List of RoomTypes
+	 */
+	public List<RoomTypes> getAllRoomTypes(Long user_level) {
+		try {
+			if (authLevelManagement.checkUserLevel(user_level)) {
+				TypedQuery<RoomTypes> query = em
+						.createQuery("select c from RoomTypes as c where c.deleted <> :deleted", RoomTypes.class);
+				query.setParameter("deleted", "true");
+				List<RoomTypes> ll = query.getResultList();
+				return ll;
+			}
+		} catch (Exception ex2) {
+			log.error("[getAllRoomTypes] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * Get a RoomTypes-Object by its id
+	 * 
+	 * @param roomtypes_id
+	 * @return RoomTypes-Object or NULL
+	 */
+	public RoomTypes getRoomTypesById(long roomtypes_id) {
+		try {
+			TypedQuery<RoomTypes> query = em
+					.createQuery("select c from RoomTypes as c where c.roomtypes_id = :roomtypes_id AND c.deleted <> :deleted", RoomTypes.class);
+			query.setParameter("roomtypes_id", roomtypes_id);
+			query.setParameter("deleted", "true");
+			List<?> ll = query.getResultList();
+			if (ll.size() > 0) {
+				return (RoomTypes) ll.get(0);
+			}
+		} catch (Exception ex2) {
+			log.error("[getRoomTypesById] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * get a room object if user level
+	 * 
+	 * @param user_level
+	 * @param rooms_id
+	 * @return
+	 */
+	public Rooms getRoomById(long user_level, long rooms_id) {
+		try {
+			if (authLevelManagement.checkUserLevel(user_level)) {
+				return this.getRoomById(rooms_id);
+			} else
+				log.error("getRoombyId : Userlevel" + user_level
+						+ " not allowed");
+		} catch (Exception ex2) {
+			log.error("[getRoomById] ", ex2);
+		}
+		return null;
+	}
+
+	public Rooms getRoomWithCurrentUsersById(long user_level, long rooms_id) {
+		try {
+			if (authLevelManagement.checkUserLevel(user_level)) {
+				Rooms room = this.getRoomById(rooms_id);
+
+				if (room != null) {
+					HashMap<String, RoomClient> map = clientListManager
+							.getClientListByRoom(room.getRooms_id());
+
+					room.setCurrentusers(new LinkedList<RoomClient>());
+
+					for (Iterator<String> iter = map.keySet().iterator(); iter
+							.hasNext();) {
+						room.getCurrentusers().add(map.get(iter.next()));
+					}
+
+					return room;
+				}
+			}
+		} catch (Exception ex2) {
+			log.error("[getRoomWithCurrentUsersById] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * Get a Rooms-Object or NULL
+	 * 
+	 * @param rooms_id
+	 * @return Rooms-Object or NULL
+	 */
+	public Rooms getRoomById(long rooms_id) {
+		log.debug("getRoombyId : " + rooms_id);
+		try {
+
+			if (rooms_id == 0) {
+				return null;
+			}
+
+			String hql = "select c from Rooms as c where c.rooms_id = :rooms_id AND c.deleted <> :deleted";
+			Rooms room = null;
+
+			TypedQuery<Rooms> query = em.createQuery(hql, Rooms.class);
+			query.setParameter("rooms_id", rooms_id);
+			query.setParameter("deleted", "true");
+			List<Rooms> ll = query.getResultList();
+			if (ll.size() > 0) {
+				room = ll.get(0);
+			}
+
+			if (room != null) {
+				return room;
+			} else {
+				log.info("Could not find room " + rooms_id);
+			}
+		} catch (Exception ex2) {
+			log.error("[getRoomById] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * Get a Rooms-Object or NULL
+	 * 
+	 * @param externalRoomId
+	 * @return Rooms-Object or NULL
+	 */
+	public Rooms getRoomByExternalId(Long externalRoomId,
+			String externalRoomType, long roomtypes_id) {
+		log.debug("getRoombyExternalId : " + externalRoomId + " - "
+				+ externalRoomType + " - " + roomtypes_id);
+		try {
+			String hql = "select c from Rooms as c JOIN c.roomtype as rt "
+					+ "where c.externalRoomId = :externalRoomId AND c.externalRoomType = :externalRoomType "
+					+ "AND rt.roomtypes_id = :roomtypes_id AND c.deleted <> :deleted";
+			TypedQuery<Rooms> query = em.createQuery(hql, Rooms.class);
+			query.setParameter("externalRoomId", externalRoomId);
+			query.setParameter("externalRoomType", externalRoomType);
+			query.setParameter("roomtypes_id", roomtypes_id);
+			query.setParameter("deleted", "true");
+			List<?> ll = query.getResultList();
+			if (ll.size() > 0) {
+				return (Rooms) ll.get(0);
+			} else {
+				log.error("Could not find room " + externalRoomId);
+			}
+		} catch (Exception ex2) {
+			log.error("[getRoomByExternalId] ", ex2);
+		}
+		return null;
+	}
+
+	public Rooms getRoomByExternalId(long user_level, Long externalRoomId,
+			String externalRoomType, long roomtypes_id) {
+		try {
+			if (authLevelManagement.checkUserLevel(user_level)) {
+				return this.getRoomByExternalId(externalRoomId,
+						externalRoomType, roomtypes_id);
+			} else
+				log.error("getRoombyExternalId : Userlevel" + user_level
+						+ " not allowed");
+		} catch (Exception ex2) {
+			log.error("[getRoomByExternalId] ", ex2);
+		}
+		return null;
+	}
+
+	public SearchResult<Rooms> getRooms(long user_level, int start, int max,
+			String orderby, boolean asc, String search) {
+		try {
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				SearchResult<Rooms> sResult = new SearchResult<Rooms>();
+				sResult.setRecords(this.selectMaxFromRooms(search));
+				sResult.setObjectName(Rooms.class.getName());
+				sResult.setResult(this.getRoomsInternatlByHQL(start, max,
+						orderby, asc, search));
+				return sResult;
+			}
+		} catch (Exception ex2) {
+			log.error("[getRooms] ", ex2);
+		}
+		return null;
+	}
+
+	public SearchResult<Rooms> getRoomsWithCurrentUsers(long user_level, int start,
+			int max, String orderby, boolean asc) {
+		try {
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				SearchResult<Rooms> sResult = new SearchResult<Rooms>();
+				sResult.setRecords(this.selectMaxFromRooms(""));
+				sResult.setObjectName(Rooms.class.getName());
+
+				List<Rooms> rooms = this.getRoomsInternatl(start, max, orderby,
+						asc);
+
+				for (Rooms room : rooms) {
+
+					HashMap<String, RoomClient> map = clientListManager
+							.getClientListByRoom(room.getRooms_id());
+
+					room.setCurrentusers(new LinkedList<RoomClient>());
+
+					for (Iterator<String> iter = map.keySet().iterator(); iter
+							.hasNext();) {
+						room.getCurrentusers().add(map.get(iter.next()));
+					}
+
+				}
+
+				sResult.setResult(rooms);
+				return sResult;
+			}
+		} catch (Exception ex2) {
+			log.error("[getRooms] ", ex2);
+		}
+		return null;
+	}
+
+	public List<Rooms> getRoomsWithCurrentUsersByList(long user_level,
+			int start, int max, String orderby, boolean asc) {
+		try {
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+
+				List<Rooms> rooms = this.getRoomsInternatl(start, max, orderby,
+						asc);
+
+				for (Rooms room : rooms) {
+
+					HashMap<String, RoomClient> map = clientListManager
+							.getClientListByRoom(room.getRooms_id());
+
+					room.setCurrentusers(new LinkedList<RoomClient>());
+
+					for (Iterator<String> iter = map.keySet().iterator(); iter
+							.hasNext();) {
+						room.getCurrentusers().add(map.get(iter.next()));
+					}
+
+				}
+
+				return rooms;
+
+			}
+		} catch (Exception ex2) {
+			log.error("[getRooms] ", ex2);
+		}
+		return null;
+	}
+
+	public List<Rooms> getRoomsWithCurrentUsersByListAndType(long user_level,
+			int start, int max, String orderby, boolean asc,
+			String externalRoomType) {
+		try {
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+
+				List<Rooms> rooms = this.getRoomsInternatlbyType(start, max,
+						orderby, asc, externalRoomType);
+
+				for (Rooms room : rooms) {
+
+					HashMap<String, RoomClient> map = clientListManager
+							.getClientListByRoom(room.getRooms_id());
+
+					room.setCurrentusers(new LinkedList<RoomClient>());
+
+					for (Iterator<String> iter = map.keySet().iterator(); iter
+							.hasNext();) {
+						room.getCurrentusers().add(map.get(iter.next()));
+					}
+
+				}
+
+				return rooms;
+
+			}
+		} catch (Exception ex2) {
+			log.error("[getRooms] ", ex2);
+		}
+		return null;
+	}
+
+	public Long selectMaxFromRooms(String search) {
+		try {
+			String hql = "select count(c.rooms_id) from Rooms c "
+					+ "where c.deleted <> 'true' " + "AND c.name LIKE :search ";
+
+			if (search.length() == 0) {
+				search = "%";
+			} else {
+				search = "%" + search + "%";
+			}
+
+			// get all users
+			TypedQuery<Long> query = em.createQuery(hql, Long.class);
+			query.setParameter("search", search);
+			List<Long> ll = query.getResultList();
+			log.debug("Number of records" + ll.get(0));
+			return ll.get(0);
+		} catch (Exception ex2) {
+			log.error("[selectMaxFromRooms] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * gets a list of all availible rooms
+	 * 
+	 * @param user_level
+	 * @param start
+	 * @param max
+	 * @param orderby
+	 * @param asc
+	 * @return
+	 */
+	public List<Rooms> getRoomsInternatl(int start, int max, String orderby,
+			boolean asc) {
+		try {
+			CriteriaBuilder cb = em.getCriteriaBuilder();
+			CriteriaQuery<Rooms> cq = cb.createQuery(Rooms.class);
+			Root<Rooms> c = cq.from(Rooms.class);
+			Predicate condition = cb.equal(c.get("deleted"), "false");
+			cq.where(condition);
+			cq.distinct(asc);
+			if (asc) {
+				cq.orderBy(cb.asc(c.get(orderby)));
+			} else {
+				cq.orderBy(cb.desc(c.get(orderby)));
+			}
+			TypedQuery<Rooms> q = em.createQuery(cq);
+			q.setFirstResult(start);
+			q.setMaxResults(max);
+			List<Rooms> ll = q.getResultList();
+			return ll;
+		} catch (Exception ex2) {
+			log.error("[getRooms ] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * gets a list of all availible rooms
+	 * 
+	 * @param user_level
+	 * @param start
+	 * @param max
+	 * @param orderby
+	 * @param asc
+	 * @return
+	 */
+	public List<Rooms> getRoomsInternatlByHQL(int start, int max,
+			String orderby, boolean asc, String search) {
+		try {
+
+			String hql = "select c from Rooms c "
+					+ "where c.deleted <> 'true' " + "AND c.name LIKE :search ";
+
+			if (search.length() == 0) {
+				search = "%";
+			} else {
+				search = "%" + search + "%";
+			}
+
+			hql += " ORDER BY " + orderby;
+
+			if (asc) {
+				hql += " ASC";
+			} else {
+				hql += " DESC";
+			}
+
+			TypedQuery<Rooms> query = em.createQuery(hql, Rooms.class);
+			query.setParameter("search", search);
+			query.setFirstResult(start);
+			query.setMaxResults(max);
+
+			return query.getResultList();
+
+		} catch (Exception ex2) {
+			log.error("[getRooms ] ", ex2);
+		}
+		return null;
+	}
+
+	public List<Rooms> getAllRooms() {
+		try {
+			CriteriaBuilder cb = em.getCriteriaBuilder();
+			CriteriaQuery<Rooms> cq = cb.createQuery(Rooms.class);
+			Root<Rooms> c = cq.from(Rooms.class);
+			Predicate condition = cb.equal(c.get("deleted"), "false");
+			cq.where(condition);
+			TypedQuery<Rooms> q = em.createQuery(cq);
+			List<Rooms> ll = q.getResultList();
+			return ll;
+		} catch (Exception ex2) {
+			log.error("[getAllRooms]", ex2);
+		}
+		return null;
+	}
+
+	public List<Rooms> getBackupRooms() {
+		try {
+			CriteriaBuilder cb = em.getCriteriaBuilder();
+			CriteriaQuery<Rooms> cq = cb.createQuery(Rooms.class);
+			cq.from(Rooms.class);
+			TypedQuery<Rooms> q = em.createQuery(cq);
+			List<Rooms> ll = q.getResultList();
+			return ll;
+		} catch (Exception ex2) {
+			log.error("[getBackupRooms]", ex2);
+		}
+		return null;
+	}
+
+	public List<Rooms> getRoomsInternatlbyType(int start, int max,
+			String orderby, boolean asc, String externalRoomType) {
+		try {
+			CriteriaBuilder cb = em.getCriteriaBuilder();
+			CriteriaQuery<Rooms> cq = cb.createQuery(Rooms.class);
+			Root<Rooms> c = cq.from(Rooms.class);
+			Predicate condition = cb.equal(c.get("deleted"), "false");
+			Predicate subCondition = cb.equal(c.get("externalRoomType"),
+					externalRoomType);
+			cq.where(condition, subCondition);
+			cq.distinct(asc);
+			if (asc) {
+				cq.orderBy(cb.asc(c.get(orderby)));
+			} else {
+				cq.orderBy(cb.desc(c.get(orderby)));
+			}
+			TypedQuery<Rooms> q = em.createQuery(cq);
+			q.setFirstResult(start);
+			q.setMaxResults(max);
+			List<Rooms> ll = q.getResultList();
+			return ll;
+		} catch (Exception ex2) {
+			log.error("[getRooms ] ", ex2);
+		}
+		return null;
+	}
+
+	public List<Rooms_Organisation> getOrganisationsByRoom(long user_level,
+			long rooms_id) {
+		try {
+			if (authLevelManagement.checkUserLevel(user_level)) {
+				String hql = "select c from Rooms_Organisation as c "
+						+ "where c.room.rooms_id = :rooms_id "
+						+ "AND c.deleted <> :deleted";
+				TypedQuery<Rooms_Organisation> q = em.createQuery(hql, Rooms_Organisation.class);
+
+				q.setParameter("rooms_id", rooms_id);
+				q.setParameter("deleted", "true");
+				List<Rooms_Organisation> ll = q.getResultList();
+				return ll;
+			}
+		} catch (Exception ex2) {
+			log.error("[getOrganisationsByRoom] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * get all rooms which are availible for public
+	 * 
+	 * @param user_level
+	 * @param roomtypes_id
+	 * @return
+	 */
+	public List<Rooms> getPublicRooms(long user_level, long roomtypes_id) {
+		try {
+			if (authLevelManagement.checkUserLevel(user_level)) {
+				String queryString = "SELECT r from Rooms r "
+						+ "JOIN r.roomtype as rt "
+						+ "WHERE "
+						+ "r.ispublic=:ispublic and r.deleted=:deleted and rt.roomtypes_id=:roomtypes_id";
+				TypedQuery<Rooms> q = em.createQuery(queryString, Rooms.class);
+				//
+				q.setParameter("ispublic", true);
+				q.setParameter("deleted", "false");
+				q.setParameter("roomtypes_id", new Long(roomtypes_id));
+
+				List<Rooms> ll = q.getResultList();
+
+				return ll;
+			}
+		} catch (Exception ex2) {
+			log.error("[getRoomsByOrganisation] ", ex2);
+		}
+		return null;
+	}
+
+	public List<Rooms> getRoomsByIds(List<Integer> roomIds) {
+		try {
+			if (roomIds == null || roomIds.size() == 0) {
+				return new LinkedList<Rooms>();
+			}
+
+			String queryString = "SELECT r from Rooms r " + "WHERE ";
+
+			queryString += "(";
+
+			int i = 0;
+			for (Integer room_id : roomIds) {
+				if (i != 0) {
+					queryString += " OR ";
+				}
+				queryString += " r.rooms_id = " + room_id;
+				i++;
+			}
+
+			queryString += ")";
+
+			TypedQuery<Rooms> q = em.createQuery(queryString, Rooms.class);
+
+			List<Rooms> ll = q.getResultList();
+
+			return ll;
+
+		} catch (Exception ex2) {
+			log.error("[getRoomsByIds] ", ex2);
+		}
+		return null;
+	}
+
+	public List<Rooms> getPublicRoomsWithoutType(long user_level) {
+		try {
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				String queryString = "SELECT r from Rooms r " + "WHERE "
+						+ "r.ispublic = :ispublic and r.deleted <> :deleted "
+						+ "ORDER BY r.name ASC";
+
+				TypedQuery<Rooms> q = em.createQuery(queryString, Rooms.class);
+
+				q.setParameter("ispublic", true);
+				q.setParameter("deleted", "true");
+				List<Rooms> ll = q.getResultList();
+
+				return ll;
+			}
+		} catch (Exception ex2) {
+			log.error("[getPublicRoomsWithoutType] ", ex2);
+			ex2.printStackTrace();
+		}
+		return null;
+	}
+
+	/**
+	 * Get Appointed Meetings
+	 */
+	// ---------------------------------------------------------------------------------------------
+	public List<Rooms> getAppointedMeetings(Long userid, Long user_level) {
+		log.debug("Roommanagement.getAppointedMeetings");
+
+		try {
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				String queryString = "SELECT r from Rooms r "
+						+ "JOIN r.roomtype as rt " + "WHERE "
+						+ "r.deleted=:deleted and r.appointment=:appointed";
+				TypedQuery<Rooms> q = em.createQuery(queryString, Rooms.class);
+				//
+				q.setParameter("appointed", true);
+				q.setParameter("deleted", "false");
+
+				List<Rooms> ll = q.getResultList();
+
+				return ll;
+			}
+		} catch (Exception ex2) {
+			log.error("[getAppointedMeetings] ", ex2);
+		}
+		return null;
+
+	}
+
+	// ---------------------------------------------------------------------------------------------
+
+	/**
+	 * get all rooms which are availible for public
+	 * 
+	 * @param user_level
+	 * @param roomtypes_id
+	 * @return
+	 */
+	public List<Rooms> getPublicRooms(long user_level) {
+		try {
+			if (authLevelManagement.checkUserLevel(user_level)) {
+				// log.error("### getPublicRooms: create Query "+roomtypes_id);
+				String queryString = "SELECT r from Rooms r "
+						+ "JOIN r.roomtype as rt " + "WHERE "
+						+ "r.ispublic=:ispublic and r.deleted=:deleted";
+				TypedQuery<Rooms> q = em.createQuery(queryString, Rooms.class);
+				//
+				q.setParameter("ispublic", true);
+				q.setParameter("deleted", "false");
+
+				List<Rooms> ll = q.getResultList();
+				return ll;
+			}
+		} catch (Exception ex2) {
+			log.error("[getRoomsByOrganisation] ", ex2);
+		}
+		return null;
+	}
+
+    /**
+     * Returns number of SIP conference participants
+     * @param rooms_id id of room
+     * @return number of participants
+     */
+    public Integer getSipConferenceMembersNumber(Long rooms_id) {
+        Configuration conf = cfgManagement.getConfKey(3L, "red5sip.enable");
+        if(conf != null && conf.getConf_value().equals("yes")) {
+            Rooms rooms = this.getRoomById(rooms_id);
+            if(rooms != null) {
+                return asteriskDbSipClient.getConferenceMembersNumber(rooms.getSipNumber());
+            } else {
+                return 0;
+            }
+        } else {
+            return null;
+        }
+    }
+
+	/**
+	 * adds a new Record to the table rooms
+	 * @param name
+	 * @param roomtypes_id
+	 * @param ispublic
+	 * @param hideActivitiesAndActions TODO
+	 * @param hideFilesExplorer TODO
+	 * @param hideActionsMenu TODO
+	 * @param hideScreenSharing TODO
+	 * @param hideWhiteboard TODO
+	 * @return id of the newly created room or NULL
+	 */
+	public Long addRoom(long user_level, String name, long roomtypes_id,
+			String comment, Long numberOfPartizipants, boolean ispublic,
+			List<Integer> organisations, Boolean appointment, Boolean isDemoRoom,
+			Integer demoTime, Boolean isModeratedRoom,
+			List<Map<String, Object>> roomModerators,
+			Boolean allowUserQuestions, Boolean isAudioOnly, Boolean isClosed,
+			String redirectURL, String sipNumber, String conferencePin,
+			Long ownerId, Boolean waitForRecording, Boolean allowRecording,
+			Boolean hideTopBar, Boolean hideChat, Boolean hideActivitiesAndActions, Boolean hideFilesExplorer, 
+			Boolean hideActionsMenu, Boolean hideScreenSharing, Boolean hideWhiteboard,
+			Boolean showMicrophoneStatus) {
+
+		try {
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+
+				Rooms r = new Rooms();
+				r.setName(name);
+				r.setComment(comment);
+				r.setStarttime(new Date());
+				r.setNumberOfPartizipants(numberOfPartizipants);
+				r.setRoomtype(this.getRoomTypesById(roomtypes_id));
+				r.setIspublic(ispublic);
+				r.setAllowUserQuestions(allowUserQuestions);
+				r.setIsAudioOnly(isAudioOnly);
+
+				r.setAppointment(appointment);
+
+				r.setIsDemoRoom(isDemoRoom);
+				r.setDemoTime(demoTime);
+
+				r.setIsModeratedRoom(isModeratedRoom);
+				r.setHideTopBar(hideTopBar);
+
+				r.setDeleted("false");
+
+				r.setIsClosed(isClosed);
+				r.setRedirectURL(redirectURL);
+
+				r.setSipNumber(sipNumber);
+				r.setConferencePin(conferencePin);
+				r.setOwnerId(ownerId);
+
+				r.setWaitForRecording(waitForRecording);
+				r.setAllowRecording(allowRecording);
+				
+				r.setHideChat(hideChat);
+				r.setHideActivitiesAndActions(hideActivitiesAndActions);
+				r.setHideActionsMenu(hideActionsMenu);
+				r.setHideFilesExplorer(hideFilesExplorer);
+				r.setHideScreenSharing(hideScreenSharing);	
+				r.setHideWhiteboard(hideWhiteboard);
+				r.setShowMicrophoneStatus(showMicrophoneStatus);
+				
+				// handle SIP Issues
+				OpenXGReturnObject openXGReturnObject = openXGHttpClient
+						.openSIPgCreateConference();
+
+				if (openXGReturnObject != null) {
+					r.setSipNumber(openXGReturnObject.getConferenceNumber());
+					r.setConferencePin(openXGReturnObject.getConferencePin());
+				}
+
+                /* Red5SIP integration *******************************************************************************/
+                Configuration conf = cfgManagement.getConfKey(3L, "red5sip.enable");
+                if(conf != null && conf.getConf_value().equals("yes")) {
+                    SipCreateConferenceRequestResult requestResult = asteriskDbSipClient
+                            .createSIPConference(new SIPCreateConferenceRequest(sipNumber));
+
+                    if(!requestResult.hasError()) {
+                        r.setSipNumber(requestResult.getConferenceNumber());
+                        r.setConferencePin(requestResult.getConferencePin());
+                    }
+                }
+                /*****************************************************************************************************/
+
+				r = em.merge(r);
+				long returnId = r.getRooms_id();
+
+				if (organisations != null) {
+					Long t = this.updateRoomOrganisations(organisations, r);
+					if (t == null)
+						return null;
+				}
+
+				if (roomModerators != null) {
+					roomModeratorsDao.addRoomModeratorByUserList(
+							roomModerators, r.getRooms_id());
+				}
+
+				return returnId;
+			}
+		} catch (Exception ex2) {
+			log.error("[addRoom] ", ex2);
+		}
+		return null;
+	}
+
+	public Long addRoomByMod(long user_level, String name, long roomtypes_id,
+			String comment, Long numberOfPartizipants, boolean ispublic,
+			Long organisation_id, Boolean appointment, Boolean isDemoRoom,
+			Integer demoTime, Boolean isModeratedRoom,
+			List<Map<String, Object>> roomModerators, Boolean allowUserQuestions) {
+
+		log.debug("addRoom");
+
+		try {
+			if (authLevelManagement.checkModLevel(user_level)) {
+				Rooms r = new Rooms();
+				r.setName(name);
+				r.setComment(comment);
+				r.setStarttime(new Date());
+				r.setNumberOfPartizipants(numberOfPartizipants);
+				r.setRoomtype(this.getRoomTypesById(roomtypes_id));
+				r.setIspublic(ispublic);
+
+				r.setAllowUserQuestions(allowUserQuestions);
+				r.setAppointment(appointment);
+
+				r.setIsDemoRoom(isDemoRoom);
+				r.setDemoTime(demoTime);
+
+				r.setIsModeratedRoom(isModeratedRoom);
+
+				r.setDeleted("false");
+				r = em.merge(r);
+				long returnId = r.getRooms_id();
+
+				this.addRoomToOrganisation(3, returnId, organisation_id);
+
+				if (roomModerators != null) {
+					roomModeratorsDao.addRoomModeratorByUserList(
+							roomModerators, r.getRooms_id());
+				}
+
+				return returnId;
+			}
+		} catch (Exception ex2) {
+			log.error("[addRoom] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * adds/check a new Record to the table rooms with external fields
+	 * 
+	 * @param name
+	 * @param roomtypes_id
+	 * @param ispublic
+	 * @return id of (the newly created) room or NULL
+	 */
+	public Long addExternalRoom(String name, long roomtypes_id, String comment,
+			Long numberOfPartizipants, boolean ispublic, List<Integer> organisations,
+			Boolean appointment, Boolean isDemoRoom, Integer demoTime,
+			Boolean isModeratedRoom, List<Map<String, Object>> roomModerators,
+			Long externalRoomId, String externalRoomType,
+			Boolean allowUserQuestions, Boolean isAudioOnly, Boolean isClosed,
+			String redirectURL, Boolean waitForRecording,
+			Boolean allowRecording, Boolean hideTopBar) {
+
+		log.debug("addExternalRoom");
+
+		try {
+			Rooms r = new Rooms();
+			r.setName(name);
+			r.setComment(comment);
+			r.setStarttime(new Date());
+			r.setNumberOfPartizipants(numberOfPartizipants);
+			r.setRoomtype(this.getRoomTypesById(roomtypes_id));
+			r.setIspublic(ispublic);
+
+			r.setAllowUserQuestions(allowUserQuestions);
+			r.setIsAudioOnly(isAudioOnly);
+
+			r.setAppointment(appointment);
+
+			r.setIsDemoRoom(isDemoRoom);
+			r.setDemoTime(demoTime);
+
+			r.setIsModeratedRoom(isModeratedRoom);
+
+			r.setDeleted("false");
+
+			r.setExternalRoomId(externalRoomId);
+			r.setExternalRoomType(externalRoomType);
+
+			r.setIsClosed(isClosed);
+			r.setRedirectURL(redirectURL);
+
+			r.setWaitForRecording(waitForRecording);
+			r.setAllowRecording(allowRecording);
+
+			r.setHideTopBar(hideTopBar);
+
+			r = em.merge(r);
+
+			long returnId = r.getRooms_id();
+
+			if (organisations != null) {
+				Long t = this.updateRoomOrganisations(organisations, r);
+				if (t == null)
+					return null;
+			}
+
+			if (roomModerators != null) {
+				roomModeratorsDao.addRoomModeratorByUserList(roomModerators,
+						r.getRooms_id());
+			}
+
+			return returnId;
+		} catch (Exception ex2) {
+			log.error("[addExternalRoom] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * adds a new record to the table rooms_organisation
+	 * 
+	 * @param rooms_id
+	 * @param organisation_id
+	 * @return the id of the newly created Rooms_Organisation or NULL
+	 */
+	public Long addRoomToOrganisation(long user_level, long rooms_id,
+			long organisation_id) {
+		try {
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				Rooms_Organisation rOrganisation = new Rooms_Organisation();
+				rOrganisation.setRoom(this.getRoomById(rooms_id));
+				log.debug("addRoomToOrganisation rooms '"
+						+ rOrganisation.getRoom().getName() + "'");
+				rOrganisation.setStarttime(new Date());
+				rOrganisation.setOrganisation(organisationmanagement
+						.getOrganisationById(organisation_id));
+				rOrganisation.setDeleted("false");
+
+				rOrganisation = em.merge(rOrganisation);
+				long returnId = rOrganisation.getRooms_organisation_id();
+				return returnId;
+			}
+		} catch (Exception ex2) {
+			log.error("[addRoomToOrganisation] ", ex2);
+		}
+		return null;
+	}
+
+	public Long addRoomOrganisation(Rooms_Organisation rOrganisation) {
+		try {
+
+			rOrganisation.setStarttime(new Date());
+
+			rOrganisation = em.merge(rOrganisation);
+			long returnId = rOrganisation.getRooms_organisation_id();
+			return returnId;
+
+		} catch (Exception ex2) {
+			log.error("[addRoomOrganisation] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param rooms_organisation_id
+	 * @return
+	 */
+	public Rooms_Organisation getRoomsOrganisationById(
+			long rooms_organisation_id) {
+		try {
+			CriteriaBuilder cb = em.getCriteriaBuilder();
+			CriteriaQuery<Rooms_Organisation> cq = cb
+					.createQuery(Rooms_Organisation.class);
+			Root<Rooms_Organisation> c = cq.from(Rooms_Organisation.class);
+			Predicate condition = cb.equal(c.get("rooms_organisation_id"),
+					rooms_organisation_id);
+			cq.where(condition);
+			TypedQuery<Rooms_Organisation> q = em.createQuery(cq);
+			List<Rooms_Organisation> ll = q.getResultList();
+
+			if (ll.size() > 0) {
+				return ll.get(0);
+			}
+		} catch (Exception ex2) {
+			log.error("[getRoomsByOrganisation] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * get List of Rooms_Organisation by organisation and roomtype
+	 * 
+	 * @param user_level
+	 * @param organisation_id
+	 * @param roomtypes_id
+	 * @return
+	 */
+	public List<Rooms_Organisation> getRoomsOrganisationByOrganisationIdAndRoomType(
+			long user_level, long organisation_id, long roomtypes_id) {
+		try {
+			if (authLevelManagement.checkUserLevel(user_level)) {
+				String hql = "select c from Rooms_Organisation as c "
+						+ "where c.room.roomtypes_id = :roomtypes_id "
+						+ "AND c.organisation.organisation_id = :organisation_id "
+						+ "AND c.deleted <> :deleted";
+				TypedQuery<Rooms_Organisation> q = em.createQuery(hql, Rooms_Organisation.class);
+
+				q.setParameter("roomtypes_id", roomtypes_id);
+				q.setParameter("organisation_id", organisation_id);
+				q.setParameter("deleted", "true");
+				List<Rooms_Organisation> ll = q.getResultList();
+
+				return ll;
+			} else {
+				log.error("[notauthentificated] " + user_level);
+			}
+		} catch (Exception ex2) {
+			log.error("[getRoomsByOrganisation] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * Gets all rooms by an organisation
+	 * 
+	 * @param organisation_id
+	 * @return list of Rooms_Organisation with Rooms as Sub-Objects or null
+	 */
+	public List<Rooms_Organisation> getRoomsOrganisationByOrganisationId(
+			long user_level, long organisation_id) {
+		try {
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				String hql = "SELECT c FROM Rooms_Organisation c "
+						+ "WHERE c.organisation.organisation_id = :organisation_id "
+						+ "AND c.deleted <> :deleted AND c.room.deleted <> :deleted "
+						+ "AND c.organisation.deleted <> :deleted "
+						+ "ORDER BY c.room.name ASC";
+
+				TypedQuery<Rooms_Organisation> query = em.createQuery(hql, Rooms_Organisation.class);
+
+				query.setParameter("organisation_id", organisation_id);
+				query.setParameter("deleted", "true");
+
+				List<Rooms_Organisation> ll = query.getResultList();
+
+				return ll;
+			} else {
+				log.error("[notauthentificated] " + user_level);
+			}
+		} catch (Exception ex2) {
+			log.error("[getPublicRoomsWithoutType] ", ex2);
+			ex2.printStackTrace();
+		}
+		return null;
+	}
+
+	public SearchResult<Rooms_Organisation> getRoomsOrganisationByOrganisationId(long user_level,
+			long organisation_id, int start, int max, String orderby,
+			boolean asc) {
+		try {
+			if (authLevelManagement.checkModLevel(user_level)) {
+
+				SearchResult<Rooms_Organisation> sResult = new SearchResult<Rooms_Organisation>();
+				sResult.setObjectName(Rooms_Organisation.class.getName());
+				sResult.setRecords(this.selectMaxFromRoomsByOrganisation(
+						organisation_id).longValue());
+				sResult.setResult(this.getRoomsOrganisationByOrganisationId(
+						organisation_id, start, max, orderby, asc));
+				return sResult;
+			}
+		} catch (Exception ex2) {
+			log.error("[getRoomsByOrganisation] ", ex2);
+		}
+		return null;
+	}
+
+	public Integer selectMaxFromRoomsByOrganisation(long organisation_id) {
+		try {
+			// get all users
+			String hql = "select c from Rooms_Organisation as c "
+					+ "where c.organisation.organisation_id = :organisation_id "
+					+ "AND c.deleted <> :deleted";
+			TypedQuery<Rooms_Organisation> q = em.createQuery(hql, Rooms_Organisation.class);
+
+			q.setParameter("organisation_id", organisation_id);
+			q.setParameter("deleted", "true");
+			List<Rooms_Organisation> ll = q.getResultList();
+
+			return ll.size();
+		} catch (Exception ex2) {
+			log.error("[selectMaxFromRooms] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param organisation_id
+	 * @param start
+	 * @param max
+	 * @param orderby
+	 * @param asc
+	 * @return
+	 */
+	private List<Rooms_Organisation> getRoomsOrganisationByOrganisationId(
+			long organisation_id, int start, int max, String orderby,
+			boolean asc) {
+		try {
+			String hql = "select c from Rooms_Organisation as c "
+					+ "where c.organisation.organisation_id = :organisation_id "
+					+ "AND c.deleted <> :deleted";
+			if (orderby.startsWith("c.")) {
+				hql += "ORDER BY " + orderby;
+			} else {
+				hql += "ORDER BY " + "c." + orderby;
+			}
+			if (asc) {
+				hql += " ASC";
+			} else {
+				hql += " DESC";
+			}
+
+			TypedQuery<Rooms_Organisation> q = em.createQuery(hql, Rooms_Organisation.class);
+
+			q.setParameter("organisation_id", organisation_id);
+			q.setParameter("deleted", "true");
+			q.setFirstResult(start);
+			q.setMaxResults(max);
+			List<Rooms_Organisation> ll = q.getResultList();
+
+			return ll;
+		} catch (Exception ex2) {
+			log.error("[getRoomsByOrganisation] ", ex2);
+		}
+		return null;
+	}
+
+	private Rooms_Organisation getRoomsOrganisationByOrganisationIdAndRoomId(
+			long organisation_id, long rooms_id) {
+		try {
+			String hql = "select c from Rooms_Organisation as c "
+					+ "where c.room.rooms_id = :rooms_id "
+					+ "AND c.organisation.organisation_id = :organisation_id "
+					+ "AND c.deleted <> :deleted";
+			TypedQuery<Rooms_Organisation> q = em.createQuery(hql, Rooms_Organisation.class);
+
+			q.setParameter("rooms_id", rooms_id);
+			q.setParameter("organisation_id", organisation_id);
+			q.setParameter("deleted", "true");
+			List<Rooms_Organisation> ll = q.getResultList();
+
+			if (ll.size() > 0) {
+				return ll.get(0);
+			}
+		} catch (Exception ex2) {
+			log.error("[getRoomsOrganisationByOrganisationIdAndRoomId] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param organisation_id
+	 * @return
+	 */
+	public List<Rooms_Organisation> getRoomsOrganisationByRoomsId(long rooms_id) {
+		try {
+			String hql = "select c from Rooms_Organisation as c "
+					+ "where c.room.rooms_id = :rooms_id "
+					+ "AND c.deleted <> :deleted";
+			TypedQuery<Rooms_Organisation> q = em.createQuery(hql, Rooms_Organisation.class);
+
+			q.setParameter("rooms_id", rooms_id);
+			q.setParameter("deleted", "true");
+			List<Rooms_Organisation> ll = q.getResultList();
+			return ll;
+		} catch (Exception ex2) {
+			log.error("[getRoomsByOrganisation] ", ex2);
+		}
+		return null;
+	}
+
+	public List<Rooms_Organisation> getRoomsOrganisations() {
+		try {
+			CriteriaBuilder cb = em.getCriteriaBuilder();
+			CriteriaQuery<Rooms_Organisation> cq = cb
+					.createQuery(Rooms_Organisation.class);
+			cq.from(Rooms_Organisation.class);
+			TypedQuery<Rooms_Organisation> q = em.createQuery(cq);
+			List<Rooms_Organisation> ll = q.getResultList();
+			return ll;
+		} catch (Exception ex2) {
+			log.error("[getRoomsByOrganisation] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param user_id
+	 * @param rooms_id
+	 * @return
+	 */
+	private boolean checkUserOrgRoom(long user_id, long rooms_id) {
+		try {
+
+			Users us = usersDao.getUser(user_id);
+			List<Organisation_Users> s = us.getOrganisation_users();
+
+			for (Iterator<Organisation_Users> it = s.iterator(); it.hasNext();) {
+				Organisation_Users orgUsers = it.next();
+				long organisation_id = orgUsers.getOrganisation()
+						.getOrganisation_id();
+				List<Rooms_Organisation> ll = this
+						.getRoomsOrganisationByOrganisationId(3,
+								organisation_id);
+				for (Iterator<Rooms_Organisation> it2 = ll.iterator(); it2
+						.hasNext();) {
+					Rooms_Organisation roomOrg = it2.next();
+					if (roomOrg.getRoom().getRooms_id() == rooms_id) {
+						return true;
+					}
+				}
+			}
+
+		} catch (Exception ex2) {
+			log.error("[checkUserOrgRoom] ", ex2);
+		}
+		return false;
+	}
+
+	/**
+	 * 
+	 * @param user_id
+	 * @param user_level
+	 * @param rooms_id
+	 * @param roomtypes_id
+	 * @param name
+	 * @param ispublic
+	 * @param comment
+	 * @return
+	 */
+	public Rooms updateRoomsSelf(long user_id, long user_level, long rooms_id,
+			long roomtypes_id, String name, boolean ispublic, String comment) {
+		try {
+			if (authLevelManagement.checkModLevel(user_level)) {
+
+				if (this.checkUserOrgRoom(user_id, rooms_id)) {
+
+					Rooms r = this.getRoomById(rooms_id);
+					r.setComment(comment);
+					r.setIspublic(ispublic);
+					r.setName(name);
+					r.setRoomtype(this.getRoomTypesById(roomtypes_id));
+					r.setUpdatetime(new Date());
+
+					if (r.getRooms_id() == null) {
+						em.persist(r);
+					} else {
+						if (!em.contains(r)) {
+							em.merge(r);
+						}
+					}
+				}
+			}
+		} catch (Exception ex2) {
+			log.error("[updateRoom] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * Update a Record in the rooms table
+	 * @param rooms_id
+	 * @param roomtypes_id
+	 * @param name
+	 * @param ispublic
+	 * @param comment
+	 * @param hideActivitiesAndActions TODO
+	 * @param hideFilesExplorer TODO
+	 * @param hideActionsMenu TODO
+	 * @param hideScreenSharing TODO
+	 * @param hideWhiteboard TODO
+	 * @return
+	 */
+	public Long updateRoom(long user_level, long rooms_id, long roomtypes_id,
+			String name, boolean ispublic, String comment,
+			Long numberOfPartizipants, List<Integer> organisations,
+			Boolean appointment, Boolean isDemoRoom, Integer demoTime,
+			Boolean isModeratedRoom, List<Map<String, Object>> roomModerators,
+			Boolean allowUserQuestions, Boolean isAudioOnly, Boolean isClosed,
+			String redirectURL, String sipNumber, String conferencePin,
+			Long ownerId, Boolean waitForRecording, Boolean allowRecording,
+			Boolean hideTopBar, Boolean hideChat, Boolean hideActivitiesAndActions, 
+			Boolean hideFilesExplorer, Boolean hideActionsMenu, Boolean hideScreenSharing, Boolean hideWhiteboard,
+			Boolean showMicrophoneStatus) {
+		try {
+
+			log.debug("*** updateRoom numberOfPartizipants: "
+					+ numberOfPartizipants);
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+
+				return this.updateRoomInternal(rooms_id, roomtypes_id, name,
+						ispublic, comment, numberOfPartizipants, organisations,
+						appointment, isDemoRoom, demoTime, isModeratedRoom,
+						roomModerators, allowUserQuestions, isAudioOnly,
+						isClosed, redirectURL, sipNumber, conferencePin,
+						ownerId, waitForRecording, allowRecording, hideTopBar, hideChat, 
+						hideActivitiesAndActions, hideFilesExplorer, hideActionsMenu, 
+						hideScreenSharing, hideWhiteboard, showMicrophoneStatus);
+
+			}
+
+		} catch (Exception ex2) {
+			log.error("[updateRoom] ", ex2);
+		}
+		return null;
+	}
+
+	public Long updateRoomInternal(long rooms_id, long roomtypes_id,
+			String name, boolean ispublic, String comment,
+			Long numberOfPartizipants, List<Integer> organisations,
+			Boolean appointment, Boolean isDemoRoom, Integer demoTime,
+			Boolean isModeratedRoom, List<Map<String, Object>> roomModerators,
+			Boolean allowUserQuestions, Boolean isAudioOnly, Boolean isClosed,
+			String redirectURL, String sipNumber, String conferencePin,
+			Long ownerId, Boolean waitForRecording, Boolean allowRecording,
+			Boolean hideTopBar, Boolean hideChat, Boolean hideActivitiesAndActions, Boolean hideFilesExplorer, 
+			Boolean hideActionsMenu, Boolean hideScreenSharing, Boolean hideWhiteboard, 
+			Boolean showMicrophoneStatus) {
+		try {
+			log.debug("*** updateRoom numberOfPartizipants: "
+					+ numberOfPartizipants);
+			Rooms r = this.getRoomById(rooms_id);
+			r.setComment(comment);
+
+			r.setIspublic(ispublic);
+			r.setNumberOfPartizipants(numberOfPartizipants);
+			r.setName(name);
+			r.setRoomtype(this.getRoomTypesById(roomtypes_id));
+			r.setUpdatetime(new Date());
+			r.setAllowUserQuestions(allowUserQuestions);
+			r.setIsAudioOnly(isAudioOnly);
+
+			r.setIsDemoRoom(isDemoRoom);
+			r.setDemoTime(demoTime);
+
+			r.setAppointment(appointment);
+
+			r.setIsModeratedRoom(isModeratedRoom);
+			r.setHideTopBar(hideTopBar);
+
+			r.setIsClosed(isClosed);
+			r.setRedirectURL(redirectURL);
+
+			r.setSipNumber(sipNumber);
+			r.setConferencePin(conferencePin);
+			r.setOwnerId(ownerId);
+
+			r.setWaitForRecording(waitForRecording);
+			r.setAllowRecording(allowRecording);
+			
+			r.setHideChat(hideChat);
+			r.setHideActivitiesAndActions(hideActivitiesAndActions);
+			r.setHideActionsMenu(hideActionsMenu);
+			r.setHideFilesExplorer(hideFilesExplorer);
+			r.setHideScreenSharing(hideScreenSharing);
+			r.setHideWhiteboard(hideWhiteboard);
+			r.setShowMicrophoneStatus(showMicrophoneStatus);
+
+			if (r.getRooms_id() == null) {
+				em.persist(r);
+			} else {
+				if (!em.contains(r)) {
+					r = em.merge(r);
+				}
+			}
+
+			if (organisations != null) {
+				Long t = this.updateRoomOrganisations(organisations, r);
+				if (t == null)
+					return null;
+			}
+			if (roomModerators != null) {
+				roomModeratorsDao.updateRoomModeratorByUserList(roomModerators,
+						r.getRooms_id());
+			}
+
+			return r.getRooms_id();
+		} catch (Exception ex2) {
+			log.error("[updateRoom] ", ex2);
+		}
+		return null;
+	}
+
+	public Long updateRoomByMod(long user_level, long rooms_id,
+			long roomtypes_id, String name, boolean ispublic, String comment,
+			Long numberOfPartizipants, Long organisations, Boolean appointment,
+			Boolean isDemoRoom, Integer demoTime, Boolean isModeratedRoom,
+			List<Map<String, Object>> roomModerators, Boolean allowUserQuestions) {
+		try {
+			log.debug("*** updateRoom numberOfPartizipants: "
+					+ numberOfPartizipants);
+			if (authLevelManagement.checkModLevel(user_level)) {
+				Rooms r = this.getRoomById(rooms_id);
+				r.setComment(comment);
+
+				r.setIspublic(ispublic);
+				r.setNumberOfPartizipants(numberOfPartizipants);
+				r.setName(name);
+				r.setRoomtype(this.getRoomTypesById(roomtypes_id));
+				r.setUpdatetime(new Date());
+				r.setAllowUserQuestions(allowUserQuestions);
+
+				r.setIsDemoRoom(isDemoRoom);
+				r.setDemoTime(demoTime);
+
+				r.setAppointment(appointment);
+
+				r.setIsModeratedRoom(isModeratedRoom);
+
+				if (r.getRooms_id() == null) {
+					em.persist(r);
+				} else {
+					if (!em.contains(r)) {
+						em.merge(r);
+					}
+				}
+
+				// FIXME: Organizations will not be changed when you do an
+				// update as Moderator
+
+				if (roomModerators != null) {
+					roomModeratorsDao.updateRoomModeratorByUserList(
+							roomModerators, r.getRooms_id());
+				}
+
+				return r.getRooms_id();
+			}
+		} catch (Exception ex2) {
+			log.error("[updateRoom] ", ex2);
+		}
+		return null;
+	}
+
+	@SuppressWarnings("rawtypes")
+	private boolean checkRoomAlreadyInOrg(Long orgid, List organisations)
+			throws Exception {
+		for (Iterator it = organisations.iterator(); it.hasNext();) {
+			Rooms_Organisation rOrganisation = (Rooms_Organisation) it.next();
+			if (rOrganisation.getOrganisation().getOrganisation_id()
+					.equals(orgid))
+				return true;
+		}
+		return false;
+	}
+
+	private boolean checkRoomShouldByDeleted(long orgId, List<Integer> organisations) throws Exception {
+		for (Iterator<Integer> it = organisations.iterator(); it.hasNext();) {
+			Integer key = it.next();
+			Long storedOrgId = key.longValue();
+			if (storedOrgId.equals(orgId))
+				return true;
+		}
+		return false;
+	}
+
+	private Long updateRoomOrganisations(List<Integer> organisations, Rooms room)
+			throws Exception {
+		List<Rooms_Organisation> roomOrganisations = this.getOrganisationsByRoom(3,
+				room.getRooms_id());
+
+		List<Long> roomsToAdd = new LinkedList<Long>();
+		List<Long> roomsToDel = new LinkedList<Long>();
+
+		for (Iterator<Integer> it = organisations.iterator(); it.hasNext();) {
+			Integer key = it.next();
+			Long orgIdToAdd = key.longValue();
+			if (!this.checkRoomAlreadyInOrg(orgIdToAdd, roomOrganisations))
+				roomsToAdd.add(orgIdToAdd);
+		}
+
+		for (Iterator<Rooms_Organisation> it = roomOrganisations.iterator(); it.hasNext();) {
+			Rooms_Organisation rOrganisation = it.next();
+			Long orgIdToDel = rOrganisation.getOrganisation()
+					.getOrganisation_id();
+			if (!this.checkRoomShouldByDeleted(orgIdToDel, organisations))
+				roomsToDel.add(orgIdToDel);
+		}
+
+		// log.error("updateRoomOrganisations roomsToAdd: "+roomsToAdd.size());
+		// log.error("updateRoomOrganisations roomsToDel: "+roomsToDel.size());
+
+		for (Iterator<Long> it = roomsToAdd.iterator(); it.hasNext();) {
+			Long orgIdToAdd = it.next();
+			this.addRoomToOrganisation(3, room.getRooms_id(), orgIdToAdd);
+		}
+		for (Iterator<Long> it = roomsToDel.iterator(); it.hasNext();) {
+			Long orgToDel = it.next();
+			this.deleteRoomFromOrganisationByRoomAndOrganisation(
+					room.getRooms_id(), orgToDel);
+		}
+
+		return new Long(1);
+	}
+
+	/**
+	 * delete all Rooms_Organisations and Room by a given room_id
+	 * 
+	 * @param rooms_id
+	 */
+	public Long deleteRoomById(long user_level, long rooms_id) {
+		try {
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				this.deleteAllRoomsOrganisationOfRoom(rooms_id);
+				return this.deleteRoom(this.getRoomById(rooms_id));
+			}
+		} catch (Exception ex2) {
+			log.error("[deleteRoomById] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * deletes a Room by given Room-Object
+	 * 
+	 * @param r
+	 */
+	public Long deleteRoom(Rooms r) {
+		log.debug("deleteRoom");
+		try {
+			r.setDeleted("true");
+			r.setUpdatetime(new Date());
+			if (r.getRooms_id() == null) {
+				em.persist(r);
+			} else {
+				if (!em.contains(r)) {
+					em.merge(r);
+				}
+			}
+			return r.getRooms_id();
+		} catch (Exception ex2) {
+			log.error("[deleteRoomsOrganisation] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * delete all Rooms_Organisation by a rooms_id
+	 * 
+	 * @param rooms_id
+	 */
+	@SuppressWarnings("rawtypes")
+	public void deleteAllRoomsOrganisationOfRoom(long rooms_id) {
+		try {
+			List ll = this.getRoomsOrganisationByRoomsId(rooms_id);
+			for (Iterator it = ll.iterator(); it.hasNext();) {
+				Rooms_Organisation rOrg = (Rooms_Organisation) it.next();
+				this.deleteRoomsOrganisation(rOrg);
+			}
+		} catch (Exception ex2) {
+			log.error("[deleteAllRoomsOrganisationOfRoom] ", ex2);
+		}
+	}
+
+	/**
+	 * Delete all room of a given Organisation
+	 * 
+	 * @param organisation_id
+	 */
+	@SuppressWarnings("rawtypes")
+	public void deleteAllRoomsOrganisationOfOrganisation(long organisation_id) {
+		try {
+			List ll = this.getRoomsOrganisationByOrganisationId(3,
+					organisation_id);
+			for (Iterator it = ll.iterator(); it.hasNext();) {
+				Rooms_Organisation rOrg = (Rooms_Organisation) it.next();
+				this.deleteRoomsOrganisation(rOrg);
+			}
+		} catch (Exception ex2) {
+			log.error("[deleteAllRoomsOfOrganisation] ", ex2);
+		}
+	}
+
+	/**
+	 * Delete a Rooms_Organisation by its id
+	 * 
+	 * @param rooms_organisation_id
+	 */
+	public Long deleteRoomsOrganisationByID(long rooms_organisation_id) {
+		try {
+			Rooms_Organisation rOrg = this
+					.getRoomsOrganisationById(rooms_organisation_id);
+			return this.deleteRoomsOrganisation(rOrg);
+		} catch (Exception ex2) {
+			log.error("[deleteRoomsOrganisationByID] ", ex2);
+		}
+		return null;
+	}
+
+	private Long deleteRoomFromOrganisationByRoomAndOrganisation(long rooms_id,
+			long organisation_id) {
+		try {
+			Rooms_Organisation rOrganisation = this
+					.getRoomsOrganisationByOrganisationIdAndRoomId(
+							organisation_id, rooms_id);
+			return this.deleteRoomsOrganisation(rOrganisation);
+		} catch (Exception ex2) {
+			log.error("[deleteRoomFromOrganisationByRoomAndOrganisation] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * delete a Rooms_Organisation-Object
+	 * 
+	 * @param rOrg
+	 */
+	public Long deleteRoomsOrganisation(Rooms_Organisation rOrg) {
+		try {
+			rOrg.setDeleted("true");
+			rOrg.setUpdatetime(new Date());
+			if (rOrg.getRooms_organisation_id() == null) {
+				em.persist(rOrg);
+			} else {
+				if (!em.contains(rOrg)) {
+					em.merge(rOrg);
+				}
+			}
+			return rOrg.getRooms_organisation_id();
+		} catch (Exception ex2) {
+			log.error("[deleteRoomsOrganisation] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * Update Room Object
+	 */
+	// --------------------------------------------------------------------------------------------
+	public void updateRoomObject(Rooms room) {
+		log.debug("updateRoomObject " + room.getIsClosed());
+
+		try {
+			if (room.getRooms_id() == null) {
+				em.persist(room);
+			} else {
+				if (!em.contains(room)) {
+					em.merge(room);
+				}
+			}
+		} catch (Exception e) {
+			log.error("Error updateRoomObject : ", e);
+		}
+	}
+
+	// --------------------------------------------------------------------------------------------
+
+	public void closeRoom(Long rooms_id, Boolean status) {
+		try {
+
+			Rooms room = this.getRoomById(rooms_id);
+
+			room.setIsClosed(status);
+
+			this.updateRoomObject(room);
+
+		} catch (Exception e) {
+			log.error("Error updateRoomObject : ", e);
+		}
+	}
+
+	/**
+	 * Get a Rooms-Object or NULL
+	 * 
+	 * @param rooms_id
+	 * @return Rooms-Object or NULL
+	 */
+	public Rooms getRoomByOwnerAndTypeId(Long ownerId, Long roomtypesId,
+			String roomName) {
+		try {
+
+			if (roomtypesId == null || roomtypesId == 0) {
+				return null;
+			}
+			log.debug("getRoomByOwnerAndTypeId : " + ownerId + " || "
+					+ roomtypesId);
+
+			String hql = "select c from Rooms as c "
+					+ "where c.ownerId = :ownerId "
+					+ "AND c.roomtype.roomtypes_id = :roomtypesId "
+					+ "AND c.deleted <> :deleted";
+
+			Rooms room = null;
+
+			TypedQuery<Rooms> query = em.createQuery(hql, Rooms.class);
+			query.setParameter("ownerId", ownerId);
+			query.setParameter("roomtypesId", roomtypesId);
+			query.setParameter("deleted", "true");
+			List<Rooms> ll = query.getResultList();
+			if (ll.size() > 0) {
+				room = ll.get(0);
+			}
+
+			if (room != null) {
+				return room;
+			} else {
+				log.debug("Could not find room " + ownerId + " || "
+						+ roomtypesId);
+				
+				Long rooms_id = this.addRoom(3L, roomName, roomtypesId,
+						"My Rooms of ownerId " + ownerId,
+						(roomtypesId == 1) ? 25L : 150L, // numberOfPartizipants
+						false, // ispublic
+						null, // organisations
+						false, // appointment
+						false, // isDemoRoom
+						null, // demoTime
+						false, // isModeratedRoom
+						null, // roomModerators
+						true, // allowUserQuestions
+						false, // isAudioOnly
+						false, // isClosed
+						"", // redirectURL
+						"", // sipNumber
+						"", // conferencePin
+						ownerId, null, null, 
+						false, // hideTopBar
+						false, // hideChat
+						false, // hideActivitiesAndActions
+						false, // hideFilesExplorer
+						false, // hideActionsMenu
+						false, // hideScreenSharing 
+						false, // hideWhiteboard
+						false //showMicrophoneStatus
+						);
+
+				if (rooms_id != null) {
+					return this.getRoomById(rooms_id);
+				}
+			}
+		} catch (Exception ex2) {
+			log.error("[getRoomByOwnerAndTypeId] ", ex2);
+		}
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/conference/dao/RoomModeratorsDaoImpl.java b/src/org/openmeetings/app/data/conference/dao/RoomModeratorsDaoImpl.java
new file mode 100644
index 0000000..6bf9187
--- /dev/null
+++ b/src/org/openmeetings/app/data/conference/dao/RoomModeratorsDaoImpl.java
@@ -0,0 +1,324 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.conference.dao;
+
+import java.util.Date;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.persistence.beans.rooms.RoomModerators;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class RoomModeratorsDaoImpl {
+
+	private static final Logger log = Red5LoggerFactory
+			.getLogger(RoomModeratorsDaoImpl.class);
+	@Autowired
+	private Usermanagement userManagement;
+	@PersistenceContext
+	private EntityManager em;
+
+	/**
+	 * 
+	 * @param us
+	 * @param isSuperModerator
+	 * @return
+	 */
+	public Long addRoomModeratorByUserId(Users us, Boolean isSuperModerator,
+			Long roomId) {
+		try {
+			RoomModerators rModerator = new RoomModerators();
+			rModerator.setUser(us);
+			rModerator.setIsSuperModerator(isSuperModerator);
+			rModerator.setStarttime(new Date());
+			rModerator.setDeleted("false");
+			rModerator.setRoomId(roomId);
+			rModerator = em.merge(rModerator);
+			long rModeratorId = rModerator.getRoomModeratorsId();
+			return rModeratorId;
+		} catch (Exception ex2) {
+			log.error("[addRoomModeratorByUserId] ", ex2);
+		}
+		return null;
+	}
+
+	public Long addRoomModeratorByObj(RoomModerators rModerator) {
+		try {
+			rModerator.setStarttime(new Date());
+			rModerator = em.merge(rModerator);
+			long rModeratorId = rModerator.getRoomModeratorsId();
+			return rModeratorId;
+		} catch (Exception ex2) {
+			log.error("[addRoomModeratorByUserId] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * get all available RoomTypes
+	 * 
+	 * @return List of RoomTypes
+	 */
+	public RoomModerators getRoomModeratorById(Long roomModeratorsId) {
+		try {
+			String hql = "select c from RoomModerators as c where c.roomModeratorsId = :roomModeratorsId";
+
+			TypedQuery<RoomModerators> query = em.createQuery(hql, RoomModerators.class);
+
+			query.setParameter("roomModeratorsId", roomModeratorsId);
+
+			RoomModerators roomModerators = null;
+			try {
+				roomModerators = query.getSingleResult();
+			} catch (NoResultException ex) {
+			}
+
+			return roomModerators;
+
+		} catch (Exception ex2) {
+			log.error("[getRoomModeratorById] ", ex2);
+		}
+		return null;
+	}
+
+	public List<RoomModerators> getRoomModeratorByRoomId(Long roomId) {
+		try {
+
+			String hql = "select c from RoomModerators as c "
+					+ "where c.roomId = :roomId AND c.deleted <> :deleted";
+
+			TypedQuery<RoomModerators> query = em.createQuery(hql, RoomModerators.class);
+
+			query.setParameter("deleted", "true");
+			query.setParameter("roomId", roomId);
+
+			List<RoomModerators> roomModerators = query.getResultList();
+
+			return roomModerators;
+
+		} catch (Exception ex2) {
+			log.error("[getRoomModeratorByRoomId] ", ex2);
+			ex2.printStackTrace();
+		}
+		return null;
+	}
+
+	public List<RoomModerators> getRoomModeratorByUserAndRoomId(Long roomId,
+			Long user_id) {
+		try {
+
+			String hql = "select c from RoomModerators as c "
+					+ "where c.roomId = :roomId "
+					+ "AND c.deleted <> :deleted "
+					+ "AND c.user.user_id = :user_id";
+
+			TypedQuery<RoomModerators> query = em.createQuery(hql, RoomModerators.class);
+
+			query.setParameter("deleted", "true");
+			query.setParameter("roomId", roomId);
+			query.setParameter("user_id", user_id);
+
+			List<RoomModerators> roomModerators = query.getResultList();
+
+			return roomModerators;
+
+		} catch (Exception ex2) {
+			log.error("[getRoomModeratorByUserAndRoomId] ", ex2);
+			ex2.printStackTrace();
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param roomModeratorsId
+	 */
+	public void removeRoomModeratorByUserId(Long roomModeratorsId) {
+		try {
+			RoomModerators rModerator = this
+					.getRoomModeratorById(roomModeratorsId);
+
+			if (rModerator == null) {
+				return;
+			}
+
+			rModerator.setUpdatetime(new Date());
+			rModerator.setDeleted("true");
+
+			if (rModerator.getRoomModeratorsId() == 0) {
+				em.persist(rModerator);
+			} else {
+				if (!em.contains(rModerator)) {
+					em.merge(rModerator);
+				}
+			}
+
+		} catch (Exception ex2) {
+			log.error("[removeRoomModeratorByUserId] ", ex2);
+		}
+	}
+
+	public void updateRoomModeratorByUserId(Long roomModeratorsId,
+			Boolean isSuperModerator) {
+		try {
+			RoomModerators rModerator = this
+					.getRoomModeratorById(roomModeratorsId);
+
+			if (rModerator == null) {
+				return;
+			}
+
+			rModerator.setIsSuperModerator(isSuperModerator);
+			rModerator.setUpdatetime(new Date());
+
+			if (rModerator.getRoomModeratorsId() == 0) {
+				em.persist(rModerator);
+			} else {
+				if (!em.contains(rModerator)) {
+					em.merge(rModerator);
+				}
+			}
+
+		} catch (Exception ex2) {
+			log.error("[updateRoomModeratorByUserId] ", ex2);
+		}
+	}
+
+	public void addRoomModeratorByUserList(
+			List<Map<String, Object>> roomModerators, Long roomId) {
+		try {
+
+			for (Iterator<Map<String, Object>> iter = roomModerators.iterator(); iter
+					.hasNext();) {
+
+				Map<String, Object> roomModeratorObj = iter.next();
+
+				Long userId = Long.parseLong(roomModeratorObj.get("userId")
+						.toString());
+				Boolean isSuperModerator = Boolean
+						.parseBoolean(roomModeratorObj.get("isSuperModerator")
+								.toString());
+
+				this.addRoomModeratorByUserId(
+						userManagement.getUserById(userId), isSuperModerator,
+						roomId);
+
+			}
+
+		} catch (Exception ex2) {
+			log.error("[addRoomModeratorByUserList] ", ex2);
+			ex2.printStackTrace();
+		}
+	}
+
+	public void updateRoomModeratorByUserList(
+			List<Map<String, Object>> roomModerators, Long roomId) {
+		try {
+
+			// getLsit of RoomModerators before you add new ones
+			List<RoomModerators> remoteRoomModeratorList = this
+					.getRoomModeratorByRoomId(roomId);
+
+			for (Iterator<Map<String, Object>> iter = roomModerators.iterator(); iter
+					.hasNext();) {
+
+				Map<String, Object> roomModeratorObj = iter.next();
+
+				Long roomModeratorsId = Long.parseLong(roomModeratorObj.get(
+						"roomModeratorsId").toString());
+				Long userId = Long.parseLong(roomModeratorObj.get("userId")
+						.toString());
+				Boolean isSuperModerator = Boolean
+						.parseBoolean(roomModeratorObj.get("isSuperModerator")
+								.toString());
+
+				if (roomModeratorsId == null || roomModeratorsId == 0) {
+					Long newRoomModeratorId = this.addRoomModeratorByUserId(
+							userManagement.getUserById(userId),
+							isSuperModerator, roomId);
+
+					roomModeratorObj
+							.put("roomModeratorsId", newRoomModeratorId);
+
+				} else {
+					this.updateRoomModeratorByUserId(roomModeratorsId,
+							isSuperModerator);
+				}
+
+			}
+
+			// Check for items to delete
+			List<RoomModerators> roomModeratorsToDelete = new LinkedList<RoomModerators>();
+
+			if (remoteRoomModeratorList != null) {
+
+				for (RoomModerators roomModerator : remoteRoomModeratorList) {
+
+					boolean found = false;
+
+					for (Iterator<Map<String, Object>> iter = roomModerators
+							.iterator(); iter.hasNext();) {
+						Map<String, Object> roomModeratorObj = iter.next();
+
+						Long roomModeratorsId = Long.parseLong(roomModeratorObj
+								.get("roomModeratorsId").toString());
+
+						if (roomModerator.getRoomModeratorsId() == roomModeratorsId
+								.longValue()) {
+							found = true;
+							break;
+						}
+
+					}
+
+					if (!found) {
+						roomModeratorsToDelete.add(roomModerator);
+					}
+
+				}
+
+			}
+
+			for (RoomModerators rModerator : roomModeratorsToDelete) {
+				System.out.println("Remove Map "
+						+ rModerator.getRoomModeratorsId());
+				this.removeRoomModeratorByUserId(rModerator
+						.getRoomModeratorsId());
+			}
+
+		} catch (Exception ex2) {
+			log.error("[updateRoomModeratorByUserList] ", ex2);
+			ex2.printStackTrace();
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/file/FileProcessor.java b/src/org/openmeetings/app/data/file/FileProcessor.java
new file mode 100644
index 0000000..0c3cc56
--- /dev/null
+++ b/src/org/openmeetings/app/data/file/FileProcessor.java
@@ -0,0 +1,238 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.file;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.file.dao.FileExplorerItemDaoImpl;
+import org.openmeetings.app.data.flvrecord.converter.FlvExplorerConverter;
+import org.openmeetings.app.documents.GenerateImage;
+import org.openmeetings.app.documents.GeneratePDF;
+import org.openmeetings.app.documents.GenerateThumbs;
+import org.openmeetings.app.persistence.beans.files.FileExplorerItem;
+import org.openmeetings.utils.StoredFile;
+import org.openmeetings.utils.crypt.MD5;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class FileProcessor {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(FileProcessor.class, OpenmeetingsVariables.webAppRootKey);
+
+	//Spring loaded Beans
+	@Autowired
+	private FlvExplorerConverter flvExplorerConverter;
+	@Autowired
+	private FileExplorerItemDaoImpl fileExplorerItemDao;
+	@Autowired
+	private GenerateImage generateImage;
+	@Autowired
+	private GenerateThumbs generateThumbs;
+	@Autowired
+	private GeneratePDF generatePDF;
+
+	private String workingDir = "";
+	private String working_dirppt = "";
+
+	private void prepareFolderStructure(String current_dir) throws Exception {
+		
+		this.workingDir = current_dir + OpenmeetingsVariables.UPLOAD_DIR + File.separatorChar
+        						+ "files" + File.separatorChar;
+
+		// System.out.println("IS SYSTEM PROFILE");
+		// Add the Folder for the Room if it does not exist yet
+		File localFolder = new File(workingDir);
+		if (!localFolder.exists()) {
+		    localFolder.mkdir();
+		}
+		
+		this.working_dirppt = current_dir + OpenmeetingsVariables.UPLOAD_TEMP_DIR + File.separatorChar
+		        + "files" + File.separatorChar;
+		
+		// add Temp Folder Structure
+		File localFolderppt = new File(working_dirppt);
+		if (!localFolderppt.exists()) {
+		    localFolderppt.mkdir();
+		}
+		
+		log.debug("this.workingDir: " + this.workingDir);
+		
+	}
+	
+	public HashMap<String, HashMap<String, String>> processFile(Long userId, Long room_id, 
+			boolean isOwner, InputStream is, Long parentFolderId, String fileSystemName, 
+			String current_dir, Map<String, Object> hs, Long externalFileId, 
+			String externalType) throws Exception {
+		
+		HashMap<String, HashMap<String, String>> returnError = new HashMap<String, HashMap<String, String>>();
+		
+		HashMap<String, String> returnAttributes = new HashMap<String, String>();
+        returnAttributes.put("process", "");
+        returnAttributes.put("command", "");
+        returnAttributes.put("exitValue", "0");
+        returnAttributes.put("error","");
+		
+		//prepare the necessary folders
+		this.prepareFolderStructure(current_dir);
+		
+		int dotidx = fileSystemName.lastIndexOf('.');
+
+        // Generate a random string to prevent any problems with
+        // foreign characters and duplicates
+        Date d = new Date();
+        String newFileSystemName = MD5.do_checksum("FILE_" + d.getTime());
+
+        String newFileExtDot = fileSystemName.substring(dotidx, fileSystemName.length()).toLowerCase();
+        String newFileExt = newFileExtDot.substring(1);
+        log.debug("newFileExt: " + newFileExt);
+        StoredFile storedFile = new StoredFile(newFileSystemName, newFileExt); 
+
+        // Check variable to see if this file is a presentation
+        // check if this is a a file that can be converted by
+        // openoffice-service
+        boolean canBeConverted = storedFile.isConvertable();
+        boolean isPdf = storedFile.isPdf();
+        boolean isImage = storedFile.isImage();
+        boolean isChart = storedFile.isChart();
+        boolean isAsIs = storedFile.isAsIs();
+        boolean isVideo = storedFile.isVideo();
+
+        String completeName = "";
+        log.debug("isAsIs: " + isAsIs);
+
+        // add outputfolders for profiles
+        // if it is a presenation it will be copied to another place
+        if (!(canBeConverted || isPdf || isImage || isVideo || isAsIs)) {
+        	returnAttributes.put("error","The file type cannot be converted");
+        	returnAttributes.put("exitValue", "-1");
+            return returnError;
+        }
+
+        if (isAsIs) {
+            // check if this is a room file or UserProfile
+            completeName = workingDir + newFileSystemName;
+        } else {
+            completeName = working_dirppt + newFileSystemName;
+        }
+        log.debug("writing file to: " + completeName + newFileExtDot);
+        
+        returnAttributes.put("completeName", completeName);
+
+        FileOutputStream fos = new FileOutputStream(completeName + newFileExtDot);
+        byte[] buffer = new byte[1024];
+        int len = 0;
+
+        while (len != (-1)) {
+            len = is.read(buffer, 0, 1024);
+            if (len != (-1))
+                fos.write(buffer, 0, len);
+        }
+
+        fos.close();
+        is.close();
+
+        Long ownerId = null;
+        if (parentFolderId == -2) {
+            parentFolderId = 0L;
+            ownerId = userId;
+        }
+        if (isOwner) {
+            ownerId = userId;
+        }
+
+        String fileHashName = newFileSystemName + newFileExtDot;
+        Boolean isPresentation = false;
+        if (canBeConverted || isPdf) {
+            // In case of a presentation the hash is a folder-name
+            fileHashName = newFileSystemName;
+            isPresentation = true;
+        }
+        if (isImage) {
+            fileHashName = newFileSystemName + ".jpg";
+        }
+        if (isVideo) {
+            fileHashName = newFileSystemName + ".flv";
+        }
+
+        FileExplorerItem fileExplorerItem = fileExplorerItemDao.getFileExplorerItemsById(parentFolderId);
+
+        if (fileExplorerItem != null) {
+            if (fileExplorerItem.getIsFolder() == null
+                    || !fileExplorerItem.getIsFolder()) {
+                parentFolderId = 0L;
+            }
+        }
+
+        Long fileExplorerItemId = fileExplorerItemDao.add(
+                fileSystemName, fileHashName, // The Hashname of the file
+                parentFolderId, ownerId, room_id, userId, false, // isFolder
+                isImage, isPresentation, "", false, isChart, 
+                externalFileId, externalType);
+        log.debug("fileExplorerItemId: " + fileExplorerItemId);
+        
+        
+        returnAttributes.put("fileExplorerItemId", "" + fileExplorerItemId);
+        
+        log.debug("canBeConverted: " + canBeConverted);
+        if (canBeConverted) {
+            // convert to pdf, thumbs, swf and xml-description
+            returnError = generatePDF.convertPDF(current_dir,
+                    newFileSystemName, newFileExtDot, "files", true,
+                    completeName);
+        } else if (isPdf) {
+            // convert to thumbs, swf and xml-description
+            returnError = generatePDF.convertPDF(current_dir,
+                    newFileSystemName, newFileExtDot, "files", false,
+                    completeName);
+        } else if (isChart) {
+            log.debug("uploaded chart file");
+        } else if (isImage && !isAsIs) {
+            // convert it to JPG
+            log.debug("##### convert it to JPG: ");
+            returnError = generateImage.convertImage(current_dir,
+                    newFileSystemName, newFileExtDot, "files",
+                    newFileSystemName, false);
+        } else if (isAsIs) {
+            HashMap<String, String> processThumb = generateThumbs.generateThumb("_thumb_", current_dir, completeName, 50);
+            returnError.put("processThumb", processThumb);
+        } else if (isVideo) {
+        	List<HashMap<String, String>> returnList = flvExplorerConverter.startConversion(fileExplorerItemId, completeName + newFileExtDot);
+        	
+        	int i=0;
+        	for (HashMap<String, String> returnMap : returnList) {
+        		returnError.put("processFLV "+i, returnMap);
+        	}
+        	
+        }
+		
+        returnError.put("returnAttributes", returnAttributes);
+        
+		return returnError;
+		
+	}
+	
+}
diff --git a/src/org/openmeetings/app/data/file/FileUtils.java b/src/org/openmeetings/app/data/file/FileUtils.java
new file mode 100644
index 0000000..a6b1aaa
--- /dev/null
+++ b/src/org/openmeetings/app/data/file/FileUtils.java
@@ -0,0 +1,182 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.file;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.file.dao.FileExplorerItemDaoImpl;
+import org.openmeetings.app.persistence.beans.files.FileExplorerItem;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class FileUtils {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			FileProcessor.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private FileExplorerItemDaoImpl fileExplorerItemDao;
+
+	public long getSizeOfDirectoryAndSubs(FileExplorerItem fileExplorerItem) {
+		try {
+
+			long fileSize = 0;
+
+			File base = new File(new File(ScopeApplicationAdapter.webAppPath, OpenmeetingsVariables.UPLOAD_DIR), "files");
+			if (fileExplorerItem.getIsImage()) {
+
+				File tFile = new File(base, fileExplorerItem.getFileHash());
+				if (tFile.exists()) {
+					fileSize += tFile.length();
+				}
+
+				File thumbFile = new File(base, "_thumb_"
+						+ fileExplorerItem.getFileHash());
+				if (thumbFile.exists()) {
+					fileSize += thumbFile.length();
+				}
+
+			}
+
+			if (fileExplorerItem.getIsPresentation()) {
+
+				File tFolder = new File(base, fileExplorerItem.getFileHash());
+
+				if (tFolder.exists()) {
+					fileSize += getSize(tFolder);
+				}
+
+			}
+
+			log.debug("calling [1] FileExplorerItemDaoImpl.updateFileOrFolder()");
+			fileExplorerItemDao.updateFileOrFolder(fileExplorerItem);
+
+			FileExplorerItem[] childElements = fileExplorerItemDao
+					.getFileExplorerItemsByParent(fileExplorerItem
+							.getFileExplorerItemId());
+
+			for (FileExplorerItem childExplorerItem : childElements) {
+
+				fileSize += this.getSizeOfDirectoryAndSubs(childExplorerItem);
+
+			}
+
+			return fileSize;
+
+		} catch (Exception err) {
+			log.error("[getSizeOfDirectoryAndSubs] ", err);
+		}
+		return 0;
+	}
+
+	public static String getHumanSize(File dir) {
+		long size = getSize(dir);
+
+		if(size <= 0) return "0";
+		final String[] units = new String[] { "B", "KB", "MB", "GB", "TB" };
+		int digitGroups = (int) (Math.log10(size)/Math.log10(1024));
+		return new DecimalFormat("#,##0.#").format(size/Math.pow(1024, digitGroups)) + " " + units[digitGroups];
+	}
+
+	public static long getSize(File dir) {
+		long size = 0;
+		if (dir.isFile()) {
+			size = dir.length();
+		} else {
+			File[] subFiles = dir.listFiles();
+
+			for (File file : subFiles) {
+				if (file.isFile()) {
+					size += file.length();
+				} else {
+					size += getSize(file);
+				}
+
+			}
+		}
+		return size;
+	}
+
+	public void setFileToOwnerOrRoomByParent(FileExplorerItem fileExplorerItem,
+			Long users_id, Long room_id) {
+		try {
+
+			fileExplorerItem.setOwnerId(users_id);
+			fileExplorerItem.setRoom_id(room_id);
+
+			log.debug("calling [2] FileExplorerItemDaoImpl.updateFileOrFolder()");
+			fileExplorerItemDao.updateFileOrFolder(fileExplorerItem);
+
+			FileExplorerItem[] childElements = fileExplorerItemDao
+					.getFileExplorerItemsByParent(fileExplorerItem
+							.getFileExplorerItemId());
+
+			for (FileExplorerItem childExplorerItem : childElements) {
+
+				this.setFileToOwnerOrRoomByParent(childExplorerItem, users_id,
+						room_id);
+
+			}
+
+		} catch (Exception err) {
+			log.error("[setFileToOwnerOrRoomByParent] ", err);
+		}
+	}
+
+	public String formatDate(Date date) {
+		SimpleDateFormat formatter;
+		String pattern = "dd/MM/yy H:mm:ss";
+		Locale locale = new Locale("en", "US");
+		formatter = new SimpleDateFormat(pattern, locale);
+		return formatter.format(date);
+	}
+
+	public void copyFile(String sourceFile, String targetFile) {
+		try {
+			File f1 = new File(sourceFile);
+			File f2 = new File(targetFile);
+			InputStream in = new FileInputStream(f1);
+
+			// For Overwrite the file.
+			OutputStream out = new FileOutputStream(f2);
+
+			byte[] buf = new byte[1024];
+			int len;
+			while ((len = in.read(buf)) > 0) {
+				out.write(buf, 0, len);
+			}
+			in.close();
+			out.close();
+			System.out.println("File copied.");
+		} catch (Exception e) {
+			log.error("[copyfile]", e);
+		}
+	}
+}
diff --git a/src/org/openmeetings/app/data/file/dao/FileExplorerItemDaoImpl.java b/src/org/openmeetings/app/data/file/dao/FileExplorerItemDaoImpl.java
new file mode 100644
index 0000000..b1e623e
--- /dev/null
+++ b/src/org/openmeetings/app/data/file/dao/FileExplorerItemDaoImpl.java
@@ -0,0 +1,404 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.file.dao;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.persistence.beans.files.FileExplorerItem;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * @author sebastianwagner
+ * 
+ */
+@Transactional
+public class FileExplorerItemDaoImpl {
+
+    private static final Logger log = Red5LoggerFactory.getLogger(
+            FileExplorerItemDaoImpl.class,
+            OpenmeetingsVariables.webAppRootKey);
+	@PersistenceContext
+	private EntityManager em;
+
+    public Long add(String fileName, String fileHash,
+            Long parentFileExplorerItemId, Long ownerId, Long room_id,
+            Long insertedBy, Boolean isFolder, Boolean isImage,
+            Boolean isPresentation, String wmlFilePath,
+            Boolean isStoredWmlFile, Boolean isChart,
+            Long externalFileId, String externalType) {
+        log.debug(".add(): adding file " + fileName+ " roomID: "+room_id);
+        try {
+            FileExplorerItem fileItem = new FileExplorerItem();
+            fileItem.setFileName(fileName);
+            fileItem.setFileHash(fileHash);
+            fileItem.setDeleted("false");
+            fileItem.setParentFileExplorerItemId(parentFileExplorerItemId);
+            fileItem.setOwnerId(ownerId);
+            fileItem.setRoom_id(room_id);
+            fileItem.setInserted(new Date());
+            fileItem.setInsertedBy(insertedBy);
+            fileItem.setIsFolder(isFolder);
+            fileItem.setIsImage(isImage);
+            fileItem.setIsPresentation(isPresentation);
+            fileItem.setUpdated(new Date());
+            fileItem.setWmlFilePath(wmlFilePath);
+            fileItem.setIsStoredWmlFile(isStoredWmlFile);
+            fileItem.setIsChart(isChart);
+            fileItem.setExternalFileId(externalFileId);
+            fileItem.setExternalType(externalType);
+
+			fileItem = em.merge(fileItem);
+			Long fileItemId = fileItem.getFileExplorerItemId();
+
+            log.debug(".add(): file " + fileName + " added as " + fileItemId);
+            return fileItemId;
+        } catch (Exception ex2) {
+            log.error(".add(): ", ex2);
+        }
+        return null;
+    }
+    
+    public Long addFileExplorerItem(FileExplorerItem fileItem) {
+        try {
+
+			fileItem = em.merge(fileItem);
+			Long fileItemId = fileItem.getFileExplorerItemId();
+
+            return fileItemId;
+        } catch (Exception ex2) {
+            log.error("[addFileExplorerItem]", ex2);
+        }
+        return null;
+    }
+
+	public List<FileExplorerItem> getFileExplorerItemsByRoomAndOwner(
+            Long room_id, Long ownerId) {
+        log.debug(".getFileExplorerItemsByRoomAndOwner() started");
+        try {
+            String hql = "SELECT c FROM FileExplorerItem c "
+                    + "WHERE c.deleted <> :deleted "
+                    + "AND c.room_id = :room_id " + "AND c.ownerId = :ownerId "
+                    + "ORDER BY c.isFolder DESC, c.fileName ";
+
+			TypedQuery<FileExplorerItem> query = em.createQuery(hql, FileExplorerItem.class);
+			query.setParameter("deleted", "true");
+			query.setParameter("room_id",room_id);
+			query.setParameter("ownerId",ownerId);
+			
+			List<FileExplorerItem> fileExplorerList = query.getResultList();
+
+            return fileExplorerList;
+        } catch (Exception ex2) {
+            log.error("[getFileExplorerItemsByRoomAndOwner]: ", ex2);
+        }
+        return null;
+    }
+
+    public FileExplorerItem[] getFileExplorerItemsByRoom(Long room_id,
+            Long parentFileExplorerItemId) {
+        log.debug("getFileExplorerItemsByRoom room_id :: "+room_id);
+        try {
+
+			String hql = "SELECT c FROM FileExplorerItem c " +
+					"WHERE c.deleted <> :deleted " +
+					"AND c.room_id = :room_id " +
+					"AND c.ownerId IS NULL " +
+					"AND c.parentFileExplorerItemId = :parentFileExplorerItemId " +
+					"ORDER BY c.isFolder DESC, c.fileName ";
+			
+			TypedQuery<FileExplorerItem> query = em.createQuery(hql, FileExplorerItem.class);
+			query.setParameter("deleted", "true");
+			query.setParameter("room_id",room_id);
+			query.setParameter("parentFileExplorerItemId", parentFileExplorerItemId);
+			
+	        FileExplorerItem[] fileExplorerList = query.getResultList().toArray(new FileExplorerItem[0]);
+			
+			return fileExplorerList;
+        } catch (Exception ex2) {
+            log.error("[getFileExplorerRootItemsByRoom]: ", ex2);
+        }
+        return null;
+    }
+
+    public FileExplorerItem[] getFileExplorerItemsByOwner(Long ownerId,
+            Long parentFileExplorerItemId) {
+        log.debug(".getFileExplorerItemsByOwner() started");
+        try {
+
+            String hql = "SELECT c FROM FileExplorerItem c "
+                    + "WHERE c.deleted <> :deleted "
+                    + "AND c.ownerId = :ownerId "
+                    + "AND c.parentFileExplorerItemId = :parentFileExplorerItemId "
+                    + "ORDER BY c.isFolder DESC, c.fileName ";
+
+			TypedQuery<FileExplorerItem> query = em.createQuery(hql, FileExplorerItem.class);
+			query.setParameter("deleted", "true");
+			query.setParameter("ownerId",ownerId);
+			query.setParameter("parentFileExplorerItemId", parentFileExplorerItemId);
+			
+            FileExplorerItem[] fileExplorerList = query.getResultList().toArray(new FileExplorerItem[0]);
+
+            return fileExplorerList;
+        } catch (Exception ex2) {
+            log.error("[getFileExplorerRootItemsByOwner]: ", ex2);
+        }
+        return null;
+    }
+
+    public FileExplorerItem[] getFileExplorerItemsByParent(
+            Long parentFileExplorerItemId) {
+        log.debug(".getFileExplorerItemsByParent() started");
+        try {
+
+            String hql = "SELECT c FROM FileExplorerItem c "
+                    + "WHERE c.deleted <> :deleted "
+                    + "AND c.parentFileExplorerItemId = :parentFileExplorerItemId "
+                    + "ORDER BY c.isFolder DESC, c.fileName ";
+
+			TypedQuery<FileExplorerItem> query = em.createQuery(hql, FileExplorerItem.class);
+			query.setParameter("deleted", "true");
+			query.setParameter("parentFileExplorerItemId", parentFileExplorerItemId);
+			
+            FileExplorerItem[] fileExplorerList = query.getResultList().toArray(new FileExplorerItem[0]);
+
+            return fileExplorerList;
+        } catch (Exception ex2) {
+            log.error("[getFileExplorerRootItemsByOwner]: ", ex2);
+        }
+        return null;
+    }
+
+    public FileExplorerItem getFileExplorerItemsById(Long fileExplorerItemId) {
+        //log.debug(".getFileExplorerItemsById() started");
+
+        try {
+
+            String hql = "SELECT c FROM FileExplorerItem c "
+                    + "WHERE c.fileExplorerItemId = :fileExplorerItemId";
+
+			TypedQuery<FileExplorerItem> query = em.createQuery(hql, FileExplorerItem.class);
+			query.setParameter("fileExplorerItemId", fileExplorerItemId);
+			
+			FileExplorerItem fileExplorerList = null;
+			try {
+				fileExplorerList = query.getSingleResult();
+		    } catch (NoResultException ex) {
+		    }
+
+            return fileExplorerList;
+        } catch (Exception ex2) {
+            log.error("[getFileExplorerItemsById]: ", ex2);
+        }
+        return null;
+    }
+    
+    public FileExplorerItem getFileExplorerItemsByExternalIdAndType(Long externalFileId, String externalType) {
+        log.debug(".getFileExplorerItemsByExternalIdAndType() started");
+
+        try {
+
+            String hql = "SELECT c FROM FileExplorerItem c "
+                    + "WHERE c.externalFileId = :externalFileId " +
+            		"AND c.externalType LIKE :externalType";
+
+			TypedQuery<FileExplorerItem> query = em.createQuery(hql, FileExplorerItem.class);
+			query.setParameter("externalFileId", externalFileId);
+			query.setParameter("externalType", externalType);
+			
+			FileExplorerItem fileExplorerList = null;
+			try {
+				fileExplorerList = query.getSingleResult();
+		    } catch (NoResultException ex) {
+		    }
+
+            return fileExplorerList;
+        } catch (Exception ex2) {
+            log.error("[getFileExplorerItemsByExternalIdAndType]: ", ex2);
+        }
+        return null;
+    }
+
+    public List<FileExplorerItem> getFileExplorerItems() {
+        log.debug(".getFileExplorerItemsById() started");
+
+        try {
+
+            String hql = "SELECT c FROM FileExplorerItem c ";
+
+			TypedQuery<FileExplorerItem> query = em.createQuery(hql, FileExplorerItem.class);
+
+            List<FileExplorerItem> fileExplorerList = query.getResultList();
+
+            return fileExplorerList;
+        } catch (Exception ex2) {
+            log.error("[getFileExplorerItemsById]: ", ex2);
+        }
+        return null;
+    }    
+
+    /**
+     * @param fileExplorerItemId
+     */
+    public void deleteFileExplorerItem(Long fileExplorerItemId) {
+        log.debug(".deleteFileExplorerItem() started");
+
+        try {
+
+            FileExplorerItem fId = this
+                    .getFileExplorerItemsById(fileExplorerItemId);
+
+            fId.setDeleted("true");
+            fId.setUpdated(new Date());
+
+			if (fId.getFileExplorerItemId() == 0) {
+				em.persist(fId);
+		    } else {
+		    	if (!em.contains(fId)) {
+		    		em.merge(fId);
+			    }
+			}
+        } catch (Exception ex2) {
+            log.error("[deleteFileExplorerItem]: ", ex2);
+        }
+    }
+    
+    public void deleteFileExplorerItemByExternalIdAndType(Long externalFilesid, String externalType) {
+        log.debug(".deleteFileExplorerItemByExternalIdAndType() started");
+
+        try {
+
+            FileExplorerItem fId = this
+                    .getFileExplorerItemsByExternalIdAndType(externalFilesid, externalType);
+
+            if (fId == null) {
+            	throw new Exception("externalFilesid: "+externalFilesid+" and externalType: "+externalType+" Not found");
+            }
+            
+            fId.setDeleted("true");
+            fId.setUpdated(new Date());
+
+			if (fId.getFileExplorerItemId() == 0) {
+				em.persist(fId);
+		    } else {
+		    	if (!em.contains(fId)) {
+		    		em.merge(fId);
+			    }
+			}
+        } catch (Exception ex2) {
+            log.error("[deleteFileExplorerItemByExternalIdAndType]: ", ex2);
+        }
+    }
+
+    /**
+     * @param fileExplorerItemId
+     * @param fileName
+     */
+    public void updateFileOrFolderName(Long fileExplorerItemId, String fileName) {
+        log.debug(".updateFileOrFolderName() started");
+
+        try {
+
+            FileExplorerItem fId = this
+                    .getFileExplorerItemsById(fileExplorerItemId);
+
+            fId.setFileName(fileName);
+            fId.setUpdated(new Date());
+
+			if (fId.getFileExplorerItemId() == 0) {
+				em.persist(fId);
+		    } else {
+		    	if (!em.contains(fId)) {
+		    		em.merge(fId);
+			    }
+			}
+        } catch (Exception ex2) {
+            log.error("[updateFileOrFolderName]: ", ex2);
+        }
+    }
+
+    public void updateFileOrFolder(FileExplorerItem fId) {
+        log.debug(".updateFileOrFolder() started");
+        try {
+            // fId.setUpdated(new Date());
+
+			if (fId.getFileExplorerItemId() == 0) {
+				em.persist(fId);
+		    } else {
+		    	if (!em.contains(fId)) {
+		    		em.merge(fId);
+			    }
+			}
+        } catch (Exception ex2) {
+            log.error("[updateFileOrFolder]: ", ex2);
+        }
+    }
+
+    /**
+     * @param fileExplorerItemId
+     * @param newParentFileExplorerItemId
+     * @param isOwner
+     */
+    public void moveFile(Long fileExplorerItemId,
+            Long parentFileExplorerItemId, Long room_id, Boolean isOwner,
+            Long ownerId) {
+        log.debug(".moveFile() started");
+        try {
+
+            FileExplorerItem fId = this
+                    .getFileExplorerItemsById(fileExplorerItemId);
+
+            fId.setParentFileExplorerItemId(parentFileExplorerItemId);
+
+            if (parentFileExplorerItemId == 0) {
+                if (isOwner) {
+                    // move to personal Folder
+                    fId.setOwnerId(ownerId);
+                } else {
+                    // move to public room folder
+                    fId.setOwnerId(null);
+                    fId.setRoom_id(room_id);
+                }
+            } else {
+                fId.setOwnerId(null);
+            }
+
+            fId.setUpdated(new Date());
+
+			if (fId.getFileExplorerItemId() == 0) {
+				em.persist(fId);
+		    } else {
+		    	if (!em.contains(fId)) {
+		    		em.merge(fId);
+			    }
+			}
+        } catch (Exception ex2) {
+            log.error("[updateFileOrFolderName]: ", ex2);
+        }
+    }
+
+}
diff --git a/src/org/openmeetings/app/data/file/dto/FileExplorerObject.java b/src/org/openmeetings/app/data/file/dto/FileExplorerObject.java
new file mode 100644
index 0000000..b83ccf2
--- /dev/null
+++ b/src/org/openmeetings/app/data/file/dto/FileExplorerObject.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.file.dto;
+
+import org.openmeetings.app.persistence.beans.files.FileExplorerItem;
+
+/**
+ * @author sebastianwagner
+ *
+ */
+public class FileExplorerObject {
+
+	private FileExplorerItem[] userHome;
+	private FileExplorerItem[] roomHome;
+	private Long userHomeSize;
+	private Long roomHomeSize;
+	
+	public FileExplorerItem[] getUserHome() {
+		return userHome;
+	}
+	public void setUserHome(FileExplorerItem[] userHome) {
+		this.userHome = userHome;
+	}
+	public FileExplorerItem[] getRoomHome() {
+		return roomHome;
+	}
+	public void setRoomHome(FileExplorerItem[] roomHome) {
+		this.roomHome = roomHome;
+	}
+	public Long getUserHomeSize() {
+		return userHomeSize;
+	}
+	public void setUserHomeSize(Long userHomeSize) {
+		this.userHomeSize = userHomeSize;
+	}
+	public Long getRoomHomeSize() {
+		return roomHomeSize;
+	}
+	public void setRoomHomeSize(Long roomHomeSize) {
+		this.roomHomeSize = roomHomeSize;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/data/file/dto/LibraryPresenationThumbs.java b/src/org/openmeetings/app/data/file/dto/LibraryPresenationThumbs.java
new file mode 100644
index 0000000..52bcb74
--- /dev/null
+++ b/src/org/openmeetings/app/data/file/dto/LibraryPresenationThumbs.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.file.dto;
+
+public class LibraryPresenationThumbs {
+
+	private String name = "";
+	private LibraryPresentationThumb[] thumbs = null;
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public LibraryPresentationThumb[] getThumbs() {
+		return thumbs;
+	}
+	public void setThumbs(LibraryPresentationThumb[] thumbs) {
+		this.thumbs = thumbs;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/data/file/dto/LibraryPresentation.java b/src/org/openmeetings/app/data/file/dto/LibraryPresentation.java
new file mode 100644
index 0000000..b107d7c
--- /dev/null
+++ b/src/org/openmeetings/app/data/file/dto/LibraryPresentation.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.file.dto;
+
+public class LibraryPresentation {
+
+	private LibraryPresentationFile originalDocument = null;
+	private LibraryPresentationFile pdfDocument = null;
+	private LibraryPresentationFile swfDocument = null;
+	private LibraryPresenationThumbs thumbs = null;
+	
+	public LibraryPresentationFile getOriginalDocument() {
+		return originalDocument;
+	}
+	public void setOriginalDocument(LibraryPresentationFile originalDocument) {
+		this.originalDocument = originalDocument;
+	}
+	public LibraryPresentationFile getPdfDocument() {
+		return pdfDocument;
+	}
+	public void setPdfDocument(LibraryPresentationFile pdfDocument) {
+		this.pdfDocument = pdfDocument;
+	}
+	public LibraryPresentationFile getSwfDocument() {
+		return swfDocument;
+	}
+	public void setSwfDocument(LibraryPresentationFile swfDocument) {
+		this.swfDocument = swfDocument;
+	}
+	public LibraryPresenationThumbs getThumbs() {
+		return thumbs;
+	}
+	public void setThumbs(LibraryPresenationThumbs thumbs) {
+		this.thumbs = thumbs;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/data/file/dto/LibraryPresentationFile.java b/src/org/openmeetings/app/data/file/dto/LibraryPresentationFile.java
new file mode 100644
index 0000000..f14c2bf
--- /dev/null
+++ b/src/org/openmeetings/app/data/file/dto/LibraryPresentationFile.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.file.dto;
+
+public class LibraryPresentationFile {
+
+	private String name = null;
+	private String filename = null;
+	private String lastmod = null;
+	private Long size = null;
+	
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public String getFilename() {
+		return filename;
+	}
+	public void setFilename(String filename) {
+		this.filename = filename;
+	}
+	public String getLastmod() {
+		return lastmod;
+	}
+	public void setLastmod(String lastmod) {
+		this.lastmod = lastmod;
+	}
+	public Long getSize() {
+		return size;
+	}
+	public void setSize(Long size) {
+		this.size = size;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/data/file/dto/LibraryPresentationThumb.java b/src/org/openmeetings/app/data/file/dto/LibraryPresentationThumb.java
new file mode 100644
index 0000000..f03ad59
--- /dev/null
+++ b/src/org/openmeetings/app/data/file/dto/LibraryPresentationThumb.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.file.dto;
+
+public class LibraryPresentationThumb {
+	
+	private String name = null;
+	private String filename = null;
+	private String lastmod = null;
+	private Long size = null;
+	
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public String getFilename() {
+		return filename;
+	}
+	public void setFilename(String filename) {
+		this.filename = filename;
+	}
+	public String getLastmod() {
+		return lastmod;
+	}
+	public void setLastmod(String lastmod) {
+		this.lastmod = lastmod;
+	}
+	public Long getSize() {
+		return size;
+	}
+	public void setSize(Long size) {
+		this.size = size;
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/flvrecord/FlvRecordingDaoImpl.java b/src/org/openmeetings/app/data/flvrecord/FlvRecordingDaoImpl.java
new file mode 100644
index 0000000..d4add30
--- /dev/null
+++ b/src/org/openmeetings/app/data/flvrecord/FlvRecordingDaoImpl.java
@@ -0,0 +1,574 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.flvrecord;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecording;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * @author sebastianwagner
+ *
+ */
+@Transactional
+public class FlvRecordingDaoImpl {
+	private static final Logger log = Red5LoggerFactory.getLogger(FlvRecordingDaoImpl.class,
+			OpenmeetingsVariables.webAppRootKey);
+	@PersistenceContext
+	private EntityManager em;
+	
+	public FlvRecording getFlvRecordingById(Long flvRecordingId) {
+		try { 
+			
+			String hql = "SELECT c FROM FlvRecording c " +
+					"WHERE c.flvRecordingId = :flvRecordingId";
+			
+			TypedQuery<FlvRecording> query = em.createQuery(hql, FlvRecording.class);
+			query.setParameter("flvRecordingId", flvRecordingId);
+			
+			FlvRecording flvRecording = null;
+			try {
+				flvRecording = query.getSingleResult();
+		    } catch (NoResultException ex) {
+		    }
+			return flvRecording;
+		} catch (Exception ex2) {
+			log.error("[getFlvRecordingById]: ",ex2);
+		}
+		return null;
+	}
+
+	public List<FlvRecording> getFlvRecordings() {
+		try { 
+			
+			String hql = "SELECT c FROM FlvRecording c " +
+							"WHERE c.deleted <> :deleted ";
+			
+			TypedQuery<FlvRecording> query = em.createQuery(hql, FlvRecording.class);
+			query.setParameter("deleted", "true");
+			
+			List<FlvRecording> flvRecordings = query.getResultList();
+			
+			return flvRecordings;
+		} catch (Exception ex2) {
+			log.error("[getFlvRecordings]: ",ex2);
+		}
+		return null;
+	}
+	
+	
+	public List<FlvRecording> getFlvRecordingByExternalUserId(String externalUserId) {
+		try { 
+			
+			log.debug("getFlvRecordingByExternalUserId :externalUserId: "+externalUserId);
+			
+			String hql = "SELECT c FROM FlvRecording c, Rooms r, Users u " +
+					"WHERE c.room_id = r.rooms_id " +
+					"AND c.insertedBy = u.user_id " +
+					"AND u.externalUserId LIKE :externalUserId " +
+					"AND c.deleted <> :deleted ";
+			
+			TypedQuery<FlvRecording> query = em.createQuery(hql, FlvRecording.class);
+			query.setParameter("externalUserId", externalUserId);
+			query.setParameter("deleted", "true");
+			
+			List<FlvRecording> flvRecordingList = query.getResultList();
+						
+			log.debug("getFlvRecordingByExternalRoomType :: "+flvRecordingList.size());
+			
+			return flvRecordingList;
+		} catch (Exception ex2) {
+			log.error("[getFlvRecordingByExternalRoomType]: ",ex2);
+		}
+		return null;
+	}
+	
+	public List<FlvRecording> getFlvRecordingByExternalRoomTypeAndCreator(String externalRoomType, Long insertedBy) {
+		try { 
+			
+			log.debug("getFlvRecordingByExternalRoomType :externalRoomType: "+externalRoomType);
+			
+			String hql = "SELECT c FROM FlvRecording c, Rooms r " +
+					"WHERE c.room_id = r.rooms_id " +
+					"AND r.externalRoomType LIKE :externalRoomType " +
+					"AND c.insertedBy LIKE :insertedBy " +
+					"AND c.deleted <> :deleted ";
+			
+			TypedQuery<FlvRecording> query = em.createQuery(hql, FlvRecording.class);
+			query.setParameter("externalRoomType", externalRoomType);
+			query.setParameter("insertedBy", insertedBy);
+			query.setParameter("deleted", "true");
+			
+			List<FlvRecording> flvRecordingList = query.getResultList();
+						
+			log.debug("getFlvRecordingByExternalRoomType :: "+flvRecordingList.size());
+			
+			return flvRecordingList;
+		} catch (Exception ex2) {
+			log.error("[getFlvRecordingByExternalRoomType]: ",ex2);
+		}
+		return null;
+	}
+	
+	public List<FlvRecording> getAllFlvRecordings() {
+		try { 
+			
+			String hql = "SELECT c FROM FlvRecording c ";
+			
+			TypedQuery<FlvRecording> query = em.createQuery(hql, FlvRecording.class);
+			
+			List<FlvRecording> flvRecordings = query.getResultList();
+			
+			return flvRecordings;
+		} catch (Exception ex2) {
+			log.error("[getFlvRecordings]: ",ex2);
+		}
+		return null;
+	}
+	
+	public List<FlvRecording> getFlvRecordingByExternalRoomType(String externalRoomType) {
+		try { 
+			
+			log.debug("getFlvRecordingByExternalRoomType :externalRoomType: "+externalRoomType);
+			
+			String hql = "SELECT c FROM FlvRecording c, Rooms r " +
+					"WHERE c.room_id = r.rooms_id " +
+					"AND r.externalRoomType LIKE :externalRoomType " +
+					"AND c.deleted <> :deleted ";
+			
+			TypedQuery<FlvRecording> query = em.createQuery(hql, FlvRecording.class);
+			query.setParameter("externalRoomType", externalRoomType);
+			query.setParameter("deleted", "true");
+			
+			List<FlvRecording> flvRecordingList = query.getResultList();
+			
+			log.debug("getFlvRecordingByExternalRoomType :: "+flvRecordingList.size());
+			
+			return flvRecordingList;
+		} catch (Exception ex2) {
+			log.error("[getFlvRecordingByExternalRoomType]: ",ex2);
+		}
+		return null;
+	}
+	
+	public List<FlvRecording> getFlvRecordingsPublic() {
+		try {
+			
+			String hql = "SELECT c FROM FlvRecording c " +
+					"WHERE c.deleted <> :deleted " +
+					"AND (c.ownerId IS NULL OR c.ownerId = 0)  " +
+					"AND (c.parentFileExplorerItemId IS NULL OR c.parentFileExplorerItemId = 0) " +
+					"ORDER BY c.isFolder DESC, c.fileName ";
+			
+			TypedQuery<FlvRecording> query = em.createQuery(hql, FlvRecording.class);
+			query.setParameter("deleted", "true");
+			
+			List<FlvRecording> flvRecordingList = query.getResultList();
+			return flvRecordingList;
+		} catch (Exception ex2) {
+			log.error("[getFlvRecordingsPublic]: ",ex2);
+		}
+		return null;
+	}
+	
+	public List<FlvRecording> getFlvRecordingRootByPublic(Long organization_id) {
+		try {
+			
+			String hql = "SELECT c FROM FlvRecording c " +
+					"WHERE c.deleted <> :deleted " +
+					"AND c.ownerId IS NULL " +
+					"AND c.organization_id = :organization_id " +
+					"AND (c.parentFileExplorerItemId IS NULL OR c.parentFileExplorerItemId = 0) " +
+					"ORDER BY c.isFolder DESC, c.fileName ";
+			
+			TypedQuery<FlvRecording> query = em.createQuery(hql, FlvRecording.class);
+			query.setParameter("organization_id", organization_id);
+			query.setParameter("deleted", "true");
+			
+			List<FlvRecording> flvRecordingList = query.getResultList();
+			
+			return flvRecordingList;
+		} catch (Exception ex2) {
+			log.error("[getFlvRecordingByOwner]: ",ex2);
+		}
+		return null;
+	}
+	
+	public List<FlvRecording> getFlvRecordingRootByOwner(Long ownerId) {
+		try {
+			
+			String hql = "SELECT c FROM FlvRecording c " +
+					"WHERE c.deleted <> :deleted " +
+					"AND c.ownerId = :ownerId " +
+					"AND (c.parentFileExplorerItemId IS NULL OR c.parentFileExplorerItemId = 0) " +
+					"ORDER BY c.isFolder DESC, c.fileName ";
+			
+			TypedQuery<FlvRecording> query = em.createQuery(hql, FlvRecording.class);
+			query.setParameter("deleted", "true");
+			query.setParameter("ownerId",ownerId);
+			
+			List<FlvRecording> flvRecordingList = query.getResultList();
+			
+			return flvRecordingList;
+		} catch (Exception ex2) {
+			log.error("[getFlvRecordingByOwner]: ",ex2);
+		}
+		return null;
+	}
+	
+	public List<FlvRecording> getFlvRecordingByOwner(Long ownerId, Long parentFileExplorerItemId) {
+		try {
+			
+			String hql = "SELECT c FROM FlvRecording c " +
+					"WHERE c.deleted <> :deleted " +
+					"AND c.ownerId = :ownerId " +
+					"AND (c.parentFileExplorerItemId IS NULL OR c.parentFileExplorerItemId = :parentFileExplorerItemId)" +
+					"ORDER BY c.isFolder DESC, c.fileName ";
+			
+			TypedQuery<FlvRecording> query = em.createQuery(hql, FlvRecording.class);
+			query.setParameter("deleted", "true");
+			query.setParameter("ownerId",ownerId);
+			query.setParameter("parentFileExplorerItemId", parentFileExplorerItemId);
+			
+			List<FlvRecording> flvRecordingList = query.getResultList();
+			
+			return flvRecordingList;
+		} catch (Exception ex2) {
+			log.error("[getFlvRecordingByOwner]: ",ex2);
+		}
+		return null;
+	}
+	
+	public List<FlvRecording> getFlvRecordingByRoomId(Long room_id) {
+		try {
+			
+			String hql = "SELECT c FROM FlvRecording c " +
+					"WHERE c.deleted <> :deleted " +
+					"AND c.room_id = :room_id " +
+					"ORDER BY c.isFolder DESC, c.fileName ";
+			
+			TypedQuery<FlvRecording> query = em.createQuery(hql, FlvRecording.class);
+			query.setParameter("deleted", "true");
+			query.setParameter("room_id",room_id);
+			
+			List<FlvRecording> flvRecordingList = query.getResultList();
+			
+			return flvRecordingList;
+		} catch (Exception ex2) {
+			log.error("[getFlvRecordingByOwner]: ",ex2);
+		}
+		return null;
+	}
+
+	public List<FlvRecording> getFlvRecordingByParent(Long parentFileExplorerItemId) {
+		try {
+			
+			String hql = "SELECT c FROM FlvRecording c " +
+					"WHERE c.deleted <> :deleted " +
+					"AND c.parentFileExplorerItemId = :parentFileExplorerItemId " +
+					"ORDER BY c.isFolder DESC, c.fileName ";
+			
+			TypedQuery<FlvRecording> query = em.createQuery(hql, FlvRecording.class);
+			query.setParameter("deleted", "true");
+			query.setParameter("parentFileExplorerItemId", parentFileExplorerItemId);
+			
+			List<FlvRecording> flvRecordingList = query.getResultList();
+			
+			return flvRecordingList;
+		} catch (Exception ex2) {
+			log.error("[getFlvRecordingByParent]: ",ex2);
+		}
+		return null;
+	}
+	
+	public Long addFlvFolderRecording(String fileHash, String fileName, Long fileSize, Long user_id, 
+			Long room_id, Date recordStart, Date recordEnd, Long ownerId, String comment, 
+			Long  parentFileExplorerItemId, Long organization_id) {
+		try { 
+			
+			FlvRecording flvRecording = new FlvRecording();
+			
+			flvRecording.setParentFileExplorerItemId(parentFileExplorerItemId);
+			
+			flvRecording.setDeleted("false");
+			flvRecording.setFileHash(fileHash);
+			flvRecording.setFileName(fileName);
+			flvRecording.setFileSize(fileSize);
+			flvRecording.setInserted(new Date());
+			flvRecording.setInsertedBy(user_id);
+			flvRecording.setIsFolder(true);
+			flvRecording.setIsImage(false);
+			flvRecording.setIsPresentation(false);
+			flvRecording.setIsRecording(true);
+			flvRecording.setComment(comment);
+			flvRecording.setOrganization_id(organization_id);
+			
+			flvRecording.setRoom_id(room_id);
+			flvRecording.setRecordStart(recordStart);
+			flvRecording.setRecordEnd(recordEnd);
+			
+			flvRecording.setOwnerId(ownerId);
+			
+			flvRecording = em.merge(flvRecording);
+			Long flvRecordingId = flvRecording.getFlvRecordingId();
+			
+			return flvRecordingId;
+		} catch (Exception ex2) {
+			log.error("[addFlvRecording]: ",ex2);
+		}
+		return null;
+	}
+	
+	public Long addFlvRecording(String fileHash, String fileName, Long fileSize, Long user_id, 
+			Long room_id, Date recordStart, Date recordEnd, Long ownerId, String comment, 
+			String recorderStreamId, Integer width, Integer height, Boolean isInterview) {
+		try { 
+			
+			FlvRecording flvRecording = new FlvRecording();
+			
+			flvRecording.setDeleted("false");
+			flvRecording.setFileHash(fileHash);
+			flvRecording.setFileName(fileName);
+			flvRecording.setFileSize(fileSize);
+			flvRecording.setInserted(new Date());
+			flvRecording.setInsertedBy(user_id);
+			flvRecording.setIsFolder(false);
+			flvRecording.setIsImage(false);
+			flvRecording.setIsPresentation(false);
+			flvRecording.setIsRecording(true);
+			flvRecording.setComment(comment);
+			flvRecording.setIsInterview(isInterview);
+			
+			flvRecording.setRoom_id(room_id);
+			flvRecording.setRecordStart(recordStart);
+			flvRecording.setRecordEnd(recordEnd);
+			
+			flvRecording.setWidth(width);
+			flvRecording.setHeight(height);
+			
+			flvRecording.setOwnerId(ownerId);
+			
+			flvRecording = em.merge(flvRecording);
+			Long flvRecordingId = flvRecording.getFlvRecordingId();
+			
+			return flvRecordingId;
+		} catch (Exception ex2) {
+			log.error("[addFlvRecording]: ",ex2);
+		}
+		return null;
+	}
+	
+	public Long addFlvRecordingObj(FlvRecording flvRecording) {
+		try { 
+			
+			flvRecording = em.merge(flvRecording);
+			Long flvRecordingId = flvRecording.getFlvRecordingId();
+			
+			return flvRecordingId;
+		} catch (Exception ex2) {
+			log.error("[addFlvRecording]: ",ex2);
+		}
+		return null;
+	}
+	
+	public void updateFlvRecordingOrganization(Long flvRecordingId, Long organization_id) {
+		try {
+			
+			FlvRecording fId = this.getFlvRecordingById(flvRecordingId);
+			
+			fId.setOrganization_id(organization_id);
+			
+			if (fId.getFlvRecordingId() == 0) {
+				em.persist(fId);
+		    } else {
+		    	if (!em.contains(fId)) {
+		    		em.merge(fId);
+			    }
+			}
+			
+		} catch (Exception ex2) {
+			log.error("[deleteFileExplorerItem]: ",ex2);
+		}
+	}
+	
+	public void updateFlvRecordingEndTime(Long flvRecordingId, Date recordEnd, Long organization_id) {
+		try {
+			
+			FlvRecording fId = this.getFlvRecordingById(flvRecordingId);
+			
+			fId.setProgressPostProcessing(0);
+			fId.setRecordEnd(recordEnd);
+			fId.setOrganization_id(organization_id);
+			
+			if (fId.getFlvRecordingId() == 0) {
+				em.persist(fId);
+		    } else {
+		    	if (!em.contains(fId)) {
+		    		em.merge(fId);
+			    }
+			}
+			
+		} catch (Exception ex2) {
+			log.error("[deleteFileExplorerItem]: ",ex2);
+		}
+	}
+	
+	public void updateFlvRecordingProgress(Long flvRecordingId, Integer progress) {
+		try {
+			
+			FlvRecording fId = this.getFlvRecordingById(flvRecordingId);
+			
+			fId.setProgressPostProcessing(progress);
+			
+			if (fId.getFlvRecordingId() == 0) {
+				em.persist(fId);
+		    } else {
+		    	if (!em.contains(fId)) {
+		    		em.merge(fId);
+			    }
+			}
+			
+		} catch (Exception ex2) {
+			log.error("[deleteFileExplorerItem]: ",ex2);
+		}
+	}
+	
+	/**
+	 * @param fileExplorerItemId
+	 */
+	public boolean deleteFlvRecording(Long flvRecordingId) {
+		try {
+			
+			FlvRecording fId = this.getFlvRecordingById(flvRecordingId);
+			
+			if (fId == null) {
+				return false;
+			}
+			
+			fId.setDeleted("true");
+			fId.setUpdated(new Date());
+			
+			if (fId.getFlvRecordingId() == 0) {
+				em.persist(fId);
+		    } else {
+		    	if (!em.contains(fId)) {
+		    		em.merge(fId);
+			    }
+			}
+			
+			return true;
+			
+		} catch (Exception ex2) {
+			log.error("[deleteFileExplorerItem]: ",ex2);
+		}
+		
+		return false;
+	}
+
+	/**
+	 * @param fileExplorerItemId
+	 * @param fileName
+	 */
+	public void updateFileOrFolderName(Long flvRecordingId, String fileName) {
+		try {
+			
+			FlvRecording fId = this.getFlvRecordingById(flvRecordingId);
+			
+			fId.setFileName(fileName);
+			fId.setUpdated(new Date());
+			
+			if (fId.getFlvRecordingId() == 0) {
+				em.persist(fId);
+		    } else {
+		    	if (!em.contains(fId)) {
+		    		em.merge(fId);
+			    }
+			}
+			
+		} catch (Exception ex2) {
+			log.error("[updateFileOrFolderName]: ",ex2);
+		}
+	}
+	
+	public void updateFlvRecording(FlvRecording fId) {
+		try {
+			
+			if (fId.getFlvRecordingId() == 0) {
+				em.persist(fId);
+		    } else {
+		    	if (!em.contains(fId)) {
+		    		em.merge(fId);
+			    }
+			}
+			
+		} catch (Exception ex2) {
+			log.error("[updateFileOrFolderName]: ",ex2);
+		}
+	}
+
+	/**
+	 * @param fileExplorerItemId
+	 * @param newParentFileExplorerItemId
+	 * @param isOwner
+	 */
+	public void moveFile(Long flvRecordingId, Long parentFileExplorerItemId, 
+				Boolean isOwner, Long ownerId) {
+		try {
+			
+			FlvRecording fId = this.getFlvRecordingById(flvRecordingId);
+			
+			fId.setParentFileExplorerItemId(parentFileExplorerItemId);
+			
+			if (parentFileExplorerItemId == 0) {
+				if (isOwner) {
+					//move to personal Folder
+					fId.setOwnerId(ownerId);
+				} else {
+					//move to public room folder
+					fId.setOwnerId(null);
+				}
+			} else {
+				fId.setOwnerId(null);
+			}
+			
+			fId.setUpdated(new Date());
+			
+			if (fId.getFlvRecordingId() == 0) {
+				em.persist(fId);
+		    } else {
+		    	if (!em.contains(fId)) {
+		    		em.merge(fId);
+			    }
+			}
+		} catch (Exception ex2) {
+			log.error("[moveFile]: ",ex2);
+		}
+	}
+	
+}
diff --git a/src/org/openmeetings/app/data/flvrecord/FlvRecordingLogDaoImpl.java b/src/org/openmeetings/app/data/flvrecord/FlvRecordingLogDaoImpl.java
new file mode 100644
index 0000000..287d224
--- /dev/null
+++ b/src/org/openmeetings/app/data/flvrecord/FlvRecordingLogDaoImpl.java
@@ -0,0 +1,104 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.flvrecord;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecording;
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingLog;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class FlvRecordingLogDaoImpl {
+	
+	private static final Logger log = Red5LoggerFactory.getLogger(FlvRecordingLogDaoImpl.class);
+	@PersistenceContext
+	private EntityManager em;
+	
+	public List<FlvRecordingLog> getFLVRecordingLogByRecordingId(Long flvRecordingId){
+		try {
+			String hql = "select c from FlvRecordingLog as c where c.flvRecording.flvRecordingId = :flvRecordingId";
+			
+			TypedQuery<FlvRecordingLog> query = em.createQuery(hql, FlvRecordingLog.class);
+			query.setParameter("flvRecordingId", flvRecordingId);
+			List<FlvRecordingLog> flvRecordingList = query.getResultList();
+			
+			return flvRecordingList;
+			
+		} catch (Exception ex2) {
+			log.error("[getFLVRecordingLogByRecordingId] ", ex2);
+		}
+		return null;
+	}	
+	
+	public void deleteFLVRecordingLogByRecordingId(Long flvRecordingId){
+		try {
+			List<FlvRecordingLog> flvRecordingLogs = this.getFLVRecordingLogByRecordingId(flvRecordingId);
+			
+			for (FlvRecordingLog flvRecordingLog : flvRecordingLogs) {
+				flvRecordingLog = em.find(FlvRecordingLog.class, flvRecordingLog.getFlvRecordingLogId());
+				em.remove(flvRecordingLog);
+			}
+			
+		} catch (Exception ex2) {
+			log.error("[deleteFLVRecordingLogByRecordingId] ", ex2);
+		}
+	}
+	
+	public Long addFLVRecordingLog(String msgType, FlvRecording flvRecording, HashMap<String, String> returnMap) {
+		try { 
+			
+			String exitValue = returnMap.get("exitValue").toString();
+			
+			String fullMessage = "";
+			
+			for (Iterator<String> iter = returnMap.keySet().iterator();iter.hasNext();) {
+				String key = iter.next();
+				String value = returnMap.get(key);
+				fullMessage += key + "-" + value + "<br/>";
+			}
+			
+			FlvRecordingLog flvRecordingLog = new FlvRecordingLog();
+			
+			flvRecordingLog.setInserted(new Date());
+			flvRecordingLog.setExitValue(exitValue);
+			flvRecordingLog.setFlvRecording(flvRecording);
+			flvRecordingLog.setFullMessage(fullMessage);
+			flvRecordingLog.setMsgType(msgType);
+			
+			flvRecordingLog = em.merge(flvRecordingLog);
+			Long flvRecordingLogId = flvRecordingLog.getFlvRecordingLogId();
+			
+			return flvRecordingLogId;
+		} catch (Exception ex2) {
+			log.error("[addFLVRecordingLog]: ",ex2);
+		}
+		return -1L;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/data/flvrecord/FlvRecordingMetaDataDaoImpl.java b/src/org/openmeetings/app/data/flvrecord/FlvRecordingMetaDataDaoImpl.java
new file mode 100644
index 0000000..002d7f4
--- /dev/null
+++ b/src/org/openmeetings/app/data/flvrecord/FlvRecordingMetaDataDaoImpl.java
@@ -0,0 +1,240 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.flvrecord;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaData;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class FlvRecordingMetaDataDaoImpl {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(FlvRecordingMetaDataDaoImpl.class,
+			OpenmeetingsVariables.webAppRootKey);
+	@PersistenceContext
+	private EntityManager em;
+	@Autowired
+	private FlvRecordingDaoImpl flvRecordingDao;
+	
+	public FlvRecordingMetaData getFlvRecordingMetaDataById(Long flvRecordingMetaDataId) {
+		try { 
+			
+			String hql = "SELECT c FROM FlvRecordingMetaData c " +
+					"WHERE c.flvRecordingMetaDataId = :flvRecordingMetaDataId";
+			
+			TypedQuery<FlvRecordingMetaData> query = em.createQuery(hql, FlvRecordingMetaData.class);
+			query.setParameter("flvRecordingMetaDataId", flvRecordingMetaDataId);
+			
+			FlvRecordingMetaData flvRecordingMetaData = null;
+			try {
+				flvRecordingMetaData = query.getSingleResult();
+		    } catch (NoResultException ex) {
+		    }
+			
+			return flvRecordingMetaData;
+			
+		} catch (Exception ex2) {
+			log.error("[getFlvRecordingMetaDataById]: ",ex2);
+		}
+		return null;
+	}
+	
+	public List<FlvRecordingMetaData> getFlvRecordingMetaDataByRecording(Long flvRecordingId) {
+		try { 
+			
+			String hql = "SELECT c FROM FlvRecordingMetaData c " +
+					"WHERE c.flvRecording.flvRecordingId = :flvRecordingId " +
+					"AND c.deleted <> :deleted ";
+			
+			TypedQuery<FlvRecordingMetaData> query = em.createQuery(hql, FlvRecordingMetaData.class);
+			query.setParameter("flvRecordingId", flvRecordingId);
+			query.setParameter("deleted", "true");
+			
+			List<FlvRecordingMetaData> flvRecordingMetaDatas = query.getResultList();
+			
+			return flvRecordingMetaDatas;
+			
+		} catch (Exception ex2) {
+			log.error("[getFlvRecordingMetaDataByRecording]: ",ex2);
+		}
+		return null;
+	}
+	
+	public List<FlvRecordingMetaData> getFlvRecordingMetaDataAudioFlvsByRecording(Long flvRecordingId) {
+		try { 
+			
+			String hql = "SELECT c FROM FlvRecordingMetaData c " +
+					"WHERE c.flvRecording.flvRecordingId = :flvRecordingId " +
+					"AND (" +
+						"(c.isScreenData = false) " +
+							" AND " +
+						"(c.isAudioOnly = true OR (c.isAudioOnly = false AND c.isVideoOnly = false))" +
+					")";
+			
+			TypedQuery<FlvRecordingMetaData> query = em.createQuery(hql, FlvRecordingMetaData.class);
+			query.setParameter("flvRecordingId", flvRecordingId);
+			
+			List<FlvRecordingMetaData> flvRecordingMetaDatas = query.getResultList();
+			
+			return flvRecordingMetaDatas;
+			
+		} catch (Exception ex2) {
+			log.error("[getFlvRecordingMetaDataAudioFlvsByRecording]: ",ex2);
+		}
+		return null;
+	}
+	
+	public FlvRecordingMetaData getFlvRecordingMetaDataScreenFlvByRecording(Long flvRecordingId) {
+		try { 
+			
+			String hql = "SELECT c FROM FlvRecordingMetaData c " +
+					"WHERE c.flvRecording.flvRecordingId = :flvRecordingId " +
+					"AND c.isScreenData = true";
+			
+			TypedQuery<FlvRecordingMetaData> query = em.createQuery(hql, FlvRecordingMetaData.class);
+			query.setParameter("flvRecordingId", flvRecordingId);
+			
+			List<FlvRecordingMetaData> flvRecordingMetaDatas = query.getResultList();
+			
+			if (flvRecordingMetaDatas.size() > 0) {
+				return flvRecordingMetaDatas.get(0);
+			}
+			
+		} catch (Exception ex2) {
+			log.error("[getFlvRecordingMetaDataScreenFlvByRecording]: ",ex2);
+		}
+		return null;
+	}
+	
+	public Long addFlvRecordingMetaData(Long flvRecordingId, String freeTextUserName, 
+					Date recordStart, Boolean isAudioOnly, Boolean isVideoOnly, 
+					Boolean isScreenData, String streamName, Integer interiewPodId) {
+		try { 
+			
+			FlvRecordingMetaData flvRecordingMetaData = new FlvRecordingMetaData();
+			
+			flvRecordingMetaData.setDeleted("false");
+			
+			flvRecordingMetaData.setFlvRecording(flvRecordingDao.getFlvRecordingById(flvRecordingId));
+			flvRecordingMetaData.setFreeTextUserName(freeTextUserName);
+			flvRecordingMetaData.setInserted(new Date());
+			
+			flvRecordingMetaData.setRecordStart(recordStart);
+			
+			flvRecordingMetaData.setIsAudioOnly(isAudioOnly);
+			flvRecordingMetaData.setIsVideoOnly(isVideoOnly);
+			flvRecordingMetaData.setIsScreenData(isScreenData);
+			
+			flvRecordingMetaData.setStreamName(streamName);
+			
+			flvRecordingMetaData.setInteriewPodId(interiewPodId);
+			
+			flvRecordingMetaData = em.merge(flvRecordingMetaData);
+			Long flvRecordingMetaDataId = flvRecordingMetaData.getFlvRecordingMetaDataId();
+			
+			return flvRecordingMetaDataId;
+			
+		} catch (Exception ex2) {
+			log.error("[addFlvRecordingMetaData]: ",ex2);
+		}
+		return null;
+	}
+	
+	public Long addFlvRecordingMetaDataObj(FlvRecordingMetaData flvRecordingMetaData) {
+		try {
+
+			flvRecordingMetaData = em.merge(flvRecordingMetaData);
+			Long flvRecordingMetaDataId = flvRecordingMetaData.getFlvRecordingMetaDataId();
+
+			return flvRecordingMetaDataId;
+
+		} catch (Exception ex2) {
+			log.error("[addFlvRecordingMetaDataObj]: ", ex2);
+		}
+		return null;
+	}
+
+	public Long updateFlvRecordingMetaDataEndDate(Long flvRecordingMetaDataId, 
+										Date recordEnd) {
+		try { 
+			
+			FlvRecordingMetaData flvRecordingMetaData = this.getFlvRecordingMetaDataById(flvRecordingMetaDataId);
+			
+			flvRecordingMetaData.setRecordEnd(recordEnd);
+			
+			log.debug("updateFlvRecordingMetaDataEndDate :: Start Date :"+flvRecordingMetaData.getRecordStart());
+			log.debug("updateFlvRecordingMetaDataEndDate :: End Date :"+flvRecordingMetaData.getRecordEnd());
+			
+			this.updateFlvRecordingMetaData(flvRecordingMetaData);
+			
+			return flvRecordingMetaDataId;
+			
+		} catch (Exception ex2) {
+			log.error("[updateFlvRecordingMetaDataEndDate]: ",ex2);
+		}
+		return null;
+	}
+
+	public Long updateFlvRecordingMetaDataInitialGap(Long flvRecordingMetaDataId, 
+										long initalGap) {
+		try { 
+			
+			FlvRecordingMetaData flvRecordingMetaData = this.getFlvRecordingMetaDataById(flvRecordingMetaDataId);
+			
+			flvRecordingMetaData.setInitialGapSeconds(Long.valueOf(initalGap).intValue());
+			
+			this.updateFlvRecordingMetaData(flvRecordingMetaData);
+			
+			return flvRecordingMetaDataId;
+			
+		} catch (Exception ex2) {
+			log.error("[updateFlvRecordingMetaDataEndDate]: ",ex2);
+		}
+		return null;
+	}
+
+	public Long updateFlvRecordingMetaData(FlvRecordingMetaData flvRecordingMetaData) {
+		try { 
+			
+			if (flvRecordingMetaData.getFlvRecordingMetaDataId() == 0) {
+				em.persist(flvRecordingMetaData);
+		    } else {
+		    	if (!em.contains(flvRecordingMetaData)) {
+		    		em.merge(flvRecordingMetaData);
+			    }
+			}
+			
+		} catch (Exception ex2) {
+			log.error("[updateFlvRecordingMetaData]: ",ex2);
+		}
+		return null;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/data/flvrecord/FlvRecordingMetaDeltaDaoImpl.java b/src/org/openmeetings/app/data/flvrecord/FlvRecordingMetaDeltaDaoImpl.java
new file mode 100644
index 0000000..950ef7c
--- /dev/null
+++ b/src/org/openmeetings/app/data/flvrecord/FlvRecordingMetaDeltaDaoImpl.java
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.flvrecord;
+
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaDelta;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * @author sebastianwagner
+ *
+ */
+@Transactional
+public class FlvRecordingMetaDeltaDaoImpl {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(FlvRecordingMetaDeltaDaoImpl.class,
+			OpenmeetingsVariables.webAppRootKey);
+	@PersistenceContext
+	private EntityManager em;
+	
+	public List<FlvRecordingMetaDelta> getFlvRecordingMetaDeltaByMetaId(Long flvRecordingMetaDataId) {
+		try { 
+			
+			String hql = "SELECT c FROM FlvRecordingMetaDelta c " +
+					"WHERE c.flvRecordingMetaDataId = :flvRecordingMetaDataId";
+			
+			TypedQuery<FlvRecordingMetaDelta> query = em.createQuery(hql, FlvRecordingMetaDelta.class);
+			query.setParameter("flvRecordingMetaDataId", flvRecordingMetaDataId);
+			
+			List<FlvRecordingMetaDelta> flvRecordingMetaDeltas = query.getResultList();
+			
+			return flvRecordingMetaDeltas;
+		} catch (Exception ex2) {
+			log.error("[getFlvRecordingMetaDeltaByMetaId]: ",ex2);
+		}
+		return null;
+	}
+	
+	
+	
+	public Long addFlvRecordingMetaDelta(FlvRecordingMetaDelta flvRecordingMetaDelta) {
+		try { 
+			
+			flvRecordingMetaDelta = em.merge(flvRecordingMetaDelta);
+			Long flvRecordingMetaDeltaId = flvRecordingMetaDelta.getFlvRecordingMetaDeltaId();
+			
+			log.debug("flvRecordingMetaDeltaId "+flvRecordingMetaDeltaId);
+			
+			return flvRecordingMetaDeltaId;
+		} catch (Exception ex2) {
+			log.error("[addFlvRecordingMetaDelta]: ",ex2);
+		}
+		return null;
+	}
+	
+	public Long updateFlvRecordingMetaDelta(FlvRecordingMetaDelta flvRecordingMetaDelta) {
+		try { 
+			if (flvRecordingMetaDelta.getFlvRecordingMetaDataId() == 0) {
+				em.persist(flvRecordingMetaDelta);
+		    } else {
+		    	if (!em.contains(flvRecordingMetaDelta)) {
+		    		em.merge(flvRecordingMetaDelta);
+			    }
+			}
+			
+			return flvRecordingMetaDelta.getFlvRecordingMetaDataId();
+		} catch (Exception ex2) {
+			log.error("[updateFlvRecordingMetaDelta]: ",ex2);
+		}
+		return null;
+	}	
+	
+}
diff --git a/src/org/openmeetings/app/data/flvrecord/beans/FLVRecorderObject.java b/src/org/openmeetings/app/data/flvrecord/beans/FLVRecorderObject.java
new file mode 100644
index 0000000..df25cfa
--- /dev/null
+++ b/src/org/openmeetings/app/data/flvrecord/beans/FLVRecorderObject.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.flvrecord.beans;
+
+import java.util.List;
+
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecording;
+
+public class FLVRecorderObject {
+
+	private List<FlvRecording> userHome;
+	private List<FlvRecording> roomHome;
+	private Long userHomeSize;
+	private Long roomHomeSize;
+	
+	public List<FlvRecording> getUserHome() {
+		return userHome;
+	}
+	public void setUserHome(List<FlvRecording> userHome) {
+		this.userHome = userHome;
+	}
+	public List<FlvRecording> getRoomHome() {
+		return roomHome;
+	}
+	public void setRoomHome(List<FlvRecording> roomHome) {
+		this.roomHome = roomHome;
+	}
+	public Long getUserHomeSize() {
+		return userHomeSize;
+	}
+	public void setUserHomeSize(Long userHomeSize) {
+		this.userHomeSize = userHomeSize;
+	}
+	public Long getRoomHomeSize() {
+		return roomHomeSize;
+	}
+	public void setRoomHomeSize(Long roomHomeSize) {
+		this.roomHomeSize = roomHomeSize;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/data/flvrecord/converter/BaseConverter.java b/src/org/openmeetings/app/data/flvrecord/converter/BaseConverter.java
new file mode 100644
index 0000000..f009d9f
--- /dev/null
+++ b/src/org/openmeetings/app/data/flvrecord/converter/BaseConverter.java
@@ -0,0 +1,378 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.flvrecord.converter;
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.List;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.flvrecord.FlvRecordingMetaDataDaoImpl;
+import org.openmeetings.app.data.flvrecord.FlvRecordingMetaDeltaDaoImpl;
+import org.openmeetings.app.documents.GenerateSWF;
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecording;
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaData;
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaDelta;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.utils.ProcessHelper;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public abstract class BaseConverter {
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			BaseConverter.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private Configurationmanagement configurationmanagement;
+	@Autowired
+	private FlvRecordingMetaDataDaoImpl flvRecordingMetaDataDaoImpl;
+	@Autowired
+	private FlvRecordingMetaDeltaDaoImpl flvRecordingMetaDeltaDaoImpl;
+
+	protected String getPathToFFMPEG() {
+		String pathToFFMPEG = configurationmanagement.getConfKey(3,
+				"ffmpeg_path").getConf_value();
+		if (!pathToFFMPEG.equals("") && !pathToFFMPEG.endsWith(File.separator)) {
+			pathToFFMPEG += File.separator;
+		}
+		pathToFFMPEG += "ffmpeg";
+		return pathToFFMPEG;
+	}
+
+	protected String getPathToSoX() {
+		String pathToSoX = configurationmanagement.getConfKey(3, "sox_path")
+				.getConf_value();
+		if (!pathToSoX.equals("") && !pathToSoX.endsWith(File.separator)) {
+			pathToSoX += File.separator;
+		}
+		pathToSoX += "sox";
+		return pathToSoX;
+	}
+
+	protected String getPathToImageMagick() {
+		String pathToImageMagick = this.configurationmanagement.getConfKey(3,
+				"imagemagick_path").getConf_value();
+		if (!pathToImageMagick.equals("")
+				&& !pathToImageMagick.endsWith(File.separator)) {
+			pathToImageMagick += File.separator;
+		}
+		pathToImageMagick += "convert" + GenerateSWF.execExt;
+		return pathToImageMagick;
+	}
+
+	protected boolean isUseOldStyleFfmpegMap() {
+		return "1".equals(configurationmanagement.getConfValue(
+				"use.old.style.ffmpeg.map.option", String.class, "0"));
+	}
+	
+	protected String getStreamFolderName() {
+		return getStreamFolderName("hibernate");
+	}
+
+	protected String getStreamFolderName(FlvRecording flvRecording) {
+		return getStreamFolderName("" + flvRecording.getRoom_id());
+	}
+	
+	protected String getStreamFolderName(String name) {
+		String streamFolderName = ScopeApplicationAdapter.webAppPath
+				+ File.separatorChar + OpenmeetingsVariables.STREAMS_DIR + File.separatorChar
+				+ name + File.separatorChar;
+
+		log.debug("###################################################");
+		log.debug("### streamFolderName - " + streamFolderName);
+		
+		File sf = new File(streamFolderName);
+		if (!sf.exists()) {
+			log.debug("### streamFolderName is NOT exists");
+			if (!sf.mkdir()) {
+				log.error("### streamFolderName: Failed to create folder");
+			}
+		}
+		return streamFolderName;
+	}
+	
+	protected void deleteFileIfExists(String name) {
+		File f = new File(name);
+
+		if (f.exists()) {
+			f.delete();
+		}
+	}
+	
+	protected String[] mergeAudioToWaves(List<String> listOfFullWaveFiles, String outputFullWav) throws Exception {
+		String[] argv_full_sox = new String[listOfFullWaveFiles.size() + 3];
+		
+		log.debug(" listOfFullWaveFiles "+listOfFullWaveFiles.size()+" argv_full_sox LENGTH "+argv_full_sox.length);
+		
+		argv_full_sox[0] = getPathToSoX();
+		argv_full_sox[1] = "-m";
+
+		int i = 0;
+		for (;i < listOfFullWaveFiles.size(); i++) {
+			log.debug(" i "+i+" = "+listOfFullWaveFiles.get(i));
+			argv_full_sox[2 + i] = listOfFullWaveFiles.get(i);
+		}
+		log.debug(" i + 2 "+(i+2)+" "+outputFullWav);
+		
+		argv_full_sox[i + 2] = outputFullWav;
+		
+		return argv_full_sox;
+	}
+	
+	protected void stripAudioFirstPass(FlvRecording flvRecording,
+			List<HashMap<String, String>> returnLog,
+			List<String> listOfFullWaveFiles, String streamFolderName) throws Exception {
+		List<FlvRecordingMetaData> metaDataList = flvRecordingMetaDataDaoImpl
+				.getFlvRecordingMetaDataAudioFlvsByRecording(flvRecording
+						.getFlvRecordingId());
+		stripAudioFirstPass(flvRecording, returnLog, listOfFullWaveFiles, streamFolderName, metaDataList);
+	}
+	
+	protected void stripAudioFirstPass(FlvRecording flvRecording,
+			List<HashMap<String, String>> returnLog,
+			List<String> listOfFullWaveFiles, String streamFolderName,
+			List<FlvRecordingMetaData> metaDataList) {
+		try {
+			// Init variables
+			log.debug("### meta Data Number - " + metaDataList.size());
+			log.debug("###################################################");
+	
+			for (FlvRecordingMetaData flvRecordingMetaData : metaDataList) {
+				
+				if (flvRecordingMetaData.getStreamReaderThreadComplete() == null) {
+					throw new IllegalStateException("StreamReaderThreadComplete Bit is NULL, error in recording");
+				}
+				
+				if (!flvRecordingMetaData.getStreamReaderThreadComplete()) {
+					
+					log.debug("### meta Stream not yet written to disk" + flvRecordingMetaData.getFlvRecordingMetaDataId());
+					boolean doStop = true;
+					while(doStop) {
+						
+						log.debug("### Stream not yet written Thread Sleep - " + flvRecordingMetaData.getFlvRecordingMetaDataId());
+						
+						flvRecordingMetaData = flvRecordingMetaDataDaoImpl.getFlvRecordingMetaDataById(flvRecordingMetaData.getFlvRecordingMetaDataId());
+						
+						if (flvRecordingMetaData.getStreamReaderThreadComplete()) {
+							log.debug("### Stream now written Thread continue - " );
+							doStop = false;
+						}
+						
+						Thread.sleep(100L);
+					}
+				}
+	
+				String inputFlv = streamFolderName
+						+ flvRecordingMetaData.getStreamName() + ".flv";
+	
+				String hashFileName = flvRecordingMetaData.getStreamName()
+						+ "_WAVE.wav";
+				String outputWav = streamFolderName + hashFileName;
+	
+				flvRecordingMetaData.setWavAudioData(hashFileName);
+	
+				File inputFlvFile = new File(inputFlv);
+				
+				log.debug("FLV File Name: {} Length: {} ",inputFlvFile.getName(), inputFlvFile.length());
+	
+				if (inputFlvFile.exists()) {
+	
+					String[] argv = new String[] { this.getPathToFFMPEG(),
+							"-async", "1", "-i", inputFlv, outputWav };
+	
+					log.debug("START stripAudioFromFLVs ################# ");
+					for (int i = 0; i < argv.length; i++) {
+						log.debug(" i " + i + " argv-i " + argv[i]);
+					}
+					log.debug("END stripAudioFromFLVs ################# ");
+	
+					returnLog.add(ProcessHelper.executeScript("generateFFMPEG",
+							argv));
+	
+					// check if the resulting Audio is valid
+					File output_wav = new File(outputWav);
+	
+					if (!output_wav.exists()) {
+						flvRecordingMetaData.setAudioIsValid(false);
+					} else {
+						if (output_wav.length() == 0) {
+							flvRecordingMetaData.setAudioIsValid(false);
+						} else {
+							flvRecordingMetaData.setAudioIsValid(true);
+						}
+					}
+	
+				} else {
+					flvRecordingMetaData.setAudioIsValid(false);
+				}
+	
+				if (flvRecordingMetaData.getAudioIsValid()) {
+					
+					// Strip Wave to Full Length
+					String outputGapFullWav = outputWav;
+	
+					// Fix Start/End in Audio
+					List<FlvRecordingMetaDelta> flvRecordingMetaDeltas = flvRecordingMetaDeltaDaoImpl
+							.getFlvRecordingMetaDeltaByMetaId(flvRecordingMetaData
+									.getFlvRecordingMetaDataId());
+	
+					int counter = 0;
+	
+					for (FlvRecordingMetaDelta flvRecordingMetaDelta : flvRecordingMetaDeltas) {
+	
+						String inputFile = outputGapFullWav;
+	
+						// Strip Wave to Full Length
+						String hashFileGapsFullName = flvRecordingMetaData
+								.getStreamName()
+								+ "_GAP_FULL_WAVE_"
+								+ counter
+								+ ".wav";
+						outputGapFullWav = streamFolderName
+								+ hashFileGapsFullName;
+	
+						flvRecordingMetaDelta
+								.setWaveOutPutName(hashFileGapsFullName);
+	
+						String[] argv_sox = null;
+	
+						if (flvRecordingMetaDelta.getIsStartPadding() != null
+								&& flvRecordingMetaDelta.getIsStartPadding()) {
+	
+							double gapSeconds = Double.valueOf(
+									flvRecordingMetaDelta.getDeltaTime()
+											.toString()).doubleValue() / 1000;
+	
+							Double.valueOf(
+									flvRecordingMetaDelta.getDeltaTime()
+											.toString()).doubleValue();
+	
+							if (gapSeconds > 0) {
+								// Add the item at the beginning
+								argv_sox = new String[] { this.getPathToSoX(),
+										inputFile, outputGapFullWav, "pad",
+										String.valueOf(gapSeconds).toString(),
+										"0" };
+							}
+	
+						} else if (flvRecordingMetaDelta.getIsEndPadding() != null
+								&& flvRecordingMetaDelta.getIsEndPadding()) {
+	
+							double gapSeconds = Double.valueOf(
+									flvRecordingMetaDelta.getDeltaTime()
+											.toString()).doubleValue() / 1000;
+	
+							if (gapSeconds > 0) {
+								// Add the item at the end
+								argv_sox = new String[] { this.getPathToSoX(),
+										inputFile, outputGapFullWav, "pad",
+										"0",
+										String.valueOf(gapSeconds).toString() };
+							}
+						}
+	
+						if (argv_sox != null) {
+							log.debug("START addGapAudioToWaves ################# ");
+							log.debug("START addGapAudioToWaves ################# Delta-ID :: "
+									+ flvRecordingMetaDelta
+											.getFlvRecordingMetaDeltaId());
+							String commandHelper = " ";
+							for (int i = 0; i < argv_sox.length; i++) {
+								commandHelper += " " + argv_sox[i];
+							}
+							log.debug(" commandHelper " + commandHelper);
+							log.debug("END addGapAudioToWaves ################# ");
+	
+							returnLog.add(ProcessHelper.executeScript("fillGap",
+									argv_sox));
+	
+							this.flvRecordingMetaDeltaDaoImpl
+									.updateFlvRecordingMetaDelta(flvRecordingMetaDelta);
+							counter++;
+						} else {
+							outputGapFullWav = inputFile;
+						}
+	
+					}
+	
+					// Strip Wave to Full Length
+					String hashFileFullName = flvRecordingMetaData
+							.getStreamName() + "_FULL_WAVE.wav";
+					String outputFullWav = streamFolderName + hashFileFullName;
+	
+					// Calculate delta at beginning
+					Long deltaTimeStartMilliSeconds = flvRecordingMetaData
+							.getRecordStart().getTime()
+							- flvRecording.getRecordStart().getTime();
+	
+					Float startPadding = Float
+							.parseFloat(deltaTimeStartMilliSeconds.toString()) / 1000;
+	
+					// Calculate delta at ending
+					Long deltaTimeEndMilliSeconds = flvRecording.getRecordEnd()
+							.getTime()
+							- flvRecordingMetaData.getRecordEnd().getTime();
+	
+					Float endPadding = Float
+							.parseFloat(deltaTimeEndMilliSeconds.toString()) / 1000;
+	
+					String[] argv_sox = new String[] { this.getPathToSoX(),
+							outputGapFullWav, outputFullWav, "pad",
+							startPadding.toString(), endPadding.toString() };
+	
+					log.debug("START addAudioToWaves ################# ");
+					String padString = "";
+					for (int i = 0; i < argv_sox.length; i++) {
+						padString += " " + argv_sox[i];
+					}
+					log.debug("padString :: " + padString);
+					log.debug("END addAudioToWaves ################# ");
+	
+					returnLog.add(ProcessHelper.executeScript(
+							"addStartEndToAudio", argv_sox));
+	
+					// Fix for Audio Length - Invalid Audio Length in Recorded
+					// Files
+					// Audio must match 100% the Video
+					log.debug("############################################");
+					log.debug("Trim Audio to Full Length -- Start");
+					File aFile = new File(outputFullWav);
+	
+					if (!aFile.exists()) {
+						throw new Exception(
+								"Audio File does not exist , could not extract the Audio correctly");
+					}
+					flvRecordingMetaData.setFullWavAudioData(hashFileFullName);
+	
+					// Finally add it to the row!
+					listOfFullWaveFiles.add(outputFullWav);
+	
+				}
+	
+				flvRecordingMetaDataDaoImpl
+						.updateFlvRecordingMetaData(flvRecordingMetaData);
+	
+			}
+		} catch (Exception err) {
+			log.error("[stripAudioFromFLVs]", err);
+		}
+	}
+}
diff --git a/src/org/openmeetings/app/data/flvrecord/converter/FlvExplorerConverter.java b/src/org/openmeetings/app/data/flvrecord/converter/FlvExplorerConverter.java
new file mode 100644
index 0000000..7a6c40b
--- /dev/null
+++ b/src/org/openmeetings/app/data/flvrecord/converter/FlvExplorerConverter.java
@@ -0,0 +1,194 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.flvrecord.converter;
+
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.file.dao.FileExplorerItemDaoImpl;
+import org.openmeetings.app.data.flvrecord.FlvRecordingLogDaoImpl;
+import org.openmeetings.app.persistence.beans.files.FileExplorerItem;
+import org.openmeetings.utils.ProcessHelper;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class FlvExplorerConverter extends BaseConverter {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			FlvExplorerConverter.class, OpenmeetingsVariables.webAppRootKey);
+
+	// Spring loaded Beans
+	@Autowired
+	private FileExplorerItemDaoImpl fileExplorerItemDaoImpl;
+	@Autowired
+	private FlvRecordingLogDaoImpl flvRecordingLogDaoImpl;
+	
+	private class FlvDimension {
+		public FlvDimension(int width, int height) {
+			this.width = width;
+			this.height = height;
+		}
+		public int width = 0;
+		public int height = 0;
+	}
+
+	public List<HashMap<String, String>> startConversion(Long fileExplorerItemId, String moviePath) {
+		List<HashMap<String, String>> returnLog = new LinkedList<HashMap<String, String>>();
+		try {
+
+			FileExplorerItem fileExplorerItem = this.fileExplorerItemDaoImpl
+					.getFileExplorerItemsById(fileExplorerItemId);
+
+			log.debug("fileExplorerItem "
+					+ fileExplorerItem.getFileExplorerItemId());
+
+			//  Convert to FLV
+			return this.convertToFLV(fileExplorerItem, moviePath);
+
+			// Add empty pieces at the beginning and end of the wav
+
+		} catch (Exception err) {
+			log.error("[startConversion]", err);
+			HashMap<String, String> returnMap = new HashMap<String, String>();
+			returnMap.put("process", "startConversion");
+			returnMap.put("error", err.getMessage());
+			returnMap.put("exception", err.toString());
+			returnMap.put("exitValue", "-1");
+			returnLog.add(returnMap);
+		}
+
+		return returnLog;
+
+	}
+
+	private List<HashMap<String, String>> convertToFLV(FileExplorerItem fileExplorerItem,
+			String moviePath) {
+		List<HashMap<String, String>> returnLog = new LinkedList<HashMap<String, String>>();
+		try {
+
+			String streamFolderName = getStreamFolderName("hibernate");
+
+			String outputFullFlv = streamFolderName + "UPLOADFLV_"
+					+ fileExplorerItem.getFileExplorerItemId() + ".flv";
+
+			fileExplorerItem.setIsVideo(true);
+
+			String[] argv_fullFLV = null;
+
+			argv_fullFLV = new String[] { getPathToFFMPEG(), "-i", moviePath,
+					"-ar", "22050", "-acodec", "libmp3lame", "-ab", "32k",
+					"-vcodec", "flv",
+					outputFullFlv };
+			// "-s", flvWidth + "x" + flvHeight, 
+
+			log.debug("START generateFullFLV ################# ");
+			String tString = "";
+			for (int i = 0; i < argv_fullFLV.length; i++) {
+				tString += argv_fullFLV[i] + " ";
+				// log.debug(" i " + i + " argv-i " + argv_fullFLV[i]);
+			}
+			log.debug(tString);
+			log.debug("END generateFullFLV ################# ");
+			
+			HashMap<String, String> returnMapConvertFLV = ProcessHelper.executeScript("uploadFLV ID :: "
+					+ fileExplorerItem.getFileExplorerItemId(), argv_fullFLV);
+			
+			//Parse the width height from the FFMPEG output
+			FlvDimension flvDimension = getFlvDimension(returnMapConvertFLV.get("error"));
+			int flvWidth = flvDimension.width;
+			int flvHeight = flvDimension.height;
+			
+			
+			fileExplorerItem.setFlvWidth(flvWidth);
+			fileExplorerItem.setFlvHeight(flvHeight);
+
+			returnLog.add(returnMapConvertFLV);
+
+			String hashFileFullNameJPEG = "UPLOADFLV_"
+					+ fileExplorerItem.getFileExplorerItemId() + ".jpg";
+			String outPutJpeg = streamFolderName + hashFileFullNameJPEG;
+
+			fileExplorerItem.setPreviewImage(hashFileFullNameJPEG);
+
+			String[] argv_previewFLV = new String[] { getPathToFFMPEG(), "-i",
+					outputFullFlv, "-vcodec", "mjpeg", "-vframes", "1", "-an",
+					"-f", "rawvideo", "-s", flvWidth + "x" + flvHeight,
+					outPutJpeg };
+
+			log.debug("START previewFullFLV ################# ");
+			log.debug(argv_previewFLV.toString());
+			String kString = "";
+			for (int i = 0; i < argv_previewFLV.length; i++) {
+				kString += argv_previewFLV[i] + " ";
+				// log.debug(" i " + i + " argv-i " + argv_previewFLV[i]);
+			}
+			log.debug(kString);
+			log.debug("END previewFullFLV ################# ");
+
+			returnLog
+					.add(ProcessHelper.executeScript("previewUpload ID :: "
+							+ fileExplorerItem.getFileExplorerItemId(),
+							argv_previewFLV));
+
+			this.fileExplorerItemDaoImpl.updateFileOrFolder(fileExplorerItem);
+
+			for (HashMap<String, String> returnMap : returnLog) {
+				this.flvRecordingLogDaoImpl.addFLVRecordingLog(
+						"generateFFMPEG", null, returnMap);
+			}
+			
+			
+
+		} catch (Exception err) {
+			log.error("[convertToFLV]", err);
+			HashMap<String, String> returnMap = new HashMap<String, String>();
+			returnMap.put("process", "convertToFLV");
+			returnMap.put("error", err.getMessage());
+			returnMap.put("exception", err.toString());
+			returnMap.put("exitValue", "-1");
+			returnLog.add(returnMap);
+		}
+
+		return returnLog;
+	}
+	
+	private FlvDimension getFlvDimension(String txt) throws Exception {
+		
+		Pattern p = Pattern.compile("\\d{2,4}(x)\\d{2,4}");
+		
+		Matcher matcher = p.matcher(txt);
+		
+		while ( matcher.find() ) {
+			String foundResolution = txt.substring(matcher.start(), matcher.end());
+			
+			String[] resultions = foundResolution.split("x");
+			
+			return new FlvDimension(Integer.valueOf(resultions[0]).intValue(), Integer.valueOf(resultions[1]).intValue());
+			
+	    }
+		
+		return null;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/data/flvrecord/converter/FlvInterviewConverter.java b/src/org/openmeetings/app/data/flvrecord/converter/FlvInterviewConverter.java
new file mode 100644
index 0000000..5362f43
--- /dev/null
+++ b/src/org/openmeetings/app/data/flvrecord/converter/FlvInterviewConverter.java
@@ -0,0 +1,686 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.flvrecord.converter;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.flvrecord.FlvRecordingDaoImpl;
+import org.openmeetings.app.data.flvrecord.FlvRecordingLogDaoImpl;
+import org.openmeetings.app.data.flvrecord.FlvRecordingMetaDataDaoImpl;
+import org.openmeetings.app.documents.GenerateThumbs;
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecording;
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaData;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.utils.ProcessHelper;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class FlvInterviewConverter extends BaseConverter {
+	private int leftSideLoud = 1;
+	private int rightSideLoud = 1;
+	private Integer leftSideTime = 0;
+	private Integer rightSideTime = 0;
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			FlvInterviewConverter.class,
+			OpenmeetingsVariables.webAppRootKey);
+
+	// Spring loaded Beans
+	@Autowired
+	private FlvRecordingDaoImpl flvRecordingDaoImpl = null;
+	@Autowired
+	private FlvRecordingMetaDataDaoImpl flvRecordingMetaDataDaoImpl = null;
+	@Autowired
+	private FlvRecordingLogDaoImpl flvRecordingLogDaoImpl;
+	@Autowired
+	private GenerateThumbs generateThumbs;
+
+	public void startReConversion(Long flvRecordingId, Integer leftSideLoud,
+			Integer rightSideLoud, Integer leftSideTime, Integer rightSideTime) {
+
+		log.debug("++++++++++++ leftSideLoud :: " + leftSideLoud);
+		log.debug("++++++++++++ rightSideLoud :: " + rightSideLoud);
+
+		this.leftSideLoud += leftSideLoud;
+		this.rightSideLoud += rightSideLoud;
+
+		this.leftSideTime = leftSideTime;
+		this.rightSideTime = rightSideTime;
+
+		log.debug("++++++++++++ this.leftSideLoud :: " + this.leftSideLoud);
+		log.debug("++++++++++++ this.rightSideLoud :: " + this.rightSideLoud);
+		log.debug("++++++++++++ this.leftSideTime :: " + this.leftSideTime);
+		log.debug("++++++++++++ this.rightSideTime :: " + this.rightSideTime);
+		startConversion(flvRecordingId, true);
+	}
+
+	public void startConversion(Long flvRecordingId) {
+		startConversion(flvRecordingId, false);
+	}
+	
+	public void startConversion(Long flvRecordingId, boolean reconversion) {
+		try {
+
+			FlvRecording flvRecording = this.flvRecordingDaoImpl
+					.getFlvRecordingById(flvRecordingId);
+			log.debug("flvRecording " + flvRecording.getFlvRecordingId());
+
+			// Strip Audio out of all Audio-FLVs
+			stripAudioFromFLVs(flvRecording, reconversion);
+
+			// Add empty pieces at the beginning and end of the wav
+
+		} catch (Exception err) {
+			log.error("[startConversion]", err);
+		}
+	}
+	
+	private String[] mergeAudioToWaves(List<String> listOfFullWaveFiles, String outputFullWav, List<FlvRecordingMetaData> metaDataList) {
+		String[] argv_full_sox = new String[listOfFullWaveFiles.size() + 5];
+		argv_full_sox[0] = this.getPathToSoX();
+		argv_full_sox[1] = "-m";
+
+		int counter = 2;
+		for (int i = 0; i < listOfFullWaveFiles.size(); i++) {
+			for (FlvRecordingMetaData flvRecordingMetaData : metaDataList) {
+				String hashFileFullNameStored = flvRecordingMetaData
+						.getFullWavAudioData();
+
+				String fullFilePath = listOfFullWaveFiles.get(i);
+				String fileNameOnly = new File(fullFilePath).getName();
+
+				if (hashFileFullNameStored.equals(fileNameOnly)) {
+					if (flvRecordingMetaData.getInteriewPodId() == 1) {
+						argv_full_sox[counter] = "-v "
+								+ this.leftSideLoud;
+						counter++;
+					}
+					if (flvRecordingMetaData.getInteriewPodId() == 2) {
+						argv_full_sox[counter] = "-v "
+								+ this.rightSideLoud;
+						counter++;
+					}
+				}
+			}
+			argv_full_sox[counter] = listOfFullWaveFiles.get(i);
+			counter++;
+		}
+
+		argv_full_sox[counter] = outputFullWav;
+		
+		return argv_full_sox;
+	}
+	
+	public void stripAudioFromFLVs(FlvRecording flvRecording, boolean reconversion) {
+		List<HashMap<String, String>> returnLog = new LinkedList<HashMap<String, String>>();
+		List<String> listOfFullWaveFiles = new LinkedList<String>();
+		String streamFolderName = getStreamFolderName(flvRecording);
+		List<FlvRecordingMetaData> metaDataList = flvRecordingMetaDataDaoImpl
+				.getFlvRecordingMetaDataAudioFlvsByRecording(flvRecording
+						.getFlvRecordingId());
+
+		stripAudioFirstPass(flvRecording, returnLog, listOfFullWaveFiles,
+				streamFolderName, metaDataList);
+		try {
+			// Merge Wave to Full Length
+			String streamFolderGeneralName = getStreamFolderName();
+
+			String hashFileFullName = "INTERVIEW_"
+					+ flvRecording.getFlvRecordingId() + "_FINAL_WAVE.wav";
+			String outputFullWav = streamFolderName + hashFileFullName;
+			deleteFileIfExists(outputFullWav);
+
+			if (listOfFullWaveFiles.size() == 1) {
+
+				outputFullWav = listOfFullWaveFiles.get(0);
+
+			} else if (listOfFullWaveFiles.size() > 0) {
+				String[] argv_full_sox;
+				if (reconversion) {
+					argv_full_sox = mergeAudioToWaves(listOfFullWaveFiles, outputFullWav, metaDataList);
+				} else {
+					argv_full_sox = mergeAudioToWaves(listOfFullWaveFiles, outputFullWav);
+				}
+
+				log.debug("START mergeAudioToWaves ################# ");
+				log.debug(argv_full_sox.toString());
+				String iString = "";
+				for (int i = 0; i < argv_full_sox.length; i++) {
+					iString += argv_full_sox[i] + " ";
+				}
+				log.debug(iString);
+				log.debug("END mergeAudioToWaves ################# ");
+
+				returnLog.add(ProcessHelper.executeScript("mergeWave",
+						argv_full_sox));
+			} else {
+
+				// create default Audio to merge it.
+				// strip to content length
+				String outputWav = streamFolderGeneralName + "one_second.wav";
+
+				// Calculate delta at beginning
+				Long deltaTimeMilliSeconds = flvRecording.getRecordEnd()
+						.getTime() - flvRecording.getRecordStart().getTime();
+				Float deltaPadding = (Float.parseFloat(deltaTimeMilliSeconds
+						.toString()) / 1000) - 1;
+
+				String[] argv_full_sox = new String[] { this.getPathToSoX(),
+						outputWav, outputFullWav, "pad", "0",
+						deltaPadding.toString() };
+
+				log.debug("START generateSampleAudio ################# ");
+				String tString = "";
+				for (int i = 0; i < argv_full_sox.length; i++) {
+					tString += argv_full_sox[i] + " ";
+				}
+				log.debug(tString);
+				log.debug("END generateSampleAudio ################# ");
+
+				returnLog.add(ProcessHelper.executeScript("mergeWave",
+						argv_full_sox));
+
+			}
+
+			// Merge Audio with Video / Calculate resulting FLV
+
+			// Start extracting image sequence
+			int frameRate = 25;
+
+			for (FlvRecordingMetaData flvRecordingMetaData : metaDataList) {
+
+				// FLV to 24 FPS Sequence AVI
+				String inputFlv = streamFolderName + flvRecordingMetaData.getStreamName() + ".flv";
+
+				File inputFlvFile = new File(inputFlv);
+
+				if (inputFlvFile.exists()) {
+					// TO Image Sequence
+
+					String outputMetaImageData = streamFolderName
+							+ flvRecordingMetaData.getFlvRecordingMetaDataId()
+							+ File.separatorChar;
+
+					// Image Folder
+					File imageSequenceFolder = new File(outputMetaImageData);
+					imageSequenceFolder.mkdir();
+
+					String outputImages = outputMetaImageData + "image%d.png";
+
+					String[] argv_imageSeq = new String[] {
+							this.getPathToFFMPEG(), "-i", inputFlv, "-r",
+							"" + frameRate, "-s", "320x240", outputImages };
+
+					log.debug("START generateImageSequence ################# ");
+					String iString = "";
+					for (int i = 0; i < argv_imageSeq.length; i++) {
+						iString += argv_imageSeq[i] + " ";
+					}
+					log.debug(iString);
+					log.debug("END generateImageSequence ################# ");
+
+					returnLog.add(ProcessHelper.executeScript(
+							"generateImageSequence", argv_imageSeq));
+
+				}
+
+			}
+
+			// Default Image for empty interview video pods
+			String defaultInterviewImage = streamFolderGeneralName
+					+ "default_interview_image.png";
+			File defaultInterviewImageFile = new File(defaultInterviewImage);
+
+			if (!defaultInterviewImageFile.exists()) {
+				throw new Exception("defaultInterviewImageFile does not exist!");
+			}
+
+			// Create Folder for the output Image Sequence
+			String outputImageMergedData = streamFolderName + "INTERVIEW_"
+					+ flvRecording.getFlvRecordingId() + File.separatorChar;
+
+			// Merged Image Folder
+			File outputImageMergedDateFolder = new File(outputImageMergedData);
+			outputImageMergedDateFolder.mkdir();
+
+			// Generate the Single Image by sequencing
+			boolean jobRunning = true;
+			long currentTimeInMilliSeconds = 0;
+
+			long completeLengthInSeconds = flvRecording.getRecordEnd()
+					.getTime() - flvRecording.getRecordStart().getTime();
+
+			log.debug("completeLengthInSeconds :: " + completeLengthInSeconds);
+
+			int sequenceCounter = 0;
+
+			while (jobRunning) {
+
+				// Process one Second of Movie
+				String[] interviewPod1Images = new String[frameRate];
+				String[] interviewPod2Images = new String[frameRate];
+				int[] outputFrameNumbers = new int[frameRate];
+
+				for (FlvRecordingMetaData flvRecordingMetaData : metaDataList) {
+
+					long deltaStartRecording = flvRecordingMetaData
+							.getRecordStart().getTime()
+							- flvRecording.getRecordStart().getTime();
+
+					if (flvRecording.getRecordStart().getTime()
+							+ currentTimeInMilliSeconds >= flvRecordingMetaData
+							.getRecordStart().getTime()
+							&& flvRecording.getRecordStart().getTime()
+									+ currentTimeInMilliSeconds <= flvRecordingMetaData
+									.getRecordEnd().getTime()) {
+
+						// Calculate which images should be in here
+
+						// Calculate the relative starting point
+						long thisImageSequenceStartingPoint = currentTimeInMilliSeconds
+								- deltaStartRecording;
+
+						// Calculate the first and following frameRate FPS
+						// Number
+						int secondToStart = Long.valueOf(
+								thisImageSequenceStartingPoint / 1000)
+								.intValue();
+
+						int firstFrame = secondToStart * frameRate;
+
+						for (int i = 0; i < frameRate; i++) {
+
+							int currentImageNumber = firstFrame + i;
+							currentImageNumber -= (frameRate / 2); // Remove the
+																	// first
+																	// half
+																	// seconds
+																	// and fill
+																	// it up
+																	// with
+																	// black
+																	// screens
+
+							// Remove the first period of Images, this is where
+							// the user has started
+							// to share his Video but does not have agreed in
+							// the Flash Security Warning Dialogue
+							Integer initialGapSeconds = flvRecordingMetaData
+									.getInitialGapSeconds();
+							if (initialGapSeconds != null) {
+								int initialMissingImages = Double.valueOf(
+										Math.floor((initialGapSeconds / 1000)
+												* frameRate)).intValue();
+								currentImageNumber -= initialMissingImages;
+							}
+
+							String imageName = "image" + currentImageNumber
+									+ ".png";
+
+							String outputMetaImageFullData = streamFolderName
+									+ flvRecordingMetaData
+											.getFlvRecordingMetaDataId()
+									+ File.separatorChar + imageName;
+
+							File outputMetaImageFullDataFile = new File(
+									outputMetaImageFullData);
+
+							if (!outputMetaImageFullDataFile.exists()) {
+								outputMetaImageFullData = defaultInterviewImage;
+							}
+
+							if (flvRecordingMetaData.getInteriewPodId() == 1) {
+								interviewPod1Images[i] = outputMetaImageFullData;
+							} else if (flvRecordingMetaData.getInteriewPodId() == 2) {
+								interviewPod2Images[i] = outputMetaImageFullData;
+							}
+
+						}
+
+					}
+
+				}
+
+				// Update Sequence Count
+				for (int i = 0; i < frameRate; i++) {
+					outputFrameNumbers[i] = sequenceCounter;
+					sequenceCounter++;
+				}
+
+				// Now we should have found the needed Images to calculate, in
+				// case not we add an empty black screen
+				for (int i = 0; i < frameRate; i++) {
+					String addZeros = "";
+
+					String outputImageName = outputImageMergedData + "image"
+							+ addZeros + outputFrameNumbers[i] + ".png";
+
+					if (interviewPod1Images[i] == null) {
+						interviewPod1Images[i] = defaultInterviewImage;
+					}
+					if (interviewPod2Images[i] == null) {
+						interviewPod2Images[i] = defaultInterviewImage;
+					}
+
+					if (System.getProperty("os.name").toUpperCase()
+							.indexOf("WINDOWS") == -1) {
+						String[] argv_imageMagick = new String[] {
+								this.getPathToImageMagick(), "+append",
+								interviewPod1Images[i], interviewPod2Images[i],
+								outputImageName };
+						returnLog.add(ProcessHelper.executeScript(
+								"generateImageSequence", argv_imageMagick));
+					} else {
+						returnLog.add(processImageWindows(
+								interviewPod1Images[i], interviewPod2Images[i],
+								outputImageName));
+					}
+				}
+
+				currentTimeInMilliSeconds += 1000;
+
+				double cLength = 100 * ((double) currentTimeInMilliSeconds)
+						/ completeLengthInSeconds;
+
+				int progress = Double.valueOf(cLength).intValue();
+
+				log.debug("completeLengthInSeconds|currentTimeInMilliSeconds "
+						+ completeLengthInSeconds + "|"
+						+ currentTimeInMilliSeconds + "|" + progress + "|"
+						+ cLength);
+
+				flvRecordingDaoImpl.updateFlvRecordingProgress(
+						flvRecording.getFlvRecordingId(), progress);
+
+				if (currentTimeInMilliSeconds >= completeLengthInSeconds) {
+
+					jobRunning = false;
+
+				}
+
+			}
+
+			// Generate Movie by sequence of Images
+
+			String imagescomplete = outputImageMergedData + "image%d.png";
+
+			String[] argv_generatedMoview = null;
+
+			String inputScreenFullFlv = streamFolderName
+					+ "COMPLETE_INTERVIEW_" + flvRecording.getFlvRecordingId()
+					+ ".flv";
+			deleteFileIfExists(inputScreenFullFlv);
+
+			argv_generatedMoview = new String[] { this.getPathToFFMPEG(), "-i",
+					imagescomplete, "-r", "" + frameRate, "-vcodec", "flv",
+					"-qmax", "1", "-qmin", "1", inputScreenFullFlv };
+
+			log.debug("START generateFullBySequenceFLV ################# ");
+			String tString2 = "";
+			for (int i = 0; i < argv_generatedMoview.length; i++) {
+				tString2 += argv_generatedMoview[i] + " ";
+			}
+			log.debug(tString2);
+			log.debug("END generateFullBySequenceFLV ################# ");
+
+			returnLog.add(ProcessHelper.executeScript(
+					"generateFullBySequenceFLV", argv_generatedMoview));
+
+			String hashFileFullNameFlv = "flvRecording_"
+					+ flvRecording.getFlvRecordingId() + ".flv";
+			String outputFullFlv = streamFolderGeneralName
+					+ hashFileFullNameFlv;
+			deleteFileIfExists(outputFullFlv);
+
+			// ffmpeg -vcodec flv -qscale 9.5 -r 25 -ar 22050 -ab 32k -s 320x240
+			// -i
+			// 65318fb5c54b1bc1b1bca077b493a914_28_12_2009_23_38_17_FINAL_WAVE.wav
+			// -i 65318fb5c54b1bc1b1bca077b493a914_28_12_2009_23_38_17.flv
+			// final1.flv
+
+			int flvWidth = 640;
+			int flvHeight = 240;
+
+			flvRecording.setFlvWidth(flvWidth);
+			flvRecording.setFlvHeight(flvHeight);
+
+			String[] argv_fullFLV = new String[] {
+					this.getPathToFFMPEG(), //
+					"-i", inputScreenFullFlv, "-i", outputFullWav,
+					"-ar",
+					"22050", //
+					"-ab",
+					"32k", //
+					"-s",
+					flvWidth + "x" + flvHeight, //
+					"-vcodec",
+					"flv", //
+					"-r", "" + frameRate, "-qmax", "1", "-qmin", "1",
+					outputFullFlv };
+
+			log.debug("START generateFullFLV ################# ");
+			String tString = "";
+			for (int i = 0; i < argv_fullFLV.length; i++) {
+				tString += argv_fullFLV[i] + " ";
+				// log.debug(" i " + i + " argv-i " + argv_fullFLV[i]);
+			}
+			log.debug(tString);
+			log.debug("END generateFullFLV ################# ");
+
+			returnLog.add(ProcessHelper.executeScript("generateFullFLV",
+					argv_fullFLV));
+
+			flvRecording.setFileHash(hashFileFullNameFlv);
+
+			// Extract first Image for preview purpose
+			// ffmpeg -i movie.flv -vcodec mjpeg -vframes 1 -an -f rawvideo -s
+			// 320x240 movie.jpg
+
+			String hashFileFullNameJPEG = "flvRecording_"
+					+ flvRecording.getFlvRecordingId() + ".jpg";
+			String outPutJpeg = streamFolderGeneralName + hashFileFullNameJPEG;
+			deleteFileIfExists(outPutJpeg);
+
+			flvRecording.setPreviewImage(hashFileFullNameJPEG);
+
+			String[] argv_previewFLV = new String[] { //
+			this.getPathToFFMPEG(), //
+					"-i", outputFullFlv, //
+					"-vcodec", "mjpeg", //
+					"-vframes", "100", "-an", //
+					"-f", "rawvideo", //
+					"-s", flvWidth + "x" + flvHeight, //
+					outPutJpeg };
+
+			log.debug("START previewFullFLV ################# ");
+			log.debug(argv_previewFLV.toString());
+			String kString = "";
+			for (int i = 0; i < argv_previewFLV.length; i++) {
+				kString += argv_previewFLV[i] + " ";
+			}
+			log.debug(kString);
+			log.debug("END previewFullFLV ################# ");
+
+			returnLog.add(ProcessHelper.executeScript("generateFullFLV",
+					argv_previewFLV));
+
+			String alternateDownloadName = "flvRecording_"
+					+ flvRecording.getFlvRecordingId() + ".avi";
+			String alternateDownloadFullName = streamFolderGeneralName
+					+ alternateDownloadName;
+			deleteFileIfExists(alternateDownloadFullName);
+
+			String[] argv_alternateDownload = new String[] {
+					this.getPathToFFMPEG(), "-i", outputFullFlv,
+					alternateDownloadFullName };
+
+			log.debug("START alternateDownLoad ################# ");
+			log.debug(argv_previewFLV.toString());
+			String sString = "";
+			for (int i = 0; i < argv_alternateDownload.length; i++) {
+				sString += argv_alternateDownload[i] + " ";
+			}
+			log.debug(sString);
+			log.debug("END alternateDownLoad ################# ");
+
+			returnLog.add(ProcessHelper.executeScript("alternateDownload",
+					argv_alternateDownload));
+
+			flvRecording.setAlternateDownload(alternateDownloadName);
+
+			flvRecordingDaoImpl.updateFlvRecording(flvRecording);
+
+			flvRecordingLogDaoImpl
+					.deleteFLVRecordingLogByRecordingId(flvRecording
+							.getFlvRecordingId());
+
+			for (HashMap<String, String> returnMap : returnLog) {
+				flvRecordingLogDaoImpl.addFLVRecordingLog("generateFFMPEG",
+						flvRecording, returnMap);
+			}
+
+			// Delete Wave Files
+			for (String fileName : listOfFullWaveFiles) {
+				File audio = new File(fileName);
+				if (audio.exists()) {
+					audio.delete();
+				}
+			}
+
+			// Delete all Image temp dirs
+			for (FlvRecordingMetaData flvRecordingMetaData : metaDataList) {
+				String outputMetaImageFullData = streamFolderName
+						+ flvRecordingMetaData.getFlvRecordingMetaDataId()
+						+ File.separatorChar;
+
+				this.deleteDirectory(new File(outputMetaImageFullData));
+			}
+
+			this.deleteDirectory(new File(outputImageMergedData));
+
+		} catch (Exception err) {
+			log.error("[stripAudioFromFLVs]", err);
+		}
+	}
+
+	public boolean deleteDirectory(File path) throws Exception {
+		if (path.exists()) {
+			File[] files = path.listFiles();
+			for (int i = 0; i < files.length; i++) {
+				if (files[i].isDirectory()) {
+					deleteDirectory(files[i]);
+				} else {
+					files[i].delete();
+				}
+			}
+		}
+		return (path.delete());
+	}
+
+	public HashMap<String, String> thumbProcessImageWindows(String file1,
+			String file2, String file3) {
+
+		// Init variables
+		String[] cmd = { this.getPathToImageMagick(), file1, file2, "+append",
+				file3 };
+
+		return generateThumbs.processImageWindows(cmd);
+
+		// GenerateSWF.executeScript("mergeWave",cmd);
+
+	}
+
+	public HashMap<String, String> processImageWindows(String file1,
+			String file2, String file3) {
+		HashMap<String, String> returnMap = new HashMap<String, String>();
+		returnMap.put("process", "processImageWindows");
+		try {
+
+			// Init variables
+			String[] cmd;
+			String executable_fileName = "";
+			String pathToIMagick = this.getPathToImageMagick();
+
+			Date tnow = new Date();
+			String runtimeFile = "interviewMerge" + tnow.getTime() + ".bat";
+
+			// String runtimeFile = "interviewMerge.bat";
+			executable_fileName = ScopeApplicationAdapter.batchFileDir
+					+ runtimeFile;
+
+			cmd = new String[1];
+			cmd[0] = executable_fileName;
+
+			// Create the Content of the Converter Script (.bat or .sh File)
+			String fileContent = pathToIMagick + " " + file1 + " " + file2
+					+ " " + "+append" + " " + file3
+					+ ScopeApplicationAdapter.lineSeperator + "";
+
+			File previous = new File(executable_fileName);
+			if (previous.exists()) {
+				previous.delete();
+			}
+
+			// execute the Script
+			FileOutputStream fos = new FileOutputStream(executable_fileName);
+			fos.write(fileContent.getBytes());
+			fos.close();
+
+			File now = new File(executable_fileName);
+			now.setExecutable(true);
+
+			Runtime rt = Runtime.getRuntime();
+			returnMap.put("command", cmd.toString());
+			Process proc = rt.exec(cmd);
+
+			InputStream stderr = proc.getErrorStream();
+			BufferedReader br = new BufferedReader(new InputStreamReader(stderr));
+			String line = null;
+			String error = "";
+			while ((line = br.readLine()) != null) {
+				error += line;
+			}
+			br.close();
+			returnMap.put("error", error);
+			int exitVal = proc.waitFor();
+			returnMap.put("exitValue", "" + exitVal);
+
+			if (now.exists()) {
+				now.delete();
+			}
+
+			return returnMap;
+		} catch (Throwable t) {
+			t.printStackTrace();
+			returnMap.put("error", t.getMessage());
+			returnMap.put("exitValue", "-1");
+			return returnMap;
+		}
+	}
+}
diff --git a/src/org/openmeetings/app/data/flvrecord/converter/FlvInterviewConverterTask.java b/src/org/openmeetings/app/data/flvrecord/converter/FlvInterviewConverterTask.java
new file mode 100644
index 0000000..b14eb7f
--- /dev/null
+++ b/src/org/openmeetings/app/data/flvrecord/converter/FlvInterviewConverterTask.java
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.flvrecord.converter;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.task.TaskExecutor;
+
+public class FlvInterviewConverterTask {
+	private static final Logger log = Red5LoggerFactory.getLogger(FlvInterviewConverterTask.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private TaskExecutor taskExecutor;
+	@Autowired
+	private FlvInterviewConverter flvInterviewConverter;
+
+	public void startConversionThread(final Long flvRecordingId) {
+		try {
+			
+			log.debug("[-1-]"+this.taskExecutor);
+			
+			this.taskExecutor.execute(new Runnable() {
+				public void run() {
+						flvInterviewConverter.startConversion( flvRecordingId );
+	               }
+	          });
+			
+		} catch (Exception err) {
+			log.error("[startConversionThread]",err);
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/flvrecord/converter/FlvInterviewReConverterTask.java b/src/org/openmeetings/app/data/flvrecord/converter/FlvInterviewReConverterTask.java
new file mode 100644
index 0000000..56be95a
--- /dev/null
+++ b/src/org/openmeetings/app/data/flvrecord/converter/FlvInterviewReConverterTask.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.flvrecord.converter;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.task.TaskExecutor;
+
+public class FlvInterviewReConverterTask {
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			FlvInterviewReConverterTask.class,
+			OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private TaskExecutor taskExecutor;
+	@Autowired
+	private FlvInterviewConverter flvInterviewConverter;
+
+	public void startConversionThread(final Long flvRecordingId,
+			final Integer leftSideLoud, final Integer rightSideLoud,
+			final Integer leftSideTime, final Integer rightSideTime) {
+		try {
+
+			log.debug("[-1-]" + this.taskExecutor);
+
+			this.taskExecutor.execute(new Runnable() {
+				public void run() {
+					flvInterviewConverter.startReConversion(flvRecordingId,
+							leftSideLoud, rightSideLoud, leftSideTime,
+							rightSideTime);
+				}
+			});
+
+		} catch (Exception err) {
+			log.error("[startConversionThread]", err);
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/flvrecord/converter/FlvRecorderConverter.java b/src/org/openmeetings/app/data/flvrecord/converter/FlvRecorderConverter.java
new file mode 100644
index 0000000..e090192
--- /dev/null
+++ b/src/org/openmeetings/app/data/flvrecord/converter/FlvRecorderConverter.java
@@ -0,0 +1,316 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.flvrecord.converter;
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.flvrecord.FlvRecordingDaoImpl;
+import org.openmeetings.app.data.flvrecord.FlvRecordingLogDaoImpl;
+import org.openmeetings.app.data.flvrecord.FlvRecordingMetaDataDaoImpl;
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecording;
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaData;
+import org.openmeetings.utils.ProcessHelper;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class FlvRecorderConverter extends BaseConverter {
+
+	private static final Logger log = Red5LoggerFactory
+			.getLogger(FlvRecorderConverter.class, OpenmeetingsVariables.webAppRootKey);
+
+	// Spring loaded Beans
+	@Autowired
+	private FlvRecordingDaoImpl flvRecordingDaoImpl = null;
+	@Autowired
+	private FlvRecordingMetaDataDaoImpl flvRecordingMetaDataDaoImpl = null;
+	@Autowired
+	private FlvRecordingLogDaoImpl flvRecordingLogDaoImpl;
+
+	private String FFMPEG_MAP_PARAM = ":";
+
+	public void startConversion(Long flvRecordingId) {
+		try {
+			if (isUseOldStyleFfmpegMap()) {
+				FFMPEG_MAP_PARAM = ".";
+			}
+
+			FlvRecording flvRecording = this.flvRecordingDaoImpl
+					.getFlvRecordingById(flvRecordingId);
+			log.debug("flvRecording " + flvRecording.getFlvRecordingId());
+
+			// Strip Audio out of all Audio-FLVs
+			this.stripAudioFromFLVs(flvRecording);
+
+			// Add empty pieces at the beginning and end of the wav
+
+		} catch (Exception err) {
+			log.error("[startConversion]", err);
+		}
+	}
+
+	public void stripAudioFromFLVs(FlvRecording flvRecording) {
+		List<HashMap<String, String>> returnLog = new LinkedList<HashMap<String, String>>();
+		List<String> listOfFullWaveFiles = new LinkedList<String>();
+		String streamFolderName = getStreamFolderName(flvRecording);
+		try {
+			stripAudioFirstPass(flvRecording, returnLog, listOfFullWaveFiles, streamFolderName);
+
+			// Merge Wave to Full Length
+			String streamFolderGeneralName = getStreamFolderName();
+
+			FlvRecordingMetaData flvRecordingMetaDataOfScreen = this.flvRecordingMetaDataDaoImpl
+					.getFlvRecordingMetaDataScreenFlvByRecording(flvRecording
+							.getFlvRecordingId());
+			
+			if (flvRecordingMetaDataOfScreen == null) {
+				throw new Exception("flvRecordingMetaDataOfScreen is Null FlvRecordingId "+flvRecording
+							.getFlvRecordingId());
+			}
+			
+			if (flvRecordingMetaDataOfScreen.getStreamReaderThreadComplete() == null) {
+				throw new Exception("StreamReaderThreadComplete Bit is NULL, error in recording");
+			}
+			
+			if (!flvRecordingMetaDataOfScreen.getStreamReaderThreadComplete()) {
+				
+				log.debug("### meta ScreenStream not yet written to disk" + flvRecordingMetaDataOfScreen.getFlvRecordingMetaDataId());
+				boolean doStop = true;
+				while(doStop) {
+					
+					log.debug("### Stream not yet written Thread Sleep - " + flvRecordingMetaDataOfScreen.getFlvRecordingMetaDataId());
+					
+					Thread.sleep(100L);
+					
+					flvRecordingMetaDataOfScreen = flvRecordingMetaDataDaoImpl.getFlvRecordingMetaDataById(flvRecordingMetaDataOfScreen.getFlvRecordingMetaDataId());
+					
+					if (flvRecordingMetaDataOfScreen.getStreamReaderThreadComplete()) {
+						log.debug("### Screen Stream now written Thread continue - " );
+						doStop = false;
+					}
+				}
+			}
+			
+			
+			String hashFileFullName = flvRecordingMetaDataOfScreen
+					.getStreamName() + "_FINAL_WAVE.wav";
+			String outputFullWav = streamFolderName + hashFileFullName;
+
+			if (listOfFullWaveFiles.size() == 1) {
+
+				outputFullWav = listOfFullWaveFiles.get(0);
+
+				flvRecordingMetaDataOfScreen
+						.setFullWavAudioData(hashFileFullName);
+
+			} else if (listOfFullWaveFiles.size() > 0) {
+
+				String[] argv_full_sox = mergeAudioToWaves(listOfFullWaveFiles, outputFullWav);
+
+				log.debug("START mergeAudioToWaves ################# ");
+				log.debug(argv_full_sox.toString());
+				String iString = "";
+				for (int i = 0; i < argv_full_sox.length; i++) {
+					iString += argv_full_sox[i] + " ";
+				}
+				log.debug(iString);
+				log.debug("END mergeAudioToWaves ################# ");
+
+				flvRecordingMetaDataOfScreen
+						.setFullWavAudioData(hashFileFullName);
+
+				this.flvRecordingMetaDataDaoImpl
+						.updateFlvRecordingMetaData(flvRecordingMetaDataOfScreen);
+
+				returnLog.add(ProcessHelper.executeScript("mergeWave",
+						argv_full_sox));
+			} else {
+
+				// create default Audio to merge it.
+				// strip to content length
+				String outputWav = streamFolderGeneralName + "one_second.wav";
+
+				// Calculate delta at beginning
+				Long deltaTimeMilliSeconds = flvRecording.getRecordEnd()
+						.getTime() - flvRecording.getRecordStart().getTime();
+				Float deltaPadding = (Float.parseFloat(deltaTimeMilliSeconds
+						.toString()) / 1000) - 1;
+
+				String[] argv_full_sox = new String[] { this.getPathToSoX(),
+						outputWav, outputFullWav, "pad", "0",
+						deltaPadding.toString() };
+
+				log.debug("START generateSampleAudio ################# ");
+				String tString = "";
+				for (int i = 0; i < argv_full_sox.length; i++) {
+					tString += argv_full_sox[i] + " ";
+				}
+				log.debug(tString);
+				log.debug("END generateSampleAudio ################# ");
+
+				flvRecordingMetaDataOfScreen
+						.setFullWavAudioData(hashFileFullName);
+
+				this.flvRecordingMetaDataDaoImpl
+						.updateFlvRecordingMetaData(flvRecordingMetaDataOfScreen);
+
+				returnLog.add(ProcessHelper.executeScript("mergeWave",
+						argv_full_sox));
+
+			}
+
+			// Merge Audio with Video / Calculate resulting FLV
+
+			String inputScreenFullFlv = streamFolderName
+					+ flvRecordingMetaDataOfScreen.getStreamName() + ".flv";
+
+			String hashFileFullNameFlv = "flvRecording_"
+					+ flvRecording.getFlvRecordingId() + ".flv";
+			String outputFullFlv = streamFolderGeneralName
+					+ hashFileFullNameFlv;
+
+			// ffmpeg -vcodec flv -qscale 9.5 -r 25 -ar 22050 -ab 32k -s 320x240
+			// -i
+			// 65318fb5c54b1bc1b1bca077b493a914_28_12_2009_23_38_17_FINAL_WAVE.wav
+			// -i 65318fb5c54b1bc1b1bca077b493a914_28_12_2009_23_38_17.flv
+			// final1.flv
+
+			int flvWidth = flvRecording.getWidth();
+			int flvHeight = flvRecording.getHeight();
+
+			log.debug("flvWidth -1- " + flvWidth);
+			log.debug("flvHeight -1- " + flvHeight);
+
+			flvWidth = Double.valueOf((Math.floor(flvWidth / 16)) * 16)
+					.intValue();
+			flvHeight = Double.valueOf((Math.floor(flvHeight / 16)) * 16)
+					.intValue();
+
+			log.debug("flvWidth -2- " + flvWidth);
+			log.debug("flvHeight -2- " + flvHeight);
+
+			flvRecording.setFlvWidth(flvWidth);
+			flvRecording.setFlvHeight(flvHeight);
+
+			String[] argv_fullFLV = new String[] {
+					this.getPathToFFMPEG(), //
+					"-i", inputScreenFullFlv, "-i", outputFullWav, "-ar",
+					"22050", //
+					"-acodec", "libmp3lame", //
+					"-ab", "32k", //
+					"-s", flvWidth + "x" + flvHeight, //
+					"-vcodec", "flashsv", //
+					"-map", "0" + FFMPEG_MAP_PARAM + "0", //
+					"-map", "1" + FFMPEG_MAP_PARAM + "0", //
+					outputFullFlv };
+
+			log.debug("START generateFullFLV ################# ");
+			String tString = "";
+			for (int i = 0; i < argv_fullFLV.length; i++) {
+				tString += argv_fullFLV[i] + " ";
+				// log.debug(" i " + i + " argv-i " + argv_fullFLV[i]);
+			}
+			log.debug(tString);
+			log.debug("END generateFullFLV ################# ");
+
+			returnLog.add(ProcessHelper.executeScript("generateFullFLV",
+					argv_fullFLV));
+
+			flvRecording.setFileHash(hashFileFullNameFlv);
+
+			// Extract first Image for preview purpose
+			// ffmpeg -i movie.flv -vcodec mjpeg -vframes 1 -an -f rawvideo -s
+			// 320x240 movie.jpg
+
+			String hashFileFullNameJPEG = "flvRecording_"
+					+ flvRecording.getFlvRecordingId() + ".jpg";
+			String outPutJpeg = streamFolderGeneralName + hashFileFullNameJPEG;
+
+			flvRecording.setPreviewImage(hashFileFullNameJPEG);
+
+			String[] argv_previewFLV = new String[] { //
+					this.getPathToFFMPEG(), //
+					"-i", outputFullFlv, //
+					"-vcodec", "mjpeg", //
+					"-vframes", "1", "-an", //
+					"-f", "rawvideo", //
+					"-s", flvWidth + "x" + flvHeight, //
+					outPutJpeg };
+
+			log.debug("START previewFullFLV ################# ");
+			log.debug(argv_previewFLV.toString());
+			String kString = "";
+			for (int i = 0; i < argv_previewFLV.length; i++) {
+				kString += argv_previewFLV[i] + " ";
+			}
+			log.debug(kString);
+			log.debug("END previewFullFLV ################# ");
+
+			returnLog.add(ProcessHelper.executeScript("generateFullFLV",
+					argv_previewFLV));
+
+			String alternateDownloadName = "flvRecording_"
+					+ flvRecording.getFlvRecordingId() + ".avi";
+			String alternateDownloadFullName = streamFolderGeneralName
+					+ alternateDownloadName;
+
+			String[] argv_alternateDownload = new String[] {
+					this.getPathToFFMPEG(), "-i", outputFullFlv,
+					"-vcodec", "copy",
+					alternateDownloadFullName };
+
+			log.debug("START alternateDownLoad ################# ");
+			log.debug(argv_previewFLV.toString());
+			String sString = "";
+			for (int i = 0; i < argv_alternateDownload.length; i++) {
+				sString += argv_alternateDownload[i] + " ";
+			}
+			log.debug(sString);
+			log.debug("END alternateDownLoad ################# ");
+
+			returnLog.add(ProcessHelper.executeScript("alternateDownload",
+					argv_alternateDownload));
+
+			flvRecording.setAlternateDownload(alternateDownloadName);
+
+			this.flvRecordingDaoImpl.updateFlvRecording(flvRecording);
+
+			for (HashMap<String, String> returnMap : returnLog) {
+				this.flvRecordingLogDaoImpl.addFLVRecordingLog(
+						"generateFFMPEG", flvRecording, returnMap);
+			}
+
+			// Delete Wave Files
+			for (String fileName : listOfFullWaveFiles) {
+				File audio = new File(fileName);
+				if (audio.exists()) {
+					audio.delete();
+				}
+			}
+
+		} catch (Exception err) {
+			log.error("[stripAudioFromFLVs]", err);
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/flvrecord/converter/FlvRecorderConverterTask.java b/src/org/openmeetings/app/data/flvrecord/converter/FlvRecorderConverterTask.java
new file mode 100644
index 0000000..d7a76c4
--- /dev/null
+++ b/src/org/openmeetings/app/data/flvrecord/converter/FlvRecorderConverterTask.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.flvrecord.converter;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.task.TaskExecutor;
+
+public class FlvRecorderConverterTask {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(FlvRecorderConverterTask.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private TaskExecutor taskExecutor;
+	@Autowired
+	private FlvRecorderConverter flvRecorderConverter;
+
+	public void startConversionThread(final Long flvRecordingId) {
+		try {
+			
+			log.debug("[-1-]"+this.taskExecutor);
+			
+			this.taskExecutor.execute(new Runnable() {
+				public void run() {
+	            	   flvRecorderConverter.startConversion( flvRecordingId );
+	               }
+	          });
+			
+		} catch (Exception err) {
+			log.error("[startConversionThread]",err);
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/flvrecord/listener/BaseStreamListener.java b/src/org/openmeetings/app/data/flvrecord/listener/BaseStreamListener.java
new file mode 100644
index 0000000..3bc29a1
--- /dev/null
+++ b/src/org/openmeetings/app/data/flvrecord/listener/BaseStreamListener.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.flvrecord.listener;
+
+import org.red5.server.api.stream.IStreamListener;
+
+public abstract class BaseStreamListener implements IStreamListener {
+	
+	public abstract void closeStream();
+
+}
diff --git a/src/org/openmeetings/app/data/flvrecord/listener/StreamAudioListener.java b/src/org/openmeetings/app/data/flvrecord/listener/StreamAudioListener.java
new file mode 100644
index 0000000..e4b0878
--- /dev/null
+++ b/src/org/openmeetings/app/data/flvrecord/listener/StreamAudioListener.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.flvrecord.listener;
+
+import java.util.Date;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.flvrecord.FlvRecordingMetaDataDaoImpl;
+import org.openmeetings.app.data.flvrecord.FlvRecordingMetaDeltaDaoImpl;
+import org.openmeetings.app.data.flvrecord.listener.async.CachedEvent;
+import org.openmeetings.app.data.flvrecord.listener.async.StreamAudioWriter;
+import org.red5.logging.Red5LoggerFactory;
+import org.red5.server.api.scope.IScope;
+import org.red5.server.api.stream.IBroadcastStream;
+import org.red5.server.api.stream.IStreamPacket;
+import org.slf4j.Logger;
+
+public class StreamAudioListener extends BaseStreamListener {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			StreamAudioListener.class, OpenmeetingsVariables.webAppRootKey);
+
+	private final StreamAudioWriter streamAudioWriter;
+	
+	public StreamAudioListener(String streamName, IScope scope,
+			Long flvRecordingMetaDataId, boolean isScreenData,
+			boolean isInterview,
+			FlvRecordingMetaDeltaDaoImpl flvRecordingMetaDeltaDao,
+			FlvRecordingMetaDataDaoImpl flvRecordingMetaDataDao) {
+		streamAudioWriter = new StreamAudioWriter(streamName, scope,
+				flvRecordingMetaDataId, isScreenData, isInterview,
+				flvRecordingMetaDeltaDao, flvRecordingMetaDataDao);
+	}
+
+	public void packetReceived(IBroadcastStream broadcastStream,
+			IStreamPacket streampacket) {
+		try {
+
+			CachedEvent cachedEvent = new CachedEvent();
+			cachedEvent.setData(streampacket.getData().duplicate());
+			cachedEvent.setDataType(streampacket.getDataType());
+			cachedEvent.setTimestamp(streampacket.getTimestamp());
+			cachedEvent.setCurrentTime(new Date());
+
+			streamAudioWriter.append(cachedEvent);
+
+		} catch (Exception e) {
+			log.error("[packetReceived]", e);
+		}
+	}
+
+	@Override
+	public void closeStream() {
+		streamAudioWriter.stop();
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/flvrecord/listener/StreamVideoListener.java b/src/org/openmeetings/app/data/flvrecord/listener/StreamVideoListener.java
new file mode 100644
index 0000000..7b4cc29
--- /dev/null
+++ b/src/org/openmeetings/app/data/flvrecord/listener/StreamVideoListener.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.flvrecord.listener;
+
+import java.util.Date;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.flvrecord.FlvRecordingMetaDataDaoImpl;
+import org.openmeetings.app.data.flvrecord.listener.async.CachedEvent;
+import org.openmeetings.app.data.flvrecord.listener.async.StreamVideoWriter;
+import org.red5.logging.Red5LoggerFactory;
+import org.red5.server.api.scope.IScope;
+import org.red5.server.api.stream.IBroadcastStream;
+import org.red5.server.api.stream.IStreamPacket;
+import org.slf4j.Logger;
+
+public class StreamVideoListener extends BaseStreamListener {
+	
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			StreamVideoListener.class, OpenmeetingsVariables.webAppRootKey);
+
+	private final StreamVideoWriter streamVideoWriter;
+
+	public StreamVideoListener(String streamName, IScope scope,
+			Long flvRecordingMetaDataId, boolean isScreenData,
+			boolean isInterview,
+			FlvRecordingMetaDataDaoImpl flvRecordingMetaDataDao) {
+		streamVideoWriter = new StreamVideoWriter(streamName, scope, flvRecordingMetaDataId, isScreenData,
+				isInterview, flvRecordingMetaDataDao);
+	}
+
+	public void packetReceived(IBroadcastStream broadcastStream,
+			IStreamPacket streampacket) {
+		try {
+
+			CachedEvent cachedEvent = new CachedEvent();
+			cachedEvent.setData(streampacket.getData().duplicate());
+			cachedEvent.setDataType(streampacket.getDataType());
+			cachedEvent.setTimestamp(streampacket.getTimestamp());
+			cachedEvent.setCurrentTime(new Date());
+
+			streamVideoWriter.append(cachedEvent);
+
+		} catch (Exception e) {
+			log.error("[packetReceived]", e);
+		}
+	}
+
+	@Override
+	public void closeStream() {
+		streamVideoWriter.stop();
+	}
+	
+}
diff --git a/src/org/openmeetings/app/data/flvrecord/listener/async/BaseStreamWriter.java b/src/org/openmeetings/app/data/flvrecord/listener/async/BaseStreamWriter.java
new file mode 100644
index 0000000..74946d0
--- /dev/null
+++ b/src/org/openmeetings/app/data/flvrecord/listener/async/BaseStreamWriter.java
@@ -0,0 +1,189 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.app.data.flvrecord.listener.async;

+

+import java.io.File;

+import java.io.IOException;

+import java.util.Date;

+import java.util.concurrent.BlockingQueue;

+import java.util.concurrent.LinkedBlockingQueue;

+import java.util.concurrent.TimeUnit;

+

+import org.openmeetings.app.OpenmeetingsVariables;

+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;

+import org.red5.io.IStreamableFile;

+import org.red5.io.IStreamableFileFactory;

+import org.red5.io.IStreamableFileService;

+import org.red5.io.ITagWriter;

+import org.red5.io.StreamableFileFactory;

+import org.red5.logging.Red5LoggerFactory;

+import org.red5.server.api.scope.IScope;

+import org.red5.server.util.ScopeUtils;

+import org.slf4j.Logger;

+

+public abstract class BaseStreamWriter implements Runnable {

+

+	private static final Logger log = Red5LoggerFactory.getLogger(

+			BaseStreamWriter.class, OpenmeetingsVariables.webAppRootKey);

+

+	// thread is running

+	private boolean running = false;

+	// thread is stopped

+	private boolean stopping = false;

+	// thread will be stopped as soon as the queue is empty

+	private boolean dostopping = false;

+

+	protected ITagWriter writer = null;

+

+	protected Long flvRecordingMetaDataId = null;

+

+	protected Date startedSessionTimeDate = null;

+

+	protected File file;

+

+	protected IScope scope;

+

+	protected boolean isScreenData = false;

+

+	protected String streamName = "";

+

+

+	private final BlockingQueue<CachedEvent> queue = new LinkedBlockingQueue<CachedEvent>();

+

+	public BaseStreamWriter(String streamName, IScope scope,

+			Long flvRecordingMetaDataId, boolean isScreenData) {

+		this.startedSessionTimeDate = new Date();

+		this.isScreenData = isScreenData;

+		this.streamName = streamName;

+		this.flvRecordingMetaDataId = flvRecordingMetaDataId;

+		this.scope = scope;

+		try {

+			init();

+		} catch (IOException ex) {

+			log.error("[StreamAudioWriter] Could not start Thread", ex);

+		}

+		open();

+	}

+

+	/**

+	 * Initialization

+	 * 

+	 * @throws IOException

+	 *             I/O exception

+	 */

+	private void init() throws IOException {

+

+		File folder = new File(ScopeApplicationAdapter.webAppPath

+				+ File.separatorChar + OpenmeetingsVariables.STREAMS_DIR + File.separatorChar

+				+ this.scope.getName());

+

+		if (!folder.exists()) {

+			folder.mkdir();

+		}

+

+		String flvName = ScopeApplicationAdapter.webAppPath

+				+ File.separatorChar + OpenmeetingsVariables.STREAMS_DIR + File.separatorChar

+				+ this.scope.getName() + File.separatorChar + this.streamName

+				+ ".flv";

+

+		file = new File(flvName);

+

+		IStreamableFileFactory factory = (IStreamableFileFactory) ScopeUtils

+				.getScopeService(this.scope, IStreamableFileFactory.class,

+						StreamableFileFactory.class);

+

+		// File folder = file.getParentFile();

+

+		if (!folder.exists()) {

+			if (!folder.mkdirs()) {

+				throw new IOException("Could not create parent folder");

+			}

+		}

+

+		if (!this.file.isFile()) {

+

+			// Maybe the (previously existing) file has been deleted

+			this.file.createNewFile();

+

+		} else if (!file.canWrite()) {

+			throw new IOException("The file is read-only");

+		}

+

+		IStreamableFileService service = factory.getService(this.file);

+		IStreamableFile flv = service.getStreamableFile(this.file);

+		this.writer = flv.getWriter();

+

+	}

+

+	private void open() {

+		running = true;

+		new Thread(this).start();

+	}

+

+	public void stop() {

+		dostopping = true;

+	}

+

+	public void run() {

+		while (!stopping) {

+			try {

+				CachedEvent item = queue.poll(100, TimeUnit.MICROSECONDS);

+				if (item != null) {

+

+					if (dostopping) {

+						log.debug("Recording stopped but still packets to write to file!");

+					}

+

+					packetReceived(item);

+				} else if (dostopping) {

+					stopping = true;

+					closeStream();

+				}

+			} catch (InterruptedException e) {

+				log.error("[run]", e);

+			}

+		}

+	}

+

+	/**

+	 * Write the actual packet data to the disk and do calculate any needed

+	 * additional information

+	 * 

+	 * @param streampacket

+	 */

+	public abstract void packetReceived(CachedEvent streampacket);

+

+	/**

+	 * called when the stream is finished written on the disk

+	 */

+	public abstract void closeStream();

+

+	public void append(CachedEvent streampacket) {

+		if (!running) {

+			throw new IllegalStateException(

+					"Append called before the Thread was started!");

+		}

+		try {

+			queue.put(streampacket);

+		} catch (InterruptedException ignored) {

+			log.error("[append]", ignored);

+		}

+	}

+

+}

diff --git a/src/org/openmeetings/app/data/flvrecord/listener/async/CachedEvent.java b/src/org/openmeetings/app/data/flvrecord/listener/async/CachedEvent.java
new file mode 100644
index 0000000..7100756
--- /dev/null
+++ b/src/org/openmeetings/app/data/flvrecord/listener/async/CachedEvent.java
@@ -0,0 +1,65 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.app.data.flvrecord.listener.async;

+

+import java.util.Date;

+

+import org.apache.mina.core.buffer.IoBuffer;

+import org.red5.server.api.stream.IStreamPacket;

+

+public class CachedEvent implements IStreamPacket {

+

+	private byte dataType;

+	private int timestamp; //this is the timeStamp, showing the time elapsed since the microphone was turned on

+	private IoBuffer data;

+	private Date currentTime; //this is the actually current timeStamp when the packet with audio data did enter the server

+

+	public Date getCurrentTime() {

+		return currentTime;

+	}

+

+	public void setCurrentTime(Date currentTime) {

+		this.currentTime = currentTime;

+	}

+

+	public void setDataType(byte dataType) {

+		this.dataType = dataType;

+	}

+

+	public void setTimestamp(int timestamp) {

+		this.timestamp = timestamp;

+	}

+

+	public void setData(IoBuffer data) {

+		this.data = data;

+	}

+

+	public byte getDataType() {

+		return dataType;

+	}

+

+	public int getTimestamp() {

+		return timestamp;

+	}

+

+	public IoBuffer getData() {

+		return data;

+	}

+

+}

diff --git a/src/org/openmeetings/app/data/flvrecord/listener/async/StreamAudioWriter.java b/src/org/openmeetings/app/data/flvrecord/listener/async/StreamAudioWriter.java
new file mode 100644
index 0000000..0f05d8e
--- /dev/null
+++ b/src/org/openmeetings/app/data/flvrecord/listener/async/StreamAudioWriter.java
@@ -0,0 +1,284 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.app.data.flvrecord.listener.async;

+

+import java.io.IOException;

+import java.util.Date;

+

+import org.apache.mina.core.buffer.IoBuffer;

+import org.openmeetings.app.OpenmeetingsVariables;

+import org.openmeetings.app.data.flvrecord.FlvRecordingMetaDataDaoImpl;

+import org.openmeetings.app.data.flvrecord.FlvRecordingMetaDeltaDaoImpl;

+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaData;

+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaDelta;

+import org.red5.io.ITag;

+import org.red5.io.flv.impl.Tag;

+import org.red5.logging.Red5LoggerFactory;

+import org.red5.server.api.scope.IScope;

+import org.slf4j.Logger;

+

+public class StreamAudioWriter extends BaseStreamWriter {

+

+	private static final Logger log = Red5LoggerFactory.getLogger(

+			StreamAudioWriter.class, OpenmeetingsVariables.webAppRootKey);

+

+	private int duration = 0;

+

+	private int startTimeStamp = -1;

+

+	private long initialDelta = 0;

+

+	private Integer lastTimeStamp = -1;

+	private Date lastcurrentTime = null;

+

+	private int lastStreamPacketTimeStamp = -1;

+

+	private long byteCount = 0;

+	

+	// Autowire is not possible

+	protected final FlvRecordingMetaDeltaDaoImpl flvRecordingMetaDeltaDao;

+	protected final FlvRecordingMetaDataDaoImpl flvRecordingMetaDataDao;

+

+	private boolean isInterview = false;

+	

+	public StreamAudioWriter(String streamName, IScope scope,

+			Long flvRecordingMetaDataId, boolean isScreenData,

+			boolean isInterview,

+			FlvRecordingMetaDeltaDaoImpl flvRecordingMetaDeltaDao,

+			FlvRecordingMetaDataDaoImpl flvRecordingMetaDataDao) {

+		super(streamName, scope, flvRecordingMetaDataId, isScreenData);

+		

+		this.flvRecordingMetaDeltaDao = flvRecordingMetaDeltaDao;

+		this.flvRecordingMetaDataDao = flvRecordingMetaDataDao;

+		this.isInterview  = isInterview;

+		

+		FlvRecordingMetaData flvRecordingMetaData = flvRecordingMetaDataDao.

+								getFlvRecordingMetaDataById(flvRecordingMetaDataId);

+		flvRecordingMetaData.setStreamReaderThreadComplete(false);

+		flvRecordingMetaDataDao.updateFlvRecordingMetaData(flvRecordingMetaData);

+		

+	}

+

+	@Override

+	public void packetReceived(CachedEvent streampacket) {

+		try {

+

+			// We only care about audio at this moment

+			if (this.isInterview || streampacket.getDataType() == 8) {

+

+				if (streampacket.getTimestamp() <= 0) {

+					log.warn("Negative TimeStamp");

+					return;

+				}

+

+				IoBuffer data = streampacket.getData().asReadOnlyBuffer();

+

+				if (data.limit() == 0) {

+					return;

+				}

+

+				this.byteCount += data.limit();

+				

+				lastcurrentTime = streampacket.getCurrentTime();

+				int timeStamp = streampacket.getTimestamp();

+				Date virtualTime = streampacket.getCurrentTime();

+

+				if (startTimeStamp == -1) {

+

+					// Calculate the delta between the initial start and the

+					// first audio-packet data

+

+					this.initialDelta = virtualTime.getTime()

+							- this.startedSessionTimeDate.getTime();

+

+					FlvRecordingMetaDelta flvRecordingMetaDelta = new FlvRecordingMetaDelta();

+

+					flvRecordingMetaDelta.setDeltaTime(this.initialDelta);

+					flvRecordingMetaDelta

+							.setFlvRecordingMetaDataId(this.flvRecordingMetaDataId);

+					flvRecordingMetaDelta.setTimeStamp(0);

+					flvRecordingMetaDelta.setDebugStatus("INIT AUDIO");

+					flvRecordingMetaDelta.setIsStartPadding(true);

+					flvRecordingMetaDelta.setIsEndPadding(false);

+					flvRecordingMetaDelta.setDataLengthPacket(data.limit());

+					flvRecordingMetaDelta

+							.setReceivedAudioDataLength(this.byteCount);

+					flvRecordingMetaDelta

+							.setStartTime(this.startedSessionTimeDate);

+					flvRecordingMetaDelta.setPacketTimeStamp(streampacket

+							.getTimestamp());

+

+					Long deltaTimeStamp = virtualTime.getTime()

+							- this.startedSessionTimeDate.getTime();

+

+					// this.duration = Math.max(this.duration, 0 +

+					// this.writer.getOffset());

+					flvRecordingMetaDelta.setDuration(0);

+

+					Long missingTime = deltaTimeStamp - 0;

+

+					flvRecordingMetaDelta.setMissingTime(missingTime);

+

+					flvRecordingMetaDelta.setCurrentTime(virtualTime);

+					flvRecordingMetaDelta.setDeltaTimeStamp(deltaTimeStamp);

+					flvRecordingMetaDelta.setStartTimeStamp(startTimeStamp);

+

+					flvRecordingMetaDeltaDao

+							.addFlvRecordingMetaDelta(flvRecordingMetaDelta);

+

+					// That will be not bigger then long value

+					this.startTimeStamp = (streampacket.getTimestamp());

+

+					// We have to set that to bypass the initial delta

+					// lastTimeStamp = startTimeStamp;

+				}

+

+				

+

+				this.lastStreamPacketTimeStamp = streampacket.getTimestamp();

+

+				timeStamp -= this.startTimeStamp;

+

+				long deltaTime = 0;

+				if (lastTimeStamp == -1) {

+					deltaTime = 0; // Offset at the beginning is calculated

+									// above

+				} else {

+					deltaTime = timeStamp - lastTimeStamp;

+				}

+

+				Long preLastTimeStamp = Long

+						.parseLong(lastTimeStamp.toString());

+

+				lastTimeStamp = timeStamp;

+

+				if (deltaTime > 75) {

+

+					FlvRecordingMetaDelta flvRecordingMetaDelta = new FlvRecordingMetaDelta();

+

+					flvRecordingMetaDelta.setDeltaTime(deltaTime);

+					flvRecordingMetaDelta

+							.setFlvRecordingMetaDataId(this.flvRecordingMetaDataId);

+					flvRecordingMetaDelta.setTimeStamp(timeStamp);

+					flvRecordingMetaDelta.setDebugStatus("RUN AUDIO");

+					flvRecordingMetaDelta.setIsStartPadding(false);

+					flvRecordingMetaDelta.setLastTimeStamp(preLastTimeStamp);

+					flvRecordingMetaDelta.setIsEndPadding(false);

+					flvRecordingMetaDelta.setDataLengthPacket(data.limit());

+					flvRecordingMetaDelta

+							.setReceivedAudioDataLength(this.byteCount);

+					flvRecordingMetaDelta

+							.setStartTime(this.startedSessionTimeDate);

+					flvRecordingMetaDelta.setPacketTimeStamp(streampacket

+							.getTimestamp());

+

+					Date current_date = new Date();

+					Long deltaTimeStamp = current_date.getTime()

+							- this.startedSessionTimeDate.getTime();

+

+					this.duration = Math.max(this.duration, timeStamp

+							+ this.writer.getOffset());

+					flvRecordingMetaDelta.setDuration(this.duration);

+

+					Long missingTime = deltaTimeStamp - timeStamp;

+

+					flvRecordingMetaDelta.setMissingTime(missingTime);

+

+					flvRecordingMetaDelta.setCurrentTime(current_date);

+					flvRecordingMetaDelta.setDeltaTimeStamp(deltaTimeStamp);

+					flvRecordingMetaDelta.setStartTimeStamp(startTimeStamp);

+

+					flvRecordingMetaDeltaDao

+							.addFlvRecordingMetaDelta(flvRecordingMetaDelta);

+

+				}

+

+				ITag tag = new Tag();

+				tag.setDataType(streampacket.getDataType());

+

+				// log.debug("data.limit() :: "+data.limit());

+				tag.setBodySize(data.limit());

+				tag.setTimestamp(timeStamp);

+				tag.setBody(data);

+

+				writer.writeTag(tag);

+

+			}

+

+		} catch (IOException e) {

+			log.error("[packetReceived]", e);

+		} catch (Exception e) {

+			log.error("[packetReceived]", e);

+		}

+	}

+

+	@Override

+	public void closeStream() {

+		try {

+			writer.close();

+		} catch (Exception err) {

+			log.error("[closeStream, close writer]", err);

+		}

+

+		try {

+			// We do not add any End Padding or count the gaps for the

+			// Screen Data, cause there is no!

+			

+			Date virtualTime = lastcurrentTime;

+			log.debug("virtualTime: " + virtualTime);

+			log.debug("startedSessionTimeDate: " + startedSessionTimeDate);

+			

+			long deltaRecordingTime = virtualTime == null ? 0 : virtualTime.getTime() - startedSessionTimeDate.getTime();

+

+			log.debug("lastTimeStamp :closeStream: " + lastTimeStamp);

+			log.debug("lastStreamPacketTimeStamp :closeStream: " + lastStreamPacketTimeStamp);

+			log.debug("deltaRecordingTime :closeStream: " + deltaRecordingTime);

+

+			long deltaTimePaddingEnd = deltaRecordingTime - lastTimeStamp - initialDelta;

+

+			log.debug("deltaTimePaddingEnd :: " + deltaTimePaddingEnd);

+

+			FlvRecordingMetaDelta flvRecordingMetaDelta = new FlvRecordingMetaDelta();

+

+			flvRecordingMetaDelta.setDeltaTime(deltaTimePaddingEnd);

+			flvRecordingMetaDelta

+					.setFlvRecordingMetaDataId(flvRecordingMetaDataId);

+			flvRecordingMetaDelta.setTimeStamp(lastTimeStamp);

+			flvRecordingMetaDelta.setDebugStatus("END AUDIO");

+			flvRecordingMetaDelta.setIsStartPadding(false);

+			flvRecordingMetaDelta.setIsEndPadding(true);

+			flvRecordingMetaDelta.setDataLengthPacket(null);

+			flvRecordingMetaDelta

+					.setReceivedAudioDataLength(byteCount);

+			flvRecordingMetaDelta.setStartTime(startedSessionTimeDate);

+			flvRecordingMetaDelta.setCurrentTime(new Date());

+

+			flvRecordingMetaDeltaDao

+					.addFlvRecordingMetaDelta(flvRecordingMetaDelta);

+			

+			//Write the complete Bit to the meta data, the converter task will wait for this bit!

+			FlvRecordingMetaData flvRecordingMetaData = flvRecordingMetaDataDao.getFlvRecordingMetaDataById(flvRecordingMetaDataId);

+			flvRecordingMetaData.setStreamReaderThreadComplete(true);

+			flvRecordingMetaDataDao.updateFlvRecordingMetaData(flvRecordingMetaData);

+

+		} catch (Exception err) {

+			log.error("[closeStream]", err);

+		}

+	}

+}

diff --git a/src/org/openmeetings/app/data/flvrecord/listener/async/StreamVideoWriter.java b/src/org/openmeetings/app/data/flvrecord/listener/async/StreamVideoWriter.java
new file mode 100644
index 0000000..75fc956
--- /dev/null
+++ b/src/org/openmeetings/app/data/flvrecord/listener/async/StreamVideoWriter.java
@@ -0,0 +1,162 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.app.data.flvrecord.listener.async;

+

+import java.io.IOException;

+import java.util.Date;

+

+import org.apache.mina.core.buffer.IoBuffer;

+import org.openmeetings.app.OpenmeetingsVariables;

+import org.openmeetings.app.data.flvrecord.FlvRecordingMetaDataDaoImpl;

+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaData;

+import org.red5.io.ITag;

+import org.red5.io.flv.impl.Tag;

+import org.red5.logging.Red5LoggerFactory;

+import org.red5.server.api.scope.IScope;

+import org.slf4j.Logger;

+

+public class StreamVideoWriter extends BaseStreamWriter {

+	

+	private int startTimeStamp = -1;

+

+	private Date startedSessionScreenTimeDate = null;

+

+	private long initialDelta = 0;

+	

+	private final FlvRecordingMetaDataDaoImpl flvRecordingMetaDataDao;

+

+	private static final Logger log = Red5LoggerFactory.getLogger(

+			StreamVideoWriter.class, OpenmeetingsVariables.webAppRootKey);

+	

+	public StreamVideoWriter(String streamName, IScope scope,

+			Long flvRecordingMetaDataId, boolean isScreenData,

+			boolean isInterview,

+			FlvRecordingMetaDataDaoImpl flvRecordingMetaDataDao) {

+		

+		super(streamName, scope, flvRecordingMetaDataId, isScreenData);

+		

+		this.flvRecordingMetaDataDao = flvRecordingMetaDataDao;

+		

+		FlvRecordingMetaData flvRecordingMetaData = flvRecordingMetaDataDao.

+				getFlvRecordingMetaDataById(flvRecordingMetaDataId);

+		flvRecordingMetaData.setStreamReaderThreadComplete(false);

+		flvRecordingMetaDataDao.updateFlvRecordingMetaData(flvRecordingMetaData);

+	}

+	

+	@Override

+	public void packetReceived(CachedEvent streampacket) {

+		try {

+

+			// We only are concerned about video at this moment

+			// if (streampacket.getDataType() == 9) {

+			

+			int timeStamp = streampacket.getTimestamp();

+			Date virtualTime = streampacket.getCurrentTime();

+

+			if (this.startedSessionScreenTimeDate == null) {

+

+				this.startedSessionScreenTimeDate = virtualTime;

+

+				// Calculate the delta between the initial start and the first

+				// packet data

+

+				this.initialDelta = this.startedSessionScreenTimeDate.getTime()

+						- this.startedSessionTimeDate.getTime();

+

+				// This is important for the Interview Post Processing to get

+				// the time between starting the stream and the actual Access to

+				// the

+				// webcam by the Flash Security Dialog

+				flvRecordingMetaDataDao.updateFlvRecordingMetaDataInitialGap(

+						flvRecordingMetaDataId, this.initialDelta);

+

+			}

+

+			if (streampacket.getTimestamp() <= 0) {

+				log.warn("Negative TimeStamp");

+				return;

+			}

+

+			IoBuffer data = streampacket.getData().asReadOnlyBuffer();

+

+			if (data.limit() == 0) {

+				return;

+			}

+

+			if (startTimeStamp == -1) {

+				// That will be not bigger then long value

+				startTimeStamp = streampacket.getTimestamp();

+			}

+

+			timeStamp -= startTimeStamp;

+

+			ITag tag = new Tag();

+			tag.setDataType(streampacket.getDataType());

+

+			// log.debug("data.limit() :: "+data.limit());

+			tag.setBodySize(data.limit());

+			tag.setTimestamp(timeStamp);

+			tag.setBody(data);

+

+//			if (this.isInterview) {

+//				if (timeStamp <= 500) {

+//					// We will cut the first 0.5 seconds

+//					// The First seconds seem to break the Recording Video often

+//					return;

+//				}

+//			}

+			

+			writer.writeTag(tag);

+

+		} catch (IOException e) {

+			log.error("[packetReceived]", e);

+		} catch (Exception e) {

+			log.error("[packetReceived]", e);

+		}

+	}

+

+	@Override

+	public void closeStream() {

+		try {

+			

+			writer.close();

+

+			// Add Delta in the beginning, this Delta is the Gap between the

+			// device chosen and when the User hits the button in the Flash

+			// Security Warning

+			FlvRecordingMetaData flvRecordingMetaData = flvRecordingMetaDataDao

+					.getFlvRecordingMetaDataById(this.flvRecordingMetaDataId);

+

+			flvRecordingMetaData.setRecordStart(new Date(

+					flvRecordingMetaData.getRecordStart().getTime()

+							+ this.initialDelta));

+			

+			flvRecordingMetaData.setStreamReaderThreadComplete(true);

+			

+			flvRecordingMetaDataDao

+					.updateFlvRecordingMetaData(flvRecordingMetaData);

+			

+			

+

+		} catch (Exception err) {

+			log.error("[closeStream]", err);

+		}

+	}

+

+}

diff --git a/src/org/openmeetings/app/data/logs/ConferenceLogDaoImpl.java b/src/org/openmeetings/app/data/logs/ConferenceLogDaoImpl.java
new file mode 100644
index 0000000..65d0d09
--- /dev/null
+++ b/src/org/openmeetings/app/data/logs/ConferenceLogDaoImpl.java
@@ -0,0 +1,80 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.logs;
+
+import java.util.Date;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.persistence.beans.logs.ConferenceLog;
+import org.openmeetings.app.persistence.beans.logs.ConferenceLogType;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class ConferenceLogDaoImpl {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(ConferenceLogDaoImpl.class, OpenmeetingsVariables.webAppRootKey);
+	@PersistenceContext
+	private EntityManager em;
+	@Autowired
+	private ConferenceLogTypeDaoImpl conferenceLogTypeDao;
+
+	public Long addConferenceLog(String eventType, Long userId, String streamid, 
+			Long room_id, String userip, String scopeName, 
+			String externalUserId, String externalUserType, String email,
+			String firstname, String lastname) {
+		try {
+			
+			ConferenceLogType confLogType = conferenceLogTypeDao.getConferenceLogTypeByEventName(eventType);
+			if (confLogType == null) {
+				conferenceLogTypeDao.addConferenceLogType(eventType);
+				confLogType = conferenceLogTypeDao.getConferenceLogTypeByEventName(eventType);
+			}
+			
+			ConferenceLog confLog = new ConferenceLog();
+			confLog.setConferenceLogType(confLogType);
+			confLog.setInserted(new Date());
+			confLog.setUserId(userId);
+			confLog.setStreamid(streamid);
+			confLog.setScopeName(scopeName);
+			confLog.setRoom_id(room_id);
+			confLog.setUserip(userip);
+			confLog.setExternalUserId(externalUserId);
+			confLog.setExternalUserType(externalUserType);
+			confLog.setFirstname(firstname);
+			confLog.setLastname(lastname);
+			confLog.setEmail(email);
+			
+			confLog = em.merge(confLog);
+			Long confLogId = confLog.getConferenceLogId();
+
+			return confLogId;
+		} catch (Exception ex2) {
+			log.error("[addConferenceLog]: ",ex2);
+		}
+		return null;
+	}
+	
+	
+}
diff --git a/src/org/openmeetings/app/data/logs/ConferenceLogTypeDaoImpl.java b/src/org/openmeetings/app/data/logs/ConferenceLogTypeDaoImpl.java
new file mode 100644
index 0000000..abdccbd
--- /dev/null
+++ b/src/org/openmeetings/app/data/logs/ConferenceLogTypeDaoImpl.java
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.logs;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.persistence.beans.logs.ConferenceLogType;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class ConferenceLogTypeDaoImpl {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(ConferenceLogTypeDaoImpl.class, OpenmeetingsVariables.webAppRootKey);
+	@PersistenceContext
+	private EntityManager em;
+
+	public Long addConferenceLogType(String eventType) {
+		try {
+			
+			ConferenceLogType confLogType = new ConferenceLogType();
+			confLogType.setEventType(eventType);
+			confLogType.setInserted(new Date());
+			
+			confLogType = em.merge(confLogType);
+			Long appointment_id = confLogType.getConferenceLogTypeId();
+
+			return appointment_id;
+		} catch (Exception ex2) {
+			log.error("[addConferenceLogType]: ",ex2);
+		}
+		return null;
+	}
+	
+	public ConferenceLogType getConferenceLogTypeByEventName(String eventType) {
+		try {
+			
+			String hql = "select a from ConferenceLogType a " +
+					"WHERE a.eventType = :eventType ";
+					
+			TypedQuery<ConferenceLogType> query = em.createQuery(hql, ConferenceLogType.class);
+			query.setParameter("eventType",eventType);
+			
+			//Seems like this does throw an error sometimes cause it does not return a unique Result
+			//ConferenceLogType confLogType = (ConferenceLogType) query.getSingleResult();
+			List<ConferenceLogType> confLogTypes = query.getResultList();
+			ConferenceLogType confLogType = null;
+			if (confLogTypes != null && confLogTypes.size() > 0) {
+				confLogType = confLogTypes.get(0);
+			}
+			
+			return confLogType;
+		} catch (Exception ex2) {
+			log.error("[getConferenceLogTypeByEventName]: " + ex2);
+		}
+		return null;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/data/record/BatikMethods.java b/src/org/openmeetings/app/data/record/BatikMethods.java
new file mode 100644
index 0000000..436e3b3
--- /dev/null
+++ b/src/org/openmeetings/app/data/record/BatikMethods.java
@@ -0,0 +1,524 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.record;
+
+import java.awt.AlphaComposite;
+import java.awt.BasicStroke;
+import java.awt.Color;
+import java.awt.Font;
+import java.awt.Graphics2D;
+import java.awt.geom.Ellipse2D;
+import java.awt.geom.GeneralPath;
+import java.awt.geom.Line2D;
+import java.awt.geom.Rectangle2D;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.swing.JTextArea;
+
+import org.apache.batik.dom.svg.SVGDOMImplementation;
+import org.apache.batik.svggen.SVGGraphics2D;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.utils.geom.ArrowStyle;
+import org.openmeetings.utils.geom.GeomPoint;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+public class BatikMethods {
+	
+	private static final Logger log = Red5LoggerFactory.getLogger(BatikMethods.class, OpenmeetingsVariables.webAppRootKey);
+	@Autowired
+	private Configurationmanagement cfgManagement;
+
+	public void paintTextByWidthHeight(SVGGraphics2D g2d, int x1, int y1, int width, int height,
+			String text, int style, int size, Color fontColor) throws Exception {
+
+		//String default_export_font = Configurationmanagement.getInstance().getConfKey(3,"default_export_font").getConf_value();
+		
+		this.drawTextByJTextArea(g2d, x1, y1, width, height, text, "Verdana", style, size, fontColor);
+
+	}
+	
+	public void _paintTextByWidthHeight(SVGGraphics2D g2d, int x1, int y1, int width, int height,
+			String text, int style, int size, Color fontColor) throws Exception {
+
+		String default_export_font = cfgManagement.getConfKey(3,"default_export_font").getConf_value();
+		
+		this.drawTextByString(g2d, x1, y1, width, height, text, default_export_font, style, size, fontColor);
+
+	}
+	
+	@SuppressWarnings("rawtypes")
+	public void drawPointsObject(Graphics2D g2d, List pointsList, Color lineColor, int size, 
+			double xObj, double yObj, float alpha) throws Exception {
+		
+		for (Iterator iter = pointsList.iterator();iter.hasNext();) {
+			List point = (List) iter.next();
+			
+//			log.debug("POINT FROM TO :" +
+//					Double.valueOf(point.get(1).toString()).doubleValue()+","+
+//					Double.valueOf(point.get(2).toString()).doubleValue()+","+ 
+//					Double.valueOf(point.get(3).toString()).doubleValue()+","+
+//					Double.valueOf(point.get(4).toString()).doubleValue());
+			
+			this.drawThickLine2DPaint(g2d, Double.valueOf(point.get(1).toString()).doubleValue(), 
+					Double.valueOf(point.get(2).toString()).doubleValue(), 
+					Double.valueOf(point.get(3).toString()).doubleValue(), 
+					Double.valueOf(point.get(4).toString()).doubleValue(),  
+					size, lineColor, xObj, yObj, alpha);
+		}
+		
+		
+	}
+	
+	public void drawLine(Graphics2D g2d, Double x1, Double y1, Double x2, Double y2, Color lineColor, int size, 
+			double xObj, double yObj, float alpha) throws Exception {
+		
+		this.drawThickLine2D(g2d, x1, y1, x2, y2,  
+				size, lineColor, xObj, yObj, alpha);
+		
+	}
+	
+	public void paintEllipse2D(Graphics2D g2d, double x, double y, double width, double height, 
+			Color linecoler, int thickness, Color fillColor, float alpha) throws Exception {
+		
+		g2d.setStroke(new BasicStroke(thickness, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
+		
+		int[] rules = new int[8]; 
+		
+		//all possible Compositing Rules:
+		rules[0] = AlphaComposite.SRC_OVER;
+		rules[1] = AlphaComposite.DST_OVER;
+		rules[2] = AlphaComposite.CLEAR;
+		rules[3] = AlphaComposite.SRC;
+		rules[4] = AlphaComposite.SRC_IN;
+		rules[5] = AlphaComposite.DST_IN;
+		rules[6] = AlphaComposite.SRC_OUT;
+		rules[7] = AlphaComposite.DST_OUT;
+		
+		g2d.setComposite( AlphaComposite.getInstance( AlphaComposite.SRC,alpha));
+		
+        //int x, int y, int width, int height
+        
+        if (linecoler != null) {
+	        g2d.setPaint(linecoler);
+	        g2d.draw(new Ellipse2D.Double(x,y,width,height));
+        }
+        
+        if (fillColor != null) {
+        	g2d.setPaint(fillColor);
+            g2d.fill(new Ellipse2D.Double(x,y,width,height));
+        }
+        
+    }
+	
+	public void paintRect2D(Graphics2D g2d, double x, double y, double width, double height, 
+			Color linecoler, int thickness, Color fillColor, float alpha) throws Exception {
+		
+		g2d.setStroke(new BasicStroke(thickness, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
+		
+		int[] rules = new int[8]; 
+		
+		//all possible Compositing Rules:
+		rules[0] = AlphaComposite.SRC_OVER;
+		rules[1] = AlphaComposite.DST_OVER;
+		rules[2] = AlphaComposite.CLEAR;
+		rules[3] = AlphaComposite.SRC;
+		rules[4] = AlphaComposite.SRC_IN;
+		rules[5] = AlphaComposite.DST_IN;
+		rules[6] = AlphaComposite.SRC_OUT;
+		rules[7] = AlphaComposite.DST_OUT;
+		
+		g2d.setComposite( AlphaComposite.getInstance( AlphaComposite.SRC,alpha));
+		
+        //int x, int y, int width, int height
+        
+        if (linecoler != null) {
+	        g2d.setPaint(linecoler);
+	        g2d.draw(new Rectangle2D.Double(x,y,width,height));
+        }
+        
+        if (fillColor != null) {
+        	g2d.setPaint(fillColor);
+            g2d.fill(new Rectangle2D.Double(x,y,width,height));
+        }
+        
+    }
+	
+	public void paintRect(Graphics2D g2d, int x, int y, int width, int height, 
+			Color linecoler, int thickness, Color fillColor) throws Exception {
+		
+		//int x, int y, int width, int height
+        //g2d.fill(new Rectangle(x,y,width,height));
+        
+        g2d.setStroke(new BasicStroke(thickness));
+        
+        if (linecoler != null) {
+	        g2d.setPaint(linecoler);
+	        g2d.drawRect(x, y, width, height);
+        }
+        
+        if (fillColor != null) {
+        	g2d.setPaint(fillColor);
+	        g2d.fillRect(x, y, width, height);
+        }
+        
+    }
+	
+	public void paintLine(Graphics2D g2d, int x1, int y1, int x2, int y2, Color col) throws Exception {
+		g2d.setPaint(col);
+		g2d.drawLine(x1, y1, x2, y2);
+	}
+	
+	public void drawThickLine2DPaint(Graphics2D g2d, double x1, double y1, double x2, double y2, 
+			int width, Color c, double xObj, double yObj, float alpha) throws Exception {
+		g2d.setPaint(c);
+		
+		int[] rules = new int[8]; 
+		
+		//all possible Compositing Rules:
+		rules[0] = AlphaComposite.SRC_OVER;
+		rules[1] = AlphaComposite.DST_OVER;
+		rules[2] = AlphaComposite.CLEAR;
+		rules[3] = AlphaComposite.SRC;
+		rules[4] = AlphaComposite.SRC_IN;
+		rules[5] = AlphaComposite.DST_IN;
+		rules[6] = AlphaComposite.SRC_OUT;
+		rules[7] = AlphaComposite.DST_OUT;
+		
+		g2d.setComposite( AlphaComposite.getInstance( AlphaComposite.SRC,alpha));
+		g2d.setStroke(new BasicStroke(width, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL));
+		Line2D line = new Line2D.Double(x1, y1, x2, y2);
+	    g2d.draw(line);
+	}
+
+	
+	public void drawThickLine2D(Graphics2D g2d, double x1, double y1, double x2, double y2, 
+			int width, Color c, double xObj, double yObj, float alpha) throws Exception {
+		g2d.setPaint(c);
+		
+		int[] rules = new int[8]; 
+		
+		//all possible Compositing Rules:
+		rules[0] = AlphaComposite.SRC_OVER;
+		rules[1] = AlphaComposite.DST_OVER;
+		rules[2] = AlphaComposite.CLEAR;
+		rules[3] = AlphaComposite.SRC;
+		rules[4] = AlphaComposite.SRC_IN;
+		rules[5] = AlphaComposite.DST_IN;
+		rules[6] = AlphaComposite.SRC_OUT;
+		rules[7] = AlphaComposite.DST_OUT;
+		
+		g2d.setComposite( AlphaComposite.getInstance( AlphaComposite.SRC,alpha));
+		g2d.setStroke(new BasicStroke(width, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL));
+		Line2D line = new Line2D.Double(x1+xObj, y1+yObj, x2+xObj, y2+yObj);
+	    g2d.draw(line);
+	}
+
+	public void drawThickLine(Graphics2D g2d, int x1, int y1, int x2, int y2, int width, Color c) throws Exception {
+		g2d.setPaint(c);
+		g2d.setStroke(new BasicStroke(width, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL));
+	    g2d.drawLine(x1, y1, x2, y2);
+	}	
+	
+	public void paintTextByWidthHeightAndDocument(SVGGraphics2D g2d, int x1, int y1, int width, int height,
+			String text, int style, int size, Color fontColor, Document document) throws Exception {
+
+		//String default_export_font = Configurationmanagement.getInstance().getConfKey(3,"default_export_font").getConf_value();
+		
+		this.drawText(g2d, x1, y1, width, height, text, "Verdana", style, size, fontColor, document);
+
+	}
+
+	public void drawText(SVGGraphics2D g2d, int x, int y, int width, int height, 
+			String text, String default_export_font, int style, int size, Color fontColor,
+			Document document) throws Exception {
+		
+//		g2d.setClip(x, y, width, height);
+//		g2d.setColor(Color.black);
+//		g2d.drawString(text, x, y+20);
+		
+		String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
+
+		// Get the root element (the 'svg' element).
+		Element svgRoot = document.getDocumentElement();
+
+		log.debug("svgNS DEBUG: "+svgNS);
+		
+		//Element textElement = g2d.getDOMFactory().createElementNS(svgNS,"text");
+		Element rectangle = document.createElementNS(svgNS, "rect");
+		rectangle.setAttributeNS(svgNS, "x", "10");
+		rectangle.setAttributeNS(svgNS, "y", "20");
+		rectangle.setAttributeNS(svgNS, "width", "100");
+		rectangle.setAttributeNS(svgNS, "height", "50");
+		rectangle.setAttributeNS(svgNS, "fill", "red");
+
+		// Attach the rectangle to the root 'svg' element.
+		svgRoot.appendChild(rectangle);
+
+
+	}
+	
+	public void drawTextByString(SVGGraphics2D g2d, int x, int y, int width, int height, 
+			String text, String default_export_font, int style, int size, Color fontColor) throws Exception {
+		
+		//g2d.setClip(x, y, width, height);
+		g2d.setColor(Color.black);
+		g2d.drawString(text, x, y);
+		
+		
+	}
+
+	public void drawTextByJTextArea(Graphics2D g2d, int x, int y, int width, int height, 
+			String text, String default_export_font, int style, int size, Color fontColor) throws Exception {
+		
+//		g2d.setClip(x, y, width, height);
+//		g2d.setColor(Color.black);
+//		g2d.drawString(text, x, y+20);
+		
+		//Font font = new Font("Verdana", Font.PLAIN, 11);
+		Font font = new Font(default_export_font, style, size);
+
+		String[] stringsText = text.split("\r");
+		//log.debug("TEXT: "+stringsText);
+		//log.debug("TEXT: "+stringsText.length);
+		
+		String newText = "";
+		
+		for (int i=0;i<stringsText.length;i++) {
+			newText += stringsText[i];
+			if (i+1<stringsText.length) {
+				newText += "\n";
+			}
+		}
+		
+		JTextArea n = new JTextArea( newText );
+		n.setFont(font);
+		n.setWrapStyleWord( true );
+		n.setLineWrap( true );
+		n.setForeground( fontColor );
+		
+		//log.debug("Text at: "+x+" "+y);
+			//int x, int y, int width, int height
+		n.setBounds( x, y , width, height );
+		n.setOpaque( false );
+		
+		//Text
+		SVGGraphics2D svgGenerator2 = (SVGGraphics2D) g2d.create(x, y, width, height);
+
+		//svgGenerator2.create(x, y, width, height);
+		//svgGenerator2.draw(.dra)
+		n.paint( svgGenerator2 );
+		
+	}
+	
+
+	public void drawArrow(SVGGraphics2D g2d,
+			GeomPoint start, GeomPoint end, float thickness, float alpha,
+			Color linecoler, Color fillColor) {
+		
+		if (start.equals(end)) return;
+		
+		
+//		(double edgeControlPosition, double edgeControlSize,
+//				double headLength, double headWidth, double shaftControlPosition,
+//				double shaftControlSize, float shaftPosition, double shaftThickness)
+		ArrowStyle arrowStyle = new ArrowStyle(0.5, 0.5, thickness*5, 
+				thickness*5, 0.5, 0.5, 0, thickness);
+		
+		GeomPoint fullVect = end.subtract(start);
+		double halfWidth = (arrowStyle.headWidth != -1) ? arrowStyle.headWidth/2 : arrowStyle.headLength/2; 
+		
+		//Figure out the line start/end points
+		GeomPoint startNorm = new GeomPoint();
+		startNorm.setLocation(fullVect.getY(),-fullVect.getX());
+		startNorm.normalize(arrowStyle.shaftThickness/2);
+		GeomPoint start1 = start.add(startNorm);
+		GeomPoint start2 = start.subtract(startNorm);
+		GeomPoint end1 = end.add(startNorm);
+		GeomPoint end2 = end.subtract(startNorm);
+				
+		//log.debug("startNorm: "+startNorm.toString());
+        //log.debug("start1: "+start1.toString());
+        //log.debug("start2: "+start2.toString());
+        //log.debug("end1: "+end1.toString());
+        //log.debug("end2: "+end2.toString());
+		
+		//figure out where the arrow head starts
+		GeomPoint headPnt = fullVect.clone();
+		//log.debug("headPnt 1: "+headPnt.toString());
+		//log.debug("headPnt.length 1: "+headPnt.length());
+		//log.debug("arrowStyle.headLength 1: "+arrowStyle.headLength);
+		headPnt.normalize(headPnt.length()-arrowStyle.headLength);
+		//log.debug("headPnt 2: "+headPnt.toString());
+		headPnt = headPnt.add(start);
+		//log.debug("headPnt 3: "+headPnt.toString());
+		
+		//calculate the arrowhead corners
+		GeomPoint headPntNorm = startNorm.clone();
+		//log.debug("headPntNorm ^^: "+headPntNorm.toString());
+		//log.debug("halfWidth ^^: "+halfWidth);
+		headPntNorm.normalize(halfWidth);
+		//log.debug("headPntNorm: "+headPntNorm.toString());
+		GeomPoint edge1 = headPnt.add(headPntNorm);
+		GeomPoint edge2 = headPnt.subtract(headPntNorm);
+		
+		//log.debug("edge1: "+edge1.toString());
+        //log.debug("edge2: "+edge2.toString());
+		
+		//Figure out where the arrow connects the the shaft, then calc the intersections
+		GeomPoint shaftCenter = GeomPoint.interpolate(end,headPnt,arrowStyle.shaftPosition);
+		//log.debug("end"+end.toString());
+		//log.debug("headPnt: "+headPnt.toString());
+		//log.debug("arrowStyle.shaftPosition: "+arrowStyle.shaftPosition);
+		//log.debug("shaftCenter: "+shaftCenter);
+		//log.debug("edge1: "+edge1);
+		//shaftCenter.setLocation(185.857864376269, 185.857864376269);
+		GeomPoint inter1 = GeomPoint.getLineIntersection(start1,end1,shaftCenter,edge1);
+		GeomPoint inter2 = GeomPoint.getLineIntersection(start2,end2,shaftCenter,edge2);
+		
+		//log.debug("inter1: "+inter1.toString());
+        //log.debug("inter2: "+inter2.toString());
+		
+		//Figure out the control points
+		GeomPoint edgeCenter = GeomPoint.interpolate(end,headPnt,(float) arrowStyle.edgeControlPosition);
+		GeomPoint edgeNorm = startNorm.clone();
+		edgeNorm.normalize(halfWidth*arrowStyle.edgeControlSize);
+		//log.debug("halfWidth*arrowStyle.edgeControlSize: "+(halfWidth*arrowStyle.edgeControlSize));
+		//log.debug("edgeNorm: "+edgeNorm.toString());
+		GeomPoint edgeCntrl1 = edgeCenter.add(edgeNorm);
+		GeomPoint edgeCntrl2 = edgeCenter.subtract(edgeNorm);
+		
+		//log.debug("edgeCntrl1: "+edgeCntrl1.toString());
+        //log.debug("edgeCntrl2: "+edgeCntrl2.toString());
+
+		g2d.setPaint(new Color(255,0,0));
+		
+//		graphics.moveTo(start1.x,start1.y);
+//		graphics.lineTo(inter1.x,inter1.y);
+//		graphics.lineTo(edge1.x,edge1.y);
+//		graphics.curveTo(edgeCntrl1.x,edgeCntrl1.y,end.x,end.y);
+//		graphics.curveTo(edgeCntrl2.x,edgeCntrl2.y,edge2.x,edge2.y);
+//		graphics.lineTo(inter2.x,inter2.y);
+//		graphics.lineTo(start2.x,start2.y);
+//		graphics.lineTo(start1.x,start1.y);
+		
+//		log.debug("moveTo"+start1.x+","+start1.y);
+//		log.debug("lineTo"+inter1.x+","+inter1.y);
+//		log.debug("lineTo"+edge1.x+","+edge1.y);
+//		log.debug("quadTo"+edgeCntrl1.x+","+edgeCntrl1.y+","+end.x+","+end.y);
+//		log.debug("quadTo"+edgeCntrl2.x+","+edgeCntrl2.y+","+edge2.x+","+edge2.y);
+//		log.debug("lineTo"+inter2.x+","+inter2.y);
+//		log.debug("lineTo"+start2.x+","+start2.y);
+//		log.debug("lineTo"+start1.x+","+start1.y);
+		
+		GeneralPath graphics = new GeneralPath();
+		graphics.moveTo(start1.x,start1.y);
+		graphics.lineTo(inter1.x,inter1.y);
+		graphics.lineTo(edge1.x,edge1.y);
+		graphics.quadTo(edgeCntrl1.x,edgeCntrl1.y,end.x,end.y);
+		graphics.quadTo(edgeCntrl2.x,edgeCntrl2.y,edge2.x,edge2.y);
+		graphics.lineTo(inter2.x,inter2.y);
+		graphics.lineTo(start2.x,start2.y);
+		graphics.lineTo(start1.x,start1.y);
+		graphics.closePath();
+		
+		int[] rules = new int[8]; 
+		
+		//all possible Compositing Rules:
+		rules[0] = AlphaComposite.SRC_OVER;
+		rules[1] = AlphaComposite.DST_OVER;
+		rules[2] = AlphaComposite.CLEAR;
+		rules[3] = AlphaComposite.SRC;
+		rules[4] = AlphaComposite.SRC_IN;
+		rules[5] = AlphaComposite.DST_IN;
+		rules[6] = AlphaComposite.SRC_OUT;
+		rules[7] = AlphaComposite.DST_OUT;
+		
+		g2d.setComposite( AlphaComposite.getInstance( AlphaComposite.SRC,alpha));
+		g2d.setStroke(new BasicStroke(1, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL));
+		
+		if (linecoler != null) {
+	        g2d.setPaint(linecoler);
+	        g2d.draw(graphics);
+        }
+        
+        if (fillColor != null) {
+        	g2d.setPaint(fillColor);
+	        g2d.fill(graphics);
+        }
+        
+	}
+	
+
+	
+	
+	
+	
+	
+	public String workAroundPixelErrorInSVG(String xmlDef) throws Exception {
+		String resultingString = "";
+        
+        boolean byPassedFirst = false;
+        
+        while (xmlDef.indexOf("font-size:") != -1) {
+        	
+        	log.debug("xmlDef "+xmlDef);
+        	int i = xmlDef.indexOf("font-size:");
+        	
+        	log.debug("Found i "+i);
+        	if (byPassedFirst) {
+        		log.debug("byPassedFirst DO PROCESS ");
+	        	String start = xmlDef.substring(0, i+10);
+	        	xmlDef = xmlDef.substring(i+10, xmlDef.length());
+	        	log.debug("byPassedFirst FIRST PART Process "+start);
+	        	log.debug("byPassedFirst END PART Process "+xmlDef);
+	        	
+	        	int firstSemicolon = xmlDef.indexOf(";");
+	        	log.debug("firstSemicolon "+firstSemicolon);
+	        	String fontSize = xmlDef.substring(0, firstSemicolon);
+	        	log.debug("fontSize "+fontSize);
+	        	
+	        	xmlDef = xmlDef.substring(firstSemicolon, xmlDef.length());
+	        	
+	        	resultingString += start + fontSize + "px";
+        	} else {
+        		log.debug("byPassedFirst DO NOT PROCESS ");
+        		String start = xmlDef.substring(0, i+10);
+        		log.debug("byPassedFirst FIRST PART "+start);
+        		xmlDef = xmlDef.substring(i+10, xmlDef.length());
+        		log.debug("byPassedFirst END PART "+xmlDef);
+        		resultingString += start;
+        		byPassedFirst = true;
+        	}
+        }
+        
+        resultingString += xmlDef;
+        
+        log.debug("###################### ");
+        log.debug("resultingString "+resultingString);
+        
+        return resultingString;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/data/record/WhiteboardMapToSVG.java b/src/org/openmeetings/app/data/record/WhiteboardMapToSVG.java
new file mode 100644
index 0000000..fe1046a
--- /dev/null
+++ b/src/org/openmeetings/app/data/record/WhiteboardMapToSVG.java
@@ -0,0 +1,307 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.record;
+
+import java.awt.Color;
+import java.awt.Font;
+import java.awt.Image;
+import java.io.File;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.imageio.ImageIO;
+
+import org.apache.batik.svggen.SVGGraphics2D;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.utils.geom.GeomPoint;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+public class WhiteboardMapToSVG extends BatikMethods {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(WhiteboardMapToSVG.class, OpenmeetingsVariables.webAppRootKey);
+
+	private WhiteboardMapToSVG() {
+	}
+
+	private static WhiteboardMapToSVG instance = null;
+
+	public static synchronized WhiteboardMapToSVG getInstance() {
+		if (instance == null) {
+			instance = new WhiteboardMapToSVG();
+		}
+
+		return instance;
+	}
+	
+	@SuppressWarnings("rawtypes")
+	public SVGGraphics2D convertMapToSVG(SVGGraphics2D svgGenerator, List whiteBoardMap) throws Exception {
+		
+		//log.debug("convertMapToSVG: "+whiteBoardMap.size());
+		
+        for (Iterator iter = whiteBoardMap.iterator();iter.hasNext();) {
+        	
+        	List graphObject = (List) iter.next();
+        	
+        	String graphType = graphObject.get(0).toString();
+        	
+        	//log.debug("graphType: "+graphType);
+        	
+        	if (graphType.equals("paint")) {
+        		
+        		List pointsList = (List) graphObject.get(1);
+        		
+        		Integer lineWidth = Integer.valueOf(graphObject.get(3).toString()).intValue();
+        		Integer col = Integer.valueOf(graphObject.get(4).toString()).intValue();
+        		
+        		Float alpha = Float.valueOf(graphObject.get(5).toString()).floatValue();
+        		
+        		Double x = Double.valueOf(graphObject.get(graphObject.size()-5).toString()).doubleValue();
+        		Double y = Double.valueOf(graphObject.get(graphObject.size()-4).toString()).doubleValue();
+        		
+        		//log.debug("x,y,width,height: "+x+","+y+","+width+","+height);
+        		
+        		//Draw a Painting
+    	        SVGGraphics2D svgGenerator_temp = new SVGGraphics2D(svgGenerator);
+    	        //SVGGraphics2D svgGenerator2 = new SVGGraphics2D(document);
+    	         
+    	        log.debug("pointsList: "+pointsList);
+    	        this.drawPointsObject(svgGenerator_temp, pointsList, new Color(col), lineWidth, x, y, alpha);
+    	        
+        	} else if (graphType.equals("rectangle")) {
+        		
+        		/*actionObject[0] = 'rectangle';
+		        actionObject[1] = stroke;
+		        actionObject[2] = line;
+		        actionObject[3] = fill;
+		        actionObject[4] = strokeDis;
+		        actionObject[5] = fillDis;
+		        actionObject[6] = this.currentrectangleOpacity;*/
+        		
+        		Integer lineWidth = Integer.valueOf(graphObject.get(2).toString()).intValue();
+        		
+        		Integer stroke = Integer.valueOf(graphObject.get(1).toString()).intValue();
+        		Integer strokeDis= Integer.valueOf(graphObject.get(4).toString()).intValue();
+        		
+        		Color strokeColor = null;
+        		if (strokeDis != -1) {
+        			strokeColor = new Color(stroke);
+        		}
+        		
+        		Integer fill = Integer.valueOf(graphObject.get(3).toString()).intValue();
+        		Integer fillDis= Integer.valueOf(graphObject.get(5).toString()).intValue();
+        		
+        		Color fillColor = null;
+        		if (fillDis != -1) {
+        			fillColor = new Color(fill);
+        		}
+        		
+        		Float alpha = Float.valueOf(graphObject.get(6).toString()).floatValue();
+        		
+        		Double x = Double.valueOf(graphObject.get(graphObject.size()-5).toString()).doubleValue();
+        		Double y = Double.valueOf(graphObject.get(graphObject.size()-4).toString()).doubleValue();
+        		Double width = Double.valueOf(graphObject.get(graphObject.size()-3).toString()).doubleValue();
+        		Double height = Double.valueOf(graphObject.get(graphObject.size()-2).toString()).doubleValue();
+        	
+        		SVGGraphics2D svgGenerator_temp = new SVGGraphics2D(svgGenerator);
+        		this.paintRect2D(svgGenerator_temp, x, y, width, height, strokeColor, lineWidth, fillColor, alpha);
+        		
+        	} else if (graphType.equals("ellipse")) {
+        		
+        		Integer lineWidth = Integer.valueOf(graphObject.get(2).toString()).intValue();
+        		
+        		Integer stroke = Integer.valueOf(graphObject.get(1).toString()).intValue();
+        		Integer strokeDis= Integer.valueOf(graphObject.get(4).toString()).intValue();
+        		
+        		Color strokeColor = null;
+        		if (strokeDis != -1) {
+        			strokeColor = new Color(stroke);
+        		}
+        		
+        		Integer fill = Integer.valueOf(graphObject.get(3).toString()).intValue();
+        		Integer fillDis= Integer.valueOf(graphObject.get(5).toString()).intValue();
+        		
+        		Color fillColor = null;
+        		if (fillDis != -1) {
+        			fillColor = new Color(fill);
+        		}
+        		
+        		Float alpha = Float.valueOf(graphObject.get(6).toString()).floatValue();
+        		
+        		Double x = Double.valueOf(graphObject.get(graphObject.size()-5).toString()).doubleValue();
+        		Double y = Double.valueOf(graphObject.get(graphObject.size()-4).toString()).doubleValue();
+        		Double width = Double.valueOf(graphObject.get(graphObject.size()-3).toString()).doubleValue();
+        		Double height = Double.valueOf(graphObject.get(graphObject.size()-2).toString()).doubleValue();
+        	
+        		SVGGraphics2D svgGenerator_temp = new SVGGraphics2D(svgGenerator);
+        		this.paintEllipse2D(svgGenerator_temp, x, y, width, height, strokeColor, lineWidth, fillColor, alpha);
+        		
+        	} else if (graphType.equals("letter")) {
+        		
+        		String text = graphObject.get(1).toString();
+        		Color fontColor = new Color (Integer.valueOf(graphObject.get(2).toString()).intValue());
+        		Integer fontSize = Integer.valueOf(graphObject.get(3).toString()).intValue();
+        		
+        		String fontStyle = graphObject.get(4).toString();
+        		Integer style = null;
+        		if (fontStyle.equals("plain")) {
+        			style = Font.PLAIN;
+        		} else if (fontStyle.equals("bold")) {
+        			style = Font.BOLD;
+        		} else if (fontStyle.equals("italic")) {
+        			style = Font.ITALIC;
+        		} else if (fontStyle.equals("bolditalic")) {
+        			style = Font.ITALIC+Font.BOLD;
+        		}
+        		
+        		log.debug("fontStyle,style "+style+" fs: "+fontStyle);
+        		
+        		Double x = Double.valueOf(graphObject.get(graphObject.size()-5).toString()).doubleValue();
+        		Double y = Double.valueOf(graphObject.get(graphObject.size()-4).toString()).doubleValue();
+        		Double width = Double.valueOf(graphObject.get(graphObject.size()-3).toString()).doubleValue();
+        		Double height = Double.valueOf(graphObject.get(graphObject.size()-2).toString()).doubleValue();
+        		
+        		SVGGraphics2D svgGenerator_temp = new SVGGraphics2D(svgGenerator);
+        		this.paintTextByWidthHeight(svgGenerator_temp, (int) Math.round(x), (int) Math.round(y), (int) Math.round(width), 
+        					(int) Math.round(height), text, style, fontSize, fontColor);
+        		
+        	} else if (graphType.equals("drawarrow")) {
+        		
+        		Integer thickness = Integer.valueOf(graphObject.get(2).toString()).intValue();
+        		
+        		Integer stroke = Integer.valueOf(graphObject.get(1).toString()).intValue();
+        		Integer strokeDis= Integer.valueOf(graphObject.get(4).toString()).intValue();
+        		
+        		Color strokeColor = null;
+        		if (strokeDis != -1) {
+        			strokeColor = new Color(stroke);
+        		}
+        		
+        		Integer fill = Integer.valueOf(graphObject.get(3).toString()).intValue();
+        		Integer fillDis= Integer.valueOf(graphObject.get(5).toString()).intValue();
+        		
+        		Color fillColor = null;
+        		if (fillDis != -1) {
+        			fillColor = new Color(fill);
+        		}
+        		
+        		Float alpha = Float.valueOf(graphObject.get(6).toString()).floatValue();
+        		
+        		Double x = Double.valueOf(graphObject.get(graphObject.size()-5).toString()).doubleValue();
+        		Double y = Double.valueOf(graphObject.get(graphObject.size()-4).toString()).doubleValue();
+        		//Double width = Double.valueOf(graphObject.get(graphObject.size()-3).toString()).doubleValue();
+        		//Double height = Double.valueOf(graphObject.get(graphObject.size()-2).toString()).doubleValue();
+        		
+        		Double x1 = Double.valueOf(graphObject.get(7).toString()).doubleValue();
+        		Double y1 = Double.valueOf(graphObject.get(8).toString()).doubleValue();
+        		Double x2 = Double.valueOf(graphObject.get(9).toString()).doubleValue();
+        		Double y2 = Double.valueOf(graphObject.get(10).toString()).doubleValue();
+        		
+        		GeomPoint start = new GeomPoint();
+    	        start.setLocation(x+x1,y+y1);
+    	        GeomPoint end = new GeomPoint();
+    	        end.setLocation(x+x2,y+y2);
+    	        
+    	        SVGGraphics2D svgGenerator_temp = new SVGGraphics2D(svgGenerator);
+    	        this.drawArrow(svgGenerator_temp, start, end, thickness, alpha, strokeColor,fillColor);
+        	} else if (graphType.equals("image")) {
+        		
+        		//log.debug("graphObject image "+graphObject);
+        		//log.debug("",graphObject);
+        		
+        		String room = graphObject.get(6).toString();
+        		String parentPath = graphObject.get(5).toString();
+        		String fileItemName = graphObject.get(3).toString();
+        		
+        		String imageFilePath = ScopeApplicationAdapter.webAppPath + File.separatorChar +
+        				OpenmeetingsVariables.UPLOAD_DIR + File.separatorChar + room + File.separatorChar;
+        		
+        		if (parentPath.length() > 1) {
+        			imageFilePath += parentPath + File.separatorChar;
+        		}
+        		
+        		//log.debug("fileItemName: "+fileItemName);
+        		
+        		String full_path = imageFilePath + fileItemName;
+        		File myFile = new File(full_path);
+        		
+        		if (myFile.exists() && myFile.canRead()) {
+        			
+        			Image myImage = ImageIO.read(myFile);
+        			
+        			int x = (int) Math.round(Double.valueOf(graphObject.get(graphObject.size()-5).toString()).doubleValue());
+        			int y = (int) Math.round(Double.valueOf(graphObject.get(graphObject.size()-4).toString()).doubleValue());
+        			int width = (int) Math.round(Double.valueOf(graphObject.get(graphObject.size()-3).toString()).doubleValue());
+        			int height = (int) Math.round(Double.valueOf(graphObject.get(graphObject.size()-2).toString()).doubleValue());
+	        		
+	        		SVGGraphics2D svgGenerator_temp = new SVGGraphics2D(svgGenerator);
+	        		svgGenerator_temp.drawImage(myImage, x, y, width, height, null);
+        			
+        		} else {
+        			log.error("tried to inculde a non existing File into SVG/Image Export Path: "+full_path);
+        		}
+        		
+        	} else if(graphType.equals("line") || graphType.equals("uline")) {
+        		
+//        		actionObject[0] = 'line';
+//                actionObject[1] = stroke;
+//                actionObject[2] = line;
+//                actionObject[3] = opacity;
+//                actionObject[4] = x1  
+//                actionObject[5] = y1;  
+//                actionObject[6] = x2;    
+//                actionObject[7] = y2;    
+//                actionObject[8] = this.counter; 
+//                actionObject[9] = x;
+//                actionObject[10] = y;
+//                actionObject[11] = width;
+//                actionObject[12] = height;  
+//                actionObject[13] = newName;
+        		
+    			Integer lineWidth = Integer.valueOf(graphObject.get(2).toString()).intValue();
+        		
+        		Integer stroke = Integer.valueOf(graphObject.get(1).toString()).intValue();
+        		Color strokeColor = new Color(stroke);
+        		
+        		Float alpha = Float.valueOf(graphObject.get(3).toString()).floatValue();
+        		
+        		Double x = Double.valueOf(graphObject.get(graphObject.size()-5).toString()).doubleValue();
+        		Double y = Double.valueOf(graphObject.get(graphObject.size()-4).toString()).doubleValue();
+        		//Double width = Double.valueOf(graphObject.get(graphObject.size()-3).toString()).doubleValue();
+        		//Double height = Double.valueOf(graphObject.get(graphObject.size()-2).toString()).doubleValue();
+
+        		Double x1 = Double.valueOf(graphObject.get(4).toString()).doubleValue();
+        		Double y1 = Double.valueOf(graphObject.get(5).toString()).doubleValue();
+        		Double x2 = Double.valueOf(graphObject.get(6).toString()).doubleValue();
+        		Double y2 = Double.valueOf(graphObject.get(7).toString()).doubleValue();
+        		
+        		SVGGraphics2D svgGenerator_temp = new SVGGraphics2D(svgGenerator);
+        		this.drawLine(svgGenerator_temp, x1, y1, x2, y2, strokeColor, lineWidth, x, y, alpha);
+        		
+        	} else {
+        		log.error("tried to include a non supported Graph-Object graphType: "+graphType);
+        	}
+        	
+        }
+        
+        return svgGenerator;
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/user/Emailmanagement.java b/src/org/openmeetings/app/data/user/Emailmanagement.java
new file mode 100644
index 0000000..67ee2ef
--- /dev/null
+++ b/src/org/openmeetings/app/data/user/Emailmanagement.java
@@ -0,0 +1,134 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.user;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.Fieldmanagment;
+import org.openmeetings.app.persistence.beans.adresses.Adresses;
+import org.openmeetings.app.templates.RegisterUserTemplate;
+import org.openmeetings.utils.mail.MailHandler;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class Emailmanagement {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			Emailmanagement.class, OpenmeetingsVariables.webAppRootKey);
+
+	@PersistenceContext
+	private EntityManager em;
+
+	@Autowired
+	private Configurationmanagement cfgManagement;
+	@Autowired
+	private Fieldmanagment fieldmanagment;
+	@Autowired
+	private MailHandler mailHandler;
+	@Autowired
+	private RegisterUserTemplate registerUserTemplate;
+
+	/**
+	 * sends a mail adress to the user with his account data
+	 * 
+	 * @param Username
+	 * @param Userpass
+	 * @param EMail
+	 * @return
+	 * @throws Exception
+	 */
+	public String sendMail(String Username, String Userpass, String EMail,
+			String link, Boolean sendEmailWithVerficationCode) {
+		String succ = "valid email";
+
+		Integer sendEmailAtRegister = Integer.valueOf(
+				cfgManagement.getConfKey(3, "sendEmailAtRegister")
+						.getConf_value()).intValue();
+
+		if (sendEmailAtRegister == 1) {
+
+			Long default_lang_id = Long.valueOf(
+					cfgManagement.getConfKey(3, "default_lang_id")
+							.getConf_value()).longValue();
+
+			if (sendEmailWithVerficationCode) {
+
+				String verification_url = link;
+
+				String template = registerUserTemplate
+						.getRegisterUserWithVerificationTemplate(Username,
+								Userpass, EMail, default_lang_id,
+								verification_url);
+
+				succ = mailHandler.sendMail(EMail, fieldmanagment.getString(512L, default_lang_id), template);
+
+			} else {
+
+				String template = registerUserTemplate
+						.getRegisterUserTemplate(Username, Userpass, EMail,
+								default_lang_id);
+
+				succ = mailHandler.sendMail(EMail, fieldmanagment.getString(512L, default_lang_id), template);
+			}
+
+			return succ;
+		} else {
+			return "success";
+		}
+	}
+
+	public String addEmailCon(String EMail, int CONTACT_ID) {
+		String succ = "invalid email";
+		return succ;
+	}
+
+	/**
+	 * Checks if a mail is already taken by someone else
+	 * 
+	 * @param email
+	 * @return
+	 */
+	public boolean checkUserEMail(String email) {
+		try {
+			if (email.length() == 0)
+				return true;
+			log.debug("checkUserMail: " + email);
+			TypedQuery<Adresses> query = em
+					.createQuery("select c from Adresses as c where c.email LIKE :email AND c.deleted <> :deleted", Adresses.class);
+			query.setParameter("email", email);
+			query.setParameter("deleted", "true");
+			int count = query.getResultList().size();
+			log.debug("size: " + count);
+
+			if (count > 0) {
+				return false;
+			}
+		} catch (Exception ex2) {
+			log.error("checkUserEMail: ", ex2);
+		}
+		return true;
+	}
+}
diff --git a/src/org/openmeetings/app/data/user/Organisationmanagement.java b/src/org/openmeetings/app/data/user/Organisationmanagement.java
new file mode 100644
index 0000000..e5546f5
--- /dev/null
+++ b/src/org/openmeetings/app/data/user/Organisationmanagement.java
@@ -0,0 +1,828 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.user;
+
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.beans.basic.SearchResult;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.domain.Organisation;
+import org.openmeetings.app.persistence.beans.domain.Organisation_Users;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 
+ * @author swagner
+ * 
+ */
+@Transactional
+public class Organisationmanagement {
+
+	private static Logger log = Red5LoggerFactory
+			.getLogger(Organisationmanagement.class,
+					OpenmeetingsVariables.webAppRootKey);
+
+	@PersistenceContext
+	private EntityManager em;
+	@Autowired
+	private UsersDaoImpl usersDao;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+
+	/**
+	 * adds a new organisation if userlevel is admin
+	 * 
+	 * @param user_level
+	 * @param orgname
+	 * @param user_id
+	 * @return
+	 */
+	public Long addOrganisation(Long user_level, String orgname, long user_id) {
+		try {
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				Long orgId = this.addOrganisation(orgname, user_id);
+				return orgId;
+			}
+		} catch (Exception err) {
+			log.error("addOrganisation", err);
+		}
+		return null;
+	}
+
+	/**
+	 * adds a new organisation to the table organisation
+	 * 
+	 * @param titelname
+	 * @param user_id
+	 */
+	public Long addOrganisation(String orgname, long user_id) {
+		try {
+			Organisation org = new Organisation();
+			org.setName(orgname);
+			org.setInsertedby(new Long(user_id));
+			org.setDeleted("false");
+			org.setStarttime(new Date());
+			org = em.merge(org);
+
+			long id = org.getOrganisation_id();
+			return id;
+		} catch (Exception ex2) {
+			log.error("[addOrganisation]", ex2);
+		}
+		return null;
+	}
+
+	public Long addOrganisationObj(Organisation org) {
+		try {
+			org.setStarttime(new Date());
+			org = em.merge(org);
+			long id = org.getOrganisation_id();
+			return id;
+		} catch (Exception ex2) {
+			log.error("[addOrganisationObj]", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param user_level
+	 * @param start
+	 * @param max
+	 * @param orderby
+	 * @return
+	 */
+	public SearchResult<Organisation> getOrganisations(long user_level, int start, int max,
+			String orderby, boolean asc) {
+		try {
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				SearchResult<Organisation> sresult = new SearchResult<Organisation>();
+				sresult.setObjectName(Organisation.class.getName());
+				sresult.setRecords(this.selectMaxFromOrganisations());
+				sresult.setResult(this.getOrganisations(start, max, orderby,
+						asc));
+				return sresult;
+			} else {
+				log.error("[getOrganisations] noPremission");
+			}
+		} catch (Exception ex2) {
+			log.error("[getOrganisations]", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param user_level
+	 * @return
+	 */
+	public List<Organisation> getOrganisations(int start, int max,
+			String orderby, boolean asc) {
+		try {
+			CriteriaBuilder cb = em.getCriteriaBuilder();
+			CriteriaQuery<Organisation> cq = cb.createQuery(Organisation.class);
+			Root<Organisation> c = cq.from(Organisation.class);
+			Predicate condition = cb.equal(c.get("deleted"), "false");
+			cq.where(condition);
+			cq.distinct(asc);
+			if (asc) {
+				cq.orderBy(cb.asc(c.get(orderby)));
+			} else {
+				cq.orderBy(cb.desc(c.get(orderby)));
+			}
+			TypedQuery<Organisation> q = em.createQuery(cq);
+			q.setFirstResult(start);
+			q.setMaxResults(max);
+			List<Organisation> ll = q.getResultList();
+			return ll;
+		} catch (Exception ex2) {
+			log.error("[getOrganisations]", ex2);
+		}
+		return null;
+	}
+
+	public List<Organisation> getOrganisations(Long user_level) {
+		try {
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				CriteriaBuilder cb = em.getCriteriaBuilder();
+				CriteriaQuery<Organisation> cq = cb
+						.createQuery(Organisation.class);
+				Root<Organisation> c = cq.from(Organisation.class);
+				Predicate condition = cb.equal(c.get("deleted"), "false");
+				cq.where(condition);
+				TypedQuery<Organisation> q = em.createQuery(cq);
+				List<Organisation> ll = q.getResultList();
+				return ll;
+			} else {
+				log.error("[getOrganisations] noPremission");
+			}
+		} catch (Exception ex2) {
+			log.error("[getOrganisations]", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @return
+	 */
+	private Long selectMaxFromOrganisations() {
+		try {
+			// get all users
+			TypedQuery<Long> query = em
+					.createQuery("select max(c.organisation_id) from Organisation c where c.deleted LIKE 'false'", Long.class);
+			Long l = query.getSingleResult();
+			log.debug("selectMaxFromOrganisations" + l);
+			return l;
+		} catch (Exception ex2) {
+			log.error("[selectMaxFromUsers] ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * updates an organisation if user_level is admin
+	 * 
+	 * @param user_level
+	 * @param organisation_id
+	 * @param orgname
+	 * @param users_id
+	 * @param users
+	 * @return
+	 */
+	public Long updateOrganisation(Long user_level, long organisation_id,
+			String orgname, long users_id) {
+		try {
+
+			Organisation org = this.getOrganisationById(organisation_id);
+			org.setName(orgname);
+			org.setUpdatedby(users_id);
+			org.setUpdatetime(new Date());
+
+			em.merge(org);
+
+			return org.getOrganisation_id();
+		} catch (Exception err) {
+			log.error("updateOrganisation", err);
+		}
+		return null;
+	}
+
+	/**
+	 * checks if a user is already stored
+	 * 
+	 * @param userIdToAdd
+	 * @param usersStored
+	 * @return
+	 * @throws Exception
+	 */
+	private boolean checkUserAlreadyStored(Long userIdToAdd, List<?> usersStored)
+			throws Exception {
+		for (Iterator<?> it2 = usersStored.iterator(); it2.hasNext();) {
+			Users us = (Users) it2.next();
+			if (us.getUser_id().equals(userIdToAdd)) {
+				log.debug("userIdToAdd found: " + userIdToAdd);
+				return true;
+			}
+		}
+		return false;
+	}
+
+	/**
+	 * 
+	 * @param user_id
+	 * @param usersToStore
+	 * @return
+	 * @throws Exception
+	 */
+	private boolean checkUserShouldBeStored(Long user_id,
+			@SuppressWarnings("rawtypes") LinkedHashMap usersToStore)
+			throws Exception {
+		for (Iterator<?> it2 = usersToStore.keySet().iterator(); it2.hasNext();) {
+			Integer key = (Integer) it2.next();
+			Long usersIdToCheck = Long
+					.valueOf(usersToStore.get(key).toString()).longValue();
+			log.debug("usersIdToCheck: " + usersIdToCheck);
+			if (user_id.equals(usersIdToCheck)) {
+				return true;
+			}
+		}
+		return false;
+	}
+
+	/**
+	 * TODO
+	 * 
+	 * @param org
+	 * @param users
+	 * @return
+	 */
+	@SuppressWarnings({ "unused", "rawtypes" })
+	private Long updateOrganisationUsersByHashMap(Organisation org,
+			LinkedHashMap users, long insertedby) {
+		try {
+			LinkedList<Long> usersToAdd = new LinkedList<Long>();
+			LinkedList<Long> usersToDel = new LinkedList<Long>();
+
+			List usersStored = this.getUsersByOrganisationId(org
+					.getOrganisation_id());
+
+			for (Iterator it = users.keySet().iterator(); it.hasNext();) {
+				Integer key = (Integer) it.next();
+				Long userIdToAdd = Long.valueOf(users.get(key).toString())
+						.longValue();
+				log.error("userIdToAdd: " + userIdToAdd);
+				if (!this.checkUserAlreadyStored(userIdToAdd, usersStored))
+					usersToAdd.add(userIdToAdd);
+			}
+
+			for (Iterator it = usersStored.iterator(); it.hasNext();) {
+				Users us = (Users) it.next();
+				Long userIdStored = us.getUser_id();
+				log.error("userIdStored: " + userIdStored);
+				if (!this.checkUserShouldBeStored(userIdStored, users))
+					usersToDel.add(userIdStored);
+			}
+
+			log.debug("usersToAdd.size " + usersToAdd.size());
+			log.debug("usersToDel.size " + usersToDel.size());
+
+			for (Iterator<Long> it = usersToAdd.iterator(); it.hasNext();) {
+				Long user_id = it.next();
+				this.addUserToOrganisation(user_id, org.getOrganisation_id(),
+						insertedby);
+			}
+
+			for (Iterator<Long> it = usersToDel.iterator(); it.hasNext();) {
+				Long user_id = it.next();
+				this.deleteUserFromOrganisation(new Long(3), user_id,
+						org.getOrganisation_id());
+			}
+
+		} catch (Exception err) {
+			log.error("updateOrganisationUsersByHashMap", err);
+		}
+		return null;
+	}
+
+	/**
+	 * get an organisation by id and only as admin
+	 * 
+	 * @param user_level
+	 * @param organisation_id
+	 * @return
+	 */
+	public Organisation getOrganisationById(long user_level,
+			long organisation_id) {
+		try {
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				return this.getOrganisationById(organisation_id);
+			} else {
+				log.error("[getOrganisationById] authorization required");
+			}
+		} catch (Exception ex2) {
+			log.error("[getOrganisationById]", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * Gets an organisation by its id
+	 * 
+	 * @param organisation_id
+	 * @return
+	 */
+	public Organisation getOrganisationById(long organisation_id) {
+		try {
+			TypedQuery<Organisation> query = em.createNamedQuery("getOrganisationById", Organisation.class);
+			query.setParameter("organisation_id", organisation_id);
+			query.setParameter("deleted", "true");
+			Organisation o = null;
+			try {
+				o = query.getSingleResult();
+			} catch (NoResultException e) {
+				// o = null;
+			}
+			return o;
+		} catch (Exception ex2) {
+			log.error("[getOrganisationById]", ex2);
+		}
+		return null;
+	}
+
+	public Organisation getOrganisationByIdBackup(long organisation_id) {
+		try {
+			TypedQuery<Organisation> query = em.createNamedQuery("getAnyOrganisationById", Organisation.class);
+			query.setParameter("organisation_id", organisation_id);
+			Organisation o = null;
+			try {
+				o = query.getSingleResult();
+			} catch (NoResultException e) {
+				// o = null;
+			}
+			return o;
+		} catch (Exception ex2) {
+			log.error("[getOrganisationById]", ex2);
+		}
+		return null;
+	}
+
+	public Organisation getOrganisationByIdAndDeleted(long organisation_id) {
+		return getOrganisationByIdBackup(organisation_id);
+	}
+
+	public Long deleteOrganisation(long user_level, long organisation_id,
+			long updatedby) {
+		try {
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				return this.deleteOrganisation(organisation_id, updatedby);
+			}
+		} catch (Exception ex2) {
+			log.error("[deleteOrganisation]", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param organisation_id
+	 * @param updatedby
+	 * @return
+	 */
+	public Long deleteOrganisation(long organisation_id, long updatedby) {
+		try {
+			em.createNamedQuery("deleteUsersFromOrganisation")
+				.setParameter("organisation_id", organisation_id)
+				.executeUpdate();
+
+			Organisation org = this.getOrganisationById(organisation_id);
+			org.setDeleted("true");
+			org.setUpdatedby(updatedby);
+
+			if (org.getOrganisation_id() == null) {
+				em.persist(org);
+			} else {
+				if (!em.contains(org)) {
+					em.merge(org);
+				}
+			}
+
+			return org.getOrganisation_id();
+
+		} catch (Exception ex2) {
+			log.error("[deleteOrganisation]", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * Adds a user to a given organisation-unit
+	 * 
+	 * @param user_id
+	 * @param organisation_id
+	 * @param insertedby
+	 * @return
+	 */
+	public Long addUserToOrganisation(Long user_id, Long organisation_id,
+			Long insertedby) {
+		try {
+			if (this.getOrganisation_UserByUserAndOrganisation(user_id, organisation_id) == null) {
+				return addOrganisationUserObj(user_id, getOrgUser(organisation_id, insertedby));
+			} else {
+				return -35L;
+			}
+		} catch (Exception ex2) {
+			log.error("[addUserToOrganisation]", ex2);
+		}
+		return null;
+	}
+	
+	public Organisation_Users getOrgUser(Long organisation_id,
+			Long insertedby) {
+		
+		Organisation_Users orgUser = new Organisation_Users();
+		orgUser.setOrganisation(getOrganisationById(organisation_id));
+		orgUser.setDeleted("false");
+		
+		return orgUser;
+	}
+	
+	public Long addOrganisationUserObj(Long user_id, Organisation_Users orgUser) {
+		try {
+			Users u = usersDao.getUser(user_id);
+			
+			orgUser.setStarttime(new Date());
+			orgUser = em.merge(orgUser);
+
+			//user should be updated to have recent organisation_users list
+			List<Organisation_Users> l = u.getOrganisation_users();
+			l.add(orgUser);
+			u.setOrganisation_users(l);
+			usersDao.updateUser(u);
+			
+			return orgUser.getOrganisation_users_id();
+		} catch (Exception ex2) {
+			log.error("[addUserToOrganisation]", ex2);
+		}
+		return null;
+	}
+
+	public Organisation_Users getOrganisation_UserByUserAndOrganisation(
+			long user_id, long organisation_id) {
+		try {
+			log.debug("getOrganisation_UserByUserAndOrganisation " + user_id
+					+ "  " + organisation_id);
+
+			TypedQuery<Organisation_Users> q = em.createNamedQuery("getOrganisation_UserByUserAndOrganisation", Organisation_Users.class);
+			q.setParameter("organisation_id", organisation_id);
+			q.setParameter("user_id", user_id);
+			List<Organisation_Users> oul = q.getResultList();
+			return oul.size() > 0 ? oul.get(0) : null;
+		} catch (Exception ex2) {
+			log.error("[getOrganisation_UserByUserAndOrganisation]", ex2);
+		}
+		return null;
+	}
+
+	public Long deleteUserFromOrganisation(Long user_level, long user_id,
+			long organisation_id) {
+		try {
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+
+				log.error("deleteUserFromOrganisation " + user_id + "  "
+						+ organisation_id);
+				//user should be updated to have recent organisation_users list
+				Long id = null;
+				Users u = usersDao.getUser(user_id);
+				List<Organisation_Users> l = u.getOrganisation_users();
+				for (Organisation_Users ou : l) {
+					if (ou.getOrganisation().getOrganisation_id().equals(organisation_id)) {
+						l.remove(ou);
+						id = ou.getOrganisation_users_id();
+						em.remove(ou);
+						break;
+					}
+				}
+				u.setOrganisation_users(l);
+				usersDao.updateUser(u);
+
+				return id;
+			} else {
+				log.error("[deleteUserFromOrganisation] authorization required");
+			}
+		} catch (Exception ex2) {
+			log.error("[deleteuserFromOrganisation]", ex2);
+		}
+		return null;
+	}
+
+	public SearchResult<Users> getUsersSearchResultByOrganisationId(
+			long organisation_id, int start, int max, String orderby,
+			boolean asc) {
+		try {
+
+			SearchResult<Users> sResult = new SearchResult<Users>();
+			sResult.setObjectName(Users.class.getName());
+			sResult.setRecords(selectMaxUsersByOrganisationId(organisation_id));
+			sResult.setResult(getUsersByOrganisationId(organisation_id,
+					start, max, orderby, asc));
+			return sResult;
+
+		} catch (Exception ex2) {
+			log.error("[getUsersSearchResultByOrganisationId]", ex2);
+		}
+		return null;
+	}
+
+	private Long selectMaxUsersByOrganisationId(long organisation_id) {
+		try {
+			TypedQuery<Long> query = em.createNamedQuery("selectMaxUsersByOrganisationId", Long.class);
+			query.setParameter("organisation_id", organisation_id);
+
+			Long l = query.getSingleResult();
+			log.debug("selectMaxUsersByOrganisationId" + l);
+			return l;
+
+		} catch (Exception ex2) {
+			log.error("[getUsersByOrganisationId]", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * get a list of all users of an organisation
+	 * 
+	 * @param user_level
+	 * @param organisation_id
+	 * @param start
+	 * @param max
+	 * @param orderby
+	 * @param asc
+	 * @return
+	 */
+	public List<Users> getUsersByOrganisationId(long organisation_id, int start,
+			int max, String orderby, boolean asc) {
+		try {
+			String hql =
+				"SELECT c FROM "
+				+ "Users c "
+				+ ", IN(c.organisation_users) ou "
+				+ "WHERE c.deleted = 'false' AND ou.organisation.organisation_id = :organisation_id ";
+			if (orderby.startsWith("c.")) {
+				hql += "ORDER BY " + orderby;
+			} else {
+				hql += "ORDER BY " + "c." + orderby;
+			}
+			if (asc) {
+				hql += " ASC";
+			} else {
+				hql += " DESC";
+			}
+
+			TypedQuery<Users> q = em.createQuery(hql, Users.class);
+			q.setParameter("organisation_id", organisation_id);
+			q.setFirstResult(start);
+			q.setMaxResults(max);
+
+			List<Users> userL = q.getResultList();
+			return userL;
+		} catch (Exception ex2) {
+			log.error("[getUsersByOrganisationId]", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param organisation_id
+	 * @return
+	 */
+	public List<Users> getUsersByOrganisationId(long organisation_id) {
+		try {
+
+			// get all users
+			TypedQuery<Users> q = em.createNamedQuery("getUsersByOrganisationId", Users.class);
+			q.setParameter("organisation_id", organisation_id);
+			List<Users> userL = q.getResultList();
+			Collections.sort(userL, new UsersLoginComparator());
+			return userL;
+
+		} catch (Exception ex2) {
+			log.error("[getUsersByOrganisationId]", ex2);
+		}
+		return null;
+	}
+
+	class UsersLoginComparator implements Comparator<Users> {
+		public int compare(Users o1, Users o2) {
+			if (o1 == null || o2 == null)
+				return 0;
+
+			return o1.getLogin().compareTo(o2.getLogin());
+		}
+	}
+
+	/**
+	 * Filter all Organisations by user TODO: Add sorting
+	 * 
+	 * @param user_level
+	 * @param users_id
+	 * @param start
+	 * @param max
+	 * @param orderby
+	 * @return
+	 */
+	public List<Organisation> getOrganisationsByUserId(long user_level,
+			long user_id, int start, int max, String orderby, boolean asc) {
+		try {
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				TypedQuery<Organisation> q = em.createNamedQuery("getOrganisationsByUserId", Organisation.class);
+				q.setParameter("user_id", user_id);
+				q.setFirstResult(start);
+				q.setMaxResults(max);
+
+				List<Organisation> userOrg = q.getResultList();
+
+				return userOrg;
+			}
+		} catch (Exception ex2) {
+			log.error("[getOrganisationsByUserId]", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param user_level
+	 * @param user_id
+	 * @param start
+	 * @param max
+	 * @param orderby
+	 * @param asc
+	 * @return
+	 */
+	public List<Organisation> getRestOrganisationsByUserId(long user_level,
+			long user_id, int start, int max, String orderby, boolean asc) {
+		try {
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				String qSQL =
+					"SELECT o FROM Organisation AS o "
+					+ "WHERE o.organisation_id NOT IN ("
+					+ "	SELECT ou.organisation.organisation_id "
+					+ "	FROM Users u, IN(u.organisation_users) ou WHERE u.deleted = 'false' AND u.user_id = :user_id)";
+				TypedQuery<Organisation> q = em.createQuery(qSQL, Organisation.class);
+				q.setParameter("user_id", user_id);
+				q.setFirstResult(start);
+				q.setMaxResults(max);
+				return q.getResultList();
+			}
+		} catch (Exception ex2) {
+			log.error("[getRestOrganisationsByUserId]", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * checks if the orgId is in the list of orgIds which have been send as
+	 * organisations
+	 * 
+	 * @param orgId
+	 * @param org
+	 * @return
+	 * @throws Exception
+	 */
+	private boolean checkOrgInList(Long orgId, List<Long> org) throws Exception {
+		return org != null && org.contains(orgId);
+	}
+
+	/**
+	 * checks if an orgId is already stored in the Users Organisations Object
+	 * 
+	 * @param orgId
+	 * @param org
+	 * @return
+	 * @throws Exception
+	 */
+	private boolean checkOrgInStoredList(long orgId, List<Organisation_Users> org) throws Exception {
+		// log.debug("checkOrgInStoredList "+orgId);
+		for (Organisation_Users orgUsers : org) {
+			// log.debug("checkOrgInStoredList 2 "+orgUsers.getOrganisation().getOrganisation_id());
+			if (orgUsers.getOrganisation().getOrganisation_id().equals(orgId)) {
+				// log.debug("checkOrgInStoredList 3 found");
+				return true;
+			}
+		}
+		return false;
+	}
+
+	/**
+	 * updates users-organisations by a given params
+	 * 
+	 * @param us
+	 * @param organisations
+	 * @return
+	 */
+	//FIXME need to refactor
+	public Long updateUserOrganisationsByUser(Users us, List<Long> organisations) {
+		try {
+			LinkedList<Long> orgIdsToAdd = new LinkedList<Long>();
+			LinkedList<Long> orgIdsToDelete = new LinkedList<Long>();
+
+			if (us.getOrganisation_users() != null) {
+				for (Long orgIdToAdd : organisations) {
+					boolean isAlreadyStored = this.checkOrgInStoredList(
+							orgIdToAdd, us.getOrganisation_users());
+					if (!isAlreadyStored)
+						orgIdsToAdd.add(orgIdToAdd);
+				}
+
+				for (Organisation_Users orgUsers : us.getOrganisation_users()) {
+					Long orgIdStored = orgUsers.getOrganisation()
+							.getOrganisation_id();
+					// log.error("updateUserOrganisationsByUser check1 : "+orgIdStored);
+					boolean shouldBeStored = this.checkOrgInList(orgIdStored,
+							organisations);
+					if (!shouldBeStored)
+						orgIdsToDelete.add(orgIdStored);
+				}
+
+				// log.error("updateUserOrganisationsByUser size ADD: "+orgIdsToAdd.size());
+				for (Long orgToAdd : orgIdsToAdd) {
+					this.addUserToOrganisation(us.getUser_id(), orgToAdd,
+							us.getUser_id());
+				}
+
+				// log.error("updateUserOrganisationsByUser size DELETE: "+orgIdsToDelete.size());
+				for (Long orgToDel : orgIdsToDelete) {
+					this.deleteUserFromOrganisation(new Long(3),
+							us.getUser_id(), orgToDel);
+				}
+			}
+		} catch (Exception err) {
+			log.error("[updateUserOrganisationsByUser] ", err);
+		}
+		return null;
+	}
+
+	/**
+	 * adds all send organisations to this User-Object (for newly
+	 * registered/created Users)
+	 * 
+	 * @param us
+	 * @param org
+	 * @return
+	 */
+	@SuppressWarnings("rawtypes")
+	public Long addUserOrganisationsByHashMap(long us, List org) {
+		try {
+			if (org != null) {
+				for (Iterator it = org.iterator(); it.hasNext();) {
+					Integer key = (Integer) it.next();
+					Long newOrgId = key.longValue();
+					this.addUserToOrganisation(us, newOrgId, new Long(1));
+				}
+			}
+		} catch (Exception ex) {
+			log.error("addUserOrganisationsByHashMap", ex);
+		}
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/user/Salutationmanagement.java b/src/org/openmeetings/app/data/user/Salutationmanagement.java
new file mode 100644
index 0000000..787555b
--- /dev/null
+++ b/src/org/openmeetings/app/data/user/Salutationmanagement.java
@@ -0,0 +1,103 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.user;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Root;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Fieldmanagment;
+import org.openmeetings.app.persistence.beans.user.Salutations;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 
+ * @author swagner
+ * 
+ */
+@Transactional
+public class Salutationmanagement {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			Salutationmanagement.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private Fieldmanagment fieldmanagment;
+
+	@PersistenceContext
+	private EntityManager em;
+
+	/**
+	 * Adds a new Salutation to the table Titles
+	 * 
+	 * @param titelname
+	 */
+	public Long addUserSalutation(String titelname, long fieldvalues_id) {
+		try {
+			Salutations ti = new Salutations();
+			ti.setName(titelname);
+			ti.setDeleted("false");
+			ti.setFieldvalues_id(fieldvalues_id);
+			ti.setStarttime(new Date());
+			ti = em.merge(ti);
+			Long salutations_id = ti.getSalutations_id();
+			return salutations_id;
+		} catch (Exception ex2) {
+			log.error("[addUserSalutation]", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * get a list of all availible Salutations
+	 * 
+	 * @param user_level
+	 * @return
+	 */
+	public List<Salutations> getUserSalutations(long language_id) {
+		try {
+			CriteriaBuilder cb = em.getCriteriaBuilder();
+			CriteriaQuery<Salutations> cq = cb.createQuery(Salutations.class);
+			Root<Salutations> from = cq.from(Salutations.class);
+			CriteriaQuery<Salutations> select = cq.select(from);
+			TypedQuery<Salutations> q = em.createQuery(select);
+			List<Salutations> ll = q.getResultList();
+			for (Salutations ti : ll) {
+				ti.setLabel(fieldmanagment.getFieldByIdAndLanguage(
+						ti.getFieldvalues_id(), language_id));
+			}
+
+			return ll;
+		} catch (Exception ex2) {
+			log.error("[addUserSalutation]", ex2);
+		}
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/user/Statemanagement.java b/src/org/openmeetings/app/data/user/Statemanagement.java
new file mode 100644
index 0000000..a183d66
--- /dev/null
+++ b/src/org/openmeetings/app/data/user/Statemanagement.java
@@ -0,0 +1,127 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.user;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.persistence.beans.adresses.States;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 
+ * @author swagner
+ * 
+ */
+@Transactional
+public class Statemanagement {
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			Statemanagement.class, OpenmeetingsVariables.webAppRootKey);
+
+	@PersistenceContext
+	private EntityManager em;
+
+	/**
+	 * adds a new State to the states table with no short name and code
+	 * 
+	 * @param name
+	 * @return the id of the new state or null if an error occurred
+	 */
+	public Long addState(String name) {
+		return addState(name, "", 0);
+	}
+	
+	/**
+	 * adds a new State to the states table
+	 * 
+	 * @param name the name of the country
+	 * @param shortName the short name of the country
+	 * @param code the code of the country
+	 * @return the id of the new state or null if an error occurred
+	 */
+	public Long addState(String name, String shortName, int code) {
+		try {
+
+			States st = new States();
+			st.setName(name);
+			st.setShortName(shortName);
+			st.setCode(code);
+			st.setStarttime(new Date());
+			st.setDeleted("false");
+
+			st = em.merge(st);
+			Long id = st.getState_id();
+
+			log.debug("added id " + id);
+
+			return id;
+		} catch (Exception ex2) {
+			log.error("addState", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * selects a state by its id
+	 * 
+	 * @param state_id
+	 * @return the state-object or null
+	 */
+	public States getStateById(long state_id) {
+		try {
+			TypedQuery<States> query = em
+					.createQuery("select c from States as c where c.state_id = :state_id AND c.deleted <> :deleted", States.class);
+			query.setParameter("state_id", state_id);
+			query.setParameter("deleted", "true");
+			List<States> ll = query.getResultList();
+			if (ll.size() > 0) {
+				return ll.get(0);
+			}
+		} catch (Exception ex2) {
+			log.error("getStateById", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * Get all state-Object
+	 * 
+	 * @return List of State Objects or null
+	 */
+	public List<States> getStates() {
+		try {
+			TypedQuery<States> query = em
+					.createQuery("select c from States as c where c.deleted <> :deleted", States.class);
+			query.setParameter("deleted", "true");
+			List<States> ll = query.getResultList();
+			return ll;
+		} catch (Exception ex2) {
+			log.error("getStates", ex2);
+		}
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/user/Usermanagement.java b/src/org/openmeetings/app/data/user/Usermanagement.java
new file mode 100644
index 0000000..f2301f0
--- /dev/null
+++ b/src/org/openmeetings/app/data/user/Usermanagement.java
@@ -0,0 +1,2170 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.user;
+
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.NonUniqueResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Expression;
+import javax.persistence.criteria.Path;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+
+import org.apache.commons.lang.StringUtils;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.conference.session.RoomClient;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.Fieldmanagment;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.basic.dao.OmTimeZoneDaoImpl;
+import org.openmeetings.app.data.beans.basic.SearchResult;
+import org.openmeetings.app.data.user.dao.UserSipDataDaoImpl;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.adresses.Adresses;
+import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
+import org.openmeetings.app.persistence.beans.basic.Sessiondata;
+import org.openmeetings.app.persistence.beans.domain.Organisation_Users;
+import org.openmeetings.app.persistence.beans.user.UserSipData;
+import org.openmeetings.app.persistence.beans.user.Userdata;
+import org.openmeetings.app.persistence.beans.user.Userlevel;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.app.remote.red5.ClientListManager;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.app.sip.xmlrpc.OpenXGHttpClient;
+import org.openmeetings.app.templates.ResetPasswordTemplate;
+import org.openmeetings.utils.crypt.ManageCryptStyle;
+import org.openmeetings.utils.mail.MailHandler;
+import org.openmeetings.utils.math.CalendarPatterns;
+import org.red5.io.utils.ObjectMap;
+import org.red5.logging.Red5LoggerFactory;
+import org.red5.server.api.scope.IScope;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 
+ * @author swagner
+ * 
+ */
+@Transactional
+public class Usermanagement {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			Usermanagement.class, OpenmeetingsVariables.webAppRootKey);
+
+	@PersistenceContext
+	private EntityManager em;
+
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private Configurationmanagement cfgManagement;
+	@Autowired
+	private Fieldmanagment fieldmanagment;
+	@Autowired
+	private Statemanagement statemanagement;
+	@Autowired
+	private OmTimeZoneDaoImpl omTimeZoneDaoImpl;
+	@Autowired
+	private Organisationmanagement organisationmanagement;
+	@Autowired
+	private ManageCryptStyle manageCryptStyle;
+	@Autowired
+	private OpenXGHttpClient openXGHttpClient;
+	@Autowired
+	private UsersDaoImpl usersDao;
+	@Autowired
+	private Emailmanagement emailManagement;
+	@Autowired
+	private UserSipDataDaoImpl userSipDataDao;
+	@Autowired
+	private ScopeApplicationAdapter scopeApplicationAdapter;
+	@Autowired
+	private MailHandler mailHandler;
+	@Autowired
+	private ResetPasswordTemplate resetPasswordTemplate;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+	@Autowired
+	private ClientListManager clientListManager;
+
+	/**
+	 * query for a list of users
+	 * 
+	 * @param users_id
+	 * @param user_level
+	 * @param start
+	 * @param max
+	 * @param orderby
+	 * @return
+	 */
+	public SearchResult<Users> getUsersList(long user_level, int start, int max,
+			String orderby, boolean asc) {
+		try {
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				SearchResult<Users> sresult = new SearchResult<Users>();
+				sresult.setObjectName(Users.class.getName());
+				sresult.setRecords(usersDao.selectMaxFromUsers());
+
+				// get all users
+				CriteriaBuilder cb = em.getCriteriaBuilder();
+				CriteriaQuery<Users> cq = cb.createQuery(Users.class);
+				Root<Users> c = cq.from(Users.class);
+				Predicate condition = cb.equal(c.get("deleted"), "false");
+				cq.where(condition);
+				cq.distinct(asc);
+				if (asc) {
+					cq.orderBy(cb.asc(c.get(orderby)));
+				} else {
+					cq.orderBy(cb.desc(c.get(orderby)));
+				}
+				TypedQuery<Users> q = em.createQuery(cq);
+				q.setFirstResult(start);
+				q.setMaxResults(max);
+				List<Users> ll = q.getResultList();
+				sresult.setResult(ll);
+				return sresult;
+			}
+		} catch (Exception ex2) {
+			log.error("[getUsersList] " + ex2);
+		}
+		return null;
+	}
+
+	public SearchResult<Users> getAllUserByRange(String search, int start, int max,
+			String orderby, boolean asc) {
+		try {
+			SearchResult<Users> sresult = new SearchResult<Users>();
+			sresult.setObjectName(Users.class.getName());
+			sresult.setRecords(usersDao.getAllUserMax(search));
+
+			String[] searchItems = search.split(" ");
+
+			log.debug("getUserContactsBySearch: " + search);
+			// log.debug("getUserContactsBySearch: "+ userId);
+
+			String hql = "select u from  Users u "
+					+ "WHERE u.deleted = 'false' ";
+
+			hql += "AND ( ";
+			for (int i = 0; i < searchItems.length; i++) {
+				if (i != 0) {
+					hql += " OR ";
+				}
+				hql += "( " + "lower(u.lastname) LIKE '"
+						+ StringUtils.lowerCase("%" + searchItems[i] + "%")
+						+ "' " + "OR lower(u.firstname) LIKE '"
+						+ StringUtils.lowerCase("%" + searchItems[i] + "%")
+						+ "' " + "OR lower(u.login) LIKE '"
+						+ StringUtils.lowerCase("%" + searchItems[i] + "%")
+						+ "' " + "OR lower(u.adresses.email) LIKE '"
+						+ StringUtils.lowerCase("%" + searchItems[i] + "%")
+						+ "' " + ") ";
+
+			}
+
+			hql += " ) ";
+			if (orderby != null && orderby.length() > 0) {
+				hql += "ORDER BY " + orderby;
+			}
+
+			if (asc) {
+				hql += " ASC ";
+			} else {
+				hql += " DESC ";
+			}
+
+			log.debug("Show HQL: " + hql);
+
+			TypedQuery<Users> query = em.createQuery(hql, Users.class);
+			// query.setParameter("macomUserId", userId);
+
+			// query
+			// if (asc) ((Criteria) query).addOrder(Order.asc(orderby));
+			// else ((Criteria) query).addOrder(Order.desc(orderby));
+			query.setFirstResult(start);
+			query.setMaxResults(max);
+			List<Users> ll = query.getResultList();
+
+			sresult.setResult(ll);
+
+			return sresult;
+
+		} catch (Exception ex2) {
+			log.error("[getAllUserByRange] ", ex2);
+			ex2.printStackTrace();
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param user_level
+	 * @param user_id
+	 * @return
+	 */
+	public Users checkAdmingetUserById(long user_level, long user_id) {
+		// FIXME: We have to check here for the User only cause the
+		// Org-Moderator otherwise cannot access it
+		if (authLevelManagement.checkUserLevel(user_level)) {
+			return usersDao.getUser(user_id);
+		}
+		return null;
+	}
+
+	public List<Users> getUserByMod(Long user_level, long user_id) {
+		return null;
+	}
+
+	/**
+	 * login logic
+	 * 
+	 * @param SID
+	 * @param Username
+	 * @param Userpass
+	 * @return
+	 */
+	public Object loginUser(String SID, String userOrEmail, String userpass,
+			RoomClient currentClient, Boolean storePermanent) {
+		try {
+			log.debug("Login user SID : " + SID + " Stored Permanent :"
+					+ storePermanent);
+			String hql = "SELECT c from Users AS c "
+					+ "WHERE "
+					+ "(c.login LIKE :userOrEmail OR c.adresses.email LIKE :userOrEmail  ) "
+					+ "AND c.deleted <> :deleted";
+
+			TypedQuery<Users> query = em.createQuery(hql, Users.class);
+			query.setParameter("userOrEmail", userOrEmail);
+			query.setParameter("deleted", "true");
+
+			List<Users> ll = query.getResultList();
+
+			log.debug("debug SIZE: " + ll.size());
+
+			if (ll.size() == 0) {
+				return new Long(-10);
+			} else {
+				Users users = ll.get(0);
+
+				// Refresh User Object
+				users = this.refreshUserObject(users);
+
+				if (manageCryptStyle.getInstanceOfCrypt().verifyPassword(
+						userpass, users.getPassword())) {
+					log.info("chsum OK: " + users.getUser_id());
+
+					Boolean bool = sessionManagement.updateUser(SID,
+							users.getUser_id(), storePermanent,
+							users.getLanguage_id());
+					if (bool == null) {
+						// Exception
+						return new Long(-1);
+					} else if (!bool) {
+						// invalid Session-Object
+						return new Long(-35);
+					}
+
+					// Check if activated
+					if (users.getStatus() != null
+							&& users.getStatus().equals(0)) {
+						return -41L;
+					}
+
+					users.setUserlevel(getUserLevel(users.getLevel_id()));
+					updateLastLogin(users);
+					// If invoked via SOAP this is NULL
+					if (currentClient != null) {
+						currentClient.setUser_id(users.getUser_id());
+					}
+
+					log.debug("loginUser " + users.getOrganisation_users());
+					if (!users.getOrganisation_users().isEmpty()) {
+						log.debug("loginUser size "
+								+ users.getOrganisation_users().size());
+					} else {
+						throw new Exception("No Organization assigned to user");
+					}
+
+					return users;
+				} else {
+					return new Long(-11);
+				}
+			}
+
+		} catch (Exception ex2) {
+			log.error("[loginUser]: ", ex2);
+		}
+		return new Long(-1);
+	}
+
+	public Users refreshUserObject(Users us) {
+		try {
+
+			us = em.merge(us);
+			return us;
+		} catch (Exception ex2) {
+			log.error("[loginUser]: ", ex2);
+		}
+		return null;
+	}
+
+	public Users loginUserByRemoteHash(String SID, String remoteHash) {
+		try {
+
+			Sessiondata sessionData = sessionManagement
+					.getSessionByHash(remoteHash);
+
+			if (sessionData != null) {
+
+				Users u = getUserById(sessionData.getUser_id());
+
+				sessionManagement.updateUserWithoutSession(SID, u.getUser_id());
+
+				return u;
+			}
+
+		} catch (Exception ex2) {
+			log.error("[loginUserByRemoteHash]: ", ex2);
+		}
+		return null;
+	}
+
+	public Long logout(String SID, long USER_ID) {
+		sessionManagement.updateUser(SID, 0, false, null);
+		return new Long(-12);
+	}
+
+	private void updateLastLogin(Users us) {
+		try {
+			us.setLastlogin(new Date());
+			if (us.getUser_id() == null) {
+				em.persist(us);
+			} else {
+				if (!em.contains(us)) {
+					em.merge(us);
+				}
+			}
+		} catch (Exception ex2) {
+			log.error("updateLastLogin", ex2);
+		}
+	}
+
+	/**
+	 * suche eines Bentzers
+	 * 
+	 * @param user_level
+	 * @param searchstring
+	 * @param max
+	 * @param start
+	 * @return
+	 */
+	public List<Users> searchUser(long user_level, String searchcriteria,
+			String searchstring, int max, int start, String orderby, boolean asc) {
+		if (authLevelManagement.checkAdminLevel(user_level)) {
+			try {
+				CriteriaBuilder cb = em.getCriteriaBuilder();
+				CriteriaQuery<Users> cq = cb.createQuery(Users.class);
+				Root<Users> c = cq.from(Users.class);
+				Expression<String> literal = cb.literal("%" + searchstring
+						+ "%");
+				// crit.add(Restrictions.ilike(searchcriteria, "%" +
+				// searchstring + "%"));
+				Path<String> path = c.get(searchcriteria);
+				Predicate predicate = cb.like(path, literal);
+				Predicate condition = cb.notEqual(c.get("deleted"), "true");
+				cq.where(condition, predicate);
+				cq.distinct(asc);
+				if (asc) {
+					cq.orderBy(cb.asc(c.get(orderby)));
+				} else {
+					cq.orderBy(cb.desc(c.get(orderby)));
+				}
+				TypedQuery<Users> q = em.createQuery(cq);
+				q.setFirstResult(start);
+				q.setMaxResults(max);
+				List<Users> contactsZ = q.getResultList();
+				return contactsZ;
+			} catch (Exception ex2) {
+				log.error("searchUser", ex2);
+			}
+		}
+		return null;
+	}
+
+	public List<Userdata> getUserdataDashBoard(Long user_id) {
+		if (user_id.longValue() > 0) {
+			try {
+				TypedQuery<Userdata> query = em
+						.createQuery("select c from Userdata as c where c.user_id = :user_id AND c.deleted <> :deleted", Userdata.class);
+				query.setParameter("user_id", user_id.longValue());
+				query.setParameter("deleted", "true");
+				List<Userdata> ll = query.getResultList();
+				return ll;
+			} catch (Exception ex2) {
+				log.error("getUserdataDashBoard", ex2);
+			}
+		}
+		return null;
+	}
+
+	public Userdata getUserdataByKey(Long user_id, String DATA_KEY) {
+		Userdata userdata = new Userdata();
+		if (user_id.longValue() > 0) {
+			try {
+				TypedQuery<Userdata> query = em
+						.createQuery("select c from Userdata as c where c.user_id = :user_id AND c.data_key = :data_key AND c.deleted <> :deleted", Userdata.class);
+				query.setParameter("user_id", user_id.longValue());
+				query.setParameter("data_key", DATA_KEY);
+				query.setParameter("deleted", "true");
+				for (Iterator<Userdata> it2 = query.getResultList().iterator(); it2
+						.hasNext();) {
+					userdata = it2.next();
+				}
+			} catch (Exception ex2) {
+				log.error("getUserdataByKey", ex2);
+			}
+		} else {
+			userdata.setComment("Error: No USER_ID given");
+		}
+		return userdata;
+	}
+
+	public Long updateUser(long user_level, Long user_id, Long level_id,
+			String login, String password, String lastname, String firstname,
+			Date age, String street, String additionalname, String zip,
+			long states_id, String town, Long language_id, int availible,
+			String telefon, String fax, String mobil, String email,
+			String comment, int status, List<Long> organisations, int title_id,
+			String phone, String sip_user, String sip_pass, String sip_auth,
+			Boolean generateSipUserData, String jNameTimeZone,
+			Boolean forceTimeZoneCheck, String userOffers, String userSearchs,
+			Boolean showContactData, Boolean showContactDataToContacts) {
+
+		if (authLevelManagement.checkUserLevel(user_level) && user_id != 0) {
+			try {
+				Users us = usersDao.getUser(user_id);
+
+				// Check for duplicates
+				boolean checkName = true;
+
+				if (!login.equals(us.getLogin())) {
+					checkName = usersDao.checkUserLogin(login);
+				}
+				boolean checkEmail = true;
+
+				// Compare old address with new address
+				if (!email.equals(us.getAdresses().getEmail())) {
+
+					// Its a new one - check, whether another user already uses
+					// that one...
+					checkEmail = emailManagement.checkUserEMail(email);
+				}
+
+				if (generateSipUserData) {
+
+					if (password.length() == 0) {
+						// Cannot perform a SIP Creation without password
+						// re-enter
+						return new Long(-43);
+					}
+				}
+
+				if (checkName && checkEmail) {
+					// log.info("user_id " + user_id);
+
+					// add or delete organisations from this user
+					if (organisations != null) {
+						organisationmanagement.updateUserOrganisationsByUser(
+								us, organisations);
+					}
+					us = usersDao.getUser(user_id);
+
+					us.setLastname(lastname);
+					us.setFirstname(firstname);
+					us.setAge(age);
+					us.setLogin(login);
+					us.setUpdatetime(new Date());
+					us.setAvailible(availible);
+					us.setStatus(status);
+					us.setTitle_id(title_id);
+					us.setOmTimeZone(omTimeZoneDaoImpl
+							.getOmTimeZone(jNameTimeZone));
+					us.setLanguage_id(language_id);
+					us.setForceTimeZoneCheck(forceTimeZoneCheck);
+
+					us.setUserOffers(userOffers);
+					us.setUserSearchs(userSearchs);
+					us.setShowContactData(showContactData);
+					us.setShowContactDataToContacts(showContactDataToContacts);
+
+					if (level_id != 0)
+						us.setLevel_id(new Long(level_id));
+					if (password.length() != 0) {
+						if (password.length() >= 6) {
+							us.setPassword(manageCryptStyle
+									.getInstanceOfCrypt().createPassPhrase(
+											password));
+						} else {
+							return new Long(-7);
+						}
+					}
+					us.setAdresses(street, zip, town, statemanagement.getStateById(states_id),
+							additionalname, comment, fax, phone, email);
+					// emailManagement.updateUserEmail(mail.getMail().getMail_id(),user_id,
+					// email);
+
+					if (generateSipUserData) {
+
+						UserSipData userSipData = openXGHttpClient
+								.openSIPgUserCreateUser(firstname, "",
+										lastname, us.getAdresses().getEmail(),
+										password, login);
+
+						if (us.getUserSipData() == null) {
+							Long userSipDataId = userSipDataDao
+									.addUserSipData(userSipData);
+
+							us.setUserSipData(userSipDataDao
+									.getUserSipDataById(userSipDataId));
+						} else {
+
+							us.getUserSipData().setUsername(
+									userSipData.getUsername());
+							us.getUserSipData().setUserpass(
+									userSipData.getUserpass());
+							us.getUserSipData().setAuthId(
+									userSipData.getAuthId());
+
+							userSipDataDao.updateUserSipData(us
+									.getUserSipData());
+						}
+
+					} else if (us.getUserSipData() == null) {
+						UserSipData userSipData = new UserSipData();
+
+						userSipData.setUsername(sip_user);
+						userSipData.setUserpass(sip_pass);
+						userSipData.setAuthId(sip_auth);
+
+						Long userSipDataId = userSipDataDao
+								.addUserSipData(userSipData);
+
+						us.setUserSipData(userSipDataDao
+								.getUserSipDataById(userSipDataId));
+
+					} else {
+
+						UserSipData userSipData = userSipDataDao
+								.getUserSipDataById(us.getUserSipData()
+										.getUserSipDataId());
+
+						userSipData.setUsername(sip_user);
+						userSipData.setUserpass(sip_pass);
+						userSipData.setAuthId(sip_auth);
+
+						userSipDataDao.updateUserSipData(userSipData);
+
+						us.setUserSipData(userSipData);
+
+					}
+
+					// log.info("USER " + us.getLastname());
+					// What is this code good for? The Id is already check in
+					// the initial
+					// if clause otherwise an update is not possible
+					// if (us.getUser_id() == null) {
+					// em.persist(us);
+					// } else {
+					// if (!em.contains(us)) {
+					em.merge(us);
+
+					// }
+					// }
+
+					return us.getUser_id();
+
+				} else {
+					if (!checkName) {
+						return new Long(-15);
+					} else if (!checkEmail) {
+						return new Long(-17);
+					}
+				}
+			} catch (Exception ex2) {
+				log.error("[updateUser]", ex2);
+			}
+		} else {
+			log.error("Error: Permission denied");
+			return new Long(-1);
+		}
+		return new Long(-1);
+	}
+
+	public String updateUserdata(int DATA_ID, long USER_ID, String DATA_KEY,
+			String DATA, String Comment) {
+		String res = "Fehler beim Update";
+		try {
+			String hqlUpdate = "update userdata set DATA_KEY= :DATA_KEY, USER_ID = :USER_ID, DATA = :DATA, updatetime = :updatetime, comment = :Comment where DATA_ID= :DATA_ID";
+			int updatedEntities = em.createQuery(hqlUpdate)
+					.setParameter("DATA_KEY", DATA_KEY)
+					.setParameter("USER_ID", USER_ID)
+					.setParameter("DATA", DATA)
+					.setParameter("updatetime", new Long(-1))
+					.setParameter("Comment", Comment)
+					.setParameter("DATA_ID", DATA_ID).executeUpdate();
+			res = "Success" + updatedEntities;
+		} catch (Exception ex2) {
+			log.error("updateUserdata", ex2);
+		}
+		return res;
+	}
+
+	public String updateUserdataByKey(Long USER_ID, String DATA_KEY,
+			String DATA, String Comment) {
+		String res = "Fehler beim Update";
+		try {
+			String hqlUpdate = "UPDATE Userdata set data = :data, updatetime = :updatetime, "
+					+ "comment = :comment where user_id= :user_id AND data_key = :data_key";
+			int updatedEntities = em.createQuery(hqlUpdate)
+					.setParameter("data", DATA)
+					.setParameter("updatetime", new Long(-1))
+					.setParameter("comment", Comment)
+					.setParameter("user_id", USER_ID.longValue())
+					.setParameter("data_key", DATA_KEY).executeUpdate();
+			res = "Success" + updatedEntities;
+		} catch (Exception ex2) {
+			log.error("updateUserdataByKey", ex2);
+		}
+		return res;
+	}
+
+	public String addUserdata(long USER_ID, String DATA_KEY, String DATA,
+			String Comment) {
+		String ret = "Fehler beim speichern der Userdata";
+		Userdata userdata = new Userdata();
+		userdata.setData_key(DATA_KEY);
+		userdata.setData(DATA);
+		userdata.setStarttime(new Date());
+		userdata.setUpdatetime(null);
+		userdata.setComment(Comment);
+		userdata.setUser_id(new Long(USER_ID));
+		userdata.setDeleted("false");
+		try {
+			userdata = em.merge(userdata);
+			ret = "success";
+		} catch (Exception ex2) {
+			log.error("addUserdata", ex2);
+		}
+		return ret;
+	}
+
+	private Userlevel getUserLevel(Long level_id) {
+		Userlevel userlevel = new Userlevel();
+		try {
+			TypedQuery<Userlevel> query = em
+					.createQuery("select c from Userlevel as c where c.level_id = :level_id AND c.deleted <> :deleted", Userlevel.class);
+			query.setParameter("level_id", level_id.longValue());
+			query.setParameter("deleted", "true");
+			for(Iterator<Userlevel> it2 = query.getResultList().iterator(); it2
+					.hasNext();) {
+				userlevel = it2.next();
+			}
+		} catch (Exception ex2) {
+			log.error("[getUserLevel]", ex2);
+		}
+		return userlevel;
+	}
+
+	/**
+	 * get user-role 1 - user 2 - moderator 3 - admin
+	 * 
+	 * @param user_id
+	 * @return
+	 */
+	public Long getUserLevelByID(Long user_id) {
+
+		try {
+			if (user_id == null)
+				return new Long(0);
+			// For direct access of linked users
+			if (user_id == -1) {
+				return new Long(1);
+			}
+
+			TypedQuery<Users> query = em
+					.createQuery("select c from Users as c where c.user_id = :user_id AND c.deleted <> 'true'", Users.class);
+			query.setParameter("user_id", user_id);
+			Users us = null;
+			try {
+				us = query.getSingleResult();
+			} catch (NoResultException e) {
+				// u=null}
+			}
+
+			if (us != null) {
+				return us.getLevel_id();
+			} else {
+				return -1L;
+			}
+		} catch (Exception ex2) {
+			log.error("[getUserLevelByID]", ex2);
+		}
+		return null;
+	}
+
+	public Long getUserLevelByIdAndOrg(Long user_id, Long organisation_id) {
+
+		try {
+			if (user_id == null)
+				return new Long(0);
+			// For direct access of linked users
+			if (user_id == -1) {
+				return new Long(1);
+			}
+
+			TypedQuery<Users> query = em
+					.createQuery("select c from Users as c where c.user_id = :user_id AND c.deleted <> 'true'", Users.class);
+			query.setParameter("user_id", user_id);
+			Users us = null;
+			try {
+				us = query.getSingleResult();
+			} catch (NoResultException e) {
+				// u=null}
+			}
+
+			if (us != null) {
+
+				if (us.getLevel_id() > 2) {
+					return us.getLevel_id();
+				} else {
+
+					log.debug("user_id, organisation_id" + user_id + ", "
+							+ organisation_id);
+
+					Organisation_Users ou = organisationmanagement
+							.getOrganisation_UserByUserAndOrganisation(user_id,
+									organisation_id);
+
+					log.debug("ou: " + ou);
+
+					if (ou != null) {
+						if (ou.getIsModerator() != null && ou.getIsModerator()) {
+							return 2L;
+						} else {
+							return us.getLevel_id();
+						}
+					} else {
+						return us.getLevel_id();
+					}
+				}
+
+			} else {
+				return -1L;
+			}
+		} catch (Exception ex2) {
+			log.error("[getUserLevelByID]", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * Method to register a new User, User will automatically be added to the
+	 * default user_level(1) new users will be automatically added to the
+	 * Organisation with the id specified in the configuration value
+	 * default_domain_id
+	 * 
+	 * @param user_level
+	 * @param level_id
+	 * @param availible
+	 * @param status
+	 * @param login
+	 * @param Userpass
+	 * @param lastname
+	 * @param firstname
+	 * @param email
+	 * @param age
+	 * @param street
+	 * @param additionalname
+	 * @param fax
+	 * @param zip
+	 * @param states_id
+	 * @param town
+	 * @param language_id
+	 * @return
+	 */
+	public Long registerUser(String login, String Userpass, String lastname,
+			String firstname, String email, Date age, String street,
+			String additionalname, String fax, String zip, long states_id,
+			String town, long language_id, String phone, String baseURL,
+			boolean generateSipUserData, String jNameTimeZone) {
+		
+		boolean sendConfirmation = baseURL != null
+				&& !baseURL.isEmpty()
+				&& 1 == cfgManagement.getConfValue(
+						"sendEmailWithVerficationCode", Integer.class, "0");
+		
+		return registerUser(login, Userpass, lastname, firstname, email, age,
+				street, additionalname, fax, zip, states_id, town, language_id,
+				phone, baseURL, generateSipUserData, jNameTimeZone, sendConfirmation);
+	}
+
+	public Long registerUserNoEmail(String login, String Userpass,
+			String lastname, String firstname, String email, Date age,
+			String street, String additionalname, String fax, String zip,
+			long states_id, String town, long language_id, String phone,
+			boolean generateSipUserData, String jNameTimeZone) {
+		
+		return registerUser(login, Userpass, lastname, firstname, email, age,
+				street, additionalname, fax, zip, states_id, town, language_id,
+				phone, "", generateSipUserData, jNameTimeZone, false);
+	}
+
+	private Long registerUser(String login, String Userpass, String lastname,
+			String firstname, String email, Date age, String street,
+			String additionalname, String fax, String zip, long states_id,
+			String town, long language_id, String phone, String baseURL,
+			boolean generateSipUserData, String jNameTimeZone, Boolean sendConfirmation) {
+		try {
+			// Checks if FrontEndUsers can register
+			if ("1".equals(cfgManagement.getConfValue("allow_frontend_register", String.class, "0"))) {
+				
+				// TODO: Read and generate SIP-Data via RPC-Interface Issue 1098
+
+				Long user_id = this.registerUserInit(3, 1, 0, 1, login,
+						Userpass, lastname, firstname, email, age, street,
+						additionalname, fax, zip, states_id, town, language_id,
+						true, Arrays.asList(cfgManagement.getConfValue("default_domain_id", Long.class, null)),phone, baseURL,
+						sendConfirmation, "", "", "", generateSipUserData,
+						jNameTimeZone, false, "", "", false, true);
+
+				if (sendConfirmation) {
+					return new Long(-40);
+				}
+
+				return user_id;
+			}
+		} catch (Exception e) {
+			log.error("[registerUser]", e);
+		}
+		return null;
+	}
+
+	/**
+	 * Adds a user including his adress-data,auth-date,mail-data
+	 * 
+	 * @param user_level
+	 * @param level_id
+	 * @param availible
+	 * @param status
+	 * @param login
+	 * @param password
+	 * @param lastname
+	 * @param firstname
+	 * @param email
+	 * @param age
+	 * @param street
+	 * @param additionalname
+	 * @param fax
+	 * @param zip
+	 * @param states_id
+	 * @param town
+	 * @param language_id
+	 * @param phone
+	 * @return new users_id OR null if an exception, -1 if an error, -4 if mail
+	 *         already taken, -5 if username already taken, -3 if login or pass
+	 *         or mail is empty
+	 */
+	public Long registerUserInit(long user_level, long level_id, int availible,
+			int status, String login, String password, String lastname,
+			String firstname, String email, Date age, String street,
+			String additionalname, String fax, String zip, long states_id,
+			String town, long language_id, boolean sendWelcomeMessage,
+			List<Long> organisations, String phone, String baseURL,
+			Boolean sendConfirmation, String sip_user, String sip_pass,
+			String sip_auth, boolean generateSipUserData,
+			String jname_timezone, Boolean forceTimeZoneCheck,
+			String userOffers, String userSearchs, Boolean showContactData,
+			Boolean showContactDataToContacts) throws Exception {
+		return registerUserInit(user_level, level_id, availible,
+				status, login, password, lastname,
+				firstname, email, age, street,
+				additionalname, fax, zip, states_id,
+				town, language_id, sendWelcomeMessage,
+				organisations, phone, baseURL,
+				sendConfirmation, sip_user, sip_pass,
+				sip_auth, generateSipUserData,
+				omTimeZoneDaoImpl.getOmTimeZone(jname_timezone), forceTimeZoneCheck,
+				userOffers, userSearchs, showContactData,
+				showContactDataToContacts);
+	}
+	
+	/**
+	 * @param user_level
+	 * @param level_id
+	 * @param availible
+	 * @param status
+	 * @param login
+	 * @param password
+	 * @param lastname
+	 * @param firstname
+	 * @param email
+	 * @param age
+	 * @param street
+	 * @param additionalname
+	 * @param fax
+	 * @param zip
+	 * @param states_id
+	 * @param town
+	 * @param language_id
+	 * @param sendWelcomeMessage
+	 * @param organisations
+	 * @param phone
+	 * @param baseURL
+	 * @param sendConfirmation
+	 * @param sip_user
+	 * @param sip_pass
+	 * @param sip_auth
+	 * @param generateSipUserData
+	 * @param timezone
+	 * @param forceTimeZoneCheck
+	 * @param userOffers
+	 * @param userSearchs
+	 * @param showContactData
+	 * @param showContactDataToContacts
+	 * @return new users_id OR null if an exception, -1 if an error, -4 if mail
+	 *         already taken, -5 if username already taken, -3 if login or pass
+	 *         or mail is empty
+	 * @throws Exception
+	 */
+	public Long registerUserInit(long user_level, long level_id, int availible,
+			int status, String login, String password, String lastname,
+			String firstname, String email, Date age, String street,
+			String additionalname, String fax, String zip, long states_id,
+			String town, long language_id, boolean sendWelcomeMessage,
+			List<Long> organisations, String phone, String baseURL,
+			Boolean sendConfirmation, String sip_user, String sip_pass,
+			String sip_auth, boolean generateSipUserData,
+			OmTimeZone timezone, Boolean forceTimeZoneCheck,
+			String userOffers, String userSearchs, Boolean showContactData,
+			Boolean showContactDataToContacts) throws Exception {
+		// TODO: make phone number persistent
+		// User Level must be at least Admin
+		// Moderators will get a temp update of there UserLevel to add Users to
+		// their Group
+		if (authLevelManagement.checkModLevel(user_level)) {
+
+			Integer userLoginMinimumLength = cfgManagement.getConfValue(
+					"user.login.minimum.length", Integer.class, "4");
+			Integer userPassMinimumLength = cfgManagement.getConfValue(
+					"user.pass.minimum.length", Integer.class, "4");
+
+			if (userLoginMinimumLength == null || userPassMinimumLength == null) {
+				throw new Exception(
+						"user.login.minimum.length or user.pass.minimum.length problem");
+			}
+
+			// Check for required data
+			if (login.length() >= userLoginMinimumLength.intValue()
+					&& password.length() >= userPassMinimumLength.intValue()) {
+				// Check for duplicates
+				boolean checkName = usersDao.checkUserLogin(login);
+				boolean checkEmail = emailManagement.checkUserEMail(email);
+				if (checkName && checkEmail) {
+
+					String hash = manageCryptStyle
+							.getInstanceOfCrypt()
+							.createPassPhrase(
+									login
+											+ CalendarPatterns
+													.getDateWithTimeByMiliSeconds(new Date()));
+					String link = baseURL + "activateUser?u=" + hash;
+
+					if (sendWelcomeMessage && email.length() != 0) {
+						// We need to pass the baseURL to check if this is
+						// really set to be send
+						String sendMail = emailManagement.sendMail(login,
+								password, email, link, sendConfirmation);
+						if (!sendMail.equals("success"))
+							return new Long(-19);
+					}
+					Adresses adr =  new Adresses();
+					adr.setStreet(street);
+					adr.setZip(zip);
+					adr.setTown(town);
+					adr.setStates(statemanagement.getStateById(states_id));
+					adr.setAdditionalname(additionalname);
+					adr.setComment("");
+					adr.setFax(fax);
+					adr.setPhone(phone);
+					adr.setEmail(email);
+
+					// If this user needs first to click his E-Mail verification
+					// code then set the status to 0
+					if (sendConfirmation) {
+						status = 0;
+					}
+
+					Long user_id = addUser(level_id, availible, status,
+							firstname, login, lastname, language_id, password,
+							adr, age, hash, sip_user, sip_pass,
+							sip_auth, generateSipUserData, timezone,
+							forceTimeZoneCheck, userOffers, userSearchs,
+							showContactData, showContactDataToContacts, organisations);
+					log.debug("Added user-Id " + user_id);
+					if (user_id == null) {
+						return new Long(-111);
+					}
+
+					/*
+					 * Long adress_emails_id =
+					 * emailManagement.registerEmail(email, address_id,""); if
+					 * (adress_emails_id==null) { return new Long(-112); }
+					 */
+
+					if (adr.getAdresses_id() > 0 && user_id > 0) {
+						return user_id;
+					} else {
+						return new Long(-16);
+					}
+				} else {
+					if (!checkName) {
+						return new Long(-15);
+					} else if (!checkEmail) {
+						return new Long(-17);
+					}
+				}
+			} else {
+				return new Long(-13);
+			}
+		}
+		return new Long(-1);
+	}
+
+	/**
+	 * @author swagner This Methdo adds a User to the User-Table
+	 * @param level_id
+	 *            The User Level, 1=User, 2=GroupAdmin/Moderator,
+	 *            3=SystemAdmin/Admin
+	 * @param availible
+	 *            The user is activated
+	 * @param status
+	 *            The user is not blocked by System admins
+	 * @param firstname
+	 * @param login
+	 *            Username for login
+	 * @param lastname
+	 * @param language_id
+	 * @param Userpass
+	 *            is MD5-crypted
+	 * @param Adresses adress
+	 * @return user_id or error null
+	 */
+	public Long addUser(long level_id, int availible, int status,
+			String firstname, String login, String lastname, long language_id,
+			String userpass, Adresses adress, Date age, String hash,
+			String sip_user, String sip_pass, String sip_auth,
+			boolean generateSipUserData, OmTimeZone timezone,
+			Boolean forceTimeZoneCheck, String userOffers, String userSearchs,
+			Boolean showContactData, Boolean showContactDataToContacts, List<Long> orgIds) {
+		try {
+
+			Users users = new Users();
+			users.setFirstname(firstname);
+			users.setLogin(login);
+			users.setLastname(lastname);
+			users.setAge(age);
+			users.setAdresses(adress);
+			users.setAvailible(availible);
+			users.setLastlogin(new Date());
+			users.setLasttrans(new Long(0));
+			users.setLevel_id(level_id);
+			users.setStatus(status);
+			users.setTitle_id(new Integer(1));
+			users.setStarttime(new Date());
+			users.setActivatehash(hash);
+			users.setOmTimeZone(timezone);
+			users.setForceTimeZoneCheck(forceTimeZoneCheck);
+
+			users.setUserOffers(userOffers);
+			users.setUserSearchs(userSearchs);
+			users.setShowContactData(showContactData);
+			users.setShowContactDataToContacts(showContactDataToContacts);
+
+			if (generateSipUserData) {
+
+				UserSipData userSipData = openXGHttpClient
+						.openSIPgUserCreateUser(firstname, "", lastname, users
+								.getAdresses().getEmail(), userpass, login);
+
+				Long userSipDataId = userSipDataDao.addUserSipData(userSipData);
+
+				users.setUserSipData(userSipDataDao
+						.getUserSipDataById(userSipDataId));
+
+			} else {
+				UserSipData userSipData = new UserSipData();
+
+				userSipData.setUsername(sip_user);
+				userSipData.setUserpass(sip_pass);
+				userSipData.setAuthId(sip_auth);
+
+				Long userSipDataId = userSipDataDao.addUserSipData(userSipData);
+
+				users.setUserSipData(userSipDataDao
+						.getUserSipDataById(userSipDataId));
+			}
+
+			// this is needed cause the language is not a needed data at
+			// registering
+			if (language_id != 0) {
+				users.setLanguage_id(new Long(language_id));
+			} else {
+				users.setLanguage_id(null);
+			}
+			users.setPassword(manageCryptStyle.getInstanceOfCrypt()
+					.createPassPhrase(userpass));
+			users.setRegdate(new Date());
+			users.setDeleted("false");
+			
+			//new user add organizations without checks
+			if (orgIds != null) {
+				List<Organisation_Users> orgList = users.getOrganisation_users();
+				for (Long orgId : orgIds) {
+					orgList.add(organisationmanagement.getOrgUser(orgId, null));
+				}
+			}
+			return addUser(users);
+
+		} catch (Exception ex2) {
+			log.error("[registerUser]", ex2);
+		}
+		return null;
+	}
+
+	public Users getUserByExternalIdAndType(String externalUserId,
+			String externalUserType) {
+
+		try {
+
+			String hql = "select c from Users as c "
+					+ "where c.externalUserId LIKE :externalUserId "
+					+ "AND c.externalUserType LIKE :externalUserType "
+					+ "AND c.deleted <> :deleted";
+
+			TypedQuery<Users> query = em.createQuery(hql, Users.class);
+			query.setParameter("externalUserId", externalUserId);
+			query.setParameter("externalUserType", externalUserType);
+			query.setParameter("deleted", "true");
+
+			List<Users> users = query.getResultList();
+
+			if (users.size() > 0) {
+				return users.get(0);
+			}
+
+		} catch (Exception ex2) {
+			log.error("[getUserByExternalIdAndType]", ex2);
+		}
+		return null;
+	}
+
+	public Long addUserWithExternalKey(long level_id, int availible,
+			int status, String firstname, String login, String lastname,
+			long language_id, String userpass, Adresses address, Date age,
+			String hash, String externalUserId, String externalUserType,
+			boolean generateSipUserData, String email, String jNameTimeZone,
+			String pictureuri) {
+		try {
+			Users users = new Users();
+			users.setFirstname(firstname);
+			users.setLogin(login);
+			users.setLastname(lastname);
+			users.setAge(age);
+
+			if (address != null) {
+				users.setAdresses(address);
+			} else {
+				users.setAdresses("", "", "", statemanagement.getStateById(1L), "",
+						"", "", "", email);
+			}
+
+			users.setAvailible(availible);
+			users.setLastlogin(new Date());
+			users.setLasttrans(new Long(0));
+			users.setLevel_id(level_id);
+			users.setStatus(status);
+			users.setTitle_id(new Integer(1));
+			users.setStarttime(new Date());
+			users.setActivatehash(hash);
+			users.setPictureuri(pictureuri);
+			users.setOmTimeZone(omTimeZoneDaoImpl.getOmTimeZone(jNameTimeZone));
+
+			if (generateSipUserData) {
+
+				UserSipData userSipData = openXGHttpClient
+						.openSIPgUserCreateUser(firstname, "", lastname, users
+								.getAdresses().getEmail(), userpass, login);
+
+				Long userSipDataId = userSipDataDao.addUserSipData(userSipData);
+
+				users.setUserSipData(userSipDataDao
+						.getUserSipDataById(userSipDataId));
+
+			} else {
+				UserSipData userSipData = new UserSipData();
+
+				userSipData.setUsername("");
+				userSipData.setUserpass("");
+				userSipData.setAuthId("");
+
+				Long userSipDataId = userSipDataDao.addUserSipData(userSipData);
+
+				users.setUserSipData(userSipDataDao
+						.getUserSipDataById(userSipDataId));
+			}
+
+			users.setExternalUserId(externalUserId);
+			users.setExternalUserType(externalUserType);
+
+			// this is needed cause the language is not a needed data at
+			// registering
+			if (language_id != 0) {
+				users.setLanguage_id(new Long(language_id));
+			} else {
+				users.setLanguage_id(null);
+			}
+			users.setPassword(manageCryptStyle.getInstanceOfCrypt()
+					.createPassPhrase(userpass));
+			users.setRegdate(new Date());
+			users.setDeleted("false");
+
+			em.persist(users);
+
+			em.refresh(users);
+
+			// em.flush();
+
+			long user_id = users.getUser_id();
+
+			return user_id;
+
+		} catch (Exception ex2) {
+			log.error("[registerUser]", ex2);
+		}
+		return null;
+	}
+
+	public Long addUser(Users usr) {
+		try {
+			em.persist(usr);
+			//em.refresh(usr);
+			em.flush();
+
+			return usr.getUser_id();
+		} catch (Exception ex2) {
+			log.error("[addUser]", ex2);
+		}
+		return null;
+	}
+
+	public Long addUserBackup(Users usr) {
+		try {
+
+			Long userSipDataId = userSipDataDao.addUserSipData(usr
+					.getUserSipData());
+			if (userSipDataId != null) {
+				usr.setUserSipData(userSipDataDao
+						.getUserSipDataById(userSipDataId));
+			}
+
+			usr = em.merge(usr);
+			Long user_id = usr.getUser_id();
+
+			return user_id;
+
+		} catch (Exception ex2) {
+			log.error("[addUserBackup]", ex2);
+		}
+		return null;
+	}
+
+	public void addUserLevel(String description, int myStatus) {
+		try {
+			Userlevel uslevel = new Userlevel();
+			uslevel.setStarttime(new Date());
+			uslevel.setDescription(description);
+			uslevel.setStatuscode(new Integer(myStatus));
+			uslevel.setDeleted("false");
+			em.merge(uslevel);
+		} catch (Exception ex2) {
+			log.error("[addUserLevel]", ex2);
+		}
+	}
+
+	/**
+	 * Update User by Object
+	 * 
+	 * @param user_level
+	 * @param values
+	 * @param users_id
+	 * @return
+	 */
+
+	public Long saveOrUpdateUser(Long user_level, ObjectMap<?, ?> values,
+			Long users_id) {
+		try {
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				Long returnLong = null;
+
+				Long user_id = Long.parseLong(values.get("user_id").toString());
+
+				if (user_id != null && user_id > 0) {
+
+					returnLong = user_id;
+					Users savedUser = usersDao.getUser(user_id);
+					savedUser.setAge((Date) values.get("age"));
+					savedUser.setFirstname(values.get("firstname").toString());
+					savedUser.setLastname(values.get("lastname").toString());
+					savedUser.setTitle_id(Integer.parseInt(values.get(
+							"title_id").toString()));
+
+					savedUser.setLanguage_id(Long.parseLong(values.get(
+							"languages_id").toString()));
+					savedUser.setOmTimeZone(omTimeZoneDaoImpl
+							.getOmTimeZone((values.get("jnameTimeZone")
+									.toString())));
+
+					String password = values.get("password").toString();
+
+					if (password.length() > 3) {
+						savedUser.setPassword(manageCryptStyle
+								.getInstanceOfCrypt()
+								.createPassPhrase(password));
+					}
+
+					String email = values.get("email").toString();
+
+					if (!email.equals(savedUser.getAdresses().getEmail())) {
+						boolean checkEmail = emailManagement
+								.checkUserEMail(email);
+						if (!checkEmail) {
+							// mail already used by another user!
+							returnLong = new Long(-11);
+						} else {
+							savedUser.getAdresses().setEmail(email);
+						}
+					}
+
+					String phone = values.get("phone").toString();
+					savedUser.getAdresses().setPhone(phone);
+					savedUser.getAdresses().setComment(
+							values.get("comment").toString());
+					savedUser.getAdresses().setStreet(
+							values.get("street").toString());
+					savedUser.getAdresses().setTown(
+							values.get("town").toString());
+					savedUser.getAdresses().setAdditionalname(
+							values.get("additionalname").toString());
+					savedUser.getAdresses()
+							.setZip(values.get("zip").toString());
+					savedUser.setForceTimeZoneCheck(false);
+					savedUser.getAdresses().setStates(
+							statemanagement.getStateById(Long.parseLong(values
+									.get("state_id").toString())));
+
+					savedUser.setShowContactData(Boolean.valueOf(values.get(
+							"showContactData").toString()));
+					savedUser.setShowContactDataToContacts(Boolean
+							.valueOf(values.get("showContactDataToContacts")
+									.toString()));
+					savedUser
+							.setUserOffers(values.get("userOffers").toString());
+					savedUser.setUserSearchs(values.get("userSearchs")
+							.toString());
+
+					// savedUser.setAdresses(addressmanagement.getAdressbyId(user.getAdresses().getAdresses_id()));
+
+					if (savedUser.getUser_id() == null) {
+						em.persist(savedUser);
+					} else {
+						if (!em.contains(savedUser)) {
+							em.merge(savedUser);
+						}
+					}
+
+					return returnLong;
+				}
+
+			} else {
+				log.error("[saveOrUpdateUser] invalid auth " + users_id + " "
+						+ new Date());
+			}
+		} catch (Exception ex) {
+			log.error("[saveOrUpdateUser]", ex);
+		}
+
+		return null;
+	}
+
+	/**
+	 * reset a username by a given mail oder login by sending a mail to the
+	 * registered EMail-Address
+	 * 
+	 * @param email
+	 * @param username
+	 * @param appLink
+	 * @return
+	 */
+	public Long resetUser(String email, String username, String appLink) {
+		try {
+
+			log.debug("resetUser " + email);
+
+			// check if Mail given
+			if (email.length() > 0) {
+				// log.debug("getAdresses_id "+addr_e.getAdresses_id());
+				Users us = usersDao.getUserByEmail(email);
+				if (us != null) {
+					this.sendHashByUser(us, appLink);
+					return new Long(-4);
+				} else {
+					return new Long(-9);
+				}
+			} else if (username.length() > 0) {
+				Users us = usersDao.getUserByName(username);
+				if (us != null) {
+					this.sendHashByUser(us, appLink);
+					return new Long(-4);
+				} else {
+					return new Long(-3);
+				}
+			}
+		} catch (Exception e) {
+			log.error("[resetUser]", e);
+			return new Long(-1);
+		}
+		return new Long(-2);
+	}
+
+	private void sendHashByUser(Users us, String appLink) throws Exception {
+		String loginData = us.getLogin() + new Date();
+		log.debug("User: " + us.getLogin());
+		us.setResethash(manageCryptStyle.getInstanceOfCrypt().createPassPhrase(
+				loginData));
+		usersDao.updateUser(us);
+		String reset_link = appLink + "?lzproxied=solo&hash="
+				+ us.getResethash();
+
+		String email = us.getAdresses().getEmail();
+
+		Long default_lang_id = Long.valueOf(
+				cfgManagement.getConfKey(3, "default_lang_id").getConf_value())
+				.longValue();
+
+		String template = resetPasswordTemplate.getResetPasswordTemplate(
+				reset_link, default_lang_id);
+
+		mailHandler.sendMail(email, fieldmanagment.getString(517L, default_lang_id), template);
+	}
+
+	/**
+	 * 
+	 * Find User by Id
+	 */
+	// -----------------------------------------------------------------------------------------------------
+	public Users getUserById(Long id) {
+		log.debug("Usermanagement.getUserById");
+
+		if (id == null || id <= 0) {
+			return null;
+		}
+		CriteriaBuilder cb = em.getCriteriaBuilder();
+		CriteriaQuery<Users> cq = cb.createQuery(Users.class);
+		Root<Users> c = cq.from(Users.class);
+		Predicate condition = cb.equal(c.get("deleted"), "false");
+		Predicate subCondition = cb.equal(c.get("user_id"), id);
+		cq.where(condition, subCondition);
+		TypedQuery<Users> q = em.createQuery(cq);
+		Users u = null;
+		try {
+			u = q.getSingleResult();
+		} catch (NoResultException e) {
+			// u=null}
+		} catch (NonUniqueResultException ex) {
+		}
+
+		return u;
+	}
+
+	public Users getUserByIdAndDeleted(Long id) throws Exception {
+		log.debug("Usermanagement.getUserById");
+
+		CriteriaBuilder cb = em.getCriteriaBuilder();
+		CriteriaQuery<Users> cq = cb.createQuery(Users.class);
+		Root<Users> c = cq.from(Users.class);
+		Predicate condition = cb.equal(c.get("user_id"), id);
+		cq.where(condition);
+		TypedQuery<Users> q = em.createQuery(cq);
+		Users u = null;
+		try {
+			u = q.getSingleResult();
+		} catch (NoResultException e) {
+			// u=null}
+		}
+
+		return u;
+
+	}
+
+	// -----------------------------------------------------------------------------------------------------
+
+	/**
+	 * @author o.becherer Find User by LoginName (test existence of a active
+	 *         user with login - name
+	 */
+	// -----------------------------------------------------------------------------------------------------
+	public Users getUserByLogin(String login) throws Exception {
+		log.debug("Usermanagement.getUserByLogin : " + login);
+
+		CriteriaBuilder cb = em.getCriteriaBuilder();
+		CriteriaQuery<Users> cq = cb.createQuery(Users.class);
+		Root<Users> c = cq.from(Users.class);
+		Predicate condition = cb.equal(c.get("deleted"), "false");
+		Predicate subCondition = cb.equal(c.get("login"), login);
+		cq.where(condition, subCondition);
+		TypedQuery<Users> q = em.createQuery(cq);
+		Users u = null;
+		try {
+			u = q.getSingleResult();
+		} catch (NoResultException e) {
+			// u=null}
+		}
+
+		return u;
+
+	}
+
+	// -----------------------------------------------------------------------------------------------------
+
+	/**
+	 * @author swagner Find User by LoginName or EMail (test existence of a
+	 *         active user with login - name
+	 */
+	// -----------------------------------------------------------------------------------------------------
+	public Users getUserByLoginOrEmail(String userOrEmail) throws Exception {
+		// log.debug("Usermanagement.getUserByLoginOrEmail : " + userOrEmail);
+
+		String hql = "SELECT c from Users AS c "
+				+ "WHERE "
+				+ "(c.login LIKE :userOrEmail OR c.adresses.email LIKE :userOrEmail  ) "
+				+ "AND c.externalUserId IS NULL " + "AND c.deleted <> :deleted";
+
+		TypedQuery<Users> query = em.createQuery(hql, Users.class);
+		query.setParameter("userOrEmail", userOrEmail);
+		query.setParameter("deleted", "true");
+
+		List<Users> ll = query.getResultList();
+
+		if (ll.size() > 1) {
+			log.error("ALERT :: There are two users in the database that have either same login or Email ");
+			return ll.get(0);
+			// throw new
+			// Exception("ALERT :: There are two users in the database that have either same login or Email ");
+		} else if (ll.size() == 1) {
+			return ll.get(0);
+		} else {
+			return null;
+		}
+
+	}
+
+	public Users getUserByEmail(String userOrEmail) throws Exception {
+		log.debug("Usermanagement.getUserByEmail : " + userOrEmail);
+
+		String hql = "SELECT c from Users AS c " + "WHERE "
+				+ "c.adresses.email LIKE :userOrEmail";
+
+		TypedQuery<Users> query = em.createQuery(hql, Users.class);
+		query.setParameter("userOrEmail", userOrEmail);
+
+		List<Users> ll = query.getResultList();
+
+		if (ll.size() > 1) {
+			log.error("ALERT :: There are two users in the database that have same Email ");
+			return ll.get(0);
+			// throw new
+			// Exception("ALERT :: There are two users in the database that have either same login or Email ");
+		} else if (ll.size() == 1) {
+			return ll.get(0);
+		} else {
+			return null;
+		}
+
+	}
+
+	/**
+	 * @author o.becherer Updating User Object
+	 */
+	// -----------------------------------------------------------------------------------------------------
+	public void updateUserObject(Users user, boolean encryptPasswd)
+			throws Exception {
+		log.debug("Usermanagement.getUserByLogin");
+
+		if (encryptPasswd) {
+			String encrypted = manageCryptStyle.getInstanceOfCrypt()
+					.createPassPhrase(user.getPassword());
+			user.setPassword(encrypted);
+		}
+
+		usersDao.updateUser(user);
+
+	}
+
+	// -----------------------------------------------------------------------------------------------------
+
+	/**
+	 * @param admin
+	 * @param room_id
+	 * @return
+	 */
+	public Boolean kickUserByStreamId(String SID, Long room_id) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = getUserLevelByID(users_id);
+			HashMap<String, RoomClient> MyUserList = clientListManager
+					.getClientListByRoom(room_id);
+
+			// admins only
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+
+				sessionManagement.clearSessionByRoomId(room_id);
+
+				for (Iterator<String> iter = MyUserList.keySet().iterator(); iter
+						.hasNext();) {
+					String key = iter.next();
+
+					RoomClient rcl = MyUserList.get(key);
+
+					if (rcl == null) {
+						return true;
+					}
+					String scopeName = "hibernate";
+					if (rcl.getRoom_id() != null) {
+						scopeName = rcl.getRoom_id().toString();
+					}
+					IScope currentScope = scopeApplicationAdapter
+							.getRoomScope(scopeName);
+					scopeApplicationAdapter.roomLeaveByScope(rcl, currentScope, true);
+
+					HashMap<Integer, String> messageObj = new HashMap<Integer, String>();
+					messageObj.put(0, "kick");
+					scopeApplicationAdapter.sendMessageById(messageObj,
+							rcl.getStreamid(), currentScope);
+
+				}
+
+				return true;
+			}
+
+		} catch (Exception err) {
+			log.error("[kickUserByStreamId]", err);
+		}
+		return null;
+	}
+
+	public Boolean kickUserByPublicSID(String SID, String publicSID) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = getUserLevelByID(users_id);
+
+			// admins only
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+
+				RoomClient rcl = clientListManager
+						.getClientByPublicSID(publicSID, false);
+
+				if (rcl == null) {
+					return true;
+				}
+
+				String scopeName = "hibernate";
+				if (rcl.getRoom_id() != null) {
+					scopeName = rcl.getRoom_id().toString();
+				}
+				IScope currentScope = scopeApplicationAdapter
+						.getRoomScope(scopeName);
+
+				HashMap<Integer, String> messageObj = new HashMap<Integer, String>();
+				messageObj.put(0, "kick");
+				scopeApplicationAdapter.sendMessageById(messageObj,
+						rcl.getStreamid(), currentScope);
+
+				scopeApplicationAdapter.roomLeaveByScope(rcl, currentScope, true);
+
+				return true;
+			}
+
+		} catch (Exception err) {
+			log.error("[kickUserByStreamId]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * @param hash
+	 * @return
+	 */
+	public Users getUserByActivationHash(String hash) {
+		try {
+			String hql = "SELECT u FROM Users as u "
+					+ " where u.activatehash = :activatehash"
+					+ " AND u.deleted <> :deleted";
+			TypedQuery<Users> query = em.createQuery(hql, Users.class);
+			query.setParameter("activatehash", hash);
+			query.setParameter("deleted", "true");
+			Users u = null;
+			try {
+				u = query.getSingleResult();
+			} catch (NoResultException e) {
+				// u=null}
+			}
+			return u;
+		} catch (Exception e) {
+			log.error("[getUserByActivationHash]", e);
+		}
+		return null;
+
+	}
+
+	public void updateUser(Users user) {
+		usersDao.updateUser(user);
+	}
+
+	/**
+	 * @param user_level
+	 * @param start
+	 * @param max
+	 * @param orderby
+	 * @param asc
+	 * @param search
+	 * @return
+	 */
+	public SearchResult<Users> getUsersListWithSearch(Long user_level, int start,
+			int max, String orderby, boolean asc, String search) {
+		try {
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+
+				String hql = "select c from Users c "
+						+ "where c.deleted = 'false' " + "AND ("
+						+ "lower(c.login) LIKE :search "
+						+ "OR lower(c.firstname) LIKE :search "
+						+ "OR lower(c.lastname) LIKE :search " + ")";
+
+				if (orderby.startsWith("c.")) {
+					hql += "ORDER BY " + orderby;
+				} else {
+					hql += "ORDER BY " + "c." + orderby;
+				}
+
+				if (asc) {
+					hql += " ASC";
+				} else {
+					hql += " DESC";
+				}
+
+				if (search.length() == 0) {
+					search = "%";
+				} else {
+					search = "%" + search + "%";
+				}
+				log.debug("getUsersList search: " + search);
+
+				SearchResult<Users> sresult = new SearchResult<Users>();
+				sresult.setObjectName(Users.class.getName());
+				sresult.setRecords(usersDao
+						.selectMaxFromUsersWithSearch(search));
+
+				// get all users
+				TypedQuery<Users> query = em.createQuery(hql, Users.class);
+				query.setParameter("search", StringUtils.lowerCase(search));
+				query.setMaxResults(max);
+				query.setFirstResult(start);
+
+				sresult.setResult(query.getResultList());
+
+				return sresult;
+			}
+		} catch (Exception ex2) {
+			log.error("[getUsersList] " + ex2);
+		}
+		return null;
+	}
+
+	public List<Users> searchUserProfile(String searchTxt, String userOffers,
+			String userSearchs, String orderBy, int start, int max, boolean asc) {
+		try {
+
+			String hql = "select c from Users c "
+					+ "where c.deleted = 'false' ";
+
+			if (searchTxt.length() != 0 && userOffers.length() != 0
+					&& userSearchs.length() != 0) {
+
+				hql += "AND " + "(" + "(" + "lower(c.login) LIKE :search "
+						+ "OR lower(c.firstname) LIKE :search "
+						+ "OR lower(c.lastname) LIKE :search "
+						+ "OR lower(c.adresses.email) LIKE :search "
+						+ "OR lower(c.adresses.town) LIKE :search " + ")"
+						+ "AND" + "(" + "lower(c.userOffers) LIKE :userOffers "
+						+ ")" + "AND" + "("
+						+ "lower(c.userSearchs) LIKE :userSearchs " + ")" + ")";
+
+			} else if (searchTxt.length() != 0 && userOffers.length() != 0) {
+
+				hql += "AND " + "(" + "(" + "lower(c.login) LIKE :search "
+						+ "OR lower(c.firstname) LIKE :search "
+						+ "OR lower(c.lastname) LIKE :search "
+						+ "OR lower(c.adresses.email) LIKE :search "
+						+ "OR lower(c.adresses.town) LIKE :search " + ")"
+						+ "AND" + "(" + "lower(c.userOffers) LIKE :userOffers "
+						+ ")" + ")";
+
+			} else if (searchTxt.length() != 0 && userSearchs.length() != 0) {
+
+				hql += "AND " + "(" + "(" + "lower(c.login) LIKE :search "
+						+ "OR lower(c.firstname) LIKE :search "
+						+ "OR lower(c.lastname) LIKE :search "
+						+ "OR lower(c.adresses.email) LIKE :search "
+						+ "OR lower(c.adresses.town) LIKE :search " + ")"
+						+ "AND" + "("
+						+ "lower(c.userSearchs) LIKE :userSearchs " + ")" + ")";
+
+			} else if (userOffers.length() != 0 && userSearchs.length() != 0) {
+
+				hql += "AND " + "(" + "("
+						+ "lower(c.userOffers) LIKE :userOffers " + ")" + "AND"
+						+ "(" + "lower(c.userSearchs) LIKE :userSearchs " + ")"
+						+ ")";
+
+			} else if (searchTxt.length() != 0) {
+
+				hql += "AND " + "(" + "(" + "lower(c.login) LIKE :search "
+						+ "OR lower(c.firstname) LIKE :search "
+						+ "OR lower(c.lastname) LIKE :search "
+						+ "OR lower(c.adresses.email) LIKE :search "
+						+ "OR lower(c.adresses.town) LIKE :search " + ")" + ")";
+
+			} else if (userOffers.length() != 0) {
+
+				hql += "AND " + "(" + "("
+						+ "lower(c.userOffers) LIKE :userOffers " + ")" + ")";
+
+			} else if (userSearchs.length() != 0) {
+
+				hql += "AND " + "(" + "("
+						+ "lower(c.userSearchs) LIKE :userSearchs " + ")" + ")";
+
+			}
+
+			hql += " ORDER BY " + orderBy;
+
+			if (asc) {
+				hql += " ASC";
+			} else {
+				hql += " DESC";
+			}
+
+			if (searchTxt.length() != 0) {
+				searchTxt = "%" + searchTxt + "%";
+			}
+
+			if (userOffers.length() != 0) {
+				userOffers = "%" + userOffers + "%";
+			}
+
+			if (userSearchs.length() != 0) {
+				userSearchs = "%" + userSearchs + "%";
+			}
+
+			log.debug("hql :: " + hql);
+
+			// get all users
+			TypedQuery<Users> query = em.createQuery(hql, Users.class);
+
+			if (searchTxt.length() != 0 && userOffers.length() != 0
+					&& userSearchs.length() != 0) {
+
+				query.setParameter("search", StringUtils.lowerCase(searchTxt));
+				query.setParameter("userOffers",
+						StringUtils.lowerCase(userOffers));
+				query.setParameter("userSearchs",
+						StringUtils.lowerCase(userSearchs));
+
+			} else if (searchTxt.length() != 0 && userOffers.length() != 0) {
+
+				query.setParameter("search", StringUtils.lowerCase(searchTxt));
+				query.setParameter("userOffers",
+						StringUtils.lowerCase(userOffers));
+
+			} else if (searchTxt.length() != 0 && userSearchs.length() != 0) {
+
+				query.setParameter("search", StringUtils.lowerCase(searchTxt));
+				query.setParameter("userSearchs",
+						StringUtils.lowerCase(userSearchs));
+
+			} else if (userOffers.length() != 0 && userSearchs.length() != 0) {
+
+				query.setParameter("userOffers",
+						StringUtils.lowerCase(userOffers));
+				query.setParameter("userSearchs",
+						StringUtils.lowerCase(userSearchs));
+
+			} else if (searchTxt.length() != 0) {
+
+				query.setParameter("search", StringUtils.lowerCase(searchTxt));
+
+			} else if (userOffers.length() != 0) {
+
+				query.setParameter("userOffers",
+						StringUtils.lowerCase(userOffers));
+
+			} else if (userSearchs.length() != 0) {
+
+				query.setParameter("userSearchs",
+						StringUtils.lowerCase(userSearchs));
+
+			}
+
+			query.setMaxResults(max);
+			query.setFirstResult(start);
+
+			List<Users> userList = query.getResultList();
+
+			return userList;
+
+		} catch (Exception ex2) {
+			log.error("[getUsersList] ", ex2);
+		}
+
+		return null;
+	}
+
+	public Long searchCountUserProfile(String searchTxt, String userOffers,
+			String userSearchs) {
+		try {
+
+			String hql = "select count(c.user_id) from Users c "
+					+ "where c.deleted = 'false' ";
+
+			if (searchTxt.length() != 0 && userOffers.length() != 0
+					&& userSearchs.length() != 0) {
+
+				hql += "AND " + "(" + "(" + "lower(c.login) LIKE :search "
+						+ "OR lower(c.firstname) LIKE :search "
+						+ "OR lower(c.lastname) LIKE :search "
+						+ "OR lower(c.adresses.email) LIKE :search "
+						+ "OR lower(c.adresses.town) LIKE :search " + ")"
+						+ "AND" + "(" + "lower(c.userOffers) LIKE :userOffers "
+						+ ")" + "AND" + "("
+						+ "lower(c.userSearchs) LIKE :userSearchs " + ")" + ")";
+
+			} else if (searchTxt.length() != 0 && userOffers.length() != 0) {
+
+				hql += "AND " + "(" + "(" + "lower(c.login) LIKE :search "
+						+ "OR lower(c.firstname) LIKE :search "
+						+ "OR lower(c.lastname) LIKE :search) "
+						+ "OR lower(c.adresses.email) LIKE :search "
+						+ "OR lower(c.adresses.town) LIKE :search " + ")"
+						+ "AND" + "(" + "lower(c.userOffers) LIKE :userOffers "
+						+ ")" + ")";
+
+			} else if (searchTxt.length() != 0 && userSearchs.length() != 0) {
+
+				hql += "AND " + "(" + "(" + "lower(c.login) LIKE :search "
+						+ "OR lower(c.firstname) LIKE :search "
+						+ "OR lower(c.lastname) LIKE :search "
+						+ "OR lower(c.adresses.email) LIKE :search "
+						+ "OR lower(c.adresses.town) LIKE :search " + ")"
+						+ "AND" + "("
+						+ "lower(c.userSearchs) LIKE :userSearchs " + ")" + ")";
+
+			} else if (userOffers.length() != 0 && userSearchs.length() != 0) {
+
+				hql += "AND " + "(" + "("
+						+ "lower(c.userOffers) LIKE :userOffers " + ")" + "AND"
+						+ "(" + "lower(c.userSearchs) LIKE :userSearchs " + ")"
+						+ ")";
+
+			} else if (searchTxt.length() != 0) {
+
+				hql += "AND " + "(" + "(" + "lower(c.login) LIKE :search "
+						+ "OR lower(c.firstname) LIKE :search "
+						+ "OR lower(c.lastname) LIKE :search "
+						+ "OR lower(c.adresses.email) LIKE :search "
+						+ "OR lower(c.adresses.town) LIKE :search " + ")" + ")";
+
+			} else if (userOffers.length() != 0) {
+
+				hql += "AND " + "(" + "("
+						+ "lower(c.userOffers) LIKE :userOffers " + ")" + ")";
+
+			} else if (userSearchs.length() != 0) {
+
+				hql += "AND " + "(" + "("
+						+ "lower(c.userSearchs) LIKE :userSearchs " + ")" + ")";
+
+			}
+
+			if (searchTxt.length() != 0) {
+				searchTxt = "%" + searchTxt + "%";
+			}
+
+			if (userOffers.length() != 0) {
+				userOffers = "%" + userOffers + "%";
+			}
+
+			if (userSearchs.length() != 0) {
+				userSearchs = "%" + userSearchs + "%";
+			}
+
+			log.debug("hql :: " + hql);
+
+			// get all users
+			TypedQuery<Long> query = em.createQuery(hql, Long.class);
+
+			if (searchTxt.length() != 0 && userOffers.length() != 0
+					&& userSearchs.length() != 0) {
+
+				query.setParameter("search", StringUtils.lowerCase(searchTxt));
+				query.setParameter("userOffers",
+						StringUtils.lowerCase(userOffers));
+				query.setParameter("userSearchs",
+						StringUtils.lowerCase(userSearchs));
+
+			} else if (searchTxt.length() != 0 && userOffers.length() != 0) {
+
+				query.setParameter("search", StringUtils.lowerCase(searchTxt));
+				query.setParameter("userOffers",
+						StringUtils.lowerCase(userOffers));
+
+			} else if (searchTxt.length() != 0 && userSearchs.length() != 0) {
+
+				query.setParameter("search", StringUtils.lowerCase(searchTxt));
+				query.setParameter("userSearchs",
+						StringUtils.lowerCase(userSearchs));
+
+			} else if (userOffers.length() != 0 && userSearchs.length() != 0) {
+
+				query.setParameter("userOffers",
+						StringUtils.lowerCase(userOffers));
+				query.setParameter("userSearchs",
+						StringUtils.lowerCase(userSearchs));
+
+			} else if (searchTxt.length() != 0) {
+
+				query.setParameter("search", StringUtils.lowerCase(searchTxt));
+
+			} else if (userOffers.length() != 0) {
+
+				query.setParameter("userOffers",
+						StringUtils.lowerCase(userOffers));
+
+			} else if (userSearchs.length() != 0) {
+
+				query.setParameter("userSearchs",
+						StringUtils.lowerCase(userSearchs));
+
+			}
+
+			List<Long> userList = query.getResultList();
+
+			return userList.get(0);
+
+		} catch (Exception ex2) {
+			log.error("[getUsersList] ", ex2);
+		}
+
+		return null;
+	}
+
+	public Long searchMaxUserProfile(String searchTxt, String userOffers,
+			String userSearchs) {
+		try {
+
+			String hql = "select count(c.user_id) from Users c "
+					+ "where c.deleted = 'false' " + "AND " + "(" + "("
+					+ "lower(c.login) LIKE :search "
+					+ "OR lower(c.firstname) LIKE :search "
+					+ "OR lower(c.lastname) LIKE :search "
+					+ "OR lower(c.adresses.email) LIKE :search "
+					+ "OR lower(c.adresses.town) LIKE :search " + ")" + "OR"
+					+ "(" + "lower(c.userOffers) LIKE :userOffers " + ")"
+					+ "OR" + "(" + "lower(c.userSearchs) LIKE :userSearchs "
+					+ ")" + ")";
+
+			if (searchTxt.length() == 0) {
+				searchTxt = "%";
+			} else {
+				searchTxt = "%" + searchTxt + "%";
+			}
+
+			if (userOffers.length() == 0) {
+				userOffers = "%";
+			} else {
+				userOffers = "%" + userOffers + "%";
+			}
+
+			if (userSearchs.length() == 0) {
+				userSearchs = "%";
+			} else {
+				userSearchs = "%" + userSearchs + "%";
+			}
+
+			// get all users
+			TypedQuery<Long> query = em.createQuery(hql, Long.class);
+			query.setParameter("search", StringUtils.lowerCase(searchTxt));
+			query.setParameter("userOffers", StringUtils.lowerCase(userOffers));
+			query.setParameter("userSearchs",
+					StringUtils.lowerCase(userSearchs));
+
+			List<Long> ll = query.getResultList();
+
+			return ll.get(0);
+
+		} catch (Exception ex2) {
+			log.error("[searchMaxUserProfile] " + ex2);
+		}
+
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/user/dao/PrivateMessageFolderDaoImpl.java b/src/org/openmeetings/app/data/user/dao/PrivateMessageFolderDaoImpl.java
new file mode 100644
index 0000000..3eeb32c
--- /dev/null
+++ b/src/org/openmeetings/app/data/user/dao/PrivateMessageFolderDaoImpl.java
@@ -0,0 +1,153 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.user.dao;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.persistence.beans.user.PrivateMessageFolder;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class PrivateMessageFolderDaoImpl {
+	
+	private static final Logger log = Red5LoggerFactory.getLogger(PrivateMessageFolderDaoImpl.class, OpenmeetingsVariables.webAppRootKey);
+	@PersistenceContext
+	private EntityManager em;
+	
+	public Long addPrivateMessageFolder(String folderName, Long userId) {
+		try {
+			PrivateMessageFolder privateMessageFolder = new PrivateMessageFolder();
+			privateMessageFolder.setFolderName(folderName);
+			privateMessageFolder.setUserId(userId);
+			privateMessageFolder.setInserted(new Date());
+			
+			privateMessageFolder = em.merge(privateMessageFolder);
+			Long privateMessageFolderId = privateMessageFolder.getPrivateMessageFolderId();
+			
+			return privateMessageFolderId;	
+		} catch (Exception e) {
+			log.error("[addPrivateMessageFolder]",e);
+		}
+		return null;
+	}
+	
+	public Long addPrivateMessageFolderObj(PrivateMessageFolder privateMessageFolder) {
+		try {
+			privateMessageFolder.setInserted(new Date());
+			
+			privateMessageFolder = em.merge(privateMessageFolder);
+			Long privateMessageFolderId = privateMessageFolder.getPrivateMessageFolderId();
+			
+			return privateMessageFolderId;	
+		} catch (Exception e) {
+			log.error("[addPrivateMessageFolder]",e);
+		}
+		return null;
+	}
+	
+	public PrivateMessageFolder getPrivateMessageFolderById(Long privateMessageFolderId) {
+		try {
+			String hql = "select c from PrivateMessageFolder c " +
+						"where c.privateMessageFolderId = :privateMessageFolderId ";
+
+			TypedQuery<PrivateMessageFolder> query = em.createQuery(hql, PrivateMessageFolder.class); 
+			query.setParameter("privateMessageFolderId", privateMessageFolderId);
+			
+			PrivateMessageFolder privateMessageFolder = null;
+			try {
+				privateMessageFolder = query.getSingleResult();
+		    } catch (NoResultException ex) {
+		    }
+			
+			return privateMessageFolder;
+		} catch (Exception e) {
+			log.error("[getPrivateMessageFolderById]",e);
+		}
+		return null;
+	}
+
+	public List<PrivateMessageFolder> getPrivateMessageFolders() {
+		try {
+			String hql = "select c from PrivateMessageFolder c ";
+
+			TypedQuery<PrivateMessageFolder> query = em.createQuery(hql, PrivateMessageFolder.class); 
+			
+			List<PrivateMessageFolder> privateMessageFolders = query.getResultList();
+			
+			return privateMessageFolders;
+		} catch (Exception e) {
+			log.error("[getPrivateMessageFolderById]",e);
+		}
+		return null;
+	}
+
+	public void updatePrivateMessages(PrivateMessageFolder privateMessageFolder) {
+		try {
+			
+			if (privateMessageFolder.getPrivateMessageFolderId() == 0) {
+				em.persist(privateMessageFolder);
+		    } else {
+		    	if (!em.contains(privateMessageFolder)) {
+		    		em.merge(privateMessageFolder);
+			    }
+			}
+			
+		} catch (Exception e) {
+			log.error("[updatePrivateMessages]",e);
+		}
+	}
+	
+	public List<PrivateMessageFolder> getPrivateMessageFolderByUserId(Long userId) {
+		try {
+			String hql = "select c from PrivateMessageFolder c " +
+						"where c.userId = :userId ";
+
+			TypedQuery<PrivateMessageFolder> query = em.createQuery(hql, PrivateMessageFolder.class); 
+			query.setParameter("userId", userId);
+			
+			List<PrivateMessageFolder> privateMessageFolders = query.getResultList();
+			
+			return privateMessageFolders;
+		} catch (Exception e) {
+			log.error("[getPrivateMessageFolderByUserId]",e);
+		}
+		return null;
+	}
+
+	public void deletePrivateMessages(PrivateMessageFolder privateMessageFolder) {
+		try {
+			
+			privateMessageFolder = em.find(PrivateMessageFolder.class, privateMessageFolder.getPrivateMessageFolderId());
+			em.remove(privateMessageFolder);
+			
+		} catch (Exception e) {
+			log.error("[deletePrivateMessages]",e);
+		}
+	}	
+	
+}
diff --git a/src/org/openmeetings/app/data/user/dao/PrivateMessagesDaoImpl.java b/src/org/openmeetings/app/data/user/dao/PrivateMessagesDaoImpl.java
new file mode 100644
index 0000000..c1ac6e6
--- /dev/null
+++ b/src/org/openmeetings/app/data/user/dao/PrivateMessagesDaoImpl.java
@@ -0,0 +1,635 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.user.dao;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.Query;
+import javax.persistence.TypedQuery;
+
+import org.apache.commons.lang.StringUtils;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.openmeetings.app.persistence.beans.user.PrivateMessages;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class PrivateMessagesDaoImpl {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(PrivateMessagesDaoImpl.class, OpenmeetingsVariables.webAppRootKey);
+	@PersistenceContext
+	private EntityManager em;
+	
+	public Long addPrivateMessage(String subject, String message, Long parentMessageId, 
+			Users from, Users to, Users owner, Boolean bookedRoom, Rooms room,
+			Boolean isContactRequest, Long userContactId, String email) {
+		try {
+			PrivateMessages privateMessage = new PrivateMessages();
+			privateMessage.setInserted(new Date());
+			privateMessage.setSubject(subject);
+			privateMessage.setMessage(message);
+			privateMessage.setFrom(from);
+			privateMessage.setTo(to);
+			privateMessage.setOwner(owner);
+			privateMessage.setBookedRoom(bookedRoom);
+			privateMessage.setRoom(room);
+			privateMessage.setParentMessage(parentMessageId);
+			privateMessage.setIsTrash(false);
+			privateMessage.setPrivateMessageFolderId(0L);
+			privateMessage.setIsRead(false);
+			privateMessage.setIsContactRequest(isContactRequest);
+			privateMessage.setUserContactId(userContactId);
+			privateMessage.setEmail(email);
+			
+			privateMessage = em.merge(privateMessage);
+			Long privateMessageId = privateMessage.getPrivateMessageFolderId();
+			
+			return privateMessageId;			
+		} catch (Exception e) {
+			log.error("[addPrivateMessage]",e);
+		}
+		return null;
+	}
+	
+	public Long addPrivateMessageObj(PrivateMessages privateMessage) {
+		try {
+			
+			privateMessage = em.merge(privateMessage);
+			Long privateMessageId = privateMessage.getPrivateMessageFolderId();
+			
+			return privateMessageId;			
+		} catch (Exception e) {
+			log.error("[addPrivateMessage]",e);
+		}
+		return null;
+	}
+	
+	public List<PrivateMessages> getPrivateMessages() {
+		try {
+			
+			String hql = "select c from PrivateMessages c ";
+			
+			TypedQuery<PrivateMessages> query = em.createQuery(hql, PrivateMessages.class); 
+			
+			List<PrivateMessages> privateMessages = query.getResultList();
+			
+			return privateMessages;
+			
+		} catch (Exception e) {
+			log.error("[getPrivateMessages]",e);
+		}
+		return null;
+	}
+	
+	public PrivateMessages getPrivateMessagesById(Long privateMessageId) {
+		try {
+			
+			String hql = "select c from PrivateMessages c " +
+						"where c.privateMessageId = :privateMessageId ";
+			
+			TypedQuery<PrivateMessages> query = em.createQuery(hql, PrivateMessages.class); 
+			query.setParameter("privateMessageId", privateMessageId);
+			
+			PrivateMessages privateMessage = null;
+			try {
+				privateMessage = query.getSingleResult();
+		    } catch (NoResultException ex) {
+		    }
+			
+			return privateMessage;
+			
+		} catch (Exception e) {
+			log.error("[countPrivateMessagesByUser]",e);
+		}
+		return null;
+	}
+	
+	public void updatePrivateMessages(PrivateMessages privateMessage) {
+		try {
+			
+			if (privateMessage.getPrivateMessageFolderId() == null) {
+				em.persist(privateMessage);
+		    } else {
+		    	if (!em.contains(privateMessage)) {
+		    		em.merge(privateMessage);
+			    }
+			}
+			
+		} catch (Exception e) {
+			log.error("[updatePrivateMessages]",e);
+		}
+	}
+	
+	public Long countPrivateMessagesByUser(Long toUserId, String search, Long privateMessageFolderId) {
+		try {
+			
+			String hql = "select count(c.privateMessageId) from PrivateMessages c " +
+						"where c.to.user_id = :toUserId " +
+						"AND c.isTrash = false " +
+						"AND c.owner.user_id = :toUserId " +
+						"AND c.privateMessageFolderId = :privateMessageFolderId ";
+			
+			if (search.length() != 0) {
+				hql += "AND ( ";
+				hql += "lower(c.subject) LIKE :search ";
+				hql += "OR lower(c.message) LIKE :search ";
+				hql += "OR lower(c.from.firstname) LIKE :search ";
+				hql += "OR lower(c.from.lastname) LIKE :search ";
+				hql += "OR lower(c.from.login) LIKE :search ";
+				hql += "OR lower(c.from.adresses.email) LIKE :search ";
+				hql += " ) ";
+			}
+
+			TypedQuery<Long> query = em.createQuery(hql, Long.class); 
+			query.setParameter("toUserId", toUserId);
+			if (search.length() != 0) {
+				query.setParameter("search", StringUtils.lowerCase("%"+search+"%"));
+			}
+			query.setParameter("privateMessageFolderId", privateMessageFolderId);
+			List<Long> ll = query.getResultList();
+			
+			return ll.get(0);
+			
+		} catch (Exception e) {
+			log.error("[countPrivateMessagesByUser]",e);
+		}
+		return null;
+	}
+	
+	public Long getNumberMessages(Long toUserId, Long privateMessageFolderId, boolean isRead) {
+		try {
+			
+			String hql = "select COUNT(c.privateMessageId) from PrivateMessages c " +
+						"where c.to.user_id = :toUserId " +
+						"AND c.isTrash = :isTrash " +
+						"AND c.owner.user_id = :toUserId " +
+						"AND c.isRead = :isRead " +
+						"AND c.privateMessageFolderId = :privateMessageFolderId ";
+
+			TypedQuery<Long> query = em.createQuery(hql, Long.class); 
+			query.setParameter("toUserId", toUserId);
+			query.setParameter("isTrash", false);
+			query.setParameter("isRead", false);
+			query.setParameter("privateMessageFolderId", privateMessageFolderId);
+			return query.getSingleResult();
+			
+		} catch (Exception e) {
+			log.error("[getNumberMessages]",e);
+		}
+		return null;
+	}
+	
+	public List<PrivateMessages> getPrivateMessagesByUser(Long toUserId, String search,
+			String orderBy, int start, Boolean asc, Long privateMessageFolderId, int max) {
+		try {
+			
+			String hql = "select c from PrivateMessages c " +
+						"where c.to.user_id = :toUserId " +
+						"AND c.isTrash = :isTrash " +
+						"AND c.owner.user_id = :toUserId " +
+						"AND c.privateMessageFolderId = :privateMessageFolderId ";
+			
+			if (search.length() != 0) {
+				hql += "AND ( ";
+				hql += "lower(c.subject) LIKE :search ";
+				hql += "OR lower(c.message) LIKE :search ";
+				hql += "OR lower(c.from.firstname) LIKE :search ";
+				hql += "OR lower(c.from.lastname) LIKE :search ";
+				hql += "OR lower(c.from.login) LIKE :search ";
+				hql += "OR lower(c.from.adresses.email) LIKE :search ";
+				hql += " ) ";
+			}
+			
+			hql += "ORDER BY "+orderBy;
+			
+			if (asc) {
+				hql += " ASC";
+			} else {
+				hql += " DESC";
+			}
+
+			TypedQuery<PrivateMessages> query = em.createQuery(hql, PrivateMessages.class); 
+			query.setParameter("toUserId", toUserId);
+			query.setParameter("isTrash", false);
+			query.setParameter("privateMessageFolderId", privateMessageFolderId);
+			if (search.length() != 0) {
+				query.setParameter("search", StringUtils.lowerCase("%"+search+"%"));
+			}
+			query.setFirstResult(start);
+			query.setMaxResults(max);
+			List<PrivateMessages> ll = query.getResultList();
+			
+			return ll;	
+		} catch (Exception e) {
+			log.error("[getPrivateMessagesByUser]",e);
+		}
+		return null;
+	}
+	
+	public Long countSendPrivateMessagesByUser(Long toUserId, String search, 
+			Long privateMessageFolderId) {
+		try {
+			
+			String hql = "select count(c.privateMessageId) from PrivateMessages c " +
+						"where c.from.user_id = :toUserId " +
+						"AND c.isTrash = :isTrash " +
+						"AND c.owner.user_id = :toUserId " +
+						"AND c.privateMessageFolderId = :privateMessageFolderId ";
+			
+			if (search.length() != 0) {
+				hql += "AND ( ";
+				hql += "lower(c.subject) LIKE :search ";
+				hql += "OR lower(c.message) LIKE :search ";
+				hql += "OR lower(c.from.firstname) LIKE :search ";
+				hql += "OR lower(c.from.lastname) LIKE :search ";
+				hql += "OR lower(c.from.login) LIKE :search ";
+				hql += "OR lower(c.from.adresses.email) LIKE :search ";
+				hql += " ) ";
+			}
+
+			TypedQuery<Long> query = em.createQuery(hql, Long.class); 
+			query.setParameter("toUserId", toUserId);
+			query.setParameter("isTrash", false);
+			query.setParameter("privateMessageFolderId", privateMessageFolderId);
+			if (search.length() != 0) {
+				query.setParameter("search", StringUtils.lowerCase("%"+search+"%"));
+			}
+			List<Long> ll = query.getResultList();
+			
+			return ll.get(0);
+			
+		} catch (Exception e) {
+			log.error("[countSendPrivateMessagesByUser]",e);
+		}
+		return null;
+	}
+	
+	public List<PrivateMessages> getTrashPrivateMessagesByUser(Long user_id, String search, 
+			String orderBy, int start, Boolean asc, int max) {
+		try {
+			
+			String hql = "select c from PrivateMessages c " +
+						"where c.isTrash = true " +
+						"AND c.owner.user_id = :user_id ";
+			
+			if (search.length() != 0) {
+				hql += "AND ( ";
+				hql += "lower(c.subject) LIKE :search ";
+				hql += "OR lower(c.message) LIKE :search ";
+				hql += "OR lower(c.from.firstname) LIKE :search ";
+				hql += "OR lower(c.from.lastname) LIKE :search ";
+				hql += "OR lower(c.from.login) LIKE :search ";
+				hql += "OR lower(c.from.adresses.email) LIKE :search ";
+				hql += " ) ";
+			}
+			
+			hql += "ORDER BY "+orderBy;
+			
+			if (asc) {
+				hql += " ASC";
+			} else {
+				hql += " DESC";
+			}
+
+			TypedQuery<PrivateMessages> query = em.createQuery(hql, PrivateMessages.class); 
+			if (search.length() != 0) {
+				query.setParameter("search", StringUtils.lowerCase("%"+search+"%"));
+			}
+			query.setParameter("user_id", user_id);
+			query.setFirstResult(start);
+			query.setMaxResults(max);
+			List<PrivateMessages> ll = query.getResultList();
+			
+			return ll;	
+		} catch (Exception e) {
+			log.error("[getTrashPrivateMessagesByUser]",e);
+		}
+		return null;
+	}
+	
+	public Long countTrashPrivateMessagesByUser(Long user_id, String search) {
+		try {
+			
+			String hql = "select count(c.privateMessageId) from PrivateMessages c " +
+						"where c.isTrash = true  " +
+						"AND c.owner.user_id = :user_id ";
+			
+			if (search.length() != 0) {
+				hql += "AND ( ";
+				hql += "lower(c.subject) LIKE :search ";
+				hql += "OR lower(c.message) LIKE :search ";
+				hql += "OR lower(c.from.firstname) LIKE :search ";
+				hql += "OR lower(c.from.lastname) LIKE :search ";
+				hql += "OR lower(c.from.login) LIKE :search ";
+				hql += "OR lower(c.from.adresses.email) LIKE :search ";
+				hql += " ) ";
+			}
+			
+			TypedQuery<Long> query = em.createQuery(hql, Long.class); 
+			query.setParameter("user_id", user_id);
+			if (search.length() != 0) {
+				query.setParameter("search", StringUtils.lowerCase("%"+search+"%"));
+			}
+			List<Long> ll = query.getResultList();
+			
+			return ll.get(0);
+			
+		} catch (Exception e) {
+			log.error("[countTrashPrivateMessagesByUser]",e);
+		}
+		return null;
+	}
+	
+	public List<PrivateMessages> getSendPrivateMessagesByUser(Long toUserId, String search, 
+			String orderBy, int start, Boolean asc, Long privateMessageFolderId, int max) {
+		try {
+			
+			String hql = "select c from PrivateMessages c " +
+						"where c.from.user_id = :toUserId " +
+						"AND c.isTrash = false " +
+						"AND c.owner.user_id = :toUserId " +
+						"AND c.privateMessageFolderId = :privateMessageFolderId ";
+			
+			if (search.length() != 0) {
+				hql += "AND ( ";
+				hql += "lower(c.subject) LIKE :search ";
+				hql += "OR lower(c.message) LIKE :search ";
+				hql += "OR lower(c.from.firstname) LIKE :search ";
+				hql += "OR lower(c.from.lastname) LIKE :search ";
+				hql += "OR lower(c.from.login) LIKE :search ";
+				hql += "OR lower(c.from.adresses.email) LIKE :search ";
+				hql += " ) ";
+			}
+			
+			hql += "ORDER BY "+orderBy;
+			
+			if (asc) {
+				hql += " ASC";
+			} else {
+				hql += " DESC";
+			}
+
+			TypedQuery<PrivateMessages> query = em.createQuery(hql, PrivateMessages.class); 
+			query.setParameter("toUserId", toUserId);
+			query.setParameter("privateMessageFolderId", privateMessageFolderId);
+			if (search.length() != 0) {
+				query.setParameter("search", StringUtils.lowerCase("%"+search+"%"));
+			}
+			query.setFirstResult(start);
+			query.setMaxResults(max);
+			List<PrivateMessages> ll = query.getResultList();
+			
+			return ll;	
+		} catch (Exception e) {
+			log.error("[getSendPrivateMessagesByUser]",e);
+		}
+		return null;
+	}
+	
+	
+	public Long countFolderPrivateMessagesByUser(Long toUserId, Long privateMessageFolderId, String search) {
+		try {
+			
+			String hql = "select count(c.privateMessageId) from PrivateMessages c " +
+						"where c.isTrash = false " +
+						"AND c.owner.user_id = :toUserId " +
+						"AND c.privateMessageFolderId = :privateMessageFolderId ";
+
+			if (search.length() != 0) {
+				hql += "AND ( ";
+				hql += "lower(c.subject) LIKE :search ";
+				hql += "OR lower(c.message) LIKE :search ";
+				hql += "OR lower(c.from.firstname) LIKE :search ";
+				hql += "OR lower(c.from.lastname) LIKE :search ";
+				hql += "OR lower(c.from.login) LIKE :search ";
+				hql += "OR lower(c.from.adresses.email) LIKE :search ";
+				hql += " ) ";
+			}
+			
+			TypedQuery<Long> query = em.createQuery(hql, Long.class); 
+			query.setParameter("toUserId", toUserId);
+			if (search.length() != 0) {
+				query.setParameter("search", StringUtils.lowerCase("%"+search+"%"));
+			}
+			query.setParameter("privateMessageFolderId", privateMessageFolderId);
+			List<Long> ll = query.getResultList();
+			
+			return ll.get(0);
+			
+		} catch (Exception e) {
+			log.error("[countFolderPrivateMessagesByUser]",e);
+		}
+		return null;
+	}
+	
+	public List<PrivateMessages> getFolderPrivateMessagesByUser(Long toUserId, String search, String orderBy, 
+			int start, Boolean asc, Long privateMessageFolderId, int max) {
+		try {
+			
+			String hql = "select c from PrivateMessages c " +
+							"where c.isTrash = :isTrash " +
+							"AND c.owner.user_id = :toUserId " +
+							"AND c.privateMessageFolderId = :privateMessageFolderId ";
+
+			if (search.length() != 0) {
+				hql += "AND ( ";
+				hql += "lower(c.subject) LIKE :search ";
+				hql += "OR lower(c.message) LIKE :search ";
+				hql += "OR lower(c.from.firstname) LIKE :search ";
+				hql += "OR lower(c.from.lastname) LIKE :search ";
+				hql += "OR lower(c.from.login) LIKE :search ";
+				hql += "OR lower(c.from.adresses.email) LIKE :search ";
+				hql += " ) ";
+			}
+			
+			hql += "ORDER BY "+orderBy;
+			
+			if (asc) {
+				hql += " ASC";
+			} else {
+				hql += " DESC";
+			}
+			
+			log.debug("HQL "+hql);
+			
+			log.debug("privateMessageFolderId "+privateMessageFolderId);
+			
+			TypedQuery<PrivateMessages> query = em.createQuery(hql, PrivateMessages.class); 
+			query.setParameter("toUserId", toUserId);
+			query.setParameter("isTrash", false);
+			query.setParameter("privateMessageFolderId", privateMessageFolderId);
+			if (search.length() != 0) {
+				query.setParameter("search", StringUtils.lowerCase("%"+search+"%"));
+			}
+			query.setFirstResult(start);
+			query.setMaxResults(max);
+			List<PrivateMessages> ll = query.getResultList();
+			
+			return ll;
+			
+		} catch (Exception e) {
+			log.error("[getFolderPrivateMessagesByUser]",e);
+		}
+		return null;
+	}
+
+	public int updatePrivateMessagesToTrash(List<Long> privateMessageIds, Boolean isTrash, Long privateMessageFolderId) {
+		try {
+			
+			String hql = "UPDATE PrivateMessages c " +
+						"SET c.isTrash = :isTrash,c.privateMessageFolderId = :privateMessageFolderId " +
+						"where c.privateMessageId IN (:privateMessageIds) ";
+			
+			Query query = em.createQuery(hql); 
+			query.setParameter("isTrash", isTrash);
+			query.setParameter("privateMessageFolderId", privateMessageFolderId);
+			query.setParameter("privateMessageIds", privateMessageIds);
+			int updatedEntities = query.executeUpdate();
+			
+			//Refresh the Entities in the Cache as Hibernate will not do it!
+			//FIXME weird code
+			for (Long privateMessageId : privateMessageIds) {
+				String hqlSel = "select c from PrivateMessages c " +
+								"where c.privateMessageId = :privateMessageId ";
+	
+				TypedQuery<PrivateMessages> querySel = em.createQuery(hqlSel, PrivateMessages.class); 
+				querySel.setParameter("privateMessageId", privateMessageId);
+				
+				try {
+					querySel.getSingleResult();
+			    } catch (NoResultException ex) {
+			    }
+			}
+			
+			return updatedEntities;
+		} catch (Exception e) {
+			log.error("[updatePrivateMessagesToTrash]",e);
+		}
+		return -1;
+	}
+	
+	public int updatePrivateMessagesReadStatus(List<Long> privateMessageIds, Boolean isRead) {
+		try {
+			
+			String hql = "UPDATE PrivateMessages c " +
+						"SET c.isRead = :isRead " +
+						"where c.privateMessageId IN (:privateMessageIds) ";
+			
+			Query query = em.createQuery(hql); 
+			query.setParameter("isRead", isRead);
+			query.setParameter("privateMessageIds", privateMessageIds);
+			int updatedEntities = query.executeUpdate();
+			
+			//Refresh the Entities in the Cache as Hibernate will not do it!
+			//FIXME weird code
+			for (Long privateMessageId : privateMessageIds) {
+				String hqlSel = "select c from PrivateMessages c " +
+								"where c.privateMessageId = :privateMessageId ";
+	
+				TypedQuery<PrivateMessages> querySel = em.createQuery(hqlSel, PrivateMessages.class); 
+				querySel.setParameter("privateMessageId", privateMessageId);
+				
+				try {
+					querySel.getSingleResult();
+			    } catch (NoResultException ex) {
+			    }
+			}
+			return updatedEntities;
+		} catch (Exception e) {
+			log.error("[updatePrivateMessagesReadStatus]",e);
+		}
+		return -1;
+	}
+
+	public Integer moveMailsToFolder(List<Long> privateMessageIds, Long privateMessageFolderId) {
+		try {
+			
+			String hql = "UPDATE PrivateMessages c " +
+						"SET c.privateMessageFolderId = :privateMessageFolderId, c.isTrash = false " +
+						"where c.privateMessageId IN (:privateMessageIds) ";
+			
+			Query query = em.createQuery(hql); 
+			query.setParameter("privateMessageFolderId", privateMessageFolderId);
+			query.setParameter("privateMessageIds", privateMessageIds);
+			int updatedEntities = query.executeUpdate();
+			
+			//Refresh the Entities in the Cache as Hibernate will not do it!
+			//FIXME weird code
+			for (Long privateMessageId : privateMessageIds) {
+				String hqlSel = "select c from PrivateMessages c " +
+								"where c.privateMessageId = :privateMessageId ";
+	
+				TypedQuery<PrivateMessages> querySel = em.createQuery(hqlSel, PrivateMessages.class); 
+				querySel.setParameter("privateMessageId", privateMessageId);
+				
+				try {
+					querySel.getSingleResult();
+			    } catch (NoResultException ex) {
+			    }
+			}
+			return updatedEntities;
+		} catch (Exception e) {
+			log.error("[updatePrivateMessagesReadStatus]",e);
+		}
+		return -1;
+	}
+	
+	public int deletePrivateMessages(List<Long> privateMessageIds) {
+		try {
+			
+			String hql = "DELETE FROM PrivateMessages c " +
+						"where c.privateMessageId IN (:privateMessageIds) ";
+			
+			Query query = em.createQuery(hql); 
+			query.setParameter("privateMessageIds", privateMessageIds);
+			int updatedEntities = query.executeUpdate();
+			
+			return updatedEntities;
+		} catch (Exception e) {
+			log.error("[updatePrivateMessagesReadStatus]",e);
+		}
+		return -1;
+	}
+	
+	public List<PrivateMessages> getPrivateMessagesByRoom(Long roomId) {
+		try {
+			
+			String hql = "select c from PrivateMessages c " +
+						"where c.room.rooms_id = :roomId ";
+			
+			
+			TypedQuery<PrivateMessages> query = em.createQuery(hql, PrivateMessages.class); 
+			query.setParameter("roomId", roomId);
+			List<PrivateMessages> ll = query.getResultList();
+			
+			return ll;	
+		} catch (Exception e) {
+			log.error("[getPrivateMessagesByRoom]",e);
+		}
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/user/dao/UserContactsDaoImpl.java b/src/org/openmeetings/app/data/user/dao/UserContactsDaoImpl.java
new file mode 100644
index 0000000..f6b45e7
--- /dev/null
+++ b/src/org/openmeetings/app/data/user/dao/UserContactsDaoImpl.java
@@ -0,0 +1,328 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.user.dao;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.Query;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.persistence.beans.user.UserContacts;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class UserContactsDaoImpl {
+	
+	private static final Logger log = Red5LoggerFactory.getLogger(UserContactsDaoImpl.class, OpenmeetingsVariables.webAppRootKey);
+	@PersistenceContext
+	private EntityManager em;
+    @Autowired
+    private Usermanagement userManagement;
+
+	public Long addUserContact(Long user_id, Long ownerId, Boolean pending, String hash) {
+		try {
+			
+			UserContacts userContact = new UserContacts();
+			userContact.setInserted(new Date());
+			userContact.setOwner(userManagement.getUserById(ownerId));
+			userContact.setContact(userManagement.getUserById(user_id));
+			userContact.setPending(pending);
+			userContact.setHash(hash);
+			
+			userContact = em.merge(userContact);
+			Long userContactId = userContact.getUserContactId();
+			
+			return userContactId;			
+		} catch (Exception e) {
+			log.error("[addUserContact]",e);
+		}
+		return null;
+	}
+	
+	public Long addUserContactObj(UserContacts userContact) {
+		try {
+			
+			userContact.setInserted(new Date());
+			
+			userContact = em.merge(userContact);
+			Long userContactId = userContact.getUserContactId();
+			
+			return userContactId;			
+		} catch (Exception e) {
+			log.error("[addUserContact]",e);
+		}
+		return null;
+	}
+	
+	public Integer deleteUserContact(Long userContactDeleteId) {
+		try {
+			
+			String hql = "delete from UserContacts u where u.userContactId = :userContactDeleteId";
+			
+			Query query = em.createQuery(hql);
+			query.setParameter("userContactDeleteId", userContactDeleteId);
+	        int rowCount = query.executeUpdate();
+			
+			return rowCount;			
+		} catch (Exception e) {
+			log.error("[deleteUserContact]",e);
+		}
+		return null;
+	}
+	
+	public Integer deleteAllUserContacts(Long ownerId) {
+		try {
+			
+			String hql = "delete from UserContacts u where u.owner.user_id = :ownerId";
+			
+			Query query = em.createQuery(hql);
+	        query.setParameter("ownerId",ownerId);
+	        int rowCount = query.executeUpdate();
+			
+			return rowCount;			
+		} catch (Exception e) {
+			log.error("[deleteAllUserContacts]",e);
+		}
+		return null;
+	}
+	
+	public Long checkUserContacts(Long user_id, Long ownerId) {
+		try {
+			
+			String hql = "select count(c.userContactId) from UserContacts c " +
+							"where c.contact.user_id = :user_id AND c.owner.user_id = :ownerId ";
+			
+			TypedQuery<Long> query = em.createQuery(hql, Long.class); 
+			query.setParameter("user_id", user_id);
+			query.setParameter("ownerId", ownerId);
+			List<Long> ll = query.getResultList();
+			
+			log.info("checkUserContacts" + ll.get(0));
+			
+			return ll.get(0);
+			
+		} catch (Exception e) {
+			log.error("[checkUserContacts]",e);
+		}
+		return null;
+	}
+	
+	public UserContacts getContactsByHash(String hash) {
+		try {
+			
+			String hql = "select c from UserContacts c " +
+							"where c.hash like :hash ";
+			
+			TypedQuery<UserContacts> query = em.createQuery(hql, UserContacts.class); 
+			query.setParameter("hash", hash);
+			List<UserContacts> ll = query.getResultList();
+			
+			if (ll.size() > 0) {
+				return ll.get(0);
+			}
+			
+			
+		} catch (Exception e) {
+			log.error("[getContactsByHash]",e);
+		}
+		return null;
+	}
+	
+	public List<UserContacts> getContactsByUserAndStatus(Long ownerId, Boolean pending) {
+		try {
+			
+			String hql = "select c from UserContacts c " +
+							"where c.owner.user_id = :ownerId " +
+							"AND c.pending = :pending " +
+							"AND c.contact.deleted <> 'true'";
+			
+			TypedQuery<UserContacts> query = em.createQuery(hql, UserContacts.class);
+			query.setParameter("ownerId", ownerId);
+			query.setParameter("pending", pending);
+			List<UserContacts> ll = query.getResultList();
+			
+			return ll;
+			
+		} catch (Exception e) {
+			log.error("[getContactsByUserAndStatus]",e);
+		}
+		return null;
+	}
+	
+	public UserContacts getUserContactByShareCalendar(Long contactId,
+			Boolean shareCalendar, Long userId) {
+		try {
+
+			String hql = "select c from UserContacts c "
+					+ "where c.contact.user_id = :userId "
+					+ "AND c.owner.user_id = :contactId "
+					+ "AND c.shareCalendar = :shareCalendar "
+					+ "AND c.contact.deleted <> 'true'";
+
+			TypedQuery<UserContacts> query = em.createQuery(hql,
+					UserContacts.class);
+			query.setParameter("contactId", contactId);
+			query.setParameter("userId", userId);
+			query.setParameter("shareCalendar", shareCalendar);
+			List<UserContacts> ll = query.getResultList();
+
+			if (ll.size() > 0) {
+				return ll.get(0);
+			}
+
+		} catch (Exception e) {
+			log.error("[getUserContactByShareCalendar]", e);
+		}
+		return null;
+	}
+
+	public List<UserContacts> getContactsByShareCalendar(Long contactId, Boolean shareCalendar) {
+		try {
+			
+			String hql = "select c from UserContacts c " +
+							"where c.contact.user_id = :contactId " +
+							"AND c.shareCalendar = :shareCalendar " +
+							"AND c.contact.deleted <> 'true'";
+			
+			TypedQuery<UserContacts> query = em.createQuery(hql, UserContacts.class); 
+			query.setParameter("contactId", contactId);
+			query.setParameter("shareCalendar", shareCalendar);
+			List<UserContacts> ll = query.getResultList();
+			
+			return ll;
+			
+		} catch (Exception e) {
+			log.error("[getContactsByShareCalendar]",e);
+		}
+		return null;
+	}
+	
+	public List<UserContacts> getContactRequestsByUserAndStatus(Long user_id, Boolean pending) {
+		try {
+			
+			String hql = "select c from UserContacts c " +
+							"where c.contact.user_id = :user_id " +
+							"AND c.pending = :pending " +
+							"AND c.contact.deleted <> 'true'";
+			
+			TypedQuery<UserContacts> query = em.createQuery(hql, UserContacts.class); 
+			query.setParameter("user_id", user_id);
+			query.setParameter("pending", pending);
+			List<UserContacts> ll = query.getResultList();
+			
+			return ll;
+			
+		} catch (Exception e) {
+			log.error("[getContactRequestsByUserAndStatus]",e);
+		}
+		return null;
+	}
+	
+	public UserContacts getUserContacts(Long userContactId) {
+		try {
+			
+			String hql = "select c from UserContacts c " +
+							"where c.userContactId = :userContactId";
+			
+			TypedQuery<UserContacts> query = em.createQuery(hql, UserContacts.class); 
+			query.setParameter("userContactId", userContactId);
+			UserContacts userContacts = null;
+			try {
+				userContacts = query.getSingleResult();
+		    } catch (NoResultException ex) {
+		    }
+			
+			return userContacts;
+			
+		} catch (Exception e) {
+			log.error("[getUserContacts]",e);
+		}
+		return null;
+	}
+	
+	public List<UserContacts> getUserContacts() {
+		try {
+			
+			String hql = "select c from UserContacts c ";
+			
+			TypedQuery<UserContacts> query = em.createQuery(hql, UserContacts.class); 
+			List<UserContacts> userContacts = query.getResultList();
+			
+			return userContacts;
+			
+		} catch (Exception e) {
+			log.error("[getUserContacts]",e);
+		}
+		return null;
+	}
+	
+	public Long updateContactStatus(Long userContactId, Boolean pending) {
+		try {
+			
+			UserContacts userContacts = this.getUserContacts(userContactId);
+			
+			if (userContacts == null) {
+				return null;
+			}
+			userContacts.setPending(pending);
+			userContacts.setUpdated(new Date());
+			
+			if (userContacts.getUserContactId() == 0) {
+				em.persist(userContacts);
+		    } else {
+		    	if (!em.contains(userContacts)) {
+		    		em.merge(userContacts);
+			    }
+			}
+			
+			return userContactId;
+			
+		} catch (Exception e) {
+			log.error("[updateContactStatus]",e);
+		}
+		return null;
+	}
+	
+	public void updateContact(UserContacts userContacts) {
+		try {
+			userContacts.setUpdated(new Date());
+			
+			if (userContacts.getUserContactId() == 0) {
+				em.persist(userContacts);
+		    } else {
+		    	if (!em.contains(userContacts)) {
+		    		em.merge(userContacts);
+			    }
+			}
+			
+		} catch (Exception e) {
+			log.error("[updateContact]",e);
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/app/data/user/dao/UserSipDataDaoImpl.java b/src/org/openmeetings/app/data/user/dao/UserSipDataDaoImpl.java
new file mode 100644
index 0000000..3c61215
--- /dev/null
+++ b/src/org/openmeetings/app/data/user/dao/UserSipDataDaoImpl.java
@@ -0,0 +1,108 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.user.dao;
+
+import java.util.Date;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.persistence.beans.user.UserSipData;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class UserSipDataDaoImpl {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(UserSipDataDaoImpl.class, OpenmeetingsVariables.webAppRootKey);
+	@PersistenceContext
+	private EntityManager em;
+	
+	public UserSipData getUserSipDataById(Long userSipDataId) {
+		try {
+			
+			if (userSipDataId == null) {
+				return null;
+			}
+			
+			String hql = "select c from UserSipData as c where c.userSipDataId = :userSipDataId";
+			
+			TypedQuery<UserSipData> query = em.createQuery(hql, UserSipData.class);
+			query.setParameter("userSipDataId", userSipDataId);
+			UserSipData userSipData = null;
+			try {
+				userSipData = query.getSingleResult();
+		    } catch (NoResultException ex) {
+		    }
+			
+			return userSipData;
+		} catch (Exception ex2) {
+			log.error("getUserSipDataById",ex2);
+		}
+		return null;
+	}
+
+	public Long addUserSipData(UserSipData userSipData) {
+		try {
+			
+			if (userSipData == null) {
+				return null;
+			}
+			
+			userSipData.setInserted(new Date());
+			
+			userSipData = em.merge(userSipData);
+			Long userSipDataId = userSipData.getUserSipDataId();
+			
+			return userSipDataId;
+		} catch (Exception ex2) {
+			log.error("[addUserSipData] ",ex2);
+		}
+		return null;
+	}
+	
+	public Long updateUserSipData(UserSipData userSipData) {
+		try {
+			
+			if (userSipData == null) {
+				return null;
+			}
+			
+			userSipData.setUpdated(new Date());
+			
+			if (userSipData.getUserSipDataId() == 0) {
+				em.persist(userSipData);
+		    } else {
+		    	if (!em.contains(userSipData)) {
+		    		em.merge(userSipData);
+			    }
+			}
+			
+			return userSipData.getUserSipDataId();
+		} catch (Exception ex2) {
+			log.error("[updateUserSipData] ",ex2);
+		}
+		return null;
+	}	
+	
+}
diff --git a/src/org/openmeetings/app/data/user/dao/UsersDaoImpl.java b/src/org/openmeetings/app/data/user/dao/UsersDaoImpl.java
new file mode 100644
index 0000000..bac3f1e
--- /dev/null
+++ b/src/org/openmeetings/app/data/user/dao/UsersDaoImpl.java
@@ -0,0 +1,345 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.data.user.dao;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+
+import org.apache.commons.lang.StringUtils;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.persistence.beans.adresses.Adresses;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.utils.crypt.ManageCryptStyle;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class UsersDaoImpl {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(UsersDaoImpl.class, OpenmeetingsVariables.webAppRootKey);
+	@PersistenceContext
+	private EntityManager em;
+	@Autowired
+	private ManageCryptStyle manageCryptStyle;
+
+	/**
+	 * 
+	 * @param user_id
+	 * @return
+	 */
+	public Users getUser(Long user_id) {
+		if (user_id != null && user_id > 0) {
+			try {
+				TypedQuery<Users> query = em.createQuery("select c from Users as c where c.user_id = :user_id", Users.class);
+				query.setParameter("user_id", user_id);
+
+				Users users = null;
+				try {
+					users = query.getSingleResult();
+				} catch (NoResultException ex) {
+				}
+				return users;
+			} catch (Exception ex2) {
+				log.error("getUser", ex2);
+			}
+		} else {
+			log.info("[getUser] " + "Info: No USER_ID given");
+		}
+		return null;
+	}
+
+	public void updateUser(Users user) {
+		if (user.getUser_id() > 0) {
+			try {
+				if (user.getUser_id() == null) {
+					em.persist(user);
+				} else {
+					if (!em.contains(user)) {
+						em.merge(user);
+					}
+				}
+			} catch (Exception ex2) {
+				log.error("[updateUser] ", ex2);
+			}
+		} else {
+			log.info("[updateUser] " + "Error: No USER_ID given");
+		}
+	}
+
+	public Long deleteUserID(long USER_ID) {
+		try {
+			if (USER_ID != 0) {
+				Users us = getUser(USER_ID);
+				us.setDeleted("true");
+				us.setUpdatetime(new Date());
+				Adresses adr = us.getAdresses();
+				if (adr != null) {
+					adr.setDeleted("true");
+				}
+
+				if (us.getUser_id() == null) {
+					em.persist(us);
+				} else {
+					if (!em.contains(us)) {
+						em.merge(us);
+					}
+				}
+				return us.getUser_id();
+			}
+		} catch (Exception ex2) {
+			log.error("[deleteUserID]", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * returns the maximum
+	 * 
+	 * @return
+	 */
+	public Long selectMaxFromUsers() {
+		try {
+			// get all users
+			TypedQuery<Long> query = em.createQuery("select count(c.user_id) from Users c where c.deleted = 'false'", Long.class);
+			List<Long> ll = query.getResultList();
+			log.info("selectMaxFromUsers" + ll.get(0));
+			return ll.get(0);
+		} catch (Exception ex2) {
+			log.error("[selectMaxFromUsers] ", ex2);
+		}
+		return null;
+	}
+
+	public List<Users> getAllUsers() {
+		try {
+			// get all non-deleted users
+			CriteriaBuilder cb = em.getCriteriaBuilder();
+			CriteriaQuery<Users> cq = cb.createQuery(Users.class);
+			Root<Users> c = cq.from(Users.class);
+			Predicate condition = cb.equal(c.get("deleted"), "false");
+			cq.where(condition);
+			TypedQuery<Users> q = em.createQuery(cq);
+			List<Users> ll = q.getResultList();
+
+			return ll;
+		} catch (Exception ex2) {
+			log.error("[getAllUsers] ", ex2);
+		}
+		return null;
+	}
+
+	public List<Users> getAllUsersDeleted() {
+		try {
+			TypedQuery<Users> q = em.createNamedQuery("getAllUsers", Users.class);
+			return q.getResultList();
+		} catch (Exception ex2) {
+			log.error("[getAllUsersDeleted] ", ex2);
+		}
+		return null;
+	}
+
+	public Long getAllUserMax(String search) {
+		try {
+
+			String[] searchItems = search.split(" ");
+
+			log.debug("getUserContactsBySearch: " + search);
+			// log.debug("getUserContactsBySearch: "+ userId);
+
+			String hql = "select count(u.user_id) from  Users u "
+					+ "WHERE u.deleted = 'false' ";
+
+			hql += "AND ( ";
+			for (int i = 0; i < searchItems.length; i++) {
+				if (i != 0) {
+					hql += " OR ";
+				}
+				hql += "( " + "lower(u.lastname) LIKE '"
+						+ StringUtils.lowerCase("%" + searchItems[i] + "%")
+						+ "' " + "OR lower(u.firstname) LIKE '"
+						+ StringUtils.lowerCase("%" + searchItems[i] + "%")
+						+ "' " + "OR lower(u.login) LIKE '"
+						+ StringUtils.lowerCase("%" + searchItems[i] + "%")
+						+ "' " + "OR lower(u.adresses.email) LIKE '"
+						+ StringUtils.lowerCase("%" + searchItems[i] + "%")
+						+ "' " + ") ";
+
+			}
+			hql += " )";
+
+			log.debug("Show HQL: " + hql);
+
+			TypedQuery<Long> query = em.createQuery(hql, Long.class);
+
+			// log.debug("id: "+folderId);
+			List<Long> ll = query.getResultList();
+
+			// log.error((Long)ll.get(0));
+			Long i = ll.get(0);
+
+			return i;
+		} catch (Exception ex2) {
+			log.error("[getAllUserMax]: ", ex2);
+		}
+		return null;
+	}
+
+	/**
+	 * check for duplicates
+	 * 
+	 * @param DataValue
+	 * @return
+	 */
+	public boolean checkUserLogin(String DataValue) {
+		try {
+			TypedQuery<Users> query = em.createQuery("select c from Users as c where c.login = :DataValue AND c.deleted <> :deleted", Users.class);
+			query.setParameter("DataValue", DataValue);
+			query.setParameter("deleted", "true");
+			int count = query.getResultList().size();
+
+			if (count != 0) {
+				return false;
+			}
+		} catch (Exception ex2) {
+			log.error("[checkUserData]", ex2);
+		}
+		return true;
+	}
+
+	public Users getUserByName(String login) {
+		try {
+			String hql = "SELECT u FROM Users as u "
+					+ " where u.login = :login" + " AND u.deleted <> :deleted";
+			TypedQuery<Users> query = em.createQuery(hql, Users.class);
+			query.setParameter("login", login);
+			query.setParameter("deleted", "true");
+			Users us = null;
+			try {
+				us = query.getSingleResult();
+			} catch (NoResultException ex) {
+			}
+			return us;
+		} catch (Exception e) {
+			log.error("[getUserByAdressesId]", e);
+		}
+		return null;
+	}
+
+	public Users getUserByEmail(String email) {
+		try {
+			String hql = "SELECT u FROM Users as u "
+					+ " where u.adresses.email = :email"
+					+ " AND u.deleted <> :deleted";
+			TypedQuery<Users> query = em.createQuery(hql, Users.class);
+			query.setParameter("email", email);
+			query.setParameter("deleted", "true");
+			Users us = null;
+			try {
+				us = query.getSingleResult();
+			} catch (NoResultException ex) {
+			}
+			return us;
+		} catch (Exception e) {
+			log.error("[getUserByAdressesId]", e);
+		}
+		return null;
+	}
+
+	public Object getUserByHash(String hash) {
+		try {
+			if (hash.length() == 0)
+				return new Long(-5);
+			String hql = "SELECT u FROM Users as u "
+					+ " where u.resethash = :resethash"
+					+ " AND u.deleted <> :deleted";
+			TypedQuery<Users> query = em.createQuery(hql, Users.class);
+			query.setParameter("resethash", hash);
+			query.setParameter("deleted", "true");
+			Users us = null;
+			try {
+				us = query.getSingleResult();
+			} catch (NoResultException ex) {
+			}
+			if (us != null) {
+				return us;
+			} else {
+				return new Long(-5);
+			}
+		} catch (Exception e) {
+			log.error("[getUserByAdressesId]", e);
+		}
+		return new Long(-1);
+	}
+
+	public Object resetPassByHash(String hash, String pass) {
+		try {
+			Object u = this.getUserByHash(hash);
+			if (u instanceof Users) {
+				Users us = (Users) u;
+				us.setPassword(manageCryptStyle.getInstanceOfCrypt()
+						.createPassPhrase(pass));
+				us.setResethash("");
+				updateUser(us);
+				return new Long(-8);
+			} else {
+				return u;
+			}
+		} catch (Exception e) {
+			log.error("[getUserByAdressesId]", e);
+		}
+		return new Long(-1);
+	}
+
+	/**
+	 * @param search
+	 * @return
+	 */
+	public Long selectMaxFromUsersWithSearch(String search) {
+		try {
+
+			String hql = "select count(c.user_id) from Users c "
+					+ "where c.deleted = 'false' " + "AND ("
+					+ "lower(c.login) LIKE :search "
+					+ "OR lower(c.firstname) LIKE :search "
+					+ "OR lower(c.lastname) LIKE :search " + ")";
+
+			// get all users
+			TypedQuery<Long> query = em.createQuery(hql, Long.class);
+			query.setParameter("search", StringUtils.lowerCase(search));
+			List<Long> ll = query.getResultList();
+			log.info("selectMaxFromUsers" + ll.get(0));
+			return ll.get(0);
+		} catch (Exception ex2) {
+			log.error("[selectMaxFromUsers] ", ex2);
+		}
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/app/documents/CreateLibraryPresentation.java b/src/org/openmeetings/app/documents/CreateLibraryPresentation.java
new file mode 100644
index 0000000..e388164
--- /dev/null
+++ b/src/org/openmeetings/app/documents/CreateLibraryPresentation.java
@@ -0,0 +1,125 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.documents;
+
+import java.util.HashMap;
+import java.io.File;
+import java.io.FilenameFilter;
+import java.io.FileOutputStream;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.io.XMLWriter;
+import java.util.Arrays;
+
+public class CreateLibraryPresentation {
+	
+	public static final String libraryFileName = "library.xml";
+	
+	private static CreateLibraryPresentation instance;
+
+	private CreateLibraryPresentation() {}
+
+	public static synchronized CreateLibraryPresentation getInstance() {
+		if (instance == null) {
+			instance = new CreateLibraryPresentation();
+		}
+		return instance;
+	}
+	
+	
+	public HashMap<String,String> generateXMLDocument(String targetDirectory, String originalDocument, 
+			String pdfDocument, String swfDocument){
+		HashMap<String,String> returnMap = new HashMap<String,String>();
+		returnMap.put("process", "generateXMLDocument");		
+		try {
+			
+	        Document document = DocumentHelper.createDocument();
+	        Element root = document.addElement( "presentation" );
+
+	        File file = new File(targetDirectory+originalDocument);
+	        root.addElement( "originalDocument" )
+				.addAttribute("lastmod", (new Long(file.lastModified())).toString())
+				.addAttribute("size", (new Long(file.length())).toString())	        
+	            .addText( originalDocument );
+	        
+	        if (pdfDocument!=null){
+	        	File pdfDocumentFile = new File(targetDirectory+pdfDocument);
+		        root.addElement( "pdfDocument" )
+					.addAttribute("lastmod", (new Long(pdfDocumentFile.lastModified())).toString())
+					.addAttribute("size", (new Long(pdfDocumentFile.length())).toString())	   		        
+		            .addText( pdfDocument );
+	        }
+	        
+	        if (swfDocument!=null){
+	        	File swfDocumentFile = new File(targetDirectory+originalDocument);
+		        root.addElement( "swfDocument" )
+					.addAttribute("lastmod", (new Long(swfDocumentFile.lastModified())).toString())
+					.addAttribute("size", (new Long(swfDocumentFile.length())).toString())	  		        
+	            	.addText( swfDocument );	  
+	        }
+	        
+	        Element thumbs = root.addElement( "thumbs" );
+	        
+	        File dir = new File(targetDirectory);
+	        
+			//Secoond get all Files of this Folder
+			FilenameFilter ff = new FilenameFilter() {
+			     public boolean accept(File b, String name) {
+			    	  String absPath = b.getAbsolutePath()+File.separatorChar+name;
+			    	  File f = new File (absPath);
+			          return f.isFile();
+			     }
+			};	
+			
+			String[] allfiles = dir.list(ff);			
+			if(allfiles!=null){
+				Arrays.sort(allfiles);
+				for(int i=0; i<allfiles.length; i++){
+					File thumbfile = new File(targetDirectory+allfiles[i]);
+					if (allfiles[i].startsWith("_thumb_")){
+						thumbs.addElement( "thumb" )
+							.addAttribute("lastmod", (new Long(thumbfile.lastModified())).toString())
+							.addAttribute("size", (new Long(thumbfile.length())).toString())
+			            	.addText( allfiles[i] );
+					}
+				}
+			}
+	        
+	        // lets write to a file
+	        XMLWriter writer = new XMLWriter(
+	            new FileOutputStream( targetDirectory+CreateLibraryPresentation.libraryFileName )
+	        );
+	        writer.write( document );
+	        writer.close();
+			
+	        returnMap.put("exitValue", "0");
+	        
+			return returnMap;
+		} catch (Exception err) {
+			err.printStackTrace();
+			returnMap.put("error", err.getMessage());
+			returnMap.put("exitValue", "-1");
+			return returnMap;
+		}
+	}
+	
+	
+}
diff --git a/src/org/openmeetings/app/documents/GenerateImage.java b/src/org/openmeetings/app/documents/GenerateImage.java
new file mode 100644
index 0000000..7464dca
--- /dev/null
+++ b/src/org/openmeetings/app/documents/GenerateImage.java
@@ -0,0 +1,201 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.documents;
+
+import java.io.File;
+import java.util.HashMap;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.utils.ProcessHelper;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class GenerateImage {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			GenerateImage.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private Configurationmanagement cfgManagement;
+	@Autowired
+	private UsersDaoImpl usersDao;
+	@Autowired
+	private GenerateThumbs generateThumbs;
+
+	String getPathToImageMagic() {
+		String pathToImageMagic = cfgManagement.getConfKey(3,
+				"imagemagick_path").getConf_value();
+		if (!pathToImageMagic.equals("")
+				&& !pathToImageMagic.endsWith(File.separator)) {
+			pathToImageMagic += File.separator;
+		}
+		pathToImageMagic += "convert" + GenerateSWF.execExt;
+		return pathToImageMagic;
+	}
+
+	public HashMap<String, HashMap<String, String>> convertImage(
+			String current_dir, String fileName, String fileExt,
+			String roomName, String fileNameShort, boolean fullProcessing)
+			throws Exception {
+
+		HashMap<String, HashMap<String, String>> returnMap = new HashMap<String, HashMap<String, String>>();
+
+		String working_imgdir = current_dir + OpenmeetingsVariables.UPLOAD_DIR + File.separatorChar
+				+ roomName + File.separatorChar;
+		String working_pptdir = current_dir + OpenmeetingsVariables.UPLOAD_TEMP_DIR + File.separatorChar
+				+ roomName + File.separatorChar;
+
+		String fileFullPath = working_pptdir + fileName + fileExt;
+
+		File f = new File(working_imgdir + fileName + fileExt);
+		if (f.exists()) {
+			int recursiveNumber = 0;
+			String tempd = fileName + "_" + recursiveNumber;
+			while (f.exists()) {
+				recursiveNumber++;
+				tempd = fileName + "_" + recursiveNumber;
+				f = new File(working_imgdir + tempd + fileExt);
+			}
+			fileName = tempd;
+		}
+
+		String destinationFile = working_imgdir + fileName;
+
+		log.debug("##### convertImage destinationFile: " + destinationFile);
+
+		HashMap<String, String> processJPG = this.convertSingleJpg(
+				fileFullPath, destinationFile);
+		HashMap<String, String> processThumb = generateThumbs.generateThumb(
+				"_thumb_", current_dir, destinationFile, 50);
+
+		returnMap.put("processJPG", processJPG);
+		returnMap.put("processThumb", processThumb);
+
+		// Delete old one
+		File fToDelete = new File(fileFullPath);
+		fToDelete.delete();
+
+		return returnMap;
+	}
+
+	public HashMap<String, HashMap<String, String>> convertImageUserProfile(
+			String current_dir, String fileName, String fileExt, Long users_id,
+			String fileNameShort, boolean fullProcessing) throws Exception {
+
+		HashMap<String, HashMap<String, String>> returnMap = new HashMap<String, HashMap<String, String>>();
+
+		String working_imgdir = current_dir + OpenmeetingsVariables.UPLOAD_DIR + File.separatorChar
+				+ "profiles" + File.separatorChar
+				+ ScopeApplicationAdapter.profilesPrefix + users_id
+				+ File.separatorChar;
+		String working_pptdir = current_dir + OpenmeetingsVariables.UPLOAD_TEMP_DIR + File.separatorChar
+				+ "profiles" + File.separatorChar
+				+ ScopeApplicationAdapter.profilesPrefix + users_id
+				+ File.separatorChar;
+
+		String fileFullPath = working_pptdir + fileName + fileExt;
+
+		File f = new File(working_imgdir + fileName + fileExt);
+		if (f.exists()) {
+			int recursiveNumber = 0;
+			String tempd = fileName + "_" + recursiveNumber;
+			while (f.exists()) {
+				recursiveNumber++;
+				tempd = fileName + "_" + recursiveNumber;
+				f = new File(working_imgdir + tempd + fileExt);
+			}
+			fileName = tempd;
+		}
+
+		String destinationFile = working_imgdir + fileName;
+		HashMap<String, String> processJPG = this.convertSingleJpg(
+				fileFullPath, destinationFile);
+
+		HashMap<String, String> processThumb1 = generateThumbs.generateThumb(
+				"_chat_", current_dir, destinationFile, 40);
+		HashMap<String, String> processThumb2 = generateThumbs.generateThumb(
+				"_profile_", current_dir, destinationFile, 126);
+		HashMap<String, String> processThumb3 = generateThumbs.generateThumb(
+				"_big_", current_dir, destinationFile, 240);
+
+		returnMap.put("processJPG", processJPG);
+		returnMap.put("processThumb1", processThumb1);
+		returnMap.put("processThumb2", processThumb2);
+		returnMap.put("processThumb3", processThumb3);
+
+		// Delete old one
+		File fToDelete = new File(fileFullPath);
+		fToDelete.delete();
+
+		File fileNameToStore = new File(destinationFile + ".jpg");
+		String pictureuri = fileNameToStore.getName();
+		Users us = usersDao.getUser(users_id);
+		us.setUpdatetime(new java.util.Date());
+		us.setPictureuri(pictureuri);
+		usersDao.updateUser(us);
+
+		//FIXME: After uploading a new picture all other clients should refresh
+		//scopeApplicationAdapter.updateUserSessionObject(users_id, pictureuri);
+
+		return returnMap;
+	}
+
+	/**
+	 * -density 150 -resize 800
+	 * 
+	 */
+	private HashMap<String, String> convertSingleJpg(String inputFile,
+			String outputfile) {
+		String[] argv = new String[] { getPathToImageMagic(), inputFile,
+				outputfile + ".jpg" };
+
+		// return GenerateSWF.executeScript("convertSingleJpg", argv);
+
+		if (System.getProperty("os.name").toUpperCase().indexOf("WINDOWS") == -1) {
+			return ProcessHelper.executeScript("generateBatchThumbByWidth", argv);
+		} else {
+			return generateThumbs.processImageWindows(argv);
+		}
+
+	}
+
+	public HashMap<String, String> convertImageByTypeAndSize(String inputFile,
+			String outputfile, int width, int height) {
+		String[] argv = new String[] { getPathToImageMagic(), "-size",
+				width + "x" + height, inputFile, outputfile };
+		return ProcessHelper.executeScript("convertImageByTypeAndSizeAndDepth",
+				argv);
+	}
+
+	public HashMap<String, String> convertImageByTypeAndSizeAndDepth(
+			String inputFile, String outputfile, int width, int height,
+			int depth) {
+		String[] argv = new String[] { getPathToImageMagic(), "-size",
+				width + "x" + height, "-depth", Integer.toString(depth),
+				inputFile, outputfile };
+		return ProcessHelper.executeScript("convertImageByTypeAndSizeAndDepth",
+				argv);
+	}
+
+}
diff --git a/src/org/openmeetings/app/documents/GeneratePDF.java b/src/org/openmeetings/app/documents/GeneratePDF.java
new file mode 100644
index 0000000..fe1ad39
--- /dev/null
+++ b/src/org/openmeetings/app/documents/GeneratePDF.java
@@ -0,0 +1,208 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.documents;
+
+import java.io.File;
+import java.io.FilenameFilter;
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import org.apache.commons.transaction.util.FileHelper;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.utils.ProcessHelper;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class GeneratePDF {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			GeneratePDF.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private GenerateThumbs generateThumbs;
+	@Autowired
+	private GenerateSWF generateSWF;
+	@Autowired
+	private Configurationmanagement cfgManagement;
+
+	public HashMap<String, HashMap<String, String>> convertPDF(
+			String current_dir, String fileName, String fileExt,
+			String roomName, boolean fullProcessing, String completeName)
+			throws Exception {
+
+		HashMap<String, HashMap<String, String>> returnError = new HashMap<String, HashMap<String, String>>();
+
+		HashMap<String, String> processPDF = new HashMap<String, String>();
+		processPDF.put("process", "processPDF");
+
+		String working_imgdir = current_dir + OpenmeetingsVariables.UPLOAD_DIR + File.separatorChar
+				+ roomName + File.separatorChar;
+		String working_pptdir = current_dir + OpenmeetingsVariables.UPLOAD_TEMP_DIR + File.separatorChar
+				+ roomName + File.separatorChar;
+
+		String fileFullPath = working_pptdir + fileName + fileExt;
+		String destinationFolder = working_imgdir + fileName;
+
+		File f = new File(destinationFolder + File.separatorChar);
+		if (f.exists()) {
+			int recursiveNumber = 0;
+			String tempd = destinationFolder + "_" + recursiveNumber;
+			while (f.exists()) {
+				recursiveNumber++;
+				tempd = destinationFolder + "_" + recursiveNumber;
+				f = new File(tempd);
+
+			}
+			destinationFolder = tempd;
+		}
+
+		boolean b = f.mkdir();
+		if (!b) {
+			processPDF.put(
+					"error",
+					"convertPDF + ERROR: Folder could not create "
+							+ f.getAbsolutePath());
+			processPDF.put("exitValue", "-1");
+		} else {
+			processPDF.put("exitValue", "0");
+		}
+		returnError.put("processPDF", processPDF);
+
+		String outputfolder = destinationFolder + File.separatorChar;
+		destinationFolder = destinationFolder + File.separatorChar;
+
+		log.debug("fullProcessing: " + fullProcessing);
+		if (fullProcessing) {
+			HashMap<String, String> processOpenOffice = doJodConvert(
+					current_dir, fileFullPath, destinationFolder, fileName);
+			returnError.put("processOpenOffice", processOpenOffice);
+			HashMap<String, String> processThumb = generateThumbs
+					.generateBatchThumb(current_dir, destinationFolder
+							+ fileName + ".pdf", destinationFolder, 80, "thumb");
+			returnError.put("processThumb", processThumb);
+			HashMap<String, String> processSWF = generateSWF
+					.generateSwf(current_dir, destinationFolder,
+							destinationFolder, fileName);
+			returnError.put("processSWF", processSWF);
+		} else {
+
+			log.debug("-- generateBatchThumb --");
+
+			HashMap<String, String> processThumb = generateThumbs
+					.generateBatchThumb(current_dir, fileFullPath,
+							destinationFolder, 80, "thumb");
+			returnError.put("processThumb", processThumb);
+
+			HashMap<String, String> processSWF = generateSWF.generateSwf(
+					current_dir, (new File(fileFullPath)).getParentFile()
+							.getAbsolutePath() + File.separatorChar,
+					destinationFolder, fileName);
+			returnError.put("processSWF", processSWF);
+		}
+
+		// now it should be completed so copy that file to the expected location
+		File fileToBeMoved = new File(completeName + fileExt);
+		File fileWhereToMove = new File(outputfolder + fileName + fileExt);
+		fileWhereToMove.createNewFile();
+		FileHelper.moveRec(fileToBeMoved, fileWhereToMove);
+
+		if (fullProcessing) {
+			HashMap<String, String> processXML = CreateLibraryPresentation
+					.getInstance().generateXMLDocument(outputfolder,
+							fileName + fileExt, fileName + ".pdf",
+							fileName + ".swf");
+			returnError.put("processXML", processXML);
+		} else {
+			HashMap<String, String> processXML = CreateLibraryPresentation
+					.getInstance().generateXMLDocument(outputfolder,
+							fileName + fileExt, null, fileName + ".swf");
+			returnError.put("processXML", processXML);
+		}
+
+		return returnError;
+	}
+
+	/**
+	 * Generates PDF using JOD Library (external library)
+	 */
+	public HashMap<String, String> doJodConvert(String current_dir,
+			String fileFullPath, String destinationFolder, String outputfile) {
+		try {
+
+			String jodPath = cfgManagement.getConfValue("jod.path", String.class, "./jod");
+			String officePath = cfgManagement.getConfValue("office.path", String.class, "");
+
+			File jodFolder = new File(jodPath);
+			if (!jodFolder.exists() || !jodFolder.isDirectory()) {
+				throw new Exception("Path to JOD Library folder does not exist");
+			}
+
+			ArrayList<String> argv = new ArrayList<String>();
+			argv.add("java");
+
+			if (officePath.trim().length() > 0) {
+				argv.add("-Doffice.home=" + officePath);
+			}
+			String jodConverterJar = "";
+
+			for (String jarFiles : jodFolder.list(new FilenameFilter() {
+				public boolean accept(File file1, String name) {
+					return name.endsWith(".jar");
+				}
+			})) {
+				argv.add("-cp");
+				if (jarFiles.startsWith("jodconverter")) {
+					jodConverterJar = jarFiles;
+				}
+				argv.add(jodFolder.getAbsolutePath() + File.separatorChar
+						+ jarFiles);
+			}
+			if (jodConverterJar.length() == 0) {
+				throw new Exception(
+						"Could not find jodConverter JAR file in JOD folder");
+			}
+
+			argv.add("-jar");
+			argv.add(jodFolder.getAbsolutePath() + File.separatorChar
+					+ jodConverterJar);
+			argv.add(fileFullPath);
+			argv.add(destinationFolder + outputfile + ".pdf");
+
+			return ProcessHelper.executeScript("doJodConvert",
+					argv.toArray(new String[argv.size()]));
+
+		} catch (Exception ex) {
+			log.error("doJodConvert", ex);
+			return buildErrorMessage("doJodConvert", ex.getMessage(), ex);
+		}
+	}
+
+	private HashMap<String, String> buildErrorMessage(String process,
+			String error, Exception ex) {
+		HashMap<String, String> returnMap = new HashMap<String, String>();
+		returnMap.put("process", process);
+		returnMap.put("exception", ex.toString());
+		returnMap.put("error", error);
+		returnMap.put("exitValue", "-1");
+		return returnMap;
+	}
+
+}
diff --git a/src/org/openmeetings/app/documents/GenerateSWF.java b/src/org/openmeetings/app/documents/GenerateSWF.java
new file mode 100644
index 0000000..f9f504a
--- /dev/null
+++ b/src/org/openmeetings/app/documents/GenerateSWF.java
@@ -0,0 +1,132 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.documents;
+
+import java.io.File;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.utils.ProcessHelper;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class GenerateSWF {
+
+	public static final Logger log = Red5LoggerFactory
+			.getLogger(GenerateSWF.class);
+
+	@Autowired
+	private Configurationmanagement cfgManagement;
+
+	public final static boolean isPosix = System.getProperty("os.name")
+			.toUpperCase().indexOf("WINDOWS") == -1;
+
+	public final static String execExt = isPosix ? "" : ".exe";
+
+	private String getPathToSwfTools() {
+		String pathToSWFTools = cfgManagement.getConfValue("swftools_path", String.class, "");
+		// If SWFTools Path is not blank a File.separator at the end of the path
+		// is needed
+		if (!pathToSWFTools.equals("")
+				&& !pathToSWFTools.endsWith(File.separator)) {
+			pathToSWFTools = pathToSWFTools + File.separator;
+		}
+		return pathToSWFTools;
+	}
+
+	private String getSwfZoom() {
+		String valueForSwfZoom = cfgManagement.getConfValue("swftools_zoom", String.class, "");
+		// WARNING CODE NOT COMPLETE: If SWFTools zoom (dpi) should be an integer between 50 and  600 with a default value of 100 dpi
+		if (valueForSwfZoom.equals("")) {
+			valueForSwfZoom = "72";
+		}
+		return valueForSwfZoom;
+	}
+
+	private String getSwfJpegQuality() {
+		String valueForSwfJpegQuality = cfgManagement.getConfValue("swftools_jpegquality", String.class, "");
+		// WARNING CODE NOT COMPLETE: If SWFTools JPEG Quality should be an integer between 1 and 100, with a default value of 85
+		if (valueForSwfJpegQuality.equals("")) {
+			valueForSwfJpegQuality = "85";
+		}
+		return valueForSwfJpegQuality;
+	}
+
+	public HashMap<String, String> generateSwf(String current_dir,
+			String originalFolder, String destinationFolder, String fileNamePure) {
+		
+		// Create the Content of the Converter Script (.bat or .sh File)
+		String[] argv = new String[] {
+				getPathToSwfTools() + "pdf2swf" + execExt, "-s",
+				"insertstop", // insert Stop command into every frame
+				"-s","poly2bitmap", //http://www.swftools.org/gfx_tutorial.html#Rendering_pages_to_SWF_files
+				"-i", // change draw order to reduce pdf complexity
+				"-j", "" + getSwfJpegQuality(), // JPEG Quality 
+				"-s", "zoom=" + getSwfZoom(), // set zoom dpi 
+				originalFolder + fileNamePure + ".pdf",
+				destinationFolder + fileNamePure + ".swf" };
+
+		return ProcessHelper.executeScript("generateSwf", argv);
+	}
+
+	/**
+	 * Generates an SWF from the list of files.
+	 */
+	public HashMap<String, String> generateSwfByImages(List<String> images,
+			String outputfile, int fps) {
+		List<String> argvList = Arrays.asList(new String[] {
+				getPathToSwfTools() + "png2swf" + execExt, "-s", 
+				"insertstop", // Insert Stop command into every frame
+				"-o", outputfile, "-r", Integer.toString(fps), "-z" });
+
+		argvList.addAll(images);
+		return ProcessHelper.executeScript("generateSwfByImages",
+				argvList.toArray(new String[0]));
+	}
+
+	/**
+	 * Combines a bunch of SWFs into one SWF by concatenate.
+	 */
+	public HashMap<String, String> generateSWFByCombine(List<String> swfs,
+			String outputswf, int fps) {
+		List<String> argvList = Arrays.asList(new String[] {
+				getPathToSwfTools() + "swfcombine" + execExt, "-s",
+				"insertstop", // Insert Stop command into every frame
+				"-o", outputswf, "-r", Integer.toString(fps), "-z", "-a" });
+
+		argvList.addAll(swfs);
+		return ProcessHelper.executeScript("generateSwfByImages",
+				argvList.toArray(new String[0]));
+	}
+
+	public HashMap<String, String> generateSWFByFFMpeg(String inputWildCard,
+			String outputswf, int fps, int width, int height) {
+		// FIXME: ffmpeg should be on the system path
+		String[] argv = new String[] { "ffmpeg" + execExt, "-r",
+				Integer.toString(fps), "-i", inputWildCard, "-s",
+				width + "x" + height, "-b", "750k", "-ar", "44100", "-y",
+				outputswf };
+
+		return ProcessHelper.executeScript("generateSWFByFFMpeg", argv);
+	}
+
+}
diff --git a/src/org/openmeetings/app/documents/GenerateThumbs.java b/src/org/openmeetings/app/documents/GenerateThumbs.java
new file mode 100644
index 0000000..ba1b839
--- /dev/null
+++ b/src/org/openmeetings/app/documents/GenerateThumbs.java
@@ -0,0 +1,191 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.documents;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.HashMap;
+
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.utils.ProcessHelper;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class GenerateThumbs {
+
+	private static final Logger log = Red5LoggerFactory
+			.getLogger(GenerateThumbs.class);
+
+	@Autowired
+	private GenerateImage generateImage;
+
+	public HashMap<String, String> generateThumb(String pre,
+			String current_dir, String filepath, Integer thumbSize) {
+		// Init variables
+		File f = new File(filepath);
+		String name = f.getName();
+		String folder = f.getParentFile().getAbsolutePath()
+				+ File.separatorChar;
+
+		String[] argv = new String[] {
+				generateImage.getPathToImageMagic(),
+				"-thumbnail",
+				Integer.toString(thumbSize) + "x" + Integer.toString(thumbSize),
+				filepath + ".jpg", folder + pre + name + ".jpg" };
+
+		log.debug("START generateThumb ################# ");
+		for (int i = 0; i < argv.length; i++) {
+			log.debug(" i " + i + " argv-i " + argv[i]);
+		}
+		log.debug("END generateThumb ################# ");
+
+		if (System.getProperty("os.name").toUpperCase().indexOf("WINDOWS") == -1) {
+			return ProcessHelper.executeScript("generateBatchThumbByWidth", argv);
+		} else {
+			return this.processImageWindows(argv);
+		}
+	}
+
+	public HashMap<String, String> decodePDF(String inputfile, String outputfile) {
+
+		String[] argv = new String[] { generateImage.getPathToImageMagic(), // FIXME
+				inputfile, outputfile };
+
+		if (System.getProperty("os.name").toUpperCase().indexOf("WINDOWS") == -1) {
+			return ProcessHelper.executeScript("generateBatchThumbByWidth", argv);
+		} else {
+			return this.processImageWindows(argv);
+		}
+
+	}
+
+	public HashMap<String, String> generateBatchThumb(String current_dir,
+			String inputfile, String outputpath, Integer thumbSize, String pre) {
+
+		if (System.getProperty("os.name").toUpperCase().indexOf("WINDOWS") == -1) {
+			String[] argv = new String[] {
+					generateImage.getPathToImageMagic(),
+					"-thumbnail", // FIXME
+					Integer.toString(thumbSize), inputfile,
+					outputpath + "_" + pre + "_page-%04d.jpg" };
+
+			return ProcessHelper.executeScript("generateBatchThumbByWidth", argv);
+		} else {
+
+			String[] argv = new String[] {
+					generateImage.getPathToImageMagic(),
+					"-thumbnail", // FIXME
+					Integer.toString(thumbSize), inputfile,
+					outputpath + "_" + pre + "_page-%%04d.jpg" };
+
+			// return GenerateSWF.executeScript("generateBatchThumbByWidth",
+			// argv);
+			return this.processImageWindows(argv);
+		}
+	}
+
+	public HashMap<String, String> generateImageBatchByWidth(
+			String current_dir, String inputfile, String outputpath,
+			Integer thumbWidth, String pre) {
+
+		String[] argv = new String[] { generateImage.getPathToImageMagic(),
+				"-resize", Integer.toString(thumbWidth), inputfile,
+				outputpath + "_" + pre + "_page.png" };
+
+		if (System.getProperty("os.name").toUpperCase().indexOf("WINDOWS") == -1) {
+			return ProcessHelper.executeScript("generateBatchThumbByWidth", argv);
+		} else {
+			return this.processImageWindows(argv);
+		}
+	}
+
+	public HashMap<String, String> processImageWindows(String[] args) {
+		HashMap<String, String> returnMap = new HashMap<String, String>();
+		returnMap.put("process", "processImageWindows");
+		try {
+
+			// Init variables
+			String[] cmd;
+			String executable_fileName = "";
+
+			String runtimeFile = "interviewMerge.bat";
+			executable_fileName = ScopeApplicationAdapter.batchFileDir
+					+ runtimeFile;
+
+			cmd = new String[4];
+			cmd[0] = "cmd.exe";
+			cmd[1] = "/C";
+			cmd[2] = "start";
+			cmd[3] = executable_fileName;
+
+			// log.debug("executable_fileName: "+executable_fileName);
+
+			// Create the Content of the Converter Script (.bat or .sh File)
+
+			String fileContent = "";
+
+			for (int k = 0; k < args.length; k++) {
+				if (k != 0) {
+					fileContent += " ";
+				}
+				fileContent += args[k];
+			}
+
+			fileContent += ScopeApplicationAdapter.lineSeperator + "exit";
+
+			File previous = new File(executable_fileName);
+			if (previous.exists()) {
+				previous.delete();
+			}
+
+			// execute the Script
+			FileOutputStream fos = new FileOutputStream(executable_fileName);
+			fos.write(fileContent.getBytes());
+			fos.close();
+
+			Runtime rt = Runtime.getRuntime();
+			returnMap.put("command", cmd.toString());
+
+			Process proc = rt.exec(cmd);
+
+			InputStream stderr = proc.getErrorStream();
+			BufferedReader br = new BufferedReader(new InputStreamReader(stderr));
+			String line = null;
+			String error = "";
+			while ((line = br.readLine()) != null) {
+				error += line;
+				// log.debug("line: "+line);
+			}
+			br.close();
+			returnMap.put("error", error);
+			int exitVal = proc.waitFor();
+			returnMap.put("exitValue", "" + exitVal);
+			return returnMap;
+		} catch (Throwable t) {
+			t.printStackTrace();
+			returnMap.put("error", t.getMessage());
+			returnMap.put("exitValue", "-1");
+			return returnMap;
+		}
+	}
+}
diff --git a/src/org/openmeetings/app/documents/InstallationDocumentHandler.java b/src/org/openmeetings/app/documents/InstallationDocumentHandler.java
new file mode 100644
index 0000000..e407b61
--- /dev/null
+++ b/src/org/openmeetings/app/documents/InstallationDocumentHandler.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.documents;
+
+import java.io.File;
+import java.io.FileWriter;
+
+import org.dom4j.Document;
+import org.dom4j.io.XMLWriter;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.Node;
+import org.dom4j.io.SAXReader;
+
+public class InstallationDocumentHandler {
+	
+	public static final String installFileName = "install.xml";
+	
+	private static InstallationDocumentHandler instance;
+
+	private InstallationDocumentHandler() {}
+
+	public static synchronized InstallationDocumentHandler getInstance() {
+		if (instance == null) {
+			instance = new InstallationDocumentHandler();
+		}
+		return instance;
+	}
+	
+	public void createDocument(String filePath, Integer stepNo) throws Exception {
+		
+		Document document = DocumentHelper.createDocument();
+		
+		Element root = document.addElement( "install" );
+		Element step = root.addElement("step");
+		
+		step.addElement("stepnumber").addText(stepNo.toString());
+		step.addElement("stepname").addText("Step "+stepNo);
+		
+		XMLWriter writer = new XMLWriter( new FileWriter( filePath ) );
+        writer.write( document );
+        writer.close();
+		
+	}
+	
+	public int getCurrentStepNumber(String filePath) throws Exception{
+		
+	    SAXReader reader = new SAXReader();
+        Document document = reader.read(new File(filePath, InstallationDocumentHandler.installFileName));
+        
+        Node node = document.selectSingleNode( "//install/step/stepnumber" );
+        
+        return Integer.valueOf(node.getText()).intValue();
+        
+	}
+	
+	
+}
diff --git a/src/org/openmeetings/app/documents/LibraryChartLoader.java b/src/org/openmeetings/app/documents/LibraryChartLoader.java
new file mode 100644
index 0000000..c46f3f5
--- /dev/null
+++ b/src/org/openmeetings/app/documents/LibraryChartLoader.java
@@ -0,0 +1,77 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.documents;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.util.ArrayList;
+
+import org.openmeetings.utils.Logger;
+
+import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.io.xml.XppDriver;
+
+public class LibraryChartLoader {
+
+    private static final Logger log = new Logger();
+
+    private static final String fileExt = ".xchart";
+
+    private static LibraryChartLoader instance;
+
+    private LibraryChartLoader() {
+    }
+
+    public static synchronized LibraryChartLoader getInstance() {
+        if (instance == null) {
+            instance = new LibraryChartLoader();
+        }
+        return instance;
+    }
+
+    @SuppressWarnings("rawtypes")
+	public ArrayList loadChart(String filePath, String fileName) {
+        try {
+            String filepathComplete = filePath + fileName + fileExt;
+
+            log.error("filepathComplete: " + filepathComplete);
+
+            XStream xStream = new XStream(new XppDriver());
+            xStream.setMode(XStream.NO_REFERENCES);
+
+            BufferedReader reader = new BufferedReader(new FileReader(
+                    filepathComplete));
+            String xmlString = "";
+            while (reader.ready()) {
+                xmlString += reader.readLine();
+            }
+            reader.close();
+            // lMap = (LinkedHashMap) xStream.fromXML(xmlString);
+            ArrayList lMapList = (ArrayList) xStream.fromXML(xmlString);
+
+            return lMapList;
+        } catch (Exception err) {
+            log.error(err);
+        }
+
+        return null;
+
+    }
+
+}
diff --git a/src/org/openmeetings/app/documents/LibraryDocumentConverter.java b/src/org/openmeetings/app/documents/LibraryDocumentConverter.java
new file mode 100644
index 0000000..0c18a8b
--- /dev/null
+++ b/src/org/openmeetings/app/documents/LibraryDocumentConverter.java
@@ -0,0 +1,633 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.documents;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.utils.stringhandlers.StringComparer;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Text;
+
+import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.io.xml.XppDriver;
+
+
+
+public class LibraryDocumentConverter {
+	
+	private static final Logger log = Red5LoggerFactory.getLogger(LibraryDocumentConverter.class, OpenmeetingsVariables.webAppRootKey);
+	
+	private static final String fileExt = ".wml";
+	
+	private static final String wmlFolderName = "stored" + File.separatorChar;
+
+	private static LibraryDocumentConverter instance;
+
+	private LibraryDocumentConverter() {}
+
+	public static synchronized LibraryDocumentConverter getInstance() {
+		if (instance == null) {
+			instance = new LibraryDocumentConverter();
+		}
+		return instance;
+	}
+	
+	@SuppressWarnings("rawtypes")
+	public String writeToLocalFolder(String filePath, String fileName, ArrayList objList) {
+		try {
+			
+			log.debug("filePath: "+filePath);
+			
+			String fileNameExtName = fileName.substring(fileName.length()-4,fileName.length());
+			if (fileNameExtName.equals(fileExt)){
+				fileName = StringComparer.getInstance().compareForRealPaths(fileName.substring(0, fileName.length()-4));
+			} else {
+				fileName = StringComparer.getInstance().compareForRealPaths(fileName.substring(0, fileName.length()));
+			}
+			
+			if (fileName.length()<=0){
+				//return new Long(-21);
+				return "-20";
+			}
+			
+			String filepathComplete = filePath+wmlFolderName+fileName+fileExt;
+			
+			//Add the Folder for the Room if it does not exist yet
+			File localFolder = new File(filePath);
+			if (!localFolder.exists()){
+				localFolder.mkdir();
+			}		
+			//Add the Folder for the wmlFiles if it does not exist yet
+			File localFolder2 = new File(filePath+wmlFolderName);
+			if (!localFolder2.exists()){
+				localFolder2.mkdir();
+			}
+			
+			if (this.checkFileExist(filepathComplete)){
+				//return new Long(-20);
+				return "-20";
+			}		
+			
+			XStream xStream = new XStream(new XppDriver());
+			xStream.setMode(XStream.NO_REFERENCES);
+			String xmlString = xStream.toXML(objList);		
+			
+			PrintWriter pw = new PrintWriter(new FileWriter(filepathComplete));
+		    pw.println(xmlString);
+		    pw.flush();
+		    pw.close();
+	    
+		    //return new Long(1);
+		    
+		    return filepathComplete;
+		    
+		} catch (Exception err){
+			log.error("writeToLocalFolder",err);
+		}
+		
+		return null;
+		
+	}
+	
+	private boolean checkFileExist(String filepathComplete){
+		try {
+			File f = new File(filepathComplete);
+			return f.exists();
+		} catch (Exception err){
+			log.error("checkFileExist",err);
+		}
+		return true;
+	}	
+	
+	/**
+	 * @deprecated
+	 * @param filepathComplete
+	 * @param wmlData
+	 * @return
+	 */
+	@SuppressWarnings({ "unused" })
+	private Long writeFileToLocation(String filepathComplete, String wmlData){
+		try {
+
+			FileWriter fileWriter = new FileWriter(filepathComplete);
+
+			BufferedWriter buffWriter = new BufferedWriter(fileWriter);
+			
+			buffWriter.write(wmlData);
+			
+			buffWriter.flush();
+			buffWriter.close();
+			
+			return new Long(1);
+		} catch (Exception err){
+			log.error("writeFileToLocation",err);
+		}
+		return null;
+	}
+	
+	/**
+	 * @deprecated
+	 * @param document
+	 * @param baseElement
+	 * @param paint
+	 */
+	@SuppressWarnings({ "unused", "rawtypes" })
+	private void createNodesByPaint(Document document, Element baseElement, LinkedHashMap paint){
+		try {
+			
+			Element pointsName = document.createElement("points");
+			baseElement.appendChild(pointsName);
+			LinkedHashMap pointsMap = (LinkedHashMap) paint.get(1);
+			for (Iterator it = pointsMap.keySet().iterator();it.hasNext();){
+				Integer key = (Integer) it.next();
+				LinkedHashMap point = (LinkedHashMap) pointsMap.get(key);
+				Element pointElement = document.createElement(point.get(0).toString());
+				pointElement.setAttribute("val1", point.get(1).toString());
+				pointElement.setAttribute("val2", point.get(2).toString());
+				pointElement.setAttribute("val3", point.get(3).toString());
+				pointElement.setAttribute("val4", point.get(4).toString());
+				pointsName.appendChild(pointElement);
+			}
+			
+			Element fillstyle = document.createElement("fillstyle");
+			baseElement.appendChild(fillstyle);
+			Text fillstyleT = document.createTextNode(paint.get(2).toString());
+			fillstyle.appendChild(fillstyleT);
+			
+			Element linewidth = document.createElement("linewidth");
+			baseElement.appendChild(linewidth);
+			Text linewidthT = document.createTextNode(paint.get(3).toString());
+			linewidth.appendChild(linewidthT);
+			
+			Element strokestyle = document.createElement("strokestyle");
+			baseElement.appendChild(strokestyle);
+			Text strokestyleT = document.createTextNode(paint.get(4).toString());
+			strokestyle.appendChild(strokestyleT);
+			
+			Element counter = document.createElement("counter");
+			baseElement.appendChild(counter);
+			Text counterT = document.createTextNode(paint.get(5).toString());
+			counter.appendChild(counterT);			
+			
+			Element x = document.createElement("x");
+			baseElement.appendChild(x);
+			Text xT = document.createTextNode(paint.get(6).toString());
+			x.appendChild(xT);
+			
+			Element y = document.createElement("y");
+			baseElement.appendChild(y);
+			Text yT = document.createTextNode(paint.get(7).toString());
+			y.appendChild(yT);
+			
+			Element width = document.createElement("width");
+			baseElement.appendChild(width);
+			Text widthT = document.createTextNode(paint.get(8).toString());
+			width.appendChild(widthT);
+			
+			Element height = document.createElement("height");
+			baseElement.appendChild(height);
+			Text heightT = document.createTextNode(paint.get(9).toString());
+			height.appendChild(heightT);
+			
+			Element layername = document.createElement("layername");
+			baseElement.appendChild(layername);
+			Text layernameT = document.createTextNode(paint.get(10).toString());
+			layername.appendChild(layernameT);
+			
+		} catch (Exception err){
+			log.error("createNodesByPaint",err);
+		}
+	}
+	
+	/**
+	 * @deprecated
+	 * @param document
+	 * @param baseElement
+	 * @param letter
+	 */
+	@SuppressWarnings({ "unused", "rawtypes" })
+	private void createNodesByLetter(Document document, Element baseElement, LinkedHashMap letter){
+		try {
+			
+			Element textvalue = document.createElement("textforfield");
+			baseElement.appendChild(textvalue);
+			Text textvalueT = document.createTextNode(letter.get(1).toString());
+			textvalue.appendChild(textvalueT);
+			
+			Element fgcolor = document.createElement("fgcolor");
+			baseElement.appendChild(fgcolor);
+			Text fgcolorT = document.createTextNode(letter.get(2).toString());
+			fgcolor.appendChild(fgcolorT);
+			
+			Element fontsize = document.createElement("fontsize");
+			baseElement.appendChild(fontsize);
+			Text fontsizeT = document.createTextNode(letter.get(3).toString());
+			fontsize.appendChild(fontsizeT);			
+			
+			Element fontstyle = document.createElement("fontstyle");
+			baseElement.appendChild(fontstyle);
+			Text fontstyleT = document.createTextNode(letter.get(4).toString());
+			fontstyle.appendChild(fontstyleT);	
+			
+			Element counter = document.createElement("counter");
+			baseElement.appendChild(counter);
+			Text counterT = document.createTextNode(letter.get(6).toString());
+			counter.appendChild(counterT);			
+			
+			Element x = document.createElement("x");
+			baseElement.appendChild(x);
+			Text xT = document.createTextNode(letter.get(6).toString());
+			x.appendChild(xT);
+			
+			Element y = document.createElement("y");
+			baseElement.appendChild(y);
+			Text yT = document.createTextNode(letter.get(7).toString());
+			y.appendChild(yT);
+			
+			Element width = document.createElement("width");
+			baseElement.appendChild(width);
+			Text widthT = document.createTextNode(letter.get(8).toString());
+			width.appendChild(widthT);
+			
+			Element height = document.createElement("height");
+			baseElement.appendChild(height);
+			Text heightT = document.createTextNode(letter.get(9).toString());
+			height.appendChild(heightT);
+			
+			Element layername = document.createElement("layername");
+			baseElement.appendChild(layername);
+			Text layernameT = document.createTextNode(letter.get(10).toString());
+			layername.appendChild(layernameT);
+			
+		} catch (Exception err){
+			log.error("createNodesByLetter",err);
+		}
+	}
+	
+	/**
+	 * @deprecated
+	 * @param document
+	 * @param baseElement
+	 * @param image
+	 */
+	@SuppressWarnings({ "unused", "rawtypes" })
+	private void createNodesByImage(Document document, Element baseElement, LinkedHashMap image){
+		try {
+			
+			Element urlname = document.createElement("urlname");
+			baseElement.appendChild(urlname);
+			Text urlnameT = document.createTextNode(image.get(1).toString());
+			urlname.appendChild(urlnameT);
+			
+			Element baseurl = document.createElement("baseurl");
+			baseElement.appendChild(baseurl);
+			Text baseurlT = document.createTextNode(image.get(2).toString());
+			baseurl.appendChild(baseurlT);
+			
+			Element filename = document.createElement("filename");
+			baseElement.appendChild(filename);
+			Text filenameT = document.createTextNode(image.get(3).toString());
+			filename.appendChild(filenameT);
+			
+			Element modulename = document.createElement("modulename");
+			baseElement.appendChild(modulename);
+			Text modulenameT = document.createTextNode(image.get(4).toString());
+			modulename.appendChild(modulenameT);
+			
+			Element parentpath = document.createElement("parentpath");
+			baseElement.appendChild(parentpath);
+			Text parentpathT = document.createTextNode(image.get(5).toString());
+			parentpath.appendChild(parentpathT);
+			
+			Element room = document.createElement("room");
+			baseElement.appendChild(room);
+			Text roomT = document.createTextNode(image.get(6).toString());
+			room.appendChild(roomT);
+			
+			Element domain = document.createElement("domain");
+			baseElement.appendChild(domain);
+			Text domainT = document.createTextNode(image.get(7).toString());
+			domain.appendChild(domainT);
+			
+			Element counter = document.createElement("counter");
+			baseElement.appendChild(counter);
+			Text counterT = document.createTextNode(image.get(8).toString());
+			counter.appendChild(counterT);				
+			
+			Element x = document.createElement("x");
+			baseElement.appendChild(x);
+			Text xT = document.createTextNode(image.get(9).toString());
+			x.appendChild(xT);
+			
+			Element y = document.createElement("y");
+			baseElement.appendChild(y);
+			Text yT = document.createTextNode(image.get(10).toString());
+			y.appendChild(yT);
+			
+			Element width = document.createElement("width");
+			baseElement.appendChild(width);
+			Text widthT = document.createTextNode(image.get(11).toString());
+			width.appendChild(widthT);
+			
+			Element height = document.createElement("height");
+			baseElement.appendChild(height);
+			Text heightT = document.createTextNode(image.get(12).toString());
+			height.appendChild(heightT);
+			
+			Element layername = document.createElement("layername");
+			baseElement.appendChild(layername);
+			Text layernameT = document.createTextNode(image.get(13).toString());
+			layername.appendChild(layernameT);
+			
+		} catch (Exception err){
+			log.error("createNodesByImage",err);
+		}
+	}
+	
+	/**
+	 * @deprecated
+	 * @param document
+	 * @param baseElement
+	 * @param paintObject
+	 */
+	@SuppressWarnings({ "unused", "rawtypes" })
+	private void createNodesByObject(Document document, Element baseElement, LinkedHashMap paintObject){
+		try {
+			
+			Element fillstyle = document.createElement("fillstyle");
+			baseElement.appendChild(fillstyle);
+			Text fillstyleT = document.createTextNode(paintObject.get(1).toString());
+			fillstyle.appendChild(fillstyleT);
+			
+			Element linewidth = document.createElement("linewidth");
+			baseElement.appendChild(linewidth);
+			Text linewidthT = document.createTextNode(paintObject.get(2).toString());
+			linewidth.appendChild(linewidthT);
+			
+			Element strokestyle = document.createElement("strokestyle");
+			baseElement.appendChild(strokestyle);
+			Text strokestyleT = document.createTextNode(paintObject.get(3).toString());
+			strokestyle.appendChild(strokestyleT);
+			
+			Element startx = document.createElement("startx");
+			baseElement.appendChild(startx);
+			Text startxT = document.createTextNode(paintObject.get(4).toString());
+			startx.appendChild(startxT);
+			
+			Element starty = document.createElement("starty");
+			baseElement.appendChild(starty);
+			Text startyT = document.createTextNode(paintObject.get(5).toString());
+			starty.appendChild(startyT);
+
+			Element endx = document.createElement("endx");
+			baseElement.appendChild(endx);
+			Text endxT = document.createTextNode(paintObject.get(6).toString());
+			endx.appendChild(endxT);
+
+			Element endy = document.createElement("endy");
+			baseElement.appendChild(endy);
+			Text endyT = document.createTextNode(paintObject.get(7).toString());
+			endy.appendChild(endyT);
+			
+			Element counter = document.createElement("counter");
+			baseElement.appendChild(counter);
+			Text counterT = document.createTextNode(paintObject.get(8).toString());
+			counter.appendChild(counterT);					
+			
+			Element x = document.createElement("x");
+			baseElement.appendChild(x);
+			Text xT = document.createTextNode(paintObject.get(9).toString());
+			x.appendChild(xT);
+			
+			Element y = document.createElement("y");
+			baseElement.appendChild(y);
+			Text yT = document.createTextNode(paintObject.get(10).toString());
+			y.appendChild(yT);
+			
+			Element width = document.createElement("width");
+			baseElement.appendChild(width);
+			Text widthT = document.createTextNode(paintObject.get(11).toString());
+			width.appendChild(widthT);
+			
+			Element height = document.createElement("height");
+			baseElement.appendChild(height);
+			Text heightT = document.createTextNode(paintObject.get(12).toString());
+			height.appendChild(heightT);
+			
+			Element layername = document.createElement("layername");
+			baseElement.appendChild(layername);
+			Text layernameT = document.createTextNode(paintObject.get(13).toString());
+			layername.appendChild(layernameT);
+			
+		} catch (Exception err){
+			log.error("createNodesByObject",err);
+		}
+	}
+	
+	/**
+	 * @deprecated
+	 * @param document
+	 * @param baseElement
+	 * @param paintObject
+	 */
+	@SuppressWarnings({ "unused", "rawtypes" })
+	private void createNodesByRectAndEllipse(Document document, Element baseElement, LinkedHashMap paintObject){
+		try {
+
+			Element stroke = document.createElement("stroke");
+			baseElement.appendChild(stroke);
+			Text strokeT = document.createTextNode(paintObject.get(1).toString());
+			stroke.appendChild(strokeT);
+
+			Element line = document.createElement("line");
+			baseElement.appendChild(line);
+			Text lineT = document.createTextNode(paintObject.get(2).toString());
+			line.appendChild(lineT);
+			
+			Element counter = document.createElement("counter");
+			baseElement.appendChild(counter);
+			Text counterT = document.createTextNode(paintObject.get(3).toString());
+			counter.appendChild(counterT);			
+
+			Element x = document.createElement("x");
+			baseElement.appendChild(x);
+			Text xT = document.createTextNode(paintObject.get(4).toString());
+			x.appendChild(xT);
+			
+			Element y = document.createElement("y");
+			baseElement.appendChild(y);
+			Text yT = document.createTextNode(paintObject.get(5).toString());
+			y.appendChild(yT);
+			
+			Element width = document.createElement("width");
+			baseElement.appendChild(width);
+			Text widthT = document.createTextNode(paintObject.get(6).toString());
+			width.appendChild(widthT);
+			
+			Element height = document.createElement("height");
+			baseElement.appendChild(height);
+			Text heightT = document.createTextNode(paintObject.get(7).toString());
+			height.appendChild(heightT);
+			
+			Element layername = document.createElement("layername");
+			baseElement.appendChild(layername);
+			Text layernameT = document.createTextNode(paintObject.get(8).toString());
+			layername.appendChild(layernameT);
+			
+		} catch (Exception err){
+			log.error("createNodesByRect",err);
+		}
+	}
+	
+	/**
+	 * @deprecated
+	 * @param document
+	 * @param baseElement
+	 * @param image
+	 */
+	@SuppressWarnings({ "unused", "rawtypes" })
+	private void createNodesBySWF(Document document, Element baseElement, LinkedHashMap image){
+		try {
+			
+			Element urlname = document.createElement("urlname");
+			baseElement.appendChild(urlname);
+			Text urlnameT = document.createTextNode(image.get(1).toString());
+			urlname.appendChild(urlnameT);
+			
+			Element baseurl = document.createElement("baseurl");
+			baseElement.appendChild(baseurl);
+			Text baseurlT = document.createTextNode(image.get(2).toString());
+			baseurl.appendChild(baseurlT);
+			
+			Element filename = document.createElement("filename");
+			baseElement.appendChild(filename);
+			Text filenameT = document.createTextNode(image.get(3).toString());
+			filename.appendChild(filenameT);
+			
+			Element modulename = document.createElement("modulename");
+			baseElement.appendChild(modulename);
+			Text modulenameT = document.createTextNode(image.get(4).toString());
+			modulename.appendChild(modulenameT);
+			
+			Element parentpath = document.createElement("parentpath");
+			baseElement.appendChild(parentpath);
+			Text parentpathT = document.createTextNode(image.get(5).toString());
+			parentpath.appendChild(parentpathT);
+			
+			Element room = document.createElement("room");
+			baseElement.appendChild(room);
+			Text roomT = document.createTextNode(image.get(6).toString());
+			room.appendChild(roomT);
+			
+			Element domain = document.createElement("domain");
+			baseElement.appendChild(domain);
+			Text domainT = document.createTextNode(image.get(7).toString());
+			domain.appendChild(domainT);
+			
+			Element slideNumber = document.createElement("slideNumber");
+			baseElement.appendChild(slideNumber);
+			Text slideNumberT = document.createTextNode(image.get(8).toString());
+			slideNumber.appendChild(slideNumberT);			
+			
+			Element innerx = document.createElement("innerx");
+			baseElement.appendChild(innerx);
+			Text innerxT = document.createTextNode(image.get(9).toString());
+			innerx.appendChild(innerxT);	
+			
+			Element innery = document.createElement("innery");
+			baseElement.appendChild(innery);
+			Text inneryT = document.createTextNode(image.get(10).toString());
+			innery.appendChild(inneryT);	
+			
+			Element innerwidth = document.createElement("innerwidth");
+			baseElement.appendChild(innerwidth);
+			Text innerwidthT = document.createTextNode(image.get(11).toString());
+			innerwidth.appendChild(innerwidthT);	
+			
+			Element innerheight = document.createElement("innerheight");
+			baseElement.appendChild(innerheight);
+			Text innerheightT = document.createTextNode(image.get(12).toString());
+			innerheight.appendChild(innerheightT);
+			
+			Element zoomlevel = document.createElement("zoomlevel");
+			baseElement.appendChild(zoomlevel);
+			Text zoomlevelT = document.createTextNode(image.get(13).toString());
+			zoomlevel.appendChild(zoomlevelT);
+			
+			Element initwidth = document.createElement("initwidth");
+			baseElement.appendChild(initwidth);
+			Text initwidthT = document.createTextNode(image.get(14).toString());
+			initwidth.appendChild(initwidthT);
+			
+			Element initheight = document.createElement("initheight");
+			baseElement.appendChild(initheight);
+			Text initheightT = document.createTextNode(image.get(15).toString());
+			initheight.appendChild(initheightT);
+			
+			Element currentzoom = document.createElement("currentzoom");
+			baseElement.appendChild(currentzoom);
+			Text currentzoomT = document.createTextNode(image.get(16).toString());
+			currentzoom.appendChild(currentzoomT);
+			
+			Element counter = document.createElement("counter");
+			baseElement.appendChild(counter);
+			Text counterT = document.createTextNode(image.get(17).toString());
+			counter.appendChild(counterT);				
+			
+			Element x = document.createElement("x");
+			baseElement.appendChild(x);
+			Text xT = document.createTextNode(image.get(18).toString());
+			x.appendChild(xT);
+			
+			Element y = document.createElement("y");
+			baseElement.appendChild(y);
+			Text yT = document.createTextNode(image.get(19).toString());
+			y.appendChild(yT);
+			
+			Element width = document.createElement("width");
+			baseElement.appendChild(width);
+			Text widthT = document.createTextNode(image.get(20).toString());
+			width.appendChild(widthT);
+			
+			Element height = document.createElement("height");
+			baseElement.appendChild(height);
+			Text heightT = document.createTextNode(image.get(21).toString());
+			height.appendChild(heightT);
+			
+			Element layername = document.createElement("layername");
+			baseElement.appendChild(layername);
+			Text layernameT = document.createTextNode(image.get(22).toString());
+			layername.appendChild(layernameT);
+			
+		} catch (Exception err){
+			log.error("createNodesByImage",err);
+		}
+	}
+	
+}
diff --git a/src/org/openmeetings/app/documents/LibraryDocuments.java b/src/org/openmeetings/app/documents/LibraryDocuments.java
new file mode 100644
index 0000000..2f95972
--- /dev/null
+++ b/src/org/openmeetings/app/documents/LibraryDocuments.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.documents;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+public class LibraryDocuments {
+	
+	private static final Logger log = Red5LoggerFactory.getLogger(LibraryDocuments.class, OpenmeetingsVariables.webAppRootKey);
+
+	private static LibraryDocuments instance;
+
+	private LibraryDocuments() {}
+
+	public static synchronized LibraryDocuments getInstance() {
+		if (instance == null) {
+			log.debug("instance created");
+			instance = new LibraryDocuments();
+		}
+		return instance;
+	}
+}
diff --git a/src/org/openmeetings/app/documents/LibraryWmlLoader.java b/src/org/openmeetings/app/documents/LibraryWmlLoader.java
new file mode 100644
index 0000000..c3910a1
--- /dev/null
+++ b/src/org/openmeetings/app/documents/LibraryWmlLoader.java
@@ -0,0 +1,254 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.documents;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+
+import org.dom4j.Element;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.io.xml.XppDriver;
+
+public class LibraryWmlLoader {
+	
+	private static final Logger log = Red5LoggerFactory.getLogger(LibraryWmlLoader.class, OpenmeetingsVariables.webAppRootKey);
+	
+	private static final String fileExt = ".wml";
+	
+	private static final String wmlFolderName = "stored";
+	
+	@SuppressWarnings({ "rawtypes", "unused" })
+	public ArrayList loadWmlFile(String filePath, String fileName){
+		try {
+			LinkedHashMap lMap = new LinkedHashMap();
+			String filepathComplete = filePath + wmlFolderName + File.separatorChar + fileName;
+			if (!filepathComplete.endsWith(fileExt)) {
+				filepathComplete += fileExt;
+			}
+			
+			log.error("filepathComplete: "+filepathComplete);
+			
+			XStream xStream = new XStream(new XppDriver());
+			xStream.setMode(XStream.NO_REFERENCES);
+			
+			BufferedReader reader = new BufferedReader(new FileReader(filepathComplete));
+		    String xmlString = "";
+		    while (reader.ready()) {
+		    	xmlString += reader.readLine();
+		    }
+		    reader.close();
+		    //lMap = (LinkedHashMap) xStream.fromXML(xmlString);
+		   ArrayList lMapList = (ArrayList) xStream.fromXML(xmlString);
+			
+			return lMapList;
+		} catch (Exception err){
+			log.error("loadWmlFile",err);
+		}
+		
+		return null;
+		
+	}
+	
+	/**
+	 * @deprecated
+	 * @param paintElement
+	 * @param subMap
+	 */
+	@SuppressWarnings({ "unused", "rawtypes" })
+	private void createListObjectPaintByNode(Element paintElement, LinkedHashMap<Integer,Object> subMap){
+		try {
+			
+			LinkedHashMap<Integer,LinkedHashMap> pointMap = new LinkedHashMap<Integer,LinkedHashMap>();
+			Element pointElements = paintElement.element("points");
+			Integer k = 0;
+			
+			for ( Iterator i = pointElements.elementIterator( "point" ); i.hasNext(); ) {
+				Element pointElement = (Element) i.next();
+				LinkedHashMap<Integer,Object> singlePoint = new LinkedHashMap<Integer,Object>();
+				singlePoint.put(0, pointElement.getName());
+				singlePoint.put(1, Integer.valueOf(pointElement.attribute("val1").getText()).intValue());
+				singlePoint.put(2, Integer.valueOf(pointElement.attribute("val2").getText()).intValue());
+				singlePoint.put(3, Integer.valueOf(pointElement.attribute("val3").getText()).intValue());
+				singlePoint.put(4, Integer.valueOf(pointElement.attribute("val4").getText()).intValue());
+				pointMap.put(k, singlePoint);
+				log.debug("createListObjectPaintByNode"+singlePoint);
+				k++;
+			}
+			subMap.put(1, pointMap);
+
+			subMap.put(2, paintElement.element("fillstyle").getText());
+			subMap.put(3, Integer.valueOf(paintElement.element("linewidth").getText()).intValue());
+			subMap.put(4, Integer.valueOf(paintElement.element("strokestyle").getText()).intValue());
+			subMap.put(5, Integer.valueOf(paintElement.element("counter").getText()).intValue());
+			subMap.put(6, Float.valueOf(paintElement.element("x").getText()).floatValue());
+			subMap.put(7, Float.valueOf(paintElement.element("y").getText()).floatValue());
+			subMap.put(8, Float.valueOf(paintElement.element("width").getText()).floatValue());
+			subMap.put(9, Float.valueOf(paintElement.element("height").getText()).floatValue());
+			subMap.put(10, paintElement.element("layername").getText());		
+			
+		} catch (Exception err) {
+			log.error("createListObjectPaintByNode",err);
+		}
+	}
+	
+	/**
+	 * @deprecated
+	 * @param paintElement
+	 * @param subMap
+	 */
+	public void createListObjectLetterByNode(Element paintElement, LinkedHashMap<Integer,Object> subMap){
+		try {
+
+			subMap.put(1, paintElement.element("textforfield").getText());
+			subMap.put(2, Integer.valueOf(paintElement.element("fgcolor").getText()).intValue());
+			subMap.put(3, Integer.valueOf(paintElement.element("fontsize").getText()).intValue());
+			subMap.put(4, paintElement.element("fontstyle").getText());
+			subMap.put(5, Integer.valueOf(paintElement.element("counter").getText()).intValue());
+			subMap.put(6, Float.valueOf(paintElement.element("x").getText()).floatValue());
+			subMap.put(7, Float.valueOf(paintElement.element("y").getText()).floatValue());			
+			subMap.put(8, Float.valueOf(paintElement.element("width").getText()).floatValue());		
+			subMap.put(9, Float.valueOf(paintElement.element("height").getText()).floatValue());		
+			subMap.put(10, paintElement.element("layername").getText());
+			
+		} catch (Exception err) {
+			log.error("createListObjectLetterByNode",err);
+		}
+	}	
+	
+	/**
+	 * @deprecated
+	 * @param paintElement
+	 * @param subMap
+	 */
+	public void createListObjectImageByNode(Element paintElement, LinkedHashMap<Integer,Object> subMap){
+		try {
+
+			subMap.put(1, paintElement.element("urlname").getText());
+			subMap.put(2, paintElement.element("baseurl").getText());
+			subMap.put(3, paintElement.element("filename").getText());
+			subMap.put(4, paintElement.element("modulename").getText());
+			subMap.put(5, paintElement.element("parentpath").getText());
+			subMap.put(6, paintElement.element("room").getText());
+			subMap.put(7, paintElement.element("domain").getText());
+			subMap.put(8, Integer.valueOf(paintElement.element("counter").getText()).intValue());
+			subMap.put(9, Float.valueOf(paintElement.element("x").getText()).floatValue());
+			subMap.put(10, Float.valueOf(paintElement.element("y").getText()).floatValue());
+			subMap.put(11, Float.valueOf(paintElement.element("width").getText()).floatValue());
+			subMap.put(12, Float.valueOf(paintElement.element("height").getText()).floatValue());
+			subMap.put(13, paintElement.element("layername").getText());		
+			
+		} catch (Exception err) {
+			log.error("createListObjectImageByNode",err);
+		}
+	}	
+	
+	/**
+	 * @deprecated
+	 * @param paintElement
+	 * @param subMap
+	 */
+	public void createListObjectObjecByNode(Element paintElement, LinkedHashMap<Integer,Object> subMap){
+		try {	
+			
+			subMap.put(1, paintElement.element("fillstyle").getText());
+			subMap.put(2, paintElement.element("linewidth").getText());
+			subMap.put(3, Integer.valueOf(paintElement.element("strokestyle").getText()).intValue());
+			subMap.put(4, Float.valueOf(paintElement.element("startx").getText()).floatValue());
+			subMap.put(5, Float.valueOf(paintElement.element("starty").getText()).floatValue());
+			subMap.put(6, Float.valueOf(paintElement.element("endx").getText()).floatValue());
+			subMap.put(7, Float.valueOf(paintElement.element("endy").getText()).floatValue());
+			subMap.put(8, Integer.valueOf(paintElement.element("counter").getText()).intValue());
+			subMap.put(9, Float.valueOf(paintElement.element("x").getText()).floatValue());
+			subMap.put(10, Float.valueOf(paintElement.element("y").getText()).floatValue());
+			subMap.put(11, Float.valueOf(paintElement.element("width").getText()).floatValue());
+			subMap.put(12, Float.valueOf(paintElement.element("height").getText()).floatValue());
+			subMap.put(13, paintElement.element("layername").getText());
+			
+		} catch (Exception err) {
+			log.error("createListObjectObjecByNode",err);
+		}
+	}		
+	
+	/**
+	 * @deprecated
+	 * @param paintElement
+	 * @param subMap
+	 */
+	public void createListObjectRectAndEllipseByNode(Element paintElement, LinkedHashMap<Integer,Object> subMap){
+		try {	
+			
+			subMap.put(1, Integer.valueOf(paintElement.element("stroke").getText()).intValue());
+			subMap.put(2, paintElement.element("line").getText());
+			subMap.put(3, Integer.valueOf(paintElement.element("counter").getText()).intValue());
+			subMap.put(4, Float.valueOf(paintElement.element("x").getText()).floatValue());		
+			subMap.put(5, Float.valueOf(paintElement.element("y").getText()).floatValue());
+			subMap.put(6, Float.valueOf(paintElement.element("width").getText()).floatValue());
+			subMap.put(7, Float.valueOf(paintElement.element("height").getText()).floatValue());
+			subMap.put(8, paintElement.element("layername").getText());
+
+		} catch (Exception err) {
+			log.error("createListObjectObjecByNode",err);
+		}
+	}
+	
+	/**
+	 * @deprecated
+	 * @param paintElement
+	 * @param subMap
+	 */
+	public void createListObjectSWFByNode(Element paintElement, LinkedHashMap<Integer,Object> subMap){
+		try {
+
+			subMap.put(1, paintElement.element("urlname").getText());
+			subMap.put(2, paintElement.element("baseurl").getText());
+			subMap.put(3, paintElement.element("filename").getText());
+			subMap.put(4, paintElement.element("modulename").getText());
+			subMap.put(5, paintElement.element("parentpath").getText());
+			subMap.put(6, paintElement.element("room").getText());
+			subMap.put(7, paintElement.element("domain").getText());
+			subMap.put(8, Integer.valueOf(paintElement.element("slideNumber").getText()).intValue());
+			subMap.put(9, Float.valueOf(paintElement.element("innerx").getText()).floatValue());
+			subMap.put(10, Float.valueOf(paintElement.element("innery").getText()).floatValue());
+			subMap.put(11, Float.valueOf(paintElement.element("innerwidth").getText()).floatValue());
+			subMap.put(12, Float.valueOf(paintElement.element("innerheight").getText()).floatValue());
+			subMap.put(13, Integer.valueOf(paintElement.element("zoomlevel").getText()).intValue());
+			subMap.put(14, Float.valueOf(paintElement.element("initwidth").getText()).floatValue());
+			subMap.put(15, Float.valueOf(paintElement.element("initheight").getText()).floatValue());
+			subMap.put(16, Integer.valueOf(paintElement.element("currentzoom").getText()).intValue());
+			subMap.put(17, Integer.valueOf(paintElement.element("counter").getText()).intValue());
+			subMap.put(18, Float.valueOf(paintElement.element("x").getText()).floatValue());
+			subMap.put(19, Float.valueOf(paintElement.element("y").getText()).floatValue());
+			subMap.put(20, Float.valueOf(paintElement.element("width").getText()).floatValue());
+			subMap.put(21, Float.valueOf(paintElement.element("height").getText()).floatValue());
+			subMap.put(22, paintElement.element("layername").getText());		
+			
+		} catch (Exception err) {
+			log.error("createListObjectImageByNode",err);
+		}
+	}		
+	
+}
diff --git a/src/org/openmeetings/app/documents/LoadLibraryPresentation.java b/src/org/openmeetings/app/documents/LoadLibraryPresentation.java
new file mode 100644
index 0000000..c8e025b
--- /dev/null
+++ b/src/org/openmeetings/app/documents/LoadLibraryPresentation.java
@@ -0,0 +1,160 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.documents;
+
+import java.io.FileInputStream;
+import java.util.Iterator;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.io.SAXReader;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.file.dto.LibraryPresenationThumbs;
+import org.openmeetings.app.data.file.dto.LibraryPresentation;
+import org.openmeetings.app.data.file.dto.LibraryPresentationFile;
+import org.openmeetings.app.data.file.dto.LibraryPresentationThumb;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+public class LoadLibraryPresentation {
+	
+	private static final Logger log = Red5LoggerFactory.getLogger(LoadLibraryPresentation.class, OpenmeetingsVariables.webAppRootKey);
+	
+	private static LoadLibraryPresentation instance;
+
+	private LoadLibraryPresentation() {}
+
+	public static synchronized LoadLibraryPresentation getInstance() {
+		if (instance == null) {
+			instance = new LoadLibraryPresentation();
+		}
+		return instance;
+	}	
+	
+	public LibraryPresentation parseLibraryFileToObject(String filePath){
+		try {
+			LibraryPresentation lPresentation = new LibraryPresentation();
+			
+	        SAXReader reader = new SAXReader();
+	        Document document = reader.read( new FileInputStream(filePath) );
+	        
+	        Element root = document.getRootElement();
+	        
+	        for ( @SuppressWarnings("unchecked")
+			Iterator<Element> i = root.elementIterator(); i.hasNext(); ) {
+	        	
+	            Element item = i.next();
+	            
+	            log.debug(item.getName());
+	            
+	            String nodeVal = item.getName();
+	            
+	            //LinkedHashMap<String,Object> subMap = new LinkedHashMap<String,Object>();
+	            
+	            //subMap.put("name", nodeVal);
+
+				if (nodeVal.equals("originalDocument")){
+					
+					lPresentation.setOriginalDocument(this.createListObjectLibraryByFileDocument(item));
+					
+				} else if (nodeVal.equals("pdfDocument")){
+					
+					lPresentation.setPdfDocument(this.createListObjectLibraryByFileDocument(item));
+					
+				} else if (nodeVal.equals("swfDocument")){
+					
+					lPresentation.setSwfDocument(this.createListObjectLibraryByFileDocument(item));
+					
+				} else if (nodeVal.equals("thumbs")) {
+					
+					lPresentation.setThumbs(this.createListObjectLibraryByFileDocumentThumbs(item));
+					
+				} else {
+					throw new Exception("Unkown Library type: "+nodeVal);
+				}
+	            
+	        }
+	        
+	        log.debug("Returning presentation file object");
+			
+			return lPresentation;
+		} catch (Exception err) {
+			log.error("parseLibraryFileToObject",err);
+			return null;
+		}
+	}
+	
+	public LibraryPresentationFile createListObjectLibraryByFileDocument(Element fileElement){
+		try {
+			
+			log.info("createListObjectLibraryByFileDocument"+fileElement);
+			
+			LibraryPresentationFile libraryPresentationFile = new LibraryPresentationFile();
+			libraryPresentationFile.setName(fileElement.getName());
+			libraryPresentationFile.setFilename(fileElement.getText());
+			libraryPresentationFile.setLastmod(fileElement.attribute("lastmod").getText());
+			libraryPresentationFile.setSize(Long.valueOf(fileElement.attribute("size").getText()).longValue());
+			
+			return libraryPresentationFile;
+			
+		} catch (Exception err) {
+			log.error("createListObjectLibraryByFileDocument",err);
+		}
+		return null;
+	}		
+	
+	public LibraryPresenationThumbs createListObjectLibraryByFileDocumentThumbs(Element fileElement){
+		try {
+			
+			LibraryPresenationThumbs thumbMap = new LibraryPresenationThumbs();
+			thumbMap.setName(fileElement.getName());
+			
+			Integer k = 0;
+			for ( @SuppressWarnings("unchecked")
+			Iterator<Element> i = fileElement.elementIterator(); i.hasNext(); i.next()) {
+				k++;
+			}
+			
+			thumbMap.setThumbs(new LibraryPresentationThumb[k]);
+			
+			
+			k = 0;
+			for ( @SuppressWarnings("unchecked")
+			Iterator<Element> i = fileElement.elementIterator(); i.hasNext(); ) {
+				Element thumbElement = i.next();
+				//log.info("createListObjectLibraryByFileDocumentThumbs"+thumbElement);
+				LibraryPresentationThumb singleThumb = new LibraryPresentationThumb();
+				singleThumb.setName(thumbElement.getName());
+				singleThumb.setFilename(thumbElement.getText());
+				singleThumb.setLastmod(thumbElement.attribute("lastmod").getText());
+				singleThumb.setSize(Long.valueOf(thumbElement.attribute("size").getText()).longValue());
+				thumbMap.getThumbs()[k] = singleThumb;
+				k++;
+			}
+			
+			
+			return thumbMap;
+			
+		} catch (Exception err) {
+			log.error("createListObjectLibraryByFileDocumentThumbs",err);
+		}
+		return null;
+	}	
+	
+}
diff --git a/src/org/openmeetings/app/documents/LoadLibraryPresentationToObject.java b/src/org/openmeetings/app/documents/LoadLibraryPresentationToObject.java
new file mode 100644
index 0000000..754ef9a
--- /dev/null
+++ b/src/org/openmeetings/app/documents/LoadLibraryPresentationToObject.java
@@ -0,0 +1,126 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.documents;
+
+import java.util.Iterator;
+import java.util.LinkedList;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.io.SAXReader;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.files.FilesObject;
+import org.openmeetings.app.data.basic.files.PresentationObject;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+public class LoadLibraryPresentationToObject {
+	
+	private static final Logger log = Red5LoggerFactory.getLogger(LoadLibraryPresentationToObject.class, OpenmeetingsVariables.webAppRootKey);
+	
+	private static LoadLibraryPresentationToObject instance;
+
+	private LoadLibraryPresentationToObject() {}
+
+	public static synchronized LoadLibraryPresentationToObject getInstance() {
+		if (instance == null) {
+			instance = new LoadLibraryPresentationToObject();
+		}
+		return instance;
+	}	
+	
+	public PresentationObject parseLibraryFileToObject(String filePath){
+		try {
+			PresentationObject lMap = new PresentationObject();
+			
+	        SAXReader reader = new SAXReader();
+	        Document document = reader.read(filePath);
+	        
+	        Element root = document.getRootElement();
+	        Integer k = 0;
+	        
+	        for (@SuppressWarnings("unchecked")
+			Iterator<Element> i = root.elementIterator(); i.hasNext(); ) {
+	            Element item = i.next();
+	            log.error(item.getName());
+	            
+	            String nodeVal = item.getName();
+	            
+				if (nodeVal.equals("originalDocument")){
+					lMap.setOriginalDocument(this.createListObjectLibraryByFileDocument(item));
+				} else if (nodeVal.equals("pdfDocument")){
+					lMap.setPdfDocument(this.createListObjectLibraryByFileDocument(item));
+				} else if (nodeVal.equals("swfDocument")) {
+					lMap.setSwfDocument(this.createListObjectLibraryByFileDocument(item));
+				} else if (nodeVal.equals("thumbs")) {
+					lMap.setThumbs(this.createListObjectLibraryByFileDocumentThumbs(item));
+				}
+	            
+	            k++;
+
+	        }
+			
+			return lMap;
+		} catch (Exception err) {
+			log.error("parseLibraryFileToObject",err);
+			return null;
+		}
+	}
+	
+	public FilesObject createListObjectLibraryByFileDocument(Element fileElement){
+		try {
+			
+			log.info("createListObjectLibraryByFileDocument"+fileElement);
+			FilesObject fileObject = new FilesObject();
+			fileObject.setFileName(fileElement.getText());
+			fileObject.setLastModified(fileElement.attribute("lastmod").getText());
+			fileObject.setFileBytes(fileElement.attribute("size").getText());
+			return fileObject;
+		} catch (Exception err) {
+			log.error("createListObjectLibraryByFileDocument",err);
+		}
+		return null;
+	}		
+	
+	public LinkedList<FilesObject> createListObjectLibraryByFileDocumentThumbs(Element fileElement){
+		try {
+
+			LinkedList<FilesObject> thumbMap = new LinkedList<FilesObject>();
+			
+			for (@SuppressWarnings("unchecked")
+			Iterator<Element> i = fileElement.elementIterator(); i.hasNext(); ) {
+				Element thumbElement = i.next();
+				log.info("createListObjectLibraryByFileDocumentThumbs"+thumbElement);
+				FilesObject singleThumb = new FilesObject();
+				singleThumb.setFileName(thumbElement.getName());
+				singleThumb.setFileNamePure(thumbElement.getText());
+				singleThumb.setLastModified(thumbElement.attribute("lastmod").getText());
+				singleThumb.setFileBytes(thumbElement.attribute("size").getText());
+				thumbMap.add(singleThumb);
+			}
+			
+			return thumbMap;
+			
+		} catch (Exception err) {
+			log.error("createListObjectLibraryByFileDocumentThumbs",err);
+		}
+		return null;
+	}	
+	
+}
diff --git a/src/org/openmeetings/app/installation/ImportInitvalues.java b/src/org/openmeetings/app/installation/ImportInitvalues.java
new file mode 100644
index 0000000..5a395dc
--- /dev/null
+++ b/src/org/openmeetings/app/installation/ImportInitvalues.java
@@ -0,0 +1,1010 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.installation;
+
+import java.io.File;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.io.SAXReader;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.ErrorManagement;
+import org.openmeetings.app.data.basic.FieldLanguageDaoImpl;
+import org.openmeetings.app.data.basic.Fieldmanagment;
+import org.openmeetings.app.data.basic.Navimanagement;
+import org.openmeetings.app.data.basic.dao.OmTimeZoneDaoImpl;
+import org.openmeetings.app.data.calendar.daos.AppointmentCategoryDaoImpl;
+import org.openmeetings.app.data.calendar.daos.AppointmentReminderTypDaoImpl;
+import org.openmeetings.app.data.conference.PollManagement;
+import org.openmeetings.app.data.conference.Roommanagement;
+import org.openmeetings.app.data.user.Organisationmanagement;
+import org.openmeetings.app.data.user.Salutationmanagement;
+import org.openmeetings.app.data.user.Statemanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
+import org.openmeetings.app.persistence.beans.lang.Fieldvalues;
+import org.openmeetings.utils.ImportHelper;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class ImportInitvalues {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			ImportInitvalues.class, OpenmeetingsVariables.webAppRootKey);
+
+	public static final String languageFolderName = "languages/";
+	private static final String nameOfLanguageFile = "languages.xml";
+	private static final String nameOfCountriesFile = "countries.xml";
+	private static final String nameOfTimeZoneFile = "timezones.xml";
+	private static final String nameOfErrorFile = "errorvalues.xml";
+
+	@Autowired
+	private Configurationmanagement cfgManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private UsersDaoImpl usersDao;
+	@Autowired
+	private Fieldmanagment fieldmanagment;
+	@Autowired
+	private FieldLanguageDaoImpl fieldLanguageDaoImpl;
+	@Autowired
+	private Statemanagement statemanagement;
+	@Autowired
+	private OmTimeZoneDaoImpl omTimeZoneDaoImpl;
+	@Autowired
+	private Navimanagement navimanagement;
+	@Autowired
+	private ErrorManagement errorManagement;
+	@Autowired
+	private Salutationmanagement salutationmanagement;
+	@Autowired
+	private Organisationmanagement organisationmanagement;
+	@Autowired
+	private Roommanagement roommanagement;
+	@Autowired
+	private AppointmentCategoryDaoImpl appointmentCategoryDaoImpl;
+	@Autowired
+	private AppointmentReminderTypDaoImpl appointmentReminderTypDaoImpl;
+	@Autowired
+	private PollManagement pollManagement;
+
+	public void loadMainMenu() {
+
+		userManagement.addUserLevel("User", 1);
+		userManagement.addUserLevel("Moderator", 2);
+		userManagement.addUserLevel("Admin", 3);
+		userManagement.addUserLevel("Web-Service (only access via SOAP)", 4);
+		log.debug("UserLevels ADDED");
+
+		/*
+		 * ######################## Dashboard Menu Points
+		 */
+		navimanagement.addGlobalStructure("home", 1, 124, false, true, 1,
+				"home", "false", 582L);
+		navimanagement.addMainStructure("dashboardModuleStartScreen", 1, 290,
+				true, false, 1, "Dashboard Module", 1, "false", 1450L);
+		navimanagement.addMainStructure("dashboardModuleCalendar", 2, 291,
+				true, false, 1, "Module Calendar", 1, "false", 1451L);
+
+		/*
+		 * ######################## Recording Menu Points - disabled by default
+		 */
+
+		navimanagement.addGlobalStructure("record", 2, 395, false, true, 1,
+				"record", "false", 583L);
+		navimanagement.addMainStructure("recordModule", 1, 395, true, false, 1,
+				"Module Recording Player", 2, "false", 1452L);
+
+		/*
+		 * String action, int naviorder, long fieldvalues_id, boolean isleaf,
+		 * boolean isopen, long level_id, String name, long global_id
+		 */
+
+		/*
+		 * ######################## Conference Menu Points
+		 */
+
+		navimanagement.addGlobalStructure("meetings", 3, 792, false, true, 1,
+				"List of Conference Rooms Global Navi", "false", 793L);
+
+		navimanagement.addMainStructure("conferenceModuleRoomList", 1, 792,
+				true, false, 1, "List of Conference Rooms Main Navi", 3,
+				"false", 1453L);
+
+		/*
+		 * ######################## Event Menu Points
+		 */
+
+		navimanagement.addGlobalStructure("events", 4, 3, false, true, 1,
+				"List of Event Rooms Global Navi", "true", 585L);
+
+		navimanagement.addMainStructure("eventModuleRoomList", 1, 3, true,
+				false, 1, "List of Event Rooms Main Navi", 4, "false", null);
+
+		/*
+		 * ######################## Moderation Menu Points - disabled by default
+		 */
+		navimanagement.addGlobalStructure("moderate", 5, 649L, false, true, 2,
+				"Moderation Menu", "true", 660L);
+
+		navimanagement.addMainStructure("moderatorModuleUser", 1, 650, true,
+				false, 1, "Moderate Users", 5, "false", null);
+
+		navimanagement.addMainStructure("moderatorModuleRoom", 1, 651, true,
+				false, 1, "Moderate Rooms", 5, "false", null);
+
+		/*
+		 * ######################## Administration Menu Points
+		 */
+
+		navimanagement.addGlobalStructure("admin", 6, 6, false, true, 3,
+				"Administration Menu", "false", 586L);
+
+		navimanagement.addMainStructure("adminModuleUser", 14, 125, true,
+				false, 2, "Administration of Users", 6, "false", 1454L);
+
+		navimanagement.addMainStructure("adminModuleConnections", 15, 597,
+				true, false, 3, "Aministration of Connections", 6, "false",
+				1455L);
+
+		navimanagement.addMainStructure("adminModuleOrg", 16, 127, true, false,
+				3, "Administration of Organizations", 6, "false", 1456L);
+
+		navimanagement.addMainStructure("adminModuleRoom", 17, 186, true,
+				false, 3, "Administration of Rooms", 6, "false", 1457L);
+
+		navimanagement.addMainStructure("adminModuleConfiguration", 18, 263,
+				true, false, 3, "Administration of Configuration", 6, "false",
+				1458L);
+
+		navimanagement.addMainStructure("adminModuleLanguages", 19, 348, true,
+				false, 3, "Administration of Languages", 6, "false", 1459L);
+
+		navimanagement.addMainStructure("adminModuleLDAP", 20, 1103, true,
+				false, 3, "Administration of LDAP Configs", 6, "false", 1460L);
+
+		navimanagement.addMainStructure("adminModuleBackup", 21, 367, true,
+				false, 3, "Administration of Backups", 6, "false", 1461L);
+		log.debug("MainMenu ADDED");
+
+		errorManagement.addErrorType(new Long(1), new Long(322));
+		errorManagement.addErrorType(new Long(2), new Long(323));
+		log.debug("Error types ADDED");
+	}
+
+	public void loadErrorMappingsFromXML(String filePath) throws Exception {
+
+		SAXReader reader = new SAXReader();
+		Document document = reader.read(new File(filePath, ImportInitvalues.nameOfErrorFile));
+
+		Element root = document.getRootElement();
+
+		for (@SuppressWarnings("unchecked")
+		Iterator<Element> it = root.elementIterator("row"); it.hasNext();) {
+
+			Element row = it.next();
+
+			Long errorvalues_id = null;
+			Long fieldvalues_id = null;
+			Long errortype_id = null;
+
+			for (@SuppressWarnings("unchecked")
+			Iterator<Element> itSub = row.elementIterator("field"); itSub
+					.hasNext();) {
+
+				Element field = itSub.next();
+
+				String name = field.attributeValue("name");
+				String text = field.getText();
+				// System.out.println("NAME | TEXT "+name+" | "+text);
+				if (name.equals("errorvalues_id"))
+					errorvalues_id = Long.valueOf(text).longValue();
+				if (name.equals("fieldvalues_id"))
+					fieldvalues_id = Long.valueOf(text).longValue();
+				if (name.equals("errortype_id"))
+					errortype_id = Long.valueOf(text).longValue();
+			}
+
+			errorManagement.addErrorValues(errorvalues_id, errortype_id,
+					fieldvalues_id);
+		}
+		log.debug("ErrorMappings ADDED");
+	}
+
+	public void loadSalutations() {
+		salutationmanagement.addUserSalutation("Mr", 261);
+		salutationmanagement.addUserSalutation("Ms", 262);
+		salutationmanagement.addUserSalutation("Mrs", 841);
+		salutationmanagement.addUserSalutation("Dr", 842);
+		salutationmanagement.addUserSalutation("Prof", 1464);
+		log.debug("Salutations ADDED");
+	}
+
+	public void loadConfiguration(InstallationConfig cfg) {
+		cfgManagement
+				.addConfByKey(
+						3,
+						"crypt_ClassName",
+						cfg.cryptClassName,
+						null,
+						"This Class is used for Authentification-Crypting. "
+								+ "Be carefull what you do here! If you change it while "
+								+ "running previous Pass of users will not be workign anymore! "
+								+ "for more Information see http://code.google.com/p/openmeetings/wiki/CustomCryptMechanism");
+
+		cfgManagement.addConfByKey(3, "screen_viewer", cfg.screenViewer, null,
+				"ScreenViewer Type(0==standard, 1== jrdesktop)");
+
+		cfgManagement.addConfByKey(3, "allow_frontend_register",
+				cfg.allowFrontendRegister, null, "");
+
+		cfgManagement.addConfByKey(3, "default_group_id", "1", null, "");
+
+		// this domain_id is the Organisation of users who register through the
+		// frontend
+		cfgManagement.addConfByKey(3, "default_domain_id", "1", null, "");
+
+		// "smtp.xmlcrm.org"
+		cfgManagement.addConfByKey(3, "smtp_server", cfg.smtpServer, null,
+				"this is the smtp server to send messages");
+		// 25
+		cfgManagement.addConfByKey(3, "smtp_port", cfg.smtpPort, null,
+				"this is the smtp server port normally 25");
+		// "openmeetings@xmlcrm.org"
+		cfgManagement.addConfByKey(3, "system_email_addr", cfg.mailReferer, null,
+				"all send EMails by the system will have this address");
+		// "openmeetings@xmlcrm.org"
+		cfgManagement.addConfByKey(3, "email_username", cfg.mailAuthName, null,
+				"System auth email username");
+		//
+		cfgManagement.addConfByKey(3, "email_userpass", cfg.mailAuthPass, null,
+				"System auth email password");
+
+		cfgManagement.addConfByKey(3, "mail.smtp.starttls.enable", cfg.mailUseTls,
+				null, "Enable TLS 1=true, 0=false");
+
+		cfgManagement.addConfByKey(3, "application.name",
+				Configurationmanagement.DEFAULT_APP_NAME, null,
+				"Name of the Browser Title window");
+
+		// "1" == "EN"
+		cfgManagement.addConfByKey(3, "default_lang_id", cfg.defaultLangId, null,
+				"Default System Language ID see language.xml");
+
+		cfgManagement.addConfByKey(3, "swftools_zoom", cfg.swfZoom, null,
+				"dpi for conversion of PDF to SWF");
+
+		cfgManagement.addConfByKey(3, "swftools_jpegquality", cfg.swfJpegQuality, null,
+				"compression quality for conversion of PDF to SWF");
+
+		cfgManagement.addConfByKey(3, "swftools_path", cfg.swfPath, null,
+				"Path To SWF-Tools");
+
+		cfgManagement.addConfByKey(3, "imagemagick_path", cfg.imageMagicPath, null,
+				"Path to ImageMagick tools");
+
+		cfgManagement.addConfByKey(3, "sox_path", cfg.soxPath, null,
+				"Path To SoX-Tools");
+
+		cfgManagement.addConfByKey(3, "ffmpeg_path", cfg.ffmpegPath, null,
+				"Path To FFMPEG");
+		cfgManagement.addConfByKey(3, "office.path", cfg.officePath, null,
+				"The path to OpenOffice/LibreOffice (optional) please set this to the real path in case jodconverter is unable to find OpenOffice/LibreOffice installation automatically");
+		cfgManagement
+			.addConfByKey(
+					3,
+					"jod.path",
+					cfg.jodPath,
+					null,
+					"The path to JOD library (http://code.google.com/p/jodconverter), configure the path to point to the lib directory of JOD that contains also the jodconverter-core-version.jar");
+
+		
+		cfgManagement.addConfByKey(3, "rss_feed1", cfg.urlFeed, null, "Feed URL");
+
+		cfgManagement.addConfByKey(3, "rss_feed2", cfg.urlFeed2, null,
+				"Feed URL 2");
+
+		cfgManagement
+				.addConfByKey(3, "sendEmailAtRegister", cfg.sendEmailAtRegister,
+						null,
+						"User get a EMail with their Account data. Values: 0(No) or 1(Yes)");
+
+		cfgManagement
+				.addConfByKey(
+						3,
+						"sendEmailWithVerficationCode",
+						cfg.sendEmailWithVerficationCode,
+						null,
+						"User must activate their account by clicking on the "
+								+ "activation-link in the registering Email. Values: 0(No) or 1(Yes) "
+								+ "It makes no sense to make this(sendEmailWithVerficationCode) 1(Yes) while "
+								+ "sendEmailAtRegister is 0(No) cause you need"
+								+ "to send a EMail.");
+		cfgManagement
+				.addConfByKey(
+						3,
+						"default_export_font",
+						cfg.defaultExportFont,
+						null,
+						"The Name of the Font used for exporting/render Images from Whiteboard"
+								+ "The Font has to exist on the Server which runs Red5");
+
+		cfgManagement.addConfByKey(3, "default.rpc.userid", "" + 1, null,
+				"The User-Id of the Control User in OpenMeetings");
+
+        // ***************************************
+        // ***************************************
+        // red5SIP Integration Coniguration Values
+        // ***************************************
+
+        cfgManagement.addConfByKey(3, "red5sip.enable", cfg.red5SipEnable, null,
+				"Enable to enable the red5SIP integration ");
+        cfgManagement.addConfByKey(3, "red5sip.room_prefix", cfg.red5SipRoomPrefix, null,
+				"Enable to enable the red5SIP integration ");
+        cfgManagement.addConfByKey(3, "red5sip.exten_context", cfg.red5SipExtenContext, null,
+				"Enable to enable the red5SIP integration ");
+
+		// ***************************************
+		// ***************************************
+		// SIP Applet Configuration Values
+		// ***************************************
+
+		cfgManagement.addConfByKey(3, "sip.enable", cfg.sipEnable, null,
+				"Enable to load the SIP Applet in the Client and "
+						+ "call the SIP Applet whenever you enter a Room");
+
+		cfgManagement.addConfByKey(3, "sip.realm", cfg.sipRealm, null,
+				"So called *Domain of the SIP Provider*");
+
+		cfgManagement.addConfByKey(3, "sip.port", cfg.sipPort, null, "SIP Port");
+
+		cfgManagement.addConfByKey(3, "sip.proxyname", cfg.sipProxyName, null,
+				"SIP Proxy name (this is the outbound proxy)");
+
+		cfgManagement
+				.addConfByKey(3, "sip.tunnel", cfg.sipTunnel, null,
+						"SIP Tunnel IP + Port, format domain:port, for example 10.0.0.0:443");
+
+		cfgManagement.addConfByKey(3, "sip.codebase", cfg.sipCodebase, null,
+				"The Base-URL to load the Ringtone from");
+
+		cfgManagement.addConfByKey(3, "sip.forcetunnel", cfg.sipForceTunnel, null,
+				"Force usage of the tunnel");
+
+		// ***************************************
+		// ***************************************
+		// OpenXG Configuration Values
+		// ***************************************
+
+		cfgManagement.addConfByKey(3, "sip.openxg.enable", cfg.sipOpenxgEnable,
+				null,
+				"Enable the OpenXG XML-RPC Gateway through the Wrapper URL");
+
+		cfgManagement
+				.addConfByKey(
+						3,
+						"openxg.wrapper.url",
+						cfg.openxgWrapperUrl,
+						null,
+						"openxg_wrapper_url, null, OpenXG XML-RPC Wrapper URL, the Wrapper can only "
+								+ "be located on 127.0.01 by default, "
+								+ "for example http://127.0.0.1:5080/rpc_client/rpc_gateway_wrapper.php");
+
+		cfgManagement.addConfByKey(3, "openxg.client.id", cfg.openxgClientId,
+				null, "OpenXG XML-RPC Client ID");
+
+		cfgManagement.addConfByKey(3, "openxg.client.secret",
+				cfg.openxgClientSecret, null, "OpenXG XML-RPC Client Secret");
+
+		cfgManagement.addConfByKey(3, "openxg.client.domain",
+				cfg.openxgClientDomain, null, "OpenXG Domain");
+
+		cfgManagement.addConfByKey(3, "openxg.community.code",
+				cfg.openxgCommunityCode, null, "OpenXG Community Code");
+
+		cfgManagement.addConfByKey(3, "openxg.language.code",
+				cfg.openxgLanguageCode, null, "OpenXG Language Code");
+
+		cfgManagement.addConfByKey(3, "openxg.adminid", cfg.openxgAdminId, null,
+				"OpenXG Admin ID");
+
+		// ***************************************
+		// ***************************************
+		// Phone Range Configuration Values
+		// ***************************************
+
+		cfgManagement.addConfByKey(3, "sip.language.phonecode",
+				cfg.sipLanguagePhoneCode, null, "For example +358 for Finland");
+
+		cfgManagement
+				.addConfByKey(3, "sip.phonerange.start", cfg.sipPhoneRangeStart,
+						null,
+						"The first number in the Range of Phone Numbers in national format");
+
+		cfgManagement.addConfByKey(3, "sip.phonerange", cfg.sipPhoneRange, null,
+				"Amount of numbers in the Phone Range available");
+
+		cfgManagement.addConfByKey(3, "sip.phonerange.currentindex", "" + 0,
+				null, "Number of used Phone Numbers in the sip.phonerange");
+
+		cfgManagement
+				.addConfByKey(3, "sip.phonerange.conference.currentindex",
+						"" + 0, null,
+						"Number of used Phone Numbers in the sip.phonerange for the conferences");
+
+		// ***************************************
+		// ***************************************
+		// Timezone settings
+		// ***************************************
+
+		cfgManagement.addConfByKey(3, "default.timezone", cfg.ical_timeZone,
+				null, "This is the default timezone if nothing is specified");
+
+		// ***************************************
+		// ***************************************
+		// additional settings
+		// ***************************************
+
+		cfgManagement.addConfByKey(3, "show.facebook.login", "" + 0, null,
+				"Show Facebook Login");
+
+		cfgManagement.addConfByKey(3, "default.quality.screensharing", "1",
+						null,
+						"Default selection in ScreenSharing Quality:\n 0 - bigger frame rate, no resize\n 1 - no resize\n 2 - size == 1/2 of selected area\n 3 - size == 3/8 of selected area");
+
+		cfgManagement.addConfByKey(3, "default.dashboard.tab", "0", null,
+				"Default selection in Dashboard tabs as tab-index-id");
+
+		cfgManagement.addConfByKey(3, "dashboard.show.myrooms", "1", null,
+				"Show My Rooms Tab");
+
+		cfgManagement.addConfByKey(3, "dashboard.show.chat", "1", null,
+				"Show Chat Tab");
+
+		cfgManagement.addConfByKey(3, "dashboard.show.rssfeed", "0", null,
+				"Show RSS Tab");
+
+		cfgManagement
+				.addConfByKey(
+						3,
+						"show.whiteboard.draw.status",
+						"0",
+						null,
+						"Display name of the user who draw the current object (User Name auto-disapper after 3 seconds.");
+
+		cfgManagement.addConfByKey(3, "max_upload_size", new Integer(
+				ImportHelper.DEFAULT_MAX_UPLOAD_SIZE).toString(), null,
+				"Maximum size of upload file (bytes)"); // defaults to 1GB
+
+		cfgManagement
+				.addConfByKey(
+						3,
+						"number.minutes.reminder.send",
+						"15",
+						null,
+						"The number of minutes before reminder emails are send. Set to 0 to disable reminder emails");
+
+		cfgManagement.addConfByKey(3, "user.login.minimum.length", "" + InstallationConfig.USER_LOGIN_MINIMUM_LENGTH, null,
+				"Number of chars needed in a user login");
+
+		cfgManagement.addConfByKey(3, "user.pass.minimum.length", "" + InstallationConfig.USER_PASSWORD_MINIMUM_LENGTH, null,
+				"Number of chars needed in a user login");
+
+		cfgManagement
+				.addConfByKey(3, "calendar.conference.rooms.default.size",
+						"50", null,
+						"Default number of participants conference room created via calendar");
+
+		cfgManagement
+				.addConfByKey(
+						3,
+						"use.old.style.ffmpeg.map.option",
+						"0",
+						null,
+						"specify a 1 if you would like to use old FFMPEG -map option with 0.0 instead of 0:0");
+
+		// give exclusive audio key code
+		cfgManagement
+				.addConfByKey(
+						3,
+						"exclusive.audio.keycode",
+						"123",
+						null,
+						"A hot key code for the 'give exclusive audio' functionality. Keycode 123 is F12");
+
+		// system-wide ldap params
+		cfgManagement.addConfByKey(
+						3, 
+						"ldap_default_id", 
+						"0", 
+						null,
+						"Ldap domain selected by default in the login screen");
+		
+		// set inviter's email address as ReplyTo in email invitations
+		cfgManagement.addConfByKey(
+						3, 
+						"inviter.email.as.replyto", 
+						cfg.replyToOrganizer, 
+						null,
+						"Set inviter's email address as ReplyTo in email invitations (1 == set, 0 == NOT set)");
+		
+		log.debug("Configuration ADDED");
+	}
+
+	public void loadRoomTypes() {
+		long conference_Id = roommanagement
+				.addRoomType("conference (1-25 users)", false);
+		log.debug("conference_Id: " + conference_Id);
+		
+		//Audience room type is not in use anymore
+		roommanagement.addRoomType("audience (1-50 users)", true);
+
+		long restricted_Id = roommanagement
+				.addRoomType("restricted  (1-150 users)", false);
+		log.debug("restricted_Id: " + restricted_Id);
+
+		long interview_Id = roommanagement
+				.addRoomType("interview  (1:1 meeting with recording)", false);
+		log.debug("interview_Id: " + interview_Id);
+		
+		//Custom room type is not in use anymore
+		roommanagement.addRoomType("custom (extension point for your plugin)", true);
+		log.debug("RoomTypes ADDED");
+	}
+	
+	public void loadDefaultRooms(boolean createRooms) {
+		if (createRooms) {
+			//hardcoded IDs (they are not intended to be changed)
+			long conference_Id = 1;
+			long restricted_Id = 3;
+			long interview_Id = 4;
+			
+			roommanagement.addRoom(3, "public Interview Room", interview_Id,
+					"", new Long(16), true, null, false, false, null, false,
+					null, true, false, false, "", "", "", null, null, null,
+					false, // hideTopBar
+					false, // hideChat
+					false, // hideActivitiesAndActions
+					false, // hideFilesExplorer
+					false, // hideActionsMenu
+					false, // hideScreenSharing
+					false, // hideWhiteboard
+					false // showMicrophoneStatus
+					);
+
+			roommanagement.addRoom(3, "public Conference Room", conference_Id,
+					"", new Long(32), true, null, false, false, null, false,
+					null, true, false, false, "", "", "", null, null, null,
+					false, // hideTopBar
+					false, // hideChat
+					false, // hideActivitiesAndActions
+					false, // hideFilesExplorer
+					false, // hideActionsMenu
+					false, // hideScreenSharing
+					false, // hideWhiteboard
+					false // showMicrophoneStatus
+					);
+
+			roommanagement.addRoom(3, "public Video Only Room", conference_Id,
+					"", new Long(32), true, null, false, false, null, false,
+					null, true, false, false, "", "", "", null, null, null,
+					false, // hideTopBar
+					false, // hideChat
+					false, // hideActivitiesAndActions
+					false, // hideFilesExplorer
+					false, // hideActionsMenu
+					false, // hideScreenSharing
+					false, // hideWhiteboard
+					false // showMicrophoneStatus
+					);
+
+			roommanagement.addRoom(3, "public Video And Whiteboard Room",
+					conference_Id, "", new Long(32), true, null, false, false,
+					null, false, null, true, false, false, "", "", "", null,
+					null, null, false, // hideTopBar
+					false, // hideChat
+					false, // hideActivitiesAndActions
+					false, // hideFilesExplorer
+					false, // hideActionsMenu
+					false, // hideScreenSharing
+					false, // hideWhiteboard
+					false // showMicrophoneStatus
+					);
+
+			roommanagement.addRoom(3, "public Restricted Room", restricted_Id,
+					"", new Long(100), true, null, false, false, null, false,
+					null, true, false, false, "", "", "", null, null, null,
+					false, // hideTopBar
+					false, // hideChat
+					false, // hideActivitiesAndActions
+					false, // hideFilesExplorer
+					false, // hideActionsMenu
+					false, // hideScreenSharing
+					false, // hideWhiteboard
+					false // showMicrophoneStatus
+					);
+
+			roommanagement.addRoom(3, "restricted room with micro option set",
+					restricted_Id, "", new Long(100), true, null, false, false,
+					null, false, null, true, false, false, "", "", "", null,
+					null, null, false, // hideTopBar
+					false, // hideChat
+					false, // hideActivitiesAndActions
+					false, // hideFilesExplorer
+					false, // hideActionsMenu
+					false, // hideScreenSharing
+					false, // hideWhiteboard
+					true // showMicrophoneStatus
+					);
+
+			roommanagement.addRoom(3, "conference room with micro option set",
+					conference_Id, "", new Long(32), true, null, false, false,
+					null, false, null, true, false, false, "", "", "", null,
+					null, null, false, // hideTopBar
+					false, // hideChat
+					false, // hideActivitiesAndActions
+					false, // hideFilesExplorer
+					false, // hideActionsMenu
+					false, // hideScreenSharing
+					false, // hideWhiteboard
+					true // showMicrophoneStatus
+					);
+
+			long room2 = roommanagement.addRoom(3, "private Conference Room",
+					conference_Id, "", new Long(32), false, null, false, false,
+					null, false, null, true, false, false, "", "", "", null,
+					null, null, false, // hideTopBar
+					false, // hideChat
+					false, // hideActivitiesAndActions
+					false, // hideFilesExplorer
+					false, // hideActionsMenu
+					false, // hideScreenSharing
+					false, // hideWhiteboard
+					false // showMicrophoneStatus
+					);
+
+			roommanagement.addRoomToOrganisation(3, room2, 1);
+			
+		}
+	}
+
+	public void loadInitUserAndOrganisation(String username, String userpass,
+			String email, String defaultOrganisationName, String ical_timeZone,
+			String configdefaultLang) {
+		// Add user
+		try {
+
+			Long default_lang_id = Long.parseLong(configdefaultLang);
+			if (default_lang_id == null)
+				default_lang_id = 1L;
+
+			// Add default group
+			Long organisation_id = organisationmanagement.addOrganisation(
+					defaultOrganisationName, 1);
+
+			// BaseUrl as param is empty as we do not send an EMAIL here
+			Long user_id = userManagement.registerUserInit(new Long(3), 3, 1,
+					1, username, userpass, "lastname", "firstname", email,
+					new java.util.Date(), "street", "no", "fax", "zip", 1,
+					"town", default_lang_id, false,
+					Arrays.asList(organisation_id), "phone", "", false, "", "",
+					"", false, omTimeZoneDaoImpl.getOmTimeZoneByIcal(ical_timeZone), false, "", "", false, true);
+
+			log.debug("Installation - User Added user-Id " + user_id);
+
+			if (user_id < 0) {
+				throw new Exception(
+						"Could not add user user returns a negative error message: "
+								+ user_id);
+			}
+		} catch (Exception e) {
+			log.error("[loadInitUserAndOrganisation] ", e);
+		}
+	}
+
+	/**
+	 * import all language Names from the xml file
+	 * 
+	 * @param filePath
+	 * @throws Exception
+	 */
+	private void loadCountriesFiles(String filePath) throws Exception {
+		SAXReader reader = new SAXReader();
+		Document document = reader.read(new File(filePath, ImportInitvalues.nameOfCountriesFile));
+
+		Element root = document.getRootElement();
+
+		for (@SuppressWarnings("rawtypes")
+		Iterator it = root.elementIterator("country"); it.hasNext();) {
+			Element item = (Element) it.next();
+
+			statemanagement.addState(
+				item.attributeValue("name")
+				, item.attributeValue("short")
+				, Integer.parseInt(item.attributeValue("code")));
+		}
+		log.debug("Countries ADDED");
+	}
+
+	private void loadTimeZoneFiles(String filePath) throws Exception {
+		SAXReader reader = new SAXReader();
+		Document document = reader.read(new File(filePath, ImportInitvalues.nameOfTimeZoneFile));
+
+		Element root = document.getRootElement();
+
+		for (@SuppressWarnings("rawtypes")
+		Iterator it = root.elementIterator("timezone"); it.hasNext();) {
+			Element item = (Element) it.next();
+			String timeZoneName = item.attributeValue("name");
+			String timeZoneLabel = item.attributeValue("label");
+			String iCal = item.attributeValue("iCal");
+			Integer orderId = Integer.valueOf(item.attributeValue("orderId"));
+
+			omTimeZoneDaoImpl.addOmTimeZone(timeZoneName, timeZoneLabel, iCal,
+					orderId);
+		}
+		log.debug("TimeZones ADDED");
+	}
+
+	public List<OmTimeZone> getTimeZones(String filePath) throws Exception {
+		log.debug(":: getTimeZones ::");
+
+		List<OmTimeZone> omTimeZones = new LinkedList<OmTimeZone>();
+
+		SAXReader reader = new SAXReader();
+		Document document = reader.read(new File(filePath, ImportInitvalues.nameOfTimeZoneFile));
+
+		Element root = document.getRootElement();
+
+		for (@SuppressWarnings("rawtypes")
+		Iterator it = root.elementIterator("timezone"); it.hasNext();) {
+			Element item = (Element) it.next();
+			String timeZoneName = item.attributeValue("name");
+			String timeZoneLabel = item.attributeValue("label");
+			Integer orderId = Integer.valueOf(item.attributeValue("orderId"));
+			String iCal = item.attributeValue("iCal");
+
+			OmTimeZone omTimeZone = new OmTimeZone();
+			omTimeZone.setIcal(iCal);
+			omTimeZone.setJname(timeZoneName);
+			omTimeZone.setLabel(timeZoneLabel);
+			omTimeZone.setOrderId(orderId);
+
+			omTimeZones.add(omTimeZone);
+		}
+		
+		return omTimeZones;
+	}
+
+	/**
+	 * load all availible languages File names and language name's from the
+	 * config file
+	 * 
+	 * @param filePath
+	 * @return
+	 * @throws Exception
+	 */
+	public LinkedHashMap<Integer, LinkedHashMap<String, Object>> getLanguageFiles(
+			String filePath) throws Exception {
+
+		LinkedHashMap<Integer, LinkedHashMap<String, Object>> languages = new LinkedHashMap<Integer, LinkedHashMap<String, Object>>();
+
+		SAXReader reader = new SAXReader();
+		Document document = reader.read(new File(filePath, ImportInitvalues.nameOfLanguageFile));
+
+		Element root = document.getRootElement();
+
+		for (@SuppressWarnings("unchecked")
+		Iterator<Element> it = root.elementIterator("lang"); it.hasNext();) {
+			Element item = it.next();
+			String country = item.getText();
+			Integer id = Integer.valueOf(item.attribute("id").getValue())
+					.intValue();
+
+			String rtl = item.attribute("rightToLeft").getValue();
+			String code = item.attribute("code").getValue();
+
+			LinkedHashMap<String, Object> lang = new LinkedHashMap<String, Object>();
+			lang.put("id", id);
+			lang.put("name", country);
+			lang.put("rtl", rtl);
+			lang.put("code", code);
+			// log.error("getLanguageFiles "+country);
+			languages.put(id, lang);
+		}
+		log.debug("Languages ADDED ");
+		return languages;
+	}
+
+	/**
+	 * @author o.becherer initial fillment of Appointmentcategories
+	 */
+	// ------------------------------------------------------------------------------
+	public void loadInitAppointmentCategories() {
+		log.debug("ImportInitValues.loadInitAppointmentCategories");
+
+		try {
+			appointmentCategoryDaoImpl.addAppointmentCategory(new Long(-1),
+					"default", "default");
+		} catch (Exception e) {
+			log.error("Could not create AppointMentcategories");
+			return;
+		}
+
+	}
+
+	// ------------------------------------------------------------------------------
+
+	/**
+	 * @author o.becherer initial fillment of AppointMentReminderTypes
+	 */
+	// ------------------------------------------------------------------------------
+	public void loadInitAppointmentReminderTypes() {
+
+		log.debug("ImportInitValues.loadInitAppointmentReminderTypes");
+
+		try {
+			appointmentReminderTypDaoImpl.addAppointmentReminderTyps(-1L,
+					"do not send notification");
+			appointmentReminderTypDaoImpl.addAppointmentReminderTyps(-1L,
+					"simple email");
+			appointmentReminderTypDaoImpl.addAppointmentReminderTyps(-1L,
+					"iCal email");
+
+		} catch (Exception e) {
+			log.error("Could not create ReminderType");
+			return;
+		}
+	}
+
+	// ------------------------------------------------------------------------------
+
+	/**
+	 * Loading initial Language from xml Files into database
+	 */
+	// ------------------------------------------------------------------------------
+	public void loadInitLanguages(String filePath) throws Exception {
+
+		loadCountriesFiles(filePath);
+
+		loadTimeZoneFiles(filePath);
+
+		LinkedHashMap<Integer, LinkedHashMap<String, Object>> listlanguages = this
+				.getLanguageFiles(filePath);
+
+		boolean langFieldIdIsInited = false;
+
+		/** Read all languages files */
+		for (Iterator<Integer> itLang = listlanguages.keySet().iterator(); itLang
+				.hasNext();) {
+			Integer langId = itLang.next();
+			LinkedHashMap<String, Object> lang = listlanguages.get(langId);
+			log.debug("loadInitLanguages lang: " + lang);
+
+			String langName = (String) lang.get("name");
+			String rtl = (String) lang.get("rtl");
+			String code = (String) lang.get("code");
+
+			log.debug("loadInitLanguages rtl from xml: " + rtl);
+
+			Boolean langRtl = false;
+
+			if (rtl != null && rtl.equals("true"))
+				langRtl = true;
+
+			Long languages_id = fieldLanguageDaoImpl.addLanguage(langName,
+					langRtl, code);
+
+			SAXReader reader = new SAXReader();
+			Document document = reader.read(new File(filePath, langName + ".xml"));
+
+			Element root = document.getRootElement();
+
+			for (@SuppressWarnings("rawtypes")
+			Iterator it = root.elementIterator("string"); it.hasNext();) {
+				Element item = (Element) it.next();
+				// log.error(item.getName());
+
+				Long id = Long.valueOf(item.attributeValue("id")).longValue();
+				String name = item.attributeValue("name");
+				String value = "";
+
+				for (@SuppressWarnings("rawtypes")
+				Iterator t2 = item.elementIterator("value"); t2.hasNext();) {
+					Element val = (Element) t2.next();
+					value = val.getText();
+				}
+
+				// log.error("result: "+langFieldIdIsInited+" "+id+" "+name+" "+value);
+
+				Fieldvalues fv = null;
+				// Only do that for the first field-set
+				if (!langFieldIdIsInited) {
+					fv = fieldmanagment.addFieldById(name, id);
+				} else {
+					fv = fieldmanagment.getFieldvaluesById(id);
+				}
+
+				fieldmanagment.addFieldValueByFieldAndLanguage(fv,
+						languages_id, value);
+
+			}
+			log.debug("Lang ADDED: " + lang);
+			if (!langFieldIdIsInited)
+				langFieldIdIsInited = true;
+		}
+
+	}
+
+	// ------------------------------------------------------------------------------
+
+	/**
+	 * Loading initial Language from xml Files into database
+	 */
+	// ------------------------------------------------------------------------------
+	public void loadPollTypes() {
+		pollManagement.addPollType(26L, false);
+		pollManagement.addPollType(27L, true);
+	}
+	// ------------------------------------------------------------------------------
+
+	public void loadSystem(String filePath, InstallationConfig cfg, boolean force) throws Exception {
+		//FIXME dummy check if installation was performed before
+		if(!force && usersDao.getAllUsers().size() > 0) {
+			log.debug("System contains users, no need to install data one more time.");
+			return;
+		}
+		loadMainMenu();
+		loadErrorMappingsFromXML(filePath);
+		loadInitLanguages(filePath);
+		loadSalutations();
+		// AppointMent Categories
+		loadInitAppointmentCategories();
+		// Appointment Reminder types
+		loadInitAppointmentReminderTypes();
+		// Appointment poll types
+		loadPollTypes();
+		loadRoomTypes();
+		
+		loadConfiguration(cfg);
+	}
+	
+	public void loadAll(String filePath, InstallationConfig cfg, String username,
+			String userpass, String useremail, String groupame, String timeZone, boolean force) throws Exception {
+		//FIXME dummy check if installation was performed before
+		if(!force && usersDao.getAllUsers().size() > 0) {
+			log.debug("System contains users, no need to install data one more time.");
+			return;
+		}
+		loadSystem(filePath, cfg, force);
+		loadInitUserAndOrganisation(username,
+				userpass, useremail, groupame, timeZone, cfg.defaultLangId);
+		
+		loadDefaultRooms("1".equals(cfg.createDefaultRooms));
+	}
+}
diff --git a/src/org/openmeetings/app/installation/InstallationConfig.java b/src/org/openmeetings/app/installation/InstallationConfig.java
new file mode 100644
index 0000000..935f0c5
--- /dev/null
+++ b/src/org/openmeetings/app/installation/InstallationConfig.java
@@ -0,0 +1,115 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.app.installation;

+

+import org.openmeetings.utils.crypt.MD5Implementation;

+

+public class InstallationConfig {

+	public static final int USER_LOGIN_MINIMUM_LENGTH = 4;

+	public static final int USER_PASSWORD_MINIMUM_LENGTH = 4;

+	public String allowFrontendRegister = "1";

+	public String createDefaultRooms = "1";

+	public String ical_timeZone = "Europe/Berlin";

+	

+	public String cryptClassName = MD5Implementation.class.getCanonicalName();

+	//email

+	public String smtpPort = "25";

+	public String smtpServer = "localhost";

+	public String mailAuthName = "";

+	public String mailAuthPass = "";

+	public String mailReferer = "noreply@openmeetings.apache.org";

+	public String mailUseTls = "0";

+	//paths

+	public String swfZoom = "";

+	public String swfJpegQuality = "";

+	public String swfPath = "";

+	public String imageMagicPath = "";

+	public String ffmpegPath = "";

+	public String soxPath = "";

+	public String jodPath = "./jod/lib";

+	public String officePath = "";

+	

+	public String defaultLangId = "1";

+	public String sendEmailAtRegister = "0";

+	public String urlFeed = "http://mail-archives.apache.org/mod_mbox/incubator-openmeetings-user/?format=atom";

+	public String urlFeed2 = "http://mail-archives.apache.org/mod_mbox/incubator-openmeetings-dev/?format=atom";

+	public String sendEmailWithVerficationCode = "0";

+	public String defaultExportFont = "TimesNewRoman";

+	public String screenViewer = "4";

+	public String sipEnable = "0";

+	public String sipProxyName = "";

+	public String sipPort = "";

+	public String sipTunnel = "";

+	public String sipRealm = "";

+	public String sipOpenxgEnable = "0";

+	public String sipForceTunnel = "";

+	public String sipCodebase = "";

+	public String openxgClientSecret = "";

+	public String openxgWrapperUrl = "";

+	public String openxgClientId = "";

+	public String openxgClientDomain = "";

+	public String openxgCommunityCode = "";

+	public String openxgLanguageCode = "";

+	public String openxgAdminId = "";

+	public String sipLanguagePhoneCode = "";

+	public String sipPhoneRangeStart = "";

+	public String sipPhoneRange = "";

+    public String red5SipEnable = "no";

+    public String red5SipRoomPrefix = "400";

+    public String red5SipExtenContext = "rooms";

+    public String replyToOrganizer = "1";

+    

+	@Override

+	public String toString() {

+		return "InstallationConfig [allowFrontendRegister="

+				+ allowFrontendRegister + ", createDefaultRooms="

+				+ createDefaultRooms + ", cryptClassName=" + cryptClassName

+				+ ", smtpPort=" + smtpPort + ", smtpServer=" + smtpServer

+				+ ", mailAuthName=" + mailAuthName + ", mailAuthPass="

+				+ mailAuthPass + ", mailReferer=" + mailReferer

+				+ ", mailUseTls=" + mailUseTls + ", swfZoom=" + swfZoom

+				+ ", swfJpegQuality=" + swfJpegQuality  + ", swfPath=" + swfPath

+				+ ", imageMagicPath=" + imageMagicPath + ", ffmpegPath="

+				+ ffmpegPath + ", soxPath=" + soxPath + ", jodPath=" + jodPath

+				+ ", defaultLangId=" + defaultLangId + ", sendEmailAtRegister="

+				+ sendEmailAtRegister + ", urlFeed=" + urlFeed + ", urlFeed2="

+				+ urlFeed2 + ", sendEmailWithVerficationCode="

+				+ sendEmailWithVerficationCode + ", defaultExportFont="

+				+ defaultExportFont + ", screenViewer=" + screenViewer

+				+ ", sipEnable=" + sipEnable + ", sipProxyName=" + sipProxyName

+				+ ", sipPort=" + sipPort + ", sipTunnel=" + sipTunnel

+				+ ", sipRealm=" + sipRealm + ", sipOpenxgEnable="

+				+ sipOpenxgEnable + ", sipForceTunnel=" + sipForceTunnel

+				+ ", sipCodebase=" + sipCodebase + ", openxgClientSecret="

+				+ openxgClientSecret + ", openxgWrapperUrl=" + openxgWrapperUrl

+				+ ", openxgClientId=" + openxgClientId

+				+ ", openxgClientDomain=" + openxgClientDomain

+				+ ", openxgCommunityCode=" + openxgCommunityCode

+				+ ", openxgLanguageCode=" + openxgLanguageCode

+				+ ", openxgAdminId=" + openxgAdminId

+				+ ", sipLanguagePhoneCode=" + sipLanguagePhoneCode

+				+ ", sipPhoneRangeStart=" + sipPhoneRangeStart

+				+ ", sipPhoneRange=" + sipPhoneRange + ", red5SipEnable="

+				+ red5SipEnable + ", red5SipRoomPrefix=" + red5SipRoomPrefix

+				+ ", red5SipExtenContext=" + red5SipExtenContext

+				+ ", replyToOrganizer=" + replyToOrganizer

+				+ ", ical_timeZone=" + ical_timeZone 

+				+ "]";

+	}

+}

diff --git a/src/org/openmeetings/app/ldap/LdapAuthBase.java b/src/org/openmeetings/app/ldap/LdapAuthBase.java
new file mode 100644
index 0000000..59640ba
--- /dev/null
+++ b/src/org/openmeetings/app/ldap/LdapAuthBase.java
@@ -0,0 +1,269 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.ldap;
+
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Properties;
+import java.util.Vector;
+
+import javax.naming.Context;
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+import javax.naming.directory.Attribute;
+import javax.naming.directory.Attributes;
+import javax.naming.directory.DirContext;
+import javax.naming.directory.InitialDirContext;
+import javax.naming.directory.SearchControls;
+import javax.naming.directory.SearchResult;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+
+/**
+ * 
+ * @author o.becherer
+ * 
+ * BaseClass for optional LDAP Authentification
+ *
+ */
+public class LdapAuthBase {
+	/** LdapConnectionUrl */
+	private String ldap_connection_url = "";
+	
+	/** LdapServer Login distinguished name */
+	private String ldap_admin_dn = "";
+	
+	/** LdapServer Passwd */
+	private String ldap_passwd = "";
+		
+	/** Security Authentification Type */
+	private String ldap_auth_type = "simple";
+	
+	/** Directory Context */
+	private DirContext authContext = null;
+	
+	/** ContextFactory */
+	private static final String CONTEXT_FACTORY = "com.sun.jndi.ldap.LdapCtxFactory";
+	
+	public static final String LDAP_AUTH_TYPE_SIMPLE = "simple";
+	public static final String LDAP_AUTH_TYPE_NONE = "none";
+	
+	private static final Logger log = Red5LoggerFactory.getLogger(LdapAuthBase.class, OpenmeetingsVariables.webAppRootKey);
+
+	
+	/**
+	 * Configuring LdapConnection
+	 * @param connectionUrl
+	 * @param admin
+	 * @param passwd
+	 * @param base
+	 * @param authType
+	 */
+	//------------------------------------------------------------------------------------------------------
+	public LdapAuthBase(String connectionUrl, String admin_dn, String passwd, String authType){
+		log.debug("LdapAuthBase");
+		
+		this.ldap_connection_url = connectionUrl;
+		this.ldap_admin_dn = admin_dn;
+		this.ldap_passwd = passwd;
+		this.ldap_auth_type = authType;
+	}
+	//------------------------------------------------------------------------------------------------------
+	
+	
+	/**
+	 * Autentificate User
+	 * @param username
+	 * @param passwd
+	 */
+	//-------------------------------------------------------------------------------------------------------
+	public boolean authenticateUser(String username, String passwd){
+		log.debug("authenticateUser");
+		
+		Properties ldapAuthenticateProperties = new Properties();
+	    ldapAuthenticateProperties.put(Context.PROVIDER_URL, ldap_connection_url);
+	    ldapAuthenticateProperties.put(Context.INITIAL_CONTEXT_FACTORY, CONTEXT_FACTORY);
+	    ldapAuthenticateProperties.put(Context.REFERRAL, "follow");
+	    ldapAuthenticateProperties.put(Context.SECURITY_AUTHENTICATION, ldap_auth_type);
+	    ldapAuthenticateProperties.put(Context.SECURITY_PRINCIPAL, username);
+	    ldapAuthenticateProperties.put(Context.SECURITY_CREDENTIALS, passwd);
+	    ldapAuthenticateProperties.put("java.naming.ldap.referral.bind", "true");
+		
+	    
+	    if(ldap_admin_dn == null)
+	    	ldap_admin_dn = "";
+	    
+	    if(!ldap_auth_type.equals(LDAP_AUTH_TYPE_NONE) && ldap_admin_dn.length() > 0){
+	    	log.debug("\n\nAuthentification to LDAP - Server start");
+	    	try {
+	    		loginToLdapServer();
+	    	
+	    		authContext = new InitialDirContext(ldapAuthenticateProperties);
+	    	} catch (Exception ae){
+	    		log.error("\n\nAuthentification on LDAP Server failed : " + ae.getMessage());
+	    		log.error("[Authentification on LDAP Server failed]",ae);
+	    		return false;
+	    	}
+	    }
+	    
+	    else{
+	    	log.debug("\n\nConnection to LDAP - Server start (without Server login)");
+	    	try{
+	    		authContext = new InitialDirContext(ldapAuthenticateProperties);
+	    	}catch(Exception e){
+	    		log.error("\n\nConnection to LDAP Server failed : " + e.getMessage());
+	    		log.error("[Connection to LDAP Server failed]",e);
+	    		return false;
+	    	}
+	    }
+	    
+	    return true;
+		
+	}
+	//-------------------------------------------------------------------------------------------------------
+	
+	
+	/**
+	 * Login to LdapServer
+	 */
+	//-------------------------------------------------------------------------------------------------------
+	private void loginToLdapServer() throws Exception{
+		log.debug("loginToLdapServer");
+		
+		Hashtable<String, String> env = new Hashtable<String, String>();
+		
+		env.put(Context.INITIAL_CONTEXT_FACTORY, CONTEXT_FACTORY);
+		env.put(Context.PROVIDER_URL, ldap_connection_url);
+		env.put(Context.SECURITY_AUTHENTICATION, ldap_auth_type);
+		env.put(Context.SECURITY_PRINCIPAL, ldap_admin_dn);
+		env.put(Context.SECURITY_CREDENTIALS, ldap_passwd);
+		
+		authContext = new InitialDirContext(env);
+		
+	}
+	//-------------------------------------------------------------------------------------------------------
+	
+	
+	 /**
+	  * @param searchScope LDAP Url to search within
+	  * @param filter LDAP Filter
+	  * @param attributes Attributes to extract from LDAP Search
+	  */
+	//-------------------------------------------------------------------------------------------------------
+	public Vector<HashMap<String, String>> getData(String searchScope, String filter, List<String> attributes){
+		log.debug("getData");
+		
+		// Searchparams
+		SearchControls constraints = new SearchControls();
+		 
+		// Recursive Search
+		constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);
+
+		// Result
+		Vector<HashMap<String, String>>  result = new Vector<HashMap<String, String>>() ;
+		
+		try{
+			// search
+			NamingEnumeration<SearchResult> results = authContext.search(searchScope, filter, constraints);
+			
+			// Stepping through the data
+			while (results != null && results.hasMore()) {
+			     HashMap<String, String> innerMap = new HashMap<String, String>();
+			     
+				 // Next result
+			     SearchResult si = results.next();
+			     
+			     if(si == null){
+			    	 continue;
+			     }
+			     
+			     // Attribute
+			     javax.naming.directory.Attributes attrs = si.getAttributes();
+			     
+			     if(attrs != null){
+			    	 for(int i = 0; i < attributes.size(); i++){
+			    		 
+			    		 String key = attributes.get(i);
+			    		 String val = "";
+			    		
+			    		 Attribute but = attrs.get(key);
+			    		 
+			    		 if(but!= null){
+			    		 	 Object obj = but.get();
+				    		 
+				    		 if(obj != null)
+				    			 val = String.valueOf(obj);
+			    		 }
+			    		 innerMap.put(key,val );
+			    	 }
+			     }
+			     
+			     result.add(innerMap);
+			     
+			    
+			  }
+		}catch(Exception e){
+			log.error("Error occured on LDAP Search : " , e);
+		}
+		
+		return result;
+	}
+	
+	//-------------------------------------------------------------------------------------------------------
+
+	/**
+	 * @param searchBase Ldap base to begin de SUB scope search for the userDN
+	 * @param searchFilter Ldap filter to search only for the specified loginame while looking for the userDN
+	 * @param ldap_fieldname_user_principal ldap sttribute name that contains the user loginame
+	 * @return
+	 */
+	public HashMap<String, String> getUidCnHashMap(String searchBase, String searchFilter, String ldap_fieldname_user_principal) {
+		HashMap<String, String> uidCnDictionary = new HashMap<String, String>();
+
+		SearchControls searchCtls = new SearchControls();
+		searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
+		NamingEnumeration<SearchResult> results = null;
+		try {
+			results = authContext.search(searchBase, searchFilter,  searchCtls);
+			while (results.hasMore()) {
+				SearchResult searchResult = results.next();
+				// 'cn' gets the name of the entry relative to searchbase for instance: "uid=user,ou=people"
+				// The entry DN is found by appending the searchbase. For instance if searchbase 
+				// is (dc=mydomain,dc=org), then DN="uid=user,ou=people,dc=mydomain,dc=org"
+				String cn = searchResult.getName();
+				Attributes attributes = searchResult.getAttributes();
+				Attribute attrib = attributes.get(ldap_fieldname_user_principal);
+				
+				if (attrib != null) {
+					String uid = (String) attrib.get();
+					uidCnDictionary.put(uid, cn);
+				}
+			}
+		} catch (NamingException e) {
+			log.error("Error occured on LDAP Search : " + e.getMessage());
+			log.error("Error occured on LDAP Search : " , e);
+		}
+		return uidCnDictionary;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/ldap/LdapLoginManagement.java b/src/org/openmeetings/app/ldap/LdapLoginManagement.java
new file mode 100644
index 0000000..58ff685
--- /dev/null
+++ b/src/org/openmeetings/app/ldap/LdapLoginManagement.java
@@ -0,0 +1,734 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.ldap;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Random;
+import java.util.Vector;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.conference.session.RoomClient;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.basic.dao.LdapConfigDaoImpl;
+import org.openmeetings.app.data.basic.dao.OmTimeZoneDaoImpl;
+import org.openmeetings.app.data.user.Statemanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.ldap.config.ConfigReader;
+import org.openmeetings.app.persistence.beans.adresses.States;
+import org.openmeetings.app.persistence.beans.basic.LdapConfig;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * Management of optional LDAP Login
+ * 
+ * @author o.becherer
+ * 
+ */
+public class LdapLoginManagement {
+
+	
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			LdapLoginManagement.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private Configurationmanagement cfgManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private Statemanagement statemanagement;
+	@Autowired
+	private LdapConfigDaoImpl ldapConfigDao;
+	@Autowired
+	private OmTimeZoneDaoImpl omTimeZoneDaoImpl;
+
+	// External User Types
+	public static final String EXTERNAL_USER_TYPE_LDAP = "LDAP";
+
+	// ConfigConstants
+	public static final String CONFIGKEY_LDAP_URL = "ldap_conn_url";
+	public static final String CONFIGKEY_LDAP_ADMIN_DN = "ldap_admin_dn";
+	public static final String CONFIGKEY_LDAP_ADMIN_PASSWD = "ldap_passwd";
+	public static final String CONFIGKEY_LDAP_SEARCH_SCOPE = "ldap_search_base";
+	public static final String CONFIGKEY_LDAP_SERVER_TYPE = "ldap_server_type"; // for
+																				// OpenLDAP
+																				// use
+																				// only
+	public static final String CONFIGKEY_LDAP_AUTH_TYPE = "ldap_auth_type";
+
+	public static final String CONFIGKEY_LDAP_FIELDNAME_USER_PRINCIPAL = "field_user_principal";
+	public static final String CONFIGKEY_LDAP_SYNC_PASSWD_OM = "ldap_sync_password_to_om"; // 'yes'
+																							// or
+																							// 'no'
+
+	public static final String CONFIGKEY_LDAP_USE_LOWER_CASE = "ldap_use_lower_case";
+	
+	public static final String CONFIGKEY_LDAP_TIMEZONE_NAME = "ldap_user_timezone";
+	
+	/***
+	 * for future use (lemeur) public static final String
+	 * CONFIGKEY_LDAP_USER_EXTRAFILTER = "ldap_user_extrafilter"; public static
+	 * final String CONFIGKEY_LDAP_GROUP_FILTER_NUM = "ldap_group_filter_num";
+	 * public static final String CONFIGKEY_LDAP_GROUP_FILTER_NAME_PREFIX =
+	 * "ldap_group_filter_name_"; public static final String
+	 * CONFIGKEY_LDAP_GROUP_FILTER_BASE_PREFIX = "ldap_group_filter_base_";
+	 * public static final String CONFIGKEY_LDAP_GROUP_FILTER_TYPE_PREFIX =
+	 * "ldap_group_filter_type_"; public static final String
+	 * CONFIGKEY_LDAP_GROUP_FILTER_TEXT_PREFIX = "ldap_group_filter_text_";
+	 ***/
+
+	// LDAP default attributes mapping
+	public static final String LDAP_KEY_LASTNAME = "sn";
+	public static final String LDAP_KEY_FIRSTNAME = "givenName";
+	public static final String LDAP_KEY_MAIL = "mail";
+	public static final String LDAP_KEY_STREET = "streetAddress";
+	public static final String LDAP_KEY_ADDITIONAL_NAME = "description";
+	public static final String LDAP_KEY_FAX = "facsimileTelephoneNumber";
+	public static final String LDAP_KEY_ZIP = "postalCode";
+	public static final String LDAP_KEY_COUNTRY = "co";
+	public static final String LDAP_KEY_TOWN = "l";
+	public static final String LDAP_KEY_PHONE = "telephoneNumber";
+	public static final String LDAP_KEY_TIMEZONE = "timezone";
+
+	// LDAP custom attribute mapping keys
+	public static final String CONFIGKEY_LDAP_KEY_LASTNAME = "ldap_user_attr_lastname";
+	public static final String CONFIGKEY_LDAP_KEY_FIRSTNAME = "ldap_user_attr_firstname";
+	public static final String CONFIGKEY_LDAP_KEY_MAIL = "ldap_user_attr_mail";
+	public static final String CONFIGKEY_LDAP_KEY_STREET = "ldap_user_attr_street";
+	public static final String CONFIGKEY_LDAP_KEY_ADDITIONAL_NAME = "ldap_user_attr_additionalname";
+	public static final String CONFIGKEY_LDAP_KEY_FAX = "ldap_user_attr_fax";
+	public static final String CONFIGKEY_LDAP_KEY_ZIP = "ldap_user_attr_zip";
+	public static final String CONFIGKEY_LDAP_KEY_COUNTRY = "ldap_user_attr_country";
+	public static final String CONFIGKEY_LDAP_KEY_TOWN = "ldap_user_attr_town";
+	public static final String CONFIGKEY_LDAP_KEY_PHONE = "ldap_user_attr_phone";
+
+	/**
+	 * Determine if is a supported Auth Type
+	 * 
+	 * @param authType
+	 */
+	// -------------------------------------------------------------------------------------------------------
+	public static boolean isValidAuthType(String authType) {
+		log.debug("isValidAuthType");
+
+		if (authType != null) {
+			if (!authType.isEmpty()) {
+				if (authType
+						.equalsIgnoreCase(LdapAuthBase.LDAP_AUTH_TYPE_SIMPLE))
+					return true;
+				if (authType.equalsIgnoreCase(LdapAuthBase.LDAP_AUTH_TYPE_NONE))
+					return true;
+			}
+		}
+
+		return false;
+
+	}
+
+	// -------------------------------------------------------------------------------------------------------
+
+	/**
+	 * Ldap Password Synch to OM DB set active ? defaults to true in case of
+	 * error so as to keep old behaviour
+	 */
+	public boolean getLdapPwdSynchStatus(Long ldapConfigId) { // TIBO
+		// Retrieve Configuration Data
+		HashMap<String, String> configData;
+
+		LdapConfig ldapConfig = ldapConfigDao.getLdapConfigById(ldapConfigId);
+
+		try {
+			configData = getLdapConfigData(ldapConfig.getConfigFileName());
+		} catch (Exception e) {
+			log.error("Error on getLdapPwdSynchStatus : " + e.getMessage());
+			return true;
+		}
+
+		if (configData == null || configData.size() < 1) {
+			log.error("Error on getLdapPwdSynchStatus : Configurationdata couldnt be retrieved!");
+			return true;
+		}
+
+		// Connection URL
+		String ldap_synch_passwd_to_om = configData
+				.get(CONFIGKEY_LDAP_SYNC_PASSWD_OM);
+		if (ldap_synch_passwd_to_om.equals("no")) {
+			log.debug("getLdapPwdSynchStatus: returns FALSE (val="
+					+ ldap_synch_passwd_to_om + ")");
+			return false;
+		} else {
+			log.debug("getLdapPwdSynchStatus: returns TRUE (val="
+					+ ldap_synch_passwd_to_om + ")");
+			return true;
+		}
+	}
+
+	/**
+	 * Retrieving LdapData from Config
+	 */
+	// ----------------------------------------------------------------------------------------
+	public HashMap<String, String> getLdapConfigData(String ldapConfigfileName)
+			throws Exception {
+		log.debug("LdapLoginmanagement.getLdapConfigData");
+
+		// String path = configVal.getConf_value().trim();
+
+		String path = ScopeApplicationAdapter.webAppPath + File.separatorChar
+				+ "conf" + File.separatorChar + ldapConfigfileName;
+
+		return readConfig(path);
+
+	}
+
+	// ----------------------------------------------------------------------------------------
+
+	/**
+	 * Reading Ldap Config via ConfigReader
+	 */
+	// ----------------------------------------------------------------------------------------
+	private HashMap<String, String> readConfig(String configPath)
+			throws Exception {
+		log.debug("LdapLoginmanagement.readConfig : " + configPath);
+
+		File configFile = new File(configPath);
+
+		if (!configFile.isFile())
+			return null;
+
+		ConfigReader reader = new ConfigReader();
+		reader.readConfig(configPath);
+
+		return reader.getConfigMap();
+
+	}
+
+	// ----------------------------------------------------------------------------------------
+
+	/**
+	 * Ldap Login
+	 * 
+	 * Connection Data is retrieved from ConfigurationFile
+	 * 
+	 */
+	// ----------------------------------------------------------------------------------------
+	public Object doLdapLogin(String user, String passwd,
+			RoomClient currentClient, String SID, String domain) {
+		log.debug("LdapLoginmanagement.doLdapLogin");
+
+		// Retrieve Configuration Data
+		HashMap<String, String> configData;
+
+		try {
+			configData = getLdapConfigData(domain);
+		} catch (Exception e) {
+			log.error("Error on LdapAuth : " + e.getMessage());
+			return null;
+		}
+
+		if (configData == null || configData.size() < 1) {
+			log.error("Error on LdapLogin : Configurationdata couldnt be retrieved!");
+			return null;
+		}
+
+		// Connection URL
+		String ldap_url = configData.get(CONFIGKEY_LDAP_URL);
+
+		// for OpenLDAP only
+		// LDAP SERVER TYPE to search accordingly
+		String ldap_server_type = configData.get(CONFIGKEY_LDAP_SERVER_TYPE);
+
+		// Username for LDAP SERVER himself
+		String ldap_admin_dn = configData.get(CONFIGKEY_LDAP_ADMIN_DN);
+
+		// Password for LDAP SERVER himself
+		String ldap_passwd = configData.get(CONFIGKEY_LDAP_ADMIN_PASSWD);
+
+		// SearchScope for retrievment of userdata
+		String ldap_search_scope = configData.get(CONFIGKEY_LDAP_SEARCH_SCOPE);
+
+		// FieldName for Users's Principal Name
+		String ldap_fieldname_user_principal = configData
+				.get(CONFIGKEY_LDAP_FIELDNAME_USER_PRINCIPAL);
+
+		// Wether or not we'll store Ldap passwd into OM db
+		String ldap_sync_passwd_to_om = configData
+				.get(CONFIGKEY_LDAP_SYNC_PASSWD_OM);
+
+		/***
+		 * for future use (lemeur) // Ldap user filter to refine the search
+		 * String ldap_user_extrafilter =
+		 * configData.get(CONFIGKEY_LDAP_USER_EXTRAFILTER);
+		 * 
+		 * // Count of Ldap group filters String ldap_group_filter_num =
+		 * configData.get(CONFIGKEY_LDAP_GROUP_FILTER_NUM);
+		 * 
+		 * // Prefix name of Ldap group filter name String
+		 * ldap_group_filter_name_prefix =
+		 * configData.get(CONFIGKEY_LDAP_GROUP_FILTER_NAME_PREFIX);
+		 * 
+		 * // Prefix name of Ldap group filter base String
+		 * ldap_group_filter_base_prefix =
+		 * configData.get(CONFIGKEY_LDAP_GROUP_FILTER_NAME_PREFIX);
+		 * 
+		 * // Prefix name of Ldap group filter type String
+		 * ldap_group_filter_type_prefix =
+		 * configData.get(CONFIGKEY_LDAP_GROUP_FILTER_TYPE_PREFIX);
+		 * 
+		 * // Prefix name of Ldap group filter text String
+		 * ldap_group_filter_text_prefix =
+		 * configData.get(CONFIGKEY_LDAP_GROUP_FILTER_TEXT_PREFIX);
+		 ***/
+
+		// Get custom Ldap attributes mapping
+		String ldap_user_attr_lastname = configData
+				.get(CONFIGKEY_LDAP_KEY_LASTNAME);
+		String ldap_user_attr_firstname = configData
+				.get(CONFIGKEY_LDAP_KEY_FIRSTNAME);
+		String ldap_user_attr_mail = configData.get(CONFIGKEY_LDAP_KEY_MAIL);
+		String ldap_user_attr_street = configData
+				.get(CONFIGKEY_LDAP_KEY_STREET);
+		String ldap_user_attr_additional_name = configData
+				.get(CONFIGKEY_LDAP_KEY_ADDITIONAL_NAME);
+		String ldap_user_attr_fax = configData.get(CONFIGKEY_LDAP_KEY_FAX);
+		String ldap_user_attr_zip = configData.get(CONFIGKEY_LDAP_KEY_ZIP);
+		String ldap_user_attr_country = configData
+				.get(CONFIGKEY_LDAP_KEY_COUNTRY);
+		String ldap_user_attr_town = configData.get(CONFIGKEY_LDAP_KEY_TOWN);
+		String ldap_user_attr_phone = configData.get(CONFIGKEY_LDAP_KEY_PHONE);
+		String ldap_user_attr_timezone = configData.get(CONFIGKEY_LDAP_TIMEZONE_NAME);
+		String ldap_use_lower_case = configData.get(CONFIGKEY_LDAP_USE_LOWER_CASE);
+		
+		if (ldap_use_lower_case != null && ldap_use_lower_case.equals("true")) {
+			user = user.toLowerCase();
+		}
+
+		if (ldap_user_attr_lastname == null) {
+			ldap_user_attr_lastname = LDAP_KEY_LASTNAME;
+		}
+		if (ldap_user_attr_firstname == null) {
+			ldap_user_attr_firstname = LDAP_KEY_FIRSTNAME;
+		}
+		if (ldap_user_attr_mail == null) {
+			ldap_user_attr_mail = LDAP_KEY_MAIL;
+		}
+		if (ldap_user_attr_street == null) {
+			ldap_user_attr_street = LDAP_KEY_STREET;
+		}
+		if (ldap_user_attr_additional_name == null) {
+			ldap_user_attr_additional_name = LDAP_KEY_ADDITIONAL_NAME;
+		}
+		if (ldap_user_attr_fax == null) {
+			ldap_user_attr_fax = LDAP_KEY_FAX;
+		}
+		if (ldap_user_attr_zip == null) {
+			ldap_user_attr_zip = LDAP_KEY_ZIP;
+		}
+		if (ldap_user_attr_country == null) {
+			ldap_user_attr_country = LDAP_KEY_COUNTRY;
+		}
+		if (ldap_user_attr_town == null) {
+			ldap_user_attr_town = LDAP_KEY_TOWN;
+		}
+		if (ldap_user_attr_phone == null) {
+			ldap_user_attr_phone = LDAP_KEY_PHONE;
+		}
+		if (ldap_user_attr_timezone == null) {
+			ldap_user_attr_timezone = LDAP_KEY_TIMEZONE;
+		}
+
+		// Auth Type
+		String ldap_auth_type = configData.get(CONFIGKEY_LDAP_AUTH_TYPE);
+
+		if (ldap_auth_type == null)
+			ldap_auth_type = "";
+
+		if (!isValidAuthType(ldap_auth_type)) {
+			log.error("ConfigKey in Ldap Config contains invalid auth type : '"
+					+ ldap_auth_type + "' -> Defaulting to "
+					+ LdapAuthBase.LDAP_AUTH_TYPE_SIMPLE);
+			ldap_auth_type = LdapAuthBase.LDAP_AUTH_TYPE_SIMPLE;
+		}
+
+		// Filter for Search of UserData
+		String ldap_search_filter = "(" + ldap_fieldname_user_principal + "="
+				+ user + ")";
+
+		log.debug("Searching userdata with LDAP Search Filter :"
+				+ ldap_search_filter);
+
+		// replace : -> in config = are replaced by : to be able to build valid
+		// key=value pairs
+		ldap_search_scope = ldap_search_scope.replaceAll(":", "=");
+		ldap_admin_dn = ldap_admin_dn.replaceAll(":", "=");
+
+		LdapAuthBase lAuth = new LdapAuthBase(ldap_url, ldap_admin_dn,
+				ldap_passwd, ldap_auth_type);
+
+		log.debug("authenticating admin...");
+		lAuth.authenticateUser(ldap_admin_dn, ldap_passwd);
+
+		log.debug("Checking server type...");
+		// for OpenLDAP only
+		if (ldap_server_type.equalsIgnoreCase("OpenLDAP")) {
+			String ldapUserDN = user;
+			log.debug("LDAP server is OpenLDAP");
+			log.debug("LDAP search base: " + ldap_search_scope);
+			HashMap<String, String> uidCnDictionary = lAuth.getUidCnHashMap(
+					ldap_search_scope, ldap_search_filter, ldap_fieldname_user_principal);
+			if (uidCnDictionary.get(user) != null) {
+				ldapUserDN = uidCnDictionary.get(user) + ","
+						+ ldap_search_scope;
+				log.debug("Authentication with DN: " + ldapUserDN);
+			}
+			try {
+				if (!lAuth.authenticateUser(ldapUserDN, passwd)) {
+					log.error(ldapUserDN + " not authenticated.");
+					return new Long(-11);
+				}
+			} catch (Exception e) {
+				log.error("Error on LdapAuth : " + e.getMessage());
+				return null;
+			}
+		} else {
+			try {
+				if (!lAuth.authenticateUser(user, passwd))
+					return new Long(-11);
+			} catch (Exception e) {
+				log.error("Error on LdapAuth : " + e.getMessage());
+				return null;
+			}
+		}
+
+		// check if user already exists
+
+		Users u = null;
+
+		try {
+			u = userManagement.getUserByLogin(user);
+
+		} catch (Exception e) {
+			log.error("Error retrieving Userdata : " + e.getMessage());
+		}
+
+		// User not existant in local database -> take over data for referential
+		// integrity
+		if (u == null) {
+			log.debug("user doesnt exist local -> create new");
+
+			// Attributes to retrieve from ldap
+			List<String> attributes = new ArrayList<String>();
+			attributes.add(ldap_user_attr_lastname); // Lastname
+			attributes.add(ldap_user_attr_firstname); // Firstname
+			attributes.add(ldap_user_attr_mail);// mail
+			attributes.add(ldap_user_attr_street); // Street
+			attributes.add(ldap_user_attr_additional_name); // Additional name
+			attributes.add(ldap_user_attr_fax); // Fax
+			attributes.add(ldap_user_attr_zip); // ZIP
+			attributes.add(ldap_user_attr_country); // Country
+			attributes.add(ldap_user_attr_town); // Town
+			attributes.add(ldap_user_attr_phone); // Phone
+			attributes.add(ldap_user_attr_timezone); // Phone
+			
+			HashMap<String, String> ldapAttrs = new HashMap<String, String>();
+			ldapAttrs.put("lastnameAttr", ldap_user_attr_lastname);
+			ldapAttrs.put("firstnameAttr", ldap_user_attr_firstname);
+			ldapAttrs.put("mailAttr", ldap_user_attr_mail);
+			ldapAttrs.put("streetAttr", ldap_user_attr_street);
+			ldapAttrs.put("additionalNameAttr", ldap_user_attr_additional_name);
+			ldapAttrs.put("faxAttr", ldap_user_attr_fax);
+			ldapAttrs.put("zipAttr", ldap_user_attr_zip);
+			ldapAttrs.put("countryAttr", ldap_user_attr_country);
+			ldapAttrs.put("townAttr", ldap_user_attr_town);
+			ldapAttrs.put("phoneAttr", ldap_user_attr_phone);
+			ldapAttrs.put("phoneAttr", ldap_user_attr_phone);
+			ldapAttrs.put("timezoneAttr", ldap_user_attr_timezone);
+
+			Vector<HashMap<String, String>> result = lAuth.getData(
+					ldap_search_scope, ldap_search_filter, attributes);
+
+			if (result == null || result.size() < 1) {
+				log.error("Error on Ldap request - no result for user " + user);
+				return new Long(-10);
+			}
+
+			if (result.size() > 1) {
+				log.error("Error on Ldap request - more than one result for user "
+						+ user);
+				return null;
+			}
+
+			HashMap<String, String> userData = result.get(0);
+
+			try {
+				// Create User with LdapData
+				Long userid;
+				if (ldap_sync_passwd_to_om != null
+						&& ldap_sync_passwd_to_om.equals("no")) {
+					Random r = new Random();
+					String token = Long.toString(Math.abs(r.nextLong()), 36);
+					log.debug("Synching Ldap user to OM DB with RANDOM password: "
+							+ token);
+					userid = createUserFromLdapData(userData, token, user,
+							ldapAttrs);
+				} else {
+					log.debug("Synching Ldap user to OM DB with password");
+					userid = createUserFromLdapData(userData, passwd, user,
+							ldapAttrs);
+				}
+				log.debug("New User ID : " + userid);
+
+				// If invoked via SOAP this is NULL
+				if (currentClient != null) {
+					currentClient.setUser_id(userid);
+				}
+
+				// Update Session
+				Boolean bool = sessionManagement.updateUser(SID, userid);
+
+				if (bool == null) {
+					// Exception
+					log.error("Error on Updating Session");
+					return new Long(-1);
+				} else if (!bool) {
+					// invalid Session-Object
+					log.error("Invalid Session Object");
+					return new Long(-35);
+				}
+
+				// Return UserObject
+				Users u2 = userManagement.getUserById(userid);
+
+				if (u2 == null)
+					return new Long(-1);
+
+				u2.setExternalUserType(EXTERNAL_USER_TYPE_LDAP); // TIBO
+
+				// initialize lazy collection
+				userManagement.refreshUserObject(u2);
+
+				log.debug("getUserbyId : " + userid + " : " + u2.getLogin());
+
+				return u2;
+
+			} catch (Exception e) {
+				log.error("Error on Working Userdata : ", e);
+				return new Long(-1);
+			}
+		} else {
+			// User exists, just update necessary values
+			log.debug("User already exists -> Update of current passwd");
+
+			// If invoked via SOAP this is NULL
+			if (currentClient != null) {
+				currentClient.setUser_id(u.getUser_id());
+			}
+
+			// Update Session
+			Boolean bool = sessionManagement.updateUser(SID, u.getUser_id());
+
+			if (bool == null) {
+				// Exception
+				log.error("Error on Updating Session");
+				return new Long(-1);
+			} else if (!bool) {
+				// invalid Session-Object
+				log.error("Invalid Session Object");
+				return new Long(-35);
+			}
+
+			// Update password (could have changed in LDAP)
+			if (ldap_sync_passwd_to_om == null
+					|| !ldap_sync_passwd_to_om.equals("no")) {
+				u.setPassword(passwd);
+			}
+			try {
+				userManagement.updateUserObject(u, true);
+			} catch (Exception e) {
+				log.error("Error updating user : " + e.getMessage());
+				return new Long(-1);
+			}
+
+			return u;
+
+		}
+	}
+
+	// ----------------------------------------------------------------------------------------
+
+	/**
+	 * Creation on User with LDAP - Data AutoCreation of Country if not existant
+	 * Added to Default Organisation
+	 */
+	// ----------------------------------------------------------------------------------------
+	private Long createUserFromLdapData(HashMap<String, String> userdata,
+			String passwd, String login, HashMap<String, String> ldapAttrs)
+			throws Exception {
+		log.debug("LdapLoginmanagement.createUserFromLdapData");
+
+		// Retrieve Data from LDAP - Data
+
+		String lastname = "lastname";
+		if (userdata.containsKey(ldapAttrs.get("lastnameAttr"))
+				&& userdata.get(ldapAttrs.get("lastnameAttr")) != null)
+			lastname = userdata.get(ldapAttrs.get("lastnameAttr"));
+
+		String firstname = "firstname";
+		if (userdata.containsKey(ldapAttrs.get("firstnameAttr"))
+				&& userdata.get(ldapAttrs.get("firstnameAttr")) != null)
+			firstname = userdata.get(ldapAttrs.get("firstnameAttr"));
+
+		String email = "email";
+		if (userdata.containsKey(ldapAttrs.get("mailAttr"))
+				&& userdata.get(ldapAttrs.get("mailAttr")) != null)
+			email = userdata.get(ldapAttrs.get("mailAttr"));
+
+		String street = "street";
+		if (userdata.containsKey(ldapAttrs.get("streetAttr"))
+				&& userdata.get(ldapAttrs.get("streetAttr")) != null)
+			street = userdata.get(ldapAttrs.get("streetAttr"));
+
+		String additionalname = "additionalname";
+		if (userdata.containsKey(ldapAttrs.get("additionalNameAttr"))
+				&& userdata.get(ldapAttrs.get("additionalNameAttr")) != null)
+			additionalname = userdata.get(ldapAttrs.get("additionalNameAttr"));
+
+		String fax = "fax";
+		if (userdata.containsKey(ldapAttrs.get("faxAttr"))
+				&& userdata.get(ldapAttrs.get("faxAttr")) != null)
+			fax = userdata.get(ldapAttrs.get("faxAttr"));
+
+		String zip = "zip";
+		if (userdata.containsKey(ldapAttrs.get("zipAttr"))
+				&& userdata.get(ldapAttrs.get("zipAttr")) != null)
+			zip = userdata.get(ldapAttrs.get("zipAttr"));
+
+		String state = null;
+		if (userdata.containsKey(ldapAttrs.get("countryAttr"))
+				&& userdata.get(ldapAttrs.get("countryAttr")) != null)
+			state = userdata.get(ldapAttrs.get("countryAttr"));
+
+		String phone = "phone";
+		if (userdata.containsKey(ldapAttrs.get("phoneAttr"))
+				&& userdata.get(ldapAttrs.get("phoneAttr")) != null)
+			phone = userdata.get(ldapAttrs.get("phoneAttr"));
+
+		long state_id = -1;
+		
+		String jName_timeZone = "";
+		if (userdata.containsKey(ldapAttrs.get("timezoneAttr"))
+				&& userdata.get(ldapAttrs.get("timezoneAttr")) != null)
+			jName_timeZone = userdata.get(ldapAttrs.get("timezoneAttr"));
+		
+		if (omTimeZoneDaoImpl.getOmTimeZone(jName_timeZone) == null) {
+			jName_timeZone = cfgManagement.getConfValue("default.timezone", String.class, "Europe/Berlin");
+		}
+
+		if (state != null) {
+			// Lookup for states
+			List<States> states = statemanagement.getStates();
+
+			for (int i = 0; i < states.size(); i++) {
+				States oneState = states.get(i);
+
+				if (oneState.getName().equals(state)) {
+					state_id = oneState.getState_id();
+					break;
+				}
+			}
+
+		}
+
+		// Create Country
+		if (state_id < 0) {
+			Long id = statemanagement.addState(state);
+
+			if (id != null)
+				state_id = id;
+
+		}
+
+		String town = "town";
+		if (userdata.containsKey(ldapAttrs.get("townAttr"))
+				&& userdata.get(ldapAttrs.get("townAttr")) != null)
+			town = userdata.get(ldapAttrs.get("townAttr"));
+
+		Long newUserId = null;
+
+		try {
+
+			// Check if LDAP Users get a SIP Account Issue 1099
+
+			newUserId = userManagement.registerUserInit(
+					2,// user_level
+					1,// level_id
+					1,// available
+					1,// status
+					login,// loginname
+					passwd,// passwd
+					lastname, firstname, email, 
+					new java.util.Date(), //age
+					street,
+					additionalname, fax, zip, state_id, town, 
+					cfgManagement.getConfValue("default_lang_id", Long.class,"0"), //language_id
+					false, // sendWelcomeMessage
+					Arrays.asList(cfgManagement.getConfValue("default_domain_id", Long.class, null)), //organozation Ids
+					phone, 
+					"",// BaseURL is empty as we do not send an Email here
+					false,// send verification code
+					"", "", "",// sip_user, sip_pass, sip_auth
+					true, // generate SIP Data if the config is enabled
+					jName_timeZone, 
+					false, // forceTimeZoneCheck
+					"", //userOffers
+					"", //userSearchs
+					false, //showContactData
+					true //showContactDataToContacts
+					);
+
+		} catch (Exception e) {
+			log.error("Error creating user : " + e.getMessage());
+		}
+
+		if (newUserId == -1) {
+			log.error("Error occured creating user");
+		} else if (newUserId == -15) {
+			log.error("Error creating user : username already exists!");
+		} else if (newUserId == -17) {
+			log.error("Error creating user : email already exists!");
+		} else if (newUserId == -3) {
+			log.error("Error creating user : missing values");
+		} else {
+			log.debug("User Created!");
+		}
+
+		return newUserId;
+	}
+	// ----------------------------------------------------------------------------------------
+
+}
diff --git a/src/org/openmeetings/app/ldap/config/ConfigReader.java b/src/org/openmeetings/app/ldap/config/ConfigReader.java
new file mode 100644
index 0000000..7e016ac
--- /dev/null
+++ b/src/org/openmeetings/app/ldap/config/ConfigReader.java
@@ -0,0 +1,247 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.ldap.config;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.sql.Timestamp;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Vector;
+
+
+
+/**
+ * Reading ConfigFile (key=value pairs)
+ * 
+ * @author o.becherer
+ *
+ */
+public class ConfigReader {
+	
+	/** Divider between key - value - pairs*/
+	private String _divider = "=";
+	
+	/** Sign for comments */
+	private String _commentSign = "#";
+	
+	/** FilePath*/
+	private String _filePath = "";
+	
+	/** result hashmap */
+	private HashMap<String, String> _configMap = new HashMap<String, String>();
+	
+	/** Timestamp, config was read*/
+	private Timestamp _configRead;
+	
+	
+	/**
+	 * Defaultconstructor
+	 */
+	public ConfigReader(){
+		
+	}
+	
+	/**
+	 * Constructor with params
+	 * @param divider
+	 * @param commentSign
+	 */
+	public ConfigReader(String comment, String divider){
+		this._commentSign = comment;
+		this._divider = divider;
+	}
+	
+	
+	/**
+	 * Function for reading ConfigFile
+	 * @throws Exception
+	 */
+	//---------------------------------------------------------------------------------
+	public HashMap<String, String> readConfig(String configFilePath) throws Exception{
+		
+		_filePath = configFilePath;
+		
+		// Reading File into Vector
+		Vector<String> contentVec =readFileIntoVector(configFilePath);
+		
+		// Filtering Comments
+		contentVec = filterCommentsFromInput(contentVec);
+		
+		// Splitting data into hashmap
+		splitLinesIntoHashMap(contentVec);
+		
+		_configRead = new Timestamp(System.currentTimeMillis());
+		
+		return getConfigMap();
+		
+	}
+	//---------------------------------------------------------------------------------
+	
+	
+	/**
+	 * Filter Comments
+	 * @author o.becherer
+	 */
+	//---------------------------------------------------------------------------------
+	public Vector<String> filterCommentsFromInput(Vector<String> input){
+		
+		Vector<String> filtered = new Vector<String>(); 
+		
+		for(int i = 0; i < input.size(); i++){
+			String val = input.get(i);
+			
+			if(val.startsWith(_commentSign))
+				continue;
+			
+			filtered.add(val);
+		}
+		
+		return filtered;
+		
+	}
+	//---------------------------------------------------------------------------------
+	
+	
+	/**
+	 * Splitting lines into hashmap by divider
+	 * @author o.becherer
+	 */
+	//---------------------------------------------------------------------------------
+	public void splitLinesIntoHashMap(Vector<String> content) throws Exception{
+		
+		for(int i = 0; i < content.size(); i++){
+			String line = content.get(i);
+			
+			if(line==null|| line.length() < 1)
+				continue;
+			
+			if(!line.contains(_divider))
+				throw new Exception("ConfigReader: ConfigFile " + _filePath + " contains invalid line(" + i+1 + ") : " + line + ". No Divider " + _divider + " found");
+			
+			String[] splitted =  line.split(_divider);
+			
+			String key = splitted[0];
+			String val = splitted[1];
+			
+			_configMap.put(key, val);
+		}
+			
+	}
+	//---------------------------------------------------------------------------------
+	
+	/**
+	 * getting ConfigVal for key
+	 * @author o.becherer
+	 */
+	//---------------------------------------------------------------------------------
+	public String getConfigVal(String key, boolean forcereload) throws Exception{
+		
+		String notFound = "Config " + _filePath + "( read at " + _configRead.toString() + ", Servertime) doesnt contain key '" + key + "'";
+		
+		if(!getConfigMap().containsKey(key)){
+			if(!forcereload)
+				throw new Exception(notFound);
+			else{
+				readConfig(_filePath);
+				if(!getConfigMap().containsKey(key))
+					throw new Exception(notFound);
+			}
+				
+		
+		}
+		
+		return getConfigMap().get(key);
+	}
+	//---------------------------------------------------------------------------------
+	
+	
+	/**
+	 * Dumping Config to stdout
+	 * @author o.becherer
+	 */
+	//---------------------------------------------------------------------------------
+	public void dumpConfig(){
+		
+		Iterator<String> miter = getConfigMap().keySet().iterator();
+		
+		System.out.println("---Dumping configFile '" + _filePath + "' without comments---");
+		System.out.println("---------------------------------------------");
+		while(miter.hasNext()){
+			String key = miter.next();
+			System.out.println(key + _divider + getConfigMap().get(key));
+		}
+		
+
+		System.out.println("---------------------------------------------");
+		
+	}
+	//---------------------------------------------------------------------------------
+	
+	
+	/**
+	 * reads File into Vector
+	 * @author becherer
+	 * @param filePath
+	 */
+	//--------------------------------------------------------------------------------------
+	public static Vector<String> readFileIntoVector(String filePath) throws Exception{
+		
+		Vector<String> result = new Vector<String>();
+		
+		// File exists?
+		File f = new File(filePath);
+        if (!f.exists())
+        	throw new Exception("Reader : File" + filePath + " not valid!");
+       
+
+        BufferedReader br = new BufferedReader(new FileReader(f));
+        
+        String line = "";
+        
+        while((line = br.readLine()) != null) {
+        	result.add(line);
+        }
+        br.close();
+        return result;
+	}
+	//--------------------------------------------------------------------------------------
+	
+	public String getDivider() {
+		return _divider;
+	}
+
+	public void setDivider(String divider) {
+		this._divider = divider;
+	}
+
+	public String getCommentSign() {
+		return _commentSign;
+	}
+
+	public void setCommentSign(String commentSign) {
+		this._commentSign = commentSign;
+	}
+	
+	public HashMap<String, String> getConfigMap(){
+		return _configMap;
+	}
+
+}
diff --git a/src/org/openmeetings/app/persistence/beans/adresses/Adresses.java b/src/org/openmeetings/app/persistence/beans/adresses/Adresses.java
new file mode 100644
index 0000000..be88cc9
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/adresses/Adresses.java
@@ -0,0 +1,180 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.adresses;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.Lob;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "adresses")
+public class Adresses implements Serializable {
+
+	private static final long serialVersionUID = 1387576041912128161L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name = "adresses_id")
+	private Long adresses_id;
+	@Column(name = "additionalname")
+	private String additionalname;
+	@Lob
+	@Column(name = "comment_field", length=2048)
+	private String comment;
+	@Column(name = "fax")
+	private String fax;
+	@Column(name = "starttime")
+	private Date starttime;
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name = "state_id")
+	private States states;
+	@Column(name = "street")
+	private String street;
+	@Column(name = "town")
+	private String town;
+	@Column(name = "updatetime")
+	private Date updatetime;
+	@Column(name = "zip")
+	private String zip;
+	@Column(name = "deleted")
+	private String deleted;
+
+	@Column(name = "email")
+	private String email;
+	@Column(name = "phone")
+	private String phone;
+
+	public Adresses() {
+		// TODO Auto-generated constructor stub
+	}
+
+	public String getAdditionalname() {
+		return additionalname;
+	}
+
+	public void setAdditionalname(String additionalname) {
+		this.additionalname = additionalname;
+	}
+
+	public Long getAdresses_id() {
+		return adresses_id;
+	}
+
+	public void setAdresses_id(Long adresses_id) {
+		this.adresses_id = adresses_id;
+	}
+
+	public String getComment() {
+		return comment;
+	}
+
+	public void setComment(String comment) {
+		this.comment = comment;
+	}
+
+	public String getFax() {
+		return fax;
+	}
+
+	public void setFax(String fax) {
+		this.fax = fax;
+	}
+
+	public Date getStarttime() {
+		return starttime;
+	}
+
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+
+	public States getStates() {
+		return states;
+	}
+
+	public void setStates(States states) {
+		this.states = states;
+	}
+
+	public String getStreet() {
+		return street;
+	}
+
+	public void setStreet(String street) {
+		this.street = street;
+	}
+
+	public String getTown() {
+		return town;
+	}
+
+	public void setTown(String town) {
+		this.town = town;
+	}
+
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+
+	public String getZip() {
+		return zip;
+	}
+
+	public void setZip(String zip) {
+		this.zip = zip;
+	}
+
+	public String getDeleted() {
+		return deleted;
+	}
+
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+
+	public String getEmail() {
+		return email;
+	}
+
+	public void setEmail(String email) {
+		this.email = email;
+	}
+
+	public String getPhone() {
+		return phone;
+	}
+
+	public void setPhone(String phone) {
+		this.phone = phone;
+	}
+
+}
diff --git a/src/org/openmeetings/app/persistence/beans/adresses/States.java b/src/org/openmeetings/app/persistence/beans/adresses/States.java
new file mode 100644
index 0000000..f24a321
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/adresses/States.java
@@ -0,0 +1,107 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.adresses;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "states")
+public class States implements Serializable {
+	private static final long serialVersionUID = -1629546369219451403L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name = "state_id")
+	private Long state_id;
+	@Column(name = "name")
+	private String name;
+	@Column(name = "starttime")
+	private Date starttime;
+	@Column(name = "updatetime")
+	private Date updatetime;
+	@Column(name = "deleted")
+	private String deleted;
+	@Column(name = "shortName")
+	private String shortName;
+	@Column(name = "code")
+	private int code;
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public Long getState_id() {
+		return state_id;
+	}
+
+	public void setState_id(Long state_id) {
+		this.state_id = state_id;
+	}
+
+	public Date getStarttime() {
+		return starttime;
+	}
+
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+
+	public String getDeleted() {
+		return deleted;
+	}
+
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+
+	public String getShortName() {
+		return shortName;
+	}
+
+	public void setShortName(String shortName) {
+		this.shortName = shortName;
+	}
+
+	public int getCode() {
+		return code;
+	}
+
+	public void setCode(int code) {
+		this.code = code;
+	}
+}
diff --git a/src/org/openmeetings/app/persistence/beans/basic/Configuration.java b/src/org/openmeetings/app/persistence/beans/basic/Configuration.java
new file mode 100644
index 0000000..8e2a34f
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/basic/Configuration.java
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.basic;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import org.openmeetings.app.persistence.beans.user.Users;
+
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Lob;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+
+@Entity
+@Table(name = "configuration")
+public class Configuration implements Serializable {
+	
+	private static final long serialVersionUID = -6129473946508963339L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="configuration_id")
+	private Long configuration_id;
+	@Column(name="conf_key")
+	private String conf_key;
+	@Column(name="conf_value")
+	private String conf_value;	
+	@Column(name="starttime")
+	private Date starttime;
+	@Column(name="updatetime")
+	private Date updatetime;
+	@Lob
+	@Column(name="comment_field", length=2048)
+	private String comment;
+	@Column(name="deleted")
+	private String deleted;
+	@Column(name="user_id")
+	private Long user_id;
+
+	@Transient
+	private Users users;
+	
+    public String getComment() {
+        return comment;
+    }
+    public void setComment(String comment) {
+        this.comment = comment;
+    }
+    
+    public String getConf_key() {
+        return conf_key;
+    }
+    public void setConf_key(String conf_key) {
+        this.conf_key = conf_key;
+    }
+    
+    public String getConf_value() {
+        return conf_value;
+    }
+    public void setConf_value(String conf_value) {
+        this.conf_value = conf_value;
+    }
+    
+    public Long getConfiguration_id() {
+        return configuration_id;
+    }
+    public void setConfiguration_id(Long configuration_id) {
+        this.configuration_id = configuration_id;
+    }
+    
+	public Date getStarttime() {
+		return starttime;
+	}
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+    
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+	
+	public String getDeleted() {
+		return deleted;
+	}
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+	
+    public Long getUser_id() {
+		return user_id;
+	}
+
+	public void setUser_id(Long user_id) {
+		this.user_id = user_id;
+	}
+
+ public Users getUsers() {
+     return users;
+ }
+ public void setUsers(Users users) {
+     this.users = users;
+ }
+
+	
+}
diff --git a/src/org/openmeetings/app/persistence/beans/basic/ErrorType.java b/src/org/openmeetings/app/persistence/beans/basic/ErrorType.java
new file mode 100644
index 0000000..8b56666
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/basic/ErrorType.java
@@ -0,0 +1,88 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.basic;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "errortypes")
+public class ErrorType implements Serializable {
+	private static final long serialVersionUID = 1519570470483604258L;
+
+	@Id
+	@Column(name = "errortype_id")
+	private Long errortype_id;
+
+	@Column(name = "fieldvalues_id")
+	private Long fieldvalues_id;
+
+	@Column(name = "starttime")
+	private Date starttime;
+	@Column(name = "updatetime")
+	private Date updatetime;
+	@Column(name = "deleted")
+	private String deleted;
+
+	public Long getErrortype_id() {
+		return errortype_id;
+	}
+
+	public void setErrortype_id(Long errortype_id) {
+		this.errortype_id = errortype_id;
+	}
+
+	public Date getStarttime() {
+		return starttime;
+	}
+
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+
+	public String getDeleted() {
+		return deleted;
+	}
+
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+
+	public Long getFieldvalues_id() {
+		return this.fieldvalues_id;
+	}
+
+	public void setFieldvalues_id(Long fieldvalues_id) {
+		this.fieldvalues_id = fieldvalues_id;
+	}
+
+}
diff --git a/src/org/openmeetings/app/persistence/beans/basic/ErrorValues.java b/src/org/openmeetings/app/persistence/beans/basic/ErrorValues.java
new file mode 100644
index 0000000..b8566a6
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/basic/ErrorValues.java
@@ -0,0 +1,96 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.basic;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "errorvalues")
+public class ErrorValues implements Serializable {
+	private static final long serialVersionUID = -1892810463706968018L;
+
+	@Id
+	@Column(name = "errorvalues_id")
+	private Long errorvalues_id;
+	@Column(name = "errortype_id")
+	private Long errortype_id;
+	@Column(name = "fieldvalues_id")
+	private Long fieldvalues_id;
+	@Column(name = "starttime")
+	private Date starttime;
+	@Column(name = "updatetime")
+	private Date updatetime;
+	@Column(name = "deleted")
+	private String deleted;
+
+	public Long getErrorvalues_id() {
+		return errorvalues_id;
+	}
+
+	public void setErrorvalues_id(Long errorvalues_id) {
+		this.errorvalues_id = errorvalues_id;
+	}
+
+	public Date getStarttime() {
+		return starttime;
+	}
+
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+
+	public String getDeleted() {
+		return deleted;
+	}
+
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+	
+	public Long getFieldvalues_id() {
+		return fieldvalues_id;
+	}
+
+	public void setFieldvalues_id(Long fieldvalues_id) {
+		this.fieldvalues_id = fieldvalues_id;
+	}
+
+	public Long getErrortype_id() {
+		//return errorType.getErrortype_id();
+		return errortype_id;
+	}
+
+	public void setErrortype_id(Long errortype_id) {
+		this.errortype_id = errortype_id;
+	}
+}
diff --git a/src/org/openmeetings/app/persistence/beans/basic/LdapConfig.java b/src/org/openmeetings/app/persistence/beans/basic/LdapConfig.java
new file mode 100644
index 0000000..2c592a2
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/basic/LdapConfig.java
@@ -0,0 +1,147 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.basic;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import org.openmeetings.app.persistence.beans.user.Users;
+
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "ldapconfig")
+public class LdapConfig implements Serializable {
+	
+	private static final long serialVersionUID = 2839158519803993035L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="ldapconfig_id")
+	public long ldapConfigId;
+	@Column(name="name")
+	public String name;
+	@Column(name="config_file_name")
+	public String configFileName;
+	@Column(name="add_domain_to_user_name")
+	public Boolean addDomainToUserName;
+	@Column(name="domain")
+	public String domain;
+	@Column(name="is_active")
+	public Boolean isActive;
+	@Column(name="inserted")
+	public Date inserted;
+	@Column(name="updated")
+	public Date updated;
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name="insertedby_id", updatable=true, insertable=true)
+	public Users insertedby;
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name="updatedby_id", updatable=true, insertable=true)
+	public Users updatedby;
+	@Column(name="deleted")
+	private String deleted;
+	
+	public long getLdapConfigId() {
+		return ldapConfigId;
+	}
+	public void setLdapConfigId(long ldapConfigId) {
+		this.ldapConfigId = ldapConfigId;
+	}
+    
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+    
+	public String getConfigFileName() {
+		return configFileName;
+	}
+	public void setConfigFileName(String configFileName) {
+		this.configFileName = configFileName;
+	}
+    
+	public Boolean getAddDomainToUserName() {
+		return addDomainToUserName;
+	}
+	public void setAddDomainToUserName(Boolean addDomainToUserName) {
+		this.addDomainToUserName = addDomainToUserName;
+	}
+    
+	public String getDomain() {
+		return domain;
+	}
+	public void setDomain(String domain) {
+		this.domain = domain;
+	}
+    
+	public Boolean getIsActive() {
+		return isActive;
+	}
+	public void setIsActive(Boolean isActive) {
+		this.isActive = isActive;
+	}
+	
+	public Date getInserted() {
+		return inserted;
+	}
+	public void setInserted(Date inserted) {
+		this.inserted = inserted;
+	}
+	
+	public Date getUpdated() {
+		return updated;
+	}
+	public void setUpdated(Date updated) {
+		this.updated = updated;
+	}
+	
+	public Users getInsertedby() {
+		return insertedby;
+	}
+	public void setInsertedby(Users insertedby) {
+		this.insertedby = insertedby;
+	}
+	
+	public Users getUpdatedby() {
+		return updatedby;
+	}
+	public void setUpdatedby(Users updatedby) {
+		this.updatedby = updatedby;
+	}
+	
+	public String getDeleted() {
+		return deleted;
+	}
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/persistence/beans/basic/Naviglobal.java b/src/org/openmeetings/app/persistence/beans/basic/Naviglobal.java
new file mode 100644
index 0000000..e072460
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/basic/Naviglobal.java
@@ -0,0 +1,229 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.basic;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+
+import org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues;
+
+@Entity
+@NamedQueries({
+		@NamedQuery(name = "getNavigation", query = "SELECT DISTINCT ng from Naviglobal ng "
+				+ "LEFT JOIN ng.mainnavi nm "
+				+ "WHERE nm.deleted LIKE 'false' "
+				+ "AND ng.level_id <= :level_id "
+				+ "AND nm.level_id <= :level_id "
+				+ "AND ng.deleted LIKE 'false' "
+				+ "order by ng.naviorder, nm.naviorder"),
+		@NamedQuery(name = "getNavigationById", query = "SELECT ng from Naviglobal ng WHERE ng.global_id = :global_id") })
+@Table(name = "naviglobal")
+public class Naviglobal implements Serializable {
+
+	private static final long serialVersionUID = 515828033813767719L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name = "global_id")
+	private Long global_id;
+	@Column(name = "name")
+	private String name;
+	@Column(name = "icon")
+	private String icon;
+	@Column(name = "isleaf")
+	private Boolean isleaf;
+	@Column(name = "isopen")
+	private Boolean isopen;
+	@Column(name = "action")
+	private String action;
+	@Column(name = "updatetime")
+	private Date updatetime;
+	@Column(name = "starttime")
+	private Date starttime;
+	@Column(name = "comment_field")
+	private String comment;
+	@Column(name = "naviorder")
+	private Integer naviorder;
+	@Column(name = "level_id")
+	private Long level_id;
+	@Column(name = "deleted")
+	private String deleted;
+	@Column(name = "fieldvalues_id")
+	private Long fieldvalues_id;
+	@Column(name = "tooltip_fieldvalues_id")
+	private Long tooltip_fieldvalues_id;
+	@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
+	@JoinColumn(name = "global_id")
+	private List<Navimain> mainnavi;
+	@Transient
+	private Fieldlanguagesvalues label;
+	@Transient
+	private Fieldlanguagesvalues tooltip;
+
+	public String getAction() {
+		return action;
+	}
+
+	public void setAction(String action) {
+		this.action = action;
+	}
+
+	public String getComment() {
+		return comment;
+	}
+
+	public void setComment(String comment) {
+		this.comment = comment;
+	}
+
+	public Long getGlobal_id() {
+		return global_id;
+	}
+
+	public void setGlobal_id(Long global_id) {
+		this.global_id = global_id;
+	}
+
+	public String getIcon() {
+		return icon;
+	}
+
+	public void setIcon(String icon) {
+		this.icon = icon;
+	}
+
+	public Boolean getIsleaf() {
+		return isleaf;
+	}
+
+	public void setIsleaf(Boolean isleaf) {
+		this.isleaf = isleaf;
+	}
+
+	public Boolean getIsopen() {
+		return isopen;
+	}
+
+	public void setIsopen(Boolean isopen) {
+		this.isopen = isopen;
+	}
+
+	public Date getStarttime() {
+		return starttime;
+	}
+
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+
+	public String getDeleted() {
+		return deleted;
+	}
+
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public Integer getNaviorder() {
+		return naviorder;
+	}
+
+	public void setNaviorder(Integer naviorder) {
+		this.naviorder = naviorder;
+	}
+
+	public Long getLevel_id() {
+		return level_id;
+	}
+
+	public void setLevel_id(Long level_id) {
+		this.level_id = level_id;
+	}
+
+	public List<Navimain> getMainnavi() {
+		return mainnavi;
+	}
+
+	public void setMainnavi(List<Navimain> mainnavi) {
+		this.mainnavi = mainnavi;
+	}
+
+	public Long getFieldvalues_id() {
+		return fieldvalues_id;
+	}
+
+	public void setFieldvalues_id(Long fieldvalues_id) {
+		this.fieldvalues_id = fieldvalues_id;
+	}
+
+	public Fieldlanguagesvalues getLabel() {
+		return label;
+	}
+
+	public void setLabel(Fieldlanguagesvalues label) {
+		this.label = label;
+	}
+
+	public Long getTooltip_fieldvalues_id() {
+		return tooltip_fieldvalues_id;
+	}
+
+	public void setTooltip_fieldvalues_id(Long tooltip_fieldvalues_id) {
+		this.tooltip_fieldvalues_id = tooltip_fieldvalues_id;
+	}
+
+	public Fieldlanguagesvalues getTooltip() {
+		return tooltip;
+	}
+
+	public void setTooltip(Fieldlanguagesvalues tooltip) {
+		this.tooltip = tooltip;
+	}
+
+}
diff --git a/src/org/openmeetings/app/persistence/beans/basic/Navimain.java b/src/org/openmeetings/app/persistence/beans/basic/Navimain.java
new file mode 100644
index 0000000..b95ad0a
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/basic/Navimain.java
@@ -0,0 +1,207 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.basic;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+
+import org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues;
+
+@Entity
+@Table(name = "navimain")
+public class Navimain implements Serializable {
+    
+	private static final long serialVersionUID = 1691787896183701877L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="main_id")
+    private Long main_id;
+	@Column(name="global_id")
+    private Long global_id;
+	@Column(name="name")
+    private String name;
+	@Column(name="icon")
+    private String icon;
+	@Column(name="isleaf")
+    private Boolean isleaf;
+	@Column(name="isopen")
+    private Boolean isopen;
+	@Column(name="action")
+    private String action;
+	@Column(name="updatetime")
+    private Date updatetime;
+	@Column(name="starttime")
+    private Date starttime;
+	@Column(name="comment_field")
+    private String comment;
+	@Column(name="naviorder")
+    private Integer naviorder;
+	@Column(name="level_id")
+	private Long level_id;
+	@Column(name="fieldvalues_id")
+	private Long fieldvalues_id;
+	@Column(name="deleted")
+	private String deleted;
+	@Transient
+	private Fieldlanguagesvalues label;
+	@Transient
+	private Fieldlanguagesvalues tooltip;
+	@Column(name="tooltip_fieldvalues_id")
+	private Long tooltip_fieldvalues_id;
+
+	public Navimain() {
+	}
+    
+    public String getAction() {
+        return action;
+    }
+
+    public void setAction(String action) {
+        this.action = action;
+    }
+	
+	public Long getLevel_id() {
+		return level_id;
+	}
+	public void setLevel_id(Long level_id) {
+		this.level_id = level_id;
+	}
+	
+	public Long getGlobal_id() {
+		return global_id;
+	}
+	public void setGlobal_id(Long global_id) {
+		this.global_id = global_id;
+	}
+    
+    public String getComment() {
+        return comment;
+    }
+
+    public void setComment(String comment) {
+        this.comment = comment;
+    }
+    
+    public Long getMain_id() {
+        return main_id;
+    }
+
+    public void setMain_id(Long main_id) {
+        this.main_id = main_id;
+    }
+    
+    public String getIcon() {
+        return icon;
+    }
+
+    public void setIcon(String icon) {
+        this.icon = icon;
+    }
+    
+    public Boolean getIsleaf() {
+        return isleaf;
+    }
+
+    public void setIsleaf(Boolean isleaf) {
+        this.isleaf = isleaf;
+    }
+    
+    public Boolean getIsopen() {
+        return isopen;
+    }
+
+    public void setIsopen(Boolean isopen) {
+        this.isopen = isopen;
+    }
+    
+	public Date getStarttime() {
+		return starttime;
+	}
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+    
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+	
+	public String getDeleted() {
+		return deleted;
+	}
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+    
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+    
+    
+	public Integer getNaviorder() {
+		return naviorder;
+	}
+	public void setNaviorder(Integer naviorder) {
+		this.naviorder = naviorder;
+	}
+
+	public Long getFieldvalues_id() {
+		return fieldvalues_id;
+	}
+	public void setFieldvalues_id(Long fieldvalues_id) {
+		this.fieldvalues_id = fieldvalues_id;
+	}
+
+	public Fieldlanguagesvalues getLabel() {
+		return label;
+	}
+	public void setLabel(Fieldlanguagesvalues label) {
+		this.label = label;
+	}	
+
+	public Long getTooltip_fieldvalues_id() {
+		return tooltip_fieldvalues_id;
+	}
+	public void setTooltip_fieldvalues_id(Long tooltip_fieldvalues_id) {
+		this.tooltip_fieldvalues_id = tooltip_fieldvalues_id;
+	}
+
+	public Fieldlanguagesvalues getTooltip() {
+		return tooltip;
+	}
+	public void setTooltip(Fieldlanguagesvalues tooltip) {
+		this.tooltip = tooltip;
+	}
+		
+}
diff --git a/src/org/openmeetings/app/persistence/beans/basic/OmTimeZone.java b/src/org/openmeetings/app/persistence/beans/basic/OmTimeZone.java
new file mode 100644
index 0000000..99a2316
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/basic/OmTimeZone.java
@@ -0,0 +1,108 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.basic;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+
+@Entity
+@Table(name = "om_timezone")
+public class OmTimeZone implements Serializable {
+	
+	private static final long serialVersionUID = 6521571695782900198L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="om_timezone_id")
+	private Long omtimezoneId;
+	@Column(name="jname")
+	private String jname;
+	@Column(name="label")
+	private String label;
+	@Column(name="ical")
+	private String ical;
+	@Column(name="inserted")
+	private Date inserted;
+	@Column(name="order_id")
+	public Integer orderId;
+	@Transient
+	public String frontEndLabel;
+	
+	public Long getOmtimezoneId() {
+		return omtimezoneId;
+	}
+	public void setOmtimezoneId(Long omtimezoneId) {
+		this.omtimezoneId = omtimezoneId;
+	}
+	
+	public String getJname() {
+		return jname;
+	}
+	public void setJname(String jname) {
+		this.jname = jname;
+	}
+	
+	public String getLabel() {
+		return label;
+	}
+	public void setLabel(String label) {
+		this.label = label;
+	}
+	
+	public String getIcal() {
+		return ical;
+	}
+	public void setIcal(String ical) {
+		this.ical = ical;
+	}
+	
+	public Date getInserted() {
+		return inserted;
+	}
+	
+	public void setInserted(Date inserted) {
+		this.inserted = inserted;
+	}
+	
+	public Integer getOrderId() {
+		return orderId;
+	}
+	public void setOrderId(Integer orderId) {
+		this.orderId = orderId;
+	}
+	
+	
+	public String getFrontEndLabel() {
+		return frontEndLabel;
+	}
+	
+	public void setFrontEndLabel(String frontEndLabel) {
+		this.frontEndLabel = frontEndLabel;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/persistence/beans/basic/RemoteSessionObject.java b/src/org/openmeetings/app/persistence/beans/basic/RemoteSessionObject.java
new file mode 100644
index 0000000..89d9788
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/basic/RemoteSessionObject.java
@@ -0,0 +1,117 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.basic;
+
+/**
+ * This Class is marshaled as an XML-Object and stored as a String in the DB to make
+ * it more easy to extend it
+ * 
+ * @author sebastianwagner
+ *
+ */
+public class RemoteSessionObject {
+	
+	private String username;
+	private String firstname;
+	private String lastname;
+	private String pictureUrl;
+	private String email;
+	
+	private String externalUserId;
+	private String externalUserType;
+	
+	public RemoteSessionObject(String username, String firstname, String lastname,
+			String pictureUrl, String email) {
+		this(username, firstname, lastname, pictureUrl, email, "0", "");
+	}
+	
+	
+	/**
+	 * @param username
+	 * @param firstname
+	 * @param lastname
+	 * @param pictureUrl
+	 * @param email
+	 * @param externalUserId
+	 * @param externalUserType
+	 *
+	 * 06.09.2009 17:05:48
+	 * sebastianwagner
+	 * 
+	 * 
+	 */
+	public RemoteSessionObject(String username, String firstname,
+			String lastname, String pictureUrl, String email,
+			String externalUserId, String externalUserType) {
+		super();
+		this.username = username;
+		this.firstname = firstname;
+		this.lastname = lastname;
+		this.pictureUrl = pictureUrl;
+		this.email = email;
+		this.externalUserId = externalUserId;
+		this.externalUserType = externalUserType;
+	}
+
+	public String getUsername() {
+		return username;
+	}
+	public void setUsername(String username) {
+		this.username = username;
+	}
+	public String getFirstname() {
+		return firstname;
+	}
+	public void setFirstname(String firstname) {
+		this.firstname = firstname;
+	}
+	public String getLastname() {
+		return lastname;
+	}
+	public void setLastname(String lastname) {
+		this.lastname = lastname;
+	}
+	public String getPictureUrl() {
+		return pictureUrl;
+	}
+	public void setPictureUrl(String pictureUrl) {
+		this.pictureUrl = pictureUrl;
+	}
+	public String getEmail() {
+		return email;
+	}
+	public void setEmail(String email) {
+		this.email = email;
+	}
+
+	public String getExternalUserId() {
+		return externalUserId;
+	}
+	public void setExternalUserId(String externalUserId) {
+		this.externalUserId = externalUserId;
+	}
+
+	public String getExternalUserType() {
+		return externalUserType;
+	}
+	public void setExternalUserType(String externalUserType) {
+		this.externalUserType = externalUserType;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/persistence/beans/basic/SOAPLogin.java b/src/org/openmeetings/app/persistence/beans/basic/SOAPLogin.java
new file mode 100644
index 0000000..3eed246
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/basic/SOAPLogin.java
@@ -0,0 +1,175 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.basic;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "soaplogin")
+public class SOAPLogin implements Serializable {
+	
+	private static final long serialVersionUID = 5101010700038221434L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="soapLoginId")
+	private long soapLoginId;
+	@Column(name="hash")
+	private String hash;
+	@Column(name="room_id")
+	private Long room_id;
+	@Column(name="session_hash")
+	private String sessionHash;
+	@Column(name="created")
+	private Date created;
+	@Column(name="used")
+	private Boolean used;
+	@Column(name="use_date")
+	private Date useDate;
+	@Column(name="becomemoderator")
+	private Boolean becomemoderator;
+	@Column(name="showaudiovideotest")
+	private Boolean showAudioVideoTest;
+	@Column(name="allow_same_url_multiple_times")
+	private Boolean allowSameURLMultipleTimes;
+	@Column(name="show_nick_name_dialog")
+	private Boolean showNickNameDialog;
+	@Column(name="client_url")
+	private String clientURL;
+	@Column(name="room_recording_id")
+	private Long roomRecordingId;
+	@Column(name="landing_zone")
+	private String landingZone;
+	@Column(name="allow_recording")
+	private Boolean allowRecording;
+	
+	public long getSoapLoginId() {
+		return soapLoginId;
+	}
+	public void setSoapLoginId(long soapLoginId) {
+		this.soapLoginId = soapLoginId;
+	}
+	
+	public String getHash() {
+		return hash;
+	}
+	public void setHash(String hash) {
+		this.hash = hash;
+	}
+	
+	public Long getRoom_id() {
+		return room_id;
+	}
+	public void setRoom_id(Long room_id) {
+		this.room_id = room_id;
+	}
+	
+	public String getSessionHash() {
+		return sessionHash;
+	}
+	public void setSessionHash(String sessionHash) {
+		this.sessionHash = sessionHash;
+	}
+	
+	public Date getCreated() {
+		return created;
+	}
+	public void setCreated(Date created) {
+		this.created = created;
+	}
+	
+	public Boolean getUsed() {
+		return used;
+	}
+	public void setUsed(Boolean used) {
+		this.used = used;
+	}
+	
+	public Date getUseDate() {
+		return useDate;
+	}
+	public void setUseDate(Date useDate) {
+		this.useDate = useDate;
+	}
+	
+	public Boolean getBecomemoderator() {
+		return becomemoderator;
+	}
+	public void setBecomemoderator(Boolean becomemoderator) {
+		this.becomemoderator = becomemoderator;
+	}
+	
+	public Boolean getShowAudioVideoTest() {
+		return showAudioVideoTest;
+	}
+	public void setShowAudioVideoTest(Boolean showAudioVideoTest) {
+		this.showAudioVideoTest = showAudioVideoTest;
+	}
+	
+	public Boolean getAllowSameURLMultipleTimes() {
+		return allowSameURLMultipleTimes;
+	}
+	public void setAllowSameURLMultipleTimes(Boolean allowSameURLMultipleTimes) {
+		this.allowSameURLMultipleTimes = allowSameURLMultipleTimes;
+	}
+
+	public Boolean getShowNickNameDialog() {
+		return showNickNameDialog;
+	}
+	public void setShowNickNameDialog(Boolean showNickNameDialog) {
+		this.showNickNameDialog = showNickNameDialog;
+	}
+	
+	public String getClientURL() {
+		return clientURL;
+	}
+	public void setClientURL(String clientURL) {
+		this.clientURL = clientURL;
+	}
+	
+	public Long getRoomRecordingId() {
+		return roomRecordingId;
+	}
+	public void setRoomRecordingId(Long roomRecordingId) {
+		this.roomRecordingId = roomRecordingId;
+	}
+	
+	public String getLandingZone() {
+		return landingZone;
+	}
+	public void setLandingZone(String landingZone) {
+		this.landingZone = landingZone;
+	}
+	
+	public Boolean getAllowRecording() {
+		return allowRecording;
+	}
+	public void setAllowRecording(Boolean allowRecording) {
+		this.allowRecording = allowRecording;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/persistence/beans/basic/Sessiondata.java b/src/org/openmeetings/app/persistence/beans/basic/Sessiondata.java
new file mode 100644
index 0000000..1589f9f
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/basic/Sessiondata.java
@@ -0,0 +1,127 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.basic;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Lob;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "sessiondata")
+public class Sessiondata implements Serializable {
+	private static final long serialVersionUID = 1928177917452866750L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="id")
+	private Long id;
+	@Column(name="user_id")
+	private Long user_id;
+	@Column(name="session_id")
+	private String session_id;
+	@Column(name="starttermin_time")
+	private Date starttermin_time;
+	@Column(name="refresh_time")
+	private Date refresh_time;
+	@Lob
+	@Column(name="sessionXml")
+	private String sessionXml;
+	@Column(name="storePermanent")
+	private Boolean storePermanent;
+	@Column(name="language_id")
+	private Long language_id;
+	@Column(name="organization_id")
+	private Long organization_id;
+	public Sessiondata() {
+		super();
+		// TODO Auto-generated constructor stub
+	}
+    
+    public Long getId() {
+        return id;
+    }
+    public void setId(Long id) {
+        this.id = id;
+    }
+    
+    public Date getRefresh_time() {
+        return refresh_time;
+    }
+    public void setRefresh_time(Date refresh_time) {
+        this.refresh_time = refresh_time;
+    }
+    
+    public String getSession_id() {
+        return session_id;
+    }
+    public void setSession_id(String session_id) {
+        this.session_id = session_id;
+    }
+    
+    public Date getStarttermin_time() {
+        return starttermin_time;
+    }
+    public void setStarttermin_time(Date starttermin_time) {
+        this.starttermin_time = starttermin_time;
+    }
+    
+    public Long getUser_id() {
+        return user_id;
+    }
+    public void setUser_id(Long user_id) {
+        this.user_id = user_id;
+    }
+
+	public String getSessionXml() {
+		return sessionXml;
+	}
+	public void setSessionXml(String sessionXml) {
+		this.sessionXml = sessionXml;
+	}
+
+	public Boolean getStorePermanent() {
+		return storePermanent;
+	}
+	public void setStorePermanent(Boolean storePermanent) {
+		this.storePermanent = storePermanent;
+	}
+
+	public Long getLanguage_id() {
+		return language_id;
+	}
+	public void setLanguage_id(Long language_id) {
+		this.language_id = language_id;
+	}
+
+	public Long getOrganization_id() {
+		return organization_id;
+	}
+	public void setOrganization_id(Long organization_id) {
+		this.organization_id = organization_id;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/persistence/beans/calendar/Appointment.java b/src/org/openmeetings/app/persistence/beans/calendar/Appointment.java
new file mode 100644
index 0000000..c5a2a13
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/calendar/Appointment.java
@@ -0,0 +1,339 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.calendar;
+
+import java.io.Serializable;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+import java.util.TimeZone;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.Lob;
+import javax.persistence.ManyToOne;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.openmeetings.app.persistence.beans.user.Users;
+
+@Entity
+@Table(name = "appointments")
+@NamedQueries({
+    @NamedQuery(name="appointmentsInRange",
+        	query="SELECT a FROM Appointment a "
+    			+ "WHERE a.deleted <> :deleted "
+    			+ "	AND ( "
+    			+ "		(a.appointmentStarttime BETWEEN :starttime AND :endtime) "
+    			+ "		OR (a.appointmentEndtime BETWEEN :starttime AND :endtime) "
+    			+ "		OR (a.appointmentStarttime < :starttime AND a.appointmentEndtime > :endtime) "
+    			+ "	)"
+    			+ "	AND a.userId.user_id = :userId"
+    	)
+    , @NamedQuery(name="joinedAppointmentsInRange",
+    	query="SELECT a FROM MeetingMember mm, IN(mm.appointment) a "
+			+ "WHERE mm.deleted <> true AND mm.invitor <> true AND mm.userid.user_id = :userId "
+			+ "	AND a.appointmentId NOT IN (SELECT a.appointmentId FROM Appointment a WHERE a.userId.user_id = :userId)"
+			+ "	AND mm.isConnectedEvent <> true " //TODO review: isConnectedEvent is set for the MeetingMember if event is created from "Private Messages", it is weird
+			+ "	AND ( "
+			+ "		(a.appointmentStarttime BETWEEN :starttime AND :endtime) "
+			+ "		OR (a.appointmentEndtime BETWEEN :starttime AND :endtime) "
+			+ "		OR (a.appointmentStarttime < :starttime AND a.appointmentEndtime > :endtime) "
+			+ "	)"
+	)
+})
+public class Appointment implements Serializable {
+
+	private static final long serialVersionUID = 2016808778885761525L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name = "appointment_id")
+	private Long appointmentId;
+	@Column(name = "appointmentname")
+	private String appointmentName;
+	@Column(name = "location")
+	private String appointmentLocation;
+	@Column(name = "appointment_starttime")
+	private Date appointmentStarttime;
+	@Column(name = "appointment_endtime")
+	private Date appointmentEndtime;
+	@Lob 
+	@Column(name = "description", length=2048)
+	private String appointmentDescription;
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name = "category_id", nullable = true)
+	private AppointmentCategory appointmentCategory;
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name = "user_id", nullable = true)
+	private Users userId;
+
+	@Column(name = "starttime")
+	private Date starttime;
+	@Column(name = "updatetime")
+	private Date updatetime;
+	@Column(name = "deleted")
+	private String deleted;
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name = "remind_id", nullable = true)
+	private AppointmentReminderTyps remind;
+
+	@Column(name = "isdaily")
+	private Boolean isDaily;
+	@Column(name = "isweekly")
+	private Boolean isWeekly;
+	@Column(name = "ismonthly")
+	private Boolean isMonthly;
+	@Column(name = "isyearly")
+	private Boolean isYearly;
+
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name = "room_id", nullable = true)
+	private Rooms room;
+
+	@Column(name = "icalId")
+	private String icalId;
+
+	@Transient
+	private List<MeetingMember> meetingMember;
+	@Column(name = "language_id")
+	private Long language_id;
+	@Column(name = "is_password_protected")
+	private Boolean isPasswordProtected;
+	@Column(name = "password")
+	private String password;
+
+	@Column(name = "is_connected_event")
+	private Boolean isConnectedEvent;
+
+	@Column(name = "is_reminder_email_send")
+	private Boolean isReminderEmailSend = false; //default to false
+
+	public Long getAppointmentId() {
+		return appointmentId;
+	}
+
+	public void setAppointmentId(Long appointmentId) {
+		this.appointmentId = appointmentId;
+	}
+
+	public Users getUserId() {
+		return userId;
+	}
+
+	public void setUserId(Users userId) {
+		this.userId = userId;
+	}
+
+	public String getAppointmentName() {
+		return appointmentName;
+	}
+
+	public void setAppointmentName(String appointmentName) {
+		this.appointmentName = appointmentName;
+	}
+
+	public String getAppointmentLocation() {
+		return appointmentLocation;
+	}
+
+	public void setAppointmentLocation(String appointmentLocation) {
+		this.appointmentLocation = appointmentLocation;
+	}
+
+	public Date getAppointmentStarttime() {
+		return appointmentStarttime;
+	}
+
+	public Calendar appointmentStartAsCalendar(TimeZone timeZone) {
+		Calendar cal = Calendar.getInstance(timeZone);
+		cal.setTime(appointmentStarttime);
+		return cal;
+	}
+
+	public void setAppointmentStarttime(Date appointmentStarttime) {
+		this.appointmentStarttime = appointmentStarttime;
+	}
+
+	public Date getAppointmentEndtime() {
+		return appointmentEndtime;
+	}
+
+	public Calendar appointmentEndAsCalendar(TimeZone timeZone) {
+		Calendar cal = Calendar.getInstance(timeZone);
+		cal.setTime(appointmentEndtime);
+		return cal;
+	}
+
+	public void setAppointmentEndtime(Date appointmentEndtime) {
+		this.appointmentEndtime = appointmentEndtime;
+	}
+
+	public String getAppointmentDescription() {
+		return appointmentDescription;
+	}
+
+	public void setAppointmentDescription(String appointmentDescription) {
+		this.appointmentDescription = appointmentDescription;
+	}
+
+	public AppointmentCategory getAppointmentCategory() {
+		return appointmentCategory;
+	}
+
+	public void setAppointmentCategory(AppointmentCategory appointmentCategory) {
+		this.appointmentCategory = appointmentCategory;
+	}
+
+	public AppointmentReminderTyps getRemind() {
+		return remind;
+	}
+
+	public void setRemind(AppointmentReminderTyps remind) {
+		this.remind = remind;
+	}
+
+	public Date getStarttime() {
+		return starttime;
+	}
+
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+
+	public String getDeleted() {
+		return deleted;
+	}
+
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+
+	public Boolean getIsWeekly() {
+		return isWeekly;
+	}
+
+	public void setIsWeekly(Boolean isWeekly) {
+		this.isWeekly = isWeekly;
+	}
+
+	public Boolean getIsMonthly() {
+		return isMonthly;
+	}
+
+	public void setIsMonthly(Boolean isMonthly) {
+		this.isMonthly = isMonthly;
+	}
+
+	public Boolean getIsYearly() {
+		return isYearly;
+	}
+
+	public void setIsYearly(Boolean isYearly) {
+		this.isYearly = isYearly;
+	}
+
+	public Boolean getIsDaily() {
+		return isDaily;
+	}
+
+	public void setIsDaily(Boolean isDaily) {
+		this.isDaily = isDaily;
+	}
+
+	public List<MeetingMember> getMeetingMember() {
+		return meetingMember;
+	}
+
+	public void setMeetingMember(List<MeetingMember> meetingMember) {
+		this.meetingMember = meetingMember;
+	}
+
+	public Rooms getRoom() {
+		return room;
+	}
+
+	public void setRoom(Rooms room) {
+		this.room = room;
+	}
+
+	public String getIcalId() {
+		return icalId;
+	}
+
+	public void setIcalId(String icalId) {
+		this.icalId = icalId;
+	}
+
+	public Long getLanguage_id() {
+		return language_id;
+	}
+
+	public void setLanguage_id(Long languageId) {
+		language_id = languageId;
+	}
+
+	public Boolean getIsPasswordProtected() {
+		return isPasswordProtected;
+	}
+
+	public void setIsPasswordProtected(Boolean isPasswordProtected) {
+		this.isPasswordProtected = isPasswordProtected;
+	}
+
+	public String getPassword() {
+		return password;
+	}
+
+	public void setPassword(String password) {
+		this.password = password;
+	}
+
+	public Boolean getIsConnectedEvent() {
+		return isConnectedEvent;
+	}
+
+	public void setIsConnectedEvent(Boolean isConnectedEvent) {
+		this.isConnectedEvent = isConnectedEvent;
+	}
+
+	public Boolean getIsReminderEmailSend() {
+		return isReminderEmailSend;
+	}
+
+	public void setIsReminderEmailSend(Boolean isReminderEmailSend) {
+		this.isReminderEmailSend = isReminderEmailSend;
+	}
+
+}
diff --git a/src/org/openmeetings/app/persistence/beans/calendar/AppointmentCategory.java b/src/org/openmeetings/app/persistence/beans/calendar/AppointmentCategory.java
new file mode 100644
index 0000000..35e99dc
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/calendar/AppointmentCategory.java
@@ -0,0 +1,115 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.calendar;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import org.openmeetings.app.persistence.beans.user.Users;
+
+
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Lob;
+import javax.persistence.ManyToOne;
+import javax.persistence.JoinColumn;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "appointmentcategory")
+public class AppointmentCategory implements Serializable {
+	
+	private static final long serialVersionUID = 595713649933692774L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="category_id")
+	private Long categoryId;
+	@Column(name="name")
+	private String name;
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name="user_id", nullable=true)
+	private Users user;
+	
+	@Column(name="starttime")
+	private Date starttime;
+	@Column(name="updatetime")
+	private Date updatetime;
+	@Column(name="deleted")
+	private String deleted;
+	@Lob
+	@Column(name="comment_field", length=2048)
+	private String comment;
+	
+	public Long getCategoryId() {
+		return categoryId;
+	}
+	public void setCategoryId(Long categoryId) {
+		this.categoryId = categoryId;
+	}
+	
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	
+	public Users getUser() {
+		return user;
+	}
+	public void setUser(Users user) {
+		this.user = user;
+	}
+	
+	public Date getStarttime() {
+		return starttime;
+	}
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+	
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+	
+	public String getDeleted() {
+		return deleted;
+	}
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+	
+	public String getComment() {
+		return comment;
+	}
+	public void setComment(String comment) {
+		this.comment = comment;
+	}
+	
+
+}
diff --git a/src/org/openmeetings/app/persistence/beans/calendar/AppointmentReminderTyps.java b/src/org/openmeetings/app/persistence/beans/calendar/AppointmentReminderTyps.java
new file mode 100644
index 0000000..ea93668
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/calendar/AppointmentReminderTyps.java
@@ -0,0 +1,105 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.calendar;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+import org.openmeetings.app.persistence.beans.user.Users;
+
+
+@Entity
+@Table(name = "appointmentremindertyps")
+public class AppointmentReminderTyps implements Serializable {
+	
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -6543593995706839669L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="typ_id")
+	private Long typId;
+	@Column(name="name")
+	private String name;
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name="user_id", nullable=true)
+	private Users user;
+	
+	@Column(name="starttime")
+	private Date starttime;
+	@Column(name="updatetime")
+	private Date updatetime;
+	@Column(name="deleted")
+	private String deleted;
+	
+	public Long getTypId() {
+		return typId;
+	}
+	public void setTypId(Long typId) {
+		this.typId = typId;
+	}
+	
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	
+	public Users getUser() {
+		return user;
+	}
+	public void setUser(Users user) {
+		this.user = user;
+	}
+	
+	public Date getStarttime() {
+		return starttime;
+	}
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+	
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+	
+	public String getDeleted() {
+		return deleted;
+	}
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/persistence/beans/calendar/MeetingMember.java b/src/org/openmeetings/app/persistence/beans/calendar/MeetingMember.java
new file mode 100644
index 0000000..f85fd67
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/calendar/MeetingMember.java
@@ -0,0 +1,193 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.calendar;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
+import org.openmeetings.app.persistence.beans.invitation.Invitations;
+import org.openmeetings.app.persistence.beans.user.Users;
+
+
+@Entity
+@Table(name = "meeting_members")
+public class MeetingMember implements Serializable {
+	
+	private static final long serialVersionUID = -3864571325368787524L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="meeting_member_id")
+	private Long meetingMemberId;
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name="user_id", nullable=true)
+	private Users userid;
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name="appointment_id", nullable=true)
+	private Appointment appointment;
+	@Column(name="firstname")
+	private String firstname;
+	@Column(name="lastname")
+	private String lastname;
+	@Column(name="member_status")
+	private String memberStatus; // internal, external.
+	@Column(name="appointment_status")
+	private String appointmentStatus; //status of the appointment denial, acceptance, wait. 
+	@Column(name="email")
+	private String email;
+			
+	@Column(name="starttime")
+	private Date starttime;
+	@Column(name="updatetime")
+	private Date updatetime;
+	@Column(name="deleted")
+	private Boolean deleted;
+	@Column(name="invitor")
+	private Boolean invitor;
+	
+	
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name="invitation", nullable=true, insertable=false)
+	private Invitations invitation;
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name="omtimezoneId", nullable=true, insertable=true)
+	private OmTimeZone omTimeZone;
+	
+	@Column(name="is_connected_event")
+	private Boolean isConnectedEvent;
+	
+	public Long getMeetingMemberId() {
+		return meetingMemberId;
+	}
+	public void setMeetingMemberId(Long groupMemberId) {
+		this.meetingMemberId = groupMemberId;
+	}
+	
+	public Users getUserid() {
+		return userid;
+	}
+	public void setUserid(Users userid) {
+		this.userid = userid;
+	}
+	
+	public String getEmail() {
+		return email;
+	}
+	public void setEmail(String email) {
+		this.email = email;
+	}
+	
+	public String getFirstname() {
+		return firstname;
+	}
+	public void setFirstname(String firstname) {
+		this.firstname = firstname;
+	}
+	
+	public String getLastname() {
+		return lastname;
+	}
+	public void setLastname(String lastname) {
+		this.lastname = lastname;
+	}
+	
+	public String getMemberStatus() {
+		return memberStatus;
+	}
+	public void setMemberStatus(String memberStatus) {
+		this.memberStatus = memberStatus;
+	}
+	
+   public String getAppointmentStatus() {
+		return appointmentStatus;
+	}
+	public void setAppointmentStatus(String appointmentStatus) {
+		this.appointmentStatus = appointmentStatus;
+	}
+	
+	
+	public Appointment getAppointment() {
+		return appointment;
+	}
+	public void setAppointment(Appointment appointment) {
+		this.appointment = appointment;
+	}
+	
+	
+	public Invitations getInvitation() {
+		return invitation;
+	}
+	public void setInvitation(Invitations invitation) {
+		this.invitation = invitation;
+	}
+	public Date getStarttime() {
+		return starttime;
+	}
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+	
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+	
+	public Boolean getDeleted() {
+		return deleted;
+	}
+	public void setDeleted(Boolean deleted) {
+		this.deleted = deleted;
+	}
+	
+	public Boolean getInvitor() {
+		return invitor;
+	}
+	public void setInvitor(Boolean invitor) {
+		this.invitor = invitor;
+	}
+
+	public OmTimeZone getOmTimeZone() {
+		return omTimeZone;
+	}
+	public void setOmTimeZone(OmTimeZone omTimeZone) {
+		this.omTimeZone = omTimeZone;
+	}
+	
+	public Boolean getIsConnectedEvent() {
+		return isConnectedEvent;
+	}
+	public void setIsConnectedEvent(Boolean isConnectedEvent) {
+		this.isConnectedEvent = isConnectedEvent;
+	}
+	
+	
+}
diff --git a/src/org/openmeetings/app/persistence/beans/domain/Organisation.java b/src/org/openmeetings/app/persistence/beans/domain/Organisation.java
new file mode 100644
index 0000000..bb1b114
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/domain/Organisation.java
@@ -0,0 +1,120 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.domain;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.Table;
+
+@Entity
+@NamedQueries({
+	@NamedQuery(name="getOrganisationById",
+		query="SELECT c FROM Organisation AS c WHERE c.organisation_id = :organisation_id AND c.deleted <> :deleted")
+	, @NamedQuery(name="getAnyOrganisationById",
+		query="SELECT c FROM Organisation AS c WHERE c.organisation_id = :organisation_id")
+	, @NamedQuery(name="getOrganisationsByUserId",
+		query="SELECT ou.organisation FROM Users u, IN(u.organisation_users) ou WHERE u.deleted = 'false' AND u.user_id = :user_id")
+})
+@Table(name = "organisation")
+public class Organisation implements Serializable {
+	private static final long serialVersionUID = 99123580264065654L;
+	
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name="organisation_id")
+	private Long organisation_id;
+	
+	@Column(name="name")
+	private String name;
+	
+	@Column(name="insertedby")
+	private Long insertedby;
+	
+	@Column(name="updatedby")
+	private Long updatedby;
+	
+	@Column(name="starttime")
+	private Date starttime;
+	
+	@Column(name="updatetime")
+	private Date updatetime;
+	
+	@Column(name="deleted")
+	private String deleted;
+	
+
+	public Long getInsertedby() {
+		return insertedby;
+	}
+	public void setInsertedby(Long insertedby) {
+		this.insertedby = insertedby;
+	}
+
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public Long getOrganisation_id() {
+		return organisation_id;
+	}
+	public void setOrganisation_id(Long organisation_id) {
+		this.organisation_id = organisation_id;
+	}
+
+	public Long getUpdatedby() {
+		return updatedby;
+	}
+	public void setUpdatedby(Long updatedby) {
+		this.updatedby = updatedby;
+	}	
+	
+    
+	public Date getStarttime() {
+		return starttime;
+	}
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+    
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+	
+	public String getDeleted() {
+		return deleted;
+	}
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}	
+}
diff --git a/src/org/openmeetings/app/persistence/beans/domain/Organisation_Users.java b/src/org/openmeetings/app/persistence/beans/domain/Organisation_Users.java
new file mode 100644
index 0000000..5e9ae3f
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/domain/Organisation_Users.java
@@ -0,0 +1,128 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.domain;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.Table;
+
+@Entity
+@NamedQueries({
+	@NamedQuery(name="selectMaxUsersByOrganisationId",
+		query="SELECT COUNT(c.organisation_users_id) FROM Organisation_Users c WHERE c.deleted = 'false' AND c.organisation.organisation_id = :organisation_id")
+	, @NamedQuery(name="getOrganisation_UserByUserAndOrganisation",
+		query="SELECT ou FROM Users u, IN(u.organisation_users) ou WHERE u.deleted = 'false' AND u.user_id = :user_id AND ou.organisation.organisation_id = :organisation_id")
+	, @NamedQuery(name="deleteUsersFromOrganisation",
+	query="DELETE FROM Organisation_Users c WHERE c.organisation.organisation_id = :organisation_id")
+})
+@Table(name = "organisation_users")
+public class Organisation_Users implements Serializable {
+
+	private static final long serialVersionUID = 7206870465903375817L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name = "organisation_users_id")
+	private Long organisation_users_id;
+
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name = "organisation_id", insertable = true, updatable = true)
+	private Organisation organisation;
+
+	@Column(name = "user_id")
+	private Long user_id;
+
+	@Column(name = "starttime")
+	private Date starttime;
+	
+	@Column(name = "updatetime")
+	private Date updatetime;
+	
+	@Column(name = "deleted")
+	private String deleted;
+	
+	@Column(name = "is_moderator")
+	private Boolean isModerator;
+	
+	public Organisation getOrganisation() {
+		return organisation;
+	}
+
+	public void setOrganisation(Organisation organisation) {
+		this.organisation = organisation;
+	}
+
+	public Long getOrganisation_users_id() {
+		return organisation_users_id;
+	}
+
+	public void setOrganisation_users_id(Long organisation_users_id) {
+		this.organisation_users_id = organisation_users_id;
+	}
+
+	public Long getUser_id() {
+		return user_id;
+	}
+
+	public void setUser_id(Long user_id) {
+		this.user_id = user_id;
+	}
+
+	public Date getStarttime() {
+		return starttime;
+	}
+
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+
+	public String getDeleted() {
+		return deleted;
+	}
+
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+
+	public Boolean getIsModerator() {
+		return isModerator;
+	}
+
+	public void setIsModerator(Boolean isModerator) {
+		this.isModerator = isModerator;
+	}
+}
diff --git a/src/org/openmeetings/app/persistence/beans/files/FileExplorerItem.java b/src/org/openmeetings/app/persistence/beans/files/FileExplorerItem.java
new file mode 100644
index 0000000..a84f79b
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/files/FileExplorerItem.java
@@ -0,0 +1,259 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.files;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "fileexploreritem")
+public class FileExplorerItem implements Serializable {
+	
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 242843782142620566L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="fileexploreritem_id")
+	private long fileExplorerItemId;
+	@Column(name="filename")
+	private String fileName;
+	@Column(name="filehash")
+	private String fileHash;
+	@Column(name="parent_fileexploreritem_id")
+	private Long parentFileExplorerItemId;
+	@Column(name="room_id")
+	private Long room_id;
+	@Column(name="owner_id")
+	private Long ownerId;//OwnerID => only set if its directly root in Owner Directory, other Folders and Files
+	//maybe are also in a Home directory but just because their parent is
+	
+	@Column(name="is_folder")
+	private Boolean isFolder;
+	@Column(name="is_image")
+	private Boolean isImage;
+	@Column(name="is_presentation")
+	private Boolean isPresentation;
+	@Column(name="is_video")
+	private Boolean isVideo;
+	
+	@Column(name="inserted_by")
+	private Long insertedBy;
+	@Column(name="inserted")
+	private Date inserted;
+	@Column(name="updated")
+	private Date updated;
+	@Column(name="deleted")
+	private String deleted;
+	
+	@Column(name="filesize")
+	private Long fileSize;
+	
+	@Column(name="flv_width")
+	private Integer flvWidth;
+	@Column(name="flv_height")
+	private Integer flvHeight;
+	@Column(name="preview_image")
+	private String previewImage;
+	
+	@Column(name="wml_file_path")
+	private String wmlFilePath;
+	@Column(name="is_stored_wml_file")
+	private Boolean isStoredWmlFile;
+	@Column(name="is_chart")
+    private Boolean isChart;
+    
+	@Column(name="external_file_id")
+    private Long externalFileId; 
+	@Column(name="external_type")
+    private String externalType;
+
+		
+	public long getFileExplorerItemId() {
+		return fileExplorerItemId;
+	}
+	public void setFileExplorerItemId(long fileExplorerItemId) {
+		this.fileExplorerItemId = fileExplorerItemId;
+	}
+	
+	public String getFileName() {
+		return fileName;
+	}
+	public void setFileName(String fileName) {
+		this.fileName = fileName;
+	}
+	
+	public String getFileHash() {
+		return fileHash;
+	}
+	public void setFileHash(String fileHash) {
+		this.fileHash = fileHash;
+	}
+	
+	public Long getParentFileExplorerItemId() {
+		return parentFileExplorerItemId;
+	}
+	public void setParentFileExplorerItemId(Long parentFileExplorerItemId) {
+		this.parentFileExplorerItemId = parentFileExplorerItemId;
+	}
+	
+	public Long getOwnerId() {
+		return ownerId;
+	}
+	public void setOwnerId(Long ownerId) {
+		this.ownerId = ownerId;
+	}
+	
+	public Long getRoom_id() {
+		return room_id;
+	}
+	public void setRoom_id(Long room_id) {
+		this.room_id = room_id;
+	}
+	
+	public Boolean getIsFolder() {
+		return isFolder;
+	}
+	public void setIsFolder(Boolean isFolder) {
+		this.isFolder = isFolder;
+	}
+	
+	public Boolean getIsImage() {
+		return isImage;
+	}
+	public void setIsImage(Boolean isImage) {
+		this.isImage = isImage;
+	}
+	
+	public Boolean getIsVideo() {
+		return isVideo;
+	}
+	public void setIsVideo(Boolean isVideo) {
+		this.isVideo = isVideo;
+	}
+	
+	public Boolean getIsPresentation() {
+		return isPresentation;
+	}
+	public void setIsPresentation(Boolean isPresentation) {
+		this.isPresentation = isPresentation;
+	}
+	
+	public Long getInsertedBy() {
+		return insertedBy;
+	}
+	public void setInsertedBy(Long insertedBy) {
+		this.insertedBy = insertedBy;
+	}
+	
+	public Date getInserted() {
+		return inserted;
+	}
+	public void setInserted(Date inserted) {
+		this.inserted = inserted;
+	}
+
+	public String getDeleted() {
+		return deleted;
+	}
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+	
+	public Date getUpdated() {
+		return updated;
+	}
+	public void setUpdated(Date updated) {
+		this.updated = updated;
+	}
+	
+	public Long getFileSize() {
+		return fileSize;
+	}
+	public void setFileSize(Long fileSize) {
+		this.fileSize = fileSize;
+	}
+	
+	public Integer getFlvWidth() {
+		return flvWidth;
+	}
+	public void setFlvWidth(Integer flvWidth) {
+		this.flvWidth = flvWidth;
+	}
+
+	public Integer getFlvHeight() {
+		return flvHeight;
+	}
+	public void setFlvHeight(Integer flvHeight) {
+		this.flvHeight = flvHeight;
+	}
+
+	public String getPreviewImage() {
+		return previewImage;
+	}	
+	public void setPreviewImage(String previewImage) {
+		this.previewImage = previewImage;
+	}
+	
+	public String getWmlFilePath() {
+		return wmlFilePath;
+	}
+	public void setWmlFilePath(String wmlFilePath) {
+		this.wmlFilePath = wmlFilePath;
+	}
+	
+	public Boolean getIsStoredWmlFile() {
+		return isStoredWmlFile;
+	}
+	public void setIsStoredWmlFile(Boolean isStoredWmlFile) {
+		this.isStoredWmlFile = isStoredWmlFile;
+	}
+
+	public Boolean getIsChart() {
+        return isChart;
+    }
+    public void setIsChart(Boolean isChart) {
+        this.isChart = isChart;
+    }
+    
+	public Long getExternalFileId() {
+		return externalFileId;
+	}
+	public void setExternalFileId(Long externalFileId) {
+		this.externalFileId = externalFileId;
+	}
+	
+	public String getExternalType() {
+		return externalType;
+	}
+	public void setExternalType(String externalType) {
+		this.externalType = externalType;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/persistence/beans/flvrecord/FlvRecording.java b/src/org/openmeetings/app/persistence/beans/flvrecord/FlvRecording.java
new file mode 100644
index 0000000..0a34e01
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/flvrecord/FlvRecording.java
@@ -0,0 +1,350 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.flvrecord;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.openmeetings.app.persistence.beans.user.Users;
+
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+
+@Entity
+@Table(name = "flvrecording")
+public class FlvRecording implements Serializable {
+	
+	private static final long serialVersionUID = -2234874663310617072L;
+
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="flvrecording_id")
+	private long flvRecordingId;
+	
+	@Column(name="filename")
+	private String fileName;
+	@Column(name="alternate_download")
+	private String alternateDownload;
+	@Column(name="filehash")
+	private String fileHash;
+	@Column(name="comment_field")
+	private String comment;
+	
+	@Column(name="parent_fileexploreritem_id")
+	private Long parentFileExplorerItemId;
+	@Column(name="room_id")
+	private Long room_id;
+	@Column(name="owner_id")
+	private Long ownerId;//OwnerID => only set if its directly root in Owner Directory, other Folders and Files
+	//maybe are also in a Home directory but just because their parent is
+	
+	@Column(name="is_folder")
+	private Boolean isFolder;
+	@Column(name="is_image")
+	private Boolean isImage;
+	@Column(name="is_presentation")
+	private Boolean isPresentation;
+	@Column(name="is_recording")
+	private Boolean isRecording;
+	
+	@Column(name="record_start")
+	private Date recordStart;
+	@Column(name="record_end")
+	private Date recordEnd;
+	
+	@Column(name="inserted_by")
+	private Long insertedBy;
+	@Column(name="inserted")
+	private Date inserted;
+	@Column(name="updated")
+	private Date updated;
+	@Column(name="deleted")
+	private String deleted;
+	
+	@Column(name="width")
+	private Integer width;
+	@Column(name="height")
+	private Integer height;
+	
+	@Column(name="flv_width")
+	private Integer flvWidth;
+	@Column(name="flv_height")
+	private Integer flvHeight;
+	@Column(name="preview_image")
+	private String previewImage;
+	
+	@Column(name="filesize")
+	private Long fileSize;
+	
+	@Column(name="recorder_stream_id")
+	private String recorderStreamId;
+	@Column(name="organization_id")
+	private Long organization_id;
+	
+	@Column(name="is_interview")
+	private Boolean isInterview;
+	@Column(name="progress_post_processing")
+	private Integer progressPostProcessing;
+	
+	//Not Mapped
+	@Transient
+	private List<FlvRecordingMetaData> flvRecordingMetaData;
+	@Transient
+	private Users creator;
+	@Transient
+	private Rooms room;
+	@Transient
+	private List<FlvRecordingLog> flvRecordingLog;
+	
+	public long getFlvRecordingId() {
+		return flvRecordingId;
+	}
+	public void setFlvRecordingId(long flvRecordingId) {
+		this.flvRecordingId = flvRecordingId;
+	}
+
+	public String getFileName() {
+		return fileName;
+	}
+	public void setFileName(String fileName) {
+		this.fileName = fileName;
+	}
+	
+	public String getComment() {
+		return comment;
+	}
+	public void setComment(String comment) {
+		this.comment = comment;
+	}
+	
+	public String getFileHash() {
+		return fileHash;
+	}
+	public void setFileHash(String fileHash) {
+		this.fileHash = fileHash;
+	}
+
+	public Long getParentFileExplorerItemId() {
+		return parentFileExplorerItemId;
+	}
+	public void setParentFileExplorerItemId(Long parentFileExplorerItemId) {
+		this.parentFileExplorerItemId = parentFileExplorerItemId;
+	}
+
+	public Long getRoom_id() {
+		return room_id;
+	}
+	public void setRoom_id(Long room_id) {
+		this.room_id = room_id;
+	}
+
+	public Long getOwnerId() {
+		return ownerId;
+	}
+	public void setOwnerId(Long ownerId) {
+		this.ownerId = ownerId;
+	}
+
+	public Boolean getIsFolder() {
+		return isFolder;
+	}
+	public void setIsFolder(Boolean isFolder) {
+		this.isFolder = isFolder;
+	}
+	
+	public Boolean getIsImage() {
+		return isImage;
+	}
+	public void setIsImage(Boolean isImage) {
+		this.isImage = isImage;
+	}
+	
+	public Boolean getIsPresentation() {
+		return isPresentation;
+	}
+	public void setIsPresentation(Boolean isPresentation) {
+		this.isPresentation = isPresentation;
+	}
+
+	public Boolean getIsRecording() {
+		return isRecording;
+	}
+	public void setIsRecording(Boolean isRecording) {
+		this.isRecording = isRecording;
+	}
+	
+	public Long getInsertedBy() {
+		return insertedBy;
+	}
+	public void setInsertedBy(Long insertedBy) {
+		this.insertedBy = insertedBy;
+	}
+	
+	public Date getInserted() {
+		return inserted;
+	}
+	public void setInserted(Date inserted) {
+		this.inserted = inserted;
+	}
+
+	public String getDeleted() {
+		return deleted;
+	}
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+	
+	public Date getUpdated() {
+		return updated;
+	}
+	public void setUpdated(Date updated) {
+		this.updated = updated;
+	}
+	
+	public Long getFileSize() {
+		return fileSize;
+	}
+	public void setFileSize(Long fileSize) {
+		this.fileSize = fileSize;
+	}
+
+	public Date getRecordStart() {
+		return recordStart;
+	}
+	public void setRecordStart(Date recordStart) {
+		this.recordStart = recordStart;
+	}
+
+	public Date getRecordEnd() {
+		return recordEnd;
+	}
+	public void setRecordEnd(Date recordEnd) {
+		this.recordEnd = recordEnd;
+	}
+	
+	public String getRecorderStreamId() {
+		return recorderStreamId;
+	}
+	public void setRecorderStreamId(String recorderStreamId) {
+		this.recorderStreamId = recorderStreamId;
+	}
+	
+	public Long getOrganization_id() {
+		return organization_id;
+	}
+	public void setOrganization_id(Long organization_id) {
+		this.organization_id = organization_id;
+	}
+	
+	public List<FlvRecordingMetaData> getFlvRecordingMetaData() {
+		return flvRecordingMetaData;
+	}
+	public void setFlvRecordingMetaData(
+			List<FlvRecordingMetaData> flvRecordingMetaData) {
+		this.flvRecordingMetaData = flvRecordingMetaData;
+	}
+	
+	public Users getCreator() {
+		return creator;
+	}
+	public void setCreator(Users creator) {
+		this.creator = creator;
+	}
+	
+	public Rooms getRoom() {
+		return room;
+	}
+	public void setRoom(Rooms room) {
+		this.room = room;
+	}
+	
+	public Integer getWidth() {
+		return width;
+	}
+	public void setWidth(Integer width) {
+		this.width = width;
+	}
+	
+	public Integer getHeight() {
+		return height;
+	}
+	public void setHeight(Integer height) {
+		this.height = height;
+	}
+	
+	public Integer getFlvWidth() {
+		return flvWidth;
+	}
+	public void setFlvWidth(Integer flvWidth) {
+		this.flvWidth = flvWidth;
+	}
+	
+	public Integer getFlvHeight() {
+		return flvHeight;
+	}
+	public void setFlvHeight(Integer flvHeight) {
+		this.flvHeight = flvHeight;
+	}
+
+	public String getPreviewImage() {
+		return previewImage;
+	}
+	public void setPreviewImage(String previewImage) {
+		this.previewImage = previewImage;
+	}
+	
+	public String getAlternateDownload() {
+		return alternateDownload;
+	}
+	public void setAlternateDownload(String alternateDownload) {
+		this.alternateDownload = alternateDownload;
+	}
+
+	public List<FlvRecordingLog> getFlvRecordingLog() {
+		return flvRecordingLog;
+	}
+	public void setFlvRecordingLog(List<FlvRecordingLog> flvRecordingLog) {
+		this.flvRecordingLog = flvRecordingLog;
+	}
+	
+	public Boolean getIsInterview() {
+		return isInterview;
+	}
+	public void setIsInterview(Boolean isInterview) {
+		this.isInterview = isInterview;
+	}
+
+	public Integer getProgressPostProcessing() {
+		return progressPostProcessing;
+	}
+	public void setProgressPostProcessing(Integer progressPostProcessing) {
+		this.progressPostProcessing = progressPostProcessing;
+	}
+	
+	
+}
diff --git a/src/org/openmeetings/app/persistence/beans/flvrecord/FlvRecordingLog.java b/src/org/openmeetings/app/persistence/beans/flvrecord/FlvRecordingLog.java
new file mode 100644
index 0000000..31f54ca
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/flvrecord/FlvRecordingLog.java
@@ -0,0 +1,99 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.flvrecord;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.Lob;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+@Entity
+@Table(name = "flvrecording_log")
+public class FlvRecordingLog implements Serializable {
+	private static final long serialVersionUID = -2577533628675416706L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name="flvrecording_log_id")
+	private long flvRecordingLogId;
+	
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name="flvrecording_id", nullable=true)
+	private FlvRecording flvRecording;
+	@Column(name="inserted")
+	private Date inserted;
+	@Column(name="msg_type")
+	private String msgType;
+	@Lob
+	@Column(name="ful_message")
+	private String fullMessage;
+	@Column(name="exit_value")
+	private String exitValue;
+	
+	public long getFlvRecordingLogId() {
+		return flvRecordingLogId;
+	}
+	public void setFlvRecordingLogId(long flvRecordingLogId) {
+		this.flvRecordingLogId = flvRecordingLogId;
+	}
+	
+	public FlvRecording getFlvRecording() {
+		return flvRecording;
+	}
+	public void setFlvRecording(FlvRecording flvRecording) {
+		this.flvRecording = flvRecording;
+	}
+	
+	public Date getInserted() {
+		return inserted;
+	}
+	public void setInserted(Date inserted) {
+		this.inserted = inserted;
+	}
+	
+	public String getMsgType() {
+		return msgType;
+	}
+	public void setMsgType(String msgType) {
+		this.msgType = msgType;
+	}
+	
+	public String getFullMessage() {
+		return fullMessage;
+	}
+	public void setFullMessage(String fullMessage) {
+		this.fullMessage = fullMessage;
+	}
+	
+	public String getExitValue() {
+		return exitValue;
+	}
+	public void setExitValue(String exitValue) {
+		this.exitValue = exitValue;
+	}
+}
diff --git a/src/org/openmeetings/app/persistence/beans/flvrecord/FlvRecordingMetaData.java b/src/org/openmeetings/app/persistence/beans/flvrecord/FlvRecordingMetaData.java
new file mode 100644
index 0000000..5f9da67
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/flvrecord/FlvRecordingMetaData.java
@@ -0,0 +1,228 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.flvrecord;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+/**
+ * 
+ */
+@Entity
+@Table(name = "flvrecording_metadata")
+public class FlvRecordingMetaData implements Serializable {
+	
+	public Boolean getStreamReaderThreadComplete() {
+		return streamReaderThreadComplete;
+	}
+	public void setStreamReaderThreadComplete(Boolean streamReaderThreadComplete) {
+		this.streamReaderThreadComplete = streamReaderThreadComplete;
+	}
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 8444176152324513716L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name="flv_meta_id")
+	private long flvRecordingMetaDataId;
+	
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name="flvrecording_id", nullable=true)
+	private FlvRecording flvRecording;
+	
+	@Column(name="record_start")
+	private Date recordStart;
+	@Column(name="record_end")
+	private Date recordEnd;
+	@Column(name="stream_name")
+	private String streamName;
+	
+	@Column(name="free_text_user_name")
+	private String freeTextUserName;
+	@Column(name="is_audio_only")
+	private Boolean isAudioOnly;
+	@Column(name="is_video_only")
+	private Boolean isVideoOnly;
+	@Column(name="is_screen_data")
+	private Boolean isScreenData;
+
+	@Column(name="inserted_by")
+	private Long insertedBy;
+	@Column(name="inserted")
+	private Date inserted;
+	@Column(name="updated")
+	private Date updated;
+	@Column(name="deleted")
+	private String deleted;
+	
+	@Column(name="wav_audio_data")
+	private String wavAudioData;
+	@Column(name="full_wav_audio_data")
+	private String fullWavAudioData;
+	
+	@Column(name="audio_is_valid")
+	private Boolean audioIsValid;
+	
+	@Column(name="interiew_pod_id")
+	private Integer interiewPodId;
+	@Column(name="initial_gap_seconds")
+	private Integer initialGapSeconds;
+	
+	//this is only true when the asynchronous stream writer has 
+	//completed to write packets to the file
+	@Column(name="stream_reader_thread_complete")
+	private Boolean streamReaderThreadComplete;
+	
+	public long getFlvRecordingMetaDataId() {
+		return flvRecordingMetaDataId;
+	}
+	public void setFlvRecordingMetaDataId(long flvRecordingMetaDataId) {
+		this.flvRecordingMetaDataId = flvRecordingMetaDataId;
+	}
+	
+	public FlvRecording getFlvRecording() {
+		return flvRecording;
+	}
+	public void setFlvRecording(FlvRecording flvRecording) {
+		this.flvRecording = flvRecording;
+	}
+
+	public Date getRecordStart() {
+		return recordStart;
+	}
+	public void setRecordStart(Date recordStart) {
+		this.recordStart = recordStart;
+	}
+
+	public Date getRecordEnd() {
+		return recordEnd;
+	}
+	public void setRecordEnd(Date recordEnd) {
+		this.recordEnd = recordEnd;
+	}
+
+	public String getFreeTextUserName() {
+		return freeTextUserName;
+	}
+	public void setFreeTextUserName(String freeTextUserName) {
+		this.freeTextUserName = freeTextUserName;
+	}
+	
+	public Boolean getIsAudioOnly() {
+		return isAudioOnly;
+	}
+	public void setIsAudioOnly(Boolean isAudioOnly) {
+		this.isAudioOnly = isAudioOnly;
+	}
+	
+	public Boolean getIsVideoOnly() {
+		return isVideoOnly;
+	}
+	public void setIsVideoOnly(Boolean isVideoOnly) {
+		this.isVideoOnly = isVideoOnly;
+	}
+	
+	public Long getInsertedBy() {
+		return insertedBy;
+	}
+	public void setInsertedBy(Long insertedBy) {
+		this.insertedBy = insertedBy;
+	}
+	
+	public Date getInserted() {
+		return inserted;
+	}
+	public void setInserted(Date inserted) {
+		this.inserted = inserted;
+	}
+
+	public String getDeleted() {
+		return deleted;
+	}
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+	
+	public Date getUpdated() {
+		return updated;
+	}
+	public void setUpdated(Date updated) {
+		this.updated = updated;
+	}
+	
+	public Boolean getIsScreenData() {
+		return isScreenData;
+	}
+	public void setIsScreenData(Boolean isScreenData) {
+		this.isScreenData = isScreenData;
+	}
+
+	public String getStreamName() {
+		return streamName;
+	}
+	public void setStreamName(String streamName) {
+		this.streamName = streamName;
+	}
+	
+	public String getWavAudioData() {
+		return wavAudioData;
+	}
+	public void setWavAudioData(String wavAudioData) {
+		this.wavAudioData = wavAudioData;
+	}
+	
+	public String getFullWavAudioData() {
+		return fullWavAudioData;
+	}
+	public void setFullWavAudioData(String fullWavAudioData) {
+		this.fullWavAudioData = fullWavAudioData;
+	}
+	
+	public Boolean getAudioIsValid() {
+		return audioIsValid;
+	}
+	public void setAudioIsValid(Boolean audioIsValid) {
+		this.audioIsValid = audioIsValid;
+	}
+
+	public Integer getInteriewPodId() {
+		return interiewPodId;
+	}
+	public void setInteriewPodId(Integer interiewPodId) {
+		this.interiewPodId = interiewPodId;
+	}
+	
+	public Integer getInitialGapSeconds() {
+		return initialGapSeconds;
+	}
+	public void setInitialGapSeconds(Integer initialGapSeconds) {
+		this.initialGapSeconds = initialGapSeconds;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/persistence/beans/flvrecord/FlvRecordingMetaDelta.java b/src/org/openmeetings/app/persistence/beans/flvrecord/FlvRecordingMetaDelta.java
new file mode 100644
index 0000000..7d4522c
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/flvrecord/FlvRecordingMetaDelta.java
@@ -0,0 +1,207 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.flvrecord;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+/**
+ * 
+ *
+ */
+@Entity
+@Table(name = "flvrecording_meta_delta")
+public class FlvRecordingMetaDelta implements Serializable {
+	
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -733483974696234137L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name="flv_delta_id")
+	private long flvRecordingMetaDeltaId;
+	@Column(name="flvrecording_metadata_id")
+	private Long flvRecordingMetaDataId;
+	@Column(name="time_stamp")
+	private Integer timeStamp;
+	@Column(name="delta_time")
+	private Long deltaTime;
+	@Column(name="last_time_stamp")
+	private Long lastTimeStamp;
+	@Column(name="start_time")
+	private Date startTime;
+	@Column(name="current_event_time")
+	private Date currentTime;
+	@Column(name="delta_time_stamp")
+	private Long deltaTimeStamp;
+	@Column(name="missing_time")
+	private Long missingTime;
+	@Column(name="duration")
+	private Integer duration;
+	@Column(name="start_time_stamp")
+	private Integer startTimeStamp;
+	@Column(name="packet_time_stamp")
+	private Integer packetTimeStamp;
+	@Column(name="wave_out_put_name")
+	private String waveOutPutName;
+	@Column(name="data_length_packet")
+	private Integer dataLengthPacket;
+	@Column(name="received_audio_data_length")
+	private Long receivedAudioDataLength;
+	@Column(name="is_end_padding")
+	private Boolean isEndPadding;
+	@Column(name="is_start_padding")
+	private Boolean isStartPadding;
+	@Column(name="debug_status")
+	private String debugStatus;
+	
+	public long getFlvRecordingMetaDeltaId() {
+		return flvRecordingMetaDeltaId;
+	}
+	public void setFlvRecordingMetaDeltaId(long flvRecordingMetaDeltaId) {
+		this.flvRecordingMetaDeltaId = flvRecordingMetaDeltaId;
+	}
+	
+	public Long getFlvRecordingMetaDataId() {
+		return flvRecordingMetaDataId;
+	}
+	public void setFlvRecordingMetaDataId(Long flvRecordingMetaDataId) {
+		this.flvRecordingMetaDataId = flvRecordingMetaDataId;
+	}
+	
+	public Integer getTimeStamp() {
+		return timeStamp;
+	}
+	public void setTimeStamp(Integer timeStamp) {
+		this.timeStamp = timeStamp;
+	}
+	
+	public Long getDeltaTime() {
+		return deltaTime;
+	}
+	public void setDeltaTime(Long deltaTime) {
+		this.deltaTime = deltaTime;
+	}
+	
+	public Long getLastTimeStamp() {
+		return lastTimeStamp;
+	}
+	public void setLastTimeStamp(Long lastTimeStamp) {
+		this.lastTimeStamp = lastTimeStamp;
+	}
+	
+	public Long getDeltaTimeStamp() {
+		return deltaTimeStamp;
+	}
+	public void setDeltaTimeStamp(Long deltaTimeStamp) {
+		this.deltaTimeStamp = deltaTimeStamp;
+	}
+	
+	public Integer getPacketTimeStamp() {
+		return packetTimeStamp;
+	}
+	public void setPacketTimeStamp(Integer packetTimeStamp) {
+		this.packetTimeStamp = packetTimeStamp;
+	}
+	
+	public Integer getStartTimeStamp() {
+		return startTimeStamp;
+	}
+	public void setStartTimeStamp(Integer startTimeStamp) {
+		this.startTimeStamp = startTimeStamp;
+	}
+	
+	public Long getMissingTime() {
+		return missingTime;
+	}
+	public void setMissingTime(Long missingTime) {
+		this.missingTime = missingTime;
+	}
+	
+	public Integer getDuration() {
+		return duration;
+	}
+	public void setDuration(Integer duration) {
+		this.duration = duration;
+	}
+	
+	public Date getStartTime() {
+		return startTime;
+	}
+	public void setStartTime(Date startTime) {
+		this.startTime = startTime;
+	}
+	
+	public Date getCurrentTime() {
+		return currentTime;
+	}
+	public void setCurrentTime(Date currentTime) {
+		this.currentTime = currentTime;
+	}
+	
+	public Boolean getIsEndPadding() {
+		return isEndPadding;
+	}
+	public void setIsEndPadding(Boolean isEndPadding) {
+		this.isEndPadding = isEndPadding;
+	}
+	
+	public Boolean getIsStartPadding() {
+		return isStartPadding;
+	}
+	public void setIsStartPadding(Boolean isStartPadding) {
+		this.isStartPadding = isStartPadding;
+	}
+	
+	public String getDebugStatus() {
+		return debugStatus;
+	}
+	public void setDebugStatus(String debugStatus) {
+		this.debugStatus = debugStatus;
+	}
+	
+	public String getWaveOutPutName() {
+		return waveOutPutName;
+	}
+	public void setWaveOutPutName(String waveOutPutName) {
+		this.waveOutPutName = waveOutPutName;
+	}
+	
+	public Integer getDataLengthPacket() {
+		return dataLengthPacket;
+	}
+	public void setDataLengthPacket(Integer dataLengthPacket) {
+		this.dataLengthPacket = dataLengthPacket;
+	}
+	
+	public Long getReceivedAudioDataLength() {
+		return receivedAudioDataLength;
+	}
+	public void setReceivedAudioDataLength(Long receivedAudioDataLength) {
+		this.receivedAudioDataLength = receivedAudioDataLength;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/persistence/beans/invitation/Invitations.java b/src/org/openmeetings/app/persistence/beans/invitation/Invitations.java
new file mode 100644
index 0000000..0879a39
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/invitation/Invitations.java
@@ -0,0 +1,268 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.invitation;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.openmeetings.app.persistence.beans.user.Users;
+
+@Entity
+@Table(name = "invitations")
+public class Invitations implements Serializable {
+
+	private static final long serialVersionUID = 1153321347974705506L;
+
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name = "invitations_id")
+	private Long invitations_id;
+
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name = "invitedBy", nullable = true)
+	private Users invitedBy;
+	@Column(name = "starttime")
+	private Date starttime;
+	@Column(name = "updatetime")
+	private Date updatetime;
+	@Column(name = "deleted")
+	private String deleted;
+
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name = "roomid", nullable = true)
+	private Rooms room;
+
+	// the hash for the link
+	@Column(name = "hash")
+	private String hash;
+	@Column(name = "invitedname")
+	private String invitedname;
+	@Column(name = "invitedEMail")
+	private String invitedEMail;
+	@Column(name = "ispasswordprotected")
+	private Boolean isPasswordProtected;
+	@Column(name = "invitationpass")
+	private String invitationpass;
+
+	// this is necessary as a room can be shared between multiple domains
+	// is either *public* or an organisation_ID
+	@Column(name = "conferencedomain")
+	private String conferencedomain;
+
+	// Invitations by Time are only valid between the validFrom validTo
+	// TimeStamp
+	@Column(name = "isValidByTime")
+	private Boolean isValidByTime = false;
+	@Column(name = "validFrom")
+	private Date validFrom;
+	@Column(name = "validTo")
+	private Date validTo;
+	// An invitation which is canBeUsedOnlyOneTime = true can be only used
+	// one-time
+	@Column(name = "canBeUsedOnlyOneTime")
+	private Boolean canBeUsedOnlyOneTime = false;
+	@Column(name = "invitationWasUsed")
+	private Boolean invitationWasUsed = false;
+
+	@Column(name = "appointment_id")
+	private Long appointmentId;
+
+	// BaseuRL defined at creation of InvitationLink - used for chronological
+	// reminders on serverside (updates)
+	@Column(name = "baseUrl")
+	private String baseUrl;
+	
+	private boolean allowEntry = true;
+
+	public Invitations() {
+		super();
+	}
+
+	public Long getInvitations_id() {
+		return invitations_id;
+	}
+
+	public void setInvitations_id(Long invitations_id) {
+		this.invitations_id = invitations_id;
+	}
+
+	public Rooms getRoom() {
+		return room;
+	}
+
+	public void setRoom(Rooms room) {
+		this.room = room;
+	}
+
+	public Users getInvitedBy() {
+		return invitedBy;
+	}
+
+	public void setInvitedBy(Users invitedBy) {
+		this.invitedBy = invitedBy;
+	}
+
+	public Date getStarttime() {
+		return starttime;
+	}
+
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+
+	public String getDeleted() {
+		return deleted;
+	}
+
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+
+	public String getHash() {
+		return hash;
+	}
+
+	public void setHash(String hash) {
+		this.hash = hash;
+	}
+
+	public String getInvitedname() {
+		return invitedname;
+	}
+
+	public void setInvitedname(String invitedname) {
+		this.invitedname = invitedname;
+	}
+
+	public String getInvitedEMail() {
+		return invitedEMail;
+	}
+
+	public void setInvitedEMail(String invitedEMail) {
+		this.invitedEMail = invitedEMail;
+	}
+
+	public Boolean getIsPasswordProtected() {
+		return isPasswordProtected;
+	}
+
+	public void setIsPasswordProtected(Boolean isPasswordProtected) {
+		this.isPasswordProtected = isPasswordProtected;
+	}
+
+	public String getInvitationpass() {
+		return invitationpass;
+	}
+
+	public void setInvitationpass(String invitationpass) {
+		this.invitationpass = invitationpass;
+	}
+
+	public String getConferencedomain() {
+		return conferencedomain;
+	}
+
+	public void setConferencedomain(String conferencedomain) {
+		this.conferencedomain = conferencedomain;
+	}
+
+	public Date getValidFrom() {
+		return validFrom;
+	}
+
+	public void setValidFrom(Date validFrom) {
+		this.validFrom = validFrom;
+	}
+
+	public Date getValidTo() {
+		return validTo;
+	}
+
+	public void setValidTo(Date validTo) {
+		this.validTo = validTo;
+	}
+
+	public Boolean getCanBeUsedOnlyOneTime() {
+		return canBeUsedOnlyOneTime;
+	}
+
+	public void setCanBeUsedOnlyOneTime(Boolean canBeUsedOnlyOneTime) {
+		this.canBeUsedOnlyOneTime = canBeUsedOnlyOneTime;
+	}
+
+	public Boolean getInvitationWasUsed() {
+		return invitationWasUsed;
+	}
+
+	public void setInvitationWasUsed(Boolean invitationWasUsed) {
+		this.invitationWasUsed = invitationWasUsed;
+	}
+
+	public Boolean getIsValidByTime() {
+		return isValidByTime;
+	}
+
+	public void setIsValidByTime(Boolean isValidByTime) {
+		this.isValidByTime = isValidByTime;
+	}
+
+	public String getBaseUrl() {
+		return baseUrl;
+	}
+
+	public void setBaseUrl(String baseUrl) {
+		this.baseUrl = baseUrl;
+	}
+
+	public Long getAppointmentId() {
+		return appointmentId;
+	}
+
+	public void setAppointmentId(Long appointmentId) {
+		this.appointmentId = appointmentId;
+	}
+
+	public boolean isAllowEntry() {
+		return allowEntry;
+	}
+
+	public void setAllowEntry(boolean allowEntry) {
+		this.allowEntry = allowEntry;
+	}
+
+}
diff --git a/src/org/openmeetings/app/persistence/beans/lang/FieldLanguage.java b/src/org/openmeetings/app/persistence/beans/lang/FieldLanguage.java
new file mode 100644
index 0000000..1cd89a0
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/lang/FieldLanguage.java
@@ -0,0 +1,105 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.lang;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+@Entity
+@Table(name = "fieldlanguage")
+public class FieldLanguage implements Serializable {
+
+	private static final long serialVersionUID = 3501643212388395425L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name="language_id")
+	private Long language_id;
+	@Column(name="name")
+	private String name;
+	@Column(name="starttime")
+	private Date starttime;
+	@Column(name="updatetime")
+	private Date updatetime;
+	@Column(name="deleted")
+	private String deleted;
+	@Column(name="rtl")
+	private Boolean rtl;
+	@Column(name="code")
+	private String code;
+	
+    public FieldLanguage() {
+	}
+
+	public Long getLanguage_id() {
+		return language_id;
+	}
+	public void setLanguage_id(Long language_id) {
+		this.language_id = language_id;
+	}
+
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public Date getStarttime() {
+		return starttime;
+	}
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+    
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+	
+	public String getDeleted() {
+		return deleted;
+	}
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+
+	public Boolean getRtl() {
+		return rtl;
+	}
+	public void setRtl(Boolean rtl) {
+		this.rtl = rtl;
+	}
+
+	public String getCode() {
+		return code;
+	}
+	public void setCode(String code) {
+		this.code = code;
+	}
+}
diff --git a/src/org/openmeetings/app/persistence/beans/lang/Fieldlanguagesvalues.java b/src/org/openmeetings/app/persistence/beans/lang/Fieldlanguagesvalues.java
new file mode 100644
index 0000000..6a4bfd8
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/lang/Fieldlanguagesvalues.java
@@ -0,0 +1,141 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.lang;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.Lob;
+import javax.persistence.ManyToOne;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.Table;
+
+@Entity
+@NamedQueries({
+	@NamedQuery(name = "allFieldLanguageValues", query = "SELECT flv FROM Fieldlanguagesvalues flv "
+		+ "WHERE flv.deleted LIKE 'false' "
+		+ "		AND flv.fieldvalues.deleted LIKE 'false' "
+		+ "		AND flv.language_id = :language_id")
+	, @NamedQuery(name="allFieldValuesIds", query = "SELECT flv.fieldvalues_id FROM Fieldlanguagesvalues flv "
+		+ "WHERE flv.deleted LIKE 'false' "
+		+ "		AND flv.fieldvalues.deleted LIKE 'false' "
+		+ "		AND flv.language_id = :language_id")
+	, @NamedQuery(name="allNotTranslatedValues", query = "SELECT flv FROM Fieldlanguagesvalues flv "
+		+ "WHERE flv.deleted LIKE 'false' "
+		+ "		AND flv.fieldvalues.deleted LIKE 'false' "
+		+ "		AND flv.language_id = 1 AND flv.fieldvalues_id NOT IN (:id_list)")
+})
+@Table(name = "fieldlanguagesvalues")
+public class Fieldlanguagesvalues implements Serializable {
+
+	private static final long serialVersionUID = 1965055047163639210L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name="lang_val_id")
+	private Long fieldlanguagesvalues_id;
+	@Column(name="fieldvalues_id")
+	private Long fieldvalues_id;
+	@Column(name="language_id")
+	private Long language_id;
+	@Column(name="starttime")
+	private Date starttime;
+	@Column(name="updatetime")
+	private Date updatetime;
+	@Column(name="deleted")
+	private String deleted;
+	@Lob
+	@Column(name="value")
+	private String value;
+
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name = "fieldvalues_id")
+	private Fieldvalues fieldvalues;
+	
+	public Fieldlanguagesvalues() {
+		super();
+	}
+	
+	public Long getFieldlanguagesvalues_id() {
+		return fieldlanguagesvalues_id;
+	}
+	public void setFieldlanguagesvalues_id(Long fieldlanguagesvalues_id) {
+		this.fieldlanguagesvalues_id = fieldlanguagesvalues_id;
+	}
+	
+	public Date getStarttime() {
+		return starttime;
+	}
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+    
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+	
+	public String getDeleted() {
+		return deleted;
+	}
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+	
+	public Long getFieldvalues_id() {
+		return fieldvalues_id;
+	}
+	public void setFieldvalues_id(Long fieldvalues_id) {
+		this.fieldvalues_id = fieldvalues_id;
+	}
+
+	public Long getLanguage_id() {
+		return language_id;
+	}
+	public void setLanguage_id(Long language_id) {
+		this.language_id = language_id;
+	}
+
+	public String getValue() {
+		return value;
+	}
+	public void setValue(String value) {
+		this.value = value;
+	}
+
+	public Fieldvalues getFieldvalues() {
+		return fieldvalues;
+	}
+
+	public void setFieldvalues(Fieldvalues fieldvalues) {
+		this.fieldvalues = fieldvalues;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/persistence/beans/lang/Fieldvalues.java b/src/org/openmeetings/app/persistence/beans/lang/Fieldvalues.java
new file mode 100644
index 0000000..0c3ccd2
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/lang/Fieldvalues.java
@@ -0,0 +1,114 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.lang;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.Set;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+
+@Entity
+@NamedQueries({
+	@NamedQuery(name = "getFieldCount", query = "SELECT COUNT(fv) FROM Fieldvalues flv WHERE flv.deleted LIKE 'false' ")
+})
+@Table(name = "fieldvalues")
+public class Fieldvalues implements Serializable {
+	private static final long serialVersionUID = -3439614511218028085L;
+	@Id
+	@Column(name="fieldvalues_id")
+	private Long fieldvalues_id;
+	@Column(name="name")
+	private String name;
+	@Column(name="starttime")
+	private Date starttime;
+	@Column(name="updatetime")
+	private Date updatetime;
+	@Column(name="deleted")
+	private String deleted;
+
+	@OneToMany(fetch = FetchType.LAZY)
+	@JoinColumn(name="fieldvalues_id")
+	private Set<Fieldlanguagesvalues> fieldlanguagesvalues;
+	
+	@Transient
+	private Fieldlanguagesvalues fieldlanguagesvalue;
+	
+	public Fieldvalues() {
+		super();
+	}
+	
+	public Long getFieldvalues_id() {
+		return fieldvalues_id;
+	}
+	public void setFieldvalues_id(Long fieldvalues_id) {
+		this.fieldvalues_id = fieldvalues_id;
+	}	
+
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public Date getStarttime() {
+		return starttime;
+	}
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+    
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+	
+	public String getDeleted() {
+		return deleted;
+	}
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+
+	public Set<Fieldlanguagesvalues> getFieldlanguagesvalues() {
+		return fieldlanguagesvalues;
+	}
+	public void setFieldlanguagesvalues(Set<Fieldlanguagesvalues> fieldlanguagesvalues) {
+		this.fieldlanguagesvalues = fieldlanguagesvalues;
+	}
+
+	public Fieldlanguagesvalues getFieldlanguagesvalue() {
+		return fieldlanguagesvalue;
+	}
+	public void setFieldlanguagesvalue(Fieldlanguagesvalues fieldlanguagesvalue) {
+		this.fieldlanguagesvalue = fieldlanguagesvalue;
+	}
+}
diff --git a/src/org/openmeetings/app/persistence/beans/logs/ConferenceLog.java b/src/org/openmeetings/app/persistence/beans/logs/ConferenceLog.java
new file mode 100644
index 0000000..2ecb088
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/logs/ConferenceLog.java
@@ -0,0 +1,175 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.logs;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+
+
+@Entity
+@Table(name = "conferencelog")
+public class ConferenceLog implements Serializable {
+	
+	
+	private static final long serialVersionUID = 147341496943518159L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="conferencelog_id")
+	private long conferenceLogId;
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name="conferencelogtype_id", updatable=true, insertable=true)
+	private ConferenceLogType conferenceLogType;
+	@Column(name="inserted")
+	private Date inserted;
+	@Column(name="insertedby")
+	private long insertedby;
+	
+	//NULL means its a Guest/Invited User
+	@Column(name="user_id")
+	private Long userId;
+	@Column(name="external_user_id")
+	private String externalUserId;
+	@Column(name="external_user_type")
+	private String externalUserType;
+	@Column(name="streamid")
+	private String streamid;
+	@Column(name="room_id")
+	private Long room_id;
+	@Column(name="userip")
+	private String userip;
+	@Column(name="scopename")
+	private String scopeName;
+	@Column(name="email")
+	private String email;
+	@Column(name="firstname")
+	private String firstname;
+	@Column(name="lastname")
+	private String lastname;
+	
+	public long getConferenceLogId() {
+		return conferenceLogId;
+	}
+	public void setConferenceLogId(long conferenceLogId) {
+		this.conferenceLogId = conferenceLogId;
+	}
+	
+	public ConferenceLogType getConferenceLogType() {
+		return conferenceLogType;
+	}
+	public void setConferenceLogType(ConferenceLogType conferenceLogType) {
+		this.conferenceLogType = conferenceLogType;
+	}
+	
+	public Date getInserted() {
+		return inserted;
+	}
+	public void setInserted(Date inserted) {
+		this.inserted = inserted;
+	}
+
+	public long getInsertedby() {
+		return insertedby;
+	}
+	public void setInsertedby(long insertedby) {
+		this.insertedby = insertedby;
+	}
+	
+	public Long getUserId() {
+		return userId;
+	}
+	public void setUserId(Long userId) {
+		this.userId = userId;
+	}
+	
+	public String getStreamid() {
+		return streamid;
+	}
+	public void setStreamid(String streamid) {
+		this.streamid = streamid;
+	}
+	
+	public Long getRoom_id() {
+		return room_id;
+	}
+	public void setRoom_id(Long room_id) {
+		this.room_id = room_id;
+	}
+	
+	public String getUserip() {
+		return userip;
+	}
+	public void setUserip(String userip) {
+		this.userip = userip;
+	}
+	
+	public String getScopeName() {
+		return scopeName;
+	}
+	public void setScopeName(String scopeName) {
+		this.scopeName = scopeName;
+	}
+	
+	public String getExternalUserId() {
+		return externalUserId;
+	}
+	public void setExternalUserId(String externalUserId) {
+		this.externalUserId = externalUserId;
+	}
+	
+	public String getExternalUserType() {
+		return externalUserType;
+	}
+	public void setExternalUserType(String externalUserType) {
+		this.externalUserType = externalUserType;
+	}
+	
+	public String getEmail() {
+		return email;
+	}
+	public void setEmail(String email) {
+		this.email = email;
+	}
+	
+	public String getFirstname() {
+		return firstname;
+	}
+	public void setFirstname(String firstname) {
+		this.firstname = firstname;
+	}
+	
+	public String getLastname() {
+		return lastname;
+	}
+	public void setLastname(String lastname) {
+		this.lastname = lastname;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/persistence/beans/logs/ConferenceLogType.java b/src/org/openmeetings/app/persistence/beans/logs/ConferenceLogType.java
new file mode 100644
index 0000000..514e006
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/logs/ConferenceLogType.java
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.logs;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+
+
+@Entity
+@Table(name = "conferencelogtype")
+public class ConferenceLogType implements Serializable {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 4388958579350356294L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="conferencelogtype_id")
+	private long conferenceLogTypeId;
+	@Column(name="eventtype")
+	private String eventType;
+	@Column(name="inserted")
+	private Date inserted;
+	@Column(name="insertedby")
+	private long insertedby;
+	
+	public long getConferenceLogTypeId() {
+		return conferenceLogTypeId;
+	}
+	public void setConferenceLogTypeId(long conferenceLogTypeId) {
+		this.conferenceLogTypeId = conferenceLogTypeId;
+	}
+
+	public String getEventType() {
+		return eventType;
+	}
+	public void setEventType(String eventType) {
+		this.eventType = eventType;
+	}
+	
+	public Date getInserted() {
+		return inserted;
+	}
+	public void setInserted(Date inserted) {
+		this.inserted = inserted;
+	}
+	
+	public long getInsertedby() {
+		return insertedby;
+	}
+	public void setInsertedby(long insertedby) {
+		this.insertedby = insertedby;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/persistence/beans/poll/PollType.java b/src/org/openmeetings/app/persistence/beans/poll/PollType.java
new file mode 100644
index 0000000..697161e
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/poll/PollType.java
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.poll;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+
+import org.openmeetings.app.persistence.beans.lang.Fieldvalues;
+
+@Entity
+@Table(name = "poll_types")
+public class PollType {
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name = "poll_type_id")
+	private Long pollTypesId;
+	@OneToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name = "fieldvalues_id")
+	private Fieldvalues label;
+	@Column(name = "numeric_answer")
+	private Boolean isNumericAnswer;
+	
+	/**
+	 * @return the pollTypesId
+	 */
+	public Long getPollTypesId() {
+		return pollTypesId;
+	}
+	/**
+	 * @param pollTypesId the pollTypesId to set
+	 */
+	public void setPollTypesId(Long pollTypesId) {
+		this.pollTypesId = pollTypesId;
+	}
+	/**
+	 * @return the isNumericAnswer
+	 */
+	public Boolean getIsNumericAnswer() {
+		return isNumericAnswer;
+	}
+	/**
+	 * @param isNumericAnswer the isNumericAnswer to set
+	 */
+	public void setIsNumericAnswer(Boolean isNumericAnswer) {
+		this.isNumericAnswer = isNumericAnswer;
+	}
+	/**
+	 * @return the pollTypeLabelid
+	 */
+	public Fieldvalues getLabel() {
+		return label;
+	}
+	/**
+	 * @param pollTypeLabelid the pollTypeLabelid to set
+	 */
+	public void setLabel(Fieldvalues label) {
+		this.label = label;
+	}
+}
diff --git a/src/org/openmeetings/app/persistence/beans/poll/RoomPoll.java b/src/org/openmeetings/app/persistence/beans/poll/RoomPoll.java
new file mode 100644
index 0000000..c9e3514
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/poll/RoomPoll.java
@@ -0,0 +1,193 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.poll;
+
+import java.util.Date;
+import java.util.LinkedList;
+import java.util.List;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToMany;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.openmeetings.app.persistence.beans.user.Users;
+
+@Entity
+@Table(name = "room_polls")
+public class RoomPoll {
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name = "room_poll_id")
+	private Long roomPollId;
+	@Column(name = "poll_name")
+	private String pollName;
+	@Column(name = "poll_question")
+	private String pollQuestion;
+	@Column(name = "created")
+	private Date created;
+	@Column(name = "archived")
+	private boolean archived;
+	@OneToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name = "poll_type_id")
+	private PollType pollType;
+	@OneToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name = "users_id")
+	private Users createdBy;
+	@OneToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name = "rooms_id")
+	private Rooms room;
+	@OneToMany(fetch = FetchType.EAGER, cascade=CascadeType.ALL)
+	@JoinColumn(name = "room_poll_id")
+	private List<RoomPollAnswers> roomPollAnswerList;
+
+	/**
+	 * @return the createdBy
+	 */
+	public Users getCreatedBy() {
+		return createdBy;
+	}
+
+	/**
+	 * @param createdBy
+	 *            the createdBy to set
+	 */
+	public void setCreatedBy(Users createdBy) {
+		this.createdBy = createdBy;
+	}
+
+	/**
+	 * @return the created
+	 */
+	public Date getCreated() {
+		return created;
+	}
+
+	/**
+	 * @param created
+	 *            the created to set
+	 */
+	public void setCreated(Date created) {
+		this.created = created;
+	}
+
+	/**
+	 * @return the pollQuestion
+	 */
+	public String getPollQuestion() {
+		return pollQuestion;
+	}
+
+	/**
+	 * @param pollQuestion
+	 *            the pollQuestion to set
+	 */
+	public void setPollQuestion(String pollQuestion) {
+		this.pollQuestion = pollQuestion;
+	}
+
+	/**
+	 * @return the roomPollAnswerList
+	 */
+	public List<RoomPollAnswers> getRoomPollAnswerList() {
+		if (roomPollAnswerList == null) {
+			roomPollAnswerList = new LinkedList<RoomPollAnswers>();
+		}
+		return roomPollAnswerList;
+	}
+
+	/**
+	 * @param roomPollAnswerList
+	 *            the roomPollAnswerList to set
+	 */
+	public void setRoomPollAnswerList(List<RoomPollAnswers> roomPollAnswerList) {
+		this.roomPollAnswerList = roomPollAnswerList;
+	}
+
+	/**
+	 * @return the roomPollId
+	 */
+	public Long getRoomPollId() {
+		return roomPollId;
+	}
+
+	/**
+	 * @param roomPollId
+	 *            the roomPollId to set
+	 */
+	public void setRoomPollId(Long roomPollId) {
+		this.roomPollId = roomPollId;
+	}
+
+	/**
+	 * @return the pollTypeId
+	 */
+	public PollType getPollType() {
+		return pollType;
+	}
+
+	public void setPollType(PollType pollType) {
+		this.pollType = pollType;
+	}
+
+	public Rooms getRoom() {
+		return room;
+	}
+
+	public void setRoom(Rooms room) {
+		this.room = room;
+	}
+
+	/**
+	 * @return the archived
+	 */
+	public boolean isArchived() {
+		return archived;
+	}
+
+	/**
+	 * @param archived the archived to set
+	 */
+	public void setArchived(boolean archived) {
+		this.archived = archived;
+	}
+
+	/**
+	 * @return the pollName
+	 */
+	public String getPollName() {
+		return pollName;
+	}
+
+	/**
+	 * @param pollName the pollName to set
+	 */
+	public void setPollName(String pollName) {
+		this.pollName = pollName;
+	}
+
+}
diff --git a/src/org/openmeetings/app/persistence/beans/poll/RoomPollAnswers.java b/src/org/openmeetings/app/persistence/beans/poll/RoomPollAnswers.java
new file mode 100644
index 0000000..fadcc94
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/poll/RoomPollAnswers.java
@@ -0,0 +1,116 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.poll;
+
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+
+import org.openmeetings.app.persistence.beans.user.Users;
+
+@Entity
+@Table(name = "room_poll_answers")
+public class RoomPollAnswers {
+	@OneToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name = "users_id")
+	private Users votedUser;
+	@Column(name = "answer")
+	private Boolean answer;
+	@Column(name = "pointList")
+	private Integer pointList;
+	@Column(name = "voteDate")
+	private Date voteDate;
+	@OneToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name = "room_poll_id")
+	private RoomPoll roomPoll;
+
+	/**
+	 * @return the answer
+	 */
+	public Boolean getAnswer() {
+		return answer;
+	}
+
+	/**
+	 * @param answer
+	 *            the answer to set
+	 */
+	public void setAnswer(Boolean answer) {
+		this.answer = answer;
+	}
+
+	/**
+	 * @return the pointList
+	 */
+	public Integer getPointList() {
+		return pointList;
+	}
+
+	/**
+	 * @param pointList
+	 *            the pointList to set
+	 */
+	public void setPointList(Integer pointList) {
+		this.pointList = pointList;
+	}
+
+	/**
+	 * @return the voteDate
+	 */
+	public Date getVoteDate() {
+		return voteDate;
+	}
+
+	/**
+	 * @param voteDate
+	 *            the voteDate to set
+	 */
+	public void setVoteDate(Date voteDate) {
+		this.voteDate = voteDate;
+	}
+
+	/**
+	 * @return the votedClient
+	 */
+	public Users getVotedUser() {
+		return votedUser;
+	}
+
+	/**
+	 * @param votedClient
+	 *            the votedClient to set
+	 */
+	public void setVotedUser(Users votedUser) {
+		this.votedUser = votedUser;
+	}
+
+	public RoomPoll getRoomPoll() {
+		return roomPoll;
+	}
+
+	public void setRoomPoll(RoomPoll roomPoll) {
+		this.roomPoll = roomPoll;
+	}
+
+}
diff --git a/src/org/openmeetings/app/persistence/beans/rooms/RoomModerators.java b/src/org/openmeetings/app/persistence/beans/rooms/RoomModerators.java
new file mode 100644
index 0000000..ecf550e
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/rooms/RoomModerators.java
@@ -0,0 +1,112 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.rooms;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+import org.openmeetings.app.persistence.beans.user.Users;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.ManyToOne;
+import javax.persistence.JoinColumn;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "rooms_moderator")
+public class RoomModerators implements Serializable {
+	
+	private static final long serialVersionUID = 5407758673591515018L;
+	
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="room_moderators_id")
+	private long roomModeratorsId;
+	@Column(name = "roomId")
+	private Long roomId;
+	@Column(name="is_supermoderator")
+	private Boolean isSuperModerator;
+	@ManyToOne(fetch = FetchType.EAGER) 
+	@JoinColumn (name="user_id")
+	private Users user;
+	@Column(name = "starttime")
+	private Date starttime;
+	@Column(name = "updatetime")
+	private Date updatetime;
+	@Column(name = "deleted")
+	private String deleted;
+	
+	public long getRoomModeratorsId() {
+		return roomModeratorsId;
+	}
+	public void setRoomModeratorsId(long roomModeratorsId) {
+		this.roomModeratorsId = roomModeratorsId;
+	}
+	
+	public Boolean getIsSuperModerator() {
+		return isSuperModerator;
+	}
+	public void setIsSuperModerator(Boolean isSuperModerator) {
+		this.isSuperModerator = isSuperModerator;
+	}
+	
+	
+	public Users getUser() {
+		return user;
+	}
+	public void setUser(Users user) {
+		this.user = user;
+	}
+	
+	public Date getStarttime() {
+		return starttime;
+	}
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+	
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+	
+	public String getDeleted() {
+		return deleted;
+	}
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+	
+	public Long getRoomId() {
+		return roomId;
+	}
+	public void setRoomId(Long roomId) {
+		this.roomId = roomId;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/persistence/beans/rooms/RoomTypes.java b/src/org/openmeetings/app/persistence/beans/rooms/RoomTypes.java
new file mode 100644
index 0000000..e64c879
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/rooms/RoomTypes.java
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.rooms;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "roomtypes")
+public class RoomTypes implements Serializable {
+
+	private static final long serialVersionUID = -4441029424324591356L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="roomtypes_id")
+	private Long roomtypes_id;
+	@Column(name = "starttime")
+	private Date starttime;
+	@Column(name = "updatetime")
+	private Date updatetime;
+	@Column(name="name")
+	private String name;
+	@Column(name = "deleted")
+	private String deleted;
+
+    
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+    
+	public Long getRoomtypes_id() {
+		return roomtypes_id;
+	}
+	public void setRoomtypes_id(Long roomtypes_id) {
+		this.roomtypes_id = roomtypes_id;
+	}
+    
+	public Date getStarttime() {
+		return starttime;
+	}
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+    
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}	
+	
+	public String getDeleted() {
+		return deleted;
+	}
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+
+}
diff --git a/src/org/openmeetings/app/persistence/beans/rooms/Rooms.java b/src/org/openmeetings/app/persistence/beans/rooms/Rooms.java
new file mode 100644
index 0000000..3eed720
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/rooms/Rooms.java
@@ -0,0 +1,376 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.rooms;
+
+import org.openmeetings.app.conference.session.RoomClient;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Lob;
+import javax.persistence.ManyToOne;
+import javax.persistence.JoinColumn;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+
+@Entity
+@Table(name = "rooms")
+public class Rooms implements Serializable {
+	
+	private static final long serialVersionUID = -2860312283159251568L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="rooms_id")
+	private Long rooms_id;
+	@Column(name="name")
+	private String name;
+	@Lob //@Basic(fetch=FetchType.LAZY)
+	@Column(name="comment_field")
+	private String comment;
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn (name="roomtypes_id")
+	private RoomTypes roomtype;
+	@Column(name = "starttime")
+	private Date starttime;
+	@Column(name = "updatetime")
+	private Date updatetime;
+	@Column(name = "deleted")
+	private String deleted;
+	@Column(name = "ispublic")
+	private Boolean ispublic;
+	@Column(name = "numberOfPartizipants")
+	private Long numberOfPartizipants = new Long(4);
+	
+	@Column(name = "appointMent")
+	private Boolean appointment;
+
+	//Vars to simulate external Rooms
+	@Column(name = "externalRoomId")
+	private Long externalRoomId;
+	@Column(name = "externalRoomType")
+	private String externalRoomType;
+	
+	@Column(name = "isdemoroom")
+	private Boolean isDemoRoom;
+	@Column(name = "demo_time")
+	private Integer demoTime; //In Seconds
+	
+	//If this is true all participants of a meeting have to wait for the moderator to come into the room
+	@Column(name = "ismoderatedroom")
+	private Boolean isModeratedRoom;
+	
+	@Column(name = "allow_user_questions")
+	private Boolean allowUserQuestions;
+	
+	@Column(name = "sip_number")
+	private String sipNumber;
+	@Column(name = "conference_pin")
+	private String conferencePin;
+	
+	@Column(name = "is_audio_only")
+	private Boolean isAudioOnly;
+	
+	@Column(name = "is_closed")
+	private Boolean isClosed;
+	@Column(name = "redirect_url")
+	private String redirectURL;
+	
+	@Column(name = "owner_id")
+	private Long ownerId; //Those are the rooms from the myrooms section
+	@Column(name = "wait_for_recording")
+	private Boolean waitForRecording; //Show warning that user has to start recording
+	@Column(name = "allow_recording")
+	private Boolean allowRecording; //Show or show not the recording option in a conference room
+	
+	/**
+	 * Layout of Room
+	 */
+	@Column(name = "hide_top_bar")
+	private Boolean hideTopBar = false;
+	
+	@Column(name = "hide_chat")
+	private Boolean hideChat = false;
+	
+	@Column(name = "hide_activities_and_actions")
+	private Boolean hideActivitiesAndActions = false;
+	
+	@Column(name = "hide_files_explorer")
+	private Boolean hideFilesExplorer = false;
+	
+	@Column(name = "hide_actions_menu")
+	private Boolean hideActionsMenu = false;
+	
+	@Column(name = "hide_screen_sharing")
+	private Boolean hideScreenSharing = false;
+	
+	@Column(name = "hide_whiteboard")
+	private Boolean hideWhiteboard = false;
+	
+	@Column(name = "show_microphone_status")
+	private Boolean showMicrophoneStatus = false;
+	
+	/*
+	 * Non persistent attributes 
+	 */
+	@Transient
+	private List<RoomClient> currentusers;
+    
+	
+	public String getComment() {
+		return comment;
+	}
+	public void setComment(String comment) {
+		this.comment = comment;
+	}
+	
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+    
+	public Long getRooms_id() {
+		return rooms_id;
+	}
+	public void setRooms_id(Long rooms_id) {
+		this.rooms_id = rooms_id;
+	}
+    
+	public RoomTypes getRoomtype() {
+		return roomtype;
+	}
+	public void setRoomtype(RoomTypes roomtype) {
+		this.roomtype = roomtype;
+	}
+    
+	public Date getStarttime() {
+		return starttime;
+	}
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+    
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}	
+	
+	public String getDeleted() {
+		return deleted;
+	}
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+	
+	public Boolean getIspublic() {
+		return ispublic;
+	}
+	public void setIspublic(Boolean ispublic) {
+		this.ispublic = ispublic;
+	}
+	
+	public List<RoomClient> getCurrentusers() {
+		return currentusers;
+	}
+	public void setCurrentusers(List<RoomClient> currentusers) {
+		this.currentusers = currentusers;
+	}
+	
+	public Long getNumberOfPartizipants() {
+		return numberOfPartizipants;
+	}
+	public void setNumberOfPartizipants(Long numberOfPartizipants) {
+		this.numberOfPartizipants = numberOfPartizipants;
+	}
+	
+	
+	public Boolean getAppointment() {
+		return appointment;
+	}
+	public void setAppointment(Boolean appointment) {
+		this.appointment = appointment;
+	}
+	
+	public Boolean getIsDemoRoom() {
+		return isDemoRoom;
+	}
+	public void setIsDemoRoom(Boolean isDemoRoom) {
+		this.isDemoRoom = isDemoRoom;
+	}
+	
+	public Integer getDemoTime() {
+		return demoTime;
+	}
+	public void setDemoTime(Integer demoTime) {
+		this.demoTime = demoTime;
+	}
+	
+	public Boolean getIsModeratedRoom() {
+		return isModeratedRoom;
+	}
+	public void setIsModeratedRoom(Boolean isModeratedRoom) {
+		this.isModeratedRoom = isModeratedRoom;
+	}
+
+    public Long getExternalRoomId() {
+            return externalRoomId;
+    }
+    public void setExternalRoomId(Long externalRoomId) {
+            this.externalRoomId = externalRoomId;
+    }
+
+    public String getExternalRoomType() {
+            return externalRoomType;
+    }
+    public void setExternalRoomType(String externalRoomType) {
+            this.externalRoomType = externalRoomType;
+    }
+	
+	public Boolean getAllowUserQuestions() {
+		return allowUserQuestions;
+	}
+	public void setAllowUserQuestions(Boolean allowUserQuestions) {
+		this.allowUserQuestions = allowUserQuestions;
+	}
+	
+	public String getSipNumber() {
+		return sipNumber;
+	}
+	public void setSipNumber(String sipNumber) {
+		this.sipNumber = sipNumber;
+	}
+	
+	public String getConferencePin() {
+		return conferencePin;
+	}
+	public void setConferencePin(String conferencePin) {
+		this.conferencePin = conferencePin;
+	}
+	
+	public Boolean getIsAudioOnly() {
+		return isAudioOnly;
+	}
+	public void setIsAudioOnly(Boolean isAudioOnly) {
+		this.isAudioOnly = isAudioOnly;
+	}
+	
+	public Boolean getIsClosed() {
+		return isClosed;
+	}
+	public void setIsClosed(Boolean isClosed) {
+		this.isClosed = isClosed;
+	}
+	
+	public String getRedirectURL() {
+		return redirectURL;
+	}
+	public void setRedirectURL(String redirectURL) {
+		this.redirectURL = redirectURL;
+	}
+	
+	public Long getOwnerId() {
+		return ownerId;
+	}
+	public void setOwnerId(Long ownerId) {
+		this.ownerId = ownerId;
+	}
+	
+	public Boolean getWaitForRecording() {
+		return waitForRecording;
+	}
+	public void setWaitForRecording(Boolean waitForRecording) {
+		this.waitForRecording = waitForRecording;
+	}
+	
+	public Boolean getAllowRecording() {
+		return allowRecording;
+	}
+	public void setAllowRecording(Boolean allowRecording) {
+		this.allowRecording = allowRecording;
+	}
+
+	public Boolean getHideTopBar() {
+		return hideTopBar;
+	}
+	public void setHideTopBar(Boolean hideTopBar) {
+		this.hideTopBar = hideTopBar;
+	}
+	
+	public Boolean getHideChat() {
+		return hideChat;
+	}
+	public void setHideChat(Boolean hideChat) {
+		this.hideChat = hideChat;
+	}
+	
+	public Boolean getHideActivitiesAndActions() {
+		return hideActivitiesAndActions;
+	}
+	public void setHideActivitiesAndActions(Boolean hideActivitiesAndActions) {
+		this.hideActivitiesAndActions = hideActivitiesAndActions;
+	}
+	
+	public Boolean getHideFilesExplorer() {
+		return hideFilesExplorer;
+	}
+	public void setHideFilesExplorer(Boolean hideFilesExplorer) {
+		this.hideFilesExplorer = hideFilesExplorer;
+	}
+	
+	public Boolean getHideActionsMenu() {
+		return hideActionsMenu;
+	}
+	public void setHideActionsMenu(Boolean hideActionsMenu) {
+		this.hideActionsMenu = hideActionsMenu;
+	}
+	
+	public Boolean getHideScreenSharing() {
+		return hideScreenSharing;
+	}
+	public void setHideScreenSharing(Boolean hideScreenSharing) {
+		this.hideScreenSharing = hideScreenSharing;
+	}
+	
+	public Boolean getHideWhiteboard() {
+		return hideWhiteboard;
+	}
+	public void setHideWhiteboard(Boolean hideWhiteboard) {
+		this.hideWhiteboard = hideWhiteboard;
+	}
+	
+	public Boolean getShowMicrophoneStatus() {
+		return showMicrophoneStatus;
+	}
+	public void setShowMicrophoneStatus(Boolean showMicrophoneStatus) {
+		this.showMicrophoneStatus = showMicrophoneStatus;
+	}
+    
+}
diff --git a/src/org/openmeetings/app/persistence/beans/rooms/Rooms_Organisation.java b/src/org/openmeetings/app/persistence/beans/rooms/Rooms_Organisation.java
new file mode 100644
index 0000000..3b0f200
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/rooms/Rooms_Organisation.java
@@ -0,0 +1,102 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.rooms;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import org.openmeetings.app.persistence.beans.domain.Organisation;
+
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.ManyToOne;
+import javax.persistence.JoinColumn;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "rooms_organisation")
+public class Rooms_Organisation implements Serializable {
+	
+	private static final long serialVersionUID = 4153935045968138984L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="rooms_organisation_id")
+	private Long rooms_organisation_id;
+	@ManyToOne(fetch = FetchType.EAGER) 
+	@JoinColumn(name="rooms_id", nullable=true)
+	private Rooms room;
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name="organisation_id", nullable=true)
+	private Organisation organisation;
+	@Column(name = "starttime")
+	private Date starttime;
+	@Column(name = "updatetime")
+	private Date updatetime;
+	@Column(name = "deleted")
+	private String deleted;
+
+    public Organisation getOrganisation() {
+		return organisation;
+	}
+	public void setOrganisation(Organisation organisation) {
+		this.organisation = organisation;
+	}
+	
+	public Rooms getRoom() {
+		return room;
+	}
+	public void setRoom(Rooms room) {
+		this.room = room;
+	}
+
+	public Long getRooms_organisation_id() {
+		return rooms_organisation_id;
+	}
+	public void setRooms_organisation_id(Long rooms_organisation_id) {
+		this.rooms_organisation_id = rooms_organisation_id;
+	}
+    
+	public Date getStarttime() {
+		return starttime;
+	}
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+    
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}	
+	
+	public String getDeleted() {
+		return deleted;
+	}
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+
+}
diff --git a/src/org/openmeetings/app/persistence/beans/sip/OpenXGReturnObject.java b/src/org/openmeetings/app/persistence/beans/sip/OpenXGReturnObject.java
new file mode 100644
index 0000000..e3e7fb0
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/sip/OpenXGReturnObject.java
@@ -0,0 +1,106 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.sip;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "open_xg_return_object")
+public class OpenXGReturnObject implements Serializable {
+	
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -5240675684036197687L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name="object_id")
+	private Long openXGReturnObjectId;
+	
+	@Column(name="method_name")
+	private String methodName;
+	@Column(name="inserted")
+	private Date inserted;
+	@Column(name="status_code")
+	private String status_code;
+	@Column(name="status_string")
+	private String status_string;
+	@Column(name="conference_number")
+	private String conferenceNumber;
+	@Column(name="conference_pin")
+	private String conferencePin;
+	
+	public Long getOpenXGReturnObjectId() {
+		return openXGReturnObjectId;
+	}
+	public void setOpenXGReturnObjectId(Long openXGReturnObjectId) {
+		this.openXGReturnObjectId = openXGReturnObjectId;
+	}
+	
+	public String getMethodName() {
+		return methodName;
+	}
+	public void setMethodName(String methodName) {
+		this.methodName = methodName;
+	}
+    
+	public Date getInserted() {
+		return inserted;
+	}
+	public void setInserted(Date inserted) {
+		this.inserted = inserted;
+	}
+	
+	public String getStatus_code() {
+		return status_code;
+	}
+	public void setStatus_code(String statusCode) {
+		status_code = statusCode;
+	}
+	
+	public String getStatus_string() {
+		return status_string;
+	}
+	public void setStatus_string(String statusString) {
+		status_string = statusString;
+	}
+	
+	public String getConferenceNumber() {
+		return conferenceNumber;
+	}
+	public void setConferenceNumber(String conferenceNumber) {
+		this.conferenceNumber = conferenceNumber;
+	}
+	
+	public String getConferencePin() {
+		return conferencePin;
+	}
+	public void setConferencePin(String conferencePin) {
+		this.conferencePin = conferencePin;
+	}
+
+}
diff --git a/src/org/openmeetings/app/persistence/beans/sip/asterisk/AsteriskSipUsers.java b/src/org/openmeetings/app/persistence/beans/sip/asterisk/AsteriskSipUsers.java
new file mode 100644
index 0000000..6700d1d
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/sip/asterisk/AsteriskSipUsers.java
@@ -0,0 +1,745 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.sip.asterisk;
+
+import java.io.Serializable;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "sipusers")
+public class AsteriskSipUsers implements Serializable {
+	private static final long serialVersionUID = -565831761546365623L;
+
+	@Id
+    @Column(name = "id")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private int id;
+
+    @Column(name = "accountcode")
+    private String accountcode;
+
+    @Column(name = "disallow")
+    private String disallow = null;
+
+    @Column(name = "allow")
+    private String allow = "ulaw";
+
+    @Column(name = "allowoverlap")
+    private String allowoverlap = "yes";
+
+    @Column(name = "allowsubscribe")
+    private String allowsubscribe = "yes";
+
+    @Column(name = "allowtransfer")
+    private String allowtransfer;
+
+    @Column(name = "amaflags")
+    private String amaflags;
+
+    @Column(name = "autoframing")
+    private String autoframing;
+
+    @Column(name = "auth")
+    private String auth;
+
+      @Column(name = "buggymwi")
+    private String buggymwi = "no";
+
+    @Column(name = "callgroup")
+    private String callgroup;
+
+    @Column(name = "callerid")
+    private String callerid;
+
+    @Column(name = "cid_number")
+    private String cid_number;
+
+    @Column(name = "fullname")
+    private String fullname;
+
+//    TODO: error
+//    @Column(name = "call-limit")
+//    private int callLimit;
+
+    @Column(name = "callingpres")
+    private String callingpres;
+
+    @Column(name = "canreinvite")
+    private String canreinvite = "yes";
+
+    @Column(name = "context")
+    private String context;
+
+    @Column(name = "defaultip")
+    private String defaultip;
+
+    @Column(name = "dtmfmode")
+    private String dtmfmode;
+
+    @Column(name = "fromuser")
+    private String fromuser;
+
+    @Column(name = "fromdomain")
+    private String fromdomain;
+
+    @Column(name = "fullcontact")
+    private String fullcontact;
+
+//    @Column(name = "g726nonstandard")
+    @Column(name = "g726nonstandard")
+    //@Enumerated(EnumType.STRING)
+    private String g726nonstandard = "no";
+
+    @Column(name = "host", nullable = false)
+    private String host = "dynamic";
+
+    @Column(name = "insecure")
+    private String insecure;
+
+    @Column(name = "ipaddr", nullable = false)
+    private String ipaddr = "";
+
+    @Column(name = "language")
+    private String language;
+
+    @Column(name = "lastms")
+    private String lastms;
+
+    @Column(name = "mailbox")
+    private String mailbox;
+
+    @Column(name = "maxcallbitrate")
+    private int maxcallbitrate = 384;
+
+    @Column(name = "mohsuggest")
+    private String mohsuggest;
+
+    @Column(name = "md5secret")
+    private String md5secret;
+
+    @Column(name = "musiconhold")
+    private String musiconhold;
+
+    @Column(name = "name", nullable = false)
+    private String name = "";
+
+    @Column(name = "nat", nullable = false)
+    private String nat = "no";
+
+    @Column(name = "outboundproxy")
+    private String outboundproxy;
+
+    @Column(name = "deny")
+    private String deny;
+
+    @Column(name = "permit")
+    private String permit;
+
+    @Column(name = "pickupgroup")
+    private String pickupgroup;
+
+    @Column(name = "port", nullable = false)
+    private String port = "";
+
+//    @Column(name = "progressinband")
+    @Column(name = "progressinband")
+    //@Enumerated(EnumType.STRING)
+    private String progressinband = "no";
+//    private YesNoNever progressinband;
+
+//    @Column(name = "promiscredir")
+    @Column(name = "promiscredir")
+    //@Enumerated(EnumType.STRING)
+    private String promiscredir = "no";
+
+    @Column(name = "qualify")
+    private String qualify;
+
+    @Column(name = "regexten", nullable = false)
+    private String regexten = "";
+
+    @Column(name = "regseconds", nullable = false)
+    private int regseconds = 0;
+
+//    @Column(name = "rfc2833compensate")
+    @Column(name = "rfc2833compensate")
+    //@Enumerated(EnumType.STRING)
+    private String rfc2833compensate = "no";
+
+    @Column(name = "rtptimeout")
+    private String rtptimeout;
+
+    @Column(name = "rtpholdtimeout")
+    private String rtpholdtimeout;
+
+    @Column(name = "secret")
+    private String secret;
+
+//    @Column(name = "sendrpid")
+    @Column(name = "sendrpid")
+    //@Enumerated(EnumType.STRING)
+    private String sendrpid = "yes";
+
+    @Column(name = "setvar", nullable = false)
+    private String setvar = "";
+
+    @Column(name = "subscribecontext")
+    private String subscribecontext;
+
+    @Column(name = "subscribemwi")
+    private String subscribemwi;
+
+//    @Column(name = "t38pt_udptl")
+    @Column(name = "t38pt_udptl")
+    //@Enumerated(EnumType.STRING)
+    private String t38pt_udptl = "no";
+
+//    @Column(name = "trustrpid")
+    @Column(name = "trustrpid")
+    //@Enumerated(EnumType.STRING)
+    private String trustrpid = "no";
+
+    @Column(name = "type", nullable = false)
+    private String type = "friend";
+
+//    @Column(name = "useclientcode")
+    @Column(name = "useclientcode")
+    //@Enumerated(EnumType.STRING)
+    private String useclientcode = "no";
+
+    @Column(name = "username", nullable = false)
+    private String username = "";
+
+    @Column(name = "usereqphone", nullable = false)
+    private String usereqphone = "no";
+
+//    @Column(name = "videosupport")
+    @Column(name = "videosupport")
+    //@Enumerated(EnumType.STRING)
+    private String videosupport = "yes";
+
+    @Column(name = "vmexten")
+    private String vmexten;
+
+//    create unique index name on asterisk.sipusers (name);
+//    create index name_2 on asterisk.sipusers (name);
+
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getAccountcode() {
+        return accountcode;
+    }
+
+    public void setAccountcode(String accountcode) {
+        this.accountcode = accountcode;
+    }
+
+    public String getDisallow() {
+        return disallow;
+    }
+
+    public void setDisallow(String disallow) {
+        this.disallow = disallow;
+    }
+
+    public String getAllow() {
+        return allow;
+    }
+
+    public void setAllow(String allow) {
+        this.allow = allow;
+    }
+
+    public String getAllowoverlap() {
+        return allowoverlap;
+    }
+
+    public void setAllowoverlap(String allowoverlap) {
+        this.allowoverlap = allowoverlap;
+    }
+
+    public String getAllowsubscribe() {
+        return allowsubscribe;
+    }
+
+    public void setAllowsubscribe(String allowsubscribe) {
+        this.allowsubscribe = allowsubscribe;
+    }
+
+    public String getAllowtransfer() {
+        return allowtransfer;
+    }
+
+    public void setAllowtransfer(String allowtransfer) {
+        this.allowtransfer = allowtransfer;
+    }
+
+    public String getAmaflags() {
+        return amaflags;
+    }
+
+    public void setAmaflags(String amaflags) {
+        this.amaflags = amaflags;
+    }
+
+    public String getAutoframing() {
+        return autoframing;
+    }
+
+    public void setAutoframing(String autoframing) {
+        this.autoframing = autoframing;
+    }
+
+    public String getAuth() {
+        return auth;
+    }
+
+    public void setAuth(String auth) {
+        this.auth = auth;
+    }
+
+    public String getBuggymwi() {
+        return buggymwi;
+    }
+
+    public void setBuggymwi(String buggymwi) {
+        this.buggymwi = buggymwi;
+    }
+
+    public String getCallgroup() {
+        return callgroup;
+    }
+
+    public void setCallgroup(String callgroup) {
+        this.callgroup = callgroup;
+    }
+
+    public String getCallerid() {
+        return callerid;
+    }
+
+    public void setCallerid(String callerid) {
+        this.callerid = callerid;
+    }
+
+    public String getCid_number() {
+        return cid_number;
+    }
+
+    public void setCid_number(String cid_number) {
+        this.cid_number = cid_number;
+    }
+
+    public String getFullname() {
+        return fullname;
+    }
+
+    public void setFullname(String fullname) {
+        this.fullname = fullname;
+    }
+
+    public String getCallingpres() {
+        return callingpres;
+    }
+
+    public void setCallingpres(String callingpres) {
+        this.callingpres = callingpres;
+    }
+
+    public String getCanreinvite() {
+        return canreinvite;
+    }
+
+    public void setCanreinvite(String canreinvite) {
+        this.canreinvite = canreinvite;
+    }
+
+    public String getContext() {
+        return context;
+    }
+
+    public void setContext(String context) {
+        this.context = context;
+    }
+
+    public String getDefaultip() {
+        return defaultip;
+    }
+
+    public void setDefaultip(String defaultip) {
+        this.defaultip = defaultip;
+    }
+
+    public String getDtmfmode() {
+        return dtmfmode;
+    }
+
+    public void setDtmfmode(String dtmfmode) {
+        this.dtmfmode = dtmfmode;
+    }
+
+    public String getFromuser() {
+        return fromuser;
+    }
+
+    public void setFromuser(String fromuser) {
+        this.fromuser = fromuser;
+    }
+
+    public String getFromdomain() {
+        return fromdomain;
+    }
+
+    public void setFromdomain(String fromdomain) {
+        this.fromdomain = fromdomain;
+    }
+
+    public String getFullcontact() {
+        return fullcontact;
+    }
+
+    public void setFullcontact(String fullcontact) {
+        this.fullcontact = fullcontact;
+    }
+
+    public String getG726nonstandard() {
+        return g726nonstandard;
+    }
+
+    public void setG726nonstandard(String g726nonstandard) {
+        this.g726nonstandard = g726nonstandard;
+    }
+
+    public String getHost() {
+        return host;
+    }
+
+    public void setHost(String host) {
+        this.host = host;
+    }
+
+    public String getInsecure() {
+        return insecure;
+    }
+
+    public void setInsecure(String insecure) {
+        this.insecure = insecure;
+    }
+
+    public String getIpaddr() {
+        return ipaddr;
+    }
+
+    public void setIpaddr(String ipaddr) {
+        this.ipaddr = ipaddr;
+    }
+
+    public String getLanguage() {
+        return language;
+    }
+
+    public void setLanguage(String language) {
+        this.language = language;
+    }
+
+    public String getLastms() {
+        return lastms;
+    }
+
+    public void setLastms(String lastms) {
+        this.lastms = lastms;
+    }
+
+    public String getMailbox() {
+        return mailbox;
+    }
+
+    public void setMailbox(String mailbox) {
+        this.mailbox = mailbox;
+    }
+
+    public int getMaxcallbitrate() {
+        return maxcallbitrate;
+    }
+
+    public void setMaxcallbitrate(int maxcallbitrate) {
+        this.maxcallbitrate = maxcallbitrate;
+    }
+
+    public String getMohsuggest() {
+        return mohsuggest;
+    }
+
+    public void setMohsuggest(String mohsuggest) {
+        this.mohsuggest = mohsuggest;
+    }
+
+    public String getMd5secret() {
+        return md5secret;
+    }
+
+    public void setMd5secret(String md5secret) {
+        this.md5secret = md5secret;
+    }
+
+    public String getMusiconhold() {
+        return musiconhold;
+    }
+
+    public void setMusiconhold(String musiconhold) {
+        this.musiconhold = musiconhold;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getNat() {
+        return nat;
+    }
+
+    public void setNat(String nat) {
+        this.nat = nat;
+    }
+
+    public String getOutboundproxy() {
+        return outboundproxy;
+    }
+
+    public void setOutboundproxy(String outboundproxy) {
+        this.outboundproxy = outboundproxy;
+    }
+
+    public String getDeny() {
+        return deny;
+    }
+
+    public void setDeny(String deny) {
+        this.deny = deny;
+    }
+
+    public String getPermit() {
+        return permit;
+    }
+
+    public void setPermit(String permit) {
+        this.permit = permit;
+    }
+
+    public String getPickupgroup() {
+        return pickupgroup;
+    }
+
+    public void setPickupgroup(String pickupgroup) {
+        this.pickupgroup = pickupgroup;
+    }
+
+    public String getPort() {
+        return port;
+    }
+
+    public void setPort(String port) {
+        this.port = port;
+    }
+
+    public String getProgressinband() {
+        return progressinband;
+    }
+
+    public void setProgressinband(String progressinband) {
+        this.progressinband = progressinband;
+    }
+
+    public String getPromiscredir() {
+        return promiscredir;
+    }
+
+    public void setPromiscredir(String promiscredir) {
+        this.promiscredir = promiscredir;
+    }
+
+    public String getQualify() {
+        return qualify;
+    }
+
+    public void setQualify(String qualify) {
+        this.qualify = qualify;
+    }
+
+    public String getRegexten() {
+        return regexten;
+    }
+
+    public void setRegexten(String regexten) {
+        this.regexten = regexten;
+    }
+
+    public int getRegseconds() {
+        return regseconds;
+    }
+
+    public void setRegseconds(int regseconds) {
+        this.regseconds = regseconds;
+    }
+
+    public String getRfc2833compensate() {
+        return rfc2833compensate;
+    }
+
+    public void setRfc2833compensate(String rfc2833compensate) {
+        this.rfc2833compensate = rfc2833compensate;
+    }
+
+    public String getRtptimeout() {
+        return rtptimeout;
+    }
+
+    public void setRtptimeout(String rtptimeout) {
+        this.rtptimeout = rtptimeout;
+    }
+
+    public String getRtpholdtimeout() {
+        return rtpholdtimeout;
+    }
+
+    public void setRtpholdtimeout(String rtpholdtimeout) {
+        this.rtpholdtimeout = rtpholdtimeout;
+    }
+
+    public String getSecret() {
+        return secret;
+    }
+
+    public void setSecret(String secret) {
+        this.secret = secret;
+    }
+
+    public String getSendrpid() {
+        return sendrpid;
+    }
+
+    public void setSendrpid(String sendrpid) {
+        this.sendrpid = sendrpid;
+    }
+
+    public String getSetvar() {
+        return setvar;
+    }
+
+    public void setSetvar(String setvar) {
+        this.setvar = setvar;
+    }
+
+    public String getSubscribecontext() {
+        return subscribecontext;
+    }
+
+    public void setSubscribecontext(String subscribecontext) {
+        this.subscribecontext = subscribecontext;
+    }
+
+    public String getSubscribemwi() {
+        return subscribemwi;
+    }
+
+    public void setSubscribemwi(String subscribemwi) {
+        this.subscribemwi = subscribemwi;
+    }
+
+    public String getT38pt_udptl() {
+        return t38pt_udptl;
+    }
+
+    public void setT38pt_udptl(String t38pt_udptl) {
+        this.t38pt_udptl = t38pt_udptl;
+    }
+
+    public String getTrustrpid() {
+        return trustrpid;
+    }
+
+    public void setTrustrpid(String trustrpid) {
+        this.trustrpid = trustrpid;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getUseclientcode() {
+        return useclientcode;
+    }
+
+    public void setUseclientcode(String useclientcode) {
+        this.useclientcode = useclientcode;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getUsereqphone() {
+        return usereqphone;
+    }
+
+    public void setUsereqphone(String usereqphone) {
+        this.usereqphone = usereqphone;
+    }
+
+    public String getVideosupport() {
+        return videosupport;
+    }
+
+    public void setVideosupport(String videosupport) {
+        this.videosupport = videosupport;
+    }
+
+    public String getVmexten() {
+        return vmexten;
+    }
+
+    public void setVmexten(String vmexten) {
+        this.vmexten = vmexten;
+    }
+}
\ No newline at end of file
diff --git a/src/org/openmeetings/app/persistence/beans/sip/asterisk/Extensions.java b/src/org/openmeetings/app/persistence/beans/sip/asterisk/Extensions.java
new file mode 100644
index 0000000..ebba431
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/sip/asterisk/Extensions.java
@@ -0,0 +1,102 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.sip.asterisk;
+
+import java.io.Serializable;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "extensions")
+public class Extensions implements Serializable {
+	private static final long serialVersionUID = -2669622904594408644L;
+
+	@Id
+    @Column(name = "id")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    Integer id;
+
+    @Column(name = "context", nullable = false)
+    String context = "";
+
+    @Column(name = "exten", nullable = false)
+    String exten = "";
+
+    @Column(name = "priority", nullable = false)
+    Integer priority = 0;
+
+    @Column(name = "app", nullable = false)
+    String app = "";
+
+    @Column(name = "appdata", nullable = false)
+    String appdata = "";
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getContext() {
+        return context;
+    }
+
+    public void setContext(String context) {
+        this.context = context;
+    }
+
+    public String getExten() {
+        return exten;
+    }
+
+    public void setExten(String exten) {
+        this.exten = exten;
+    }
+
+    public Integer getPriority() {
+        return priority;
+    }
+
+    public void setPriority(Integer priority) {
+        this.priority = priority;
+    }
+
+    public String getApp() {
+        return app;
+    }
+
+    public void setApp(String app) {
+        this.app = app;
+    }
+
+    public String getAppdata() {
+        return appdata;
+    }
+
+    public void setAppdata(String appdata) {
+        this.appdata = appdata;
+    }
+}
\ No newline at end of file
diff --git a/src/org/openmeetings/app/persistence/beans/sip/asterisk/MeetMe.java b/src/org/openmeetings/app/persistence/beans/sip/asterisk/MeetMe.java
new file mode 100644
index 0000000..ce8d641
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/sip/asterisk/MeetMe.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.sip.asterisk;
+
+import java.io.Serializable;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "meetme")
+public class MeetMe implements Serializable {
+	private static final long serialVersionUID = 2789529517142208489L;
+	@Id
+    @Column(name = "confno", nullable = false)
+    String confno = "0";
+    @Column(name = "pin")
+    String pin;
+    @Column(name = "adminpin")
+    String adminpin;
+    @Column(name = "members", nullable = false)
+    Integer members = 0;
+
+    public String getConfno() {
+        return confno;
+    }
+
+    public void setConfno(String confno) {
+        this.confno = confno;
+    }
+
+    public String getPin() {
+        return pin;
+    }
+
+    public void setPin(String pin) {
+        this.pin = pin;
+    }
+
+    public String getAdminpin() {
+        return adminpin;
+    }
+
+    public void setAdminpin(String adminpin) {
+        this.adminpin = adminpin;
+    }
+
+    public Integer getMembers() {
+        return members;
+    }
+
+    public void setMembers(Integer members) {
+        this.members = members;
+    }
+}
\ No newline at end of file
diff --git a/src/org/openmeetings/app/persistence/beans/user/PrivateMessageFolder.java b/src/org/openmeetings/app/persistence/beans/user/PrivateMessageFolder.java
new file mode 100644
index 0000000..ea4b53b
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/user/PrivateMessageFolder.java
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.user;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "private_messages_folder")
+public class PrivateMessageFolder implements Serializable {
+	
+	private static final long serialVersionUID = 3689814412815025816L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="msg_folder_id")
+	private long privateMessageFolderId;
+	@Column(name="folder_name")
+	private String folderName;
+	@Column(name="user_id")
+	private Long userId;
+	@Column(name="inserted")
+	private Date inserted;
+	@Column(name="updated")
+	private Date updated;
+	
+	public long getPrivateMessageFolderId() {
+		return privateMessageFolderId;
+	}
+	public void setPrivateMessageFolderId(long privateMessageFolderId) {
+		this.privateMessageFolderId = privateMessageFolderId;
+	}
+	
+	public String getFolderName() {
+		return folderName;
+	}
+	public void setFolderName(String folderName) {
+		this.folderName = folderName;
+	}
+	
+	public Long getUserId() {
+		return userId;
+	}
+	public void setUserId(Long userId) {
+		this.userId = userId;
+	}
+	
+	public Date getInserted() {
+		return inserted;
+	}
+	public void setInserted(Date inserted) {
+		this.inserted = inserted;
+	}
+	
+	public Date getUpdated() {
+		return updated;
+	}
+	public void setUpdated(Date updated) {
+		this.updated = updated;
+	}
+
+}
diff --git a/src/org/openmeetings/app/persistence/beans/user/PrivateMessages.java b/src/org/openmeetings/app/persistence/beans/user/PrivateMessages.java
new file mode 100644
index 0000000..6efc68d
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/user/PrivateMessages.java
@@ -0,0 +1,205 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.user;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Lob;
+import javax.persistence.ManyToOne;
+import javax.persistence.JoinColumn;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "private_messages")
+public class PrivateMessages implements Serializable {
+	
+	private static final long serialVersionUID = 7541117437029707792L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="msg_id")
+	private long privateMessageId;
+	@Column(name="subject")
+	private String subject;
+	@Lob
+	@Column(name="message")
+	private String message;
+	
+	@Column(name="email")
+	private String email;
+	
+	@Column(name="inserted")
+	private Date inserted;
+	
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name="from_id")
+	private Users from;
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name="to_id")
+	private Users to;
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name="owner_id")
+	private Users owner;
+	
+		
+	@Column(name="booked_room")
+	private Boolean bookedRoom;
+
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name="rooms_id")
+	private Rooms room;
+	
+	@Column(name="is_read")
+	private Boolean isRead;
+	
+	@Column(name="is_trash")
+	private Boolean isTrash;
+	
+	@Column(name="parent_message_id")
+	private Long parentMessage;
+	@Column(name="private_message_folder_id")
+	private Long privateMessageFolderId;
+	
+	@Column(name="is_contact_request")
+	private Boolean isContactRequest;
+	@Column(name="user_contact_id")
+	private Long userContactId;
+
+	public long getPrivateMessageId() {
+		return privateMessageId;
+	}
+	public void setPrivateMessageId(long privateMessageId) {
+		this.privateMessageId = privateMessageId;
+	}
+
+	public String getSubject() {
+		return subject;
+	}
+	public void setSubject(String subject) {
+		this.subject = subject;
+	}
+
+	public String getMessage() {
+		return message;
+	}
+	public void setMessage(String message) {
+		this.message = message;
+	}
+	
+	public Date getInserted() {
+		return inserted;
+	}
+	public void setInserted(Date inserted) {
+		this.inserted = inserted;
+	}
+
+	public Users getFrom() {
+		return from;
+	}
+	public void setFrom(Users from) {
+		this.from = from;
+	}
+
+	public Users getTo() {
+		return to;
+	}
+	public void setTo(Users to) {
+		this.to = to;
+	}
+	
+	public Users getOwner() {
+		return owner;
+	}
+	public void setOwner(Users owner) {
+		this.owner = owner;
+	}
+	
+	public Boolean getBookedRoom() {
+		return bookedRoom;
+	}
+	public void setBookedRoom(Boolean bookedRoom) {
+		this.bookedRoom = bookedRoom;
+	}
+
+	public Rooms getRoom() {
+		return room;
+	}
+	public void setRoom(Rooms room) {
+		this.room = room;
+	}
+
+	public Long getParentMessage() {
+		return parentMessage;
+	}
+	public void setParentMessage(Long parentMessage) {
+		this.parentMessage = parentMessage;
+	}
+	
+	public Boolean getIsTrash() {
+		return isTrash;
+	}
+	public void setIsTrash(Boolean isTrash) {
+		this.isTrash = isTrash;
+	}
+	
+	public Long getPrivateMessageFolderId() {
+		return privateMessageFolderId;
+	}
+	public void setPrivateMessageFolderId(Long privateMessageFolderId) {
+		this.privateMessageFolderId = privateMessageFolderId;
+	}
+	
+	public Boolean getIsRead() {
+		return isRead;
+	}
+	public void setIsRead(Boolean isRead) {
+		this.isRead = isRead;
+	}
+	
+	public Boolean getIsContactRequest() {
+		return isContactRequest;
+	}
+	public void setIsContactRequest(Boolean isContactRequest) {
+		this.isContactRequest = isContactRequest;
+	}
+	
+	public Long getUserContactId() {
+		return userContactId;
+	}
+	public void setUserContactId(Long userContactId) {
+		this.userContactId = userContactId;
+	}
+	public String getEmail() {
+		return email;
+	}
+	public void setEmail(String email) {
+		this.email = email;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/persistence/beans/user/Salutations.java b/src/org/openmeetings/app/persistence/beans/user/Salutations.java
new file mode 100644
index 0000000..36a45cf
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/user/Salutations.java
@@ -0,0 +1,111 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.user;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+
+@Entity
+@Table(name = "salutations")
+public class Salutations implements Serializable {
+	
+	private static final long serialVersionUID = -5806449519074435223L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name="salutations_id")
+	private Long salutations_id;
+	@Column(name="name")
+	private String name;
+	@Column(name="starttime")
+	private Date starttime;
+	@Column(name="updatetime")
+	private Date updatetime;
+	@Column(name="deleted")
+	private String deleted;
+	@Column(name="fieldvalues_id")
+	private Long fieldvalues_id;
+	@Transient
+	private Fieldlanguagesvalues label;	
+	public Salutations() {
+		super();
+		// TODO Auto-generated constructor stub
+	}
+
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+    
+	public Long getSalutations_id() {
+		return salutations_id;
+	}
+	public void setSalutations_id(Long salutations_id) {
+		this.salutations_id = salutations_id;
+	}
+
+    
+	public Date getStarttime() {
+		return starttime;
+	}
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+    
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+	
+	public String getDeleted() {
+		return deleted;
+	}
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+
+	public Long getFieldvalues_id() {
+		return fieldvalues_id;
+	}
+	public void setFieldvalues_id(Long fieldvalues_id) {
+		this.fieldvalues_id = fieldvalues_id;
+	}
+
+	public Fieldlanguagesvalues getLabel() {
+		return label;
+	}
+
+	public void setLabel(Fieldlanguagesvalues label) {
+		this.label = label;
+	}	
+	
+}
diff --git a/src/org/openmeetings/app/persistence/beans/user/UserContacts.java b/src/org/openmeetings/app/persistence/beans/user/UserContacts.java
new file mode 100644
index 0000000..12d52bd
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/user/UserContacts.java
@@ -0,0 +1,118 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.user;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.ManyToOne;
+import javax.persistence.JoinColumn;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "user_contacts")
+public class UserContacts implements Serializable {
+	
+	private static final long serialVersionUID = 2391405538978996206L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="user_contact_id")
+	private long userContactId;
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name="user_id")
+	private Users contact;
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name="owner_id")
+	private Users owner;
+	@Column(name="pending")
+	private Boolean pending;
+	@Column(name="hash")
+	private String hash;
+	@Column(name="inserted")
+	private Date inserted;
+	@Column(name="updated")
+	private Date updated;
+	@Column(name="share_calendar")
+	private Boolean shareCalendar;
+	
+	public long getUserContactId() {
+		return userContactId;
+	}
+	public void setUserContactId(long userContactId) {
+		this.userContactId = userContactId;
+	}
+	
+	public Users getContact() {
+		return contact;
+	}
+	public void setContact(Users contact) {
+		this.contact = contact;
+	}
+	
+	public Users getOwner() {
+		return owner;
+	}
+	public void setOwner(Users owner) {
+		this.owner = owner;
+	}
+	
+	public Boolean getPending() {
+		return pending;
+	}
+	public void setPending(Boolean pending) {
+		this.pending = pending;
+	}
+	
+	public Date getInserted() {
+		return inserted;
+	}
+	public void setInserted(Date inserted) {
+		this.inserted = inserted;
+	}
+	
+	public Date getUpdated() {
+		return updated;
+	}
+	public void setUpdated(Date updated) {
+		this.updated = updated;
+	}
+	
+	public String getHash() {
+		return hash;
+	}
+	public void setHash(String hash) {
+		this.hash = hash;
+	}
+	
+	public Boolean getShareCalendar() {
+		return shareCalendar;
+	}
+	public void setShareCalendar(Boolean shareCalendar) {
+		this.shareCalendar = shareCalendar;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/persistence/beans/user/UserSipData.java b/src/org/openmeetings/app/persistence/beans/user/UserSipData.java
new file mode 100644
index 0000000..2d9c951
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/user/UserSipData.java
@@ -0,0 +1,96 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.user;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "user_sip_data")
+public class UserSipData implements Serializable {
+	
+	private static final long serialVersionUID = 3438146320304686554L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="user_sip_data_id")
+	private long userSipDataId;
+	@Column(name="username")
+	private String username;
+	@Column(name="userpass")
+	private String userpass;
+	@Column(name="authId")
+	private String authId;
+	@Column(name="inserted")
+	private Date inserted;
+	@Column(name="updated")
+	private Date updated;
+	
+	public long getUserSipDataId() {
+		return userSipDataId;
+	}
+	public void setUserSipDataId(long userSipDataId) {
+		this.userSipDataId = userSipDataId;
+	}
+	
+	public String getUsername() {
+		return username;
+	}
+	public void setUsername(String username) {
+		this.username = username;
+	}
+	
+	public String getUserpass() {
+		return userpass;
+	}
+	public void setUserpass(String userpass) {
+		this.userpass = userpass;
+	}
+	
+	public String getAuthId() {
+		return authId;
+	}
+	public void setAuthId(String authId) {
+		this.authId = authId;
+	}
+	
+	public Date getInserted() {
+		return inserted;
+	}
+	public void setInserted(Date inserted) {
+		this.inserted = inserted;
+	}
+	
+	public Date getUpdated() {
+		return updated;
+	}
+	public void setUpdated(Date updated) {
+		this.updated = updated;
+	}
+	
+
+}
diff --git a/src/org/openmeetings/app/persistence/beans/user/Userdata.java b/src/org/openmeetings/app/persistence/beans/user/Userdata.java
new file mode 100644
index 0000000..38608b4
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/user/Userdata.java
@@ -0,0 +1,123 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.user;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Lob;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "userdata")
+public class Userdata implements Serializable {
+	
+	private static final long serialVersionUID = 8365799229794940172L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	
+	@Column(name="data_id")
+    private Long data_id;
+	@Column(name="user_id")
+    private Long user_id;    
+	@Column(name="data_key")
+    private String data_key;
+	@Column(name="data")
+    private String data;
+	@Column(name = "starttime")
+	private Date starttime;
+	@Column(name = "updatetime")
+	private Date updatetime;
+	@Lob
+	@Column(name = "comment_field")
+    private String comment;
+	@Column(name = "deleted")
+    private String deleted;
+
+	public Userdata() {
+		super();
+		// TODO Auto-generated constructor stub
+	}
+
+	public String getComment() {
+		return comment;
+	}
+	public void setComment(String comment) {
+		this.comment = comment;
+	}
+
+	public String getData() {
+		return data;
+	}
+	public void setData(String data) {
+		this.data = data;
+	}
+
+	public String getData_key() {
+		return data_key;
+	}
+	public void setData_key(String data_key) {
+		this.data_key = data_key;
+	}
+    
+	public Long getData_id() {
+		return data_id;
+	}
+	public void setData_id(Long data_id) {
+		this.data_id = data_id;
+	}
+
+    
+	public Date getStarttime() {
+		return starttime;
+	}
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+    
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+	
+	public String getDeleted() {
+		return deleted;
+	}
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+
+	public Long getUser_id() {
+		return user_id;
+	}
+	public void setUser_id(Long user_id) {
+		this.user_id = user_id;
+	}
+
+
+
+}
diff --git a/src/org/openmeetings/app/persistence/beans/user/Userlevel.java b/src/org/openmeetings/app/persistence/beans/user/Userlevel.java
new file mode 100644
index 0000000..3ee9b14
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/user/Userlevel.java
@@ -0,0 +1,99 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.user;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "userlevel")
+public class Userlevel implements Serializable {
+	
+	private static final long serialVersionUID = -1779037202328443340L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name="level_id")
+	private Long level_id;
+	@Column(name="description")
+	private String description;
+	@Column(name="statuscode")
+	private Integer statuscode;
+	@Column(name="starttime")
+	private Date starttime;
+	@Column(name="updatetime")
+	private Date updatetime;
+	@Column(name="deleted")
+	private String deleted;
+	
+	public Userlevel() {
+		super();
+		// TODO Auto-generated constructor stub
+	}
+
+	public String getDescription() {
+		return description;
+	}
+	public void setDescription(String description) {
+		this.description = description;
+	}
+
+	public Long getLevel_id() {
+		return level_id;
+	}
+	public void setLevel_id(Long level_id) {
+		this.level_id = level_id;
+	}
+    
+    
+	public Date getStarttime() {
+		return starttime;
+	}
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+    
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+	
+	public String getDeleted() {
+		return deleted;
+	}
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+    
+	public Integer getStatuscode() {
+		return statuscode;
+	}
+	public void setStatuscode(Integer statuscode) {
+		this.statuscode = statuscode;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/persistence/beans/user/Users.java b/src/org/openmeetings/app/persistence/beans/user/Users.java
new file mode 100644
index 0000000..516da07
--- /dev/null
+++ b/src/org/openmeetings/app/persistence/beans/user/Users.java
@@ -0,0 +1,448 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.persistence.beans.user;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+
+import org.openmeetings.app.persistence.beans.adresses.Adresses;
+import org.openmeetings.app.persistence.beans.adresses.States;
+import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
+import org.openmeetings.app.persistence.beans.basic.Sessiondata;
+import org.openmeetings.app.persistence.beans.domain.Organisation_Users;
+
+@Entity
+@NamedQueries({
+    @NamedQuery(name="getAllUsers",
+        	query="SELECT u FROM Users u")
+    , @NamedQuery(name="getUsersByOrganisationId",
+    	query="SELECT u FROM Users u WHERE u.deleted = 'false' AND u.organisation_users.organisation.organisation_id = :organisation_id")
+})
+@Table(name = "users")
+public class Users implements Serializable {
+
+	private static final long serialVersionUID = -2265479712596674065L;
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name = "user_id")
+	private Long user_id;
+	
+	@Column(name = "age")
+	private Date age;
+	@Column(name = "availible")
+	private Integer availible;
+	@Column(name = "firstname")
+	private String firstname;
+	@Column(name = "lastlogin")
+	private Date lastlogin;
+	@Column(name = "lastname")
+	private String lastname;
+	@Column(name = "lasttrans")
+	private Long lasttrans;
+	@Column(name = "level_id")
+	private Long level_id;
+	@Column(name = "login")
+	private String login;
+	@Column(name = "password")
+	private String password;
+	@Column(name = "regdate")
+	private Date regdate;
+	@Column(name = "status")
+	private Integer status;
+	@Column(name = "title_id")
+	private Integer title_id;
+	@Column(name = "starttime")
+	private Date starttime;
+	@Column(name = "updatetime")
+	private Date updatetime;
+	@Column(name = "pictureuri")
+	private String pictureuri;
+	@Column(name = "deleted")
+	private String deleted;
+	@Column(name = "language_id")
+	private Long language_id;
+	@Column(name = "resethash")
+	private String resethash;
+	@Column(name = "activatehash")
+	private String activatehash;
+
+	
+	@ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
+	@JoinColumn(name = "adresses_id", insertable = true, updatable = true)
+	private Adresses adresses;
+	
+	@Transient
+	private Userlevel userlevel;
+	@Transient
+	private Userdata rechnungsaddressen;
+	@Transient
+	private Userdata lieferadressen;
+
+	@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
+	@JoinColumn(name = "user_id", insertable = true, updatable = true)
+	private List<Organisation_Users> organisation_users = new ArrayList<Organisation_Users>();
+
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name = "userSipDataId", insertable = true, updatable = true)
+	private UserSipData userSipData;
+
+	// Vars to simulate external Users
+	@Column(name = "externalUserId")
+	private String externalUserId;
+	@Column(name = "externalUserType")
+	private String externalUserType;
+
+	@ManyToOne(fetch = FetchType.EAGER)
+	@JoinColumn(name = "omtimezoneId", insertable = true, updatable = true)
+	private OmTimeZone omTimeZone; // In UTC +/- hours
+
+	@Transient
+	private Sessiondata sessionData;
+	@Column(name = "forceTimeZoneCheck")
+	private Boolean forceTimeZoneCheck;
+
+	@Column(name = "user_offers")
+	private String userOffers;
+	@Column(name = "user_searchs")
+	private String userSearchs;
+	@Column(name = "show_contact_data")
+	private Boolean showContactData;
+	@Column(name = "show_contact_data_to_contacts")
+	private Boolean showContactDataToContacts;
+
+	public Long getUser_id() {
+		return user_id;
+	}
+
+	public void setUser_id(Long user_id) {
+		this.user_id = user_id;
+	}
+
+	public Adresses getAdresses() {
+		return adresses;
+	}
+
+	public void setAdresses(Adresses adresses) {
+		this.adresses = adresses;
+	}
+
+	public void setAdresses(String street, String zip, String town,
+			States state, String additionalname, String comment, String fax,
+			String phone, String email) {
+		if (this.adresses == null) {
+			this.adresses = new Adresses();
+		}
+		this.adresses.setStreet(street);
+		this.adresses.setZip(zip);
+		this.adresses.setTown(town);
+		this.adresses.setStates(state);
+		this.adresses.setAdditionalname(additionalname);
+		this.adresses.setComment(comment);
+		this.adresses.setFax(fax);
+		this.adresses.setPhone(phone);
+		this.adresses.setEmail(email);
+	}
+
+	public Date getAge() {
+		return age;
+	}
+
+	public void setAge(Date age) {
+		if (age == null)
+			age = new Date();
+		this.age = age;
+	}
+
+	public Integer getAvailible() {
+		return availible;
+	}
+
+	public void setAvailible(Integer availible) {
+		this.availible = availible;
+	}
+
+	public String getFirstname() {
+		return firstname;
+	}
+
+	public void setFirstname(String firstname) {
+		this.firstname = firstname;
+	}
+
+	public Date getLastlogin() {
+		return lastlogin;
+	}
+
+	public void setLastlogin(Date lastlogin) {
+		this.lastlogin = lastlogin;
+	}
+
+	public String getLastname() {
+		return lastname;
+	}
+
+	public void setLastname(String lastname) {
+		this.lastname = lastname;
+	}
+
+	public Long getLasttrans() {
+		return lasttrans;
+	}
+
+	public void setLasttrans(Long lasttrans) {
+		this.lasttrans = lasttrans;
+	}
+
+	public Long getLevel_id() {
+		return level_id;
+	}
+
+	public void setLevel_id(Long level_id) {
+		this.level_id = level_id;
+	}
+
+	public Userdata getLieferadressen() {
+		return lieferadressen;
+	}
+
+	public void setLieferadressen(Userdata lieferadressen) {
+		this.lieferadressen = lieferadressen;
+	}
+
+	public String getLogin() {
+		return login;
+	}
+
+	public void setLogin(String login) {
+		this.login = login;
+	}
+
+	public String getPassword() {
+		return password;
+	}
+
+	public void setPassword(String password) {
+		this.password = password;
+	}
+
+	public Userdata getRechnungsaddressen() {
+		return rechnungsaddressen;
+	}
+
+	public void setRechnungsaddressen(Userdata rechnungsaddressen) {
+		this.rechnungsaddressen = rechnungsaddressen;
+	}
+
+	public Date getRegdate() {
+		return regdate;
+	}
+
+	public void setRegdate(Date regdate) {
+		this.regdate = regdate;
+	}
+
+	public Integer getStatus() {
+		return status;
+	}
+
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
+
+	public Integer getTitle_id() {
+		return title_id;
+	}
+
+	public void setTitle_id(Integer title_id) {
+		this.title_id = title_id;
+	}
+
+	public Userlevel getUserlevel() {
+		return userlevel;
+	}
+
+	public void setUserlevel(Userlevel userlevel) {
+		this.userlevel = userlevel;
+	}
+
+	public Date getStarttime() {
+		return starttime;
+	}
+
+	public void setStarttime(Date starttime) {
+		this.starttime = starttime;
+	}
+
+	public Date getUpdatetime() {
+		return updatetime;
+	}
+
+	public void setUpdatetime(Date updatetime) {
+		this.updatetime = updatetime;
+	}
+
+	public String getDeleted() {
+		return deleted;
+	}
+
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+
+	public String getPictureuri() {
+		return pictureuri;
+	}
+
+	public void setPictureuri(String pictureuri) {
+		this.pictureuri = pictureuri;
+	}
+
+	public Long getLanguage_id() {
+		return language_id;
+	}
+
+	public void setLanguage_id(Long language_id) {
+		this.language_id = language_id;
+	}
+
+	public List<Organisation_Users> getOrganisation_users() {
+		return organisation_users;
+	}
+
+	public void setOrganisation_users(
+			List<Organisation_Users> organisation_users) {
+		if (organisation_users != null) {
+			this.organisation_users = organisation_users;
+		}
+	}
+
+	public String getResethash() {
+		return resethash;
+	}
+
+	public void setResethash(String resethash) {
+		this.resethash = resethash;
+	}
+
+	public String getActivatehash() {
+		return activatehash;
+	}
+
+	public void setActivatehash(String activatehash) {
+		this.activatehash = activatehash;
+	}
+
+	public String getExternalUserId() {
+		return externalUserId;
+	}
+
+	public void setExternalUserId(String externalUserId) {
+		this.externalUserId = externalUserId;
+	}
+
+	public String getExternalUserType() {
+		return externalUserType;
+	}
+
+	public void setExternalUserType(String externalUserType) {
+		this.externalUserType = externalUserType;
+	}
+
+	public Sessiondata getSessionData() {
+		return sessionData;
+	}
+
+	public void setSessionData(Sessiondata sessionData) {
+		this.sessionData = sessionData;
+	}
+
+	public UserSipData getUserSipData() {
+		return userSipData;
+	}
+
+	public void setUserSipData(UserSipData userSipData) {
+		this.userSipData = userSipData;
+	}
+
+	public OmTimeZone getOmTimeZone() {
+		return omTimeZone;
+	}
+
+	public void setOmTimeZone(OmTimeZone omTimeZone) {
+		this.omTimeZone = omTimeZone;
+	}
+
+	public Boolean getForceTimeZoneCheck() {
+		return forceTimeZoneCheck;
+	}
+
+	public void setForceTimeZoneCheck(Boolean forceTimeZoneCheck) {
+		this.forceTimeZoneCheck = forceTimeZoneCheck;
+	}
+
+	public String getUserOffers() {
+		return userOffers;
+	}
+
+	public void setUserOffers(String userOffers) {
+		this.userOffers = userOffers;
+	}
+
+	public String getUserSearchs() {
+		return userSearchs;
+	}
+
+	public void setUserSearchs(String userSearchs) {
+		this.userSearchs = userSearchs;
+	}
+
+	public Boolean getShowContactData() {
+		return showContactData;
+	}
+
+	public void setShowContactData(Boolean showContactData) {
+		this.showContactData = showContactData;
+	}
+
+	public Boolean getShowContactDataToContacts() {
+		return showContactDataToContacts;
+	}
+
+	public void setShowContactDataToContacts(Boolean showContactDataToContacts) {
+		this.showContactDataToContacts = showContactDataToContacts;
+	}
+
+}
diff --git a/src/org/openmeetings/app/quartz/scheduler/MeetingReminderJob.java b/src/org/openmeetings/app/quartz/scheduler/MeetingReminderJob.java
new file mode 100644
index 0000000..fb385e2
--- /dev/null
+++ b/src/org/openmeetings/app/quartz/scheduler/MeetingReminderJob.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.quartz.scheduler;
+
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.calendar.management.AppointmentLogic;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class MeetingReminderJob {
+	private static Logger log = Red5LoggerFactory.getLogger(MeetingReminderJob.class, OpenmeetingsVariables.webAppRootKey);
+	@Autowired
+	private AppointmentLogic appointmentLogic;
+	
+	public void doIt() {
+		log.debug("MeetingReminderJob.execute");
+		try {
+			appointmentLogic.doScheduledMeetingReminder();
+		} catch (Exception err){
+			log.error("execute",err);
+		}
+	}
+}
diff --git a/src/org/openmeetings/app/quartz/scheduler/SessionClearJob.java b/src/org/openmeetings/app/quartz/scheduler/SessionClearJob.java
new file mode 100644
index 0000000..2a54cbf
--- /dev/null
+++ b/src/org/openmeetings/app/quartz/scheduler/SessionClearJob.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.quartz.scheduler;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+ 
+public class SessionClearJob {
+	private static Logger log = Red5LoggerFactory.getLogger(SessionClearJob.class, OpenmeetingsVariables.webAppRootKey);
+	@Autowired
+	private Sessionmanagement sessionManagement;
+
+	public void doIt() {
+		log.trace("SessionClearJob.execute");
+		try {
+			// TODO Generate report
+			sessionManagement.clearSessionTable();
+		} catch (Exception err){
+			log.error("execute",err);
+		}
+	}
+}
diff --git a/src/org/openmeetings/app/quartz/scheduler/TestSetupCleanupJob.java b/src/org/openmeetings/app/quartz/scheduler/TestSetupCleanupJob.java
new file mode 100644
index 0000000..d0d13c6
--- /dev/null
+++ b/src/org/openmeetings/app/quartz/scheduler/TestSetupCleanupJob.java
@@ -0,0 +1,61 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.app.quartz.scheduler;

+

+import java.io.File;

+import java.io.FileFilter;

+

+import org.openmeetings.app.OpenmeetingsVariables;

+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;

+import org.red5.logging.Red5LoggerFactory;

+import org.slf4j.Logger;

+

+public class TestSetupCleanupJob {

+	private static Logger log = Red5LoggerFactory.getLogger(TestSetupCleanupJob.class, OpenmeetingsVariables.webAppRootKey);

+	private long expirationInterval = 60 * 60 * 1000; // 1 hour

+

+	public void doIt() {

+		log.debug("TestSetupClearJob.execute");

+		try {

+			//FIXME need to move all these staff to helper

+			File streams = new File(ScopeApplicationAdapter.batchFileDir);

+			File[] folders = streams.listFiles();

+			if (folders != null) {

+				for (File folder : folders) {

+					if (folder.isDirectory()) {

+						//TODO need to rework this and remove hardcodings

+						for (File file : folder.listFiles(new FileFilter() {

+							public boolean accept(File file) {

+								return file.getName().startsWith("TEST_SETUP_");

+							}

+						}))

+						{

+							if (file.isFile() && file.lastModified() + expirationInterval < System.currentTimeMillis()) {

+								log.debug("expired TEST SETUP found: " + file.getAbsolutePath());

+								file.delete();

+							}

+						}

+					}

+				}

+			}

+		} catch (Exception e) {

+			log.error("Unexpected exception while processing tests setup videous.", e);

+		}

+	}

+}

diff --git a/src/org/openmeetings/app/remote/CalendarService.java b/src/org/openmeetings/app/remote/CalendarService.java
new file mode 100644
index 0000000..e7f895d
--- /dev/null
+++ b/src/org/openmeetings/app/remote/CalendarService.java
@@ -0,0 +1,400 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote;
+
+import java.util.Date;
+import java.util.List;
+import java.util.TimeZone;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.calendar.daos.AppointmentCategoryDaoImpl;
+import org.openmeetings.app.data.calendar.daos.AppointmentDaoImpl;
+import org.openmeetings.app.data.calendar.daos.AppointmentReminderTypDaoImpl;
+import org.openmeetings.app.data.calendar.management.AppointmentLogic;
+import org.openmeetings.app.data.conference.Roommanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.persistence.beans.calendar.Appointment;
+import org.openmeetings.app.persistence.beans.calendar.AppointmentCategory;
+import org.openmeetings.app.persistence.beans.calendar.AppointmentReminderTyps;
+import org.openmeetings.app.persistence.beans.rooms.RoomTypes;
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.utils.math.TimezoneUtil;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class CalendarService {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			CalendarService.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private AppointmentDaoImpl appointmentDao;
+	@Autowired
+	private AppointmentLogic appointmentLogic;
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private Roommanagement roommanagement;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+	@Autowired
+	private AppointmentCategoryDaoImpl appointmentCategoryDaoImpl;
+	@Autowired
+	private AppointmentReminderTypDaoImpl appointmentReminderTypDaoImpl;
+	@Autowired
+	private TimezoneUtil timezoneUtil;
+
+	public List<Appointment> getAppointmentByRange(String SID, Date starttime,
+			Date endtime) {
+		log.debug("getAppointmentByRange : startdate - " + starttime
+				+ ", enddate - " + endtime);
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				return appointmentLogic.getAppointmentByRange(users_id,
+						starttime, endtime);
+			}
+		} catch (Exception err) {
+			log.error("[getAppointmentByRange]", err);
+		}
+		return null;
+	}
+
+	public Appointment getNextAppointment(String SID) {
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				return appointmentLogic.getNextAppointment();
+			}
+		} catch (Exception err) {
+			log.error("[getNextAppointmentById]", err);
+		}
+		return null;
+
+	}
+
+	public List<Appointment> searchAppointmentByName(String SID,
+			String appointmentName) {
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				return appointmentLogic
+						.searchAppointmentByName(appointmentName);
+			}
+		} catch (Exception err) {
+			log.error("[searchAppointmentByName]", err);
+		}
+		return null;
+
+	}
+
+	public Long saveAppointment(String SID, String appointmentName,
+			String appointmentLocation, String appointmentDescription,
+			String appointmentstartStr, String appointmentendStr, Boolean isDaily,
+			Boolean isWeekly, Boolean isMonthly, Boolean isYearly,
+			Long categoryId, Long remind, @SuppressWarnings("rawtypes") List mmClient, Long roomType,
+			String baseUrl, Long language_id, Boolean isPasswordProtected,
+			String password) {
+
+		log.debug("saveAppointMent SID:" + SID + ", baseUrl : " + baseUrl);
+
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			log.debug("saveAppointMent users_id:" + users_id);
+
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+				
+				Users us = userManagement.getUserById(users_id);
+				
+				// Refactor the given time ignoring the Date is always UTC!
+				TimeZone timezone = timezoneUtil.getTimezoneByUser(us);
+				
+				//Transform the user time in a local time of the server 
+				//machines locale timeZone and store that to the db
+				Date appointmentstart = new Date(TimezoneUtil.getCalendarInTimezone(appointmentstartStr, timezone).getTime().getTime());
+				Date appointmentend = new Date(TimezoneUtil.getCalendarInTimezone(appointmentendStr, timezone).getTime().getTime());
+
+				log.debug("timezone "+timezone);
+				log.debug("appointmentstartStr "+appointmentstartStr);
+				log.debug("appointmentendStr "+appointmentendStr);
+				log.debug("appointmentstart "+appointmentstart);
+				log.debug("appointmentend   "+appointmentend);
+				
+				Long id = appointmentLogic.saveAppointment(appointmentName,
+						users_id, appointmentLocation, appointmentDescription,
+						appointmentstart, appointmentend, isDaily, isWeekly,
+						isMonthly, isYearly, categoryId, remind, mmClient,
+						roomType, baseUrl, language_id, isPasswordProtected, password);
+
+				return id;
+			} else {
+				log.error("saveAppointment : wrong user level");
+			}
+		} catch (Exception err) {
+			log.error("[saveAppointment]", err);
+		}
+		return null;
+
+	}
+
+	public Long updateAppointmentTimeOnly(String SID, Long appointmentId,
+			String appointmentstartStr, String appointmentendStr, String baseurl,
+			Long language_id) {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				log.debug("updateAppointment");
+
+				log.debug("appointmentId " + appointmentId);
+				
+				Users us = userManagement.getUserById(users_id);
+				
+				// Refactor the given time ignoring the Date is always UTC!
+				TimeZone timezone = timezoneUtil.getTimezoneByUser(us);
+				
+				//Transform the user time in a local time of the server 
+				//machines locale timeZone and store that to the db
+				Date appointmentstart = new Date(TimezoneUtil.getCalendarInTimezone(appointmentstartStr, timezone).getTime().getTime());
+				Date appointmentend = new Date(TimezoneUtil.getCalendarInTimezone(appointmentendStr, timezone).getTime().getTime());
+
+				log.debug("up timezone "+timezone);
+				log.debug("up appointmentstartStr "+appointmentstartStr);
+				log.debug("up appointmentendStr "+appointmentendStr);
+				log.debug("up appointmentstart "+appointmentstart);
+				log.debug("up appointmentend   "+appointmentend);
+
+				appointmentLogic
+						.getAppointMentById(appointmentId);
+
+				Users user = userManagement.getUserById(users_id);
+				
+				return appointmentDao.updateAppointmentByTime(appointmentId,
+						appointmentstart, appointmentend, users_id, baseurl,
+						language_id, user.getOmTimeZone().getIcal());
+
+			}
+		} catch (Exception err) {
+			log.error("[updateAppointment]", err);
+			err.printStackTrace();
+		}
+		return null;
+
+	}
+
+	public Long updateAppointment(String SID, Long appointmentId,
+			String appointmentName, 
+			String appointmentLocation, String appointmentDescription,
+			String appointmentstartStr, String appointmentendStr, Boolean isDaily,
+			Boolean isWeekly, Boolean isMonthly, Boolean isYearly,
+			Long categoryId, Long remind, @SuppressWarnings("rawtypes") List mmClient, Long roomType,
+			String baseUrl, Long language_id, Boolean isPasswordProtected,
+			String password) {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				log.debug("updateAppointment");
+
+				RoomTypes rt = roommanagement.getRoomTypesById(roomType);
+
+				Appointment app = appointmentLogic
+						.getAppointMentById(appointmentId);
+
+				Rooms room = app.getRoom();
+				if (room != null) {
+
+					room.setComment(appointmentDescription);
+					room.setName(appointmentName);
+					room.setRoomtype(rt);
+
+					roommanagement.updateRoomObject(room);
+				}
+
+				Users user = userManagement.getUserById(users_id);
+				
+				// Refactor the given time ignoring the Date is always UTC!
+				TimeZone timezone = timezoneUtil.getTimezoneByUser(user);
+				
+				//Transform the user time in a local time of the server 
+				//machines locale timeZone and store that to the db
+				Date appointmentstart = new Date(TimezoneUtil.getCalendarInTimezone(appointmentstartStr, timezone).getTime().getTime());
+				Date appointmentend = new Date(TimezoneUtil.getCalendarInTimezone(appointmentendStr, timezone).getTime().getTime());
+
+				log.debug("up2 timezone "+timezone);
+				log.debug("up2 appointmentstartStr "+appointmentstartStr);
+				log.debug("up2 appointmentendStr "+appointmentendStr);
+				log.debug("up2 appointmentstart "+appointmentstart);
+				log.debug("up2 appointmentend "+appointmentend);
+
+				return appointmentDao.updateAppointment(appointmentId,
+						appointmentName, appointmentDescription,
+						appointmentstart, appointmentend, isDaily, isWeekly,
+						isMonthly, isYearly, categoryId, remind, mmClient,
+						users_id, baseUrl, language_id, isPasswordProtected, password, user
+								.getOmTimeZone().getIcal(), appointmentLocation);
+			}
+		} catch (Exception err) {
+			log.error("[updateAppointment]", err);
+			err.printStackTrace();
+		}
+		return null;
+
+	}
+
+	public Long deleteAppointment(String SID, Long appointmentId,
+			Long language_id) {
+
+		log.debug("deleteAppointment : " + appointmentId);
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				return appointmentLogic.deleteAppointment(appointmentId,
+						users_id, language_id);
+
+			}
+
+		} catch (Exception err) {
+			log.error("[deleteAppointment]", err);
+		}
+		return null;
+
+	}
+
+	public Appointment getAppointmentByRoomId(String SID, Long room_id) {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				Appointment appointment = new Appointment();
+
+				Appointment appStored = appointmentDao.getAppointmentByRoomId(
+						users_id, room_id);
+
+				appointment.setAppointmentStarttime(appStored
+						.getAppointmentStarttime());
+				appointment.setAppointmentEndtime(appStored
+						.getAppointmentEndtime());
+
+				return appointment;
+			}
+
+		} catch (Exception err) {
+			log.error("[getAppointmentByRoomId]", err);
+		}
+		return null;
+	}
+	
+	public List<AppointmentCategory> getAppointmentCategoryList(String SID) {
+		log.debug("AppointmenetCategoryService.getAppointmentCategoryList SID : "
+				+ SID);
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				List<AppointmentCategory> res = appointmentCategoryDaoImpl
+						.getAppointmentCategoryList();
+
+				if (res == null || res.size() < 1)
+					log.debug("no AppointmentCategories found");
+				else {
+					for (int i = 0; i < res.size(); i++) {
+						AppointmentCategory ac = res.get(i);
+						log.debug("found appCategory : " + ac.getName());
+					}
+				}
+
+				return res;
+			} else {
+				log.error("AppointmenetCategoryService.getAppointmentCategoryList : UserLevel Error");
+			}
+		} catch (Exception err) {
+			log.error("[getAppointmentCategory]", err);
+		}
+		return null;
+
+	}
+	
+	/**
+	 * 
+	 * @param SID
+	 * @return
+	 */
+	public List<AppointmentReminderTyps> getAppointmentReminderTypList(
+			String SID) {
+		log.debug("getAppointmentReminderTypList");
+
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				List<AppointmentReminderTyps> res = appointmentReminderTypDaoImpl
+						.getAppointmentReminderTypList();
+
+				if (res == null || res.size() < 1) {
+					log.debug("no remindertyps found!");
+				} else {
+					for (int i = 0; i < res.size(); i++) {
+						log.debug("found reminder " + res.get(i).getName());
+					}
+				}
+
+				return res;
+			} else
+				log.debug("getAppointmentReminderTypList  :error - wrong authlevel!");
+		} catch (Exception err) {
+			log.error("[getAppointmentReminderTypList]", err);
+		}
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/app/remote/ChatService.java b/src/org/openmeetings/app/remote/ChatService.java
new file mode 100644
index 0000000..c4abb2c
--- /dev/null
+++ b/src/org/openmeetings/app/remote/ChatService.java
@@ -0,0 +1,439 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.conference.session.RoomClient;
+import org.openmeetings.app.remote.red5.ClientListManager;
+import org.openmeetings.app.remote.red5.EmoticonsManager;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.utils.stringhandlers.ChatString;
+import org.red5.logging.Red5LoggerFactory;
+import org.red5.server.api.IConnection;
+import org.red5.server.api.Red5;
+import org.red5.server.api.service.IPendingServiceCall;
+import org.red5.server.api.service.IPendingServiceCallback;
+import org.red5.server.api.service.IServiceCapableConnection;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 
+ * @author sebastianwagner
+ *
+ */
+public class ChatService implements IPendingServiceCallback {
+	private static final Logger log = Red5LoggerFactory.getLogger(ChatService.class, OpenmeetingsVariables.webAppRootKey);
+	
+	@Autowired
+	private ScopeApplicationAdapter scopeApplicationAdapter;
+	@Autowired
+	private ClientListManager clientListManager = null;
+	
+	//the overall chat room is just another room
+	private static final Long overallChatRoomName = new Long(-1);
+	
+	//number of items in the chat room history
+	private static final int chatRoomHistory = 50;
+	
+	private static LinkedHashMap<Long,List<HashMap<String,Object>>> myChats = new LinkedHashMap<Long,List<HashMap<String,Object>>>();
+	
+	private String parseDateAsTimeString() {
+		Calendar cal=Calendar.getInstance();
+		
+		int h = cal.get(Calendar.HOUR_OF_DAY);
+		int m = cal.get(Calendar.MINUTE);
+
+		String str_h,str_m;
+		if (h<10) 
+			str_h = "0"+Integer.toString(h);
+		else
+			str_h = Integer.toString(h);
+
+		if (m<10) 
+			str_m = "0"+Integer.toString(m);
+		else
+			str_m = Integer.toString(m);
+		
+		return str_h+':'+str_m;
+	}
+
+	/**
+	 * sends a Chat-Message
+	 * to all members of the Chatroom
+	 * and all additional users (waitng for a free entry for example)
+	 * @param newMessage
+	 * @return
+	 */
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public int sendMessageWithClient(Object newMessage) {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			RoomClient currentClient = this.clientListManager.getClientByStreamId(current.getClient().getId());
+			Long room_id = currentClient.getRoom_id();
+			
+			log.debug("room_id: "+room_id);
+			log.debug("currentClient.getIsChatNotification(): "+currentClient.getIsChatNotification());
+			if (currentClient.getIsChatNotification()){
+				room_id = currentClient.getChatUserRoomId();
+			}
+			
+			//log.error(newMessage.getClass().getName());
+			ArrayList messageMap = (ArrayList) newMessage;
+			//adding delimiter space, cause otherwise an emoticon in the last string would not be found
+			String messageText = messageMap.get(4).toString()+" ";
+			//log.error("messageText"+messageText);
+			//add server time
+			messageMap.set(1,parseDateAsTimeString());
+			LinkedList<String[]> parsedStringObjects = ChatString.getInstance().parseChatString(messageText);
+			//log.error("parsedStringObjects"+parsedStringObjects.size());
+			log.debug("size:"+messageMap.size());
+			messageMap.add(parsedStringObjects);
+			newMessage = messageMap;			
+			
+			HashMap<String,Object> hsm = new HashMap<String,Object>();
+			hsm.put("client", currentClient);
+			hsm.put("message", newMessage);
+			
+			List<HashMap<String,Object>> myChatList = myChats.get(room_id);
+			if (myChatList==null) myChatList = new LinkedList<HashMap<String,Object>>();
+			
+			if (myChatList.size()==chatRoomHistory) myChatList.remove(0);
+			myChatList.add(hsm);
+			myChats.put(room_id,myChatList);
+			
+			log.debug("SET CHATROOM: "+room_id);
+			
+			//broadcast to everybody in the room/domain
+			Collection<Set<IConnection>> conCollection = current.getScope().getConnections();
+			for (Set<IConnection> conset : conCollection) {
+    			for (IConnection conn : conset) {
+    				if (conn != null) {
+    					if (conn instanceof IServiceCapableConnection) {
+    						
+    						RoomClient rcl = this.clientListManager.getClientByStreamId(conn.getClient().getId());
+    						
+    						if (rcl == null) {
+    							continue;
+    						}
+    						if (rcl.getIsAVClient()) {
+    							continue;
+    						}
+    						if (rcl.getIsScreenClient() != null && rcl.getIsScreenClient()) {
+	    						continue;
+	    					}
+    						
+    						log.debug("*..*idremote room_id: " + room_id);
+    						log.debug("*..*my idstreamid room_id: " + rcl.getRoom_id());
+    						if (room_id!=null && room_id.equals(rcl.getRoom_id())) {
+    							((IServiceCapableConnection) conn).invoke("sendVarsToMessageWithClient",new Object[] { hsm }, this);
+    							log.debug("sending sendVarsToMessageWithClient to " + conn);
+    						} else if (rcl.getIsChatNotification()) {
+    							if (room_id.equals(rcl.getChatUserRoomId()) && room_id != null) {
+    								((IServiceCapableConnection) conn).invoke("sendVarsToMessageWithClient",new Object[] { hsm }, this);
+    							}
+    						}
+    						
+	    			 	}
+	    			}
+    			}
+			}
+    					
+		} catch (Exception err) {
+			log.error("[ChatService sendMessageWithClient] ",err);
+			return -1;
+		}
+		return 1;
+	}
+	
+	public List<HashMap<String,Object>> clearChat() {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			RoomClient currentClient = this.clientListManager.getClientByStreamId(current.getClient().getId());
+			Long room_id = currentClient.getRoom_id();
+			
+			Long chatroom = room_id;
+			log.debug("### GET CHATROOM: "+chatroom);
+			
+			List<HashMap<String,Object>> myChatList = myChats.get(chatroom);
+			myChatList = new LinkedList<HashMap<String,Object>>();
+			
+			myChats.put(chatroom,myChatList);
+			
+			HashMap<String,Object> hsm = new HashMap<String,Object>();
+			
+			scopeApplicationAdapter.syncMessageToCurrentScope("clearChatContent", hsm, true);
+			
+			return myChatList;
+			
+		} catch (Exception err) {
+			log.error("[clearChat] ",err);
+			return null;
+		}
+	}
+	
+	public List<HashMap<String,Object>> getRoomChatHistory() {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			RoomClient currentClient = this.clientListManager.getClientByStreamId(current.getClient().getId());
+			Long room_id = currentClient.getRoom_id();
+			
+			Long chatroom = room_id;
+			log.debug("GET CHATROOM: "+chatroom);
+			
+			List<HashMap<String,Object>> myChatList = myChats.get(chatroom);
+			if (myChatList==null) myChatList = new LinkedList<HashMap<String,Object>>();	
+			
+			return myChatList;
+		} catch (Exception err) {
+			log.error("[getRoomChatHistory] ",err);
+			return null;
+		}
+	}
+	
+	/**
+	 * gets the chat history by string for non-conference-clients
+	 * @param roomname
+	 * @param orgdomain
+	 * @return
+	 */
+	public List<HashMap<String,Object>> getRoomChatHistoryByString(Long room_id) {
+		try {
+			
+			Long chatroom = room_id;
+			log.debug("GET CHATROOM: "+chatroom);
+			
+			List<HashMap<String,Object>> myChatList = myChats.get(chatroom);
+			if (myChatList==null) myChatList = new LinkedList<HashMap<String,Object>>();	
+			
+			return myChatList;
+		} catch (Exception err) {
+			log.error("[getRoomChatHistory] ",err);
+			return null;
+		}
+	}	
+	
+	/**
+	 * adds a Client to the additional List of Users to Chat
+	 * @param userroom
+	 * @param room_id
+	 * @param orgdomain
+	 * @return
+	 */
+	public Long addClientToChatNotification(Long room_id){
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			RoomClient currentClient = this.clientListManager.getClientByStreamId(current.getClient().getId());					
+			String streamid = currentClient.getStreamid();
+			
+			currentClient.setIsChatNotification(true);
+			currentClient.setChatUserRoomId(room_id);
+			
+			this.clientListManager.updateClientByStreamId(streamid, currentClient);
+		} catch (Exception err) {
+			log.error("[addClientToCahtNotification]",err);
+		}
+		return new Long(-1);
+	} 
+	
+	/**
+	 * remove's a Client from the additional List of users to chat
+	 * @param userroom
+	 * @param room_id
+	 * @param orgdomain
+	 * @return
+	 */
+	public Long removeClientFromChatNotification(){
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			RoomClient currentClient = this.clientListManager.getClientByStreamId(current.getClient().getId());					
+			String streamid = currentClient.getStreamid();
+			
+			currentClient.setIsChatNotification(false);
+			currentClient.setChatUserRoomId(null);
+			
+			this.clientListManager.updateClientByStreamId(streamid, currentClient);
+		} catch (Exception err) {
+			log.error("[addClientToCahtNotification]",err);
+		}
+		return new Long(-1);
+	}
+	
+
+	public void resultReceived(IPendingServiceCall arg0) {
+		// TODO Auto-generated method stub
+		log.error("resultReceived ChatService "+arg0);
+	}
+	
+	/**
+	 * sends a message to all connected users
+	 * @param SID
+	 * @param newMessage
+	 * @return
+	 */
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public int sendMessageToOverallChat(Object newMessage) {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			RoomClient currentClient = this.clientListManager.getClientByStreamId(current.getClient().getId());
+			
+			//log.error(newMessage.getClass().getName());
+			ArrayList messageMap = (ArrayList) newMessage;
+			//adding delimiter space, cause otherwise an emoticon in the last string would not be found
+			String messageText = messageMap.get(4).toString()+" ";
+			//log.error("messageText"+messageText);
+			//add server time
+			messageMap.set(1,parseDateAsTimeString());
+			LinkedList<String[]> parsedStringObjects = ChatString.getInstance().parseChatString(messageText);
+			//log.error("parsedStringObjects"+parsedStringObjects.size());
+			log.debug("size:" + messageMap.size());
+			messageMap.add(parsedStringObjects);
+			newMessage = messageMap;
+			
+			
+			HashMap<String,Object> hsm = new HashMap<String,Object>();
+			hsm.put("client", currentClient);
+			hsm.put("message", newMessage);
+			
+			List<HashMap<String,Object>> myChatList = myChats.get(overallChatRoomName);
+			if (myChatList==null) myChatList = new LinkedList<HashMap<String,Object>>();
+			
+			if (myChatList.size()==chatRoomHistory) myChatList.remove(0);
+			myChatList.add(hsm);
+			myChats.put(overallChatRoomName,myChatList);
+			
+			log.debug("SET CHATROOM: "+overallChatRoomName);
+			
+			scopeApplicationAdapter.syncMessageToCurrentScope("sendVarsToOverallChat", hsm, true);
+			
+		} catch (Exception err) {
+			log.error("[ChatService sendMessageToOverallChat] ",err);
+			return -1;
+		}
+		return 1;
+	}
+	
+	
+	/**
+	 * gets the chat history of overallChat
+	 * @param roomname
+	 * @param orgdomain
+	 * @return
+	 */
+	public List<HashMap<String,Object>> getOverallChatHistory() {
+		try {
+			
+			List<HashMap<String,Object>> myChatList = myChats.get(overallChatRoomName);
+			if (myChatList==null) myChatList = new LinkedList<HashMap<String,Object>>();	
+			
+			return myChatList;
+		} catch (Exception err) {
+			log.error("[getRoomChatHistory] ",err);
+			return null;
+		}
+	}	
+	
+	/**
+	 * clear the overallChat history
+	 * @return
+	 */
+	public List<HashMap<String,Object>> clearOverallChat() {
+		try {
+			
+			List<HashMap<String,Object>> myChatList = myChats.get(overallChatRoomName);
+			myChatList = new LinkedList<HashMap<String,Object>>();
+			
+			myChats.put(overallChatRoomName,myChatList);
+			
+			//Send event to clear to all participants
+			Map<Integer,String> newMessage = new HashMap<Integer,String>();
+			newMessage.put(0, "clearOverallChatHistory");
+			scopeApplicationAdapter.sendMessageToMembers(newMessage);
+			
+			return myChatList;
+			
+		} catch (Exception err) {
+			log.error("[clearChat] ",err);
+			return null;
+		}
+	}	
+	
+	public LinkedList<LinkedList<String>> getAllPublicEmoticons(){
+		try {
+			LinkedList<LinkedList<String>> publicemotes = new LinkedList<LinkedList<String>>();
+			LinkedList<LinkedList<String>> allEmotes = EmoticonsManager.getEmotfilesList();
+			for (Iterator<LinkedList<String>> iter = allEmotes.iterator();iter.hasNext();){
+				LinkedList<String> emot = iter.next();
+				LinkedList<String> emotPub = new LinkedList<String>();
+				if (emot.get((emot.size()-1)).equals("y")){
+					emotPub.add(emot.get(0));
+					emotPub.add(emot.get(1).replace("\\", ""));
+					if (emot.size()>4) {
+						emotPub.add(emot.get(2).replace("\\", ""));
+						emotPub.add(emot.get(3));
+						emotPub.add(emot.get(4));
+					} else {
+						emotPub.add(emot.get(2));
+						emotPub.add(emot.get(3));
+					}
+					publicemotes.add(emotPub);
+				}
+			}
+			return publicemotes;
+		} catch (Exception err) {
+			log.error("[getAllPublicEmoticons] ",err);
+			return null;
+		}
+	}
+	
+	public LinkedHashMap<String,LinkedList<RoomClient>> getChatOverallUsers(){
+		try {
+			LinkedHashMap<String,LinkedList<RoomClient>> clientList = new LinkedHashMap<String,LinkedList<RoomClient>>();
+			LinkedList<RoomClient> guestList = new LinkedList<RoomClient>();
+			LinkedList<RoomClient> overallList = new LinkedList<RoomClient>();
+			
+			for (RoomClient rcl : clientListManager.getAllClients()) {
+				if (rcl.getUser_id()==null || rcl.getUser_id()<=0) {
+					guestList.add(rcl);
+				} else {
+					overallList.add(rcl);
+				}
+			}
+			
+			clientList.put("guestList", guestList); 
+			clientList.put("overallList", overallList); 
+			return clientList;
+		} catch (Exception err) {
+			log.error("[getChatOverallUsers]",err);
+		}
+		return null;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/remote/ConferenceLibrary.java b/src/org/openmeetings/app/remote/ConferenceLibrary.java
new file mode 100644
index 0000000..335d0ae
--- /dev/null
+++ b/src/org/openmeetings/app/remote/ConferenceLibrary.java
@@ -0,0 +1,531 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.conference.session.RoomClient;
+import org.openmeetings.app.conference.whiteboard.WhiteboardManagement;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.file.FileUtils;
+import org.openmeetings.app.data.file.dao.FileExplorerItemDaoImpl;
+import org.openmeetings.app.data.file.dto.LibraryPresentation;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.documents.LibraryChartLoader;
+import org.openmeetings.app.documents.LibraryDocumentConverter;
+import org.openmeetings.app.documents.LibraryWmlLoader;
+import org.openmeetings.app.documents.LoadLibraryPresentation;
+import org.openmeetings.app.persistence.beans.files.FileExplorerItem;
+import org.openmeetings.app.remote.red5.ClientListManager;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.utils.crypt.MD5;
+import org.red5.logging.Red5LoggerFactory;
+import org.red5.server.api.IConnection;
+import org.red5.server.api.Red5;
+import org.red5.server.api.service.IPendingServiceCall;
+import org.red5.server.api.service.IPendingServiceCallback;
+import org.red5.server.api.service.IServiceCapableConnection;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 
+ * @author swagner
+ * 
+ */
+public class ConferenceLibrary implements IPendingServiceCallback {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			ConferenceLibrary.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private ClientListManager clientListManager = null;
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private FileExplorerItemDaoImpl fileExplorerItemDao;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+	@Autowired
+	private LibraryWmlLoader libraryWmlLoader;
+	@Autowired
+	private FileUtils fileUtils;
+
+	public LibraryPresentation getPresentationPreviewFileExplorer(String SID,
+			String parentFolder) {
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			log.debug("#############users_id : " + users_id);
+			log.debug("#############user_level : " + user_level);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				String current_dir = ScopeApplicationAdapter.webAppPath
+						+ File.separatorChar + OpenmeetingsVariables.UPLOAD_DIR;
+				String working_dir = current_dir + File.separatorChar + "files"
+						+ File.separatorChar + parentFolder;
+				log.debug("############# working_dir : " + working_dir);
+
+				File file = new File(working_dir + File.separatorChar
+						+ "library.xml");
+
+				if (!file.exists()) {
+					throw new Exception("library.xml does not exist "
+							+ working_dir + File.separatorChar + "library.xml");
+				}
+
+				return LoadLibraryPresentation.getInstance()
+						.parseLibraryFileToObject(file.getAbsolutePath());
+
+			} else {
+				throw new Exception("not Authenticated");
+			}
+
+		} catch (Exception e) {
+			log.error("[getListOfFilesByAbsolutePath]", e);
+			return null;
+		}
+
+	}
+
+	/**
+	 * 
+	 * Save an Object to the library and returns the file-explorer Id
+	 * 
+	 * @param SID
+	 * @param room_id
+	 * @param fileName
+	 * @param tObjectRef
+	 * @return
+	 */
+	public Long saveAsObject(String SID, Long room_id, String fileName,
+			Object tObjectRef) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+				// LinkedHashMap tObject = (LinkedHashMap)t;
+				// ArrayList tObject = (ArrayList)t;
+
+				log.debug("saveAsObject :1: " + tObjectRef);
+				log.debug("saveAsObject :2: " + tObjectRef.getClass().getName());
+
+				@SuppressWarnings("rawtypes")
+				ArrayList tObject = (ArrayList) tObjectRef;
+
+				log.debug("saveAsObject" + tObject.size());
+
+				String current_dir = ScopeApplicationAdapter.webAppPath
+						+ File.separatorChar + OpenmeetingsVariables.UPLOAD_DIR + File.separatorChar;
+
+				log.debug("### this is my working directory: " + current_dir);
+
+				String localFileName = MD5.do_checksum(new Date().toString())
+						+ ".wml";
+
+				LibraryDocumentConverter.getInstance().writeToLocalFolder(
+						current_dir, localFileName, tObject);
+
+				// String wmlPath = current_dir + File.separatorChar+fileName
+				// +".xml";
+				// OwnerID == null
+				Long fileExplorerId = fileExplorerItemDao.add(fileName, "", 0L,
+						null, room_id, users_id, false, // isFolder
+						false, // isImage
+						false, // isPresentation
+						localFileName, // WML localFileName
+						true, // isStoredWML file
+						true, 0L, "");
+
+				return fileExplorerId;
+			}
+		} catch (Exception err) {
+			log.error("[saveAsObject] ", err);
+		}
+		return -1L;
+	}
+
+	/**
+	 * 
+	 * Loads a Object from the library into the whiteboard of all participant of
+	 * the current room
+	 * 
+	 * @param SID
+	 * @param room_id
+	 * @param fileExplorerItemId
+	 * @param whiteboardId
+	 */
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public void loadWmlObject(String SID, Long room_id,
+			Long fileExplorerItemId, Long whiteboardId) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				IConnection current = Red5.getConnectionLocal();
+				RoomClient currentClient = this.clientListManager
+						.getClientByStreamId(current.getClient().getId());
+
+				if (currentClient == null) {
+					return;
+				}
+
+				String current_dir = ScopeApplicationAdapter.webAppPath
+						+ File.separatorChar + OpenmeetingsVariables.UPLOAD_DIR + File.separatorChar;
+				log.debug("### this is my working directory: " + current_dir);
+
+				FileExplorerItem fileExplorerItem = fileExplorerItemDao
+						.getFileExplorerItemsById(fileExplorerItemId);
+
+				ArrayList roomItems = libraryWmlLoader.loadWmlFile(current_dir,
+						fileExplorerItem.getWmlFilePath());
+
+				Map whiteboardObjClear = new HashMap();
+				whiteboardObjClear.put(2, "clear");
+				whiteboardObjClear.put(3, null);
+
+				WhiteboardManagement.getInstance().addWhiteBoardObjectById(
+						room_id, whiteboardObjClear, whiteboardId);
+
+				for (int k = 0; k < roomItems.size(); k++) {
+
+					ArrayList actionObject = (ArrayList) roomItems.get(k);
+
+					Map whiteboardObj = new HashMap();
+					whiteboardObj.put(2, "draw");
+					whiteboardObj.put(3, actionObject);
+
+					WhiteboardManagement.getInstance().addWhiteBoardObjectById(
+							room_id, whiteboardObj, whiteboardId);
+
+				}
+
+				Map<String, Object> sendObject = new HashMap<String, Object>();
+				sendObject.put("id", whiteboardId);
+				sendObject.put("roomitems", roomItems);
+
+				// Notify all Clients of that Scope (Room)
+				Collection<Set<IConnection>> conCollection = current.getScope()
+						.getConnections();
+				for (Set<IConnection> conset : conCollection) {
+					for (IConnection conn : conset) {
+						if (conn != null) {
+							if (conn instanceof IServiceCapableConnection) {
+								RoomClient rcl = this.clientListManager
+										.getClientByStreamId(conn.getClient()
+												.getId());
+								if ((rcl == null)
+										|| (rcl.getIsScreenClient() != null && rcl
+												.getIsScreenClient())) {
+									continue;
+								} else {
+									// log.debug("*..*idremote: " +
+									// rcl.getStreamid());
+									// log.debug("*..* sendVars room_id IS EQUAL: "
+									// + currentClient.getStreamid() + " asd " +
+									// rcl.getStreamid() + " IS eq? "
+									// +currentClient.getStreamid().equals(rcl.getStreamid()));
+									((IServiceCapableConnection) conn).invoke(
+											"loadWmlToWhiteboardById",
+											new Object[] { sendObject }, this);
+									// log.debug("sending sendVarsToWhiteboard to "
+									// + conn + " rcl " + rcl);
+								}
+							}
+						}
+					}
+				}
+
+			}
+		} catch (Exception err) {
+			log.error("[loadWmlObject] ", err);
+		}
+	}
+
+	/**
+	 * 
+	 * Loads a chart object
+	 * 
+	 * @param SID
+	 * @param room_id
+	 * @param fileName
+	 * @return
+	 */
+	@SuppressWarnings("rawtypes")
+	public ArrayList loadChartObject(String SID, Long room_id, String fileName) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+				String roomName = room_id.toString();
+				String current_dir = ScopeApplicationAdapter.webAppPath
+						+ File.separatorChar + OpenmeetingsVariables.UPLOAD_DIR + File.separatorChar
+						+ roomName + File.separatorChar;
+				log.debug("### this is my working directory: " + current_dir);
+
+				return LibraryChartLoader.getInstance().loadChart(current_dir,
+						fileName);
+			}
+		} catch (Exception err) {
+			log.error("[loadChartObject] ", err);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * Load all objects of a conference room
+	 * 
+	 * @param SID
+	 * @param room_id
+	 * @return
+	 * 
+	 *         public FileExplorerObject getFileExplorerByRoom(String SID, Long
+	 *         room_id) { try { Long users_id =
+	 *         Sessionmanagement.getInstance().checkSession(SID); Long
+	 *         user_level = userManagement.getUserLevelByID( users_id); if
+	 *         (authLevelManagement.checkUserLevel(user_level)) {
+	 * 
+	 *         log.debug("room_id " + room_id);
+	 * 
+	 *         FileExplorerObject fileExplorerObject = new FileExplorerObject();
+	 * 
+	 *         // Home File List FileExplorerItem[] fList =
+	 *         FileExplorerItemDaoImpl .getInstance()
+	 *         .getFileExplorerItemsByOwner(users_id, 0L);
+	 * 
+	 *         long homeFileSize = 0;
+	 * 
+	 *         for (FileExplorerItem homeChildExplorerItem : fList) {
+	 *         log.debug("FileExplorerItem fList " +
+	 *         homeChildExplorerItem.getFileName()); homeFileSize +=
+	 *         FileUtils.getInstance()
+	 *         .getSizeOfDirectoryAndSubs(homeChildExplorerItem); }
+	 * 
+	 *         fileExplorerObject.setUserHome(fList);
+	 *         fileExplorerObject.setUserHomeSize(homeFileSize);
+	 * 
+	 *         // Public File List FileExplorerItem[] rList =
+	 *         FileExplorerItemDaoImpl
+	 *         .getInstance().getFileExplorerItemsByRoom(room_id, 0L);
+	 * 
+	 *         long roomFileSize = 0;
+	 * 
+	 *         for (FileExplorerItem homeChildExplorerItem : rList) {
+	 *         log.debug("FileExplorerItem rList " +
+	 *         homeChildExplorerItem.getFileName()); roomFileSize +=
+	 *         FileUtils.getInstance()
+	 *         .getSizeOfDirectoryAndSubs(homeChildExplorerItem); }
+	 * 
+	 *         fileExplorerObject.setRoomHome(rList);
+	 *         fileExplorerObject.setRoomHomeSize(roomFileSize);
+	 * 
+	 *         return fileExplorerObject;
+	 * 
+	 *         } } catch (Exception err) { log.error("[getFileExplorerByRoom] ",
+	 *         err); } return null; }
+	 * 
+	 *         public FileExplorerItem[] getFileExplorerByParent(String SID,
+	 *         Long parentFileExplorerItemId, Long room_id, Boolean isOwner) {
+	 *         try { Long users_id =
+	 *         Sessionmanagement.getInstance().checkSession(SID); Long
+	 *         user_level = userManagement.getUserLevelByID( users_id); if
+	 *         (authLevelManagement.checkUserLevel(user_level)) {
+	 * 
+	 *         log.debug("parentFileExplorerItemId " +
+	 *         parentFileExplorerItemId);
+	 * 
+	 *         if (parentFileExplorerItemId == 0) { if (isOwner) { return
+	 *         FileExplorerItemDaoImpl.getInstance()
+	 *         .getFileExplorerItemsByOwner(users_id, parentFileExplorerItemId);
+	 *         } else { return FileExplorerItemDaoImpl.getInstance()
+	 *         .getFileExplorerItemsByRoom(room_id, parentFileExplorerItemId); }
+	 *         } else { return FileExplorerItemDaoImpl.getInstance()
+	 *         .getFileExplorerItemsByParent( parentFileExplorerItemId); }
+	 * 
+	 *         } } catch (Exception err) {
+	 *         log.error("[getFileExplorerByParent] ", err); } return null; }
+	 * 
+	 *         public Long addFolder(String SID, Long parentFileExplorerItemId,
+	 *         String fileName, Long room_id, Boolean isOwner) { try { Long
+	 *         users_id = Sessionmanagement.getInstance().checkSession(SID);
+	 *         Long user_level = userManagement.getUserLevelByID( users_id); if
+	 *         (authLevelManagement.checkUserLevel(user_level)) {
+	 * 
+	 *         log.debug("addFolder " + parentFileExplorerItemId);
+	 * 
+	 *         if (parentFileExplorerItemId == 0 && isOwner) { // users_id
+	 *         (OwnerID) => only set if its directly root in // Owner Directory,
+	 *         // other Folders and Files maybe are also in a Home // directory
+	 *         // but just because their parent is return
+	 *         FileExplorerItemDaoImpl.getInstance().add(fileName, "",
+	 *         parentFileExplorerItemId, users_id, room_id, users_id, true, //
+	 *         isFolder false, // isImage false, // isPresentation "", // WML
+	 *         Path false, // isStoredWML file false // isXmlFile , 0L, ""); }
+	 *         else { return FileExplorerItemDaoImpl.getInstance().add(fileName,
+	 *         "", parentFileExplorerItemId, null, room_id, users_id, true, //
+	 *         isFolder false, // isImage false, // isPresentation "", // WML
+	 *         Paht false, // isStoredWML file false // isXmlFile , 0L, ""); } }
+	 *         } catch (Exception err) { log.error("[getFileExplorerByParent] ",
+	 *         err); } return null; }
+	 * 
+	 *         public Long deleteFileOrFolder(String SID, Long
+	 *         fileExplorerItemId) { try { Long users_id =
+	 *         Sessionmanagement.getInstance().checkSession(SID); Long
+	 *         user_level = userManagement.getUserLevelByID( users_id); if
+	 *         (authLevelManagement.checkUserLevel(user_level)) {
+	 * 
+	 *         log.debug("deleteFileOrFolder " + fileExplorerItemId);
+	 * 
+	 *         FileExplorerItemDaoImpl.getInstance().deleteFileExplorerItem(
+	 *         fileExplorerItemId);
+	 * 
+	 *         } } catch (Exception err) {
+	 *         log.error("[getFileExplorerByParent] ", err); } return null; }
+	 * 
+	 *         public Long updateFileOrFolderName(String SID, Long
+	 *         fileExplorerItemId, String fileName) { try { Long users_id =
+	 *         Sessionmanagement.getInstance().checkSession(SID); Long
+	 *         user_level = userManagement.getUserLevelByID( users_id); if
+	 *         (authLevelManagement.checkUserLevel(user_level)) {
+	 * 
+	 *         log.debug("deleteFileOrFolder " + fileExplorerItemId);
+	 * 
+	 *         FileExplorerItemDaoImpl.getInstance().updateFileOrFolderName(
+	 *         fileExplorerItemId, fileName);
+	 * 
+	 *         } } catch (Exception err) {
+	 *         log.error("[updateFileOrFolderName] ", err); } return null; }
+	 * 
+	 *         public Long moveFile(String SID, Long fileExplorerItemId, Long
+	 *         newParentFileExplorerItemId, Long room_id, Boolean isOwner,
+	 *         Boolean moveToHome) { try { Long users_id =
+	 *         Sessionmanagement.getInstance().checkSession(SID); Long
+	 *         user_level = userManagement.getUserLevelByID( users_id); if
+	 *         (authLevelManagement.checkUserLevel(user_level)) {
+	 * 
+	 *         log.debug("deleteFileOrFolder " + fileExplorerItemId);
+	 * 
+	 *         FileExplorerItemDaoImpl.getInstance().moveFile(
+	 *         fileExplorerItemId, newParentFileExplorerItemId, room_id,
+	 *         isOwner, users_id);
+	 * 
+	 *         FileExplorerItem fileExplorerItem = FileExplorerItemDaoImpl
+	 *         .getInstance().getFileExplorerItemsById( fileExplorerItemId);
+	 * 
+	 *         if (moveToHome) { // set this file and all subfiles and folders
+	 *         the ownerId
+	 *         FileUtils.getInstance().setFileToOwnerOrRoomByParent(fileExplorerItem
+	 *         , users_id, null);
+	 * 
+	 *         } else { // set this file and all subfiles and folders the
+	 *         room_id
+	 *         FileUtils.getInstance().setFileToOwnerOrRoomByParent(fileExplorerItem
+	 *         , null, room_id);
+	 * 
+	 *         }
+	 * 
+	 *         } } catch (Exception err) {
+	 *         log.error("[updateFileOrFolderName] ", err); } return null; }
+	 */
+
+	public Long copyFileToCurrentRoom(String SID, Long flvFileExplorerId) {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				IConnection current = Red5.getConnectionLocal();
+				String streamid = current.getClient().getId();
+
+				RoomClient currentClient = this.clientListManager
+						.getClientByStreamId(streamid);
+
+				Long room_id = currentClient.getRoom_id();
+
+				if (room_id != null) {
+
+					String streamFolderName = ScopeApplicationAdapter.webAppPath
+							+ File.separatorChar
+							+ OpenmeetingsVariables.STREAMS_DIR
+							+ File.separatorChar
+							+ "hibernate"
+							+ File.separatorChar;
+
+					String outputFullFlv = streamFolderName + "UPLOADFLV_"
+							+ flvFileExplorerId + ".flv";
+
+					String targetFolderName = ScopeApplicationAdapter.webAppPath
+							+ File.separatorChar
+							+ OpenmeetingsVariables.STREAMS_DIR
+							+ File.separatorChar + room_id + File.separatorChar;
+
+					File targetFolder = new File(targetFolderName);
+					if (!targetFolder.exists()) {
+						targetFolder.mkdir();
+					}
+
+					String targetFullFlv = targetFolderName + "UPLOADFLV_"
+							+ flvFileExplorerId + ".flv";
+
+					File outputFullFlvFile = new File(outputFullFlv);
+					File targetFullFlvFile = new File(targetFullFlv);
+					if (outputFullFlvFile.exists()) {
+
+						if (!targetFullFlvFile.exists()) {
+							fileUtils.copyFile(outputFullFlv, targetFullFlv);
+						}
+
+					}
+
+					return 1L;
+				}
+
+			}
+
+		} catch (Exception err) {
+			log.error("[copyFileToCurrentRoom] ", err);
+		}
+		return -1L;
+	}
+
+	public void resultReceived(IPendingServiceCall arg0) {
+		// TODO Auto-generated method stub
+
+	}
+
+}
diff --git a/src/org/openmeetings/app/remote/ConferenceService.java b/src/org/openmeetings/app/remote/ConferenceService.java
new file mode 100644
index 0000000..a0261fc
--- /dev/null
+++ b/src/org/openmeetings/app/remote/ConferenceService.java
@@ -0,0 +1,832 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.TimeZone;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.conference.session.RoomClient;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.beans.basic.SearchResult;
+import org.openmeetings.app.data.calendar.management.AppointmentLogic;
+import org.openmeetings.app.data.conference.Roommanagement;
+import org.openmeetings.app.data.conference.dao.RoomModeratorsDaoImpl;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.persistence.beans.calendar.Appointment;
+import org.openmeetings.app.persistence.beans.rooms.RoomModerators;
+import org.openmeetings.app.persistence.beans.rooms.RoomTypes;
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.openmeetings.app.persistence.beans.rooms.Rooms_Organisation;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.app.remote.red5.ClientListManager;
+import org.openmeetings.utils.math.CalendarPatterns;
+import org.openmeetings.utils.math.TimezoneUtil;
+import org.red5.logging.Red5LoggerFactory;
+import org.red5.server.api.IConnection;
+import org.red5.server.api.Red5;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 
+ * @author swagner
+ * 
+ */
+public class ConferenceService {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			ConferenceService.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private AppointmentLogic appointmentLogic;
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private Roommanagement roommanagement;
+	@Autowired
+	private RoomModeratorsDaoImpl roomModeratorsDao;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+	@Autowired
+	private TimezoneUtil timezoneUtil;
+	@Autowired
+	private ClientListManager clientListManager = null;
+
+	/**
+	 * ( get a List of all availible Rooms of this organisation
+	 * (non-appointments)
+	 * 
+	 * @param SID
+	 * @param organisation_id
+	 * @return
+	 */
+	public List<Rooms_Organisation> getRoomsByOrganisationAndType(String SID,
+			long organisation_id, long roomtypes_id) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			log.debug("getRoomsByOrganisationAndType");
+
+			if (user_level == null) {
+				return null;
+			}
+			List<Rooms_Organisation> roomOrgsList = roommanagement
+					.getRoomsOrganisationByOrganisationIdAndRoomType(
+							user_level, organisation_id, roomtypes_id);
+
+			List<Rooms_Organisation> filtered = new ArrayList<Rooms_Organisation>();
+
+			for (Iterator<Rooms_Organisation> iter = roomOrgsList.iterator(); iter
+					.hasNext();) {
+				Rooms_Organisation orgRoom = iter.next();
+
+				if (!orgRoom.getRoom().getAppointment()) {
+					orgRoom.getRoom().setCurrentusers(
+							this.getRoomClientsListByRoomId(orgRoom.getRoom()
+									.getRooms_id()));
+					filtered.add(orgRoom);
+				}
+			}
+			return filtered;
+		} catch (Exception err) {
+			log.error("[getRoomsByOrganisationAndType]", err);
+		}
+		return null;
+	}
+
+	public List<Rooms_Organisation> getRoomsByOrganisationWithoutType(
+			String SID, long organisation_id) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			log.debug("getRoomsByOrganisationAndType");
+
+			if (user_level == null) {
+				return null;
+			}
+			List<Rooms_Organisation> roomOrgsList = roommanagement
+					.getRoomsOrganisationByOrganisationId(user_level,
+							organisation_id);
+
+			if (roomOrgsList == null) {
+				return null;
+			}
+
+			List<Rooms_Organisation> filtered = new ArrayList<Rooms_Organisation>();
+
+			for (Iterator<Rooms_Organisation> iter = roomOrgsList.iterator(); iter
+					.hasNext();) {
+				Rooms_Organisation orgRoom = iter.next();
+
+				if (!orgRoom.getRoom().getAppointment()) {
+					orgRoom.getRoom().setCurrentusers(
+							this.getRoomClientsListByRoomId(orgRoom.getRoom()
+									.getRooms_id()));
+					filtered.add(orgRoom);
+				}
+			}
+			return filtered;
+		} catch (Exception err) {
+			log.error("[getRoomsByOrganisationAndType]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * gets all rooms of an organisation TODO:check if the requesting user is
+	 * also member of that organisation
+	 * 
+	 * @param SID
+	 * @param organisation_id
+	 * @return
+	 */
+	public SearchResult<Rooms_Organisation> getRoomsByOrganisation(String SID,
+			long organisation_id, int start, int max, String orderby,
+			boolean asc) {
+
+		log.debug("getRoomsByOrganisation");
+
+		Long user_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByIdAndOrg(user_id,
+				organisation_id);
+
+		return roommanagement.getRoomsOrganisationByOrganisationId(user_level,
+				organisation_id, start, max, orderby, asc);
+	}
+
+	/**
+	 * get a List of all public availible rooms (non-appointments)
+	 * 
+	 * @param SID
+	 * @param organisation_id
+	 * @return
+	 */
+	public List<Rooms> getRoomsPublic(String SID, Long roomtypes_id) {
+		try {
+			log.debug("getRoomsPublic");
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long User_level = userManagement.getUserLevelByID(users_id);
+			log.error("getRoomsPublic user_level: " + User_level);
+
+			List<Rooms> roomList = roommanagement.getPublicRooms(User_level,
+					roomtypes_id);
+
+			// Filter : no appointed meetings
+			List<Rooms> filtered = new ArrayList<Rooms>();
+
+			for (Iterator<Rooms> iter = roomList.iterator(); iter.hasNext();) {
+				Rooms rooms = iter.next();
+
+				if (!rooms.getAppointment()) {
+					rooms.setCurrentusers(this.getRoomClientsListByRoomId(rooms
+							.getRooms_id()));
+					filtered.add(rooms);
+				}
+			}
+
+			return filtered;
+		} catch (Exception err) {
+			log.error("[getRoomsByOrganisationAndType]", err);
+		}
+		return null;
+	}
+
+	public List<Rooms> getRoomsPublicWithoutType(String SID) {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			log.debug("getRoomsPublic user_level: " + user_level);
+
+			List<Rooms> roomList = roommanagement
+					.getPublicRoomsWithoutType(user_level);
+
+			if (roomList == null) {
+				return null;
+			}
+
+			// Filter : no appointed meetings
+			List<Rooms> filtered = new ArrayList<Rooms>();
+
+			for (Iterator<Rooms> iter = roomList.iterator(); iter.hasNext();) {
+				Rooms rooms = iter.next();
+
+				if (!rooms.getAppointment()) {
+					rooms.setCurrentusers(this.getRoomClientsListByRoomId(rooms
+							.getRooms_id()));
+					filtered.add(rooms);
+				}
+			}
+
+			return filtered;
+		} catch (Exception err) {
+			log.error("[getRoomsPublicWithoutType]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * retrieving ServerTime
+	 * 
+	 * @return
+	 */
+	// --------------------------------------------------------------------------------------------
+	public Date getServerTime() {
+		log.debug("getServerTime");
+
+		return new Date(System.currentTimeMillis());
+
+	}
+
+	// --------------------------------------------------------------------------------------------
+
+	/**
+	 * 
+	 * retrieving Appointment for Room
+	 * 
+	 * @author o.becherer
+	 * 
+	 */
+	// --------------------------------------------------------------------------------------------
+	public Appointment getAppointMentDataForRoom(Long room_id) {
+		log.debug("getAppointMentDataForRoom");
+
+		Rooms room = roommanagement.getRoomById(room_id);
+
+		if (room.getAppointment() == false)
+			return null;
+
+		try {
+			Appointment ment = appointmentLogic.getAppointmentByRoom(room_id);
+
+			return ment;
+		} catch (Exception e) {
+			log.error("getAppointMentDataForRoom " + e.getMessage());
+			return null;
+		}
+
+	}
+
+	// --------------------------------------------------------------------------------------------
+
+	public Map<String, Object> getAppointMentAndTimeZones(Long room_id) {
+		try {
+			log.debug("getAppointMentDataForRoom");
+			
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+	
+			log.debug("getCurrentRoomClient -2- " + streamid);
+	
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+	
+			Rooms room = roommanagement.getRoomById(room_id);
+	
+			if (room.getAppointment() == false) {
+				throw new IllegalStateException("Room has no appointment");
+			}
+		
+			Appointment appointment = appointmentLogic
+					.getAppointmentByRoom(room_id);
+
+			Map<String, Object> returnMap = new HashMap<String, Object>();
+
+			returnMap.put("appointment", appointment);
+
+			Users us = userManagement.getUserById(currentClient.getUser_id());
+			TimeZone timezone = timezoneUtil.getTimezoneByUser(us);
+
+			returnMap.put("appointment", appointment);
+
+			returnMap.put(
+					"start",
+					CalendarPatterns.getDateWithTimeByMiliSeconds(
+							appointment.getAppointmentStarttime(), timezone));
+			returnMap.put(
+					"end",
+					CalendarPatterns.getDateWithTimeByMiliSeconds(
+							appointment.getAppointmentEndtime(), timezone));
+			returnMap.put("timeZone", timezone.getDisplayName());
+
+			return returnMap;
+		} catch (Exception e) {
+			log.error("getAppointMentAndTimeZones " , e );
+			return null;
+		}
+
+	}
+
+	/**
+	 * 
+	 */
+	// --------------------------------------------------------------------------------------------
+	public List<Rooms> getAppointedMeetings(String SID, Long room_types_id) {
+		log.debug("ConferenceService.getAppointedMeetings");
+
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+
+		if (authLevelManagement.checkUserLevel(user_level)) {
+
+			List<Appointment> points = appointmentLogic
+					.getTodaysAppointmentsForUser(users_id);
+			List<Rooms> result = new ArrayList<Rooms>();
+
+			if (points != null) {
+				for (int i = 0; i < points.size(); i++) {
+					Appointment ment = points.get(i);
+
+					Long rooms_id = ment.getRoom().getRooms_id();
+					Rooms rooom = roommanagement.getRoomById(rooms_id);
+
+					if (!rooom.getRoomtype().getRoomtypes_id()
+							.equals(room_types_id))
+						continue;
+
+					rooom.setCurrentusers(getRoomClientsListByRoomId(rooom
+							.getRooms_id()));
+					result.add(rooom);
+				}
+			}
+
+			log.debug("Found " + result.size() + " rooms");
+			return result;
+
+		} else {
+			return null;
+		}
+
+	}
+
+	// --------------------------------------------------------------------------------------------
+
+	public List<Rooms> getAppointedMeetingRoomsWithoutType(String SID) {
+		log.debug("ConferenceService.getAppointedMeetings");
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+				List<Appointment> appointments = appointmentLogic
+						.getTodaysAppointmentsForUser(users_id);
+				List<Rooms> result = new ArrayList<Rooms>();
+
+				if (appointments != null) {
+					for (int i = 0; i < appointments.size(); i++) {
+						Appointment ment = appointments.get(i);
+
+						Long rooms_id = ment.getRoom().getRooms_id();
+						Rooms rooom = roommanagement.getRoomById(rooms_id);
+
+						rooom.setCurrentusers(this
+								.getRoomClientsListByRoomId(rooom.getRooms_id()));
+						result.add(rooom);
+					}
+				}
+
+				log.debug("Found " + result.size() + " rooms");
+				return result;
+			}
+		} catch (Exception err) {
+			log.error("[getAppointedMeetingRoomsWithoutType]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param SID
+	 * @return
+	 */
+	public List<RoomTypes> getRoomTypes(String SID) {
+		Long users_id = sessionManagement.checkSession(SID);
+
+		log.debug("users_id " + users_id);
+
+		Long user_level = userManagement.getUserLevelByID(users_id);
+
+		return roommanagement.getAllRoomTypes(user_level);
+	}
+
+	/**
+	 * 
+	 * @param SID
+	 * @param rooms_id
+	 * @return
+	 */
+	public Rooms getRoomById(String SID, long rooms_id) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		return roommanagement.getRoomById(user_level, rooms_id);
+	}
+
+	public Rooms getRoomWithCurrentUsersById(String SID, long rooms_id) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		return roommanagement.getRoomById(user_level, rooms_id);
+	}
+
+	/**
+	 * 
+	 * @param SID
+	 * @param rooms_id
+	 * @return
+	 */
+	public Rooms getRoomByExternalId(String SID, Long externalUserId,
+			String externalUserType, long roomtypes_id) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		return roommanagement.getRoomByExternalId(user_level, externalUserId,
+				externalUserType, roomtypes_id);
+	}
+
+	/**
+	 * gets a list of all availible rooms
+	 * 
+	 * @param SID
+	 * @param start
+	 * @param max
+	 * @param orderby
+	 * @param asc
+	 * @return
+	 */
+	public SearchResult<Rooms> getRooms(String SID, int start, int max,
+			String orderby, boolean asc, String search) {
+		log.debug("getRooms");
+
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		return roommanagement.getRooms(user_level, start, max, orderby, asc,
+				search);
+	}
+
+	public SearchResult<Rooms> getRoomsWithCurrentUsers(String SID, int start,
+			int max, String orderby, boolean asc) {
+		log.debug("getRooms");
+
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		return roommanagement.getRoomsWithCurrentUsers(user_level, start, max,
+				orderby, asc);
+	}
+
+	/**
+	 * get all Organisations of a room
+	 * 
+	 * @param SID
+	 * @param rooms_id
+	 * @return
+	 */
+	public List<Rooms_Organisation> getOrganisationByRoom(String SID,
+			long rooms_id) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		return roommanagement.getOrganisationsByRoom(user_level, rooms_id);
+	}
+
+	/**
+	 * 
+	 * @param SID
+	 * @param name
+	 * @param roomtypes_id
+	 * @deprecated
+	 * @return
+	 */
+	// public Long addRoomPublic(String SID, String name, long roomtypes_id){
+	// Long users_id = Sessionmanagement.getInstance().checkSession(SID);
+	// Long User_level = userManagement.getUserLevelByID(users_id);
+	// return roommanagement.addRoom(User_level, name,
+	// roomtypes_id,"", new Long(4), true,null,
+	// 290, 280, 2, 2,
+	// 400,
+	// true, 296, 2, 592, 660,
+	// true, 2, 284, 310, 290, false, false, null);
+	// }
+
+	/**
+	 * 
+	 * @param SID
+	 * @param organisation_id
+	 * @param name
+	 * @param roomtypes_id
+	 * @param ispublic
+	 * @deprecated
+	 * @return
+	 */
+	// public Long addRoomOrganisation(String SID, long organisation_id, String
+	// name, long roomtypes_id, boolean ispublic){
+	// Long users_id = Sessionmanagement.getInstance().checkSession(SID);
+	// long User_level = userManagement.getUserLevelByID(users_id);
+	// Long rooms_id = roommanagement.addRoom(User_level, name,
+	// roomtypes_id,"", new Long(4), ispublic, null,
+	// 290, 280, 2, 2,
+	// 400,
+	// true, 296, 2, 592, 660,
+	// true, 2, 284, 310, 290, false, false, null);
+	// return roommanagement.addRoomToOrganisation(User_level,
+	// rooms_id, organisation_id);
+	// }
+
+	/**
+	 * 
+	 * @param SID
+	 * @param argObject
+	 * @return
+	 */
+	public Long saveOrUpdateRoom(String SID, Object argObject) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			long User_level = userManagement.getUserLevelByID(users_id);
+			log.debug("argObject: 1 - " + argObject.getClass().getName());
+			@SuppressWarnings("unchecked")
+			LinkedHashMap<String, Object> argObjectMap = (LinkedHashMap<String, Object>) argObject;
+			log.debug("argObject: 2 - "
+					+ argObjectMap.get("organisations").getClass().getName());
+			@SuppressWarnings("unchecked")
+			List<Integer> organisations = (List<Integer>) argObjectMap
+					.get("organisations");
+			Long rooms_id = Long.valueOf(
+					argObjectMap.get("rooms_id").toString()).longValue();
+			log.debug("rooms_id " + rooms_id);
+
+			@SuppressWarnings("unchecked")
+			List<Map<String, Object>> roomModerators = (List<Map<String, Object>>) argObjectMap
+					.get("roomModerators");
+
+			Integer demoTime = null;
+			if (argObjectMap.get("demoTime").toString() != null
+					&& argObjectMap.get("demoTime").toString().length() > 0) {
+				demoTime = Integer.valueOf(
+						argObjectMap.get("demoTime").toString()).intValue();
+			}
+
+			if (rooms_id == 0) {
+				return roommanagement.addRoom(
+						User_level,
+						argObjectMap.get("name").toString(),
+						Long.valueOf(
+								argObjectMap.get("roomtypes_id").toString())
+								.longValue(),
+						argObjectMap.get("comment").toString(),
+						Long.valueOf(
+								argObjectMap.get("numberOfPartizipants")
+										.toString()).longValue(), Boolean
+								.valueOf(argObjectMap.get("ispublic")
+										.toString()), organisations, Boolean
+								.valueOf(argObjectMap.get("appointment")
+										.toString()), Boolean
+								.valueOf(argObjectMap.get("isDemoRoom")
+										.toString()), demoTime, Boolean
+								.valueOf(argObjectMap.get("isModeratedRoom")
+										.toString()), roomModerators, Boolean
+								.valueOf(argObjectMap.get("allowUserQuestions")
+										.toString()), Boolean
+								.valueOf(argObjectMap.get("isAudioOnly")
+										.toString()), Boolean
+								.valueOf(argObjectMap.get("isClosed")
+										.toString()),
+						argObjectMap.get("redirectURL").toString(),
+						argObjectMap.get("sipNumber").toString(), argObjectMap
+								.get("conferencePin").toString(),
+						Long.valueOf(argObjectMap.get("ownerId").toString())
+								.longValue(), Boolean.valueOf(argObjectMap.get(
+								"waitForRecording").toString()), Boolean
+								.valueOf(argObjectMap.get("allowRecording")
+										.toString()), Boolean
+								.valueOf(argObjectMap.get("hideTopBar")
+										.toString()), 
+								Boolean.valueOf(argObjectMap.get("hideChat").toString()),
+								Boolean.valueOf(argObjectMap.get("hideActivitiesAndActions").toString()),
+								Boolean.valueOf(argObjectMap.get("hideFilesExplorer").toString()),
+								Boolean.valueOf(argObjectMap.get("hideActionsMenu").toString()),
+								Boolean.valueOf(argObjectMap.get("hideScreenSharing").toString()),
+								Boolean.valueOf(argObjectMap.get("hideWhiteboard").toString()),
+								Boolean.valueOf(argObjectMap.get("showMicrophoneStatus").toString())
+						);
+			} else if (rooms_id > 0) {
+				return roommanagement
+						.updateRoom(
+								User_level,
+								rooms_id,
+								Long.valueOf(
+										argObjectMap.get("roomtypes_id")
+												.toString()).longValue(),
+								argObjectMap.get("name").toString(),
+								Boolean.valueOf(argObjectMap.get("ispublic")
+										.toString()),
+								argObjectMap.get("comment").toString(),
+								Long.valueOf(
+										argObjectMap
+												.get("numberOfPartizipants")
+												.toString()).longValue(),
+								organisations,
+								Boolean.valueOf(argObjectMap.get("appointment")
+										.toString()),
+								Boolean.valueOf(argObjectMap.get("isDemoRoom")
+										.toString()),
+								demoTime,
+								Boolean.valueOf(argObjectMap.get(
+										"isModeratedRoom").toString()),
+								roomModerators,
+								Boolean.valueOf(argObjectMap.get(
+										"allowUserQuestions").toString()),
+								Boolean.valueOf(argObjectMap.get("isAudioOnly")
+										.toString()),
+								Boolean.valueOf(argObjectMap.get("isClosed")
+										.toString()),
+								argObjectMap.get("redirectURL").toString(),
+								argObjectMap.get("sipNumber").toString(),
+								argObjectMap.get("conferencePin").toString(),
+								Long.valueOf(
+										argObjectMap.get("ownerId").toString())
+										.longValue(),
+								Boolean.valueOf(argObjectMap.get(
+										"waitForRecording").toString()),
+								Boolean.valueOf(argObjectMap.get(
+										"allowRecording").toString()), 
+								Boolean.valueOf(argObjectMap.get("hideTopBar").toString()),
+								Boolean.valueOf(argObjectMap.get("hideChat").toString()),
+								Boolean.valueOf(argObjectMap.get("hideActivitiesAndActions").toString()),
+								Boolean.valueOf(argObjectMap.get("hideFilesExplorer").toString()),
+								Boolean.valueOf(argObjectMap.get("hideActionsMenu").toString()),
+								Boolean.valueOf(argObjectMap.get("hideScreenSharing").toString()),
+								Boolean.valueOf(argObjectMap.get("hideWhiteboard").toString()),
+								Boolean.valueOf(argObjectMap.get("showMicrophoneStatus").toString())
+								);
+												
+			}
+
+		} catch (Exception e) {
+			log.error("saveOrUpdateRoom", e);
+		}
+		return null;
+	}
+
+	public List<RoomModerators> getRoomModeratorsByRoomId(String SID,
+			Long roomId) {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				return roomModeratorsDao.getRoomModeratorByRoomId(roomId);
+
+			}
+
+		} catch (Exception err) {
+			log.error("[getRoomModeratorsByRoomId]", err);
+			err.printStackTrace();
+		}
+
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param SID
+	 * @param rooms_id
+	 * @return
+	 */
+	public Long deleteRoom(String SID, long rooms_id) {
+		Long users_id = sessionManagement.checkSession(SID);
+		long user_level = userManagement.getUserLevelByID(users_id);
+		return roommanagement.deleteRoomById(user_level, rooms_id);
+	}
+	
+	/**
+	 * return all participants of a room
+	 * 
+	 * @param room_id
+	 * @return
+	 */
+	public boolean isRoomFull(Long room_id) {
+		try {
+			Rooms room = roommanagement.getRoomById(room_id);
+			
+			if (room.getNumberOfPartizipants() <= this.clientListManager
+					.getClientListByRoom(room_id).size()) {
+				return true;
+			}
+			
+			return false;
+		} catch (Exception err) {
+			log.error("[isRoomFull]", err);
+		}
+		return true;
+	}
+
+	/**
+	 * return all participants of a room
+	 * 
+	 * @param room_id
+	 * @return
+	 */
+	public List<RoomClient> getRoomClientsListByRoomId(Long room_id) {
+		log.debug("getRoomClientsListByRoomId");
+		try {
+			LinkedList<RoomClient> clients = new LinkedList<RoomClient>();
+			HashMap<String, RoomClient> clientList = clientListManager
+					.getClientListByRoom(room_id);
+			for (Iterator<String> iter = clientList.keySet().iterator(); iter
+					.hasNext();) {
+				RoomClient rcl = clientList.get(iter.next());
+				clients.add(rcl);
+			}
+			return clients;
+		} catch (Exception err) {
+			log.error("[getRoomClientsListByRoomId]", err);
+		}
+		return null;
+	}
+
+	public HashMap<String, RoomClient> getRoomClientsMapByRoomId(Long room_id) {
+		try {
+			// log.error("getRoomClientsListByRoomId: "+room_id);
+			return this.clientListManager.getClientListByRoom(room_id);
+		} catch (Exception err) {
+			log.error("[getRoomClientsMapByRoomId]", err);
+		}
+		return null;
+	}
+
+	public SearchResult<RoomClient> getRoomClientsMap(String SID, int start, int max,
+			String orderby, boolean asc) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				return this.clientListManager.getListByStartAndMax(start, max,
+						orderby, asc);
+			}
+		} catch (Exception err) {
+			log.error("[getRoomClientsMap]", err);
+		}
+		return null;
+	}
+
+	public List<Rooms> getRoomsWithCurrentUsersByList(String SID, int start,
+			int max, String orderby, boolean asc) {
+		log.debug("getRooms");
+
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		return roommanagement.getRoomsWithCurrentUsersByList(user_level, start,
+				max, orderby, asc);
+	}
+
+	public List<Rooms> getRoomsWithCurrentUsersByListAndType(String SID,
+			int start, int max, String orderby, boolean asc,
+			String externalRoomType) {
+		log.debug("getRooms");
+
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		return roommanagement.getRoomsWithCurrentUsersByListAndType(user_level,
+				start, max, orderby, asc, externalRoomType);
+	}
+
+	public Rooms getRoomByOwnerAndType(String SID, Long roomtypesId,
+			String roomName) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		if (authLevelManagement.checkUserLevel(user_level)) {
+			return roommanagement.getRoomByOwnerAndTypeId(users_id,
+					roomtypesId, roomName);
+		}
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/app/remote/ConfigurationService.java b/src/org/openmeetings/app/remote/ConfigurationService.java
new file mode 100644
index 0000000..c887870
--- /dev/null
+++ b/src/org/openmeetings/app/remote/ConfigurationService.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote;
+
+import java.util.LinkedHashMap;
+
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.beans.basic.SearchResult;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.persistence.beans.basic.Configuration;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 
+ * @author swagner
+ *
+ */
+public class ConfigurationService {
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private Configurationmanagement cfgManagement;
+    @Autowired
+    private Usermanagement userManagement;
+	
+	/*
+	 * Configuration Handlers
+	 */    
+    public SearchResult<Configuration> getAllConf(String SID, int start ,int max, String orderby, boolean asc){
+        Long users_id = sessionManagement.checkSession(SID);
+        Long user_level = userManagement.getUserLevelByID(users_id);     	
+        return cfgManagement.getAllConf(user_level, start, max, orderby, asc);
+    }
+    
+    public Configuration getConfByConfigurationId(String SID,long configuration_id){
+        Long users_id = sessionManagement.checkSession(SID);
+        Long user_level = userManagement.getUserLevelByID(users_id);     	
+        return cfgManagement.getConfByConfigurationId(user_level,configuration_id);
+    }
+    
+    public Long saveOrUpdateConfiguration(String SID, LinkedHashMap<String, ?> values){
+        Long users_id = sessionManagement.checkSession(SID);
+        Long user_level = userManagement.getUserLevelByID(users_id);     	
+        return cfgManagement.saveOrUpdateConfiguration(user_level, values, users_id);
+    }
+    
+    public Long deleteConfiguration(String SID, LinkedHashMap<String, ?> values){
+        Long users_id = sessionManagement.checkSession(SID);
+        Long user_level = userManagement.getUserLevelByID(users_id);     	
+        return cfgManagement.deleteConfByConfiguration(user_level, values, users_id);
+    }
+	    
+}
diff --git a/src/org/openmeetings/app/remote/ContactService.java b/src/org/openmeetings/app/remote/ContactService.java
new file mode 100644
index 0000000..8cfa723
--- /dev/null
+++ b/src/org/openmeetings/app/remote/ContactService.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote;
+
+
+/**
+ * 
+ * @author swagner
+ *
+ */
+public class ContactService {
+	
+
+}
diff --git a/src/org/openmeetings/app/remote/DocumentService.java b/src/org/openmeetings/app/remote/DocumentService.java
new file mode 100644
index 0000000..7757ef2
--- /dev/null
+++ b/src/org/openmeetings/app/remote/DocumentService.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote;
+
+import java.util.List;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+/**
+ * 
+ * @author swagner
+ * 
+ */
+public class DocumentService {
+
+	@SuppressWarnings("unused")
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			DocumentService.class, OpenmeetingsVariables.webAppRootKey);
+
+	public List<?> getUserFiles(String SID, String parentFolder) {
+
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/app/remote/ErrorService.java b/src/org/openmeetings/app/remote/ErrorService.java
new file mode 100644
index 0000000..6204279
--- /dev/null
+++ b/src/org/openmeetings/app/remote/ErrorService.java
@@ -0,0 +1,89 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.ErrorManagement;
+import org.openmeetings.app.data.basic.Fieldmanagment;
+import org.openmeetings.app.data.beans.basic.ErrorResult;
+import org.openmeetings.app.persistence.beans.basic.ErrorValues;
+import org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 
+ * @author swagner
+ * 
+ */
+public class ErrorService {
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			ErrorService.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private Fieldmanagment fieldmanagment;
+	@Autowired
+	private ErrorManagement errorManagement;
+
+	/**
+	 * Gets an Error-Object by its id TODO: add error-code-handlers -20
+	 * duplicate FileName -21 FileName too short (length = 0) and make the
+	 * persistent in the DataBase
+	 * 
+	 * @param SID
+	 * @param errorid
+	 * @return
+	 */
+	public ErrorResult getErrorByCode(String SID, Long errorid, Long language_id) {
+		// Long users_id = Sessionmanagement.getInstance().checkSession(SID);
+		// long user_level =
+		// Usermanagement.getInstance().getUserLevelByID(users_id);
+
+		if (errorid < 0) {
+			log.debug("errorid, language_id: " + errorid + "|" + language_id);
+			ErrorValues eValues = errorManagement.getErrorValuesById(-1
+					* errorid);
+			if (eValues != null) {
+				log.debug("eValues.getFieldvalues_id() = " + eValues.getFieldvalues_id());
+				// log.debug(eValues.getFieldvalues().getFieldvalues_id());
+				log.debug("eValues.getErrorType() = " + errorManagement.getErrorType(eValues.getErrortype_id()));
+				// log.debug(eValues.getErrorType().getErrortype_id());
+				// log.debug(eValues.getErrorType().getFieldvalues());
+				// log.debug(eValues.getErrorType().getFieldvalues().getFieldvalues_id());
+				Fieldlanguagesvalues errorValue = fieldmanagment
+						.getFieldByIdAndLanguage(eValues.getFieldvalues_id(),
+								language_id);
+				Fieldlanguagesvalues typeValue = fieldmanagment
+						.getFieldByIdAndLanguage(errorManagement.getErrorType(eValues.getErrortype_id())
+								.getFieldvalues_id(), language_id);
+				if (errorValue != null) {
+					return new ErrorResult(errorid, errorValue.getValue(),
+							typeValue.getValue());
+				}
+			}
+		} else {
+			return new ErrorResult(errorid,
+					"Error ... please check your input", "Error");
+		}
+
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/app/remote/FLVRecorderService.java b/src/org/openmeetings/app/remote/FLVRecorderService.java
new file mode 100644
index 0000000..74172d5
--- /dev/null
+++ b/src/org/openmeetings/app/remote/FLVRecorderService.java
@@ -0,0 +1,1069 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote;
+
+import java.io.File;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.conference.session.RoomClient;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.conference.Roommanagement;
+import org.openmeetings.app.data.flvrecord.FlvRecordingDaoImpl;
+import org.openmeetings.app.data.flvrecord.FlvRecordingLogDaoImpl;
+import org.openmeetings.app.data.flvrecord.FlvRecordingMetaDataDaoImpl;
+import org.openmeetings.app.data.flvrecord.FlvRecordingMetaDeltaDaoImpl;
+import org.openmeetings.app.data.flvrecord.beans.FLVRecorderObject;
+import org.openmeetings.app.data.flvrecord.converter.FlvInterviewConverterTask;
+import org.openmeetings.app.data.flvrecord.converter.FlvInterviewReConverterTask;
+import org.openmeetings.app.data.flvrecord.converter.FlvRecorderConverterTask;
+import org.openmeetings.app.data.flvrecord.listener.BaseStreamListener;
+import org.openmeetings.app.data.flvrecord.listener.StreamAudioListener;
+import org.openmeetings.app.data.flvrecord.listener.StreamVideoListener;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecording;
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingLog;
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaData;
+import org.openmeetings.app.remote.red5.ClientListManager;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.utils.math.CalendarPatterns;
+import org.red5.logging.Red5LoggerFactory;
+import org.red5.server.api.IConnection;
+import org.red5.server.api.Red5;
+import org.red5.server.api.scope.IScope;
+import org.red5.server.api.service.IPendingServiceCall;
+import org.red5.server.api.service.IPendingServiceCallback;
+import org.red5.server.api.service.IServiceCapableConnection;
+import org.red5.server.api.stream.IStreamListener;
+import org.red5.server.stream.ClientBroadcastStream;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class FLVRecorderService implements IPendingServiceCallback {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			FLVRecorderService.class, OpenmeetingsVariables.webAppRootKey);
+	
+	/**
+	 * Stores a reference to all available listeners
+	 * we need that reference, as the internal references stored 
+	 * with the red5 stream object might be gone when the user 
+	 * closes the browser.
+	 * But each listener has an asynchronous component that needs to be closed 
+	 * no matter how the user leaves the application!
+	 */
+	private static final Map<Long,BaseStreamListener> streamListeners = new HashMap<Long,BaseStreamListener>();
+
+	// Spring Beans
+	@Autowired
+	private ClientListManager clientListManager;
+	@Autowired
+	private FlvRecordingDaoImpl flvRecordingDaoImpl;
+	@Autowired
+	private FlvRecordingMetaDataDaoImpl flvRecordingMetaDataDao;
+	@Autowired
+	private UsersDaoImpl usersDaoImpl;
+	@Autowired
+	private Roommanagement roommanagement;
+	@Autowired
+	private FlvRecorderConverterTask flvRecorderConverterTask;
+	@Autowired
+	private FlvInterviewConverterTask flvInterviewConverterTask;
+	@Autowired
+	private FlvInterviewReConverterTask flvInterviewReConverterTask;
+	@Autowired
+	private FlvRecordingLogDaoImpl flvRecordingLogDaoImpl;
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private ScopeApplicationAdapter scopeApplicationAdapter;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+	@Autowired
+	private FlvRecordingMetaDeltaDaoImpl flvRecordingMetaDeltaDao;
+	@Autowired
+	private FlvRecordingMetaDataDaoImpl flvRecordingMetaDataDaoImpl = null;
+
+	public void resultReceived(IPendingServiceCall arg0) {
+	}
+
+	public RoomClient checkForRecording() {
+		try {
+
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+
+			log.debug("getCurrentRoomClient -2- " + streamid);
+
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+
+			HashMap<String, RoomClient> roomClientList = this.clientListManager
+					.getClientListByRoom(currentClient.getRoom_id());
+
+			for (Iterator<String> iter = roomClientList.keySet().iterator(); iter
+					.hasNext();) {
+
+				RoomClient rcl = roomClientList.get(iter.next());
+
+				if (rcl.getIsRecording()) {
+
+					return rcl;
+
+				}
+
+			}
+
+			return null;
+
+		} catch (Exception err) {
+			err.printStackTrace();
+			log.error("[checkForRecording]", err);
+		}
+		return null;
+	}
+
+	private static String generateFileName(Long flvRecording_id, String streamid)
+			throws Exception {
+		String dateString = CalendarPatterns
+				.getTimeForStreamId(new java.util.Date());
+		return "rec_" + flvRecording_id + "_stream_" + streamid + "_"
+				+ dateString;
+
+	}
+
+	public String recordMeetingStream(String roomRecordingName, String comment,
+			Boolean isInterview) {
+		try {
+			
+			log.debug(":: recordMeetingStream ::");
+
+			IConnection current = Red5.getConnectionLocal();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(current.getClient().getId());
+			Long room_id = currentClient.getRoom_id();
+
+			Date now = new Date();
+
+			// Receive flvRecordingId
+			Long flvRecordingId = this.flvRecordingDaoImpl.addFlvRecording("",
+					roomRecordingName, null, currentClient.getUser_id(),
+					room_id, now, null, currentClient.getUser_id(), comment,
+					currentClient.getStreamid(), currentClient.getVWidth(),
+					currentClient.getVHeight(), isInterview);
+
+			// Update Client and set Flag
+			currentClient.setIsRecording(true);
+			currentClient.setFlvRecordingId(flvRecordingId);
+			this.clientListManager.updateClientByStreamId(current.getClient()
+					.getId(), currentClient);
+
+			// get all stream and start recording them
+			Collection<Set<IConnection>> conCollection = current.getScope()
+					.getConnections();
+			for (Set<IConnection> conset : conCollection) {
+				for (IConnection conn : conset) {
+					if (conn != null) {
+						if (conn instanceof IServiceCapableConnection) {
+							RoomClient rcl = this.clientListManager
+									.getClientByStreamId(conn.getClient()
+											.getId());
+
+							// Send every user a notification that the recording did start
+							if (!rcl.getIsAVClient()) {
+								((IServiceCapableConnection) conn).invoke(
+										"startedRecording",
+										new Object[] { currentClient }, this);
+							}
+
+							// If its the recording client we need another type
+							// of Meta Data
+							if (rcl.getIsScreenClient()) {
+
+								if (rcl.getFlvRecordingId() != null
+										&& rcl.isScreenPublishStarted()) {
+
+									String streamName_Screen = generateFileName(
+											flvRecordingId, rcl
+													.getStreamPublishName()
+													.toString());
+
+									Long flvRecordingMetaDataId = this.flvRecordingMetaDataDao
+											.addFlvRecordingMetaData(
+													flvRecordingId,
+													rcl.getFirstname() + " "
+															+ rcl.getLastname(),
+													now, false, false, true,
+													streamName_Screen,
+													rcl.getInterviewPodId());
+
+									// Start FLV Recording
+									recordShow(conn,
+											rcl.getStreamPublishName(),
+											streamName_Screen,
+											flvRecordingMetaDataId, true,
+											isInterview);
+
+									// Add Meta Data
+									rcl.setFlvRecordingMetaDataId(flvRecordingMetaDataId);
+
+									this.clientListManager
+											.updateClientByStreamId(
+													rcl.getStreamid(), rcl);
+
+								}
+
+							} else if
+							// if the user does publish av, a, v
+							// But we only record av or a, video only is not
+							// interesting
+							(rcl.getIsAVClient() &&
+									(rcl.getAvsettings().equals("av")
+									|| rcl.getAvsettings().equals("a")
+									|| rcl.getAvsettings().equals("v"))) {
+
+								String streamName = generateFileName(
+										flvRecordingId,
+										String.valueOf(rcl.getBroadCastID())
+												.toString());
+
+								// Add Meta Data
+								boolean isAudioOnly = false;
+								if (rcl.getAvsettings().equals("a")) {
+									isAudioOnly = true;
+								}
+
+								boolean isVideoOnly = false;
+								if (rcl.getAvsettings().equals("v")) {
+									isVideoOnly = true;
+								}
+
+								Long flvRecordingMetaDataId = this.flvRecordingMetaDataDao
+										.addFlvRecordingMetaData(
+												flvRecordingId,
+												rcl.getFirstname() + " "
+														+ rcl.getLastname(),
+												now, isAudioOnly, isVideoOnly,
+												false, streamName,
+												rcl.getInterviewPodId());
+
+								rcl.setFlvRecordingMetaDataId(flvRecordingMetaDataId);
+
+								this.clientListManager.updateClientByStreamId(
+										rcl.getStreamid(), rcl);
+
+								// Start FLV recording
+								recordShow(conn,
+										String.valueOf(rcl.getBroadCastID())
+												.toString(), streamName,
+										flvRecordingMetaDataId, false,
+										isInterview);
+
+							}
+
+						}
+					}
+				}
+			}
+
+			return roomRecordingName;
+
+		} catch (Exception err) {
+			log.error("[recordMeetingStream]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * Start recording the published stream for the specified broadcast-Id
+	 * 
+	 * @param conn
+	 * @param broadcastid
+	 * @param streamName
+	 * @param flvRecordingMetaDataId
+	 * @throws Exception
+	 */
+	private synchronized void recordShow(IConnection conn, String broadcastid,
+			String streamName, Long flvRecordingMetaDataId,
+			boolean isScreenData, Boolean isInterview) throws Exception {
+		try {
+			log.debug("Recording show for: " + conn.getScope().getContextPath());
+			log.debug("Name of CLient and Stream to be recorded: "
+					+ broadcastid);
+			// log.debug("Application.getInstance()"+Application.getInstance());
+			log.debug("Scope " + conn);
+			log.debug("Scope " + conn.getScope());
+			// Get a reference to the current broadcast stream.
+			ClientBroadcastStream stream = (ClientBroadcastStream) scopeApplicationAdapter
+					.getBroadcastStream(conn.getScope(), broadcastid);
+
+			if (stream == null) {
+				log.debug("Unable to get stream: " + streamName);
+				return;
+			}
+			// Save the stream to disk.
+			if (isScreenData) {
+				
+				StreamVideoListener streamScreenListener = new StreamVideoListener(streamName,
+																		conn.getScope(), flvRecordingMetaDataId, isScreenData,
+																		isInterview, flvRecordingMetaDataDao);
+				
+				streamListeners.put(flvRecordingMetaDataId, streamScreenListener);
+				
+				stream.addStreamListener(streamScreenListener);
+			} else {
+
+				log.debug("### stream " + stream);
+				log.debug("### streamName " + streamName);
+				log.debug("### conn.getScope() " + conn.getScope());
+				log.debug("### flvRecordingMetaDataId "
+						+ flvRecordingMetaDataId);
+				log.debug("### isScreenData " + isScreenData);
+				log.debug("### isInterview " + isInterview);
+
+				StreamAudioListener streamAudioListener = new StreamAudioListener(streamName,
+																	conn.getScope(), flvRecordingMetaDataId, isScreenData,
+																	isInterview, flvRecordingMetaDeltaDao, flvRecordingMetaDataDao);
+
+				streamListeners.put(flvRecordingMetaDataId, streamAudioListener);
+
+				stream.addStreamListener(streamAudioListener);
+			}
+			// Just for Debug Purpose
+			// stream.saveAs(streamName+"_DEBUG", false);
+		} catch (Exception e) {
+			log.error("Error while saving stream: " + streamName, e);
+		}
+	}
+
+	/**
+	 * Stops recording the publishing stream for the specified IConnection.
+	 * 
+	 * @param conn
+	 */
+	public synchronized void stopRecordingShow(IConnection conn, String broadcastId,
+			Long flvRecordingMetaDataId) {
+		try {
+			
+			if (flvRecordingMetaDataId == null) {
+				//this should be fixed, can be useful for debugging, after all this is an error
+				//but we don't want the application to completely stop the process
+				log.error("flvRecordingMetaDataId is null");
+			}
+
+			log.debug("** stopRecordingShow: " + conn);
+			log.debug("### Stop recording show for broadcastId: " + broadcastId
+					+ " || " + conn.getScope().getContextPath());
+
+			Object streamToClose = scopeApplicationAdapter.getBroadcastStream(
+					conn.getScope(), broadcastId);
+
+			BaseStreamListener listenerAdapter = streamListeners.get(flvRecordingMetaDataId);
+			
+			log.debug("Stream Closing :: " + flvRecordingMetaDataId);
+			
+			ClientBroadcastStream stream = (ClientBroadcastStream) streamToClose;
+
+			//the stream can be null if the user just closes the browser 
+			//without canceling the recording before leaving
+			if (stream != null) {
+				//Iterate through all stream listeners and stop the appropriate
+				if (stream.getStreamListeners() != null) {
+	
+					for (IStreamListener iStreamListener : stream
+							.getStreamListeners()) {
+						stream.removeStreamListener(iStreamListener);
+					}
+				}
+			}
+			
+			if (listenerAdapter == null) {
+				
+				log.debug("Stream Not Found :: " + flvRecordingMetaDataId);
+				log.debug("Available Streams :: "+streamListeners.size());
+				
+				for (Long entryKey : streamListeners.keySet()) {
+					log.debug("Stored flvRecordingMetaDataId in Map: "+ entryKey);
+				}
+				
+				//Manually call finish on the stream so that there is no endless loop waiting  
+				//in the FlvRecorderConverter waiting for the stream to finish
+				//this would normally happen in the Listener
+				FlvRecordingMetaData flvRecordingMetaData = flvRecordingMetaDataDaoImpl.
+							getFlvRecordingMetaDataById(flvRecordingMetaDataId);
+				flvRecordingMetaData.setStreamReaderThreadComplete(true);
+				flvRecordingMetaDataDaoImpl.updateFlvRecordingMetaData(flvRecordingMetaData);
+				
+				throw new IllegalStateException("Could not find Listener to stop! flvRecordingMetaDataId "+flvRecordingMetaDataId);
+			}
+			
+			listenerAdapter.closeStream();
+			streamListeners.remove(flvRecordingMetaDataId);
+			
+
+		} catch (Exception err) {
+			log.error("[stopRecordingShow]", err);
+		}
+	}
+
+	public Long stopRecordAndSave(IScope scope, RoomClient currentClient,
+			Long storedFlvRecordingId) {
+		try {
+			log.debug("stopRecordAndSave " + currentClient.getUsername() + ","
+					+ currentClient.getUserip());
+
+			// get all stream and stop recording them
+			Collection<Set<IConnection>> conCollection = scope.getConnections();
+			for (Set<IConnection> conset : conCollection) {
+				for (IConnection conn : conset) {
+					if (conn != null) {
+						if (conn instanceof IServiceCapableConnection) {
+
+							RoomClient rcl = clientListManager.getClientByStreamId(
+											conn.getClient().getId());
+
+							// FIXME: Check if this function is really in use at
+							// the moment
+							// if (!rcl.getIsScreenClient()) {
+							// ((IServiceCapableConnection)
+							// conn).invoke("stoppedRecording",new Object[] {
+							// currentClient }, this);
+							// }
+
+							log.debug("is this users still alive? stop it :" + rcl);
+
+							if (rcl.getIsScreenClient()) {
+
+								if (rcl.getFlvRecordingId() != null
+										&& rcl.isScreenPublishStarted()) {
+
+									// Stop FLV Recording
+									stopRecordingShow(conn,
+											rcl.getStreamPublishName(),
+											rcl.getFlvRecordingMetaDataId());
+
+									// Update Meta Data
+									this.flvRecordingMetaDataDao
+											.updateFlvRecordingMetaDataEndDate(
+													rcl.getFlvRecordingMetaDataId(),
+													new Date());
+								}
+
+							} else if (rcl.getIsAVClient()
+									&& (rcl.getAvsettings().equals("av")
+									|| rcl.getAvsettings().equals("a")
+									|| rcl.getAvsettings().equals("v"))) {
+
+								stopRecordingShow(conn,
+										String.valueOf(rcl.getBroadCastID())
+												.toString(),
+										rcl.getFlvRecordingMetaDataId());
+
+								// Update Meta Data
+								this.flvRecordingMetaDataDao
+										.updateFlvRecordingMetaDataEndDate(
+												rcl.getFlvRecordingMetaDataId(),
+												new Date());
+
+							}
+
+						}
+					}
+				}
+			}
+
+			// Store to database
+			Long flvRecordingId = currentClient.getFlvRecordingId();
+
+			// In the Case of an Interview the stopping client does not mean
+			// that its actually the recording client
+			if (storedFlvRecordingId != null) {
+				flvRecordingId = storedFlvRecordingId;
+			}
+
+			if (flvRecordingId != null) {
+
+				this.flvRecordingDaoImpl.updateFlvRecordingEndTime(
+						flvRecordingId, new Date(),
+						currentClient.getOrganization_id());
+
+				// Reset values
+				currentClient.setFlvRecordingId(null);
+				currentClient.setIsRecording(false);
+
+				this.clientListManager.updateClientByStreamId(
+						currentClient.getStreamid(), currentClient);
+
+				log.debug("this.flvRecorderConverterTask ",
+						this.flvRecorderConverterTask);
+
+				FlvRecording flvRecording = this.flvRecordingDaoImpl
+						.getFlvRecordingById(flvRecordingId);
+
+				if (flvRecording.getIsInterview() == null
+						|| !flvRecording.getIsInterview()) {
+
+					this.flvRecorderConverterTask
+							.startConversionThread(flvRecordingId);
+
+				} else {
+
+					this.flvInterviewConverterTask
+							.startConversionThread(flvRecordingId);
+
+				}
+
+			}
+
+		} catch (Exception err) {
+
+			log.error("[-- stopRecordAndSave --]", err);
+		}
+		return new Long(-1);
+	}
+
+	public RoomClient checkLzRecording() {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+
+			log.debug("getCurrentRoomClient -2- " + streamid);
+
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+
+			log.debug("getCurrentRoomClient -#########################- "
+					+ currentClient.getRoom_id());
+
+			HashMap<String, RoomClient> roomList = this.clientListManager
+					.getClientListByRoomAll(currentClient.getRoom_id());
+
+			for (Iterator<String> iter = roomList.keySet().iterator(); iter
+					.hasNext();) {
+
+				RoomClient rcl = roomList.get(iter.next());
+
+				if (rcl.getIsRecording()) {
+					return rcl;
+				}
+
+			}
+
+		} catch (Exception err) {
+			log.error("[checkLzRecording]", err);
+		}
+		return null;
+	}
+
+	public void stopRecordingShowForClient(IConnection conn, RoomClient rcl) {
+		try {
+			// this cannot be handled here, as to stop a stream and to leave a
+			// room is not
+			// the same type of event.
+			// StreamService.addRoomClientEnterEventFunc(rcl, roomrecordingName,
+			// rcl.getUserip(), false);
+			log.debug("### stopRecordingShowForClient: " + rcl);
+
+			if (rcl.getIsScreenClient()) {
+
+				if (rcl.getFlvRecordingId() != null
+						&& rcl.isScreenPublishStarted()) {
+
+					// Stop FLV Recording
+					// FIXME: Is there really a need to stop it manually if the
+					// user just
+					// stops the stream?
+					stopRecordingShow(conn, rcl.getStreamPublishName(),
+							rcl.getFlvRecordingMetaDataId());
+
+					// Update Meta Data
+					this.flvRecordingMetaDataDao
+							.updateFlvRecordingMetaDataEndDate(
+									rcl.getFlvRecordingMetaDataId(), new Date());
+				}
+
+			} else if (rcl.getIsAVClient() &&
+					(rcl.getAvsettings().equals("a")
+					|| rcl.getAvsettings().equals("v") 
+					|| rcl.getAvsettings().equals("av"))) {
+
+				// FIXME: Is there really a need to stop it manually if the user
+				// just stops the stream?
+				stopRecordingShow(conn, String.valueOf(rcl.getBroadCastID()),
+						rcl.getFlvRecordingMetaDataId());
+
+				// Update Meta Data
+				this.flvRecordingMetaDataDao
+						.updateFlvRecordingMetaDataEndDate(
+								rcl.getFlvRecordingMetaDataId(), new Date());
+			}
+
+		} catch (Exception err) {
+			log.error("[stopRecordingShowForClient]", err);
+		}
+	}
+
+	public void addRecordingByStreamId(IConnection conn, String streamId,
+			RoomClient rcl, Long flvRecordingId) {
+		try {
+
+			FlvRecording flvRecording = this.flvRecordingDaoImpl
+					.getFlvRecordingById(flvRecordingId);
+
+			Date now = new Date();
+
+			// If its the recording client we need another type of Meta Data
+			if (rcl.getIsScreenClient()) {
+
+				if (rcl.getFlvRecordingId() != null
+						&& rcl.isScreenPublishStarted()) {
+
+					String streamName_Screen = generateFileName(flvRecordingId,
+							rcl.getStreamPublishName().toString());
+
+					log.debug("##############  ADD SCREEN OF SHARER :: "
+							+ rcl.getStreamPublishName());
+
+					Long flvRecordingMetaDataId = this.flvRecordingMetaDataDao
+							.addFlvRecordingMetaData(
+									flvRecordingId,
+									rcl.getFirstname() + " "
+											+ rcl.getLastname(), now, false,
+									false, true, streamName_Screen,
+									rcl.getInterviewPodId());
+
+					// Start FLV Recording
+					recordShow(conn, rcl.getStreamPublishName(),
+							streamName_Screen, flvRecordingMetaDataId, true,
+							flvRecording.getIsInterview());
+
+					// Add Meta Data
+					rcl.setFlvRecordingMetaDataId(flvRecordingMetaDataId);
+
+					this.clientListManager.updateClientByStreamId(
+							rcl.getStreamid(), rcl);
+
+				}
+
+			} else if
+			// if the user does publish av, a, v
+			// But we only record av or a, video only is not interesting
+			(rcl.getIsAVClient() && 
+					(rcl.getAvsettings().equals("av")
+					|| rcl.getAvsettings().equals("a")
+					|| rcl.getAvsettings().equals("v"))) {
+
+				String streamName = generateFileName(flvRecordingId, String
+						.valueOf(rcl.getBroadCastID()).toString());
+
+				// Add Meta Data
+				boolean isAudioOnly = false;
+				if (rcl.getAvsettings().equals("a")) {
+					isAudioOnly = true;
+				}
+				boolean isVideoOnly = false;
+				if (rcl.getAvsettings().equals("v")) {
+					isVideoOnly = true;
+				}
+
+				Long flvRecordingMetaDataId = this.flvRecordingMetaDataDao
+						.addFlvRecordingMetaData(flvRecordingId,
+								rcl.getFirstname() + " " + rcl.getLastname(),
+								now, isAudioOnly, isVideoOnly, false,
+								streamName, rcl.getInterviewPodId());
+
+				// Start FLV recording
+				recordShow(conn, String.valueOf(rcl.getBroadCastID())
+						.toString(), streamName, flvRecordingMetaDataId, false,
+						flvRecording.getIsInterview());
+
+				rcl.setFlvRecordingMetaDataId(flvRecordingMetaDataId);
+
+				this.clientListManager.updateClientByStreamId(
+						rcl.getStreamid(), rcl);
+
+			}
+
+		} catch (Exception err) {
+			log.error("[addRecordingByStreamId]", err);
+		}
+	}
+
+	public FlvRecording getFlvRecordingWithMetaData(String SID,
+			Long flvRecordingId) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				FlvRecording flvRecording = this.flvRecordingDaoImpl
+						.getFlvRecordingById(flvRecordingId);
+
+				flvRecording
+						.setFlvRecordingMetaData(this.flvRecordingMetaDataDao
+								.getFlvRecordingMetaDataByRecording(flvRecordingId));
+
+				if (flvRecording.getInsertedBy() != null) {
+					flvRecording.setCreator(this.usersDaoImpl
+							.getUser(flvRecording.getInsertedBy()));
+				}
+
+				if (flvRecording.getRoom_id() != null) {
+					flvRecording.setRoom(this.roommanagement
+							.getRoomById(flvRecording.getRoom_id()));
+				}
+
+				flvRecording.setFlvRecordingLog(this.flvRecordingLogDaoImpl
+						.getFLVRecordingLogByRecordingId(flvRecordingId));
+
+				return flvRecording;
+
+			}
+		} catch (Exception err) {
+			log.error("[getFlvRecordingWithMetaData] ", err);
+			err.printStackTrace();
+		}
+		return null;
+	}
+
+	public List<FlvRecordingLog> getFlvRecordingLog(String SID,
+			Long flvRecordingId) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				return this.flvRecordingLogDaoImpl
+						.getFLVRecordingLogByRecordingId(flvRecordingId);
+
+			}
+		} catch (Exception err) {
+			log.error("[getFlvRecordingLog] ", err);
+			err.printStackTrace();
+		}
+		return null;
+	}
+
+	public Long deleteFLVOrFolder(String SID, Long flvRecordingId) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			System.out.println("deleteFLVOrFolder " + flvRecordingId);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				log.debug("deleteFLVOrFolder " + flvRecordingId);
+
+				this.flvRecordingDaoImpl.deleteFlvRecording(flvRecordingId);
+
+				return flvRecordingId;
+			}
+		} catch (Exception err) {
+			log.error("[deleteFLVOrFolder] ", err);
+		}
+		return null;
+	}
+
+	public List<FlvRecording> getFLVExplorerByParent(String SID,
+			Long parentFileExplorerItemId, Boolean isOwner) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				log.debug("parentFileExplorerItemId "
+						+ parentFileExplorerItemId);
+
+				if (parentFileExplorerItemId == 0) {
+					if (isOwner) {
+
+						return this.flvRecordingDaoImpl.getFlvRecordingByOwner(
+								users_id, parentFileExplorerItemId);
+
+					} else {
+
+						return this.flvRecordingDaoImpl
+								.getFlvRecordingsPublic();
+
+					}
+				} else {
+
+					return this.flvRecordingDaoImpl
+							.getFlvRecordingByParent(parentFileExplorerItemId);
+				}
+
+			}
+		} catch (Exception err) {
+			log.error("[getFLVExplorerByParent] ", err);
+		}
+		return null;
+	}
+
+	public Long addFolder(String SID, Long parentFileExplorerItemId,
+			String fileName, Boolean isOwner, Long organization_id) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				log.debug("addFolder " + parentFileExplorerItemId);
+
+				if (parentFileExplorerItemId == 0 && isOwner) {
+
+					return this.flvRecordingDaoImpl.addFlvFolderRecording("",
+							fileName, null, // FileSize
+							users_id, null, null, null, // Long room_id, Date
+														// recordStart, Date
+														// recordEnd
+							users_id, // OwnerID => only set if its directly
+										// root in Owner Directory, other
+										// Folders and Files
+							// maybe are also in a Home directory but just
+							// because their parent is
+							"", parentFileExplorerItemId, organization_id);
+
+				} else {
+
+					return this.flvRecordingDaoImpl.addFlvFolderRecording("",
+							fileName, null, // FileSize
+							users_id, null, null, null, // Long room_id, Date
+														// recordStart, Date
+														// recordEnd
+							null, // OwnerID => only set if its directly root in
+									// Owner Directory, other Folders and Files
+							// maybe are also in a Home directory but just
+							// because their parent is
+							"", parentFileExplorerItemId, organization_id);
+
+				}
+
+			}
+		} catch (Exception err) {
+			log.error("[addFolder] ", err);
+		}
+		return null;
+	}
+
+	public Long moveFile(String SID, Long flvRecordingId,
+			Long newParentFileExplorerItemId, Boolean isOwner,
+			Boolean moveToHome) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				log.debug("moveFile " + flvRecordingId);
+
+				this.flvRecordingDaoImpl.moveFile(flvRecordingId,
+						newParentFileExplorerItemId, isOwner, users_id);
+
+				FlvRecording flvRecording = this.flvRecordingDaoImpl
+						.getFlvRecordingById(flvRecordingId);
+
+				if (moveToHome) {
+					// set this file and all subfiles and folders the ownerId
+					this.setFileToOwnerOrRoomByParent(flvRecording, users_id);
+
+				} else {
+					// set this file and all subfiles and folders the room_id
+					this.setFileToOwnerOrRoomByParent(flvRecording, null);
+
+				}
+			}
+		} catch (Exception err) {
+			log.error("[moveFile] ", err);
+		}
+		return null;
+	}
+
+	private void setFileToOwnerOrRoomByParent(FlvRecording flvRecording,
+			Long usersId) {
+		try {
+
+			flvRecording.setOwnerId(usersId);
+
+			this.flvRecordingDaoImpl.updateFlvRecording(flvRecording);
+
+			List<FlvRecording> subFLVItems = this.flvRecordingDaoImpl
+					.getFlvRecordingByParent(flvRecording.getFlvRecordingId());
+
+			for (FlvRecording subFLVItem : subFLVItems) {
+				this.setFileToOwnerOrRoomByParent(subFLVItem, usersId);
+			}
+
+		} catch (Exception err) {
+			log.error("[setFileToOwnerOrRoomByParent] ", err);
+		}
+	}
+
+	public Long updateFileOrFolderName(String SID, Long flvRecordingId,
+			String fileName) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				log.debug("updateFileOrFolderName " + flvRecordingId);
+
+				this.flvRecordingDaoImpl.updateFileOrFolderName(flvRecordingId,
+						fileName);
+
+				return flvRecordingId;
+			}
+		} catch (Exception err) {
+			log.error("[updateFileOrFolderName] ", err);
+		}
+		return null;
+	}
+
+	public FLVRecorderObject getFLVExplorerByRoom(String SID,
+			Long organization_id) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				FLVRecorderObject fileExplorerObject = new FLVRecorderObject();
+
+				// User Home Recordings
+				List<FlvRecording> homeFlvRecordings = this.flvRecordingDaoImpl
+						.getFlvRecordingRootByOwner(users_id);
+				long homeFileSize = 0;
+
+				for (FlvRecording homeFlvRecording : homeFlvRecordings) {
+					homeFileSize += this
+							.getSizeOfDirectoryAndSubs(homeFlvRecording);
+				}
+
+				fileExplorerObject.setUserHome(homeFlvRecordings);
+				fileExplorerObject.setUserHomeSize(homeFileSize);
+
+				// Public Recordings by Organization
+				List<FlvRecording> publicFlvRecordings = this.flvRecordingDaoImpl
+						.getFlvRecordingRootByPublic(organization_id);
+				long publicFileSize = 0;
+
+				for (FlvRecording publicFlvRecording : publicFlvRecordings) {
+					publicFileSize += this
+							.getSizeOfDirectoryAndSubs(publicFlvRecording);
+				}
+				fileExplorerObject.setRoomHome(publicFlvRecordings);
+				fileExplorerObject.setRoomHomeSize(publicFileSize);
+
+				return fileExplorerObject;
+
+			}
+		} catch (Exception err) {
+			log.error("[getFileExplorerByRoom] ", err);
+		}
+		return null;
+	}
+
+	private long getSizeOfDirectoryAndSubs(FlvRecording baseFlvRecording) {
+		try {
+
+			long fileSize = 0;
+
+			File tFile = new File(ScopeApplicationAdapter.webAppPath
+					+ File.separatorChar + OpenmeetingsVariables.STREAMS_DIR + File.separatorChar
+					+ "hibernate" + File.separatorChar
+					+ baseFlvRecording.getFileHash());
+			if (tFile.exists()) {
+				fileSize += tFile.length();
+			}
+
+			File dFile = new File(ScopeApplicationAdapter.webAppPath
+					+ File.separatorChar + OpenmeetingsVariables.STREAMS_DIR + File.separatorChar
+					+ "hibernate" + File.separatorChar
+					+ baseFlvRecording.getAlternateDownload());
+			if (dFile.exists()) {
+				fileSize += dFile.length();
+			}
+
+			File iFile = new File(ScopeApplicationAdapter.webAppPath
+					+ File.separatorChar + OpenmeetingsVariables.STREAMS_DIR + File.separatorChar
+					+ "hibernate" + File.separatorChar
+					+ baseFlvRecording.getPreviewImage());
+			if (iFile.exists()) {
+				fileSize += iFile.length();
+			}
+
+			List<FlvRecording> flvRecordings = this.flvRecordingDaoImpl
+					.getFlvRecordingByParent(baseFlvRecording
+							.getFlvRecordingId());
+
+			for (FlvRecording flvRecording : flvRecordings) {
+				fileSize += this.getSizeOfDirectoryAndSubs(flvRecording);
+			}
+
+			return fileSize;
+
+		} catch (Exception err) {
+			log.error("[getSizeOfDirectoryAndSubs] ", err);
+		}
+		return 0;
+	}
+
+	public Long restartConversion(String SID, Long flvRecordingId,
+			Integer leftSideLoud, Integer rightSideLoud, Integer leftSideTime,
+			Integer rightSideTime) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				log.debug("updateFileOrFolderName " + flvRecordingId);
+
+				FlvRecording flvRecording = this.flvRecordingDaoImpl
+						.getFlvRecordingById(flvRecordingId);
+
+				flvRecording.setPreviewImage(null);
+
+				flvRecording.setProgressPostProcessing(0);
+
+				this.flvRecordingDaoImpl.updateFlvRecording(flvRecording);
+
+				if (flvRecording.getIsInterview() == null
+						|| !flvRecording.getIsInterview()) {
+					flvRecorderConverterTask.startConversionThread(flvRecordingId);
+				} else {
+					flvInterviewReConverterTask.startConversionThread(
+						flvRecordingId, leftSideLoud, rightSideLoud,
+						leftSideTime, rightSideTime);
+				}
+			}
+		} catch (Exception err) {
+			log.error("[restartInterviewConversion] ", err);
+		}
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/app/remote/GroupService.java b/src/org/openmeetings/app/remote/GroupService.java
new file mode 100644
index 0000000..b215d84
--- /dev/null
+++ b/src/org/openmeetings/app/remote/GroupService.java
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote;
+
+
+public class GroupService {
+}
diff --git a/src/org/openmeetings/app/remote/InvitationService.java b/src/org/openmeetings/app/remote/InvitationService.java
new file mode 100644
index 0000000..552ef47
--- /dev/null
+++ b/src/org/openmeetings/app/remote/InvitationService.java
@@ -0,0 +1,181 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.TimeZone;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.basic.dao.OmTimeZoneDaoImpl;
+import org.openmeetings.app.data.conference.Invitationmanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.persistence.beans.basic.Configuration;
+import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
+import org.openmeetings.app.persistence.beans.invitation.Invitations;
+import org.red5.logging.Red5LoggerFactory;
+import org.red5.server.api.service.IPendingServiceCall;
+import org.red5.server.api.service.IPendingServiceCallback;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class InvitationService implements IPendingServiceCallback {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			InvitationService.class, OpenmeetingsVariables.webAppRootKey);
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private Configurationmanagement cfgManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private OmTimeZoneDaoImpl omTimeZoneDaoImpl;
+	@Autowired
+	private Invitationmanagement invitationManagement;
+
+	public void resultReceived(IPendingServiceCall arg0) {
+		// TODO Auto-generated method stub
+		log.debug("InvitationService resultReceived" + arg0);
+	}
+
+	/**
+	 * send an invitation to another user by Mail
+	 * 
+	 * @param SID
+	 * @param username
+	 * @param message
+	 * @param baseurl
+	 * @param email
+	 * @param subject
+	 * @param room_id
+	 * @param conferencedomain
+	 * @param isPasswordProtected
+	 * @param invitationpass
+	 * @param valid
+	 * @param validFromDate
+	 * @param validFromTime
+	 * @param validToDate
+	 * @param validToTime
+	 * @param language_id
+     * @param jNameTimeZone
+	 * @return
+	 */
+	public String sendInvitationHash(String SID, String username,
+			String message, String baseurl, String email, String subject,
+			Long room_id, String conferencedomain, Boolean isPasswordProtected,
+			String invitationpass, Integer valid, Date validFromDate,
+			String validFromTime, Date validToDate, String validToTime,
+			Long language_id, String jNameTimeZone) {
+
+		try {
+			log.debug("sendInvitationHash: ");
+
+			Integer validFromHour = Integer.valueOf(
+					validFromTime.substring(0, 2)).intValue();
+			Integer validFromMinute = Integer.valueOf(
+					validFromTime.substring(3, 5)).intValue();
+
+			Integer validToHour = Integer.valueOf(validToTime.substring(0, 2))
+					.intValue();
+			Integer validToMinute = Integer
+					.valueOf(validToTime.substring(3, 5)).intValue();
+
+			log.info("validFromHour: " + validFromHour);
+			log.info("validFromMinute: " + validFromMinute);
+
+			Calendar calFrom = Calendar.getInstance();
+			calFrom.setTime(validFromDate);
+			calFrom.set(Calendar.HOUR_OF_DAY, validFromHour);
+			calFrom.set(Calendar.MINUTE, validFromMinute);
+			calFrom.set(Calendar.SECOND, 0);
+
+			Calendar calTo = Calendar.getInstance();
+			calTo.setTime(validToDate);
+			calTo.set(Calendar.HOUR_OF_DAY, validToHour);
+			calTo.set(Calendar.MINUTE, validToMinute);
+			calTo.set(Calendar.SECOND, 0);
+
+			Date dFrom = calFrom.getTime();
+			Date dTo = calTo.getTime();
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			OmTimeZone omTimeZone = omTimeZoneDaoImpl
+					.getOmTimeZone(jNameTimeZone);
+
+			// If everything fails
+			if (omTimeZone == null) {
+				Configuration conf = cfgManagement.getConfKey(3L,
+						"default.timezone");
+				if (conf != null) {
+					jNameTimeZone = conf.getConf_value();
+				}
+				omTimeZone = omTimeZoneDaoImpl.getOmTimeZone(jNameTimeZone);
+			}
+
+			String timeZoneName = omTimeZone.getIcal();
+
+			Calendar cal = Calendar.getInstance();
+			cal.setTimeZone(TimeZone.getTimeZone(timeZoneName));
+			int offset = cal.get(Calendar.ZONE_OFFSET)
+					+ cal.get(Calendar.DST_OFFSET);
+
+			log.debug("addAppointment offset :: " + offset);
+
+			Date gmtTimeStart = new Date(dFrom.getTime() - offset);
+			Date gmtTimeEnd = new Date(dTo.getTime() - offset);
+
+			Invitations invitation = invitationManagement
+					.addInvitationLink(user_level, username, message, baseurl,
+							email, subject, room_id, conferencedomain,
+							isPasswordProtected, invitationpass, valid, dFrom,
+							dTo, users_id, baseurl, language_id, true,
+							gmtTimeStart, gmtTimeEnd, null, username);
+
+			if (invitation != null) {
+				return "success";
+			} else {
+				return "Sys - Error";
+			}
+		} catch (Exception err) {
+			log.error("[sendInvitationHash]", err);
+		}
+
+		return null;
+
+		// return
+		// invitationManagement.sendInvitionLink(user_level,
+		// username, message, domain, room, roomtype, baseurl, email, subject,
+		// room_id);
+	}
+
+	public Object getInvitationByHash(String hashCode) {
+		return invitationManagement.getInvitationByHashCode(
+				hashCode, true);
+	}
+
+	public Object checkInvitationPass(String hashCode, String pass) {
+		return invitationManagement.checkInvitationPass(hashCode,
+				pass);
+	}
+}
diff --git a/src/org/openmeetings/app/remote/LanguageService.java b/src/org/openmeetings/app/remote/LanguageService.java
new file mode 100644
index 0000000..9547ae2
--- /dev/null
+++ b/src/org/openmeetings/app/remote/LanguageService.java
@@ -0,0 +1,218 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote;
+
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.FieldLanguageDaoImpl;
+import org.openmeetings.app.data.basic.Fieldmanagment;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.beans.basic.SearchResult;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.persistence.beans.lang.FieldLanguage;
+import org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues;
+import org.openmeetings.app.persistence.beans.lang.Fieldvalues;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 
+ * @author sebastianwagner
+ * 
+ */
+public class LanguageService {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			LanguageService.class, OpenmeetingsVariables.webAppRootKey);
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private Configurationmanagement cfgManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private Fieldmanagment fieldmanagment;
+	@Autowired
+	private FieldLanguageDaoImpl fieldLanguageDaoImpl;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+
+	/**
+	 * get a List of all availible Languages
+	 * 
+	 * @return
+	 */
+	public List<FieldLanguage> getLanguages() {
+		return fieldLanguageDaoImpl.getLanguages();
+	}
+
+	/**
+	 * get all fields of a given Language_id
+	 * 
+	 * @param language_id
+	 * @deprecated
+	 * @return
+	 */
+	@Deprecated
+	public List<Fieldlanguagesvalues> getLanguageById(Long language_id) {
+		return fieldmanagment.getAllFieldsByLanguage(language_id);
+	}
+
+	public Integer getDefaultLanguage() {
+		return Integer.valueOf(
+				cfgManagement.getConfKey(3, "default_lang_id").getConf_value())
+				.intValue();
+	}
+
+	/**
+	 * get all fields of a given Language_id by params
+	 * 
+	 * @param language_id
+	 * @return
+	 */
+	public List<Map<String, Object>> getLanguageByIdAndMax(Long language_id,
+			int start, int max) {
+		return fieldmanagment.getLabelsByLanguage(language_id, start, max);
+	}
+
+	public Fieldvalues getFieldvalueById(String SID, Long fieldvalues_id,
+			Long language_id) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		if (authLevelManagement.checkAdminLevel(user_level)) {
+			return fieldmanagment.getFieldvaluesById(fieldvalues_id,
+					language_id);
+		}
+		return null;
+	}
+
+	public Long addLanguage(String SID, String langName, String code) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		if (authLevelManagement.checkAdminLevel(user_level)) {
+			if (langName.length() == 0)
+				return new Long(-30);
+			return fieldLanguageDaoImpl.addLanguage(langName, false, code);
+		}
+		return null;
+	}
+
+	public Long updateLanguage(String SID, Long language_id, String langName, String code) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		if (authLevelManagement.checkAdminLevel(user_level)) {
+			if (langName.length() == 0)
+				return new Long(-30);
+			return fieldLanguageDaoImpl.updateFieldLanguage(language_id,
+					langName, code, "false");
+		}
+		return null;
+	}
+
+	public Long deleteLanguage(String SID, Long language_id) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		if (authLevelManagement.checkAdminLevel(user_level)) {
+			return fieldLanguageDaoImpl.updateFieldLanguage(language_id, "",
+					"", "true");
+		}
+		return null;
+	}
+
+	public Long deleteFieldlanguagesvaluesById(String SID,
+			Long fieldlanguagesvalues_id) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		if (authLevelManagement.checkAdminLevel(user_level)) {
+			return fieldmanagment
+					.deleteFieldlanguagesvaluesById(fieldlanguagesvalues_id);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param SID
+	 * @param start
+	 * @param max
+	 * @param orderby
+	 * @param asc
+	 * @param language_id
+	 * @return
+	 */
+	public SearchResult<Fieldvalues> getFieldsByLanguage(String SID, int start, int max,
+			String orderby, boolean asc, Long language_id, String search) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		if (authLevelManagement.checkAdminLevel(user_level)) {
+			return fieldmanagment.getFieldsByLanguage(start, max, orderby, asc,
+					language_id, search);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param SID
+	 * @param values
+	 * @return
+	 */
+	public Long saveOrUpdateLabel(String SID,
+			LinkedHashMap<Object, Object> values) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			Long fieldvalues_id = Long.valueOf(
+					values.get("fieldvalues_id").toString()).longValue();
+			String name = values.get("name").toString();
+			Long fieldlanguagesvalues_id = Long.valueOf(
+					values.get("fieldlanguagesvalues_id").toString())
+					.longValue();
+			Long language_id = Long.valueOf(
+					values.get("language_id").toString()).longValue();
+			String value = values.get("value").toString();
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				if (fieldvalues_id > 0 && fieldlanguagesvalues_id > 0) {
+					log.error("UPDATE LABEL");
+					return fieldmanagment.updateLabel(fieldvalues_id, name,
+							fieldlanguagesvalues_id, value);
+				} else if (fieldvalues_id > 0 && fieldlanguagesvalues_id == 0) {
+					log.error("INSERT NEW LABEL");
+					return fieldmanagment.addAndUpdateLabel(fieldvalues_id,
+							name, value, language_id);
+				} else {
+					log.error("INSERT NEW FIELD AND LABEL");
+					return fieldmanagment.addFieldAndLabel(name, value,
+							language_id);
+				}
+			}
+			return new Long(-26);
+		} catch (Exception e) {
+			log.error("[saveOrUpdateLabel]", e);
+		}
+		return new Long(-1);
+	}
+
+}
diff --git a/src/org/openmeetings/app/remote/LdapConfigService.java b/src/org/openmeetings/app/remote/LdapConfigService.java
new file mode 100644
index 0000000..5add42a
--- /dev/null
+++ b/src/org/openmeetings/app/remote/LdapConfigService.java
@@ -0,0 +1,158 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote;
+
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.basic.dao.LdapConfigDaoImpl;
+import org.openmeetings.app.data.beans.basic.SearchResult;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.persistence.beans.basic.LdapConfig;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 
+ * @author sebastianwagner
+ *
+ */
+public class LdapConfigService {
+	
+	//Spring loaded Bean
+	@Autowired
+	private LdapConfigDaoImpl ldapConfigDaoImpl;
+	@Autowired
+	private Sessionmanagement sessionManagement;
+    @Autowired
+    private Usermanagement userManagement;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+	
+	private static final Logger log = Red5LoggerFactory.getLogger(LdapConfigService.class, OpenmeetingsVariables.webAppRootKey);
+	
+	public Long deleteLdapConfigById(String SID, Long ldapConfigId) {
+        Long users_id = sessionManagement.checkSession(SID);
+        Long user_level = userManagement.getUserLevelByID(users_id);
+        if (authLevelManagement.checkAdminLevel(user_level)){
+        	return this.ldapConfigDaoImpl.deleteLdapConfigById(ldapConfigId);
+        }
+        return null;
+	}
+	
+	public LdapConfig getLdapConfigById(String SID, Long ldapConfigId) {
+        Long users_id = sessionManagement.checkSession(SID);
+        Long user_level = userManagement.getUserLevelByID(users_id);
+        if (authLevelManagement.checkAdminLevel(user_level)){
+        	return this.ldapConfigDaoImpl.getLdapConfigById(ldapConfigId);
+        }
+        return null;
+	}
+	
+	public List<LdapConfig> getActiveLdapConfigs() {
+		try {
+			List<LdapConfig> ldapConfigs = this.ldapConfigDaoImpl.getActiveLdapConfigs();
+			
+			//Add localhost Domain
+			LdapConfig ldapConfig = new LdapConfig();
+			
+			ldapConfig.setName("local DB [internal]");
+			ldapConfig.setLdapConfigId(-1);
+			
+			List<LdapConfig> returnldapConfigs = new LinkedList<LdapConfig>();
+			returnldapConfigs.add(ldapConfig);
+			
+			for (LdapConfig ldapConfigStored : ldapConfigs) {
+				returnldapConfigs.add(ldapConfigStored);
+			}
+			
+	        return returnldapConfigs;
+	        
+		} catch (Exception err) {
+			log.error("[getActiveLdapConfigs]",err);
+		}
+		return null;
+	}
+	
+	/**
+	 * 
+	 * @param SID
+	 * @param start
+	 * @param max
+	 * @param orderby
+	 * @param asc
+	 * @param language_id
+	 * @return
+	 */
+	public SearchResult<LdapConfig> getLdapConfigs(String SID, int start, int max, String orderby, boolean asc){
+        Long users_id = sessionManagement.checkSession(SID);
+        Long user_level = userManagement.getUserLevelByID(users_id);
+        if (authLevelManagement.checkAdminLevel(user_level)){
+        	
+        	SearchResult<LdapConfig> searchResult = new SearchResult<LdapConfig>();
+        	searchResult.setObjectName(LdapConfig.class.getName());
+        	searchResult.setResult(this.ldapConfigDaoImpl.getLdapConfigs(start, max, orderby, asc));
+        	searchResult.setRecords(this.ldapConfigDaoImpl.selectMaxFromLdapConfig());
+        	
+        	return searchResult;
+        }
+		return null;
+	}
+	
+	/**
+	 * 
+	 * @param SID
+	 * @param values
+	 * @return
+	 */
+	public Long saveOrUpdateLdapConfig(String SID, LinkedHashMap<Object,Object> values)  {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkAdminLevel(user_level)){
+			
+				Long ldapConfigId = Long.valueOf(values.get("ldapConfigId").toString()).longValue();
+				Boolean addDomainToUserName = Boolean.valueOf(values.get("addDomainToUserName").toString()).booleanValue();
+				String configFileName = values.get("configFileName").toString(); 
+				String name = values.get("tName").toString(); 
+				String domain = values.get("domain").toString(); 
+				Boolean isActive = Boolean.valueOf(values.get("isActive").toString()).booleanValue();
+			
+				if (ldapConfigId<=0) {
+					return this.ldapConfigDaoImpl.addLdapConfig(name, addDomainToUserName, configFileName, 
+								domain, users_id, isActive);
+				} else {
+					return this.ldapConfigDaoImpl.updateLdapConfig(ldapConfigId, name, addDomainToUserName, 
+								configFileName, domain, users_id, isActive);
+				}
+				
+			}
+			return new Long(-26);	
+		} catch (Exception e) {
+			log.error("[saveOrUpdateLdapConfig]",e);
+		}
+		return new Long(-1);	
+	}	
+
+}
diff --git a/src/org/openmeetings/app/remote/MainService.java b/src/org/openmeetings/app/remote/MainService.java
new file mode 100644
index 0000000..8b64fa8
--- /dev/null
+++ b/src/org/openmeetings/app/remote/MainService.java
@@ -0,0 +1,1082 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote;
+
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.conference.session.RoomClient;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.Navimanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.basic.dao.LdapConfigDaoImpl;
+import org.openmeetings.app.data.basic.dao.OmTimeZoneDaoImpl;
+import org.openmeetings.app.data.basic.dao.SOAPLoginDaoImpl;
+import org.openmeetings.app.data.conference.Feedbackmanagement;
+import org.openmeetings.app.data.conference.Invitationmanagement;
+import org.openmeetings.app.data.conference.Roommanagement;
+import org.openmeetings.app.data.logs.ConferenceLogDaoImpl;
+import org.openmeetings.app.data.user.Statemanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.ldap.LdapLoginManagement;
+import org.openmeetings.app.persistence.beans.adresses.States;
+import org.openmeetings.app.persistence.beans.basic.Configuration;
+import org.openmeetings.app.persistence.beans.basic.LdapConfig;
+import org.openmeetings.app.persistence.beans.basic.Naviglobal;
+import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
+import org.openmeetings.app.persistence.beans.basic.RemoteSessionObject;
+import org.openmeetings.app.persistence.beans.basic.SOAPLogin;
+import org.openmeetings.app.persistence.beans.basic.Sessiondata;
+import org.openmeetings.app.persistence.beans.user.Userdata;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.app.remote.red5.ClientListManager;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.app.rss.LoadAtomRssFeed;
+import org.red5.logging.Red5LoggerFactory;
+import org.red5.server.api.IConnection;
+import org.red5.server.api.Red5;
+import org.red5.server.api.service.IPendingServiceCall;
+import org.red5.server.api.service.IPendingServiceCallback;
+import org.red5.server.api.service.IServiceCapableConnection;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.io.xml.DomDriver;
+
+/**
+ * 
+ * @author swagner
+ * 
+ */
+public class MainService implements IPendingServiceCallback {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(MainService.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private ClientListManager clientListManager;
+	@Autowired
+	private ScopeApplicationAdapter scopeApplicationAdapter;
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private Configurationmanagement cfgManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private Statemanagement statemanagement;
+	@Autowired
+	private OmTimeZoneDaoImpl omTimeZoneDaoImpl;
+	@Autowired
+	private Navimanagement navimanagement;
+	@Autowired
+	private Roommanagement roommanagement;
+	@Autowired
+	private ConferenceLogDaoImpl conferenceLogDao;
+	@Autowired
+	private UsersDaoImpl usersDao;
+	@Autowired
+	private LdapConfigDaoImpl ldapConfigDao;
+	@Autowired
+	private SOAPLoginDaoImpl soapLoginDao;
+	@Autowired
+	private Invitationmanagement invitationManagement;
+	@Autowired
+	private Feedbackmanagement feedbackManagement;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+	@Autowired
+	private LoadAtomRssFeed loadAtomRssFeed;
+	@Autowired
+	private LdapLoginManagement ldapLoginManagement;
+
+	// External User Types
+	public static final String EXTERNAL_USER_TYPE_LDAP = "LDAP";
+
+	/**
+	 * get Navigation
+	 * 
+	 * @param SID
+	 * @param language_id
+	 * @return
+	 */
+	public List<Naviglobal> getNavi(String SID, long language_id, Long organisation_id) {
+		try {
+			Long user_id = sessionManagement.checkSession(SID);
+			// log.error("getNavi 1: "+users_id);
+			Long user_level = userManagement.getUserLevelByIdAndOrg(user_id,
+					organisation_id);
+			// log.error("getNavi 2: "+user_level);
+			return navimanagement.getMainMenu(user_level, user_id, language_id);
+		} catch (Exception err) {
+			log.error("[getNavi] ", err);
+		}
+		return null;
+	}
+
+	/**
+	 * gets a user by its SID
+	 * 
+	 * @param SID
+	 * @param USER_ID
+	 * @return
+	 */
+	public Users getUser(String SID, int USER_ID) {
+		Users users = new Users();
+		Long users_id = sessionManagement.checkSession(SID);
+		long user_level = userManagement.getUserLevelByID(users_id);
+		if (user_level > 2) {
+			users = usersDao.getUser(new Long(USER_ID));
+		} else {
+			users.setFirstname("No rights to do this");
+		}
+		return users;
+	}
+
+	public RoomClient getCurrentRoomClient(String SID) {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+
+			log.debug("getCurrentRoomClient -1- " + SID);
+			log.debug("getCurrentRoomClient -2- " + streamid);
+
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+			return currentClient;
+		} catch (Exception err) {
+			log.error("[getCurrentRoomClient]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * This Method is jsut for testing you can find the corresponding CLietn
+	 * Function in xmlcrm/auth/checkLoginData.lzx
+	 * 
+	 * @param myObject2
+	 * @return
+	 */
+	public int testObject(Object myObject2) {
+		try {
+			@SuppressWarnings("rawtypes")
+			LinkedHashMap myObject = (LinkedHashMap) myObject2;
+			log.debug("testObject " + myObject.size());
+			log.debug("testObject " + myObject.get(1));
+			log.debug("testObject " + myObject.get("stringObj"));
+			return myObject.size();
+		} catch (Exception e) {
+			log.error("ex: ", e);
+		}
+		return -1;
+	}
+
+	/**
+	 * load this session id before doing anything else
+	 * 
+	 * @return a unique session identifier
+	 */
+	public Sessiondata getsessiondata() {
+		return sessionManagement.startsession();
+	}
+
+	public Long setCurrentUserOrganization(String SID, Long organization_id) {
+		try {
+			sessionManagement.updateUserOrg(SID, organization_id);
+			return 1L;
+		} catch (Exception err) {
+			log.error("[setCurrentUserOrganization]", err);
+		}
+		return -1L;
+	}
+
+	public Users loginByRemember(String SID, String remoteHashId) {
+		try {
+
+			RoomClient currentClient;
+			IConnection current = Red5.getConnectionLocal();
+
+			Users o = null;
+
+			currentClient = clientListManager.getClientByStreamId(current
+					.getClient().getId());
+
+			o = userManagement.loginUserByRemoteHash(SID, remoteHashId);
+
+			if (o == null)
+				return null;
+
+			if (o.getOrganisation_users().isEmpty()) {
+				throw new Exception("Users has no organization assigned");
+			}
+
+			o.setSessionData(sessionManagement.getSessionByHash(remoteHashId));
+			currentClient.setUser_id(o.getUser_id());
+			
+			if (currentClient.getUser_id() != null
+					&& currentClient.getUser_id() > 0) {
+
+				currentClient.setFirstname(o.getFirstname());
+				currentClient.setLastname(o.getLastname());
+				
+				scopeApplicationAdapter.syncMessageToCurrentScope("roomConnect", currentClient, false);
+
+			}
+
+			return o;
+
+		} catch (Exception err) {
+			log.error("[loginByRemember]", err);
+		}
+		return null;
+	}
+
+	public Object webLoginUser(String SID, String usernameOrEmail,
+			String Userpass, Boolean storePermanent, Long language_id,
+			Long ldapConfigId) {
+
+		Object returnValue = this.loginUser(SID, usernameOrEmail, Userpass,
+				storePermanent, language_id, ldapConfigId);
+
+		if (returnValue instanceof Long) {
+			return returnValue;
+		} else if (returnValue instanceof Users) {
+			Users us = (Users) returnValue;
+			if (authLevelManagement.checkUserLevel(
+					us.getLevel_id())) {
+				return us;
+			} else {
+				return -52L;
+			}
+		}
+
+		return returnValue;
+
+	}
+
+	/**
+	 * auth function, use the SID you get by getsessiondata
+	 * 
+	 * @param SID
+	 * @param Username
+	 * @param Userpass
+	 * @return a valid user account or an empty user with an error message and
+	 *         level -1
+	 */
+	public Object loginUser(String SID, String usernameOrEmail,
+			String Userpass, Boolean storePermanent, Long language_id,
+			Long ldapConfigId) {
+
+		boolean withLdap = false;
+
+		if (ldapConfigId > 0) {
+			withLdap = true;
+		}
+
+		try {
+			log.warn("loginUser: " + SID + " " + usernameOrEmail);
+
+			RoomClient currentClient;
+			IConnection current = Red5.getConnectionLocal();
+
+			if (current == null)
+				return null;
+			
+			Object o;
+
+			if (withLdap) {
+				log.debug("Ldap Login");
+
+				currentClient = clientListManager
+						.getClientByStreamId(current.getClient().getId());
+
+				// LDAP Loggedin Users cannot use the permanent Login Flag
+
+				LdapConfig ldapConfig = ldapConfigDao.getLdapConfigById(ldapConfigId);
+
+				String ldapLogin = usernameOrEmail;
+				if (ldapConfig.getAddDomainToUserName() != null
+						&& ldapConfig.getAddDomainToUserName()) {
+					ldapLogin = usernameOrEmail + "@" + ldapConfig.getDomain();
+				}
+
+				o = ldapLoginManagement.doLdapLogin(ldapLogin,
+						Userpass, currentClient, SID,
+						ldapConfig.getConfigFileName());
+			} else {
+
+				currentClient = clientListManager.getClientByStreamId(current.getClient().getId());
+
+				o = userManagement.loginUser(SID, usernameOrEmail, Userpass,
+						currentClient, storePermanent);
+			}
+
+			if (o == null)
+				return null;
+
+			if (!o.getClass().isAssignableFrom(Users.class))
+				return o;
+
+			if (currentClient.getUser_id() != null
+					&& currentClient.getUser_id() > 0) {
+
+				Users u = (Users) o;
+				currentClient.setFirstname(u.getFirstname());
+				currentClient.setLastname(u.getLastname());
+
+				Collection<Set<IConnection>> conCollection = current.getScope()
+						.getConnections();
+				for (Set<IConnection> conset : conCollection) {
+					for (IConnection cons : conset) {
+						if (cons != null) {
+							RoomClient rcl = this.clientListManager
+									.getClientByStreamId(cons.getClient()
+											.getId());
+							if (rcl != null && rcl.getIsScreenClient() != null
+									&& rcl.getIsScreenClient()) {
+								// continue;
+							} else {
+								if (cons instanceof IServiceCapableConnection) {
+									if (!cons.equals(current)) {
+										// log.error("sending roomDisconnect to "
+										// + cons);
+										// RoomClient rcl =
+										// this.clientListManager.getClientByStreamId(cons.getClient().getId());
+										// Send to all connected users
+										((IServiceCapableConnection) cons)
+												.invoke("roomConnect",
+														new Object[] { currentClient },
+														this);
+										// log.error("sending roomDisconnect to "
+										// + cons);
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+
+			return o;
+
+		} catch (Exception err) {
+			log.error("loginUser : ", err);
+		}
+
+		return null;
+
+		/*
+		 * try { log.debug("loginUser 111: "+SID+" "+Username); IConnection
+		 * current = Red5.getConnectionLocal(); RoomClient currentClient =
+		 * Application.getClientList().get(current.getClient().getId()); Object
+		 * obj = userManagement.loginUser(SID,Username,Userpass, currentClient);
+		 * 
+		 * if (currentClient.getUser_id()!=null && currentClient.getUser_id()>0)
+		 * { Users us = (Users) obj;
+		 * currentClient.setFirstname(us.getFirstname());
+		 * currentClient.setLastname(us.getLastname()); Iterator<IConnection> it
+		 * = current.getScope().getConnections(); while (it.hasNext()) {
+		 * //log.error("hasNext == true"); IConnection cons = it.next();
+		 * //log.error("cons Host: "+cons); if (cons instanceof
+		 * IServiceCapableConnection) { if (!cons.equals(current)){
+		 * //log.error("sending roomDisconnect to " + cons); RoomClient rcl =
+		 * Application.getClientList().get(cons.getClient().getId()); //Send to
+		 * all connected users ((IServiceCapableConnection)
+		 * cons).invoke("roomConnect",new Object[] { currentClient }, this);
+		 * //log.error("sending roomDisconnect to " + cons); } } } }
+		 * 
+		 * return obj; } catch (Exception err) { log.error("loginUser",err); }
+		 * return null;
+		 */
+	}
+
+	public Object secureLoginByRemote(String SID, String secureHash) {
+		try {
+
+			log.debug("############### secureLoginByRemote " + secureHash);
+			System.out.println("############### secureLoginByRemote "
+					+ secureHash);
+
+			String clientURL = Red5.getConnectionLocal().getRemoteAddress();
+
+			log.debug("swfURL " + clientURL);
+
+			SOAPLogin soapLogin = soapLoginDao.getSOAPLoginByHash(secureHash);
+
+			if (soapLogin.getUsed()) {
+
+				if (soapLogin.getAllowSameURLMultipleTimes()) {
+
+					if (!soapLogin.getClientURL().equals(clientURL)) {
+						log.debug("does not equal " + clientURL);
+						return -42L;
+					}
+
+				} else {
+					log.debug("Already used " + secureHash);
+					return -42L;
+				}
+			}
+
+			Long loginReturn = this.loginUserByRemote(soapLogin
+					.getSessionHash());
+
+			IConnection current = Red5.getConnectionLocal();
+			String streamId = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamId);
+
+			if (currentClient.getUser_id() != null) {
+				sessionManagement.updateUser(SID, currentClient.getUser_id());
+			}
+
+			currentClient.setAllowRecording(soapLogin.getAllowRecording());
+			this.clientListManager.updateClientByStreamId(streamId,
+					currentClient);
+
+			if (loginReturn == null) {
+
+				log.debug("loginReturn IS NULL for SID: "
+						+ soapLogin.getSessionHash());
+
+				return -1L;
+			} else if (loginReturn < 0) {
+
+				log.debug("loginReturn IS < 0 for SID: "
+						+ soapLogin.getSessionHash());
+
+				return loginReturn;
+			} else {
+
+				soapLogin.setUsed(true);
+				soapLogin.setUseDate(new Date());
+
+				soapLogin.setClientURL(clientURL);
+
+				soapLoginDao.updateSOAPLogin(soapLogin);
+
+				// Create Return Object and hide the validated
+				// sessionHash that is stored server side
+				// this hash should be never thrown back to the user
+
+				SOAPLogin returnSoapLogin = new SOAPLogin();
+
+				returnSoapLogin.setRoom_id(soapLogin.getRoom_id());
+				returnSoapLogin.setBecomemoderator(soapLogin
+						.getBecomemoderator());
+				returnSoapLogin.setShowAudioVideoTest(soapLogin
+						.getShowAudioVideoTest());
+				returnSoapLogin.setRoomRecordingId(soapLogin
+						.getRoomRecordingId());
+				returnSoapLogin.setShowNickNameDialog(soapLogin
+						.getShowNickNameDialog());
+				returnSoapLogin.setLandingZone(soapLogin.getLandingZone());
+
+				return returnSoapLogin;
+
+			}
+
+		} catch (Exception err) {
+			log.error("[secureLoginByRemote]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * Function is called if the user loggs in via a secureHash and sets the
+	 * param showNickNameDialog in the Object SOAPLogin to true the user gets
+	 * displayed an additional dialog to enter his nickname
+	 * 
+	 * @return
+	 */
+
+	public Long setUserNickName(String firstname, String lastname, String email) {
+		try {
+
+			IConnection current = Red5.getConnectionLocal();
+			String streamId = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamId);
+
+			currentClient.setFirstname(firstname);
+			currentClient.setLastname(lastname);
+			currentClient.setMail(email);
+
+			// Log the User
+			conferenceLogDao.addConferenceLog(
+					"nicknameEnter", currentClient.getUser_id(), streamId,
+					null, currentClient.getUserip(), currentClient.getScope(),
+					currentClient.getExternalUserId(),
+					currentClient.getExternalUserType(),
+					currentClient.getMail(), currentClient.getFirstname(),
+					currentClient.getLastname());
+
+			this.clientListManager.updateClientByStreamId(streamId,
+					currentClient);
+
+			return 1L;
+
+		} catch (Exception err) {
+			log.error("[setUserNickName] ", err);
+		}
+		return new Long(-1);
+	}
+
+	/**
+	 * Attention! This SID is NOT the default session id! its the Session id
+	 * retrieved in the call from the SOAP Gateway!
+	 * 
+	 * @param SID
+	 * @return
+	 */
+	public Long loginUserByRemote(String SID) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(
+					user_level)) {
+
+				Sessiondata sd = sessionManagement.getSessionByHash(SID);
+				if (sd == null || sd.getSessionXml() == null) {
+					return new Long(-37);
+				} else {
+
+					// XStream xStream = new XStream(new XppDriver());
+					XStream xStream = new XStream(new DomDriver("UTF-8"));
+					xStream.setMode(XStream.NO_REFERENCES);
+
+					String xmlString = sd.getSessionXml();
+					RemoteSessionObject userObject = (RemoteSessionObject) xStream
+							.fromXML(xmlString);
+
+					log.debug("userObject.getUsername(), userObject.getFirstname(), userObject.getLastname() "
+							+ userObject.getUsername()
+							+ ", "
+							+ userObject.getFirstname()
+							+ ", "
+							+ userObject.getLastname());
+
+					IConnection current = Red5.getConnectionLocal();
+					String streamId = current.getClient().getId();
+					RoomClient currentClient = this.clientListManager
+							.getClientByStreamId(streamId);
+
+					// Check if this User is simulated in the OpenMeetings
+					// Database
+
+					log.debug("userObject.getExternalUserId() -1- "
+							+ userObject.getExternalUserId());
+
+					if (userObject.getExternalUserId() != null
+							&& userObject.getExternalUserId() != null && 
+							!userObject.getExternalUserId().equals("0")) {
+
+						// If so we need to check that we create this user in
+						// OpenMeetings and update its record
+
+						Users user = userManagement.getUserByExternalIdAndType(
+								userObject.getExternalUserId(),
+								userObject.getExternalUserType());
+
+						if (user == null) {
+
+							Configuration conf = cfgManagement.getConfKey(3L,
+									"default.timezone");
+							String jName_timeZone = "";
+
+							if (conf != null) {
+								jName_timeZone = conf.getConf_value();
+							}
+
+							long userId = userManagement
+									.addUserWithExternalKey(1, 0, 0,
+											userObject.getFirstname(),
+											userObject.getUsername(),
+											userObject.getLastname(), 1L, "",
+											null, null, "",
+											userObject.getExternalUserId(),
+											userObject.getExternalUserType(),
+											true, userObject.getEmail(),
+											jName_timeZone,
+											userObject.getPictureUrl());
+
+							currentClient.setUser_id(userId);
+						} else {
+
+							user.setPictureuri(userObject.getPictureUrl());
+
+							userManagement.updateUser(user);
+
+							currentClient.setUser_id(user.getUser_id());
+						}
+					}
+
+					log.debug("userObject.getExternalUserId() -2- "
+							+ currentClient.getUser_id());
+
+					currentClient
+							.setUserObject(userObject.getUsername(),
+									userObject.getFirstname(),
+									userObject.getLastname());
+					currentClient.setPicture_uri(userObject.getPictureUrl());
+					currentClient.setMail(userObject.getEmail());
+
+					log.debug("UPDATE USER BY STREAMID " + streamId);
+
+					if (currentClient.getUser_id() != null) {
+						sessionManagement.updateUser(SID,
+								currentClient.getUser_id());
+					}
+
+					this.clientListManager.updateClientByStreamId(streamId,
+							currentClient);
+
+					return new Long(1);
+				}
+			}
+		} catch (Exception err) {
+			log.error("[loginUserByRemote] ", err);
+		}
+		return new Long(-1);
+	}
+
+	/**
+	 * this function logs a user into if he enteres the app directly into a room
+	 * 
+	 * @param SID
+	 */
+	public Users markSessionAsLogedIn(String SID) {
+		try {
+			sessionManagement.updateUserWithoutSession(SID, -1L);
+			Configuration conf = cfgManagement.getConfKey(3L,
+					"default.rpc.userid");
+			return userManagement.getUserById(Long.parseLong(conf
+					.getConf_value()));
+		} catch (Exception err) {
+			log.error("[markSessionAsLogedIn]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * clear this session id
+	 * 
+	 * @param SID
+	 * @return string value if completed
+	 */
+	public Long logoutUser(String SID) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			IConnection current = Red5.getConnectionLocal();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(current.getClient().getId());
+			
+			scopeApplicationAdapter.roomLeaveByScope(currentClient,current.getScope(), false);
+			
+			currentClient.setUserObject(null, null, null, null);
+			
+			return userManagement.logout(SID, users_id);
+		} catch (Exception err) {
+			log.error("[logoutUser]",err);
+		}
+		return -1L;
+	}
+
+	/**
+	 * get a list of all states, needs no authentification to load
+	 * 
+	 * @return List of State-Objects or null
+	 */
+	public List<States> getStates() {
+		return statemanagement.getStates();
+	}
+
+	public List<OmTimeZone> getTimeZones() {
+		return omTimeZoneDaoImpl.getOmTimeZones();
+	}
+
+	/**
+	 * Load if the users can register itself by using the form without logging
+	 * in, needs no authentification to load
+	 * 
+	 * @param SID
+	 * @return
+	 */
+	public Configuration allowFrontendRegister(String SID) {
+		return cfgManagement.getConfKey(3, "allow_frontend_register");
+	}
+	
+	public List<Configuration> getGeneralOptions(String SID) {
+		try {
+			
+			List<Configuration> cList = new LinkedList<Configuration>();
+			
+			cList.add(cfgManagement.getConfKey(3, "exclusive.audio.keycode"));
+			cList.add(cfgManagement.getConfKey(3, "red5sip.enable"));
+			cList.add(cfgManagement.getConfKey(3, "max_upload_size"));
+			
+			return cList;
+			
+		} catch (Exception err) {
+			log.error("[getLoginOptions]",err);
+		}
+		return null;
+	}
+
+	public List<Configuration> getLoginOptions(String SID) {
+		try {
+
+			List<Configuration> cList = new LinkedList<Configuration>();
+			cList.add(cfgManagement.getConfKey(3, "allow_frontend_register"));
+			cList.add(cfgManagement.getConfKey(3, "show.facebook.login"));
+			cList.add(cfgManagement.getConfKey(3, "user.login.minimum.length"));
+			cList.add(cfgManagement.getConfKey(3, "user.pass.minimum.length"));
+			cList.add(cfgManagement.getConfKey(3, "user.pass.minimum.length"));
+			cList.add(cfgManagement.getConfKey(3, "ldap_default_id"));
+
+			return cList;
+		} catch (Exception err) {
+			log.error("[getLoginOptions]", err);
+		}
+		return null;
+
+	}
+
+	/**
+	 * Add a user register by an Object see [registerUser] for the index of the
+	 * Object To allow the registering the config_key *allow_frontend_register*
+	 * has to be the value 1 otherwise the user will get an error code
+	 * 
+	 * @param regObject
+	 * @return new users_id OR null if an exception, -1 if an error, -4 if mail
+	 *         already taken, -5 if username already taken, -3 if login or pass
+	 *         or mail is empty
+	 */
+	public Long registerUserByObject(Object regObjectObj) {
+		try {
+			@SuppressWarnings("unchecked")
+			Map<?, ?> regObject = (Map<Object, Object>) regObjectObj;
+
+			String domain = regObject.get("domain").toString();
+			String port = regObject.get("port").toString();
+			String webapp = regObject.get("webapp").toString();
+
+			String baseURL = "http://" + domain + ":" + port + webapp;
+			if (port.equals("80")) {
+				baseURL = "http://" + domain + webapp;
+			} else if (port.equals("443")) {
+				baseURL = "https://" + domain + webapp;
+			}
+
+			return userManagement.registerUser(regObject.get("Username")
+					.toString(), regObject.get("Userpass").toString(),
+					regObject.get("lastname").toString(),
+					regObject.get("firstname").toString(),
+					regObject.get("email").toString(), new Date(), regObject
+							.get("street").toString(),
+					regObject.get("additionalname").toString(),
+					regObject.get("fax").toString(), regObject.get("zip")
+							.toString(),
+					Long.valueOf(regObject.get("states_id").toString())
+							.longValue(), regObject.get("town").toString(),
+					Long.valueOf(regObject.get("language_id").toString())
+							.longValue(), "", baseURL, true,
+					regObject.get("jNameTimeZone").toString());
+		} catch (Exception ex) {
+			log.error("registerUserByObject", ex);
+		}
+		return new Long(-1);
+	}
+
+	/**
+	 * Register a new User To allow the registering the config_key
+	 * *allow_frontend_register* has to be the value 1 otherwise the user will
+	 * get an error code
+	 * 
+	 * @deprecated use registerUserByObject instead
+	 * @param SID
+	 * @param Username
+	 * @param Userpass
+	 * @param lastname
+	 * @param firstname
+	 * @param email
+	 * @param age
+	 * @param street
+	 * @param additionalname
+	 * @param fax
+	 * @param zip
+	 * @param states_id
+	 * @param town
+	 * @param language_id
+	 * @return new users_id OR null if an exception, -1 if an error, -4 if mail
+	 *         already taken, -5 if username already taken, -3 if login or pass
+	 *         or mail is empty
+	 */
+	@Deprecated
+	public Long registerUser(String SID, String Username, String Userpass,
+			String lastname, String firstname, String email, Date age,
+			String street, String additionalname, String fax, String zip,
+			long states_id, String town, long language_id, String phone) {
+		return userManagement.registerUser(Username, Userpass, lastname,
+				firstname, email, age, street, additionalname, fax, zip,
+				states_id, town, language_id, phone, "", true, "");
+	}
+
+	/**
+	 * logs a user out and deletes his account
+	 * 
+	 * @param SID
+	 * @return
+	 */
+	public Long deleteUserIDSelf(String SID) {
+		Long users_id = sessionManagement.checkSession(SID);
+		long user_level = userManagement.getUserLevelByID(users_id);
+		if (user_level >= 1) {
+			userManagement.logout(SID, users_id);
+			return usersDao.deleteUserID(users_id);
+		} else {
+			return new Long(-10);
+		}
+	}
+
+	/**
+	 * send an invitation to another user by Mail
+	 * 
+	 * @deprecated
+	 * @param SID
+	 * @param username
+	 * @param message
+	 * @param domain
+	 * @param room
+	 * @param roomtype
+	 * @param baseurl
+	 * @param email
+	 * @param subject
+	 * @param room_id
+	 * @return
+	 */
+	@Deprecated
+	public String sendInvitation(String SID, String username, String message,
+			String domain, String room, String roomtype, String baseurl,
+			String email, String subject, Long room_id) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		return invitationManagement.sendInvitionLink(user_level,
+				username, message, domain, room, roomtype, baseurl, email,
+				usersDao.getUser(users_id).getAdresses().getEmail(), subject, room_id, null, null);
+	}
+
+	/**
+	 * send some feedback, this will only work for the online demo-version
+	 * 
+	 * @param SID
+	 * @param username
+	 * @param message
+	 * @param email
+	 * @return
+	 */
+	public String sendFeedback(String SID, String username, String message,
+			String email) {
+		return feedbackManagement.sendFeedback(username, email,
+				message);
+	}
+
+	public List<Userdata> getUserdata(String SID) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		if (authLevelManagement.checkUserLevel(user_level)) {
+			return userManagement.getUserdataDashBoard(users_id);
+		}
+		return null;
+	}
+
+	/**
+	 * @deprecated
+	 * @param SID
+	 * @return
+	 */
+	@Deprecated
+	public LinkedHashMap<String, LinkedHashMap<String, LinkedHashMap<String, LinkedHashMap<String, Object>>>> getRssFeeds(
+			String SID) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		return loadAtomRssFeed.getRssFeeds(user_level);
+	}
+
+	/**
+	 * 
+	 * @param SID
+	 * @param urlEndPoint
+	 * @return
+	 */
+	public LinkedHashMap<String, LinkedHashMap<String, LinkedHashMap<String, Object>>> getRssFeedByURL(
+			String SID, String urlEndPoint) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		if (authLevelManagement.checkUserLevel(user_level)) {
+			return loadAtomRssFeed.parseRssFeed(urlEndPoint);
+		} else {
+			return null;
+		}
+	}
+
+	/**
+	 * TODO: Is this function in usage?
+	 * 
+	 * @deprecated
+	 * @param SID
+	 * @param domain
+	 * @return
+	 */
+	@Deprecated
+	public LinkedHashMap<Integer, RoomClient> getUsersByDomain(String SID,
+			String domain) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		if (authLevelManagement.checkUserLevel(user_level)) {
+			LinkedHashMap<Integer, RoomClient> lMap = new LinkedHashMap<Integer, RoomClient>();
+			// Integer counter = 0;
+			// for (Iterator<String> it =
+			// Application.getClientList().keySet().iterator();it.hasNext();) {
+			// RoomClient rc = Application.getClientList().get(it.next());
+			// //if (rc.getDomain().equals(domain)) {
+			// lMap.put(counter, rc);
+			// counter++;
+			// //}
+			// }
+			return lMap;
+		} else {
+			return null;
+		}
+	}
+
+	public Boolean getSIPModuleStatus() {
+		try {
+
+			Configuration conf = cfgManagement.getConfKey(3L, "sip.enable");
+
+			if (conf == null) {
+				return false;
+			} else {
+
+				if (conf.getConf_value().equals("yes")) {
+					return true;
+				}
+
+			}
+
+		} catch (Exception err) {
+			log.error("[getSIPModuleStatus]", err);
+		}
+		return false;
+	}
+
+	public int closeRoom(String SID, Long room_id, Boolean status) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				roommanagement.closeRoom(room_id, status);
+
+				if (status) {
+					Map<String, String> message = new HashMap<String, String>();
+					message.put("message", "roomClosed");
+					this.scopeApplicationAdapter.sendMessageByRoomAndDomain(
+							room_id, message);
+				}
+
+				return 1;
+
+			}
+
+			return 1;
+		} catch (Exception err) {
+			log.error("[closeRoom]", err);
+		}
+		return -1;
+	}
+
+	public void resultReceived(IPendingServiceCall arg0) {
+		log.debug("[resultReceived]" + arg0);
+	}
+
+	public List<Configuration> getDashboardConfiguration(String SID) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				List<Configuration> cfManagementList = new LinkedList<Configuration>();
+
+				cfManagementList.add(cfgManagement.getConfKey(3L,
+						"dashboard.show.chat"));
+				cfManagementList.add(cfgManagement.getConfKey(3L,
+						"dashboard.show.myrooms"));
+				cfManagementList.add(cfgManagement.getConfKey(3L,
+						"dashboard.show.rssfeed"));
+				cfManagementList.add(cfgManagement.getConfKey(3L,
+						"default.dashboard.tab"));
+
+				return cfManagementList;
+			}
+		} catch (Exception err) {
+			log.error("[getDashboardConfiguration]", err);
+		}
+		return null;
+	}
+
+	/*
+	 * Shopsystem
+	 * 
+	 * public zahlungsarten[] getZahlungsarten(String SID){ return
+	 * ResHandler.getZahlungsarten(SID); } public lieferarten[]
+	 * getLieferarten(String SID){ return ResHandler.getLieferarten(SID); }
+	 * public products[] getProductsByCat(String SID){ return
+	 * ResHandler.getProductByCat(SID); } public products[] searchProduct(String
+	 * SID,String searchstring){ return
+	 * ResHandler.searchProduct(SID,searchstring); } public products[]
+	 * getProductsByCatID(String SID,String cat, int start){ return
+	 * ResHandler.getProductByCat(SID,start,cat); } public products[]
+	 * getAllProductByCat(String SID,String cat){ return
+	 * ResHandler.getAllProductByCat(SID,cat); } public products
+	 * getProductByID(String SID, int artnumber){ return
+	 * ResHandler.getProductByID(SID,artnumber); } public Userwaren[]
+	 * getUserwaren(String SID){ return ResHandler.getUserwaren(SID); } public
+	 * Userwaren getUserwarenByID(String SID,int WAREN_ID){ return
+	 * ResHandler.getUserwarenByID(SID,WAREN_ID); } public String
+	 * addWarenkorb(String SID, int ARTICLE_ID, int amount){ return
+	 * ResHandler.addWarenkorb(SID,ARTICLE_ID,amount); } public String
+	 * updateWarenkorb(String SID, int WAREN_ID, int status, int ZAHLUNGS_ID,
+	 * int LIEFER_ID, int amount, String comment){ return
+	 * ResHandler.updateWarenkorb(SID, WAREN_ID, status, ZAHLUNGS_ID, LIEFER_ID,
+	 * amount, comment); } public String deleteWarenkorb(String SID, int
+	 * WAREN_ID){ return ResHandler.deleteWarenkorb(SID,WAREN_ID); }
+	 */
+
+}
diff --git a/src/org/openmeetings/app/remote/MeetingMemberService.java b/src/org/openmeetings/app/remote/MeetingMemberService.java
new file mode 100644
index 0000000..5280829
--- /dev/null
+++ b/src/org/openmeetings/app/remote/MeetingMemberService.java
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.calendar.management.MeetingMemberLogic;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class MeetingMemberService {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			MeetingMemberService.class, OpenmeetingsVariables.webAppRootKey);
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+	@Autowired
+	private MeetingMemberLogic meetingMemberLogic;
+
+	public Long updateMeetingMember(String SID, Long meetingMemberId,
+			String firstname, String lastname, String memberStatus,
+			String appointmentStatus, Long appointmentId, Long userid,
+			String email) {
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				return meetingMemberLogic.updateMeetingMember(
+						meetingMemberId, firstname, lastname, memberStatus,
+						appointmentStatus, appointmentId, userid, email);
+			}
+		} catch (Exception err) {
+			log.error("[updateMeetingMember]", err);
+		}
+		return null;
+
+	}
+
+	public Long deleteMeetingMember(String SID, Long meetingMemberId,
+			Long language_id) {
+		log.debug("MeetingMemberService.deleteMeetingmember");
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				return meetingMemberLogic.deleteMeetingMember(
+						meetingMemberId, users_id, language_id);
+			}
+		} catch (Exception err) {
+			log.error("[deleteMeetingMember]", err);
+		}
+		return null;
+
+	}
+}
diff --git a/src/org/openmeetings/app/remote/OrganisationService.java b/src/org/openmeetings/app/remote/OrganisationService.java
new file mode 100644
index 0000000..0bd5ffc
--- /dev/null
+++ b/src/org/openmeetings/app/remote/OrganisationService.java
@@ -0,0 +1,206 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote;
+
+import java.util.LinkedHashMap;
+import java.util.List;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.beans.basic.SearchResult;
+import org.openmeetings.app.data.user.Organisationmanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.persistence.beans.domain.Organisation;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 
+ * @author swagner
+ * 
+ */
+public class OrganisationService {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			OrganisationService.class, OpenmeetingsVariables.webAppRootKey);
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private Organisationmanagement organisationmanagement;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+
+	/**
+	 * Loads a List of all availible Organisations (ADmin-role only)
+	 * 
+	 * @param SID
+	 * @return
+	 */
+	public SearchResult<Organisation> getOrganisations(String SID, int start, int max,
+			String orderby, boolean asc) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			long user_level = userManagement.getUserLevelByID(users_id);
+			return organisationmanagement.getOrganisations(user_level, start,
+					max, orderby, asc);
+		} catch (Exception e) {
+			log.error("getOrganisations", e);
+		}
+		return null;
+	}
+
+	public List<Organisation> getAllOrganisations(String SID) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			return organisationmanagement.getOrganisations(user_level);
+		} catch (Exception e) {
+			log.error("getAllOrganisations", e);
+		}
+		return null;
+	}
+
+	/**
+	 * get an organisation by a given id
+	 * 
+	 * @param SID
+	 * @param organisation_id
+	 * @return
+	 */
+	public Organisation getOrganisationById(String SID, long organisation_id) {
+		Long users_id = sessionManagement.checkSession(SID);
+		long user_level = userManagement.getUserLevelByID(users_id);
+		return organisationmanagement.getOrganisationById(user_level,
+				organisation_id);
+	}
+
+	/**
+	 * deletes a organisation by a given id
+	 * 
+	 * @param SID
+	 * @param organisation_id
+	 * @return
+	 */
+	public Long deleteOrganisation(String SID, long organisation_id) {
+		Long users_id = sessionManagement.checkSession(SID);
+		long user_level = userManagement.getUserLevelByID(users_id);
+		return organisationmanagement.deleteOrganisation(user_level,
+				organisation_id, users_id);
+	}
+
+	/**
+	 * adds or updates an Organisation
+	 * 
+	 * @param SID
+	 * @param organisation_id
+	 * @param orgname
+	 * @return
+	 */
+	public Long saveOrUpdateOrganisation(String SID, Object regObjectObj) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			long user_level = userManagement.getUserLevelByID(users_id);
+			@SuppressWarnings("rawtypes")
+			LinkedHashMap<?, ?> argObjectMap = (LinkedHashMap) regObjectObj;
+			long organisation_id = Long.valueOf(
+					argObjectMap.get("organisation_id").toString()).longValue();
+			if (organisation_id == 0) {
+				return organisationmanagement.addOrganisation(user_level,
+						argObjectMap.get("orgname").toString(), users_id);
+			} else {
+				return organisationmanagement.updateOrganisation(user_level,
+						organisation_id,
+						argObjectMap.get("orgname").toString(), users_id);
+			}
+		} catch (Exception err) {
+			log.error("saveOrUpdateOrganisation", err);
+		}
+		return null;
+
+	}
+
+	/**
+	 * gets all users of a given organisation
+	 * 
+	 * @param SID
+	 * @param organisation_id
+	 * @param start
+	 * @param max
+	 * @param orderby
+	 * @param asc
+	 * @return
+	 */
+	public SearchResult<Users> getUsersByOrganisation(String SID,
+			long organisation_id, int start, int max, String orderby,
+			boolean asc) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				return organisationmanagement
+						.getUsersSearchResultByOrganisationId(organisation_id,
+								start, max, orderby, asc);
+			} else {
+				log.error("Need Administration Account");
+				SearchResult<Users> sResult = new SearchResult<Users>();
+				sResult.setErrorId(-26L);
+				return sResult;
+			}
+		} catch (Exception err) {
+			log.error("getUsersByOrganisation", err);
+		}
+		return null;
+	}
+
+	public Long addUserToOrganisation(String SID, Long organisation_id,
+			Long user_id) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				return organisationmanagement.addUserToOrganisation(user_id,
+						organisation_id, users_id);
+			} else {
+				return -26L;
+			}
+		} catch (Exception err) {
+			log.error("getUsersByOrganisation", err);
+		}
+		return null;
+	}
+
+	public Long deleteUserFromOrganisation(String SID, Long organisation_id,
+			Long user_id, String comment) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			return organisationmanagement.deleteUserFromOrganisation(
+					user_level, user_id, organisation_id);
+		} catch (Exception err) {
+			log.error("getUsersByOrganisation", err);
+		}
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/app/remote/PollService.java b/src/org/openmeetings/app/remote/PollService.java
new file mode 100644
index 0000000..69f8e12
--- /dev/null
+++ b/src/org/openmeetings/app/remote/PollService.java
@@ -0,0 +1,279 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote;
+
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import java.util.Set;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.conference.session.RoomClient;
+import org.openmeetings.app.data.conference.PollManagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.persistence.beans.poll.PollType;
+import org.openmeetings.app.persistence.beans.poll.RoomPoll;
+import org.openmeetings.app.persistence.beans.poll.RoomPollAnswers;
+import org.openmeetings.app.remote.red5.ClientListManager;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.red5.logging.Red5LoggerFactory;
+import org.red5.server.api.IConnection;
+import org.red5.server.api.Red5;
+import org.red5.server.api.service.IPendingServiceCall;
+import org.red5.server.api.service.IPendingServiceCallback;
+import org.red5.server.api.service.IServiceCapableConnection;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 
+ * @author swagner
+ * 
+ */
+public class PollService implements IPendingServiceCallback {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			PollService.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private ClientListManager clientListManager;
+	@Autowired
+	private Usermanagement usermanagement;
+	@Autowired
+	private ScopeApplicationAdapter scopeApplicationAdapter;
+	@Autowired
+	private PollManagement pollManagement;
+
+	public String createPoll(String pollName, String pollQuestion, int pollTypeId) {
+		String returnValue = "";
+		try {
+			log.debug("createPoll: " + pollQuestion);
+
+			IConnection currentcon = Red5.getConnectionLocal();
+			RoomClient rc = clientListManager.getClientByStreamId(currentcon
+					.getClient().getId());
+
+			log.debug("rc: " + rc.getStreamid() + " " + rc.getUsername() + " "
+					+ rc.getIsMod());
+
+			if (rc.getIsMod()) {
+				// will move all existing polls to the archive
+				pollManagement.closePoll(rc.getRoom_id());
+				
+				sendNotification(currentcon, "newPoll",
+						new Object[] { pollManagement.createPoll(rc,
+								pollName, pollQuestion, (long) pollTypeId) });
+				returnValue = "200";
+			} else {
+				returnValue = "202";
+			}
+
+		} catch (Exception err) {
+			returnValue = "203";
+			log.error("[createPoll]", err);
+		}
+		return returnValue;
+	}
+
+	public boolean closePoll() {
+		try {
+			log.debug("closePoll: ");
+
+			IConnection currentcon = Red5.getConnectionLocal();
+			RoomClient rc = clientListManager.getClientByStreamId(currentcon
+					.getClient().getId());
+
+			log.debug("rc: " + rc.getStreamid() + " " + rc.getUsername() + " "
+					+ rc.getIsMod());
+
+			if (rc.getIsMod()) {
+				// will move all existing polls to the archive
+				return pollManagement.closePoll(rc.getRoom_id());
+			}
+
+		} catch (Exception err) {
+			log.error("[closePoll]", err);
+		}
+		return false;
+	}
+
+	public boolean deletePoll(Long poll_id) {
+		try {
+			log.debug("closePoll: ");
+
+			IConnection currentcon = Red5.getConnectionLocal();
+			RoomClient rc = clientListManager.getClientByStreamId(currentcon
+					.getClient().getId());
+
+			log.debug("rc: " + rc.getStreamid() + " " + rc.getUsername() + " "
+					+ rc.getIsMod());
+
+			if (rc.getIsMod()) {
+				// will move all existing polls to the archive
+				return pollManagement.deletePoll(poll_id);
+			}
+
+		} catch (Exception err) {
+			log.error("[closePoll]", err);
+		}
+		return false;
+	}
+
+	public void sendNotification(IConnection current, String clientFunction,
+			Object[] obj) throws Exception {
+		// Notify all clients of the same scope (room)
+		RoomClient rc = this.clientListManager.getClientByStreamId(current
+				.getClient().getId());
+		Collection<Set<IConnection>> conCollection = current.getScope()
+				.getConnections();
+		for (Set<IConnection> conset : conCollection) {
+			for (IConnection conn : conset) {
+				if (conn != null) {
+					if (conn instanceof IServiceCapableConnection) {
+						RoomClient rcl = this.clientListManager
+								.getClientByStreamId(conn.getClient().getId());
+						if (rcl.getIsScreenClient() != null
+								&& rcl.getIsScreenClient()) {
+							// continue;
+						} else {
+							if (rcl.getRoom_id().equals(rc.getRoom_id())
+									&& rcl.getRoom_id() != null) {
+								((IServiceCapableConnection) conn).invoke(
+										clientFunction, obj,
+										scopeApplicationAdapter);
+								log.debug("sending " + clientFunction + " to "
+										+ conn + " " + conn.getClient().getId());
+							}
+						}
+					}
+				}
+			}
+		}
+	}
+
+	public List<PollType> getPollTypeList() {
+		return pollManagement.getPollTypes();
+	}
+
+	public int vote(int pollvalue, int pollTypeId) {
+		int returnVal = 0;
+		try {
+			log.debug("PollService::vote: Enter");
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient rc = clientListManager.getClientByStreamId(streamid);
+
+			if (rc == null) {
+				log.error("RoomClient IS NULL for ClientID: "
+						+ current.getClient().getId());
+				return -1;
+			}
+			long roomId = rc.getRoom_id();
+			if (!pollManagement.hasPoll(roomId)) {
+				log.error("POLL IS NULL for RoomId: " + rc.getRoom_id());
+				return -1;
+			}
+			if (pollManagement.hasVoted(roomId, rc.getUser_id())) {
+				log.debug("hasVoted: true");
+				return -1;
+			}
+			// get Poll
+			RoomPoll roomP = pollManagement.getPoll(roomId);
+
+			log.debug("vote: " + pollvalue + " " + pollTypeId + " "
+					+ roomP.getPollQuestion());
+
+			log.debug("hasVoted: false");
+			RoomPollAnswers rpA = new RoomPollAnswers();
+			if (roomP.getPollType().getIsNumericAnswer()) {
+				log.debug("numeric");
+				rpA.setPointList(pollvalue);
+			} else {
+				log.debug("boolean");
+				// Is boolean Question
+				rpA.setAnswer(new Boolean(pollvalue == 1));
+			}
+			rpA.setVotedUser(usermanagement.getUserById(rc.getUser_id()));
+			rpA.setVoteDate(new Date());
+			rpA.setRoomPoll(roomP);
+			roomP.getRoomPollAnswerList().add(rpA);
+			pollManagement.updatePoll(roomP);
+			return 1;
+		} catch (Exception err) {
+			log.error("[vote]", err);
+		}
+		return returnVal;
+	}
+
+	public RoomPoll getVotes() {
+		return getPoll();
+	}
+
+	public RoomPoll getPoll() {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			RoomClient rc = this.clientListManager.getClientByStreamId(current
+					.getClient().getId());
+
+			// get Poll
+			return pollManagement.getPoll(rc.getRoom_id());
+		} catch (Exception err) {
+			log.error("[getPoll]", err);
+		}
+		return null;
+	}
+
+	public int checkHasVoted() {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient rc = this.clientListManager
+					.getClientByStreamId(streamid);
+
+			long roomId = rc.getRoom_id();
+			if (pollManagement.hasPoll(roomId)) {
+				return pollManagement.hasVoted(roomId, rc.getUser_id()) ? -1 : 1;
+			} else {
+				return -2;
+			}
+		} catch (Exception err) {
+			log.error("[checkHasVoted]", err);
+		}
+		return 0;
+	}
+
+	public List<RoomPoll> getArchivedPollList() {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			RoomClient rc = this.clientListManager.getClientByStreamId(current
+					.getClient().getId());
+
+			// get Poll
+			return pollManagement.getArchivedPollList(rc.getRoom_id());
+		} catch (Exception err) {
+			log.error("[getArchivedPollList]", err);
+		}
+		return null;
+	}
+
+	public void resultReceived(IPendingServiceCall arg0) {
+		// TODO Auto-generated method stub
+		
+	}
+}
diff --git a/src/org/openmeetings/app/remote/PrintService.java b/src/org/openmeetings/app/remote/PrintService.java
new file mode 100644
index 0000000..13e8cf5
--- /dev/null
+++ b/src/org/openmeetings/app/remote/PrintService.java
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.batik.beans.PrintBean;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.utils.crypt.MD5;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class PrintService {
+
+
+	private static final Logger log = Red5LoggerFactory.getLogger(PrintService.class, OpenmeetingsVariables.webAppRootKey);	
+	
+	private static HashMap<String,PrintBean> currentExportList = new HashMap<String,PrintBean>();
+	@Autowired
+	private Sessionmanagement sessionManagement;
+    @Autowired
+    private Usermanagement userManagement;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+	
+	/*
+	 * Export List
+	 * 
+	 */
+	
+	public String addPrintList(String SID, @SuppressWarnings("rawtypes") List map, int width, int height) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+	        Long user_level = userManagement.getUserLevelByID(users_id);
+	        if (authLevelManagement.checkUserLevel(user_level)) {
+	        	String hashRaw = ""+new Date();
+	        	String hash = MD5.do_checksum(hashRaw);
+	        	PrintService.addPrintItembyMap(hash, map, width, height);
+	        	return hash;
+	        }
+		} catch (Exception err) {
+    		log.error("loginUser",err);
+    	}
+    	return null;
+	}
+	
+	public static synchronized PrintBean getPrintItemByHash(String hash) throws Exception {
+		PrintBean itemList = currentExportList.get(hash);
+//		if (itemList != null) {
+//			currentExportList.remove(hash);
+//		}
+		return itemList;
+	}
+	
+	public static synchronized void addPrintItembyMap(String hash, @SuppressWarnings("rawtypes") List map, int width, int height) throws Exception {
+		PrintBean pBean = new PrintBean(hash, map, width, height);
+		currentExportList.put(hash, pBean);
+	}
+}
diff --git a/src/org/openmeetings/app/remote/TermineService.java b/src/org/openmeetings/app/remote/TermineService.java
new file mode 100644
index 0000000..272ae5e
--- /dev/null
+++ b/src/org/openmeetings/app/remote/TermineService.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote;
+
+
+/**
+ * 
+ * @author swagner
+ *
+ */
+public class TermineService {
+}
diff --git a/src/org/openmeetings/app/remote/UserService.java b/src/org/openmeetings/app/remote/UserService.java
new file mode 100644
index 0000000..df3c82e
--- /dev/null
+++ b/src/org/openmeetings/app/remote/UserService.java
@@ -0,0 +1,1694 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.TimeZone;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.conference.session.RoomClient;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.Fieldmanagment;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.basic.dao.OmTimeZoneDaoImpl;
+import org.openmeetings.app.data.beans.basic.SearchResult;
+import org.openmeetings.app.data.calendar.daos.AppointmentDaoImpl;
+import org.openmeetings.app.data.calendar.daos.MeetingMemberDaoImpl;
+import org.openmeetings.app.data.conference.Invitationmanagement;
+import org.openmeetings.app.data.conference.Roommanagement;
+import org.openmeetings.app.data.user.Organisationmanagement;
+import org.openmeetings.app.data.user.Salutationmanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.data.user.dao.PrivateMessageFolderDaoImpl;
+import org.openmeetings.app.data.user.dao.PrivateMessagesDaoImpl;
+import org.openmeetings.app.data.user.dao.UserContactsDaoImpl;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.domain.Organisation;
+import org.openmeetings.app.persistence.beans.invitation.Invitations;
+import org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues;
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.openmeetings.app.persistence.beans.user.PrivateMessageFolder;
+import org.openmeetings.app.persistence.beans.user.PrivateMessages;
+import org.openmeetings.app.persistence.beans.user.Salutations;
+import org.openmeetings.app.persistence.beans.user.UserContacts;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.app.remote.red5.ClientListManager;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.app.templates.RequestContactConfirmTemplate;
+import org.openmeetings.app.templates.RequestContactTemplate;
+import org.openmeetings.utils.crypt.ManageCryptStyle;
+import org.openmeetings.utils.mail.MailHandler;
+import org.openmeetings.utils.math.CalendarPatterns;
+import org.openmeetings.utils.math.TimezoneUtil;
+import org.red5.io.utils.ObjectMap;
+import org.red5.logging.Red5LoggerFactory;
+import org.red5.server.api.scope.IScope;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 
+ * @author swagner
+ * 
+ */
+public class UserService {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			UserService.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private ClientListManager clientListManager;
+	@Autowired
+	private ScopeApplicationAdapter scopeApplicationAdapter;
+	@Autowired
+	private AppointmentDaoImpl appointmentDao;
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private Configurationmanagement cfgManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private Fieldmanagment fieldmanagment;
+	@Autowired
+	private OmTimeZoneDaoImpl omTimeZoneDaoImpl;
+	@Autowired
+	private Salutationmanagement salutationmanagement;
+	@Autowired
+	private Organisationmanagement organisationmanagement;
+	@Autowired
+	private ManageCryptStyle manageCryptStyle;
+	@Autowired
+	private Roommanagement roommanagement;
+	@Autowired
+	private MeetingMemberDaoImpl meetingMemberDao;
+	@Autowired
+	private PrivateMessagesDaoImpl privateMessagesDao;
+	@Autowired
+	private PrivateMessageFolderDaoImpl privateMessageFolderDao;
+	@Autowired
+	private UsersDaoImpl usersDao;
+	@Autowired
+	private UserContactsDaoImpl userContactsDao;
+	@Autowired
+	private MailHandler mailHandler;
+	@Autowired
+	private RequestContactTemplate requestContactTemplate;
+	@Autowired
+	private RequestContactConfirmTemplate requestContactConfirmTemplate;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+	@Autowired
+	private TimezoneUtil timezoneUtil;
+	@Autowired
+	private Invitationmanagement invitationManagement;
+
+	/**
+	 * get your own user-object
+	 * 
+	 * @param SID
+	 * @param user_id
+	 * @return
+	 */
+	public Users getUserSelf(String SID) {
+		Long users_id = sessionManagement.checkSession(SID);
+		return usersDao.getUser(users_id);
+	}
+
+	public Long resetUserPwd(String SID, String email, String login,
+			String applink) {
+		sessionManagement.checkSession(SID);
+		return userManagement.resetUser(email, login, applink);
+	}
+
+	public Object getUserByHash(String SID, String hash) {
+		sessionManagement.checkSession(SID);
+		return usersDao.getUserByHash(hash);
+	}
+
+	public Object resetPassByHash(String SID, String hash, String pass) {
+		sessionManagement.checkSession(SID);
+		return usersDao.resetPassByHash(hash, pass);
+	}
+
+	/**
+	 * get user by id, admin only
+	 * 
+	 * @param SID
+	 * @param user_id
+	 * @return
+	 */
+	public Users getUserById(String SID, long user_id) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		return userManagement.checkAdmingetUserById(user_level, user_id);
+	}
+
+	/**
+	 * refreshes the current SID
+	 * 
+	 * @param SID
+	 * @return
+	 */
+	public String refreshSession(String SID) {
+		try {
+			sessionManagement.checkSession(SID);
+			return "ok";
+		} catch (Exception err) {
+			log.error("[refreshSession]", err);
+		}
+		return "error";
+	}
+
+	/**
+	 * get all availible Salutations
+	 * 
+	 * @param SID
+	 * @return
+	 */
+	public List<Salutations> getUserSalutations(String SID, long language_id) {
+		return salutationmanagement.getUserSalutations(language_id);
+	}
+
+	/**
+	 * 
+	 * @param SID
+	 * @param searchcriteria
+	 *            login,lastname,firstname,user_id
+	 * @param searchstring
+	 * @param max
+	 * @param start
+	 * @param orderby
+	 *            login,lastname,firstname,user_id
+	 * @param asc
+	 * @return
+	 */
+	public List<Users> searchUser(String SID, String searchcriteria,
+			String searchstring, int max, int start, String orderby, boolean asc) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		return userManagement.searchUser(user_level, searchcriteria,
+				searchstring, max, start, orderby, asc);
+	}
+
+	/**
+	 * get a list of all users of an organisation
+	 * 
+	 * @param SID
+	 * @param organisation_id
+	 * @param start
+	 * @param max
+	 * @param orderby
+	 * @param asc
+	 * @return
+	 */
+	public List<Users> getOrgUserList(String SID, long organisation_id,
+			int start, int max, String orderby, boolean asc) {
+		return organisationmanagement.getUsersByOrganisationId(organisation_id,
+				start, max, orderby, asc);
+	}
+
+	public List<Users> getUserListByModForm(String SID) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		return userManagement.getUserByMod(user_level, users_id);
+	}
+
+	/**
+	 * gat a list of all organisations of an user
+	 * 
+	 * @param SID
+	 * @param client_user
+	 * @param start
+	 * @param max
+	 * @param orderby
+	 * @param asc
+	 * @return
+	 */
+	public List<Organisation> getOrganisationListByUser(String SID,
+			long client_user, int start, int max, String orderby, boolean asc) {
+		Long users_id = sessionManagement.checkSession(SID);
+		long user_level = userManagement.getUserLevelByID(users_id);
+		return organisationmanagement.getOrganisationsByUserId(user_level,
+				client_user, start, max, orderby, asc);
+	}
+
+	/**
+	 * gets a list of all not assigned organisations of a user
+	 * 
+	 * @param SID
+	 * @param client_user
+	 * @param start
+	 * @param max
+	 * @param orderby
+	 * @param asc
+	 * @return
+	 */
+	public List<Organisation> getRestOrganisationListByUser(String SID,
+			long client_user, int start, int max, String orderby, boolean asc) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		return organisationmanagement.getRestOrganisationsByUserId(user_level,
+				client_user, start, max, orderby, asc);
+	}
+
+	/**
+	 * gets a whole user-list(admin-role only)
+	 * 
+	 * @param SID
+	 * @param start
+	 * @param max
+	 * @param orderby
+	 * @return
+	 */
+	public SearchResult<Users> getUserList(String SID, int start, int max,
+			String orderby, boolean asc) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		return userManagement
+				.getUsersList(user_level, start, max, orderby, asc);
+	}
+
+	public SearchResult<Users> getUserListWithSearch(String SID, int start, int max,
+			String orderby, boolean asc, String search) {
+		Long users_id = sessionManagement.checkSession(SID);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+		return userManagement.getUsersListWithSearch(user_level, start, max,
+				orderby, asc, search);
+	}
+
+	/**
+	 * gets a user-list by search criteria
+	 * 
+	 * @param SID
+	 * @param search
+	 * @param start
+	 * @param max
+	 * @param orderby
+	 * @return
+	 */
+	public SearchResult<Users> getAllUserBySearchRange(String SID, String search,
+			int start, int max, String orderby, boolean asc) {
+		return userManagement.getAllUserByRange(search, start, max, orderby,
+				asc);
+	}
+
+	/**
+	 * updates the user profile, every user can update his own profile
+	 * 
+	 * @param SID
+	 * @param argObject
+	 * @return user_id or NULL or negativ value (error_id)
+	 */
+	public Long updateUserSelfSmall(String SID,
+			@SuppressWarnings("rawtypes") ObjectMap values) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (user_level != null && user_level >= 1) {
+				return userManagement.saveOrUpdateUser(new Long(3), values,
+						users_id);
+			} else {
+				return new Long(-2);
+			}
+		} catch (Exception err) {
+			log.error("[updateUserSelfSmall] " + err);
+			return new Long(-1);
+		}
+	}
+
+	/**
+	 * 
+	 * @param SID
+	 * @param regObjectObj
+	 * @return
+	 */
+	@SuppressWarnings({ "rawtypes" })
+	public Long saveOrUpdateUser(String SID, Object regObjectObj) {
+		try {
+			LinkedHashMap argObjectMap = (LinkedHashMap) regObjectObj;
+			Long user_idClient = null;
+			if (argObjectMap.get("user_idClient") != null) {
+				user_idClient = Long.valueOf(
+						argObjectMap.get("user_idClient").toString())
+						.longValue();
+			}
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			
+			List<?> orgO = (List<?>)argObjectMap.get("organisations");
+			List<Long> orgIds = new ArrayList<Long>(orgO.size());
+			for (Object o : orgO) {
+				orgIds.add(Long.valueOf((Integer)o));
+			}
+			Date age = null;
+			if (argObjectMap.get("userage") instanceof Date) {
+				age = (Date) argObjectMap.get("userage");
+			}
+
+			log.debug("Mail : " + argObjectMap.get("email").toString());
+			log.debug("Phone : " + argObjectMap.get("phone").toString());
+
+			if (user_idClient == null || user_idClient == 0) {
+				return userManagement.registerUserInit(
+						user_level,
+						Long.valueOf(argObjectMap.get("level_id").toString())
+								.longValue(),
+						Integer.valueOf(
+								argObjectMap.get("availible").toString())
+								.intValue(),
+						Integer.valueOf(argObjectMap.get("status").toString())
+								.intValue(),
+						argObjectMap.get("login").toString(),
+						argObjectMap.get("password").toString(),
+						argObjectMap.get("lastname").toString(),
+						argObjectMap.get("firstname").toString(),
+						argObjectMap.get("email").toString(),
+						age,
+						argObjectMap.get("street").toString(),
+						argObjectMap.get("additionalname").toString(),
+						argObjectMap.get("fax").toString(),
+						argObjectMap.get("zip").toString(),
+						Long.valueOf(argObjectMap.get("states_id").toString())
+								.longValue(),
+						argObjectMap.get("town").toString(),
+						new Long(argObjectMap.get("language_id").toString()),
+						true,
+						orgIds,
+						argObjectMap.get("phone").toString(),
+						"",
+						false,
+						argObjectMap.get("sip_user").toString(),
+						argObjectMap.get("sip_pass").toString(),
+						argObjectMap.get("sip_auth").toString(),
+						Boolean.valueOf(
+								argObjectMap.get("generateSipUserData")
+										.toString()).booleanValue(),
+						argObjectMap.get("jNameTimeZone").toString(),
+						Boolean.valueOf(
+								argObjectMap.get("forceTimeZoneCheck")
+										.toString()).booleanValue(),
+						argObjectMap.get("userOffers").toString(),
+						argObjectMap.get("userSearchs").toString(),
+						Boolean.valueOf(
+								argObjectMap.get("showContactData").toString())
+								.booleanValue(),
+						Boolean.valueOf(
+								argObjectMap.get("showContactDataToContacts")
+										.toString()).booleanValue());
+			} else {
+				return userManagement
+						.updateUser(
+								user_level,
+								user_idClient,
+								Long.valueOf(
+										argObjectMap.get("level_id").toString())
+										.longValue(),
+								argObjectMap.get("login").toString(),
+								argObjectMap.get("password").toString(),
+								argObjectMap.get("lastname").toString(),
+								argObjectMap.get("firstname").toString(),
+								age,
+								argObjectMap.get("street").toString(),
+								argObjectMap.get("additionalname").toString(),
+								argObjectMap.get("zip").toString(),
+								Long.valueOf(
+										argObjectMap.get("states_id")
+												.toString()).longValue(),
+								argObjectMap.get("town").toString(),
+								new Long(argObjectMap.get("language_id").toString()),
+								Integer.valueOf(
+										argObjectMap.get("availible")
+												.toString()).intValue(),
+								argObjectMap.get("telefon").toString(),
+								argObjectMap.get("fax").toString(),
+								argObjectMap.get("mobil").toString(),
+								argObjectMap.get("email").toString(),
+								argObjectMap.get("comment").toString(),
+								Integer.valueOf(
+										argObjectMap.get("status").toString())
+										.intValue(),
+								orgIds,
+								Integer.valueOf(
+										argObjectMap.get("title_id").toString())
+										.intValue(),
+								argObjectMap.get("phone").toString(),
+								argObjectMap.get("sip_user").toString(),
+								argObjectMap.get("sip_pass").toString(),
+								argObjectMap.get("sip_auth").toString(),
+								Boolean.valueOf(
+										argObjectMap.get("generateSipUserData")
+												.toString()).booleanValue(),
+								argObjectMap.get("jNameTimeZone").toString(),
+								Boolean.valueOf(
+										argObjectMap.get("forceTimeZoneCheck")
+												.toString()).booleanValue(),
+								argObjectMap.get("userOffers").toString(),
+								argObjectMap.get("userSearchs").toString(),
+								Boolean.valueOf(
+										argObjectMap.get("showContactData")
+												.toString()).booleanValue(),
+								Boolean.valueOf(
+										argObjectMap.get(
+												"showContactDataToContacts")
+												.toString()).booleanValue());
+			}
+		} catch (Exception ex) {
+			log.error("[saveOrUpdateUser]: ", ex);
+		}
+		return null;
+	}
+
+	/**
+	 * deletes a user
+	 * 
+	 * @param SID
+	 * @param user_idClient
+	 * @return
+	 */
+	public Long deleteUserAdmin(String SID, Long user_idClient) {
+		log.debug("deleteUserAdmin");
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			// admins only
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				// no self destruction ;-)
+				if (!users_id.equals(user_idClient)) {
+
+					// Setting user deleted
+					Long userId = usersDao.deleteUserID(user_idClient);
+
+					return userId;
+				} else {
+					return new Long(-38);
+				}
+			} else {
+				return new Long(-11);
+			}
+		} catch (Exception err) {
+			log.error("[deleteUserAdmin]", err);
+		}
+		return null;
+	}
+
+	public Boolean kickUserByStreamId(String SID, String streamid) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// admins only
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+				RoomClient rcl = this.clientListManager
+						.getClientByStreamId(streamid);
+
+				if (rcl == null) {
+					return true;
+				}
+				String scopeName = "hibernate";
+				if (rcl.getRoom_id() != null) {
+					scopeName = rcl.getRoom_id().toString();
+				}
+				IScope currentScope = this.scopeApplicationAdapter
+						.getRoomScope(scopeName);
+
+				HashMap<Integer, String> messageObj = new HashMap<Integer, String>();
+				messageObj.put(0, "kick");
+				this.scopeApplicationAdapter.sendMessageById(messageObj,
+						streamid, currentScope);
+
+				this.scopeApplicationAdapter
+						.roomLeaveByScope(rcl, currentScope, true);
+
+				return true;
+			}
+
+		} catch (Exception err) {
+			log.error("[kickUserByStreamId]", err);
+		}
+		return null;
+	}
+
+	public Users updateUserSelfTimeZone(String SID, String jname) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				Users us = userManagement.getUserById(users_id);
+
+				us.setOmTimeZone(omTimeZoneDaoImpl.getOmTimeZone(jname));
+				us.setForceTimeZoneCheck(false);
+				us.setUpdatetime(new Date());
+
+				userManagement.updateUser(us);
+
+				return us;
+
+			}
+		} catch (Exception err) {
+			log.error("[updateUserTimeZone]", err);
+		}
+		return null;
+	}
+
+	public SearchResult<Users> searchUserProfile(String SID, String searchTxt,
+			String userOffers, String userSearchs, String orderBy, int start,
+			int max, boolean asc) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				SearchResult<Users> searchResult = new SearchResult<Users>();
+				searchResult.setObjectName(Users.class.getName());
+				List<Users> userList = userManagement.searchUserProfile(
+						searchTxt, userOffers, userSearchs, orderBy, start,
+						max, asc);
+				searchResult.setResult(userList);
+				Long resultInt = userManagement.searchCountUserProfile(
+						searchTxt, userOffers, userSearchs);
+				searchResult.setRecords(resultInt);
+
+				return searchResult;
+			}
+		} catch (Exception err) {
+			log.error("[searchUserProfile]", err);
+		}
+		return null;
+	}
+
+	public Long requestUserToContactList(String SID, Long userToAdd_id,
+			String domain, String port, String webapp) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				Long countContacts = userContactsDao.checkUserContacts(
+						userToAdd_id, users_id);
+
+				if (countContacts != null && countContacts > 0) {
+					return -45L;
+				}
+
+				String hash = manageCryptStyle
+						.getInstanceOfCrypt()
+						.createPassPhrase(
+								CalendarPatterns
+										.getDateWithTimeByMiliSeconds(new Date()));
+
+				Long userContactId = userContactsDao.addUserContact(
+						userToAdd_id, users_id, true, hash);
+
+				Users user = userManagement.getUserById(users_id);
+
+				Users userToAdd = userManagement.getUserById(userToAdd_id);
+
+				Long language_id = userToAdd.getLanguage_id();
+				if (language_id == null) {
+					language_id = Long.valueOf(
+							cfgManagement.getConfKey(3, "default_lang_id")
+									.getConf_value()).longValue();
+				}
+
+				String message = "";
+
+				Fieldlanguagesvalues fValue1192 = fieldmanagment
+						.getFieldByIdAndLanguage(1192L, language_id);
+				Fieldlanguagesvalues fValue1193 = fieldmanagment
+						.getFieldByIdAndLanguage(1193L, language_id);
+				Fieldlanguagesvalues fValue1190 = fieldmanagment
+						.getFieldByIdAndLanguage(1190L, language_id);
+				Fieldlanguagesvalues fValue1191 = fieldmanagment
+						.getFieldByIdAndLanguage(1191L, language_id);
+				Fieldlanguagesvalues fValue1196 = fieldmanagment
+						.getFieldByIdAndLanguage(1196L, language_id);
+
+				message += fValue1192.getValue() + " "
+						+ userToAdd.getFirstname() + " "
+						+ userToAdd.getLastname() + "<br/><br/>";
+				message += user.getFirstname() + " " + user.getLastname() + " "
+						+ fValue1193.getValue() + "<br/>";
+				message += fieldmanagment.getString(1194L, language_id) + "<br/>";
+
+				String baseURL = "http://" + domain + ":" + port + webapp;
+				if (port.equals("80")) {
+					baseURL = "http://" + domain + webapp;
+				} else if (port.equals("443")) {
+					baseURL = "https://" + domain + webapp;
+				}
+
+				privateMessagesDao.addPrivateMessage(user.getFirstname() + " "
+						+ user.getLastname() + " " + fValue1193.getValue(),
+						message, 0L, user, userToAdd, userToAdd, false, null,
+						true, userContactId, userToAdd.getAdresses().getEmail());
+
+				String link = baseURL + "?cuser=" + hash;
+
+				String accept_link = link + "&tAccept=yes";
+				String deny_link = link + "&tAccept=no";
+
+				String aLinkHTML = "<a href='" + accept_link + "'>"
+						+ fValue1190.getValue() + "</a><br/>";
+				String denyLinkHTML = "<a href='" + deny_link + "'>"
+						+ fValue1191.getValue() + "</a><br/>";
+				String profileLinkHTML = "<a href='" + link + "'>"
+						+ fValue1196.getValue() + "</a><br/>";
+
+				String template = requestContactTemplate
+						.getRequestContactTemplate(message, aLinkHTML,
+								denyLinkHTML, profileLinkHTML);
+
+				if (userToAdd.getAdresses() != null) {
+					mailHandler.sendMail(userToAdd.getAdresses().getEmail(),
+							user.getFirstname() + " " + user.getLastname()
+									+ " " + fValue1193.getValue(), template);
+				}
+
+				return userContactId;
+			}
+		} catch (Exception err) {
+			log.error("[requestuserToContactList]", err);
+		}
+		return null;
+	}
+
+	public List<UserContacts> getPendingUserContacts(String SID) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				List<UserContacts> uList = userContactsDao
+						.getContactRequestsByUserAndStatus(users_id, true);
+
+				return uList;
+			}
+
+		} catch (Exception err) {
+			log.error("[getPendingUserContact]", err);
+		}
+		return null;
+	}
+
+	public Object changeUserContactByHash(String SID, String hash,
+			Boolean status) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				UserContacts userContact = userContactsDao
+						.getContactsByHash(hash);
+
+				if (userContact == null) {
+
+					log.error("changeUserContactByHash " + hash);
+
+					return -48L;
+				}
+
+				if (userContact.getContact().getUser_id().equals(users_id)) {
+
+					return this.changePendingStatusUserContacts(SID,
+							userContact.getUserContactId(), status);
+
+				} else {
+					return -48L;
+				}
+
+			}
+
+		} catch (Exception err) {
+			log.error("[changeUserContactByHash]", err);
+		}
+		return null;
+	}
+
+	public List<UserContacts> getUserContacts(String SID) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				List<UserContacts> uList = userContactsDao
+						.getContactsByUserAndStatus(users_id, false);
+
+				return uList;
+			}
+
+		} catch (Exception err) {
+			log.error("[getPendingUserContact]", err);
+		}
+		return null;
+	}
+
+	public Long checkPendingStatus(String SID, Long userContactId) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				UserContacts userContacts = userContactsDao
+						.getUserContacts(userContactId);
+
+				if (userContacts == null) {
+					return -46L;
+				}
+
+				if (userContacts.getPending() != null
+						&& !userContacts.getPending()) {
+					return -47L;
+				}
+
+				return userContactId;
+			}
+		} catch (Exception err) {
+			log.error("[checkPendingStatus]", err);
+		}
+		return null;
+	}
+
+	public Integer removeContactUser(String SID, Long userContactId) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				UserContacts userContacts = userContactsDao
+						.getUserContacts(userContactId);
+
+				if (userContacts == null) {
+					return -49;
+				}
+
+				return userContactsDao.deleteUserContact(userContactId);
+
+			}
+		} catch (Exception err) {
+			log.error("[removeContactUser]", err);
+		}
+		return null;
+	}
+
+	public Long changePendingStatusUserContacts(String SID, Long userContactId,
+			Boolean pending) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				UserContacts userContacts = userContactsDao
+						.getUserContacts(userContactId);
+
+				if (userContacts == null) {
+					return -46L;
+				}
+
+				if (userContacts.getPending() != null
+						&& !userContacts.getPending()) {
+					return -47L;
+				}
+
+				if (pending) {
+
+					userContactsDao.updateContactStatus(userContactId, false);
+
+					userContacts = userContactsDao
+							.getUserContacts(userContactId);
+
+					userContactsDao.addUserContact(userContacts.getOwner()
+							.getUser_id(), users_id, false, "");
+
+					Users user = userContacts.getOwner();
+
+					if (user.getAdresses() != null) {
+
+						Long language_id = user.getLanguage_id();
+						if (language_id == null) {
+							language_id = Long.valueOf(
+									cfgManagement.getConfKey(3,
+											"default_lang_id").getConf_value())
+									.longValue();
+						}
+
+						String message = "";
+
+						Fieldlanguagesvalues fValue1192 = fieldmanagment
+								.getFieldByIdAndLanguage(1192L, language_id);
+						Fieldlanguagesvalues fValue1198 = fieldmanagment
+								.getFieldByIdAndLanguage(1198L, language_id);
+
+						message += fValue1192.getValue() + " "
+								+ user.getFirstname() + " "
+								+ user.getLastname() + "<br/><br/>";
+						message += userContacts.getContact().getFirstname()
+								+ " " + userContacts.getContact().getLastname()
+								+ " " + fValue1198.getValue();
+
+						String template = requestContactConfirmTemplate
+								.getRequestContactTemplate(message);
+
+						privateMessagesDao.addPrivateMessage(
+								user.getFirstname() + " " + user.getLastname()
+										+ " " + fValue1198.getValue(), message,
+								0L, userContacts.getContact(), user, user,
+								false, null, false, 0L, user.getAdresses().getEmail());
+
+						mailHandler.sendMail(user.getAdresses().getEmail(),
+								userContacts.getContact().getFirstname()
+										+ " "
+										+ userContacts.getContact()
+												.getLastname() + " "
+										+ fValue1198.getValue(), template);
+
+					}
+
+				} else {
+
+					userContactsDao.deleteUserContact(userContactId);
+
+				}
+
+				return userContactId;
+			}
+
+		} catch (Exception err) {
+			log.error("[getPendingUserContact]", err);
+		}
+		return null;
+	}
+
+	private Date createCalendarDate(TimeZone timezone, String dateOnly, String time) {
+		Integer hour = Integer.valueOf(
+				time.substring(0, 2)).intValue();
+		Integer minute = Integer.valueOf(
+				time.substring(3, 5)).intValue();
+
+		log.info("createCalendar Hour: " + hour);
+		log.info("createCalendar Minute: " + minute);
+
+		Calendar cal = TimezoneUtil.getCalendarInTimezone(dateOnly, timezone);
+		cal.set(Calendar.HOUR_OF_DAY, hour);
+		cal.set(Calendar.MINUTE, minute);
+		cal.set(Calendar.SECOND, 0);
+		cal.set(Calendar.MILLISECOND, 0);
+		
+		return cal.getTime();
+	}
+	
+	public Long composeMail(String SID, List<String> recipients,
+			String subject, String message, Boolean bookedRoom,
+			String validFromDate, String validFromTime, String validToDate,
+			String validToTime, Long parentMessageId, Long roomtype_id,
+			String domain, String port, String webapp) {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+				
+				TimeZone timezone = timezoneUtil.getTimezoneByUser(usersDao.getUser(users_id));
+				
+				Date appointmentstart = createCalendarDate(timezone, validFromDate, validFromTime);
+				Date appointmentend = createCalendarDate(timezone, validToDate, validToTime);
+
+				log.info("validFromDate: "
+						+ CalendarPatterns
+								.getDateWithTimeByMiliSeconds(appointmentstart));
+				log.info("validToDate: "
+						+ CalendarPatterns
+								.getDateWithTimeByMiliSeconds(appointmentend));
+
+				Users from = userManagement.getUserById(users_id);
+
+				Rooms room = null;
+				
+				String baseURL = "http://" + domain + ":" + port + webapp;
+				if (port.equals("80")) {
+					baseURL = "http://" + domain + webapp;
+				} else if (port.equals("443")) {
+					baseURL = "https://" + domain + webapp;
+				}
+
+				Long room_id = null;
+				Long appointmentId = null;
+				
+				if (bookedRoom) {
+					room_id = roommanagement.addRoom(3, // Userlevel
+							subject, // name
+							roomtype_id, // RoomType
+							"", // Comment
+							new Long(100), // Number of participants
+							false, // public
+							null, // Organisations
+							true, // Appointment
+							false, // Demo Room => Meeting Timer
+							null, // Meeting Timer time in seconds
+							false, // Is Moderated Room
+							null, // Moderation List Room
+							true, // Allow User Questions
+							false, // isAudioOnly
+							false, // isClosed
+							"", // redirectURL
+							"", // sipNumber
+							"", // conferencePIN
+							null, // ownerId
+							null, null, 
+							false, // hideTopBar
+							false, // hideChat
+							false, // hideActivitiesAndActions
+							false, // hideFilesExplorer
+							false, // hideActionsMenu
+							false, // hideScreenSharing 
+							false, // hideWhiteboard
+							false //showMicrophoneStatus
+							);
+
+					room = roommanagement.getRoomById(room_id);
+					
+					String sendJNameTimeZone = from.getOmTimeZone().getJname();
+					
+					appointmentId = this.addAppointmentToUser(subject, message, from,
+							recipients, room, appointmentstart,
+							appointmentend, true, true,
+							sendJNameTimeZone);
+
+				}
+
+				recipients.add(from.getAdresses().getEmail());
+
+				String sendJNameTimeZone = from.getOmTimeZone().getJname();
+				
+				String profile_link = baseURL + "?cuser=1";
+				
+				
+
+				for (String email : recipients) {
+
+					// Map receipent = (Map) recipients.get(iter.next());
+
+					// String email = receipent.get("email").toString();
+					
+					Long language_id = from.getLanguage_id();
+					if (language_id == null) {
+						language_id = Long.valueOf(
+								cfgManagement.getConfKey(3,
+										"default_lang_id").getConf_value())
+								.longValue();
+					}
+					String invitation_link = null;
+					Users to = userManagement.getUserByEmail(email);
+					
+					
+					
+					if (bookedRoom) {
+						// Add the appointment to the calendar of the user (if its an internal user)
+						// if the user is the sender then we already added the appointment as we created the 
+						// room, the invitations always belong to the appointment of the meeting creator
+						if (to != null && !to.getUser_id().equals(from.getUser_id())) {
+							this.addAppointmentToUser(subject, message, to,
+									recipients, room, appointmentstart,
+									appointmentend, false, true,
+									sendJNameTimeZone);
+						}
+						
+						Invitations invitation = invitationManagement
+								.addInvitationLink(
+										new Long(2), // userlevel
+										from.getFirstname() + " " + from.getLastname(), // username
+										message,
+										baseURL, // baseURl
+										from.getAdresses().getEmail(), // email
+										subject, // subject
+										room_id, // room_id
+										"public",
+										false, // passwordprotected
+										"", // invitationpass
+										2, // valid type
+										appointmentstart, // valid from
+										appointmentend, // valid to
+										from.getUser_id(), // created by
+										baseURL,
+										from.getUser_id(),
+										false, // really send mail sendMail
+										appointmentstart,
+										appointmentend,
+										appointmentId,
+										from.getFirstname() + " " + from.getLastname());
+						
+						invitation_link = baseURL + "?invitationHash="
+								+ invitation.getHash();
+
+						
+					}
+					
+					if (to != null) {
+						
+						if (!to.getUser_id().equals(from.getUser_id())) {
+							// One message to the Send
+							privateMessagesDao.addPrivateMessage(subject, message,
+									parentMessageId, from, to, from, bookedRoom,
+									room, false, 0L, email);
+	
+							// One message to the Inbox
+							privateMessagesDao.addPrivateMessage(subject, message,
+									parentMessageId, from, to, to, bookedRoom,
+									room, false, 0L, email);
+							
+							// One copy of the Inbox message to the user
+							if (to.getLanguage_id() != null) {
+								language_id = to.getLanguage_id();
+							}
+						}
+						
+					} else {
+						
+						// One message to the Send
+						privateMessagesDao.addPrivateMessage(subject, message,
+								parentMessageId, from, to, from, bookedRoom,
+								room, false, 0L, email);
+						
+						//there is no Inbox for external users
+						
+					}
+					
+					//We do not send an email to the one that has created the private message
+					if (to != null && to.getUser_id().equals(from.getUser_id())) {
+						continue;
+					}
+					
+					Fieldlanguagesvalues fValue1301 = fieldmanagment
+							.getFieldByIdAndLanguage(1301L, language_id);
+					Fieldlanguagesvalues fValue1302 = fieldmanagment
+							.getFieldByIdAndLanguage(1302L, language_id);
+					Fieldlanguagesvalues labelid504 = fieldmanagment
+							.getFieldByIdAndLanguage(new Long(504), language_id);
+					Fieldlanguagesvalues labelid503 = fieldmanagment
+							.getFieldByIdAndLanguage(new Long(503), language_id);
+
+					String aLinkHTML = "";
+					if (to != null) {
+						aLinkHTML = "<br/><br/><a href='" + profile_link
+							+ "'>" + fValue1302.getValue() + "</a><br/>";
+					}
+					
+					if (invitation_link  == null) {
+						invitation_link = "";
+					} else {
+						invitation_link = 
+							"<br/>" //
+							+ CalendarPatterns.getDateWithTimeByMiliSecondsAndTimeZone(appointmentstart, timezone)
+							+ "<br/> - <br/>" //
+						    + CalendarPatterns.getDateWithTimeByMiliSecondsAndTimeZone(appointmentstart, timezone)	
+							+ "<br/>" + labelid503.getValue() + "<br/><a href='" + invitation_link
+							+ "'>" + labelid504.getValue() + "</a><br/>";
+					}
+
+					mailHandler.sendMail(email, fValue1301.getValue() + " "
+							+ subject, message.replaceAll("\\<.*?>", "")
+							+ aLinkHTML
+							+ invitation_link);
+
+					
+				}
+
+			}
+
+		} catch (Exception err) {
+			log.error("[composeMail]", err);
+		}
+		return null;
+	}
+
+	/*
+	 * Date appointmentstart = calFrom.getTime(); Date appointmentend =
+	 * calTo.getTime();
+	 */
+	private Long addAppointmentToUser(String subject, String message, Users to,
+			List<String> recipients, Rooms room, Date appointmentstart,
+			Date appointmentend, Boolean invitor, Boolean isConnectedEvent,
+			String sendJNameTimeZone) throws Exception {
+		
+		Long appointmentId = appointmentDao.addAppointment(subject,
+				to.getUser_id(), "", message, appointmentstart, appointmentend,
+				false, false, false, false, 1L, 2L, room, to.getLanguage_id(),
+				false, "", isConnectedEvent, sendJNameTimeZone);
+
+		for (String email : recipients) {
+
+			Users meetingMember = userManagement.getUserByEmail(email);
+			
+			if (meetingMember != null) {
+
+				String firstname = meetingMember.getFirstname();
+				String lastname = meetingMember.getLastname();
+	
+				meetingMemberDao.addMeetingMember(firstname, lastname, "0", "0",
+						appointmentId, meetingMember.getUser_id(), email, invitor,
+						meetingMember.getOmTimeZone(), isConnectedEvent);
+
+			} else {
+				
+				meetingMemberDao.addMeetingMember("", "", "0", "0",
+						appointmentId, null, email, invitor,
+						omTimeZoneDaoImpl.getOmTimeZone(sendJNameTimeZone), isConnectedEvent);
+				
+			}
+		}
+		
+		return appointmentId;
+
+	}
+	
+	public Long getNumberUnreadMessages(String SID) {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				SearchResult<PrivateMessages> searchResult = new SearchResult<PrivateMessages>();
+				searchResult.setObjectName(Users.class.getName());
+				return privateMessagesDao
+						.getNumberMessages(users_id, 0L, false);
+
+			}
+		} catch (Exception err) {
+			log.error("[getNumberUnreadMessages]", err);
+		}
+		return null;
+	}
+
+	public SearchResult<PrivateMessages> getInbox(String SID, String search, String orderBy,
+			int start, Boolean asc, Integer max) {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				SearchResult<PrivateMessages> searchResult = new SearchResult<PrivateMessages>();
+				searchResult.setObjectName(Users.class.getName());
+				List<PrivateMessages> userList = privateMessagesDao
+						.getPrivateMessagesByUser(users_id, search, orderBy,
+								start, asc, 0L, max);
+
+				searchResult.setResult(userList);
+
+				Long resultInt = privateMessagesDao.countPrivateMessagesByUser(
+						users_id, search, 0L);
+
+				searchResult.setRecords(resultInt);
+
+				return searchResult;
+
+			}
+
+		} catch (Exception err) {
+			log.error("[getInbox]", err);
+		}
+		return null;
+	}
+
+	public SearchResult<PrivateMessages> getSend(String SID, String search, String orderBy,
+			Integer start, Boolean asc, Integer max) {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				SearchResult<PrivateMessages> searchResult = new SearchResult<PrivateMessages>();
+				searchResult.setObjectName(Users.class.getName());
+				List<PrivateMessages> userList = privateMessagesDao
+						.getSendPrivateMessagesByUser(users_id, search,
+								orderBy, start, asc, 0L, max);
+
+				searchResult.setResult(userList);
+
+				Long resultInt = privateMessagesDao
+						.countSendPrivateMessagesByUser(users_id, search, 0L);
+
+				searchResult.setRecords(resultInt);
+
+				return searchResult;
+
+			}
+
+		} catch (Exception err) {
+			log.error("[getInbox]", err);
+		}
+		return null;
+	}
+
+	public SearchResult<PrivateMessages> getTrash(String SID, String search, String orderBy,
+			Integer start, Boolean asc, Integer max) {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				SearchResult<PrivateMessages> searchResult = new SearchResult<PrivateMessages>();
+				searchResult.setObjectName(Users.class.getName());
+				List<PrivateMessages> userList = privateMessagesDao
+						.getTrashPrivateMessagesByUser(users_id, search,
+								orderBy, start, asc, max);
+
+				searchResult.setResult(userList);
+
+				Long resultInt = privateMessagesDao
+						.countTrashPrivateMessagesByUser(users_id, search);
+
+				searchResult.setRecords(resultInt);
+
+				return searchResult;
+
+			}
+
+		} catch (Exception err) {
+			log.error("[getInbox]", err);
+		}
+		return null;
+	}
+
+	public SearchResult<PrivateMessages> getFolder(String SID, Long privateMessageFolderId,
+			String search, String orderBy, Integer start, Boolean asc,
+			Integer max) {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				SearchResult<PrivateMessages> searchResult = new SearchResult<PrivateMessages>();
+				searchResult.setObjectName(Users.class.getName());
+				List<PrivateMessages> userList = privateMessagesDao
+						.getFolderPrivateMessagesByUser(users_id, search,
+								orderBy, start, asc, privateMessageFolderId,
+								max);
+
+				searchResult.setResult(userList);
+
+				Long resultInt = privateMessagesDao
+						.countFolderPrivateMessagesByUser(users_id,
+								privateMessageFolderId, search);
+
+				searchResult.setRecords(resultInt);
+
+				return searchResult;
+
+			}
+
+		} catch (Exception err) {
+			log.error("[getInbox]", err);
+		}
+		return null;
+	}
+
+	public Long getFolderCount(String SID, Long privateMessageFolderId) {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				return privateMessagesDao.countFolderPrivateMessagesByUser(
+						users_id, privateMessageFolderId, "");
+
+			}
+
+		} catch (Exception err) {
+			log.error("[getInbox]", err);
+		}
+		return null;
+	}
+
+	public Integer moveMailsToFolder(String SID,
+			@SuppressWarnings("rawtypes") List privateMessageIntsIds,
+			Long newFolderId) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				List<Long> privateMessageIds = new LinkedList<Long>();
+
+				for (Object pMessageId : privateMessageIntsIds) {
+					privateMessageIds.add(Long.valueOf(pMessageId.toString())
+							.longValue());
+				}
+
+				return privateMessagesDao.moveMailsToFolder(privateMessageIds,
+						newFolderId);
+
+			}
+		} catch (Exception err) {
+			log.error("[moveMailsToFolder]", err);
+		}
+		return null;
+	}
+
+	public Integer moveMailsToTrash(String SID,
+			@SuppressWarnings("rawtypes") List privateMessageIntsIds,
+			Boolean isTrash) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				List<Long> privateMessageIds = new LinkedList<Long>();
+
+				for (Object pMessageId : privateMessageIntsIds) {
+					privateMessageIds.add(Long.valueOf(pMessageId.toString())
+							.longValue());
+				}
+
+				log.debug("moveMailsToTrash :: " + isTrash);
+
+				return privateMessagesDao.updatePrivateMessagesToTrash(
+						privateMessageIds, isTrash, 0L);
+
+			}
+		} catch (Exception err) {
+			log.error("[moveMailsToTrash]", err);
+		}
+		return -1;
+	}
+
+	public Integer deletePrivateMessages(String SID,
+			@SuppressWarnings("rawtypes") List privateMessageIntsIds) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				List<Long> privateMessageIds = new LinkedList<Long>();
+
+				for (Object pMessageId : privateMessageIntsIds) {
+					privateMessageIds.add(Long.valueOf(pMessageId.toString())
+							.longValue());
+				}
+
+				return privateMessagesDao
+						.deletePrivateMessages(privateMessageIds);
+
+			}
+		} catch (Exception err) {
+			log.error("[markReadStatusMails]", err);
+		}
+		return -1;
+	}
+
+	public Integer markReadStatusMails(String SID,
+			@SuppressWarnings("rawtypes") List privateMessageIntsIds,
+			Boolean isRead) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				List<Long> privateMessageIds = new LinkedList<Long>();
+
+				for (Object pMessageId : privateMessageIntsIds) {
+					privateMessageIds.add(Long.valueOf(pMessageId.toString())
+							.longValue());
+				}
+
+				log.debug("markReadStatusMails :: " + isRead);
+
+				return privateMessagesDao.updatePrivateMessagesReadStatus(
+						privateMessageIds, isRead);
+
+			}
+		} catch (Exception err) {
+			log.error("[markReadStatusMails]", err);
+		}
+		return -1;
+	}
+
+	public Integer markReadStatusMail(String SID, Long privateMessageId,
+			Boolean isRead) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				List<Long> privateMessageIds = new LinkedList<Long>();
+				privateMessageIds.add(privateMessageId);
+
+				return privateMessagesDao.updatePrivateMessagesReadStatus(
+						privateMessageIds, isRead);
+
+				// PrivateMessages privateMessage =
+				// privateMessagesDao.getPrivateMessagesById(privateMessageId);
+				//
+				// privateMessage.setIsRead(isRead);
+				//
+				// privateMessagesDao.updatePrivateMessages(privateMessage);
+
+			}
+		} catch (Exception err) {
+			log.error("[markReadStatusMail]", err);
+		}
+		return null;
+	}
+
+	public List<PrivateMessageFolder> getPrivateMessageFoldersByUser(String SID) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				return privateMessageFolderDao
+						.getPrivateMessageFolderByUserId(users_id);
+
+			}
+
+		} catch (Exception err) {
+			log.error("[getPrivateMessageFolderByUser]", err);
+		}
+		return null;
+	}
+
+	public Long addPrivateMessageFolder(String SID, String folderName) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				privateMessageFolderDao.addPrivateMessageFolder(folderName,
+						users_id);
+
+			}
+
+		} catch (Exception err) {
+			log.error("[addPrivateMessageFolder]", err);
+		}
+		return null;
+	}
+
+	public Boolean checkUserIsInContactList(String SID, Long user_id) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				List<UserContacts> uList = userContactsDao
+						.getContactsByUserAndStatus(users_id, false);
+
+				for (UserContacts userContact : uList) {
+
+					if (userContact.getContact().getUser_id().equals(user_id)) {
+						return true;
+					}
+
+				}
+
+				return false;
+
+			}
+
+		} catch (Exception err) {
+			log.error("[checkUserIsInContactList]", err);
+		}
+		return null;
+	}
+
+	public void shareCalendarUserContact(String SID, Long userContactId,
+			Boolean shareCalendar) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				UserContacts userContacts = userContactsDao
+						.getUserContacts(userContactId);
+
+				userContacts.setShareCalendar(shareCalendar);
+
+				userContactsDao.updateContact(userContacts);
+
+			}
+
+		} catch (Exception err) {
+			log.error("[shareCalendarUserContact]", err);
+		}
+	}
+
+	public Long updatePrivateMessageFolder(String SID,
+			Long privateMessageFolderId, String folderName) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				PrivateMessageFolder privateMessageFolder = privateMessageFolderDao
+						.getPrivateMessageFolderById(privateMessageFolderId);
+
+				privateMessageFolder.setFolderName(folderName);
+				privateMessageFolder.setUpdated(new Date());
+
+				privateMessageFolderDao
+						.updatePrivateMessages(privateMessageFolder);
+
+				return privateMessageFolderId;
+
+			}
+
+		} catch (Exception err) {
+			log.error("[updatePrivateMessageFolder]", err);
+		}
+		return null;
+	}
+
+	public Long deletePrivateMessageFolder(String SID,
+			Long privateMessageFolderId) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				PrivateMessageFolder privateMessageFolder = privateMessageFolderDao
+						.getPrivateMessageFolderById(privateMessageFolderId);
+
+				privateMessageFolderDao
+						.deletePrivateMessages(privateMessageFolder);
+
+			}
+
+		} catch (Exception err) {
+			log.error("[deletePrivateMessageFolder]", err);
+		}
+		return null;
+	}
+
+	public List<UserContacts> getUserContactsWithShareCalendar(String SID) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				return userContactsDao.getContactsByShareCalendar(users_id,
+						true);
+
+			}
+
+		} catch (Exception err) {
+			log.error("[getContactsByShareCalendar]", err);
+		}
+		return null;
+	}
+
+	public Boolean kickUserByPublicSID(String SID, String publicSID) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			// users only
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				RoomClient rcl = this.clientListManager
+						.getClientByPublicSID(publicSID, false);
+
+				if (rcl == null) {
+					return true;
+				}
+				String scopeName = "hibernate";
+				if (rcl.getRoom_id() != null) {
+					scopeName = rcl.getRoom_id().toString();
+				}
+				IScope currentScope = this.scopeApplicationAdapter
+						.getRoomScope(scopeName);
+
+				HashMap<Integer, String> messageObj = new HashMap<Integer, String>();
+				messageObj.put(0, "kick");
+
+				this.scopeApplicationAdapter.sendMessageById(messageObj,
+						rcl.getStreamid(), currentScope);
+
+				this.scopeApplicationAdapter
+						.roomLeaveByScope(rcl, currentScope, true);
+
+				return true;
+			}
+
+		} catch (Exception err) {
+			log.error("[kickUserByStreamId]", err);
+		}
+		return null;
+	}
+}
diff --git a/src/org/openmeetings/app/remote/WhiteBoardService.java b/src/org/openmeetings/app/remote/WhiteBoardService.java
new file mode 100644
index 0000000..6c978a1
--- /dev/null
+++ b/src/org/openmeetings/app/remote/WhiteBoardService.java
@@ -0,0 +1,701 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote;
+
+import java.io.File;
+import java.io.FilenameFilter;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.Map;
+
+import org.apache.commons.collections.ComparatorUtils;
+import org.openmeetings.app.conference.session.RoomClient;
+import org.openmeetings.app.conference.whiteboard.Cliparts;
+import org.openmeetings.app.conference.whiteboard.WhiteboardObject;
+import org.openmeetings.app.conference.whiteboard.WhiteboardObjectList;
+import org.openmeetings.app.conference.whiteboard.WhiteboardSyncLockObject;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.remote.red5.ClientListManager;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.app.remote.red5.WhiteBoardObjectListManager;
+import org.openmeetings.app.remote.red5.WhiteBoardObjectListManagerById;
+import org.red5.logging.Red5LoggerFactory;
+import org.red5.server.api.IConnection;
+import org.red5.server.api.Red5;
+import org.red5.server.api.scope.IScope;
+import org.red5.server.api.service.IPendingServiceCall;
+import org.red5.server.api.service.IPendingServiceCallback;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 
+ * @author sebastianwagner
+ * 
+ */
+public class WhiteBoardService implements IPendingServiceCallback {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			WhiteBoardService.class, "openmeetings");
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private final ScopeApplicationAdapter scopeApplicationAdapter = null;
+	@Autowired
+	private final ClientListManager clientListManager = null;
+	@Autowired
+	private final WhiteBoardObjectListManager whiteBoardObjectListManager = null;
+	@Autowired
+	private final WhiteBoardObjectListManagerById whiteBoardObjectListManagerById = null;
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+
+	/**
+	 * Loading the List of Objects on the whiteboard
+	 * 
+	 * @return HashMap<String,Map>
+	 */
+	public WhiteboardObject getRoomItems() {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+			Long room_id = currentClient.getRoom_id();
+
+			log.debug("getRoomItems: " + room_id);
+
+			return this.whiteBoardObjectListManager
+					.getWhiteBoardObjectRoomId(room_id);
+
+		} catch (Exception err) {
+			log.error("[getRoomItems]", err);
+		}
+		return null;
+	}
+
+	public Long getNewWhiteboardId() {
+		try {
+
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+			Long room_id = currentClient.getRoom_id();
+
+			Long whiteBoardId = this.whiteBoardObjectListManagerById
+					.getNewWhiteboardId(room_id);
+
+			return whiteBoardId;
+
+		} catch (Exception err) {
+			log.error("[deleteWhiteboard]", err);
+		}
+		return null;
+	}
+
+	public Boolean deleteWhiteboard(Long whiteBoardId) {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+			Long room_id = currentClient.getRoom_id();
+
+			WhiteboardObjectList whiteboardObjectList = this.whiteBoardObjectListManagerById
+					.getWhiteBoardObjectListByRoomId(room_id);
+
+			for (Iterator<Long> iter = whiteboardObjectList
+					.getWhiteboardObjects().keySet().iterator(); iter.hasNext();) {
+				Long storedWhiteboardId = iter.next();
+
+				log.debug(" :: storedWhiteboardId :: " + storedWhiteboardId);
+
+				if (storedWhiteboardId.equals(whiteBoardId)) {
+					log.debug("Found Whiteboard to Remove");
+				}
+			}
+			Object returnValue = whiteboardObjectList.getWhiteboardObjects()
+					.remove(whiteBoardId);
+
+			log.debug(" :: whiteBoardId :: " + whiteBoardId);
+
+			this.whiteBoardObjectListManagerById
+					.setWhiteBoardObjectListRoomObj(room_id,
+							whiteboardObjectList);
+
+			if (returnValue != null) {
+				return true;
+			} else {
+				return false;
+			}
+
+		} catch (Exception err) {
+			log.error("[deleteWhiteboard]", err);
+		}
+		return null;
+	}
+
+	public WhiteboardObjectList getRoomItemsBy() {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+			Long room_id = currentClient.getRoom_id();
+
+			log.debug("getRoomItems: " + room_id);
+			WhiteboardObjectList whiteboardObjectList = this.whiteBoardObjectListManagerById
+					.getWhiteBoardObjectListByRoomId(room_id);
+
+			if (whiteboardObjectList.getWhiteboardObjects().size() == 0) {
+
+				Long whiteBoardId = this.whiteBoardObjectListManagerById
+						.getNewWhiteboardId(room_id);
+
+				this.whiteBoardObjectListManagerById
+						.setWhiteBoardObjectListRoomObjAndWhiteboardId(room_id,
+								new WhiteboardObject(), whiteBoardId);
+
+				log.debug("Init New Room List");
+
+				whiteboardObjectList = this.whiteBoardObjectListManagerById
+						.getWhiteBoardObjectListByRoomId(room_id);
+
+				return whiteboardObjectList;
+
+			} else {
+
+				return whiteboardObjectList;
+
+			}
+
+			// return completeList;
+		} catch (Exception err) {
+			log.error("[getRoomItemsBy]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * change the draw status of a user, allow disallow him to draw anybody
+	 * besides the Moderator to draw on the whiteboard, only a Moderator is
+	 * allowed to trigger this function
+	 * 
+	 * @param SID
+	 * @param publicSID
+	 * @param canDraw
+	 * @return
+	 */
+	public Boolean setCanDraw(String SID, String publicSID, boolean canDraw) {
+		try {
+
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				if (currentClient.getIsMod()) {
+					RoomClient rcl = this.clientListManager
+							.getClientByPublicSID(publicSID, false);
+
+					if (rcl != null) {
+						rcl.setCanDraw(canDraw);
+						this.clientListManager.updateClientByStreamId(
+								rcl.getStreamid(), rcl);
+
+						HashMap<Integer, Object> newMessage = new HashMap<Integer, Object>();
+						newMessage.put(0, "updateDrawStatus");
+						newMessage.put(1, rcl);
+						this.scopeApplicationAdapter
+								.sendMessageWithClientWithSyncObject(newMessage, true);
+
+					} else {
+						return false;
+					}
+				} else {
+					return false;
+				}
+			}
+
+		} catch (Exception err) {
+			log.error("[setCanDraw]", err);
+		}
+		return null;
+	}
+
+	public Boolean setCanShare(String SID, String publicSID, boolean canShare) {
+		try {
+
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				if (currentClient.getIsMod()) {
+					RoomClient rcl = this.clientListManager
+							.getClientByPublicSID(publicSID, false);
+
+					if (rcl != null) {
+						rcl.setCanShare(canShare);
+						this.clientListManager.updateClientByStreamId(
+								rcl.getStreamid(), rcl);
+
+						HashMap<Integer, Object> newMessage = new HashMap<Integer, Object>();
+						newMessage.put(0, "updateDrawStatus");
+						newMessage.put(1, rcl);
+						this.scopeApplicationAdapter
+								.sendMessageWithClientWithSyncObject(newMessage, true);
+
+					} else {
+						return false;
+					}
+				} else {
+					return false;
+				}
+			}
+
+		} catch (Exception err) {
+			log.error("[setCanDraw]", err);
+		}
+		return null;
+	}
+
+	public Boolean setCanRemote(String SID, String publicSID, boolean canRemote) {
+		try {
+
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				if (currentClient.getIsMod()) {
+					RoomClient rcl = this.clientListManager
+							.getClientByPublicSID(publicSID, false);
+
+					if (rcl != null) {
+						rcl.setCanRemote(canRemote);
+						this.clientListManager.updateClientByStreamId(
+								rcl.getStreamid(), rcl);
+
+						HashMap<Integer, Object> newMessage = new HashMap<Integer, Object>();
+						newMessage.put(0, "updateDrawStatus");
+						newMessage.put(1, rcl);
+						this.scopeApplicationAdapter
+								.sendMessageWithClientWithSyncObject(newMessage, true);
+
+					} else {
+						return false;
+					}
+				} else {
+					return false;
+				}
+			}
+
+		} catch (Exception err) {
+			log.error("[setCanDraw]", err);
+		}
+		return null;
+	}
+
+    public Boolean setCanGiveAudio(String SID, String publicSID, boolean canGiveAudio) {
+		try {
+            log.debug("[setCanGiveAudio] " + SID + ", " + publicSID + ", " + canGiveAudio);
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+				if (currentClient.getIsMod()) {
+					RoomClient rcl = this.clientListManager
+							.getClientByPublicSID(publicSID, false);
+
+					if (rcl != null) {
+						rcl.setCanGiveAudio(canGiveAudio);
+				        this.clientListManager.updateClientByStreamId(
+				                rcl.getStreamid(), rcl);
+
+				        HashMap<Integer, Object> newMessage = new HashMap<Integer, Object>();
+				        newMessage.put(0, "updateGiveAudioStatus");
+				        newMessage.put(1, rcl);
+				        this.scopeApplicationAdapter
+				                .sendMessageWithClientWithSyncObject(newMessage, true);
+					} else {
+						return false;
+					}
+				} else {
+					return false;
+				}
+			}
+
+		} catch (Exception err) {
+			log.error("[setCanGiveAudio]", err);
+		}
+		return null;
+	}
+
+	public WhiteboardSyncLockObject startNewSyncprocess() {
+		try {
+
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+			Long room_id = currentClient.getRoom_id();
+
+			WhiteboardSyncLockObject wSyncLockObject = new WhiteboardSyncLockObject();
+			wSyncLockObject.setAddtime(new Date());
+			wSyncLockObject.setPublicSID(currentClient.getPublicSID());
+			wSyncLockObject.setInitialLoaded(true);
+
+			Map<String, WhiteboardSyncLockObject> syncListRoom = this.whiteBoardObjectListManager
+					.getWhiteBoardSyncListByRoomid(room_id);
+
+			wSyncLockObject.setCurrentLoadingItem(true);
+			wSyncLockObject.setStarttime(new Date());
+
+			syncListRoom.put(currentClient.getPublicSID(), wSyncLockObject);
+			this.whiteBoardObjectListManager.setWhiteBoardSyncListByRoomid(
+					room_id, syncListRoom);
+			
+			//Sync to clients
+			this.scopeApplicationAdapter.syncMessageToCurrentScope("sendSyncFlag", wSyncLockObject, true);
+
+			return wSyncLockObject;
+
+		} catch (Exception err) {
+			log.error("[startNewSyncprocess]", err);
+		}
+		return null;
+	}
+
+	public void sendCompletedSyncEvent() {
+		try {
+
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+			Long room_id = currentClient.getRoom_id();
+
+			Map<String, WhiteboardSyncLockObject> syncListRoom = this.whiteBoardObjectListManager
+					.getWhiteBoardSyncListByRoomid(room_id);
+
+			WhiteboardSyncLockObject wSyncLockObject = syncListRoom
+					.get(currentClient.getPublicSID());
+
+			if (wSyncLockObject == null) {
+				log.error("WhiteboardSyncLockObject not found for this Client "
+						+ syncListRoom);
+				return;
+			} else if (!wSyncLockObject.isCurrentLoadingItem()) {
+				log.warn("WhiteboardSyncLockObject was not started yet "
+						+ syncListRoom);
+				return;
+			} else {
+				syncListRoom.remove(currentClient.getPublicSID());
+				this.whiteBoardObjectListManager.setWhiteBoardSyncListByRoomid(
+						room_id, syncListRoom);
+
+				int numberOfInitial = this
+						.getNumberOfInitialLoaders(syncListRoom);
+
+				if (numberOfInitial == 0) {
+					this.scopeApplicationAdapter.syncMessageToCurrentScope("sendSyncCompleteFlag", wSyncLockObject, true);
+				} else {
+					return;
+				}
+			}
+
+		} catch (Exception err) {
+			log.error("[sendCompletedSyncEvent]", err);
+		}
+		return;
+	}
+
+	private int getNumberOfInitialLoaders(
+			Map<String, WhiteboardSyncLockObject> syncListRoom)
+			throws Exception {
+		int number = 0;
+		for (Iterator<String> iter = syncListRoom.keySet().iterator(); iter
+				.hasNext();) {
+			WhiteboardSyncLockObject lockObject = syncListRoom.get(iter.next());
+			if (lockObject.isInitialLoaded()) {
+				number++;
+			}
+		}
+		return number;
+	}
+
+	/*
+	 * Image Sync Sequence
+	 */
+
+	public void startNewObjectSyncProcess(String object_id, boolean isStarting) {
+		try {
+
+			log.debug("startNewObjectSyncprocess: " + object_id);
+
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+			Long room_id = currentClient.getRoom_id();
+
+			WhiteboardSyncLockObject wSyncLockObject = new WhiteboardSyncLockObject();
+			wSyncLockObject.setAddtime(new Date());
+			wSyncLockObject.setPublicSID(currentClient.getPublicSID());
+			wSyncLockObject.setStarttime(new Date());
+
+			Map<String, WhiteboardSyncLockObject> syncListImage = this.whiteBoardObjectListManager
+					.getWhiteBoardObjectSyncListByRoomAndObjectId(room_id,
+							object_id);
+			syncListImage.put(currentClient.getPublicSID(), wSyncLockObject);
+			this.whiteBoardObjectListManager
+					.setWhiteBoardImagesSyncListByRoomAndObjectId(room_id,
+							object_id, syncListImage);
+
+			// Do only send the Token to show the Loading Splash for the
+			// initial-Request that starts the loading
+			if (isStarting) {
+				this.scopeApplicationAdapter.syncMessageToCurrentScope("sendObjectSyncFlag", wSyncLockObject, true);
+			}
+
+		} catch (Exception err) {
+			log.error("[startNewObjectSyncProcess]", err);
+		}
+	}
+
+	public int sendCompletedObjectSyncEvent(String object_id) {
+		try {
+
+			log.debug("sendCompletedObjectSyncEvent: " + object_id);
+
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+			Long room_id = currentClient.getRoom_id();
+
+			Map<String, WhiteboardSyncLockObject> syncListImage = this.whiteBoardObjectListManager
+					.getWhiteBoardObjectSyncListByRoomAndObjectId(room_id,
+							object_id);
+
+			log.debug("sendCompletedObjectSyncEvent syncListImage: "
+					+ syncListImage);
+
+			WhiteboardSyncLockObject wSyncLockObject = syncListImage
+					.get(currentClient.getPublicSID());
+
+			if (wSyncLockObject == null) {
+				log.error("WhiteboardSyncLockObject not found for this Client "
+						+ currentClient.getPublicSID());
+				log.error("WhiteboardSyncLockObject not found for this syncListImage "
+						+ syncListImage);
+				return -2;
+
+			} else {
+
+				log.debug("sendCompletedImagesSyncEvent remove: "
+						+ currentClient.getPublicSID());
+
+				syncListImage.remove(currentClient.getPublicSID());
+				this.whiteBoardObjectListManager
+						.setWhiteBoardImagesSyncListByRoomAndObjectId(room_id,
+								object_id, syncListImage);
+
+				int numberOfInitial = this.whiteBoardObjectListManager
+						.getWhiteBoardObjectSyncListByRoomid(room_id).size();
+
+				log.debug("sendCompletedImagesSyncEvent numberOfInitial: "
+						+ numberOfInitial);
+
+				if (numberOfInitial == 0) {
+					return scopeApplicationAdapter.syncMessageToCurrentScope("sendObjectSyncCompleteFlag", wSyncLockObject, true);
+				} else {
+					return -4;
+				}
+			}
+
+		} catch (Exception err) {
+			log.error("[sendCompletedObjectSyncEvent]", err);
+		}
+		return -1;
+	}
+
+	public synchronized void removeUserFromAllLists(IScope scope,
+			RoomClient currentClient) {
+		try {
+
+			Long room_id = currentClient.getRoom_id();
+
+			// TODO: Maybe we should also check all rooms, independent from the
+			// current
+			// room_id if there is any user registered
+			if (room_id != null) {
+
+				log.debug("removeUserFromAllLists this.whiteBoardObjectListManager: "
+						+ this.whiteBoardObjectListManager);
+				log.debug("removeUserFromAllLists room_id: " + room_id);
+
+				// Check Initial Loaders
+				Map<String, WhiteboardSyncLockObject> syncListRoom = this.whiteBoardObjectListManager
+						.getWhiteBoardSyncListByRoomid(room_id);
+
+				WhiteboardSyncLockObject wSyncLockObject = syncListRoom
+						.get(currentClient.getPublicSID());
+
+				if (wSyncLockObject != null) {
+					syncListRoom.remove(currentClient.getPublicSID());
+				}
+				this.whiteBoardObjectListManager.setWhiteBoardSyncListByRoomid(
+						room_id, syncListRoom);
+
+				int numberOfInitial = this
+						.getNumberOfInitialLoaders(syncListRoom);
+
+				log.debug("scope " + scope);
+
+				if (numberOfInitial == 0 && scope != null) {
+					
+					scopeApplicationAdapter.syncMessageToCurrentScope("sendSyncCompleteFlag", wSyncLockObject, false);
+					
+				}
+
+				// Check Image Loaders
+				Map<String, Map<String, WhiteboardSyncLockObject>> syncListRoomImages = this.whiteBoardObjectListManager
+						.getWhiteBoardObjectSyncListByRoomid(room_id);
+
+				for (Iterator<String> iter = syncListRoomImages.keySet()
+						.iterator(); iter.hasNext();) {
+					String object_id = iter.next();
+					Map<String, WhiteboardSyncLockObject> syncListImages = syncListRoomImages
+							.get(object_id);
+					WhiteboardSyncLockObject wImagesSyncLockObject = syncListImages
+							.get(currentClient.getPublicSID());
+					if (wImagesSyncLockObject != null) {
+						syncListImages.remove(currentClient.getPublicSID());
+					}
+					this.whiteBoardObjectListManager
+							.setWhiteBoardImagesSyncListByRoomAndObjectId(
+									room_id, object_id, syncListImages);
+				}
+
+				int numberOfImageLoaders = this.whiteBoardObjectListManager
+						.getWhiteBoardObjectSyncListByRoomid(room_id).size();
+
+				if (numberOfImageLoaders == 0 && scope != null) {
+					scopeApplicationAdapter.syncMessageToCurrentScope("sendImagesSyncCompleteFlag", new Object[] { "remove" }, true);
+				}
+
+			}
+
+		} catch (Exception err) {
+			log.error("[removeUserFromAllLists]", err);
+		}
+	}
+
+	public Cliparts getClipArtIcons() {
+		try {
+
+			String current_dir = ScopeApplicationAdapter.webAppPath
+					+ File.separatorChar + "public" + File.separatorChar
+					+ "cliparts";
+
+			File clipart_dir = new File(current_dir);
+
+			FilenameFilter getFilesOnly = new FilenameFilter() {
+				public boolean accept(File b, String name) {
+					String absPath = b.getAbsolutePath() + File.separatorChar
+							+ name;
+					File f = new File(absPath);
+					return !f.isDirectory();
+				}
+			};
+
+			FilenameFilter getDirectoriesOnly = new FilenameFilter() {
+				public boolean accept(File b, String name) {
+					String absPath = b.getAbsolutePath() + File.separatorChar
+							+ name;
+					File f = new File(absPath);
+					return f.isDirectory() && !f.getName().equals("thumb");
+				}
+			};
+
+			Cliparts cl = new Cliparts();
+			cl.setFolderName("general");
+
+			String[] files_general = clipart_dir.list(getFilesOnly);
+			@SuppressWarnings("unchecked")
+			Comparator<String> comparator = ComparatorUtils.naturalComparator();
+			Arrays.sort(files_general, comparator);
+
+			cl.setGeneralList(files_general);
+			cl.setSubCategories(new LinkedList<Cliparts>());
+
+			for (File dir : clipart_dir.listFiles(getDirectoriesOnly)) {
+				Cliparts cl_sub = new Cliparts();
+				cl_sub.setFolderName("math");
+				String[] files = dir.list(getFilesOnly);
+				Arrays.sort(files, comparator);
+				cl_sub.setGeneralList(files);
+				cl.getSubCategories().add(cl_sub);
+			}
+
+			return cl;
+
+		} catch (Exception err) {
+			log.error("[getClipArtIcons]", err);
+		}
+		return null;
+	}
+
+	public void resultReceived(IPendingServiceCall arg0) {
+		// TODO Auto-generated method stub
+		log.debug("resultReceived: " + arg0);
+	}
+
+}
diff --git a/src/org/openmeetings/app/remote/red5/ClientListManager.java b/src/org/openmeetings/app/remote/red5/ClientListManager.java
new file mode 100644
index 0000000..18684bf
--- /dev/null
+++ b/src/org/openmeetings/app/remote/red5/ClientListManager.java
@@ -0,0 +1,393 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote.red5;
+
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.conference.session.RoomClient;
+import org.openmeetings.app.data.beans.basic.SearchResult;
+import org.openmeetings.utils.crypt.ManageCryptStyle;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class ClientListManager {
+	private static HashMap<String, RoomClient> clientList = new HashMap<String, RoomClient>();
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			ClientListManager.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private ManageCryptStyle manageCryptStyle;
+	
+	/**
+	 * Get current clients and extends the room client with its potential 
+	 * audio/video client and settings
+	 * 
+	 * @param room_id
+	 * @return
+	 */
+	public HashMap<String, RoomClient> getRoomClients(Long room_id) {
+		try {
+
+			HashMap<String, RoomClient> roomClientList = new HashMap<String, RoomClient>();
+			HashMap<String, RoomClient> clientListRoom = this.getClientListByRoom(room_id);
+			for (Iterator<String> iter = clientListRoom.keySet().iterator(); iter
+					.hasNext();) {
+				String key = iter.next();
+				RoomClient rcl = this.getClientByStreamId(key);
+				
+				if (rcl.getIsAVClient()) {
+					continue;
+				}
+				
+				// Add user to List
+				roomClientList.put(key, rcl);
+			}
+
+			return roomClientList;
+		} catch (Exception err) {
+			log.error("[getRoomClients]", err);
+		}
+		return null;
+	}
+
+	public synchronized RoomClient addClientListItem(String streamId,
+			String scopeName, Integer remotePort, String remoteAddress,
+			String swfUrl, boolean isAVClient) {
+		try {
+
+			// Store the Connection into a bean and add it to the HashMap
+			RoomClient rcm = new RoomClient();
+			rcm.setConnectedSince(new Date());
+			rcm.setStreamid(streamId);
+			rcm.setScope(scopeName);
+			long thistime = new Date().getTime();
+			rcm.setPublicSID(manageCryptStyle.getInstanceOfCrypt()
+					.createPassPhrase(String.valueOf(thistime).toString()));
+
+			rcm.setUserport(remotePort);
+			rcm.setUserip(remoteAddress);
+			rcm.setSwfurl(swfUrl);
+			rcm.setIsMod(new Boolean(false));
+			rcm.setCanDraw(new Boolean(false));
+			rcm.setIsAVClient(isAVClient);
+
+			if (clientList.containsKey(streamId)) {
+				log.error("Tried to add an existing Client " + streamId);
+				return null;
+			}
+
+			clientList.put(rcm.getStreamid(), rcm);
+
+			log.debug(" :: addClientListItem :: " + rcm.getRoomClientId());
+
+			return rcm;
+		} catch (Exception err) {
+			log.error("[addClientListItem]", err);
+		}
+		return null;
+	}
+
+	public synchronized Collection<RoomClient> getAllClients() {
+		return clientList.values();
+	}
+
+	public synchronized RoomClient getClientByStreamId(String streamId) {
+		try {
+			if (!clientList.containsKey(streamId)) {
+				log.debug("Tried to get a non existing Client " + streamId);
+				return null;
+			}
+			return clientList.get(streamId);
+		} catch (Exception err) {
+			log.error("[getClientByStreamId]", err);
+		}
+		return null;
+	}
+	
+	/**
+	 * Additionally checks if the client receives sync events
+	 * 
+	 * Sync events will no be broadcasted to:
+	 * - Screensharing users
+	 * - Audio/Video connections only
+	 * 
+	 * @param streamId
+	 * @return
+	 */
+	public synchronized RoomClient getSyncClientByStreamId(String streamId) {
+		try {
+			if (!clientList.containsKey(streamId)) {
+				log.debug("Tried to get a non existing Client " + streamId);
+				return null;
+			}
+			
+			RoomClient rcl = clientList.get(streamId);
+			
+			if (rcl == null) {
+				return null;
+			}
+			
+			if (rcl.getIsScreenClient() != null && rcl.getIsScreenClient()) {
+				return null;
+			}
+			
+			return clientList.get(streamId);
+		} catch (Exception err) {
+			log.error("[getClientByStreamId]", err);
+		}
+		return null;
+	}
+
+
+	public synchronized RoomClient getClientByPublicSID(String publicSID, Boolean isAVClient) {
+		try {
+			for (Iterator<String> iter = clientList.keySet().iterator(); iter
+					.hasNext();) {
+				RoomClient rcl = clientList.get(iter.next());
+				
+				if (!rcl.getPublicSID().equals(publicSID)) {
+					continue;
+				}
+				if (rcl.getIsAVClient() != isAVClient) {
+					continue;
+				}
+				
+				return rcl;
+			}
+		} catch (Exception err) {
+			log.error("[getClientByPublicSID]", err);
+		}
+		return null;
+	}
+
+	public synchronized RoomClient getClientByUserId(Long userId) {
+		try {
+			for (Iterator<String> iter = clientList.keySet().iterator(); iter
+					.hasNext();) {
+				RoomClient rcl = clientList.get(iter.next());
+				if (rcl.getUser_id().equals(userId)) {
+					return rcl;
+				}
+			}
+		} catch (Exception err) {
+			log.error("[getClientByPublicSID]", err);
+		}
+		return null;
+	}
+	
+	/**
+	 * Update the session object of the audio/video-connection and additionally swap the 
+	 * values to the session object of the user that holds the full session object
+	 * @param streamId
+	 * @param rcm
+	 * @return
+	 */
+	public synchronized Boolean updateAVClientByStreamId(String streamId,
+			RoomClient rcm) {
+		try {
+			
+			//get the corresponding user session object and update the settings
+			RoomClient rclUsual = getClientByPublicSID(rcm.getPublicSID(), false);
+			if (rclUsual != null) {
+				rclUsual.setBroadCastID(rcm.getBroadCastID());
+				rclUsual.setAvsettings(rcm.getAvsettings());
+				rclUsual.setVHeight(rcm.getVHeight());
+				rclUsual.setVWidth(rcm.getVWidth());
+				rclUsual.setVX(rcm.getVX());
+				rclUsual.setVY(rcm.getVY());
+				if (clientList.containsKey(rclUsual.getStreamid())) {
+					clientList.put(rclUsual.getStreamid(), rclUsual);
+				} else {
+					 log.debug("Tried to update a non existing Client " + rclUsual.getStreamid());
+				}
+			}
+			
+			updateClientByStreamId(streamId, rcm);
+		} catch (Exception err) {
+			log.error("[updateAVClientByStreamId]", err);
+		}
+		return null;
+	}
+
+	public synchronized Boolean updateClientByStreamId(String streamId,
+			RoomClient rcm) {
+		try {
+			if (clientList.containsKey(streamId)) {
+				clientList.put(streamId, rcm);
+				return true;
+			} else {
+				log.debug("Tried to update a non existing Client " + streamId);
+				return false;
+			}
+		} catch (Exception err) {
+			log.error("[updateClientByStreamId]", err);
+		}
+		return null;
+	}
+
+	public synchronized Boolean removeClient(String streamId) {
+		try {
+			if (clientList.containsKey(streamId)) {
+				clientList.remove(streamId);
+				// log.debug(":: removeClient ::"+clientList.size());
+				return true;
+			} else {
+				log.debug("Tried to remove a non existing Client " + streamId);
+				return false;
+			}
+		} catch (Exception err) {
+			log.error("[removeClient]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * Get all ClientList Objects of that room and domain This Function is
+	 * needed cause it is invoked internally AFTER the current user has been
+	 * already removed from the ClientList to see if the Room is empty again and
+	 * the PollList can be removed
+	 * 
+	 * @return
+	 */
+	// FIXME seems like there is no need to return HashMap
+	public synchronized HashMap<String, RoomClient> getClientListByRoom(
+			Long room_id) {
+		HashMap<String, RoomClient> roomClientList = new HashMap<String, RoomClient>();
+		try {
+			for (Iterator<String> iter = clientList.keySet().iterator(); iter
+					.hasNext();) {
+				String key = iter.next();
+				RoomClient rcl = clientList.get(key);
+				
+				// client initialized and same room
+				if (rcl.getRoom_id() == null || !room_id.equals(rcl.getRoom_id())) {
+					continue;
+				}
+				if (rcl.getIsScreenClient() == null ||
+						rcl.getIsScreenClient()) {
+					continue;
+				}
+				if (rcl.getIsAVClient()) {
+					continue;
+				}
+					
+				//Only parse really those users out that are really a full session object 
+				//and no pseudo session object like the audio/video or screen sharing connection 
+				roomClientList.put(key, rcl);
+					
+			}
+		} catch (Exception err) {
+			log.error("[getClientListByRoom]", err);
+		}
+		return roomClientList;
+	}
+	
+	
+
+	// FIXME seems to be copy/pasted with previous one
+	public synchronized HashMap<String, RoomClient> getClientListByRoomAll(
+			Long room_id) {
+		HashMap<String, RoomClient> roomClientList = new HashMap<String, RoomClient>();
+		try {
+			for (Iterator<String> iter = clientList.keySet().iterator(); iter
+					.hasNext();) {
+				String key = iter.next();
+				// log.debug("getClientList key: "+key);
+				RoomClient rcl = clientList.get(key);
+
+				if (rcl.getRoom_id() != null
+						&& rcl.getRoom_id().equals(room_id)) {
+					// same room
+					roomClientList.put(key, rcl);
+				}
+			}
+		} catch (Exception err) {
+			log.error("[getClientListByRoom]", err);
+		}
+		return roomClientList;
+	}
+
+	/**
+	 * get the current Moderator in this room
+	 * 
+	 * @param roomname
+	 * @return
+	 */
+	public synchronized List<RoomClient> getCurrentModeratorByRoom(Long room_id) {
+
+		List<RoomClient> rclList = new LinkedList<RoomClient>();
+		for (Iterator<String> iter = clientList.keySet().iterator(); iter
+				.hasNext();) {
+			String key = iter.next();
+			RoomClient rcl = clientList.get(key);
+			//
+			log.debug("*..*unsetModerator ClientList key: " + rcl.getStreamid());
+			//
+			// Check if the Client is in the same room
+			if (room_id != null && room_id.equals(rcl.getRoom_id())
+					&& rcl.getIsMod()) {
+				log.debug("found client who is the Moderator: " + rcl);
+				rclList.add(rcl);
+			}
+		}
+
+		return rclList;
+	}
+
+	public synchronized SearchResult<RoomClient> getListByStartAndMax(int start, int max,
+			String orderby, boolean asc) {
+		SearchResult<RoomClient> sResult = new SearchResult<RoomClient>();
+		sResult.setObjectName(RoomClient.class.getName());
+		sResult.setRecords(Long.valueOf(clientList.size()).longValue());
+		LinkedList<RoomClient> myList = new LinkedList<RoomClient>();
+
+		int i = 0;
+		// TODO Auto-generated method stub
+		Iterator<String> iter = clientList.keySet().iterator();
+		while (iter.hasNext()) {
+			String key = iter.next();
+			if (i >= start) {
+				myList.add(clientList.get(key));
+			}
+			if (i > max) {
+				break;
+			}
+			i++;
+		}
+		sResult.setResult(myList);
+
+		return sResult;
+	}
+
+	public synchronized void removeAllClients() {
+		try {
+			clientList.clear();
+		} catch (Exception err) {
+			log.error("[removeAllClients]", err);
+		}
+	}
+}
diff --git a/src/org/openmeetings/app/remote/red5/EmoticonsManager.java b/src/org/openmeetings/app/remote/red5/EmoticonsManager.java
new file mode 100644
index 0000000..073baff
--- /dev/null
+++ b/src/org/openmeetings/app/remote/red5/EmoticonsManager.java
@@ -0,0 +1,89 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote.red5;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.util.LinkedList;
+
+import org.slf4j.Logger;
+import org.red5.logging.Red5LoggerFactory;
+import org.red5.server.api.scope.IScope;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.utils.stringhandlers.ChatString;
+
+import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.io.xml.XppDriver;
+
+public class EmoticonsManager {
+	
+	private static final Logger log = Red5LoggerFactory.getLogger(EmoticonsManager.class, OpenmeetingsVariables.webAppRootKey);
+	
+	private static LinkedList<LinkedList<String>> emotfilesList = new LinkedList<LinkedList<String>>();
+
+	private static EmoticonsManager instance = null;
+
+	private EmoticonsManager() {
+	}
+
+	public static synchronized EmoticonsManager getInstance() {
+		if (instance == null) {
+			instance = new EmoticonsManager();
+		}
+		return instance;
+	}
+
+	
+
+	
+	@SuppressWarnings("unchecked")
+	public void loadEmot(IScope scope){
+		try {
+			
+			scope.getResource("public/").getFile().getParentFile().getAbsolutePath();
+			String filePath = scope.getResource("public/").getFile().getAbsolutePath();
+			
+			String fileName = filePath + File.separatorChar + "emoticons" + File.separatorChar + "emotes.xml";
+			XStream xStream = new XStream(new XppDriver());
+			xStream.setMode(XStream.NO_REFERENCES);
+			BufferedReader reader = new BufferedReader(new FileReader(fileName));
+		    String xmlString = "";
+		    while (reader.ready()) {
+		    	xmlString += reader.readLine();
+		    }
+		    reader.close();
+		    emotfilesList = (LinkedList<LinkedList<String>>) xStream.fromXML(xmlString);
+		    ChatString.getInstance().replaceAllRegExp();
+		    
+		    log.debug("##### loadEmot completed");
+		    
+		} catch (Exception err) {
+			log.error("[loadEmot]",err);
+		}
+	}
+	
+	public static synchronized LinkedList<LinkedList<String>> getEmotfilesList() {
+		return emotfilesList;
+	}
+	public static synchronized void setEmotfilesList(LinkedList<LinkedList<String>> emotfilesListNew) {
+		emotfilesList = emotfilesListNew;
+	}
+	
+}
diff --git a/src/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java b/src/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java
new file mode 100644
index 0000000..1858578
--- /dev/null
+++ b/src/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java
@@ -0,0 +1,3136 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote.red5;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.conference.session.RoomClient;
+import org.openmeetings.app.conference.whiteboard.BrowserStatus;
+import org.openmeetings.app.conference.whiteboard.RoomStatus;
+import org.openmeetings.app.conference.whiteboard.WhiteboardManagement;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.calendar.daos.MeetingMemberDaoImpl;
+import org.openmeetings.app.data.calendar.management.AppointmentLogic;
+import org.openmeetings.app.data.conference.Roommanagement;
+import org.openmeetings.app.data.logs.ConferenceLogDaoImpl;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.basic.Configuration;
+import org.openmeetings.app.persistence.beans.calendar.Appointment;
+import org.openmeetings.app.persistence.beans.calendar.MeetingMember;
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.app.remote.FLVRecorderService;
+import org.openmeetings.app.remote.WhiteBoardService;
+import org.openmeetings.utils.math.CalendarPatterns;
+import org.red5.client.net.rtmp.ClientExceptionHandler;
+import org.red5.logging.Red5LoggerFactory;
+import org.red5.server.adapter.ApplicationAdapter;
+import org.red5.server.api.IClient;
+import org.red5.server.api.IConnection;
+import org.red5.server.api.Red5;
+import org.red5.server.api.scope.IBasicScope;
+import org.red5.server.api.scope.IBroadcastScope;
+import org.red5.server.api.scope.IScope;
+import org.red5.server.api.scope.ScopeType;
+import org.red5.server.api.service.IPendingServiceCall;
+import org.red5.server.api.service.IPendingServiceCallback;
+import org.red5.server.api.service.IServiceCapableConnection;
+import org.red5.server.api.stream.IBroadcastStream;
+import org.red5.server.api.stream.IStreamListener;
+import org.red5.server.api.stream.IStreamPacket;
+import org.red5.server.net.rtmp.event.IRTMPEvent;
+import org.red5.server.stream.StreamingProxy;
+import org.red5.server.stream.message.RTMPMessage;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class ScopeApplicationAdapter extends ApplicationAdapter implements
+		IPendingServiceCallback {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			ScopeApplicationAdapter.class,
+			OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private ClientListManager clientListManager;
+	@Autowired
+	private EmoticonsManager emoticonsManager;
+	@Autowired
+	private WhiteBoardService whiteBoardService;
+	@Autowired
+	private FLVRecorderService flvRecorderService;
+	@Autowired
+	private Configurationmanagement cfgManagement;
+	@Autowired
+	private AppointmentLogic appointmentLogic;
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private Roommanagement roommanagement;
+	@Autowired
+	private ConferenceLogDaoImpl conferenceLogDao;
+	@Autowired
+	private UsersDaoImpl usersDao;
+	@Autowired
+	private MeetingMemberDaoImpl meetingMemberDao;
+
+    private Map<String, StreamingProxy> streamingProxyMap = new HashMap<String, StreamingProxy>();
+	// This is the Folder where all executables are written
+	// for windows platform
+	public static String batchFileDir = "webapps" + File.separatorChar + "ROOT"
+			+ File.separatorChar + "jod" + File.separatorChar;
+	public static String lineSeperator = System.getProperty("line.separator");
+
+	// The Global WebApp Path
+	public static String webAppPath = "";
+	public static String configDirName = "conf";
+	public static String profilesPrefix = "profile_";
+
+	public static String configKeyCryptClassName = null;
+	public static Boolean whiteboardDrawStatus = null;
+	
+	private static long broadCastCounter = 0;
+	public static boolean initComplete = false;
+
+	public synchronized void resultReceived(IPendingServiceCall arg0) {
+		// TODO Auto-generated method stub
+	}
+
+	@Override
+	public synchronized boolean appStart(IScope scope) {
+		try {
+			webAppPath = scope.getResource("/").getFile().getAbsolutePath();
+			batchFileDir = webAppPath + File.separatorChar + OpenmeetingsVariables.STREAMS_DIR
+					+ File.separatorChar;
+
+			log.debug("webAppPath : " + webAppPath);
+			log.debug("batchFileFir : " + batchFileDir);
+
+			// Only load this Class one time
+			// Initially this value might by empty, because the DB is empty yet
+			Configuration conf = cfgManagement.getConfKey(3, "crypt_ClassName");
+			if (conf != null) {
+				ScopeApplicationAdapter.configKeyCryptClassName = conf
+						.getConf_value();
+			}
+
+			// init your handler here
+
+			// The scheduled Jobs did go into the Spring-Managed Beans, see
+			// schedulerJobs.service.xml
+
+			// Spring Definition does not work here, its too early, Instance is
+			// not set yet
+			emoticonsManager.loadEmot(scope);
+
+			for (String scopeName : scope.getScopeNames()) {
+				log.debug("scopeName :: " + scopeName);
+			}
+
+			ScopeApplicationAdapter.initComplete = true;
+
+			clientListManager.removeAllClients();
+
+			// OpenXGHttpClient.getInstance().openSIPgUserCreateTest();
+			// OpenXGWrapperClient.getInstance().testConnection();
+			// OpenXGClient.getInstance().testConnection();
+			// ServerSocketMinaProcess serverSocketMinaProcess = new
+			// ServerSocketMinaProcess();
+
+			// serverSocketMinaProcess.doInitSocket();
+
+		} catch (Exception err) {
+			log.error("[appStart]", err);
+		}
+		return true;
+	}
+
+	@Override
+	public boolean roomConnect(IConnection conn, Object[] params) {
+		log.debug("roomConnect : ");
+
+		try {
+
+			IServiceCapableConnection service = (IServiceCapableConnection) conn;
+			String streamId = conn.getClient().getId();
+			
+			boolean isAVClient = false;
+			if (params.length == 1) {
+				isAVClient = Boolean.parseBoolean(params[0].toString());
+			}
+
+			log.debug("### Client connected to OpenMeetings, register Client StreamId: "
+					+ streamId + " scope " + conn.getScope().getName()+ " isAVClient "+isAVClient);
+			log.debug("params "+params);
+
+			// Set StreamId in Client
+			service.invoke("setId", new Object[] { streamId }, this);
+
+			String swfURL = "";
+			if (conn.getConnectParams().get("swfUrl") != null) {
+				swfURL = conn.getConnectParams().get("swfUrl").toString();
+			}
+
+			RoomClient rcm = this.clientListManager.addClientListItem(streamId,
+					conn.getScope().getName(), conn.getRemotePort(),
+					conn.getRemoteAddress(), swfURL, isAVClient);
+
+			// Log the User
+			conferenceLogDao.addConferenceLog("ClientConnect",
+					rcm.getUser_id(), streamId, null, rcm.getUserip(),
+					rcm.getScope(), rcm.getExternalUserId(),
+					rcm.getExternalUserType(), rcm.getMail(),
+					rcm.getFirstname(), rcm.getLastname());
+
+		} catch (Exception err) {
+			log.error("roomJoin", err);
+		}
+		return true;
+	}
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public synchronized Map screenSharerAction(Map map) {
+		try {
+
+			IConnection current = Red5.getConnectionLocal();
+
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(current.getClient().getId());
+
+			Map returnMap = new HashMap();
+			returnMap.put("result", "stopAll");
+
+			log.debug("-----------  ");
+
+			if (currentClient != null) {
+
+				if (Boolean.valueOf(map.get("stopStreaming").toString())) {
+					log.debug("start streamPublishStart Is Screen Sharing -- Stop ");
+					
+					//Send message to all users
+					syncMessageToCurrentScope("stopRed5ScreenSharing", currentClient, false);
+
+					if (currentClient.isStartRecording()) {
+						returnMap.put("result", "stopSharingOnly");
+					}
+
+					currentClient.setStartStreaming(false);
+					currentClient.setScreenPublishStarted(false);
+
+					clientListManager.updateClientByStreamId(
+							currentClient.getStreamid(), currentClient);
+				}
+				if (Boolean.valueOf(map.get("stopRecording").toString())) {
+					if (currentClient.isStartStreaming()) {
+						returnMap.put("result", "stopRecordingOnly");
+					}
+					
+					//Send message to all users
+					syncMessageToCurrentScope("stopRecordingMessage", currentClient, false);
+
+					flvRecorderService.stopRecordAndSave(
+							current.getScope(), currentClient, null);
+
+					currentClient.setStartRecording(false);
+					currentClient.setIsRecording(false);
+
+					clientListManager.updateClientByStreamId(
+							currentClient.getStreamid(), currentClient);
+				}
+				if (Boolean.valueOf(map.get("stopPublishing").toString())) {
+					streamPublishingStop();
+					if (currentClient.getIsScreenClient() && currentClient.isStartStreaming()) {
+						returnMap.put("result", "stopPublishingOnly");
+					}
+				}
+			}
+			return returnMap;
+		} catch (Exception err) {
+			log.error("[screenSharerAction]", err);
+		}
+		return null;
+	}
+
+	public List<RoomClient> checkRed5ScreenSharing() {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+
+			log.debug("checkScreenSharing -2- " + streamid);
+
+			List<RoomClient> screenSharerList = new LinkedList<RoomClient>();
+
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+
+			HashMap<String, RoomClient> roomList = this.clientListManager
+					.getClientListByRoomAll(currentClient.getRoom_id());
+
+			for (Iterator<String> iter = roomList.keySet().iterator(); iter
+					.hasNext();) {
+
+				RoomClient rcl = roomList.get(iter.next());
+
+				if (rcl.isStartStreaming()) {
+					screenSharerList.add(rcl);
+				}
+
+			}
+
+			return screenSharerList;
+
+		} catch (Exception err) {
+			log.error("[checkScreenSharing]", err);
+		}
+		return null;
+	}
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public synchronized Map setConnectionAsSharingClient(Map map) {
+		try {
+
+			IConnection current = Red5.getConnectionLocal();
+			// IServiceCapableConnection service = (IServiceCapableConnection)
+			// current;
+
+			log.debug("### setConnectionAsSharingClient: ");
+
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(current.getClient().getId());
+
+			if (currentClient != null) {
+
+				boolean startRecording = Boolean.valueOf(map.get(
+						"startRecording").toString());
+				boolean startStreaming = Boolean.valueOf(map.get(
+						"startStreaming").toString());
+
+				currentClient.setRoom_id(Long.parseLong(current.getScope()
+						.getName()));
+
+				// Set this connection to be a RTMP-Java Client
+				currentClient.setIsScreenClient(true);
+				currentClient.setUser_id(Long.parseLong(map.get("user_id")
+						.toString()));
+
+				if (startStreaming) {
+					currentClient.setStartStreaming(true);
+				}
+
+				if (startRecording) {
+					currentClient.setStartRecording(true);
+				}
+
+				currentClient.setOrganization_id(Long.parseLong(map.get(
+						"organization_id").toString()));
+
+				this.clientListManager.updateClientByStreamId(current
+						.getClient().getId(), currentClient);
+
+				Map returnMap = new HashMap();
+				returnMap.put("alreadyPublished", false);
+
+				// if is already started screen sharing, then there is no need
+				// to start it again
+				if (currentClient.isScreenPublishStarted()) {
+					returnMap.put("alreadyPublished", true);
+				}
+
+				currentClient.setVX(Integer.parseInt(map.get("screenX")
+						.toString()));
+				currentClient.setVY(Integer.parseInt(map.get("screenY")
+						.toString()));
+				currentClient.setVWidth(Integer.parseInt(map.get("screenWidth")
+						.toString()));
+				currentClient.setVHeight(Integer.parseInt(map.get(
+						"screenHeight").toString()));
+
+				log.debug("screen x,y,width,height " + currentClient.getVX()
+						+ " " + currentClient.getVY() + " "
+						+ currentClient.getVWidth() + " "
+						+ currentClient.getVHeight());
+
+				log.debug("publishName :: " + map.get("publishName"));
+
+				currentClient.setStreamPublishName(map.get("publishName")
+						.toString());
+
+				RoomClient currentScreenUser = this.clientListManager
+						.getClientByPublicSID(currentClient
+								.getStreamPublishName(), false);
+
+				currentClient.setFirstname(currentScreenUser.getFirstname());
+				currentClient.setLastname(currentScreenUser.getLastname());
+
+				// This is duplicated, but its not sure that in the meantime
+				// somebody requests this Client Object Info
+				this.clientListManager.updateClientByStreamId(current
+						.getClient().getId(), currentClient);
+
+				if (startStreaming) {
+					returnMap.put("modus", "startStreaming");
+
+					log.debug("start streamPublishStart Is Screen Sharing ");
+					
+					//Send message to all users
+					syncMessageToCurrentScope("newRed5ScreenSharing", currentClient, false);
+				} else if (startRecording) {
+					returnMap.put("modus", "startRecording");
+
+					String recordingName = "Recording "
+							+ CalendarPatterns
+									.getDateWithTimeByMiliSeconds(new Date());
+
+					flvRecorderService.recordMeetingStream(recordingName, "", false);
+				} else if (Boolean.valueOf(map.get("startPublishing").toString())) {
+					if (streamPublishingStart("" + map.get("publishingHost")
+						, "" + map.get("publishingApp")
+						, "" + map.get("publishingId")))
+					{
+						returnMap.put("modus", "startPublishing");
+					}
+				}
+
+				return returnMap;
+
+			} else {
+				throw new Exception("Could not find Screen Sharing Client "
+						+ current.getClient().getId());
+			}
+
+		} catch (Exception err) {
+			log.error("[setConnectionAsSharingClient]", err);
+		}
+		return null;
+	}
+
+    public synchronized List<Integer> listRoomBroadcast() {
+        List<Integer> broadcastList = new ArrayList<Integer>();
+        IConnection current = Red5.getConnectionLocal();
+        String streamid = current.getClient().getId();
+        Collection<Set<IConnection>> conCollection = current.getScope().getConnections();
+        for (Set<IConnection> conset : conCollection) {
+            for (IConnection conn : conset) {
+                if (conn != null) {
+                    RoomClient rcl = this.clientListManager
+                            .getClientByStreamId(conn
+                                    .getClient().getId());
+                    if (rcl == null) {
+                        // continue;
+                    } else if (rcl.getIsScreenClient() != null
+                            && rcl.getIsScreenClient()) {
+                        // continue;
+                    } else {
+                        if (!streamid.equals(rcl.getStreamid())) {
+                            // It is not needed to send back
+                            // that event to the actuall
+                            // Moderator
+                            // as it will be already triggered
+                            // in the result of this Function
+                            // in the Client
+                            broadcastList.add(Long.valueOf(rcl.getBroadCastID()).intValue());
+                        }
+                    }
+                }
+            }
+        }
+        return broadcastList;
+    }
+
+
+	/**
+	 * this function is invoked directly after initial connecting
+	 * 
+	 * @return
+	 */
+	public synchronized String getPublicSID() {
+		IConnection current = Red5.getConnectionLocal();
+		RoomClient currentClient = this.clientListManager
+				.getClientByStreamId(current.getClient().getId());
+		currentClient.setIsAVClient(false);
+		clientListManager.updateClientByStreamId(current.getClient().getId(),
+				currentClient);
+		return currentClient.getPublicSID();
+	}
+
+	/**
+	 * this function is invoked after a reconnect
+	 * 
+	 * @param newPublicSID
+	 */
+	public synchronized Boolean overwritePublicSID(String newPublicSID) {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(current.getClient().getId());
+			if (currentClient == null) {
+				return false;
+			}
+			currentClient.setPublicSID(newPublicSID);
+			this.clientListManager.updateClientByStreamId(current.getClient()
+					.getId(), currentClient);
+			return true;
+		} catch (Exception err) {
+			log.error("[overwritePublicSID]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * Logic must be before roomDisconnect cause otherwise you cannot throw a
+	 * message to each one
+	 * 
+	 */
+	@Override
+	public void roomLeave(IClient client, IScope room) {
+		try {
+
+			log.debug("roomLeave " + client.getId() + " "
+					+ room.getClients().size() + " " + room.getContextPath()
+					+ " " + room.getName());
+
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(client.getId());
+
+			// The Room Client can be null if the Client left the room by using
+			// logicalRoomLeave
+			if (currentClient != null) {
+				log.debug("currentClient IS NOT NULL");
+				this.roomLeaveByScope(currentClient, room, true);
+			}
+
+		} catch (Exception err) {
+			log.error("[roomLeave]", err);
+		}
+	}
+
+	/**
+	 * this means a user has left a room but only logically, he didn't leave the
+	 * app he just left the room
+	 * 
+	 * FIXME: Is this really needed anymore if you re-connect to another scope?
+	 * 
+	 * Exit Room by Application
+	 * 
+	 */
+	public synchronized void logicalRoomLeave() {
+		log.debug("logicalRoomLeave ");
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+
+			log.debug(streamid + " is leaving");
+
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+
+			this.roomLeaveByScope(currentClient, current.getScope(), true);
+
+		} catch (Exception err) {
+			log.error("[logicalRoomLeave]", err);
+		}
+	}
+
+	/**
+	 * Removes the Client from the List, stops recording, adds the Room-Leave
+	 * event to running recordings, clear Polls and removes Client from any list
+	 * 
+	 * This function is kind of private/protected as the client won't be able 
+	 * to call it with proper values.
+	 * 
+	 * @param currentClient
+	 * @param currentScope
+	 */
+	public synchronized void roomLeaveByScope(RoomClient currentClient,
+			IScope currentScope, boolean removeUserFromSessionList) {
+		try {
+
+			log.debug("currentClient " + currentClient);
+			log.debug("currentScope " + currentScope);
+			// log.debug("currentClient "+currentClient.getRoom_id());
+
+			Long room_id = currentClient.getRoom_id();
+
+			// Log the User
+			conferenceLogDao.addConferenceLog("roomLeave",
+					currentClient.getUser_id(), currentClient.getStreamid(),
+					room_id, currentClient.getUserip(), "",
+					currentClient.getExternalUserId(),
+					currentClient.getExternalUserType(),
+					currentClient.getMail(), currentClient.getFirstname(),
+					currentClient.getLastname());
+
+			// Remove User from Sync List's
+			if (room_id != null) {
+				this.whiteBoardService.removeUserFromAllLists(currentScope,
+						currentClient);
+			}
+
+			log.debug("removing USername " + currentClient.getUsername() + " "
+					+ currentClient.getConnectedSince() + " streamid: "
+					+ currentClient.getStreamid());
+
+			// stop and save any recordings
+			if (currentClient.getIsRecording()) {
+				log.debug("*** roomLeave Current Client is Recording - stop that");
+				// StreamService.stopRecordAndSave(currentScope,
+				// currentClient.getRoomRecordingName(), currentClient);
+
+				this.flvRecorderService.stopRecordAndSave(currentScope,
+						currentClient, null);
+
+				// set to true and overwrite the default one cause otherwise no
+				// notification is send
+				currentClient.setIsRecording(true);
+			}
+
+			// Notify all clients of the same currentScope (room) with domain
+			// and room except the current disconnected cause it could throw an exception
+			log.debug("currentScope " + currentScope);
+
+			if (currentScope != null && currentScope.getConnections() != null) {
+				// Notify Users of the current Scope
+				Collection<Set<IConnection>> conCollection = currentScope
+						.getConnections();
+				for (Set<IConnection> conset : conCollection) {
+					for (IConnection cons : conset) {
+						if (cons != null) {
+							if (cons instanceof IServiceCapableConnection) {
+
+								log.debug("sending roomDisconnect to " + cons
+										+ " client id "
+										+ cons.getClient().getId());
+
+								RoomClient rcl = this.clientListManager
+										.getClientByStreamId(cons.getClient()
+												.getId());
+
+								/*
+								 * Check if the Client does still exist on the
+								 * list
+								 */
+								if (rcl != null) {
+
+									/*
+									 * Do not send back to sender, but actually
+									 * all other clients should receive this
+									 * message swagner 01.10.2009
+									 */
+									if (!currentClient.getStreamid().equals(
+											rcl.getStreamid())) {
+										
+										// add Notification if another user isrecording
+										log.debug("###########[roomLeave]");
+										if (rcl.getIsRecording()) {
+											log.debug("*** roomLeave Any Client is Recording - stop that");
+											this.flvRecorderService
+													.stopRecordingShowForClient(
+															cons, currentClient);
+										}
+										
+										//If the user was a avclient, we do not broadcast a message about that to everybody
+										if (currentClient.getIsAVClient()) {
+											continue;
+										}
+										
+										if (rcl.getIsScreenClient() != null && rcl
+												.getIsScreenClient()) {
+											// screen sharing clients do not receive events
+											continue;
+										} else if (rcl.getIsAVClient()) {
+											// AVClients or potential AVClients do not receive events
+											continue;
+										}
+										
+										// Send to all connected users
+										((IServiceCapableConnection) cons)
+												.invoke("roomDisconnect",
+													new Object[] { currentClient },this);
+										log.debug("sending roomDisconnect to " + cons);
+									}
+								} else {
+									log.debug("For this StreamId: "
+											+ cons.getClient().getId()
+											+ " There is no Client in the List anymore");
+								}
+							}
+						}
+					}
+				}
+			}
+
+			if (removeUserFromSessionList) {
+				this.clientListManager.removeClient(currentClient.getStreamid());
+			}
+		} catch (Exception err) {
+			log.error("[roomLeaveByScope]", err);
+		}
+	}
+
+	/**
+	 * This method handles the Event after a stream has been added all connected
+	 * Clients in the same room will get a notification
+	 * 
+	 * @return void
+	 * 
+	 */
+	@Override
+	public synchronized void streamPublishStart(IBroadcastStream stream) {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+
+			//We make a second object the has the reference to the object 
+			//that we will use to send to all participents
+			RoomClient clientObjectSendToSync = currentClient;
+			
+			// Notify all the clients that the stream had been started
+			log.debug("start streamPublishStart broadcast start: "
+					+ stream.getPublishedName() + " CONN " + current);
+
+			// In case its a screen sharing we start a new Video for that
+			if (currentClient.getIsScreenClient()) {
+
+				currentClient.setScreenPublishStarted(true);
+
+				this.clientListManager.updateClientByStreamId(current
+						.getClient().getId(), currentClient);
+			}
+			//If its an audio/video client then send the session object with the full 
+			//data to everybody
+			else if (currentClient.getIsAVClient()) {
+				clientObjectSendToSync = this.clientListManager.getClientByPublicSID(
+											currentClient.getPublicSID(), false);
+			}
+			
+			log.debug("newStream SEND: "+currentClient);
+
+			// Notify all users of the same Scope
+			// We need to iterate through the streams to catch if anybody is recording
+			Collection<Set<IConnection>> conCollection = current.getScope()
+					.getConnections();
+			for (Set<IConnection> conset : conCollection) {
+				for (IConnection conn : conset) {
+					if (conn != null) {
+						if (conn instanceof IServiceCapableConnection) {
+							
+							RoomClient rcl = this.clientListManager
+									.getClientByStreamId(conn.getClient()
+											.getId());
+							
+							if (rcl == null) {
+								log.debug("RCL IS NULL newStream SEND");
+								continue;
+							}
+							
+							log.debug("check send to "+rcl);
+							
+							if (rcl.getPublicSID() == "") {
+								log.debug("publicSID IS NULL newStream SEND");
+								continue;
+							}
+							if (rcl.getIsRecording()) {
+								log.debug("RCL getIsRecording newStream SEND");
+								this.flvRecorderService
+										.addRecordingByStreamId(current,
+												streamid, currentClient,
+												rcl.getFlvRecordingId());
+							}
+							if (rcl.getIsAVClient()) {
+								log.debug("RCL getIsAVClient newStream SEND");
+								continue;
+							}
+							if (rcl.getIsScreenClient() == null || rcl.getIsScreenClient()) {
+								log.debug("RCL getIsScreenClient newStream SEND");
+								continue;
+							}
+							
+							if (rcl.getPublicSID().equals(currentClient.getPublicSID())) {
+								log.debug("RCL publicSID is equal newStream SEND");
+								continue;
+							}
+							
+							log.debug("RCL SEND is equal newStream SEND "+rcl.getPublicSID()+" || "+rcl.getUserport());
+								
+							IServiceCapableConnection iStream = (IServiceCapableConnection) conn;
+							iStream.invoke("newStream",
+									new Object[] { clientObjectSendToSync },
+									this);
+
+						}
+					}
+				}
+			}
+
+		} catch (Exception err) {
+			log.error("[streamPublishStart]", err);
+		}
+	}
+
+	public IBroadcastScope getBroadcastScope(IScope scope, String name) {
+		IBasicScope basicScope = scope.getBasicScope(ScopeType.BROADCAST, name);
+		if (!(basicScope instanceof IBroadcastScope)) {
+			return null;
+		} else {
+			return (IBroadcastScope) basicScope;
+		}
+	}
+
+    public boolean streamPublishingStart(String host, String app, String id) {
+    	final boolean[] result = {true};
+		final IConnection conn = Red5.getConnectionLocal();
+		RoomClient rc = clientListManager.getClientByStreamId(conn.getClient().getId());
+		String publishName = rc.getStreamPublishName();
+		
+		if (rc.getIsScreenClient() && rc.isStartStreaming()) {
+	        IScope scope = conn.getScope();
+	        IBroadcastStream stream = getBroadcastStream(scope, publishName);
+	        IBroadcastScope bsScope = getBroadcastScope(scope, publishName);
+	        final StreamingProxy proxy = new StreamingProxy();
+	        proxy.setHost(host);
+	        proxy.setApp(app);
+	        proxy.setPort(1935);
+	        proxy.init();
+	        proxy.setExceptionHandler(new ClientExceptionHandler() {
+				public void handleException(Throwable throwable) {
+					result[0] = false;
+					HashMap<String, Object> params = new HashMap<String, Object>();
+					params.put("stopPublishing", true);
+					params.put("error", throwable.getMessage());
+					((IServiceCapableConnection)conn).invoke(
+						"screenSharerAction"
+						, new Object[] { params }
+						, ScopeApplicationAdapter.this);
+				}
+			});
+	        bsScope.subscribe(proxy, null);
+	        proxy.start(id, "live", null);
+	        streamingProxyMap.put(publishName, proxy);
+	        stream.addStreamListener(new IStreamListener() {
+				public void packetReceived(IBroadcastStream stream, IStreamPacket packet) {
+					try {
+						RTMPMessage m = RTMPMessage.build((IRTMPEvent)packet, packet.getTimestamp());
+				        proxy.pushMessage(null, m);
+					} catch (Exception e) {
+						log.error("Exception while sending proxy message", e);
+					}
+				}
+			});
+		}
+		return result[0];
+    }
+    
+    public void streamPublishingStop() {
+		IConnection current = Red5.getConnectionLocal();
+		RoomClient rc = clientListManager.getClientByStreamId(current.getClient().getId());
+		String publishName = rc.getStreamPublishName();
+		
+		if (rc.getIsScreenClient() && publishName != null) {
+	        IScope scope = current.getScope();
+	        IBroadcastStream stream = getBroadcastStream(scope, publishName);
+			StreamingProxy proxy = streamingProxyMap.remove(publishName);
+			if (proxy != null) {
+				proxy.stop();
+				IBroadcastScope bsScope = getBroadcastScope(scope, stream.getPublishedName());
+				if (bsScope != null) {
+					bsScope.unsubscribe(proxy);
+				}
+			}
+		}
+    }
+    
+	/**
+	 * This method handles the Event after a stream has been removed all
+	 * connected Clients in the same room will get a notification
+	 * 
+	 * @return void
+	 * 
+	 */
+	@Override
+	public synchronized void streamBroadcastClose(IBroadcastStream stream) {
+
+		// Notify all the clients that the stream had been closed
+		log.debug("start streamBroadcastClose broadcast close: "
+				+ stream.getPublishedName());
+		try {
+			streamPublishingStop();
+			
+			IConnection current = Red5.getConnectionLocal();
+			RoomClient rcl = clientListManager.getClientByStreamId(current.getClient().getId());
+			sendClientBroadcastNotifications(stream, "closeStream", rcl);
+		} catch (Exception e) {
+			log.error("[streamBroadcastClose]", e);
+		}
+	}
+
+	/**
+	 * This method handles the notification room-based
+	 * 
+	 * @return void
+	 * 
+	 */
+	private synchronized void sendClientBroadcastNotifications(
+			IBroadcastStream stream, String clientFunction, RoomClient rc) {
+		try {
+
+			// Store the local so that we do not send notification to ourself
+			// back
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+
+			if (currentClient == null) {
+
+				// In case the client has already left(kicked) this message
+				// might be thrown later then the RoomLeave
+				// event and the currentClient is already gone
+				// The second Use-Case where the currentClient is maybe null is
+				// if we remove the client because its a Zombie/Ghost
+
+				return;
+
+			}
+			// Notify all the clients that the stream had been started
+			log.debug("sendClientBroadcastNotifications: "
+					+ stream.getPublishedName());
+			log.debug("sendClientBroadcastNotifications : " + currentClient
+					+ " " + currentClient.getStreamid());
+
+			// Notify all clients of the same scope (room)
+			Collection<Set<IConnection>> conCollection = current.getScope()
+					.getConnections();
+			for (Set<IConnection> conset : conCollection) {
+				for (IConnection conn : conset) {
+					if (conn != null) {
+						if (conn instanceof IServiceCapableConnection) {
+							if (conn.equals(current)) {
+								// there is a Bug in the current implementation
+								// of the appDisconnect
+								if (clientFunction.equals("closeStream")) {
+									RoomClient rcl = this.clientListManager
+											.getClientByStreamId(conn
+													.getClient().getId());
+									if (clientFunction.equals("closeStream")
+											&& rcl.getIsRecording()) {
+										log.debug("*** stopRecordingShowForClient Any Client is Recording - stop that");
+										// StreamService.stopRecordingShowForClient(conn,
+										// currentClient,
+										// rcl.getRoomRecordingName(), false);
+										this.flvRecorderService
+												.stopRecordingShowForClient(
+														conn, currentClient);
+									}
+									// Don't notify current client
+									current.ping();
+								}
+								continue;
+							} else {
+								RoomClient rcl = this.clientListManager
+										.getClientByStreamId(conn.getClient()
+												.getId());
+								if (rcl != null) {
+									if (rcl.getIsScreenClient() != null
+											&& rcl.getIsScreenClient()) {
+										// continue;
+									} else {
+										log.debug("is this users still alive? :"
+												+ rcl);
+										// conn.ping();
+										IServiceCapableConnection iStream = (IServiceCapableConnection) conn;
+										// log.info("IServiceCapableConnection ID "
+										// + iStream.getClient().getId());
+										iStream.invoke(clientFunction,
+												new Object[] { rc }, this);
+									}
+
+									log.debug("sending notification to " + conn
+											+ " ID: ");
+
+									// if this close stream event then stop the
+									// recording of this stream
+									if (clientFunction.equals("closeStream")
+											&& rcl.getIsRecording()) {
+										log.debug("***  +++++++ ######## sendClientBroadcastNotifications Any Client is Recording - stop that");
+										// StreamService.stopRecordingShowForClient(conn,
+										// currentClient,
+										// rcl.getRoomRecordingName(), false);
+										this.flvRecorderService
+												.stopRecordingShowForClient(
+														conn, currentClient);
+									}
+								}
+
+							}
+						}
+					}
+				}
+			}
+		} catch (Exception err) {
+			log.error("[sendClientBroadcastNotifications]", err);
+		}
+	}
+
+
+	/**
+	 * Adds a Moderator by its publicSID
+	 * 
+	 * @param publicSID
+	 * @return
+	 */
+	public synchronized Long addModerator(String publicSID) {
+		try {
+
+			log.debug("*..*addModerator publicSID: " + publicSID);
+
+			// String streamid = current.getClient().getId();
+
+			RoomClient currentClient = this.clientListManager
+					.getClientByPublicSID(publicSID, false);
+
+			if (currentClient == null) {
+				return -1L;
+			}
+			Long room_id = currentClient.getRoom_id();
+
+			currentClient.setIsMod(true);
+			// Put the mod-flag to true for this client
+			this.clientListManager.updateClientByStreamId(
+					currentClient.getStreamid(), currentClient);
+
+			List<RoomClient> currentMods = this.clientListManager
+					.getCurrentModeratorByRoom(room_id);
+			
+			//Send message to all users
+			syncMessageToCurrentScope("setNewModeratorByList", currentMods, true);
+
+		} catch (Exception err) {
+			log.error("[addModerator]", err);
+		}
+		return -1L;
+	}
+
+	@SuppressWarnings("unchecked")
+	public void setNewCursorPosition(Object item) {
+		try {
+
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+
+			// log.debug("[setNewCursorPosition]"+item);
+
+			@SuppressWarnings("rawtypes")
+			Map cursor = (Map) item;
+			cursor.put("streamPublishName",
+					currentClient.getStreamPublishName());
+
+			// log.debug("[setNewCursorPosition x]"+cursor.get("cursor_x"));
+			// log.debug("[setNewCursorPosition y]"+cursor.get("cursor_y"));
+			// log.debug("[setNewCursorPosition publicSID]"+cursor.get("publicSID"));
+
+			// Notify all users of the same Scope
+			Collection<Set<IConnection>> conCollection = current.getScope()
+					.getConnections();
+			for (Set<IConnection> conset : conCollection) {
+				for (IConnection conn : conset) {
+					if (conn != null) {
+						if (conn instanceof IServiceCapableConnection) {
+							if (conn.equals(current)) {
+								continue;
+							} else {
+								RoomClient rcl = this.clientListManager
+										.getClientByStreamId(conn.getClient()
+												.getId());
+								if (rcl == null) {
+									// continue;
+								} else if (rcl.getIsScreenClient() != null
+										&& rcl.getIsScreenClient()) {
+									// continue;
+								} else {
+									// log.debug("is this users still alive? :"+rcl);
+									// Check if the Client is in the same room
+									// and same domain
+									IServiceCapableConnection iStream = (IServiceCapableConnection) conn;
+									// log.info("IServiceCapableConnection ID "
+									// + iStream.getClient().getId());
+									iStream.invoke("newRed5ScreenCursor",
+											new Object[] { cursor }, this);
+									// log.debug("send Notification to");
+								}
+							}
+						}
+					}
+				}
+			}
+
+		} catch (Exception err) {
+			log.error("[setNewCursorPosition]", err);
+		}
+	}
+
+	public synchronized Long removeModerator(String publicSID) {
+		try {
+
+			log.debug("*..*addModerator publicSID: " + publicSID);
+
+			IConnection current = Red5.getConnectionLocal();
+			// String streamid = current.getClient().getId();
+
+			RoomClient currentClient = this.clientListManager
+					.getClientByPublicSID(publicSID, false);
+
+			if (currentClient == null) {
+				return -1L;
+			}
+			Long room_id = currentClient.getRoom_id();
+
+			currentClient.setIsMod(false);
+			// Put the mod-flag to true for this client
+			this.clientListManager.updateClientByStreamId(
+					currentClient.getStreamid(), currentClient);
+
+			List<RoomClient> currentMods = this.clientListManager
+					.getCurrentModeratorByRoom(room_id);
+
+			// Notify all clients of the same scope (room)
+			Collection<Set<IConnection>> conCollection = current.getScope()
+					.getConnections();
+			for (Set<IConnection> conset : conCollection) {
+				for (IConnection conn : conset) {
+					if (conn != null) {
+						RoomClient rcl = this.clientListManager
+								.getClientByStreamId(conn.getClient().getId());
+						if (rcl == null) {
+							// continue;
+						} else if (rcl.getIsScreenClient() != null
+								&& rcl.getIsScreenClient()) {
+							// continue;
+						} else {
+							log.debug("Send Flag to Client: "
+									+ rcl.getUsername());
+							if (conn instanceof IServiceCapableConnection) {
+								((IServiceCapableConnection) conn).invoke(
+										"setNewModeratorByList",
+										new Object[] { currentMods }, this);
+								log.debug("sending setNewModeratorByList to "
+										+ conn);
+							}
+						}
+					}
+				}
+			}
+
+		} catch (Exception err) {
+			log.error("[addModerator]", err);
+		}
+		return -1L;
+	}
+
+	public synchronized Long setBroadCastingFlag(String publicSID,
+			boolean value, Integer interviewPodId) {
+		try {
+
+			log.debug("*..*setBroadCastingFlag publicSID: " + publicSID);
+
+			IConnection current = Red5.getConnectionLocal();
+			// String streamid = current.getClient().getId();
+
+            RoomClient currentClient = this.clientListManager
+					.getClientByPublicSID(publicSID, false);
+
+			if (currentClient == null) {
+				return -1L;
+			}
+
+			currentClient.setIsBroadcasting(value);
+			currentClient.setInterviewPodId(interviewPodId);
+
+            // Put the mod-flag to true for this client
+		    this.clientListManager.updateClientByStreamId(
+		    		currentClient.getStreamid(), currentClient);
+		    
+			// Notify all clients of the same scope (room)
+			Collection<Set<IConnection>> conCollection = current.getScope()
+					.getConnections();
+			for (Set<IConnection> conset : conCollection) {
+				for (IConnection conn : conset) {
+					if (conn != null) {
+						RoomClient rcl = this.clientListManager
+								.getClientByStreamId(conn.getClient().getId());
+						if (rcl == null) {
+							continue;
+						} else if (rcl.getIsScreenClient() != null
+								&& rcl.getIsScreenClient()) {
+							continue;
+						} else if (rcl.getIsAVClient()) {
+							continue;
+						}
+						
+						log.debug("Send Flag to Client: "
+								+ rcl.getUsername());
+						if (conn instanceof IServiceCapableConnection) {
+							((IServiceCapableConnection) conn).invoke(
+									"setNewBroadCastingFlag",
+									new Object[] { currentClient }, this);
+							log.debug("sending setNewBroadCastingFlag to "
+									+ conn);
+						}
+					}
+				}
+			}
+
+		} catch (Exception err) {
+			log.error("[setBroadCastingFlag]", err);
+		}
+		return -1L;
+	}
+
+	public synchronized Long giveExclusiveAudio(String publicSID) {
+		try {
+
+			log.debug("*..*giveExclusiveAudio publicSID: " + publicSID);
+
+			IConnection current = Red5.getConnectionLocal();
+			// String streamid = current.getClient().getId();
+
+			RoomClient currentClient = this.clientListManager
+					.getClientByPublicSID(publicSID, false);
+
+			if (currentClient == null) {
+				return -1L;
+			}
+
+			// Put the mod-flag to true for this client
+			currentClient.setMicMuted(false);
+			this.clientListManager.updateClientByStreamId(
+					currentClient.getStreamid(), currentClient);
+
+			// Notify all clients of the same scope (room)
+			Collection<Set<IConnection>> conCollection = current.getScope()
+					.getConnections();
+			for (Set<IConnection> conset : conCollection) {
+				for (IConnection conn : conset) {
+					if (conn != null) {
+						RoomClient rcl = this.clientListManager
+								.getClientByStreamId(conn.getClient().getId());
+						if (rcl == null) {
+							// continue;
+						} else if (rcl.getIsScreenClient() != null
+								&& rcl.getIsScreenClient()) {
+							// continue;
+						} else {
+							if (rcl != currentClient) {
+								rcl.setMicMuted(true);
+								this.clientListManager.updateClientByStreamId(
+										rcl.getStreamid(), rcl);
+							}
+							log.debug("Send Flag to Client: "
+									+ rcl.getUsername());
+							if (conn instanceof IServiceCapableConnection) {
+								((IServiceCapableConnection) conn).invoke(
+										"receiveExclusiveAudioFlag",
+										new Object[] { currentClient }, this);
+								log.debug("sending receiveExclusiveAudioFlag to "
+										+ conn);
+							}
+						}
+					}
+				}
+			}
+
+		} catch (Exception err) {
+			log.error("[giveExclusiveAudio]", err);
+		}
+		return -1L;
+	}
+
+	public synchronized Long switchMicMuted(String publicSID, boolean mute) {
+		try {
+			log.debug("*..*switchMicMuted publicSID: " + publicSID);
+
+			RoomClient currentClient = this.clientListManager
+					.getClientByPublicSID(publicSID, false);
+			if (currentClient == null) {
+				return -1L;
+			}
+
+			currentClient.setMicMuted(mute);
+			this.clientListManager.updateClientByStreamId(
+					currentClient.getStreamid(), currentClient);
+
+			HashMap<Integer, Object> newMessage = new HashMap<Integer, Object>();
+			newMessage.put(0, "updateMuteStatus");
+			newMessage.put(1, currentClient);
+			this.sendMessageWithClient(newMessage);
+
+		} catch (Exception err) {
+			log.error("[switchMicMuted]", err);
+		}
+		return 0L;
+	}
+
+    public synchronized Boolean getMicMutedByPublicSID(String publicSID) {
+        try {
+			RoomClient currentClient = this.clientListManager.getClientByPublicSID(publicSID, false);
+			if (currentClient == null) {
+				return true;
+			}
+
+			//Put the mod-flag to true for this client
+            Boolean muted = currentClient.getMicMuted();
+            if (null == muted) {
+                muted = true;
+            }
+
+            return muted;
+        } catch (Exception err) {
+			log.error("[getMicMutedByPublicSID]",err);
+		}
+		return true;
+    }
+
+	/**
+	 * Invoked by a User whenever he want to become moderator this is needed,
+	 * cause if the room has no moderator yet there is no-one he can ask to get
+	 * the moderation, in case its a Non-Moderated Room he should then get the
+	 * Moderation without any confirmation needed
+	 * 
+	 * @return Long 1 => means get Moderation, 2 => ask Moderator for
+	 *         Moderation, 3 => wait for Moderator
+	 */
+	public synchronized Long applyForModeration(String publicSID) {
+		try {
+
+			RoomClient currentClient = this.clientListManager
+					.getClientByPublicSID(publicSID, false);
+
+			List<RoomClient> currentModList = this.clientListManager
+					.getCurrentModeratorByRoom(currentClient.getRoom_id());
+
+			if (currentModList.size() > 0) {
+				return 2L;
+			} else {
+				// No moderator in this room at the moment
+				Rooms room = roommanagement.getRoomById(currentClient
+						.getRoom_id());
+
+				if (room.getIsModeratedRoom()) {
+					return 3L;
+				} else {
+					return 1L;
+				}
+			}
+
+		} catch (Exception err) {
+			log.error("[applyForModeration]", err);
+		}
+		return -1L;
+	}
+
+	/**
+	 * there will be set an attribute called "broadCastCounter" this is the name
+	 * this user will publish his stream
+	 * 
+	 * @return long broadCastId
+	 */
+	public synchronized long getBroadCastId() {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+			currentClient.setBroadCastID(broadCastCounter++);
+			this.clientListManager.updateClientByStreamId(streamid,
+					currentClient);
+			return currentClient.getBroadCastID();
+		} catch (Exception err) {
+			log.error("[getBroadCastId]", err);
+		}
+		return -1;
+	}
+
+	/**
+	 * this must be set _after_ the Video/Audio-Settings have been chosen (see
+	 * editrecordstream.lzx) but _before_ anything else happens, it cannot be
+	 * applied _after_ the stream has started! avsettings can be: av - video and
+	 * audio a - audio only v - video only n - no a/v only static image
+	 * furthermore
+	 * 
+	 * @param avsetting
+	 * @param newMessage
+	 * @return
+	 */
+	public synchronized RoomClient setUserAVSettings(String avsettings,
+			Object newMessage, Integer vWidth, Integer vHeight, 
+			long room_id, String publicSID, Integer interviewPodId) {
+		try {
+
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+			currentClient.setAvsettings(avsettings);
+			currentClient.setRoom_id(room_id);
+			currentClient.setPublicSID(publicSID);
+			currentClient.setIsAVClient(true);
+			currentClient.setVWidth(vWidth);
+			currentClient.setVHeight(vHeight);
+			currentClient.setInterviewPodId(interviewPodId);
+			// Long room_id = currentClient.getRoom_id();
+			this.clientListManager.updateAVClientByStreamId(streamid,
+					currentClient);
+
+			HashMap<String, Object> hsm = new HashMap<String, Object>();
+			hsm.put("client", currentClient);
+			hsm.put("message", newMessage);
+
+			Collection<Set<IConnection>> conCollection = current.getScope()
+					.getConnections();
+			for (Set<IConnection> conset : conCollection) {
+				for (IConnection conn : conset) {
+					if (conn != null) {
+						if (conn instanceof IServiceCapableConnection) {
+							RoomClient rcl = this.clientListManager
+									.getClientByStreamId(conn.getClient()
+											.getId());
+							if (rcl == null) {
+								// continue;
+							} else if (rcl.getIsScreenClient() != null
+									&& rcl.getIsScreenClient()) {
+								// continue;
+							} else {
+								((IServiceCapableConnection) conn).invoke(
+										"sendVarsToMessageWithClient",
+										new Object[] { hsm }, this);
+							}
+						}
+					}
+				}
+			}
+
+			return currentClient;
+		} catch (Exception err) {
+			log.error("[setUserAVSettings]", err);
+		}
+		return null;
+	}
+
+	/*
+	 * checks if the user is allowed to apply for Moderation
+	 */
+	public synchronized Boolean checkRoomValues(Long room_id) {
+		try {
+
+			// appointed meeting or moderated Room?
+			Rooms room = roommanagement.getRoomById(room_id);
+
+			// not really - default logic
+			if (room.getAppointment() == null || room.getAppointment() == false) {
+
+				if (room.getIsModeratedRoom()) {
+
+					// if this is a Moderated Room then the Room can be only
+					// locked off by the Moderator Bit
+					List<RoomClient> clientModeratorListRoom = this.clientListManager
+							.getCurrentModeratorByRoom(room_id);
+
+					// If there is no Moderator yet and we are asking for it
+					// then deny it
+					// cause at this moment, the user should wait untill a
+					// Moderator enters the Room
+					if (clientModeratorListRoom.size() == 0) {
+						return false;
+					} else {
+						return true;
+					}
+
+				} else {
+					return true;
+				}
+
+			} else {
+
+				// FIXME: TODO: For Rooms that are created as Appointment we
+				// have to check that too
+				// but I don't know yet the Logic behind it - swagner 19.06.2009
+				return true;
+
+			}
+
+		} catch (Exception err) {
+			log.error("[checkRoomValues]", err);
+		}
+		return false;
+	}
+
+	/**
+	 * This function is called once a User enters a Room
+	 * 
+	 * It contains several different mechanism depending on what roomtype and
+	 * what options are available for the room to find out if the current user
+	 * will be a moderator of that room or not<br/>
+	 * <br/>
+	 * Some rules:<br/>
+	 * <ul>
+	 * <li>If it is a room that was created through the calendar, the user that
+	 * organized the room will be moderator, the param Boolean becomeModerator
+	 * will be ignored then</li>
+	 * <li>In regular rooms you can use the param Boolean becomeModerator to set
+	 * any user to become a moderator of the room</li>
+	 * </ul>
+	 * <br/>
+	 * If a new moderator is detected a Push Call to all current users of the
+	 * room is invoked "setNewModeratorByList" to notify them of the new
+	 * moderator<br/>
+	 * <br/>
+	 * And the end of the mechanism a push call with the new client-object
+	 * and all the informations about the new user is send to every user of the
+	 * current conference room<br/>
+	 * <br/>
+	 * @param room_id
+	 * @param colorObj
+	 * @return
+	 */
+	public synchronized RoomStatus setRoomValues(Long room_id,
+			Boolean becomeModerator, Boolean isSuperModerator,
+			Long organization_id, String colorObj) {
+		try {
+
+			// Return Object
+			RoomStatus roomStatus = new RoomStatus();
+
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+			currentClient.setRoom_id(room_id);
+			currentClient.setIsAVClient(false);
+			currentClient.setRoomEnter(new Date());
+			currentClient.setOrganization_id(organization_id);
+
+			currentClient.setUsercolor(colorObj);
+
+			// Inject externalUserId if nothing is set yet
+			if (currentClient.getExternalUserId() == null) {
+				Users us = usersDao.getUser(currentClient.getUser_id());
+				if (us != null) {
+					currentClient.setExternalUserId(us.getExternalUserId());
+					currentClient.setExternalUserType(us.getExternalUserType());
+				}
+			}
+
+			// This can be set without checking for Moderation Flag
+			currentClient.setIsSuperModerator(isSuperModerator);
+
+			this.clientListManager.updateClientByStreamId(streamid,
+					currentClient);
+
+            Rooms room = roommanagement.getRoomById(room_id);
+            if (room.getShowMicrophoneStatus()) {
+            	currentClient.setCanGiveAudio(true);
+            }
+
+			// Log the User
+			conferenceLogDao.addConferenceLog("roomEnter",
+					currentClient.getUser_id(), streamid, room_id,
+					currentClient.getUserip(), "",
+					currentClient.getExternalUserId(),
+					currentClient.getExternalUserType(),
+					currentClient.getMail(), currentClient.getFirstname(),
+					currentClient.getLastname());
+
+			log.debug("##### setRoomValues : " + currentClient);
+			
+			// Check for Moderation LogicalRoom ENTER
+			HashMap<String, RoomClient> clientListRoom = this.clientListManager
+					.getRoomClients(room_id);
+
+			// appointed meeting or moderated Room? => Check Max Users first
+			if (room.getNumberOfPartizipants() != null
+					&& clientListRoom.size() > room.getNumberOfPartizipants()) {
+				roomStatus.setRoomFull(true);
+				return roomStatus;
+			}
+
+			// default logic for non regular rooms
+			if (room.getAppointment() == null || room.getAppointment() == false) {
+
+				if (room.getIsModeratedRoom()) {
+
+					// if this is a Moderated Room then the Room can be only
+					// locked off by the Moderator Bit
+					// List<RoomClient> clientModeratorListRoom =
+					// this.clientListManager.getCurrentModeratorByRoom(room_id);
+
+					// If there is no Moderator yet we have to check if the
+					// current User has the Bit set to true to
+					// become one, otherwise he won't get Moderation and has to
+					// wait
+					if (becomeModerator) {
+						currentClient.setIsMod(true);
+
+						// There is a need to send an extra Event here, cause at
+						// this moment there could be
+						// already somebody in the Room waiting
+
+						// Update the Client List
+						this.clientListManager.updateClientByStreamId(streamid,
+								currentClient);
+
+						List<RoomClient> modRoomList = this.clientListManager
+								.getCurrentModeratorByRoom(currentClient.getRoom_id());
+						
+						//Sync message to everybody
+						syncMessageToCurrentScope("setNewModeratorByList", modRoomList, false);
+
+					} else {
+						// The current User is not a Teacher/Admin or whatever
+						// Role that should get the
+						// Moderation
+						currentClient.setIsMod(false);
+					}
+
+				} else {
+
+					// If this is a normal Room Moderator rules : first come,
+					// first draw ;-)
+					log.debug("setRoomValues : Room"
+							+ room_id
+							+ " not appointed! Moderator rules : first come, first draw ;-)");
+					if (clientListRoom.size() == 1) {
+						log.debug("Room is empty so set this user to be moderation role");
+						currentClient.setIsMod(true);
+					} else {
+						log.debug("Room is already somebody so set this user not to be moderation role");
+
+						if (becomeModerator) {
+							currentClient.setIsMod(true);
+
+							// Update the Client List
+							this.clientListManager.updateClientByStreamId(
+									streamid, currentClient);
+
+							List<RoomClient> modRoomList = this.clientListManager
+									.getCurrentModeratorByRoom(currentClient
+											.getRoom_id());
+
+							// There is a need to send an extra Event here,
+							// cause at this moment there could be
+							// already somebody in the Room waiting -swagner check this comment, 20.01.2012
+							
+							//Sync message to everybody
+							syncMessageToCurrentScope("setNewModeratorByList", modRoomList, false);
+
+						} else {
+							// The current User is not a Teacher/Admin or
+							// whatever Role that should get the Moderation
+							currentClient.setIsMod(false);
+						}
+
+					}
+
+				}
+
+				// Update the Client List
+				this.clientListManager.updateClientByStreamId(streamid,
+						currentClient);
+
+			} else {
+
+				// If this is an Appointment then the Moderator will be set to
+				// the Invitor
+
+				Appointment ment = appointmentLogic
+						.getAppointmentByRoom(room_id);
+
+				List<MeetingMember> members = meetingMemberDao
+						.getMeetingMemberByAppointmentId(ment
+								.getAppointmentId());
+
+				Long userIdInRoomClient = currentClient.getUser_id();
+
+				boolean found = false;
+				boolean moderator_set = false;
+
+				// Check if current user is set to moderator
+				for (int i = 0; i < members.size(); i++) {
+					MeetingMember member = members.get(i);
+
+					// only persistent users can schedule a meeting
+					// user-id is only set for registered users
+					if (member.getUserid() != null) {
+						log.debug("checking user " + member.getFirstname()
+								+ " for moderator role - ID : "
+								+ member.getUserid().getUser_id());
+
+						if (member.getUserid().getUser_id()
+								.equals(userIdInRoomClient)) {
+							found = true;
+
+							if (member.getInvitor()) {
+								log.debug("User "
+										+ userIdInRoomClient
+										+ " is moderator due to flag in MeetingMember record");
+								currentClient.setIsMod(true);
+
+								// Update the Client List
+								this.clientListManager.updateClientByStreamId(
+										streamid, currentClient);
+
+								List<RoomClient> modRoomList = this.clientListManager
+										.getCurrentModeratorByRoom(currentClient
+												.getRoom_id());
+
+								// There is a need to send an extra Event here, cause at this moment 
+								// there could be already somebody in the Room waiting
+
+								//Sync message to everybody
+								syncMessageToCurrentScope("setNewModeratorByList", modRoomList, false);
+
+								moderator_set = true;
+								this.clientListManager.updateClientByStreamId(
+										streamid, currentClient);
+								break;
+							} else {
+								log.debug("User "
+										+ userIdInRoomClient
+										+ " is NOT moderator due to flag in MeetingMember record");
+								currentClient.setIsMod(false);
+								this.clientListManager.updateClientByStreamId(
+										streamid, currentClient);
+								break;
+							}
+						} else {
+							if (member.getInvitor())
+								moderator_set = true;
+						}
+					} else {
+						if (member.getInvitor())
+							moderator_set = true;
+					}
+
+				}
+
+				if (!found) {
+					log.debug("User "
+							+ userIdInRoomClient
+							+ " could not be found as MeetingMember -> definitely no moderator");
+					currentClient.setIsMod(false);
+					this.clientListManager.updateClientByStreamId(streamid,
+							currentClient);
+				} else {
+					// if current user is part of the member list, but moderator
+					// couldn't be retrieved : first come, first draw!
+					if (clientListRoom.size() == 1 && moderator_set == false) {
+						log.debug("");
+						currentClient.setIsMod(true);
+
+						// Update the Client List
+						this.clientListManager.updateClientByStreamId(streamid,
+								currentClient);
+
+						List<RoomClient> modRoomList = this.clientListManager
+								.getCurrentModeratorByRoom(currentClient
+										.getRoom_id());
+
+						// There is a need to send an extra Event here, cause at
+						// this moment there could be
+						// already somebody in the Room waiting
+
+						//Sync message to everybody
+						syncMessageToCurrentScope("setNewModeratorByList", modRoomList, false);
+						
+						this.clientListManager.updateClientByStreamId(streamid,
+								currentClient);
+					}
+				}
+
+			}
+			
+			
+			//Sync message to everybody
+			syncMessageToCurrentScope("addNewUser", currentClient, false);
+
+			//Status object for Shared Browsing
+			BrowserStatus browserStatus = (BrowserStatus) current.getScope()
+					.getAttribute("browserStatus");
+
+			if (browserStatus == null) {
+				browserStatus = new BrowserStatus();
+			}
+
+			// RoomStatus roomStatus = new RoomStatus();
+
+			// FIXME: Rework Client Object to DTOs
+			roomStatus.setClientMap(clientListRoom);
+			roomStatus.setBrowserStatus(browserStatus);
+
+			return roomStatus;
+		} catch (Exception err) {
+			log.error("[setRoomValues]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * This method is invoked when the user has disconnected and reconnects to
+	 * the Gateway with the new scope
+	 * 
+	 * @param SID
+	 * @param userId
+	 * @param username
+	 * @param firstname
+	 * @param lastname
+	 * @param picture_uri
+	 * @return
+	 */
+	public synchronized RoomClient setUsernameReconnect(String SID,
+			Long userId, String username, String firstname, String lastname,
+			String picture_uri) {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+
+			currentClient.setUsername(username);
+			currentClient.setUser_id(userId);
+			currentClient.setPicture_uri(picture_uri);
+			currentClient.setUserObject(userId, username, firstname, lastname);
+
+			// Update Session Data
+			sessionManagement.updateUserWithoutSession(SID, userId);
+
+			Users user = userManagement.getUserById(userId);
+
+			if (user != null) {
+				currentClient.setExternalUserId(user.getExternalUserId());
+				currentClient.setExternalUserType(user.getExternalUserType());
+			}
+
+			// only fill this value from User-Record
+			// cause invited users have non
+			// you cannot set the firstname,lastname from the UserRecord
+			Users us = usersDao.getUser(userId);
+			if (us != null && us.getPictureuri() != null) {
+				// set Picture-URI
+				currentClient.setPicture_uri(us.getPictureuri());
+			}
+			this.clientListManager.updateClientByStreamId(streamid,
+					currentClient);
+			return currentClient;
+		} catch (Exception err) {
+			log.error("[setUsername]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * this is set initial directly after login/loading language
+	 * 
+	 * @param userId
+	 * @param username
+	 * @param firstname
+	 * @param lastname
+	 * @param orgdomain
+	 * @return
+	 */
+	public synchronized RoomClient setUsernameAndSession(String SID,
+			Long userId, String username, String firstname, String lastname) {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(streamid);
+
+			currentClient.setUsername(username);
+			currentClient.setUser_id(userId);
+			currentClient.setUserObject(userId, username, firstname, lastname);
+
+			// Update Session Data
+			log.debug("UDPATE SESSION " + SID + ", " + userId);
+			sessionManagement.updateUserWithoutSession(SID, userId);
+
+			Users user = userManagement.getUserById(userId);
+
+			if (user != null) {
+				currentClient.setExternalUserId(user.getExternalUserId());
+				currentClient.setExternalUserType(user.getExternalUserType());
+			}
+
+			// only fill this value from User-Record
+			// cause invited users have non
+			// you cannot set the firstname,lastname from the UserRecord
+			Users us = usersDao.getUser(userId);
+			if (us != null && us.getPictureuri() != null) {
+				// set Picture-URI
+				currentClient.setPicture_uri(us.getPictureuri());
+			}
+			this.clientListManager.updateClientByStreamId(streamid,
+					currentClient);
+			return currentClient;
+		} catch (Exception err) {
+			log.error("[setUsername]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * used by the Screen-Sharing Servlet to trigger events
+	 * 
+	 * @param room_id
+	 * @param message
+	 * @return
+	 */
+	public synchronized HashMap<String, RoomClient> sendMessageByRoomAndDomain(
+			Long room_id, Object message) {
+		HashMap<String, RoomClient> roomClientList = new HashMap<String, RoomClient>();
+		try {
+
+			log.debug("sendMessageByRoomAndDomain " + room_id);
+
+			IScope globalScope = getContext().getGlobalScope();
+
+			IScope webAppKeyScope = globalScope
+					.getScope(OpenmeetingsVariables.webAppRootKey);
+
+			log.debug("webAppKeyScope " + webAppKeyScope);
+
+			IScope scopeHibernate = webAppKeyScope.getScope(room_id.toString());
+			// IScope scopeHibernate = webAppKeyScope.getScope("hibernate");
+
+			if (scopeHibernate != null) {
+
+				Collection<Set<IConnection>> conCollection = webAppKeyScope
+						.getScope(room_id.toString()).getConnections();
+				for (Set<IConnection> conset : conCollection) {
+					for (IConnection conn : conset) {
+						if (conn != null) {
+							RoomClient rcl = this.clientListManager
+									.getClientByStreamId(conn.getClient()
+											.getId());
+							if (rcl == null) {
+								// continue;
+							} else if (rcl.getIsScreenClient() != null
+									&& rcl.getIsScreenClient()) {
+								// continue;
+							} else {
+								if (conn instanceof IServiceCapableConnection) {
+									// RoomClient rcl =
+									// this.clientListManager.getClientByStreamId(conn.getClient().getId());
+									((IServiceCapableConnection) conn).invoke(
+											"newMessageByRoomAndDomain",
+											new Object[] { message }, this);
+
+									// log.debug("sending newMessageByRoomAndDomain to "
+									// + conn);
+								}
+							}
+						}
+					}
+				}
+
+			} else {
+				log.debug("sendMessageByRoomAndDomain servlet not yet started  - roomID : '"
+						+ room_id + "'");
+			}
+
+		} catch (Exception err) {
+			log.error("[getClientListBYRoomAndDomain]", err);
+		}
+		return roomClientList;
+	}
+
+	public synchronized List<RoomClient> getCurrentModeratorList() {
+		try {
+			log.debug("*..*getCurrentModerator id: ");
+
+			IConnection current = Red5.getConnectionLocal();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(current.getClient().getId());
+			Long room_id = currentClient.getRoom_id();
+
+			// log.debug("Who is this moderator? "+currentMod);
+
+			return this.clientListManager.getCurrentModeratorByRoom(room_id);
+		} catch (Exception err) {
+			log.error("[getCurrentModerator]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * This Function is triggered from the Whiteboard
+	 * 
+	 * @param whiteboardObj
+	 * @return
+	 */
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public synchronized void sendVars(ArrayList whiteboardObjParam) {
+		//
+		try {
+
+			// In previous version this has been always a Map, now its a List
+			// so I re-wrapp that class to be a Map again.
+			// swagner 13.02.2009
+			// log.debug("*..*sendVars1: " + whiteboardObjParam);
+			// log.debug("*..*sendVars2: " + whiteboardObjParam.getClass());
+			// log.debug("*..*sendVars3: " +
+			// whiteboardObjParam.getClass().getName());
+
+			Map whiteboardObj = new HashMap();
+			int i = 0;
+			for (Iterator iter = whiteboardObjParam.iterator(); iter.hasNext();) {
+				Object obj = iter.next();
+				// log.debug("obj"+obj);
+				whiteboardObj.put(i, obj);
+				i++;
+			}
+
+			// Map whiteboardObj = (Map) whiteboardObjParam;
+
+			// Check if this User is the Mod:
+			IConnection current = Red5.getConnectionLocal();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(current.getClient().getId());
+
+			if (currentClient == null) {
+				return;
+			}
+
+			Long room_id = currentClient.getRoom_id();
+
+			String action = whiteboardObj.get(2).toString();
+
+			// log.debug("***** sendVars: " + actionObject.get(0));
+
+			if (action != null && action.equals("whiteboardObj")) {
+				// Update Whiteboard Object
+				List actionObject = (List) whiteboardObj.get(3);
+				WhiteboardManagement.getInstance().updateWhiteboardObject(
+						room_id, actionObject);
+			} else if (action != null && action.equals("moveMap")) {
+				// Update Whiteboard Object
+				List actionObject = (List) whiteboardObj.get(3);
+				WhiteboardManagement.getInstance().updateWhiteboardObjectPos(
+						room_id, actionObject);
+			} else {
+				// Store event in list
+				WhiteboardManagement.getInstance().addWhiteBoardObject(room_id,
+						whiteboardObj);
+			}
+
+			boolean showDrawStatus = getWhiteboardDrawStatus();
+
+			// Notify all Clients of that Scope (Room)
+			Collection<Set<IConnection>> conCollection = current.getScope()
+					.getConnections();
+			for (Set<IConnection> conset : conCollection) {
+				for (IConnection conn : conset) {
+					if (conn != null) {
+						if (conn instanceof IServiceCapableConnection) {
+
+							if (conn.getClient().getId()
+									.equals(current.getClient().getId())) {
+								continue;
+							}
+
+							RoomClient rcl = this.clientListManager
+									.getSyncClientByStreamId(conn.getClient()
+											.getId());
+
+							if (rcl == null) {
+								continue;
+							}
+
+							if (!currentClient.getStreamid().equals(
+									rcl.getStreamid())) {
+								((IServiceCapableConnection) conn)
+										.invoke("sendVarsToWhiteboard",
+												new Object[] {
+														(showDrawStatus ? currentClient
+																: null),
+														whiteboardObj }, this);
+							}
+						}
+					}
+				}
+			}
+
+		} catch (Exception err) {
+			log.error("[sendVars]", err);
+		}
+	}
+
+	/**
+	 * This Function is triggered from the Whiteboard
+	 * 
+	 * @param whiteboardObj
+	 * @return
+	 */
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public synchronized void sendVarsByWhiteboardId(
+			ArrayList whiteboardObjParam, Long whiteboardId) {
+		//
+		try {
+
+			Map whiteboardObj = new HashMap();
+			int i = 0;
+			for (Iterator iter = whiteboardObjParam.iterator(); iter.hasNext();) {
+				Object obj = iter.next();
+				// log.debug("obj"+obj);
+				whiteboardObj.put(i, obj);
+				i++;
+			}
+
+			// Check if this User is the Mod:
+			IConnection current = Red5.getConnectionLocal();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(current.getClient().getId());
+
+			if (currentClient == null) {
+				return;
+			}
+
+			Long room_id = currentClient.getRoom_id();
+
+			// log.debug("***** sendVars: " + whiteboardObj);
+
+			// Store event in list
+			String action = whiteboardObj.get(2).toString();
+
+			if (action.equals("deleteMindMapNodes")) {
+
+				// Simulate Single Delete Events for z-Index
+				List actionObject = (List) whiteboardObj.get(3);
+
+				List<List> itemObjects = (List) actionObject.get(3);
+
+				Map whiteboardTempObj = new HashMap();
+				whiteboardTempObj.put(2, "delete");
+
+				for (List itemObject : itemObjects) {
+
+					List<Object> tempActionObject = new LinkedList<Object>();
+					tempActionObject.add("mindmapnode");
+					tempActionObject.add(itemObject.get(0)); // z-Index -8
+					tempActionObject.add(null); // simulate -7
+					tempActionObject.add(null); // simulate -6
+					tempActionObject.add(null); // simulate -5
+					tempActionObject.add(null); // simulate -4
+					tempActionObject.add(null); // simulate -3
+					tempActionObject.add(null); // simulate -2
+					tempActionObject.add(itemObject.get(1)); // Object-Name -1
+
+					whiteboardTempObj.put(3, tempActionObject);
+
+					WhiteboardManagement.getInstance().addWhiteBoardObjectById(
+							room_id, whiteboardTempObj, whiteboardId);
+
+				}
+
+			} else {
+
+				WhiteboardManagement.getInstance().addWhiteBoardObjectById(
+						room_id, whiteboardObj, whiteboardId);
+
+			}
+
+			// This is no longer necessary
+			// boolean ismod = currentClient.getIsMod();
+
+			// log.debug("*..*ismod: " + ismod);
+
+			// if (ismod) {
+
+			Map<String, Object> sendObject = new HashMap<String, Object>();
+			sendObject.put("id", whiteboardId);
+			sendObject.put("param", whiteboardObjParam);
+
+			boolean showDrawStatus = getWhiteboardDrawStatus();
+
+			// Notify all Clients of that Scope (Room)
+			Collection<Set<IConnection>> conCollection = current.getScope()
+					.getConnections();
+			for (Set<IConnection> conset : conCollection) {
+				for (IConnection conn : conset) {
+					if (conn != null) {
+						if (conn instanceof IServiceCapableConnection) {
+							if (conn.getClient().getId()
+									.equals(current.getClient().getId())) {
+								continue;
+							}
+
+							RoomClient rcl = this.clientListManager
+									.getSyncClientByStreamId(conn.getClient()
+											.getId());
+
+							if (rcl == null) {
+								continue;
+							}
+
+							if (!currentClient.getStreamid().equals(
+									rcl.getStreamid())) {
+								((IServiceCapableConnection) conn).invoke(
+										"sendVarsToWhiteboardById",
+										new Object[] {
+												showDrawStatus ? currentClient
+														: null, sendObject },
+										this);
+							}
+						}
+					}
+				}
+			}
+
+			// return numberOfUsers;
+			// } else {
+			// // log.debug("*..*you are not allowed to send: "+ismod);
+			// return -1;
+			// }
+		} catch (Exception err) {
+			log.error("[sendVarsByWhiteboardId]", err);
+		}
+	}
+
+	public synchronized int sendVarsModeratorGeneral(Object vars) {
+		log.debug("*..*sendVars: " + vars);
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(current.getClient().getId());
+			// Long room_id = currentClient.getRoom_id();
+
+			log.debug("***** id: " + currentClient.getStreamid());
+
+			boolean ismod = currentClient.getIsMod();
+
+			if (ismod) {
+				log.debug("CurrentScope :" + current.getScope().getName());
+				// Send to all Clients of the same Scope
+				Collection<Set<IConnection>> conCollection = current.getScope()
+						.getConnections();
+				for (Set<IConnection> conset : conCollection) {
+					for (IConnection conn : conset) {
+						if (conn != null) {
+							if (conn instanceof IServiceCapableConnection) {
+								RoomClient rcl = this.clientListManager
+										.getClientByStreamId(conn.getClient()
+												.getId());
+								if (rcl == null) {
+									// continue;
+								} else if (rcl.getIsScreenClient() != null
+										&& rcl.getIsScreenClient()) {
+									// continue;
+								} else {
+									// log.debug("*..*idremote: " +
+									// rcl.getStreamid());
+									// log.debug("*..*my idstreamid: " +
+									// currentClient.getStreamid());
+									if (!currentClient.getStreamid().equals(
+											rcl.getStreamid())) {
+										((IServiceCapableConnection) conn)
+												.invoke("sendVarsToModeratorGeneral",
+														new Object[] { vars },
+														this);
+										// log.debug("sending sendVarsToModeratorGeneral to "
+										// + conn);
+									}
+								}
+							}
+						}
+					}
+				}
+				return 1;
+			} else {
+				// log.debug("*..*you are not allowed to send: "+ismod);
+				return -1;
+			}
+		} catch (Exception err) {
+			log.error("[sendVarsModeratorGeneral]", err);
+		}
+		return -1;
+	}
+
+	public synchronized int sendMessage(Object newMessage) {
+		try {
+			
+			syncMessageToCurrentScope("sendVarsToMessage", newMessage, false);
+			
+		} catch (Exception err) {
+			log.error("[sendMessage]", err);
+		}
+		return 1;
+	}
+	
+	public synchronized int sendMessageAll(Object newMessage) {
+		try {
+			
+			syncMessageToCurrentScope("sendVarsToMessage", newMessage, true);
+			
+		} catch (Exception err) {
+			log.error("[sendMessage]", err);
+		}
+		return 1;
+	}
+
+	/**
+	 * send status for shared browsing to all members except self
+	 * @param newMessage
+	 * @return
+	 */
+	@SuppressWarnings({ "rawtypes" })
+	public synchronized int sendBrowserMessageToMembers(Object newMessage) {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+
+			List newMessageList = (List) newMessage;
+
+			String action = newMessageList.get(0).toString();
+
+			BrowserStatus browserStatus = (BrowserStatus) current.getScope()
+					.getAttribute("browserStatus");
+
+			if (browserStatus == null) {
+				browserStatus = new BrowserStatus();
+			}
+
+			if (action.equals("initBrowser") || action.equals("newBrowserURL")) {
+				browserStatus.setBrowserInited(true);
+				browserStatus.setCurrentURL(newMessageList.get(1).toString());
+			} else if (action.equals("closeBrowserURL")) {
+				browserStatus.setBrowserInited(false);
+			}
+
+			current.getScope().setAttribute("browserStatus", browserStatus);
+			
+			syncMessageToCurrentScope("sendVarsToMessage", newMessage, false);
+
+		} catch (Exception err) {
+			log.error("[sendMessage]", err);
+		}
+		return 1;
+	}
+
+	/**
+	 * wrapper method
+	 * @param newMessage
+	 * @return
+	 */
+	public synchronized int sendMessageToMembers(Object newMessage) {
+		try {
+			
+			//Sync to all users of current scope
+			syncMessageToCurrentScope("sendVarsToMessage", newMessage, false);
+			
+		} catch (Exception err) {
+			log.error("[sendMessage]", err);
+		}
+		return 1;
+	}
+	
+	/**
+	 * General sync mechanism for all messages that are send from within the 
+	 * scope of the current client, but:
+	 * <ul>
+	 * <li>optionally do not send to self (see param: sendSelf)</li>
+	 * <li>do not send to clients that are screen sharing clients</li>
+	 * <li>do not send to clients that are audio/video clients (or potentially ones)</li>
+	 * <li>do not send to connections where no RoomClient is registered</li>
+	 * </ul>
+	 *  
+	 * @param remoteMethodName
+	 * @param newMessage
+	 * @param sendSelf 
+	 * @return
+	 */
+	public synchronized int syncMessageToCurrentScope(String remoteMethodName, Object newMessage, boolean sendSelf) {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+
+			// Send to all Clients of that Scope(Room)
+			Collection<Set<IConnection>> conCollection = current.getScope()
+					.getConnections();
+			for (Set<IConnection> conset : conCollection) {
+				for (IConnection conn : conset) {
+					if (conn != null) {
+						if (conn instanceof IServiceCapableConnection) {
+							RoomClient rcl = this.clientListManager
+									.getClientByStreamId(conn.getClient().getId());
+							
+							if (rcl == null) {
+								// RoomClient can be null if there are network problems
+								continue;
+							} else if (rcl.getIsScreenClient() != null && rcl
+											.getIsScreenClient()) {
+								// screen sharing clients do not receive events
+								continue;
+							} else if (rcl.getIsAVClient()) {
+								// AVClients or potential AVClients do not receive events
+								continue;
+							} else if (current.getClient().getId().equals(
+										conn.getClient().getId()) && !sendSelf) {
+								//Do not send back to self
+								continue;
+							}
+							
+							((IServiceCapableConnection) conn).invoke(
+									remoteMethodName, new Object[] { newMessage }, this);
+							
+						}
+					}
+				}
+			}
+		} catch (Exception err) {
+			log.error("[syncMessageToCurrentScope]", err);
+		}
+		return 1;
+	}
+
+	/**
+	 * wrapper method
+	 * @param newMessage
+	 * @return
+	 */
+	public synchronized int sendMessageWithClient(Object newMessage) {
+		try {
+			sendMessageWithClientWithSyncObject(newMessage, true);
+
+		} catch (Exception err) {
+			log.error("[sendMessageWithClient] ", err);
+			return -1;
+		}
+		return 1;
+	}
+	
+	/**
+	 * wrapper method
+	 * @param newMessage
+	 * @param sync
+	 * @return
+	 */
+	public synchronized int sendMessageWithClientWithSyncObject(Object newMessage, boolean sync) {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(current.getClient().getId());
+
+			HashMap<String, Object> hsm = new HashMap<String, Object>();
+			hsm.put("client", currentClient);
+			hsm.put("message", newMessage);
+			
+			//Sync to all users of current scope
+			syncMessageToCurrentScope("sendVarsToMessageWithClient", hsm, sync);
+
+		} catch (Exception err) {
+			log.error("[sendMessageWithClient] ", err);
+			return -1;
+		}
+		return 1;
+	}
+
+	/**
+	 * Function is used to send the kick Trigger at the moment, 
+	 * it sends a general message to a specific clientId
+	 * 
+	 * @param newMessage
+	 * @param clientId
+	 * @return
+	 */
+	public synchronized int sendMessageById(Object newMessage, String clientId,
+			IScope scope) {
+		try {
+			log.debug("### sendMessageById ###" + clientId);
+
+			HashMap<String, Object> hsm = new HashMap<String, Object>();
+			hsm.put("message", newMessage);
+
+			// broadcast Message to specific user with id inside the same Scope
+			Collection<Set<IConnection>> conCollection = scope.getConnections();
+
+			for (Set<IConnection> conset : conCollection) {
+				for (IConnection conn : conset) {
+					if (conn != null) {
+						if (conn instanceof IServiceCapableConnection) {
+							RoomClient rcl = this.clientListManager
+									.getClientByStreamId(conn.getClient()
+											.getId());
+							if (rcl == null) {
+								// continue;
+							} else if (rcl.getIsScreenClient() != null
+									&& rcl.getIsScreenClient()) {
+								// continue;
+							} else {
+								// log.debug("### sendMessageById 1 ###"+clientId);
+								// log.debug("### sendMessageById 2 ###"+conn.getClient().getId());
+								if (conn.getClient().getId().equals(clientId)) {
+									((IServiceCapableConnection) conn).invoke(
+											"sendVarsToMessageWithClient",
+											new Object[] { hsm }, this);
+									// log.debug("sendingsendVarsToMessageWithClient ByID to "
+									// + conn);
+								}
+							}
+						}
+					}
+				}
+			}
+		} catch (Exception err) {
+			log.error("[sendMessageWithClient] ", err);
+			return -1;
+		}
+		return 1;
+	}
+
+	/**
+	 * Sends a message to a user in the same room by its clientId
+	 * 
+	 * @param newMessage
+	 * @param clientId
+	 * @return
+	 */
+	public synchronized int sendMessageWithClientById(Object newMessage,
+			String clientId) {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(current.getClient().getId());
+
+			log.debug("### sendMessageWithClientById ###" + clientId);
+
+			HashMap<String, Object> hsm = new HashMap<String, Object>();
+			hsm.put("client", currentClient);
+			hsm.put("message", newMessage);
+
+			// broadcast Message to specific user with id inside the same Scope
+			Collection<Set<IConnection>> conCollection = current.getScope()
+					.getConnections();
+			for (Set<IConnection> conset : conCollection) {
+				for (IConnection conn : conset) {
+					if (conn != null) {
+						RoomClient rcl = this.clientListManager
+								.getClientByStreamId(conn.getClient().getId());
+						if (rcl == null) {
+							// continue;
+						} else if (rcl.getIsScreenClient() != null
+								&& rcl.getIsScreenClient()) {
+							// continue;
+						} else {
+							if (conn instanceof IServiceCapableConnection) {
+								// log.debug("### sendMessageWithClientById 1 ###"+clientId);
+								// log.debug("### sendMessageWithClientById 2 ###"+conn.getClient().getId());
+								if (conn.getClient().getId().equals(clientId)) {
+									((IServiceCapableConnection) conn).invoke(
+											"sendVarsToMessageWithClient",
+											new Object[] { hsm }, this);
+									// log.debug("sendingsendVarsToMessageWithClient ByID to "
+									// + conn);
+								}
+							}
+						}
+					}
+				}
+			}
+		} catch (Exception err) {
+			log.error("[sendMessageWithClient] ", err);
+			return -1;
+		}
+		return 1;
+	}
+
+	public synchronized void sendMessageWithClientByPublicSID(Object message,
+			String publicSID) {
+		try {
+			// ApplicationContext appCtx = getContext().getApplicationContext();
+			IScope globalScope = getContext().getGlobalScope();
+
+			IScope webAppKeyScope = globalScope
+					.getScope(OpenmeetingsVariables.webAppRootKey);
+
+			// log.debug("webAppKeyScope "+webAppKeyScope);
+
+			// Get Room Id to send it to the correct Scope
+			RoomClient currentClient = this.clientListManager
+					.getClientByPublicSID(publicSID, false);
+
+			if (currentClient == null) {
+				throw new Exception(
+						"Could not Find RoomClient on List publicSID: "
+								+ publicSID);
+			}
+			// default Scope Name
+			String scopeName = "hibernate";
+			if (currentClient.getRoom_id() != null) {
+				scopeName = currentClient.getRoom_id().toString();
+			}
+
+			IScope scopeHibernate = webAppKeyScope.getScope(scopeName);
+
+			// log.debug("scopeHibernate "+scopeHibernate);
+
+			if (scopeHibernate != null) {
+				// Notify the clients of the same scope (room) with user_id
+
+				Collection<Set<IConnection>> conCollection = webAppKeyScope
+						.getScope(scopeName).getConnections();
+				for (Set<IConnection> conset : conCollection) {
+					for (IConnection conn : conset) {
+						if (conn != null) {
+							RoomClient rcl = this.clientListManager
+									.getClientByStreamId(conn.getClient()
+											.getId());
+							if (rcl != null) {
+								if (rcl.getIsScreenClient() != null
+										&& rcl.getIsScreenClient()) {
+									// continue;
+								} else {
+									// log.debug("rcl "+rcl+" rcl.getUser_id(): "+rcl.getPublicSID()+" publicSID: "+publicSID+
+									// " IS EQUAL? "+rcl.getPublicSID().equals(publicSID));
+									if (rcl.getPublicSID().equals(publicSID)) {
+										// log.debug("IS EQUAL ");
+										((IServiceCapableConnection) conn)
+												.invoke("newMessageByRoomAndDomain",
+														new Object[] { message },
+														this);
+										log.debug("newMessageByRoomAndDomain RPC:newMessageByRoomAndDomain"
+												+ message);
+									}
+								}
+							}
+						}
+					}
+				}
+
+			} else {
+				// Scope not yet started
+			}
+		} catch (Exception err) {
+			log.error("[sendMessageWithClient] ", err);
+			err.printStackTrace();
+		}
+	}
+
+	public synchronized void sendMessageWithClientByPublicSIDOrUser(
+			Object message, String publicSID, Long user_id) {
+		try {
+			// ApplicationContext appCtx = getContext().getApplicationContext();
+
+			IScope globalScope = getContext().getGlobalScope();
+
+			IScope webAppKeyScope = globalScope
+					.getScope(OpenmeetingsVariables.webAppRootKey);
+
+			// log.debug("webAppKeyScope "+webAppKeyScope);
+
+			// Get Room Id to send it to the correct Scope
+			RoomClient currentClient = this.clientListManager
+					.getClientByPublicSID(publicSID, false);
+
+			if (currentClient == null) {
+				currentClient = this.clientListManager
+						.getClientByUserId(user_id);
+			}
+
+			Collection<Set<IConnection>> conCollection = null;
+
+			if (currentClient == null) {
+				// Must be from a previous session, search for user in current
+				// scope
+				IConnection current = Red5.getConnectionLocal();
+				// Notify all Clients of that Scope (Room)
+				conCollection = current.getScope().getConnections();
+			} else {
+				// default Scope Name
+				String scopeName = "hibernate";
+				if (currentClient.getRoom_id() != null) {
+					scopeName = currentClient.getRoom_id().toString();
+				}
+
+				IScope scopeHibernate = webAppKeyScope.getScope(scopeName);
+
+				if (scopeHibernate != null) {
+					conCollection = webAppKeyScope.getScope(scopeName)
+							.getConnections();
+				}
+			}
+
+			// log.debug("scopeHibernate "+scopeHibernate);
+
+			// Notify the clients of the same scope (room) with user_id
+
+			for (Set<IConnection> conset : conCollection) {
+				for (IConnection conn : conset) {
+					if (conn != null) {
+						RoomClient rcl = this.clientListManager
+								.getClientByStreamId(conn.getClient().getId());
+						if (rcl != null) {
+							if (rcl.getIsScreenClient() != null
+									&& rcl.getIsScreenClient()) {
+								// continue;
+							} else {
+								// log.debug("rcl "+rcl+" rcl.getUser_id(): "+rcl.getPublicSID()+" publicSID: "+publicSID+
+								// " IS EQUAL? "+rcl.getPublicSID().equals(publicSID));
+								if (rcl.getPublicSID().equals(publicSID)) {
+									// log.debug("IS EQUAL ");
+									((IServiceCapableConnection) conn).invoke(
+											"newMessageByRoomAndDomain",
+											new Object[] { message }, this);
+									log.debug("sendMessageWithClientByPublicSID RPC:newMessageByRoomAndDomain"
+											+ message);
+								} else if (user_id != 0
+										&& rcl.getUser_id() != null
+										&& rcl.getUser_id().equals(user_id)) {
+									((IServiceCapableConnection) conn).invoke(
+											"newMessageByRoomAndDomain",
+											new Object[] { message }, this);
+									log.debug("sendMessageWithClientByPublicSID RPC:newMessageByRoomAndDomain"
+											+ message);
+								}
+							}
+						}
+					}
+				}
+			}
+
+		} catch (Exception err) {
+			log.error("[sendMessageWithClient] ", err);
+			err.printStackTrace();
+		}
+	}
+
+	public synchronized Boolean getInterviewRecordingStatus() {
+		try {
+
+			IConnection current = Red5.getConnectionLocal();
+
+			Collection<Set<IConnection>> conCollection = current.getScope()
+					.getConnections();
+			for (Set<IConnection> conset : conCollection) {
+				for (IConnection conn : conset) {
+					if (conn != null) {
+
+						RoomClient rcl = this.clientListManager
+								.getClientByStreamId(conn.getClient().getId());
+
+						if (rcl.getIsRecording() != null
+								&& rcl.getIsRecording()) {
+							return true;
+						}
+
+					}
+				}
+			}
+
+			return false;
+		} catch (Exception err) {
+			log.error("[getInterviewRecordingStatus]", err);
+		}
+
+		return null;
+	}
+
+	public synchronized Boolean startInterviewRecording() {
+		try {
+
+			IConnection current = Red5.getConnectionLocal();
+
+			Collection<Set<IConnection>> conCollection = current.getScope()
+					.getConnections();
+			for (Set<IConnection> conset : conCollection) {
+				for (IConnection conn : conset) {
+					if (conn != null) {
+
+						RoomClient rcl = this.clientListManager
+								.getClientByStreamId(conn.getClient().getId());
+
+						if (rcl.getIsRecording() != null
+								&& rcl.getIsRecording()) {
+							return false;
+						}
+
+					}
+				}
+			}
+
+			RoomClient current_rcl = this.clientListManager
+					.getClientByStreamId(current.getClient().getId());
+
+			// Also set the Recording Flag to Record all Participants that enter
+			// later
+			current_rcl.setIsRecording(true);
+			this.clientListManager.updateClientByStreamId(current.getClient()
+					.getId(), current_rcl);
+
+			Map<String, String> interviewStatus = new HashMap<String, String>();
+			interviewStatus.put("action", "start");
+
+			for (Set<IConnection> conset : conCollection) {
+				for (IConnection conn : conset) {
+					if (conn != null) {
+						
+						RoomClient rcl = this.clientListManager
+								.getClientByStreamId(conn.getClient().getId());
+						
+						if (rcl == null) {
+							continue;
+						} else if (rcl.getIsAVClient()) {
+							continue;
+						} else if (rcl.getIsScreenClient() != null && rcl.getIsScreenClient()) {
+							continue;
+						}
+
+						((IServiceCapableConnection) conn).invoke(
+								"interviewStatus",
+								new Object[] { interviewStatus }, this);
+						log.debug("-- interviewStatus" + interviewStatus);
+
+					}
+				}
+			}
+
+			String recordingName = "Interview "
+					+ CalendarPatterns.getDateWithTimeByMiliSeconds(new Date());
+
+			this.flvRecorderService
+					.recordMeetingStream(recordingName, "", true);
+
+			return true;
+
+		} catch (Exception err) {
+			log.debug("[startInterviewRecording]", err);
+		}
+		return null;
+	}
+
+	@SuppressWarnings({ "rawtypes" })
+	public synchronized Boolean sendRemoteCursorEvent(String streamid,
+			Map messageObj) {
+		try {
+
+			IConnection current = Red5.getConnectionLocal();
+
+			Collection<Set<IConnection>> conCollection = current.getScope()
+					.getConnections();
+			for (Set<IConnection> conset : conCollection) {
+				for (IConnection conn : conset) {
+					if (conn != null) {
+
+						RoomClient rcl = this.clientListManager
+								.getClientByStreamId(conn.getClient().getId());
+
+						if (rcl == null) {
+							// continue;
+						} else if (rcl.getIsScreenClient() != null
+								&& rcl.getIsScreenClient()) {
+
+							if (rcl.getStreamid() != null
+									&& rcl.getStreamid().equals(streamid)) {
+								((IServiceCapableConnection) conn).invoke(
+										"sendRemoteCursorEvent",
+										new Object[] { messageObj }, this);
+								log.debug("sendRemoteCursorEvent messageObj"
+										+ messageObj);
+							}
+
+						}
+
+					}
+				}
+			}
+		} catch (Exception err) {
+			log.debug("[sendRemoteCursorEvent]", err);
+		}
+		return null;
+	}
+	
+	//FIXME: legacy code, needs to be removed
+	public boolean checkSharerSession() {
+		return true;
+	}
+
+	/**
+	 * Stop the recording of the streams and send event to connected users of scope
+	 * 
+	 * @return
+	 */
+	public synchronized Boolean stopInterviewRecording() {
+		try {
+
+			IConnection current = Red5.getConnectionLocal();
+
+			boolean found = false;
+			Long flvRecordingId = null;
+
+			Collection<Set<IConnection>> conCollection = current.getScope()
+					.getConnections();
+			for (Set<IConnection> conset : conCollection) {
+				for (IConnection conn : conset) {
+					if (conn != null) {
+
+						RoomClient rcl = this.clientListManager
+								.getClientByStreamId(conn.getClient().getId());
+
+						if (rcl.getIsRecording() != null
+								&& rcl.getIsRecording()) {
+
+							rcl.setIsRecording(false);
+
+							flvRecordingId = rcl.getFlvRecordingId();
+
+							rcl.setFlvRecordingId(null);
+
+							// Reset the Recording Flag to Record all
+							// Participants that enter later
+							this.clientListManager.updateClientByStreamId(conn
+									.getClient().getId(), rcl);
+
+							found = true;
+						}
+
+					}
+				}
+			}
+
+			if (!found) {
+				return false;
+			}
+
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(current.getClient().getId());
+
+			this.flvRecorderService.stopRecordAndSave(scope, currentClient,
+					flvRecordingId);
+
+			Map<String, String> interviewStatus = new HashMap<String, String>();
+			interviewStatus.put("action", "stop");
+
+			for (Set<IConnection> conset : conCollection) {
+				for (IConnection conn : conset) {
+					if (conn != null) {
+						((IServiceCapableConnection) conn).invoke(
+								"interviewStatus",
+								new Object[] { interviewStatus }, this);
+						log.debug("sendMessageWithClientByPublicSID interviewStatus"
+								+ interviewStatus);
+
+					}
+				}
+			}
+
+			return true;
+
+		} catch (Exception err) {
+			log.debug("[startInterviewRecording]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * Get all ClientList Objects of that room and domain Used in
+	 * lz.applyForModeration.lzx
+	 * 
+	 * @return
+	 */
+	public synchronized HashMap<String, RoomClient> getClientListScope() {
+		HashMap<String, RoomClient> roomClientList = new HashMap<String, RoomClient>();
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			RoomClient currentClient = this.clientListManager
+					.getClientByStreamId(current.getClient().getId());
+
+			return this.clientListManager.getClientListByRoom(currentClient.getRoom_id());
+
+		} catch (Exception err) {
+			log.debug("[getClientListScope]", err);
+		}
+		return roomClientList;
+	}
+
+	private boolean getWhiteboardDrawStatus() {
+		if (ScopeApplicationAdapter.whiteboardDrawStatus == null) {
+			String drawStatus = cfgManagement.getConfValue("show.whiteboard.draw.status", String.class, "0");
+			ScopeApplicationAdapter.whiteboardDrawStatus = "1".equals(drawStatus);
+		}
+		return ScopeApplicationAdapter.whiteboardDrawStatus;
+	}
+	
+	public String getCryptKey() {
+		try {
+
+			if (ScopeApplicationAdapter.configKeyCryptClassName == null) {
+				Configuration conf = cfgManagement.getConfKey(3,
+						"crypt_ClassName");
+
+				if (conf != null) {
+					ScopeApplicationAdapter.configKeyCryptClassName = conf
+							.getConf_value();
+				}
+			}
+
+			return ScopeApplicationAdapter.configKeyCryptClassName;
+		} catch (Exception err) {
+			log.error("[getCryptKey]", err);
+		}
+		return null;
+	}
+
+    public String getExclusiveAudioKeyCode() {
+        Configuration conf = cfgManagement.getConfKey(3, "exclusive.audio.keycode");
+        if (null != conf) {
+            return conf.getConf_value();
+        } else {
+            return null;
+        }
+    }
+
+	public synchronized IScope getRoomScope(String room) {
+		try {
+
+			IScope globalScope = getContext().getGlobalScope();
+			IScope webAppKeyScope = globalScope
+					.getScope(OpenmeetingsVariables.webAppRootKey);
+
+			String scopeName = "hibernate";
+			// If set then its a NON default Scope
+			if (room.length() != 0) {
+				scopeName = room;
+			}
+
+			IScope scopeHibernate = webAppKeyScope.getScope(scopeName);
+
+			return scopeHibernate;
+		} catch (Exception err) {
+			log.error("[getRoomScope]", err);
+		}
+		return null;
+	}
+
+    /*
+	 * SIP transport methods
+	 */
+
+    public synchronized void updateSipTransport() {
+        IConnection current = Red5.getConnectionLocal();
+        String streamid = current.getClient().getId();
+        RoomClient currentClient = this.clientListManager.getClientByStreamId(streamid);
+        log.debug("getSipConferenceMembersNumber: " + roommanagement.getSipConferenceMembersNumber(currentClient.getRoom_id()));
+        String newNumber = "("+Integer.toString(roommanagement.getSipConferenceMembersNumber(currentClient.getRoom_id())-1)+")";
+        if(!newNumber.equals(currentClient.getLastname())) {
+            currentClient.setLastname(newNumber);
+            this.clientListManager.updateClientByStreamId(streamid, currentClient);
+            log.debug("updateSipTransport: {}, {}, {}, {}", new Object[]{currentClient.getPublicSID(),
+                    currentClient.getRoom_id(), currentClient.getFirstname(), currentClient.getLastname()});
+            sendMessageWithClient(new String[]{"personal",currentClient.getFirstname(),currentClient.getLastname()});
+        }
+    }
+
+    /**
+     * Perform call to specified phone number and join to conference
+     * @param number to call
+     */
+    public synchronized void joinToConfCall(String number) {
+        IConnection current = Red5.getConnectionLocal();
+        String streamid = current.getClient().getId();
+        RoomClient currentClient = this.clientListManager.getClientByStreamId(streamid);
+        Rooms rooms = roommanagement.getRoomById(currentClient.getRoom_id());
+        log.debug("asterisk -rx \"originate Local/" + number + "@rooms extension " + rooms.getSipNumber() + "@rooms\"");
+        try {
+            Runtime.getRuntime().exec(new String[]{"asterisk", "-rx", "originate Local/" + number + "@rooms extension " + rooms.getSipNumber() + "@rooms"});
+        } catch (IOException e) {
+            log.error("Executing asterisk originate error: ", e);
+        }
+    }
+
+    public synchronized String getSipNumber(Long room_id) {
+        Rooms rooms = roommanagement.getRoomById(room_id);
+        if(rooms != null) {
+            log.debug("getSipNumber: room_id: {}, sipNumber: {}", new Object[]{room_id, rooms.getSipNumber()});
+            return rooms.getSipNumber();
+        }
+        return null;
+    }
+
+    public synchronized void setSipTransport(Long room_id, String publicSID, String broadCastId) {
+        IConnection current = Red5.getConnectionLocal();
+        String streamid = current.getClient().getId();
+        // Notify all clients of the same scope (room)
+        RoomClient currentClient = this.clientListManager.getClientByStreamId(streamid);
+        currentClient.setRoom_id(room_id);
+        currentClient.setRoomEnter(new Date());
+        currentClient.setFirstname("SIP Transport");
+        currentClient.setLastname("("+Integer.toString(roommanagement.getSipConferenceMembersNumber(room_id)-1)+")");
+        currentClient.setBroadCastID(Long.parseLong(broadCastId));
+        currentClient.setIsBroadcasting(true);
+        currentClient.setPublicSID(publicSID);
+        currentClient.setAvsettings("av");
+        currentClient.setVWidth(120);
+        currentClient.setVHeight(90);
+        this.clientListManager.updateClientByStreamId(streamid, currentClient);
+
+        Collection<Set<IConnection>> conCollection = current
+                .getScope().getConnections();
+        for (Set<IConnection> conset : conCollection) {
+            for (IConnection conn : conset) {
+                if (conn != null) {
+                    RoomClient rcl = this.clientListManager.getClientByStreamId(conn.getClient().getId());
+                    if (rcl == null) {
+                        // continue;
+                    } else if (rcl.getIsScreenClient() != null
+                            && rcl.getIsScreenClient()) {
+                        // continue;
+                    } else {
+                        if (!streamid.equals(rcl.getStreamid())) {
+                            // It is not needed to send back
+                            // that event to the actuall
+                            // Moderator
+                            // as it will be already triggered
+                            // in the result of this Function
+                            // in the Client
+                            if (conn instanceof IServiceCapableConnection) {
+                                ((IServiceCapableConnection) conn).invoke("addNewUser", new Object[]{currentClient}, this);
+                                ((IServiceCapableConnection) conn).invoke("newStream", new Object[]{currentClient}, this);
+                                log.debug("sending setSipTransport to "
+                                        + conn);
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
diff --git a/src/org/openmeetings/app/remote/red5/WhiteBoardObjectListManager.java b/src/org/openmeetings/app/remote/red5/WhiteBoardObjectListManager.java
new file mode 100644
index 0000000..93361e0
--- /dev/null
+++ b/src/org/openmeetings/app/remote/red5/WhiteBoardObjectListManager.java
@@ -0,0 +1,151 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote.red5;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.slf4j.Logger;
+import org.red5.logging.Red5LoggerFactory;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.conference.whiteboard.WhiteboardObject;
+import org.openmeetings.app.conference.whiteboard.WhiteboardSyncLockObject;
+
+public class WhiteBoardObjectListManager {
+	
+	private static HashMap<Long,WhiteboardObject> whiteBoardObjectList = new HashMap<Long,WhiteboardObject>();
+	private static HashMap<Long,Map<String,WhiteboardSyncLockObject>> whiteBoardSyncList = new HashMap<Long,Map<String,WhiteboardSyncLockObject>>();
+	
+	private static HashMap<Long,Map<String,Map<String,WhiteboardSyncLockObject>>> whiteBoardObjectSyncList = new HashMap<Long,Map<String,Map<String,WhiteboardSyncLockObject>>>();
+
+	private static final Logger log = Red5LoggerFactory.getLogger(WhiteBoardObjectListManager.class, OpenmeetingsVariables.webAppRootKey);
+
+	private static WhiteBoardObjectListManager instance = null;
+
+	private WhiteBoardObjectListManager() {
+	}
+
+	public static synchronized WhiteBoardObjectListManager getInstance() {
+		if (instance == null) {
+			instance = new WhiteBoardObjectListManager();
+		}
+		return instance;
+	}
+	
+	public synchronized WhiteboardObject getWhiteBoardObjectRoomId(Long room_id){
+		WhiteboardObject whiteBoardObject = whiteBoardObjectList.get(room_id);
+		if (whiteBoardObject == null) {
+			whiteBoardObject = new WhiteboardObject();
+		}
+		return whiteBoardObject;
+	}
+	
+	/*
+	 * Room items a Whiteboard
+	 */
+	@SuppressWarnings("rawtypes")
+	public synchronized HashMap<String,List> getWhiteBoardObjectListByRoomId(Long room_id){
+		return new HashMap<String,List>();
+	}
+	
+	/*
+	 * Initial Sync Process
+	 */
+	public synchronized void setWhiteBoardSyncListByRoomid(Long room_id, Map<String,WhiteboardSyncLockObject> mapObject ){
+		whiteBoardSyncList.put(room_id, mapObject);
+	}
+	public synchronized Map<String,WhiteboardSyncLockObject> getWhiteBoardSyncListByRoomid(Long room_id){
+		Map<String,WhiteboardSyncLockObject> roomList = whiteBoardSyncList.get(room_id);
+		if (roomList == null) {
+			roomList = new HashMap<String,WhiteboardSyncLockObject>();
+		}
+		return roomList;
+	}
+	
+	/*
+	 * Image Sync Process
+	 */
+	public synchronized void setWhiteBoardImagesSyncListByRoomid(Long room_id, Map<String,Map<String,WhiteboardSyncLockObject>> mapObject ){
+		whiteBoardObjectSyncList.put(room_id, mapObject);
+	}
+	public synchronized void setWhiteBoardImagesSyncListByRoomAndObjectId(Long room_id, 
+			String object_id,Map<String,WhiteboardSyncLockObject> imageSyncList){
+		Map<String,Map<String,WhiteboardSyncLockObject>> roomList = whiteBoardObjectSyncList.get(room_id);
+		if (roomList == null) {
+			roomList = new HashMap<String,Map<String,WhiteboardSyncLockObject>>();
+		}
+		if (imageSyncList.size() == 0) {
+			roomList.remove(object_id);
+		} else {
+			roomList.put(object_id, imageSyncList);
+		}
+		setWhiteBoardImagesSyncListByRoomid(room_id,roomList);
+	}
+	public synchronized Map<String,Map<String,WhiteboardSyncLockObject>> getWhiteBoardObjectSyncListByRoomid(Long room_id){
+		Map<String,Map<String,WhiteboardSyncLockObject>> roomList = whiteBoardObjectSyncList.get(room_id);
+		if (roomList == null) {
+			roomList = new HashMap<String,Map<String,WhiteboardSyncLockObject>>();
+		}
+		return roomList;
+	}
+	public synchronized Map<String,WhiteboardSyncLockObject> getWhiteBoardObjectSyncListByRoomAndObjectId(Long room_id, 
+			String object_id){
+		log.debug("getWhiteBoardImagesSyncListByRoomAndImageid room_id: "+room_id);
+		Map<String,Map<String,WhiteboardSyncLockObject>> roomList = whiteBoardObjectSyncList.get(room_id);
+		if (roomList == null) {
+			roomList = new HashMap<String,Map<String,WhiteboardSyncLockObject>>();
+		}
+		log.debug("getWhiteBoardImagesSyncListByRoomAndImageid roomList: "+roomList);
+		log.debug("getWhiteBoardImagesSyncListByRoomAndImageid object_id: "+object_id);
+		if (roomList.size() == 1) {
+			log.debug("getWhiteBoardImagesSyncListByRoomAndImageid roomList Key image_id: "+roomList.keySet().iterator().next());
+		}
+		Map<String,WhiteboardSyncLockObject> imageSyncList = roomList.get(object_id);
+		if (imageSyncList == null) {
+			imageSyncList = new HashMap<String,WhiteboardSyncLockObject>();
+		}
+		return imageSyncList;
+	}
+	
+	/*
+	 * Whiteboard Object List
+	 * 
+	 */
+//	public synchronized HashMap<Long,HashMap<String,List>> getWhiteBoardObjectList(){
+//		return whiteBoardObjectList;
+//	}
+//	public synchronized void setWhiteBoardObjectList(HashMap<Long,HashMap<String,List>> whiteBoardObjectListNew){
+//		whiteBoardObjectList = whiteBoardObjectListNew;
+//	}
+	
+	public synchronized void setWhiteBoardObject(Long room_id, WhiteboardObject whiteBoardObject){
+		whiteBoardObjectList.put(room_id, whiteBoardObject);
+	}
+	
+	public synchronized void setWhiteBoardObjectListRoomObj(Long room_id, @SuppressWarnings("rawtypes") HashMap<String,List> roomList){
+		WhiteboardObject whiteBoardObject = whiteBoardObjectList.get(room_id);
+		if (whiteBoardObject == null) {
+			whiteBoardObject = new WhiteboardObject();
+		}
+		//whiteBoardObject.setObjList(roomList);
+		whiteBoardObjectList.put(room_id, whiteBoardObject);
+	}
+
+}
diff --git a/src/org/openmeetings/app/remote/red5/WhiteBoardObjectListManagerById.java b/src/org/openmeetings/app/remote/red5/WhiteBoardObjectListManagerById.java
new file mode 100644
index 0000000..0db9414
--- /dev/null
+++ b/src/org/openmeetings/app/remote/red5/WhiteBoardObjectListManagerById.java
@@ -0,0 +1,171 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.remote.red5;
+
+import java.util.HashMap;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.conference.whiteboard.WhiteboardObject;
+import org.openmeetings.app.conference.whiteboard.WhiteboardObjectList;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+public class WhiteBoardObjectListManagerById {
+	
+	private static HashMap<Long,WhiteboardObjectList> whiteBoardObjectList = new HashMap<Long,WhiteboardObjectList>();
+	
+	private static Long whiteboardId = 0L;
+	
+//	private static HashMap<Long,Map<String,WhiteboardSyncLockObject>> whiteBoardSyncList = new HashMap<Long,Map<String,WhiteboardSyncLockObject>>();
+//	
+//	private static HashMap<Long,Map<String,Map<String,WhiteboardSyncLockObject>>> whiteBoardObjectSyncList = new HashMap<Long,Map<String,Map<String,WhiteboardSyncLockObject>>>();
+
+	private static final Logger log = Red5LoggerFactory.getLogger(WhiteBoardObjectListManagerById.class, OpenmeetingsVariables.webAppRootKey);
+
+	private static WhiteBoardObjectListManagerById instance = null;
+
+	private WhiteBoardObjectListManagerById() {
+		log.debug("WhiteBoardObjectListManagerById is constructed");
+	}
+
+	public static synchronized WhiteBoardObjectListManagerById getInstance() {
+		if (instance == null) {
+			instance = new WhiteBoardObjectListManagerById();
+		}
+		return instance;
+	}
+	
+	public Long getNewWhiteboardId(Long room_id) throws Exception {
+		whiteboardId++;
+		
+		this.setWhiteBoardObjectListRoomObjAndWhiteboardId(room_id, new WhiteboardObject(), whiteboardId);
+		
+		return whiteboardId;
+	}
+	
+	/*
+	 * Room items a Whiteboard
+	 */
+	public synchronized WhiteboardObjectList getWhiteBoardObjectListByRoomId(Long room_id){
+		WhiteboardObjectList whiteboardObjectList = whiteBoardObjectList.get(room_id);
+		if (whiteboardObjectList == null) {
+			whiteboardObjectList = new WhiteboardObjectList();
+		}
+		return whiteboardObjectList;
+	}
+	
+	public synchronized WhiteboardObject getWhiteBoardObjectListByRoomIdAndWhiteboard(Long room_id, Long whiteBoardId){
+		WhiteboardObjectList whiteboardObjectList = whiteBoardObjectList.get(room_id);
+		if (whiteboardObjectList == null) {
+			whiteboardObjectList = new WhiteboardObjectList();
+		}
+		WhiteboardObject whiteboardObjects = whiteboardObjectList.getWhiteboardObjects().get(whiteBoardId);
+		if (whiteboardObjects == null) {
+			whiteboardObjects = new WhiteboardObject();
+		}
+		return whiteboardObjects;
+	}
+	
+//	/*
+//	 * Initial Sync Process
+//	 */
+//	public synchronized void setWhiteBoardSyncListByRoomid(Long room_id, Map<String,WhiteboardSyncLockObject> mapObject ){
+//		whiteBoardSyncList.put(room_id, mapObject);
+//	}
+//	public synchronized Map<String,WhiteboardSyncLockObject> getWhiteBoardSyncListByRoomid(Long room_id){
+//		Map<String,WhiteboardSyncLockObject> roomList = whiteBoardSyncList.get(room_id);
+//		if (roomList == null) {
+//			roomList = new HashMap<String,WhiteboardSyncLockObject>();
+//		}
+//		return roomList;
+//	}
+//	
+//	/*
+//	 * Image Sync Process
+//	 */
+//	public synchronized void setWhiteBoardImagesSyncListByRoomid(Long room_id, Map<String,Map<String,WhiteboardSyncLockObject>> mapObject ){
+//		whiteBoardObjectSyncList.put(room_id, mapObject);
+//	}
+//	public synchronized void setWhiteBoardImagesSyncListByRoomAndObjectId(Long room_id, 
+//			String object_id,Map<String,WhiteboardSyncLockObject> imageSyncList){
+//		Map<String,Map<String,WhiteboardSyncLockObject>> roomList = whiteBoardObjectSyncList.get(room_id);
+//		if (roomList == null) {
+//			roomList = new HashMap<String,Map<String,WhiteboardSyncLockObject>>();
+//		}
+//		if (imageSyncList.size() == 0) {
+//			roomList.remove(object_id);
+//		} else {
+//			roomList.put(object_id, imageSyncList);
+//		}
+//		setWhiteBoardImagesSyncListByRoomid(room_id,roomList);
+//	}
+//	public synchronized Map<String,Map<String,WhiteboardSyncLockObject>> getWhiteBoardObjectSyncListByRoomid(Long room_id){
+//		Map<String,Map<String,WhiteboardSyncLockObject>> roomList = whiteBoardObjectSyncList.get(room_id);
+//		if (roomList == null) {
+//			roomList = new HashMap<String,Map<String,WhiteboardSyncLockObject>>();
+//		}
+//		return roomList;
+//	}
+//	public synchronized Map<String,WhiteboardSyncLockObject> getWhiteBoardObjectSyncListByRoomAndObjectId(Long room_id, 
+//			String object_id){
+//		log.debug("getWhiteBoardImagesSyncListByRoomAndImageid room_id: "+room_id);
+//		Map<String,Map<String,WhiteboardSyncLockObject>> roomList = whiteBoardObjectSyncList.get(room_id);
+//		if (roomList == null) {
+//			roomList = new HashMap<String,Map<String,WhiteboardSyncLockObject>>();
+//		}
+//		log.debug("getWhiteBoardImagesSyncListByRoomAndImageid roomList: "+roomList);
+//		log.debug("getWhiteBoardImagesSyncListByRoomAndImageid object_id: "+object_id);
+//		if (roomList.size() == 1) {
+//			log.debug("getWhiteBoardImagesSyncListByRoomAndImageid roomList Key image_id: "+roomList.keySet().iterator().next());
+//		}
+//		Map<String,WhiteboardSyncLockObject> imageSyncList = roomList.get(object_id);
+//		if (imageSyncList == null) {
+//			imageSyncList = new HashMap<String,WhiteboardSyncLockObject>();
+//		}
+//		return imageSyncList;
+//	}
+	
+	/*
+	 * Whiteboard Object List
+	 * 
+	 */
+	
+//	public synchronized HashMap<Long,HashMap<String,List>> getWhiteBoardObjectList(){
+//		return whiteBoardObjectList;
+//	}
+//	
+//	public synchronized void setWhiteBoardObjectList(HashMap<Long,HashMap<String,List>> whiteBoardObjectListNew){
+//		whiteBoardObjectList = whiteBoardObjectListNew;
+//	}
+//	
+	public synchronized void setWhiteBoardObjectListRoomObj(Long room_id, WhiteboardObjectList whiteboardObjectList){
+		whiteBoardObjectList.put(room_id, whiteboardObjectList);
+	}
+	
+	public synchronized void setWhiteBoardObjectListRoomObjAndWhiteboardId(Long room_id, WhiteboardObject whiteboardObjects, Long whiteBoardId){
+		WhiteboardObjectList whiteboardObjectList = whiteBoardObjectList.get(room_id);
+		if (whiteboardObjectList == null) {
+			whiteboardObjectList = new WhiteboardObjectList();
+			whiteboardObjectList.setRoom_id(room_id);
+		}
+		whiteboardObjects.setWhiteBoardId(whiteBoardId);
+		whiteboardObjectList.getWhiteboardObjects().put(whiteBoardId, whiteboardObjects);
+		whiteBoardObjectList.put(room_id, whiteboardObjectList);
+	}
+}
diff --git a/src/org/openmeetings/app/rss/LoadAtomRssFeed.java b/src/org/openmeetings/app/rss/LoadAtomRssFeed.java
new file mode 100644
index 0000000..5b9f5c8
--- /dev/null
+++ b/src/org/openmeetings/app/rss/LoadAtomRssFeed.java
@@ -0,0 +1,140 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.rss;
+
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+
+import org.dom4j.Attribute;
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.io.SAXReader;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class LoadAtomRssFeed {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			LoadAtomRssFeed.class, OpenmeetingsVariables.webAppRootKey);
+	@Autowired
+	private Configurationmanagement cfgManagement;
+	@Autowired
+	private AuthLevelmanagement authLevelmanagement;
+
+	public LinkedHashMap<String, LinkedHashMap<String, LinkedHashMap<String, LinkedHashMap<String, Object>>>> getRssFeeds(
+			Long user_level) {
+		try {
+			if (authLevelmanagement.checkUserLevel(user_level)) {
+				LinkedHashMap<String, LinkedHashMap<String, LinkedHashMap<String, LinkedHashMap<String, Object>>>> returnMap = new LinkedHashMap<String, LinkedHashMap<String, LinkedHashMap<String, LinkedHashMap<String, Object>>>>();
+
+				String url1 = cfgManagement.getConfKey(3, "rss_feed1")
+						.getConf_value();
+				returnMap.put("feed1", this.parseRssFeed(url1));
+
+				String url2 = cfgManagement.getConfKey(3, "rss_feed2")
+						.getConf_value();
+				returnMap.put("feed2", this.parseRssFeed(url2));
+
+				return returnMap;
+			} else {
+				log.error("[getRssFeeds] authorization required");
+			}
+
+		} catch (Exception ex) {
+			log.error("[getRssFeeds]", ex);
+		}
+		return null;
+	}
+
+	public LinkedHashMap<String, LinkedHashMap<String, LinkedHashMap<String, Object>>> parseRssFeed(
+			String urlEndPoint) {
+		try {
+			LinkedHashMap<String, LinkedHashMap<String, LinkedHashMap<String, Object>>> lMap = new LinkedHashMap<String, LinkedHashMap<String, LinkedHashMap<String, Object>>>();
+
+			URL url = new URL(urlEndPoint);
+
+			HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+
+			conn.setDoOutput(true);
+			conn.setDoInput(true);
+			conn.setRequestProperty("user-agent",
+					"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)");
+			conn.setRequestProperty("Referer",
+					"http://incubator.apache.org/openmeetings/");
+			conn.connect();
+
+			SAXReader reader = new SAXReader();
+			Document document = reader.read(conn.getInputStream());
+
+			Element root = document.getRootElement();
+			int l = 0;
+
+			for (@SuppressWarnings("unchecked")
+			Iterator<Element> i = root.elementIterator(); i.hasNext();) {
+				Element item = i.next();
+				LinkedHashMap<String, LinkedHashMap<String, Object>> items = new LinkedHashMap<String, LinkedHashMap<String, Object>>();
+				boolean isSubElement = false;
+
+				for (@SuppressWarnings("unchecked")
+				Iterator<Element> it2 = item.elementIterator(); it2.hasNext();) {
+					Element subItem = it2.next();
+
+					LinkedHashMap<String, Object> itemObj = new LinkedHashMap<String, Object>();
+
+					itemObj.put("name", subItem.getName());
+					itemObj.put("text", subItem.getText());
+
+					LinkedHashMap<String, String> attributes = new LinkedHashMap<String, String>();
+
+					for (@SuppressWarnings("unchecked")
+					Iterator<Attribute> attr = subItem.attributeIterator(); attr
+							.hasNext();) {
+						Attribute at = attr.next();
+						attributes.put(at.getName(), at.getText());
+					}
+					itemObj.put("attributes", attributes);
+
+					// log.error(subItem.getName()+ ": " +subItem.getText());
+					items.put(subItem.getName(), itemObj);
+					isSubElement = true;
+				}
+
+				if (isSubElement) {
+					l++;
+					lMap.put("item" + l, items);
+				}
+
+			}
+
+			return lMap;
+
+		} catch (Exception err) {
+			log.error("[parseRssFeed]", err);
+		}
+		return null;
+
+	}
+
+}
diff --git a/src/org/openmeetings/app/sip/api/ISIPClient.java b/src/org/openmeetings/app/sip/api/ISIPClient.java
new file mode 100644
index 0000000..91ee8c5
--- /dev/null
+++ b/src/org/openmeetings/app/sip/api/ISIPClient.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.sip.api;
+
+import org.openmeetings.app.sip.api.request.SIPCreateConferenceRequest;
+import org.openmeetings.app.sip.api.request.SIPCreateUserRequest;
+import org.openmeetings.app.sip.api.result.SIPCreateUserRequestResult;
+import org.openmeetings.app.sip.api.result.SipCreateConferenceRequestResult;
+
+/**
+ * SIP client interface
+ */
+public interface ISIPClient {
+
+    SIPCreateUserRequestResult createSIPUser(SIPCreateUserRequest request);
+
+    SipCreateConferenceRequestResult createSIPConference(SIPCreateConferenceRequest request);
+
+    Integer getConferenceMembersNumber(String sipNumber);
+
+}
diff --git a/src/org/openmeetings/app/sip/api/impl/asterisk/AsteriskDbSipClient.java b/src/org/openmeetings/app/sip/api/impl/asterisk/AsteriskDbSipClient.java
new file mode 100644
index 0000000..382b56a
--- /dev/null
+++ b/src/org/openmeetings/app/sip/api/impl/asterisk/AsteriskDbSipClient.java
@@ -0,0 +1,80 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.sip.api.impl.asterisk;
+
+import org.openmeetings.app.persistence.beans.user.UserSipData;
+import org.openmeetings.app.sip.api.ISIPClient;
+import org.openmeetings.app.sip.api.impl.asterisk.dao.AsteriskDAOImpl;
+import org.openmeetings.app.sip.api.request.SIPCreateConferenceRequest;
+import org.openmeetings.app.sip.api.request.SIPCreateUserRequest;
+import org.openmeetings.app.sip.api.result.SIPCreateUserRequestResult;
+import org.openmeetings.app.sip.api.result.SipCreateConferenceRequestResult;
+import org.springframework.beans.factory.annotation.Autowired;
+/**
+ *
+ */
+public class AsteriskDbSipClient implements ISIPClient {
+
+    @Autowired
+	private AsteriskDAOImpl asteriskDAO;
+
+    public SIPCreateUserRequestResult createSIPUser(final SIPCreateUserRequest request) {
+        asteriskDAO.addSipUser(request.getLogin(), request.getPassword());
+        return new SIPCreateUserRequestResult() {
+            @Override
+            public UserSipData getUserSipData() {
+                UserSipData sipData = new UserSipData();
+                sipData.setAuthId(request.getLogin());
+                sipData.setUserpass(request.getPassword());
+                sipData.setUsername(request.getLogin());
+                return sipData;
+            }
+
+            public boolean hasError() {
+                return false;
+            }
+
+            public String getErrorMessage() {
+                return null;
+            }
+        };
+    }
+
+    public SipCreateConferenceRequestResult createSIPConference(SIPCreateConferenceRequest request) {
+        String confno;
+        if(request.getSipNumber() != null && !request.getSipNumber().isEmpty()) {
+            confno = asteriskDAO.addMeetMeConference(request.getSipNumber());
+        } else {
+            confno = asteriskDAO.addMeetMeConference();
+        }
+        return new SipCreateConferenceRequestResult(confno, "") {
+            public boolean hasError() {
+                return false;
+            }
+
+            public String getErrorMessage() {
+                return null;
+            }
+        };
+    }
+
+    public Integer getConferenceMembersNumber(String sipNumber) {
+        return asteriskDAO.getConferenceMembersNumber(sipNumber);
+    }
+}
\ No newline at end of file
diff --git a/src/org/openmeetings/app/sip/api/impl/asterisk/dao/AsteriskDAOImpl.java b/src/org/openmeetings/app/sip/api/impl/asterisk/dao/AsteriskDAOImpl.java
new file mode 100644
index 0000000..cb350ab
--- /dev/null
+++ b/src/org/openmeetings/app/sip/api/impl/asterisk/dao/AsteriskDAOImpl.java
@@ -0,0 +1,131 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.sip.api.impl.asterisk.dao;
+
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.persistence.beans.basic.Configuration;
+import org.openmeetings.app.persistence.beans.sip.asterisk.AsteriskSipUsers;
+import org.openmeetings.app.persistence.beans.sip.asterisk.Extensions;
+import org.openmeetings.app.persistence.beans.sip.asterisk.MeetMe;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class AsteriskDAOImpl {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(AsteriskDAOImpl.class, OpenmeetingsVariables.webAppRootKey);
+    private static final String DEFAULT_SIP_CONTEXT = "rooms";
+	@PersistenceContext
+	private EntityManager em;
+    @Autowired
+	private Configurationmanagement cfgManagement;
+
+    public void addSipUser(String username, String secret) {
+        AsteriskSipUsers u = new AsteriskSipUsers();
+        Configuration conf = cfgManagement.getConfKey(3L,"red5sip.exten_context");
+        String defaultRoomContext = "rooms";
+        if(conf != null && !conf.getConf_value().isEmpty()) {
+            defaultRoomContext = conf.getConf_value();
+        }
+        u.setName(username);
+        u.setSecret(secret);
+        u.setContext(defaultRoomContext);
+        u.setHost("dynamic");
+        Extensions e = new Extensions();
+        e.setApp("Dial");
+        e.setAppdata("SIP/" + username);
+        e.setExten(username);
+        e.setContext(defaultRoomContext);
+        e.setPriority(1);
+        em.persist(u);
+        em.persist(e);
+        log.debug("addSipUser successfull");
+    }
+
+    public String addMeetMeConference() {
+        int count = ((Number)em.createQuery("SELECT COUNT(m.confno) FROM MeetMe AS m").getSingleResult()).intValue();
+        Configuration conf = cfgManagement.getConfKey(3L,"red5sip.room_prefix");
+        String prefix = DEFAULT_SIP_CONTEXT;
+        if(conf != null) {
+            prefix = conf.getConf_value();
+        }
+        String confno = prefix+(count+1);
+        addMeetMeConference(confno);
+        return confno;
+    }
+
+    public String addMeetMeConference(String sipNumber) {
+        MeetMe mm = new MeetMe();
+        mm.setConfno(sipNumber);
+        Extensions e = new Extensions();
+        e.setApp("MeetMe");
+        e.setAppdata(sipNumber + ",dM");
+        e.setExten(sipNumber);
+        e.setContext("rooms");
+        e.setPriority(1);
+        em.persist(mm);
+        em.persist(e);
+        return sipNumber;
+    }
+
+    public Integer getConferenceMembersNumber(String confNo) {
+        return ((Number)em.createQuery("SELECT m.members FROM MeetMe AS m WHERE m.confno=:confno")
+                .setParameter("confno", confNo)
+                .getSingleResult()).intValue();
+    }
+    
+    public int saveAsteriskSipUsers(AsteriskSipUsers asteriskSipUsers) {
+    	em.persist(asteriskSipUsers);
+    	return asteriskSipUsers.getId();
+    }
+    
+    public List<AsteriskSipUsers> getAsteriskSipUsers() {
+    	return em.createQuery("select c from AsteriskSipUsers as c", AsteriskSipUsers.class)
+                .getResultList();
+    }
+    
+    public int saveExtensions(Extensions extensions) {
+    	em.persist(extensions);
+    	return extensions.getId();
+    }
+    
+    public List<Extensions> getExtensions() {
+    	return em.createQuery("select c from Extensions as c", Extensions.class)
+                .getResultList();
+    }
+    
+    public String saveMeetMe(MeetMe meetMe) {
+    	em.persist(meetMe);
+    	return meetMe.getConfno();
+    }
+    
+    public List<MeetMe> getMembers() {
+        return em.createQuery("select c from MeetMe as c", MeetMe.class)
+                .getResultList();
+    }
+    
+}
\ No newline at end of file
diff --git a/src/org/openmeetings/app/sip/api/request/ISIPRequest.java b/src/org/openmeetings/app/sip/api/request/ISIPRequest.java
new file mode 100644
index 0000000..9bebbfa
--- /dev/null
+++ b/src/org/openmeetings/app/sip/api/request/ISIPRequest.java
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.sip.api.request;
+
+/**
+ * Base interface for SIP API requests
+ */
+public interface ISIPRequest {
+
+}
diff --git a/src/org/openmeetings/app/sip/api/request/SIPCreateConferenceRequest.java b/src/org/openmeetings/app/sip/api/request/SIPCreateConferenceRequest.java
new file mode 100644
index 0000000..c4f1432
--- /dev/null
+++ b/src/org/openmeetings/app/sip/api/request/SIPCreateConferenceRequest.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.sip.api.request;
+
+/**
+ * Create SIP conferece request
+ */
+public class SIPCreateConferenceRequest implements ISIPRequest {
+    private String sipNumber;
+
+    public SIPCreateConferenceRequest() {
+        super();    //To change body of overridden methods use File | Settings | File Templates.
+    }
+
+    public SIPCreateConferenceRequest(String sipNumber) {
+        super();
+        this.sipNumber = sipNumber;
+    }
+
+    public String getSipNumber() {
+        return sipNumber;
+    }
+}
\ No newline at end of file
diff --git a/src/org/openmeetings/app/sip/api/request/SIPCreateUserRequest.java b/src/org/openmeetings/app/sip/api/request/SIPCreateUserRequest.java
new file mode 100644
index 0000000..41cb2fb
--- /dev/null
+++ b/src/org/openmeetings/app/sip/api/request/SIPCreateUserRequest.java
@@ -0,0 +1,90 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.sip.api.request;
+
+/**
+ * Create User Request
+ */
+public class SIPCreateUserRequest implements ISIPRequest {
+
+    protected String firstName;
+    protected String middleName;
+    protected String lastName;
+    protected String email;
+    protected String login;
+    protected String password;
+
+
+    public SIPCreateUserRequest(String firstName, String middleName, String lastName, String email, String login, String password) {
+        this.firstName = firstName;
+        this.middleName = middleName;
+        this.lastName = lastName;
+        this.email = email;
+        this.login = login;
+        this.password = password;
+    }
+
+    public void withFirstName(String firstName) {
+        this.firstName = firstName;
+    }
+
+    public void withMiddleName(String middleName) {
+        this.middleName = middleName;
+    }
+
+    public void withLastName(String lastName) {
+        this.lastName = lastName;
+    }
+
+    public void withEmail(String email) {
+        this.email = email;
+    }
+
+    public void withLogin(String login) {
+        this.login = login;
+    }
+
+    public void withPassword(String password) {
+        this.password = password;
+    }
+
+    public String getFirstName() {
+        return firstName;
+    }
+
+    public String getMiddleName() {
+        return middleName;
+    }
+
+    public String getLastName() {
+        return lastName;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public String getLogin() {
+        return login;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+}
diff --git a/src/org/openmeetings/app/sip/api/result/ISIPRequestResult.java b/src/org/openmeetings/app/sip/api/result/ISIPRequestResult.java
new file mode 100644
index 0000000..e7f93c1
--- /dev/null
+++ b/src/org/openmeetings/app/sip/api/result/ISIPRequestResult.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.sip.api.result;
+
+/**
+ * * Base interface for SIP API request's resuslt
+ */
+public interface ISIPRequestResult {
+
+    boolean hasError();
+
+    String getErrorMessage();
+
+}
diff --git a/src/org/openmeetings/app/sip/api/result/SIPCreateUserRequestResult.java b/src/org/openmeetings/app/sip/api/result/SIPCreateUserRequestResult.java
new file mode 100644
index 0000000..9dd7a7a
--- /dev/null
+++ b/src/org/openmeetings/app/sip/api/result/SIPCreateUserRequestResult.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.sip.api.result;
+
+import org.openmeetings.app.persistence.beans.user.UserSipData;
+
+/**
+ * TODO
+ */
+public abstract class SIPCreateUserRequestResult implements ISIPRequestResult {
+
+    abstract public UserSipData getUserSipData();
+
+}
diff --git a/src/org/openmeetings/app/sip/api/result/SipCreateConferenceRequestResult.java b/src/org/openmeetings/app/sip/api/result/SipCreateConferenceRequestResult.java
new file mode 100644
index 0000000..197d506
--- /dev/null
+++ b/src/org/openmeetings/app/sip/api/result/SipCreateConferenceRequestResult.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.sip.api.result;
+
+/**
+ * TODO
+ */
+public abstract class SipCreateConferenceRequestResult implements ISIPRequestResult {
+
+    protected String conferenceNumber;
+    protected String conferencePin;
+
+    protected SipCreateConferenceRequestResult() {
+    }
+
+    protected SipCreateConferenceRequestResult(String conferenceNumber, String conferencePin) {
+        this.conferenceNumber = conferenceNumber;
+        this.conferencePin = conferencePin;
+    }
+
+    public String getConferenceNumber() {
+        return conferenceNumber;
+    }
+
+    public String getConferencePin() {
+        return conferencePin;
+    }
+}
diff --git a/src/org/openmeetings/app/sip/xmlrpc/EasyX509TrustManager.java b/src/org/openmeetings/app/sip/xmlrpc/EasyX509TrustManager.java
new file mode 100644
index 0000000..3d0af6b
--- /dev/null
+++ b/src/org/openmeetings/app/sip/xmlrpc/EasyX509TrustManager.java
@@ -0,0 +1,115 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.sip.xmlrpc;
+
+import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+
+import javax.net.ssl.TrustManagerFactory;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
+import org.apache.commons.logging.Log; 
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * <p>
+ * EasyX509TrustManager unlike default {@link X509TrustManager} accepts 
+ * self-signed certificates. 
+ * </p>
+ * <p>
+ * This trust manager SHOULD NOT be used for productive systems 
+ * due to security reasons, unless it is a concious decision and 
+ * you are perfectly aware of security implications of accepting 
+ * self-signed certificates
+ * </p>
+ * 
+ * @author <a href="mailto:adrian.sutton@ephox.com">Adrian Sutton</a>
+ * @author <a href="mailto:oleg@ural.ru">Oleg Kalnichevski</a>
+ * 
+ * <p>
+ * DISCLAIMER: HttpClient developers DO NOT actively support this component.
+ * The component is provided as a reference material, which may be inappropriate
+ * for use without additional customization.
+ * </p>
+ */
+
+public class EasyX509TrustManager implements X509TrustManager
+{
+    private X509TrustManager standardTrustManager = null;
+
+    /** Log object for this class. */
+    private static final Log LOG = LogFactory.getLog(EasyX509TrustManager.class);
+
+    /**
+     * Constructor for EasyX509TrustManager.
+     */
+    public EasyX509TrustManager(KeyStore keystore) throws NoSuchAlgorithmException, KeyStoreException {
+        super();
+        TrustManagerFactory factory = TrustManagerFactory.getInstance("SunX509");
+        factory.init(keystore);
+        TrustManager[] trustmanagers = factory.getTrustManagers();
+        if (trustmanagers.length == 0) {
+            throw new NoSuchAlgorithmException("SunX509 trust manager not supported");
+        }
+        this.standardTrustManager = (X509TrustManager)trustmanagers[0];
+    }
+
+    /**
+     * @throws CertificateException 
+     * @see com.sun.net.ssl.X509TrustManager#isClientTrusted(X509Certificate[])
+     */
+    public void checkClientTrusted(X509Certificate[] certificates, String arg) throws CertificateException {
+   		standardTrustManager.checkClientTrusted(certificates, arg);
+    }
+
+    /**
+     * @throws CertificateException 
+     * @see com.sun.net.ssl.X509TrustManager#isServerTrusted(X509Certificate[])
+     */
+    public void checkServerTrusted(X509Certificate[] certificates, String arg) throws CertificateException {
+        if ((certificates != null) && LOG.isDebugEnabled()) {
+            LOG.debug("Server certificate chain:");
+            for (int i = 0; i < certificates.length; i++) {
+                LOG.debug("X509Certificate[" + i + "]=" + certificates[i]);
+            }
+        }
+        if ((certificates != null) && (certificates.length == 1)) {
+            X509Certificate certificate = certificates[0];
+            try {
+                certificate.checkValidity(); 
+            }
+            catch (CertificateException e) {
+                LOG.error(e.toString());
+            }
+        } else {
+            standardTrustManager.checkServerTrusted(certificates, arg);
+        }
+    }
+
+    /**
+     * @see com.sun.net.ssl.X509TrustManager#getAcceptedIssuers()
+     */
+    public X509Certificate[] getAcceptedIssuers() {
+        return this.standardTrustManager.getAcceptedIssuers();
+    }
+}
+
diff --git a/src/org/openmeetings/app/sip/xmlrpc/OpenXGHttpClient.java b/src/org/openmeetings/app/sip/xmlrpc/OpenXGHttpClient.java
new file mode 100644
index 0000000..4406fb8
--- /dev/null
+++ b/src/org/openmeetings/app/sip/xmlrpc/OpenXGHttpClient.java
@@ -0,0 +1,608 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.sip.xmlrpc;
+
+import java.io.InputStream;
+import java.nio.charset.Charset;
+import java.util.Date;
+
+import javax.net.ssl.SSLContext;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.HttpVersion;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.conn.ClientConnectionManager;
+import org.apache.http.conn.scheme.PlainSocketFactory;
+import org.apache.http.conn.scheme.Scheme;
+import org.apache.http.conn.scheme.SchemeRegistry;
+import org.apache.http.conn.ssl.SSLSocketFactory;
+import org.apache.http.entity.AbstractHttpEntity;
+import org.apache.http.entity.ByteArrayEntity;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
+import org.apache.http.params.BasicHttpParams;
+import org.apache.http.params.HttpParams;
+import org.apache.http.params.HttpProtocolParams;
+import org.apache.http.protocol.HTTP;
+import org.apache.http.util.EntityUtils;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.persistence.beans.basic.Configuration;
+import org.openmeetings.app.persistence.beans.sip.OpenXGReturnObject;
+import org.openmeetings.app.persistence.beans.user.UserSipData;
+import org.openmeetings.app.sip.xmlrpc.custom.OpenXGCustomXMLMarshall;
+import org.openmeetings.app.sip.xmlrpc.custom.dao.OpenXGReturnObjectDaoImpl;
+import org.openmeetings.utils.crypt.MD5;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+public class OpenXGHttpClient {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			OpenXGHttpClient.class, OpenmeetingsVariables.webAppRootKey);
+	@Autowired
+	private Configurationmanagement cfgManagement;
+	@Autowired
+	private OpenXGReturnObjectDaoImpl openXGReturnObjectDao;
+
+	public String digest_calculate(Object[] params) throws Exception {
+		String stringToMd5 = "";
+
+		for (int i = 0; i < params.length; i++) {
+			stringToMd5 += params[i];
+		}
+
+		return MD5.do_checksum(stringToMd5);
+
+	}
+
+	public void openSIPgUserCreateTest() {
+		try {
+
+			String first_name = "Matti";
+			String middle_i = "X";
+			String last_name = "Virtanen";
+			String email = "test@test.de";
+			String password = "password";
+
+			this.openSIPgUserCreateUser(first_name,
+					middle_i, last_name, email, password, "test");
+
+		} catch (Exception err) {
+
+			log.error("[openSIPgUserCreateTest]", err);
+
+		}
+	}
+
+	/**
+	 * 
+	 * Creates a SIP User using the RPC Methods of openXG
+	 * 
+	 * @param first_name
+	 * @param middle_i
+	 * @param last_name
+	 * @param email
+	 * @param password
+	 * @return
+	 */
+	public UserSipData openSIPgUserCreateUser(String first_name,
+			String middle_i, String last_name, String email, String login,
+			String password) {
+		try {
+
+			// Check if the OpenXG Gateway is enabled in general
+			Configuration sip_openxg_enable = cfgManagement.getConfKey(3L,
+					"sip.openxg.enable");
+
+			if (sip_openxg_enable == null
+					|| !sip_openxg_enable.getConf_value().equals("yes")) {
+				log.debug("SIP is disabled");
+				return null;
+			}
+
+			// client_id and client_secret
+			Configuration openxg_client_id = cfgManagement.getConfKey(3L,
+					"openxg.client.id");
+			Configuration openxg_client_secret = cfgManagement.getConfKey(3L,
+					"openxg.client.secret");
+			if (openxg_client_id == null || openxg_client_secret == null) {
+				throw new Exception(
+						"openxg.client.id or openxg.client.secret missing in Configuration table");
+			}
+			String client_id = openxg_client_id.getConf_value();
+			String client_secret = openxg_client_secret.getConf_value();
+
+			// domain
+			Configuration openxg_client_domain = cfgManagement.getConfKey(3L,
+					"openxg.client.domain");
+			if (openxg_client_domain == null) {
+				throw new Exception(
+						"openxg.client.domain missing in Configuration table");
+			}
+			String domain = openxg_client_domain.getConf_value();
+
+			// openxg_community_code
+			Configuration openxg_community_code = cfgManagement.getConfKey(3L,
+					"openxg.community.code");
+			if (openxg_community_code == null) {
+				throw new Exception(
+						"openxg.community.code missing in Configuration table");
+			}
+			String community_code = openxg_community_code.getConf_value();
+
+			// language_code
+			Configuration openxg_language_code = cfgManagement.getConfKey(3L,
+					"openxg.language.code");
+			if (openxg_language_code == null) {
+				throw new Exception(
+						"openxg.language.code missing in Configuration table");
+			}
+			String language_code = openxg_language_code.getConf_value();
+
+			// adminid
+			Configuration openxg_adminid = cfgManagement.getConfKey(3L,
+					"openxg.adminid");
+			if (openxg_adminid == null) {
+				throw new Exception(
+						"openxg.adminid missing in Configuration table");
+			}
+			String adminid = openxg_adminid.getConf_value();
+
+			// sip_language_phonecode, for example +358, is important as port of
+			// the
+			// number/login for the SIP-User via the applet
+			Configuration sip_language_phonecode = cfgManagement.getConfKey(3L,
+					"sip.language.phonecode");
+
+			if (sip_language_phonecode == null) {
+				throw new Exception(
+						"No sip.language.phonecode set in Configuration");
+			}
+
+			// Calculate the number in national format
+			Configuration sip_phonerange_start = cfgManagement.getConfKey(3L,
+					"sip.phonerange.start");
+			Configuration sip_phonerange = cfgManagement.getConfKey(3L,
+					"sip.phonerange");
+			Configuration sip_phonerange_currentindex = cfgManagement
+					.getConfKey(3L, "sip.phonerange.currentindex");
+			if (sip_phonerange_start == null || sip_phonerange == null
+					|| sip_phonerange_currentindex == null) {
+				throw new Exception(
+						"sip.phonerange.start, sip.phonerange or sip.phonerange.currentindex missing in Configuration table");
+			}
+
+			// Long sipPhoneRangeStart =
+			// Long.parseLong(sip_phonerange_start.getConf_value());
+			// Long sipPhoneRange =
+			// Long.parseLong(sip_phonerange.getConf_value());
+			// Long sipPhoneRangeCurrentIndex =
+			// Long.parseLong(sip_phonerange_currentindex.getConf_value());
+
+			// Not sure anymore if this is really needed, we don't need a number
+			// in national format
+			// if (sipPhoneRangeCurrentIndex >= sipPhoneRange) {
+			// throw new
+			// Exception("You have no more numbers, you need to allocate more numbers and alter the Configuration value sip.phonerange");
+			// }
+
+			// Long useridAsNumber = sipPhoneRangeStart +
+			// sipPhoneRangeCurrentIndex;
+			//
+			// log.debug("(sip_phonerange_start.getConf_value().length()) "+(sip_phonerange_start.getConf_value().length()+1));
+			//
+			// //The userid == the Number allocated in National Format!
+			// //The userid is calculated on the number of available numbers in
+			// the range
+			// String userid =
+			// String.format("%0"+(sip_phonerange_start.getConf_value().length())+"d",
+			// useridAsNumber);
+
+			String userid = login;
+
+			// sipPhoneRangeCurrentIndex++;
+			// sip_phonerange_currentindex.setConf_value(""+sipPhoneRangeCurrentIndex);
+
+			// cfgManagement.updateConfig(sip_phonerange_currentindex);
+
+			String digest = this.digest_calculate(new Object[] { client_id,
+					userid, domain, first_name, middle_i, last_name, password,
+					community_code, language_code, email, adminid,
+					client_secret });
+
+			// Get the XML-String representative
+			String stringToPost = OpenXGCustomXMLMarshall.getInstance()
+					.openSIPgUserCreate(client_id, digest, userid, domain,
+							first_name, middle_i, last_name, password,
+							community_code, language_code, email, adminid);
+
+			OpenXGReturnObject openXGReturnObject = this
+					.openSIPgPost(stringToPost);
+
+			openXGReturnObject.setMethodName("OpenSIPg.UserCreate");
+
+			openXGReturnObjectDao.addOpenXGReturnObject(
+					openXGReturnObject);
+
+			log.debug(" Status_code " + openXGReturnObject.getStatus_code());
+			log.debug(" Status_string " + openXGReturnObject.getStatus_string());
+
+			if (openXGReturnObject.getStatus_code().equals("200")) {
+
+				// Add User URI
+				String digestURI = this.digest_calculate(new Object[] {
+						client_id, userid, domain, adminid, client_secret });
+
+				// Get the XML-String representative
+				String stringToPostURI = OpenXGCustomXMLMarshall.getInstance()
+						.openSIPgURIUserIDAdd(client_id, digestURI, userid,
+								domain, adminid);
+
+				OpenXGReturnObject openXGReturnObjectURI = this
+						.openSIPgPost(stringToPostURI);
+
+				openXGReturnObjectURI.setMethodName("OpenSIPg.URIUserIDAdd");
+
+				openXGReturnObjectDao.addOpenXGReturnObject(
+						openXGReturnObjectURI);
+
+				log.debug(" openXGReturnObjectURI Status Code "
+						+ openXGReturnObjectURI.getStatus_code());
+				log.debug(" openXGReturnObjectURI Status String "
+						+ openXGReturnObjectURI.getStatus_string());
+
+				UserSipData userSipData = new UserSipData();
+
+				// userSipData.setUsername(sip_language_phonecode.getConf_value()
+				// + useridAsNumber);
+				userSipData.setUsername(userid);
+				userSipData.setUserpass(password);
+				userSipData.setAuthId(userid);
+
+				return userSipData;
+
+			} else {
+
+				throw new Exception(
+						"Could not add SIP User - Gateway response Error Code: "
+								+ openXGReturnObject.getStatus_code()
+								+ " Message: "
+								+ openXGReturnObject.getStatus_string());
+
+			}
+
+		} catch (Exception err) {
+
+			log.error("[openSIPgUserCreateTest]", err);
+
+		}
+
+		return null;
+	}
+
+	public OpenXGReturnObject openSIPgCreateConference() {
+		try {
+
+			// Check if the OpenXG Gateway is enabled in general
+			Configuration sip_openxg_enable = cfgManagement.getConfKey(3L,
+					"sip.openxg.enable");
+
+			if (sip_openxg_enable == null
+					|| !sip_openxg_enable.getConf_value().equals("yes")) {
+				log.debug("SIP is disabled");
+				return null;
+			}
+
+			// client_id and client_secret
+			Configuration openxg_client_id = cfgManagement.getConfKey(3L,
+					"openxg.client.id");
+			Configuration openxg_client_secret = cfgManagement.getConfKey(3L,
+					"openxg.client.secret");
+			if (openxg_client_id == null || openxg_client_secret == null) {
+				throw new Exception(
+						"openxg.client.id or openxg.client.secret missing in Configuration table");
+			}
+			String client_id = openxg_client_id.getConf_value();
+			String client_secret = openxg_client_secret.getConf_value();
+
+			// domain
+			Configuration openxg_client_domain = cfgManagement.getConfKey(3L,
+					"openxg.client.domain");
+			if (openxg_client_domain == null) {
+				throw new Exception(
+						"openxg.client.domain missing in Configuration table");
+			}
+			String domain = openxg_client_domain.getConf_value();
+
+			// language_code
+			Configuration openxg_language_code = cfgManagement.getConfKey(3L,
+					"openxg.language.code");
+			if (openxg_language_code == null) {
+				throw new Exception(
+						"openxg.language.code missing in Configuration table");
+			}
+			String language_code = openxg_language_code.getConf_value();
+
+			// adminid
+			Configuration openxg_adminid = cfgManagement.getConfKey(3L,
+					"openxg.adminid");
+			if (openxg_adminid == null) {
+				throw new Exception(
+						"openxg.adminid missing in Configuration table");
+			}
+			String adminid = openxg_adminid.getConf_value();
+
+			Date d = new Date();
+			long starttime = d.getTime() / 1000;
+
+			long endTime = (d.getTime() / 1000) + (60 * 60);
+
+			// "0", "2147483647",
+
+			// permanent conferences
+			starttime = 0;
+			endTime = 2147483647;
+
+			String digest = this.digest_calculate(new Object[] { client_id,
+					"067201101", domain, "" + starttime, "" + endTime,
+					language_code, adminid, client_secret });
+
+			Configuration openxg_wrapper_url = cfgManagement.getConfKey(3L,
+					"openxg.wrapper.url");
+
+			if (openxg_wrapper_url == null) {
+				throw new Exception(
+						"No openxg.wrapper.url set in Configuration");
+			}
+
+			String strURL = openxg_wrapper_url.getConf_value();
+
+			// Prepare HTTP post
+			HttpPost post = new HttpPost(strURL);
+			post.addHeader("User-Agent", "OpenSIPg XML_RPC Client");
+
+			// Get the XML-String representative
+			String stringToPost = OpenXGCustomXMLMarshall.getInstance()
+					.openSIPgCreateConference(client_id, digest, "067201101",
+							domain, "" + starttime, "" + endTime,
+							language_code, adminid);
+
+			OpenXGReturnObject openXGReturnObject = this
+					.openSIPgPost(stringToPost);
+
+			openXGReturnObject.setMethodName("OpenSIPg.UserConferenceAdd");
+
+			openXGReturnObjectDao.addOpenXGReturnObject(
+					openXGReturnObject);
+
+			return openXGReturnObject;
+
+		} catch (Exception err) {
+
+			log.error("[openSIPgUserCreate]", err);
+
+		}
+
+		return null;
+	}
+
+	public OpenXGReturnObject openSIPgPost(String stringToPost) {
+		try {
+
+			Configuration openxg_wrapper_url = cfgManagement.getConfKey(3L,
+					"openxg.wrapper.url");
+
+			if (openxg_wrapper_url == null) {
+				throw new Exception(
+						"No openxg.wrapper.url set in Configuration");
+			}
+
+			String strURL = openxg_wrapper_url.getConf_value();
+
+			// Prepare HTTP post
+			HttpPost post = new HttpPost(strURL);
+			post.addHeader("User-Agent", "OpenSIPg XML_RPC Client");
+
+			// log.debug(stringToPost);
+
+			AbstractHttpEntity entity = new ByteArrayEntity(
+					stringToPost.getBytes(Charset.forName("ISO-8859-1")));
+
+			// Prepare HTTP post
+			HttpParams params = post.getParams();
+			HttpProtocolParams.setContentCharset(params, "utf-8");
+			HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
+			post.setParams(params);
+
+			// Request content will be retrieved directly
+			// from the input stream
+			post.setEntity(entity);
+
+			// Get HTTP client
+			HttpClient httpclient = getHttpClient();
+
+			// Execute request
+			HttpResponse response = httpclient.execute(post);
+			int resCode = response.getStatusLine().getStatusCode();
+			
+			// Display status code
+			log.debug("Response status code: " + response);
+
+			if (resCode == 200) {
+	            HttpEntity ent = response.getEntity();
+				String responseBody = (ent != null) ? EntityUtils.toString(ent) : "";
+				log.debug("parseReturnBody " + responseBody);
+
+				OpenXGReturnObject oIG = this.parseOpenXGReturnBody(ent.getContent());
+
+				log.debug("oIG 1 " + oIG.getStatus_code());
+				log.debug("oIG 2 " + oIG.getStatus_string());
+
+				return oIG;
+
+			} else {
+
+				throw new Exception(
+						"Could not connect to OpenXG, check the URL for the Configuration");
+
+			}
+
+		} catch (Exception err) {
+
+			log.error("[openSIPgUserCreate]", err);
+
+		}
+
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param inputStream
+	 * @return
+	 */
+	public OpenXGReturnObject parseOpenXGReturnBody(InputStream inputStream) {
+		try {
+
+			OpenXGReturnObject openXGReturnObject = new OpenXGReturnObject();
+
+			// log.debug("parseReturnBody "+inputStream);
+
+			DocumentBuilderFactory factory = DocumentBuilderFactory
+					.newInstance();
+			factory.setValidating(false);
+			factory.setNamespaceAware(false);
+
+			// get a builder to create a DOM document
+			DocumentBuilder builder = factory.newDocumentBuilder();
+
+			Document document = builder.parse(inputStream);
+
+			NodeList members = document.getElementsByTagName("member");
+
+			// log.debug("members LENGTH "+members.getLength());
+
+			for (int i = 0; i < members.getLength(); i++) {
+				Element member = (Element) members.item(i);
+
+				NodeList name = member.getElementsByTagName("name");
+
+				// log.debug("Name "+name.item(0).getNodeName());
+
+				Node nameTextNode = name.item(0).getFirstChild();
+
+				log.debug("getNodeValue " + nameTextNode.getNodeValue());
+
+				if (nameTextNode.getNodeValue().equals("status_code")) {
+
+					NodeList string = member.getElementsByTagName("string");
+
+					// log.debug("Value "+string.item(0).getNodeName());
+
+					Node valueTextNode = string.item(0).getFirstChild();
+
+					// log.debug("Value "+valueTextNode.getNodeValue());
+
+					openXGReturnObject.setStatus_code(valueTextNode
+							.getNodeValue());
+
+				} else if (nameTextNode.getNodeValue().equals("status_string")) {
+
+					NodeList string = member.getElementsByTagName("string");
+
+					// log.debug("Value "+string.item(0).getNodeName());
+
+					Node valueTextNode = string.item(0).getFirstChild();
+
+					// log.debug("Value "+valueTextNode.getNodeValue());
+
+					openXGReturnObject.setStatus_string(valueTextNode
+							.getNodeValue());
+
+				} else if (nameTextNode.getNodeValue().equals(
+						"conference_number")) {
+
+					NodeList string = member.getElementsByTagName("string");
+
+					// log.debug("Value "+string.item(0).getNodeName());
+
+					Node valueTextNode = string.item(0).getFirstChild();
+
+					// log.debug("Value "+valueTextNode.getNodeValue());
+
+					openXGReturnObject.setConferenceNumber(valueTextNode
+							.getNodeValue());
+
+				} else if (nameTextNode.getNodeValue().equals("conference_pin")) {
+
+					NodeList string = member.getElementsByTagName("string");
+
+					// log.debug("Value "+string.item(0).getNodeName());
+
+					Node valueTextNode = string.item(0).getFirstChild();
+
+					// log.debug("Value "+valueTextNode.getNodeValue());
+
+					openXGReturnObject.setConferencePin(valueTextNode
+							.getNodeValue());
+
+				}
+
+			}
+
+			return openXGReturnObject;
+
+		} catch (Exception err) {
+
+			log.error("[parseOpenXGReturnBody]", err);
+
+		}
+		return null;
+	}
+
+	public HttpClient getHttpClient() {
+	    try {
+	        SSLSocketFactory sf = new SSLSocketFactory(SSLContext.getInstance("TLS"), SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
+
+	        HttpParams params = new BasicHttpParams();
+	        HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
+	        HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);
+
+	        SchemeRegistry registry = new SchemeRegistry();
+	        registry.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));
+	        registry.register(new Scheme("https", 443, sf));
+
+	        ClientConnectionManager ccm = new ThreadSafeClientConnManager(registry);
+
+	        return new DefaultHttpClient(ccm, params);
+	    } catch (Exception e) {
+	        return new DefaultHttpClient();
+	    }
+	}
+}
diff --git a/src/org/openmeetings/app/sip/xmlrpc/custom/OpenXGCustomXMLMarshall.java b/src/org/openmeetings/app/sip/xmlrpc/custom/OpenXGCustomXMLMarshall.java
new file mode 100644
index 0000000..3a98101
--- /dev/null
+++ b/src/org/openmeetings/app/sip/xmlrpc/custom/OpenXGCustomXMLMarshall.java
@@ -0,0 +1,268 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.sip.xmlrpc.custom;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+/**
+ * 
+ * @author swagner
+ *
+ * This class takes a Bean and marshalls it into XML the way OpenXG wants it
+ *
+ */
+public class OpenXGCustomXMLMarshall {
+	
+	private static final Logger log = Red5LoggerFactory.getLogger(OpenXGCustomXMLMarshall.class, OpenmeetingsVariables.webAppRootKey);
+
+	private static OpenXGCustomXMLMarshall instance = null;
+
+	public static synchronized OpenXGCustomXMLMarshall getInstance() {
+		if (instance == null) {
+			log.debug("instance created");
+			instance = new OpenXGCustomXMLMarshall();
+		}
+		return instance;
+	}
+	
+	public String openSIPgUserCreate(String client_id, String digest, String userid, String domain, 
+			String first_name, String middle_i, String last_name, String password, String community_code, 
+			String language_code, String email, String adminid) {
+		
+		String stringToPost = "<?xml version=\"1.0\" ?>"+ 
+								"<methodCall>"+ 
+								"	<methodName>OpenSIPg.UserCreate</methodName>"+ 
+								"	<params>"+ 
+								"		<param>"+ 
+								"			<value>"+ 
+								"				<struct>"+ 
+								"					<member>"+ 
+								"						<name>client_id</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ client_id +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>digest</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ digest +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>userid</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ userid +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>domain</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ domain +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>first_name</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ first_name +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>middle_i</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ middle_i +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>last_name</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ last_name +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>password</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ password +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>community_code</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ community_code +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>language_code</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ language_code +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>email</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ email +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>adminid</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ adminid +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"				</struct>"+ 
+								"			</value>"+ 
+								"		</param>"+ 
+								"	</params>"+ 
+								"</methodCall>";
+		
+		return stringToPost;
+	}
+	
+	public String openSIPgURIUserIDAdd(String client_id, String digest, 
+			String userid, String domain, 
+			String adminid) {
+		
+//		  $params = array(client_id=>$client_id, digest=>$digest, userid=>$userid,
+//				  domain=>$domain, adminid=>$adminid);
+		
+		String stringToPost = "<?xml version=\"1.0\" ?>"+ 
+								"<methodCall>"+ 
+								"	<methodName>OpenSIPg.URIUserIDAdd</methodName>"+ 
+								"	<params>"+ 
+								"		<param>"+ 
+								"			<value>"+ 
+								"				<struct>"+ 
+								"					<member>"+ 
+								"						<name>client_id</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ client_id +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>digest</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ digest +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>userid</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ userid +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>domain</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ domain +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>adminid</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ adminid +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"				</struct>"+ 
+								"			</value>"+ 
+								"		</param>"+ 
+								"	</params>"+ 
+								"</methodCall>";
+		
+		return stringToPost;								
+		
+	}
+	
+	
+	public String openSIPgCreateConference(String client_id, String digest, 
+							String userid, String domain, 
+							String start_stamp, String stop_stamp, 
+							String language_code, String adminid) {
+		
+		
+//		$params = array(client_id=>$client_id, digest=>$digest, userid=>$userid,
+//				  domain=>$domain, start_stamp=>$start_stamp,
+//				  stop_stamp=>$stop_stamp, language_code=>$language_code,
+//				  adminid=>$adminid);
+		
+		String stringToPost = "<?xml version=\"1.0\" ?>"+ 
+								"<methodCall>"+ 
+								"	<methodName>OpenSIPg.UserConferenceAdd</methodName>"+ 
+								"	<params>"+ 
+								"		<param>"+ 
+								"			<value>"+ 
+								"				<struct>"+ 
+								"					<member>"+ 
+								"						<name>client_id</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ client_id +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>digest</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ digest +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>userid</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ userid +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>domain</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ domain +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>start_stamp</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ start_stamp +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>stop_stamp</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ stop_stamp +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>language_code</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ language_code +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"					<member>"+ 
+								"						<name>adminid</name>"+ 
+								"						<value>"+ 
+								"							<string>"+ adminid +"</string>"+ 
+								"						</value>"+ 
+								"					</member>"+ 
+								"				</struct>"+ 
+								"			</value>"+ 
+								"		</param>"+ 
+								"	</params>"+ 
+								"</methodCall>";
+		
+		return stringToPost;
+	}
+
+}
diff --git a/src/org/openmeetings/app/sip/xmlrpc/custom/OpenXGResponseParser.java b/src/org/openmeetings/app/sip/xmlrpc/custom/OpenXGResponseParser.java
new file mode 100644
index 0000000..68ebf6e
--- /dev/null
+++ b/src/org/openmeetings/app/sip/xmlrpc/custom/OpenXGResponseParser.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.sip.xmlrpc.custom;
+
+import org.apache.xerces.parsers.SAXParser;
+
+public class OpenXGResponseParser extends SAXParser {
+
+	
+	
+}
diff --git a/src/org/openmeetings/app/sip/xmlrpc/custom/dao/OpenXGReturnObjectDaoImpl.java b/src/org/openmeetings/app/sip/xmlrpc/custom/dao/OpenXGReturnObjectDaoImpl.java
new file mode 100644
index 0000000..344379b
--- /dev/null
+++ b/src/org/openmeetings/app/sip/xmlrpc/custom/dao/OpenXGReturnObjectDaoImpl.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.sip.xmlrpc.custom.dao;
+
+import java.util.Date;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.persistence.beans.sip.OpenXGReturnObject;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class OpenXGReturnObjectDaoImpl {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(OpenXGReturnObjectDaoImpl.class, OpenmeetingsVariables.webAppRootKey);
+	@PersistenceContext
+	private EntityManager em;
+	
+	public String addOpenXGReturnObject(OpenXGReturnObject openXGReturnObject) {
+	try {
+		
+		openXGReturnObject.setInserted(new Date());
+		
+		em.merge(openXGReturnObject);
+	} catch (Exception ex2) {
+		log.error("[addOpenXGReturnObject]: ",ex2);
+	}
+	return null;
+}
+}
diff --git a/src/org/openmeetings/app/sip/xmlrpc/test/OpenXGClient.java b/src/org/openmeetings/app/sip/xmlrpc/test/OpenXGClient.java
new file mode 100644
index 0000000..6b54e3f
--- /dev/null
+++ b/src/org/openmeetings/app/sip/xmlrpc/test/OpenXGClient.java
@@ -0,0 +1,180 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.sip.xmlrpc.test;
+
+import java.net.URL;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.apache.xmlrpc.client.XmlRpcClient;
+import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.sip.xmlrpc.OpenXGHttpClient;
+import org.openmeetings.utils.crypt.MD5;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+public class OpenXGClient {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			OpenXGHttpClient.class, OpenmeetingsVariables.webAppRootKey);
+
+	private static OpenXGClient instance = null;
+
+	public static synchronized OpenXGClient getInstance() {
+		if (instance == null) {
+			instance = new OpenXGClient();
+		}
+		return instance;
+	}
+
+	public void testConnection() {
+		try {
+
+			log.debug("Test Connection");
+
+			// // Create a trust manager that does not validate certificate
+			// chains
+			// TrustManager[] trustAllCerts = new TrustManager[] {
+			// new X509TrustManager() {
+			// public X509Certificate[] getAcceptedIssuers() {
+			// return null;
+			// }
+			//
+			// public void checkClientTrusted(X509Certificate[] certs, String
+			// authType) {
+			// // Trust always
+			// }
+			//
+			// public void checkServerTrusted(X509Certificate[] certs, String
+			// authType) {
+			// // Trust always
+			// }
+			// }
+			// };
+			//
+			// // Install the all-trusting trust manager
+			// SSLContext sc = SSLContext.getInstance("SSL");
+			// // Create empty HostnameVerifier
+			// HostnameVerifier hv = new HostnameVerifier() {
+			// public boolean verify(String arg0, SSLSession arg1) {
+			// return true;
+			// }
+			// };
+			//
+			// sc.init(null, trustAllCerts, new java.security.SecureRandom());
+			// HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
+			// HttpsURLConnection.setDefaultHostnameVerifier(hv);
+			//
+			XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
+			//
+			// log.debug("config User Agent "+config.getUserAgent());
+
+			// XmlRpc.setDriver(uk.co.wilson.xml.MinML);
+			// //XmlRpc.setDriver(driver)
+			// uk.co.wilson.xml.MinML.xmlinfo = true;
+			//
+
+			config.setUserAgent("OpenSIPg XML_RPC Client");
+			config.setEncoding("ISO-8859-1");
+
+			config.setGzipCompressing(false);
+
+			config.setServerURL(new URL(
+					"http://85.134.48.179/manager/xml_rpc_server.php"));
+			XmlRpcClient client = new XmlRpcClient();
+
+			client.setConfig(config);
+
+			client.setXmlWriterFactory(new OpenXGXmlWriterFactory());
+
+			String client_id = "user_admin";
+			String client_secret = "******";
+
+			String userid = "067201101";
+			String domain = "voipt3.multi.fi";
+			String first_name = "Matti";
+			String middle_i = "X";
+			String last_name = "Virtanen";
+			String password = "password";
+			String community_code = "999";
+			String language_code = "fi";
+			String email = "matti@sucks.com";
+			String adminid = "matti";
+
+			String digest = this.digest_calculate(new Object[] { client_id,
+					userid, domain, first_name, middle_i, last_name, password,
+					community_code, language_code, email, adminid,
+					client_secret });
+
+			// $digest = digest_calculate($client_id, $userid, $domain,
+			// $adminid, $client_secret);
+			// $params = array(client_id=>$client_id, digest=>$digest,
+			// userid=>$userid,
+			// domain=>$domain, adminid=>$adminid);
+
+			log.debug(digest);
+
+			// function user_info($userid, $domain, $adminid, &$error)
+			Object[] params = new Object[] { client_id, digest, userid, domain,
+					first_name, middle_i, last_name, password, community_code,
+					language_code, email, adminid };
+
+			// Object[] struct = new Object[]{params};
+
+			Object result = client.execute("OpenSIPg.UserCreate", params);
+
+			if (result != null) {
+				log.debug(result.getClass().getName());
+
+				if (result instanceof Map) {
+
+					@SuppressWarnings("rawtypes")
+					Map mapResults = (Map) result;
+
+					for (@SuppressWarnings("rawtypes")
+					Iterator iter = mapResults.keySet().iterator(); iter
+							.hasNext();) {
+
+						Object key = iter.next();
+						log.debug("-- key " + key + " value "
+								+ mapResults.get(key));
+
+					}
+
+				}
+			}
+
+		} catch (Exception err) {
+			log.error("[testConnection]", err);
+		}
+	}
+
+	public String digest_calculate(Object[] params) throws Exception {
+		String stringToMd5 = "";
+
+		for (int i = 0; i < params.length; i++) {
+			stringToMd5 += params[i];
+		}
+
+		return MD5.do_checksum(stringToMd5);
+
+	}
+
+}
diff --git a/src/org/openmeetings/app/sip/xmlrpc/test/OpenXGWrapperClient.java b/src/org/openmeetings/app/sip/xmlrpc/test/OpenXGWrapperClient.java
new file mode 100644
index 0000000..b0402c0
--- /dev/null
+++ b/src/org/openmeetings/app/sip/xmlrpc/test/OpenXGWrapperClient.java
@@ -0,0 +1,134 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.sip.xmlrpc.test;
+
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.util.EntityUtils;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.utils.crypt.MD5;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+
+public class OpenXGWrapperClient {
+	
+	private static final Logger log = Red5LoggerFactory.getLogger(OpenXGWrapperClient.class, OpenmeetingsVariables.webAppRootKey);
+
+	private static OpenXGWrapperClient instance = null;
+
+	public static synchronized OpenXGWrapperClient getInstance() {
+		if (instance == null) {
+			instance = new OpenXGWrapperClient();
+		}
+		return instance;
+	}
+	
+	/**
+	 * Only for Testing
+	 */
+	public void testConnection() {
+		
+		String userid = "****";
+		String domain = "****";
+		String first_name = "****";
+		String middle_i = "****";
+		String last_name = "****";
+		String password = "****";
+		String community_code = "****";
+		String language_code = "****";
+		String email = "****";
+		String adminid = "****";
+		
+		String client_id = "****";
+		String client_secret = "*****";
+		
+		this.createUser(client_id, client_secret, userid, domain, first_name, middle_i, 
+					last_name, password, community_code, 
+					language_code, email, adminid);
+	}
+	
+	public void createUser(String client_id, String client_secret, 
+			String userid, String domain, String first_name, String middle_i,  
+			String last_name, String password, String community_code, 
+			String language_code, String email, String adminid
+			) {
+		try {
+			
+			log.debug("Test Connection");
+			
+			// Get target URL
+	        String strURL = "http://127.0.0.1:5080/rpc_client/rpc_gateway_wrapper.php";
+	        
+	        // Prepare HTTP post
+	        HttpPost post = new HttpPost(strURL);
+	        
+	        post.getParams().setParameter("userid", userid);
+	        
+	        post.getParams().setParameter("domain", domain);
+	        post.getParams().setParameter("first_name", first_name);
+	        post.getParams().setParameter("middle_i", middle_i);
+	        post.getParams().setParameter("last_name", last_name);
+	        post.getParams().setParameter("password", password);
+	        post.getParams().setParameter("community_code", community_code);
+	        post.getParams().setParameter("language_code", language_code);
+	        post.getParams().setParameter("email", email);
+	        post.getParams().setParameter("adminid", adminid);
+	        post.getParams().setParameter("action", "OpenSIPg.UserCreate");
+	        
+	        String digest = this.digest_calculate(new Object[]{client_id, userid, domain,
+					 first_name, middle_i, last_name,
+					 password, community_code,
+					 language_code, email, adminid,
+					 client_secret});
+	        
+	        post.getParams().setParameter("digest", digest);
+	        
+	        // Get HTTP client
+	        HttpClient httpclient = new DefaultHttpClient();
+	        // Execute request
+            HttpResponse response = httpclient.execute(post);
+            // Display status code
+            System.out.println("Response status code: " + response.getStatusLine().getStatusCode());
+            // Display response
+            System.out.println("Response body: ");
+            HttpEntity entity = response.getEntity();
+            if (entity != null) {
+            	System.out.println(EntityUtils.toString(entity));
+            }
+		} catch (Exception err) {
+			log.error("[testConnection]",err);
+		}
+	}
+	
+	public String digest_calculate(Object[] params) throws Exception {
+		String stringToMd5 = "";
+		
+		for (int i=0;i<params.length;i++) {
+			stringToMd5 += params[i];
+		}
+		
+		return MD5.do_checksum(stringToMd5);
+		
+	}
+
+}
diff --git a/src/org/openmeetings/app/sip/xmlrpc/test/OpenXGXmlWriterFactory.java b/src/org/openmeetings/app/sip/xmlrpc/test/OpenXGXmlWriterFactory.java
new file mode 100644
index 0000000..e79480f
--- /dev/null
+++ b/src/org/openmeetings/app/sip/xmlrpc/test/OpenXGXmlWriterFactory.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.sip.xmlrpc.test;
+
+import java.io.BufferedWriter;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.UnsupportedEncodingException;
+
+import org.apache.ws.commons.serialize.XMLWriter;
+import org.apache.xmlrpc.XmlRpcException;
+import org.apache.xmlrpc.common.XmlRpcStreamConfig;
+import org.apache.xmlrpc.serializer.XmlWriterFactory;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.xml.sax.ContentHandler;
+
+
+
+public class OpenXGXmlWriterFactory implements XmlWriterFactory {
+	
+	private static final Logger log = Red5LoggerFactory.getLogger(OpenXGXmlWriterFactory.class, OpenmeetingsVariables.webAppRootKey);
+	
+	protected XMLWriter newXmlWriter() {
+		return new OpenXgXmlWriter();
+	}
+
+	public ContentHandler getXmlWriter(XmlRpcStreamConfig pConfig, OutputStream pStream)
+			throws XmlRpcException {
+		XMLWriter xw = newXmlWriter();
+		xw.setDeclarating(true);
+		String enc = pConfig.getEncoding();
+		if (enc == null) {
+			enc = XmlRpcStreamConfig.UTF8_ENCODING;
+		}
+		xw.setEncoding(enc);
+		xw.setIndenting(false);
+		xw.setFlushing(true);
+		
+		log.debug(":: getXmlWriter ::");
+		
+		try {
+			xw.setWriter(new BufferedWriter(new OutputStreamWriter(pStream, enc)));
+		} catch (UnsupportedEncodingException e) {
+			throw new XmlRpcException(0, "Unsupported encoding: " + enc + e);
+		}
+		return xw;
+	}
+
+
+}
diff --git a/src/org/openmeetings/app/sip/xmlrpc/test/OpenXgXmlWriter.java b/src/org/openmeetings/app/sip/xmlrpc/test/OpenXgXmlWriter.java
new file mode 100644
index 0000000..3adeaac
--- /dev/null
+++ b/src/org/openmeetings/app/sip/xmlrpc/test/OpenXgXmlWriter.java
@@ -0,0 +1,416 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.sip.xmlrpc.test;
+
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.Writer;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.xml.XMLConstants;
+
+import org.apache.ws.commons.serialize.XMLWriter;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.xml.sax.Attributes;
+import org.xml.sax.Locator;
+import org.xml.sax.SAXException;
+
+public class OpenXgXmlWriter implements XMLWriter {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(OpenXgXmlWriter.class, OpenmeetingsVariables.webAppRootKey);
+
+	private static final int STATE_OUTSIDE = 0;
+	private static final int STATE_IN_START_ELEMENT = 1;
+	private static final int STATE_IN_ELEMENT = 2;
+
+	private String encoding, indentString, lineFeed;
+	private Writer w;
+	
+	private Writer debugw;
+	
+	private Locator l;
+	private Map<String, String> delayedPrefixes;
+	int curIndent = 0;
+	private int state;
+	private boolean declarating, indenting, flushing;
+
+
+	public void setEncoding(String pEncoding) { encoding = pEncoding; }
+	public String getEncoding() { return encoding; }
+	public void setDeclarating(boolean pDeclarating) { declarating = pDeclarating; }
+	public boolean isDeclarating() { return declarating; }
+	public void setIndenting(boolean pIndenting) { indenting = pIndenting; }
+	public boolean isIndenting() { return indenting; }
+	public void setIndentString(String pIndentString) { indentString = pIndentString; }
+	public String getIndentString() { return indentString; }
+	public void setLineFeed(String pLineFeed) { lineFeed = pLineFeed; }
+	public String getLineFeed() { return lineFeed; }
+	public void setFlushing(boolean pFlushing) { flushing = pFlushing; }
+	public boolean isFlushing() { return flushing; }
+
+	/** <p>Sets the JaxbXMLSerializers Writer.</p>
+	 */
+	public void setWriter(Writer pWriter) {
+		
+		File file = new File("test.xml");
+		//w = pWriter;
+		try {
+			w = new FileWriter(file);
+		} catch (IOException e) {
+			log.error("[setWriter]",e);
+		}
+		debugw = pWriter;
+	}
+
+	/** <p>Returns the JaxbXMLSerializers Writer.</p>
+	 */
+	public Writer getWriter() {
+		//return w;
+		return debugw;
+	}
+	
+	/** Sets the locator.
+	 *
+	 * @param pLocator A locator for use in case of errors
+	 * @see #getDocumentLocator
+	 */
+	public void setDocumentLocator(Locator pLocator) { l = pLocator; }
+	
+	/** Returns the locator
+	 * @return A locator previously set with setDocumentLocator or null.
+	 * @see #setDocumentLocator
+	 */
+	public Locator getDocumentLocator() { return l; }
+	
+	/**
+	 * <p>Starts use of a namespace prefix.</p>
+	 *
+	 * @param namespaceURI The namespace URI
+	 * @param prefix The prefix
+	 * @throws SAXException Not actually thrown, just for compliance to the interface specification.
+	 */
+	public void startPrefixMapping(String prefix, String namespaceURI)
+	throws SAXException {
+		if (delayedPrefixes == null) {
+			delayedPrefixes = new HashMap<String, String>();
+		}
+		if ("".equals(prefix)) {
+			if (namespaceURI.equals(prefix)) {
+				return;
+			}
+			prefix = XMLConstants.XMLNS_ATTRIBUTE;
+		} else {
+			prefix = XMLConstants.XMLNS_ATTRIBUTE + ":" + prefix;
+		}
+		delayedPrefixes.put(prefix, namespaceURI);
+	}
+	
+	/** <p>Terminates use of a namespace prefix.</p>
+	 *
+	 * @param prefix The prefix being abandoned.
+	 * @throws SAXException Not actually thrown, just for compliance to the interface specification.
+	 */
+	public void endPrefixMapping(String prefix) throws SAXException {
+		if (delayedPrefixes != null) {
+			if ("".equals(prefix)) {
+				prefix = XMLConstants.XMLNS_ATTRIBUTE;
+			} else {
+				prefix = XMLConstants.XMLNS_ATTRIBUTE + ":" + prefix;
+			}
+			delayedPrefixes.remove(prefix);
+		}
+	}
+	
+	/** <p>Starts a document.</p>
+	 * @throws SAXException Not actually thrown, just for compliance to the interface specification.
+	 */
+	public void startDocument() throws SAXException {
+		if (delayedPrefixes != null) {
+			delayedPrefixes.clear();
+		}
+		state = STATE_OUTSIDE;
+		curIndent = 0;
+		if (isDeclarating()  &&  w != null) {
+			try {
+				w.write("<?xml version=\"1.0\"");
+				String enc = getEncoding();
+				if (enc != null) {
+					w.write(" encoding=\"");
+					w.write(enc);
+					w.write("\"");
+				}
+				w.write("?>");
+				if (isIndenting()) {
+					String lf = getLineFeed();
+					if (lf != null) {
+						w.write(lf);
+					}
+				}
+			} catch (IOException e) {
+				throw new SAXException("Failed to write XML declaration: " + e.getMessage(), e);
+			}
+		}
+	}
+	
+	/** <p>This method finishs the handlers action. After calling endDocument you
+	 * may start a new action by calling startDocument again.</p>
+	 *
+	 * @throws SAXException Not actually thrown, just for compliance to the
+	 *   interface specification.
+	 */  
+	public void endDocument() throws SAXException {
+		if (isFlushing()  &&  w != null) {
+			try {
+				
+				debugw.write("");
+			
+				log.debug(":: endDocument ::");
+				log.debug(":: endDocument ::" +w.toString());
+			
+				debugw.flush();
+			
+				w.flush();
+			} catch (IOException e) {
+				throw new SAXException("Failed to flush target writer: " + e.getMessage(), e);
+			}
+		}
+	}
+	
+	/** Calls the character method with the same arguments.
+	 * @param ch A string of whitespace characters being inserted into the document.
+	 * @param start The index of the first character.
+	 * @param length The number of characters.
+	 * @throws SAXException Thrown in case of an IOException.
+	 */  
+	public void ignorableWhitespace(char[] ch, int start, int length)
+	throws SAXException {
+		characters(ch, start, length);
+	}
+	
+	private void stopTerminator() throws java.io.IOException {
+		if (state == STATE_IN_START_ELEMENT) {
+			if (w != null) {
+				w.write('>');
+			}
+			state = STATE_IN_ELEMENT;
+		}
+	}
+	
+	/** Inserts a string of characters into the document.
+	 * @param ch The characters being inserted. A substring, to be precise.
+	 * @param start Index of the first character
+	 * @param length Number of characters being inserted
+	 * @throws SAXException Thrown in case of an IOException
+	 */  
+	public void characters(char[] ch, int start, int length) throws SAXException {
+		try {
+			stopTerminator();
+			if (w == null) return;
+			int end = start+length;
+			for (int i = start;  i < end;  i++) {
+				char c = ch[i];
+				switch (c) {
+				case '&':  w.write("&amp;"); break;
+				case '<':  w.write("&lt;");  break;
+				case '>':  w.write("&gt;");  break;
+				case '\n':
+				case '\r':
+				case '\t':
+					w.write(c); break;
+				default:
+					if (canEncode(c)) {
+						w.write(c);
+					} else {
+						w.write("&#");
+						w.write(Integer.toString(c));
+						w.write(";");
+					}
+				break;
+				}
+			}
+		} catch (IOException e) {
+			throw new SAXException(e);
+		}
+	}
+	
+	public boolean canEncode(char c) {
+		return c == '\n'  ||  (c >= ' '  &&  c < 0x7f);
+	}
+	
+	
+	/** <p>Terminates an element.</p>
+	 *
+	 * @param namespaceURI The namespace URI, if any, or null
+	 * @param localName The local name, without prefix, or null
+	 * @param qName The qualified name, including a prefix, or null
+	 * @throws SAXException Thrown in case of an IOException.
+	 */
+	public void endElement(String namespaceURI, String localName, String qName)
+			throws SAXException {
+		if (isIndenting()) {
+			--curIndent;
+		}
+		if (w != null) {
+			try {
+				if (state == STATE_IN_START_ELEMENT) {
+					w.write("/>");
+					state = STATE_OUTSIDE;
+				} else {
+					if (state == STATE_OUTSIDE) {
+						indentMe();
+					}
+					w.write("</");
+					w.write(qName);
+					w.write('>');
+				}
+				state = STATE_OUTSIDE;
+			} catch (java.io.IOException e) {
+				throw new SAXException(e);
+			}
+		}
+	}
+	
+	private void indentMe() throws java.io.IOException {
+		if (w != null) {
+			if (isIndenting()) {
+				String s = getLineFeed();
+				if (s != null) {
+					w.write(s);
+				}
+				s = getIndentString();
+				if (s != null) {
+					for (int i = 0;  i < curIndent;  i++) {
+						w.write(s);
+					}
+				}
+			}
+		}
+	}
+	
+	private void writeCData(String v) throws java.io.IOException {
+		int len = v.length();
+		for (int j = 0;  j < len;  j++) {
+			char c = v.charAt(j);
+			switch (c) {
+			case '&':  w.write("&amp;");  break;
+			case '<':  w.write("&lt;");   break;
+			case '>':  w.write("&gt;");   break;
+			case '\'': w.write("&apos;"); break;
+			case '"':  w.write("&quot;"); break;
+			default:
+				if (canEncode(c)) {
+					w.write(c);
+				} else {
+					w.write("&#");
+					w.write(Integer.toString(c));
+					w.write(';');
+				}
+			break;
+			}
+		}
+	}
+	
+	/** Starts a new element.
+	 *
+	 * @param namespaceURI The namespace URI, if any, or null
+	 * @param localName The local name, without prefix, or null
+	 * @param qName The qualified name, including a prefix, or null
+	 * @param attr The element attributes
+	 * @throws SAXException Thrown in case of an IOException.
+	 */
+	public void startElement(String namespaceURI, String localName, String qName,
+			Attributes attr) throws SAXException {
+		try {
+			stopTerminator();
+			if (isIndenting()) {
+				if (curIndent > 0) {
+					indentMe();
+				}
+				curIndent++;
+			}
+			
+			if (w != null) {
+				w.write('<');
+				w.write(qName);
+				if (attr != null) {
+					for (int i = attr.getLength();  i > 0;) {
+						w.write(' ');
+						String name = attr.getQName(--i);
+						w.write(name);
+						if (delayedPrefixes != null) {
+							delayedPrefixes.remove(name);
+						}
+						w.write("=\"");
+						writeCData(attr.getValue(i));
+						w.write('"');
+					}
+				}
+				if (delayedPrefixes != null  &&  delayedPrefixes.size() > 0) {
+					for (Map.Entry<String, String> entry : delayedPrefixes.entrySet()) {
+						w.write(' ');
+						w.write(entry.getKey());
+						w.write("=\"");
+						w.write(entry.getValue());
+						w.write('"');
+					}
+					delayedPrefixes.clear();
+				}
+			}
+			state = STATE_IN_START_ELEMENT;
+		} catch (java.io.IOException e) {
+			throw new SAXException(e);
+		}
+	}
+	
+	/** Not actually implemented, because I don't know how to skip entities.
+	 *
+	 * @param ent The entity being skipped.
+	 * @throws SAXException Not actually thrown, just for compliance to the interface specification.
+	 */  
+	public void skippedEntity(String ent) throws SAXException {
+		throw new SAXException("Don't know how to skip entities");
+	}
+	
+	/** Inserts a processing instruction.
+	 *
+	 * @param target The PI target
+	 * @param data The PI data
+	 * @throws SAXException Thrown in case of an IOException
+	 */  
+	public void processingInstruction(String target, String data)
+	throws SAXException {
+		try {
+			stopTerminator();
+			if (w != null) {
+				w.write("<?");
+				w.write(target);
+				w.write(' ');
+				w.write(data);
+				w.write("?>");
+			}
+		} catch (java.io.IOException e) {
+			throw new SAXException(e);
+		}
+	}
+}
diff --git a/src/org/openmeetings/app/templates/FeedbackTemplate.java b/src/org/openmeetings/app/templates/FeedbackTemplate.java
new file mode 100644
index 0000000..a9cfa20
--- /dev/null
+++ b/src/org/openmeetings/app/templates/FeedbackTemplate.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.templates;
+
+import java.io.StringWriter;
+
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.app.Velocity;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+public class FeedbackTemplate extends VelocityLoader {
+
+	private static final String templateName = "feedback.vm";
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			FeedbackTemplate.class, OpenmeetingsVariables.webAppRootKey);
+
+	public String getFeedBackTemplate(String username, String email,
+			String message, long default_lang_id) {
+		try {
+
+			super.init();
+
+			// TODO: Finish Feedback - Template
+			// String fValue =
+			// fieldmanagment.getString(499L, default_lang_id);
+
+			/* lets make a Context and put data into it */
+
+			VelocityContext context = new VelocityContext();
+
+			context.put("username", username);
+			context.put("email", email);
+			context.put("message", message);
+
+			/* lets render a template */
+
+			StringWriter w = new StringWriter();
+			Velocity.mergeTemplate(templateName, "UTF-8", context, w);
+
+			return w.toString();
+
+		} catch (Exception e) {
+			log.error("Problem merging template : ", e);
+			// System.out.println("Problem merging template : " + e );
+		}
+		return null;
+	}
+}
diff --git a/src/org/openmeetings/app/templates/InvitationTemplate.java b/src/org/openmeetings/app/templates/InvitationTemplate.java
new file mode 100644
index 0000000..6a81557
--- /dev/null
+++ b/src/org/openmeetings/app/templates/InvitationTemplate.java
@@ -0,0 +1,153 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.templates;
+
+import java.io.StringWriter;
+import java.util.Date;
+
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.app.Velocity;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.Fieldmanagment;
+import org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class InvitationTemplate extends VelocityLoader {
+
+	private static final String templateName = "invitation.vm";
+
+	@Autowired
+	private Fieldmanagment fieldmanagment;
+	@Autowired
+	private Configurationmanagement configurationmanagement;
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			InvitationTemplate.class, OpenmeetingsVariables.webAppRootKey);
+
+	public String getRegisterInvitationTemplate(String user, String message,
+			String invitation_link, Long default_lang_id, Date dStart, Date dEnd) {
+		try {
+
+			super.init();
+
+			Fieldlanguagesvalues labelid501 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(501), default_lang_id);
+			Fieldlanguagesvalues labelid502 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(502), default_lang_id);
+			Fieldlanguagesvalues labelid503 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(503), default_lang_id);
+			Fieldlanguagesvalues labelid504 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(504), default_lang_id);
+			Fieldlanguagesvalues labelid505 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(505), default_lang_id);
+			// Fieldlanguagesvalues labelid570 =
+			// fieldmanagment.getFieldByIdAndLanguage(new Long(570),
+			// default_lang_id);
+			// Fieldlanguagesvalues labelid571 =
+			// fieldmanagment.getFieldByIdAndLanguage(new Long(571),
+			// default_lang_id);
+
+			/* lets make a Context and put data into it */
+			VelocityContext context = new VelocityContext();
+
+			context.put("user", user);
+			context.put("message", message);
+			context.put("invitation_link", invitation_link);
+			context.put("invitation_link2", invitation_link);
+
+			context.put("labelid500", fieldmanagment.getString(500L, default_lang_id));
+			context.put("labelid501", labelid501.getValue());
+			context.put("labelid502", labelid502.getValue());
+			context.put("labelid503", labelid503.getValue());
+			context.put("labelid504", labelid504.getValue());
+			context.put("labelid505", labelid505.getValue());
+			context.put("APP_NAME", configurationmanagement.getAppName());
+
+
+			/* lets render a template */
+			StringWriter w = new StringWriter();
+			Velocity.mergeTemplate(templateName, "UTF-8", context, w);
+
+			return w.toString();
+
+		} catch (Exception e) {
+			log.error("Problem merging template : ", e);
+			// System.out.println("Problem merging template : " + e );
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * @param user
+	 * @param message
+	 * @param invitation_link
+	 * @param default_lang_id
+	 * @return
+	 */
+	public String getReminderInvitationTemplate(String user, String message,
+			String invitation_link, Long default_lang_id) {
+
+		try {
+
+			super.init();
+
+			Fieldlanguagesvalues labelid623 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(623), default_lang_id);
+			Fieldlanguagesvalues labelid624 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(624), default_lang_id);
+			Fieldlanguagesvalues labelid625 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(625), default_lang_id);
+			Fieldlanguagesvalues labelid626 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(626), default_lang_id);
+			Fieldlanguagesvalues labelid627 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(627), default_lang_id);
+
+			/* lets make a Context and put data into it */
+			VelocityContext context = new VelocityContext();
+
+			context.put("user", user);
+			context.put("message", message);
+			context.put("invitation_link", invitation_link);
+			context.put("invitation_link2", invitation_link);
+			context.put("labelid500", fieldmanagment.getString(622L, default_lang_id));
+			context.put("labelid501", labelid623.getValue());
+			context.put("labelid502", labelid624.getValue());
+			context.put("labelid503", labelid625.getValue());
+			context.put("labelid504", labelid626.getValue());
+			context.put("labelid505", labelid627.getValue());
+			context.put("APP_NAME", configurationmanagement.getAppName());
+
+			/* lets render a template */
+			StringWriter w = new StringWriter();
+			Velocity.mergeTemplate(templateName, "UTF-8", context, w);
+
+			return w.toString();
+
+		} catch (Exception e) {
+			log.error("Problem merging template : ", e);
+			// System.out.println("Problem merging template : " + e );
+		}
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/app/templates/RegisterUserTemplate.java b/src/org/openmeetings/app/templates/RegisterUserTemplate.java
new file mode 100644
index 0000000..35b678c
--- /dev/null
+++ b/src/org/openmeetings/app/templates/RegisterUserTemplate.java
@@ -0,0 +1,140 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.templates;
+
+import java.io.StringWriter;
+
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.app.Velocity;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Fieldmanagment;
+import org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class RegisterUserTemplate extends VelocityLoader {
+
+	@Autowired
+	private Fieldmanagment fieldmanagment;
+
+	private static final String templateName = "register_mail.vm";
+
+	private static final String templateNameVerification = "register_verification_mail.vm";
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			RegisterUserTemplate.class, OpenmeetingsVariables.webAppRootKey);
+
+	public String getRegisterUserWithVerificationTemplate(String username,
+			String userpass, String email, Long default_lang_id,
+			String verification_url) {
+		try {
+
+			super.init();
+
+			Fieldlanguagesvalues labelid507 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(507), default_lang_id);
+			Fieldlanguagesvalues labelid508 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(508), default_lang_id);
+			Fieldlanguagesvalues labelid509 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(509), default_lang_id);
+			Fieldlanguagesvalues labelid510 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(510), default_lang_id);
+			Fieldlanguagesvalues labelid667 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(667), default_lang_id);
+			Fieldlanguagesvalues labelid668 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(668), default_lang_id);
+
+			/* lets make a Context and put data into it */
+			VelocityContext context = new VelocityContext();
+
+			context.put("username", username);
+			context.put("userpass", userpass);
+			context.put("mail", email);
+			context.put("verification_url", verification_url);
+			context.put("labelid506", fieldmanagment.getString(506L, default_lang_id));
+			context.put("labelid507", labelid507.getValue());
+			context.put("labelid508", labelid508.getValue());
+			context.put("labelid509", labelid509.getValue());
+			context.put("labelid510", labelid510.getValue());
+			context.put("labelid511", fieldmanagment.getString(511L, default_lang_id));
+			context.put("labelid667", labelid667.getValue());
+			context.put("labelid668", labelid668.getValue());
+
+			/* lets render a template */
+
+			StringWriter w = new StringWriter();
+			Velocity.mergeTemplate(templateNameVerification, "UTF-8", context,
+					w);
+
+			// System.out.println(" template : " + w );
+
+			return w.toString();
+
+		} catch (Exception e) {
+			log.error("Problem merging template : ", e);
+			// System.out.println("Problem merging template : " + e );
+		}
+		return null;
+	}
+
+	public String getRegisterUserTemplate(String username, String userpass,
+			String email, Long default_lang_id) {
+		try {
+			
+			super.init();
+
+			Fieldlanguagesvalues labelid507 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(507), default_lang_id);
+			Fieldlanguagesvalues labelid508 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(508), default_lang_id);
+			Fieldlanguagesvalues labelid509 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(509), default_lang_id);
+			Fieldlanguagesvalues labelid510 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(510), default_lang_id);
+
+			/* lets make a Context and put data into it */
+			VelocityContext context = new VelocityContext();
+
+			context.put("username", username);
+			context.put("userpass", userpass);
+			context.put("mail", email);
+			context.put("labelid506", fieldmanagment.getString(506L, default_lang_id));
+			context.put("labelid507", labelid507.getValue());
+			context.put("labelid508", labelid508.getValue());
+			context.put("labelid509", labelid509.getValue());
+			context.put("labelid510", labelid510.getValue());
+			context.put("labelid511", fieldmanagment.getString(511L, default_lang_id));
+
+			/* lets render a template */
+
+			StringWriter w = new StringWriter();
+			Velocity.mergeTemplate(templateName, "UTF-8", context, w);
+
+			// System.out.println(" template : " + w );
+
+			return w.toString();
+
+		} catch (Exception e) {
+			log.error("Problem merging template : ", e);
+			// System.out.println("Problem merging template : " + e );
+		}
+		return null;
+	}
+}
diff --git a/src/org/openmeetings/app/templates/RequestContactConfirmTemplate.java b/src/org/openmeetings/app/templates/RequestContactConfirmTemplate.java
new file mode 100644
index 0000000..5506525
--- /dev/null
+++ b/src/org/openmeetings/app/templates/RequestContactConfirmTemplate.java
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.templates;
+
+import java.io.StringWriter;
+
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.app.Velocity;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+public class RequestContactConfirmTemplate extends VelocityLoader {
+
+	private static final String templateName = "requestcontactconfirm.vm";
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			RequestContactConfirmTemplate.class,
+			OpenmeetingsVariables.webAppRootKey);
+
+	public String getRequestContactTemplate(String message) {
+		try {
+
+			super.init();
+
+			/* lets make a Context and put data into it */
+
+			VelocityContext context = new VelocityContext();
+
+			context.put("message", message);
+
+			/* lets render a template */
+
+			StringWriter w = new StringWriter();
+			Velocity.mergeTemplate(templateName, "UTF-8", context, w);
+
+			return w.toString();
+
+		} catch (Exception e) {
+			log.error("Problem merging template : ", e);
+			// System.out.println("Problem merging template : " + e );
+		}
+		return null;
+	}
+}
diff --git a/src/org/openmeetings/app/templates/RequestContactTemplate.java b/src/org/openmeetings/app/templates/RequestContactTemplate.java
new file mode 100644
index 0000000..1f29eb8
--- /dev/null
+++ b/src/org/openmeetings/app/templates/RequestContactTemplate.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.templates;
+
+import java.io.StringWriter;
+
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.app.Velocity;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+public class RequestContactTemplate extends VelocityLoader {
+
+	private static final String templateName = "requestcontact.vm";
+
+	private static final Logger log = Red5LoggerFactory
+			.getLogger(RequestContactTemplate.class,
+					OpenmeetingsVariables.webAppRootKey);
+
+	public String getRequestContactTemplate(String message, String accept_link,
+			String deny_link, String openmeetings_link) {
+		try {
+
+			super.init();
+
+			/* lets make a Context and put data into it */
+
+			VelocityContext context = new VelocityContext();
+
+			context.put("message", message);
+			context.put("accept_link", accept_link);
+			context.put("deny_link", deny_link);
+			context.put("openmeetings_link", openmeetings_link);
+
+			/* lets render a template */
+
+			StringWriter w = new StringWriter();
+			Velocity.mergeTemplate(templateName, "UTF-8", context, w);
+
+			return w.toString();
+
+		} catch (Exception e) {
+			log.error("Problem merging template : ", e);
+			// System.out.println("Problem merging template : " + e );
+		}
+		return null;
+	}
+}
diff --git a/src/org/openmeetings/app/templates/ResetPasswordTemplate.java b/src/org/openmeetings/app/templates/ResetPasswordTemplate.java
new file mode 100644
index 0000000..cbc0852
--- /dev/null
+++ b/src/org/openmeetings/app/templates/ResetPasswordTemplate.java
@@ -0,0 +1,77 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.templates;
+
+import java.io.StringWriter;
+
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.app.Velocity;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Fieldmanagment;
+import org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class ResetPasswordTemplate extends VelocityLoader {
+
+	@Autowired
+	private Fieldmanagment fieldmanagment;
+
+	private static final String templateName = "resetPass.vm";
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			FeedbackTemplate.class, OpenmeetingsVariables.webAppRootKey);
+
+	public String getResetPasswordTemplate(String reset_link,
+			Long default_lang_id) {
+		try {
+
+			super.init();
+
+			Fieldlanguagesvalues labelid514 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(514), default_lang_id);
+			Fieldlanguagesvalues labelid515 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(515), default_lang_id);
+			Fieldlanguagesvalues labelid516 = fieldmanagment
+					.getFieldByIdAndLanguage(new Long(516), default_lang_id);
+
+			/* lets make a Context and put data into it */
+			VelocityContext context = new VelocityContext();
+			context.put("reset_link", reset_link);
+			context.put("reset_link2", reset_link);
+			context.put("labelid513", fieldmanagment.getString(513L, default_lang_id));
+			context.put("labelid514", labelid514.getValue());
+			context.put("labelid515", labelid515.getValue());
+			context.put("labelid516", labelid516.getValue());
+
+			/* lets render a template */
+			StringWriter w = new StringWriter();
+			Velocity.mergeTemplate(templateName, "UTF-8", context, w);
+
+			return w.toString();
+
+		} catch (Exception e) {
+			log.error("Problem merging template : ", e);
+			// System.out.println("Problem merging template : " + e );
+		}
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/app/templates/VelocityLoader.java b/src/org/openmeetings/app/templates/VelocityLoader.java
new file mode 100644
index 0000000..fa578a9
--- /dev/null
+++ b/src/org/openmeetings/app/templates/VelocityLoader.java
@@ -0,0 +1,87 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.templates;
+
+import java.io.File;
+
+import org.apache.velocity.app.Velocity;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+/**
+ * 
+ * @author swagner
+ * 
+ */
+
+public abstract class VelocityLoader {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			VelocityLoader.class, OpenmeetingsVariables.webAppRootKey);
+
+	public VelocityLoader() {
+
+	}
+
+	/**
+	 * Loads the Path from the Red5-Scope
+	 * 
+	 */
+	public void init() {
+		try {
+			String current_dir = ScopeApplicationAdapter.webAppPath
+					+ File.separatorChar;
+			
+			File fInit = new File(current_dir + "WEB-INF" + File.separatorChar
+					+ "velocity.properties");
+			
+			if (fInit.exists()) {
+				Velocity.init(current_dir + "WEB-INF" + File.separatorChar
+						+ "velocity.properties");
+			} else {
+				Velocity.init("WeBContent"+File.separatorChar+"WEB-INF" + File.separatorChar
+						+ "velocity.properties");
+			}
+
+			
+		} catch (Exception e) {
+			log.error("Problem initializing Velocity : ", e);
+			System.out.println("Problem initializing Velocity : " + e);
+		}
+	}
+
+	/**
+	 * http://$server:$port/openmeetings/?param=value&param2=value2 Loads the
+	 * path by a given string, this is necessary cause if invoked by Servlet
+	 * there is no Red5-Scope available
+	 * 
+	 * @param path
+	 */
+	public VelocityLoader(String path) {
+		try {
+			Velocity.init(path + "WEB-INF/velocity.properties");
+		} catch (Exception e) {
+			log.error("Problem initializing Velocity : " + e);
+			System.out.println("Problem initializing Velocity : " + e);
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/app/xmlimport/LanguageImport.java b/src/org/openmeetings/app/xmlimport/LanguageImport.java
new file mode 100644
index 0000000..13eda52
--- /dev/null
+++ b/src/org/openmeetings/app/xmlimport/LanguageImport.java
@@ -0,0 +1,96 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.xmlimport;
+
+import java.io.InputStream;
+import java.util.Iterator;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.io.SAXReader;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.FieldLanguageDaoImpl;
+import org.openmeetings.app.data.basic.Fieldmanagment;
+import org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues;
+import org.openmeetings.app.persistence.beans.lang.Fieldvalues;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class LanguageImport {
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			LanguageImport.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private Fieldmanagment fieldmanagment;
+	@Autowired
+	private FieldLanguageDaoImpl fieldLanguageDaoImpl;
+
+	public Long addLanguageByDocument(Long language_id, InputStream is)
+			throws Exception {
+
+		// return null if no language availible
+		if (fieldLanguageDaoImpl.getFieldLanguageById(language_id) == null) {
+			return null;
+		}
+
+		SAXReader reader = new SAXReader();
+		Document document = reader.read(is);
+
+		Element root = document.getRootElement();
+
+		for (@SuppressWarnings("unchecked")
+		Iterator<Element> i = root.elementIterator(); i.hasNext();) {
+			Element itemObject = i.next();
+			Long fieldvalues_id = Long.valueOf(
+					itemObject.attribute("id").getText()).longValue();
+			String fieldName = itemObject.attribute("name").getText();
+			String value = itemObject.element("value").getText();
+			log.error("CHECK " + language_id + "," + fieldvalues_id + ","
+					+ fieldName + "," + value);
+			this.addFieldValueById(language_id, fieldvalues_id, fieldName,
+					value);
+		}
+
+		return null;
+	}
+
+	private void addFieldValueById(Long language_id, Long fieldvalues_id,
+			String fieldName, String value) throws Exception {
+
+		Fieldvalues fv = fieldmanagment.getFieldvaluesById(fieldvalues_id);
+
+		if (fv == null) {
+			fv = fieldmanagment.addFieldById(fieldName, fieldvalues_id);
+		}
+
+		Fieldlanguagesvalues flv = fieldmanagment.getFieldByIdAndLanguage(
+				fieldvalues_id, language_id);
+
+		if (flv == null) {
+			fieldmanagment.addFieldValueByFieldAndLanguage(fv,
+					language_id, value);
+		} else {
+			flv.setValue(value);
+			flv.setUpdatetime(new java.util.Date());
+			fieldmanagment.updateFieldValueByFieldAndLanguage(flv);
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/app/xmlimport/UserImport.java b/src/org/openmeetings/app/xmlimport/UserImport.java
new file mode 100644
index 0000000..e956159
--- /dev/null
+++ b/src/org/openmeetings/app/xmlimport/UserImport.java
@@ -0,0 +1,177 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.app.xmlimport;
+
+import java.io.InputStream;
+import java.util.Iterator;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.io.SAXReader;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.user.Emailmanagement;
+import org.openmeetings.app.data.user.Organisationmanagement;
+import org.openmeetings.app.data.user.Statemanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.utils.math.CalendarPatterns;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class UserImport {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			UserImport.class, OpenmeetingsVariables.webAppRootKey);
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private Organisationmanagement organisationmanagement;
+	@Autowired
+	private Emailmanagement emailManagement;
+	@Autowired
+	private UsersDaoImpl usersDao;
+	@Autowired
+	private Statemanagement statemanagement;
+
+	public Long addUsersByDocument(InputStream is) throws Exception {
+
+		SAXReader reader = new SAXReader();
+		Document document = reader.read(is);
+
+		Element root = document.getRootElement();
+
+		for (@SuppressWarnings("unchecked")
+		Iterator<Element> i = root.elementIterator(); i.hasNext();) {
+			Element itemObject = i.next();
+			if (itemObject.getName().equals("users")) {
+				this.addUsersByDocument(itemObject);
+			}
+		}
+
+		return null;
+	}
+
+	private Long addUsersByDocument(Element userRoot) throws Exception {
+
+		for (@SuppressWarnings("unchecked")
+		Iterator<Element> i = userRoot.elementIterator("user"); i.hasNext();) {
+			Element itemUsers = i.next();
+
+			Users us = new Users();
+
+			us.setAge(CalendarPatterns.parseDate(itemUsers.element("age")
+					.getText()));
+			us.setAvailible(Integer.valueOf(
+					itemUsers.element("availible").getText()).intValue());
+			us.setDeleted(itemUsers.element("deleted").getText());
+			us.setFirstname(itemUsers.element("firstname").getText());
+			us.setLastname(itemUsers.element("lastname").getText());
+			us.setLogin(itemUsers.element("login").getText());
+			us.setPassword(itemUsers.element("pass").getText());
+
+			us.setPictureuri(itemUsers.element("pictureuri").getText());
+			if (itemUsers.element("language_id").getText().length() > 0)
+				us.setLanguage_id(Long.valueOf(
+						itemUsers.element("language_id").getText()).longValue());
+
+			us.setStatus(Integer.valueOf(itemUsers.element("status").getText())
+					.intValue());
+			us.setRegdate(CalendarPatterns.parseDate(itemUsers.element(
+					"regdate").getText()));
+			us.setTitle_id(Integer.valueOf(
+					itemUsers.element("title_id").getText()).intValue());
+			us.setLevel_id(Long
+					.valueOf(itemUsers.element("level_id").getText())
+					.longValue());
+
+			String additionalname = itemUsers.element("additionalname")
+					.getText();
+			String comment = itemUsers.element("comment").getText();
+			// A User can not have a deleted Adress, you cannot delete the
+			// Adress of an User
+			// String deleted = u.getAdresses().getDeleted()
+			// Phone Number not done yet
+			String fax = itemUsers.element("fax").getText();
+			Long state_id = Long.valueOf(
+					itemUsers.element("state_id").getText()).longValue();
+			String street = itemUsers.element("street").getText();
+			String town = itemUsers.element("town").getText();
+			String zip = itemUsers.element("zip").getText();
+
+			String phone = "";
+			if (itemUsers.element("phone") != null) {
+				phone = itemUsers.element("phone").getText();
+			}
+
+			String email = "";
+			if (itemUsers.element("mail") != null) {
+				email = itemUsers.element("mail").getText();
+			}
+			// = .getText();
+
+			boolean mailCheck = true;
+
+			for (@SuppressWarnings("unchecked")
+			Iterator<Element> itMail = itemUsers.elementIterator("emails"); itMail
+					.hasNext();) {
+				Element itemElement = itMail.next();
+				for (@SuppressWarnings("unchecked")
+				Iterator<Element> mailIterator = itemElement
+						.elementIterator("mail"); mailIterator.hasNext();) {
+					Element mailElement = mailIterator.next();
+					email = mailElement.getText();
+					if (!emailManagement.checkUserEMail(mailElement.getText())) {
+						mailCheck = false;
+						log.info("mailCheck = " + mailCheck);
+					}
+				}
+			}
+
+			// check for duplicate Login or mail:
+			if (usersDao.checkUserLogin(us.getLogin()) && mailCheck) {
+				us.setAdresses(street, zip,
+						town, statemanagement.getStateById(state_id), additionalname, comment, fax, phone, email);
+
+				userManagement.addUser(us);
+
+				for (@SuppressWarnings("unchecked")
+				Iterator<Element> itOrga = itemUsers
+						.elementIterator("organisations"); itOrga.hasNext();) {
+					Element itemElement = itOrga.next();
+					for (@SuppressWarnings("unchecked")
+					Iterator<Element> orgIterator = itemElement
+							.elementIterator("organisation_id"); orgIterator
+							.hasNext();) {
+						Element orgElement = orgIterator.next();
+						Long organisation_id = Long.valueOf(
+								orgElement.getText()).longValue();
+						organisationmanagement.addUserToOrganisation(
+								us.getUser_id(), organisation_id, null);
+					}
+				}
+
+			}
+		}
+
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/axis/services/CalendarWebService.java b/src/org/openmeetings/axis/services/CalendarWebService.java
new file mode 100644
index 0000000..8d1bd77
--- /dev/null
+++ b/src/org/openmeetings/axis/services/CalendarWebService.java
@@ -0,0 +1,822 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.axis.services;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.TimeZone;
+
+import org.apache.axis2.AxisFault;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.calendar.beans.AppointmentDTO;
+import org.openmeetings.app.data.calendar.beans.Day;
+import org.openmeetings.app.data.calendar.beans.Week;
+import org.openmeetings.app.data.calendar.daos.AppointmentCategoryDaoImpl;
+import org.openmeetings.app.data.calendar.daos.AppointmentDaoImpl;
+import org.openmeetings.app.data.calendar.daos.AppointmentReminderTypDaoImpl;
+import org.openmeetings.app.data.calendar.management.AppointmentLogic;
+import org.openmeetings.app.data.conference.Roommanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.data.user.dao.UserContactsDaoImpl;
+import org.openmeetings.app.persistence.beans.calendar.Appointment;
+import org.openmeetings.app.persistence.beans.calendar.AppointmentCategory;
+import org.openmeetings.app.persistence.beans.calendar.AppointmentReminderTyps;
+import org.openmeetings.app.persistence.beans.rooms.RoomTypes;
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.openmeetings.app.persistence.beans.user.UserContacts;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.utils.math.TimezoneUtil;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * CalendarService contains methods to create, edit delete calendar meetings
+ * 
+ * @author sebawagner
+ * @webservice CalendarService
+ * 
+ */
+public class CalendarWebService {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			CalendarWebService.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private AppointmentDaoImpl appointmentDao;
+	@Autowired
+	private AppointmentLogic appointmentLogic;
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private Roommanagement roommanagement;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+	@Autowired
+	private AppointmentCategoryDaoImpl appointmentCategoryDaoImpl;
+	@Autowired
+	private AppointmentReminderTypDaoImpl appointmentReminderTypDaoImpl;
+	@Autowired
+	private TimezoneUtil timezoneUtil;
+	@Autowired
+	private UserContactsDaoImpl userContactsDaoImpl;
+
+	/**
+	 * Load appointments by a start / end range for the current SID
+	 * 
+	 * @param SID
+	 *            The SID of the User. This SID must be marked as Loggedin
+	 * @param starttime
+	 *            start time, yyyy-mm-dd
+	 * @param endtime
+	 *            end time, yyyy-mm-dd
+	 * @return
+	 */
+	public List<Appointment> getAppointmentByRange(String SID, Date starttime,
+			Date endtime) {
+		log.debug("getAppointmentByRange : startdate - " + starttime
+				+ ", enddate - " + endtime);
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				return appointmentLogic.getAppointmentByRange(users_id,
+						starttime, endtime);
+			}
+		} catch (Exception err) {
+			log.error("[getAppointmentByRange]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * Load appointments by a start / end range for the userId
+	 * 
+	 * @param SID
+	 *            The SID of the User. This SID must be marked as Loggedin
+	 * @param userId
+	 *            the userId the calendar events should be loaded
+	 * @param starttime
+	 *            start time, yyyy-mm-dd
+	 * @param endtime
+	 *            end time, yyyy-mm-dd
+	 * @return
+	 */
+	public List<Appointment> getAppointmentByRangeForUserId(String SID,
+			long userId, Date starttime, Date endtime) {
+		log.debug("getAppointmentByRange : startdate - " + starttime
+				+ ", enddate - " + endtime);
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				return appointmentLogic.getAppointmentByRange(userId,
+						starttime, endtime);
+			}
+		} catch (Exception err) {
+			log.error("[getAppointmentByRangeForUserId]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * Get the next Calendar event for the current user of the SID
+	 * 
+	 * @param SID
+	 *            The SID of the User. This SID must be marked as Loggedin
+	 * @return
+	 */
+	public Appointment getNextAppointment(String SID) {
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				return appointmentLogic.getNextAppointment();
+			}
+		} catch (Exception err) {
+			log.error("[getNextAppointmentById]", err);
+		}
+		return null;
+
+	}
+
+	/**
+	 * Get the next Calendar event for userId
+	 * 
+	 * @param SID
+	 *            The SID of the User. This SID must be marked as Loggedin
+	 * @return
+	 */
+	public Appointment getNextAppointmentForUserId(String SID, long userId) {
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				return appointmentLogic.getNextAppointment();
+			}
+		} catch (Exception err) {
+			log.error("[getNextAppointmentById]", err);
+		}
+		return null;
+
+	}
+
+	/**
+	 * Search a calendar event for the current SID
+	 * 
+	 * @param SID
+	 *            The SID of the User. This SID must be marked as Loggedin
+	 * @param appointmentName
+	 *            the search string
+	 * @return
+	 */
+	public List<Appointment> searchAppointmentByName(String SID,
+			String appointmentName) {
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				return appointmentLogic
+						.searchAppointmentByName(appointmentName);
+			}
+		} catch (Exception err) {
+			log.error("[searchAppointmentByName]", err);
+		}
+		return null;
+
+	}
+
+	/**
+	 * Save an appointment
+	 * 
+	 * @param SID
+	 *            The SID of the User. This SID must be marked as Loggedin
+	 * @param appointmentName
+	 *            name of the calendar event
+	 * @param appointmentLocation
+	 *            location info text of the calendar event
+	 * @param appointmentDescription
+	 *            description test of the calendar event
+	 * @param appointmentstart
+	 *            start as Date yyyy-mm-ddThh:mm:ss
+	 * @param appointmentend
+	 *            end as Date yyyy-mm-ddThh:mm:ss
+	 * @param isDaily
+	 *            if the calendar event should be repeated daily (not
+	 *            implemented)
+	 * @param isWeekly
+	 *            if the calendar event should be repeated weekly (not
+	 *            implemented)
+	 * @param isMonthly
+	 *            if the calendar event should be repeated monthly (not
+	 *            implemented)
+	 * @param isYearly
+	 *            if the calendar event should be repeated yearly (not
+	 *            implemented)
+	 * @param categoryId
+	 *            the category id of the calendar event
+	 * @param remind
+	 *            the reminder type of the calendar event
+	 * @param mmClient
+	 *            List of clients, comma separated string, <br/>
+	 *            sample: 1,firstname,lastname,hans.tier@gmail.com,1,Etc/GMT+1
+	 *            to add multiple clients you can use the same GET parameter in
+	 *            the URL multiple times, for example:
+	 *            &mmClient=1,firstname,lastname,hans
+	 *            .tier@gmail.com,1,Etc/GMT+1&mmClient
+	 *            =2,firstname,lastname,hans.tier@gmail.com,1,Etc/GMT+1
+	 * @param roomType
+	 *            the room type for the calendar event
+	 * @param baseUrl
+	 *            the base URL for the invitations
+	 * @param languageId
+	 *            the language id of the calendar event, notification emails
+	 *            will be send in this language
+	 * @param isPasswordProtected
+	 *            if the room is password protected
+	 * @param password
+	 *            the password for the room
+	 * @return
+	 */
+	public Long saveAppointment(String SID, String appointmentName,
+			String appointmentLocation, String appointmentDescription,
+			Calendar appointmentstart, Calendar appointmentend,
+			Boolean isDaily, Boolean isWeekly, Boolean isMonthly,
+			Boolean isYearly, Long categoryId, Long remind, String[] mmClient,
+			Long roomType, String baseUrl, Long languageId,
+			Boolean isPasswordProtected, String password) {
+
+		log.debug("saveAppointMent SID:" + SID + ", baseUrl : " + baseUrl);
+
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			log.debug("saveAppointMent users_id:" + users_id);
+
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				List<Map<String, String>> newList = new ArrayList<Map<String, String>>();
+
+				for (String singleClient : mmClient) {
+					String[] params = singleClient.split(",");
+					Map<String, String> map = new HashMap<String, String>();
+					map.put("meetingMemberId", params[0]);
+					map.put("firstname", params[1]);
+					map.put("lastname", params[2]);
+					map.put("email", params[3]);
+					map.put("userId", params[4]);
+					map.put("jNameTimeZone", params[5]);
+					newList.add(map);
+				}
+
+				Long id = appointmentLogic.saveAppointment(appointmentName,
+						users_id, appointmentLocation, appointmentDescription,
+						appointmentstart.getTime(), appointmentend.getTime(),
+						isDaily, isWeekly, isMonthly, isYearly, categoryId,
+						remind, newList, roomType, baseUrl, languageId,
+						isPasswordProtected, password);
+
+				return id;
+			} else {
+				log.error("saveAppointment : wrong user level");
+			}
+		} catch (Exception err) {
+			log.error("[saveAppointment]", err);
+		}
+		return null;
+
+	}
+
+	/**
+	 * Update an calendar event time only
+	 * 
+	 * @param SID
+	 *            The SID of the User. This SID must be marked as Loggedin
+	 * @param appointmentId
+	 *            the calendar event that should be updated
+	 * @param appointmentstart
+	 *            start yyyy-mm-dd
+	 * @param appointmentend
+	 *            end yyyy-mm-dd
+	 * @param baseurl
+	 *            the base URL for the invitations that will be send by email
+	 * @param languageId
+	 *            the language id
+	 * @return
+	 */
+	public Long updateAppointmentTimeOnly(String SID, Long appointmentId,
+			Date appointmentstart, Date appointmentend, String baseurl,
+			Long languageId) {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				log.debug("appointmentId " + appointmentId);
+
+				appointmentLogic.getAppointMentById(appointmentId);
+
+				Users user = userManagement.getUserById(users_id);
+
+				return appointmentDao.updateAppointmentByTime(appointmentId,
+						appointmentstart, appointmentend, users_id, baseurl,
+						languageId, user.getOmTimeZone().getIcal());
+			}
+		} catch (Exception err) {
+			log.error("[updateAppointment]", err);
+			err.printStackTrace();
+		}
+		return null;
+
+	}
+
+	/**
+	 * Save an appointment
+	 * 
+	 * @param SID
+	 *            The SID of the User. This SID must be marked as Loggedin
+	 * @param appointmentId
+	 *            the id to update
+	 * @param appointmentName
+	 *            name of the calendar event
+	 * @param appointmentLocation
+	 *            location info text of the calendar event
+	 * @param appointmentDescription
+	 *            description test of the calendar event
+	 * @param appointmentstart
+	 *            start as Date yyyy-mm-ddThh:mm:ss
+	 * @param appointmentend
+	 *            end as Date yyyy-mm-ddThh:mm:ss
+	 * @param isDaily
+	 *            if the calendar event should be repeated daily (not
+	 *            implemented)
+	 * @param isWeekly
+	 *            if the calendar event should be repeated weekly (not
+	 *            implemented)
+	 * @param isMonthly
+	 *            if the calendar event should be repeated monthly (not
+	 *            implemented)
+	 * @param isYearly
+	 *            if the calendar event should be repeated yearly (not
+	 *            implemented)
+	 * @param categoryId
+	 *            the category id of the calendar event
+	 * @param remind
+	 *            the reminder type of the calendar event
+	 * @param mmClient
+	 *            List of clients, comma separated string, <br/>
+	 *            sample: 1,firstname,lastname,hans.tier@gmail.com,1,Etc/GMT+1
+	 *            to add multiple clients you can use the same GET parameter in
+	 *            the URL multiple times, for example:
+	 *            &mmClient=1,firstname,lastname,hans
+	 *            .tier@gmail.com,1,Etc/GMT+1&mmClient
+	 *            =2,firstname,lastname,hans.tier@gmail.com,1,Etc/GMT+1
+	 * @param roomType
+	 *            the room type for the calendar event
+	 * @param baseUrl
+	 *            the base URL for the invitations
+	 * @param languageId
+	 *            the language id of the calendar event, notification emails
+	 *            will be send in this language
+	 * @param isPasswordProtected
+	 *            if the room is password protected
+	 * @param password
+	 *            the password for the room
+	 * @return
+	 */
+	public Long updateAppointment(String SID, Long appointmentId,
+			String appointmentName, String appointmentLocation,
+			String appointmentDescription, Calendar appointmentstart,
+			Calendar appointmentend, Boolean isDaily, Boolean isWeekly,
+			Boolean isMonthly, Boolean isYearly, Long categoryId, Long remind,
+			String[] mmClient, Long roomType, String baseurl, Long languageId,
+			Boolean isPasswordProtected, String password) throws AxisFault {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+				// check if the appointment belongs to the current user
+				Appointment appointment = appointmentLogic
+						.getAppointMentById(appointmentId);
+				if (!appointment.getUserId().getUser_id().equals(users_id)) {
+					throw new AxisFault(
+							"The Appointment cannot be updated by the given user");
+				}
+			} else if (authLevelManagement.checkUserLevel(user_level)) {
+				// fine
+			} else {
+				throw new AxisFault(
+						"Not allowed to preform that action, Authenticate the SID first");
+			}
+
+			List<Map<String, String>> newList = new ArrayList<Map<String, String>>();
+
+			for (String singleClient : mmClient) {
+				String[] params = singleClient.split(",");
+				Map<String, String> map = new HashMap<String, String>();
+				map.put("meetingMemberId", params[0]);
+				map.put("firstname", params[1]);
+				map.put("lastname", params[2]);
+				map.put("email", params[3]);
+				map.put("userId", params[4]);
+				map.put("jNameTimeZone", params[5]);
+				newList.add(map);
+			}
+
+			log.debug("updateAppointment");
+
+			RoomTypes rt = roommanagement.getRoomTypesById(roomType);
+
+			Appointment app = appointmentLogic
+					.getAppointMentById(appointmentId);
+
+			Rooms room = app.getRoom();
+			if (room != null) {
+
+				room.setComment(appointmentDescription);
+				room.setName(appointmentName);
+				room.setRoomtype(rt);
+
+				roommanagement.updateRoomObject(room);
+			}
+
+			Users user = userManagement.getUserById(users_id);
+
+			return appointmentDao.updateAppointment(appointmentId,
+					appointmentName, appointmentDescription, appointmentstart
+							.getTime(), appointmentend.getTime(), isDaily,
+					isWeekly, isMonthly, isYearly, categoryId, remind, newList,
+					users_id, baseurl, languageId, isPasswordProtected,
+					password, user.getOmTimeZone().getIcal(),
+					appointmentLocation);
+
+		} catch (Exception err) {
+			log.error("[updateAppointment]", err);
+			throw new AxisFault(err.getMessage());
+		}
+	}
+
+	/**
+	 * 
+	 * delete a calendar event
+	 * 
+	 * If the given SID is from an Administrator or Web-Service user, the user
+	 * can delete any appointment.<br/>
+	 * If the SID is assigned to a simple user, he can only delete appointments
+	 * where he is also the owner/creator of the appointment
+	 * 
+	 * @param SID
+	 *            an authenticated SID
+	 * @param appointmentId
+	 *            the id to delete
+	 * @param language_id
+	 *            the language id in which the notifications for the deleted
+	 *            appointment are send
+	 * @return
+	 */
+	public Long deleteAppointment(String SID, Long appointmentId,
+			Long language_id) throws AxisFault {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				return appointmentLogic.deleteAppointment(appointmentId,
+						users_id, language_id);
+
+			} else if (authLevelManagement.checkUserLevel(user_level)) {
+
+				Appointment appointment = appointmentLogic
+						.getAppointMentById(appointmentId);
+
+				if (!appointment.getUserId().getUser_id().equals(users_id)) {
+					throw new AxisFault(
+							"The Appointment cannot be deleted by the given user");
+				}
+
+				return appointmentLogic.deleteAppointment(appointmentId,
+						users_id, language_id);
+
+			}
+
+		} catch (Exception err) {
+			log.error("[deleteAppointment]", err);
+			throw new AxisFault(err.getMessage());
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * Load a calendar event by its room id
+	 * 
+	 * @param SID
+	 * @param room_id
+	 * @return
+	 */
+	public Appointment getAppointmentByRoomId(String SID, Long room_id) {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				Appointment appointment = new Appointment();
+
+				Appointment appStored = appointmentDao.getAppointmentByRoomId(
+						users_id, room_id);
+
+				appointment.setAppointmentStarttime(appStored
+						.getAppointmentStarttime());
+				appointment.setAppointmentEndtime(appStored
+						.getAppointmentEndtime());
+
+				return appointment;
+			}
+
+		} catch (Exception err) {
+			log.error("[getAppointmentByRoomId]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * Get all categories of calendar events
+	 * 
+	 * @param SID
+	 * @return
+	 */
+	public List<AppointmentCategory> getAppointmentCategoryList(String SID) {
+		log.debug("AppointmenetCategoryService.getAppointmentCategoryList SID : "
+				+ SID);
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				List<AppointmentCategory> res = appointmentCategoryDaoImpl
+						.getAppointmentCategoryList();
+
+				if (res == null || res.size() < 1)
+					log.debug("no AppointmentCategories found");
+				else {
+					for (int i = 0; i < res.size(); i++) {
+						AppointmentCategory ac = res.get(i);
+						log.debug("found appCategory : " + ac.getName());
+					}
+				}
+
+				return res;
+			} else {
+				log.error("AppointmenetCategoryService.getAppointmentCategoryList : UserLevel Error");
+			}
+		} catch (Exception err) {
+			log.error("[getAppointmentCategory]", err);
+		}
+		return null;
+
+	}
+
+	/**
+	 * Get all reminder types for calendar events
+	 * 
+	 * @param SID
+	 * @return
+	 */
+	public List<AppointmentReminderTyps> getAppointmentReminderTypList(
+			String SID) {
+		log.debug("getAppointmentReminderTypList");
+
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				List<AppointmentReminderTyps> res = appointmentReminderTypDaoImpl
+						.getAppointmentReminderTypList();
+
+				if (res == null || res.size() < 1) {
+					log.debug("no remindertyps found!");
+				} else {
+					for (int i = 0; i < res.size(); i++) {
+						log.debug("found reminder " + res.get(i).getName());
+					}
+				}
+
+				return res;
+			} else
+				log.debug("getAppointmentReminderTypList  :error - wrong authlevel!");
+		} catch (Exception err) {
+			log.error("[getAppointmentReminderTypList]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * Get the appointments (calendar events) for the given requestUserId <br/>
+	 * The TimeZone can be either given by the Id of the timezone in the table
+	 * "om_timezone" with the param timeZoneIdA <br/>
+	 * Or with the java name of the TimeZone in the param javaTimeZoneName
+	 * 
+	 * @param SID
+	 *            a valid user id
+	 * @param firstDayInWeek
+	 *            the first dayin week, 0=Sunday, 1=Monday, ...
+	 * @param startDate
+	 *            the date it should start with
+	 * @param requestUserId
+	 *            the user id the calendar events are requested, if it is not
+	 *            the user id of the SID then the SID's user needs to have the
+	 *            right to watch those events
+	 * @param omTimeZoneId
+	 *            the id of the timezone (alternativly use javaTimeZoneName)
+	 * @param javaTimeZoneName
+	 *            the name of the java time zone, see <a
+	 *            href="http://en.wikipedia.org/wiki/Time_zone#Java"
+	 *            target="_blank"
+	 *            >http://en.wikipedia.org/wiki/Time_zone#Java</a>
+	 * @return
+	 * @throws AxisFault
+	 */
+	public List<Week> getAppointmentsByWeekCalendar(String SID,
+			int firstDayInWeek, Date startDate, Long requestUserId,
+			Long omTimeZoneId, String javaTimeZoneName) throws AxisFault {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+				
+				if (!requestUserId.equals(users_id)) {
+					UserContacts userContacts = userContactsDaoImpl
+							.getUserContactByShareCalendar(requestUserId, true,
+									users_id);
+					if (userContacts == null) {
+						throw new Exception(
+								"Your are not allowed to see this calendar");
+					}
+				}
+
+				TimeZone timezone = null;
+
+				if (javaTimeZoneName != null && !javaTimeZoneName.isEmpty()) {
+					timezone = TimeZone.getTimeZone(javaTimeZoneName);
+					if (timezone == null) {
+						throw new Exception("Invalid javaTimeZoneName given");
+					}
+				}
+
+				if (omTimeZoneId > 0) {
+					timezone = timezoneUtil
+							.getTimezoneByOmTimeZoneId(omTimeZoneId);
+				}
+				
+				if (timezone == null) {
+					throw new Exception("No timeZone given");
+				}
+
+				// Calculate the first day of a calendar based on the first
+				// showing day of the week
+				List<Week> weeks = new ArrayList<Week>(6);
+				Calendar currentDate = Calendar.getInstance();
+				currentDate.setTime(startDate);
+				currentDate.set(Calendar.HOUR_OF_DAY, 12); // set to 12 to prevent timezone issues
+				currentDate.set(Calendar.DATE, 1);
+
+				int currentWeekDay = currentDate.get(Calendar.DAY_OF_WEEK);
+
+				Calendar startWeekDay = Calendar.getInstance();
+
+				log.debug("currentWeekDay -- " + currentWeekDay);
+				log.debug("firstDayInWeek -- " + firstDayInWeek);
+
+				if (currentWeekDay == firstDayInWeek) {
+
+					log.debug("ARE equal currentWeekDay -- ");
+
+					startWeekDay.setTime(currentDate.getTime());
+
+				} else {
+
+					startWeekDay
+							.setTimeInMillis((currentDate.getTimeInMillis() - ((currentWeekDay - 1) * 86400000)));
+
+					if (currentWeekDay > firstDayInWeek) {
+						startWeekDay.setTimeInMillis(startWeekDay
+								.getTimeInMillis()
+								+ (firstDayInWeek * 86400000));
+					} else {
+						startWeekDay.setTimeInMillis(startWeekDay
+								.getTimeInMillis()
+								- (firstDayInWeek * 86400000));
+					}
+
+				}
+
+				Calendar calStart = Calendar.getInstance(timezone);
+				calStart.setTime(startWeekDay.getTime());
+
+				Calendar calEnd = Calendar.getInstance(timezone);
+				// every month page in our calendar shows 42 days
+				calEnd.setTime(new Date(startWeekDay.getTime().getTime()
+						+ (42L * 86400000L)));
+
+				List<Appointment> appointments = appointmentDao
+						.getAppointmentsByRange(requestUserId,
+								calStart.getTime(), calEnd.getTime());
+
+				log.debug("startWeekDay 2" + startWeekDay.getTime());
+				log.debug("startWeekDay Number of appointments "
+						+ appointments.size());
+
+				long z = 0;
+
+				for (int k = 0; k < 6; k++) { // 6 weeks per monthly summary
+
+					Week week = new Week();
+
+					for (int i = 0; i < 7; i++) { // 7 days a week
+
+						Calendar tCal = Calendar.getInstance(timezone);
+						tCal.setTimeInMillis(startWeekDay.getTimeInMillis()
+								+ (z * 86400000L));
+						
+						Day day = new Day(tCal.getTime());
+						
+						for (Appointment appointment : appointments) {
+							if (appointment
+									.appointmentStartAsCalendar(timezone).get(
+											Calendar.MONTH) == tCal
+									.get(Calendar.MONTH)
+									&& appointment.appointmentStartAsCalendar(
+											timezone).get(Calendar.DATE) == tCal
+											.get(Calendar.DATE)) {
+								day.getAppointments().add(
+										new AppointmentDTO(appointment,
+												timezone));
+							}
+						}
+
+						week.getDays().add(day);
+						z++;
+					}
+
+					weeks.add(week);
+				}
+
+				return weeks;
+
+			}
+
+		} catch (Exception err) {
+			log.error("[getAppointmentReminderTypList]", err);
+			throw new AxisFault(err.getMessage());
+		}
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/axis/services/CalendarWebServiceFacade.java b/src/org/openmeetings/axis/services/CalendarWebServiceFacade.java
new file mode 100644
index 0000000..9bea1a2
--- /dev/null
+++ b/src/org/openmeetings/axis/services/CalendarWebServiceFacade.java
@@ -0,0 +1,155 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.axis.services;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+import javax.servlet.ServletContext;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.transport.http.HTTPConstants;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.calendar.beans.Week;
+import org.openmeetings.app.persistence.beans.calendar.Appointment;
+import org.openmeetings.app.persistence.beans.calendar.AppointmentCategory;
+import org.openmeetings.app.persistence.beans.calendar.AppointmentReminderTyps;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.context.ApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+public class CalendarWebServiceFacade {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			RoomWebServiceFacade.class, OpenmeetingsVariables.webAppRootKey);
+
+	private ServletContext getServletContext() throws Exception {
+		MessageContext mc = MessageContext.getCurrentMessageContext();
+		return (ServletContext) mc
+				.getProperty(HTTPConstants.MC_HTTP_SERVLETCONTEXT);
+	}
+
+	private CalendarWebService getCalendarServiceProxy() {
+		try {
+			ApplicationContext context = WebApplicationContextUtils
+					.getWebApplicationContext(getServletContext());
+			return (CalendarWebService) context.getBean("calendarWebService");
+		} catch (Exception err) {
+			log.error("[getCalendarServiceProxy]", err);
+		}
+		return null;
+	}
+
+	public List<Appointment> getAppointmentByRange(String SID, Date starttime,
+			Date endtime) throws AxisFault {
+		return getCalendarServiceProxy().getAppointmentByRange(SID, starttime,
+				endtime);
+	}
+
+	public List<Appointment> getAppointmentByRangeForUserId(String SID,
+			long userId, Date starttime, Date endtime) throws AxisFault {
+		return getCalendarServiceProxy().getAppointmentByRangeForUserId(SID,
+				userId, starttime, endtime);
+	}
+
+	public Appointment getNextAppointment(String SID) throws AxisFault {
+		return getCalendarServiceProxy().getNextAppointment(SID);
+	}
+
+	public Appointment getNextAppointmentForUserId(String SID, long userId)
+			throws AxisFault {
+		return getCalendarServiceProxy().getNextAppointmentForUserId(SID,
+				userId);
+	}
+
+	public List<Appointment> searchAppointmentByName(String SID,
+			String appointmentName) throws AxisFault {
+		return getCalendarServiceProxy().searchAppointmentByName(SID,
+				appointmentName);
+	}
+
+	public Long saveAppointment(String SID, String appointmentName,
+			String appointmentLocation, String appointmentDescription,
+			Calendar appointmentstart, Calendar appointmentend,
+			Boolean isDaily, Boolean isWeekly, Boolean isMonthly,
+			Boolean isYearly, Long categoryId, Long remind, String[] mmClient,
+			Long roomType, String baseUrl, Long languageId,
+			Boolean isPasswordProtected, String password) throws AxisFault {
+		return getCalendarServiceProxy().saveAppointment(SID, appointmentName,
+				appointmentLocation, appointmentDescription, appointmentstart,
+				appointmentend, isDaily, isWeekly, isMonthly, isYearly,
+				categoryId, remind, mmClient, roomType, baseUrl, languageId,
+				isPasswordProtected, password);
+	}
+
+	public Long updateAppointmentTimeOnly(String SID, Long appointmentId,
+			Date appointmentstart, Date appointmentend, String baseurl,
+			Long languageId) throws AxisFault {
+		return getCalendarServiceProxy().updateAppointmentTimeOnly(SID,
+				appointmentId, appointmentstart, appointmentend, baseurl,
+				languageId);
+	}
+
+	public Long updateAppointment(String SID, Long appointmentId,
+			String appointmentName, String appointmentLocation,
+			String appointmentDescription, Calendar appointmentstart,
+			Calendar appointmentend, Boolean isDaily, Boolean isWeekly,
+			Boolean isMonthly, Boolean isYearly, Long categoryId, Long remind,
+			String[] mmClient, Long roomType, String baseurl, Long languageId,
+			Boolean isPasswordProtected, String password) throws AxisFault {
+		return getCalendarServiceProxy().updateAppointment(SID, appointmentId,
+				appointmentName, appointmentLocation, appointmentDescription,
+				appointmentstart, appointmentend, isDaily, isWeekly, isMonthly,
+				isYearly, categoryId, remind, mmClient, roomType, baseurl,
+				languageId, isPasswordProtected, password);
+	}
+
+	public Long deleteAppointment(String SID, Long appointmentId,
+			Long language_id) throws AxisFault {
+		return getCalendarServiceProxy().deleteAppointment(SID, appointmentId,
+				language_id);
+	}
+
+	public Appointment getAppointmentByRoomId(String SID, Long room_id)
+			throws AxisFault {
+		return getCalendarServiceProxy().getAppointmentByRoomId(SID, room_id);
+	}
+
+	public List<AppointmentCategory> getAppointmentCategoryList(String SID)
+			throws AxisFault {
+		return getCalendarServiceProxy().getAppointmentCategoryList(SID);
+	}
+
+	public List<AppointmentReminderTyps> getAppointmentReminderTypList(
+			String SID) throws AxisFault {
+		return getCalendarServiceProxy().getAppointmentReminderTypList(SID);
+	}
+
+	public List<Week> getAppointmentsByWeekCalendar(String SID,
+			int firstDayInWeek, Date startDate, Long requestUserId,
+			Long omTimeZoneId, String javaTimeZoneName) throws AxisFault {
+		return getCalendarServiceProxy().getAppointmentsByWeekCalendar(SID,
+				firstDayInWeek, startDate, requestUserId, omTimeZoneId,
+				javaTimeZoneName);
+	}
+
+}
diff --git a/src/org/openmeetings/axis/services/FLVRecordingReturn.java b/src/org/openmeetings/axis/services/FLVRecordingReturn.java
new file mode 100644
index 0000000..b23f1d0
--- /dev/null
+++ b/src/org/openmeetings/axis/services/FLVRecordingReturn.java
@@ -0,0 +1,343 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.axis.services;
+
+import java.util.Date;
+
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecording;
+
+
+public class FLVRecordingReturn {
+
+	private long flvRecordingId;
+	
+	private String fileName;
+	private String alternateDownload;
+	private String fileHash;
+	private String comment;
+	
+	private Long parentFileExplorerItemId;
+	private Long room_id;
+	private Long ownerId;//OwnerID => only set if its directly root in Owner Directory, other Folders and Files
+	//maybe are also in a Home directory but just because their parent is
+	
+	private Boolean isFolder;
+	private Boolean isImage;
+	private Boolean isPresentation;
+	private Boolean isRecording;
+	
+	private Date recordStart;
+	private Date recordEnd;
+	
+	private Long insertedBy;
+	private Date inserted;
+	private Date updated;
+	private String deleted;
+	
+	private Integer width;
+	private Integer height;
+	
+	private Integer flvWidth;
+	private Integer flvHeight;
+	private String previewImage;
+	
+	private Long fileSize;
+	
+	private String recorderStreamId;
+	private Long organization_id;
+	
+	private Boolean isInterview;
+	private Integer progressPostProcessing;
+	
+	public static FLVRecordingReturn initObject(FlvRecording customObject) {
+		
+		FLVRecordingReturn flvRecordingReturn = new FLVRecordingReturn();
+		
+		flvRecordingReturn.flvRecordingId = customObject.getFlvRecordingId();
+		
+		flvRecordingReturn.fileName = customObject.getFileName();
+		flvRecordingReturn.alternateDownload = customObject.getAlternateDownload();
+		flvRecordingReturn.fileHash = customObject.getFileHash();
+		flvRecordingReturn.comment = customObject.getComment();
+		
+		flvRecordingReturn.parentFileExplorerItemId = customObject.getParentFileExplorerItemId();
+		flvRecordingReturn.room_id = customObject.getRoom_id();
+		flvRecordingReturn.ownerId = customObject.getOwnerId();//OwnerID => only set if its directly root in Owner Directory, other Folders and Files
+		//maybe are also in a Home directory but just because their parent is
+		
+		flvRecordingReturn.isFolder = customObject.getIsFolder();
+		flvRecordingReturn.isImage = customObject.getIsImage();
+		flvRecordingReturn.isPresentation = customObject.getIsPresentation();
+		flvRecordingReturn.isRecording = customObject.getIsRecording();
+		
+		flvRecordingReturn.recordStart = customObject.getRecordStart();
+		flvRecordingReturn.recordEnd = customObject.getRecordEnd();
+		
+		flvRecordingReturn.insertedBy = customObject.getInsertedBy();
+		flvRecordingReturn.inserted = customObject.getInserted();
+		flvRecordingReturn.updated = customObject.getUpdated();
+		flvRecordingReturn.deleted = customObject.getDeleted();
+		
+		flvRecordingReturn.width = customObject.getWidth();
+		flvRecordingReturn.height = customObject.getHeight();
+		
+		flvRecordingReturn.flvWidth = customObject.getFlvWidth();
+		flvRecordingReturn.flvHeight = customObject.getFlvHeight();
+		flvRecordingReturn.previewImage = customObject.getPreviewImage();
+		
+		flvRecordingReturn.fileSize = customObject.getFileSize();
+		
+		flvRecordingReturn.recorderStreamId = customObject.getRecorderStreamId();
+		flvRecordingReturn.organization_id = customObject.getOrganization_id();
+		
+		flvRecordingReturn.isInterview = customObject.getIsInterview();
+		flvRecordingReturn.progressPostProcessing = customObject.getProgressPostProcessing();
+		
+		return flvRecordingReturn;
+	}
+
+	public long getFlvRecordingId() {
+		return flvRecordingId;
+	}
+
+	public void setFlvRecordingId(long flvRecordingId) {
+		this.flvRecordingId = flvRecordingId;
+	}
+
+	public String getFileName() {
+		return fileName;
+	}
+
+	public void setFileName(String fileName) {
+		this.fileName = fileName;
+	}
+
+	public String getAlternateDownload() {
+		return alternateDownload;
+	}
+
+	public void setAlternateDownload(String alternateDownload) {
+		this.alternateDownload = alternateDownload;
+	}
+
+	public String getFileHash() {
+		return fileHash;
+	}
+
+	public void setFileHash(String fileHash) {
+		this.fileHash = fileHash;
+	}
+
+	public String getComment() {
+		return comment;
+	}
+
+	public void setComment(String comment) {
+		this.comment = comment;
+	}
+
+	public Long getParentFileExplorerItemId() {
+		return parentFileExplorerItemId;
+	}
+
+	public void setParentFileExplorerItemId(Long parentFileExplorerItemId) {
+		this.parentFileExplorerItemId = parentFileExplorerItemId;
+	}
+
+	public Long getRoom_id() {
+		return room_id;
+	}
+
+	public void setRoom_id(Long roomId) {
+		room_id = roomId;
+	}
+
+	public Long getOwnerId() {
+		return ownerId;
+	}
+
+	public void setOwnerId(Long ownerId) {
+		this.ownerId = ownerId;
+	}
+
+	public Boolean getIsFolder() {
+		return isFolder;
+	}
+
+	public void setIsFolder(Boolean isFolder) {
+		this.isFolder = isFolder;
+	}
+
+	public Boolean getIsImage() {
+		return isImage;
+	}
+
+	public void setIsImage(Boolean isImage) {
+		this.isImage = isImage;
+	}
+
+	public Boolean getIsPresentation() {
+		return isPresentation;
+	}
+
+	public void setIsPresentation(Boolean isPresentation) {
+		this.isPresentation = isPresentation;
+	}
+
+	public Boolean getIsRecording() {
+		return isRecording;
+	}
+
+	public void setIsRecording(Boolean isRecording) {
+		this.isRecording = isRecording;
+	}
+
+	public Date getRecordStart() {
+		return recordStart;
+	}
+
+	public void setRecordStart(Date recordStart) {
+		this.recordStart = recordStart;
+	}
+
+	public Date getRecordEnd() {
+		return recordEnd;
+	}
+
+	public void setRecordEnd(Date recordEnd) {
+		this.recordEnd = recordEnd;
+	}
+
+	public Long getInsertedBy() {
+		return insertedBy;
+	}
+
+	public void setInsertedBy(Long insertedBy) {
+		this.insertedBy = insertedBy;
+	}
+
+	public Date getInserted() {
+		return inserted;
+	}
+
+	public void setInserted(Date inserted) {
+		this.inserted = inserted;
+	}
+
+	public Date getUpdated() {
+		return updated;
+	}
+
+	public void setUpdated(Date updated) {
+		this.updated = updated;
+	}
+
+	public String getDeleted() {
+		return deleted;
+	}
+
+	public void setDeleted(String deleted) {
+		this.deleted = deleted;
+	}
+
+	public Integer getWidth() {
+		return width;
+	}
+
+	public void setWidth(Integer width) {
+		this.width = width;
+	}
+
+	public Integer getHeight() {
+		return height;
+	}
+
+	public void setHeight(Integer height) {
+		this.height = height;
+	}
+
+	public Integer getFlvWidth() {
+		return flvWidth;
+	}
+
+	public void setFlvWidth(Integer flvWidth) {
+		this.flvWidth = flvWidth;
+	}
+
+	public Integer getFlvHeight() {
+		return flvHeight;
+	}
+
+	public void setFlvHeight(Integer flvHeight) {
+		this.flvHeight = flvHeight;
+	}
+
+	public String getPreviewImage() {
+		return previewImage;
+	}
+
+	public void setPreviewImage(String previewImage) {
+		this.previewImage = previewImage;
+	}
+
+	public Long getFileSize() {
+		return fileSize;
+	}
+
+	public void setFileSize(Long fileSize) {
+		this.fileSize = fileSize;
+	}
+
+	public String getRecorderStreamId() {
+		return recorderStreamId;
+	}
+
+	public void setRecorderStreamId(String recorderStreamId) {
+		this.recorderStreamId = recorderStreamId;
+	}
+
+	public Long getOrganization_id() {
+		return organization_id;
+	}
+
+	public void setOrganization_id(Long organizationId) {
+		organization_id = organizationId;
+	}
+
+	public Boolean getIsInterview() {
+		return isInterview;
+	}
+
+	public void setIsInterview(Boolean isInterview) {
+		this.isInterview = isInterview;
+	}
+
+	public Integer getProgressPostProcessing() {
+		return progressPostProcessing;
+	}
+
+	public void setProgressPostProcessing(Integer progressPostProcessing) {
+		this.progressPostProcessing = progressPostProcessing;
+	}
+	
+	
+	
+	
+	
+}
diff --git a/src/org/openmeetings/axis/services/FileImportError.java b/src/org/openmeetings/axis/services/FileImportError.java
new file mode 100644
index 0000000..26d4a17
--- /dev/null
+++ b/src/org/openmeetings/axis/services/FileImportError.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.axis.services;
+
+public class FileImportError {
+	
+	private int exitValue = 0;
+	private String error = "";
+	private String process = "";
+	private String command = "";
+	
+	public int getExitValue() {
+		return exitValue;
+	}
+	public void setExitValue(int exitValue) {
+		this.exitValue = exitValue;
+	}
+	public String getError() {
+		return error;
+	}
+	public void setError(String error) {
+		this.error = error;
+	}
+	public String getProcess() {
+		return process;
+	}
+	public void setProcess(String process) {
+		this.process = process;
+	}
+	public String getCommand() {
+		return command;
+	}
+	public void setCommand(String command) {
+		this.command = command;
+	}
+
+}
diff --git a/src/org/openmeetings/axis/services/FileWebService.java b/src/org/openmeetings/axis/services/FileWebService.java
new file mode 100644
index 0000000..2e96392
--- /dev/null
+++ b/src/org/openmeetings/axis/services/FileWebService.java
@@ -0,0 +1,1122 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.axis.services;
+
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.InputStream;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+
+import javax.servlet.ServletContext;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.transport.http.HTTPConstants;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.file.FileProcessor;
+import org.openmeetings.app.data.file.FileUtils;
+import org.openmeetings.app.data.file.dao.FileExplorerItemDaoImpl;
+import org.openmeetings.app.data.file.dto.FileExplorerObject;
+import org.openmeetings.app.data.file.dto.LibraryPresentation;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.documents.LoadLibraryPresentation;
+import org.openmeetings.app.persistence.beans.files.FileExplorerItem;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.utils.StoredFile;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 
+ * Contains methods to import and upload files into the Files section of the
+ * conference room and the personal drive of any user
+ * 
+ * @author sebawagner
+ * @webservice FileService
+ * 
+ */
+public class FileWebService {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			FileWebService.class, OpenmeetingsVariables.webAppRootKey);
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private FileExplorerItemDaoImpl fileExplorerItemDao;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+	@Autowired
+	private FileProcessor fileProcessor;
+	@Autowired
+	private FileUtils fileUtils;
+
+	private ServletContext getServletContext() {
+		MessageContext mc = MessageContext.getCurrentMessageContext();
+		return (ServletContext) mc
+				.getProperty(HTTPConstants.MC_HTTP_SERVLETCONTEXT);
+	}
+
+	/**
+	 * 
+	 * Import file from external source
+	 * 
+	 * to upload a file to a room-drive you specify: externalUserId, user if of
+	 * openmeetings user for which we upload the file room_id = openmeetings
+	 * room id isOwner = 0 parentFolderId = 0
+	 * 
+	 * to upload a file to a private-drive you specify: externalUserId, user if
+	 * of openmeetings user for which we upload the file room_id = openmeetings
+	 * room id isOwner = 1 parentFolderId = -2
+	 * 
+	 * @param SID The logged in session id with minimum webservice level
+	 * @param externalUserId
+	 *            the external user id => If the file should goto a private
+	 *            section of any user, this number needs to be set
+	 * @param externalFileId
+	 *            the external file-type to identify the file later
+	 * @param externalType
+	 *            the name of the external system
+	 * @param room_id
+	 *            the room Id, if the file goes to the private folder of an
+	 *            user, you can set a random number here
+	 * @param isOwner
+	 *            specify a 1/true AND parentFolderId==-2 to make the file goto
+	 *            the private section
+	 * @param path
+	 *            http-path where we can grab the file from, the file has to be
+	 *            accessible from the OpenMeetings server
+	 * @param parentFolderId
+	 *            specify a parentFolderId==-2 AND isOwner == 1/true AND to make
+	 *            the file goto the private section
+	 * @param fileSystemName
+	 *            the filename => Important WITH file extension!
+	 * @return
+	 * @throws AxisFault
+	 */
+	public FileImportError[] importFile(String SID, String externalUserId,
+			Long externalFileId, String externalType, Long room_id,
+			boolean isOwner, String path, Long parentFolderId,
+			String fileSystemName) throws AxisFault {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long User_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(User_level)) {
+
+				String current_dir = getServletContext().getRealPath("/");
+
+				URL url = new URL(path);
+				URLConnection uc = url.openConnection();
+				InputStream inputstream = new BufferedInputStream(
+						uc.getInputStream());
+
+				Users externalUser = userManagement.getUserByExternalIdAndType(
+						externalUserId, externalType);
+
+				LinkedHashMap<String, Object> hs = new LinkedHashMap<String, Object>();
+				hs.put("user", externalUser);
+
+				HashMap<String, HashMap<String, String>> returnError = fileProcessor
+						.processFile(externalUser.getUser_id(), room_id,
+								isOwner, inputstream, parentFolderId,
+								fileSystemName, current_dir, hs,
+								externalFileId, externalType);
+
+				HashMap<String, String> returnAttributes = returnError
+						.get("returnAttributes");
+
+				// Flash cannot read the response of an upload
+				// httpServletResponse.getWriter().print(returnError);
+				hs.put("message", "library");
+				hs.put("action", "newFile");
+				hs.put("fileExplorerItem", fileExplorerItemDao
+						.getFileExplorerItemsById(Long
+								.parseLong(returnAttributes.get(
+										"fileExplorerItemId").toString())));
+				hs.put("error", returnError);
+				hs.put("fileName", returnAttributes.get("completeName"));
+
+				FileImportError[] fileImportErrors = new FileImportError[returnError
+						.size()];
+
+				int i = 0;
+				// Axis need Objects or array of objects, Map won't work
+				for (Iterator<String> iter = returnError.keySet().iterator(); iter
+						.hasNext();) {
+
+					HashMap<String, String> returnAttribute = returnError
+							.get(iter.next());
+
+					fileImportErrors[i] = new FileImportError();
+					fileImportErrors[i].setCommand((returnAttribute
+							.get("command") != null) ? returnAttribute.get(
+							"command").toString() : "");
+					fileImportErrors[i]
+							.setError((returnAttribute.get("error") != null) ? returnAttribute
+									.get("error").toString() : "");
+					fileImportErrors[i].setExitValue((returnAttribute
+							.get("exitValue") != null) ? Integer.valueOf(
+							returnAttribute.get("exitValue").toString())
+							.intValue() : 0);
+					fileImportErrors[i].setProcess((returnAttribute
+							.get("process") != null) ? returnAttribute.get(
+							"process").toString() : "");
+
+					i++;
+				}
+
+				return fileImportErrors;
+
+			}
+		} catch (Exception err) {
+			log.error("[importFile]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * Import file from external source
+	 * 
+	 * to upload a file to a room-drive you specify: internalUserId, user if of
+	 * openmeetings user for which we upload the file room_id = openmeetings
+	 * room id isOwner = 0 parentFolderId = 0
+	 * 
+	 * to upload a file to a private-drive you specify: internalUserId, user if
+	 * of openmeetings user for which we upload the file room_id = openmeetings
+	 * room id isOwner = 1 parentFolderId = -2
+	 * 
+	 * @param SID
+	 *            The SID of the User. This SID must be marked as logged in
+	 * @param internalUserId
+	 *            the openmeetings user id => If the file should goto a private
+	 *            section of any user, this number needs to be se
+	 * @param externalFileId
+	 *            the external file-type to identify the file later
+	 * @param externalType
+	 *            the name of the external system
+	 * @param room_id
+	 *            the room Id, if the file goes to the private folder of an
+	 *            user, you can set a random number here
+	 * @param isOwner
+	 *            specify a 1/true AND parentFolderId==-2 to make the file goto
+	 *            the private section
+	 * @param path
+	 *            http-path where we can grab the file from, the file has to be
+	 *            accessible from the OpenMeetings server
+	 * @param parentFolderId
+	 *            specify a parentFolderId==-2 AND isOwner == 1/true AND to make
+	 *            the file goto the private section
+	 * @param fileSystemName
+	 *            the filename => Important WITH file extension!
+	 * @return
+	 * @throws AxisFault
+	 */
+	public FileImportError[] importFileByInternalUserId(String SID,
+			Long internalUserId, Long externalFileId, String externalType,
+			Long room_id, boolean isOwner, String path, Long parentFolderId,
+			String fileSystemName) throws AxisFault {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long User_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(User_level)) {
+
+				String current_dir = getServletContext().getRealPath("/");
+
+				URL url = new URL(path);
+				URLConnection uc = url.openConnection();
+				InputStream inputstream = new BufferedInputStream(
+						uc.getInputStream());
+
+				Users internalUser = userManagement.getUserById(internalUserId);
+
+				LinkedHashMap<String, Object> hs = new LinkedHashMap<String, Object>();
+				hs.put("user", internalUser);
+
+				HashMap<String, HashMap<String, String>> returnError = fileProcessor
+						.processFile(internalUser.getUser_id(), room_id,
+								isOwner, inputstream, parentFolderId,
+								fileSystemName, current_dir, hs,
+								externalFileId, externalType);
+
+				HashMap<String, String> returnAttributes = returnError
+						.get("returnAttributes");
+
+				// Flash cannot read the response of an upload
+				// httpServletResponse.getWriter().print(returnError);
+				hs.put("message", "library");
+				hs.put("action", "newFile");
+				hs.put("fileExplorerItem", fileExplorerItemDao
+						.getFileExplorerItemsById(Long
+								.parseLong(returnAttributes.get(
+										"fileExplorerItemId").toString())));
+				hs.put("error", returnError);
+				hs.put("fileName", returnAttributes.get("completeName"));
+
+				FileImportError[] fileImportErrors = new FileImportError[returnError
+						.size()];
+
+				int i = 0;
+				// Axis need Objects or array of objects, Map won't work
+				for (Iterator<String> iter = returnError.keySet().iterator(); iter
+						.hasNext();) {
+
+					HashMap<String, String> returnAttribute = returnError
+							.get(iter.next());
+
+					fileImportErrors[i] = new FileImportError();
+					fileImportErrors[i].setCommand((returnAttribute
+							.get("command") != null) ? returnAttribute.get(
+							"command").toString() : "");
+					fileImportErrors[i]
+							.setError((returnAttribute.get("error") != null) ? returnAttribute
+									.get("error").toString() : "");
+					fileImportErrors[i].setExitValue((returnAttribute
+							.get("exitValue") != null) ? Integer.valueOf(
+							returnAttribute.get("exitValue").toString())
+							.intValue() : 0);
+					fileImportErrors[i].setProcess((returnAttribute
+							.get("process") != null) ? returnAttribute.get(
+							"process").toString() : "");
+
+					i++;
+				}
+
+				return fileImportErrors;
+
+			}
+		} catch (Exception err) {
+			log.error("[importFile]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * to add a folder to the private drive, set parentFileExplorerItemId = 0
+	 * and isOwner to 1/true and externalUserId/externalUserType to a valid user
+	 * 
+	 * @param SID
+	 *            The SID of the User. This SID must be marked as logged in
+	 * @param externalUserId
+	 *            the external file-type to identify the file later
+	 * @param parentFileExplorerItemId
+	 * @param folderName
+	 *            the name of the folder
+	 * @param room_id
+	 *            the room Id, if the file goes to the private folder of an
+	 *            user, you can set a random number here
+	 * @param isOwner
+	 *            specify a 1/true AND parentFolderId==-2 to make the file goto
+	 *            the private section
+	 * @param externalFilesid
+	 *            the external file-type to identify the file later
+	 * @param externalType
+	 *            the name of the external system
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long addFolderByExternalUserIdAndType(String SID,
+			String externalUserId, Long parentFileExplorerItemId,
+			String folderName, Long room_id, Boolean isOwner,
+			Long externalFilesid, String externalType) throws AxisFault {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long User_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(User_level)) {
+
+				Users userExternal = userManagement.getUserByExternalIdAndType(
+						externalUserId, externalType);
+
+				Long userId = userExternal.getUser_id();
+
+				log.debug("addFolder " + parentFileExplorerItemId);
+
+				if (parentFileExplorerItemId == -2 && isOwner) {
+					// users_id (OwnerID) => only set if its directly root in
+					// Owner Directory,
+					// other Folders and Files maybe are also in a Home
+					// directory
+					// but just because their parent is
+					return fileExplorerItemDao.add(folderName, "", 0L, userId,
+							room_id, userId, true, // isFolder
+							false, // isImage
+							false, // isPresentation
+							"", // WML Path
+							false, // isStoredWML file
+							false, // isXmlFile
+							externalFilesid, externalType);
+				} else {
+					return fileExplorerItemDao.add(folderName, "",
+							parentFileExplorerItemId, null, room_id, userId,
+							true, // isFolder
+							false, // isImage
+							false, // isPresentation
+							"", // WML Path
+							false, // isStoredWML file
+							false, // isXmlFile
+							externalFilesid, externalType);
+				}
+			}
+
+		} catch (Exception err) {
+			log.error("[addFolderByExternalUserIdAndType]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * to add a folder to the private drive, set parentFileExplorerItemId = 0
+	 * and isOwner to 1/true and userId to a valid user
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as logged in
+	 * @param userId the openmeetings user id 
+	 * @param parentFileExplorerItemId specify a parentFolderId==-2 AND isOwner == 1/true AND to make the file goto the private section  
+	 * @param folderName the name of the folder 
+	 * @param room_id the room Id, if the file goes to the private folder of an user, you can set a random number here 
+	 * @param isOwner specify a 1/true AND parentFolderId==-2 to make the file goto the private section 
+	 * @param externalFilesid the external file-type to identify the file later 
+	 * @param externalType the name of the external system 
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long addFolderByUserId(String SID, Long userId,
+			Long parentFileExplorerItemId, String folderName, Long room_id,
+			Boolean isOwner, Long externalFilesid, String externalType)
+			throws AxisFault {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long User_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(User_level)) {
+
+				log.debug("addFolder " + parentFileExplorerItemId);
+
+				if (parentFileExplorerItemId == -2 && isOwner) {
+					// users_id (OwnerID) => only set if its directly root in
+					// Owner Directory,
+					// other Folders and Files maybe are also in a Home
+					// directory
+					// but just because their parent is
+					return fileExplorerItemDao.add(folderName, "", 0L, userId,
+							room_id, userId, true, // isFolder
+							false, // isImage
+							false, // isPresentation
+							"", // WML Path
+							false, // isStoredWML file
+							false, // isXmlFile
+							externalFilesid, externalType);
+				} else {
+					return fileExplorerItemDao.add(folderName, "",
+							parentFileExplorerItemId, null, room_id, userId,
+							true, // isFolder
+							false, // isImage
+							false, // isPresentation
+							"", // WML Path
+							false, // isStoredWML file
+							false, // isXmlFile
+							externalFilesid, externalType);
+				}
+			}
+
+		} catch (Exception err) {
+			log.error("[addFolderByUserId]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * Add a folder by the current user - similar to RTMP Call
+	 * 
+	 * @param SID
+	 *            The SID of the User. This SID must be marked as logged in
+	 * @param parentFileExplorerItemId
+	 *            parent folder id
+	 * @param fileName
+	 *            the file name
+	 * @param room_id
+	 *            the room id
+	 * @param isOwner
+	 * @return
+	 */
+	public Long addFolderSelf(String SID, Long parentFileExplorerItemId,
+			String fileName, Long room_id, Boolean isOwner) throws AxisFault {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				log.debug("addFolder " + parentFileExplorerItemId);
+
+				if (parentFileExplorerItemId == 0 && isOwner) {
+					// users_id (OwnerID) => only set if its directly root in
+					// Owner Directory,
+					// other Folders and Files maybe are also in a Home
+					// directory
+					// but just because their parent is
+					return fileExplorerItemDao.add(fileName, "",
+							parentFileExplorerItemId, users_id, room_id,
+							users_id, true, // isFolder
+							false, // isImage
+							false, // isPresentation
+							"", // WML Path
+							false, // isStoredWML file
+							false // isXmlFile
+							, 0L, "");
+				} else {
+					return fileExplorerItemDao.add(fileName, "",
+							parentFileExplorerItemId, null, room_id, users_id,
+							true, // isFolder
+							false, // isImage
+							false, // isPresentation
+							"", // WML Paht
+							false, // isStoredWML file
+							false // isXmlFile
+							, 0L, "");
+				}
+			}
+		} catch (Exception err) {
+			log.error("[getFileExplorerByParent] ", err);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * deletes a file by its external Id and type
+	 * 
+	 * @param SID
+	 *            The SID of the User. This SID must be marked as logged in
+	 * @param externalFilesid
+	 *            the od of the file or folder
+	 * @param externalType
+	 *            the externalType
+	 * @return
+	 */
+	public Long deleteFileOrFolderByExternalIdAndType(String SID,
+			Long externalFilesid, String externalType) throws AxisFault {
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long User_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(User_level)) {
+
+				fileExplorerItemDao.deleteFileExplorerItemByExternalIdAndType(
+						externalFilesid, externalType);
+
+			}
+
+		} catch (Exception err) {
+			log.error("[deleteFileOrFolderByExternalIdAndType]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * deletes files or folders based on it id
+	 * 
+	 * @param SID
+	 *            The SID of the User. This SID must be marked as logged in
+	 * @param fileExplorerItemId
+	 *            the id of the file or folder
+	 * @return
+	 */
+	public Long deleteFileOrFolder(String SID, Long fileExplorerItemId)
+			throws AxisFault {
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long User_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(User_level)) {
+
+				fileExplorerItemDao.deleteFileExplorerItem(fileExplorerItemId);
+
+			}
+
+		} catch (Exception err) {
+			log.error("[deleteFileOrFolder]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * deletes files or folders based on it id
+	 * 
+	 * @param SID
+	 *            The SID of the User. This SID must be marked as logged in
+	 * @param fileExplorerItemId
+	 *            the id of the file or folder
+	 * @return
+	 */
+	public Long deleteFileOrFolderSelf(String SID, Long fileExplorerItemId)
+			throws AxisFault {
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long User_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkUserLevel(User_level)) {
+
+				// TODO: Check if user has access or not to the file
+
+				fileExplorerItemDao.deleteFileExplorerItem(fileExplorerItemId);
+
+			}
+
+		} catch (Exception err) {
+			log.error("[deleteFileOrFolder]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * Get available import File Extension allowed during import
+	 * 
+	 * @return
+	 * @throws AxisFault
+	 */
+	public String[] getImportFileExtensions() throws AxisFault {
+		try {
+
+			return StoredFile.getExtensions();
+
+		} catch (Exception err) {
+			log.error("[getImportFileExtensions]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * Get a LibraryPresentation-Object for a certain file
+	 * 
+	 * @param SID
+	 * @param parentFolder
+	 * @return
+	 * @throws AxisFault
+	 */
+	public LibraryPresentation getPresentationPreviewFileExplorer(String SID,
+			String parentFolder) throws AxisFault {
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				String current_dir = ScopeApplicationAdapter.webAppPath
+						+ File.separatorChar + OpenmeetingsVariables.UPLOAD_DIR;
+				String working_dir = current_dir + File.separatorChar + "files"
+						+ File.separatorChar + parentFolder;
+				log.debug("############# working_dir : " + working_dir);
+
+				File file = new File(working_dir + File.separatorChar
+						+ "library.xml");
+
+				if (!file.exists()) {
+					throw new Exception("library.xml does not exist "
+							+ working_dir + File.separatorChar + "library.xml");
+				}
+
+				return LoadLibraryPresentation.getInstance()
+						.parseLibraryFileToObject(file.getAbsolutePath());
+
+			} else {
+
+				throw new Exception("not Authenticated");
+
+			}
+
+		} catch (Exception e) {
+			log.error("[getListOfFilesByAbsolutePath]", e);
+			return null;
+		}
+
+	}
+
+	/**
+	 * Get a File Explorer Object by a given Room and owner id
+	 * 
+	 * @param SID
+	 *            The SID of the User. This SID must be marked as logged in
+	 * @param room_id
+	 *            Room id
+	 * @param owner_id
+	 *            Owner id
+	 * @return
+	 * @throws AxisFault
+	 */
+	public FileExplorerObject getFileExplorerByRoom(String SID, Long room_id,
+			Long owner_id) throws AxisFault {
+
+		try {
+
+			Long webservice_users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement
+					.getUserLevelByID(webservice_users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				log.debug("room_id " + room_id);
+
+				FileExplorerObject fileExplorerObject = new FileExplorerObject();
+
+				// Home File List
+				FileExplorerItem[] fList = fileExplorerItemDao
+						.getFileExplorerItemsByOwner(owner_id, 0L);
+
+				long homeFileSize = 0;
+
+				for (FileExplorerItem homeChildExplorerItem : fList) {
+					log.debug("FileExplorerItem fList "
+							+ homeChildExplorerItem.getFileName());
+					homeFileSize += fileUtils
+							.getSizeOfDirectoryAndSubs(homeChildExplorerItem);
+				}
+
+				fileExplorerObject.setUserHome(fList);
+				fileExplorerObject.setUserHomeSize(homeFileSize);
+
+				// Public File List
+				FileExplorerItem[] rList = fileExplorerItemDao
+						.getFileExplorerItemsByRoom(room_id, 0L);
+
+				long roomFileSize = 0;
+
+				for (FileExplorerItem homeChildExplorerItem : rList) {
+					log.debug("FileExplorerItem rList "
+							+ homeChildExplorerItem.getFileName());
+					roomFileSize += fileUtils
+							.getSizeOfDirectoryAndSubs(homeChildExplorerItem);
+				}
+
+				fileExplorerObject.setRoomHome(rList);
+				fileExplorerObject.setRoomHomeSize(roomFileSize);
+
+				return fileExplorerObject;
+
+			} else {
+
+				throw new Exception("not Authenticated");
+
+			}
+
+		} catch (Exception e) {
+			log.error("[getFileExplorerByRoom]", e);
+			return null;
+		}
+	}
+
+	/**
+	 * Get a File Explorer Object by a given Room
+	 * 
+	 * @param SID
+	 *            The SID of the User. This SID must be marked as logged in
+	 * @param room_id
+	 *            Room Id
+	 * @return
+	 * @throws AxisFault
+	 */
+	public FileExplorerObject getFileExplorerByRoomSelf(String SID, Long room_id)
+			throws AxisFault {
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				log.debug("room_id " + room_id);
+
+				FileExplorerObject fileExplorerObject = new FileExplorerObject();
+
+				// Home File List
+				FileExplorerItem[] fList = fileExplorerItemDao
+						.getFileExplorerItemsByOwner(users_id, 0L);
+
+				long homeFileSize = 0;
+
+				for (FileExplorerItem homeChildExplorerItem : fList) {
+					log.debug("FileExplorerItem fList "
+							+ homeChildExplorerItem.getFileName());
+					homeFileSize += fileUtils
+							.getSizeOfDirectoryAndSubs(homeChildExplorerItem);
+				}
+
+				fileExplorerObject.setUserHome(fList);
+				fileExplorerObject.setUserHomeSize(homeFileSize);
+
+				// Public File List
+				FileExplorerItem[] rList = fileExplorerItemDao
+						.getFileExplorerItemsByRoom(room_id, 0L);
+
+				long roomFileSize = 0;
+
+				for (FileExplorerItem homeChildExplorerItem : rList) {
+					log.debug("FileExplorerItem rList "
+							+ homeChildExplorerItem.getFileName());
+					roomFileSize += fileUtils
+							.getSizeOfDirectoryAndSubs(homeChildExplorerItem);
+				}
+
+				fileExplorerObject.setRoomHome(rList);
+				fileExplorerObject.setRoomHomeSize(roomFileSize);
+
+				return fileExplorerObject;
+
+			} else {
+
+				throw new Exception("not Authenticated");
+
+			}
+
+		} catch (Exception e) {
+			log.error("[getFileExplorerByRoomSelf]", e);
+			return null;
+		}
+	}
+
+	/**
+	 * Get FileExplorerItem list by parent folder
+	 * 
+	 * @param SID
+	 *            The SID of the User. This SID must be marked as logged in
+	 * @param parentFileExplorerItemId
+	 *            the parent folder id
+	 * @param room_id
+	 *            the room id
+	 * @param isOwner
+	 *            true if its a private drive
+	 * @param owner_id
+	 *            the owner id
+	 * @return
+	 * @throws AxisFault
+	 */
+	public FileExplorerItem[] getFileExplorerByParent(String SID,
+			Long parentFileExplorerItemId, Long room_id, Boolean isOwner,
+			Long owner_id) throws AxisFault {
+
+		try {
+
+			Long webservice_users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement
+					.getUserLevelByID(webservice_users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				log.debug("parentFileExplorerItemId "
+						+ parentFileExplorerItemId);
+
+				if (parentFileExplorerItemId == 0) {
+					if (isOwner) {
+						return fileExplorerItemDao.getFileExplorerItemsByOwner(
+								owner_id, parentFileExplorerItemId);
+					} else {
+						return fileExplorerItemDao.getFileExplorerItemsByRoom(
+								room_id, parentFileExplorerItemId);
+					}
+				} else {
+					return fileExplorerItemDao
+							.getFileExplorerItemsByParent(parentFileExplorerItemId);
+				}
+
+			}
+		} catch (Exception err) {
+			log.error("[getFileExplorerByParent] ", err);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * Get FileExplorerItem[] by parent and owner id
+	 * 
+	 * @param SID
+	 *            SID The SID of the User. This SID must be marked as logged in
+	 * @param parentFileExplorerItemId
+	 *            the parent folder id
+	 * @param room_id
+	 *            the room id
+	 * @param isOwner
+	 *            true to request private drive
+	 * @return
+	 * @throws AxisFault
+	 */
+	public FileExplorerItem[] getFileExplorerByParentSelf(String SID,
+			Long parentFileExplorerItemId, Long room_id, Boolean isOwner)
+			throws AxisFault {
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				log.debug("parentFileExplorerItemId "
+						+ parentFileExplorerItemId);
+
+				if (parentFileExplorerItemId == 0) {
+					if (isOwner) {
+						return fileExplorerItemDao.getFileExplorerItemsByOwner(
+								users_id, parentFileExplorerItemId);
+					} else {
+						return fileExplorerItemDao.getFileExplorerItemsByRoom(
+								room_id, parentFileExplorerItemId);
+					}
+				} else {
+					return fileExplorerItemDao
+							.getFileExplorerItemsByParent(parentFileExplorerItemId);
+				}
+
+			}
+		} catch (Exception err) {
+			log.error("[getFileExplorerByParentSelf] ", err);
+		}
+		return null;
+	}
+
+	/**
+	 * update a file or folder name
+	 * 
+	 * @param SID
+	 *            SID The SID of the User. This SID must be marked as logged in
+	 * @param fileExplorerItemId
+	 *            file or folder id
+	 * @param fileName
+	 *            new file or folder name
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long updateFileOrFolderName(String SID, Long fileExplorerItemId,
+			String fileName) throws AxisFault {
+
+		try {
+
+			Long webservice_users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement
+					.getUserLevelByID(webservice_users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				log.debug("deleteFileOrFolder " + fileExplorerItemId);
+
+				fileExplorerItemDao.updateFileOrFolderName(fileExplorerItemId,
+						fileName);
+
+			}
+		} catch (Exception err) {
+			log.error("[updateFileOrFolderName] ", err);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * update a file or folder name
+	 * 
+	 * @param SID
+	 *            SID The SID of the User. This SID must be marked as logged in
+	 * @param fileExplorerItemId
+	 *            file or folder id
+	 * @param fileName
+	 *            new file or folder name
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long updateFileOrFolderNameSelf(String SID, Long fileExplorerItemId,
+			String fileName) throws AxisFault {
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				// TODO: check if this user is allowed to change this file
+				/*
+				 * FileExplorerItem fileExItem =
+				 * fileExplorerItemDao.getFileExplorerItemsById
+				 * (fileExplorerItemId);
+				 * 
+				 * if (fileExItem.getOwnerId() != null &&
+				 * !fileExItem.getOwnerId().equals(users_id)) { throw new
+				 * Exception(
+				 * "This user is not the owner of the file and not allowed to edit its name"
+				 * ); }
+				 */
+
+				log.debug("deleteFileOrFolder " + fileExplorerItemId);
+
+				fileExplorerItemDao.updateFileOrFolderName(fileExplorerItemId,
+						fileName);
+
+			}
+		} catch (Exception err) {
+			log.error("[updateFileOrFolderNameSelf] ", err);
+		}
+		return null;
+	}
+
+	/**
+	 * move a file or folder
+	 * 
+	 * @param SID
+	 *            SID The SID of the User. This SID must be marked as logged in
+	 * @param fileExplorerItemId
+	 *            current file or folder id to be moved
+	 * @param newParentFileExplorerItemId
+	 *            new parent folder id
+	 * @param room_id
+	 *            room id
+	 * @param isOwner
+	 *            if true owner id will be set
+	 * @param moveToHome
+	 *            if true move to private drive
+	 * @param owner_id
+	 *            owner id
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long moveFile(String SID, Long fileExplorerItemId,
+			Long newParentFileExplorerItemId, Long room_id, Boolean isOwner,
+			Boolean moveToHome, Long owner_id) throws AxisFault {
+
+		try {
+
+			Long webservice_users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement
+					.getUserLevelByID(webservice_users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				log.debug("deleteFileOrFolder " + fileExplorerItemId);
+
+				fileExplorerItemDao
+						.moveFile(fileExplorerItemId,
+								newParentFileExplorerItemId, room_id, isOwner,
+								owner_id);
+
+				FileExplorerItem fileExplorerItem = fileExplorerItemDao
+						.getFileExplorerItemsById(fileExplorerItemId);
+
+				if (moveToHome) {
+					// set this file and all subfiles and folders the ownerId
+					fileUtils.setFileToOwnerOrRoomByParent(fileExplorerItem,
+							owner_id, null);
+
+				} else {
+					// set this file and all subfiles and folders the room_id
+					fileUtils.setFileToOwnerOrRoomByParent(fileExplorerItem,
+							null, room_id);
+
+				}
+
+			}
+		} catch (Exception err) {
+			log.error("[moveFile] ", err);
+		}
+		return null;
+	}
+
+	/**
+	 * move a file or folder
+	 * 
+	 * @param SID
+	 *            SID The SID of the User. This SID must be marked as logged in
+	 * @param fileExplorerItemId
+	 *            current file or folder id to be moved
+	 * @param newParentFileExplorerItemId
+	 *            new parent folder id
+	 * @param room_id
+	 *            room id
+	 * @param isOwner
+	 *            if true owner id will be set
+	 * @param moveToHome
+	 *            move to private drive
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long moveFileSelf(String SID, Long fileExplorerItemId,
+			Long newParentFileExplorerItemId, Long room_id, Boolean isOwner,
+			Boolean moveToHome) throws AxisFault {
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+				
+				// A test is required that checks if the user is allowed to move the file
+
+				log.debug("moveFileSelf " + fileExplorerItemId);
+
+				fileExplorerItemDao
+						.moveFile(fileExplorerItemId,
+								newParentFileExplorerItemId, room_id, isOwner,
+								users_id);
+
+				FileExplorerItem fileExplorerItem = fileExplorerItemDao
+						.getFileExplorerItemsById(fileExplorerItemId);
+
+				if (moveToHome) {
+					// set this file and all subfiles and folders the ownerId
+					fileUtils.setFileToOwnerOrRoomByParent(fileExplorerItem,
+							users_id, null);
+
+				} else {
+					// set this file and all subfiles and folders the room_id
+					fileUtils.setFileToOwnerOrRoomByParent(fileExplorerItem,
+							null, room_id);
+
+				}
+
+			}
+		} catch (Exception err) {
+			log.error("[moveFile] ", err);
+		}
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/axis/services/FileWebServiceFacade.java b/src/org/openmeetings/axis/services/FileWebServiceFacade.java
new file mode 100644
index 0000000..c266bb2
--- /dev/null
+++ b/src/org/openmeetings/axis/services/FileWebServiceFacade.java
@@ -0,0 +1,353 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.axis.services;
+
+import javax.servlet.ServletContext;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.transport.http.HTTPConstants;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.file.dto.FileExplorerObject;
+import org.openmeetings.app.data.file.dto.LibraryPresentation;
+import org.openmeetings.app.persistence.beans.files.FileExplorerItem;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.context.ApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+public class FileWebServiceFacade {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			FileWebServiceFacade.class, OpenmeetingsVariables.webAppRootKey);
+
+	private ServletContext getServletContext() throws Exception {
+		MessageContext mc = MessageContext.getCurrentMessageContext();
+		return (ServletContext) mc
+				.getProperty(HTTPConstants.MC_HTTP_SERVLETCONTEXT);
+	}
+
+	private FileWebService geFileServiceProxy() {
+		try {
+			ApplicationContext context = WebApplicationContextUtils
+					.getWebApplicationContext(getServletContext());
+			return (FileWebService) context.getBean("fileWebService");
+		} catch (Exception err) {
+			log.error("[geRoomServiceProxy]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * 
+	 * Import file from external source
+	 * 
+	 * to upload a file to a room-drive you specify: externalUserId, user if of
+	 * openmeetings user for which we upload the file room_id = openmeetings
+	 * room id isOwner = 0 parentFolderId = 0
+	 * 
+	 * to upload a file to a private-drive you specify: externalUserId, user if
+	 * of openmeetings user for which we upload the file room_id = openmeetings
+	 * room id isOwner = 1 parentFolderId = -2
+	 * 
+	 * @param SID
+	 * @param externalUserId
+	 *            the external user id => If the file should goto a private
+	 *            section of any user, this number needs to be set
+	 * @param externalFileId
+	 *            the external file-type to identify the file later
+	 * @param externalType
+	 *            the name of the external system
+	 * @param room_id
+	 *            the room Id, if the file goes to the private folder of an
+	 *            user, you can set a random number here
+	 * @param isOwner
+	 *            specify a 1/true AND parentFolderId==-2 to make the file goto
+	 *            the private section
+	 * @param path
+	 *            http-path where we can grab the file from, the file has to be
+	 *            accessible from the OpenMeetings server
+	 * @param parentFolderId
+	 *            specify a parentFolderId==-2 AND isOwner == 1/true AND to make
+	 *            the file goto the private section
+	 * @param fileSystemName
+	 *            the filename => Important WITH file extension!
+	 * @return
+	 * @throws AxisFault
+	 */
+	public FileImportError[] importFile(String SID, String externalUserId,
+			Long externalFileId, String externalType, Long room_id,
+			boolean isOwner, String path, Long parentFolderId,
+			String fileSystemName) throws AxisFault {
+		return this.geFileServiceProxy().importFile(SID, externalUserId,
+				externalFileId, externalType, room_id, isOwner, path,
+				parentFolderId, fileSystemName);
+	}
+
+	/**
+	 * 
+	 * Import file from external source
+	 * 
+	 * to upload a file to a room-drive you specify: internalUserId, user if of
+	 * openmeetings user for which we upload the file room_id = openmeetings
+	 * room id isOwner = 0 parentFolderId = 0
+	 * 
+	 * to upload a file to a private-drive you specify: internalUserId, user if
+	 * of openmeetings user for which we upload the file room_id = openmeetings
+	 * room id isOwner = 1 parentFolderId = -2
+	 * 
+	 * @param SID
+	 * @param internalUserId
+	 *            the openmeetings user id => If the file should goto a private
+	 *            section of any user, this number needs to be set
+	 * @param externalFileId
+	 *            the external file-type to identify the file later
+	 * @param externalType
+	 *            the name of the external system
+	 * @param room_id
+	 *            the room Id, if the file goes to the private folder of an
+	 *            user, you can set a random number here
+	 * @param isOwner
+	 *            specify a 1/true AND parentFolderId==-2 to make the file goto
+	 *            the private section
+	 * @param path
+	 *            http-path where we can grab the file from, the file has to be
+	 *            accessible from the OpenMeetings server
+	 * @param parentFolderId
+	 *            specify a parentFolderId==-2 AND isOwner == 1/true AND to make
+	 *            the file goto the private section
+	 * @param fileSystemName
+	 *            the filename => Important WITH file extension!
+	 * @return
+	 * @throws AxisFault
+	 */
+	public FileImportError[] importFileByInternalUserId(String SID,
+			Long internalUserId, Long externalFileId, String externalType,
+			Long room_id, boolean isOwner, String path, Long parentFolderId,
+			String fileSystemName) throws AxisFault {
+		return this.geFileServiceProxy().importFileByInternalUserId(SID,
+				internalUserId, externalFileId, externalType, room_id, isOwner,
+				path, parentFolderId, fileSystemName);
+	}
+
+	/**
+	 * 
+	 * to add a folder to the private drive, set parentFileExplorerItemId = 0
+	 * and isOwner to 1/true and externalUserId/externalUserType to a valid user
+	 * 
+	 * @param SID
+	 * @param externalUserId
+	 * @param externalUserType
+	 * @param parentFileExplorerItemId
+	 * @param fileName
+	 * @param room_id
+	 * @param isOwner
+	 * @param externalFilesid
+	 * @param externalType
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long addFolderByExternalUserIdAndType(String SID,
+			String externalUserId, Long parentFileExplorerItemId,
+			String folderName, Long room_id, Boolean isOwner,
+			Long externalFilesid, String externalType) throws AxisFault {
+		return this.geFileServiceProxy().addFolderByExternalUserIdAndType(SID,
+				externalUserId, parentFileExplorerItemId, folderName, room_id,
+				isOwner, externalFilesid, externalType);
+
+	}
+
+	/**
+	 * 
+	 * to add a folder to the private drive, set parentFileExplorerItemId = 0
+	 * and isOwner to 1/true and userId to a valid user
+	 * 
+	 * @param SID
+	 * @param userId
+	 * @param parentFileExplorerItemId
+	 * @param fileName
+	 * @param room_id
+	 * @param isOwner
+	 * @param externalFilesid
+	 * @param externalType
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long addFolderByUserId(String SID, Long userId,
+			Long parentFileExplorerItemId, String folderName, Long room_id,
+			Boolean isOwner, Long externalFilesid, String externalType)
+			throws AxisFault {
+		return this.geFileServiceProxy().addFolderByUserId(SID, userId,
+				parentFileExplorerItemId, folderName, room_id, isOwner,
+				externalFilesid, externalType);
+	}
+
+	/**
+	 * 
+	 * Add a folder by the current user - similar to RTMP Call
+	 * 
+	 * @param SID
+	 * @param parentFileExplorerItemId
+	 * @param fileName
+	 * @param room_id
+	 * @param isOwner
+	 * @return
+	 */
+	public Long addFolderSelf(String SID, Long parentFileExplorerItemId,
+			String fileName, Long room_id, Boolean isOwner) throws AxisFault {
+		return this.geFileServiceProxy().addFolderSelf(SID,
+				parentFileExplorerItemId, fileName, room_id, isOwner);
+	}
+	
+	public Long addFolderSelfInternal(String SID, Long parentFileExplorerItemId,
+			String fileName, Long roomId, Boolean isOwner) throws AxisFault {
+		return this.geFileServiceProxy().addFolderSelf(SID,
+				parentFileExplorerItemId, fileName, roomId, isOwner);
+	}
+	
+
+	/**
+	 * 
+	 * deletes a file by its external Id and type
+	 * 
+	 * @param SID
+	 * @param externalFilesid
+	 * @param externalType
+	 * @return
+	 */
+	public Long deleteFileOrFolderByExternalIdAndType(String SID,
+			Long externalFilesid, String externalType) throws AxisFault {
+		return this.geFileServiceProxy().deleteFileOrFolderByExternalIdAndType(
+				SID, externalFilesid, externalType);
+	}
+
+	/**
+	 * 
+	 * deletes files or folders based on it id
+	 * 
+	 * @param SID
+	 * @param fileExplorerItemId
+	 * @return
+	 */
+	public Long deleteFileOrFolder(String SID, Long fileExplorerItemId)
+			throws AxisFault {
+		return this.geFileServiceProxy().deleteFileOrFolder(SID,
+				fileExplorerItemId);
+	}
+
+	/**
+	 * 
+	 * deletes files or folders based on it id
+	 * 
+	 * @param SID
+	 * @param fileExplorerItemId
+	 * @return
+	 */
+	public Long deleteFileOrFolderSelf(String SID, Long fileExplorerItemId)
+			throws AxisFault {
+		return this.geFileServiceProxy().deleteFileOrFolderSelf(SID,
+				fileExplorerItemId);
+	}
+
+	public String[] getImportFileExtensions() throws AxisFault {
+		return this.geFileServiceProxy().getImportFileExtensions();
+	}
+
+	public LibraryPresentation getPresentationPreviewFileExplorer(String SID,
+			String parentFolder) throws AxisFault {
+		return this.geFileServiceProxy().getPresentationPreviewFileExplorer(
+				SID, parentFolder);
+	}
+
+	public FileExplorerObject getFileExplorerByRoom(String SID, Long room_id,
+			Long owner_id) throws AxisFault {
+		return this.geFileServiceProxy().getFileExplorerByRoom(SID, room_id,
+				owner_id);
+	}
+
+	public FileExplorerObject getFileExplorerByRoomSelf(String SID, Long room_id)
+			throws AxisFault {
+		return this.geFileServiceProxy()
+				.getFileExplorerByRoomSelf(SID, room_id);
+	}
+	
+	public FileExplorerObject getFileExplorerByRoomSelfInternal(String SID, Long roomId)
+			throws AxisFault {
+		return this.geFileServiceProxy()
+				.getFileExplorerByRoomSelf(SID, roomId);
+	}
+
+	public FileExplorerItem[] getFileExplorerByParent(String SID,
+			Long parentFileExplorerItemId, Long room_id, Boolean isOwner,
+			Long owner_id) throws AxisFault {
+		return this.geFileServiceProxy().getFileExplorerByParent(SID,
+				parentFileExplorerItemId, room_id, isOwner, owner_id);
+	}
+
+	public FileExplorerItem[] getFileExplorerByParentSelf(String SID,
+			Long parentFileExplorerItemId, Long room_id, Boolean isOwner)
+			throws AxisFault {
+		return this.geFileServiceProxy().getFileExplorerByParentSelf(SID,
+				parentFileExplorerItemId, room_id, isOwner);
+	}
+	
+	public FileExplorerItem[] getFileExplorerByParentSelfInternal(String SID,
+			Long parentFileExplorerItemId, Long roomId, Boolean isOwner)
+			throws AxisFault {
+		return this.geFileServiceProxy().getFileExplorerByParentSelf(SID,
+				parentFileExplorerItemId, roomId, isOwner);
+	}
+
+	public Long updateFileOrFolderName(String SID, Long fileExplorerItemId,
+			String fileName) throws AxisFault {
+		return this.geFileServiceProxy().updateFileOrFolderName(SID,
+				fileExplorerItemId, fileName);
+	}
+
+	public Long updateFileOrFolderNameSelf(String SID, Long fileExplorerItemId,
+			String fileName) throws AxisFault {
+		return this.geFileServiceProxy().updateFileOrFolderNameSelf(SID,
+				fileExplorerItemId, fileName);
+	}
+
+	public Long moveFile(String SID, Long fileExplorerItemId,
+			Long newParentFileExplorerItemId, Long room_id, Boolean isOwner,
+			Boolean moveToHome, Long owner_id) throws AxisFault {
+		return this.geFileServiceProxy().moveFile(SID, fileExplorerItemId,
+				newParentFileExplorerItemId, room_id, isOwner, moveToHome,
+				owner_id);
+	}
+
+	public Long moveFileSelf(String SID, Long fileExplorerItemId,
+			Long newParentFileExplorerItemId, Long room_id, Boolean isOwner,
+			Boolean moveToHome) throws AxisFault {
+		return this.geFileServiceProxy().moveFileSelf(SID, fileExplorerItemId,
+				newParentFileExplorerItemId, room_id, isOwner, moveToHome);
+	}
+	
+	public Long moveFileSelfInternal(String SID, Long fileExplorerItemId,
+			Long newParentFileExplorerItemId, Long roomId, Boolean isOwner,
+			Boolean moveToHome) throws AxisFault {
+		return this.geFileServiceProxy().moveFileSelf(SID, fileExplorerItemId,
+				newParentFileExplorerItemId, roomId, isOwner, moveToHome);
+	}
+	
+	
+
+}
diff --git a/src/org/openmeetings/axis/services/JabberWebService.java b/src/org/openmeetings/axis/services/JabberWebService.java
new file mode 100644
index 0000000..9ef3071
--- /dev/null
+++ b/src/org/openmeetings/axis/services/JabberWebService.java
@@ -0,0 +1,135 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.axis.services;
+
+import java.util.List;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.conference.Invitationmanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.persistence.beans.domain.Organisation_Users;
+import org.openmeetings.app.persistence.beans.invitation.Invitations;
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.openmeetings.app.persistence.beans.rooms.Rooms_Organisation;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.app.remote.ConferenceService;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * This class provides method implementations necessary for OM to Jabber integration.
+ * 
+ * @author solomax
+ * @webservice JabberService
+ *
+ */
+public class JabberWebService {
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			JabberWebService.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private ConferenceService conferenceService;
+	@Autowired
+	private Invitationmanagement invitationManagement;
+
+	/**
+	 * Get List<Rooms> of all rooms available to the user.
+	 * No admin rights are necessary for this call
+	 * 
+	 * @param SID The SID from UserService.getSession
+	 * @return List<Rooms> of Rooms
+	 */
+	public List<Rooms> getAvailableRooms(String SID) {
+		log.debug("getAvailableRooms enter");
+
+		List<Rooms> result = this.conferenceService
+				.getAppointedMeetingRoomsWithoutType(SID);
+
+		List<Rooms> pbl = this.conferenceService.getRoomsPublicWithoutType(SID);
+		if (pbl != null) {
+			result.addAll(pbl);
+		}
+
+		Long users_id = this.sessionManagement.checkSession(SID);
+		Users u = this.userManagement.getUserById(users_id);
+		for (Organisation_Users ou : u.getOrganisation_users()) {
+			List<Rooms_Organisation> rol = this.conferenceService
+					.getRoomsByOrganisationWithoutType(SID, ou
+							.getOrganisation().getOrganisation_id().longValue());
+			if (rol != null) {
+				for (Rooms_Organisation ro : rol) {
+					result.add(ro.getRoom());
+				}
+			}
+		}
+		for (Rooms r : result) {
+			r.setCurrentusers(null);
+		}
+		return result;
+	}
+
+	/**
+	 * Returns the count of users currently in the Room with given id
+	 * No admin rights are necessary for this call
+	 * 
+	 * @param SID The SID from UserService.getSession
+	 * @param roomId id of the room to get users
+	 * @return number of users as int
+	 */
+	public int getUserCount(String SID, Long roomId) {
+		Long users_id = this.sessionManagement.checkSession(SID);
+		Long user_level = this.userManagement.getUserLevelByID(users_id);
+
+		if (this.authLevelManagement.checkUserLevel(user_level)) {
+			return this.conferenceService.getRoomClientsMapByRoomId(roomId)
+					.size();
+		}
+		return -1;
+	}
+
+	/**
+	 * Get invitation hash for the room with given id
+	 * No admin rights are necessary for this call
+	 * 
+	 * @param SID The SID from UserService.getSession
+	 * @param username The name of invited user, will be displayed in the rooms user list
+	 * @param room_id id of the room to get users
+	 * @return hash to enter the room
+	 */
+	public String getInvitationHash(String SID, String username, Long room_id) {
+		Long users_id = this.sessionManagement.checkSession(SID);
+		Long user_level = this.userManagement.getUserLevelByID(users_id);
+		Invitations invitation = this.invitationManagement.addInvitationLink(
+				user_level, username, username, username, username, username,
+				room_id, "", Boolean.valueOf(false), null, Integer.valueOf(3),
+				null, null, users_id, "", Long.valueOf(1L),
+				Boolean.valueOf(false), null, null, null, username);
+
+		return ((invitation == null) ? null : invitation.getHash());
+	}
+}
diff --git a/src/org/openmeetings/axis/services/JabberWebServiceFacade.java b/src/org/openmeetings/axis/services/JabberWebServiceFacade.java
new file mode 100644
index 0000000..51aba2b
--- /dev/null
+++ b/src/org/openmeetings/axis/services/JabberWebServiceFacade.java
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.axis.services;
+
+import javax.servlet.ServletContext;
+
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.transport.http.HTTPConstants;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.context.ApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+/**
+ * This class provides method entry points necessary for OM to Jabber integration.
+ * 
+ * @author solomax
+ *
+ */
+public class JabberWebServiceFacade {
+	private static final Logger log = Red5LoggerFactory
+			.getLogger(JabberWebServiceFacade.class,
+					OpenmeetingsVariables.webAppRootKey);
+
+	private ServletContext getServletContext() throws Exception {
+		MessageContext mc = MessageContext.getCurrentMessageContext();
+		return ((ServletContext) mc
+				.getProperty(HTTPConstants.MC_HTTP_SERVLETCONTEXT));
+	}
+
+	private JabberWebService getJabberServiceProxy() {
+		try {
+			ApplicationContext context = WebApplicationContextUtils
+					.getWebApplicationContext(getServletContext());
+
+			return ((JabberWebService) context.getBean("jabberWebService"));
+		} catch (Exception err) {
+			log.error("[getJabberServiceProxy]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * Get array of all rooms available to the user.
+	 * No admin rights are necessary for this call
+	 * 
+	 * @param SID The SID from {@link UserWebService.getSession}
+	 * @return array of Rooms
+	 */
+	public Rooms[] getAvailableRooms(String SID) {
+		return getJabberServiceProxy().getAvailableRooms(SID).toArray(new Rooms[0]);
+	}
+
+	/**
+	 * Returns the count of users currently in the Room with given id
+	 * No admin rights are necessary for this call
+	 * 
+	 * @param SID The SID from {@link UserWebService.getSession}
+	 * @param roomId id of the room to get users
+	 * @return number of users as int
+	 */
+	public int getUserCount(String SID, Long roomId) {
+		return getJabberServiceProxy().getUserCount(SID, roomId);
+	}
+
+	/**
+	 * Get invitation hash for the room with given id
+	 * No admin rights are necessary for this call
+	 * 
+	 * @param SID The SID from {@link UserWebService.getSession}
+	 * @param username The name of invited user, will be displayed in the rooms user list
+	 * @param room_id id of the room to get users
+	 * @return hash to enter the room
+	 */
+	public String getInvitationHash(String SID, String username, Long room_id) {
+		return getJabberServiceProxy()
+				.getInvitationHash(SID, username, room_id);
+	}
+}
\ No newline at end of file
diff --git a/src/org/openmeetings/axis/services/RoomCountBean.java b/src/org/openmeetings/axis/services/RoomCountBean.java
new file mode 100644
index 0000000..c8121a1
--- /dev/null
+++ b/src/org/openmeetings/axis/services/RoomCountBean.java
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.axis.services;
+
+public class RoomCountBean {
+	
+	private long roomId;
+	private String roomName;
+	private Integer roomCount;
+	private Integer maxUser;
+	
+	public long getRoomId() {
+		return roomId;
+	}
+	public void setRoomId(long roomId) {
+		this.roomId = roomId;
+	}
+	public String getRoomName() {
+		return roomName;
+	}
+	public void setRoomName(String roomName) {
+		this.roomName = roomName;
+	}
+	public Integer getRoomCount() {
+		return roomCount;
+	}
+	public void setRoomCount(Integer roomCount) {
+		this.roomCount = roomCount;
+	}
+	public Integer getMaxUser() {
+		return maxUser;
+	}
+	public void setMaxUser(Integer maxUser) {
+		this.maxUser = maxUser;
+	}
+	
+
+}
diff --git a/src/org/openmeetings/axis/services/RoomReturn.java b/src/org/openmeetings/axis/services/RoomReturn.java
new file mode 100644
index 0000000..1e4a578
--- /dev/null
+++ b/src/org/openmeetings/axis/services/RoomReturn.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.axis.services;
+
+import java.util.Date;
+
+public class RoomReturn {
+
+	private Long room_id;
+	private String name;
+	private String creator;
+	private Date created;
+	private RoomUser[] roomUser;
+
+	public Long getRoom_id() {
+		return room_id;
+	}
+
+	public void setRoom_id(Long roomId) {
+		room_id = roomId;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getCreator() {
+		return creator;
+	}
+
+	public void setCreator(String creator) {
+		this.creator = creator;
+	}
+
+	public Date getCreated() {
+		return created;
+	}
+
+	public void setCreated(Date created) {
+		this.created = created;
+	}
+
+	public RoomUser[] getRoomUser() {
+		return roomUser;
+	}
+
+	public void setRoomUser(RoomUser[] roomUser) {
+		this.roomUser = roomUser;
+	}
+
+}
diff --git a/src/org/openmeetings/axis/services/RoomUser.java b/src/org/openmeetings/axis/services/RoomUser.java
new file mode 100644
index 0000000..732032f
--- /dev/null
+++ b/src/org/openmeetings/axis/services/RoomUser.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.axis.services;
+
+public class RoomUser {
+	
+	private String firstname;
+	private String lastname;
+	private String publicSID;
+	private long broadcastId;
+	private Boolean isBroadCasting;
+	private String avsettings;
+	
+	public String getFirstname() {
+		return firstname;
+	}
+	public void setFirstname(String firstname) {
+		this.firstname = firstname;
+	}
+	public String getLastname() {
+		return lastname;
+	}
+	public void setLastname(String lastname) {
+		this.lastname = lastname;
+	}
+	public Boolean getIsBroadCasting() {
+		return isBroadCasting;
+	}
+	public void setIsBroadCasting(Boolean isBroadCasting) {
+		this.isBroadCasting = isBroadCasting;
+	}
+	public String getAvsettings() {
+		return avsettings;
+	}
+	public void setAvsettings(String avsettings) {
+		this.avsettings = avsettings;
+	}
+	public String getPublicSID() {
+		return publicSID;
+	}
+	public void setPublicSID(String publicSID) {
+		this.publicSID = publicSID;
+	}
+	public long getBroadcastId() {
+		return broadcastId;
+	}
+	public void setBroadcastId(long broadcastId) {
+		this.broadcastId = broadcastId;
+	}
+	
+}
diff --git a/src/org/openmeetings/axis/services/RoomWebService.java b/src/org/openmeetings/axis/services/RoomWebService.java
new file mode 100644
index 0000000..d205b9f
--- /dev/null
+++ b/src/org/openmeetings/axis/services/RoomWebService.java
@@ -0,0 +1,2374 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.axis.services;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.axis2.AxisFault;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.conference.session.RoomClient;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.beans.basic.SearchResult;
+import org.openmeetings.app.data.calendar.daos.AppointmentDaoImpl;
+import org.openmeetings.app.data.calendar.management.MeetingMemberLogic;
+import org.openmeetings.app.data.conference.Invitationmanagement;
+import org.openmeetings.app.data.conference.Roommanagement;
+import org.openmeetings.app.data.flvrecord.FlvRecordingDaoImpl;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.persistence.beans.calendar.Appointment;
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecording;
+import org.openmeetings.app.persistence.beans.invitation.Invitations;
+import org.openmeetings.app.persistence.beans.rooms.RoomTypes;
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.app.remote.ConferenceService;
+import org.openmeetings.app.remote.red5.ClientListManager;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.utils.math.CalendarPatterns;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * RoomService contains methods to manipulate rooms and create invitation hash
+ * 
+ * @author sebawagner
+ * @webservice RoomService
+ * 
+ */
+public class RoomWebService {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			RoomWebService.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private AppointmentDaoImpl appointmentDao;
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private Roommanagement roommanagement;
+	@Autowired
+	private FlvRecordingDaoImpl flvRecordingDao;
+	@Autowired
+	private Invitationmanagement invitationManagement;
+	@Autowired
+	private ScopeApplicationAdapter scopeApplicationAdapter;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+	@Autowired
+	private ConferenceService conferenceService;
+	@Autowired
+	private ClientListManager clientListManager;
+	@Autowired
+	private MeetingMemberLogic meetingMemberLogic;
+
+	/**
+	 * Returns an Object of Type RoomsList which contains a list of
+	 * Room-Objects. Every Room-Object contains a Roomtype and all informations
+	 * about that Room. The List of current-users in the room is Null if you get
+	 * them via SOAP. The Roomtype can be 1 for conference rooms or 2 for
+	 * audience rooms.
+	 * 
+	 * @param SID
+	 *            The SID of the User. This SID must be marked as Loggedin
+	 * @param roomtypes_id
+	 * @return Rooms[]
+	 * @throws AxisFault
+	 */
+	public Rooms[] getRoomsPublic(String SID, Long roomtypes_id)
+			throws AxisFault {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long User_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(User_level)) {
+
+				List<Rooms> roomList = roommanagement.getPublicRooms(
+						User_level, roomtypes_id);
+				// We need to re-marshal the Rooms object cause Axis2 cannot use
+				// our objects
+				if (roomList != null && roomList.size() != 0) {
+					// roomsListObject.setRoomList(roomList);
+					Rooms[] roomItems = new Rooms[roomList.size()];
+					int count = 0;
+					for (Iterator<Rooms> it = roomList.iterator(); it.hasNext();) {
+						Rooms room = it.next();
+						room.setCurrentusers(null);
+						roomItems[count] = room;
+						count++;
+					}
+
+					return roomItems;
+				}
+				log.debug("roomList SIZE: " + roomList.size());
+
+			}
+			return null;
+		} catch (Exception err) {
+			log.error("[getRoomsPublic] ", err);
+			throw new AxisFault(err.getMessage());
+		}
+	}
+
+	/**
+	 * Deletes a flv recording
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param flvRecordingId
+	 *            the id of the recording
+	 * @return
+	 * @throws AxisFault
+	 */
+	public boolean deleteFlvRecording(String SID, Long flvRecordingId)
+			throws AxisFault {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+				return flvRecordingDao.deleteFlvRecording(flvRecordingId);
+			}
+
+		} catch (Exception err) {
+			log.error("[deleteFlvRecording] ", err);
+			throw new AxisFault(err.getMessage());
+		}
+
+		return false;
+	}
+
+	/**
+	 * Gets a list of flv recordings
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param externalUserId
+	 *            the externalUserId
+	 * @return
+	 * @throws AxisFault
+	 */
+	public FLVRecordingReturn[] getFlvRecordingByExternalUserId(String SID,
+			String externalUserId) throws AxisFault {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+				List<FlvRecording> recordingList = flvRecordingDao
+						.getFlvRecordingByExternalUserId(externalUserId);
+
+				// We need to re-marshal the Rooms object cause Axis2 cannot use
+				// our objects
+				if (recordingList != null && recordingList.size() != 0) {
+					// roomsListObject.setRoomList(roomList);
+					FLVRecordingReturn[] recordingListItems = new FLVRecordingReturn[recordingList
+							.size()];
+					int count = 0;
+					for (Iterator<FlvRecording> it = recordingList.iterator(); it
+							.hasNext();) {
+						FlvRecording flvRecording = it.next();
+						recordingListItems[count] = FLVRecordingReturn
+								.initObject(flvRecording);
+						count++;
+					}
+
+					return recordingListItems;
+				}
+
+				return null;
+			}
+
+			return null;
+		} catch (Exception err) {
+			log.error("[getFlvRecordingByExternalRoomType] ", err);
+			throw new AxisFault(err.getMessage());
+		}
+	}
+
+	/**
+	 * Gets a list of flv recordings
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param externalRoomType
+	 *            externalRoomType specified when creating the room
+	 * @param insertedBy
+	 *            the userId that created the recording
+	 * @return
+	 * @throws AxisFault
+	 */
+	public FLVRecordingReturn[] getFlvRecordingByExternalRoomTypeAndCreator(
+			String SID, String externalRoomType, Long insertedBy)
+			throws AxisFault {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+				List<FlvRecording> recordingList = flvRecordingDao
+						.getFlvRecordingByExternalRoomTypeAndCreator(
+								externalRoomType, insertedBy);
+
+				// We need to re-marshal the Rooms object cause Axis2 cannot use
+				// our objects
+				if (recordingList != null && recordingList.size() != 0) {
+					// roomsListObject.setRoomList(roomList);
+					FLVRecordingReturn[] recordingListItems = new FLVRecordingReturn[recordingList
+							.size()];
+					int count = 0;
+					for (Iterator<FlvRecording> it = recordingList.iterator(); it
+							.hasNext();) {
+						FlvRecording flvRecording = it.next();
+						recordingListItems[count] = FLVRecordingReturn
+								.initObject(flvRecording);
+						count++;
+					}
+
+					return recordingListItems;
+				}
+
+				return null;
+			}
+
+			return null;
+		} catch (Exception err) {
+			log.error("[getFlvRecordingByExternalRoomType] ", err);
+			throw new AxisFault(err.getMessage());
+		}
+	}
+
+	/**
+	 * Gets a list of flv recordings
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param externalRoomType
+	 *            externalRoomType specified when creating the room
+	 * @return
+	 * @throws AxisFault
+	 */
+	public List<FlvRecording> getFlvRecordingByExternalRoomTypeByList(
+			String SID, String externalRoomType) throws AxisFault {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+				return flvRecordingDao
+						.getFlvRecordingByExternalRoomType(externalRoomType);
+
+			}
+
+			return null;
+		} catch (Exception err) {
+			log.error("[getFlvRecordingByExternalRoomType] ", err);
+			throw new AxisFault(err.getMessage());
+		}
+	}
+
+	/**
+	 * Gets a list of flv recordings
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param externalRoomType
+	 *            externalRoomType specified when creating the room
+	 * @return
+	 * @throws AxisFault
+	 */
+	public FlvRecording[] getFlvRecordingByExternalRoomType(String SID,
+			String externalRoomType) throws AxisFault {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+				List<FlvRecording> recordingList = flvRecordingDao
+						.getFlvRecordingByExternalRoomType(externalRoomType);
+
+				// We need to re-marshal the Rooms object cause Axis2 cannot use
+				// our objects
+				if (recordingList != null && recordingList.size() != 0) {
+					// roomsListObject.setRoomList(roomList);
+					FlvRecording[] recordingListItems = new FlvRecording[recordingList
+							.size()];
+					int count = 0;
+					for (Iterator<FlvRecording> it = recordingList.iterator(); it
+							.hasNext();) {
+						FlvRecording flvRecording = it.next();
+						recordingListItems[count] = flvRecording;
+						count++;
+					}
+
+					return recordingListItems;
+				}
+
+				return null;
+			}
+
+			return null;
+		} catch (Exception err) {
+			log.error("[getFlvRecordingByExternalRoomType] ", err);
+			throw new AxisFault(err.getMessage());
+		}
+	}
+
+	/**
+	 * Get list of recordings
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param roomId
+	 *            the room id
+	 * @return
+	 * @throws AxisFault
+	 */
+	public FlvRecording[] getFlvRecordingByRoomId(String SID, Long roomId)
+			throws AxisFault {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				List<FlvRecording> recordingList = flvRecordingDao
+						.getFlvRecordingByRoomId(roomId);
+
+				// We need to re-marshal the Rooms object cause Axis2 cannot use
+				// our objects
+				if (recordingList != null && recordingList.size() != 0) {
+					// roomsListObject.setRoomList(roomList);
+					FlvRecording[] recordingListItems = new FlvRecording[recordingList
+							.size()];
+					int count = 0;
+					for (Iterator<FlvRecording> it = recordingList.iterator(); it
+							.hasNext();) {
+						FlvRecording flvRecording = it.next();
+						recordingListItems[count] = flvRecording;
+						count++;
+					}
+
+					return recordingListItems;
+				}
+
+				return null;
+			}
+
+			return null;
+		} catch (Exception err) {
+			log.error("[getFlvRecordingByExternalRoomType] ", err);
+			throw new AxisFault(err.getMessage());
+		}
+	}
+
+	/**
+	 * List of available room types
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @return
+	 * @throws AxisFault
+	 */
+	public RoomTypes[] getRoomTypes(String SID) throws AxisFault {
+		try {
+			List<RoomTypes> rommTypesList = conferenceService.getRoomTypes(SID);
+			RoomTypes[] roomTypesArray = new RoomTypes[rommTypesList.size()];
+
+			int count = 0;
+			for (Iterator<RoomTypes> it = rommTypesList.iterator(); it
+					.hasNext();) {
+				RoomTypes roomType = it.next();
+				roomTypesArray[count] = roomType;
+				count++;
+			}
+
+			return roomTypesArray;
+
+		} catch (Exception err) {
+			log.error("[getRoomTypes]", err);
+			throw new AxisFault(err.getMessage());
+		}
+	}
+
+	/**
+	 * Returns current users for rooms ids
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param roomId1
+	 * @param roomId2
+	 * @param roomId3
+	 * @param roomId4
+	 * @param roomId5
+	 * @param roomId6
+	 * @param roomId7
+	 * @param roomId8
+	 * @param roomId9
+	 * @param roomId10
+	 * @return
+	 * @throws AxisFault
+	 */
+	public RoomCountBean[] getRoomCounters(String SID, Integer roomId1,
+			Integer roomId2, Integer roomId3, Integer roomId4, Integer roomId5,
+			Integer roomId6, Integer roomId7, Integer roomId8, Integer roomId9,
+			Integer roomId10) throws AxisFault {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				LinkedList<Integer> roomIds = new LinkedList<Integer>();
+
+				if (roomId1 != null && roomId1 > 0) {
+					roomIds.push(roomId1);
+				}
+				if (roomId2 != null && roomId2 > 0) {
+					log.debug("roomId2 :: " + roomId2);
+					roomIds.push(roomId2);
+				}
+				if (roomId3 != null && roomId3 > 0) {
+					roomIds.push(roomId3);
+				}
+				if (roomId4 != null && roomId4 > 0) {
+					roomIds.push(roomId4);
+				}
+				if (roomId5 != null && roomId5 > 0) {
+					roomIds.push(roomId5);
+				}
+				if (roomId6 != null && roomId6 > 0) {
+					roomIds.push(roomId6);
+				}
+				if (roomId7 != null && roomId7 > 0) {
+					roomIds.push(roomId7);
+				}
+				if (roomId8 != null && roomId8 > 0) {
+					roomIds.push(roomId8);
+				}
+				if (roomId9 != null && roomId9 > 0) {
+					roomIds.push(roomId9);
+				}
+				if (roomId10 != null && roomId10 > 0) {
+					roomIds.push(roomId10);
+				}
+
+				List<Rooms> rooms = roommanagement.getRoomsByIds(roomIds);
+
+				RoomCountBean[] roomsArray = new RoomCountBean[rooms.size()];
+
+				int i = 0;
+				for (Rooms room : rooms) {
+
+					HashMap<String, RoomClient> map = clientListManager
+							.getClientListByRoom(room.getRooms_id());
+
+					// room.setCurrentusers(new LinkedList<RoomClient>());
+
+					// for (Iterator<String> iter = map.keySet().iterator();
+					// iter.hasNext(); ) {
+					// room.getCurrentusers().add(map.get(iter.next()));
+					// }
+
+					RoomCountBean rCountBean = new RoomCountBean();
+					rCountBean.setRoomId(room.getRooms_id());
+					rCountBean.setRoomName(room.getName());
+					rCountBean.setMaxUser(room.getNumberOfPartizipants()
+							.intValue());
+					rCountBean.setRoomCount(map.size());
+
+					roomsArray[i] = rCountBean;
+					i++;
+				}
+
+				return roomsArray;
+			}
+
+		} catch (Exception err) {
+			log.error("[getRoomTypes]", err);
+			throw new AxisFault(err.getMessage());
+		}
+		return null;
+	}
+
+	/**
+	 * returns a conference room object
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param rooms_id
+	 *            the room id
+	 * @return
+	 */
+	public Rooms getRoomById(String SID, long rooms_id) {
+		return conferenceService.getRoomById(SID, rooms_id);
+	}
+
+	/**
+	 * @deprecated this function is intend to be deleted
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param rooms_id
+	 * @return
+	 */
+	@Deprecated
+	public Rooms getRoomWithCurrentUsersById(String SID, long rooms_id) {
+		return conferenceService.getRoomWithCurrentUsersById(SID, rooms_id);
+	}
+
+	/**
+	 * Returns a object of type RoomReturn
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param rooms_id
+	 * @return
+	 * @throws AxisFault
+	 */
+	public RoomReturn getRoomWithClientObjectsById(String SID, long rooms_id)
+			throws AxisFault {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				Rooms room = roommanagement.getRoomById(user_level, rooms_id);
+
+				RoomReturn roomReturn = new RoomReturn();
+
+				roomReturn.setCreated(room.getStarttime());
+				roomReturn.setCreator(null);
+				roomReturn.setName(room.getName());
+				roomReturn.setRoom_id(room.getRooms_id());
+
+				HashMap<String, RoomClient> map = clientListManager
+						.getClientListByRoom(room.getRooms_id());
+
+				RoomUser[] roomUsers = new RoomUser[map.size()];
+
+				int i = 0;
+				for (Iterator<String> iter = map.keySet().iterator(); iter
+						.hasNext();) {
+					RoomClient rcl = map.get(iter.next());
+
+					RoomUser roomUser = new RoomUser();
+					roomUser.setFirstname(rcl.getFirstname());
+					roomUser.setLastname(rcl.getLastname());
+					roomUser.setBroadcastId(rcl.getBroadCastID());
+					roomUser.setPublicSID(rcl.getPublicSID());
+					roomUser.setIsBroadCasting(rcl.getIsBroadcasting());
+					roomUser.setAvsettings(rcl.getAvsettings());
+
+					roomUsers[i] = roomUser;
+
+					i++;
+
+				}
+
+				roomReturn.setRoomUser(roomUsers);
+
+				return roomReturn;
+			}
+
+			return null;
+
+		} catch (Exception err) {
+			log.error("[getRoomWithClientObjectsById]", err);
+			throw new AxisFault(err.getMessage());
+		}
+
+	}
+
+	/**
+	 * Returns a List of Objects of Rooms You can use "name" as value for
+	 * orderby or rooms_id
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param start
+	 *            The id you want to start
+	 * @param max
+	 *            The maximum you want to get
+	 * @param orderby
+	 *            The column it will be ordered
+	 * @param asc
+	 *            Asc or Desc sort ordering
+	 * @return
+	 */
+	public SearchResult<Rooms> getRooms(String SID, int start, int max,
+			String orderby, boolean asc) {
+		return conferenceService.getRooms(SID, start, max, orderby, asc, "");
+	}
+
+	/**
+	 * Returns a List of Objects of Rooms You can use "name" as value for
+	 * orderby or rooms_id. It also fills the attribute currentUsers in the
+	 * Room-Object
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param start
+	 *            The id you want to start
+	 * @param max
+	 *            The maximum you want to get
+	 * @param orderby
+	 *            The column it will be ordered
+	 * @param asc
+	 *            Asc or Desc sort ordering
+	 * @return
+	 */
+	public SearchResult<Rooms> getRoomsWithCurrentUsers(String SID, int start,
+			int max, String orderby, boolean asc) {
+		return conferenceService.getRoomsWithCurrentUsers(SID, start, max,
+				orderby, asc);
+	}
+
+	// TODO: Add functions to get Users of a Room
+
+	/**
+	 * TODO: Fix Organization Issue
+	 * 
+	 * deprecated use addRoomWithModeration instead
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param name
+	 * @param roomtypes_id
+	 * @param comment
+	 * @param numberOfPartizipants
+	 * @param ispublic
+	 * @param videoPodWidth
+	 * @param videoPodHeight
+	 * @param videoPodXPosition
+	 * @param videoPodYPosition
+	 * @param moderationPanelXPosition
+	 * @param showWhiteBoard
+	 * @param whiteBoardPanelXPosition
+	 * @param whiteBoardPanelYPosition
+	 * @param whiteBoardPanelHeight
+	 * @param whiteBoardPanelWidth
+	 * @param showFilesPanel
+	 * @param filesPanelXPosition
+	 * @param filesPanelYPosition
+	 * @param filesPanelHeight
+	 * @param filesPanelWidth
+	 * @return
+	 */
+	@Deprecated
+	public Long addRoom(String SID, String name, Long roomtypes_id,
+			String comment, Long numberOfPartizipants, Boolean ispublic,
+			Integer videoPodWidth, Integer videoPodHeight,
+			Integer videoPodXPosition, Integer videoPodYPosition,
+			Integer moderationPanelXPosition, Boolean showWhiteBoard,
+			Integer whiteBoardPanelXPosition, Integer whiteBoardPanelYPosition,
+			Integer whiteBoardPanelHeight, Integer whiteBoardPanelWidth,
+			Boolean showFilesPanel, Integer filesPanelXPosition,
+			Integer filesPanelYPosition, Integer filesPanelHeight,
+			Integer filesPanelWidth) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			return roommanagement.addRoom(user_level, name, roomtypes_id,
+					comment, numberOfPartizipants, ispublic, null, false,
+					false, null, false, null, true, false, false, "", "", "",
+					null, null, null, 
+					false, // hideTopBar
+					false, // hideChat
+					false, // hideActivitiesAndActions
+					false, // hideFilesExplorer
+					false, // hideActionsMenu
+					false, // hideScreenSharing 
+					false, // hideWhiteboard
+					false //showMicrophoneStatus
+					);
+		} catch (Exception err) {
+			log.error("[addRoom] ", err);
+		}
+		return new Long(-1);
+	}
+
+	/**
+	 * Create a conference room
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param name
+	 *            Name of the Room
+	 * @param roomtypes_id
+	 *            Type of that room (1 = Conference, 2 = Audience, 3 =
+	 *            Restricted, 4 = Interview)
+	 * @param comment
+	 *            any comment
+	 * @param numberOfPartizipants
+	 *            the maximum users allowed in this room
+	 * @param ispublic
+	 *            If this room is public (use true if you don't deal with
+	 *            different Organizations)
+	 * @param appointment
+	 *            is it a Calendar Room (use false by default)
+	 * @param isDemoRoom
+	 *            is it a Demo Room with limited time (use false by default)
+	 * @param demoTime
+	 *            time in seconds after the user will be logged out (only
+	 *            enabled if isDemoRoom is true)
+	 * @param isModeratedRoom
+	 *            Users have to wait untill a Moderator arrives. Use the
+	 *            becomeModerator param in setUserObjectAndGenerateRoomHash to
+	 *            set a user as default Moderator
+	 * @return
+	 */
+	public Long addRoomWithModeration(String SID, String name,
+			Long roomtypes_id, String comment, Long numberOfPartizipants,
+			Boolean ispublic, Boolean appointment, Boolean isDemoRoom,
+			Integer demoTime, Boolean isModeratedRoom) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			return roommanagement.addRoom(user_level, name, roomtypes_id,
+					comment, numberOfPartizipants, ispublic, null, appointment,
+					isDemoRoom, demoTime, isModeratedRoom, null, true, false,
+					false, "", "", "", null, null, null, 
+					false, // hideTopBar
+					false, // hideChat
+					false, // hideActivitiesAndActions
+					false, // hideFilesExplorer
+					false, // hideActionsMenu
+					false, // hideScreenSharing 
+					false, // hideWhiteboard
+					false //showMicrophoneStatus
+					);
+		} catch (Exception err) {
+			log.error("[addRoomWithModeration] ", err);
+		}
+		return new Long(-1);
+	}
+
+	/**
+	 * this SOAP Method has an additional param to enable or disable the buttons
+	 * to apply for moderation this does only work in combination with the
+	 * room-type restricted
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param name
+	 *            Name of the Room
+	 * @param roomtypes_id
+	 *            Type of that room (1 = Conference, 2 = Audience, 3 =
+	 *            Restricted, 4 = Interview)
+	 * @param comment
+	 *            any comment
+	 * @param numberOfPartizipants
+	 *            the maximum users allowed in this room
+	 * @param ispublic
+	 *            If this room is public (use true if you don't deal with
+	 *            different Organizations)
+	 * @param appointment
+	 *            is it a Calendar Room (use false by default)
+	 * @param isDemoRoom
+	 *            is it a Demo Room with limited time (use false by default)
+	 * @param demoTime
+	 *            time in seconds after the user will be logged out (only
+	 *            enabled if isDemoRoom is true)
+	 * @param isModeratedRoom
+	 *            Users have to wait untill a Moderator arrives. Use the
+	 *            becomeModerator param in setUserObjectAndGenerateRoomHash to
+	 *            set a user as default Moderator
+	 * @param allowUserQuestions
+	 *            enable or disable the button to allow users to apply for
+	 *            moderation
+	 * @return
+	 */
+	public Long addRoomWithModerationAndQuestions(String SID, String name,
+			Long roomtypes_id, String comment, Long numberOfPartizipants,
+			Boolean ispublic, Boolean appointment, Boolean isDemoRoom,
+			Integer demoTime, Boolean isModeratedRoom,
+			Boolean allowUserQuestions) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			return roommanagement.addRoom(user_level, name, roomtypes_id,
+					comment, numberOfPartizipants, ispublic, null, appointment,
+					isDemoRoom, demoTime, isModeratedRoom, null,
+					allowUserQuestions, false, false, "", "", "", null, null,
+					null, 
+					false, // hideTopBar
+					false, // hideChat
+					false, // hideActivitiesAndActions
+					false, // hideFilesExplorer
+					false, // hideActionsMenu
+					false, // hideScreenSharing 
+					false, // hideWhiteboard
+					false //showMicrophoneStatus
+					);
+		} catch (Exception err) {
+			log.error("[addRoomWithModerationAndQuestions] ", err);
+		}
+		return new Long(-1);
+	}
+
+	/**
+	 * 
+	 * adds a new room with options for user questions and audio only
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param name
+	 *            Name of the Room
+	 * @param roomtypes_id
+	 *            Type of that room (1 = Conference, 2 = Audience, 3 =
+	 *            Restricted, 4 = Interview)
+	 * @param comment
+	 *            any comment
+	 * @param numberOfPartizipants
+	 *            the maximum users allowed in this room
+	 * @param ispublic
+	 *            If this room is public (use true if you don't deal with
+	 *            different Organizations)
+	 * @param appointment
+	 *            is it a Calendar Room (use false by default)
+	 * @param isDemoRoom
+	 *            is it a Demo Room with limited time (use false by default)
+	 * @param demoTime
+	 *            time in seconds after the user will be logged out (only
+	 *            enabled if isDemoRoom is true)
+	 * @param isModeratedRoom
+	 *            Users have to wait until a Moderator arrives. Use the
+	 *            becomeModerator param in setUserObjectAndGenerateRoomHash to
+	 *            set a user as default Moderator
+	 * @param allowUserQuestions
+	 *            enable or disable the button to allow users to apply for
+	 *            moderation
+	 * @param isAudioOnly
+	 *            enable or disable the video / or audio-only
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long addRoomWithModerationQuestionsAndAudioType(String SID,
+			String name, Long roomtypes_id, String comment,
+			Long numberOfPartizipants, Boolean ispublic, Boolean appointment,
+			Boolean isDemoRoom, Integer demoTime, Boolean isModeratedRoom,
+			Boolean allowUserQuestions, Boolean isAudioOnly) throws AxisFault {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			return roommanagement.addRoom(user_level, name, roomtypes_id,
+					comment, numberOfPartizipants, ispublic, null, appointment,
+					isDemoRoom, demoTime, isModeratedRoom, null,
+					allowUserQuestions, isAudioOnly, false, "", "", "", null,
+					null, null, 
+					false, // hideTopBar
+					false, // hideChat
+					false, // hideActivitiesAndActions
+					false, // hideFilesExplorer
+					false, // hideActionsMenu
+					false, // hideScreenSharing 
+					false, // hideWhiteboard
+					false //showMicrophoneStatus
+					);
+		} catch (Exception err) {
+			log.error("[addRoomWithModerationQuestionsAndAudioType] ", err);
+			throw new AxisFault(err.getMessage());
+		}
+	}
+	
+	/**
+	 * 
+	 * adds a new room with options for user questions, audio only and hide
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param name
+	 *            Name of the Room
+	 * @param roomtypes_id
+	 *            Type of that room (1 = Conference, 2 = Audience, 3 =
+	 *            Restricted, 4 = Interview)
+	 * @param comment
+	 *            any comment
+	 * @param numberOfPartizipants
+	 *            the maximum users allowed in this room
+	 * @param ispublic
+	 *            If this room is public (use true if you don't deal with
+	 *            different Organizations)
+	 * @param appointment
+	 *            is it a Calendar Room (use false by default)
+	 * @param isDemoRoom
+	 *            is it a Demo Room with limited time (use false by default)
+	 * @param demoTime
+	 *            time in seconds after the user will be logged out (only
+	 *            enabled if isDemoRoom is true)
+	 * @param isModeratedRoom
+	 *            Users have to wait until a Moderator arrives. Use the
+	 *            becomeModerator param in setUserObjectAndGenerateRoomHash to
+	 *            set a user as default Moderator
+	 * @param allowUserQuestions
+	 *            enable or disable the button to allow users to apply for
+	 *            moderation
+	 * @param isAudioOnly
+	 *            enable or disable the video / or audio-only
+	 * 
+	 * @param hideTopBar
+	 *            hide or show TopBar
+	 * @param hideChat
+	 *            hide or show Chat           
+	 * @param hideActivitiesAndActions
+	 *            hide or show Activities And Actions
+	 * @param hideFilesExplorer
+	 *            hide or show Files Explorer
+	 * @param hideActionsMenu
+	 *            hide or show Actions Menu
+	 * @param hideScreenSharing
+	 *            hide or show Screen Sharing           
+	 * @param hideWhiteboard
+	 *            hide or show Whiteboard. If whitboard is hidden, video pods and scrollbar  appear instead.
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long addRoomWithModerationQuestionsAudioTypeAndHideOptions(String SID,
+			String name, Long roomtypes_id, String comment,
+			Long numberOfPartizipants, Boolean ispublic, Boolean appointment,
+			Boolean isDemoRoom, Integer demoTime, Boolean isModeratedRoom,
+			Boolean allowUserQuestions, Boolean isAudioOnly, Boolean hideTopBar, Boolean hideChat, 
+			Boolean hideActivitiesAndActions, Boolean hideFilesExplorer, 
+			Boolean hideActionsMenu, Boolean hideScreenSharing, 
+			Boolean hideWhiteboard) throws AxisFault {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			return roommanagement.addRoom(user_level, name, roomtypes_id,
+					comment, numberOfPartizipants, ispublic, null, appointment,
+					isDemoRoom, demoTime, isModeratedRoom, null,
+					allowUserQuestions, isAudioOnly, false, "", "", "", null,
+					null, null, hideTopBar, hideChat, hideActivitiesAndActions, hideFilesExplorer, 
+					hideActionsMenu, hideScreenSharing, hideWhiteboard, false);
+		} catch (Exception err) {
+			log.error("[addRoomWithModerationQuestionsAudioTypeAndHideOptions] ", err);
+			throw new AxisFault(err.getMessage());
+		}
+	}
+
+	/**
+	 * Checks if a room with this exteralRoomId + externalRoomType does exist,
+	 * if yes it returns the room id if not, it will create the room and then
+	 * return the room id of the newly created room
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param name
+	 *            Name of the room
+	 * @param roomtypes_id
+	 *            Type of that room (1 = Conference, 2 = Audience, 3 =
+	 *            Restricted, 4 = Interview)
+	 * @param comment
+	 *            any comment
+	 * @param numberOfPartizipants
+	 *            the maximum users allowed in this room
+	 * @param ispublic
+	 *            If this room is public (use true if you don't deal with
+	 *            different Organizations)
+	 * @param appointment
+	 *            is it a Calendar Room? (use false if not sure what that means)
+	 * @param isDemoRoom
+	 *            is it a Demo Room with limited time? (use false if not sure
+	 *            what that means)
+	 * @param demoTime
+	 *            time in seconds after the user will be logged out (only
+	 *            enabled if isDemoRoom is true)
+	 * @param isModeratedRoom
+	 *            Users have to wait untill a Moderator arrives. Use the
+	 *            becomeModerator param in setUserObjectAndGenerateRoomHash to
+	 *            set a user as default Moderator
+	 * @param externalRoomId
+	 *            your external room id may set here
+	 * @param externalRoomType
+	 *            you can specify your system-name or type of room here, for
+	 *            example "moodle"
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long getRoomIdByExternalId(String SID, String name,
+			Long roomtypes_id, String comment, Long numberOfPartizipants,
+			Boolean ispublic, Boolean appointment, Boolean isDemoRoom,
+			Integer demoTime, Boolean isModeratedRoom, Long externalRoomId,
+			String externalRoomType) throws AxisFault {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+				Rooms room = conferenceService.getRoomByExternalId(SID,
+						externalRoomId, externalRoomType, roomtypes_id);
+				Long roomId = null;
+				if (room == null) {
+					roomId = roommanagement.addExternalRoom(name, roomtypes_id,
+							comment, numberOfPartizipants, ispublic, null,
+							appointment, isDemoRoom, demoTime, isModeratedRoom,
+							null, externalRoomId, externalRoomType, true,
+							false, false, "", false, true, false);
+				} else {
+					roomId = room.getRooms_id();
+				}
+				return roomId;
+			}
+
+			return -26L;
+		} catch (Exception err) {
+			log.error("[addRoomWithModeration] ", err);
+			throw new AxisFault(err.getMessage());
+		}
+		// return new Long (-1);
+	}
+
+	/**
+	 * TODO: Fix Organization Issue deprecated use updateRoomWithModeration
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param rooms_id
+	 * @param name
+	 * @param roomtypes_id
+	 * @param comment
+	 * @param numberOfPartizipants
+	 * @param ispublic
+	 * @param videoPodWidth
+	 * @param videoPodHeight
+	 * @param videoPodXPosition
+	 * @param videoPodYPosition
+	 * @param moderationPanelXPosition
+	 * @param showWhiteBoard
+	 * @param whiteBoardPanelXPosition
+	 * @param whiteBoardPanelYPosition
+	 * @param whiteBoardPanelHeight
+	 * @param whiteBoardPanelWidth
+	 * @param showFilesPanel
+	 * @param filesPanelXPosition
+	 * @param filesPanelYPosition
+	 * @param filesPanelHeight
+	 * @param filesPanelWidth
+	 * @return
+	 */
+	@Deprecated
+	public Long updateRoom(String SID, Long rooms_id, String name,
+			Long roomtypes_id, String comment, Long numberOfPartizipants,
+			Boolean ispublic, Integer videoPodWidth, Integer videoPodHeight,
+			Integer videoPodXPosition, Integer videoPodYPosition,
+			Integer moderationPanelXPosition, Boolean showWhiteBoard,
+			Integer whiteBoardPanelXPosition, Integer whiteBoardPanelYPosition,
+			Integer whiteBoardPanelHeight, Integer whiteBoardPanelWidth,
+			Boolean showFilesPanel, Integer filesPanelXPosition,
+			Integer filesPanelYPosition, Integer filesPanelHeight,
+			Integer filesPanelWidth, Boolean appointment) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+				return roommanagement.updateRoomInternal(rooms_id,
+						roomtypes_id, name, ispublic, comment,
+						numberOfPartizipants, null, appointment, false, null,
+						false, null, true, false, false, "", "", "", null,
+						null, null, 
+						false, // hideTopBar
+						false, // hideChat
+						false, // hideActivitiesAndActions
+						false, // hideFilesExplorer
+						false, // hideActionsMenu
+						false, // hideScreenSharing 
+						false, // hideWhiteboard
+						false //showMicrophoneStatus
+						);
+			}
+		} catch (Exception err) {
+			log.error("[addRoom] ", err);
+		}
+		return new Long(-1);
+	}
+
+	/**
+	 * Updates a conference room by its room id
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param room_id
+	 *            the room id to update
+	 * @param name
+	 *            new name of the room
+	 * @param roomtypes_id
+	 *            new type of room (1 = Conference, 2 = Audience, 3 =
+	 *            Restricted, 4 = Interview)
+	 * @param comment
+	 *            new comment
+	 * @param numberOfPartizipants
+	 *            new numberOfParticipants
+	 * @param ispublic
+	 *            is public
+	 * @param appointment
+	 *            if the room is an appointment
+	 * @param isDemoRoom
+	 *            is it a Demo Room with limited time? (use false if not sure
+	 *            what that means)
+	 * @param demoTime
+	 *            time in seconds after the user will be logged out (only
+	 *            enabled if isDemoRoom is true)
+	 * @param isModeratedRoom
+	 *            Users have to wait until a Moderator arrives. Use the
+	 *            becomeModerator parameter in setUserObjectAndGenerateRoomHash
+	 *            to set a user as default Moderator
+	 * @return
+	 */
+	public Long updateRoomWithModeration(String SID, Long room_id, String name,
+			Long roomtypes_id, String comment, Long numberOfPartizipants,
+			Boolean ispublic, Boolean appointment, Boolean isDemoRoom,
+			Integer demoTime, Boolean isModeratedRoom) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+				return roommanagement.updateRoomInternal(room_id, roomtypes_id,
+						name, ispublic, comment, numberOfPartizipants, null,
+						appointment, isDemoRoom, demoTime, isModeratedRoom,
+						null, true, false, false, "", "", "", null, null, null, 
+						false, // hideTopBar
+						false, // hideChat
+						false, // hideActivitiesAndActions
+						false, // hideFilesExplorer
+						false, // hideActionsMenu
+						false, // hideScreenSharing 
+						false, // hideWhiteboard
+						false //showMicrophoneStatus
+						);
+			}
+		} catch (Exception err) {
+			log.error("[updateRoomWithModeration] ", err);
+		}
+		return new Long(-1);
+	}
+
+	/**
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param room_id
+	 *            the room id to update
+	 * @param name
+	 *            new name of the room
+	 * @param roomtypes_id
+	 *            new type of room (1 = Conference, 2 = Audience, 3 =
+	 *            Restricted, 4 = Interview)
+	 * @param comment
+	 *            new comment
+	 * @param numberOfPartizipants
+	 *            new numberOfParticipants
+	 * @param ispublic
+	 *            is public
+	 * @param appointment
+	 *            if the room is an appointment
+	 * @param isDemoRoom
+	 *            is it a Demo Room with limited time? (use false if not sure
+	 *            what that means)
+	 * @param demoTime
+	 *            time in seconds after the user will be logged out (only
+	 *            enabled if isDemoRoom is true)
+	 * @param isModeratedRoom
+	 *            Users have to wait until a Moderator arrives. Use the
+	 *            becomeModerator parameter in setUserObjectAndGenerateRoomHash
+	 *            to set a user as default Moderator
+	 * @param allowUserQuestions
+	 *            enable or disable the button to allow users to apply for
+	 *            moderation
+	 * @return
+	 */
+	public Long updateRoomWithModerationAndQuestions(String SID, Long room_id,
+			String name, Long roomtypes_id, String comment,
+			Long numberOfPartizipants, Boolean ispublic, Boolean appointment,
+			Boolean isDemoRoom, Integer demoTime, Boolean isModeratedRoom,
+			Boolean allowUserQuestions) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+				return roommanagement.updateRoomInternal(room_id, roomtypes_id,
+						name, ispublic, comment, numberOfPartizipants, null,
+						appointment, isDemoRoom, demoTime, isModeratedRoom,
+						null, allowUserQuestions, false, false, "", "", "",
+						null, null, null, 
+						false, // hideTopBar
+						false, // hideChat
+						false, // hideActivitiesAndActions
+						false, // hideFilesExplorer
+						false, // hideActionsMenu
+						false, // hideScreenSharing 
+						false, // hideWhiteboard
+						false //showMicrophoneStatus
+						);
+			}
+		} catch (Exception err) {
+			log.error("[updateRoomWithModerationAndQuestions] ", err);
+		}
+		return new Long(-1);
+	}
+	
+	/**
+	 * 
+	 * update room with options for user questions, audio only and hide
+	 * 
+	 * * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param room_id
+	 *            the room id to update
+	 * @param name
+	 *            new name of the room
+	 * @param roomtypes_id
+	 *            new type of room (1 = Conference, 2 = Audience, 3 =
+	 *            Restricted, 4 = Interview)
+	 * @param comment
+	 *            new comment
+	 * @param numberOfPartizipants
+	 *            new numberOfParticipants
+	 * @param ispublic
+	 *            is public
+	 * @param appointment
+	 *            if the room is an appointment
+	 * @param isDemoRoom
+	 *            is it a Demo Room with limited time? (use false if not sure
+	 *            what that means)
+	 * @param demoTime
+	 *            time in seconds after the user will be logged out (only
+	 *            enabled if isDemoRoom is true)
+	 * @param isModeratedRoom
+	 *            Users have to wait until a Moderator arrives. Use the
+	 *            becomeModerator parameter in setUserObjectAndGenerateRoomHash
+	 *            to set a user as default Moderator
+	 * @param allowUserQuestions
+	 *            enable or disable the button to allow users to apply for
+	 *            moderation
+	 * @param isAudioOnly
+	 *            enable or disable the video / or audio-only
+	 * 
+	 * @param hideTopBar
+	 *            hide or show TopBar
+	 * @param hideChat
+	 *            hide or show Chat           
+	 * @param hideActivitiesAndActions
+	 *            hide or show Activities And Actions
+	 * @param hideFilesExplorer
+	 *            hide or show Files Explorer
+	 * @param hideActionsMenu
+	 *            hide or show Actions Menu
+	 * @param hideScreenSharing
+	 *            hide or show Screen Sharing           
+	 * @param hideWhiteboard
+	 *            hide or show Whiteboard. If whitboard is hidden, video pods and scrollbar  appear instead.
+	 * @return
+	 * @throws AxisFault
+	 */	
+	public Long updateRoomWithModerationQuestionsAudioTypeAndHideOptions(String SID, Long room_id,
+			String name, Long roomtypes_id, String comment,
+			Long numberOfPartizipants, Boolean ispublic, Boolean appointment,
+			Boolean isDemoRoom, Integer demoTime, Boolean isModeratedRoom,
+			Boolean allowUserQuestions, Boolean isAudioOnly, Boolean hideTopBar, Boolean hideChat, 
+			Boolean hideActivitiesAndActions, Boolean hideFilesExplorer, 
+			Boolean hideActionsMenu, Boolean hideScreenSharing, 
+			Boolean hideWhiteboard) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+				return roommanagement.updateRoomInternal(room_id, roomtypes_id,
+						name, ispublic, comment, numberOfPartizipants, null,
+						appointment, isDemoRoom, demoTime, isModeratedRoom,
+						null, allowUserQuestions, false, false, "", "", "",
+						null, null, null, hideTopBar, hideChat, hideActivitiesAndActions, hideFilesExplorer, 
+						hideActionsMenu, hideScreenSharing, hideWhiteboard, 
+						false // showMicrophoneStatus
+						);
+			}
+		} catch (Exception err) {
+			log.error("[updateRoomWithModerationAndQuestions] ", err);
+		}
+		return new Long(-1);
+	}
+
+	/**
+	 * Delete a room by its room id
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param rooms_id
+	 * @return
+	 */
+	public Long deleteRoom(String SID, long rooms_id) {
+		return conferenceService.deleteRoom(SID, rooms_id);
+	}
+
+	/**
+	 * kick all uses of a certain room
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin _Admin
+	 * @param room_id
+	 *            the room id
+	 * @return
+	 */
+	public Boolean kickUser(String SID_Admin, Long room_id) {
+		try {
+			Boolean salida = false;
+
+			salida = userManagement.kickUserByStreamId(SID_Admin, room_id);
+
+			if (salida == null)
+				salida = false;
+
+			return salida;
+		} catch (Exception err) {
+			log.error("[kickUser]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * Add a new conference room with option to set the external room type, the
+	 * external room type should be set if multiple applications use the same
+	 * OpenMeetings instance
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param name
+	 *            new name of the room
+	 * @param roomtypes_id
+	 *            new type of room (1 = Conference, 2 = Audience, 3 =
+	 *            Restricted, 4 = Interview)
+	 * @param comment
+	 *            new comment
+	 * @param numberOfPartizipants
+	 *            new numberOfParticipants
+	 * @param ispublic
+	 *            is public
+	 * @param appointment
+	 *            if the room is an appointment
+	 * @param isDemoRoom
+	 *            is it a Demo Room with limited time? (use false if not sure
+	 *            what that means)
+	 * @param demoTime
+	 *            time in seconds after the user will be logged out (only
+	 *            enabled if isDemoRoom is true)
+	 * @param isModeratedRoom
+	 *            Users have to wait until a Moderator arrives. Use the
+	 *            becomeModerator parameter in setUserObjectAndGenerateRoomHash
+	 *            to set a user as default Moderator
+	 * @param externalRoomType
+	 *            the external room type (can be used to identify different
+	 *            external systems using same OpenMeetings instance)
+	 * @return
+	 */
+	public Long addRoomWithModerationAndExternalType(String SID, String name,
+			Long roomtypes_id, String comment, Long numberOfPartizipants,
+			Boolean ispublic, Boolean appointment, Boolean isDemoRoom,
+			Integer demoTime, Boolean isModeratedRoom, String externalRoomType) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+				return roommanagement.addExternalRoom(name, roomtypes_id,
+						comment, numberOfPartizipants, ispublic, null,
+						appointment, isDemoRoom, demoTime, isModeratedRoom,
+						null, null, externalRoomType, true, false, false, "",
+						false, true, false);
+			}
+		} catch (Exception err) {
+			log.error("[addRoomWithModeration] ", err);
+		}
+		return new Long(-1);
+	}
+
+	/**
+	 * Adds a new room with options for audio only
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param name
+	 *            new name of the room
+	 * @param roomtypes_id
+	 *            new type of room (1 = Conference, 2 = Audience, 3 =
+	 *            Restricted, 4 = Interview)
+	 * @param comment
+	 *            new comment
+	 * @param numberOfPartizipants
+	 *            new numberOfParticipants
+	 * @param ispublic
+	 *            is public
+	 * @param appointment
+	 *            if the room is an appointment
+	 * @param isDemoRoom
+	 *            is it a Demo Room with limited time? (use false if not sure
+	 *            what that means)
+	 * @param demoTime
+	 *            time in seconds after the user will be logged out (only
+	 *            enabled if isDemoRoom is true)
+	 * @param isModeratedRoom
+	 *            Users have to wait until a Moderator arrives. Use the
+	 *            becomeModerator parameter in setUserObjectAndGenerateRoomHash
+	 *            to set a user as default Moderator
+	 * @param externalRoomType
+	 *            the external room type (can be used to identify different
+	 *            external systems using same OpenMeetings instance)
+	 * @param allowUserQuestions
+	 *            enable or disable the button to allow users to apply for
+	 *            moderation
+	 * @param isAudioOnly
+	 *            enable or disable the video / or audio-only
+	 * @return
+	 */
+	public Long addRoomWithModerationExternalTypeAndAudioType(String SID,
+			String name, Long roomtypes_id, String comment,
+			Long numberOfPartizipants, Boolean ispublic, Boolean appointment,
+			Boolean isDemoRoom, Integer demoTime, Boolean isModeratedRoom,
+			String externalRoomType, Boolean allowUserQuestions,
+			Boolean isAudioOnly) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+				return roommanagement.addExternalRoom(name, roomtypes_id,
+						comment, numberOfPartizipants, ispublic, null,
+						appointment, isDemoRoom, demoTime, isModeratedRoom,
+						null, null, externalRoomType, allowUserQuestions,
+						isAudioOnly, false, "", false, true, false);
+			}
+		} catch (Exception err) {
+			log.error("[addRoomWithModeration] ", err);
+		}
+		return new Long(-1);
+	}
+
+	/**
+	 * Adds a new room with options for recording
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param name
+	 *            new name of the room
+	 * @param roomtypes_id
+	 *            new type of room (1 = Conference, 2 = Audience, 3 =
+	 *            Restricted, 4 = Interview)
+	 * @param comment
+	 *            new comment
+	 * @param numberOfPartizipants
+	 *            new numberOfParticipants
+	 * @param ispublic
+	 *            is public
+	 * @param appointment
+	 *            if the room is an appointment
+	 * @param isDemoRoom
+	 *            is it a Demo Room with limited time? (use false if not sure
+	 *            what that means)
+	 * @param demoTime
+	 *            time in seconds after the user will be logged out (only
+	 *            enabled if isDemoRoom is true)
+	 * @param isModeratedRoom
+	 *            Users have to wait until a Moderator arrives. Use the
+	 *            becomeModerator parameter in setUserObjectAndGenerateRoomHash
+	 *            to set a user as default Moderator
+	 * @param externalRoomType
+	 *            the external room type (can be used to identify different
+	 *            external systems using same OpenMeetings instance)
+	 * @param allowUserQuestions
+	 *            enable or disable the button to allow users to apply for
+	 *            moderation
+	 * @param isAudioOnly
+	 *            enable or disable the video / or audio-only
+	 * @param waitForRecording
+	 *            if the users in the room will get a notification that they
+	 *            should start recording before they do a conference
+	 * @param allowRecording
+	 *            if the recording option is available or not
+	 * @return
+	 */
+	public Long addRoomWithModerationAndRecordingFlags(String SID, String name,
+			Long roomtypes_id, String comment, Long numberOfPartizipants,
+			Boolean ispublic, Boolean appointment, Boolean isDemoRoom,
+			Integer demoTime, Boolean isModeratedRoom, String externalRoomType,
+			Boolean allowUserQuestions, Boolean isAudioOnly,
+			Boolean waitForRecording, Boolean allowRecording) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+				return roommanagement.addExternalRoom(name, roomtypes_id,
+						comment, numberOfPartizipants, ispublic, null,
+						appointment, isDemoRoom, demoTime, isModeratedRoom,
+						null, null, externalRoomType, allowUserQuestions,
+						isAudioOnly, false, "", waitForRecording,
+						allowRecording, false);
+			} else {
+				return -26L;
+			}
+		} catch (Exception err) {
+			log.error("[addRoomWithModeration] ", err);
+		}
+		return new Long(-1);
+	}
+
+	/**
+	 * Add a conference room with options to disable the top menu bar in the
+	 * conference room
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param name
+	 *            new name of the room
+	 * @param roomtypes_id
+	 *            new type of room (1 = Conference, 2 = Audience, 3 =
+	 *            Restricted, 4 = Interview)
+	 * @param comment
+	 *            new comment
+	 * @param numberOfPartizipants
+	 *            new numberOfParticipants
+	 * @param ispublic
+	 *            is public
+	 * @param appointment
+	 *            if the room is an appointment
+	 * @param isDemoRoom
+	 *            is it a Demo Room with limited time? (use false if not sure
+	 *            what that means)
+	 * @param demoTime
+	 *            time in seconds after the user will be logged out (only
+	 *            enabled if isDemoRoom is true)
+	 * @param isModeratedRoom
+	 *            Users have to wait until a Moderator arrives. Use the
+	 *            becomeModerator parameter in setUserObjectAndGenerateRoomHash
+	 *            to set a user as default Moderator
+	 * @param externalRoomType
+	 *            the external room type (can be used to identify different
+	 *            external systems using same OpenMeetings instance)
+	 * @param allowUserQuestions
+	 *            enable or disable the button to allow users to apply for
+	 *            moderation
+	 * @param isAudioOnly
+	 *            enable or disable the video / or audio-only
+	 * @param waitForRecording
+	 *            if the users in the room will get a notification that they
+	 *            should start recording before they do a conference
+	 * @param allowRecording
+	 *            if the recording option is available or not
+	 * @param hideTopBar
+	 *            if the top bar in the conference room is visible or not
+	 * @return
+	 */
+	public Long addRoomWithModerationExternalTypeAndTopBarOption(String SID,
+			String name, Long roomtypes_id, String comment,
+			Long numberOfPartizipants, Boolean ispublic, Boolean appointment,
+			Boolean isDemoRoom, Integer demoTime, Boolean isModeratedRoom,
+			String externalRoomType, Boolean allowUserQuestions,
+			Boolean isAudioOnly, Boolean waitForRecording,
+			Boolean allowRecording, Boolean hideTopBar) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+				return roommanagement.addExternalRoom(name, roomtypes_id,
+						comment, numberOfPartizipants, ispublic, null,
+						appointment, isDemoRoom, demoTime, isModeratedRoom,
+						null, null, externalRoomType, allowUserQuestions,
+						isAudioOnly, false, "", waitForRecording,
+						allowRecording, hideTopBar);
+			}
+		} catch (Exception err) {
+			log.error("[addRoomWithModeration] ", err);
+		}
+		return new Long(-1);
+	}
+
+	/**
+	 * 
+	 * Create a Invitation hash and optionally send it by mail the From to Date
+	 * is as String as some SOAP libraries do not accept Date Objects in SOAP
+	 * Calls Date is parsed as dd.mm.yyyy, time as hh:mm (don't forget the
+	 * leading zero's)
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 *            a valid Session Token
+	 * @param username
+	 *            the username of the User that he will get
+	 * @param room_id
+	 *            the conference room id of the invitation
+	 * @param isPasswordProtected
+	 *            if the invitation is password protected
+	 * @param invitationpass
+	 *            the password for accessing the conference room via the
+	 *            invitation hash
+	 * @param valid
+	 *            the type of validation for the hash 1: endless, 2: from-to
+	 *            period, 3: one-time
+	 * @param validFromDate
+	 *            Date in Format of dd.mm.yyyy only of interest if valid is type
+	 *            2
+	 * @param validFromTime
+	 *            time in Format of hh:mm only of interest if valid is type 2
+	 * @param validToDate
+	 *            Date in Format of dd.mm.yyyy only of interest if valid is type
+	 *            2
+	 * @param validToTime
+	 *            time in Format of hh:mm only of interest if valid is type 2
+	 * @return a HASH value that can be made into a URL with
+	 *         http://$OPENMEETINGS_HOST
+	 *         :$PORT/openmeetings/?invitationHash="+invitationsHash;
+	 * @throws AxisFault
+	 */
+	public String getInvitationHash(String SID, String username, Long room_id,
+			Boolean isPasswordProtected, String invitationpass, Integer valid,
+			String validFromDate, String validFromTime, String validToDate,
+			String validToTime) throws AxisFault {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				Date dFrom = null;
+				Date dTo = null;
+
+				if (valid == 2) {
+					Integer validFromHour = Integer.valueOf(
+							validFromTime.substring(0, 2)).intValue();
+					Integer validFromMinute = Integer.valueOf(
+							validFromTime.substring(3, 5)).intValue();
+
+					Integer validToHour = Integer.valueOf(
+							validToTime.substring(0, 2)).intValue();
+					Integer validToMinute = Integer.valueOf(
+							validToTime.substring(3, 5)).intValue();
+
+					log.info("validFromHour: " + validFromHour);
+					log.info("validFromMinute: " + validFromMinute);
+
+					Date fromDate = CalendarPatterns.parseDate(validFromDate); // dd.MM.yyyy
+					Date toDate = CalendarPatterns.parseDate(validToDate); // dd.MM.yyyy
+
+					Calendar calFrom = Calendar.getInstance();
+					calFrom.setTime(fromDate);
+					calFrom.set(calFrom.get(Calendar.YEAR),
+							calFrom.get(Calendar.MONTH),
+							calFrom.get(Calendar.DATE), validFromHour,
+							validFromMinute, 0);
+
+					Calendar calTo = Calendar.getInstance();
+					calTo.setTime(toDate);
+					calTo.set(calTo.get(Calendar.YEAR),
+							calTo.get(Calendar.MONTH),
+							calTo.get(Calendar.DATE), validToHour,
+							validToMinute, 0);
+
+					dFrom = calFrom.getTime();
+					dTo = calTo.getTime();
+
+					log.info("validFromDate: "
+							+ CalendarPatterns
+									.getDateWithTimeByMiliSeconds(dFrom));
+					log.info("validToDate: "
+							+ CalendarPatterns
+									.getDateWithTimeByMiliSeconds(dTo));
+				}
+				Invitations invitation = invitationManagement
+						.addInvitationLink(user_level, username, username,
+								username, username, username, room_id, "",
+								isPasswordProtected, invitationpass, valid,
+								dFrom, dTo, users_id, "", 1L, false, dFrom,
+								dTo, null, username);
+
+				if (invitation != null) {
+
+					return invitation.getHash();
+
+				} else {
+
+					return "Sys - Error";
+
+				}
+
+			} else {
+				return "Need Admin Privileges to perfom the Action";
+			}
+
+		} catch (Exception err) {
+			log.error("[sendInvitationHash] ", err);
+			throw new AxisFault(err.getMessage());
+		}
+	}
+
+	/**
+	 * Create a Invitation hash and optionally send it by mail the From to Date
+	 * is as String as some SOAP libraries do not accept Date Objects in SOAP
+	 * Calls Date is parsed as dd.mm.yyyy, time as hh:mm (don't forget the
+	 * leading zero's)
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 *            a valid Session Token
+	 * @param username
+	 *            the Username of the User that he will get
+	 * @param message
+	 *            the Message in the Email Body send with the invitation if
+	 *            sendMail is true
+	 * @param baseurl
+	 *            the baseURL for the Infivations link in the Mail Body if
+	 *            sendMail is true
+	 * @param email
+	 *            the Email to send the invitation to if sendMail is true
+	 * @param subject
+	 *            the subject of the Email send with the invitation if sendMail
+	 *            is true
+	 * @param room_id
+	 *            the conference room id of the invitation
+	 * @param conferencedomain
+	 *            the domain of the room (keep empty)
+	 * @param isPasswordProtected
+	 *            if the invitation is password protected
+	 * @param invitationpass
+	 *            the password for accessing the conference room via the
+	 *            invitation hash
+	 * @param valid
+	 *            the type of validation for the hash 1: endless, 2: from-to
+	 *            period, 3: one-time
+	 * @param validFromDate
+	 *            Date in Format of dd.mm.yyyy only of interest if valid is type
+	 *            2
+	 * @param validFromTime
+	 *            time in Format of hh:mm only of interest if valid is type 2
+	 * @param validToDate
+	 *            Date in Format of dd.mm.yyyy only of interest if valid is type
+	 *            2
+	 * @param validToTime
+	 *            time in Format of hh:mm only of interest if valid is type 2
+	 * @param language_id
+	 *            the language id of the EMail that is send with the invitation
+	 *            if sendMail is true
+	 * @param sendMail
+	 *            if sendMail is true then the RPC-Call will send the invitation
+	 *            to the email
+	 * @return a HASH value that can be made into a URL with
+	 *         http://$OPENMEETINGS_HOST
+	 *         :$PORT/openmeetings/?invitationHash="+invitationsHash;
+	 * @throws AxisFault
+	 */
+	public String sendInvitationHash(String SID, String username,
+			String message, String baseurl, String email, String subject,
+			Long room_id, String conferencedomain, Boolean isPasswordProtected,
+			String invitationpass, Integer valid, String validFromDate,
+			String validFromTime, String validToDate, String validToTime,
+			Long language_id, Boolean sendMail) throws AxisFault {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				Date dFrom = null;
+				Date dTo = null;
+
+				if (valid == 2) {
+					Integer validFromHour = Integer.valueOf(
+							validFromTime.substring(0, 2)).intValue();
+					Integer validFromMinute = Integer.valueOf(
+							validFromTime.substring(3, 5)).intValue();
+
+					Integer validToHour = Integer.valueOf(
+							validToTime.substring(0, 2)).intValue();
+					Integer validToMinute = Integer.valueOf(
+							validToTime.substring(3, 5)).intValue();
+
+					log.info("validFromHour: " + validFromHour);
+					log.info("validFromMinute: " + validFromMinute);
+
+					Date fromDate = CalendarPatterns.parseDate(validFromDate); // dd.MM.yyyy
+					Date toDate = CalendarPatterns.parseDate(validToDate); // dd.MM.yyyy
+
+					Calendar calFrom = Calendar.getInstance();
+					calFrom.setTime(fromDate);
+					calFrom.set(calFrom.get(Calendar.YEAR),
+							calFrom.get(Calendar.MONTH),
+							calFrom.get(Calendar.DATE), validFromHour,
+							validFromMinute, 0);
+
+					Calendar calTo = Calendar.getInstance();
+					calTo.setTime(toDate);
+					calTo.set(calTo.get(Calendar.YEAR),
+							calTo.get(Calendar.MONTH),
+							calTo.get(Calendar.DATE), validToHour,
+							validToMinute, 0);
+
+					dFrom = calFrom.getTime();
+					dTo = calTo.getTime();
+
+					log.info("validFromDate: "
+							+ CalendarPatterns
+									.getDateWithTimeByMiliSeconds(dFrom));
+					log.info("validToDate: "
+							+ CalendarPatterns
+									.getDateWithTimeByMiliSeconds(dTo));
+				}
+
+				Invitations invitation = invitationManagement
+						.addInvitationLink(user_level, username, message,
+								baseurl, email, subject, room_id, "",
+								isPasswordProtected, invitationpass, valid,
+								dFrom, dTo, users_id, baseurl, language_id,
+								sendMail, dFrom, dTo, null, username);
+
+				if (invitation != null) {
+
+					return invitation.getHash();
+
+				} else {
+
+					return "Sys - Error";
+
+				}
+
+			} else {
+				return "Need Admin Privileges to perfom the Action";
+			}
+
+		} catch (Exception err) {
+			log.error("[sendInvitationHash] ", err);
+			throw new AxisFault(err.getMessage());
+		}
+	}
+
+	/**
+	 * Create a Invitation hash and optionally send it by mail the From to Date
+	 * is as String as some SOAP libraries do not accept Date Objects in SOAP
+	 * Calls Date is parsed as dd.mm.yyyy, time as hh:mm (don't forget the
+	 * leading zero's)
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 *            a valid Session Token
+	 * @param username
+	 *            the Username of the User that he will get
+	 * @param message
+	 *            the Message in the Email Body send with the invitation if
+	 *            sendMail is true
+	 * @param baseurl
+	 *            the baseURL for the Infivations link in the Mail Body if
+	 *            sendMail is true
+	 * @param email
+	 *            the Email to send the invitation to if sendMail is true
+	 * @param subject
+	 *            the subject of the Email send with the invitation if sendMail
+	 *            is true
+	 * @param room_id
+	 *            the conference room id of the invitation
+	 * @param conferencedomain
+	 *            the domain of the room (keep empty)
+	 * @param isPasswordProtected
+	 *            if the invitation is password protected
+	 * @param invitationpass
+	 *            the password for accessing the conference room via the
+	 *            invitation hash
+	 * @param valid
+	 *            the type of validation for the hash 1: endless, 2: from-to
+	 *            period, 3: one-time
+	 * @param fromDate
+	 *            Date as Date Object only of interest if valid is type 2
+	 * @param toDate
+	 *            Date as Date Object only of interest if valid is type 2
+	 * @param language_id
+	 *            the language id of the EMail that is send with the invitation
+	 *            if sendMail is true
+	 * @param sendMail
+	 *            if sendMail is true then the RPC-Call will send the invitation
+	 *            to the email
+	 * @return a HASH value that can be made into a URL with
+	 *         http://$OPENMEETINGS_HOST
+	 *         :$PORT/openmeetings/?invitationHash="+invitationsHash;
+	 * @throws AxisFault
+	 */
+	public String sendInvitationHashWithDateObject(String SID, String username,
+			String message, String baseurl, String email, String subject,
+			Long room_id, String conferencedomain, Boolean isPasswordProtected,
+			String invitationpass, Integer valid, Date fromDate, Date toDate,
+			Long language_id, Boolean sendMail) throws AxisFault {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				Calendar calFrom = Calendar.getInstance();
+				calFrom.setTime(fromDate);
+
+				Calendar calTo = Calendar.getInstance();
+				calTo.setTime(toDate);
+
+				Date dFrom = calFrom.getTime();
+				Date dTo = calTo.getTime();
+
+				log.info("validFromDate: "
+						+ CalendarPatterns.getDateWithTimeByMiliSeconds(dFrom));
+				log.info("validToDate: "
+						+ CalendarPatterns.getDateWithTimeByMiliSeconds(dTo));
+
+				Invitations invitation = invitationManagement
+						.addInvitationLink(user_level, username, message,
+								baseurl, email, subject, room_id, "",
+								isPasswordProtected, invitationpass, valid,
+								dFrom, dTo, users_id, baseurl, language_id,
+								sendMail, dFrom, dTo, null, username);
+
+				if (invitation != null) {
+
+					return invitation.getHash();
+
+				} else {
+
+					return "Sys - Error";
+
+				}
+
+			} else {
+				return "Need Admin Privileges to perfom the Action";
+			}
+
+		} catch (Exception err) {
+			log.error("[sendInvitationHash] ", err);
+			throw new AxisFault(err.getMessage());
+		}
+	}
+
+	/**
+	 * Return a RoomReturn Object with information of the current users of a
+	 * conference room
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param start
+	 *            The id you want to start
+	 * @param max
+	 *            The maximum you want to get
+	 * @param orderby
+	 *            The column it will be ordered
+	 * @param asc
+	 *            Asc or Desc sort ordering
+	 * @return
+	 * @throws AxisFault
+	 */
+	public List<RoomReturn> getRoomsWithCurrentUsersByList(String SID,
+			int start, int max, String orderby, boolean asc) throws AxisFault {
+		try {
+			List<Rooms> rooms = conferenceService
+					.getRoomsWithCurrentUsersByList(SID, start, max, orderby,
+							asc);
+
+			List<RoomReturn> returnObjList = new LinkedList<RoomReturn>();
+
+			for (Rooms room : rooms) {
+
+				RoomReturn roomReturn = new RoomReturn();
+
+				roomReturn.setRoom_id(room.getRooms_id());
+				roomReturn.setName(room.getName());
+
+				roomReturn.setCreator("SOAP");
+				roomReturn.setCreated(room.getStarttime());
+
+				RoomUser[] rUser = new RoomUser[room.getCurrentusers().size()];
+
+				int i = 0;
+				for (RoomClient rcl : room.getCurrentusers()) {
+
+					RoomUser ru = new RoomUser();
+					ru.setFirstname(rcl.getFirstname());
+					ru.setLastname(rcl.getLastname());
+
+					rUser[i] = ru;
+
+					i++;
+				}
+
+				roomReturn.setRoomUser(rUser);
+
+				returnObjList.add(roomReturn);
+
+			}
+
+			return returnObjList;
+		} catch (Exception err) {
+			log.error("setUserObjectWithExternalUser", err);
+			throw new AxisFault(err.getMessage());
+		}
+	}
+
+	/**
+	 * Return a RoomReturn Object with information of the current users of a
+	 * conference room with option to search for special external room types
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param start
+	 *            The id you want to start
+	 * @param max
+	 *            The maximum you want to get
+	 * @param orderby
+	 *            The column it will be ordered
+	 * @param asc
+	 *            Asc or Desc sort ordering
+	 * @param externalRoomType
+	 *            the external room type
+	 * @return
+	 * @throws AxisFault
+	 */
+	public List<RoomReturn> getRoomsWithCurrentUsersByListAndType(String SID,
+			int start, int max, String orderby, boolean asc,
+			String externalRoomType) throws AxisFault {
+		try {
+			List<Rooms> rooms = conferenceService
+					.getRoomsWithCurrentUsersByListAndType(SID, start, max,
+							orderby, asc, externalRoomType);
+
+			List<RoomReturn> returnObjList = new LinkedList<RoomReturn>();
+
+			for (Rooms room : rooms) {
+
+				RoomReturn roomReturn = new RoomReturn();
+
+				roomReturn.setRoom_id(room.getRooms_id());
+				roomReturn.setName(room.getName());
+
+				roomReturn.setCreator("SOAP");
+				roomReturn.setCreated(room.getStarttime());
+
+				RoomUser[] rUser = new RoomUser[room.getCurrentusers().size()];
+
+				int i = 0;
+				for (RoomClient rcl : room.getCurrentusers()) {
+
+					RoomUser ru = new RoomUser();
+					ru.setFirstname(rcl.getFirstname());
+					ru.setLastname(rcl.getLastname());
+
+					rUser[i] = ru;
+
+					i++;
+				}
+
+				roomReturn.setRoomUser(rUser);
+
+				returnObjList.add(roomReturn);
+
+			}
+
+			return returnObjList;
+		} catch (Exception err) {
+			log.error("setUserObjectWithExternalUser", err);
+			throw new AxisFault(err.getMessage());
+		}
+	}
+
+	/**
+	 * Adds a conference room that is only available for a period of time
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param name
+	 *            new name of the room
+	 * @param roomtypes_id
+	 *            new type of room (1 = Conference, 2 = Audience, 3 =
+	 *            Restricted, 4 = Interview)
+	 * @param comment
+	 *            new comment
+	 * @param numberOfPartizipants
+	 *            new numberOfParticipants
+	 * @param ispublic
+	 *            is public
+	 * @param appointment
+	 *            if the room is an appointment
+	 * @param isDemoRoom
+	 *            is it a Demo Room with limited time? (use false if not sure
+	 *            what that means)
+	 * @param demoTime
+	 *            time in seconds after the user will be logged out (only
+	 *            enabled if isDemoRoom is true)
+	 * @param isModeratedRoom
+	 *            Users have to wait until a Moderator arrives. Use the
+	 *            becomeModerator parameter in setUserObjectAndGenerateRoomHash
+	 *            to set a user as default Moderator
+	 * @param externalRoomType
+	 *            the external room type (can be used to identify different
+	 *            external systems using same OpenMeetings instance)
+	 * @param validFromDate
+	 *            valid from as Date format: dd.MM.yyyy
+	 * @param validFromTime
+	 *            valid to as time format: mm:hh
+	 * @param validToDate
+	 *            valid to Date format: dd.MM.yyyy
+	 * @param validToTime
+	 *            valid to time format: mm:hh
+	 * @param isPasswordProtected
+	 *            If the links send via EMail to invited people is password
+	 *            protected
+	 * @param password
+	 *            Password for Invitations send via Mail
+	 * @param reminderTypeId
+	 *            1=none, 2=simple mail, 3=ICAL
+	 * @param redirectURL
+	 *            URL Users will be lead to if the Conference Time is elapsed
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long addRoomWithModerationAndExternalTypeAndStartEnd(String SID,
+			String name, Long roomtypes_id, String comment,
+			Long numberOfPartizipants, Boolean ispublic, Boolean appointment,
+			Boolean isDemoRoom, Integer demoTime, Boolean isModeratedRoom,
+			String externalRoomType, String validFromDate,
+			String validFromTime, String validToDate, String validToTime,
+			Boolean isPasswordProtected, String password, Long reminderTypeId,
+			String redirectURL) throws AxisFault {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				Date dFrom = null;
+				Date dTo = null;
+
+				Integer validFromHour = Integer.valueOf(
+						validFromTime.substring(0, 2)).intValue();
+				Integer validFromMinute = Integer.valueOf(
+						validFromTime.substring(3, 5)).intValue();
+
+				Integer validToHour = Integer.valueOf(
+						validToTime.substring(0, 2)).intValue();
+				Integer validToMinute = Integer.valueOf(
+						validToTime.substring(3, 5)).intValue();
+
+				log.info("validFromHour: " + validFromHour);
+				log.info("validFromMinute: " + validFromMinute);
+
+				Date fromDate = CalendarPatterns
+						.parseDateBySeparator(validFromDate); // dd.MM.yyyy
+				Date toDate = CalendarPatterns
+						.parseDateBySeparator(validToDate); // dd.MM.yyyy
+
+				Calendar calFrom = Calendar.getInstance();
+				calFrom.setTime(fromDate);
+				calFrom.set(calFrom.get(Calendar.YEAR),
+						calFrom.get(Calendar.MONTH),
+						calFrom.get(Calendar.DATE), validFromHour,
+						validFromMinute, 0);
+
+				Calendar calTo = Calendar.getInstance();
+				calTo.setTime(toDate);
+				calTo.set(calTo.get(Calendar.YEAR), calTo.get(Calendar.MONTH),
+						calTo.get(Calendar.DATE), validToHour, validToMinute, 0);
+
+				dFrom = calFrom.getTime();
+				dTo = calTo.getTime();
+
+				log.info("validFromDate: "
+						+ CalendarPatterns.getDateWithTimeByMiliSeconds(dFrom));
+				log.info("validToDate: "
+						+ CalendarPatterns.getDateWithTimeByMiliSeconds(dTo));
+
+				Long rooms_id = roommanagement.addExternalRoom(name,
+						roomtypes_id, comment, numberOfPartizipants, ispublic,
+						null, appointment, isDemoRoom, demoTime,
+						isModeratedRoom, null, null, externalRoomType, false, // allowUserQuestions
+						false, // isAudioOnly
+						false, // isClosed
+						redirectURL, false, true, false);
+
+				if (rooms_id <= 0) {
+					return rooms_id;
+				}
+
+				Users us = userManagement.getUserById(users_id);
+
+				appointmentDao.addAppointment("appointmentName", users_id,
+						"appointmentLocation", "appointmentDescription", dFrom,
+						dTo, // appointmentstart, appointmentend,
+						false, false, false, false, // isDaily, isWeekly,
+													// isMonthly, isYearly,
+						1L, // categoryId
+						reminderTypeId, // 1=none, 2=simple mail, 3=ICAL
+						roommanagement.getRoomById(rooms_id), 1L, // language_id
+						isPasswordProtected, // isPasswordProtected
+						password, // password
+						false, us.getOmTimeZone().getJname());
+
+				return rooms_id;
+
+			} else {
+				return -2L;
+			}
+		} catch (Exception err) {
+			log.error("[addRoomWithModeration] ", err);
+
+			throw new AxisFault(err.getMessage());
+		}
+		// return new Long(-1);
+		// return numberOfPartizipants;
+	}
+
+	/**
+	 * Add a meeting member to a certain room. This is the same as adding an
+	 * external user to a event in the calendar.
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param room_id
+	 *            The Room Id the meeting member is going to be added
+	 * @param firstname
+	 *            The first name of the meeting member
+	 * @param lastname
+	 *            The last name of the meeting member
+	 * @param email
+	 *            The email of the Meeting member
+	 * @param baseUrl
+	 *            The baseUrl, this is important to send the correct link in the
+	 *            invitation to the meeting member
+	 * @param language_id
+	 *            The ID of the language, for the email that is send to the
+	 *            meeting member
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long addMeetingMemberRemindToRoom(String SID, Long room_id,
+			String firstname, String lastname, String email, String baseUrl,
+			Long language_id) throws AxisFault {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				Appointment appointment = appointmentDao
+						.getAppointmentByRoom(room_id);
+
+				if (appointment == null) {
+					return -1L;
+				}
+				// Not In Remote List available - extern user
+				Long memberId = meetingMemberLogic.addMeetingMember(firstname,
+						lastname, "0", "0", appointment.getAppointmentId(),
+						null, email, baseUrl, null, new Boolean(false),
+						language_id, false, "", null, null, "");
+
+				return memberId;
+
+			} else {
+				return -2L;
+			}
+		} catch (Exception err) {
+			log.error("[addRoomWithModeration] ", err);
+
+			throw new AxisFault(err.getMessage());
+		}
+
+	}
+
+	/**
+	 * Add a meeting member to a certain room. This is the same as adding an
+	 * external user to a event in the calendar. with a certain time zone
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param room_id
+	 *            The Room Id the meeting member is going to be added
+	 * @param firstname
+	 *            The first name of the meeting member
+	 * @param lastname
+	 *            The last name of the meeting member
+	 * @param email
+	 *            The email of the Meeting member
+	 * @param baseUrl
+	 *            The baseUrl, this is important to send the correct link in the
+	 *            invitation to the meeting member
+	 * @param language_id
+	 *            The ID of the language, for the email that is send to the
+	 *            meeting member
+	 * @param jNameTimeZone
+	 *            name of the timezone
+	 * @param invitorName
+	 *            name of invitation creators
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long addExternalMeetingMemberRemindToRoom(String SID, Long room_id,
+			String firstname, String lastname, String email, String baseUrl,
+			Long language_id, String jNameTimeZone, String invitorName)
+			throws AxisFault {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				Appointment appointment = appointmentDao
+						.getAppointmentByRoom(room_id);
+
+				if (appointment == null) {
+					return -1L;
+				}
+
+				// Not In Remote List available - extern user
+				Long memberId = meetingMemberLogic.addMeetingMember(firstname,
+						lastname, "0", "0", appointment.getAppointmentId(),
+						null, email, baseUrl, null, new Boolean(false),
+						language_id, false, "", null, null, invitorName);
+
+				return memberId;
+
+			} else {
+				return -2L;
+			}
+		} catch (Exception err) {
+			log.error("[addExternalMeetingMemberRemindToRoom] ", err);
+
+			throw new AxisFault(err.getMessage());
+		}
+
+	}
+
+	/**
+	 * Method to remotely close or open rooms. If a room is closed all users
+	 * inside the room and all users that try to enter it will be redirected to
+	 * the redirectURL that is defined in the Room-Object.
+	 * 
+	 * Returns positive value if authentication was successful.
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param room_id the room id 
+	 * @param status false = close, true = open 
+	 * @return
+	 * @throws AxisFault
+	 */
+	public int closeRoom(String SID, Long room_id, Boolean status)
+			throws AxisFault {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			log.debug("closeRoom 1 " + room_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				log.debug("closeRoom 2 " + status);
+
+				roommanagement.closeRoom(room_id, status);
+
+				if (status) {
+					Map<String, String> message = new HashMap<String, String>();
+					message.put("message", "roomClosed");
+					scopeApplicationAdapter.sendMessageByRoomAndDomain(room_id,
+							message);
+				}
+				return 1;
+
+			} else {
+				return -2;
+			}
+		} catch (Exception err) {
+			log.error("[closeRoom] ", err);
+
+			throw new AxisFault(err.getMessage());
+		}
+
+	}
+
+}
diff --git a/src/org/openmeetings/axis/services/RoomWebServiceFacade.java b/src/org/openmeetings/axis/services/RoomWebServiceFacade.java
new file mode 100644
index 0000000..aa54255
--- /dev/null
+++ b/src/org/openmeetings/axis/services/RoomWebServiceFacade.java
@@ -0,0 +1,642 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.axis.services;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.servlet.ServletContext;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.transport.http.HTTPConstants;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.beans.basic.SearchResult;
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecording;
+import org.openmeetings.app.persistence.beans.rooms.RoomTypes;
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.context.ApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+public class RoomWebServiceFacade {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			RoomWebServiceFacade.class, OpenmeetingsVariables.webAppRootKey);
+
+	private ServletContext getServletContext() throws Exception {
+		MessageContext mc = MessageContext.getCurrentMessageContext();
+		return (ServletContext) mc
+				.getProperty(HTTPConstants.MC_HTTP_SERVLETCONTEXT);
+	}
+
+	private RoomWebService getRoomServiceProxy() {
+		try {
+			ApplicationContext context = WebApplicationContextUtils
+					.getWebApplicationContext(getServletContext());
+			return context.getBean("roomWebService", RoomWebService.class);
+		} catch (Exception err) {
+			log.error("[getRoomServiceProxy]", err);
+		}
+		return null;
+	}
+
+	// TODO: Not implemented yet
+	// public List<Rooms_Organisation> getRoomsByOrganisationAndType(String SID,
+	// long organisation_id, long roomtypes_id) {
+	// return conferenceService.getRoomsByOrganisationAndType(SID,
+	// organisation_id, roomtypes_id);
+	// }
+
+	public Rooms[] getRoomsPublic(String SID, Long roomtypes_id)
+			throws AxisFault {
+		return this.getRoomServiceProxy().getRoomsPublic(SID, roomtypes_id);
+	}
+
+	/**
+	 * Deletes a flv recording 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin 
+	 * @param flvRecordingId the id of the recording 
+	 * @return
+	 * @throws AxisFault
+	 */
+	public boolean deleteFlvRecording(String SID, Long flvRecordingId)
+			throws AxisFault {
+		return this.getRoomServiceProxy().deleteFlvRecording(SID, flvRecordingId);
+	}
+
+	public FLVRecordingReturn[] getFlvRecordingByExternalUserId(String SID,
+			String externalUserId) throws AxisFault {
+		return this.getRoomServiceProxy().getFlvRecordingByExternalUserId(SID,
+				externalUserId);
+	}
+
+	public FLVRecordingReturn[] getFlvRecordingByExternalRoomTypeAndCreator(
+			String SID, String externalRoomType, Long insertedBy)
+			throws AxisFault {
+		return this.getRoomServiceProxy()
+				.getFlvRecordingByExternalRoomTypeAndCreator(SID,
+						externalRoomType, insertedBy);
+	}
+
+	public List<FlvRecording> getFlvRecordingByExternalRoomTypeByList(
+			String SID, String externalRoomType) throws AxisFault {
+		return this.getRoomServiceProxy()
+				.getFlvRecordingByExternalRoomTypeByList(SID, externalRoomType);
+	}
+
+	public FlvRecording[] getFlvRecordingByExternalRoomType(String SID,
+			String externalRoomType) throws AxisFault {
+		return this.getRoomServiceProxy().getFlvRecordingByExternalRoomType(SID,
+				externalRoomType);
+	}
+
+	public FlvRecording[] getFlvRecordingByRoomId(String SID, Long roomId)
+			throws AxisFault {
+		return this.getRoomServiceProxy().getFlvRecordingByRoomId(SID, roomId);
+	}
+
+	public RoomTypes[] getRoomTypes(String SID) throws AxisFault {
+		return this.getRoomServiceProxy().getRoomTypes(SID);
+	}
+
+	public RoomCountBean[] getRoomCounters(String SID, Integer roomId1,
+			Integer roomId2, Integer roomId3, Integer roomId4, Integer roomId5,
+			Integer roomId6, Integer roomId7, Integer roomId8, Integer roomId9,
+			Integer roomId10) throws AxisFault {
+		return this.getRoomServiceProxy().getRoomCounters(SID, roomId1, roomId2,
+				roomId3, roomId4, roomId5, roomId6, roomId7, roomId8, roomId9,
+				roomId10);
+	}
+
+	public Rooms getRoomById(String SID, long rooms_id) {
+		return this.getRoomServiceProxy().getRoomById(SID, rooms_id);
+	}
+
+	/**
+	 * @deprecated this function is intend to be deleted
+	 * @param SID
+	 * @param rooms_id
+	 * @return
+	 */
+	@Deprecated
+	public Rooms getRoomWithCurrentUsersById(String SID, long rooms_id)
+			throws AxisFault {
+		return this.getRoomServiceProxy().getRoomWithCurrentUsersById(SID,
+				rooms_id);
+	}
+
+	public RoomReturn getRoomWithClientObjectsById(String SID, long rooms_id)
+			throws AxisFault {
+		return this.getRoomServiceProxy().getRoomWithClientObjectsById(SID,
+				rooms_id);
+	}
+
+	public SearchResult<Rooms> getRooms(String SID, int start, int max,
+			String orderby, boolean asc) throws AxisFault {
+		return this.getRoomServiceProxy()
+				.getRooms(SID, start, max, orderby, asc);
+	}
+
+	public SearchResult<Rooms> getRoomsWithCurrentUsers(String SID, int start,
+			int max, String orderby, boolean asc) throws AxisFault {
+		return this.getRoomServiceProxy().getRoomsWithCurrentUsers(SID, start,
+				max, orderby, asc);
+	}
+
+	/**
+	 * TODO: Fix Organization Issue
+	 * 
+	 * @deprecated use addRoomWithModeration instead
+	 * 
+	 * @param SID
+	 * @param name
+	 * @param roomtypes_id
+	 * @param comment
+	 * @param numberOfPartizipants
+	 * @param ispublic
+	 * @param videoPodWidth
+	 * @param videoPodHeight
+	 * @param videoPodXPosition
+	 * @param videoPodYPosition
+	 * @param moderationPanelXPosition
+	 * @param showWhiteBoard
+	 * @param whiteBoardPanelXPosition
+	 * @param whiteBoardPanelYPosition
+	 * @param whiteBoardPanelHeight
+	 * @param whiteBoardPanelWidth
+	 * @param showFilesPanel
+	 * @param filesPanelXPosition
+	 * @param filesPanelYPosition
+	 * @param filesPanelHeight
+	 * @param filesPanelWidth
+	 * @return
+	 */
+	@Deprecated
+	public Long addRoom(String SID, String name, Long roomtypes_id,
+			String comment, Long numberOfPartizipants, Boolean ispublic,
+			Integer videoPodWidth, Integer videoPodHeight,
+			Integer videoPodXPosition, Integer videoPodYPosition,
+			Integer moderationPanelXPosition, Boolean showWhiteBoard,
+			Integer whiteBoardPanelXPosition, Integer whiteBoardPanelYPosition,
+			Integer whiteBoardPanelHeight, Integer whiteBoardPanelWidth,
+			Boolean showFilesPanel, Integer filesPanelXPosition,
+			Integer filesPanelYPosition, Integer filesPanelHeight,
+			Integer filesPanelWidth) throws AxisFault {
+		return this.getRoomServiceProxy().addRoom(SID, name, roomtypes_id,
+				comment, numberOfPartizipants, ispublic, videoPodWidth,
+				videoPodHeight, videoPodXPosition, videoPodYPosition,
+				moderationPanelXPosition, showWhiteBoard,
+				whiteBoardPanelXPosition, whiteBoardPanelYPosition,
+				whiteBoardPanelHeight, whiteBoardPanelWidth, showFilesPanel,
+				filesPanelXPosition, filesPanelYPosition, filesPanelHeight,
+				filesPanelWidth);
+	}
+
+	public Long addRoomWithModeration(String SID, String name,
+			Long roomtypes_id, String comment, Long numberOfPartizipants,
+			Boolean ispublic, Boolean appointment, Boolean isDemoRoom,
+			Integer demoTime, Boolean isModeratedRoom) throws AxisFault {
+		return this.getRoomServiceProxy().addRoomWithModeration(SID, name,
+				roomtypes_id, comment, numberOfPartizipants, ispublic,
+				appointment, isDemoRoom, demoTime, isModeratedRoom);
+	}
+
+	/**
+	 * this SOAP Method has an additional param to enable or disable the buttons
+	 * to apply for moderation this does only work in combination with the
+	 * room-type restricted
+	 * 
+	 * @param SID
+	 * @param name
+	 * @param roomtypes_id
+	 * @param comment
+	 * @param numberOfPartizipants
+	 * @param ispublic
+	 * @param appointment
+	 * @param isDemoRoom
+	 * @param demoTime
+	 * @param isModeratedRoom
+	 * @param allowUserQuestions
+	 * @return
+	 */
+	public Long addRoomWithModerationAndQuestions(String SID, String name,
+			Long roomtypes_id, String comment, Long numberOfPartizipants,
+			Boolean ispublic, Boolean appointment, Boolean isDemoRoom,
+			Integer demoTime, Boolean isModeratedRoom,
+			Boolean allowUserQuestions) throws AxisFault {
+		return this.getRoomServiceProxy().addRoomWithModerationAndQuestions(SID,
+				name, roomtypes_id, comment, numberOfPartizipants, ispublic,
+				appointment, isDemoRoom, demoTime, isModeratedRoom,
+				allowUserQuestions);
+	}
+
+	public Long addRoomWithModerationQuestionsAndAudioType(String SID,
+			String name, Long roomtypes_id, String comment,
+			Long numberOfPartizipants, Boolean ispublic, Boolean appointment,
+			Boolean isDemoRoom, Integer demoTime, Boolean isModeratedRoom,
+			Boolean allowUserQuestions, Boolean isAudioOnly) throws AxisFault {
+		return this.getRoomServiceProxy()
+				.addRoomWithModerationQuestionsAndAudioType(SID, name,
+						roomtypes_id, comment, numberOfPartizipants, ispublic,
+						appointment, isDemoRoom, demoTime, isModeratedRoom,
+						allowUserQuestions, isAudioOnly);
+	}
+
+	/**
+	 * 
+	 * @param SID
+	 * @param name
+	 * @param roomtypes_id
+	 * @param comment
+	 * @param numberOfPartizipants
+	 * @param ispublic
+	 * @param appointment
+	 * @param isDemoRoom
+	 * @param demoTime
+	 * @param isModeratedRoom
+	 * @param externalRoomId
+	 * @param externalUserType
+	 * @return
+	 */
+	public Long getRoomIdByExternalId(String SID, String name,
+			Long roomtypes_id, String comment, Long numberOfPartizipants,
+			Boolean ispublic, Boolean appointment, Boolean isDemoRoom,
+			Integer demoTime, Boolean isModeratedRoom, Long externalRoomId,
+			String externalRoomType) throws AxisFault {
+		return this.getRoomServiceProxy().getRoomIdByExternalId(SID, name,
+				roomtypes_id, comment, numberOfPartizipants, ispublic,
+				appointment, isDemoRoom, demoTime, isModeratedRoom,
+				externalRoomId, externalRoomType);
+	}
+
+	/**
+	 * TODO: Fix Organization Issue
+	 * 
+	 * @deprecated use updateRoomWithModeration
+	 * 
+	 * @param SID
+	 * @param rooms_id
+	 * @param name
+	 * @param roomtypes_id
+	 * @param comment
+	 * @param numberOfPartizipants
+	 * @param ispublic
+	 * @param videoPodWidth
+	 * @param videoPodHeight
+	 * @param videoPodXPosition
+	 * @param videoPodYPosition
+	 * @param moderationPanelXPosition
+	 * @param showWhiteBoard
+	 * @param whiteBoardPanelXPosition
+	 * @param whiteBoardPanelYPosition
+	 * @param whiteBoardPanelHeight
+	 * @param whiteBoardPanelWidth
+	 * @param showFilesPanel
+	 * @param filesPanelXPosition
+	 * @param filesPanelYPosition
+	 * @param filesPanelHeight
+	 * @param filesPanelWidth
+	 * @return
+	 */
+	@Deprecated
+	public Long updateRoom(String SID, Long rooms_id, String name,
+			Long roomtypes_id, String comment, Long numberOfPartizipants,
+			Boolean ispublic, Integer videoPodWidth, Integer videoPodHeight,
+			Integer videoPodXPosition, Integer videoPodYPosition,
+			Integer moderationPanelXPosition, Boolean showWhiteBoard,
+			Integer whiteBoardPanelXPosition, Integer whiteBoardPanelYPosition,
+			Integer whiteBoardPanelHeight, Integer whiteBoardPanelWidth,
+			Boolean showFilesPanel, Integer filesPanelXPosition,
+			Integer filesPanelYPosition, Integer filesPanelHeight,
+			Integer filesPanelWidth, Boolean appointment) throws AxisFault {
+		return this.getRoomServiceProxy().updateRoom(SID, rooms_id, name,
+				roomtypes_id, comment, numberOfPartizipants, ispublic,
+				videoPodWidth, videoPodHeight, videoPodXPosition,
+				videoPodYPosition, moderationPanelXPosition, showWhiteBoard,
+				whiteBoardPanelXPosition, whiteBoardPanelYPosition,
+				whiteBoardPanelHeight, whiteBoardPanelWidth, showFilesPanel,
+				filesPanelXPosition, filesPanelYPosition, filesPanelHeight,
+				filesPanelWidth, appointment);
+	}
+
+	public Long updateRoomWithModeration(String SID, Long room_id, String name,
+			Long roomtypes_id, String comment, Long numberOfPartizipants,
+			Boolean ispublic, Boolean appointment, Boolean isDemoRoom,
+			Integer demoTime, Boolean isModeratedRoom) throws AxisFault {
+		return this.getRoomServiceProxy().updateRoomWithModeration(SID, room_id,
+				name, roomtypes_id, comment, numberOfPartizipants, ispublic,
+				appointment, isDemoRoom, demoTime, isModeratedRoom);
+	}
+
+	public Long updateRoomWithModerationAndQuestions(String SID, Long room_id,
+			String name, Long roomtypes_id, String comment,
+			Long numberOfPartizipants, Boolean ispublic, Boolean appointment,
+			Boolean isDemoRoom, Integer demoTime, Boolean isModeratedRoom,
+			Boolean allowUserQuestions) throws AxisFault {
+		return this.getRoomServiceProxy().updateRoomWithModeration(SID, room_id,
+				name, roomtypes_id, comment, numberOfPartizipants, ispublic,
+				appointment, isDemoRoom, demoTime, isModeratedRoom);
+	}
+
+	public Long deleteRoom(String SID, long rooms_id) throws AxisFault {
+		return this.getRoomServiceProxy().deleteRoom(SID, rooms_id);
+	}
+
+	public Boolean kickUser(String SID_Admin, Long room_id) throws AxisFault {
+		return this.getRoomServiceProxy().kickUser(SID_Admin, room_id);
+	}
+
+	public Long addRoomWithModerationAndExternalType(String SID, String name,
+			Long roomtypes_id, String comment, Long numberOfPartizipants,
+			Boolean ispublic, Boolean appointment, Boolean isDemoRoom,
+			Integer demoTime, Boolean isModeratedRoom, String externalRoomType)
+			throws AxisFault {
+		return this.getRoomServiceProxy().addRoomWithModerationAndExternalType(
+				SID, name, roomtypes_id, comment, numberOfPartizipants,
+				ispublic, appointment, isDemoRoom, demoTime, isModeratedRoom,
+				externalRoomType);
+	}
+
+	public Long addRoomWithModerationExternalTypeAndAudioType(String SID,
+			String name, Long roomtypes_id, String comment,
+			Long numberOfPartizipants, Boolean ispublic, Boolean appointment,
+			Boolean isDemoRoom, Integer demoTime, Boolean isModeratedRoom,
+			String externalRoomType, Boolean allowUserQuestions,
+			Boolean isAudioOnly) throws AxisFault {
+		return this.getRoomServiceProxy()
+				.addRoomWithModerationExternalTypeAndAudioType(SID, name,
+						roomtypes_id, comment, numberOfPartizipants, ispublic,
+						appointment, isDemoRoom, demoTime, isModeratedRoom,
+						externalRoomType, allowUserQuestions, isAudioOnly);
+	}
+
+	public Long addRoomWithModerationAndRecordingFlags(String SID, String name,
+			Long roomtypes_id, String comment, Long numberOfPartizipants,
+			Boolean ispublic, Boolean appointment, Boolean isDemoRoom,
+			Integer demoTime, Boolean isModeratedRoom, String externalRoomType,
+			Boolean allowUserQuestions, Boolean isAudioOnly,
+			Boolean waitForRecording, Boolean allowRecording) throws AxisFault {
+		return this.getRoomServiceProxy()
+				.addRoomWithModerationAndRecordingFlags(SID, name,
+						roomtypes_id, comment, numberOfPartizipants, ispublic,
+						appointment, isDemoRoom, demoTime, isModeratedRoom,
+						externalRoomType, allowUserQuestions, isAudioOnly,
+						waitForRecording, allowRecording);
+	}
+
+	public Long addRoomWithModerationExternalTypeAndTopBarOption(String SID,
+			String name, Long roomtypes_id, String comment,
+			Long numberOfPartizipants, Boolean ispublic, Boolean appointment,
+			Boolean isDemoRoom, Integer demoTime, Boolean isModeratedRoom,
+			String externalRoomType, Boolean allowUserQuestions,
+			Boolean isAudioOnly, Boolean waitForRecording,
+			Boolean allowRecording, Boolean hideTopBar) throws AxisFault {
+		return this.getRoomServiceProxy()
+				.addRoomWithModerationExternalTypeAndTopBarOption(SID, name,
+						roomtypes_id, comment, numberOfPartizipants, ispublic,
+						appointment, isDemoRoom, demoTime, isModeratedRoom,
+						externalRoomType, allowUserQuestions, isAudioOnly,
+						waitForRecording, allowRecording, hideTopBar);
+	}
+
+	/**
+	 * 
+	 * Create a Invitation hash and optionally send it by mail the From to Date
+	 * is as String as some SOAP libraries do not accept Date Objects in SOAP
+	 * Calls Date is parsed as dd.mm.yyyy, time as hh:mm (don't forget the
+	 * leading zero's)
+	 * 
+	 * @param SID
+	 *            a valid Session Token
+	 * @param username
+	 *            the username of the User that he will get
+	 * @param room_id
+	 *            the conference room id of the invitation
+	 * @param isPasswordProtected
+	 *            if the invitation is password protected
+	 * @param invitationpass
+	 *            the password for accessing the conference room via the
+	 *            invitation hash
+	 * @param valid
+	 *            the type of validation for the hash 1: endless, 2: from-to
+	 *            period, 3: one-time
+	 * @param validFromDate
+	 *            Date in Format of dd.mm.yyyy only of interest if valid is type
+	 *            2
+	 * @param validFromTime
+	 *            time in Format of hh:mm only of interest if valid is type 2
+	 * @param validToDate
+	 *            Date in Format of dd.mm.yyyy only of interest if valid is type
+	 *            2
+	 * @param validToTime
+	 *            time in Format of hh:mm only of interest if valid is type 2
+	 * @return a HASH value that can be made into a URL with
+	 *         http://$OPENMEETINGS_HOST
+	 *         :$PORT/openmeetings/?invitationHash="+invitationsHash;
+	 * @throws AxisFault
+	 */
+	public String getInvitationHash(String SID, String username, Long room_id,
+			Boolean isPasswordProtected, String invitationpass, Integer valid,
+			String validFromDate, String validFromTime, String validToDate,
+			String validToTime) throws AxisFault {
+		return this.getRoomServiceProxy().getInvitationHash(SID, username,
+				room_id, isPasswordProtected, invitationpass, valid,
+				validFromDate, validFromTime, validToDate, validToTime);
+
+	}
+
+	/**
+	 * Create a Invitation hash and optionally send it by mail the From to Date
+	 * is as String as some SOAP libraries do not accept Date Objects in SOAP
+	 * Calls Date is parsed as dd.mm.yyyy, time as hh:mm (don't forget the
+	 * leading zero's)
+	 * 
+	 * @param SID
+	 *            a valid Session Token
+	 * @param username
+	 *            the Username of the User that he will get
+	 * @param message
+	 *            the Message in the Email Body send with the invitation if
+	 *            sendMail is true
+	 * @param baseurl
+	 *            the baseURL for the Infivations link in the Mail Body if
+	 *            sendMail is true
+	 * @param email
+	 *            the Email to send the invitation to if sendMail is true
+	 * @param subject
+	 *            the subject of the Email send with the invitation if sendMail
+	 *            is true
+	 * @param room_id
+	 *            the conference room id of the invitation
+	 * @param conferencedomain
+	 *            the domain of the room (keep empty)
+	 * @param isPasswordProtected
+	 *            if the invitation is password protected
+	 * @param invitationpass
+	 *            the password for accessing the conference room via the
+	 *            invitation hash
+	 * @param valid
+	 *            the type of validation for the hash 1: endless, 2: from-to
+	 *            period, 3: one-time
+	 * @param validFromDate
+	 *            Date in Format of dd.mm.yyyy only of interest if valid is type
+	 *            2
+	 * @param validFromTime
+	 *            time in Format of hh:mm only of interest if valid is type 2
+	 * @param validToDate
+	 *            Date in Format of dd.mm.yyyy only of interest if valid is type
+	 *            2
+	 * @param validToTime
+	 *            time in Format of hh:mm only of interest if valid is type 2
+	 * @param language_id
+	 *            the language id of the EMail that is send with the invitation
+	 *            if sendMail is true
+	 * @param sendMail
+	 *            if sendMail is true then the RPC-Call will send the invitation
+	 *            to the email
+	 * @return a HASH value that can be made into a URL with
+	 *         http://$OPENMEETINGS_HOST
+	 *         :$PORT/openmeetings/?invitationHash="+invitationsHash;
+	 * @throws AxisFault
+	 */
+	public String sendInvitationHash(String SID, String username,
+			String message, String baseurl, String email, String subject,
+			Long room_id, String conferencedomain, Boolean isPasswordProtected,
+			String invitationpass, Integer valid, String validFromDate,
+			String validFromTime, String validToDate, String validToTime,
+			Long language_id, Boolean sendMail) throws AxisFault {
+		return this.getRoomServiceProxy().sendInvitationHash(SID, username,
+				message, baseurl, email, subject, room_id, conferencedomain,
+				isPasswordProtected, invitationpass, valid, validFromDate,
+				validFromTime, validToDate, validToTime, language_id, sendMail);
+	}
+
+	/**
+	 * Create a Invitation hash and optionally send it by mail the From to Date
+	 * is as String as some SOAP libraries do not accept Date Objects in SOAP
+	 * Calls Date is parsed as dd.mm.yyyy, time as hh:mm (don't forget the
+	 * leading zero's)
+	 * 
+	 * @param SID
+	 *            a valid Session Token
+	 * @param username
+	 *            the Username of the User that he will get
+	 * @param message
+	 *            the Message in the Email Body send with the invitation if
+	 *            sendMail is true
+	 * @param baseurl
+	 *            the baseURL for the Infivations link in the Mail Body if
+	 *            sendMail is true
+	 * @param email
+	 *            the Email to send the invitation to if sendMail is true
+	 * @param subject
+	 *            the subject of the Email send with the invitation if sendMail
+	 *            is true
+	 * @param room_id
+	 *            the conference room id of the invitation
+	 * @param conferencedomain
+	 *            the domain of the room (keep empty)
+	 * @param isPasswordProtected
+	 *            if the invitation is password protected
+	 * @param invitationpass
+	 *            the password for accessing the conference room via the
+	 *            invitation hash
+	 * @param valid
+	 *            the type of validation for the hash 1: endless, 2: from-to
+	 *            period, 3: one-time
+	 * @param fromDate
+	 *            Date as Date Object only of interest if valid is type 2
+	 * @param toDate
+	 *            Date as Date Object only of interest if valid is type 2
+	 * @param language_id
+	 *            the language id of the EMail that is send with the invitation
+	 *            if sendMail is true
+	 * @param sendMail
+	 *            if sendMail is true then the RPC-Call will send the invitation
+	 *            to the email
+	 * @return a HASH value that can be made into a URL with
+	 *         http://$OPENMEETINGS_HOST
+	 *         :$PORT/openmeetings/?invitationHash="+invitationsHash;
+	 * @throws AxisFault
+	 */
+	public String sendInvitationHashWithDateObject(String SID, String username,
+			String message, String baseurl, String email, String subject,
+			Long room_id, String conferencedomain, Boolean isPasswordProtected,
+			String invitationpass, Integer valid, Date fromDate, Date toDate,
+			Long language_id, Boolean sendMail) throws AxisFault {
+		return this.getRoomServiceProxy().sendInvitationHashWithDateObject(SID,
+				username, message, baseurl, email, subject, room_id,
+				conferencedomain, isPasswordProtected, invitationpass, valid,
+				fromDate, toDate, language_id, sendMail);
+	}
+
+	public List<RoomReturn> getRoomsWithCurrentUsersByList(String SID,
+			int start, int max, String orderby, boolean asc) throws AxisFault {
+		return this.getRoomServiceProxy().getRoomsWithCurrentUsersByList(SID,
+				start, max, orderby, asc);
+	}
+
+	public List<RoomReturn> getRoomsWithCurrentUsersByListAndType(String SID,
+			int start, int max, String orderby, boolean asc,
+			String externalRoomType) throws AxisFault {
+		return this.getRoomServiceProxy().getRoomsWithCurrentUsersByListAndType(
+				SID, start, max, orderby, asc, externalRoomType);
+	}
+
+	public Long addRoomWithModerationAndExternalTypeAndStartEnd(String SID,
+			String name, Long roomtypes_id, String comment,
+			Long numberOfPartizipants, Boolean ispublic, Boolean appointment,
+			Boolean isDemoRoom, Integer demoTime, Boolean isModeratedRoom,
+			String externalRoomType, String validFromDate,
+			String validFromTime, String validToDate, String validToTime,
+			Boolean isPasswordProtected, String password, Long reminderTypeId,
+			String redirectURL) throws AxisFault {
+		return this.getRoomServiceProxy()
+				.addRoomWithModerationAndExternalTypeAndStartEnd(SID, name,
+						roomtypes_id, comment, numberOfPartizipants, ispublic,
+						appointment, isDemoRoom, demoTime, isModeratedRoom,
+						externalRoomType, validFromDate, validFromTime,
+						validToDate, validToTime, isPasswordProtected,
+						password, reminderTypeId, redirectURL);
+	}
+
+	public Long addMeetingMemberRemindToRoom(String SID, Long room_id,
+			String firstname, String lastname, String email, String baseUrl,
+			Long language_id) throws AxisFault {
+		return this.getRoomServiceProxy().addMeetingMemberRemindToRoom(SID,
+				room_id, firstname, lastname, email, baseUrl, language_id);
+	}
+
+	public Long addExternalMeetingMemberRemindToRoom(String SID, Long room_id,
+			String firstname, String lastname, String email, String baseUrl,
+			Long language_id, String jNameTimeZone, String invitorName)
+			throws AxisFault {
+		return this.getRoomServiceProxy().addExternalMeetingMemberRemindToRoom(
+				SID, room_id, firstname, lastname, email, baseUrl, language_id,
+				jNameTimeZone, invitorName);
+	}
+
+	public int closeRoom(String SID, Long room_id, Boolean status)
+			throws AxisFault {
+		return this.getRoomServiceProxy().closeRoom(SID, room_id, status);
+	}
+
+}
diff --git a/src/org/openmeetings/axis/services/UserWebService.java b/src/org/openmeetings/axis/services/UserWebService.java
new file mode 100644
index 0000000..692e91b
--- /dev/null
+++ b/src/org/openmeetings/axis/services/UserWebService.java
@@ -0,0 +1,1309 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.axis.services;
+
+import java.util.Date;
+
+import org.apache.axis2.AxisFault;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.ErrorManagement;
+import org.openmeetings.app.data.basic.Fieldmanagment;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.basic.dao.SOAPLoginDaoImpl;
+import org.openmeetings.app.data.beans.basic.ErrorResult;
+import org.openmeetings.app.data.beans.basic.SearchResult;
+import org.openmeetings.app.data.user.Organisationmanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.basic.Configuration;
+import org.openmeetings.app.persistence.beans.basic.ErrorValues;
+import org.openmeetings.app.persistence.beans.basic.RemoteSessionObject;
+import org.openmeetings.app.persistence.beans.basic.Sessiondata;
+import org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.app.remote.MainService;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.io.xml.DomDriver;
+
+/**
+ * 
+ * The Service contains methods to login and create hash to directly enter
+ * conference rooms, recordings or the application in general
+ * 
+ * @author sebawagner
+ * @webservice UserService
+ * 
+ */
+public class UserWebService {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			UserWebService.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private Configurationmanagement cfgManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private Fieldmanagment fieldmanagment;
+	@Autowired
+	private ErrorManagement errorManagement;
+	@Autowired
+	private Organisationmanagement organisationmanagement;
+	@Autowired
+	private SOAPLoginDaoImpl soapLoginDao;
+	@Autowired
+	private UsersDaoImpl usersDao;
+	@Autowired
+	private MainService mainService;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+
+	/**
+	 * load this session id before doing anything else Returns an Object of Type
+	 * Sessiondata, this contains a sessionId, use that sessionId in all Methods
+	 * 
+	 * @return
+	 */
+	public Sessiondata getSession() {
+		log.debug("SPRING LOADED getSession -- ");
+		return mainService.getsessiondata();
+	}
+
+	/**
+	 * uth function, use the SID you get by getSession, return positive means
+	 * logged-in, if negative its an ErrorCode, you have to invoke the Method
+	 * getErrorByCode to get the Text-Description of that ErrorCode
+	 * 
+	 * @param SID
+	 *            The SID from getSession
+	 * @param username
+	 *            Username from OpenMeetings, the user has to have Admin-rights
+	 * @param userpass
+	 *            Userpass from OpenMeetings
+	 * @return
+	 */
+	public Long loginUser(String SID, String username, String userpass)
+			throws AxisFault {
+		try {
+			Object obj = userManagement.loginUser(SID, username, userpass,
+					null, false);
+			if (obj == null) {
+				return new Long(-1);
+			}
+			String objName = obj.getClass().getName();
+			if (objName.equals("java.lang.Long")) {
+				return (Long) obj;
+			} else {
+				return new Long(1);
+			}
+		} catch (Exception err) {
+			log.error("[loginUser]", err);
+		}
+		return new Long(-1);
+	}
+
+	/**
+	 * loads an Error-Object. If a Method returns a negative Result, its an
+	 * Error-id, it needs a language_id to specify in which language you want to
+	 * display/read the error-message. English has the Language-ID one, for
+	 * different one see the list of languages
+	 * 
+	 * @param SID
+	 *            The SID from getSession
+	 * @param errorid
+	 *            the error id (negative Value here!)
+	 * @param language_id
+	 *            The id of the language
+	 * @return
+	 */
+	public ErrorResult getErrorByCode(String SID, long errorid, long language_id) {
+		try {
+			if (errorid < 0) {
+				ErrorValues eValues = errorManagement
+						.getErrorValuesById(errorid * (-1));
+				if (eValues != null) {
+					Fieldlanguagesvalues errorValue = fieldmanagment
+							.getFieldByIdAndLanguage(
+									eValues.getFieldvalues_id(), language_id);
+					Fieldlanguagesvalues typeValue = fieldmanagment
+							.getFieldByIdAndLanguage(errorManagement
+									.getErrorType(eValues.getErrortype_id())
+									.getFieldvalues_id(), language_id);
+					if (errorValue != null) {
+						return new ErrorResult(errorid, errorValue.getValue(),
+								typeValue.getValue());
+					}
+				}
+			} else {
+				return new ErrorResult(errorid,
+						"Error ... please check your input", "Error");
+			}
+		} catch (Exception err) {
+			log.error("[getErrorByCode] ", err);
+		}
+		return null;
+	}
+
+	/**
+	 * Adds a new Usre like through the Frontend, but also does activates the
+	 * Account To do SSO see the methods to create a hash and use those ones!
+	 * 
+	 * @param SID
+	 *            The SID from getSession
+	 * @param username
+	 *            any username
+	 * @param userpass
+	 *            any userpass
+	 * @param lastname
+	 *            any lastname
+	 * @param firstname
+	 *            any firstname
+	 * @param email
+	 *            any email
+	 * @param additionalname
+	 *            any additionalname
+	 * @param street
+	 *            any street
+	 * @param zip
+	 *            any zip
+	 * @param fax
+	 *            any fax
+	 * @param states_id
+	 *            a valid states_id
+	 * @param town
+	 *            any town
+	 * @param language_id
+	 *            the language_id
+	 * @param baseURL
+	 *            the baseURL is needed to send the Initial Email correctly to
+	 *            that User, otherwise the Link in the EMail that the new User
+	 *            will reveive is not valid
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long addNewUser(String SID, String username, String userpass,
+			String lastname, String firstname, String email,
+			String additionalname, String street, String zip, String fax,
+			long states_id, String town, long language_id, String baseURL)
+			throws AxisFault {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				Configuration conf = cfgManagement.getConfKey(3L,
+						"default.timezone");
+				String jName_timeZone = "";
+
+				if (conf != null) {
+					jName_timeZone = conf.getConf_value();
+				}
+
+				Long user_id = userManagement.registerUser(username, userpass,
+						lastname, firstname, email, new Date(), street,
+						additionalname, fax, zip, states_id, town, language_id,
+						"", baseURL, true, // generate
+											// SIP
+											// Data
+											// if
+											// the
+											// config
+											// is
+											// enabled
+						jName_timeZone);
+
+				if (user_id == null || user_id < 0) {
+					return user_id;
+				}
+
+				Users user = userManagement.getUserById(user_id);
+
+				// activate the User
+				user.setStatus(1);
+				user.setUpdatetime(new Date());
+
+				userManagement.updateUser(user);
+
+				return user_id;
+
+			} else {
+				return new Long(-26);
+			}
+		} catch (Exception err) {
+			log.error("setUserObject", err);
+			throw new AxisFault(err.getMessage());
+		}
+	}
+
+	/**
+	 * Adds a new User like through the Frontend, but also does activates the
+	 * Account
+	 * 
+	 * @param SID
+	 *            The SID from getSession
+	 * @param username
+	 *            any username
+	 * @param userpass
+	 *            any userpass
+	 * @param lastname
+	 *            any lastname
+	 * @param firstname
+	 *            any firstname
+	 * @param email
+	 *            any email
+	 * @param additionalname
+	 *            any additionalname
+	 * @param street
+	 *            any street
+	 * @param zip
+	 *            any zip
+	 * @param fax
+	 *            any fax
+	 * @param states_id
+	 *            a valid states_id
+	 * @param town
+	 *            any town
+	 * @param language_id
+	 *            the language_id
+	 * @param baseURL
+	 *            the baseURL is needed to send the Initial Email correctly to
+	 *            that User, otherwise the Link in the EMail that the new User
+	 *            will reveive is not valid
+	 * @param jNameTimeZone
+	 *            the name of the timezone for the user
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long addNewUserWithTimeZone(String SID, String username,
+			String userpass, String lastname, String firstname, String email,
+			String additionalname, String street, String zip, String fax,
+			long states_id, String town, long language_id, String baseURL,
+			String jNameTimeZone) throws AxisFault {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				Long user_id = userManagement.registerUser(username, userpass,
+						lastname, firstname, email, new Date(), street,
+						additionalname, fax, zip, states_id, town, language_id,
+						"", baseURL, true, // generate
+											// SIP
+											// Data
+											// if
+											// the
+											// config
+											// is
+											// enabled
+						jNameTimeZone);
+
+				if (user_id < 0) {
+					return user_id;
+				}
+
+				Users user = userManagement.getUserById(user_id);
+
+				// activate the User
+				user.setStatus(1);
+				user.setUpdatetime(new Date());
+
+				userManagement.updateUser(user);
+
+				return user_id;
+
+			} else {
+				return new Long(-26);
+			}
+		} catch (Exception err) {
+			log.error("setUserObject", err);
+			throw new AxisFault(err.getMessage());
+		}
+	}
+
+	/**
+	 * Adds a new User like through the Frontend, but also does activates the
+	 * Account, sends NO email (no matter what you configured) and sets the
+	 * users external user id and type
+	 * 
+	 * Use the methods to create a hash for SSO, creating users is not required
+	 * for SSO
+	 * 
+	 * @param SID
+	 *            The SID from getSession
+	 * @param username
+	 *            any username
+	 * @param userpass
+	 *            any userpass
+	 * @param lastname
+	 *            any lastname
+	 * @param firstname
+	 *            any firstname
+	 * @param email
+	 *            any email
+	 * @param additionalname
+	 *            any additionalname
+	 * @param street
+	 *            any street
+	 * @param zip
+	 *            any zip
+	 * @param fax
+	 *            any fax
+	 * @param states_id
+	 *            a valid states_id
+	 * @param town
+	 *            any town
+	 * @param language_id
+	 *            the language_id
+	 * @param jNameTimeZone
+	 *            the name of the timezone for the user
+	 * @param externalUserId
+	 *            externalUserId
+	 * @param externalUserType
+	 *            externalUserType
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long addNewUserWithExternalType(String SID, String username,
+			String userpass, String lastname, String firstname, String email,
+			String additionalname, String street, String zip, String fax,
+			long states_id, String town, long language_id,
+			String jNameTimeZone, String externalUserId, String externalUserType)
+			throws AxisFault {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+
+				Users testUser = userManagement.getUserByExternalIdAndType(
+						externalUserId, externalUserType);
+
+				if (testUser != null) {
+					throw new Exception("User does already exist!");
+				}
+
+				// This will send no email to the users
+				Long user_id = userManagement.registerUserNoEmail(username,
+						userpass, lastname, firstname, email, new Date(),
+						street, additionalname, fax, zip, states_id, town,
+						language_id, "", true, // generate SIP Data if
+												// the config is enabled
+						jNameTimeZone);
+
+				if (user_id < 0) {
+					return user_id;
+				}
+
+				Users user = userManagement.getUserById(user_id);
+
+				// activate the User
+				user.setStatus(1);
+				user.setUpdatetime(new Date());
+				user.setExternalUserId(externalUserId);
+				user.setExternalUserType(externalUserType);
+
+				userManagement.updateUser(user);
+
+				return user_id;
+
+			} else {
+				return new Long(-26);
+			}
+
+		} catch (Exception err) {
+			log.error("addNewUserWithExternalType", err);
+			throw new AxisFault(err.getMessage());
+		}
+	}
+
+	/**
+	 * 
+	 * Delete a certain user by its id
+	 * 
+	 * @param SID
+	 *            The SID from getSession
+	 * @param userId
+	 *            the openmeetings user id
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long deleteUserById(String SID, Long userId) throws AxisFault {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+
+				// Setting user deleted
+				usersDao.deleteUserID(userId);
+
+				return userId;
+
+			} else {
+				return new Long(-26);
+			}
+
+		} catch (Exception err) {
+			log.error("deleteUserById", err);
+			throw new AxisFault(err.getMessage());
+		}
+	}
+
+	/**
+	 * 
+	 * Delete a certain user by its external user id
+	 * 
+	 * @param SID
+	 *            The SID from getSession
+	 * @param externalUserId
+	 *            externalUserId
+	 * @param externalUserType
+	 *            externalUserId
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long deleteUserByExternalUserIdAndType(String SID,
+			String externalUserId, String externalUserType) throws AxisFault {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkAdminLevel(user_level)) {
+
+				Users userExternal = userManagement.getUserByExternalIdAndType(
+						externalUserId, externalUserType);
+
+				Long userId = userExternal.getUser_id();
+
+				// Setting user deleted
+				usersDao.deleteUserID(userId);
+
+				return userId;
+
+			} else {
+				return new Long(-26);
+			}
+
+		} catch (Exception err) {
+			log.error("deleteUserById", err);
+			throw new AxisFault(err.getMessage());
+		}
+	}
+
+	/**
+	 * deprecated use setUserObjectAndGenerateRoomHash
+	 * 
+	 * Description: sets the SessionObject for a certain SID, after setting this
+	 * Session-Object you can use the SID + a RoomId to enter any Room.
+	 * 
+	 * @param SID
+	 *            The SID from getSession
+	 * @param username
+	 *            any username
+	 * @param firstname
+	 *            any firstname
+	 * @param lastname
+	 *            any lastname
+	 * @param profilePictureUrl
+	 *            any profilePictureUrl
+	 * @param email
+	 *            any email
+	 * @return
+	 * @throws AxisFault
+	 */
+	@Deprecated
+	public Long setUserObject(String SID, String username, String firstname,
+			String lastname, String profilePictureUrl, String email)
+			throws AxisFault {
+		log.debug("UserService.setUserObject");
+
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				RemoteSessionObject remoteSessionObject = new RemoteSessionObject(
+						username, firstname, lastname, profilePictureUrl, email);
+
+				log.debug("username " + username);
+				log.debug("firstname " + firstname);
+				log.debug("lastname " + lastname);
+				log.debug("profilePictureUrl " + profilePictureUrl);
+				log.debug("email " + email);
+
+				// XStream xStream = new XStream(new XppDriver());
+				XStream xStream = new XStream(new DomDriver("UTF-8"));
+				xStream.setMode(XStream.NO_REFERENCES);
+				String xmlString = xStream.toXML(remoteSessionObject);
+
+				log.debug("xmlString " + xmlString);
+
+				sessionManagement.updateUserRemoteSession(SID, xmlString);
+
+				return new Long(1);
+			} else {
+				return new Long(-26);
+			}
+		} catch (Exception err) {
+			log.error("setUserObject", err);
+			throw new AxisFault(err.getMessage());
+		}
+		// return new Long(-1);
+	}
+
+	/**
+	 * deprecated use setUserObjectAndGenerateRoomHash
+	 * 
+	 * Description: sets the SessionObject for a certain SID, after setting this
+	 * Session-Object you can use the SID + a RoomId to enter any Room.
+	 * 
+	 * @param SID
+	 *            The SID from getSession
+	 * @param username
+	 *            any username
+	 * @param firstname
+	 *            any firstname
+	 * @param lastname
+	 *            any lastname
+	 * @param profilePictureUrl
+	 *            any profilePictureUrl
+	 * @param email
+	 *            any email
+	 * @param externalUserId
+	 *            if you have any external user Id you may set it here
+	 * @param externalUserType
+	 *            you can specify your system-name here, for example "moodle"
+	 * @return
+	 * @throws AxisFault
+	 */
+	@Deprecated
+	public Long setUserObjectWithExternalUser(String SID, String username,
+			String firstname, String lastname, String profilePictureUrl,
+			String email, String externalUserId, String externalUserType)
+			throws AxisFault {
+		log.debug("UserService.setUserObject");
+
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				RemoteSessionObject remoteSessionObject = new RemoteSessionObject(
+						username, firstname, lastname, profilePictureUrl,
+						email, externalUserId, externalUserType);
+
+				log.debug("username " + username);
+				log.debug("firstname " + firstname);
+				log.debug("lastname " + lastname);
+				log.debug("profilePictureUrl " + profilePictureUrl);
+				log.debug("email " + email);
+				log.debug("externalUserId " + externalUserId);
+				log.debug("externalUserType " + externalUserType);
+
+				// XStream xStream = new XStream(new XppDriver());
+				XStream xStream = new XStream(new DomDriver("UTF-8"));
+				xStream.setMode(XStream.NO_REFERENCES);
+				String xmlString = xStream.toXML(remoteSessionObject);
+
+				log.debug("xmlString " + xmlString);
+
+				sessionManagement.updateUserRemoteSession(SID, xmlString);
+
+				return new Long(1);
+			} else {
+				return new Long(-26);
+			}
+		} catch (Exception err) {
+			log.error("setUserObjectWithExternalUser", err);
+			throw new AxisFault(err.getMessage());
+		}
+	}
+
+	/**
+	 * Description: sets the SessionObject for a certain SID, after setting this
+	 * Session-Object you can use the SID + a RoomId to enter any Room. ...
+	 * Session-Hashs are deleted 15 minutes after the creation if not used.
+	 * 
+	 * @param SID
+	 *            The SID from getSession
+	 * @param username
+	 *            any username
+	 * @param firstname
+	 *            any firstname
+	 * @param lastname
+	 *            any lastname
+	 * @param profilePictureUrl
+	 *            any profilePictureUrl
+	 * @param email
+	 *            any email
+	 * @param externalUserId
+	 *            if you have any external user Id you may set it here
+	 * @param externalUserType
+	 *            you can specify your system-name here, for example "moodle"
+	 * @param room_id
+	 *            the room id the user should be logged in
+	 * @param becomeModeratorAsInt
+	 *            0 means no Moderator, 1 means Moderator
+	 * @param showAudioVideoTestAsInt
+	 *            0 means don't show Audio/Video Test, 1 means show Audio/Video
+	 *            Test Application before the user is logged into the room
+	 * @return
+	 * @throws AxisFault
+	 */
+	public String setUserObjectAndGenerateRoomHash(String SID, String username,
+			String firstname, String lastname, String profilePictureUrl,
+			String email, String externalUserId, String externalUserType,
+			Long room_id, int becomeModeratorAsInt, int showAudioVideoTestAsInt)
+			throws AxisFault {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				RemoteSessionObject remoteSessionObject = new RemoteSessionObject(
+						username, firstname, lastname, profilePictureUrl,
+						email, externalUserId, externalUserType);
+
+				log.debug("username " + username);
+				log.debug("firstname " + firstname);
+				log.debug("lastname " + lastname);
+				log.debug("profilePictureUrl " + profilePictureUrl);
+				log.debug("email " + email);
+				log.debug("externalUserId " + externalUserId);
+				log.debug("externalUserType " + externalUserType);
+
+				// XStream xStream = new XStream(new XppDriver());
+				XStream xStream = new XStream(new DomDriver("UTF-8"));
+				xStream.setMode(XStream.NO_REFERENCES);
+				String xmlString = xStream.toXML(remoteSessionObject);
+
+				log.debug("xmlString " + xmlString);
+
+				sessionManagement.updateUserRemoteSession(SID, xmlString);
+
+				boolean becomeModerator = false;
+				if (becomeModeratorAsInt != 0) {
+					becomeModerator = true;
+				}
+
+				boolean showAudioVideoTest = false;
+				if (showAudioVideoTestAsInt != 0) {
+					showAudioVideoTest = true;
+				}
+
+				String hash = soapLoginDao.addSOAPLogin(SID, room_id,
+						becomeModerator, showAudioVideoTest, false, // allowSameURLMultipleTimes
+						null, // recording_id
+						false, // showNickNameDialogAsInt
+						"room", // LandingZone,
+						true // allowRecording
+						);
+
+				if (hash != null) {
+					return hash;
+				}
+
+			} else {
+				return "" + new Long(-26);
+			}
+		} catch (Exception err) {
+			log.error("setUserObjectWithAndGenerateRoomHash", err);
+			throw new AxisFault(err.getMessage());
+		}
+		return "" + new Long(-1);
+	}
+
+	/**
+	 * 
+	 * Description: sets the SessionObject for a certain SID, after setting this
+	 * Session-Object you can use the SID + a RoomId to enter any Room.
+	 * 
+	 * ++ the user can press f5 to reload the page / use the link several times,
+	 * the SOAP Gateway does remember the IP of the user and the will only the
+	 * first user that enters the room allow to re-enter. ... Session-Hashs are
+	 * deleted 15 minutes after the creation if not used.
+	 * 
+	 * @param SID
+	 *            The SID from getSession
+	 * @param username
+	 *            any username
+	 * @param firstname
+	 *            any firstname
+	 * @param lastname
+	 *            any lastname
+	 * @param profilePictureUrl
+	 *            any profilePictureUrl
+	 * @param email
+	 *            any email any email
+	 * @param externalUserId
+	 *            if you have any external user Id you may set it here
+	 * @param externalUserType
+	 *            you can specify your system-name here, for example "moodle"
+	 * @param room_id
+	 *            the room id the user should be logged in
+	 * @param becomeModeratorAsInt
+	 *            0 means no Moderator, 1 means Moderator
+	 * @param showAudioVideoTestAsInt
+	 *            0 means don't show Audio/Video Test, 1 means show Audio/Video
+	 *            Test Application before the user is logged into the room
+	 * @return
+	 */
+	public String setUserObjectAndGenerateRoomHashByURL(String SID,
+			String username, String firstname, String lastname,
+			String profilePictureUrl, String email, String externalUserId,
+			String externalUserType, Long room_id, int becomeModeratorAsInt,
+			int showAudioVideoTestAsInt) {
+		log.debug("UserService.setUserObject");
+
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				RemoteSessionObject remoteSessionObject = new RemoteSessionObject(
+						username, firstname, lastname, profilePictureUrl,
+						email, externalUserId, externalUserType);
+
+				log.debug("username " + username);
+				log.debug("firstname " + firstname);
+				log.debug("lastname " + lastname);
+				log.debug("profilePictureUrl " + profilePictureUrl);
+				log.debug("email " + email);
+				log.debug("externalUserId " + externalUserId);
+				log.debug("externalUserType " + externalUserType);
+
+				// XStream xStream = new XStream(new XppDriver());
+				XStream xStream = new XStream(new DomDriver("UTF-8"));
+				xStream.setMode(XStream.NO_REFERENCES);
+				String xmlString = xStream.toXML(remoteSessionObject);
+
+				log.debug("xmlString " + xmlString);
+
+				sessionManagement.updateUserRemoteSession(SID, xmlString);
+
+				boolean becomeModerator = false;
+				if (becomeModeratorAsInt != 0) {
+					becomeModerator = true;
+				}
+
+				boolean showAudioVideoTest = false;
+				if (showAudioVideoTestAsInt != 0) {
+					showAudioVideoTest = true;
+				}
+
+				String hash = soapLoginDao.addSOAPLogin(SID, room_id,
+						becomeModerator, showAudioVideoTest, true, // allowSameURLMultipleTimes
+						null, // recording_id
+						false, // showNickNameDialogAsInt
+						"room", // LandingZone,
+						true // allowRecording
+						);
+
+				if (hash != null) {
+					return hash;
+				}
+
+			} else {
+				return "" + new Long(-26);
+			}
+		} catch (Exception err) {
+			log.error("setUserObjectWithAndGenerateRoomHash", err);
+		}
+		return "" + new Long(-1);
+	}
+
+	/**
+	 * 
+	 * Description: sets the SessionObject for a certain SID, after setting this
+	 * Session-Object you can use the SID + a RoomId to enter any Room.
+	 * 
+	 * ++ the user can press f5 to reload the page / use the link several times,
+	 * the SOAP Gateway does remember the IP of the user and the will only the
+	 * first user that enters the room allow to re-enter. ... Session-Hashs are
+	 * deleted 15 minutes after the creation if not used.
+	 * 
+	 * ++ sets the flag if the user can do recording in the conference room
+	 * 
+	 * @param SID
+	 *            The SID from getSession
+	 * @param username
+	 *            any username
+	 * @param firstname
+	 *            any firstname
+	 * @param lastname
+	 *            any lastname
+	 * @param profilePictureUrl
+	 *            any profilePictureUrl
+	 * @param email
+	 *            any email
+	 * @param externalUserId
+	 *            if you have any external user Id you may set it here
+	 * @param externalUserType
+	 *            you can specify your system-name here, for example "moodle"
+	 * @param room_id
+	 *            the room id the user should be logged in
+	 * @param becomeModeratorAsInt
+	 *            0 means no Moderator, 1 means Moderator
+	 * @param showAudioVideoTestAsInt
+	 *            0 means don't show Audio/Video Test, 1 means show Audio/Video
+	 *            Test Application before the user is logged into the room
+	 * @param allowRecording
+	 *            0 means don't allow Recording, 1 means allow Recording
+	 * @return
+	 */
+	public String setUserObjectAndGenerateRoomHashByURLAndRecFlag(String SID,
+			String username, String firstname, String lastname,
+			String profilePictureUrl, String email, String externalUserId,
+			String externalUserType, Long room_id, int becomeModeratorAsInt,
+			int showAudioVideoTestAsInt, int allowRecording) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				RemoteSessionObject remoteSessionObject = new RemoteSessionObject(
+						username, firstname, lastname, profilePictureUrl,
+						email, externalUserId, externalUserType);
+
+				log.debug("username " + username);
+				log.debug("firstname " + firstname);
+				log.debug("lastname " + lastname);
+				log.debug("profilePictureUrl " + profilePictureUrl);
+				log.debug("email " + email);
+				log.debug("externalUserId " + externalUserId);
+				log.debug("externalUserType " + externalUserType);
+				log.debug("allowRecording " + allowRecording);
+
+				// XStream xStream = new XStream(new XppDriver());
+				XStream xStream = new XStream(new DomDriver("UTF-8"));
+				xStream.setMode(XStream.NO_REFERENCES);
+				String xmlString = xStream.toXML(remoteSessionObject);
+
+				log.debug("xmlString " + xmlString);
+
+				sessionManagement.updateUserRemoteSession(SID, xmlString);
+
+				boolean becomeModerator = false;
+				if (becomeModeratorAsInt != 0) {
+					becomeModerator = true;
+				}
+
+				boolean showAudioVideoTest = false;
+				if (showAudioVideoTestAsInt != 0) {
+					showAudioVideoTest = true;
+				}
+
+				boolean allowRecordingBool = false;
+				if (allowRecording != 0) {
+					allowRecordingBool = true;
+				}
+
+				String hash = soapLoginDao.addSOAPLogin(SID, room_id,
+						becomeModerator, showAudioVideoTest, true, // allowSameURLMultipleTimes
+						null, // recording_id
+						false, // showNickNameDialogAsInt
+						"room", // LandingZone,
+						allowRecordingBool // allowRecording
+						);
+
+				if (hash != null) {
+					return hash;
+				}
+
+			} else {
+				return "" + new Long(-26);
+			}
+		} catch (Exception err) {
+			log.error("setUserObjectWithAndGenerateRoomHash", err);
+		}
+		return "" + new Long(-1);
+	}
+
+	/**
+	 * 
+	 * Description: sets the SessionObject for a certain SID, after setting this
+	 * Session-Object you can use the SID and directly login into the dashboard
+	 * 
+	 * ++ the user can press f5 to reload the page / use the link several times,
+	 * the SOAP Gateway does remember the IP of the user and the will only the
+	 * first user that enters the room allow to re-enter. ... Session-Hashs are
+	 * deleted 15 minutes after the creation if not used.
+	 * 
+	 * @param SID
+	 *            The SID from getSession
+	 * @param username
+	 *            any username
+	 * @param firstname
+	 *            any firstname
+	 * @param lastname
+	 *            any lastname
+	 * @param profilePictureUrl
+	 *            any absolute profilePictureUrl
+	 * @param email
+	 *            any email
+	 * @param externalUserId
+	 *            if you have any external user Id you may set it here
+	 * @param externalUserType
+	 *            you can specify your system-name here, for example "moodle"
+	 * @return
+	 */
+	public String setUserObjectMainLandingZone(String SID, String username,
+			String firstname, String lastname, String profilePictureUrl,
+			String email, String externalUserId, String externalUserType) {
+		log.debug("UserService.setUserObjectMainLandingZone");
+
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				RemoteSessionObject remoteSessionObject = new RemoteSessionObject(
+						username, firstname, lastname, profilePictureUrl,
+						email, externalUserId, externalUserType);
+
+				log.debug("username " + username);
+				log.debug("firstname " + firstname);
+				log.debug("lastname " + lastname);
+				log.debug("profilePictureUrl " + profilePictureUrl);
+				log.debug("email " + email);
+				log.debug("externalUserId " + externalUserId);
+				log.debug("externalUserType " + externalUserType);
+
+				// XStream xStream = new XStream(new XppDriver());
+				XStream xStream = new XStream(new DomDriver("UTF-8"));
+				xStream.setMode(XStream.NO_REFERENCES);
+				String xmlString = xStream.toXML(remoteSessionObject);
+
+				log.debug("xmlString " + xmlString);
+
+				sessionManagement.updateUserRemoteSession(SID, xmlString);
+
+				String hash = soapLoginDao.addSOAPLogin(SID, null, false, true,
+						true, // allowSameURLMultipleTimes
+						null, // recording_id
+						false, // showNickNameDialogAsInt
+						"dashboard", // LandingZone,
+						true // allowRecording
+						);
+
+				if (hash != null) {
+					return hash;
+				}
+
+			} else {
+
+				log.debug("Invalid access via SOAP " + SID + " UserD"
+						+ users_id + " " + user_level);
+
+				return "" + new Long(-26);
+			}
+		} catch (Exception err) {
+			log.error("setUserObjectWithAndGenerateRoomHash", err);
+		}
+		return "" + new Long(-1);
+	}
+
+	/**
+	 * 
+	 * Description: sets the SessionObject for a certain SID, after setting this
+	 * Session-Object you can use the SID + a RoomId to enter any Room.
+	 * 
+	 * ++ the user can press f5 to reload the page / use the link several times,
+	 * the SOAP Gateway does remember the IP of the user and the will only the
+	 * first user that enters the room allow to re-enter. ... Session-Hashs are
+	 * deleted 15 minutes after the creation if not used.
+	 * 
+	 * ++ Additionally you can set a param showNickNameDialogAsInt, the effect
+	 * if that param is 1 is, that the user gets a popup where he can enter his
+	 * nickname right before he enters the conference room. All nicknames and
+	 * emails users enter are logged in the conferencelog table.
+	 * 
+	 * @param SID
+	 *            The SID from getSession
+	 * @param username
+	 *            any username
+	 * @param firstname
+	 *            any firstname
+	 * @param lastname
+	 *            any lastname
+	 * @param profilePictureUrl
+	 *            any profilePictureUrl
+	 * @param email
+	 *            any email
+	 * @param externalUserId
+	 *            if you have any external user Id you may set it here
+	 * @param externalUserType
+	 *            you can specify your system-name here, for example "moodle"
+	 * @param room_id
+	 *            the room id the user should be logged in
+	 * @param becomeModeratorAsInt
+	 *            0 means no Moderator, 1 means Moderator
+	 * @param showAudioVideoTestAsInt
+	 *            0 means don't show Audio/Video Test, 1 means show Audio/Video
+	 *            Test Application before the user is logged into the room
+	 * @param showNickNameDialogAsInt
+	 *            0 means do not show the popup to enter a nichname, 1 means
+	 *            that there is a popup to enter the nickname for the conference
+	 * @return
+	 */
+	public String setUserAndNickName(String SID, String username,
+			String firstname, String lastname, String profilePictureUrl,
+			String email, String externalUserId, String externalUserType,
+			Long room_id, int becomeModeratorAsInt,
+			int showAudioVideoTestAsInt, int showNickNameDialogAsInt) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				RemoteSessionObject remoteSessionObject = new RemoteSessionObject(
+						username, firstname, lastname, profilePictureUrl,
+						email, externalUserId, externalUserType);
+
+				log.debug("username " + username);
+				log.debug("firstname " + firstname);
+				log.debug("lastname " + lastname);
+				log.debug("profilePictureUrl " + profilePictureUrl);
+				log.debug("email " + email);
+				log.debug("externalUserId " + externalUserId);
+				log.debug("externalUserType " + externalUserType);
+				log.debug("showNickNameDialogAsInt" + showNickNameDialogAsInt);
+
+				// XStream xStream = new XStream(new XppDriver());
+				XStream xStream = new XStream(new DomDriver("UTF-8"));
+				xStream.setMode(XStream.NO_REFERENCES);
+				String xmlString = xStream.toXML(remoteSessionObject);
+
+				log.debug("xmlString " + xmlString);
+
+				sessionManagement.updateUserRemoteSession(SID, xmlString);
+
+				boolean becomeModerator = false;
+				if (becomeModeratorAsInt != 0) {
+					becomeModerator = true;
+				}
+
+				boolean showAudioVideoTest = false;
+				if (showAudioVideoTestAsInt != 0) {
+					showAudioVideoTest = true;
+				}
+
+				boolean showNickNameDialog = false;
+				if (showNickNameDialogAsInt != 0) {
+					showNickNameDialog = true;
+				}
+
+				String hash = soapLoginDao.addSOAPLogin(SID, room_id,
+						becomeModerator, showAudioVideoTest, true, null,
+						showNickNameDialog, "room", // LandingZone,
+						true // allowRecording
+						);
+
+				if (hash != null) {
+					return hash;
+				}
+
+			} else {
+				return "" + new Long(-26);
+			}
+		} catch (Exception err) {
+			log.error("setUserObjectWithAndGenerateRoomHash", err);
+		}
+		return "" + new Long(-1);
+	}
+
+	/**
+	 * Use this method to access a Recording instead of Room
+	 * 
+	 * @param SID
+	 *            The SID from getSession
+	 * @param username
+	 *            any username
+	 * @param firstname
+	 *            any firstname
+	 * @param lastname
+	 *            any lastname
+	 * @param externalUserId
+	 *            if you have any external user Id you may set it here
+	 * @param externalUserType
+	 *            you can specify your system-name here, for example "moodle"
+	 * @param recording_id
+	 *            the id of the recording, get a List of all Recordings with
+	 *            RoomService::getFlvRecordingByExternalRoomType
+	 * @return
+	 */
+	public String setUserObjectAndGenerateRecordingHashByURL(String SID,
+			String username, String firstname, String lastname,
+			String externalUserId, String externalUserType, Long recording_id) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				RemoteSessionObject remoteSessionObject = new RemoteSessionObject(
+						username, firstname, "", "", "", externalUserId,
+						externalUserType);
+
+				log.debug("username " + username);
+				log.debug("firstname " + firstname);
+				log.debug("lastname " + lastname);
+				log.debug("profilePictureUrl " + "");
+				log.debug("email " + "");
+				log.debug("externalUserId " + externalUserId);
+				log.debug("externalUserType " + externalUserType);
+
+				// XStream xStream = new XStream(new XppDriver());
+				XStream xStream = new XStream(new DomDriver("UTF-8"));
+				xStream.setMode(XStream.NO_REFERENCES);
+				String xmlString = xStream.toXML(remoteSessionObject);
+
+				log.debug("xmlString " + xmlString);
+
+				sessionManagement.updateUserRemoteSession(SID, xmlString);
+
+				String hash = soapLoginDao.addSOAPLogin(SID, null, false,
+						false, true, // allowSameURLMultipleTimes
+						recording_id, // recording_id
+						false, // showNickNameDialogAsInt
+						"room", // LandingZone,
+						true // allowRecording
+						);
+
+				if (hash != null) {
+					return hash;
+				}
+
+			} else {
+				return "" + new Long(-26);
+			}
+		} catch (Exception err) {
+			log.error("setUserObjectWithAndGenerateRoomHash", err);
+		}
+		return "" + new Long(-1);
+	}
+
+	/**
+	 * 
+	 * Add a user to a certain organization
+	 * 
+	 * @param SID
+	 *            The SID from getSession
+	 * @param user_id
+	 *            the user id
+	 * @param organisation_id
+	 *            the organization id
+	 * @param insertedby
+	 *            user id of the operating user
+	 * @return
+	 */
+	public Long addUserToOrganisation(String SID, Long user_id,
+			Long organisation_id, Long insertedby) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				return organisationmanagement.addUserToOrganisation(user_id,
+						organisation_id, users_id);
+
+			} else {
+				return new Long(-26);
+			}
+		} catch (Exception err) {
+			log.error("addUserToOrganisation", err);
+		}
+		return new Long(-1);
+	}
+
+	/**
+	 * Search users and return them
+	 * 
+	 * @param SID
+	 *            The SID from getSession
+	 * @param organisation_id
+	 *            the organization id
+	 * @param start
+	 *            first record
+	 * @param max
+	 *            max records
+	 * @param orderby
+	 *            orderby clause
+	 * @param asc
+	 *            asc or desc
+	 * @return
+	 */
+	public SearchResult<Users> getUsersByOrganisation(String SID,
+			long organisation_id, int start, int max, String orderby,
+			boolean asc) {
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+				return organisationmanagement
+						.getUsersSearchResultByOrganisationId(organisation_id,
+								start, max, orderby, asc);
+			} else {
+				log.error("Need Administration Account");
+				SearchResult<Users> sResult = new SearchResult<Users>();
+				sResult.setErrorId(-26L);
+				return sResult;
+			}
+		} catch (Exception err) {
+			log.error("getUsersByOrganisation", err);
+		}
+		return null;
+	}
+
+	/**
+	 * Kick a user by its public SID
+	 * 
+	 * @param SID
+	 *            The SID from getSession
+	 * @param publicSID
+	 *            the publicSID (you can get it from the call to get users in a
+	 *            room)
+	 * @return
+	 */
+	public Boolean kickUserByPublicSID(String SID, String publicSID) {
+		try {
+			Boolean salida = false;
+
+			salida = userManagement.kickUserByPublicSID(SID, publicSID);
+
+			if (salida == null)
+				salida = false;
+
+			return salida;
+		} catch (Exception err) {
+			log.error("[kickUser]", err);
+		}
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/axis/services/UserWebServiceFacade.java b/src/org/openmeetings/axis/services/UserWebServiceFacade.java
new file mode 100644
index 0000000..ddae513
--- /dev/null
+++ b/src/org/openmeetings/axis/services/UserWebServiceFacade.java
@@ -0,0 +1,313 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.axis.services;
+
+import javax.servlet.ServletContext;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.transport.http.HTTPConstants;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.beans.basic.ErrorResult;
+import org.openmeetings.app.data.beans.basic.SearchResult;
+import org.openmeetings.app.persistence.beans.basic.Sessiondata;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.context.ApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+public class UserWebServiceFacade {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			UserWebServiceFacade.class, OpenmeetingsVariables.webAppRootKey);
+
+	private ServletContext getServletContext() throws Exception {
+		MessageContext mc = MessageContext.getCurrentMessageContext();
+		return (ServletContext) mc
+				.getProperty(HTTPConstants.MC_HTTP_SERVLETCONTEXT);
+	}
+
+	private UserWebService getUserServiceProxy() {
+		try {
+			ApplicationContext context = WebApplicationContextUtils
+					.getWebApplicationContext(getServletContext());
+			return (UserWebService) context.getBean("userWebService");
+		} catch (Exception err) {
+			log.error("[getUserServiceProxy]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * load this session id before doing anything else
+	 * 
+	 * @return Sessiondata-Object
+	 */
+	public Sessiondata getSession() throws AxisFault {
+		return getUserServiceProxy().getSession();
+	}
+
+	/**
+	 * auth function, use the SID you get by getSession
+	 * 
+	 * @param SID
+	 * @param Username
+	 * @param Userpass
+	 * @return positive means Loggedin, if negativ its an ErrorCode, you have to
+	 *         invoke the Method getErrorByCode to get the Text-Description of
+	 *         that ErrorCode
+	 */
+	public Long loginUser(String SID, String username, String userpass)
+			throws AxisFault {
+		return getUserServiceProxy().loginUser(SID, username, userpass);
+	}
+
+	/**
+	 * Gets the Error-Object
+	 * 
+	 * @param SID
+	 * @param errorid
+	 * @param language_id
+	 * @return
+	 */
+	public ErrorResult getErrorByCode(String SID, Long errorid, Long language_id) {
+		return getUserServiceProxy().getErrorByCode(SID, errorid, language_id);
+	}
+
+	public Long addNewUser(String SID, String username, String userpass,
+			String lastname, String firstname, String email,
+			String additionalname, String street, String zip, String fax,
+			long states_id, String town, long language_id, String baseURL)
+			throws AxisFault {
+		return getUserServiceProxy().addNewUser(SID, username, userpass,
+				lastname, firstname, email, additionalname, street, zip, fax,
+				states_id, town, language_id, baseURL);
+	}
+
+	public Long addNewUserWithTimeZone(String SID, String username,
+			String userpass, String lastname, String firstname, String email,
+			String additionalname, String street, String zip, String fax,
+			long states_id, String town, long language_id, String baseURL,
+			String jNameTimeZone) throws AxisFault {
+		return getUserServiceProxy().addNewUserWithTimeZone(SID, username,
+				userpass, lastname, firstname, email, additionalname, street,
+				zip, fax, states_id, town, language_id, baseURL, jNameTimeZone);
+
+	}
+
+	/**
+	 * 
+	 * Adds a user with an externalUserId and type, but checks if the user/type
+	 * does already exist
+	 * 
+	 * @param SID
+	 * @param username
+	 * @param userpass
+	 * @param lastname
+	 * @param firstname
+	 * @param email
+	 * @param additionalname
+	 * @param street
+	 * @param zip
+	 * @param fax
+	 * @param states_id
+	 * @param town
+	 * @param language_id
+	 * @param jNameTimeZone
+	 * @param externalUserId
+	 * @param externalUserType
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long addNewUserWithExternalType(String SID, String username,
+			String userpass, String lastname, String firstname, String email,
+			String additionalname, String street, String zip, String fax,
+			long states_id, String town, long language_id,
+			String jNameTimeZone, String externalUserId, String externalUserType)
+			throws AxisFault {
+		return getUserServiceProxy().addNewUserWithExternalType(SID, username,
+				userpass, lastname, firstname, email, additionalname, street,
+				zip, fax, states_id, town, language_id, jNameTimeZone,
+				externalUserId, externalUserType);
+
+	}
+
+	/**
+	 * 
+	 * delete a user by its id
+	 * 
+	 * @param SID
+	 * @param userId
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long deleteUserById(String SID, Long userId) throws AxisFault {
+		return getUserServiceProxy().deleteUserById(SID, userId);
+	}
+
+	/**
+	 * 
+	 * delete a user by its external user id and type
+	 * 
+	 * @param SID
+	 * @param externalUserId
+	 * @param externalUserType
+	 * @return
+	 * @throws AxisFault
+	 */
+	public Long deleteUserByExternalUserIdAndType(String SID,
+			String externalUserId, String externalUserType) throws AxisFault {
+		return getUserServiceProxy().deleteUserByExternalUserIdAndType(SID,
+				externalUserId, externalUserType);
+	}
+
+	/**
+	 * 
+	 * @param SID
+	 * @param firstname
+	 * @param lastname
+	 * @param profilePictureUrl
+	 * @param email
+	 * @return
+	 * @throws AxisFault
+	 */
+	@Deprecated
+	public Long setUserObject(String SID, String username, String firstname,
+			String lastname, String profilePictureUrl, String email)
+			throws AxisFault {
+		return getUserServiceProxy().setUserObject(SID, username, firstname,
+				lastname, profilePictureUrl, email);
+	}
+
+	/**
+	 * This is the advanced technique to set the User Object + simulate a User
+	 * from the external system, this is needed cause you can that always
+	 * simulate to same user in openmeetings
+	 * 
+	 * @param SID
+	 * @param username
+	 * @param firstname
+	 * @param lastname
+	 * @param profilePictureUrl
+	 * @param email
+	 * @param externalUserId
+	 *            the User Id of the external System
+	 * @param externalUserType
+	 *            the Name of the external system, for example you can run
+	 *            several external system and one meeting server
+	 * @return
+	 * @throws AxisFault
+	 */
+	@Deprecated
+	public Long setUserObjectWithExternalUser(String SID, String username,
+			String firstname, String lastname, String profilePictureUrl,
+			String email, String externalUserId, String externalUserType)
+			throws AxisFault {
+		return getUserServiceProxy().setUserObjectWithExternalUser(SID,
+				username, firstname, lastname, profilePictureUrl, email,
+				externalUserId, externalUserType);
+	}
+
+	public String setUserObjectAndGenerateRoomHash(String SID, String username,
+			String firstname, String lastname, String profilePictureUrl,
+			String email, String externalUserId, String externalUserType,
+			Long room_id, int becomeModeratorAsInt, int showAudioVideoTestAsInt)
+			throws AxisFault {
+		return getUserServiceProxy().setUserObjectAndGenerateRoomHash(SID,
+				username, firstname, lastname, profilePictureUrl, email,
+				externalUserId, externalUserType, room_id,
+				becomeModeratorAsInt, showAudioVideoTestAsInt);
+	}
+
+	public String setUserObjectAndGenerateRoomHashByURL(String SID,
+			String username, String firstname, String lastname,
+			String profilePictureUrl, String email, String externalUserId,
+			String externalUserType, Long room_id, int becomeModeratorAsInt,
+			int showAudioVideoTestAsInt) throws AxisFault {
+		return getUserServiceProxy().setUserObjectAndGenerateRoomHashByURL(SID,
+				username, firstname, lastname, profilePictureUrl, email,
+				externalUserId, externalUserType, room_id,
+				becomeModeratorAsInt, showAudioVideoTestAsInt);
+	}
+
+	public String setUserObjectAndGenerateRoomHashByURLAndRecFlag(String SID,
+			String username, String firstname, String lastname,
+			String profilePictureUrl, String email, String externalUserId,
+			String externalUserType, Long room_id, int becomeModeratorAsInt,
+			int showAudioVideoTestAsInt, int allowRecording) throws AxisFault {
+		return getUserServiceProxy()
+				.setUserObjectAndGenerateRoomHashByURLAndRecFlag(SID, username,
+						firstname, lastname, profilePictureUrl, email,
+						externalUserId, externalUserType, room_id,
+						becomeModeratorAsInt, showAudioVideoTestAsInt,
+						allowRecording);
+	}
+
+	public String setUserObjectMainLandingZone(String SID, String username,
+			String firstname, String lastname, String profilePictureUrl,
+			String email, String externalUserId, String externalUserType)
+			throws AxisFault {
+		return getUserServiceProxy().setUserObjectMainLandingZone(SID,
+				username, firstname, lastname, profilePictureUrl, email,
+				externalUserId, externalUserType);
+	}
+
+	public String setUserAndNickName(String SID, String username,
+			String firstname, String lastname, String profilePictureUrl,
+			String email, String externalUserId, String externalUserType,
+			Long room_id, int becomeModeratorAsInt,
+			int showAudioVideoTestAsInt, int showNickNameDialogAsInt)
+			throws AxisFault {
+		return getUserServiceProxy().setUserAndNickName(SID, username,
+				firstname, lastname, profilePictureUrl, email, externalUserId,
+				externalUserType, room_id, becomeModeratorAsInt,
+				showAudioVideoTestAsInt, showNickNameDialogAsInt);
+	}
+
+	public String setUserObjectAndGenerateRecordingHashByURL(String SID,
+			String username, String firstname, String lastname,
+			String externalUserId, String externalUserType, Long recording_id)
+			throws AxisFault {
+		return getUserServiceProxy()
+				.setUserObjectAndGenerateRecordingHashByURL(SID, username,
+						firstname, lastname, externalUserId, externalUserType,
+						recording_id);
+	}
+
+	public Long addUserToOrganisation(String SID, Long user_id,
+			Long organisation_id, Long insertedby)
+			throws AxisFault {
+		return getUserServiceProxy().addUserToOrganisation(SID, user_id,
+				organisation_id, insertedby);
+	}
+
+	public SearchResult<Users> getUsersByOrganisation(String SID,
+			long organisation_id, int start, int max, String orderby,
+			boolean asc) throws AxisFault {
+		return getUserServiceProxy().getUsersByOrganisation(SID,
+				organisation_id, start, max, orderby, asc);
+	}
+
+	public Boolean kickUserByPublicSID(String SID, String publicSID)
+			throws AxisFault {
+		return getUserServiceProxy().kickUserByPublicSID(SID, publicSID);
+	}
+
+}
diff --git a/src/org/openmeetings/cli/Admin.java b/src/org/openmeetings/cli/Admin.java
new file mode 100644
index 0000000..0f3af53
--- /dev/null
+++ b/src/org/openmeetings/cli/Admin.java
@@ -0,0 +1,545 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.cli;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Date;
+import java.util.Enumeration;
+import java.util.Map;
+import java.util.Set;
+
+import javax.mail.internet.AddressException;
+import javax.mail.internet.InternetAddress;
+import javax.servlet.RequestDispatcher;
+import javax.servlet.Servlet;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletException;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.OptionGroup;
+import org.apache.commons.cli.Options;
+import org.apache.commons.cli.ParseException;
+import org.apache.commons.cli.Parser;
+import org.apache.commons.cli.PosixParser;
+import org.apache.openjpa.jdbc.meta.MappingTool;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.file.FileUtils;
+import org.openmeetings.app.documents.InstallationDocumentHandler;
+import org.openmeetings.app.installation.ImportInitvalues;
+import org.openmeetings.app.installation.InstallationConfig;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.servlet.outputhandler.BackupExport;
+import org.openmeetings.servlet.outputhandler.BackupImportController;
+import org.openmeetings.utils.ImportHelper;
+import org.openmeetings.utils.OMContextListener;
+import org.openmeetings.utils.mail.MailUtil;
+import org.openmeetings.utils.math.CalendarPatterns;
+import org.quartz.SchedulerException;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+import org.springframework.scheduling.quartz.SchedulerFactoryBean;
+
+public class Admin {
+	private static final Logger log = Red5LoggerFactory.getLogger(Admin.class);
+	
+	private boolean verbose = false;
+	private InstallationConfig cfg = null;
+	private Options opts = null;
+	private CommandLine cmdl = null;
+	private File omHome = null;
+	private ClassPathXmlApplicationContext ctx = null; 
+
+	private Admin() {
+		cfg = new InstallationConfig();
+		opts = buildOptions();
+	}
+	
+	private Options buildOptions() {
+		Options options = new Options();
+		OptionGroup group = new OptionGroup()
+			.addOption(new OmOption("h", 0, "h", "help", false, "prints this message"))
+			.addOption(new OmOption("b", 1, "b", "backup", false, "Backups OM"))
+			.addOption(new OmOption("r", 2, "r", "restore", false, "Restores OM"))
+			.addOption(new OmOption("i", 3, "i", "install", false, "Fill DB table, and make OM usable"))
+			.addOption(new OmOption("f", 4, "f", "files", false, "File operations - statictics/cleanup"));
+		group.setRequired(true); 
+		options.addOptionGroup(group);
+		//general
+		options.addOption(new OmOption(null, "v", "verbose", false, "verbose error messages"));
+		//backup/restore
+		options.addOption(new OmOption("b", null, "exclude-files", false, "should backup exclude files [default: include]", true));
+		options.addOption(new OmOption("b,r,i", "file", null, true, "file used for backup/restore/install", "b"));
+		//install
+		options.addOption(new OmOption("i", "user", null, true, "Login name of the default user, minimum " + InstallationConfig.USER_LOGIN_MINIMUM_LENGTH + " characters (mutually exclusive with 'file')"));
+		options.addOption(new OmOption("i", "email", null, true, "Email of the default user (mutually exclusive with 'file')"));
+		options.addOption(new OmOption("i", "group", null, true, "The name of the default user group (mutually exclusive with 'file')"));
+		options.addOption(new OmOption("i", "tz", null, true, "Default server time zone, and time zone for the selected user (mutually exclusive with 'file')"));
+		options.addOption(new OmOption("i", null, "password", true, "Password of the default user, minimum " + InstallationConfig.USER_LOGIN_MINIMUM_LENGTH + " characters (will be prompted if not set)", true));
+		options.addOption(new OmOption("i", null, "system-email-address", true, "System e-mail address [default: " + cfg.mailReferer + "]", true));
+		options.addOption(new OmOption("i", null, "smtp-server", true, "SMTP server for outgoing e-mails [default: " + cfg.smtpServer + "]", true));
+		options.addOption(new OmOption("i", null, "smtp-port", true, "SMTP server for outgoing e-mails [default: " + cfg.smtpPort + "]", true));
+		options.addOption(new OmOption("i", null, "email-auth-user", true, "Email auth username (anonymous connection will be used if not set)", true));
+		options.addOption(new OmOption("i", null, "email-auth-pass", true, "Email auth password (anonymous connection will be used if not set)", true));
+		options.addOption(new OmOption("i", null, "email-use-tls", false, "Is secure e-mail connection [default: no]", true));
+		options.addOption(new OmOption("i", null, "skip-default-rooms", false, "Do not create default rooms [created by default]", true));
+		options.addOption(new OmOption("i", null, "disable-frontend-register", false, "Do not allow front end register [allowed by default]", true));
+
+		options.addOption(new OmOption("i", null, "db-type", true, "The type of the DB to be used", true));
+		options.addOption(new OmOption("i", null, "db-host", true, "DNS name or IP address of database", true));
+		options.addOption(new OmOption("i", null, "db-port", true, "Database port", true));
+		options.addOption(new OmOption("i", null, "db-name", true, "The name of Openmeetings database", true));
+		options.addOption(new OmOption("i", null, "db-user", true, "User with write access to the DB specified", true));
+		options.addOption(new OmOption("i", null, "db-pass", true, "Password of the user with write access to the DB specified", true));
+		options.addOption(new OmOption("i", null, "drop", false, "Drop database before installation", true));
+		options.addOption(new OmOption("i", null, "force", false, "Install without checking the existence of old data in the database.", true));
+		
+		return options;
+	}
+	
+	private enum Command {
+		install
+		, backup
+		, restore
+		, files
+		, usage
+	}
+	
+	private void usage() {
+		OmHelpFormatter formatter = new OmHelpFormatter();
+		formatter.setWidth(100);
+		formatter.printHelp("admin", opts);
+	}
+	
+	private void handleError(String msg, Exception e) {
+		handleError(msg, e, false);
+	}
+	
+	private void handleError(String msg, Exception e, boolean printUsage) {
+		if (printUsage) {
+			usage();
+		}
+		if (verbose) {
+			log.error(msg, e);
+		} else {
+			log.error(msg + " " + e.getMessage());
+		}
+		System.exit(1);
+	}
+	
+	private ClassPathXmlApplicationContext getApplicationContext(final String ctxName) {
+		if (ctx == null) {
+			OMContextListener omcl = new OMContextListener();
+			omcl.contextInitialized(new ServletContextEvent(new ServletContext() {
+				public void setAttribute(String arg0, Object arg1) {
+				}
+				
+				public void removeAttribute(String arg0) {
+				}
+				
+				public void log(String arg0, Throwable arg1) {
+				}
+				
+				public void log(Exception arg0, String arg1) {
+				}
+				
+				public void log(String arg0) {
+				}
+				
+				@SuppressWarnings("rawtypes")
+				public Enumeration getServlets() {
+					return null;
+				}
+				
+				@SuppressWarnings("rawtypes")
+				public Enumeration getServletNames() {
+					return null;
+				}
+				
+				public String getServletContextName() {
+					return null;
+				}
+				
+				public Servlet getServlet(String arg0) throws ServletException {
+					return null;
+				}
+				
+				public String getServerInfo() {
+					return null;
+				}
+				
+				@SuppressWarnings("rawtypes")
+				public Set getResourcePaths(String arg0) {
+					return null;
+				}
+				
+				public InputStream getResourceAsStream(String arg0) {
+					return null;
+				}
+				
+				public URL getResource(String arg0) throws MalformedURLException {
+					return null;
+				}
+				
+				public RequestDispatcher getRequestDispatcher(String arg0) {
+					return null;
+				}
+				
+				public String getRealPath(String arg0) {
+					return null;
+				}
+				
+				public RequestDispatcher getNamedDispatcher(String arg0) {
+					return null;
+				}
+				
+				public int getMinorVersion() {
+					return 0;
+				}
+				
+				public String getMimeType(String arg0) {
+					return null;
+				}
+				
+				public int getMajorVersion() {
+					return 0;
+				}
+				
+				@SuppressWarnings("rawtypes")
+				public Enumeration getInitParameterNames() {
+					return null;
+				}
+				
+				public String getInitParameter(String arg0) {
+					return null;
+				}
+				
+				public String getContextPath() {
+					return ctxName;
+				}
+				
+				public ServletContext getContext(String arg0) {
+					return null;
+				}
+				
+				@SuppressWarnings("rawtypes")
+				public Enumeration getAttributeNames() {
+					return null;
+				}
+				
+				public Object getAttribute(String arg0) {
+					return null;
+				}
+			}));
+			try {
+				ctx = new ClassPathXmlApplicationContext("openmeetings-applicationContext.xml");
+			} catch (Exception e) {
+				handleError("Unable to obtain application context", e);
+			}
+		}
+		return ctx;
+	}
+	
+	private void process(String[] args) {
+		String ctxName = System.getProperty("context", "openmeetings");
+		File home = new File(System.getenv("RED5_HOME"));
+		omHome = new File(new File(home, "webapps"), ctxName);
+		File omUploadTemp = new File(omHome, OpenmeetingsVariables.UPLOAD_TEMP_DIR);
+		
+		Parser parser = new PosixParser();
+		try {
+			cmdl = parser.parse(opts, args);
+		} catch (ParseException e) {
+			System.out.println(e.getMessage());
+			usage();
+			System.exit(1);
+		}
+		verbose = cmdl.hasOption('v');
+
+		Command cmd = Command.usage;
+		if (cmdl.hasOption('i')) {
+			cmd = Command.install;
+		} else if (cmdl.hasOption('b')) {
+			cmd = Command.backup;
+		} else if (cmdl.hasOption('r')) {
+			cmd = Command.restore;
+		} else if (cmdl.hasOption('f')) {
+			cmd = Command.files;
+		}
+
+		String file = cmdl.getOptionValue("file", "");
+		switch(cmd) {
+			case install:
+				try {
+					if (cmdl.hasOption("file") && (cmdl.hasOption("user") || cmdl.hasOption("email") || cmdl.hasOption("group"))) {
+						System.out.println("Please specify even 'file' option or 'admin user'.");
+						System.exit(1);
+					}
+					boolean force = cmdl.hasOption("force");
+					if (cmdl.hasOption("skip-default-rooms")) {
+						cfg.createDefaultRooms = "0";
+					}
+					if (cmdl.hasOption("disable-frontend-register")) {
+						cfg.allowFrontendRegister = "0";
+					}
+					if (cmdl.hasOption("system-email-address")) {
+						cfg.mailReferer = cmdl.getOptionValue("system-email-address");
+					}
+					if (cmdl.hasOption("smtp-server")) {
+						cfg.smtpServer = cmdl.getOptionValue("smtp-server");
+					}
+					if (cmdl.hasOption("smtp-port")) {
+						cfg.smtpPort = cmdl.getOptionValue("smtp-port");
+					}
+					if (cmdl.hasOption("email-auth-user")) {
+						cfg.mailAuthName = cmdl.getOptionValue("email-auth-user");
+					}
+					if (cmdl.hasOption("email-auth-pass")) {
+						cfg.mailAuthPass = cmdl.getOptionValue("email-auth-pass");
+					}
+					if (cmdl.hasOption("email-use-tls")) {
+						cfg.mailUseTls = "1";
+					}
+					String langPath = new File(omHome, ImportInitvalues.languageFolderName).getAbsolutePath(); //FIXME need to be moved to helper
+					ConnectionProperties connectionProperties = new ConnectionProperties();
+					File conf = new File(omHome, "WEB-INF/classes/META-INF/persistence.xml");
+					if (!conf.exists() || cmdl.hasOption("db-type") || cmdl.hasOption("db-host") || cmdl.hasOption("db-port") || cmdl.hasOption("db-name") || cmdl.hasOption("db-user") || cmdl.hasOption("db-pass")) {
+						String dbType = cmdl.getOptionValue("db-type", "derby");
+						File srcConf = new File(omHome, "WEB-INF/classes/META-INF/" + dbType + "_persistence.xml");
+						ConnectionPropertiesPatcher.getPatcher(dbType).patch(
+								srcConf
+								, conf
+								, cmdl.getOptionValue("db-host", "localhost")
+								, cmdl.getOptionValue("db-port", null)
+								, cmdl.getOptionValue("db-name", null)
+								, cmdl.getOptionValue("db-user", null)
+								, cmdl.getOptionValue("db-pass", null)
+								, connectionProperties
+								);
+					} else {
+						//get properties from existent persistence.xml
+						connectionProperties = ConnectionPropertiesPatcher.getConnectionProperties(conf);
+					}
+					if (cmdl.hasOption("file")) {
+						File backup = checkRestoreFile(file);
+						dropDB(connectionProperties);
+						
+						shutdownScheduledJobs(ctxName);
+						ImportInitvalues importInit = getApplicationContext(ctxName).getBean(ImportInitvalues.class);
+						importInit.loadSystem(langPath, cfg, force); 
+						restoreOm(ctxName, backup);
+					} else {
+						AdminUserDetails admin = checkAdminDetails(ctxName, langPath);
+						dropDB(connectionProperties);
+						
+						shutdownScheduledJobs(ctxName);
+						ImportInitvalues importInit = getApplicationContext(ctxName).getBean(ImportInitvalues.class);
+						importInit.loadAll(langPath, cfg, admin.login, admin.pass, admin.email, admin.group, admin.tz, force);
+					}					
+					
+					File installerFile = new File(new File(omHome, ScopeApplicationAdapter.configDirName), InstallationDocumentHandler.installFileName);
+					InstallationDocumentHandler.getInstance().createDocument(installerFile.getAbsolutePath(), 3);
+				} catch(Exception e) {
+					handleError("Install failed", e);
+				}
+				break;
+			case backup:
+				try {
+					if (!cmdl.hasOption("file")) {
+						file = "backup_" + CalendarPatterns.getTimeForStreamId(new Date()) + ".zip";
+						System.out.println("File name was not specified, '" + file + "' will be used");
+					}
+					boolean includeFiles = Boolean.parseBoolean(cmdl.getOptionValue("exclude-files", "true"));
+					File backup_dir = new File(omUploadTemp, "" + System.currentTimeMillis());
+					backup_dir.mkdirs();
+					
+					shutdownScheduledJobs(ctxName);
+					BackupExport export = getApplicationContext(ctxName).getBean(BackupExport.class);
+					export.performExport(file, backup_dir, includeFiles, omHome.getAbsolutePath());
+					export.deleteDirectory(backup_dir);
+					backup_dir.delete();
+				} catch (Exception e) {
+					handleError("Backup failed", e);
+				}
+				break;
+			case restore:
+				try {
+					shutdownScheduledJobs(ctxName);
+					restoreOm(ctxName, checkRestoreFile(file));
+				} catch (Exception e) {
+					handleError("Restore failed", e);
+				}
+				break;
+			case files:
+				try {
+					File omUpload = new File(omHome, OpenmeetingsVariables.UPLOAD_DIR);
+					File omStreams = new File(omHome, OpenmeetingsVariables.STREAMS_DIR);
+					System.out.println("Temporary upload files allocates: " + FileUtils.getHumanSize(omUploadTemp));
+					System.out.println("Upload allocates: " + FileUtils.getHumanSize(omUpload));
+					System.out.println("Recordings allocates: " + FileUtils.getHumanSize(omStreams));
+					/*
+					omHome
+					
+					ClassPathXmlApplicationContext ctx = getApplicationContext(ctxName);
+					//user pictures
+					//dist/red5/webapps/openmeetings/upload/profiles/profile_<id> (check if ends with filename)
+					UsersDaoImpl udao = ctx.getBean(UsersDaoImpl.class);
+					for (Users u : udao.getAllUsersDeleted()) {
+						System.out.println("id == " + u.getUser_id() + "; deleted ? " + u.getDeleted() + "; uri -> " + u.getPictureuri());
+					}
+					
+					*/
+					//Upload backup ???
+					
+					//Upload import ???
+					
+					//public/private files
+					//Object: fileexploreritem (filehash == document file/folder)
+					//webapps/openmeetings/upload/files (check if ends with filename)
+					
+					//public/private recordings
+					//Object: flvrecording
+					//webapps/openmeetings/streams/<room_id>/rec_<id>*				-->temporary files
+					//webapps/openmeetings/streams/hibernate/flvRecording_<id>*		-->files
+				} catch (Exception e) {
+					handleError("Files failed", e);
+				}
+				break;
+			case usage:
+			default:
+				usage();
+				break;
+		}
+		
+		System.out.println("... Done");
+		System.exit(0);
+	}
+	
+	private class AdminUserDetails {
+		String login = null;
+		String email = null;
+		String group = null;
+		String pass = null;
+		String tz = null;
+	}
+	
+	private AdminUserDetails checkAdminDetails(String ctxName, String langPath) throws Exception {
+		AdminUserDetails admin = new AdminUserDetails();
+		admin.login = cmdl.getOptionValue("user");
+		admin.email = cmdl.getOptionValue("email");
+		admin.group = cmdl.getOptionValue("group");
+		if (admin.login == null || admin.login.length() < InstallationConfig.USER_LOGIN_MINIMUM_LENGTH) {
+			System.out.println("User login was not provided, or too short, should be at least " + InstallationConfig.USER_LOGIN_MINIMUM_LENGTH + " character long.");
+			System.exit(1);
+		}
+		
+		try {
+			if (!MailUtil.matches(admin.email)) {
+			    throw new AddressException("Invalid address");
+			}
+			new InternetAddress(admin.email, true);
+		} catch (AddressException ae) {
+			System.out.println("Please provide non-empty valid email: '" + admin.email + "' is not valid.");
+			System.exit(1);
+		}
+		if (admin.group == null || admin.group.length() < 1) {
+			System.out.println("User group was not provided, or too short, should be at least 1 character long: " + admin.group);
+			System.exit(1);
+		}
+		admin.pass = cmdl.getOptionValue("password");
+		if (checkPassword(admin.pass)) {
+			System.out.print("Please enter password for the user '" + admin.login + "':");
+			admin.pass = new BufferedReader(new InputStreamReader(System.in)).readLine();
+			if (checkPassword(admin.pass)) {
+				System.out.println("Password was not provided, or too short, should be at least " + InstallationConfig.USER_PASSWORD_MINIMUM_LENGTH + " character long.");
+				System.exit(1);
+			}
+		}
+		ImportInitvalues importInit = getApplicationContext(ctxName).getBean(ImportInitvalues.class);
+		Map<String, String> tzMap = ImportHelper.getAllTimeZones(importInit.getTimeZones(langPath));
+		admin.tz = null;
+		if (cmdl.hasOption("tz")) {
+			admin.tz = cmdl.getOptionValue("tz");
+			admin.tz = tzMap.containsKey(admin.tz) ? admin.tz : null;
+		}
+		if (admin.tz == null) {
+			System.out.println("Please enter timezone, Possible timezones are:");
+			
+			for (String tzIcal : tzMap.keySet()) {
+				System.out.println(String.format("%1$-25s%2$s", "\"" + tzIcal + "\"", tzMap.get(tzIcal)));
+			}
+			System.exit(1);
+		}
+		return admin;
+	}
+	
+	private boolean checkPassword(String pass) {
+		return (pass == null || pass.length() < InstallationConfig.USER_PASSWORD_MINIMUM_LENGTH);
+	}
+	
+	private void shutdownScheduledJobs(String ctxName) throws SchedulerException {
+		SchedulerFactoryBean sfb =  getApplicationContext(ctxName).getBean(SchedulerFactoryBean.class);
+		sfb.getScheduler().shutdown(false);
+	}
+	
+	private void dropDB(ConnectionProperties props) throws Exception {
+		if(cmdl.hasOption("drop")) {	
+			String[] args = {
+					"-schemaAction", "retain,drop"
+					, "-properties", omHome.getAbsolutePath() + "/WEB-INF/classes/META-INF/persistence.xml"
+					, "-connectionDriverName", props.getDriver()
+					, "-connectionURL", props.getURL()
+					, "-connectionUserName", props.getLogin()
+					, "-connectionPassword", props.getPassword()
+					, "-ignoreErrors", "true"};
+			MappingTool.main(args);
+		}
+	}
+	
+	private File checkRestoreFile(String file) {
+		File backup = new File(file);
+		if (!cmdl.hasOption("file") || !backup.exists() || !backup.isFile()) {
+			System.out.println("File should be specified, and point the existent zip file");
+			usage();
+			System.exit(1);
+		}
+		
+		return backup;
+	}
+	
+	private void restoreOm(String ctxName, File backup) {
+		try {
+			BackupImportController importCtrl = getApplicationContext(ctxName).getBean(BackupImportController.class);
+			importCtrl.performImport(new FileInputStream(backup), omHome.getAbsolutePath());
+		} catch (Exception e) {
+			handleError("Restore failed", e);
+		}
+	}
+	
+	public static void main(String[] args) {
+		new Admin().process(args);
+	}
+}
diff --git a/src/org/openmeetings/cli/ConnectionProperties.java b/src/org/openmeetings/cli/ConnectionProperties.java
new file mode 100644
index 0000000..b6853f0
--- /dev/null
+++ b/src/org/openmeetings/cli/ConnectionProperties.java
@@ -0,0 +1,65 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.cli;

+

+public class ConnectionProperties {

+

+	private String driver = "org.apache.derby.jdbc.ClientDriver";

+	private String url = "jdbc:derby:openmeetings";

+	private String login = "user";

+	private String password = "secret";

+

+	public String getDriver() {

+		return driver;

+	}

+

+	public void setDriver(String driverName) {

+		this.driver = driverName;

+	}

+

+	public String getURL() {

+		return url;

+	}

+

+	public void setURL(String connectionURL) {

+		this.url = connectionURL;

+	}

+

+	public String getLogin() {

+		return login;

+	}

+

+	public void setLogin(String connectionLogin) {

+		this.login = connectionLogin;

+	}

+

+	public String getPassword() {

+		return password;

+	}

+

+	public void setPassword(String connectionPass) {

+		this.password = connectionPass;

+	}

+

+	@Override

+	public String toString() {

+		return "ConnectionProperties [driver=" + driver + ", url=" + url

+				+ ", login=" + login + ", password=" + password + "]";

+	}

+}

diff --git a/src/org/openmeetings/cli/ConnectionPropertiesPatcher.java b/src/org/openmeetings/cli/ConnectionPropertiesPatcher.java
new file mode 100644
index 0000000..3b5a5c9
--- /dev/null
+++ b/src/org/openmeetings/cli/ConnectionPropertiesPatcher.java
@@ -0,0 +1,187 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.cli;

+

+import java.io.File;

+

+import javax.xml.parsers.DocumentBuilder;

+import javax.xml.parsers.DocumentBuilderFactory;

+import javax.xml.transform.Transformer;

+import javax.xml.transform.TransformerFactory;

+import javax.xml.transform.dom.DOMSource;

+import javax.xml.transform.stream.StreamResult;

+import javax.xml.xpath.XPath;

+import javax.xml.xpath.XPathConstants;

+import javax.xml.xpath.XPathExpression;

+import javax.xml.xpath.XPathFactory;

+

+import org.apache.commons.lang3.StringEscapeUtils;

+import org.apache.commons.lang3.StringUtils;

+import org.w3c.dom.Attr;

+import org.w3c.dom.Document;

+import org.w3c.dom.Element;

+

+public abstract class ConnectionPropertiesPatcher {

+	protected static final String URL_PREFIX = "Url=";

+	protected ConnectionProperties connectionProperties;

+	

+	public enum PatcherType {

+		db2

+		, derby

+		, mysql

+		, oracle

+		, postgres

+	}

+	

+	static ConnectionPropertiesPatcher getPatcher(String _dbType) {

+		PatcherType dbType = PatcherType.valueOf(_dbType);

+		ConnectionPropertiesPatcher patcher = null;

+		switch (dbType) {

+			case db2:

+				patcher = new Db2Patcher();

+				break;

+			case mysql:

+				patcher = new MysqlPatcher();

+				break;

+			case oracle:

+				patcher = new OraclePatcher();

+				break;

+			case postgres:

+				patcher = new PostgresPatcher();

+				break;

+			case derby:

+			default:

+				patcher = new DerbyPatcher();

+				break;

+		}

+		return patcher;

+	}

+	

+	static ConnectionProperties getConnectionProperties(File conf) throws Exception {

+		ConnectionProperties connectionProperties = new ConnectionProperties();

+		Document doc = getDocument(conf);

+		Attr attr = getConnectionProperties(doc);

+		String[] tokens = attr.getValue().split(",");

+		processBasicProperties(tokens, null, null, connectionProperties);

+		

+		return connectionProperties;

+	}

+	

+	private static Document getDocument(File xml) throws Exception {

+		DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();

+		//dbFactory.setNamespaceAware(true);

+		DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();

+		return dBuilder.parse(xml);

+	}

+	

+	private static Attr getConnectionProperties(Document doc) throws Exception {

+		XPath xPath = XPathFactory.newInstance().newXPath();

+		XPathExpression expr = xPath.compile("/persistence/persistence-unit/properties/property[@name='openjpa.ConnectionProperties']");

+

+		Element element = (Element)expr.evaluate(doc, XPathConstants.NODE);

+		return element.getAttributeNode("value");

+	}

+	

+	public void patch(File srcXml, File destXml, String host, String port, String db, String user, String pass, ConnectionProperties connectionProperties) throws Exception {

+		this.connectionProperties = connectionProperties;

+		Document doc = getDocument(srcXml);

+		

+		Attr val = getConnectionProperties(doc);

+		val = patchAttribute(val, host, port, db, user, pass);

+		

+		TransformerFactory transformerFactory = TransformerFactory.newInstance();

+		Transformer transformer = transformerFactory.newTransformer();

+		DOMSource source = new DOMSource(doc);

+		transformer.transform(source, new StreamResult(destXml));

+	}

+	

+	protected Attr patchAttribute(Attr attr, String host, String port, String db, String user, String pass) {

+		String[] tokens = attr.getValue().split(",");

+		processBasicProperties(tokens, user, pass, connectionProperties);

+		patchDb(tokens, host, port, db);

+		attr.setValue(StringUtils.join(tokens, ","));

+		return attr;

+	}

+

+	protected static void patchProp(String[] tokens, int idx, String name, String value) {

+		String prop = tokens[idx].trim();

+		if (prop.startsWith(name)) {

+			prop = name + "=" + StringEscapeUtils.escapeXml(value);

+			tokens[idx] = prop;

+		}

+	}

+	

+	private static void processBasicProperties(String[] tokens, String user,

+			String pass, ConnectionProperties connectionProperties) {

+		String prop;

+		for (int i = 0; i < tokens.length; ++i) {

+			prop = getPropFromPersistence(tokens, i, "DriverClassName");

+			if (prop != null) {

+				connectionProperties.setDriver(prop);

+			}

+			

+			if (user != null) {

+				patchProp(tokens, i, "Username", user);

+				connectionProperties.setLogin(user);

+			} else {

+				prop = getPropFromPersistence(tokens, i, "Username");

+				if (prop != null) {

+					connectionProperties.setLogin(prop);

+				}

+			}

+			

+			if (pass != null) {

+				patchProp(tokens, i, "Password", pass);

+				connectionProperties.setPassword(pass);

+			} else {

+				prop = getPropFromPersistence(tokens, i, "Password");

+				if (prop != null) {

+					connectionProperties.setPassword(prop);

+				}

+			}

+			prop = getPropFromPersistence(tokens, i, "Url");

+			if (prop != null) {

+				connectionProperties.setURL(prop);

+			}

+		}

+	}

+	

+	protected static String getPropFromPersistence(String[] tokens, int idx, String name){

+		String prop = tokens[idx].trim();

+		if (prop.startsWith(name)) {

+			//From "Username=root" getting only "root"

+			return prop.substring(prop.indexOf("=") + 1);

+		}

+		return null;

+	}

+	

+	private void patchDb(String[] tokens, String host, String _port, String _db) {

+		for (int i = 0; i < tokens.length; ++i) {

+			String prop = tokens[i].trim();

+			if (prop.startsWith(URL_PREFIX)) {

+				String url = getUrl(prop.substring(URL_PREFIX.length()), host, _port, _db);

+				connectionProperties.setURL(url);

+				tokens[i] = URL_PREFIX + url;

+				break;

+			}

+		}

+	}

+	

+	protected abstract String getUrl(String url, String host, String port, String db);

+}

diff --git a/src/org/openmeetings/cli/Db2Patcher.java b/src/org/openmeetings/cli/Db2Patcher.java
new file mode 100644
index 0000000..88ed9e3
--- /dev/null
+++ b/src/org/openmeetings/cli/Db2Patcher.java
@@ -0,0 +1,28 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.cli;

+

+public class Db2Patcher extends ConnectionPropertiesPatcher {

+	@Override

+	protected String getUrl(String _url, String host, String _port, String _db) {

+		String port = (_port == null) ? "50000" : _port;

+		String db = (_db == null) ? "openmeet" : _db;

+		return "jdbc:db2://" + host + ":" + port + "/" + db; 

+	}

+}

diff --git a/src/org/openmeetings/cli/DerbyPatcher.java b/src/org/openmeetings/cli/DerbyPatcher.java
new file mode 100644
index 0000000..20f4814
--- /dev/null
+++ b/src/org/openmeetings/cli/DerbyPatcher.java
@@ -0,0 +1,28 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.cli;

+

+public class DerbyPatcher extends ConnectionPropertiesPatcher {

+	@Override

+	protected String getUrl(String _url, String host, String _port, String _db) {

+		String db = (_db == null) ? "openmeetings" : _db;

+		String suffix = _url.substring(_url.indexOf(';'));

+		return "jdbc:derby" + ":" + db + suffix; 

+	}

+}

diff --git a/src/org/openmeetings/cli/MysqlPatcher.java b/src/org/openmeetings/cli/MysqlPatcher.java
new file mode 100644
index 0000000..feccd28
--- /dev/null
+++ b/src/org/openmeetings/cli/MysqlPatcher.java
@@ -0,0 +1,29 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.cli;

+

+public class MysqlPatcher extends ConnectionPropertiesPatcher {

+	@Override

+	protected String getUrl(String _url, String host, String _port, String _db) {

+		String port = (_port == null) ? "3306" : _port;

+		String db = (_db == null) ? "openmeetings" : _db;

+		String suffix = _url.substring(_url.indexOf('?'));

+		return "jdbc:mysql://" + host + ":" + port + "/" + db + suffix;

+	}

+}

diff --git a/src/org/openmeetings/cli/OmHelpFormatter.java b/src/org/openmeetings/cli/OmHelpFormatter.java
new file mode 100644
index 0000000..b94ceac
--- /dev/null
+++ b/src/org/openmeetings/cli/OmHelpFormatter.java
@@ -0,0 +1,206 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.cli;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.LinkedHashMap;
+import java.util.List;
+
+import org.apache.commons.cli.HelpFormatter;
+import org.apache.commons.cli.Option;
+import org.apache.commons.cli.OptionGroup;
+import org.apache.commons.cli.Options;
+
+public class OmHelpFormatter extends HelpFormatter {
+	private static String GENERAL_OPTION_GROUP = "";
+	private int maxPrefixLength = 0;
+	
+	@SuppressWarnings("unchecked")
+	private List<OmOption> getReqOptions(Options opts) {
+		//suppose we have only 1 group (for now)
+		OptionGroup g = ((List<OptionGroup>)opts.getRequiredOptions()).get(0);
+		List<OmOption> result = new ArrayList<OmOption>(g.getOptions());
+		Collections.sort(result, new Comparator<OmOption>() {
+			public int compare(OmOption o1, OmOption o2) {
+				return o1.getOrder() - o2.getOrder();
+			}
+		});
+		return result;
+	}
+	
+	@SuppressWarnings("unchecked")
+	private LinkedHashMap<String, List<OmOption>> getOptions(Options opts, int leftPad) {
+		final String longOptSeparator = " ";
+		final String lpad = createPadding(leftPad);
+		final String lpadParam = createPadding(leftPad + 2);
+		List<OmOption> reqOptions = getReqOptions(opts);
+		LinkedHashMap<String, List<OmOption>> map = new LinkedHashMap<String, List<OmOption>>(reqOptions.size());
+		map.put(GENERAL_OPTION_GROUP, new ArrayList<OmOption>());
+		for (OmOption o : reqOptions) {
+			map.put(o.getOpt(), new ArrayList<OmOption>());
+		}
+		for (OmOption o : (Collection<OmOption>)opts.getOptions()) {
+			//TODO need better check (required option should go first and should not be duplicated
+			boolean skipOption = map.containsKey(o.getOpt());
+			boolean mainOption = skipOption || o.getGroup() == null;
+			
+			// first create list containing only <lpad>-a,--aaa where
+			// -a is opt and --aaa is long opt; in parallel look for
+			// the longest opt string this list will be then used to
+			// sort options ascending
+			StringBuilder optBuf = new StringBuilder();
+			if (o.getOpt() == null) {
+				optBuf.append(mainOption ? lpad : lpadParam).append("   ").append(getLongOptPrefix())
+						.append(o.getLongOpt());
+			} else {
+				optBuf.append(mainOption ? lpad : lpadParam).append(getOptPrefix())
+						.append(o.getOpt());
+
+				if (o.hasLongOpt()) {
+					optBuf.append(',').append(getLongOptPrefix())
+							.append(o.getLongOpt());
+				}
+			}
+
+			if (o.hasArg()) {
+				String argName = o.getArgName();
+				if (argName != null && argName.length() == 0) {
+					// if the option has a blank argname
+					optBuf.append(' ');
+				} else {
+					optBuf.append(o.hasLongOpt() ? longOptSeparator : " ");
+					optBuf.append("<")
+							.append(argName != null ? o.getArgName()
+									: getArgName()).append(">");
+				}
+			}
+
+			o.setHelpPrefix(optBuf);
+			maxPrefixLength = Math.max(optBuf.length(), maxPrefixLength);
+			
+			if (skipOption) {
+				//TODO need better check (required option should go first and should not be duplicated
+				continue;
+			}
+			String grp = o.getGroup();
+			grp = grp == null ? GENERAL_OPTION_GROUP : grp;
+			String[] grps = grp.split(",");
+			for(String g : grps) {
+				map.get(g).add(o);
+			}
+		}
+		for (String _key : map.keySet()) {
+			final String key = _key;
+			List<OmOption> options = map.get(key);
+			Collections.sort(options, new Comparator<OmOption>(){
+				public int compare(OmOption o1, OmOption o2) {
+					boolean o1opt = !o1.isOptional(key);
+					boolean o2opt = !o2.isOptional(key);
+					return (o1opt && o2opt || !o1opt && !o2opt) ? (o1.getOpt() == null ? 1 : -1) : (o1opt ? -1 : 1);
+				}
+				
+			});
+			if (opts.hasOption(key)) {
+				options.add(0, (OmOption)opts.getOption(key));
+			}
+		}
+		return map;
+	}
+	
+	private StringBuilder getReqOptionsString(Options opts) {
+		String delim = "";
+		StringBuilder result = new StringBuilder();
+		for (Option o : getReqOptions(opts)) {
+			result.append(delim).append("-").append(o.getOpt());
+			delim = "|";
+		}
+		return result;
+	}
+	
+	@Override
+	protected StringBuffer renderOptions(StringBuffer sb, int width, Options options, int leftPad, int descPad) {
+		final String dpad = createPadding(descPad);
+		final String optional = "(optional) ";
+
+		LinkedHashMap<String, List<OmOption>> optList = getOptions(options, leftPad);
+
+		char[] delimiter = new char[width - 2];
+		Arrays.fill(delimiter, '-');
+
+		for (String key : optList.keySet()) {
+			if (GENERAL_OPTION_GROUP.equals(key)) {
+				sb.append("General options:").append(getNewLine());
+			}
+			for (OmOption option : optList.get(key)) {
+				StringBuilder optBuf = new StringBuilder(option.getHelpPrefix());
+
+				if (optBuf.length() < maxPrefixLength) {
+					optBuf.append(createPadding(maxPrefixLength - optBuf.length()));
+				}
+
+				optBuf.append(dpad);
+
+				int nextLineTabStop = maxPrefixLength + descPad;
+
+				if (option.isOptional(key)) {
+					optBuf.append(optional);
+				}
+				if (option.getDescription() != null) {
+					optBuf.append(option.getDescription());
+				}
+
+				renderWrappedText(sb, width, nextLineTabStop, optBuf.toString());
+
+				sb.append(getNewLine());
+			}
+			sb.append(delimiter).append(getNewLine());
+		}
+		return sb;
+	}
+
+	@Override
+	public void printHelp(PrintWriter pw, int width, String cmdLineSyntax,
+			String header, Options options, int leftPad, int descPad,
+			String footer, boolean autoUsage) {
+		if ((cmdLineSyntax == null) || (cmdLineSyntax.length() == 0)) {
+			throw new IllegalArgumentException("cmdLineSyntax not provided");
+		}
+
+		printUsage(pw, width, cmdLineSyntax, options);
+
+		if ((header != null) && (header.trim().length() > 0)) {
+			printWrapped(pw, width, header);
+		}
+
+		printOptions(pw, width, options, leftPad, descPad);
+
+		if ((footer != null) && (footer.trim().length() > 0)) {
+			printWrapped(pw, width, footer);
+		}
+	}
+    
+	public void printUsage(PrintWriter pw, int width, String app, Options opts) {
+		pw.println(String.format("usage: %1$s [%2$s] [options]", app, getReqOptionsString(opts)));
+	}
+}
diff --git a/src/org/openmeetings/cli/OmOption.java b/src/org/openmeetings/cli/OmOption.java
new file mode 100644
index 0000000..82deec6
--- /dev/null
+++ b/src/org/openmeetings/cli/OmOption.java
@@ -0,0 +1,107 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.cli;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.commons.cli.Option;
+
+public class OmOption extends Option {
+	private static final long serialVersionUID = -544426769898915573L;
+	private String group = null;
+	private Map<String, Boolean> optional = null;
+	private int order = 0;
+	private String helpPrefix = "";
+
+	public OmOption(String group, String opt, String longOpt, boolean hasArg,
+			String description, boolean optional) throws IllegalArgumentException {
+		this(group, 0, opt, longOpt, hasArg, description);
+		setOptional(optional);
+	}
+
+	public OmOption(String group, String opt, String longOpt, boolean hasArg,
+			String description, String optional) throws IllegalArgumentException {
+		this(group, 0, opt, longOpt, hasArg, description);
+		setOptional(optional);
+	}
+
+	public OmOption(String group, int order, String opt, String longOpt, boolean hasArg,
+			String description) throws IllegalArgumentException {
+		super(opt, longOpt, hasArg, description);
+		this.group = group;
+		this.setOrder(order);
+	}
+
+	public OmOption(String group, String opt, String longOpt, boolean hasArg,
+			String description) throws IllegalArgumentException {
+		this(group, 0, opt, longOpt, hasArg, description);
+	}
+
+	public String getGroup() {
+		return group;
+	}
+
+	public void setGroup(String group) {
+		this.group = group;
+	}
+
+	public boolean isOptional(String group) {
+		boolean result = false;
+		if (optional != null) {
+			String[] grps = group.split(",");
+			for(String g : grps) {
+				result |= optional.containsKey(g) ? optional.get(g) : false;
+			}
+		}
+		return result;
+	}
+
+	public void setOptional(boolean val) {
+		setOptional(group);
+	}
+	
+	public void setOptional(String group) {
+		String[] grps = group.split(",");
+		optional = new HashMap<String, Boolean>(grps.length);
+		for(String g : grps) {
+			optional.put(g, true);
+		}
+	}
+
+	public int getOrder() {
+		return order;
+	}
+
+	public void setOrder(int order) {
+		this.order = order;
+	}
+
+	public String getHelpPrefix() {
+		return helpPrefix;
+	}
+
+	public void setHelpPrefix(StringBuilder helpPrefix) {
+		this.helpPrefix = helpPrefix.toString();
+	}
+
+	public void setHelpPrefix(String helpPrefix) {
+		this.helpPrefix = helpPrefix;
+	}
+}
diff --git a/src/org/openmeetings/cli/OraclePatcher.java b/src/org/openmeetings/cli/OraclePatcher.java
new file mode 100644
index 0000000..7b9a6e3
--- /dev/null
+++ b/src/org/openmeetings/cli/OraclePatcher.java
@@ -0,0 +1,28 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.cli;

+

+public class OraclePatcher extends ConnectionPropertiesPatcher {

+	@Override

+	protected String getUrl(String _url, String host, String _port, String _db) {

+		String port = (_port == null) ? "1521" : _port;

+		String db = (_db == null) ? "openmeetings" : _db;

+		return "jdbc:oracle:thin:@" + host + ":" + port + ":" + db; 

+	}

+}

diff --git a/src/org/openmeetings/cli/PostgresPatcher.java b/src/org/openmeetings/cli/PostgresPatcher.java
new file mode 100644
index 0000000..f1d1314
--- /dev/null
+++ b/src/org/openmeetings/cli/PostgresPatcher.java
@@ -0,0 +1,28 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.cli;

+

+public class PostgresPatcher extends ConnectionPropertiesPatcher {

+	@Override

+	protected String getUrl(String _url, String host, String _port, String _db) {

+		String port = (_port == null) ? "5432" : _port;

+		String db = (_db == null) ? "openmeetings" : _db;

+		return "jdbc:postgresql://" + host + ":" + port + "/" + db; 

+	}

+}

diff --git a/src/org/openmeetings/doc/WebServiceDoclet.java b/src/org/openmeetings/doc/WebServiceDoclet.java
new file mode 100644
index 0000000..faba12a
--- /dev/null
+++ b/src/org/openmeetings/doc/WebServiceDoclet.java
@@ -0,0 +1,111 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.doc;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.app.Velocity;
+
+import com.sun.javadoc.ClassDoc;
+import com.sun.javadoc.RootDoc;
+import com.sun.javadoc.Tag;
+
+public class WebServiceDoclet {
+
+	static final String basePath = "docs";
+	static final String templateName = "ApiMethodsTemplate.vm";
+	static final String templateNameIndex = "ApiClassesTemplate.vm";
+
+	public static boolean start(RootDoc root) {
+
+		try {
+			
+			Velocity.init();
+			out("Start WebServiceDoclet templateNameNew " + templateName);
+			
+			ArrayList<Map<String,String>> classesParsed = new ArrayList<Map<String,String>>(root.classes().length);
+			
+			// iterate over all classes.
+			ClassDoc[] classes = root.classes();
+			for (int i = 0; i < classes.length; i++) {
+				// iterate over all methods and print their names.
+				
+				VelocityContext vContext = new VelocityContext();
+				vContext.put("className", classes[i].name());
+				vContext.put("classComment", classes[i].commentText());
+				
+				String defaultOutputName = classes[i].name();
+				for (Tag tag : classes[i].tags()) {
+					if (tag.name().equals("@webservice")) {
+						defaultOutputName = tag.text();
+					}
+				}
+				
+				vContext.put("webServiceName", defaultOutputName);
+				
+				HashMap<String,String> classItem = new HashMap<String,String>();
+				classItem.put("name",defaultOutputName);
+				classItem.put("comment",classes[i].commentText());
+				classesParsed.add(classItem);
+				
+				vContext.put("methods", classes[i].methods());
+				
+				FileWriter strWriter = new FileWriter(basePath
+						+ File.separatorChar + defaultOutputName + ".html");
+
+				Velocity.mergeTemplate(basePath + File.separatorChar
+						+ templateName, "UTF-8", vContext, strWriter);
+				
+				strWriter.flush();
+				strWriter.close();
+
+			}
+			
+			
+			VelocityContext vIndexContext = new VelocityContext();
+			vIndexContext.put("classes", classesParsed);
+			
+			FileWriter newFileIndexWriter = new FileWriter(basePath
+					+ File.separatorChar + "WebserviceIndex.html");
+
+			Velocity.mergeTemplate(basePath + File.separatorChar
+					+ templateNameIndex, "UTF-8", vIndexContext, newFileIndexWriter);
+			
+			newFileIndexWriter.flush();
+			newFileIndexWriter.close();
+			
+
+		} catch (Exception err) {
+			err.printStackTrace();
+		}
+
+		// No error processing done, simply return true.
+		return true;
+	}
+
+	private static void out(String msg) {
+		System.out.println(msg);
+	}
+
+}
diff --git a/src/org/openmeetings/screen/down.png b/src/org/openmeetings/screen/down.png
new file mode 100644
index 0000000..d10b8c6
--- /dev/null
+++ b/src/org/openmeetings/screen/down.png
Binary files differ
diff --git a/src/org/openmeetings/screen/exit.png b/src/org/openmeetings/screen/exit.png
new file mode 100644
index 0000000..88dcdcc
--- /dev/null
+++ b/src/org/openmeetings/screen/exit.png
Binary files differ
diff --git a/src/org/openmeetings/screen/next.png b/src/org/openmeetings/screen/next.png
new file mode 100644
index 0000000..e252606
--- /dev/null
+++ b/src/org/openmeetings/screen/next.png
Binary files differ
diff --git a/src/org/openmeetings/screen/pause.png b/src/org/openmeetings/screen/pause.png
new file mode 100644
index 0000000..2a42f08
--- /dev/null
+++ b/src/org/openmeetings/screen/pause.png
Binary files differ
diff --git a/src/org/openmeetings/screen/play.png b/src/org/openmeetings/screen/play.png
new file mode 100644
index 0000000..6d13683
--- /dev/null
+++ b/src/org/openmeetings/screen/play.png
Binary files differ
diff --git a/src/org/openmeetings/screen/previous.png b/src/org/openmeetings/screen/previous.png
new file mode 100644
index 0000000..18f9cc1
--- /dev/null
+++ b/src/org/openmeetings/screen/previous.png
Binary files differ
diff --git a/src/org/openmeetings/screen/record.png b/src/org/openmeetings/screen/record.png
new file mode 100644
index 0000000..d94b7f5
--- /dev/null
+++ b/src/org/openmeetings/screen/record.png
Binary files differ
diff --git a/src/org/openmeetings/screen/stop.png b/src/org/openmeetings/screen/stop.png
new file mode 100644
index 0000000..8389bf3
--- /dev/null
+++ b/src/org/openmeetings/screen/stop.png
Binary files differ
diff --git a/src/org/openmeetings/screen/up.png b/src/org/openmeetings/screen/up.png
new file mode 100644
index 0000000..c03ab0a
--- /dev/null
+++ b/src/org/openmeetings/screen/up.png
Binary files differ
diff --git a/src/org/openmeetings/screen/webstart/BaseScreenEncoder.java b/src/org/openmeetings/screen/webstart/BaseScreenEncoder.java
new file mode 100644
index 0000000..8a2edd8
--- /dev/null
+++ b/src/org/openmeetings/screen/webstart/BaseScreenEncoder.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.screen.webstart;
+
+import java.awt.Graphics2D;
+import java.awt.Rectangle;
+import java.awt.RenderingHints;
+import java.awt.image.BufferedImage;
+
+public abstract class BaseScreenEncoder implements IScreenEncoder {
+
+	public BufferedImage resize(BufferedImage _img, Rectangle size) {
+		BufferedImage img = _img;
+		if (img.getWidth() != size.width || img.getHeight() != size.height) {
+			img = new BufferedImage(size.width, size.height, BufferedImage.TYPE_INT_RGB);
+			
+			Graphics2D graphics2D = img.createGraphics();
+			graphics2D.setRenderingHint(
+				RenderingHints.KEY_INTERPOLATION,
+				RenderingHints.VALUE_INTERPOLATION_BICUBIC);
+			graphics2D.drawImage(_img, 0, 0, size.width, size.height, null);
+			graphics2D.dispose();
+		}
+		return img;
+	}
+	
+}
diff --git a/src/org/openmeetings/screen/webstart/CoreScreenShare.java b/src/org/openmeetings/screen/webstart/CoreScreenShare.java
new file mode 100644
index 0000000..2e97bae
--- /dev/null
+++ b/src/org/openmeetings/screen/webstart/CoreScreenShare.java
@@ -0,0 +1,925 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.screen.webstart;
+
+import java.awt.MouseInfo;
+import java.awt.Point;
+import java.awt.PointerInfo;
+import java.awt.Rectangle;
+import java.awt.Robot;
+import java.awt.Toolkit;
+import java.awt.datatransfer.Clipboard;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.StringSelection;
+import java.awt.datatransfer.Transferable;
+import java.awt.datatransfer.UnsupportedFlavorException;
+import java.awt.event.InputEvent;
+import java.awt.event.KeyEvent;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.apache.mina.core.buffer.IoBuffer;
+import org.openmeetings.screen.webstart.gui.ScreenDimensions;
+import org.openmeetings.screen.webstart.gui.ScreenDimensions.ScreenQuality;
+import org.openmeetings.screen.webstart.gui.ScreenSharerFrame;
+import org.red5.io.ITagReader;
+import org.red5.io.ITagWriter;
+import org.red5.io.utils.ObjectMap;
+import org.red5.server.api.event.IEvent;
+import org.red5.server.api.service.IPendingServiceCall;
+import org.red5.server.net.rtmp.Channel;
+import org.red5.server.net.rtmp.RTMPConnection;
+import org.red5.server.net.rtmp.codec.RTMP;
+import org.red5.server.net.rtmp.event.Notify;
+import org.red5.server.net.rtmp.event.VideoData;
+import org.red5.server.net.rtmp.message.Header;
+import org.red5.server.net.rtmp.status.StatusCodes;
+import org.red5.server.stream.message.RTMPMessage;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class CoreScreenShare {
+
+	private static final Logger logger = LoggerFactory
+			.getLogger(CoreScreenShare.class);
+
+	private IScreenShare instance = null;
+	
+	public boolean startPublish = false;
+	public Integer playStreamId;
+	public Integer publishStreamId;
+	public String publishName;
+	public ITagWriter writer;
+	public ITagReader reader;
+	public IoBuffer buffer;
+	public CaptureScreen capture = null;
+	public Thread thread = null;
+
+	public ScreenSharerFrame frame;
+
+	public String host = "btg199251";
+	public String app = "oflaDemo";
+	public int port = 1935;
+	public int defaultQuality = 1;
+
+	public Long organization_id = 0L;
+	public Long user_id = null;
+	public Boolean allowRecording = true;
+
+	private boolean startStreaming = false;
+	private boolean startRecording = false;
+	private boolean startPublishing = false;
+	public float Ampl_factor = 1f;
+	public boolean isConnected = false;
+
+	public Map<Integer, Boolean> currentPressedKeys = new HashMap<Integer, Boolean>();
+
+	// ------------------------------------------------------------------------
+	//
+	// Main
+	//
+	// ------------------------------------------------------------------------
+
+	public CoreScreenShare(IScreenShare instance) {
+		this.instance = instance;
+	}
+
+	public void main(String[] args) {
+		try {
+			for (String arg : args) {
+				logger.debug("arg: " + arg);
+			}
+			String[] textArray = null;
+			if (args.length > 8) {
+				host = args[0];
+				app = args[1];
+				port = Integer.parseInt(args[2]);
+				publishName = args[3];
+
+				String labelTexts = args[4];
+
+				organization_id = Long.parseLong(args[5]);
+
+				defaultQuality = Integer.parseInt(args[6]);
+				user_id = Long.parseLong(args[7]);
+				allowRecording = Boolean.parseBoolean(args[8]);
+
+				if (labelTexts.length() > 0) {
+					textArray = labelTexts.split(";");
+
+					logger.debug("labelTexts :: " + labelTexts);
+
+					logger.debug("textArray Length " + textArray.length);
+
+					for (int i = 0; i < textArray.length; i++) {
+						logger.debug(i + " :: " + textArray[i]);
+					}
+				}
+			} else {
+				System.exit(0);
+			}
+
+			logger.debug("host: " + host + ", app: "
+					+ app + ", port: " + port + ", publish: "
+					+ publishName);
+
+			createWindow(textArray);
+		} catch (Exception err) {
+			logger.error("", err);
+		}
+	}
+
+	// ------------------------------------------------------------------------
+	//
+	// GUI
+	//
+	// ------------------------------------------------------------------------
+	public void createWindow(String[] textArray) {
+		try {
+			frame = new ScreenSharerFrame(this, textArray);
+			frame.addWindowListener(new WindowAdapter() {
+				public void windowClosing(WindowEvent e) {
+					frame.setVisible(false);
+					System.exit(0);
+				}
+			});
+			frame.setVisible(true);
+			frame.setRecordingTabEnabled(allowRecording);
+
+			logger.debug("initialized");
+
+		} catch (Exception err) {
+			logger.error("createWindow Exception: ", err);
+			err.printStackTrace();
+		}
+	}
+
+	synchronized public void sendCursorStatus() {
+		try {
+			PointerInfo a = MouseInfo.getPointerInfo();
+			Point mouseP = a.getLocation();
+
+			float scaleFactor = (1.0f * ScreenDimensions.resizeX) / ScreenDimensions.spinnerWidth;
+
+			// Real size: Real mouse position = Resize : X
+			int x = (int)(Ampl_factor * (mouseP.getX() - ScreenDimensions.spinnerX) * scaleFactor);
+			int y = (int)(Ampl_factor * (mouseP.getY() - ScreenDimensions.spinnerY) * scaleFactor);
+
+			HashMap<String, Object> cursorPosition = new HashMap<String, Object>();
+			cursorPosition.put("publicSID", this.publishName);
+			cursorPosition.put("cursor_x", x);
+			cursorPosition.put("cursor_y", y);
+
+			if (instance.getConnection() != null) {
+				instance.invoke("setNewCursorPosition", new Object[] { cursorPosition }, instance);
+			}
+		} catch (NullPointerException npe) {
+			//noop
+		} catch (Exception err) {
+			System.out.println("captureScreenStart Exception: ");
+			System.err.println(err);
+			frame.setStatus("Exception: " + err);
+			logger.error("[sendCursorStatus]", err);
+		}
+	}
+
+	synchronized public void setConnectionAsSharingClient() {
+		try {
+			logger.debug("########## setConnectionAsSharingClient");
+
+			HashMap<Object, Object> map = new HashMap<Object, Object>();
+			map.put("screenX", ScreenDimensions.spinnerX);
+			map.put("screenY", ScreenDimensions.spinnerY);
+
+			int scaledWidth = (int)(Ampl_factor * ScreenDimensions.resizeX);
+			int scaledHeight = (int)(Ampl_factor * ScreenDimensions.resizeY);
+
+			map.put("screenWidth", scaledWidth);
+			map.put("screenHeight", scaledHeight);
+
+			map.put("publishName", this.publishName);
+			map.put("startRecording", startRecording);
+			map.put("startStreaming", startStreaming);
+			map.put("startPublishing", startPublishing);
+			map.put("publishingHost", frame.getPublishHost());
+			map.put("publishingApp", frame.getPublishApp());
+			map.put("publishingId", frame.getPublishId());
+
+			map.put("organization_id", this.organization_id);
+			map.put("user_id", this.user_id);
+
+			instance.invoke("setConnectionAsSharingClient", new Object[] { map }, instance);
+		} catch (Exception err) {
+			logger.error("setConnectionAsSharingClient Exception: ", err);
+			frame.setStatus("Error: " + err.getLocalizedMessage());
+			logger.error("[setConnectionAsSharingClient]", err);
+		}
+	}
+
+	/**
+	 * @param startStreaming flag denoting the streaming is started
+	 * @param startRecording flag denoting the recording is started
+	 */
+	public void captureScreenStart(boolean startStreaming, boolean startRecording) {
+		captureScreenStart(startStreaming, startRecording, false);
+	}
+	
+	public void captureScreenStart(boolean startStreaming, boolean startRecording, boolean startPublishing) {
+		try {
+			logger.debug("captureScreenStart");
+			this.startStreaming = startStreaming;
+			this.startRecording= startRecording;
+			this.startPublishing = startPublishing;
+			
+			if (!isConnected) {
+				instance.connect(host, port, app, instance);
+			} else {
+				setConnectionAsSharingClient();
+			}
+		} catch (Exception err) {
+			logger.error("captureScreenStart Exception: ", err);
+			frame.setStatus("Exception: " + err);
+		}
+	}
+
+	public void captureScreenStop(boolean stopStreaming, boolean stopRecording) {
+		captureScreenStop(stopStreaming, stopRecording, false);
+	}
+	
+	public void captureScreenStop(boolean stopStreaming, boolean stopRecording, boolean stopPublishing) {
+		try {
+			logger.debug("INVOKE screenSharerAction" );
+
+			Map<String, Object> map = new HashMap<String, Object>();
+			map.put("stopStreaming", stopStreaming);
+			map.put("stopRecording", stopRecording);
+			map.put("stopPublishing", stopPublishing);
+
+			instance.invoke("screenSharerAction", new Object[] { map }, instance);
+
+			if (stopStreaming) {
+				frame.setSharingStatus(false);
+			} else if (stopRecording) {
+				frame.setRecordingStatus(false);
+			} else if (stopPublishing) {
+				frame.setPublishingStatus(false);
+			}
+		} catch (Exception err) {
+			logger.error("captureScreenStop Exception: ", err);
+			frame.setStatus("Exception: " + err);
+		}
+	}
+
+	// ------------------------------------------------------------------------
+	//
+	// Public
+	//
+	// ------------------------------------------------------------------------
+
+	protected void onInvoke(RTMPConnection conn, Channel channel,
+			Header source, Notify invoke, RTMP rtmp) {
+
+		if (invoke.getType() == IEvent.Type.STREAM_DATA) {
+			return;
+		}
+
+		String method = invoke.getCall().getServiceMethodName();
+		if ("sendRemoteCursorEvent".equals(method)) {
+			sendRemoteCursorEvent(invoke.getCall().getArguments()[0]);
+		} else if ("screenSharerAction".equals(method)) {
+			Object[] args = invoke.getCall().getArguments();
+			if (args != null) {
+				@SuppressWarnings("unchecked")
+				HashMap<String, Object> params = (HashMap<String, Object>)args[0];
+				if (params.containsKey("stopPublishing")
+					&& Boolean.parseBoolean("" + params.get("stopPublishing"))) {
+					frame.setPublishingStatus(false);
+				}
+				if (params.containsKey("error")) {
+					frame.setStatus("" + params.get("error"));
+				}
+			}
+		}
+	}
+
+	public void stopStream() {
+		try {
+			logger.debug("ScreenShare stopStream");
+
+			isConnected = false;
+
+			instance.disconnect();
+			capture.stop();
+			capture.release();
+			thread = null;
+		} catch (Exception e) {
+			logger.error("ScreenShare stopStream exception " + e);
+		}
+
+	}
+
+	public void onStreamEvent(Notify notify) {
+
+		logger.debug( "onStreamEvent " + notify );
+
+		@SuppressWarnings("rawtypes")
+		ObjectMap map = (ObjectMap) notify.getCall().getArguments()[0];
+		String code = (String) map.get("code");
+
+		if (StatusCodes.NS_PUBLISH_START.equals(code)) {
+			logger.debug( "onStreamEvent Publish start" );
+			startPublish = true;
+		}
+	}
+
+	public void sendRemoteCursorEvent(Object obj) {
+		try {
+
+			// logger.debug("#### sendRemoteCursorEvent ");
+
+			// logger.debug("Result Map Type "+obj.getClass().getName());
+
+			@SuppressWarnings("rawtypes")
+			Map returnMap = (Map) obj;
+
+			// logger.debug("result "+returnMap.get("result"));
+
+			String action = returnMap.get("action").toString();
+
+			if (action.equals("onmouseup")) {
+
+				Robot robot = new Robot();
+
+				// VirtualScreenBean
+
+				Float scaleFactor = Float
+						.valueOf(ScreenDimensions.spinnerWidth)
+						/ Float.valueOf(ScreenDimensions.resizeX);
+
+				// logger.debug("x 1 scaleFactor "+scaleFactor);
+
+				Float part_x1 = ((Float.valueOf(returnMap.get("x").toString())
+						.floatValue() * scaleFactor) / Float
+						.valueOf(Ampl_factor));
+
+				// logger.debug("x 1 part_x1 "+part_x1);
+
+				Integer x = Math.round(part_x1
+						+ ScreenDimensions.spinnerX);
+
+				Integer y = Math
+						.round(((Float.valueOf(returnMap.get("y").toString())
+								.floatValue()
+								* ScreenDimensions.spinnerHeight / ScreenDimensions.resizeY) / Ampl_factor)
+								+ ScreenDimensions.spinnerY);
+
+				// logger.debug("x|y "+x+" || "+y);
+
+				robot.mouseMove(x, y);
+				robot.mouseRelease(InputEvent.BUTTON1_MASK);
+
+			} else if (action.equals("onmousedown")) {
+
+				Robot robot = new Robot();
+
+				Float scaleFactor = Float
+						.valueOf(ScreenDimensions.spinnerWidth)
+						/ Float.valueOf(ScreenDimensions.resizeX);
+				Float part_x1 = ((Float.valueOf(returnMap.get("x").toString())
+						.floatValue() * scaleFactor) / Float
+						.valueOf(Ampl_factor));
+				Integer x = Math.round(part_x1
+						+ ScreenDimensions.spinnerX);
+				Integer y = Math
+						.round(((Float.valueOf(returnMap.get("y").toString())
+								.floatValue()
+								* ScreenDimensions.spinnerHeight / ScreenDimensions.resizeY) / Ampl_factor)
+								+ ScreenDimensions.spinnerY);
+
+				robot.mouseMove(x, y);
+				robot.mousePress(InputEvent.BUTTON1_MASK);
+
+			} else if (action.equals("mousePos")) {
+
+				Robot robot = new Robot();
+
+				Float scaleFactor = Float
+						.valueOf(ScreenDimensions.spinnerWidth)
+						/ Float.valueOf(ScreenDimensions.resizeX);
+
+				Float part_x1 = ((Float.valueOf(returnMap.get("x").toString())
+						.floatValue() * scaleFactor) / Float
+						.valueOf(Ampl_factor));
+
+				Integer x = Math.round(part_x1
+						+ ScreenDimensions.spinnerX);
+
+				Integer y = Math
+						.round(((Float.valueOf(returnMap.get("y").toString())
+								.floatValue()
+								* ScreenDimensions.spinnerHeight / ScreenDimensions.resizeY) / Ampl_factor)
+								+ ScreenDimensions.spinnerY);
+
+				robot.mouseMove(x, y);
+
+			} else if (action.equals("onkeydown")) {
+
+				Robot robot = new Robot();
+
+				Integer key = Integer.valueOf(returnMap.get("k").toString())
+						.intValue();
+
+				// logger.debug("key onkeydown -1 "+key);
+				boolean doAction = true;
+
+				if (key == 221) {
+					key = 61;
+				} else if (key == -1) {
+
+					String charValue = returnMap.get("c").toString();
+
+					// key = KeyEvent.VK_ADD;
+					doAction = false;
+
+					for (Iterator<Integer> iter = this.currentPressedKeys
+							.keySet().iterator(); iter.hasNext();) {
+						Integer storedKey = iter.next();
+
+						robot.keyRelease(storedKey);
+
+					}
+
+					this.currentPressedKeys = new HashMap<Integer, Boolean>();
+
+					this.pressSpecialSign(charValue, robot);
+				} else if (key == 188) {
+					key = 44;
+				} else if (key == 189) {
+					key = 109;
+				} else if (key == 190) {
+					key = 46;
+				} else if (key == 191) {
+					key = 47;
+				} else if (key == 13) {
+					key = KeyEvent.VK_ENTER;
+				}
+
+				// logger.debug("key onkeydown -2 "+key);
+
+				if (doAction) {
+
+					this.currentPressedKeys.put(key, true);
+
+					robot.keyPress(key);
+				}
+
+			} else if (action.equals("onkeyup")) {
+
+				Robot robot = new Robot();
+
+				Integer key = Integer.valueOf(returnMap.get("k").toString())
+						.intValue();
+
+				// logger.debug("key onkeyup 1- "+key);
+
+				boolean doAction = true;
+
+				if (key == 221) {
+					key = 61;
+				} else if (key == -1) {
+					doAction = false;
+				} else if (key == 188) {
+					key = 44;
+				} else if (key == 189) {
+					key = 109;
+				} else if (key == 190) {
+					key = 46;
+				} else if (key == 191) {
+					key = 47;
+				} else if (key == 13) {
+					key = KeyEvent.VK_ENTER;
+				}
+
+				// logger.debug("key onkeyup 2- "+key);
+
+				if (doAction) {
+
+					if (this.currentPressedKeys.containsKey(key)) {
+						this.currentPressedKeys.remove(key);
+
+						robot.keyRelease(key);
+
+					}
+
+				}
+
+			} else if (action.equals("paste")) {
+
+				Robot robot = new Robot();
+
+				String paste = returnMap.get("paste").toString();
+
+				this.pressSpecialSign(paste, robot);
+
+			} else if (action.equals("copy")) {
+
+				Robot robot = new Robot();
+
+				String paste = this.getHighlightedText(robot);
+
+				HashMap<Integer, String> map = new HashMap<Integer, String>();
+				map.put(0, "copiedText");
+				map.put(1, paste);
+
+				String clientId = returnMap.get("clientId").toString();
+
+				// public synchronized int sendMessageWithClientById(Object
+				// newMessage, String clientId)
+
+				instance.invoke("sendMessageWithClientById", new Object[] { map,
+						clientId }, instance);
+
+			} else if (action.equals("show")) {
+
+				String paste = this.getClipboardText();
+
+				HashMap<Integer, String> map = new HashMap<Integer, String>();
+				map.put(0, "copiedText");
+				map.put(1, paste);
+
+				String clientId = returnMap.get("clientId").toString();
+
+				// public synchronized int sendMessageWithClientById(Object
+				// newMessage, String clientId)
+
+				instance.invoke("sendMessageWithClientById", new Object[] { map,
+						clientId }, instance);
+
+			}
+
+			// KeyEvent.VK
+			// KeyEvent.
+
+		} catch (Exception err) {
+			logger.error("[sendRemoteCursorEvent]", err);
+		}
+	}
+
+	public String getClipboardText() {
+		try {
+			// get the system clipboard
+			Clipboard systemClipboard = Toolkit.getDefaultToolkit()
+					.getSystemClipboard();
+
+			// get the contents on the clipboard in a
+			// transferable object
+			Transferable clipboardContents = systemClipboard.getContents(null);
+
+			// check if clipboard is empty
+			if (clipboardContents == null) {
+
+				// Clipboard is empty!!!
+				return ("");
+
+				// see if DataFlavor of
+				// DataFlavor.stringFlavor is supported
+			} else if (clipboardContents
+					.isDataFlavorSupported(DataFlavor.stringFlavor)) {
+
+				// return text content
+				String returnText = (String) clipboardContents
+						.getTransferData(DataFlavor.stringFlavor);
+
+				return returnText;
+			}
+
+			return "";
+		} catch (UnsupportedFlavorException ufe) {
+			ufe.printStackTrace();
+		} catch (IOException ioe) {
+			ioe.printStackTrace();
+		}
+		return "";
+	}
+
+	private String getHighlightedText(Robot instance) {
+
+		try {
+
+			// clippy.setContents( selection,selection );
+
+			// logger.debug("os.name :: "+System.getProperty("os.name"));
+
+			if (System.getProperty("os.name").toUpperCase().indexOf("WINDOWS") >= 0) {
+
+				// logger.debug("IS WINDOWS");
+
+				// pressing STRG+C == copy
+				instance.keyPress(KeyEvent.VK_CONTROL);
+				Thread.sleep(200);
+				instance.keyPress(KeyEvent.VK_C);
+				Thread.sleep(200);
+				instance.keyRelease(KeyEvent.VK_C);
+				Thread.sleep(200);
+				instance.keyRelease(KeyEvent.VK_CONTROL);
+				Thread.sleep(200);
+
+			} else {
+
+				// logger.debug("IS MAC");
+
+				// Macintosh simulate Copy
+				instance.keyPress(157);
+				Thread.sleep(200);
+				instance.keyPress(67);
+				Thread.sleep(200);
+				instance.keyRelease(67);
+				Thread.sleep(200);
+				instance.keyRelease(157);
+				Thread.sleep(200);
+
+			}
+
+			String charValue = this.getClipboardText();
+
+			return charValue;
+
+		} catch (Exception ex) {
+			ex.printStackTrace();
+		}
+		return "";
+	}
+
+	private void pressSpecialSign(String charValue, Robot instance) {
+		Clipboard clippy = Toolkit.getDefaultToolkit().getSystemClipboard();
+		try {
+
+			Transferable transferableText = new StringSelection(charValue);
+			clippy.setContents(transferableText, null);
+
+			// logger.debug("os.name :: "+System.getProperty("os.name"));
+
+			if (System.getProperty("os.name").toUpperCase().indexOf("WINDOWS") >= 0) {
+
+				// logger.debug("IS WINDOWS");
+
+				// pressing STRG+V == insert-mode
+				instance.keyPress(KeyEvent.VK_CONTROL);
+				Thread.sleep(100);
+				instance.keyPress(KeyEvent.VK_V);
+				Thread.sleep(100);
+				instance.keyRelease(KeyEvent.VK_V);
+				Thread.sleep(100);
+				instance.keyRelease(KeyEvent.VK_CONTROL);
+				Thread.sleep(100);
+
+			} else {
+
+				// logger.debug("IS MAC");
+
+				// Macintosh simulate Insert
+				instance.keyPress(157);
+				Thread.sleep(100);
+				instance.keyPress(86);
+				Thread.sleep(100);
+				instance.keyRelease(86);
+				Thread.sleep(100);
+				instance.keyRelease(157);
+				Thread.sleep(100);
+
+			}
+
+		} catch (Exception ex) {
+			ex.printStackTrace();
+		}
+	}
+
+	public void resultReceived(IPendingServiceCall call) {
+		try {
+
+			logger.trace( "service call result: " + call );
+
+			if (call.getServiceMethodName().equals("connect")) {
+				isConnected = true;
+				setConnectionAsSharingClient();
+			} else if (call.getServiceMethodName().equals(
+					"setConnectionAsSharingClient")) {
+
+				Object o = call.getResult();
+
+				@SuppressWarnings("rawtypes")
+				Map returnMap = (Map) o;
+
+				if (o == null || !Boolean.valueOf("" + returnMap.get("alreadyPublished")).booleanValue()) {
+					logger.trace("Stream not yet started - do it ");
+
+					instance.createStream(instance);
+				} else {
+					if (this.capture != null) {
+						this.capture.resetBuffer();
+					}
+
+					logger.trace("The Stream was already started ");
+				}
+
+				if (returnMap != null) {
+					Object modus = returnMap.get("modus");
+					if ("startStreaming".equals(modus)) {
+						frame.setSharingStatus(true);
+					} else if ("startRecording".equals(modus)) {
+						frame.setRecordingStatus(true);
+					} else if ("startPublishing".equals(modus)) {
+						frame.setPublishingStatus(true);
+					}
+				} else {
+					throw new Exception(
+							"Could not aquire modus for event setConnectionAsSharingClient");
+				}
+
+			} else if (call.getServiceMethodName().equals("createStream")) {
+
+				publishStreamId = (Integer) call.getResult();
+				logger.debug("createPublishStream result stream id: "
+						+ publishStreamId);
+				logger.debug("publishing video by name: " + publishName);
+				instance.publish(publishStreamId, publishName, "live", instance);
+
+				logger.debug("setup capture thread");
+
+				logger.debug("setup capture thread vScreenSpinnerWidth "
+						+ ScreenDimensions.spinnerWidth);
+				logger.debug("setup capture thread vScreenSpinnerHeight "
+						+ ScreenDimensions.spinnerHeight);
+
+				capture = new CaptureScreen();
+
+				if (thread == null) {
+					thread = new Thread(capture);
+					thread.start();
+				}
+				capture.start();
+
+			} else if (call.getServiceMethodName().equals("screenSharerAction")) {
+				logger.trace("call ### get Method Name "
+						+ call.getServiceMethodName());
+
+				Object o = call.getResult();
+
+				logger.trace("Result Map Type " + o.getClass().getName());
+
+				@SuppressWarnings("unchecked")
+				Map<String, Object> returnMap = (Map<String, Object>)o;
+				Object result = returnMap.get("result");
+				if ("stopAll".equals(result)) {
+					logger.trace("Stopping to stream, there is neither a Desktop Sharing nor Recording anymore");
+					stopStream();
+				} else if ("stopSharingOnly".equals(result)) {
+					//no op
+				} else if ("stopRecordingOnly".equals(result)) {
+					//no op
+				} else if ("stopPublishingOnly".equals(result)) {
+					frame.setPublishingStatus(false);
+				}
+			} else if (call.getServiceMethodName().equals(
+					"setNewCursorPosition")) {
+
+				// Do not do anything
+
+			} else {
+
+				logger.debug("Unknown method " + call.getServiceMethodName());
+
+			}
+
+		} catch (Exception err) {
+			logger.error("[resultReceived]", err);
+		}
+	}
+
+	public void pushVideo(int len, byte[] video, long ts) throws IOException {
+
+		if (!startPublish)
+			return;
+
+		if (buffer == null || (buffer.capacity() < video.length && !buffer.isAutoExpand())) {
+			buffer = IoBuffer.allocate(video.length);
+			buffer.setAutoExpand(true);
+		}
+
+		buffer.clear();
+		buffer.put(video);
+		buffer.flip();
+
+		VideoData videoData = new VideoData(buffer);
+		videoData.setTimestamp((int) ts);
+
+		RTMPMessage rtmpMsg = RTMPMessage.build(videoData);
+		instance.publishStreamData(publishStreamId, rtmpMsg);
+	}
+
+	// ------------------------------------------------------------------------
+	//
+	// CaptureScreen
+	//
+	// ------------------------------------------------------------------------
+
+	private final class CaptureScreen extends Object implements Runnable {
+		private int timeBetweenFrames = 500; // frameRate
+		private volatile long timestamp = 0;
+		private volatile boolean active = true;
+		@SuppressWarnings("unused")
+		private volatile boolean stopped = false;
+		private IScreenEncoder se;
+
+		// ------------------------------------------------------------------------
+		//
+		// Constructor
+		//
+		// ------------------------------------------------------------------------
+
+		public CaptureScreen() {
+			timeBetweenFrames = (ScreenDimensions.quality == ScreenQuality.VeryHigh) ? 100 : 500;
+			se = new ScreenV1Encoder();
+		}
+
+		// ------------------------------------------------------------------------
+		//
+		// Public
+		//
+		// ------------------------------------------------------------------------
+		public void start() {
+			stopped = false;
+		}
+
+		public void stop() {
+			stopped = true;
+		}
+
+		public void release() {
+			active = false;
+		}
+
+		public void resetBuffer() {
+			se.reset();
+		}
+
+		// ------------------------------------------------------------------------
+		//
+		// Thread loop
+		//
+		// ------------------------------------------------------------------------
+		public void run() {
+			try {
+				Robot robot = new Robot();
+				BufferedImage image = null;
+				while (active) {
+					final long ctime = System.currentTimeMillis();
+					Rectangle screen = new Rectangle(ScreenDimensions.spinnerX,
+							ScreenDimensions.spinnerY,
+							ScreenDimensions.spinnerWidth,
+							ScreenDimensions.spinnerHeight);
+					
+					image = robot.createScreenCapture(screen);
+
+					try {
+						timestamp += timeBetweenFrames;
+						byte[] data = se.encode(screen, image, new Rectangle(ScreenDimensions.resizeX,
+								ScreenDimensions.resizeY));
+
+						pushVideo(data.length, data, timestamp);
+					} catch (Exception e) {
+						e.printStackTrace();
+					}
+					final int spent = (int) (System.currentTimeMillis() - ctime);
+
+					sendCursorStatus();
+
+					Thread.sleep(Math.max(0, timeBetweenFrames - spent));
+				}
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+		}
+	}
+}
diff --git a/src/org/openmeetings/screen/webstart/IScreenEncoder.java b/src/org/openmeetings/screen/webstart/IScreenEncoder.java
new file mode 100644
index 0000000..dfec3a2
--- /dev/null
+++ b/src/org/openmeetings/screen/webstart/IScreenEncoder.java
@@ -0,0 +1,30 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.screen.webstart;

+

+import java.awt.Rectangle;

+import java.awt.image.BufferedImage;

+import java.io.IOException;

+

+public interface IScreenEncoder {

+	

+	byte[] encode(Rectangle screen, BufferedImage img, Rectangle size)  throws IOException;

+	

+	void reset();

+}

diff --git a/src/org/openmeetings/screen/webstart/IScreenShare.java b/src/org/openmeetings/screen/webstart/IScreenShare.java
new file mode 100644
index 0000000..f96eea3
--- /dev/null
+++ b/src/org/openmeetings/screen/webstart/IScreenShare.java
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.screen.webstart;
+
+import org.red5.client.net.rtmp.INetStreamEventHandler;
+import org.red5.server.api.service.IPendingServiceCallback;
+import org.red5.server.messaging.IMessage;
+import org.red5.server.net.rtmp.RTMPConnection;
+
+public interface IScreenShare extends IPendingServiceCallback, INetStreamEventHandler {
+	RTMPConnection getConnection();
+	void invoke(String method, Object[] params, IPendingServiceCallback callback);
+	void connect(String server, int port, String application, IPendingServiceCallback connectCallback);
+	void disconnect();
+	void createStream(IPendingServiceCallback callback);
+	void publish(int streamId, String name, String mode, INetStreamEventHandler handler);
+	void publishStreamData(int streamId, IMessage message);
+}
diff --git a/src/org/openmeetings/screen/webstart/RTMPSScreenShare.java b/src/org/openmeetings/screen/webstart/RTMPSScreenShare.java
new file mode 100644
index 0000000..857fcc0
--- /dev/null
+++ b/src/org/openmeetings/screen/webstart/RTMPSScreenShare.java
@@ -0,0 +1,105 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.screen.webstart;
+
+import org.apache.commons.codec.DecoderException;
+import org.apache.commons.codec.binary.Hex;
+import org.red5.client.net.rtmp.ClientExceptionHandler;
+import org.red5.client.net.rtmps.RTMPSClient;
+import org.red5.server.api.service.IPendingServiceCall;
+import org.red5.server.api.service.IPendingServiceCallback;
+import org.red5.server.net.rtmp.Channel;
+import org.red5.server.net.rtmp.RTMPConnection;
+import org.red5.server.net.rtmp.codec.RTMP;
+import org.red5.server.net.rtmp.event.Notify;
+import org.red5.server.net.rtmp.message.Header;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class RTMPSScreenShare extends RTMPSClient implements ClientExceptionHandler, IScreenShare {
+
+	private static final Logger logger = LoggerFactory
+			.getLogger(RTMPSScreenShare.class);
+
+	private CoreScreenShare core = null;
+
+	private RTMPSScreenShare() {
+		core = new CoreScreenShare(this);
+	};
+
+	public static void main(String[] args) throws DecoderException {
+		RTMPSScreenShare client = new RTMPSScreenShare();
+		if (args.length < 11) {
+			System.exit(0);
+		}
+		client.setKeystoreBytes(Hex.decodeHex(args[9].toCharArray()));
+		client.setKeyStorePassword(args[10]);
+		client.core.main(args);
+	}
+	
+	@Override
+	public void connect(String server, int port, String application,
+			IPendingServiceCallback connectCallback) {
+		try { //FIXME need to be removed
+			super.connect(server, port, application, connectCallback);
+		} catch (NullPointerException npe) {
+			//no op, since RTMPSClient throws NPE
+		}
+	}
+	
+	// ------------------------------------------------------------------------
+	//
+	// Override
+	//
+	// ------------------------------------------------------------------------
+	@Override
+	public void connectionOpened(RTMPConnection conn, RTMP state) {
+		logger.debug("connection opened");
+		super.connectionOpened(conn, state);
+		this.conn = conn;
+	}
+
+	@Override
+	public void connectionClosed(RTMPConnection conn, RTMP state) {
+		logger.debug("connection closed");
+		super.connectionClosed(conn, state);
+	}
+
+	@Override
+	protected void onInvoke(RTMPConnection conn, Channel channel,
+			Header source, Notify invoke, RTMP rtmp) {
+		super.onInvoke(conn, channel, source, invoke, rtmp);
+
+		core.onInvoke(conn, channel, source, invoke, rtmp);
+	}
+
+	@Override
+	public void handleException(Throwable throwable) {
+		logger.error("{}", new Object[] { throwable.getCause() });
+		System.out.println(throwable.getCause());
+	}
+
+	public void onStreamEvent(Notify notify) {
+		core.onStreamEvent(notify);
+	}
+
+	public void resultReceived(IPendingServiceCall call) {
+		core.resultReceived(call);
+	}
+}
diff --git a/src/org/openmeetings/screen/webstart/RTMPScreenShare.java b/src/org/openmeetings/screen/webstart/RTMPScreenShare.java
new file mode 100644
index 0000000..0122fe0
--- /dev/null
+++ b/src/org/openmeetings/screen/webstart/RTMPScreenShare.java
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.screen.webstart;
+
+import org.red5.client.net.rtmp.ClientExceptionHandler;
+import org.red5.client.net.rtmp.RTMPClient;
+import org.red5.server.api.service.IPendingServiceCall;
+import org.red5.server.net.rtmp.Channel;
+import org.red5.server.net.rtmp.RTMPConnection;
+import org.red5.server.net.rtmp.codec.RTMP;
+import org.red5.server.net.rtmp.event.Notify;
+import org.red5.server.net.rtmp.message.Header;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class RTMPScreenShare extends RTMPClient implements ClientExceptionHandler, IScreenShare {
+
+	private static final Logger logger = LoggerFactory
+			.getLogger(RTMPScreenShare.class);
+
+	private CoreScreenShare core = null;
+
+	private RTMPScreenShare() {
+		core = new CoreScreenShare(this);
+	};
+
+	public static void main(String[] args) {
+		new RTMPScreenShare().core.main(args);
+	}
+	
+	// ------------------------------------------------------------------------
+	//
+	// Override
+	//
+	// ------------------------------------------------------------------------
+	@Override
+	public void connectionOpened(RTMPConnection conn, RTMP state) {
+		logger.debug("connection opened");
+		super.connectionOpened(conn, state);
+		this.conn = conn;
+	}
+
+	@Override
+	public void connectionClosed(RTMPConnection conn, RTMP state) {
+		logger.debug("connection closed");
+		super.connectionClosed(conn, state);
+	}
+
+	@Override
+	protected void onInvoke(RTMPConnection conn, Channel channel,
+			Header source, Notify invoke, RTMP rtmp) {
+		super.onInvoke(conn, channel, source, invoke, rtmp);
+
+		core.onInvoke(conn, channel, source, invoke, rtmp);
+	}
+
+	@Override
+	public void handleException(Throwable throwable) {
+		logger.error("{}", new Object[] { throwable.getCause() });
+		System.out.println(throwable.getCause());
+	}
+
+	public void onStreamEvent(Notify notify) {
+		core.onStreamEvent(notify);
+	}
+
+	public void resultReceived(IPendingServiceCall call) {
+		core.resultReceived(call);
+	}
+}
diff --git a/src/org/openmeetings/screen/webstart/RTMPTScreenShare.java b/src/org/openmeetings/screen/webstart/RTMPTScreenShare.java
new file mode 100644
index 0000000..b5dbc21
--- /dev/null
+++ b/src/org/openmeetings/screen/webstart/RTMPTScreenShare.java
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.screen.webstart;
+
+import org.red5.client.net.rtmp.ClientExceptionHandler;
+import org.red5.client.net.rtmpt.RTMPTClient;
+import org.red5.server.api.service.IPendingServiceCall;
+import org.red5.server.net.rtmp.Channel;
+import org.red5.server.net.rtmp.RTMPConnection;
+import org.red5.server.net.rtmp.codec.RTMP;
+import org.red5.server.net.rtmp.event.Notify;
+import org.red5.server.net.rtmp.message.Header;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class RTMPTScreenShare extends RTMPTClient implements ClientExceptionHandler, IScreenShare {
+
+	private static final Logger logger = LoggerFactory
+			.getLogger(RTMPTScreenShare.class);
+
+	private CoreScreenShare core = null;
+
+	private RTMPTScreenShare() {
+		core = new CoreScreenShare(this);
+	};
+
+	public static void main(String[] args) {
+		new RTMPTScreenShare().core.main(args);
+	}
+	
+	// ------------------------------------------------------------------------
+	//
+	// Override
+	//
+	// ------------------------------------------------------------------------
+	@Override
+	public void connectionOpened(RTMPConnection conn, RTMP state) {
+		logger.debug("connection opened");
+		super.connectionOpened(conn, state);
+		this.conn = conn;
+	}
+
+	@Override
+	public void connectionClosed(RTMPConnection conn, RTMP state) {
+		logger.debug("connection closed");
+		super.connectionClosed(conn, state);
+	}
+
+	@Override
+	protected void onInvoke(RTMPConnection conn, Channel channel,
+			Header source, Notify invoke, RTMP rtmp) {
+		super.onInvoke(conn, channel, source, invoke, rtmp);
+
+		core.onInvoke(conn, channel, source, invoke, rtmp);
+	}
+
+	@Override
+	public void handleException(Throwable throwable) {
+		logger.error("{}", new Object[] { throwable.getCause() });
+		System.out.println(throwable.getCause());
+	}
+
+	public void onStreamEvent(Notify notify) {
+		core.onStreamEvent(notify);
+	}
+
+	public void resultReceived(IPendingServiceCall call) {
+		core.resultReceived(call);
+	}
+}
diff --git a/src/org/openmeetings/screen/webstart/ScreenV1Encoder.java b/src/org/openmeetings/screen/webstart/ScreenV1Encoder.java
new file mode 100644
index 0000000..4780a45
--- /dev/null
+++ b/src/org/openmeetings/screen/webstart/ScreenV1Encoder.java
@@ -0,0 +1,137 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.screen.webstart;

+

+import java.awt.Rectangle;

+import java.awt.image.BufferedImage;

+import java.io.ByteArrayOutputStream;

+import java.io.IOException;

+import java.io.OutputStream;

+import java.util.zip.Deflater;

+

+public class ScreenV1Encoder extends BaseScreenEncoder {

+	private BufferedImage last = null;

+	private static int KEY_FRAME_INDEX = 100;

+	private static int DEFAULT_BLOCK_SIZE = 32;

+	private static int DEFAULT_SCREEN_WIDTH = 1920;

+	private static int DEFAULT_SCREEN_HEIGHT = 1080;

+	private int keyFrameIndex;

+	private int frameCount = 0;

+	private int blockSize;

+	private Rectangle screen;

+	private ByteArrayOutputStream ba = new ByteArrayOutputStream(50 + 3 * DEFAULT_SCREEN_WIDTH * DEFAULT_SCREEN_HEIGHT);

+	private byte[] areaBuf = null;

+	private Deflater d = new Deflater(Deflater.DEFAULT_COMPRESSION);

+	private byte[] zipBuf = null;

+	

+	public ScreenV1Encoder() {

+		this(KEY_FRAME_INDEX, DEFAULT_BLOCK_SIZE);

+	}

+	

+	//will create square blocks

+	public ScreenV1Encoder(int keyFrameIndex, int blockSize) {

+		this.keyFrameIndex = keyFrameIndex;

+		if (blockSize < 16 || blockSize > 256 || blockSize % 16 != 0) {

+			throw new RuntimeException("Invalid block size passed: " + blockSize + " should be: 'from 16 to 256 in multiples of 16'");

+		}

+		this.blockSize = blockSize;

+

+		areaBuf = new byte[3 * blockSize * blockSize];

+		zipBuf = new byte[3 * blockSize * blockSize];

+	}

+	

+	public byte[] encode(Rectangle screen, BufferedImage _img, Rectangle size) throws IOException {

+		BufferedImage img = resize(_img, size);

+		ba.reset();

+		Rectangle imgArea = new Rectangle(img.getWidth(), img.getHeight());

+		Rectangle area = getNextBlock(imgArea, null);

+		boolean isKeyFrame = (frameCount++ % keyFrameIndex) == 0 || last == null || !screen.equals(this.screen);

+		

+		//header

+		ba.write(getTag(isKeyFrame ? 0x01 : 0x02, 0x03));

+		writeShort(ba, imgArea.width + ((blockSize / 16 - 1) << 12));

+		writeShort(ba, imgArea.height + ((blockSize / 16 - 1) << 12));

+		

+		while (area.width > 0 && area.height > 0) {

+			writeBytesIfChanged(ba, isKeyFrame, img, area);

+			area = getNextBlock(imgArea, area);

+		}

+		this.screen = screen;

+		last = img;

+		return ba.toByteArray();

+	}

+	

+	public void reset() {

+		last = null;

+	}

+	

+	private Rectangle getNextBlock(Rectangle img, Rectangle _prev) {

+		Rectangle prev;

+		if (_prev == null) {

+			prev = new Rectangle(0, Math.max(0, img.height - blockSize), blockSize, blockSize);

+		} else {

+			prev = new Rectangle(_prev);

+			if (prev.x + prev.width == img.getWidth()) {

+				if (prev.y == 0) return new Rectangle(); //the end of the image

+				//next row

+				prev.x = 0; //reset position

+				prev.width = blockSize; //reset width

+				prev.y -= (prev.y > blockSize ? blockSize : prev.y);

+			} else {

+				prev.x += blockSize;

+			}

+		}

+		return img.intersection(prev); 

+	}

+

+	private void writeBytesIfChanged(ByteArrayOutputStream ba, boolean isKeyFrame, BufferedImage img, Rectangle area) throws IOException {

+		boolean changed = isKeyFrame;

+		int count = 0;

+		for (int y = area.y + area.height - 1; y >= area.y; --y) {

+			for (int x = area.x; x < area.x + area.width; ++x) {

+				int pixel = img.getRGB(x, y);

+				if (!changed && (last == null || pixel != last.getRGB(x, y))) {

+					changed = true;

+				}

+				areaBuf[count++] = (byte)(pixel & 0xFF);			// Blue component

+				areaBuf[count++] = (byte)((pixel >> 8) & 0xFF);		// Green component

+				areaBuf[count++] = (byte)((pixel >> 16) & 0xFF);	// Red component

+			}

+		}

+		if (changed) {

+			d.reset();

+			d.setInput(areaBuf, 0, count);

+			d.finish();

+			int written = d.deflate(zipBuf);

+			writeShort(ba, written);

+			ba.write(zipBuf, 0, written);

+		} else {

+			writeShort(ba, 0);

+		}

+	}

+

+	public int getTag(final int frame, final int codec) {

+		return ((frame & 0x0F) << 4) + ((codec & 0x0F) << 0);

+	}

+	

+	private void writeShort(OutputStream os, final int n) throws IOException {

+		os.write((n >> 8) & 0xFF);

+		os.write((n >> 0) & 0xFF);

+	}

+}

diff --git a/src/org/openmeetings/screen/webstart/gui/BlankArea.java b/src/org/openmeetings/screen/webstart/gui/BlankArea.java
new file mode 100644
index 0000000..ec71b9a
--- /dev/null
+++ b/src/org/openmeetings/screen/webstart/gui/BlankArea.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.screen.webstart.gui;
+
+import javax.swing.*;
+import java.awt.Dimension;
+import java.awt.Color;
+
+public class BlankArea extends MouseListenerable {
+	private static final long serialVersionUID = 305723962144665147L;
+	private Dimension minSize = new Dimension(100, 50);
+
+    public BlankArea(Color color) {
+        setBackground(color);
+        setOpaque(false);
+		setHorizontalAlignment(SwingConstants.LEFT);
+		setVerticalAlignment(SwingConstants.TOP);
+		setHorizontalTextPosition(0);
+		setVerticalTextPosition(0);
+        setBorder(BorderFactory.createLineBorder(Color.black));
+        setMinimumSize(minSize);
+        setPreferredSize(minSize);
+    }
+}
diff --git a/src/org/openmeetings/screen/webstart/gui/MouseListenerable.java b/src/org/openmeetings/screen/webstart/gui/MouseListenerable.java
new file mode 100644
index 0000000..53a7f34
--- /dev/null
+++ b/src/org/openmeetings/screen/webstart/gui/MouseListenerable.java
@@ -0,0 +1,32 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.screen.webstart.gui;

+

+import java.awt.event.MouseAdapter;

+

+import javax.swing.JLabel;

+

+public class MouseListenerable extends JLabel {

+	private static final long serialVersionUID = -6862930681858866872L;

+

+	public void addListener(MouseAdapter listner) {

+		addMouseListener(listner);

+		addMouseMotionListener(listner);

+	}

+}
\ No newline at end of file
diff --git a/src/org/openmeetings/screen/webstart/gui/NumberSpinner.java b/src/org/openmeetings/screen/webstart/gui/NumberSpinner.java
new file mode 100644
index 0000000..a4f26a2
--- /dev/null
+++ b/src/org/openmeetings/screen/webstart/gui/NumberSpinner.java
@@ -0,0 +1,34 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.screen.webstart.gui;

+

+import javax.swing.JSpinner;

+import javax.swing.SpinnerNumberModel;

+

+public class NumberSpinner extends JSpinner {

+	private static final long serialVersionUID = -1964457022937740633L;

+

+	public NumberSpinner(int value, int min, int max, int step) {

+		super(new SpinnerNumberModel(value, min, max, step));

+	}

+	

+	public Integer getValue() {

+		return (Integer)super.getValue();

+	}

+}

diff --git a/src/org/openmeetings/screen/webstart/gui/ScreenDimensions.java b/src/org/openmeetings/screen/webstart/gui/ScreenDimensions.java
new file mode 100644
index 0000000..49919cc
--- /dev/null
+++ b/src/org/openmeetings/screen/webstart/gui/ScreenDimensions.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.screen.webstart.gui;
+
+import java.awt.Dimension;
+import java.awt.Toolkit;
+
+public class ScreenDimensions {
+	/**
+	 * image recalcing value's from the virtual Screen drawer
+	 */
+	public static int width = 200;
+	public static int height = 0;
+
+	/**
+	 * Values calced by the original Screen
+	 */
+
+	public static double ratio = 0;
+
+	public static int widthMax = 0;
+	public static int heightMax = 0;
+
+	/**
+	 * Values set by the virtualScreen
+	 */
+	public static int spinnerWidth = 0;
+	public static int spinnerHeight = 0;
+	public static int spinnerX = 0;
+	public static int spinnerY = 0;
+	
+	public static ScreenQuality quality = ScreenQuality.Medium;
+	
+	public static int resizeX = 640;
+	public static int resizeY = 480;
+	
+	static {
+		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
+		ScreenDimensions.ratio = screenSize.getHeight() / screenSize.getWidth();
+		ScreenDimensions.widthMax = (int)screenSize.getWidth();
+		ScreenDimensions.heightMax = (int)screenSize.getHeight();
+		ScreenDimensions.height = (int)Math.round(ScreenDimensions.width * ScreenDimensions.ratio);
+		ScreenDimensions.spinnerX = 0;
+		ScreenDimensions.spinnerY = 0;
+		ScreenDimensions.spinnerWidth = ScreenDimensions.widthMax;
+		ScreenDimensions.spinnerHeight = ScreenDimensions.heightMax;
+		ScreenDimensions.resizeX = 640;
+		ScreenDimensions.resizeY = 400;
+	}
+	
+	public enum ScreenQuality {
+		VeryHigh
+		, High
+		, Medium
+		, Low
+	}
+}
diff --git a/src/org/openmeetings/screen/webstart/gui/ScreenHeightMouseListener.java b/src/org/openmeetings/screen/webstart/gui/ScreenHeightMouseListener.java
new file mode 100644
index 0000000..f3e294d
--- /dev/null
+++ b/src/org/openmeetings/screen/webstart/gui/ScreenHeightMouseListener.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.screen.webstart.gui;
+
+import java.awt.Component;
+import java.awt.Cursor;
+import java.awt.event.MouseEvent;
+
+import javax.swing.event.MouseInputAdapter;
+
+public class ScreenHeightMouseListener extends MouseInputAdapter  {
+	private ScreenSharerFrame frame;
+	private double y = 0;
+
+	public ScreenHeightMouseListener(ScreenSharerFrame frame) {
+		this.frame = frame;
+	}
+	
+	public void mouseEntered(MouseEvent e) {
+		frame.setCursor(Cursor.getPredefinedCursor(Cursor.N_RESIZE_CURSOR));
+	}
+
+	public void mouseExited(MouseEvent e) {
+		frame.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+	}
+
+	public void mousePressed(MouseEvent e) {
+		frame.setShowWarning(false);
+		y = e.getY();
+	}
+
+	public void mouseReleased(MouseEvent e) {
+		frame.setShowWarning(true);
+	}
+
+	public void mouseDragged(MouseEvent e) {
+		if (!((Component)e.getSource()).isEnabled()) {
+			return;
+		}
+		double newY = e.getY();
+
+		int newHeight = ScreenDimensions.spinnerHeight - (int)(y - newY);
+		int newSpinnerY = ScreenDimensions.spinnerY + newHeight;
+
+		if (newSpinnerY >= 0 && newSpinnerY <= ScreenDimensions.heightMax) {
+			frame.setDoUpdateBounds(false);
+			frame.setSpinnerHeight(newHeight);
+			frame.setDoUpdateBounds(true);
+			frame.updateVScreenBounds();
+			frame.calcRescaleFactors();
+		}
+	}
+}
diff --git a/src/org/openmeetings/screen/webstart/gui/ScreenKeyListener.java b/src/org/openmeetings/screen/webstart/gui/ScreenKeyListener.java
new file mode 100644
index 0000000..919b968
--- /dev/null
+++ b/src/org/openmeetings/screen/webstart/gui/ScreenKeyListener.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.screen.webstart.gui;
+
+import java.awt.event.KeyEvent;
+import java.awt.event.KeyListener;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ScreenKeyListener implements KeyListener {
+	private static final Logger logger = LoggerFactory.getLogger(ScreenKeyListener.class);
+
+	public void keyPressed(KeyEvent kEvent) {
+		logger.debug("keyPressed :Code: " + kEvent.getKeyCode());
+	}
+
+	public void keyReleased(KeyEvent kEvent) {
+		logger.debug("keyReleased :Code: " + kEvent.getKeyCode());
+	}
+
+	public void keyTyped(KeyEvent arg0) {
+	}
+}
diff --git a/src/org/openmeetings/screen/webstart/gui/ScreenMouseListener.java b/src/org/openmeetings/screen/webstart/gui/ScreenMouseListener.java
new file mode 100644
index 0000000..142876d
--- /dev/null
+++ b/src/org/openmeetings/screen/webstart/gui/ScreenMouseListener.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.screen.webstart.gui;
+
+import java.awt.Component;
+import java.awt.Cursor;
+import java.awt.event.MouseEvent;
+
+import javax.swing.event.MouseInputAdapter;
+
+public class ScreenMouseListener extends MouseInputAdapter {
+	private ScreenSharerFrame frame;
+	private int x = 0;
+	private int y = 0;
+
+	public ScreenMouseListener(ScreenSharerFrame frame) {
+		this.frame = frame;
+	}
+
+	public void mouseEntered(MouseEvent e) {
+		frame.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
+	}
+
+	public void mouseExited(MouseEvent e) {
+		frame.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+	}
+
+	public void mousePressed(MouseEvent e) {
+		frame.setShowWarning(false);
+		this.x = e.getX();
+		this.y = e.getY();
+	}
+
+	public void mouseReleased(MouseEvent e) {
+		frame.setShowWarning(true);
+	}
+
+	public void mouseDragged(MouseEvent e) {
+		if (!((Component)e.getSource()).isEnabled()) {
+			return;
+		}
+		int newX = e.getX();
+		int newY = e.getY();
+
+		int newXPosition = ScreenDimensions.spinnerX - (this.x - newX);
+		int newYPosition = ScreenDimensions.spinnerY - (this.y - newY);
+		if (newXPosition >= 0) {
+			frame.setSpinnerX(newXPosition);
+		}
+		if (newYPosition >= 0) {
+			frame.setSpinnerY(newYPosition);
+		}
+
+		frame.calcRescaleFactors();
+	}
+
+}
diff --git a/src/org/openmeetings/screen/webstart/gui/ScreenSharerFrame.java b/src/org/openmeetings/screen/webstart/gui/ScreenSharerFrame.java
new file mode 100644
index 0000000..2ed4ffa
--- /dev/null
+++ b/src/org/openmeetings/screen/webstart/gui/ScreenSharerFrame.java
@@ -0,0 +1,744 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.screen.webstart.gui;
+
+import java.awt.AWTException;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Image;
+import java.awt.Rectangle;
+import java.awt.Robot;
+import java.awt.SystemColor;
+import java.awt.Toolkit;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.IOException;
+
+import javax.swing.BorderFactory;
+import javax.swing.GroupLayout;
+import javax.swing.GroupLayout.Alignment;
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JComboBox;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JTabbedPane;
+import javax.swing.JTextField;
+import javax.swing.SwingConstants;
+import javax.swing.border.EmptyBorder;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+import javax.swing.event.DocumentEvent;
+import javax.swing.event.DocumentListener;
+
+import org.openmeetings.screen.webstart.CoreScreenShare;
+import org.openmeetings.screen.webstart.gui.ScreenDimensions.ScreenQuality;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ScreenSharerFrame extends JFrame {
+	private static final long serialVersionUID = 6892639796386017437L;
+	private static final Logger logger = LoggerFactory.getLogger(ScreenSharerFrame.class);
+	
+	private JPanel contentPane;
+	private JPanel panelScreen = new DisabledPanel();
+	private JPanel panelRecording = new DisabledPanel();
+	private JPanel panelPublish = new DisabledPanel();
+	private JLabel lblStatus = new JLabel();
+	private int vScreenX = 20;
+	private int vScreenY = 20;
+	private VerticalSlider upSlider = new VerticalSlider();
+	private VerticalSlider downSlider = new VerticalSlider();
+	private HorizontalSlider leftSlider = new HorizontalSlider();
+	private HorizontalSlider rightSlider = new HorizontalSlider();
+	private BlankArea virtualScreen = new BlankArea(new Color(255, 255, 255, 100));
+	private JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
+	private boolean doUpdateBounds = true;
+	private boolean showWarning = true;
+	private JButton btnStartPauseSharing;
+	private JButton btnStartRecording;
+	private JButton btnStopRecording;
+	private JButton btnStartPublish;
+	private JButton btnStopPublish;
+	private NumberSpinner spinnerX;
+	private NumberSpinner spinnerY;
+	private NumberSpinner spinnerWidth;
+	private NumberSpinner spinnerHeight;
+	private JComboBox comboQuality;
+	private JTextField textPublishHost;
+	private JTextField textPublishApp;
+	private JTextField textPublishId;
+	private JLabel lblPublishURL;
+	private boolean sharingStarted = false;
+	private String startLabel;
+	private ImageIcon startIcon;
+	private String pauseLabel;
+	private ImageIcon pauseIcon;
+	private String reduceWidthLabel;
+	private String reduceHeightLabel;
+	private String reduceXLabel;
+	private String reduceYLabel;
+	private String recordingTipLabel;
+	private String publishingTipLabel;
+	
+	private class PublishTextField extends JTextField {
+		private static final long serialVersionUID = -2104245360975135871L;
+
+		PublishTextField() {
+			getDocument().addDocumentListener(
+				new DocumentListener() {
+					public void changedUpdate(DocumentEvent e) {
+						updatePublishURL();
+					}
+
+					public void removeUpdate(DocumentEvent e) {
+						updatePublishURL();
+					}
+
+					public void insertUpdate(DocumentEvent e) {
+						updatePublishURL();
+					}
+				});
+
+			setColumns(10);
+		}
+	}
+	
+	private class KeyValue<T> {
+		private String key;
+		private T value;
+		
+		public KeyValue(String key, T value) {
+			this.key = key;
+			this.value = value;
+		}
+	 
+		@SuppressWarnings("unused")
+		public String getKey() { return key; }
+		public T getValue() { return value; }
+	 
+		@Override
+		public String toString() { return key; }
+	 
+		@Override
+		public boolean equals(Object obj) {
+			if (obj instanceof KeyValue) {
+				@SuppressWarnings("unchecked")
+				KeyValue<T> kv = (KeyValue<T>) obj;
+				return (kv.value.equals(this.value));
+			}
+			return false;
+		}
+	 
+		@Override
+		public int hashCode() {
+			int hash = 7;
+			hash = 97 * hash + (this.value != null ? this.value.hashCode() : 0);
+			return hash;
+		}
+	}
+	
+	//this implementation will not allow to Enable Panel in runtime
+	private class DisabledPanel extends JPanel {
+		private static final long serialVersionUID = -2679640611165728979L;
+
+		@Override
+		public void setEnabled(boolean enabled) {
+			for (Component c : getComponents()) {
+				c.setEnabled(enabled);
+			}
+			super.setEnabled(enabled);
+		}
+	}
+	
+	private class VerticalSlider extends MouseListenerable {
+		private static final long serialVersionUID = 6388951979741767971L;
+
+		public VerticalSlider() {
+			ImageIcon iUp = new ImageIcon(ScreenSharerFrame.class.getResource("/org/openmeetings/screen/up.png"));
+			ImageIcon iDown = new ImageIcon(ScreenSharerFrame.class.getResource("/org/openmeetings/screen/down.png"));
+			setSize(16, 32);
+			JLabel jUp = new JLabel(iUp);
+			jUp.setBounds(0, 0, 16, 16);
+			add(jUp);
+			JLabel jDown = new JLabel(iDown);
+			jDown.setBounds(0, 16, 16, 16);
+			add(jDown);
+		}
+	}
+	
+	private class HorizontalSlider extends MouseListenerable {
+		private static final long serialVersionUID = 4630712955901760443L;
+
+		public HorizontalSlider() {
+			ImageIcon iLeft = new ImageIcon(ScreenSharerFrame.class.getResource("/org/openmeetings/screen/previous.png"));
+			ImageIcon iRight = new ImageIcon(ScreenSharerFrame.class.getResource("/org/openmeetings/screen/next.png"));
+			setSize(32, 16);
+			JLabel jLeft = new JLabel(iLeft);
+			jLeft.setBounds(0, 0, 16, 16);
+			add(jLeft);
+			JLabel jRight = new JLabel(iRight);
+			jRight.setBounds(16, 0, 16, 16);
+			add(jRight);
+		}
+	}
+	
+	private String getTextLabel(String[] textLabels, int idx) {
+		return textLabels != null && idx < textLabels.length ? textLabels[idx] : "#STAB#";
+	}
+	/**
+	 * Create the frame.
+	 * @throws AWTException 
+	 * @throws IOException 
+	 */
+	public ScreenSharerFrame(final CoreScreenShare core, String[] textLabels) throws AWTException {
+		setTitle(getTextLabel(textLabels, 0)); //#id 730
+		setBackground(Color.WHITE);
+		setResizable(false);
+		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+		setBounds(30, 30, 500, 505);
+		contentPane = new JPanel();
+		contentPane.setBackground(Color.WHITE);
+		contentPane.setBorder(new EmptyBorder(5, 0, 5, 5));
+		setContentPane(contentPane);
+		
+		JLabel lblStartSharing = new JLabel(getTextLabel(textLabels, 1)); //#id 731
+		
+		startLabel = getTextLabel(textLabels, 2); //#id 732
+		pauseLabel = getTextLabel(textLabels, 3); //#id 733
+		reduceWidthLabel = getTextLabel(textLabels, 29); //#id 1471
+		reduceHeightLabel = getTextLabel(textLabels, 30); //#id 1472
+		reduceXLabel = getTextLabel(textLabels, 31); //#id 1473
+		reduceYLabel = getTextLabel(textLabels, 32); //#id 1474
+		recordingTipLabel = getTextLabel(textLabels, 35); //#id 1477
+		publishingTipLabel = getTextLabel(textLabels, 34); //#id 1476
+		startIcon = new ImageIcon(ScreenSharerFrame.class.getResource("/org/openmeetings/screen/play.png"));
+		pauseIcon = new ImageIcon(ScreenSharerFrame.class.getResource("/org/openmeetings/screen/pause.png"));
+		btnStartPauseSharing = new JButton(startLabel);
+		btnStartPauseSharing.setToolTipText(startLabel);
+		btnStartPauseSharing.setIcon(startIcon);
+		btnStartPauseSharing.setSize(200, 32);
+		btnStartPauseSharing.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent arg0) {
+				if (sharingStarted) {
+					core.captureScreenStop(true, false);
+				} else {
+					core.captureScreenStart(true, false);
+				}
+			}
+		});
+		JButton btnStopSharing = new JButton(getTextLabel(textLabels, 17)); //#id 878
+		btnStopSharing.setToolTipText(getTextLabel(textLabels, 17)); //#id 878
+		btnStopSharing.setSize(200, 32);
+		btnStopSharing.setIcon(new ImageIcon(ScreenSharerFrame.class.getResource("/org/openmeetings/screen/exit.png")));
+		btnStopSharing.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent arg0) {
+				ScreenSharerFrame.this.setVisible(false);
+				System.exit(0);
+			}
+		});
+		
+		JLabel lblSelectArea = new JLabel(getTextLabel(textLabels, 4)); //#id 734
+		JPanel panelStatus = new JPanel();
+		
+		GroupLayout gl_contentPane = new GroupLayout(contentPane);
+		gl_contentPane.setHorizontalGroup(
+			gl_contentPane.createParallelGroup(Alignment.LEADING)
+				.addGroup(gl_contentPane.createSequentialGroup()
+					.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
+						.addGroup(gl_contentPane.createSequentialGroup()
+							.addGap(7)
+							.addComponent(lblStartSharing))
+						.addGroup(gl_contentPane.createSequentialGroup()
+							.addGap(21)
+							.addComponent(btnStartPauseSharing, 200, 200, 200)
+							.addGap(52)
+							.addComponent(btnStopSharing, 200, 200, 200))
+						.addGroup(gl_contentPane.createSequentialGroup()
+							.addGap(7)
+							.addComponent(lblSelectArea, GroupLayout.PREFERRED_SIZE, 470, GroupLayout.PREFERRED_SIZE))
+						.addGroup(gl_contentPane.createSequentialGroup()
+							.addContainerGap()
+							.addComponent(panelScreen, GroupLayout.PREFERRED_SIZE, 472, GroupLayout.PREFERRED_SIZE))
+						.addGroup(gl_contentPane.createSequentialGroup()
+							.addContainerGap()
+							.addComponent(tabbedPane, GroupLayout.PREFERRED_SIZE, 472, GroupLayout.PREFERRED_SIZE))
+						.addGroup(gl_contentPane.createSequentialGroup()
+							.addComponent(panelStatus, 494, 494, 494)))
+					.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+		);
+		gl_contentPane.setVerticalGroup(
+			gl_contentPane.createParallelGroup(Alignment.LEADING)
+				.addGroup(gl_contentPane.createSequentialGroup()
+					.addGap(7)
+					.addComponent(lblStartSharing)
+					.addGap(4)
+					.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
+						.addComponent(btnStartPauseSharing, 32, 32, 32)
+						.addComponent(btnStopSharing, 32, 32, 32))
+					.addGap(4)
+					.addComponent(lblSelectArea)
+					.addGap(4)
+					.addComponent(panelScreen, 210, 210, 210)
+					.addGap(4)
+					.addComponent(tabbedPane, 150, 150, 150)
+					.addGap(5)
+					.addComponent(panelStatus, 20, 20, 20)
+					)
+		);
+		panelScreen.setLayout(null);
+		
+		int width = ScreenDimensions.width;
+		int height = ScreenDimensions.height;
+		
+		//Sliders
+		upSlider.addListener(new ScreenYMouseListener(this));
+		upSlider.setToolTipText(getTextLabel(textLabels, 6)); //#id 737
+		panelScreen.add(upSlider);
+		downSlider.addListener(new ScreenHeightMouseListener(this));
+		downSlider.setToolTipText(getTextLabel(textLabels, 6)); //#id 737
+		panelScreen.add(downSlider);
+		
+		leftSlider.addListener(new ScreenXMouseListener(this));
+		leftSlider.setToolTipText(getTextLabel(textLabels, 5)); //#id 735
+		panelScreen.add(leftSlider);
+		rightSlider.addListener(new ScreenWidthMouseListener(this));
+		rightSlider.setToolTipText(getTextLabel(textLabels, 5)); //#id 735
+		panelScreen.add(rightSlider);
+		
+		//Virtual Screen
+		virtualScreen.addListener(new ScreenMouseListener(this));
+		virtualScreen.setBounds(vScreenX, vScreenY, width, height);
+		panelScreen.add(virtualScreen);
+
+		ImageIcon imgBgScreen = new ImageIcon(
+			new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()))
+				.getScaledInstance(width, height, Image.SCALE_SMOOTH));
+		JLabel bgScreen = new JLabel(imgBgScreen);
+		bgScreen.setBounds(vScreenX, vScreenY, width, height);
+		panelScreen.add(bgScreen);
+
+		//Spinner X
+		JLabel labelX = new JLabel();
+		labelX.setText(getTextLabel(textLabels, 7)); //#id 738
+		labelX.setBounds(250, 20, 150, 24);
+		panelScreen.add(labelX);
+
+		spinnerX = new NumberSpinner(ScreenDimensions.spinnerX, 0, ScreenDimensions.widthMax, 1);
+		spinnerX.setBounds(400, 20, 60, 24);
+		spinnerX.addChangeListener( new ChangeListener(){
+			public void stateChanged(ChangeEvent arg0) {
+				calcNewValueXSpin();
+			}
+		});
+		panelScreen.add(spinnerX);
+
+		//Spinner Y
+		JLabel labelY = new JLabel();
+		labelY.setText(getTextLabel(textLabels, 8)); //#id 739
+		labelY.setBounds(250, 50, 150, 24);
+		panelScreen.add(labelY);
+
+		spinnerY = new NumberSpinner(ScreenDimensions.spinnerY, 0, ScreenDimensions.heightMax, 1);
+		spinnerY.setBounds(400, 50, 60, 24);
+		spinnerY.addChangeListener( new ChangeListener(){
+			public void stateChanged(ChangeEvent arg0) {
+				calcNewValueYSpin();
+			}
+		});
+		panelScreen.add(spinnerY);
+		
+		JLabel vscreenWidthLabel = new JLabel();
+		vscreenWidthLabel.setText(getTextLabel(textLabels, 9)); //#id 740
+		vscreenWidthLabel.setBounds(250, 80, 150, 24);
+		panelScreen.add(vscreenWidthLabel);
+
+		spinnerWidth = new NumberSpinner(ScreenDimensions.spinnerWidth, 0, ScreenDimensions.widthMax, 1);
+		spinnerWidth.setBounds(400, 80, 60, 24);
+		spinnerWidth.addChangeListener( new ChangeListener(){
+			public void stateChanged(ChangeEvent arg0) {
+				calcNewValueWidthSpin();
+			}
+		});
+		panelScreen.add(spinnerWidth);
+
+		//Spinner Height
+		JLabel labelHeight = new JLabel();
+		labelHeight.setText(getTextLabel(textLabels, 10)); //#id 741
+		labelHeight.setBounds(250, 110, 150, 24);
+		panelScreen.add(labelHeight);
+
+		spinnerHeight = new NumberSpinner(ScreenDimensions.spinnerHeight, 0, ScreenDimensions.heightMax, 1);
+		spinnerHeight.setBounds(400, 110, 60, 24);
+		spinnerHeight.addChangeListener( new ChangeListener(){
+			public void stateChanged(ChangeEvent arg0) {
+				calcNewValueHeightSpin();
+			}
+		});
+		panelScreen.add(spinnerHeight);
+		
+		//Quality
+		JLabel labelQuality = new JLabel();
+		labelQuality.setText(getTextLabel(textLabels, 18)); //#id 1089
+		labelQuality.setBounds(250, 140, 200, 24);
+		panelScreen.add(labelQuality);
+		
+		comboQuality = new JComboBox();
+		comboQuality.addItem(new KeyValue<ScreenQuality>(getTextLabel(textLabels, 19), ScreenQuality.VeryHigh)); //#id 1090
+		comboQuality.addItem(new KeyValue<ScreenQuality>(getTextLabel(textLabels, 20), ScreenQuality.High)); //#id 1091
+		comboQuality.addItem(new KeyValue<ScreenQuality>(getTextLabel(textLabels, 21), ScreenQuality.Medium)); //#id 1092
+		comboQuality.addItem(new KeyValue<ScreenQuality>(getTextLabel(textLabels, 22), ScreenQuality.Low)); //#id 1093
+		comboQuality.setBounds(250, 170, 200, 24);
+		comboQuality.addActionListener(new ActionListener() {
+			@SuppressWarnings("unchecked")
+			public void actionPerformed(ActionEvent e) {
+		        ScreenDimensions.quality = ((KeyValue<ScreenQuality>)comboQuality.getSelectedItem()).getValue();
+		        calcRescaleFactors();
+			}
+		}); 
+		comboQuality.setSelectedIndex(core.defaultQuality);
+		panelScreen.add(comboQuality);
+		
+		panelRecording.setBackground(Color.WHITE);
+		tabbedPane.addTab(getTextLabel(textLabels, 13), null, panelRecording, null); //#id 869
+		tabbedPane.setEnabledAt(0, true);
+		panelRecording.setLayout(null);
+		panelRecording.setEnabled(false);
+		
+		JLabel lblRecordingDesc = new JLabel("<html>" + getTextLabel(textLabels, 14) + "</html>"); //#id 870
+		lblRecordingDesc.setVerticalAlignment(SwingConstants.TOP);
+		lblRecordingDesc.setBounds(10, 10, 447, 60);
+		panelRecording.add(lblRecordingDesc);
+		
+		btnStartRecording = new JButton(getTextLabel(textLabels, 15)); //#id 871
+		btnStartRecording.setToolTipText(getTextLabel(textLabels, 15)); //#id 871
+		btnStartRecording.setIcon(new ImageIcon(ScreenSharerFrame.class.getResource("/org/openmeetings/screen/record.png")));
+		btnStartRecording.setBounds(10, 82, 200, 32);
+		btnStartRecording.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent arg0) {
+				core.captureScreenStart(false, true);
+			}
+		});
+		panelRecording.add(btnStartRecording);
+		
+		ImageIcon stopIcon = new ImageIcon(ScreenSharerFrame.class.getResource("/org/openmeetings/screen/stop.png"));
+		btnStopRecording = new JButton(getTextLabel(textLabels, 16), stopIcon); //#id 872
+		btnStopRecording.setToolTipText(getTextLabel(textLabels, 16)); //#id 872
+		btnStopRecording.setBounds(257, 82, 200, 32);
+		btnStopRecording.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent arg0) {
+				core.captureScreenStop(false, true);
+			}
+		});
+		panelRecording.add(btnStopRecording);
+		
+		panelPublish.setBackground(Color.WHITE);
+		tabbedPane.addTab(getTextLabel(textLabels, 23), null, panelPublish, null); //#id 1465
+		tabbedPane.setEnabledAt(1, true);
+		panelPublish.setEnabled(false);
+		panelPublish.setLayout(null);
+		
+		JLabel lblPublishDesc = new JLabel(getTextLabel(textLabels, 33)); //#id 1475
+		lblPublishDesc.setVerticalAlignment(SwingConstants.TOP);
+		lblPublishDesc.setBounds(10, 5, 450, 20);
+		panelPublish.add(lblPublishDesc);
+		
+		JLabel lblPublishHost = new JLabel(getTextLabel(textLabels, 26)); //#id 1468
+		lblPublishHost.setVerticalAlignment(SwingConstants.TOP);
+		lblPublishHost.setBounds(10, 27, 140, 20);
+		panelPublish.add(lblPublishHost);
+		
+		JLabel lblPublishApp = new JLabel(getTextLabel(textLabels, 27)); //#id 1469
+		lblPublishApp.setVerticalAlignment(SwingConstants.TOP);
+		lblPublishApp.setBounds(160, 27, 140, 20);
+		panelPublish.add(lblPublishApp);
+		
+		JLabel lblPublishId = new JLabel(getTextLabel(textLabels, 28)); //#id 1470
+		lblPublishId.setVerticalAlignment(SwingConstants.TOP);
+		lblPublishId.setBounds(310, 27, 140, 20);
+		panelPublish.add(lblPublishId);
+		
+		textPublishHost = new PublishTextField();
+		textPublishHost.setBounds(10, 45, 140, 20);
+		panelPublish.add(textPublishHost);
+		
+		textPublishApp = new PublishTextField();
+		textPublishApp.setBounds(160, 45, 140, 20);
+		panelPublish.add(textPublishApp);
+		
+		textPublishId = new PublishTextField();
+		textPublishId.setBounds(310, 45, 140, 20);
+		panelPublish.add(textPublishId);
+		
+		lblPublishURL = new JLabel("");
+		lblPublishURL.setBounds(10, 69, 447, 14);
+		panelPublish.add(lblPublishURL);
+		
+		btnStartPublish = new JButton(getTextLabel(textLabels, 24)); //#id 1466
+		btnStartPublish.setToolTipText(getTextLabel(textLabels, 24)); //#id 1466
+		//btnStartPublish.setIcon(new ImageIcon(ScreenSharerFrame.class.getResource("/org/openmeetings/screen/record.png")));
+		btnStartPublish.setBounds(10, 86, 200, 32);
+		btnStartPublish.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent arg0) {
+				core.captureScreenStart(false, false, true);
+			}
+		});
+		panelPublish.add(btnStartPublish);
+		
+		btnStopPublish = new JButton(getTextLabel(textLabels, 25)); //#id 1467
+		btnStopPublish.setToolTipText(getTextLabel(textLabels, 25)); //#id 1467
+		btnStopPublish.setIcon(stopIcon);
+		btnStopPublish.setBounds(257, 86, 200, 32);
+		btnStopPublish.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent arg0) {
+				core.captureScreenStop(false, false, true);
+			}
+		});
+		panelPublish.add(btnStopPublish);
+		
+		panelScreen.setBackground(Color.WHITE);
+		
+		panelStatus.setBackground(SystemColor.control);
+		panelStatus.setLayout(null);
+		lblStatus.setHorizontalAlignment(SwingConstants.LEFT);
+		lblStatus.setBounds(0, 0, 494, 20);
+		lblStatus.setBorder(BorderFactory.createCompoundBorder(
+				BorderFactory.createLineBorder(Color.LIGHT_GRAY),
+				BorderFactory.createEmptyBorder(0, 5, 0, 0)));
+		panelStatus.add(lblStatus);
+		
+		setPublishingTabEnabled(false);
+		contentPane.setLayout(gl_contentPane);
+		
+		// Background Image
+		//We have no logo, that is why we need no background, sebawagner 29.04.2012
+	}
+
+	public void setSharingStatus(boolean status) {
+		panelScreen.setEnabled(!status);
+		sharingStarted = status;
+		btnStartPauseSharing.setIcon(status ? pauseIcon : startIcon);
+		btnStartPauseSharing.setText(status ? pauseLabel : startLabel);
+		btnStartPauseSharing.setToolTipText(status ? pauseLabel : startLabel);
+		setPublishingTabEnabled(status);
+	}
+	
+	public void setRecordingStatus(boolean status) {
+		panelScreen.setEnabled(!status);
+		btnStartRecording.setEnabled(!status);
+		btnStopRecording.setEnabled(status);
+	}
+	
+	public void setPublishingStatus(boolean status) {
+		panelScreen.setEnabled(!status);
+		btnStartPublish.setEnabled(!status);
+		btnStopPublish.setEnabled(status);
+	}
+	
+	public void setRecordingTabEnabled(boolean enabled) {
+		panelRecording.setEnabled(enabled);
+		btnStopRecording.setEnabled(false);
+		tabbedPane.setEnabledAt(0, enabled);
+		tabbedPane.setToolTipTextAt(0, enabled ? null : recordingTipLabel);
+	}
+	
+	public void setPublishingTabEnabled(boolean enabled) {
+		panelPublish.setEnabled(enabled);
+		btnStopPublish.setEnabled(false);
+		tabbedPane.setEnabledAt(1, enabled);
+		tabbedPane.setToolTipTextAt(1, enabled ? null : publishingTipLabel);
+	}
+	
+	public String getPublishHost() {
+		return textPublishHost.getText();
+	}
+	
+	public String getPublishApp() {
+		return textPublishApp.getText();
+	}
+	
+	public String getPublishId() {
+		return textPublishId.getText();
+	}
+	
+	private void updatePublishURL() {
+		lblPublishURL.setText("rtmp://" + textPublishHost.getText() + ":1935/"
+				+ textPublishApp.getText() + "/" + textPublishId.getText());
+	}
+	
+	public void setShowWarning(boolean showWarning) {
+		this.showWarning = showWarning;
+	}
+	
+	public void setDoUpdateBounds(boolean doUpdateBounds) {
+		this.doUpdateBounds = doUpdateBounds;
+	}
+	
+	public void setStatus(String status) {
+		lblStatus.setText(status);
+	}
+
+	public void setSpinnerX(int val) {
+		spinnerX.setValue(val);
+	}
+
+	public void setSpinnerY(int val) {
+		spinnerY.setValue(val);
+	}
+
+	public void setSpinnerWidth(int val) {
+		spinnerWidth.setValue(val);
+	}
+
+	public void setSpinnerHeight(int val) {
+		spinnerHeight.setValue(val);
+	}
+
+	void calcNewValueXSpin() {
+		if (doUpdateBounds) {
+			int newX = spinnerX.getValue();
+			if (ScreenDimensions.spinnerWidth + newX > ScreenDimensions.widthMax) {
+				newX = ScreenDimensions.widthMax - ScreenDimensions.spinnerWidth;
+				spinnerX.setValue(newX);
+				if (showWarning) {
+					setStatus(reduceWidthLabel);
+				}
+			} else {
+				ScreenDimensions.spinnerX = newX;
+				updateVScreenBounds();
+			}
+		} else {
+			ScreenDimensions.spinnerX = spinnerX.getValue();
+		}
+
+		calcRescaleFactors();
+	}
+
+	void calcNewValueYSpin() {
+		if (doUpdateBounds) {
+			int newY = spinnerY.getValue();
+			if (ScreenDimensions.spinnerHeight + newY > ScreenDimensions.heightMax) {
+				newY = ScreenDimensions.heightMax - ScreenDimensions.spinnerHeight;
+				spinnerY.setValue(newY);
+				if (showWarning) {
+					setStatus(reduceHeightLabel);
+				}
+			} else {
+				ScreenDimensions.spinnerY = newY;
+				updateVScreenBounds();
+			}
+		} else {
+			ScreenDimensions.spinnerY = spinnerY.getValue();
+		}
+
+		calcRescaleFactors();
+	}
+
+	void calcNewValueWidthSpin() {
+		if (doUpdateBounds) {
+			int newWidth = spinnerWidth.getValue();
+			if (ScreenDimensions.spinnerX + newWidth > ScreenDimensions.widthMax) {
+				newWidth = ScreenDimensions.widthMax - ScreenDimensions.spinnerX;
+				spinnerWidth.setValue(newWidth);
+				if (showWarning) {
+					setStatus(reduceXLabel);
+				}
+			} else {
+				ScreenDimensions.spinnerWidth = newWidth;
+				updateVScreenBounds();
+			}
+		} else {
+			ScreenDimensions.spinnerWidth = spinnerWidth.getValue();
+		}
+
+		calcRescaleFactors();
+	}
+
+	void calcNewValueHeightSpin() {
+		if (doUpdateBounds) {
+			int newHeight = spinnerHeight.getValue();
+			if (ScreenDimensions.spinnerY + newHeight > ScreenDimensions.heightMax) {
+				newHeight = ScreenDimensions.heightMax - ScreenDimensions.spinnerY;
+				spinnerHeight.setValue(newHeight);
+				if (showWarning) {
+					setStatus(reduceYLabel);
+				}
+			} else {
+				ScreenDimensions.spinnerHeight = newHeight;
+				updateVScreenBounds();
+			}
+		} else {
+			ScreenDimensions.spinnerHeight = spinnerHeight.getValue();
+		}
+
+		calcRescaleFactors();
+	}
+
+	/**
+	 * Needs to be always invoked after every re-scaling
+	 */
+	void calcRescaleFactors() {
+		logger.debug("calcRescaleFactors -- ");
+		ScreenDimensions.resizeX = spinnerWidth.getValue();
+		ScreenDimensions.resizeY = spinnerHeight.getValue();
+		switch (ScreenDimensions.quality) {
+			case Medium:
+				ScreenDimensions.resizeX = (int)(1.0/2 * ScreenDimensions.resizeX);
+				ScreenDimensions.resizeY = (int)(1.0/2 * ScreenDimensions.resizeY);
+				break;
+			case Low:
+				ScreenDimensions.resizeX = (int)(3.0/8 * ScreenDimensions.resizeX);
+				ScreenDimensions.resizeY = (int)(3.0/8 * ScreenDimensions.resizeY);
+				break;
+			case VeryHigh:
+			case High:
+			default:
+				break;
+		}
+		logger.debug("resize: X:" + ScreenDimensions.resizeX + " Y: " + ScreenDimensions.resizeY);
+		updateVScreenBounds();
+	}
+
+	private void setVScreenBounds(int x, int y, int width, int height) {
+		leftSlider.setBounds(x + vScreenX - 16, y + vScreenY - 8 + (height / 2), 32, 16);
+		rightSlider.setBounds(x + vScreenX + width - 16, y + vScreenY - 8 + (height / 2), 32, 16);
+		upSlider.setBounds(x + vScreenX + (width / 2) - 8, y + vScreenY - 16, 16, 32);
+		downSlider.setBounds(x + vScreenX + (width / 2) - 8, y + vScreenY - 16 + height, 16, 32);
+		
+		virtualScreen.setText(ScreenDimensions.spinnerWidth + ":" + ScreenDimensions.spinnerHeight);
+		virtualScreen.setBounds(x + vScreenX, y + vScreenY, width, height);
+	}
+	
+	/**
+	 * update the bounds of the vScreen
+	 * by using the vars from the Spinners
+	 *
+	 */
+	void updateVScreenBounds() {
+		double ratio = ((double)ScreenDimensions.width) / ScreenDimensions.widthMax;
+		int newWidth = (int)(ScreenDimensions.spinnerWidth * ratio);
+		int newX = (int)(ScreenDimensions.spinnerX * ratio);
+
+		int newHeight = (int)(ScreenDimensions.spinnerHeight * ratio);
+		int newY = (int)(ScreenDimensions.spinnerY * ratio);
+
+		setVScreenBounds(newX, newY, newWidth, newHeight);
+	}
+}
diff --git a/src/org/openmeetings/screen/webstart/gui/ScreenWidthMouseListener.java b/src/org/openmeetings/screen/webstart/gui/ScreenWidthMouseListener.java
new file mode 100644
index 0000000..c87bc85
--- /dev/null
+++ b/src/org/openmeetings/screen/webstart/gui/ScreenWidthMouseListener.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.screen.webstart.gui;
+
+import java.awt.Component;
+import java.awt.Cursor;
+import java.awt.event.MouseEvent;
+
+import javax.swing.event.MouseInputAdapter;
+
+public class ScreenWidthMouseListener extends MouseInputAdapter {
+	private ScreenSharerFrame frame;
+	private double x = 0;
+
+	public ScreenWidthMouseListener(ScreenSharerFrame frame) {
+		this.frame = frame;
+	}
+
+	public void mouseEntered(MouseEvent e) {
+		frame.setCursor(Cursor.getPredefinedCursor(Cursor.W_RESIZE_CURSOR));
+	}
+
+	public void mouseExited(MouseEvent e) {
+		frame.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+	}
+
+	public void mousePressed(MouseEvent e) {
+		frame.setShowWarning(false);
+		this.x = e.getX();
+	}
+
+	public void mouseReleased(MouseEvent e) {
+		frame.setShowWarning(true);
+	}
+
+	public void mouseDragged(MouseEvent e) {
+		if (!((Component)e.getSource()).isEnabled()) {
+			return;
+		}
+		double newX = e.getX();
+
+		int newWidth = ScreenDimensions.spinnerWidth - (int)(x - newX);
+		int newSpinnerX = ScreenDimensions.spinnerX + newWidth;
+
+		if (0 <= newSpinnerX && newSpinnerX <= ScreenDimensions.widthMax) {
+			frame.setDoUpdateBounds(false);
+			frame.setSpinnerWidth(newWidth);
+			frame.setDoUpdateBounds(true);
+			frame.updateVScreenBounds();
+			frame.calcRescaleFactors();
+		}
+	}
+}
diff --git a/src/org/openmeetings/screen/webstart/gui/ScreenXMouseListener.java b/src/org/openmeetings/screen/webstart/gui/ScreenXMouseListener.java
new file mode 100644
index 0000000..bbc56e5
--- /dev/null
+++ b/src/org/openmeetings/screen/webstart/gui/ScreenXMouseListener.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.screen.webstart.gui;
+
+import java.awt.Component;
+import java.awt.Cursor;
+import java.awt.event.MouseEvent;
+
+import javax.swing.event.MouseInputAdapter;
+
+public class ScreenXMouseListener extends MouseInputAdapter {
+	private ScreenSharerFrame frame;
+	private double x = 0;
+
+	public ScreenXMouseListener(ScreenSharerFrame frame) {
+		this.frame = frame;
+	}
+
+	public void mouseEntered(MouseEvent e) {
+		frame.setCursor(Cursor.getPredefinedCursor(Cursor.W_RESIZE_CURSOR));
+	}
+
+	public void mouseExited(MouseEvent e) {
+		frame.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+	}
+
+	public void mousePressed(MouseEvent e) {
+		frame.setShowWarning(false);
+		this.x = e.getX();
+	}
+
+	public void mouseReleased(MouseEvent e) {
+		frame.setShowWarning(true);
+	}
+
+	public void mouseDragged(MouseEvent e) {
+		if (!((Component)e.getSource()).isEnabled()) {
+			return;
+		}
+		double newX = e.getX();
+		int delta = (int) (x - newX);
+		int newXPosition = ScreenDimensions.spinnerX - delta;
+		int newWidth = ScreenDimensions.spinnerWidth + delta;
+
+		if (newXPosition >= 0 && newWidth >= 0) {
+			frame.setDoUpdateBounds(false);
+			frame.setSpinnerX(newXPosition);
+			frame.setSpinnerWidth(newWidth);
+			frame.setDoUpdateBounds(true);
+			frame.updateVScreenBounds();
+			frame.calcRescaleFactors();
+		}
+	}
+}
diff --git a/src/org/openmeetings/screen/webstart/gui/ScreenYMouseListener.java b/src/org/openmeetings/screen/webstart/gui/ScreenYMouseListener.java
new file mode 100644
index 0000000..df7ccaf
--- /dev/null
+++ b/src/org/openmeetings/screen/webstart/gui/ScreenYMouseListener.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.screen.webstart.gui;
+
+import java.awt.Component;
+import java.awt.Cursor;
+import java.awt.event.MouseEvent;
+
+import javax.swing.event.MouseInputAdapter;
+
+public class ScreenYMouseListener extends MouseInputAdapter {
+	private ScreenSharerFrame frame;
+	private double y = 0;
+
+	public ScreenYMouseListener(ScreenSharerFrame frame) {
+		this.frame = frame;
+	}
+
+	public void mouseEntered(MouseEvent e) {
+		frame.setCursor(Cursor.getPredefinedCursor(Cursor.N_RESIZE_CURSOR));
+	}
+
+	public void mouseExited(MouseEvent e) {
+		frame.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+	}
+
+	public void mousePressed(MouseEvent e) {
+		frame.setShowWarning(false);
+		this.y = e.getY();
+	}
+
+	public void mouseReleased(MouseEvent e) {
+		frame.setShowWarning(true);
+	}
+
+	public void mouseDragged(MouseEvent e) {
+		if (!((Component)e.getSource()).isEnabled()) {
+			return;
+		}
+		double newY = e.getY();
+
+		int delta = (int) (y - newY);
+		int newYPosition = ScreenDimensions.spinnerY - delta;
+		int newHeight = ScreenDimensions.spinnerHeight + delta;
+
+		if (newYPosition >= 0 && newHeight >= 0) {
+			frame.setDoUpdateBounds(false);
+			frame.setSpinnerY(newYPosition);
+			frame.setSpinnerHeight(newHeight);
+			frame.setDoUpdateBounds(true);
+			frame.updateVScreenBounds();
+			frame.calcRescaleFactors();
+		}
+	}
+}
diff --git a/src/org/openmeetings/servlet/outputhandler/AbstractUploadController.java b/src/org/openmeetings/servlet/outputhandler/AbstractUploadController.java
new file mode 100644
index 0000000..3ff6d41
--- /dev/null
+++ b/src/org/openmeetings/servlet/outputhandler/AbstractUploadController.java
@@ -0,0 +1,112 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.servlet.outputhandler;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.utils.ImportHelper;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.context.ServletContextAware;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+
+public abstract class AbstractUploadController implements ServletContextAware {
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			AbstractUploadController.class, OpenmeetingsVariables.webAppRootKey);
+	protected ServletContext context;
+	@Autowired
+	protected Sessionmanagement sessionManagement;
+	@Autowired
+	protected Usermanagement userManagement;
+	@Autowired
+	protected AuthLevelmanagement authLevelManagement;
+	@Autowired
+	protected Configurationmanagement cfgManagement;
+	
+	public void setServletContext(ServletContext arg0) {
+		context = arg0;
+	}
+	
+	protected class UploadInfo {
+		MultipartFile file;
+		Long userId;
+		String sid;
+		String publicSID;
+		String filename;
+	}
+	
+    protected UploadInfo validate(HttpServletRequest request, boolean admin) throws ServletException {
+    	UploadInfo info = new UploadInfo();
+		log.debug("Starting validate");
+		try {
+			String sid = request.getParameter("sid");
+			if (sid == null) {
+				throw new ServletException("SID Missing");
+			}
+			info.sid = sid;
+			log.debug("sid: " + sid);
+
+			Long userId = sessionManagement.checkSession(sid);
+			Long userLevel = userManagement.getUserLevelByID(userId);
+			log.debug("userId = " + userId + ", userLevel = " + userLevel);
+			info.userId = userId;
+
+			if ((admin && !authLevelManagement.checkAdminLevel(userLevel))
+					|| (!admin && userLevel <= 0)) {
+				throw new ServletException("Insufficient permissions "
+						+ userLevel);
+			}
+
+			String publicSID = request.getParameter("publicSID");
+			if (publicSID == null) {
+				// Always ask for Public SID
+				throw new ServletException("Missing publicSID");
+			}
+			log.debug("publicSID: " + publicSID);
+			info.publicSID= publicSID;
+
+			MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest)request;
+			MultipartFile multipartFile = multipartRequest.getFile("Filedata");
+			//FIXME encoding HACK
+			info.filename = new String (multipartFile.getOriginalFilename().getBytes ("iso-8859-1"), "UTF-8");
+			long fileSize = multipartFile.getSize();
+			long maxSize = ImportHelper.getMaxUploadSize(cfgManagement);
+			log.debug("uploading " + fileSize + " bytes");
+			if (fileSize > maxSize) {
+				throw new ServletException("Maximum upload size: " + maxSize + " exceeded: " + fileSize);
+			}
+			info.file = multipartFile;
+		} catch (ServletException e) {
+			throw e;
+		} catch (Exception e) {
+			log.error("Exception during upload: ", e);
+			throw new ServletException(e);
+		}
+		return info;
+    }
+}
diff --git a/src/org/openmeetings/servlet/outputhandler/ActivateUser.java b/src/org/openmeetings/servlet/outputhandler/ActivateUser.java
new file mode 100644
index 0000000..55ebedc
--- /dev/null
+++ b/src/org/openmeetings/servlet/outputhandler/ActivateUser.java
@@ -0,0 +1,208 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.servlet.outputhandler;
+
+import java.util.Date;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.velocity.Template;
+import org.apache.velocity.context.Context;
+import org.apache.velocity.tools.view.VelocityViewServlet;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.Fieldmanagment;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.context.ApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+public class ActivateUser extends VelocityViewServlet {
+	private static final long serialVersionUID = -8892729047921796170L;
+	private static Logger log = Red5LoggerFactory.getLogger(ActivateUser.class,
+			OpenmeetingsVariables.webAppRootKey);
+
+	private Configurationmanagement getConfigurationmanagement() {
+		try {
+			if (!ScopeApplicationAdapter.initComplete) {
+				return null;
+			}
+			ApplicationContext context = WebApplicationContextUtils
+					.getWebApplicationContext(getServletContext());
+			return (Configurationmanagement) context.getBean("cfgManagement");
+		} catch (Exception err) {
+			log.error("[getConfigurationmanagement]", err);
+		}
+		return null;
+	}
+
+	private Usermanagement getUsermanagement() {
+		try {
+			if (!ScopeApplicationAdapter.initComplete) {
+				return null;
+			}
+			ApplicationContext context = WebApplicationContextUtils
+					.getWebApplicationContext(getServletContext());
+			return (Usermanagement) context.getBean("userManagement");
+		} catch (Exception err) {
+			log.error("[getUsermanagement]", err);
+		}
+		return null;
+	}
+
+	private Fieldmanagment getFieldmanagment() {
+		try {
+			if (!ScopeApplicationAdapter.initComplete) {
+				return null;
+			}
+			ApplicationContext context = WebApplicationContextUtils
+					.getWebApplicationContext(getServletContext());
+			return (Fieldmanagment) context.getBean("fieldmanagment");
+		} catch (Exception err) {
+			log.error("[getgetFieldmanagment()]", err);
+		}
+		return null;
+	}
+
+	@Override
+	public Template handleRequest(HttpServletRequest httpServletRequest,
+			HttpServletResponse httpServletResponse, Context ctx) {
+
+		try {
+
+			if (getConfigurationmanagement() == null
+					|| getUsermanagement() == null
+					|| getFieldmanagment() == null) {
+				return getVelocityView().getVelocityEngine().getTemplate(
+						"booting.vm");
+			}
+
+			String hash = httpServletRequest.getParameter("u");
+			String loginURL = OpenmeetingsVariables.webAppRootPath;
+
+			ctx.put("APP_NAME", getConfigurationmanagement().getAppName());
+			if (hash == null) {
+				// No hash
+				Long default_lang_id = Long.valueOf(
+						getConfigurationmanagement().getConfKey(3,
+								"default_lang_id").getConf_value()).longValue();
+				Fieldlanguagesvalues labelid669 = getFieldmanagment()
+						.getFieldByIdAndLanguage(new Long(669), default_lang_id);
+				Fieldlanguagesvalues labelid672 = getFieldmanagment()
+						.getFieldByIdAndLanguage(new Long(672), default_lang_id);
+
+				ctx.put("message", labelid669.getValue());
+				ctx.put("link",
+						"<a href='" + loginURL + "'>" + labelid672.getValue()
+								+ "</a>");
+				return getVelocityView().getVelocityEngine().getTemplate(
+						"activation_template.vm");
+			}
+			//
+			Users user = getUsermanagement().getUserByActivationHash(hash);
+
+			if (user == null) {
+				// No User Found with this Hash
+				Long default_lang_id = Long.valueOf(
+						getConfigurationmanagement().getConfKey(3,
+								"default_lang_id").getConf_value()).longValue();
+
+				Fieldlanguagesvalues labelid669 = getFieldmanagment()
+						.getFieldByIdAndLanguage(new Long(669), default_lang_id);
+				Fieldlanguagesvalues labelid672 = getFieldmanagment()
+						.getFieldByIdAndLanguage(new Long(672), default_lang_id);
+
+				ctx.put("message", labelid669.getValue());
+				ctx.put("link",
+						"<a href='" + loginURL + "'>" + labelid672.getValue()
+								+ "</a>");
+				return getVelocityView().getVelocityEngine().getTemplate(
+						"activation_template.vm");
+
+			} else if (user.getStatus() == 1) {
+				// already activated
+				Long default_lang_id = Long.valueOf(
+						getConfigurationmanagement().getConfKey(3,
+								"default_lang_id").getConf_value()).longValue();
+
+				Fieldlanguagesvalues labelid670 = getFieldmanagment()
+						.getFieldByIdAndLanguage(new Long(670), default_lang_id);
+				Fieldlanguagesvalues labelid672 = getFieldmanagment()
+						.getFieldByIdAndLanguage(new Long(672), default_lang_id);
+
+				ctx.put("message", labelid670.getValue());
+				ctx.put("link",
+						"<a href='" + loginURL + "'>" + labelid672.getValue()
+								+ "</a>");
+				return getVelocityView().getVelocityEngine().getTemplate(
+						"activation_template.vm");
+
+			} else if (user.getStatus() == 0) {
+				// activate
+				user.setStatus(1);
+				user.setUpdatetime(new Date());
+
+				getUsermanagement().updateUser(user);
+
+				Long default_lang_id = Long.valueOf(
+						getConfigurationmanagement().getConfKey(3,
+								"default_lang_id").getConf_value()).longValue();
+
+				Fieldlanguagesvalues labelid671 = getFieldmanagment()
+						.getFieldByIdAndLanguage(new Long(671), default_lang_id);
+				Fieldlanguagesvalues labelid672 = getFieldmanagment()
+						.getFieldByIdAndLanguage(new Long(672), default_lang_id);
+
+				ctx.put("message", labelid671.getValue());
+				ctx.put("link",
+						"<a href='" + loginURL + "'>" + labelid672.getValue()
+								+ "</a>");
+				return getVelocityView().getVelocityEngine().getTemplate(
+						"activation_template.vm");
+
+			} else {
+				// unkown Status
+				Long default_lang_id = Long.valueOf(
+						getConfigurationmanagement().getConfKey(3,
+								"default_lang_id").getConf_value()).longValue();
+
+				Fieldlanguagesvalues labelid672 = getFieldmanagment()
+						.getFieldByIdAndLanguage(new Long(672), default_lang_id);
+
+				ctx.put("message", "Unkown Status");
+				ctx.put("link",
+						"<a href='" + loginURL + "'>" + labelid672.getValue()
+								+ "</a>");
+				return getVelocityView().getVelocityEngine().getTemplate(
+						"activation_template.vm");
+
+			}
+
+		} catch (Exception err) {
+			log.error("[ActivateUser]", err);
+			err.printStackTrace();
+		}
+		return null;
+	}
+}
diff --git a/src/org/openmeetings/servlet/outputhandler/BackupExport.java b/src/org/openmeetings/servlet/outputhandler/BackupExport.java
new file mode 100644
index 0000000..90dd5f5
--- /dev/null
+++ b/src/org/openmeetings/servlet/outputhandler/BackupExport.java
@@ -0,0 +1,1849 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.servlet.outputhandler;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.RandomAccessFile;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLWriter;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.basic.dao.LdapConfigDaoImpl;
+import org.openmeetings.app.data.calendar.daos.AppointmentDaoImpl;
+import org.openmeetings.app.data.calendar.daos.MeetingMemberDaoImpl;
+import org.openmeetings.app.data.conference.PollManagement;
+import org.openmeetings.app.data.conference.Roommanagement;
+import org.openmeetings.app.data.conference.dao.RoomModeratorsDaoImpl;
+import org.openmeetings.app.data.file.dao.FileExplorerItemDaoImpl;
+import org.openmeetings.app.data.flvrecord.FlvRecordingDaoImpl;
+import org.openmeetings.app.data.flvrecord.FlvRecordingMetaDataDaoImpl;
+import org.openmeetings.app.data.user.Organisationmanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.data.user.dao.PrivateMessageFolderDaoImpl;
+import org.openmeetings.app.data.user.dao.PrivateMessagesDaoImpl;
+import org.openmeetings.app.data.user.dao.UserContactsDaoImpl;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.basic.Configuration;
+import org.openmeetings.app.persistence.beans.basic.LdapConfig;
+import org.openmeetings.app.persistence.beans.calendar.Appointment;
+import org.openmeetings.app.persistence.beans.calendar.MeetingMember;
+import org.openmeetings.app.persistence.beans.domain.Organisation;
+import org.openmeetings.app.persistence.beans.domain.Organisation_Users;
+import org.openmeetings.app.persistence.beans.files.FileExplorerItem;
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecording;
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaData;
+import org.openmeetings.app.persistence.beans.poll.RoomPoll;
+import org.openmeetings.app.persistence.beans.poll.RoomPollAnswers;
+import org.openmeetings.app.persistence.beans.rooms.RoomModerators;
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.openmeetings.app.persistence.beans.rooms.Rooms_Organisation;
+import org.openmeetings.app.persistence.beans.sip.asterisk.AsteriskSipUsers;
+import org.openmeetings.app.persistence.beans.sip.asterisk.Extensions;
+import org.openmeetings.app.persistence.beans.sip.asterisk.MeetMe;
+import org.openmeetings.app.persistence.beans.user.PrivateMessageFolder;
+import org.openmeetings.app.persistence.beans.user.PrivateMessages;
+import org.openmeetings.app.persistence.beans.user.UserContacts;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.app.sip.api.impl.asterisk.dao.AsteriskDAOImpl;
+import org.openmeetings.utils.math.CalendarPatterns;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 
+ * @author sebastianwagner
+ * 
+ */
+public class BackupExport {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			BackupExport.class, OpenmeetingsVariables.webAppRootKey);
+	private static final String BACKUP_COMMENT = 
+			"###############################################\n"
+			+ "This File is auto-generated by the Backup Tool \n"
+			+ "you should use the BackupPanel to modify or change this file \n"
+			+ "see http://incubator.apache.org/openmeetings/Upgrade.html for Details \n"
+			+ "###############################################";
+
+	@Autowired
+	private AppointmentDaoImpl appointmentDao;
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private Organisationmanagement organisationmanagement;
+	@Autowired
+	private Roommanagement roommanagement;
+	@Autowired
+	private FileExplorerItemDaoImpl fileExplorerItemDao;
+	@Autowired
+	private FlvRecordingDaoImpl flvRecordingDao;
+	@Autowired
+	private FlvRecordingMetaDataDaoImpl flvRecordingMetaDataDao;
+	@Autowired
+	private RoomModeratorsDaoImpl roomModeratorsDao;
+	@Autowired
+	private UsersDaoImpl usersDao;
+	@Autowired
+	private MeetingMemberDaoImpl meetingMemberDao;
+	@Autowired
+	private LdapConfigDaoImpl ldapConfigDao;
+	@Autowired
+	private PrivateMessagesDaoImpl privateMessagesDao;
+	@Autowired
+	private PrivateMessageFolderDaoImpl privateMessageFolderDao;
+	@Autowired
+	private UserContactsDaoImpl userContactsDao;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+	@Autowired
+	private PollManagement pollManagement;
+	@Autowired
+	private Configurationmanagement cfgManagement;
+	@Autowired
+	private AsteriskDAOImpl asteriskDAOImpl;
+
+	public void performExport(String filePath, File backup_dir,
+			boolean includeFiles, String omFilesDir) throws Exception {
+
+		if (!backup_dir.exists()) {
+			backup_dir.mkdirs();
+		}
+		
+		/*
+		 * ##################### Backup Organizations
+		 */
+		List<Organisation> orgList = organisationmanagement
+				.getOrganisations(3L);
+
+		if (orgList != null) {
+			Document doc = this.createOrgDocument(orgList);
+
+			File orgListXML = new File(backup_dir, "organizations.xml");
+
+			FileOutputStream fos = new FileOutputStream(orgListXML);
+
+			this.serializetoXML(fos, "UTF-8", doc);
+		}
+
+		/*
+		 * ##################### Backup Users
+		 */
+
+		List<Users> uList = usersDao.getAllUsersDeleted();
+
+		if (uList != null) {
+			log.debug("Number of Users to be deleted " + uList.size());
+
+			Document doc = this.createDocument(uList);
+
+			File userListXML = new File(backup_dir, "users.xml");
+
+			FileOutputStream fos = new FileOutputStream(userListXML);
+
+			this.serializetoXML(fos, "UTF-8", doc);
+		}
+
+		/*
+		 * ##################### Backup Room
+		 */
+		List<Rooms> roomList = roommanagement.getBackupRooms();
+
+		if (roomList != null) {
+			Document doc = this.createRoomsDocument(roomList);
+
+			File roomListXML = new File(backup_dir, "rooms.xml");
+
+			FileOutputStream fos = new FileOutputStream(roomListXML);
+
+			this.serializetoXML(fos, "UTF-8", doc);
+		}
+
+		/*
+		 * ##################### Backup Room Organizations
+		 */
+		List<Rooms_Organisation> roomOrgList = roommanagement
+				.getRoomsOrganisations();
+
+		if (roomOrgList != null) {
+			Document doc = this.createOrgRoomsDocument(roomOrgList);
+
+			File roomListXML = new File(backup_dir, "rooms_organisation.xml");
+
+			FileOutputStream fos = new FileOutputStream(roomListXML);
+
+			this.serializetoXML(fos, "UTF-8", doc);
+		}
+
+		/*
+		 * ##################### Backup Appointements
+		 */
+		List<Appointment> aList = appointmentDao.getAppointments();
+
+		if (aList != null) {
+			Document doc = this.createAppointementDocument(aList);
+
+			File aListXML = new File(backup_dir, "appointements.xml");
+
+			FileOutputStream fos = new FileOutputStream(aListXML);
+
+			this.serializetoXML(fos, "UTF-8", doc);
+
+		}
+
+		/*
+		 * ##################### Backup Meeting Members
+		 */
+		List<MeetingMember> membersList = meetingMemberDao.getMeetingMembers();
+
+		if (membersList != null) {
+			Document doc = this.createMeetingMemberDocument(membersList);
+
+			File aListXML = new File(backup_dir, "meetingmembers.xml");
+
+			FileOutputStream fos = new FileOutputStream(aListXML);
+
+			this.serializetoXML(fos, "UTF-8", doc);
+
+		}
+
+		/*
+		 * ##################### LDAP Configs
+		 */
+		List<LdapConfig> ldapConfigList = ldapConfigDao.getLdapConfigs();
+
+		if (ldapConfigList != null) {
+			Document doc = this.createLdapConfigDocument(ldapConfigList);
+
+			File aListXML = new File(backup_dir, "ldapconfigs.xml");
+
+			FileOutputStream fos = new FileOutputStream(aListXML);
+
+			this.serializetoXML(fos, "UTF-8", doc);
+		}
+
+		/*
+		 * ##################### Private Messages
+		 */
+		List<PrivateMessages> privateMessages = privateMessagesDao
+				.getPrivateMessages();
+
+		if (privateMessages != null) {
+			Document doc = this.createPrivateMessagesDocument(privateMessages);
+
+			File aListXML = new File(backup_dir, "privateMessages.xml");
+
+			FileOutputStream fos = new FileOutputStream(aListXML);
+
+			this.serializetoXML(fos, "UTF-8", doc);
+		}
+
+		/*
+		 * ##################### Private Message Folders
+		 */
+		List<PrivateMessageFolder> privateMessageFolders = privateMessageFolderDao
+				.getPrivateMessageFolders();
+
+		if (privateMessageFolders != null) {
+			Document doc = this
+					.createPrivateMessageFolderDocument(privateMessageFolders);
+
+			File aListXML = new File(backup_dir, "privateMessageFolder.xml");
+
+			FileOutputStream fos = new FileOutputStream(aListXML);
+
+			this.serializetoXML(fos, "UTF-8", doc);
+		}
+
+		/*
+		 * ##################### User Contacts
+		 */
+		List<UserContacts> userContacts = userContactsDao.getUserContacts();
+
+		if (privateMessageFolders != null) {
+			Document doc = this.createUserContactsDocument(userContacts);
+
+			File aListXML = new File(backup_dir, "userContacts.xml");
+
+			FileOutputStream fos = new FileOutputStream(aListXML);
+
+			this.serializetoXML(fos, "UTF-8", doc);
+		}
+
+		/*
+		 * ##################### File-Explorer
+		 */
+		List<FileExplorerItem> fileExplorerList = fileExplorerItemDao
+				.getFileExplorerItems();
+
+		if (fileExplorerList != null) {
+			Document doc = this
+					.createFileExplorerItemDocument(fileExplorerList);
+
+			File aListXML = new File(backup_dir, "fileExplorerItems.xml");
+
+			FileOutputStream fos = new FileOutputStream(aListXML);
+
+			this.serializetoXML(fos, "UTF-8", doc);
+		}
+
+		/*
+		 * ##################### Recordings
+		 */
+		List<FlvRecording> flvRecordings = flvRecordingDao
+				.getAllFlvRecordings();
+
+		for (FlvRecording flvRecording : flvRecordings) {
+			flvRecording.setFlvRecordingMetaData(flvRecordingMetaDataDao
+					.getFlvRecordingMetaDataByRecording(flvRecording
+							.getFlvRecordingId()));
+		}
+
+		if (privateMessageFolders != null) {
+			Document doc = this.createFlvRecordingDocument(flvRecordings);
+
+			File aListXML = new File(backup_dir, "flvRecordings.xml");
+
+			FileOutputStream fos = new FileOutputStream(aListXML);
+
+			this.serializetoXML(fos, "UTF-8", doc);
+		}
+
+		/*
+		 * ##################### Polls
+		 */
+		List<RoomPoll> roomPolls = pollManagement.getPollListBackup();
+
+		if (roomPolls != null) {
+			Document doc = this.createRoomPollDocument(roomPolls);
+
+			File aListXML = new File(backup_dir, "roompolls.xml");
+
+			FileOutputStream fos = new FileOutputStream(aListXML);
+
+			this.serializetoXML(fos, "UTF-8", doc);
+		}
+
+		/*
+		 * ##################### Config
+		 */
+		List<Configuration> configs = cfgManagement.getConfigurations(0, Integer.MAX_VALUE, "conf_key", true);
+		if (configs != null) {
+			Document doc = createConfigDocument(configs);
+			File aListXML = new File(backup_dir, "configs.xml");
+			FileOutputStream fos = new FileOutputStream(aListXML);
+			this.serializetoXML(fos, "UTF-8", doc);
+		}
+		
+		/*
+		 * ##################### Asterisk SIP Data
+		 */
+		List<AsteriskSipUsers> asteriskSipUsers = asteriskDAOImpl.getAsteriskSipUsers();
+		if (asteriskSipUsers != null) {
+			Document doc = createAsteriskSipUsersDocument(asteriskSipUsers);
+			File aListXML = new File(backup_dir, "asterisksipusers.xml");
+			FileOutputStream fos = new FileOutputStream(aListXML);
+			this.serializetoXML(fos, "UTF-8", doc);
+		}
+		
+		/*
+		 * ##################### Asterisk SIP Extensions
+		 */
+		List<Extensions> extensions = asteriskDAOImpl.getExtensions();
+		if (extensions != null) {
+			Document doc = createExtensionsDocument(extensions);
+			File aListXML = new File(backup_dir, "extensions.xml");
+			FileOutputStream fos = new FileOutputStream(aListXML);
+			this.serializetoXML(fos, "UTF-8", doc);
+		}
+		
+		/*
+		 * ##################### Asterisk SIP Meetme
+		 */
+		List<MeetMe> members = asteriskDAOImpl.getMembers();
+		if (members != null) {
+			Document doc = createMembersDocument(members);
+			File aListXML = new File(backup_dir, "members.xml");
+			FileOutputStream fos = new FileOutputStream(aListXML);
+			this.serializetoXML(fos, "UTF-8", doc);
+		}
+		
+
+		if (includeFiles) {
+			/*
+			 * ##################### Backup Room Files
+			 */
+			File targetDir = new File(backup_dir, "roomFiles");
+
+			if (!targetDir.exists()) {
+				targetDir.mkdir();
+			}
+
+			File sourceDir = new File(omFilesDir, OpenmeetingsVariables.UPLOAD_DIR);
+
+			File[] files = sourceDir.listFiles();
+			for (File file : files) {
+				if (file.isDirectory()) {
+					if (!file.getName().equals("backup")
+							&& !file.getName().equals("import")) {
+
+						targetDir = new File(backup_dir, "roomFiles" + File.separatorChar
+								+ file.getName());
+
+						log.debug("### " + file.getName());
+
+						copyDirectory(file, targetDir);
+					}
+				}
+			}
+
+			/*
+			 * ##################### Backup Recording Files
+			 */
+			File targetDirRec = new File(backup_dir, "recordingFiles");
+
+			if (!targetDirRec.exists()) {
+				targetDirRec.mkdir();
+			}
+
+			File sourceDirRec = new File(omFilesDir, OpenmeetingsVariables.STREAMS_DIR
+					+ File.separatorChar + "hibernate" + File.separatorChar);
+
+			copyDirectory(sourceDirRec, targetDirRec);
+		}
+
+		List<File> fileList = new ArrayList<File>();
+		log.debug("---Getting references to all files in: "
+				+ backup_dir.getCanonicalPath());
+		getAllFiles(backup_dir, fileList);
+		log.debug("---Creating zip file");
+		writeZipFile(backup_dir, fileList, new FileOutputStream(filePath));
+		log.debug("---Done");
+	}
+	
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest
+	 * , javax.servlet.http.HttpServletResponse)
+	 */
+	public void service(HttpServletRequest httpServletRequest,
+			HttpServletResponse httpServletResponse, ServletContext servletCtx)
+			throws ServletException, IOException {
+
+		String sid = httpServletRequest.getParameter("sid");
+		if (sid == null) {
+			sid = "default";
+		}
+		log.debug("sid: " + sid);
+
+		Long users_id = sessionManagement.checkSession(sid);
+		Long user_level = userManagement.getUserLevelByID(users_id);
+
+		log.debug("users_id: " + users_id);
+		log.debug("user_level: " + user_level);
+
+		if (authLevelManagement.checkAdminLevel(user_level)) {
+			// if (true) {
+
+			String includeFileOption = httpServletRequest
+					.getParameter("includeFileOption");
+			boolean includeFiles = includeFileOption == null || "yes".equals(includeFileOption);
+
+			String moduleName = httpServletRequest
+					.getParameter("moduleName");
+			if (moduleName == null) {
+				moduleName = "moduleName";
+			}
+			log.debug("moduleName: " + moduleName);
+
+			if (moduleName.equals("backup")) {
+
+				/*
+				 * ##################### Create Base Folder structure
+				 */
+
+				String current_dir = servletCtx.getRealPath("/");
+				File working_dir = new File(new File(current_dir, OpenmeetingsVariables.UPLOAD_DIR), "backup");
+
+				if (!working_dir.exists()) {
+					working_dir.mkdir();
+				}
+
+				String dateString = "backup_"
+						+ CalendarPatterns.getTimeForStreamId(new Date());
+
+				File backup_dir = new File(working_dir, dateString);
+				String requestedFile = dateString + ".zip";
+				File backupFile = new File(backup_dir, requestedFile);
+
+				String full_path = backupFile.getAbsolutePath();
+				try {
+					performExport(full_path, backup_dir, includeFiles, current_dir);
+
+					RandomAccessFile rf = new RandomAccessFile(full_path, "r");
+
+
+					httpServletResponse.reset();
+					httpServletResponse.resetBuffer();
+					httpServletResponse
+					.setContentType("APPLICATION/OCTET-STREAM");
+					httpServletResponse.setHeader("Content-Disposition",
+							"attachment; filename=\"" + requestedFile + "\"");
+					httpServletResponse.setHeader("Content-Length",
+							"" + rf.length());
+
+					OutputStream out = httpServletResponse.getOutputStream();
+
+					byte[] buffer = new byte[1024];
+					int readed = -1;
+
+					while ((readed = rf.read(buffer, 0, buffer.length)) > -1) {
+						out.write(buffer, 0, readed);
+					}
+
+					rf.close();
+
+					out.flush();
+					out.close();
+				} catch (Exception er) {
+					log.error("Error exporting: ", er);
+				}
+
+				if (backupFile.exists()) {
+					// log.debug("DELETE :1: "+backupFile.getAbsolutePath());
+					backupFile.delete();
+				}
+
+				deleteDirectory(backup_dir);
+
+			}
+		} else {
+			log.debug("ERROR LangExport: not authorized FileDownload "
+					+ (new Date()));
+		}
+	}
+
+	private Document createRoomPollDocument(List<RoomPoll> roomPollList) {
+
+		Document document = getDocument();
+
+		Element root = document.addElement("root");
+
+		Element roompolls = root.addElement("roompolls");
+
+		for (RoomPoll roomPollItem : roomPollList) {
+
+			Element roompoll = roompolls.addElement("roompoll");
+
+			roompoll.addElement("pollname").addCDATA(
+					formatString("" + roomPollItem.getPollName()));
+			roompoll.addElement("pollquestion").addCDATA(
+					formatString("" + roomPollItem.getPollQuestion()));
+			roompoll.addElement("archived").addCDATA(
+					formatString("" + roomPollItem.isArchived()));
+			roompoll.addElement("created").addCDATA(
+					formatString(""
+							+ CalendarPatterns.getExportDate(roomPollItem
+									.getCreated())));
+			if (roomPollItem.getCreatedBy() != null) {
+				roompoll.addElement("createdbyuserid").addCDATA(
+						formatString(""
+								+ roomPollItem.getCreatedBy().getUser_id()));
+			} else {
+				roompoll.addElement("createdbyuserid").addCDATA(
+						formatString(""));
+			}
+			if (roomPollItem.getPollType() != null) {
+				roompoll.addElement("polltypeid").addCDATA(
+						formatString(""
+								+ roomPollItem.getPollType().getPollTypesId()));
+			} else {
+				roompoll.addElement("polltypeid").addCDATA(formatString(""));
+			}
+			if (roomPollItem.getRoom() != null) {
+				roompoll.addElement("roomid")
+						.addCDATA(
+								formatString(""
+										+ roomPollItem.getRoom().getRooms_id()));
+			} else {
+				roompoll.addElement("roomid").addCDATA(formatString(""));
+			}
+
+			if (roomPollItem.getRoomPollAnswerList() == null) {
+				continue;
+			}
+
+			Element roompollanswers = roompoll
+					.addElement("roompollanswers");
+
+			for (RoomPollAnswers roomPollAnswersItem : roomPollItem
+					.getRoomPollAnswerList()) {
+				
+				Element roompollanswer = roompollanswers
+						.addElement("roompollanswer");
+
+				roompollanswer.addElement("pointlist").addCDATA(
+						formatString("" + roomPollAnswersItem.getPointList()));
+				roompollanswer.addElement("answer").addCDATA(
+						formatString("" + roomPollAnswersItem.getAnswer()));
+				roompollanswer.addElement("votedate").addCDATA(
+						formatString(""
+								+ CalendarPatterns
+										.getExportDate(roomPollAnswersItem
+												.getVoteDate())));
+				if (roomPollAnswersItem.getVotedUser() != null){
+					roompollanswer.addElement("voteduserid").addCDATA(
+							formatString("" + roomPollAnswersItem.getVotedUser().getUser_id()));
+				} else {
+					roompollanswer.addElement("voteduserid").addCDATA(
+							formatString(""));
+				}
+
+			}
+
+		}
+
+		return document;
+	}
+
+	public boolean deleteDirectory(File path) throws IOException {
+
+		// log.debug("deleteDirectory :: "+path);
+
+		if (path.exists()) {
+			File[] files = path.listFiles();
+			for (int i = 0; i < files.length; i++) {
+				if (files[i].isDirectory()) {
+					deleteDirectory(files[i]);
+				} else {
+					files[i].delete();
+				}
+			}
+		}
+
+		// log.debug("DELETE :3: "+path.getAbsolutePath());
+
+		return (path.delete());
+	}
+
+	public void getAllFiles(File dir, List<File> fileList) throws IOException {
+		try {
+			File[] files = dir.listFiles();
+			for (File file : files) {
+				fileList.add(file);
+				if (file.isDirectory()) {
+					// log.debug("directory:" + file.getCanonicalPath());
+					getAllFiles(file, fileList);
+				} else {
+					// log.debug("     file:" + file.getCanonicalPath());
+				}
+			}
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+	}
+
+	public void writeZipFile(File directoryToZip, List<File> fileList,
+			FileOutputStream fos) {
+
+		try {
+			ZipOutputStream zos = new ZipOutputStream(fos);
+
+			for (File file : fileList) {
+				if (!file.isDirectory()) { // we only zip files, not directories
+					addToZip(directoryToZip, file, zos);
+				}
+			}
+
+			zos.close();
+			fos.close();
+		} catch (FileNotFoundException e) {
+			e.printStackTrace();
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+	}
+
+	public void copyDirectory(File sourceLocation, File targetLocation)
+			throws IOException {
+
+		// log.debug("^^^^ "+sourceLocation.getName()+" || "+targetLocation.getName());
+
+		if (sourceLocation.isDirectory()) {
+			if (!targetLocation.exists()) {
+				targetLocation.mkdir();
+			}
+
+			String[] children = sourceLocation.list();
+			for (int i = 0; i < children.length; i++) {
+				copyDirectory(new File(sourceLocation, children[i]), new File(
+						targetLocation, children[i]));
+			}
+		} else {
+
+			InputStream in = new FileInputStream(sourceLocation);
+			OutputStream out = new FileOutputStream(targetLocation);
+
+			// Copy the bits from instream to outstream
+			byte[] buf = new byte[1024];
+			int len;
+			while ((len = in.read(buf)) > 0) {
+				out.write(buf, 0, len);
+			}
+			in.close();
+			out.close();
+		}
+	}
+
+	public void addToZip(File directoryToZip, File file, ZipOutputStream zos)
+			throws FileNotFoundException, IOException {
+
+		FileInputStream fis = new FileInputStream(file);
+
+		// we want the zipEntry's path to be a relative path that is relative
+		// to the directory being zipped, so chop off the rest of the path
+		String zipFilePath = file.getCanonicalPath().substring(
+				directoryToZip.getCanonicalPath().length() + 1,
+				file.getCanonicalPath().length());
+		log.debug("Writing '" + zipFilePath + "' to zip file");
+		ZipEntry zipEntry = new ZipEntry(zipFilePath);
+		zos.putNextEntry(zipEntry);
+
+		byte[] bytes = new byte[1024];
+		int length;
+		while ((length = fis.read(bytes)) >= 0) {
+			zos.write(bytes, 0, length);
+		}
+
+		zos.closeEntry();
+		fis.close();
+	}
+
+	public Document createAppointementDocument(List<Appointment> aList)
+			throws Exception {
+		Document document = getDocument();
+
+		Element root = document.addElement("root");
+
+		Element appointments = root.addElement("appointments");
+
+		for (Iterator<Appointment> it = aList.iterator(); it.hasNext();) {
+			Appointment a = it.next();
+
+			Element appointment = appointments.addElement("appointment");
+
+			appointment.addElement("appointmentId").addCDATA(
+					"" + a.getAppointmentId());
+			appointment.addElement("appointmentName").addCDATA(
+					"" + a.getAppointmentName());
+			appointment.addElement("appointmentLocation").addCDATA(
+					"" + a.getAppointmentLocation());
+			appointment.addElement("appointmentDescription").addCDATA(
+					"" + a.getAppointmentDescription());
+			appointment.addElement("appointmentStarttime")
+					.addCDATA(
+							CalendarPatterns.getExportDate(a
+									.getAppointmentStarttime()));
+			appointment.addElement("appointmentEndtime").addCDATA(
+					CalendarPatterns.getExportDate(a.getAppointmentEndtime()));
+			if (a.getAppointmentCategory() != null) {
+				appointment.addElement("categoryId").addCDATA(
+						"" + a.getAppointmentCategory().getCategoryId());
+			} else {
+				appointment.addElement("categoryId").addCDATA("" + 0);
+			}
+			if (a.getUserId() != null) {
+				appointment.addElement("users_id").addCDATA(
+						"" + a.getUserId().getUser_id());
+			} else {
+				appointment.addElement("users_id").addCDATA("" + 0);
+			}
+			appointment.addElement("deleted").addCDATA("" + a.getDeleted());
+			if (a.getRemind() != null) {
+				appointment.addElement("typId").addCDATA(
+						"" + a.getRemind().getTypId());
+			} else {
+				appointment.addElement("typId").addCDATA("" + 0);
+			}
+			appointment.addElement("isDaily").addCDATA("" + a.getIsDaily());
+			appointment.addElement("isWeekly").addCDATA("" + a.getIsWeekly());
+			appointment.addElement("isMonthly").addCDATA("" + a.getIsMonthly());
+			appointment.addElement("isYearly").addCDATA("" + a.getIsYearly());
+			if (a.getRoom() != null) {
+				appointment.addElement("room_id").addCDATA(
+						"" + a.getRoom().getRooms_id());
+			} else {
+				appointment.addElement("room_id").addCDATA("" + 0);
+			}
+			appointment.addElement("icalId").addCDATA("" + a.getIcalId());
+			appointment.addElement("language_id").addCDATA(
+					"" + a.getLanguage_id());
+			appointment.addElement("isPasswordProtected").addCDATA(
+					"" + a.getIsPasswordProtected());
+			appointment.addElement("password").addCDATA("" + a.getPassword());
+		}
+
+		return document;
+	}
+
+	public Document createRoomsDocument(List<Rooms> roomList) throws Exception {
+		Document document = getDocument();
+
+		Element root = document.addElement("root");
+
+		Element rooms = root.addElement("rooms");
+
+		for (Iterator<Rooms> it = roomList.iterator(); it.hasNext();) {
+			Rooms r = it.next();
+
+			Element room = rooms.addElement("room");
+
+			room.addElement("name").addCDATA("" + r.getName());
+			room.addElement("rooms_id").addCDATA("" + r.getRooms_id());
+			room.addElement("deleted").addCDATA("" + r.getDeleted());
+			room.addElement("comment").addCDATA("" + r.getComment());
+			room.addElement("numberOfPartizipants").addCDATA(
+					"" + r.getNumberOfPartizipants());
+			room.addElement("appointment").addCDATA("" + r.getAppointment());
+			room.addElement("externalRoomId").addCDATA(
+					"" + r.getExternalRoomId());
+			room.addElement("externalRoomType").addCDATA(
+					"" + r.getExternalRoomType());
+			if (r.getRoomtype() != null) {
+				room.addElement("roomtypeId").addCDATA(
+						"" + r.getRoomtype().getRoomtypes_id());
+			} else {
+				room.addElement("roomtypeId").addCDATA("" + 0);
+			}
+			if (r.getOwnerId() != null) {
+				room.addElement("ownerid").addCDATA("" + r.getOwnerId());
+			} else {
+				room.addElement("ownerid").addCDATA("");
+			}
+			if (r.getWaitForRecording() != null) {
+				room.addElement("waitForRecording").addCDATA(
+						"" + r.getWaitForRecording());
+			} else {
+				room.addElement("waitForRecording").addCDATA("");
+			}
+			if (r.getHideTopBar() != null) {
+				room.addElement("hideTopBar").addCDATA("" + r.getHideTopBar());
+			} else {
+				room.addElement("hideTopBar").addCDATA("");
+			}
+			if (r.getAllowRecording() != null) {
+				room.addElement("allowRecording").addCDATA(
+						"" + r.getAllowRecording());
+			} else {
+				room.addElement("allowRecording").addCDATA("");
+			}
+			room.addElement("isDemoRoom").addCDATA("" + r.getIsDemoRoom());
+			room.addElement("demoTime").addCDATA("" + r.getDemoTime());
+			room.addElement("isModeratedRoom").addCDATA(
+					"" + r.getIsModeratedRoom());
+			room.addElement("allowUserQuestions").addCDATA(
+					"" + r.getAllowUserQuestions());
+			room.addElement("isAudioOnly").addCDATA("" + r.getIsAudioOnly());
+			room.addElement("sipNumber").addCDATA("" + r.getSipNumber());
+			room.addElement("conferencePin")
+					.addCDATA("" + r.getConferencePin());
+			if (r.getIspublic() != null) {
+				room.addElement("ispublic").addCDATA("" + r.getIspublic());
+			} else {
+				r.setIspublic(false);
+				room.addElement("ispublic").addCDATA("" + r.getIspublic());
+			}
+			
+			if (r.getShowMicrophoneStatus() != null) {
+				room.addElement("showMicrophoneStatus").addCDATA("" + r.getShowMicrophoneStatus());
+			} else {
+				r.setShowMicrophoneStatus(false);
+				room.addElement("showMicrophoneStatus").addCDATA("" + r.getShowMicrophoneStatus());
+			}
+			
+			if (r.getHideActionsMenu() != null) {
+				room.addElement("hideActionsMenu").addCDATA("" + r.getHideActionsMenu());
+			} else {
+				room.addElement("hideActionsMenu").addCDATA("");
+			}
+			
+			if (r.getHideActivitiesAndActions() != null) {
+				room.addElement("hideActivitiesAndActions").addCDATA("" + r.getHideActivitiesAndActions());
+			} else {
+				room.addElement("hideActivitiesAndActions").addCDATA("");
+			}
+			
+			if (r.getHideChat() != null) {
+				room.addElement("hideChat").addCDATA("" + r.getHideChat());
+			} else {
+				room.addElement("hideChat").addCDATA("");
+			}
+			
+			if (r.getHideFilesExplorer() != null) {
+				room.addElement("hideFilesExplorer").addCDATA("" + r.getHideFilesExplorer());
+			} else {
+				room.addElement("hideFilesExplorer").addCDATA("");
+			}
+			
+			if (r.getHideScreenSharing() != null) {
+				room.addElement("hideScreenSharing").addCDATA("" + r.getHideScreenSharing());
+			} else {
+				room.addElement("hideScreenSharing").addCDATA("");
+			}
+			
+			if (r.getHideWhiteboard() != null) {
+				room.addElement("hideWhiteboard").addCDATA("" + r.getHideWhiteboard());
+			} else {
+				room.addElement("hideWhiteboard").addCDATA("");
+			}
+
+			room.addElement("isClosed").addCDATA("" + r.getIsClosed());
+			room.addElement("redirectURL").addCDATA("" + r.getRedirectURL());
+
+			List<RoomModerators> roomModeratorsList = roomModeratorsDao
+					.getRoomModeratorByRoomId(r.getRooms_id());
+
+			Element room_moderators = room.addElement("room_moderators");
+
+			for (RoomModerators roomModerator : roomModeratorsList) {
+
+				Element room_moderator = room_moderators
+						.addElement("room_moderator");
+
+				if (roomModerator.getUser() != null) {
+					room_moderator.addElement("user_id").addCDATA(
+							"" + roomModerator.getUser().getUser_id());
+				} else {
+					room_moderator.addElement("user_id").addCDATA("0");
+				}
+
+				room_moderator.addElement("is_supermoderator").addCDATA(
+						"" + roomModerator.getIsSuperModerator());
+			}
+
+		}
+
+		return document;
+	}
+
+	public Document createOrgDocument(List<Organisation> orgList)
+			throws Exception {
+		Document document = getDocument();
+
+		Element root = document.addElement("root");
+
+		Element organisations = root.addElement("organisations");
+
+		for (Iterator<Organisation> it = orgList.iterator(); it.hasNext();) {
+			Organisation org = it.next();
+
+			Element organisation = organisations.addElement("organisation");
+
+			organisation.addElement("name").addCDATA(
+					formatString("" + org.getName()));
+			organisation.addElement("organisation_id").addCDATA(
+					formatString("" + org.getOrganisation_id()));
+			organisation.addElement("deleted").addCDATA(
+					formatString("" + org.getDeleted()));
+
+		}
+
+		return document;
+	}
+
+	private String formatString(String str) {
+		// Todo fix if there is sth. we can do to prevent unicode replacement
+		// with invalid chars
+		// This is the place if you need to do special conversion on the strings
+		return str;
+	}
+
+	private Document createPrivateMessagesDocument(
+			List<PrivateMessages> privateMessages) throws Exception {
+		Document document = getDocument();
+
+		Element root = document.addElement("root");
+
+		Element privatemessages = root.addElement("privatemessages");
+
+		for (Iterator<PrivateMessages> it = privateMessages.iterator(); it
+				.hasNext();) {
+			PrivateMessages pm = it.next();
+
+			Element privateMessage = privatemessages
+					.addElement("privatemessage");
+
+			privateMessage.addElement("privateMessageId").addCDATA(
+					formatString("" + pm.getPrivateMessageId()));
+			privateMessage.addElement("message").addCDATA(
+					formatString("" + pm.getMessage()));
+			privateMessage.addElement("subject").addCDATA(
+					formatString("" + pm.getSubject()));
+			privateMessage.addElement("privateMessageFolderId").addCDATA(
+					formatString("" + pm.getPrivateMessageFolderId()));
+			privateMessage.addElement("userContactId").addCDATA(
+					formatString("" + pm.getUserContactId()));
+			privateMessage.addElement("parentMessage").addCDATA(
+					formatString("" + pm.getParentMessage()));
+			privateMessage.addElement("bookedRoom").addCDATA(
+					formatString("" + pm.getBookedRoom()));
+			if (pm.getFrom() != null) {
+				privateMessage.addElement("from").addCDATA(
+						formatString("" + pm.getFrom().getUser_id()));
+			} else {
+				privateMessage.addElement("from").addCDATA("0");
+			}
+			if (pm.getTo() != null) {
+				privateMessage.addElement("to").addCDATA(
+						formatString("" + pm.getTo().getUser_id()));
+			} else {
+				privateMessage.addElement("to").addCDATA("0");
+			}
+			privateMessage.addElement("inserted")
+					.addCDATA(
+							formatString(""
+									+ CalendarPatterns.getExportDate(pm
+											.getInserted())));
+			privateMessage.addElement("isContactRequest").addCDATA(
+					formatString("" + pm.getIsContactRequest()));
+			privateMessage.addElement("isRead").addCDATA(
+					formatString("" + pm.getIsRead()));
+			privateMessage.addElement("isTrash").addCDATA(
+					formatString("" + pm.getIsTrash()));
+			if (pm.getOwner() != null) {
+				privateMessage.addElement("owner").addCDATA(
+						formatString("" + pm.getOwner().getUser_id()));
+			} else {
+				privateMessage.addElement("owner").addCDATA("0");
+			}
+
+			if (pm.getRoom() != null) {
+				privateMessage.addElement("room").addCDATA(
+						formatString("" + pm.getRoom().getRooms_id()));
+			} else {
+				privateMessage.addElement("room").addCDATA("0");
+			}
+
+		}
+
+		return document;
+	}
+
+	private Document createFileExplorerItemDocument(
+			List<FileExplorerItem> fileExplorerItems) throws Exception {
+
+		Document document = getDocument();
+
+		Element root = document.addElement("root");
+
+		Element fileExplorerItemsElement = root.addElement("fileExplorerItems");
+
+		for (Iterator<FileExplorerItem> it = fileExplorerItems.iterator(); it
+				.hasNext();) {
+			FileExplorerItem fileExplorerItem = it.next();
+
+			Element fileExplorerItemElement = fileExplorerItemsElement
+					.addElement("fileExplorerItem");
+
+			fileExplorerItemElement
+					.addElement("fileExplorerItemId")
+					.addCDATA(
+							formatString(""
+									+ fileExplorerItem.getFileExplorerItemId()));
+			fileExplorerItemElement.addElement("fileName").addCDATA(
+					formatString("" + fileExplorerItem.getFileName()));
+			fileExplorerItemElement.addElement("fileHash").addCDATA(
+					formatString("" + fileExplorerItem.getFileHash()));
+			fileExplorerItemElement.addElement("parentFileExplorerItemId")
+					.addCDATA(
+							formatString(""
+									+ fileExplorerItem
+											.getParentFileExplorerItemId()));
+			fileExplorerItemElement.addElement("room_id").addCDATA(
+					formatString("" + fileExplorerItem.getRoom_id()));
+			fileExplorerItemElement.addElement("ownerId").addCDATA(
+					formatString("" + fileExplorerItem.getOwnerId()));
+			fileExplorerItemElement.addElement("isFolder").addCDATA(
+					formatString("" + fileExplorerItem.getIsFolder()));
+			fileExplorerItemElement.addElement("isImage").addCDATA(
+					formatString("" + fileExplorerItem.getIsImage()));
+			fileExplorerItemElement.addElement("isPresentation").addCDATA(
+					formatString("" + fileExplorerItem.getIsPresentation()));
+			fileExplorerItemElement.addElement("isVideo").addCDATA(
+					formatString("" + fileExplorerItem.getIsVideo()));
+			fileExplorerItemElement.addElement("insertedBy").addCDATA(
+					formatString("" + fileExplorerItem.getInsertedBy()));
+			fileExplorerItemElement.addElement("inserted").addCDATA(
+					formatString(""
+							+ CalendarPatterns.getExportDate(fileExplorerItem
+									.getInserted())));
+			fileExplorerItemElement.addElement("updated").addCDATA(
+					formatString(""
+							+ CalendarPatterns.getExportDate(fileExplorerItem
+									.getUpdated())));
+			fileExplorerItemElement.addElement("deleted").addCDATA(
+					formatString("" + fileExplorerItem.getDeleted()));
+			fileExplorerItemElement.addElement("fileSize").addCDATA(
+					formatString("" + fileExplorerItem.getFileSize()));
+			fileExplorerItemElement.addElement("flvWidth").addCDATA(
+					formatString("" + fileExplorerItem.getFlvWidth()));
+			fileExplorerItemElement.addElement("flvHeight").addCDATA(
+					formatString("" + fileExplorerItem.getFlvHeight()));
+			fileExplorerItemElement.addElement("previewImage").addCDATA(
+					formatString("" + fileExplorerItem.getPreviewImage()));
+			fileExplorerItemElement.addElement("wmlFilePath").addCDATA(
+					formatString("" + fileExplorerItem.getWmlFilePath()));
+			fileExplorerItemElement.addElement("isStoredWmlFile").addCDATA(
+					formatString("" + fileExplorerItem.getIsStoredWmlFile()));
+			fileExplorerItemElement.addElement("isChart").addCDATA(
+					formatString("" + fileExplorerItem.getIsChart()));
+
+		}
+
+		return document;
+
+	}
+
+	private Document createFlvRecordingDocument(List<FlvRecording> flvRecordings)
+			throws Exception {
+		Document document = getDocument();
+
+		Element root = document.addElement("root");
+
+		Element flvrecordings = root.addElement("flvrecordings");
+
+		for (Iterator<FlvRecording> it = flvRecordings.iterator(); it.hasNext();) {
+			FlvRecording flvRec = it.next();
+
+			Element flvrecording = flvrecordings.addElement("flvrecording");
+
+			flvrecording.addElement("alternateDownload").addCDATA(
+					formatString("" + flvRec.getAlternateDownload()));
+			flvrecording.addElement("comment").addCDATA(
+					formatString("" + flvRec.getComment()));
+			flvrecording.addElement("deleted").addCDATA(
+					formatString("" + flvRec.getDeleted()));
+			flvrecording.addElement("fileHash").addCDATA(
+					formatString("" + flvRec.getFileHash()));
+			flvrecording.addElement("fileName").addCDATA(
+					formatString("" + flvRec.getFileName()));
+			flvrecording.addElement("flvRecordingId").addCDATA(
+					formatString("" + flvRec.getFlvRecordingId()));
+			flvrecording.addElement("previewImage").addCDATA(
+					formatString("" + flvRec.getPreviewImage()));
+			flvrecording.addElement("recorderStreamId").addCDATA(
+					formatString("" + flvRec.getRecorderStreamId()));
+			flvrecording.addElement("fileSize").addCDATA(
+					formatString("" + flvRec.getFileSize()));
+			flvrecording.addElement("flvHeight").addCDATA(
+					formatString("" + flvRec.getFlvHeight()));
+			flvrecording.addElement("flvWidth").addCDATA(
+					formatString("" + flvRec.getFlvWidth()));
+			flvrecording.addElement("height").addCDATA(
+					formatString("" + flvRec.getHeight()));
+			flvrecording.addElement("width").addCDATA(
+					formatString("" + flvRec.getWidth()));
+			flvrecording.addElement("insertedBy").addCDATA(
+					formatString("" + flvRec.getInsertedBy()));
+			flvrecording.addElement("organization_id").addCDATA(
+					formatString("" + flvRec.getOrganization_id()));
+			flvrecording.addElement("ownerId").addCDATA(
+					formatString("" + flvRec.getOwnerId()));
+			flvrecording.addElement("parentFileExplorerItemId").addCDATA(
+					formatString("" + flvRec.getParentFileExplorerItemId()));
+			flvrecording.addElement("progressPostProcessing").addCDATA(
+					formatString("" + flvRec.getProgressPostProcessing()));
+			flvrecording.addElement("room_id").addCDATA(
+					formatString("" + flvRec.getRoom_id()));
+			flvrecording.addElement("inserted").addCDATA(
+					formatString(""
+							+ CalendarPatterns.getExportDate(flvRec
+									.getInserted())));
+			flvrecording.addElement("isFolder").addCDATA(
+					formatString("" + flvRec.getIsFolder()));
+			flvrecording.addElement("isImage").addCDATA(
+					formatString("" + flvRec.getIsImage()));
+			flvrecording.addElement("isInterview").addCDATA(
+					formatString("" + flvRec.getIsInterview()));
+			flvrecording.addElement("isPresentation").addCDATA(
+					formatString("" + flvRec.getIsPresentation()));
+			flvrecording.addElement("isRecording").addCDATA(
+					formatString("" + flvRec.getIsRecording()));
+			flvrecording.addElement("recordEnd").addCDATA(
+					formatString(""
+							+ CalendarPatterns.getExportDate(flvRec
+									.getRecordEnd())));
+			flvrecording.addElement("recordStart").addCDATA(
+					formatString(""
+							+ CalendarPatterns.getExportDate(flvRec
+									.getRecordStart())));
+
+			Element flvrecordingmetadatas = flvrecording
+					.addElement("flvrecordingmetadatas");
+
+			for (Iterator<FlvRecordingMetaData> itMeta = flvRec
+					.getFlvRecordingMetaData().iterator(); itMeta.hasNext();) {
+				FlvRecordingMetaData flvMeta = itMeta.next();
+
+				Element flvrecordingmetadata = flvrecordingmetadatas
+						.addElement("flvrecordingmetadata");
+
+				flvrecordingmetadata.addElement("flvRecordingMetaDataId")
+						.addCDATA(
+								formatString(""
+										+ flvMeta.getFlvRecordingMetaDataId()));
+				flvrecordingmetadata.addElement("freeTextUserName").addCDATA(
+						formatString("" + flvMeta.getFreeTextUserName()));
+				flvrecordingmetadata.addElement("fullWavAudioData").addCDATA(
+						formatString("" + flvMeta.getFullWavAudioData()));
+				flvrecordingmetadata.addElement("streamName").addCDATA(
+						formatString("" + flvMeta.getStreamName()));
+				flvrecordingmetadata.addElement("wavAudioData").addCDATA(
+						formatString("" + flvMeta.getWavAudioData()));
+				flvrecordingmetadata.addElement("initialGapSeconds").addCDATA(
+						formatString("" + flvMeta.getInitialGapSeconds()));
+				flvrecordingmetadata.addElement("insertedBy").addCDATA(
+						formatString("" + flvMeta.getInsertedBy()));
+				flvrecordingmetadata.addElement("interiewPodId").addCDATA(
+						formatString("" + flvMeta.getInteriewPodId()));
+				flvrecordingmetadata.addElement("audioIsValid").addCDATA(
+						formatString("" + flvMeta.getAudioIsValid()));
+				flvrecordingmetadata.addElement("inserted").addCDATA(
+						formatString(""
+								+ CalendarPatterns.getExportDate(flvMeta
+										.getInserted())));
+				flvrecordingmetadata.addElement("isAudioOnly").addCDATA(
+						formatString("" + flvMeta.getIsAudioOnly()));
+				flvrecordingmetadata.addElement("isScreenData").addCDATA(
+						formatString("" + flvMeta.getIsScreenData()));
+				flvrecordingmetadata.addElement("isVideoOnly").addCDATA(
+						formatString("" + flvMeta.getIsVideoOnly()));
+				flvrecordingmetadata.addElement("recordEnd").addCDATA(
+						formatString(""
+								+ CalendarPatterns.getExportDate(flvMeta
+										.getRecordEnd())));
+				flvrecordingmetadata.addElement("recordStart").addCDATA(
+						formatString(""
+								+ CalendarPatterns.getExportDate(flvMeta
+										.getRecordStart())));
+				flvrecordingmetadata.addElement("updated").addCDATA(
+						formatString(""
+								+ CalendarPatterns.getExportDate(flvMeta
+										.getUpdated())));
+
+			}
+
+		}
+
+		return document;
+	}
+
+	private Document createPrivateMessageFolderDocument(
+			List<PrivateMessageFolder> privateMessageFolders) throws Exception {
+		Document document = getDocument();
+
+		Element root = document.addElement("root");
+
+		Element privatemessagefolders = root
+				.addElement("privatemessagefolders");
+
+		for (Iterator<PrivateMessageFolder> it = privateMessageFolders
+				.iterator(); it.hasNext();) {
+			PrivateMessageFolder pmf = it.next();
+
+			Element privateMessageFolder = privatemessagefolders
+					.addElement("privatemessagefolder");
+
+			privateMessageFolder.addElement("privateMessageFolderId").addCDATA(
+					formatString("" + pmf.getPrivateMessageFolderId()));
+			privateMessageFolder.addElement("folderName").addCDATA(
+					formatString("" + pmf.getFolderName()));
+			privateMessageFolder.addElement("userId").addCDATA(
+					formatString("" + pmf.getUserId()));
+
+		}
+
+		return document;
+	}
+
+	private Document createUserContactsDocument(List<UserContacts> userContacts)
+			throws Exception {
+		Document document = getDocument();
+
+		Element root = document.addElement("root");
+
+		Element usercontacts = root.addElement("usercontacts");
+
+		for (Iterator<UserContacts> it = userContacts.iterator(); it.hasNext();) {
+			UserContacts uc = it.next();
+
+			Element usercontact = usercontacts.addElement("usercontact");
+
+			usercontact.addElement("userContactId").addCDATA(
+					formatString("" + uc.getUserContactId()));
+			usercontact.addElement("hash").addCDATA(
+					formatString("" + uc.getHash()));
+			if (uc.getContact() != null) {
+				usercontact.addElement("contact").addCDATA(
+						formatString("" + uc.getContact().getUser_id()));
+			} else {
+				usercontact.addElement("contact").addCDATA("0");
+			}
+			if (uc.getOwner() != null) {
+				usercontact.addElement("owner").addCDATA(
+						formatString("" + uc.getOwner().getUser_id()));
+			} else {
+				usercontact.addElement("owner").addCDATA("0");
+			}
+			usercontact.addElement("pending").addCDATA(
+					formatString("" + uc.getPending()));
+			usercontact.addElement("shareCalendar").addCDATA(
+					formatString("" + uc.getShareCalendar()));
+
+		}
+
+		return document;
+	}
+
+	private Document createOrgRoomsDocument(List<Rooms_Organisation> roomOrgList)
+			throws Exception {
+		Document document = getDocument();
+
+		Element root = document.addElement("root");
+
+		Element organisations = root.addElement("room_organisations");
+
+		for (Iterator<Rooms_Organisation> it = roomOrgList.iterator(); it
+				.hasNext();) {
+			Rooms_Organisation roomOrg = it.next();
+
+			Element room_organisation = organisations
+					.addElement("room_organisation");
+
+			room_organisation.addElement("rooms_organisation_id").addCDATA(
+					formatString("" + roomOrg.getRooms_organisation_id()));
+			room_organisation.addElement("organisation_id").addCDATA(
+				"true".equals(roomOrg.getDeleted()) ? "0" :
+				formatString(""
+						+ roomOrg.getOrganisation().getOrganisation_id()));
+			if (roomOrg.getRoom() != null) {
+				room_organisation.addElement("rooms_id").addCDATA(
+						formatString("" + roomOrg.getRoom().getRooms_id()));
+			} else {
+				room_organisation.addElement("rooms_id").addCDATA("0");
+			}
+			room_organisation.addElement("deleted").addCDATA(
+					formatString("" + roomOrg.getDeleted()));
+
+		}
+
+		return document;
+	}
+
+	private Document createMeetingMemberDocument(List<MeetingMember> memberList)
+			throws Exception {
+		Document document = getDocument();
+
+		Element root = document.addElement("root");
+
+		Element meetingmembers = root.addElement("meetingmembers");
+
+		for (Iterator<MeetingMember> it = memberList.iterator(); it.hasNext();) {
+			MeetingMember meetMember = it.next();
+
+			Element meetingmember = meetingmembers.addElement("meetingmember");
+
+			meetingmember.addElement("meetingMemberId").addCDATA(
+					formatString("" + meetMember.getMeetingMemberId()));
+			if (meetMember.getUserid() != null) {
+				meetingmember.addElement("userid").addCDATA(
+						formatString("" + meetMember.getUserid().getUser_id()));
+			} else {
+				meetingmember.addElement("userid").addCDATA("0");
+			}
+			if (meetMember.getAppointment() != null) {
+				meetingmember.addElement("appointment").addCDATA(
+						formatString(""
+								+ meetMember.getAppointment()
+										.getAppointmentId()));
+			} else {
+				meetingmember.addElement("appointment").addCDATA("0");
+			}
+			meetingmember.addElement("firstname").addCDATA(
+					formatString("" + meetMember.getFirstname()));
+			meetingmember.addElement("lastname").addCDATA(
+					formatString("" + meetMember.getLastname()));
+			meetingmember.addElement("memberStatus").addCDATA(
+					formatString("" + meetMember.getMemberStatus()));
+			meetingmember.addElement("appointmentStatus").addCDATA(
+					formatString("" + meetMember.getAppointmentStatus()));
+			meetingmember.addElement("email").addCDATA(
+					formatString("" + meetMember.getEmail()));
+			meetingmember.addElement("deleted").addCDATA(
+					formatString("" + meetMember.getDeleted()));
+			meetingmember.addElement("invitor").addCDATA(
+					formatString("" + meetMember.getInvitor()));
+
+		}
+
+		return document;
+	}
+
+	private Document createLdapConfigDocument(List<LdapConfig> ldapConfigList)
+			throws Exception {
+		Document document = getDocument();
+
+		Element root = document.addElement("root");
+
+		Element ldapconfigs = root.addElement("ldapconfigs");
+
+		for (Iterator<LdapConfig> it = ldapConfigList.iterator(); it.hasNext();) {
+
+			LdapConfig ldapC = it.next();
+
+			Element ldapconfig = ldapconfigs.addElement("ldapconfig");
+
+			ldapconfig.addElement("name").addCDATA(
+					formatString("" + ldapC.getName()));
+			ldapconfig.addElement("configFileName").addCDATA(
+					formatString("" + ldapC.getConfigFileName()));
+			ldapconfig.addElement("addDomainToUserName").addCDATA(
+					formatString("" + ldapC.getAddDomainToUserName()));
+			ldapconfig.addElement("domain").addCDATA(
+					formatString("" + ldapC.getDomain()));
+			ldapconfig.addElement("isActive").addCDATA(
+					formatString("" + ldapC.getIsActive()));
+
+		}
+
+		return document;
+	}
+
+	public Document createDocument(List<Users> uList) throws Exception {
+		Document document = getDocument();
+
+		Element root = document.addElement("root");
+
+		Element users = root.addElement("users");
+
+		for (Users u : uList) {
+			Element user = users.addElement("user");
+
+			user.addElement("user_id").addCDATA(
+					formatString("" + u.getUser_id()));
+			user.addElement("deleted").addCDATA(
+					formatString("" + u.getDeleted()));
+			user.addElement("age")
+					.addCDATA(
+							formatString(""
+									+ CalendarPatterns.getDateByMiliSeconds(u
+											.getAge())));
+			if (u.getAvailible() != null) {
+				user.addElement("availible").addCDATA(
+						formatString("" + u.getAvailible().toString()));
+			} else {
+				user.addElement("availible").addCDATA("0");
+			}
+			user.addElement("deleted").addCDATA(
+					formatString("" + u.getDeleted()));
+			user.addElement("firstname").addCDATA(
+					formatString("" + u.getFirstname()));
+			user.addElement("lastname").addCDATA(
+					formatString("" + u.getLastname()));
+			user.addElement("login").addCDATA(formatString("" + u.getLogin()));
+			user.addElement("pass")
+					.addCDATA(formatString("" + u.getPassword()));
+
+			if (u.getActivatehash() != null) {
+				user.addElement("activatehash").addCDATA(
+						formatString("" + u.getActivatehash()));
+			} else {
+				user.addElement("activatehash").addCDATA(formatString(""));
+			}
+			if (u.getExternalUserType() != null) {
+				user.addElement("externalUserType").addCDATA(
+						formatString("" + u.getExternalUserType()));
+			} else {
+				user.addElement("externalUserType").addCDATA(formatString(""));
+			}
+
+			if (u.getExternalUserId() != null) {
+				user.addElement("externalUserId").addCDATA(
+						formatString("" + u.getExternalUserId()));
+			} else {
+				user.addElement("externalUserId").addCDATA(formatString(""));
+			}
+
+			if (u.getResethash() != null) {
+				user.addElement("resethash").addCDATA(
+						formatString("" + u.getResethash()));
+			} else {
+				user.addElement("resethash").addCDATA(formatString(""));
+			}
+
+			if (u.getUserOffers() != null) {
+				user.addElement("userOffers").addCDATA(
+						formatString("" + u.getUserOffers()));
+			} else {
+				user.addElement("userOffers").addCDATA(formatString(""));
+			}
+
+			if (u.getUserSearchs() != null) {
+				user.addElement("userSearchs").addCDATA(
+						formatString("" + u.getUserSearchs()));
+			} else {
+				user.addElement("userSearchs").addCDATA(formatString(""));
+			}
+
+			if (u.getForceTimeZoneCheck() != null) {
+				user.addElement("forceTimeZoneCheck").addCDATA(
+						formatString("" + u.getForceTimeZoneCheck()));
+			} else {
+				user.addElement("ForceTimeZoneCheck")
+						.addCDATA(formatString(""));
+			}
+
+			if (u.getLasttrans() != null) {
+				user.addElement("lasttrans").addCDATA(
+						formatString("" + u.getLasttrans()));
+			} else {
+				user.addElement("lasttrans").addCDATA(formatString(""));
+			}
+
+			if (u.getShowContactData() != null) {
+				user.addElement("showContactData").addCDATA(
+						formatString("" + u.getShowContactData()));
+			} else {
+				user.addElement("showContactData").addCDATA(formatString(""));
+			}
+
+			if (u.getShowContactDataToContacts() != null) {
+				user.addElement("showContactDataToContacts").addCDATA(
+						formatString("" + u.getShowContactDataToContacts()));
+			} else {
+				user.addElement("showContactDataToContacts").addCDATA(
+						formatString(""));
+			}
+
+			String pictureuri = u.getPictureuri();
+			if (pictureuri != null)
+				user.addElement("pictureuri").addCDATA(pictureuri);
+			else
+				user.addElement("pictureuri").addCDATA(formatString(""));
+
+			if (u.getLanguage_id() != null)
+				user.addElement("language_id").addCDATA(
+						formatString(u.getLanguage_id().toString()));
+			else
+				user.addElement("language_id").addCDATA(formatString(""));
+
+			if (u.getStatus() != null) {
+				user.addElement("status").addCDATA(
+						formatString("" + u.getStatus().toString()));
+			} else {
+				user.addElement("status").addCDATA("0");
+			}
+			user.addElement("regdate").addCDATA(
+					formatString(""
+							+ CalendarPatterns.getExportDate(u.getRegdate())));
+
+			if (u.getTitle_id() != null) {
+				user.addElement("title_id").addCDATA(
+						formatString("" + u.getTitle_id().toString()));
+				user.addElement("level_id").addCDATA(
+						formatString("" + u.getLevel_id().toString()));
+			} else {
+				user.addElement("title_id").addCDATA("1");
+				user.addElement("level_id").addCDATA("1");
+			}
+
+			if (u.getOmTimeZone() != null) {
+				user.addElement("omTimeZone").addCDATA(
+						formatString("" + u.getOmTimeZone().getJname()));
+			} else {
+				user.addElement("omTimeZone").addCDATA(formatString(""));
+			}
+
+			if (u.getAdresses() != null) {
+				user.addElement("additionalname").addCDATA(
+						formatString("" + u.getAdresses().getAdditionalname()));
+				user.addElement("comment").addCDATA(
+						formatString("" + u.getAdresses().getComment()));
+				// A User can not have a deleted Adress, you cannot delete the
+				// Adress of an User
+				// String deleted = u.getAdresses().getDeleted()
+				// Phone Number not done yet
+				user.addElement("fax").addCDATA(
+						formatString("" + u.getAdresses().getFax()));
+				if (u.getAdresses().getStates() != null) {
+					user.addElement("state_id").addCDATA(
+							formatString(""
+									+ u.getAdresses().getStates().getState_id()
+											.toString()));
+				} else {
+					user.addElement("state_id").addCDATA("1");
+				}
+				user.addElement("street").addCDATA(
+						formatString("" + u.getAdresses().getStreet()));
+				user.addElement("town").addCDATA(
+						formatString("" + u.getAdresses().getTown()));
+				user.addElement("zip").addCDATA(
+						formatString("" + u.getAdresses().getZip()));
+
+				// Email and Phone
+				user.addElement("mail").addCDATA(
+						formatString("" + u.getAdresses().getEmail()));
+				user.addElement("phone").addCDATA(
+						formatString("" + u.getAdresses().getPhone()));
+			} else {
+				user.addElement("additionalname").addCDATA(formatString(""));
+				user.addElement("comment").addCDATA(formatString(""));
+				// A User can not have a deleted address, you cannot delete the
+				// address of an User without deleting the user
+				// only SOAP users might have a null
+				// String deleted = u.getAdresses().getDeleted()
+				// Phone Number not done yet
+				user.addElement("fax").addCDATA(formatString(""));
+				user.addElement("state_id").addCDATA("1");
+				user.addElement("street").addCDATA(formatString(""));
+				user.addElement("town").addCDATA(formatString(""));
+				user.addElement("zip").addCDATA(formatString(""));
+				user.addElement("mail").addCDATA(formatString(""));
+				user.addElement("phone").addCDATA(formatString(""));
+
+			}
+
+			if (u.getUserSipData() != null) {
+				user.addElement("sip_username").addCDATA(
+						formatString("" + u.getUserSipData().getUsername()));
+				user.addElement("sip_userpass").addCDATA(
+						formatString("" + u.getUserSipData().getUserpass()));
+				user.addElement("sip_authid").addCDATA(
+						formatString("" + u.getUserSipData().getAuthId()));
+			}
+
+			Element user_organisations = user.addElement("organisations");
+			// List<String> organisations = new LinkedList();
+			for (Iterator<Organisation_Users> iterObj = u
+					.getOrganisation_users().iterator(); iterObj.hasNext();) {
+
+				Element user_organisation = user_organisations
+						.addElement("user_organisation");
+
+				Organisation_Users orgUsers = iterObj.next();
+				if (orgUsers.getOrganisation() != null) {
+					user_organisation.addElement("organisation_id").addCDATA(
+							formatString(""
+									+ orgUsers.getOrganisation()
+											.getOrganisation_id().toString()));
+				} else {
+					user_organisation.addElement("organisation_id").addCDATA(
+							"0");
+				}
+
+				user_organisation.addElement("deleted").addCDATA(
+						formatString("" + orgUsers.getDeleted()));
+				user_organisation.addElement("isModerator").addCDATA(
+						formatString("" + orgUsers.getIsModerator()));
+
+			}
+
+			// Not need at the moment
+			// Element user_groups = user.addElement("groups");
+
+		}
+
+		return document;
+	}
+
+	private Document getDocument() {
+		Document document = DocumentHelper.createDocument();
+		document.setXMLEncoding("UTF-8");
+		document.addComment(BACKUP_COMMENT);
+		
+		return document;
+	}
+	
+	private Document createConfigDocument(List<Configuration> configs) {
+		Document document = getDocument();
+		Element root = document.addElement("root");
+		Element configsElem = root.addElement("configs");
+		
+		for (Configuration cfg : configs) {
+			Element cfgElem = configsElem.addElement("config");
+			cfgElem.addElement("id").addCDATA(formatString("" + cfg.getConfiguration_id()));
+			cfgElem.addElement("comment").addCDATA(formatString("" + cfg.getComment()));
+			cfgElem.addElement("key").addCDATA(formatString(cfg.getConf_key()));
+			cfgElem.addElement("value").addCDATA(formatString(cfg.getConf_value()));
+			cfgElem.addElement("deleted").addCDATA(formatString(cfg.getDeleted()));
+			cfgElem.addElement("created").addCDATA(formatString(CalendarPatterns.getExportDate(cfg.getStarttime())));
+			cfgElem.addElement("updated").addCDATA(formatString(CalendarPatterns.getExportDate(cfg.getUpdatetime())));
+			cfgElem.addElement("user_id").addCDATA(formatString("" + cfg.getUser_id()));
+		}
+		return document;
+	}
+	
+	private Document createAsteriskSipUsersDocument(
+			List<AsteriskSipUsers> asteriskSipUsers) {
+		
+		Document document = getDocument();
+		Element root = document.addElement("root");
+		Element astusersElem = root.addElement("asterisksipusers");
+		
+		for (AsteriskSipUsers asteriskSipUser : asteriskSipUsers) {
+			Element astuserElem = astusersElem.addElement("asterisksipuser");
+			astuserElem.addElement("id").addCDATA(formatString("" + asteriskSipUser.getId()));
+			astuserElem.addElement("accountcode").addCDATA(formatString("" + asteriskSipUser.getAccountcode()));
+			astuserElem.addElement("disallow").addCDATA(formatString("" + asteriskSipUser.getDisallow()));
+			astuserElem.addElement("allow").addCDATA(formatString("" + asteriskSipUser.getAllow()));
+			astuserElem.addElement("allowoverlap").addCDATA(formatString("" + asteriskSipUser.getAllowoverlap()));
+			astuserElem.addElement("allowsubscribe").addCDATA(formatString("" + asteriskSipUser.getAllowsubscribe()));
+			astuserElem.addElement("allowtransfer").addCDATA(formatString("" + asteriskSipUser.getAllowtransfer()));
+			astuserElem.addElement("amaflags").addCDATA(formatString("" + asteriskSipUser.getAmaflags()));
+			astuserElem.addElement("autoframing").addCDATA(formatString("" + asteriskSipUser.getAutoframing()));
+			astuserElem.addElement("auth").addCDATA(formatString("" + asteriskSipUser.getAuth()));
+			astuserElem.addElement("buggymwi").addCDATA(formatString("" + asteriskSipUser.getBuggymwi()));
+			astuserElem.addElement("callgroup").addCDATA(formatString("" + asteriskSipUser.getCallgroup()));
+			astuserElem.addElement("callerid").addCDATA(formatString("" + asteriskSipUser.getCallerid()));
+			astuserElem.addElement("cid_number").addCDATA(formatString("" + asteriskSipUser.getCid_number()));
+			astuserElem.addElement("fullname").addCDATA(formatString("" + asteriskSipUser.getFullname()));
+			astuserElem.addElement("callingpres").addCDATA(formatString("" + asteriskSipUser.getCallingpres()));
+			astuserElem.addElement("canreinvite").addCDATA(formatString("" + asteriskSipUser.getCanreinvite()));
+			astuserElem.addElement("context").addCDATA(formatString("" + asteriskSipUser.getContext()));
+			astuserElem.addElement("defaultip").addCDATA(formatString("" + asteriskSipUser.getDefaultip()));
+			astuserElem.addElement("dtmfmode").addCDATA(formatString("" + asteriskSipUser.getDtmfmode()));
+			astuserElem.addElement("fromuser").addCDATA(formatString("" + asteriskSipUser.getFromuser()));
+			astuserElem.addElement("fromdomain").addCDATA(formatString("" + asteriskSipUser.getFromdomain()));
+			astuserElem.addElement("fullcontact").addCDATA(formatString("" + asteriskSipUser.getFullcontact()));
+			astuserElem.addElement("g726nonstandard").addCDATA(formatString("" + asteriskSipUser.getG726nonstandard()));
+			astuserElem.addElement("host").addCDATA(formatString("" + asteriskSipUser.getHost()));
+			astuserElem.addElement("insecure").addCDATA(formatString("" + asteriskSipUser.getInsecure()));
+			astuserElem.addElement("ipaddr").addCDATA(formatString("" + asteriskSipUser.getIpaddr()));
+			astuserElem.addElement("language").addCDATA(formatString("" + asteriskSipUser.getLanguage()));
+			astuserElem.addElement("lastms").addCDATA(formatString("" + asteriskSipUser.getLastms()));
+			astuserElem.addElement("mailbox").addCDATA(formatString("" + asteriskSipUser.getMailbox()));
+			astuserElem.addElement("maxcallbitrate").addCDATA(formatString("" + asteriskSipUser.getMaxcallbitrate()));
+			astuserElem.addElement("mohsuggest").addCDATA(formatString("" + asteriskSipUser.getMohsuggest()));
+			astuserElem.addElement("md5secret").addCDATA(formatString("" + asteriskSipUser.getMd5secret()));
+			astuserElem.addElement("musiconhold").addCDATA(formatString("" + asteriskSipUser.getMusiconhold()));
+			astuserElem.addElement("name").addCDATA(formatString("" + asteriskSipUser.getName()));
+			astuserElem.addElement("nat").addCDATA(formatString("" + asteriskSipUser.getNat()));
+			astuserElem.addElement("outboundproxy").addCDATA(formatString("" + asteriskSipUser.getOutboundproxy()));
+			astuserElem.addElement("deny").addCDATA(formatString("" + asteriskSipUser.getDeny()));
+			astuserElem.addElement("permit").addCDATA(formatString("" + asteriskSipUser.getPermit()));
+			astuserElem.addElement("pickupgroup").addCDATA(formatString("" + asteriskSipUser.getPickupgroup()));
+			astuserElem.addElement("port").addCDATA(formatString("" + asteriskSipUser.getPort()));
+			astuserElem.addElement("progressinband").addCDATA(formatString("" + asteriskSipUser.getProgressinband()));
+			astuserElem.addElement("promiscredir").addCDATA(formatString("" + asteriskSipUser.getPromiscredir()));
+			astuserElem.addElement("qualify").addCDATA(formatString("" + asteriskSipUser.getQualify()));
+			astuserElem.addElement("regexten").addCDATA(formatString("" + asteriskSipUser.getRegexten()));
+			astuserElem.addElement("regseconds").addCDATA(formatString("" + asteriskSipUser.getRegseconds()));
+			astuserElem.addElement("rfc2833compensate").addCDATA(formatString("" + asteriskSipUser.getRfc2833compensate()));
+			astuserElem.addElement("rtptimeout").addCDATA(formatString("" + asteriskSipUser.getRtptimeout()));
+			astuserElem.addElement("rtpholdtimeout").addCDATA(formatString("" + asteriskSipUser.getRtpholdtimeout()));
+			astuserElem.addElement("secret").addCDATA(formatString("" + asteriskSipUser.getSecret()));
+			astuserElem.addElement("sendrpid").addCDATA(formatString("" + asteriskSipUser.getSendrpid()));
+			astuserElem.addElement("setvar").addCDATA(formatString("" + asteriskSipUser.getSetvar()));
+			astuserElem.addElement("subscribecontext").addCDATA(formatString("" + asteriskSipUser.getSubscribecontext()));
+			astuserElem.addElement("subscribemwi").addCDATA(formatString("" + asteriskSipUser.getSubscribemwi()));
+			astuserElem.addElement("t38pt_udptl").addCDATA(formatString("" + asteriskSipUser.getId()));
+			astuserElem.addElement("trustrpid").addCDATA(formatString("" + asteriskSipUser.getTrustrpid()));
+			astuserElem.addElement("type").addCDATA(formatString("" + asteriskSipUser.getType()));
+			astuserElem.addElement("useclientcode").addCDATA(formatString("" + asteriskSipUser.getUseclientcode()));
+			astuserElem.addElement("username").addCDATA(formatString("" + asteriskSipUser.getUsername()));
+			astuserElem.addElement("usereqphone").addCDATA(formatString("" + asteriskSipUser.getUsereqphone()));
+			astuserElem.addElement("videosupport").addCDATA(formatString("" + asteriskSipUser.getVideosupport()));
+			astuserElem.addElement("vmexten").addCDATA(formatString("" + asteriskSipUser.getVmexten()));
+
+		}
+		return document;
+		
+	}
+	
+	private Document createExtensionsDocument(List<Extensions> extensions) {
+		Document document = getDocument();
+		Element root = document.addElement("root");
+		Element extensionsElem = root.addElement("extensions");
+		
+		for (Extensions extension : extensions) {
+			Element extensionElem = extensionsElem.addElement("extension");
+			extensionElem.addElement("id").addCDATA(formatString("" + extension.getId()));
+			extensionElem.addElement("exten").addCDATA(formatString("" + extension.getExten()));
+			extensionElem.addElement("priority").addCDATA(formatString("" + extension.getPriority()));
+			extensionElem.addElement("app").addCDATA(formatString("" + extension.getApp()));
+			extensionElem.addElement("appdata").addCDATA(formatString("" + extension.getAppdata()));
+		}
+		return document;
+	}
+	
+	private Document createMembersDocument(List<MeetMe> members) {
+		Document document = getDocument();
+		Element root = document.addElement("root");
+		Element membersElem = root.addElement("members");
+		
+		for (MeetMe member : members) {
+			Element memberElem = membersElem.addElement("member");
+			memberElem.addElement("confno").addCDATA(formatString("" + member.getConfno()));
+			memberElem.addElement("pin").addCDATA(formatString("" + member.getPin()));
+			memberElem.addElement("adminpin").addCDATA(formatString("" + member.getAdminpin()));
+			memberElem.addElement("members").addCDATA(formatString("" + member.getMembers()));
+		}
+		return document;
+	}
+	
+	public void serializetoXML(OutputStream out, String aEncodingScheme,
+			Document doc) throws Exception {
+		OutputFormat outformat = OutputFormat.createPrettyPrint();
+		outformat.setXHTML(true);
+		outformat.setEncoding(aEncodingScheme);
+		XMLWriter writer = new XMLWriter(out, outformat);
+		writer.write(doc);
+		writer.flush();
+		writer.close();
+		out.close();
+	}
+
+}
diff --git a/src/org/openmeetings/servlet/outputhandler/BackupExportFacade.java b/src/org/openmeetings/servlet/outputhandler/BackupExportFacade.java
new file mode 100644
index 0000000..639e54c
--- /dev/null
+++ b/src/org/openmeetings/servlet/outputhandler/BackupExportFacade.java
@@ -0,0 +1,99 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.servlet.outputhandler;
+
+import java.io.IOException;
+import java.io.OutputStream;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.context.ApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+/**
+ * 
+ * @author sebastianwagner
+ * 
+ */
+public class BackupExportFacade extends HttpServlet {
+
+	private static final long serialVersionUID = -928315730609302260L;
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			BackupExportFacade.class, OpenmeetingsVariables.webAppRootKey);
+
+	private BackupExport getBackupExport() {
+		try {
+			if (!ScopeApplicationAdapter.initComplete) {
+				return null;
+			}
+			ApplicationContext context = WebApplicationContextUtils
+					.getWebApplicationContext(getServletContext());
+			return (BackupExport) context.getBean("backupExport");
+		} catch (Exception err) {
+			log.error("[getBackupExport]", err);
+		}
+		return null;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest
+	 * , javax.servlet.http.HttpServletResponse)
+	 */
+	@Override
+	protected void service(HttpServletRequest httpServletRequest,
+			HttpServletResponse httpServletResponse) throws ServletException,
+			IOException {
+
+		try {
+
+			if (getBackupExport() == null) {
+				OutputStream out = httpServletResponse.getOutputStream();
+
+				String msg = "Server is not booted yet";
+
+				out.write(msg.getBytes());
+
+				out.flush();
+				out.close();
+
+				return;
+			}
+
+			getBackupExport().service(httpServletRequest, httpServletResponse,
+					getServletContext());
+
+		} catch (Exception er) {
+			log.error("ERROR ", er);
+			log.debug("Error exporting: " + er);
+			er.printStackTrace();
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/servlet/outputhandler/BackupImportController.java b/src/org/openmeetings/servlet/outputhandler/BackupImportController.java
new file mode 100644
index 0000000..2578ede
--- /dev/null
+++ b/src/org/openmeetings/servlet/outputhandler/BackupImportController.java
@@ -0,0 +1,2605 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.servlet.outputhandler;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.regex.Pattern;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipInputStream;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.io.SAXReader;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.dao.LdapConfigDaoImpl;
+import org.openmeetings.app.data.basic.dao.OmTimeZoneDaoImpl;
+import org.openmeetings.app.data.calendar.daos.AppointmentCategoryDaoImpl;
+import org.openmeetings.app.data.calendar.daos.AppointmentDaoImpl;
+import org.openmeetings.app.data.calendar.daos.AppointmentReminderTypDaoImpl;
+import org.openmeetings.app.data.calendar.daos.MeetingMemberDaoImpl;
+import org.openmeetings.app.data.conference.PollManagement;
+import org.openmeetings.app.data.conference.Roommanagement;
+import org.openmeetings.app.data.conference.dao.RoomModeratorsDaoImpl;
+import org.openmeetings.app.data.file.dao.FileExplorerItemDaoImpl;
+import org.openmeetings.app.data.flvrecord.FlvRecordingDaoImpl;
+import org.openmeetings.app.data.flvrecord.FlvRecordingMetaDataDaoImpl;
+import org.openmeetings.app.data.user.Organisationmanagement;
+import org.openmeetings.app.data.user.Statemanagement;
+import org.openmeetings.app.data.user.dao.PrivateMessageFolderDaoImpl;
+import org.openmeetings.app.data.user.dao.PrivateMessagesDaoImpl;
+import org.openmeetings.app.data.user.dao.UserContactsDaoImpl;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.adresses.States;
+import org.openmeetings.app.persistence.beans.basic.Configuration;
+import org.openmeetings.app.persistence.beans.basic.LdapConfig;
+import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
+import org.openmeetings.app.persistence.beans.calendar.Appointment;
+import org.openmeetings.app.persistence.beans.calendar.MeetingMember;
+import org.openmeetings.app.persistence.beans.domain.Organisation;
+import org.openmeetings.app.persistence.beans.domain.Organisation_Users;
+import org.openmeetings.app.persistence.beans.files.FileExplorerItem;
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecording;
+import org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaData;
+import org.openmeetings.app.persistence.beans.poll.RoomPoll;
+import org.openmeetings.app.persistence.beans.poll.RoomPollAnswers;
+import org.openmeetings.app.persistence.beans.rooms.RoomModerators;
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.openmeetings.app.persistence.beans.rooms.Rooms_Organisation;
+import org.openmeetings.app.persistence.beans.sip.asterisk.AsteriskSipUsers;
+import org.openmeetings.app.persistence.beans.sip.asterisk.Extensions;
+import org.openmeetings.app.persistence.beans.sip.asterisk.MeetMe;
+import org.openmeetings.app.persistence.beans.user.PrivateMessageFolder;
+import org.openmeetings.app.persistence.beans.user.PrivateMessages;
+import org.openmeetings.app.persistence.beans.user.UserContacts;
+import org.openmeetings.app.persistence.beans.user.UserSipData;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.app.sip.api.impl.asterisk.dao.AsteriskDAOImpl;
+import org.openmeetings.utils.math.CalendarPatterns;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.multipart.MultipartFile;
+
+@Controller
+public class BackupImportController extends AbstractUploadController {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			BackupImportController.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private AppointmentDaoImpl appointmentDao;
+	@Autowired
+	private Statemanagement statemanagement;
+	@Autowired
+	private OmTimeZoneDaoImpl omTimeZoneDaoImpl;
+	@Autowired
+	private Organisationmanagement organisationmanagement;
+	@Autowired
+	private Roommanagement roommanagement;
+	@Autowired
+	private AppointmentCategoryDaoImpl appointmentCategoryDaoImpl;
+	@Autowired
+	private AppointmentReminderTypDaoImpl appointmentReminderTypDaoImpl;
+	@Autowired
+	private UsersDaoImpl usersDao;
+	@Autowired
+	private FlvRecordingDaoImpl flvRecordingDao;
+	@Autowired
+	private FlvRecordingMetaDataDaoImpl flvRecordingMetaDataDao;
+	@Autowired
+	private PrivateMessageFolderDaoImpl privateMessageFolderDao;
+	@Autowired
+	private PrivateMessagesDaoImpl privateMessagesDao;
+	@Autowired
+	private MeetingMemberDaoImpl meetingMemberDao;
+	@Autowired
+	private LdapConfigDaoImpl ldapConfigDao;
+	@Autowired
+	private RoomModeratorsDaoImpl roomModeratorsDao;
+	@Autowired
+	private FileExplorerItemDaoImpl fileExplorerItemDao;
+	@Autowired
+	private UserContactsDaoImpl userContactsDao;
+	@Autowired
+	private ScopeApplicationAdapter scopeApplicationAdapter;
+	@Autowired
+	private PollManagement pollManagement;
+	@Autowired
+	private Configurationmanagement cfgManagement;
+	@Autowired
+	private AsteriskDAOImpl asteriskDAOImpl;
+
+	private final HashMap<Long, Long> usersMap = new HashMap<Long, Long>();
+	private final HashMap<Long, Long> organisationsMap = new HashMap<Long, Long>();
+	private final HashMap<Long, Long> appointmentsMap = new HashMap<Long, Long>();
+	private final HashMap<Long, Long> roomsMap = new HashMap<Long, Long>();
+	private final HashMap<Long, Long> messageFoldersMap = new HashMap<Long, Long>();
+	private final HashMap<Long, Long> userContactsMap = new HashMap<Long, Long>();
+	private final HashMap<Long, Long> fileExplorerItemsMap = new HashMap<Long, Long>();
+
+	private enum Maps {
+		USERS, ORGANISATIONS, APPOINTMENTS, ROOMS, MESSAGEFOLDERS, USERCONTACTS, FILEEXPLORERITEMS
+	};
+
+	public void performImport(InputStream is, String current_dir) throws Exception {
+		File working_dir = new File(current_dir, OpenmeetingsVariables.UPLOAD_DIR
+				+ File.separatorChar + "import");
+		if (!working_dir.exists()) {
+			working_dir.mkdir();
+		}
+
+		File f = new File(working_dir, "import_" + CalendarPatterns.getTimeForStreamId(new Date()));
+
+		int recursiveNumber = 0;
+		do {
+			if (f.exists()) {
+				f = new File(f.getAbsolutePath() + (recursiveNumber++));
+			}
+		} while (f.exists());
+		f.mkdir();
+
+		log.debug("##### WRITE FILE TO: " + f);
+		
+		ZipInputStream zipinputstream = new ZipInputStream(is);
+		byte[] buf = new byte[1024];
+
+		ZipEntry zipentry = zipinputstream.getNextEntry();
+
+		while (zipentry != null) {
+			// for each entry to be extracted
+			int n;
+			FileOutputStream fileoutputstream;
+			File fentryName = new File(f, zipentry.getName());
+
+			if (zipentry.isDirectory()) {
+				if (!fentryName.mkdir()) {
+					break;
+				}
+				zipentry = zipinputstream.getNextEntry();
+				continue;
+			}
+
+			File fparent = new File(fentryName.getParent());
+
+			if (!fparent.exists()) {
+
+				File fparentparent = new File(fparent.getParent());
+
+				if (!fparentparent.exists()) {
+
+					File fparentparentparent = new File(
+							fparentparent.getParent());
+
+					if (!fparentparentparent.exists()) {
+
+						fparentparentparent.mkdir();
+						fparentparent.mkdir();
+						fparent.mkdir();
+
+					} else {
+
+						fparentparent.mkdir();
+						fparent.mkdir();
+
+					}
+
+				} else {
+
+					fparent.mkdir();
+
+				}
+
+			}
+
+			fileoutputstream = new FileOutputStream(fentryName);
+
+			while ((n = zipinputstream.read(buf, 0, 1024)) > -1) {
+				fileoutputstream.write(buf, 0, n);
+			}
+
+			fileoutputstream.close();
+			zipinputstream.closeEntry();
+			zipentry = zipinputstream.getNextEntry();
+
+		}// while
+
+		zipinputstream.close();
+
+		/*
+		 * ##################### Import Organizations
+		 */
+		File orgFile = new File(f, "organizations.xml");
+		if (!orgFile.exists()) {
+			throw new Exception("organizations.xml missing");
+		}
+		this.importOrganizsations(orgFile);
+
+		log.info("Organizations import complete, starting user import");
+
+		/*
+		 * ##################### Import Users
+		 */
+		File userFile = new File(f, "users.xml");
+		if (!userFile.exists()) {
+			throw new Exception("users.xml missing");
+		}
+		this.importUsers(userFile);
+
+		log.info("Users import complete, starting room import");
+
+		/*
+		 * ##################### Import Rooms
+		 */
+		File roomFile = new File(f, "rooms.xml");
+		if (!roomFile.exists()) {
+			throw new Exception("rooms.xml missing");
+		}
+		this.importRooms(roomFile);
+
+		log.info("Room import complete, starting room organizations import");
+
+		/*
+		 * ##################### Import Room Organisations
+		 */
+		File orgRoomListFile = new File(f, "rooms_organisation.xml");
+		if (!orgRoomListFile.exists()) {
+			throw new Exception("rooms_organisation.xml missing");
+		}
+		this.importOrgRooms(orgRoomListFile);
+
+		log.info("Room organizations import complete, starting appointement import");
+
+		/*
+		 * ##################### Import Appointements
+		 */
+		File appointementListFile = new File(f, "appointements.xml");
+		if (!appointementListFile.exists()) {
+			throw new Exception("appointements.xml missing");
+		}
+		this.importAppointements(appointementListFile);
+
+		log.info("Appointement import complete, starting meeting members import");
+
+		/*
+		 * ##################### Import MeetingMembers
+		 * 
+		 * Reminder Invitations will be NOT send!
+		 */
+		File meetingmembersListFile = new File(f, "meetingmembers.xml");
+		if (!meetingmembersListFile.exists()) {
+			throw new Exception("meetingmembersListFile missing");
+		}
+		this.importMeetingmembers(meetingmembersListFile);
+
+		log.info("Meeting members import complete, starting ldap config import");
+
+		/*
+		 * ##################### Import LDAP Configs
+		 */
+		File ldapConfigListFile = new File(f, "ldapconfigs.xml");
+		if (!ldapConfigListFile.exists()) {
+			log.debug("meetingmembersListFile missing");
+			// throw new Exception
+			// ("meetingmembersListFile missing");
+		} else {
+			this.importLdapConfig(ldapConfigListFile);
+		}
+
+		log.info("Ldap config import complete, starting recordings import");
+
+		/*
+		 * ##################### Import Recordings
+		 */
+		File flvRecordingsListFile = new File(f, "flvRecordings.xml");
+		if (!flvRecordingsListFile.exists()) {
+			log.debug("flvRecordingsListFile missing");
+			// throw new Exception
+			// ("meetingmembersListFile missing");
+		} else {
+			this.importFlvRecordings(flvRecordingsListFile);
+		}
+
+		log.info("FLVrecording import complete, starting private message folder import");
+
+		/*
+		 * ##################### Import Private Message Folders
+		 */
+		File privateMessageFoldersFile = new File(f, "privateMessageFolder.xml");
+		if (!privateMessageFoldersFile.exists()) {
+			log.debug("privateMessageFoldersFile missing");
+			// throw new Exception
+			// ("meetingmembersListFile missing");
+		} else {
+			this.importPrivateMessageFolders(privateMessageFoldersFile);
+		}
+
+		log.info("Private message folder import complete, starting private message import");
+
+		/*
+		 * ##################### Import Private Messages
+		 */
+		File privateMessagesFile = new File(f, "privateMessages.xml");
+		if (!privateMessagesFile.exists()) {
+			log.debug("privateMessagesFile missing");
+			// throw new Exception
+			// ("meetingmembersListFile missing");
+		} else {
+			this.importPrivateMessages(privateMessagesFile);
+		}
+
+		log.info("Private message import complete, starting usercontact import");
+
+		/*
+		 * ##################### Import User Contacts
+		 */
+		File userContactsFile = new File(f, "userContacts.xml");
+		if (!userContactsFile.exists()) {
+			log.debug("userContactsFile missing");
+			// throw new Exception
+			// ("meetingmembersListFile missing");
+		} else {
+			this.importUserContacts(userContactsFile);
+		}
+
+		log.info("Usercontact import complete, starting file explorer item import");
+
+		/*
+		 * ##################### Import File-Explorer Items
+		 */
+		File fileExplorerListFile = new File(f, "fileExplorerItems.xml");
+		if (!fileExplorerListFile.exists()) {
+			log.debug("fileExplorerListFile missing");
+			// throw new Exception
+			// ("meetingmembersListFile missing");
+		} else {
+			this.importFileExplorerItems(fileExplorerListFile);
+		}
+
+		log.info("File explorer item import complete, starting file poll import");
+
+		/*
+		 * ##################### Import Room Polls
+		 */
+		File roomPollListFile = new File(f, "roompolls.xml");
+		if (!roomPollListFile.exists()) {
+			log.debug("roomPollListFile missing");
+		} else {
+			this.importRoomPolls(roomPollListFile);
+		}
+		log.info("Poll import complete, starting configs import");
+
+		/*
+		 * ##################### Import Configs
+		 */
+		File configsFile = new File(f, "configs.xml");
+		if (!configsFile.exists()) {
+			log.debug("configsFile missing");
+		} else {
+			importConfigs(configsFile);
+		}
+		log.info("Configs import complete, starting asteriskSipUsersFile import");
+		
+		/*
+		 * ##################### Import AsteriskSipUsers
+		 */
+		File asteriskSipUsersFile = new File(f, "asterisksipusers.xml");
+		if (!asteriskSipUsersFile.exists()) {
+			log.debug("asteriskSipUsersFile missing");
+		} else {
+			importAsteriskSipUsers(asteriskSipUsersFile);
+		}
+		log.info("AsteriskSipUsers import complete, starting extensions import");
+		
+		/*
+		 * ##################### Import Extensions
+		 */
+		File extensionsFile = new File(f, "extensions.xml");
+		if (!extensionsFile.exists()) {
+			log.debug("extensionsFile missing");
+		} else {
+			importExtensions(extensionsFile);
+		}
+		log.info("Extensions import complete, starting members import");
+		
+		/*
+		 * ##################### Import Extensions
+		 */
+		File membersFile = new File(f, "members.xml");
+		if (!membersFile.exists()) {
+			log.debug("membersFile missing");
+		} else {
+			importMembers(membersFile);
+		}
+		log.info("Members import complete, starting copy of files and folders");
+
+		/*
+		 * ##################### Import real files and folders
+		 */
+		importFolders(current_dir, f);
+
+		log.info("File explorer item import complete, clearing temp files");
+		
+		deleteDirectory(f);
+	}
+	
+	@RequestMapping(value = "/backup.upload", method = RequestMethod.POST)
+	public void service(HttpServletRequest request,
+			HttpServletResponse httpServletResponse)
+			throws ServletException, IOException {
+
+    	UploadInfo info = validate(request, true);
+    	try {
+			String current_dir = context.getRealPath("/");
+			MultipartFile multipartFile = info.file;
+			InputStream is = multipartFile.getInputStream();
+			performImport(is, current_dir);
+
+			LinkedHashMap<String, Object> hs = new LinkedHashMap<String, Object>();
+			hs.put("user", usersDao.getUser(info.userId));
+			hs.put("message", "library");
+			hs.put("action", "import");
+			hs.put("error", "");
+			hs.put("fileName", info.filename);
+
+			scopeApplicationAdapter.sendMessageWithClientByPublicSID(
+					hs, info.publicSID);
+
+		} catch (Exception e) {
+
+			log.error("[ImportExport]", e);
+
+			e.printStackTrace();
+			throw new ServletException(e);
+		}
+
+		return;
+	}
+
+	private void importRoomPolls(File roomPollListFile) {
+		try {
+
+			List<RoomPoll> roomPolls = this.getRoomPolls(roomPollListFile);
+
+			for (RoomPoll roomPoll : roomPolls) {
+
+				pollManagement.savePollBackup(roomPoll);
+
+			}
+
+		} catch (Exception err) {
+			log.error("[getRoomPolls]", err);
+		}
+
+	}
+	
+	private void importMembers(File membersFile) throws Exception {
+		SAXReader reader = new SAXReader();
+		Document document = reader.read(membersFile);
+
+		Element root = document.getRootElement();
+		Element extensions = root.element("members");
+		for (@SuppressWarnings("unchecked")
+			Iterator<Element> iter = extensions.elementIterator("member"); iter.hasNext();) {
+			
+			Element extensionElem = iter.next();
+			String confno = extensionElem.elementText("confno");
+			try {
+				MeetMe meetMe = new MeetMe();
+				meetMe.setConfno(unformatString(extensionElem
+								.element("confno").getText()));
+				meetMe.setPin(unformatString(extensionElem
+						.element("pin").getText()));
+				meetMe.setAdminpin(unformatString(extensionElem
+						.element("adminpin").getText()));
+				meetMe.setMembers(importIntegerType(unformatString(extensionElem
+						.element("members").getText())));
+				
+				asteriskDAOImpl.saveMeetMe(meetMe);
+			} catch (Exception e) {
+				log.debug("failed to add/update members confno: " + confno, e);
+			}
+		}
+	}
+	
+	private void importExtensions(File extensionsFile) throws Exception {
+		SAXReader reader = new SAXReader();
+		Document document = reader.read(extensionsFile);
+
+		Element root = document.getRootElement();
+		Element extensions = root.element("extensions");
+		for (@SuppressWarnings("unchecked")
+			Iterator<Element> iter = extensions.elementIterator("extension"); iter.hasNext();) {
+			
+			Element extensionElem = iter.next();
+			String id = extensionElem.elementText("id");
+			try {
+				Extensions extension = new Extensions();
+				//the primary key must be null for new objects if its an auto-increment
+				extension.setExten(unformatString(extensionElem
+						.element("exten").getText()));
+				extension.setPriority(importIntegerType(unformatString(extensionElem
+						.element("priority").getText())));
+				extension.setApp(unformatString(extensionElem
+						.element("app").getText()));
+				extension.setAppdata(unformatString(extensionElem
+						.element("appdata").getText()));
+				
+				asteriskDAOImpl.saveExtensions(extension);
+			} catch (Exception e) {
+				log.debug("failed to add/update extensions id: " + id, e);
+			}
+		}
+	}
+	
+	private void importAsteriskSipUsers(File asteriskSipUsersFile) throws Exception {
+		SAXReader reader = new SAXReader();
+		Document document = reader.read(asteriskSipUsersFile);
+
+		Element root = document.getRootElement();
+		Element asterisksipusers = root.element("asterisksipusers");
+		for (@SuppressWarnings("unchecked")
+			Iterator<Element> iter = asterisksipusers.elementIterator("asterisksipuser"); iter.hasNext();) {
+			
+			Element asterisksipuserElem = iter.next();
+			
+			String id = asterisksipuserElem.elementText("id");
+			
+			try {
+			
+				AsteriskSipUsers asterisksipuser = new AsteriskSipUsers();
+				//the primary key must be null for new objects if its an auto-increment
+				asterisksipuser.setAccountcode(unformatString(asterisksipuserElem
+						.element("accountcode").getText()));
+				asterisksipuser.setDisallow(unformatString(asterisksipuserElem
+						.element("disallow").getText()));
+				asterisksipuser.setAllow(unformatString(asterisksipuserElem
+						.element("allow").getText()));
+				asterisksipuser.setAllowoverlap(unformatString(asterisksipuserElem
+						.element("allowoverlap").getText()));
+				asterisksipuser.setAllowsubscribe(unformatString(asterisksipuserElem
+						.element("allowsubscribe").getText()));
+				asterisksipuser.setAllowtransfer(unformatString(asterisksipuserElem
+						.element("allowtransfer").getText()));
+				asterisksipuser.setAmaflags(unformatString(asterisksipuserElem
+						.element("amaflags").getText()));
+				asterisksipuser.setAutoframing(unformatString(asterisksipuserElem
+						.element("autoframing").getText()));
+				asterisksipuser.setAuth(unformatString(asterisksipuserElem
+						.element("auth").getText()));
+				asterisksipuser.setBuggymwi(unformatString(asterisksipuserElem
+						.element("buggymwi").getText()));
+				asterisksipuser.setCallgroup(unformatString(asterisksipuserElem
+						.element("callgroup").getText()));
+				asterisksipuser.setCallerid(unformatString(asterisksipuserElem
+						.element("callerid").getText()));
+				asterisksipuser.setCid_number(unformatString(asterisksipuserElem
+						.element("cid_number").getText()));
+				asterisksipuser.setFullname(unformatString(asterisksipuserElem
+						.element("fullname").getText()));
+				asterisksipuser.setCallingpres(unformatString(asterisksipuserElem
+						.element("callingpres").getText()));
+				asterisksipuser.setCanreinvite(unformatString(asterisksipuserElem
+						.element("canreinvite").getText()));
+				asterisksipuser.setContext(unformatString(asterisksipuserElem
+						.element("context").getText()));
+				asterisksipuser.setDefaultip(unformatString(asterisksipuserElem
+						.element("defaultip").getText()));
+				asterisksipuser.setDtmfmode(unformatString(asterisksipuserElem
+						.element("dtmfmode").getText()));
+				asterisksipuser.setFromuser(unformatString(asterisksipuserElem
+						.element("fromuser").getText()));
+				asterisksipuser.setFromdomain(unformatString(asterisksipuserElem
+						.element("fromdomain").getText()));
+				asterisksipuser.setFullcontact(unformatString(asterisksipuserElem
+						.element("fullcontact").getText()));
+				asterisksipuser.setG726nonstandard(unformatString(asterisksipuserElem
+						.element("g726nonstandard").getText()));
+				asterisksipuser.setHost(unformatString(asterisksipuserElem
+						.element("host").getText()));
+				asterisksipuser.setInsecure(unformatString(asterisksipuserElem
+						.element("insecure").getText()));
+				asterisksipuser.setIpaddr(unformatString(asterisksipuserElem
+						.element("ipaddr").getText()));
+				asterisksipuser.setLanguage(unformatString(asterisksipuserElem
+						.element("language").getText()));
+				asterisksipuser.setLastms(unformatString(asterisksipuserElem
+						.element("lastms").getText()));
+				asterisksipuser.setMailbox(unformatString(asterisksipuserElem
+						.element("mailbox").getText()));
+				asterisksipuser.setMaxcallbitrate(importIntegerType(unformatString(asterisksipuserElem
+						.element("maxcallbitrate").getText())));
+				asterisksipuser.setMohsuggest(unformatString(asterisksipuserElem
+						.element("mohsuggest").getText()));
+				asterisksipuser.setMd5secret(unformatString(asterisksipuserElem
+						.element("md5secret").getText()));
+				asterisksipuser.setMusiconhold(unformatString(asterisksipuserElem
+						.element("musiconhold").getText()));
+				asterisksipuser.setName(unformatString(asterisksipuserElem
+						.element("name").getText()));
+				asterisksipuser.setNat(unformatString(asterisksipuserElem
+						.element("nat").getText()));
+				asterisksipuser.setOutboundproxy(unformatString(asterisksipuserElem
+						.element("outboundproxy").getText()));
+				asterisksipuser.setDeny(unformatString(asterisksipuserElem
+						.element("deny").getText()));
+				asterisksipuser.setPermit(unformatString(asterisksipuserElem
+						.element("permit").getText()));
+				asterisksipuser.setPickupgroup(unformatString(asterisksipuserElem
+						.element("pickupgroup").getText()));
+				asterisksipuser.setPort(unformatString(asterisksipuserElem
+						.element("port").getText()));
+				asterisksipuser.setProgressinband(unformatString(asterisksipuserElem
+						.element("progressinband").getText()));
+				asterisksipuser.setPromiscredir(unformatString(asterisksipuserElem
+						.element("promiscredir").getText()));
+				asterisksipuser.setQualify(unformatString(asterisksipuserElem
+						.element("qualify").getText()));
+				asterisksipuser.setRegexten(unformatString(asterisksipuserElem
+						.element("regexten").getText()));
+				asterisksipuser.setRegseconds(importIntegerType(unformatString(asterisksipuserElem
+						.element("regseconds").getText())));
+				asterisksipuser.setRfc2833compensate(unformatString(asterisksipuserElem
+						.element("rfc2833compensate").getText()));
+				asterisksipuser.setRtptimeout(unformatString(asterisksipuserElem
+						.element("rtptimeout").getText()));
+				asterisksipuser.setRtpholdtimeout(unformatString(asterisksipuserElem
+						.element("rtpholdtimeout").getText()));
+				asterisksipuser.setSecret(unformatString(asterisksipuserElem
+						.element("secret").getText()));
+				asterisksipuser.setSendrpid(unformatString(asterisksipuserElem
+						.element("sendrpid").getText()));
+				asterisksipuser.setSetvar(unformatString(asterisksipuserElem
+						.element("setvar").getText()));
+				asterisksipuser.setSubscribecontext(unformatString(asterisksipuserElem
+						.element("subscribecontext").getText()));
+				asterisksipuser.setSubscribemwi(unformatString(asterisksipuserElem
+						.element("subscribemwi").getText()));
+				asterisksipuser.setT38pt_udptl(unformatString(asterisksipuserElem
+						.element("t38pt_udptl").getText()));
+				asterisksipuser.setTrustrpid(unformatString(asterisksipuserElem
+						.element("trustrpid").getText()));
+				asterisksipuser.setType(unformatString(asterisksipuserElem
+						.element("type").getText()));
+				asterisksipuser.setUseclientcode(unformatString(asterisksipuserElem
+						.element("useclientcode").getText()));
+				asterisksipuser.setUsername(unformatString(asterisksipuserElem
+						.element("username").getText()));
+				asterisksipuser.setUsereqphone(unformatString(asterisksipuserElem
+						.element("usereqphone").getText()));
+				asterisksipuser.setVideosupport(unformatString(asterisksipuserElem
+						.element("videosupport").getText()));
+				asterisksipuser.setVmexten(unformatString(asterisksipuserElem
+						.element("vmexten").getText()));
+				
+				asteriskDAOImpl.saveAsteriskSipUsers(asterisksipuser);
+				
+			} catch (Exception e) {
+				log.debug("failed to add/update asterisksipuser id: "+id, e);
+			}
+		}
+	}
+	
+	private void importConfigs(File configsFile) throws Exception {
+		SAXReader reader = new SAXReader();
+		Document document = reader.read(configsFile);
+
+		Element root = document.getRootElement();
+		Element configs = root.element("configs");
+		for (@SuppressWarnings("unchecked")
+			Iterator<Element> iter = configs.elementIterator("config"); iter.hasNext();) {
+			
+			Element cfgElem = iter.next();
+			String key = cfgElem.elementText("key");
+			try {
+				Configuration cfg = cfgManagement.getConfKey(3L, key);
+				if (cfg == null) {
+					cfg = new Configuration();
+					cfg.setConf_key(key);
+				}
+				cfg.setConf_value(cfgElem.elementText("value"));
+				cfg.setUpdatetime(new Date());
+				cfg.setDeleted(cfgElem.elementText("deleted"));
+				cfg.setComment(cfgElem.elementText("comment"));
+				cfgManagement.updateConfig(cfg);
+			} catch (Exception e) {
+				log.debug("failed to add/update configuration: " + key, e);
+			}
+		}
+	}
+	
+	@SuppressWarnings("unchecked")
+	private List<RoomPoll> getRoomPolls(File roomPollListFile) throws Exception {
+
+		List<RoomPoll> roomPollList = new LinkedList<RoomPoll>();
+
+		SAXReader reader = new SAXReader();
+		Document document = reader.read(roomPollListFile);
+
+		Element root = document.getRootElement();
+
+		for (Iterator<Element> i = root.elementIterator(); i.hasNext();) {
+
+			Element itemObject = i.next();
+
+			if (itemObject.getName().equals("roompolls")) {
+
+				for (Iterator<Element> innerIter = itemObject
+						.elementIterator("roompoll"); innerIter.hasNext();) {
+
+					Element roompollObject = innerIter.next();
+
+					String pollname = unformatString(roompollObject.element(
+							"pollname").getText());
+					String pollquestion = unformatString(roompollObject
+							.element("pollquestion").getText());
+					Boolean archived = importBooleanType(unformatString(roompollObject
+							.element("archived").getText()));
+					Date created = CalendarPatterns
+							.parseImportDate(unformatString(roompollObject
+									.element("created").getText()));
+					Long createdbyuserid = importLongType(unformatString(roompollObject
+							.element("createdbyuserid").getText()));
+					Long polltypeid = importLongType(unformatString(roompollObject
+							.element("polltypeid").getText()));
+					Long roomid = importLongType(unformatString(roompollObject
+							.element("roomid").getText()));
+					
+					RoomPoll roomPoll = new RoomPoll();
+					roomPoll.setPollName(pollname);
+					roomPoll.setPollQuestion(pollquestion);
+					if (archived != null) {
+						roomPoll.setArchived(archived.booleanValue());
+					} else {
+						roomPoll.setArchived(true);
+					}
+					roomPoll.setCreated(created);
+					roomPoll.setCreatedBy(usersDao.getUser(getNewId(createdbyuserid, Maps.USERS)));
+					roomPoll.setPollType(pollManagement.getPollType(polltypeid));
+					roomPoll.setRoom(roommanagement.getRoomById(getNewId(roomid, Maps.ROOMS)));
+					roomPoll.setRoomPollAnswerList(new LinkedList<RoomPollAnswers>());
+					
+					Element roompollanswers = roompollObject
+							.element("roompollanswers");
+
+					for (Iterator<Element> innerIterAnswers = roompollanswers
+							.elementIterator("roompollanswer"); innerIterAnswers
+							.hasNext();) {
+
+						Element innerIterAnswerObj = innerIterAnswers.next();
+
+						Integer pointlist = importIntegerType(unformatString(innerIterAnswerObj
+								.element("pointlist").getText()));
+						Boolean answer = importBooleanType(unformatString(innerIterAnswerObj
+								.element("answer").getText()));
+						Date votedate = CalendarPatterns
+								.parseImportDate(unformatString(innerIterAnswerObj
+										.element("votedate").getText()));
+						Long voteduserid = importLongType(unformatString(innerIterAnswerObj
+								.element("voteduserid").getText()));
+						
+						RoomPollAnswers roomPollAnswers = new RoomPollAnswers();
+						roomPollAnswers.setPointList(pointlist);
+						roomPollAnswers.setAnswer(answer);
+						roomPollAnswers.setVoteDate(votedate);
+						roomPollAnswers.setVotedUser(usersDao.getUser(getNewId(voteduserid, Maps.USERS)));
+						
+						roomPoll.getRoomPollAnswerList().add(roomPollAnswers);
+					}
+					
+					roomPollList.add(roomPoll);
+
+				}
+
+			}
+
+		}
+
+		return roomPollList;
+
+	}
+
+	public void copyDirectory(File sourceLocation, File targetLocation)
+			throws IOException {
+
+		// log.debug("^^^^ "+sourceLocation.getName()+" || "+targetLocation.getName());
+
+		if (sourceLocation.isDirectory()) {
+			if (!targetLocation.exists()) {
+				targetLocation.mkdir();
+			}
+
+			String[] children = sourceLocation.list();
+			for (int i = 0; i < children.length; i++) {
+				copyDirectory(new File(sourceLocation, children[i]), new File(
+						targetLocation, children[i]));
+			}
+		} else {
+
+			InputStream in = new FileInputStream(sourceLocation);
+			OutputStream out = new FileOutputStream(targetLocation);
+
+			// Copy the bits from instream to outstream
+			byte[] buf = new byte[1024];
+			int len;
+			while ((len = in.read(buf)) > 0) {
+				out.write(buf, 0, len);
+			}
+			in.close();
+			out.close();
+		}
+	}
+
+	public void copyFile(File sourceLocation, File targetLocation)
+			throws IOException {
+
+		InputStream in = new FileInputStream(sourceLocation);
+		OutputStream out = new FileOutputStream(targetLocation);
+
+		// Copy the bits from instream to outstream
+		byte[] buf = new byte[1024];
+		int len;
+		while ((len = in.read(buf)) > 0) {
+			out.write(buf, 0, len);
+		}
+		in.close();
+		out.close();
+	}
+
+	public boolean deleteDirectory(File path) throws IOException {
+		if (path.exists()) {
+			File[] files = path.listFiles();
+			for (int i = 0; i < files.length; i++) {
+				if (files[i].isDirectory()) {
+					deleteDirectory(files[i]);
+				} else {
+					files[i].delete();
+				}
+			}
+		}
+		return (path.delete());
+	}
+
+	private void importUsers(File userFile) throws Exception {
+
+		this.getUsersByXML(userFile);
+
+	}
+
+	@SuppressWarnings("unchecked")
+	private void getUsersByXML(File userFile) {
+		try {
+
+			SAXReader reader = new SAXReader();
+			Document document = reader.read(userFile);
+
+			Element root = document.getRootElement();
+
+			for (Iterator<Element> i = root.elementIterator(); i.hasNext();) {
+				Element itemObject = i.next();
+				if (itemObject.getName().equals("users")) {
+
+					for (Iterator<Element> innerIter = itemObject
+							.elementIterator("user"); innerIter.hasNext();) {
+
+						Element itemUsers = innerIter.next();
+
+						Users us = new Users();
+						Long userId = Long.valueOf(unformatString(itemUsers
+								.element("user_id").getText()));
+
+						us.setAge(CalendarPatterns
+								.parseImportDate(unformatString(itemUsers
+										.element("age").getText())));
+						us.setAvailible(importIntegerType(unformatString(itemUsers
+								.element("availible").getText())));
+						us.setDeleted(unformatString(itemUsers.element(
+								"deleted").getText()));
+						us.setFirstname(unformatString(itemUsers.element(
+								"firstname").getText()));
+						us.setLastname(unformatString(itemUsers.element(
+								"lastname").getText()));
+						us.setLogin(unformatString(itemUsers.element("login")
+								.getText()));
+						us.setPassword(unformatString(itemUsers.element("pass")
+								.getText()));
+						us.setDeleted(itemUsers.element("deleted").getText());
+
+						if (itemUsers.element("activatehash") != null) {
+							us.setActivatehash(unformatString(itemUsers
+									.element("activatehash").getText()));
+						} else {
+							us.setActivatehash("");
+						}
+						if (itemUsers.element("externalUserType") != null) {
+							us.setExternalUserType(unformatString(itemUsers
+									.element("externalUserType").getText()));
+						} else {
+							us.setExternalUserType("");
+						}
+						if (itemUsers.element("externalUserId") != null) {
+							us.setExternalUserId(unformatString(itemUsers
+									.element("externalUserId").getText()));
+						} else {
+							us.setExternalUserId(null);
+						}
+						if (itemUsers.element("resethash") != null) {
+							us.setResethash(unformatString(itemUsers.element(
+									"resethash").getText()));
+						} else {
+							us.setResethash(null);
+						}
+						if (itemUsers.element("userOffers") != null) {
+							us.setUserOffers(unformatString(itemUsers.element(
+									"userOffers").getText()));
+						} else {
+							us.setUserOffers("");
+						}
+						if (itemUsers.element("userSearchs") != null) {
+							us.setUserSearchs(unformatString(itemUsers.element(
+									"userSearchs").getText()));
+						} else {
+							us.setUserSearchs("");
+						}
+						if (itemUsers.element("forceTimeZoneCheck") != null) {
+							us.setForceTimeZoneCheck(importBooleanType(unformatString(itemUsers
+									.element("forceTimeZoneCheck").getText())));
+						} else {
+							us.setForceTimeZoneCheck(null);
+						}
+						if (itemUsers.element("lasttrans") != null) {
+							us.setLasttrans(importLongType(unformatString(itemUsers
+									.element("lasttrans").getText())));
+						} else {
+							us.setLasttrans(null);
+						}
+						if (itemUsers.element("showContactData") != null) {
+							us.setShowContactData(importBooleanType(unformatString(itemUsers
+									.element("showContactData").getText())));
+						} else {
+							us.setShowContactData(null);
+						}
+						if (itemUsers.element("showContactDataToContacts") != null) {
+							us.setShowContactDataToContacts(importBooleanType(unformatString(itemUsers
+									.element("showContactDataToContacts")
+									.getText())));
+						} else {
+							us.setShowContactDataToContacts(null);
+						}
+
+						us.setPictureuri(unformatString(itemUsers.element(
+								"pictureuri").getText()));
+						if (unformatString(
+								itemUsers.element("language_id").getText())
+								.length() > 0)
+							us.setLanguage_id(Long
+									.valueOf(unformatString(itemUsers.element(
+											"language_id").getText())));
+
+						us.setStatus(importIntegerType(unformatString(itemUsers
+								.element("status").getText())));
+						us.setRegdate(CalendarPatterns
+								.parseImportDate(unformatString(itemUsers
+										.element("regdate").getText())));
+						us.setTitle_id(importIntegerType(unformatString(itemUsers
+								.element("title_id").getText())));
+						us.setLevel_id(importLongType(unformatString(itemUsers
+								.element("level_id").getText())));
+
+						// UserSIP Data
+						if (itemUsers.element("sip_username") != null
+								&& itemUsers.element("sip_userpass") != null
+								&& itemUsers.element("sip_authid") != null) {
+							UserSipData userSipData = new UserSipData();
+							userSipData.setUsername(unformatString(itemUsers
+									.element("sip_username").getText()));
+							userSipData.setUsername(unformatString(itemUsers
+									.element("sip_userpass").getText()));
+							userSipData.setUsername(unformatString(itemUsers
+									.element("sip_authid").getText()));
+							us.setUserSipData(userSipData);
+						}
+
+						String additionalname = unformatString(itemUsers
+								.element("additionalname").getText());
+						String comment = unformatString(itemUsers.element(
+								"comment").getText());
+						// A User can not have a deleted Adress, you cannot
+						// delete the
+						// Adress of an User
+						// String deleted = u.getAdresses().getDeleted()
+						// Phone Number not done yet
+						String fax = unformatString(itemUsers.element("fax")
+								.getText());
+						Long state_id = importLongType(unformatString(itemUsers
+								.element("state_id").getText()));
+						String street = unformatString(itemUsers.element(
+								"street").getText());
+						String town = unformatString(itemUsers.element("town")
+								.getText());
+						String zip = unformatString(itemUsers.element("zip")
+								.getText());
+
+						if (itemUsers.element("omTimeZone") != null) {
+							OmTimeZone omTimeZone = omTimeZoneDaoImpl
+									.getOmTimeZone(unformatString(itemUsers
+											.element("omTimeZone").getText()));
+
+							us.setOmTimeZone(omTimeZone);
+							us.setForceTimeZoneCheck(false);
+						} else {
+
+							String jNameTimeZone = cfgManagement.getConfValue("default.timezone", String.class, "Europe/Berlin");
+							OmTimeZone omTimeZone = omTimeZoneDaoImpl
+									.getOmTimeZone(jNameTimeZone);
+							us.setOmTimeZone(omTimeZone);
+							us.setForceTimeZoneCheck(true);
+						}
+
+						String phone = "";
+						if (itemUsers.element("phone") != null) {
+							phone = unformatString(itemUsers.element("phone")
+									.getText());
+						}
+
+						String email = "";
+						if (itemUsers.element("mail") != null) {
+							email = unformatString(itemUsers.element("mail")
+									.getText());
+						}
+
+						States st = statemanagement.getStateById(state_id);
+						if (st == null) {
+							st = statemanagement.getStateById(1L);
+						}
+
+						us.setAdresses(street, zip, town,
+								st, additionalname, comment, fax,
+								phone, email);
+
+						HashSet<Organisation_Users> orgUsers = new HashSet<Organisation_Users>();
+
+						for (Iterator<Element> organisationsIterator = itemUsers
+								.elementIterator("organisations"); organisationsIterator
+								.hasNext();) {
+
+							Element organisations = organisationsIterator
+									.next();
+
+							for (Iterator<Element> organisationIterator = organisations
+									.elementIterator("user_organisation"); organisationIterator
+									.hasNext();) {
+
+								Element organisationObject = organisationIterator
+										.next();
+
+								Long organisation_id = getNewId(
+										importLongType(unformatString(organisationObject
+												.element("organisation_id")
+												.getText())),
+										Maps.ORGANISATIONS);
+								Boolean isModerator = importBooleanType(unformatString(organisationObject
+										.element("isModerator").getText()));
+								String deleted = unformatString(organisationObject
+										.element("deleted").getText());
+
+								Organisation_Users orgUser = new Organisation_Users();
+								orgUser.setOrganisation(organisationmanagement
+										.getOrganisationByIdBackup(organisation_id));
+								orgUser.setIsModerator(isModerator);
+								orgUser.setStarttime(new Date());
+								orgUser.setDeleted(deleted);
+
+								orgUsers.add(orgUser);
+
+							}
+
+						}
+
+						log.debug("Import User ID " + userId);
+						us.setStarttime(new Date());
+						Long actualNewUserId = userManagement.addUserBackup(us);
+						usersMap.put(userId, actualNewUserId);
+
+						for (Iterator<Organisation_Users> orgUserIterator = orgUsers
+								.iterator(); orgUserIterator.hasNext();) {
+
+							Organisation_Users organisationUsers = orgUserIterator
+									.next();
+
+							organisationmanagement
+									.addOrganisationUserObj(actualNewUserId, organisationUsers);
+
+						}
+
+					}
+
+				}
+			}
+
+		} catch (Exception err) {
+			log.error("[getUsersByXML]", err);
+		}
+	}
+
+	private void importFlvRecordings(File flvRecordingsListFile)
+			throws Exception {
+
+		List<FlvRecording> flvRecordings = this
+				.getFlvRecordings(flvRecordingsListFile);
+
+		for (FlvRecording flvRecording : flvRecordings) {
+
+			Long flvRecordingId = flvRecordingDao
+					.addFlvRecordingObj(flvRecording);
+
+			for (FlvRecordingMetaData flvRecordingMetaData : flvRecording
+					.getFlvRecordingMetaData()) {
+
+				FlvRecording flvRecordingSaved = flvRecordingDao
+						.getFlvRecordingById(flvRecordingId);
+
+				flvRecordingMetaData.setFlvRecording(flvRecordingSaved);
+
+				flvRecordingMetaDataDao
+						.addFlvRecordingMetaDataObj(flvRecordingMetaData);
+
+			}
+
+		}
+
+	}
+
+	@SuppressWarnings("unchecked")
+	private List<FlvRecording> getFlvRecordings(File flvRecordingsListFile) {
+		try {
+
+			List<FlvRecording> flvList = new LinkedList<FlvRecording>();
+
+			SAXReader reader = new SAXReader();
+			Document document = reader.read(flvRecordingsListFile);
+
+			Element root = document.getRootElement();
+
+			for (Iterator<Element> i = root.elementIterator(); i.hasNext();) {
+
+				Element itemObject = i.next();
+
+				if (itemObject.getName().equals("flvrecordings")) {
+
+					for (Iterator<Element> innerIter = itemObject
+							.elementIterator("flvrecording"); innerIter
+							.hasNext();) {
+
+						Element flvObject = innerIter.next();
+
+						String alternateDownload = unformatString(flvObject
+								.element("alternateDownload").getText());
+						String comment = unformatString(flvObject.element(
+								"comment").getText());
+						String deleted = unformatString(flvObject.element(
+								"deleted").getText());
+						String fileHash = unformatString(flvObject.element(
+								"fileHash").getText());
+						String fileName = unformatString(flvObject.element(
+								"fileName").getText());
+						String previewImage = unformatString(flvObject.element(
+								"previewImage").getText());
+						String recorderStreamId = unformatString(flvObject
+								.element("recorderStreamId").getText());
+						Long fileSize = importLongType(unformatString(flvObject
+								.element("fileSize").getText()));
+						Integer flvHeight = importIntegerType(unformatString(flvObject
+								.element("flvHeight").getText()));
+						Integer flvWidth = importIntegerType(unformatString(flvObject
+								.element("flvWidth").getText()));
+						Integer height = importIntegerType(unformatString(flvObject
+								.element("height").getText()));
+						Integer width = importIntegerType(unformatString(flvObject
+								.element("width").getText()));
+						Long insertedBy = getNewId(
+								importLongType(unformatString(flvObject
+										.element("insertedBy").getText())),
+								Maps.USERS);
+						Long organization_id = getNewId(
+								importLongType(unformatString(flvObject
+										.element("organization_id").getText())),
+								Maps.ORGANISATIONS);
+						Long ownerId = getNewId(
+								importLongType(unformatString(flvObject
+										.element("ownerId").getText())),
+								Maps.USERS);
+						Long parentFileExplorerItemId = getNewId(
+								importLongType(unformatString(flvObject
+										.element("parentFileExplorerItemId")
+										.getText())), Maps.FILEEXPLORERITEMS);
+						Integer progressPostProcessing = importIntegerType(unformatString(flvObject
+								.element("progressPostProcessing").getText()));
+						Long room_id = getNewId(
+								importLongType(unformatString(flvObject
+										.element("room_id").getText())),
+								Maps.ROOMS);
+						Date inserted = CalendarPatterns
+								.parseImportDate(unformatString(flvObject
+										.element("inserted").getText()));
+						Boolean isFolder = importBooleanType(unformatString(flvObject
+								.element("isFolder").getText()));
+						Boolean isImage = importBooleanType(unformatString(flvObject
+								.element("isImage").getText()));
+						Boolean isInterview = importBooleanType(unformatString(flvObject
+								.element("isInterview").getText()));
+						Boolean isPresentation = importBooleanType(unformatString(flvObject
+								.element("isPresentation").getText()));
+						Boolean isRecording = importBooleanType(unformatString(flvObject
+								.element("isRecording").getText()));
+						Date recordEnd = CalendarPatterns
+								.parseImportDate(unformatString(flvObject
+										.element("recordEnd").getText()));
+						Date recordStart = CalendarPatterns
+								.parseImportDate(unformatString(flvObject
+										.element("recordStart").getText()));
+
+						FlvRecording flvRecording = new FlvRecording();
+						flvRecording.setAlternateDownload(alternateDownload);
+						flvRecording.setComment(comment);
+						flvRecording.setFileHash(fileHash);
+						flvRecording.setFileName(fileName);
+						flvRecording.setPreviewImage(previewImage);
+						flvRecording.setRecorderStreamId(recorderStreamId);
+						flvRecording.setFileSize(fileSize);
+						flvRecording.setFlvHeight(flvHeight);
+						flvRecording.setFlvWidth(flvWidth);
+						flvRecording.setHeight(height);
+						flvRecording.setWidth(width);
+						flvRecording.setInsertedBy(insertedBy);
+						flvRecording.setOrganization_id(organization_id);
+						flvRecording.setOwnerId(ownerId);
+						flvRecording
+								.setParentFileExplorerItemId(parentFileExplorerItemId);
+						flvRecording
+								.setProgressPostProcessing(progressPostProcessing);
+						flvRecording.setRoom_id(room_id);
+						flvRecording.setInserted(inserted);
+						flvRecording.setIsFolder(isFolder);
+						flvRecording.setIsImage(isImage);
+						flvRecording.setIsInterview(isInterview);
+						flvRecording.setIsPresentation(isPresentation);
+						flvRecording.setIsRecording(isRecording);
+						flvRecording.setRecordEnd(recordEnd);
+						flvRecording.setRecordStart(recordStart);
+						flvRecording.setDeleted(deleted);
+
+						flvRecording
+								.setFlvRecordingMetaData(new LinkedList<FlvRecordingMetaData>());
+
+						Element flvrecordingmetadatas = flvObject
+								.element("flvrecordingmetadatas");
+
+						for (Iterator<Element> innerIterMetas = flvrecordingmetadatas
+								.elementIterator("flvrecordingmetadata"); innerIterMetas
+								.hasNext();) {
+
+							Element flvrecordingmetadataObj = innerIterMetas
+									.next();
+
+							String freeTextUserName = unformatString(flvrecordingmetadataObj
+									.element("freeTextUserName").getText());
+							String fullWavAudioData = unformatString(flvrecordingmetadataObj
+									.element("fullWavAudioData").getText());
+							String streamName = unformatString(flvrecordingmetadataObj
+									.element("streamName").getText());
+							String wavAudioData = unformatString(flvrecordingmetadataObj
+									.element("wavAudioData").getText());
+							Integer initialGapSeconds = importIntegerType(unformatString(flvrecordingmetadataObj
+									.element("initialGapSeconds").getText()));
+							Long insertedBy1 = importLongType(unformatString(flvrecordingmetadataObj
+									.element("insertedBy").getText()));
+							Integer interiewPodId = importIntegerType(unformatString(flvrecordingmetadataObj
+									.element("interiewPodId").getText()));
+							Boolean audioIsValid = importBooleanType(unformatString(flvrecordingmetadataObj
+									.element("audioIsValid").getText()));
+							Date inserted1 = CalendarPatterns
+									.parseImportDate(unformatString(flvrecordingmetadataObj
+											.element("inserted").getText()));
+							Boolean isAudioOnly = importBooleanType(unformatString(flvrecordingmetadataObj
+									.element("isAudioOnly").getText()));
+							Boolean isScreenData = importBooleanType(unformatString(flvrecordingmetadataObj
+									.element("isScreenData").getText()));
+							Boolean isVideoOnly = importBooleanType(unformatString(flvrecordingmetadataObj
+									.element("isVideoOnly").getText()));
+							Date recordEnd1 = CalendarPatterns
+									.parseImportDate(unformatString(flvrecordingmetadataObj
+											.element("recordEnd").getText()));
+							Date recordStart1 = CalendarPatterns
+									.parseImportDate(unformatString(flvrecordingmetadataObj
+											.element("recordStart").getText()));
+							Date updated = CalendarPatterns
+									.parseImportDate(unformatString(flvrecordingmetadataObj
+											.element("updated").getText()));
+
+							FlvRecordingMetaData flvrecordingmetadata = new FlvRecordingMetaData();
+							flvrecordingmetadata
+									.setFreeTextUserName(freeTextUserName);
+							flvrecordingmetadata
+									.setFullWavAudioData(fullWavAudioData);
+							flvrecordingmetadata.setStreamName(streamName);
+							flvrecordingmetadata.setWavAudioData(wavAudioData);
+							flvrecordingmetadata
+									.setInitialGapSeconds(initialGapSeconds);
+							flvrecordingmetadata.setInsertedBy(insertedBy1);
+							flvrecordingmetadata
+									.setInteriewPodId(interiewPodId);
+							flvrecordingmetadata.setAudioIsValid(audioIsValid);
+							flvrecordingmetadata.setInserted(inserted1);
+							flvrecordingmetadata.setIsAudioOnly(isAudioOnly);
+							flvrecordingmetadata.setIsScreenData(isScreenData);
+							flvrecordingmetadata.setIsVideoOnly(isVideoOnly);
+							flvrecordingmetadata.setRecordEnd(recordEnd1);
+							flvrecordingmetadata.setRecordStart(recordStart1);
+							flvrecordingmetadata.setUpdated(updated);
+							flvrecordingmetadata.setDeleted("false");
+
+							flvRecording.getFlvRecordingMetaData().add(
+									flvrecordingmetadata);
+
+						}
+
+						flvList.add(flvRecording);
+
+					}
+
+				}
+			}
+
+			return flvList;
+
+		} catch (Exception err) {
+			log.error("[getFlvRecordings]", err);
+		}
+		return null;
+	}
+
+	private void importPrivateMessageFolders(File privateMessageFoldersFile)
+			throws Exception {
+
+		List<PrivateMessageFolder> privateMessageFolders = this
+				.getPrivateMessageFoldersByXML(privateMessageFoldersFile);
+
+		for (PrivateMessageFolder privateMessageFolder : privateMessageFolders) {
+
+			Long folderId = privateMessageFolder.getPrivateMessageFolderId();
+			PrivateMessageFolder storedFolder = privateMessageFolderDao
+					.getPrivateMessageFolderById(folderId);
+			if (storedFolder == null) {
+				privateMessageFolder.setPrivateMessageFolderId(0);
+				Long newFolderId = privateMessageFolderDao
+						.addPrivateMessageFolderObj(privateMessageFolder);
+				messageFoldersMap.put(folderId, newFolderId);
+			}
+		}
+
+	}
+
+	@SuppressWarnings("unchecked")
+	private List<PrivateMessageFolder> getPrivateMessageFoldersByXML(
+			File privateMessageFoldersFile) {
+		try {
+
+			List<PrivateMessageFolder> pmfList = new LinkedList<PrivateMessageFolder>();
+
+			SAXReader reader = new SAXReader();
+			Document document = reader.read(privateMessageFoldersFile);
+
+			Element root = document.getRootElement();
+
+			for (Iterator<Element> i = root.elementIterator(); i.hasNext();) {
+				Element itemObject = i.next();
+				if (itemObject.getName().equals("privatemessagefolders")) {
+
+					for (Iterator<Element> innerIter = itemObject
+							.elementIterator("privatemessagefolder"); innerIter
+							.hasNext();) {
+
+						Element pmfObject = innerIter.next();
+
+						String folderName = unformatString(pmfObject.element(
+								"folderName").getText());
+						Long userId = getNewId(
+								importLongType(unformatString(pmfObject
+										.element("userId").getText())),
+								Maps.USERS);
+						Long privateMessageFolderId = importLongType(unformatString(pmfObject
+								.element("privateMessageFolderId").getText()));
+
+						PrivateMessageFolder privateMessageFolder = new PrivateMessageFolder();
+						privateMessageFolder.setFolderName(folderName);
+						privateMessageFolder.setUserId(userId);
+						privateMessageFolder
+								.setPrivateMessageFolderId(privateMessageFolderId);
+
+						pmfList.add(privateMessageFolder);
+
+					}
+
+				}
+			}
+
+			return pmfList;
+
+		} catch (Exception err) {
+			log.error("[getPrivateMessageFoldersByXML]", err);
+		}
+		return null;
+	}
+
+	private void importPrivateMessages(File privateMessagesFile)
+			throws Exception {
+
+		List<PrivateMessages> pmList = this
+				.getPrivateMessagesByXML(privateMessagesFile);
+
+		for (PrivateMessages pm : pmList) {
+			privateMessagesDao.addPrivateMessageObj(pm);
+		}
+
+	}
+
+	@SuppressWarnings("unchecked")
+	private List<PrivateMessages> getPrivateMessagesByXML(
+			File privateMessagesFile) {
+		try {
+
+			List<PrivateMessages> pmList = new LinkedList<PrivateMessages>();
+
+			SAXReader reader = new SAXReader();
+			Document document = reader.read(privateMessagesFile);
+
+			Element root = document.getRootElement();
+
+			for (Iterator<Element> i = root.elementIterator(); i.hasNext();) {
+				Element itemObject = i.next();
+				if (itemObject.getName().equals("privatemessages")) {
+
+					for (Iterator<Element> innerIter = itemObject
+							.elementIterator("privatemessage"); innerIter
+							.hasNext();) {
+
+						Element pmObject = innerIter.next();
+
+						String message = unformatString(pmObject.element(
+								"message").getText());
+						String subject = unformatString(pmObject.element(
+								"subject").getText());
+						Long privateMessageFolderId = getNewId(
+								importLongType(unformatString(pmObject.element(
+										"privateMessageFolderId").getText())),
+								Maps.MESSAGEFOLDERS);
+						Long userContactId = getNewId(
+								importLongType(unformatString(pmObject.element(
+										"userContactId").getText())),
+								Maps.USERCONTACTS);
+						Long parentMessage = importLongType(unformatString(pmObject
+								.element("parentMessage").getText()));
+						Boolean bookedRoom = importBooleanType(unformatString(pmObject
+								.element("bookedRoom").getText()));
+						Users from = userManagement.getUserById(getNewId(
+								importLongType(unformatString(pmObject.element(
+										"from").getText())), Maps.USERS));
+						Users to = userManagement.getUserById(getNewId(
+								importLongType(unformatString(pmObject.element(
+										"to").getText())), Maps.USERS));
+						Date inserted = CalendarPatterns
+								.parseImportDate(unformatString(pmObject
+										.element("inserted").getText()));
+						Boolean isContactRequest = importBooleanType(unformatString(pmObject
+								.element("isContactRequest").getText()));
+						Boolean isRead = importBooleanType(unformatString(pmObject
+								.element("isRead").getText()));
+						Boolean isTrash = importBooleanType(unformatString(pmObject
+								.element("isTrash").getText()));
+						Users owner = userManagement.getUserById(getNewId(
+								importLongType(unformatString(pmObject.element(
+										"owner").getText())), Maps.USERS));
+						Rooms room = roommanagement.getRoomById(getNewId(
+								importLongType(unformatString(pmObject.element(
+										"room").getText())), Maps.ROOMS));
+
+						PrivateMessages pm = new PrivateMessages();
+						pm.setMessage(message);
+						pm.setSubject(subject);
+						pm.setPrivateMessageFolderId(privateMessageFolderId);
+						pm.setUserContactId(userContactId);
+						pm.setParentMessage(parentMessage);
+						pm.setBookedRoom(bookedRoom);
+						pm.setFrom(from);
+						pm.setTo(to);
+						pm.setInserted(inserted);
+						pm.setIsContactRequest(isContactRequest);
+						pm.setIsRead(isRead);
+						pm.setIsTrash(isTrash);
+						pm.setOwner(owner);
+						pm.setRoom(room);
+
+						pmList.add(pm);
+
+					}
+
+				}
+			}
+
+			return pmList;
+
+		} catch (Exception err) {
+			log.error("[getPrivateMessagesByXML]", err);
+		}
+		return null;
+	}
+
+	private void importUserContacts(File userContactsFile) throws Exception {
+
+		List<UserContacts> ucList = this.getUserContactsByXML(userContactsFile);
+
+		for (UserContacts uc : ucList) {
+			Long userContactId = uc.getUserContactId();
+			UserContacts storedUC = userContactsDao
+					.getUserContacts(userContactId);
+
+			if (storedUC == null) {
+				uc.setUserContactId(0);
+				Long newId = userContactsDao.addUserContactObj(uc);
+				this.userContactsMap.put(userContactId, newId);
+			}
+		}
+	}
+
+	@SuppressWarnings("unchecked")
+	private List<UserContacts> getUserContactsByXML(File userContactsFile) {
+		try {
+
+			List<UserContacts> ucList = new LinkedList<UserContacts>();
+
+			SAXReader reader = new SAXReader();
+			Document document = reader.read(userContactsFile);
+
+			Element root = document.getRootElement();
+
+			for (Iterator<Element> i = root.elementIterator(); i.hasNext();) {
+				Element itemObject = i.next();
+				if (itemObject.getName().equals("usercontacts")) {
+
+					for (Iterator<Element> innerIter = itemObject
+							.elementIterator("usercontact"); innerIter
+							.hasNext();) {
+
+						Element usercontact = innerIter.next();
+
+						String hash = unformatString(usercontact
+								.element("hash").getText());
+						Users contact = userManagement.getUserById(getNewId(
+								importLongType(unformatString(usercontact
+										.element("contact").getText())),
+								Maps.USERS));
+						Users owner = userManagement.getUserById(getNewId(
+								importLongType(unformatString(usercontact
+										.element("owner").getText())),
+								Maps.USERS));
+						Boolean pending = importBooleanType(unformatString(usercontact
+								.element("pending").getText()));
+						Boolean shareCalendar = importBooleanType(unformatString(usercontact
+								.element("shareCalendar").getText()));
+						Long userContactId = importLongType(unformatString(usercontact
+								.element("userContactId").getText()));
+
+						UserContacts userContacts = new UserContacts();
+						userContacts.setHash(hash);
+						userContacts.setContact(contact);
+						userContacts.setOwner(owner);
+						userContacts.setPending(pending);
+						userContacts.setShareCalendar(shareCalendar);
+						userContacts.setUserContactId(userContactId);
+
+						ucList.add(userContacts);
+
+					}
+
+				}
+			}
+
+			return ucList;
+
+		} catch (Exception err) {
+			log.error("[getUserContactsByXML]", err);
+		}
+		return null;
+	}
+
+	private void importOrganizsations(File orgFile) {
+		try {
+			SAXReader reader = new SAXReader();
+			Document document = reader.read(orgFile);
+
+			Element root = document.getRootElement();
+
+			for (@SuppressWarnings("unchecked")
+			Iterator<Element> i = root.elementIterator(); i.hasNext();) {
+				Element itemObject = i.next();
+				if (itemObject.getName().equals("organisations")) {
+					for (@SuppressWarnings("unchecked")
+					Iterator<Element> innerIter = itemObject
+							.elementIterator("organisation"); innerIter
+							.hasNext();) {
+
+						Element orgObject = innerIter.next();
+
+						Long organisation_id = importLongType(unformatString(orgObject
+								.element("organisation_id").getText()));
+						String name = unformatString(orgObject.element("name")
+								.getText());
+						String deleted = unformatString(orgObject.element(
+								"deleted").getText());
+
+						Organisation organisation = new Organisation();
+						organisation.setName(name);
+						organisation.setDeleted(deleted);
+
+						Long newOrgID = organisationmanagement
+								.addOrganisationObj(organisation);
+						organisationsMap.put(organisation_id, newOrgID);
+					}
+				}
+			}
+		} catch (Exception err) {
+			log.error("[getOrganisationsByXML]", err);
+		}
+	}
+
+	private String unformatString(String str) {
+		str = str.replaceAll(Pattern.quote("<![CDATA["), "");
+		str = str.replaceAll(Pattern.quote("]]>"), "");
+		return str;
+	}
+
+	private void importMeetingmembers(File meetingmembersListFile)
+			throws Exception {
+
+		List<MeetingMember> meetingmembersList = this
+				.getMeetingmembersListByXML(meetingmembersListFile);
+
+		for (MeetingMember ma : meetingmembersList) {
+
+			// We need to reset this as openJPA reject to store them otherwise
+			ma.setMeetingMemberId(null);
+
+			meetingMemberDao.addMeetingMemberByObject(ma);
+		}
+
+	}
+
+	@SuppressWarnings("unchecked")
+	private List<MeetingMember> getMeetingmembersListByXML(
+			File meetingmembersListFile) {
+		try {
+
+			List<MeetingMember> meetingmembersList = new LinkedList<MeetingMember>();
+
+			SAXReader reader = new SAXReader();
+			Document document = reader.read(meetingmembersListFile);
+
+			Element root = document.getRootElement();
+
+			for (Iterator<Element> i = root.elementIterator(); i.hasNext();) {
+				Element itemObject = i.next();
+				if (itemObject.getName().equals("meetingmembers")) {
+
+					for (Iterator<Element> innerIter = itemObject
+							.elementIterator("meetingmember"); innerIter
+							.hasNext();) {
+
+						Element appointmentsObject = innerIter.next();
+
+						Long meetingMemberId = importLongType(unformatString(appointmentsObject
+								.element("meetingMemberId").getText()));
+						Long userid = getNewId(
+								importLongType(unformatString(appointmentsObject
+										.element("userid").getText())),
+								Maps.USERS);
+						Long appointment = getNewId(
+								importLongType(unformatString(appointmentsObject
+										.element("appointment").getText())),
+								Maps.APPOINTMENTS);
+						String firstname = unformatString(appointmentsObject
+								.element("firstname").getText());
+						String lastname = unformatString(appointmentsObject
+								.element("lastname").getText());
+						String memberStatus = unformatString(appointmentsObject
+								.element("memberStatus").getText());
+						String appointmentStatus = unformatString(appointmentsObject
+								.element("appointmentStatus").getText());
+						String email = unformatString(appointmentsObject
+								.element("email").getText());
+						Boolean deleted = importBooleanType(unformatString(appointmentsObject
+								.element("deleted").getText()));
+						Boolean invitor = importBooleanType(unformatString(appointmentsObject
+								.element("invitor").getText()));
+
+						MeetingMember meetingMember = new MeetingMember();
+						meetingMember.setMeetingMemberId(meetingMemberId);
+						meetingMember.setUserid(usersDao.getUser(userid));
+						meetingMember.setAppointment(appointmentDao
+								.getAppointmentByIdBackup(appointment));
+						meetingMember.setFirstname(firstname);
+						meetingMember.setLastname(lastname);
+						meetingMember.setMemberStatus(memberStatus);
+						meetingMember.setAppointmentStatus(appointmentStatus);
+						meetingMember.setEmail(email);
+						meetingMember.setDeleted(deleted);
+						meetingMember.setInvitor(invitor);
+
+						meetingmembersList.add(meetingMember);
+
+					}
+
+				}
+			}
+
+			return meetingmembersList;
+
+		} catch (Exception err) {
+			log.error("[meetingmembersList]", err);
+		}
+		return null;
+	}
+
+	private void importLdapConfig(File ldapConfigListFile) throws Exception {
+
+		List<LdapConfig> ldapConfigList = this
+				.getLdapConfigListByXML(ldapConfigListFile);
+
+		for (LdapConfig ldapConfig : ldapConfigList) {
+			ldapConfigDao.addLdapConfigByObject(ldapConfig);
+		}
+
+	}
+
+	@SuppressWarnings("unchecked")
+	private List<LdapConfig> getLdapConfigListByXML(File ldapConfigListFile) {
+		try {
+
+			List<LdapConfig> ldapConfigsList = new LinkedList<LdapConfig>();
+
+			SAXReader reader = new SAXReader();
+			Document document = reader.read(ldapConfigListFile);
+
+			Element root = document.getRootElement();
+
+			for (Iterator<Element> i = root.elementIterator(); i.hasNext();) {
+				Element itemObject = i.next();
+				if (itemObject.getName().equals("ldapconfigs")) {
+
+					for (Iterator<Element> innerIter = itemObject
+							.elementIterator("ldapconfig"); innerIter.hasNext();) {
+
+						Element ldapconfigObject = innerIter.next();
+
+						String name = unformatString(ldapconfigObject.element(
+								"name").getText());
+						String configFileName = unformatString(ldapconfigObject
+								.element("configFileName").getText());
+						Boolean addDomainToUserName = importBooleanType(unformatString(ldapconfigObject
+								.element("addDomainToUserName").getText()));
+						String domain = unformatString(ldapconfigObject
+								.element("domain").getText());
+						Boolean isActive = importBooleanType(unformatString(ldapconfigObject
+								.element("isActive").getText()));
+
+						LdapConfig ldapConfig = new LdapConfig();
+						ldapConfig.setName(name);
+						ldapConfig.setConfigFileName(configFileName);
+						ldapConfig.setAddDomainToUserName(addDomainToUserName);
+						ldapConfig.setDomain(domain);
+						ldapConfig.setIsActive(isActive);
+
+						ldapConfigsList.add(ldapConfig);
+
+					}
+
+				}
+			}
+
+			return ldapConfigsList;
+
+		} catch (Exception err) {
+			log.error("[getLdapConfigListByXML]", err);
+		}
+		return null;
+	}
+
+	private void importAppointements(File appointementListFile)
+			throws Exception {
+
+		List<Appointment> appointmentList = this
+				.getAppointmentListByXML(appointementListFile);
+
+		for (Appointment appointment : appointmentList) {
+			Long appId = appointment.getAppointmentId();
+
+			// We need to reset this as openJPA reject to store them otherwise
+			appointment.setAppointmentId(null);
+
+			Long newAppId = appointmentDao.addAppointmentObj(appointment);
+			appointmentsMap.put(appId, newAppId);
+
+		}
+
+	}
+
+	@SuppressWarnings("unchecked")
+	private List<Appointment> getAppointmentListByXML(File appointementListFile) {
+		try {
+
+			List<Appointment> appointmentList = new LinkedList<Appointment>();
+
+			SAXReader reader = new SAXReader();
+			Document document = reader.read(appointementListFile);
+
+			Element root = document.getRootElement();
+
+			for (Iterator<Element> i = root.elementIterator(); i.hasNext();) {
+				Element itemObject = i.next();
+				if (itemObject.getName().equals("appointments")) {
+
+					for (Iterator<Element> innerIter = itemObject
+							.elementIterator("appointment"); innerIter
+							.hasNext();) {
+
+						Element appointmentsObject = innerIter.next();
+
+						Long appointmentId = importLongType(unformatString(appointmentsObject
+								.element("appointmentId").getText()));
+						String appointmentName = unformatString(appointmentsObject
+								.element("appointmentName").getText());
+						String appointmentLocation = unformatString(appointmentsObject
+								.element("appointmentLocation").getText());
+						String appointmentDescription = unformatString(appointmentsObject
+								.element("appointmentDescription").getText());
+						Long categoryId = importLongType(unformatString(appointmentsObject
+								.element("categoryId").getText()));
+						Date appointmentStarttime = CalendarPatterns
+								.parseImportDate(unformatString(appointmentsObject
+										.element("appointmentStarttime")
+										.getText()));
+						Date appointmentEndtime = CalendarPatterns
+								.parseImportDate(unformatString(appointmentsObject
+										.element("appointmentEndtime")
+										.getText()));
+						String deleted = unformatString(appointmentsObject
+								.element("deleted").getText());
+						Long typId = importLongType(unformatString(appointmentsObject
+								.element("typId").getText()));
+						Boolean isDaily = importBooleanType(unformatString(appointmentsObject
+								.element("isDaily").getText()));
+						Boolean isWeekly = importBooleanType(unformatString(appointmentsObject
+								.element("isWeekly").getText()));
+						Boolean isMonthly = importBooleanType(unformatString(appointmentsObject
+								.element("isMonthly").getText()));
+						Boolean isYearly = importBooleanType(unformatString(appointmentsObject
+								.element("isYearly").getText()));
+						Long room_id = getNewId(
+								importLongType(unformatString(appointmentsObject
+										.element("room_id").getText())),
+								Maps.ROOMS);
+						String icalId = unformatString(appointmentsObject
+								.element("icalId").getText());
+						Long language_id = importLongType(unformatString(appointmentsObject
+								.element("language_id").getText()));
+						Boolean isPasswordProtected = importBooleanType(unformatString(appointmentsObject
+								.element("isPasswordProtected").getText()));
+						String password = unformatString(appointmentsObject
+								.element("password").getText());
+						Long users_id = getNewId(
+								importLongType(unformatString(appointmentsObject
+										.element("users_id").getText())),
+								Maps.USERS);
+
+						Appointment app = new Appointment();
+						app.setAppointmentId(appointmentId);
+						app.setAppointmentLocation(appointmentLocation);
+						app.setAppointmentName(appointmentName);
+						app.setAppointmentDescription(appointmentDescription);
+						app.setAppointmentCategory(appointmentCategoryDaoImpl
+								.getAppointmentCategoryById(categoryId));
+						app.setAppointmentStarttime(appointmentStarttime);
+						app.setAppointmentEndtime(appointmentEndtime);
+						app.setDeleted(deleted);
+						app.setRemind(appointmentReminderTypDaoImpl
+								.getAppointmentReminderTypById(typId));
+						app.setIsDaily(isDaily);
+						app.setIsWeekly(isWeekly);
+						app.setIsMonthly(isMonthly);
+						app.setIsYearly(isYearly);
+						app.setRoom(roommanagement.getRoomById(room_id));
+						app.setIcalId(icalId);
+						app.setLanguage_id(language_id);
+						app.setIsPasswordProtected(isPasswordProtected);
+						app.setPassword(password);
+						app.setUserId(userManagement.getUserById(users_id));
+
+						appointmentList.add(app);
+
+					}
+
+				}
+			}
+
+			return appointmentList;
+
+		} catch (Exception err) {
+			log.error("[getRoomListByXML]", err);
+		}
+		return null;
+	}
+
+	private void importOrgRooms(File orgRoomListFile) throws Exception {
+
+		List<Rooms_Organisation> roomOrgList = this
+				.getOrgRoomListByXML(orgRoomListFile);
+
+		for (Rooms_Organisation rooms_Organisation : roomOrgList) {
+
+			// We need to reset this as openJPA reject to store them otherwise
+			rooms_Organisation.setRooms_organisation_id(null);
+
+			roommanagement.addRoomOrganisation(rooms_Organisation);
+
+		}
+
+	}
+
+	@SuppressWarnings("unchecked")
+	private List<Rooms_Organisation> getOrgRoomListByXML(File orgRoomListFile) {
+		try {
+
+			List<Rooms_Organisation> orgRoomList = new LinkedList<Rooms_Organisation>();
+
+			SAXReader reader = new SAXReader();
+			Document document = reader.read(orgRoomListFile);
+
+			Element root = document.getRootElement();
+
+			for (Iterator<Element> i = root.elementIterator(); i.hasNext();) {
+				Element itemObject = i.next();
+				if (itemObject.getName().equals("room_organisations")) {
+
+					for (Iterator<Element> innerIter = itemObject
+							.elementIterator("room_organisation"); innerIter
+							.hasNext();) {
+
+						Element orgRoomObject = innerIter.next();
+
+						Long rooms_organisation_id = importLongType(unformatString(orgRoomObject
+								.element("rooms_organisation_id").getText()));
+						Long organisation_id = getNewId(
+								importLongType(unformatString(orgRoomObject
+										.element("organisation_id").getText())),
+								Maps.ORGANISATIONS);
+						Long rooms_id = getNewId(
+								importLongType(unformatString(orgRoomObject
+										.element("rooms_id").getText())),
+								Maps.ROOMS);
+						String deleted = unformatString(orgRoomObject.element(
+								"deleted").getText());
+
+						Rooms_Organisation rooms_Organisation = new Rooms_Organisation();
+						rooms_Organisation
+								.setRooms_organisation_id(rooms_organisation_id);
+						rooms_Organisation
+								.setOrganisation(organisationmanagement
+										.getOrganisationById(organisation_id));
+						rooms_Organisation.setRoom(roommanagement
+								.getRoomById(rooms_id));
+						rooms_Organisation.setDeleted(deleted);
+
+						orgRoomList.add(rooms_Organisation);
+
+					}
+
+				}
+			}
+
+			return orgRoomList;
+
+		} catch (Exception err) {
+			log.error("[getRoomListByXML]", err);
+		}
+		return null;
+	}
+
+	@SuppressWarnings("unchecked")
+	private void importRooms(File roomFile) throws Exception {
+		try {
+			SAXReader reader = new SAXReader();
+			Document document = reader.read(roomFile);
+
+			Element root = document.getRootElement();
+
+			Element rooms = root.element("rooms");
+			for (Iterator<Element> innerIter = rooms
+					.elementIterator("room"); innerIter.hasNext();) {
+
+				Element roomObject = innerIter.next();
+
+				Long rooms_id = importLongType(unformatString(roomObject
+						.element("rooms_id").getText()));
+				String name = unformatString(roomObject.element("name")
+						.getText());
+				String deleted = unformatString(roomObject.element(
+						"deleted").getText());
+				String comment = unformatString(roomObject.element(
+						"comment").getText());
+				Long numberOfPartizipants = importLongType(unformatString((roomObject
+						.element("numberOfPartizipants").getText())));
+				Boolean appointment = importBooleanType(unformatString(roomObject
+						.element("appointment").getText()));
+				Long externalRoomId = importLongType(unformatString(roomObject
+						.element("externalRoomId").getText()));
+				String externalRoomType = unformatString(roomObject
+						.element("externalRoomType").getText());
+				Long roomtypes_id = importLongType(unformatString(roomObject
+						.element("roomtypeId").getText()));
+				
+				Boolean isDemoRoom = false;
+				if (roomObject
+						.element("isDemoRoom") != null) {
+					isDemoRoom = importBooleanType(unformatString(roomObject
+						.element("isDemoRoom").getText()));
+				}
+				
+				Integer demoTime = null;
+				if (roomObject
+						.element("demoTime") != null) {
+					demoTime = importIntegerType(unformatString(roomObject
+						.element("demoTime").getText()));
+				}
+				
+				Boolean isModeratedRoom = false;
+				if (roomObject.element("isModeratedRoom") != null) {
+					isModeratedRoom = importBooleanType(unformatString(roomObject
+						.element("isModeratedRoom").getText()));
+				}
+				
+				Boolean allowUserQuestions = true;
+				if (roomObject.element("allowUserQuestions") != null) {
+					allowUserQuestions = importBooleanType(unformatString(roomObject
+						.element("allowUserQuestions").getText()));
+				}
+				
+				
+				Boolean isAudioOnly = false;
+				if (roomObject.element("isAudioOnly") != null) {
+					isAudioOnly = importBooleanType(unformatString(roomObject
+						.element("isAudioOnly").getText()));
+				}
+				
+				String sipNumber = "";
+				if (roomObject.element("sipNumber") != null) {
+					sipNumber = unformatString(roomObject.element(
+						"sipNumber").getText());
+				}
+				
+				String conferencePin = "";
+				if (roomObject.element("conferencePin") != null) {
+					conferencePin = unformatString(roomObject
+							.element("conferencePin").getText());
+				}
+				
+				Boolean showMicrophoneStatus = false;
+				if (roomObject.element("showMicrophoneStatus") != null) {
+					showMicrophoneStatus = importBooleanType(unformatString(roomObject
+							.element("showMicrophoneStatus").getText()));
+				}
+
+				Long ownerId = null;
+				if (roomObject.element("ownerid") != null) {
+					ownerId = getNewId(
+							importLongType(unformatString(roomObject
+									.element("ownerid").getText())),
+							Maps.USERS);
+				}
+
+				Boolean ispublic = false;
+				if (roomObject.element("ispublic") != null) {
+					ispublic = importBooleanType(unformatString(roomObject
+							.element("ispublic").getText()));
+				}
+
+				Boolean waitForRecording = false;
+				if (roomObject.element("waitForRecording") != null) {
+					waitForRecording = importBooleanType(unformatString(roomObject
+							.element("waitForRecording").getText()));
+				}
+
+				Boolean hideTopBar = false;
+				if (roomObject.element("hideTopBar") != null) {
+					hideTopBar = importBooleanType(unformatString(roomObject
+							.element("hideTopBar").getText()));
+				}
+
+				Boolean isClosed = false;
+				if (roomObject.element("isClosed") != null) {
+					isClosed = importBooleanType(unformatString(roomObject
+							.element("isClosed").getText()));
+				}
+
+				Boolean allowRecording = false;
+				if (roomObject.element("allowRecording") != null) {
+					allowRecording = importBooleanType(unformatString(roomObject
+							.element("allowRecording").getText()));
+				}
+
+				String redirectURL = "";
+				if (roomObject.element("redirectURL") != null) {
+					redirectURL = unformatString(roomObject.element(
+							"redirectURL").getText());
+				}
+				
+				Boolean hideActionsMenu = false;
+				if (roomObject.element("hideActionsMenu") != null) {
+					hideTopBar = importBooleanType(unformatString(roomObject
+							.element("hideActionsMenu").getText()));
+				}
+				
+				Boolean hideActivitiesAndActions = false;
+				if (roomObject.element("hideActivitiesAndActions") != null) {
+					hideTopBar = importBooleanType(unformatString(roomObject
+							.element("hideActivitiesAndActions").getText()));
+				}
+				
+				Boolean hideChat = false;
+				if (roomObject.element("hideChat") != null) {
+					hideTopBar = importBooleanType(unformatString(roomObject
+							.element("hideChat").getText()));
+				}
+				
+				Boolean hideFilesExplorer = false;
+				if (roomObject.element("hideFilesExplorer") != null) {
+					hideTopBar = importBooleanType(unformatString(roomObject
+							.element("hideFilesExplorer").getText()));
+				}
+				
+				Boolean hideScreenSharing = false;
+				if (roomObject.element("hideScreenSharing") != null) {
+					hideTopBar = importBooleanType(unformatString(roomObject
+							.element("hideScreenSharing").getText()));
+				}
+				
+				Boolean hideWhiteboard = false;
+				if (roomObject.element("hideWhiteboard") != null) {
+					hideTopBar = importBooleanType(unformatString(roomObject
+							.element("hideWhiteboard").getText()));
+				}
+
+				Rooms room = new Rooms();
+				room.setRooms_id(rooms_id);
+				room.setOwnerId(ownerId);
+				room.setName(name);
+				room.setDeleted(deleted);
+				room.setComment(comment);
+				room.setNumberOfPartizipants(numberOfPartizipants);
+				room.setAppointment(appointment);
+				room.setExternalRoomId(externalRoomId);
+				room.setExternalRoomType(externalRoomType);
+				room.setRoomtype(roommanagement
+						.getRoomTypesById(roomtypes_id));
+				room.setIsDemoRoom(isDemoRoom);
+				room.setDemoTime(demoTime);
+				room.setIsModeratedRoom(isModeratedRoom);
+				room.setAllowUserQuestions(allowUserQuestions);
+				room.setIsAudioOnly(isAudioOnly);
+				room.setSipNumber(sipNumber);
+				room.setConferencePin(conferencePin);
+				room.setIspublic(ispublic);
+				room.setIsClosed(isClosed);
+				room.setRedirectURL(redirectURL);
+				room.setWaitForRecording(waitForRecording);
+				room.setHideTopBar(hideTopBar);
+				room.setAllowRecording(allowRecording);
+				room.setShowMicrophoneStatus(showMicrophoneStatus);						
+				room.setHideActionsMenu(hideActionsMenu);
+				room.setHideActivitiesAndActions(hideActivitiesAndActions);
+				room.setHideChat(hideChat);
+				room.setHideFilesExplorer(hideFilesExplorer);
+				room.setHideScreenSharing(hideScreenSharing);
+				room.setHideWhiteboard(hideWhiteboard);
+
+				Long roomId = room.getRooms_id();
+
+				// We need to reset this as openJPA reject to store them
+				// otherwise
+				room.setRooms_id(null);
+
+				Long newRoomId = roommanagement.addRoom(room);
+				roomsMap.put(roomId, newRoomId);
+
+				for (Iterator<Element> iterMods = roomObject
+						.elementIterator("room_moderators"); iterMods
+						.hasNext();) {
+
+					Element room_moderators = iterMods.next();
+
+					for (Iterator<Element> iterMod = room_moderators
+							.elementIterator("room_moderator"); iterMod
+							.hasNext();) {
+
+						Element room_moderator = iterMod.next();
+
+						RoomModerators roomModerators = new RoomModerators();
+
+						Long user_id = getNewId(
+								importLongType(unformatString(room_moderator
+										.element("user_id").getText())),
+								Maps.USERS);
+						Boolean is_supermoderator = importBooleanType(unformatString(room_moderator
+								.element("is_supermoderator").getText()));
+
+						roomModerators.setDeleted("false");
+						roomModerators.setRoomId(getNewId(rooms_id,
+								Maps.ROOMS));
+						roomModerators.setUser(userManagement
+								.getUserById(user_id));
+						roomModerators
+								.setIsSuperModerator(is_supermoderator);
+
+						roomModeratorsDao
+								.addRoomModeratorByObj(roomModerators);
+
+					}
+				}
+			}
+
+		} catch (Exception err) {
+			log.error("[getRoomListByXML]", err);
+		}
+	}
+
+	private void importFileExplorerItems(File fileExplorerItemsListFile)
+			throws Exception {
+
+		List<FileExplorerItem> fileExplorerItems = this
+				.getFileExplorerItems(fileExplorerItemsListFile);
+
+		for (FileExplorerItem fileExplorerItem : fileExplorerItems) {
+
+			// We need to reset this as openJPA reject to store them otherwise
+			long itemId = fileExplorerItem.getFileExplorerItemId();
+
+			fileExplorerItem.setFileExplorerItemId(0);
+			long newItemId = fileExplorerItemDao
+					.addFileExplorerItem(fileExplorerItem);
+			fileExplorerItemsMap.put(itemId, newItemId);
+
+		}
+
+	}
+
+	@SuppressWarnings("unchecked")
+	private List<FileExplorerItem> getFileExplorerItems(
+			File fileExplorerItemsListFile) {
+		try {
+
+			List<FileExplorerItem> fileExplorerItemsList = new LinkedList<FileExplorerItem>();
+
+			SAXReader reader = new SAXReader();
+			Document document = reader.read(fileExplorerItemsListFile);
+
+			Element root = document.getRootElement();
+
+			for (Iterator<Element> i = root.elementIterator(); i.hasNext();) {
+
+				Element itemObject = i.next();
+
+				if (itemObject.getName().equals("fileExplorerItems")) {
+
+					for (Iterator<Element> innerIter = itemObject
+							.elementIterator("fileExplorerItem"); innerIter
+							.hasNext();) {
+
+						Element fileExplorerItemObj = innerIter.next();
+
+						Long fileExplorerItemId = importLongType(unformatString(fileExplorerItemObj
+								.element("fileExplorerItemId").getText()));
+						String fileName = unformatString(fileExplorerItemObj
+								.element("fileName").getText());
+						String fileHash = unformatString(fileExplorerItemObj
+								.element("fileHash").getText());
+						Long parentFileExplorerItemId = importLongType(unformatString(fileExplorerItemObj
+								.element("parentFileExplorerItemId").getText()));
+						Long room_id = getNewId(
+								importLongType(unformatString(fileExplorerItemObj
+										.element("room_id").getText())),
+								Maps.ROOMS);
+						Long ownerId = getNewId(
+								importLongType(unformatString(fileExplorerItemObj
+										.element("ownerId").getText())),
+								Maps.USERS);
+						Boolean isFolder = importBooleanType(unformatString(fileExplorerItemObj
+								.element("isFolder").getText()));
+						Boolean isImage = importBooleanType(unformatString(fileExplorerItemObj
+								.element("isImage").getText()));
+						Boolean isPresentation = importBooleanType(unformatString(fileExplorerItemObj
+								.element("isPresentation").getText()));
+						Boolean isVideo = importBooleanType(unformatString(fileExplorerItemObj
+								.element("isVideo").getText()));
+						Long insertedBy = getNewId(
+								importLongType(unformatString(fileExplorerItemObj
+										.element("insertedBy").getText())),
+								Maps.USERS);
+						Date inserted = CalendarPatterns
+								.parseImportDate(unformatString(fileExplorerItemObj
+										.element("inserted").getText()));
+						Date updated = CalendarPatterns
+								.parseImportDate(unformatString(fileExplorerItemObj
+										.element("updated").getText()));
+						String deleted = unformatString(fileExplorerItemObj
+								.element("deleted").getText());
+						Long fileSize = importLongType(unformatString(fileExplorerItemObj
+								.element("fileSize").getText()));
+						Integer flvWidth = importIntegerType(unformatString(fileExplorerItemObj
+								.element("flvWidth").getText()));
+						Integer flvHeight = importIntegerType(unformatString(fileExplorerItemObj
+								.element("flvHeight").getText()));
+						String previewImage = unformatString(fileExplorerItemObj
+								.element("previewImage").getText());
+						String wmlFilePath = unformatString(fileExplorerItemObj
+								.element("wmlFilePath").getText());
+						Boolean isStoredWmlFile = importBooleanType(unformatString(fileExplorerItemObj
+								.element("isStoredWmlFile").getText()));
+						Boolean isChart = importBooleanType(unformatString(fileExplorerItemObj
+								.element("isChart").getText()));
+
+						FileExplorerItem fileExplorerItem = new FileExplorerItem();
+						fileExplorerItem
+								.setFileExplorerItemId(fileExplorerItemId);
+						fileExplorerItem.setFileName(fileName);
+						fileExplorerItem.setFileHash(fileHash);
+						fileExplorerItem
+								.setParentFileExplorerItemId(parentFileExplorerItemId);
+						fileExplorerItem.setRoom_id(room_id);
+						fileExplorerItem.setOwnerId(ownerId);
+						fileExplorerItem.setIsFolder(isFolder);
+						fileExplorerItem.setIsImage(isImage);
+						fileExplorerItem.setIsPresentation(isPresentation);
+						fileExplorerItem.setIsVideo(isVideo);
+						fileExplorerItem.setInsertedBy(insertedBy);
+						fileExplorerItem.setInserted(inserted);
+						fileExplorerItem.setUpdated(updated);
+						fileExplorerItem.setDeleted(deleted);
+						fileExplorerItem.setFileSize(fileSize);
+						fileExplorerItem.setFlvWidth(flvWidth);
+						fileExplorerItem.setFlvHeight(flvHeight);
+						fileExplorerItem.setPreviewImage(previewImage);
+						fileExplorerItem.setWmlFilePath(wmlFilePath);
+						fileExplorerItem.setIsStoredWmlFile(isStoredWmlFile);
+						fileExplorerItem.setIsChart(isChart);
+
+						fileExplorerItemsList.add(fileExplorerItem);
+
+					}
+
+				}
+			}
+
+			return fileExplorerItemsList;
+
+		} catch (Exception err) {
+			log.error("[getFileExplorerItems]", err);
+		}
+		return null;
+	}
+
+	private void importFolders(String current_dir, File importBaseDir)
+			throws IOException {
+
+		// Now check the room files and import them
+		File roomFilesFolder = new File(importBaseDir, "roomFiles");
+
+		File library_dir = new File(current_dir, OpenmeetingsVariables.UPLOAD_DIR);
+
+		log.debug("roomFilesFolder PATH " + roomFilesFolder.getAbsolutePath());
+
+		if (roomFilesFolder.exists()) {
+
+			File[] files = roomFilesFolder.listFiles();
+			for (File file : files) {
+				if (file.isDirectory()) {
+
+					File parentPathFile = new File(library_dir, file.getName());
+
+					if (!parentPathFile.exists()) {
+						parentPathFile.mkdir();
+					}
+
+					File[] roomOrProfileFiles = file.listFiles();
+					for (File roomOrProfileFileOrFolder : roomOrProfileFiles) {
+
+						if (roomOrProfileFileOrFolder.isDirectory()) {
+
+							String fileOrFolderName = roomOrProfileFileOrFolder
+									.getName();
+							int beginIndex = fileOrFolderName
+									.indexOf(ScopeApplicationAdapter.profilesPrefix);
+							// Profile folder should be renamed if new user id
+							// is differ from current id.
+							if (beginIndex > -1) {
+								beginIndex = beginIndex
+										+ ScopeApplicationAdapter.profilesPrefix
+												.length();
+								Long profileId = importLongType(fileOrFolderName
+										.substring(beginIndex));
+								Long newProfileID = getNewId(profileId,
+										Maps.USERS);
+								if (profileId != newProfileID) {
+									fileOrFolderName = fileOrFolderName
+											.replaceFirst(
+													ScopeApplicationAdapter.profilesPrefix
+															+ profileId,
+													ScopeApplicationAdapter.profilesPrefix
+															+ newProfileID);
+								}
+							}
+							File roomDocumentFolder = new File(parentPathFile, fileOrFolderName);
+
+							if (!roomDocumentFolder.exists()) {
+								roomDocumentFolder.mkdir();
+
+								File[] roomDocumentFiles = roomOrProfileFileOrFolder
+										.listFiles();
+
+								for (File roomDocumentFile : roomDocumentFiles) {
+
+									if (roomDocumentFile.isDirectory()) {
+										log.error("Folder detected in Documents space! Folder "
+												+ roomDocumentFolder);
+									} else {
+										copyFile(roomDocumentFile,
+											new File(roomDocumentFolder, roomDocumentFile.getName()));
+									}
+								}
+							} else {
+								log.debug("Document already exists :: ",
+										roomDocumentFolder);
+							}
+						} else {
+							File roomFileOrProfileFile = new File(parentPathFile, roomOrProfileFileOrFolder.getName());
+							if (!roomFileOrProfileFile.exists()) {
+								this.copyFile(roomOrProfileFileOrFolder,
+										roomFileOrProfileFile);
+							} else {
+								log.debug("File does already exist :: ", roomFileOrProfileFile);
+							}
+						}
+					}
+				}
+			}
+		}
+
+		// Now check the recordings and import them
+
+		File sourceDirRec = new File(importBaseDir, "recordingFiles");
+
+		log.debug("sourceDirRec PATH " + sourceDirRec.getAbsolutePath());
+
+		if (sourceDirRec.exists()) {
+
+			File targetDirRec = new File(current_dir, OpenmeetingsVariables.STREAMS_DIR
+					+ File.separatorChar + "hibernate" + File.separatorChar);
+
+			copyDirectory(sourceDirRec, targetDirRec);
+
+		}
+
+	}
+
+	private Integer importIntegerType(String value) {
+
+		if (value.equals("null") || value.equals("")) {
+			return null;
+		}
+
+		return Integer.valueOf(value).intValue();
+
+	}
+
+	private Long importLongType(String value) {
+
+		if (value.equals("null") || value.equals("")) {
+			return null;
+		}
+
+		return Long.valueOf(value).longValue();
+
+	}
+
+	private Boolean importBooleanType(String value) {
+
+		if (value.equals("null") || value.equals("")) {
+			return null;
+		}
+
+		return Boolean.valueOf(value).booleanValue();
+
+	}
+
+	private Long getNewId(Long oldId, Maps map) {
+		Long newId = oldId;
+		switch (map) {
+		case USERS:
+			if (usersMap.get(oldId) != null)
+				newId = usersMap.get(oldId);
+			break;
+		case ORGANISATIONS:
+			if (organisationsMap.get(oldId) != null)
+				newId = organisationsMap.get(oldId);
+			break;
+		case APPOINTMENTS:
+			if (appointmentsMap.get(oldId) != null)
+				newId = appointmentsMap.get(oldId);
+			break;
+		case ROOMS:
+			if (roomsMap.get(oldId) != null)
+				newId = roomsMap.get(oldId);
+			break;
+		case MESSAGEFOLDERS:
+			if (messageFoldersMap.get(oldId) != null)
+				newId = messageFoldersMap.get(oldId);
+			break;
+		case USERCONTACTS:
+			if (userContactsMap.get(oldId) != null)
+				newId = userContactsMap.get(oldId);
+			break;
+		case FILEEXPLORERITEMS:
+			if (fileExplorerItemsMap.get(oldId) != null)
+				newId = fileExplorerItemsMap.get(oldId);
+			break;
+		default:
+			break;
+		}
+		return newId;
+	}
+
+}
diff --git a/src/org/openmeetings/servlet/outputhandler/CalendarServlet.java b/src/org/openmeetings/servlet/outputhandler/CalendarServlet.java
new file mode 100644
index 0000000..cc64557
--- /dev/null
+++ b/src/org/openmeetings/servlet/outputhandler/CalendarServlet.java
@@ -0,0 +1,385 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.servlet.outputhandler;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.List;
+import java.util.TimeZone;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLWriter;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.basic.dao.OmTimeZoneDaoImpl;
+import org.openmeetings.app.data.calendar.management.AppointmentLogic;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.persistence.beans.calendar.Appointment;
+import org.openmeetings.app.persistence.beans.calendar.MeetingMember;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.utils.math.TimezoneUtil;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.context.ApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+public class CalendarServlet extends HttpServlet {
+	private static final long serialVersionUID = 2192254610711799347L;
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			Calendar.class, OpenmeetingsVariables.webAppRootKey);
+
+	public AppointmentLogic getAppointmentLogic() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return (AppointmentLogic) context.getBean("appointmentLogic");
+			}
+		} catch (Exception err) {
+			log.error("[getAppointmentLogic]", err);
+		}
+		return null;
+	}
+
+	public Sessionmanagement getSessionManagement() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return (Sessionmanagement) context.getBean("sessionManagement");
+			}
+		} catch (Exception err) {
+			log.error("[getSessionManagement]", err);
+		}
+		return null;
+	}
+
+	public Configurationmanagement getCfgManagement() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return (Configurationmanagement) context
+						.getBean("cfgManagement");
+			}
+		} catch (Exception err) {
+			log.error("[getCfgManagement]", err);
+		}
+		return null;
+	}
+
+	public Usermanagement getUserManagement() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return (Usermanagement) context.getBean("userManagement");
+			}
+		} catch (Exception err) {
+			log.error("[getUserManagement]", err);
+		}
+		return null;
+	}
+
+	public OmTimeZoneDaoImpl getOmTimeZoneDaoImpl() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return (OmTimeZoneDaoImpl) context.getBean("omTimeZoneDaoImpl");
+			}
+		} catch (Exception err) {
+			log.error("[getOmTimeZoneDaoImpl]", err);
+		}
+		return null;
+	}
+
+	public TimezoneUtil getTimezoneUtil() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return (TimezoneUtil) context.getBean("timezoneUtil");
+			}
+		} catch (Exception err) {
+			log.error("[getTimezoneUtil]", err);
+		}
+		return null;
+	}
+
+	@Override
+	protected void service(HttpServletRequest httpServletRequest,
+			HttpServletResponse httpServletResponse) throws ServletException,
+			IOException {
+
+		try {
+
+			if (getUserManagement() == null || getOmTimeZoneDaoImpl() == null
+					|| getCfgManagement() == null
+					|| getSessionManagement() == null
+					|| getAppointmentLogic() == null
+					|| getTimezoneUtil() == null) {
+				return;
+			}
+
+			String sid = httpServletRequest.getParameter("sid");
+
+			if (sid == null) {
+				sid = "default";
+			}
+			log.debug("sid: " + sid);
+
+			Long users_id = getSessionManagement().checkSession(sid);
+			Long user_level = getUserManagement().getUserLevelByID(users_id);
+
+			if (user_level != null && user_level > 0) {
+
+				String timeZoneIdAsStr = httpServletRequest
+						.getParameter("timeZoneId");
+
+				if (timeZoneIdAsStr == null) {
+					log.error("No timeZoneIdAsStr given, using default");
+					timeZoneIdAsStr = "";
+				}
+
+				TimeZone timezone = getTimezoneUtil()
+						.getTimezoneByOmTimeZoneId(
+								Long.valueOf(timeZoneIdAsStr).longValue());
+
+				String yearStr = httpServletRequest.getParameter("year");
+				String monthStr = httpServletRequest.getParameter("month");
+				String userStr = httpServletRequest.getParameter("user");
+				String contactUser = httpServletRequest
+						.getParameter("contactUser");
+
+				Calendar starttime = GregorianCalendar.getInstance(timezone);
+				starttime.set(Calendar.DATE, 1);
+				starttime.set(Calendar.MONTH, Integer.parseInt(monthStr) - 1);
+				starttime.set(Calendar.MINUTE, 0);
+				starttime.set(Calendar.SECOND, 0);
+				starttime.set(Calendar.YEAR, Integer.parseInt(yearStr));
+
+				Calendar endtime = GregorianCalendar.getInstance(timezone);
+				endtime.set(Calendar.DATE, 1);
+				endtime.set(Calendar.MONTH, Integer.parseInt(monthStr));
+				endtime.set(Calendar.MINUTE, 0);
+				endtime.set(Calendar.SECOND, 0);
+				endtime.set(Calendar.YEAR, Integer.parseInt(yearStr));
+
+				Long userToShowId = Long.parseLong(contactUser);
+				if (userToShowId == 0) {
+					userToShowId = Long.parseLong(userStr);
+				}
+
+				List<Appointment> appointements = getAppointmentLogic()
+						.getAppointmentByRange(userToShowId,
+								new Date(starttime.getTimeInMillis()),
+								new Date(endtime.getTimeInMillis()));
+
+				Document document = DocumentHelper.createDocument();
+				document.setXMLEncoding("UTF-8");
+				document.addComment("###############################################\n"
+						+ getServletContext().getServletContextName()
+						+ " Calendar \n"
+						+ "###############################################");
+
+				Element vcalendar = document.addElement("vcalendar");
+
+				Element year = vcalendar.addElement("year" + yearStr);
+				Element month = year.addElement("month" + monthStr);
+
+				int previousDay = 0;
+				Element day = null;
+
+				for (Appointment appointment : appointements) {
+
+					Calendar appStart = Calendar.getInstance(timezone);
+					appStart.setTime(appointment.getAppointmentStarttime());
+
+					int dayAsInt = appStart.get(Calendar.DATE);
+
+					if (previousDay != dayAsInt) {
+
+						day = month.addElement("day" + dayAsInt);
+
+						previousDay = dayAsInt;
+
+					}
+
+					if (appStart.get(Calendar.MONTH) + 1 == Integer
+							.parseInt(monthStr)) {
+
+						Element event = day.addElement("event");
+
+						Element appointementId = event
+								.addElement("appointementId");
+						appointementId.addAttribute("value",
+								"" + appointment.getAppointmentId());
+
+						Element isConnectedEvent = event
+								.addElement("isConnectedEvent");
+						isConnectedEvent.addAttribute("value",
+								"" + appointment.getIsConnectedEvent());
+
+						Element rooms_id = event.addElement("rooms_id");
+						Element roomtype = event.addElement("roomtype");
+						if (appointment.getRoom() != null) {
+							rooms_id.addAttribute("value", ""
+									+ appointment.getRoom().getRooms_id());
+							roomtype.addAttribute("value", ""
+									+ appointment.getRoom().getRoomtype()
+											.getRoomtypes_id());
+						} else {
+							rooms_id.addAttribute("value", "0");
+							roomtype.addAttribute("value", "1");
+						}
+						Element remindType = event.addElement("remindtype");
+						remindType.addAttribute("value", appointment
+								.getRemind() != null ? ""
+								+ appointment.getRemind().getTypId() : "0");
+
+						Element summary = event.addElement("summary");
+						summary.addAttribute("value",
+								appointment.getAppointmentName());
+
+						Element comment = event.addElement("comment");
+						comment.addAttribute("value",
+								appointment.getAppointmentDescription());
+
+						Element start = event.addElement("start");
+
+						start.addAttribute("year",
+								"" + appStart.get(Calendar.YEAR));
+						start.addAttribute("month",
+								"" + (appStart.get(Calendar.MONTH) + 1));
+						start.addAttribute("day",
+								"" + appStart.get(Calendar.DATE));
+						start.addAttribute("hour",
+								"" + appStart.get(Calendar.HOUR_OF_DAY));
+						start.addAttribute("minute",
+								"" + appStart.get(Calendar.MINUTE));
+
+						Calendar appEnd = Calendar.getInstance(timezone);
+						appEnd.setTime(appointment.getAppointmentEndtime());
+						Element end = event.addElement("end");
+						end.addAttribute("year", "" + appEnd.get(Calendar.YEAR));
+						end.addAttribute("month",
+								"" + (appEnd.get(Calendar.MONTH) + 1));
+						end.addAttribute("day", "" + appEnd.get(Calendar.DATE));
+						end.addAttribute("hour", "" + appEnd.get(Calendar.HOUR_OF_DAY));
+						end.addAttribute("minute",
+								"" + appEnd.get(Calendar.MINUTE));
+
+						Element category = event.addElement("category");
+						category.addAttribute("value", ""
+								+ appointment.getAppointmentCategory()
+										.getCategoryId());
+
+						Element uid = event.addElement("uid");
+						uid.addAttribute("value",
+								"" + appointment.getAppointmentId());
+
+						Element attendees = event.addElement("attendees");
+
+						for (MeetingMember meetingMember : appointment
+								.getMeetingMember()) {
+
+							Element attendee = attendees.addElement("attendee");
+
+							Element email = attendee.addElement("email");
+							email.addAttribute("value",
+									meetingMember.getEmail());
+
+							Element userId = attendee.addElement("userId");
+							if (meetingMember.getUserid() != null) {
+								userId.addAttribute("value", ""
+										+ meetingMember.getUserid()
+												.getUser_id());
+							} else {
+								userId.addAttribute("value", "");
+							}
+
+							Element memberId = attendee.addElement("memberId");
+							memberId.addAttribute("value",
+									"" + meetingMember.getMeetingMemberId());
+
+							Element firstname = attendee
+									.addElement("firstname");
+							memberId.addAttribute("value",
+									"" + meetingMember.getMeetingMemberId());
+							firstname.addAttribute("value",
+									meetingMember.getFirstname());
+
+							Element lastname = attendee.addElement("lastname");
+							lastname.addAttribute("value",
+									meetingMember.getLastname());
+
+							Element jNameTimeZoneMember = attendee
+									.addElement("jNameTimeZone");
+							if (meetingMember.getOmTimeZone() != null) {
+								jNameTimeZoneMember.addAttribute("value",
+										meetingMember.getOmTimeZone()
+												.getJname());
+							} else {
+								jNameTimeZoneMember.addAttribute("value", "");
+							}
+
+						}
+
+					}
+
+				}
+
+				httpServletResponse.reset();
+				httpServletResponse.resetBuffer();
+				OutputStream out = httpServletResponse.getOutputStream();
+				httpServletResponse.setContentType("text/xml");
+
+				// httpServletResponse.setHeader("Content-Length", ""+
+				// rf.length());
+
+				OutputFormat outformat = OutputFormat.createPrettyPrint();
+				outformat.setEncoding("UTF-8");
+				XMLWriter writer = new XMLWriter(out, outformat);
+				writer.write(document);
+				writer.flush();
+
+				out.flush();
+				out.close();
+
+			}
+
+		} catch (Exception er) {
+			log.error("[Calendar :: service]", er);
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/servlet/outputhandler/DefaultIndex.java b/src/org/openmeetings/servlet/outputhandler/DefaultIndex.java
new file mode 100644
index 0000000..8723283
--- /dev/null
+++ b/src/org/openmeetings/servlet/outputhandler/DefaultIndex.java
@@ -0,0 +1,205 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.servlet.outputhandler;

+

+import java.util.HashMap;
+import java.util.Iterator;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.velocity.Template;
+import org.apache.velocity.context.Context;
+import org.apache.velocity.tools.view.VelocityViewServlet;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.persistence.beans.basic.Configuration;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.context.ApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+

+public class DefaultIndex extends VelocityViewServlet {

+	private static final long serialVersionUID = 3043617619650666432L;

+	private static final Logger log = Red5LoggerFactory.getLogger(

+			DefaultIndex.class, OpenmeetingsVariables.webAppRootKey);

+

+	private Configurationmanagement getConfigurationmanagement() {

+		try {

+			if (!ScopeApplicationAdapter.initComplete) {

+				return null;

+			}

+			ApplicationContext context = WebApplicationContextUtils

+					.getWebApplicationContext(getServletContext());

+			return (Configurationmanagement) context.getBean("cfgManagement");

+		} catch (Exception err) {

+			log.error("[getConfigurationmanagement]", err);

+		}

+		return null;

+	}

+

+	@Override

+	public Template handleRequest(HttpServletRequest httpServletRequest,

+			HttpServletResponse httpServletResponse, Context ctx) {

+

+		try {

+

+			if (getConfigurationmanagement() == null) {

+				return getVelocityView().getVelocityEngine().getTemplate(

+						"booting.vm");

+			}

+

+			String template = "sip_template.vm";

+

+			// Enable SIP Template or not

+			Configuration SIP_ENABLE = getConfigurationmanagement().getConfKey(

+					3L, "sip.enable");

+

+			// SIP_REALM

+			ctx.put("APP_NAME", getConfigurationmanagement().getAppName());

+

+			if (SIP_ENABLE == null || !SIP_ENABLE.getConf_value().equals("yes")) {

+

+				template = "usual_template.vm";

+

+			} else {

+

+				// Set all the Params for the Applet Configuration

+

+				// SIP_REALM

+				Configuration SIP_REALM = getConfigurationmanagement()

+						.getConfKey(3L, "sip.realm");

+				if (SIP_REALM == null) {

+					ctx.put("SIP_REALM", "");

+				} else {

+					ctx.put("SIP_REALM", SIP_REALM.getConf_value());

+				}

+

+				// SIP_PORT

+				Configuration SIP_PORT = getConfigurationmanagement()

+						.getConfKey(3L, "sip.port");

+				if (SIP_PORT == null) {

+					ctx.put("SIP_PORT", "");

+				} else {

+					ctx.put("SIP_PORT", SIP_PORT.getConf_value());

+				}

+

+				// SIP_PROXYNAME

+				Configuration SIP_PROXYNAME = getConfigurationmanagement()

+						.getConfKey(3L, "sip.proxyname");

+				if (SIP_PROXYNAME == null) {

+					ctx.put("SIP_PROXYNAME", "");

+				} else {

+					ctx.put("SIP_PROXYNAME", SIP_PROXYNAME.getConf_value());

+				}

+

+				// SIP_TUNNEL

+				Configuration SIP_TUNNEL = getConfigurationmanagement()

+						.getConfKey(3L, "sip.tunnel");

+				if (SIP_TUNNEL == null) {

+					ctx.put("SIP_TUNNEL", "");

+				} else {

+					ctx.put("SIP_TUNNEL", SIP_TUNNEL.getConf_value());

+				}

+

+				// SIP_CODEBASE

+				Configuration SIP_CODEBASE = getConfigurationmanagement()

+						.getConfKey(3L, "sip.codebase");

+				if (SIP_CODEBASE == null) {

+					ctx.put("SIP_CODEBASE", "");

+				} else {

+					ctx.put("SIP_CODEBASE", SIP_CODEBASE.getConf_value());

+				}

+

+				// SIP_FORCETUNNEL

+				Configuration SIP_FORCETUNNEL = getConfigurationmanagement()

+						.getConfKey(3L, "sip.forcetunnel");

+				if (SIP_FORCETUNNEL == null) {

+					ctx.put("SIP_FORCETUNNEL", "");

+				} else {

+					ctx.put("SIP_FORCETUNNEL", SIP_FORCETUNNEL.getConf_value());

+				}

+			}

+

+			// Parse the Param for the SWF URL

+			String swf = httpServletRequest.getParameter("swf");

+			if (swf == null) {

+				ctx.put("SWF_URL", "main.as3.swf10.swf");

+			} else {

+				ctx.put("SWF_URL", swf);

+			}

+

+			String SWF_PARAMS = "";

+			String SWF_FLASHVARS = "";

+

+			// Load params from URL and set into wrapper code

+			if (httpServletRequest.getParameterMap() != null) {

+				for (@SuppressWarnings("unchecked")

+				Iterator<String> iter = httpServletRequest.getParameterMap()

+						.keySet().iterator(); iter.hasNext();) {

+					String paramKey = iter.next();

+					SWF_FLASHVARS += paramKey

+							+ "="

+							+ httpServletRequest.getParameterMap()

+									.get(paramKey) + "&amp;";

+					SWF_PARAMS += paramKey

+							+ "="

+							+ httpServletRequest.getParameterMap()

+									.get(paramKey) + "&amp;";

+				}

+			}

+

+			HashMap<String, String> defaultValuesMap = new HashMap<String, String>();

+

+			defaultValuesMap.put("lzt", "swf");

+			defaultValuesMap.put("lzproxied", "solo");

+			defaultValuesMap.put("lzr", "swf8");

+			defaultValuesMap.put("bgcolor", "%23ffffff");

+			defaultValuesMap.put("width", "100%25");

+			defaultValuesMap.put("height", "100%25");

+			// defaultValuesMap.put("__lzurl","main.lzx%3Flzt%3Dswf%26lzproxied%3Dsolo%26lzr%3Dswf8");

+			defaultValuesMap.put("__lzminimumversion", "8");

+			defaultValuesMap.put("id", "lzapp");

+

+			for (Iterator<String> iter = defaultValuesMap.keySet().iterator(); iter

+					.hasNext();) {

+				String paramKey = iter.next();

+				SWF_PARAMS += paramKey + "=" + defaultValuesMap.get(paramKey);

+				SWF_FLASHVARS += paramKey + "="

+						+ defaultValuesMap.get(paramKey);

+				if (iter.hasNext()) {

+					SWF_PARAMS += "&";

+					SWF_FLASHVARS += "&amp;";

+				}

+			}

+

+			ctx.put("SWF_PARAMS", SWF_PARAMS);

+			ctx.put("SWF_FLASHVARS", SWF_FLASHVARS);

+

+			return getVelocityView().getVelocityEngine().getTemplate(template);

+

+		} catch (Exception er) {

+			System.out.println("Error downloading: " + er);

+			er.printStackTrace();

+			log.error("[Calendar :: service]", er);

+		}

+		return null;

+	}

+}
\ No newline at end of file
diff --git a/src/org/openmeetings/servlet/outputhandler/DownloadHandler.java b/src/org/openmeetings/servlet/outputhandler/DownloadHandler.java
new file mode 100644
index 0000000..7c547f1
--- /dev/null
+++ b/src/org/openmeetings/servlet/outputhandler/DownloadHandler.java
@@ -0,0 +1,461 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.servlet.outputhandler;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.RandomAccessFile;
+import java.util.Date;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringUtils;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.file.dao.FileExplorerItemDaoImpl;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.persistence.beans.files.FileExplorerItem;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.context.ApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+public class DownloadHandler extends HttpServlet {
+	private static final long serialVersionUID = 7243653203578587544L;
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			DownloadHandler.class, OpenmeetingsVariables.webAppRootKey);
+
+	private static final String defaultImageName = "deleted.jpg";
+	private static final String defaultProfileImageName = "profile_pic.jpg";
+	private static final String defaultProfileImageNameBig = "_big_profile_pic.jpg";
+	private static final String defaultChatImageName = "_chat_profile_pic.jpg";
+	private static final String defaultSWFName = "deleted.swf";
+
+	public Sessionmanagement getSessionManagement() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return (Sessionmanagement) context.getBean("sessionManagement");
+			}
+		} catch (Exception err) {
+			log.error("[getSessionManagement]", err);
+		}
+		return null;
+	}
+
+	public Usermanagement getUserManagement() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return (Usermanagement) context.getBean("userManagement");
+			}
+		} catch (Exception err) {
+			log.error("[getUserManagement]", err);
+		}
+		return null;
+	}
+	
+	public FileExplorerItemDaoImpl getFileExplorerItemDaoImpl() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return (FileExplorerItemDaoImpl) context.getBean("fileExplorerItemDao");
+			}
+		} catch (Exception err) {
+			log.error("[getUserManagement]", err);
+		}
+		return null;
+	}
+
+	private void logNonExistentFolder(String dir) {
+		File f = new File(dir);
+		if (!f.exists()) {
+			boolean c = f.mkdir();
+			if (!c) {
+				log.error("cannot write to directory");
+			}
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest
+	 * , javax.servlet.http.HttpServletResponse)
+	 */
+	@Override
+	protected void service(HttpServletRequest httpServletRequest,
+			HttpServletResponse httpServletResponse) throws ServletException,
+			IOException {
+
+		try {
+
+			if (getUserManagement() == null || getSessionManagement() == null) {
+				return;
+			}
+
+			httpServletRequest.setCharacterEncoding("UTF-8");
+
+			log.debug("\nquery = " + httpServletRequest.getQueryString());
+			log.debug("\n\nfileName = "
+					+ httpServletRequest.getParameter("fileName"));
+			log.debug("\n\nparentPath = "
+					+ httpServletRequest.getParameter("parentPath"));
+
+			String queryString = httpServletRequest.getQueryString();
+			if (queryString == null) {
+				queryString = "";
+			}
+
+			String sid = httpServletRequest.getParameter("sid");
+
+			if (sid == null) {
+				sid = "default";
+			}
+			log.debug("sid: " + sid);
+
+			Long users_id = getSessionManagement().checkSession(sid);
+			Long user_level = getUserManagement().getUserLevelByID(users_id);
+
+			if (user_level != null && user_level > 0) {
+				String room_id = httpServletRequest.getParameter("room_id");
+				if (room_id == null) {
+					room_id = "default";
+				}
+
+				String moduleName = httpServletRequest
+						.getParameter("moduleName");
+				if (moduleName == null) {
+					moduleName = "nomodule";
+				}
+
+				String parentPath = httpServletRequest
+						.getParameter("parentPath");
+				if (parentPath == null) {
+					parentPath = "nomodule";
+				}
+
+				String requestedFile = httpServletRequest
+						.getParameter("fileName");
+				if (requestedFile == null) {
+					requestedFile = "";
+				}
+				
+				String fileExplorerItemIdParam = httpServletRequest
+						.getParameter("fileExplorerItemId");
+				Long fileExplorerItemId = null;
+				if (fileExplorerItemIdParam != null) {
+					fileExplorerItemId = Long.parseLong(fileExplorerItemIdParam);
+				}
+				
+				
+
+				// make a complete name out of domain(organisation) + roomname
+				String roomName = room_id;
+				// trim whitespaces cause it is a directory name
+				roomName = StringUtils.deleteWhitespace(roomName);
+
+				// Get the current User-Directory
+
+				String current_dir = getServletContext().getRealPath("/");
+
+				String working_dir = "";
+
+				working_dir = current_dir + OpenmeetingsVariables.UPLOAD_DIR + File.separatorChar;
+
+				// Add the Folder for the Room
+				if (moduleName.equals("lzRecorderApp")) {
+					working_dir = current_dir + OpenmeetingsVariables.STREAMS_DIR + File.separatorChar
+							+ "hibernate" + File.separatorChar;
+				} else if (moduleName.equals("videoconf1")) {
+					if (parentPath.length() != 0) {
+						if (parentPath.equals("/")) {
+							working_dir = working_dir + roomName
+									+ File.separatorChar;
+						} else {
+							working_dir = working_dir + roomName
+									+ File.separatorChar + parentPath
+									+ File.separatorChar;
+						}
+					} else {
+						working_dir = current_dir + roomName
+								+ File.separatorChar;
+					}
+				} else if (moduleName.equals("userprofile")) {
+					working_dir += "profiles" + File.separatorChar;
+					logNonExistentFolder(working_dir);
+
+					working_dir += ScopeApplicationAdapter.profilesPrefix
+							+ users_id + File.separatorChar;
+					logNonExistentFolder(working_dir);
+				} else if (moduleName.equals("remoteuserprofile")) {
+					working_dir += "profiles" + File.separatorChar;
+					logNonExistentFolder(working_dir);
+
+					String remoteUser_id = httpServletRequest
+							.getParameter("remoteUserid");
+					if (remoteUser_id == null) {
+						remoteUser_id = "0";
+					}
+
+					working_dir += ScopeApplicationAdapter.profilesPrefix
+							+ remoteUser_id + File.separatorChar;
+					logNonExistentFolder(working_dir);
+				} else if (moduleName.equals("remoteuserprofilebig")) {
+					working_dir += "profiles" + File.separatorChar;
+					logNonExistentFolder(working_dir);
+
+					String remoteUser_id = httpServletRequest
+							.getParameter("remoteUserid");
+					if (remoteUser_id == null) {
+						remoteUser_id = "0";
+					}
+
+					working_dir += ScopeApplicationAdapter.profilesPrefix
+							+ remoteUser_id + File.separatorChar;
+					logNonExistentFolder(working_dir);
+
+					requestedFile = this.getBigProfileUserName(working_dir);
+
+				} else if (moduleName.equals("chat")) {
+
+					working_dir += "profiles" + File.separatorChar;
+					logNonExistentFolder(working_dir);
+
+					String remoteUser_id = httpServletRequest
+							.getParameter("remoteUserid");
+					if (remoteUser_id == null) {
+						remoteUser_id = "0";
+					}
+
+					working_dir += ScopeApplicationAdapter.profilesPrefix
+							+ remoteUser_id + File.separatorChar;
+					logNonExistentFolder(working_dir);
+
+					requestedFile = this.getChatUserName(working_dir);
+				} else {
+					working_dir = working_dir + roomName + File.separatorChar;
+				}
+
+				if (!moduleName.equals("nomodule")) {
+
+					log.debug("requestedFile: " + requestedFile
+							+ " current_dir: " + working_dir);
+
+					String full_path = working_dir + requestedFile;
+
+					File f = new File(full_path);
+
+					// If the File does not exist or is not readable show/load a
+					// place-holder picture
+
+					if (!f.exists() || !f.canRead()) {
+						if (!f.canRead()) {
+							log.debug("LOG DownloadHandler: The request file is not readable");
+						} else {
+							log.debug("LOG DownloadHandler: The request file does not exist / has already been deleted");
+						}
+						log.debug("LOG ERROR requestedFile: " + requestedFile);
+						// replace the path with the default picture/document
+
+						if (requestedFile.endsWith(".jpg")) {
+							log.debug("LOG endsWith d.jpg");
+
+							log.debug("LOG moduleName: " + moduleName);
+
+							requestedFile = DownloadHandler.defaultImageName;
+							if (moduleName.equals("remoteuserprofile")) {
+								requestedFile = DownloadHandler.defaultProfileImageName;
+							} else if (moduleName
+									.equals("remoteuserprofilebig")) {
+								requestedFile = DownloadHandler.defaultProfileImageNameBig;
+							} else if (moduleName.equals("userprofile")) {
+								requestedFile = DownloadHandler.defaultProfileImageName;
+							} else if (moduleName.equals("chat")) {
+								requestedFile = DownloadHandler.defaultChatImageName;
+							}
+							// request for an image
+							full_path = current_dir + "default"
+									+ File.separatorChar + requestedFile;
+						} else if (requestedFile.endsWith(".swf")) {
+							requestedFile = DownloadHandler.defaultSWFName;
+							// request for a SWFPresentation
+							full_path = current_dir + "default"
+									+ File.separatorChar
+									+ DownloadHandler.defaultSWFName;
+						} else {
+							// Any document, must be a download request
+							// OR a Moodle Loggedin User
+							requestedFile = DownloadHandler.defaultImageName;
+							full_path = current_dir + "default"
+									+ File.separatorChar
+									+ DownloadHandler.defaultImageName;
+						}
+					}
+
+					log.debug("full_path: " + full_path);
+
+					File f2 = new File(full_path);
+					if (!f2.exists() || !f2.canRead()) {
+						if (!f2.canRead()) {
+							log.debug("DownloadHandler: The request DEFAULT-file does not exist / has already been deleted");
+						} else {
+							log.debug("DownloadHandler: The request DEFAULT-file does not exist / has already been deleted");
+						}
+						// no file to handle abort processing
+						return;
+					}
+					// Requested file is outside OM webapp folder
+					File curDirFile = new File(current_dir);
+					if (!f2.getCanonicalPath()
+							.startsWith(curDirFile.getCanonicalPath())) {
+						throw new Exception("Invalid file requested: f2.cp == "
+								+ f2.getCanonicalPath() + "; curDir.cp == "
+								+ curDirFile.getCanonicalPath());
+					}
+
+					// Get file and handle download
+					RandomAccessFile rf = new RandomAccessFile(full_path, "r");
+
+					// Default type - Explorer, Chrome and others
+					int browserType = 0;
+
+					// Firefox and Opera browsers
+					if (httpServletRequest.getHeader("User-Agent") != null) {
+						if ((httpServletRequest.getHeader("User-Agent")
+								.contains("Firefox"))
+								|| (httpServletRequest.getHeader("User-Agent")
+										.contains("Opera"))) {
+							browserType = 1;
+						}
+					}
+
+					log.debug("Detected browser type:" + browserType);
+
+					httpServletResponse.reset();
+					httpServletResponse.resetBuffer();
+					OutputStream out = httpServletResponse.getOutputStream();
+
+					if (requestedFile.endsWith(".swf")) {
+						// trigger download to SWF => THIS is a workaround for
+						// Flash Player 10, FP 10 does not seem
+						// to accept SWF-Downloads with the Content-Disposition
+						// in the Header
+						httpServletResponse
+								.setContentType("application/x-shockwave-flash");
+						httpServletResponse.setHeader("Content-Length",
+								"" + rf.length());
+					} else {
+						httpServletResponse
+								.setContentType("APPLICATION/OCTET-STREAM");
+						
+						String fileNameResult = requestedFile;
+						if (fileExplorerItemId != null && fileExplorerItemId > 0) {
+							FileExplorerItem fileExplorerItem = getFileExplorerItemDaoImpl().getFileExplorerItemsById(fileExplorerItemId);
+							if (fileExplorerItem != null) {
+								
+								fileNameResult = fileExplorerItem.getFileName().substring(0, fileExplorerItem.getFileName().length()-4)
+													+ fileNameResult.substring(fileNameResult.length()-4, fileNameResult.length());
+								
+							}
+						}
+						
+						if (browserType == 0) {
+							httpServletResponse.setHeader(
+									"Content-Disposition",
+									"attachment; filename="
+											+ java.net.URLEncoder.encode(
+													fileNameResult, "UTF-8"));
+						} else {
+							httpServletResponse.setHeader(
+									"Content-Disposition",
+									"attachment; filename*=UTF-8'en'"
+											+ java.net.URLEncoder.encode(
+													fileNameResult, "UTF-8"));
+						}
+
+						httpServletResponse.setHeader("Content-Length",
+								"" + rf.length());
+					}
+
+					byte[] buffer = new byte[1024];
+					int readed = -1;
+
+					while ((readed = rf.read(buffer, 0, buffer.length)) > -1) {
+						out.write(buffer, 0, readed);
+					}
+
+					rf.close();
+
+					out.flush();
+					out.close();
+
+				}
+			} else {
+				System.out
+						.println("ERROR DownloadHandler: not authorized FileDownload "
+								+ (new Date()));
+			}
+
+		} catch (Exception er) {
+			log.error("Error downloading: ", er);
+			// er.printStackTrace();
+		}
+	}
+
+	private String getChatUserName(String userprofile_folder) throws Exception {
+
+		File f = new File(userprofile_folder);
+		if (f.exists() && f.isDirectory()) {
+			String filesString[] = f.list();
+			for (int i = 0; i < filesString.length; i++) {
+				String fileName = filesString[i];
+				if (fileName.startsWith("_chat_"))
+					return fileName;
+			}
+		}
+		return "_no.jpg";
+	}
+
+	private String getBigProfileUserName(String userprofile_folder)
+			throws Exception {
+
+		File f = new File(userprofile_folder);
+		if (f.exists() && f.isDirectory()) {
+			String filesString[] = f.list();
+			for (int i = 0; i < filesString.length; i++) {
+				String fileName = filesString[i];
+				if (fileName.startsWith("_big_"))
+					return fileName;
+			}
+		}
+		return "_no.jpg";
+	}
+
+}
diff --git a/src/org/openmeetings/servlet/outputhandler/Export.java b/src/org/openmeetings/servlet/outputhandler/Export.java
new file mode 100644
index 0000000..fffdd7c
--- /dev/null
+++ b/src/org/openmeetings/servlet/outputhandler/Export.java
@@ -0,0 +1,319 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.servlet.outputhandler;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLWriter;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.user.Organisationmanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.domain.Organisation;
+import org.openmeetings.app.persistence.beans.domain.Organisation_Users;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.utils.math.CalendarPatterns;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.context.ApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+/**
+ * 
+ * @author sebastianwagner
+ * 
+ */
+public class Export extends HttpServlet {
+	private static final long serialVersionUID = 8527093674786692472L;
+	private static final Logger log = Red5LoggerFactory.getLogger(Export.class,
+			OpenmeetingsVariables.webAppRootKey);
+
+	public Sessionmanagement getSessionManagement() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return (Sessionmanagement) context.getBean("sessionManagement");
+			}
+		} catch (Exception err) {
+			log.error("[getSessionManagement]", err);
+		}
+		return null;
+	}
+
+	public Usermanagement getUserManagement() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return (Usermanagement) context.getBean("userManagement");
+			}
+		} catch (Exception err) {
+			log.error("[getUserManagement]", err);
+		}
+		return null;
+	}
+
+	public Organisationmanagement getOrganisationmanagement() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return (Organisationmanagement) context
+						.getBean("organisationmanagement");
+			}
+		} catch (Exception err) {
+			log.error("[getOrganisationmanagement]", err);
+		}
+		return null;
+	}
+
+	public UsersDaoImpl getUsersDao() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return (UsersDaoImpl) context.getBean("usersDao");
+			}
+		} catch (Exception err) {
+			log.error("[getUsersDao]", err);
+		}
+		return null;
+	}
+
+	public AuthLevelmanagement getAuthLevelManagement() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return (AuthLevelmanagement) context
+						.getBean("authLevelManagement");
+			}
+		} catch (Exception err) {
+			log.error("[getAuthLevelManagement]", err);
+		}
+		return null;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest
+	 * , javax.servlet.http.HttpServletResponse)
+	 */
+	@Override
+	protected void service(HttpServletRequest httpServletRequest,
+			HttpServletResponse httpServletResponse) throws ServletException,
+			IOException {
+
+		try {
+
+			if (getUserManagement() == null || getSessionManagement() == null
+					|| getUsersDao() == null) {
+				return;
+			}
+
+			String sid = httpServletRequest.getParameter("sid");
+			if (sid == null) {
+				sid = "default";
+			}
+			System.out.println("sid: " + sid);
+
+			Long users_id = getSessionManagement().checkSession(sid);
+			Long user_level = getUserManagement().getUserLevelByID(users_id);
+
+			System.out.println("users_id: " + users_id);
+			System.out.println("user_level: " + user_level);
+
+			// if (user_level!=null && user_level > 0) {
+			if (getAuthLevelManagement().checkUserLevel(user_level)) {
+
+				String moduleName = httpServletRequest
+						.getParameter("moduleName");
+				if (moduleName == null) {
+					moduleName = "moduleName";
+				}
+				System.out.println("moduleName: " + moduleName);
+
+				if (moduleName.equals("users")
+						|| moduleName.equals("userorganisations")) {
+					String organisation = httpServletRequest
+							.getParameter("organisation");
+					if (organisation == null) {
+						organisation = "0";
+					}
+					Long organisation_id = Long.valueOf(organisation)
+							.longValue();
+					System.out.println("organisation_id: " + organisation_id);
+
+					List<Users> uList = null;
+					String downloadName = "users";
+					if (moduleName.equals("userorganisations")) {
+						Organisation orga = getOrganisationmanagement()
+								.getOrganisationById(organisation_id);
+						downloadName += "_" + orga.getName();
+						uList = getOrganisationmanagement()
+								.getUsersByOrganisationId(organisation_id);
+					} else {
+						uList = getUsersDao().getAllUsers();
+					}
+
+					if (uList != null) {
+						Document doc = this.createDocument(uList);
+
+						httpServletResponse.reset();
+						httpServletResponse.resetBuffer();
+						OutputStream out = httpServletResponse
+								.getOutputStream();
+						httpServletResponse
+								.setContentType("APPLICATION/OCTET-STREAM");
+						httpServletResponse.setHeader("Content-Disposition",
+								"attachment; filename=\"" + downloadName
+										+ ".xml\"");
+						// httpServletResponse.setHeader("Content-Length", ""+
+						// rf.length());
+
+						this.serializetoXML(out, "UTF-8", doc);
+
+						out.flush();
+						out.close();
+					}
+
+				}
+			} else {
+				System.out
+						.println("ERROR LangExport: not authorized FileDownload "
+								+ (new Date()));
+			}
+		} catch (Exception er) {
+			log.error("ERROR ", er);
+			System.out.println("Error exporting: " + er);
+			er.printStackTrace();
+		}
+	}
+
+	public Document createDocument(List<Users> uList) throws Exception {
+		Document document = DocumentHelper.createDocument();
+		document.setXMLEncoding("UTF-8");
+		document.addComment("###############################################\n"
+				+ "This File is auto-generated by the Backup Tool \n"
+				+ "you should use the BackupPanel to modify or change this file \n"
+				+ "see http://incubator.apache.org/openmeetings/Upgrade.html for Details \n"
+				+ "###############################################");
+
+		Element root = document.addElement("root");
+
+		Element users = root.addElement("users");
+
+		for (Iterator<Users> it = uList.iterator(); it.hasNext();) {
+			Users u = it.next();
+
+			Element user = users.addElement("user");
+
+			user.addElement("age").setText(
+					CalendarPatterns.getDateByMiliSeconds(u.getAge()));
+			user.addElement("availible").setText(u.getAvailible().toString());
+			user.addElement("deleted").setText(u.getDeleted());
+			user.addElement("firstname").setText(u.getFirstname());
+			user.addElement("lastname").setText(u.getLastname());
+			user.addElement("login").setText(u.getLogin());
+			user.addElement("pass").setText(u.getPassword());
+
+			String pictureuri = u.getPictureuri();
+			if (pictureuri != null)
+				user.addElement("pictureuri").setText(pictureuri);
+			else
+				user.addElement("pictureuri").setText("");
+
+			if (u.getLanguage_id() != null)
+				user.addElement("language_id").setText(
+						u.getLanguage_id().toString());
+			else
+				user.addElement("language_id").setText("");
+
+			user.addElement("status").setText(u.getStatus().toString());
+			user.addElement("regdate").setText(
+					CalendarPatterns.getDateWithTimeByMiliSeconds(u
+							.getRegdate()));
+			user.addElement("title_id").setText(u.getTitle_id().toString());
+			user.addElement("level_id").setText(u.getLevel_id().toString());
+
+			user.addElement("additionalname").setText(
+					u.getAdresses().getAdditionalname());
+			user.addElement("comment").setText(u.getAdresses().getComment());
+			// A User can not have a deleted Adress, you cannot delete the
+			// Adress of an User
+			// String deleted = u.getAdresses().getDeleted()
+			// Phone Number not done yet
+			user.addElement("fax").setText(u.getAdresses().getFax());
+			user.addElement("state_id").setText(
+					u.getAdresses().getStates().getState_id().toString());
+			user.addElement("street").setText(u.getAdresses().getStreet());
+			user.addElement("town").setText(u.getAdresses().getTown());
+			user.addElement("zip").setText(u.getAdresses().getZip());
+
+			// Email and Phone
+			user.addElement("mail").setText(u.getAdresses().getEmail());
+			user.addElement("phone").setText(u.getAdresses().getPhone());
+
+			Element user_organisations = user.addElement("organisations");
+			// List<String> organisations = new LinkedList();
+			for (Iterator<Organisation_Users> iterObj = u
+					.getOrganisation_users().iterator(); iterObj.hasNext();) {
+				Organisation_Users orgUsers = iterObj.next();
+				user_organisations.addElement("organisation_id").addText(
+						orgUsers.getOrganisation().getOrganisation_id()
+								.toString());
+			}
+
+			// Not need at the moment
+			// Element user_groups = user.addElement("groups");
+
+		}
+
+		return document;
+	}
+
+	public void serializetoXML(OutputStream out, String aEncodingScheme,
+			Document doc) throws Exception {
+		OutputFormat outformat = OutputFormat.createPrettyPrint();
+		outformat.setEncoding(aEncodingScheme);
+		XMLWriter writer = new XMLWriter(out, outformat);
+		writer.write(doc);
+		writer.flush();
+	}
+
+}
diff --git a/src/org/openmeetings/servlet/outputhandler/ExportToImage.java b/src/org/openmeetings/servlet/outputhandler/ExportToImage.java
new file mode 100644
index 0000000..2c44202
--- /dev/null
+++ b/src/org/openmeetings/servlet/outputhandler/ExportToImage.java
@@ -0,0 +1,262 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.servlet.outputhandler;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.RandomAccessFile;
+import java.io.Writer;
+import java.util.Date;
+import java.util.List;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.batik.dom.GenericDOMImplementation;
+import org.apache.batik.dom.svg.SVGDOMImplementation;
+import org.apache.batik.svggen.SVGGraphics2D;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.batik.beans.PrintBean;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.record.WhiteboardMapToSVG;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.documents.GenerateImage;
+import org.openmeetings.app.remote.PrintService;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.utils.math.CalendarPatterns;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.context.ApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+import org.w3c.dom.DOMImplementation;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+public class ExportToImage extends HttpServlet {
+	private static final long serialVersionUID = -3535998254746084297L;
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			ExportToImage.class, OpenmeetingsVariables.webAppRootKey);
+
+	public Sessionmanagement getSessionManagement() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return (Sessionmanagement) context.getBean("sessionManagement");
+			}
+		} catch (Exception err) {
+			log.error("[getSessionManagement]", err);
+		}
+		return null;
+	}
+
+	public Usermanagement getUserManagement() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return (Usermanagement) context.getBean("userManagement");
+			}
+		} catch (Exception err) {
+			log.error("[getUserManagement]", err);
+		}
+		return null;
+	}
+
+	public GenerateImage getGenerateImage() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return (GenerateImage) context.getBean("generateImage");
+			}
+		} catch (Exception err) {
+			log.error("[getGenerateImage]", err);
+		}
+		return null;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest
+	 * , javax.servlet.http.HttpServletResponse)
+	 */
+	@Override
+	protected void service(HttpServletRequest httpServletRequest,
+			HttpServletResponse httpServletResponse) throws ServletException,
+			IOException {
+
+		try {
+			if (getUserManagement() == null || getSessionManagement() == null
+					|| getGenerateImage() == null) {
+				return;
+			}
+
+			String sid = httpServletRequest.getParameter("sid");
+			if (sid == null) {
+				sid = "default";
+			}
+			log.debug("sid: " + sid);
+
+			String hash = httpServletRequest.getParameter("hash");
+			if (hash == null) {
+				hash = "";
+			}
+			log.debug("hash: " + hash);
+
+			String fileName = httpServletRequest.getParameter("fileName");
+			if (fileName == null) {
+				fileName = "file_xyz";
+			}
+
+			String exportType = httpServletRequest.getParameter("exportType");
+			if (exportType == null) {
+				exportType = "svg";
+			}
+
+			Long users_id = getSessionManagement().checkSession(sid);
+			Long user_level = getUserManagement().getUserLevelByID(users_id);
+
+			log.debug("users_id: " + users_id);
+			log.debug("user_level: " + user_level);
+
+			if (user_level != null && user_level > 0 && hash != "") {
+
+				PrintBean pBean = PrintService.getPrintItemByHash(hash);
+
+				// Whiteboard Objects
+				@SuppressWarnings("rawtypes")
+				List whiteBoardMap = pBean.getMap();
+
+				// Get a DOMImplementation.
+				DOMImplementation domImpl = GenericDOMImplementation
+						.getDOMImplementation();
+
+				// Create an instance of org.w3c.dom.Document.
+				// String svgNS = "http://www.w3.org/2000/svg";
+				String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
+
+				Document document = domImpl.createDocument(svgNS, "svg", null);
+
+				// Get the root element (the 'svg' element).
+				Element svgRoot = document.getDocumentElement();
+
+				// Set the width and height attributes on the root 'svg'
+				// element.
+				svgRoot.setAttributeNS(null, "width", "" + pBean.getWidth());
+				svgRoot.setAttributeNS(null, "height", "" + pBean.getHeight());
+
+				log.debug("pBean.getWidth(),pBean.getHeight()"
+						+ pBean.getWidth() + "," + pBean.getHeight());
+
+				// Create an instance of the SVG Generator.
+				SVGGraphics2D svgGenerator = new SVGGraphics2D(document);
+
+				svgGenerator = WhiteboardMapToSVG.getInstance()
+						.convertMapToSVG(svgGenerator, whiteBoardMap);
+
+				// Finally, stream out SVG to the standard output using
+				// UTF-8 encoding.
+				boolean useCSS = true; // we want to use CSS style attributes
+				// Writer out = new OutputStreamWriter(System.out, "UTF-8");
+
+				if (exportType.equals("svg")) {
+					// OutputStream out = httpServletResponse.getOutputStream();
+					// httpServletResponse.setContentType("APPLICATION/OCTET-STREAM");
+					// httpServletResponse.setHeader("Content-Disposition","attachment; filename=\""
+					// + requestedFile + "\"");
+					Writer out = httpServletResponse.getWriter();
+
+					svgGenerator.stream(out, useCSS);
+
+				} else if (exportType.equals("png") || exportType.equals("jpg")
+						|| exportType.equals("gif") || exportType.equals("tif")
+						|| exportType.equals("pdf")) {
+
+					String current_dir = getServletContext().getRealPath("/");
+					String working_dir = current_dir + OpenmeetingsVariables.UPLOAD_TEMP_DIR
+							+ File.separatorChar;
+
+					String requestedFileSVG = fileName + "_"
+							+ CalendarPatterns.getTimeForStreamId(new Date())
+							+ ".svg";
+					String resultFileName = fileName + "_"
+							+ CalendarPatterns.getTimeForStreamId(new Date())
+							+ "." + exportType;
+
+					log.debug("current_dir: " + current_dir);
+					log.debug("working_dir: " + working_dir);
+					log.debug("requestedFileSVG: " + requestedFileSVG);
+					log.debug("resultFileName: " + resultFileName);
+
+					File svgFile = new File(working_dir + requestedFileSVG);
+					File resultFile = new File(working_dir + resultFileName);
+
+					log.debug("svgFile: " + svgFile.getAbsolutePath());
+					log.debug("resultFile: " + resultFile.getAbsolutePath());
+					log.debug("svgFile P: " + svgFile.getPath());
+					log.debug("resultFile P: " + resultFile.getPath());
+
+					FileWriter out = new FileWriter(svgFile);
+					svgGenerator.stream(out, useCSS);
+
+					// Get file and handle download
+					RandomAccessFile rf = new RandomAccessFile(
+							resultFile.getAbsoluteFile(), "r");
+
+					httpServletResponse.reset();
+					httpServletResponse.resetBuffer();
+					OutputStream outStream = httpServletResponse
+							.getOutputStream();
+					httpServletResponse
+							.setContentType("APPLICATION/OCTET-STREAM");
+					httpServletResponse.setHeader("Content-Disposition",
+							"attachment; filename=\"" + resultFileName + "\"");
+					httpServletResponse.setHeader("Content-Length",
+							"" + rf.length());
+
+					byte[] buffer = new byte[1024];
+					int readed = -1;
+
+					while ((readed = rf.read(buffer, 0, buffer.length)) > -1) {
+						outStream.write(buffer, 0, readed);
+					}
+					outStream.close();
+					rf.close();
+
+					out.flush();
+					out.close();
+
+				}
+
+			}
+
+		} catch (Exception er) {
+			log.error("ERROR ", er);
+			System.out.println("Error exporting: " + er);
+			er.printStackTrace();
+		}
+	}
+}
diff --git a/src/org/openmeetings/servlet/outputhandler/HttpServletRequestEx.java b/src/org/openmeetings/servlet/outputhandler/HttpServletRequestEx.java
new file mode 100644
index 0000000..735c5b1
--- /dev/null
+++ b/src/org/openmeetings/servlet/outputhandler/HttpServletRequestEx.java
@@ -0,0 +1,95 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.servlet.outputhandler;
+
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+
+
+public class HttpServletRequestEx extends HttpServletRequestWrapper {
+	private HttpServletRequest request_ = null;
+	private Map<String, String> requestParams_ = null;
+	private String uriEncoding;
+
+	public HttpServletRequestEx(HttpServletRequest req, String uriEncoding)	throws IOException {
+		super(req);
+
+		this.uriEncoding = uriEncoding;
+
+		request_ = req;
+		requestParams_ = new HashMap<String, String>();
+		
+		String queryString = request_.getQueryString();
+		
+		if ( queryString == null )
+		{
+			return ;
+		}
+		
+		queryString = new String(queryString.getBytes("ISO-8859-1"), "UTF-8");
+
+		String[] params = queryString.split("&");
+		for (String param : params)	{
+			String[] nameValue = param.split("=");
+			requestParams_.put(nameValue[0], 2 == nameValue.length? nameValue[1] : null);
+		}
+	}
+
+	// Methods to replace HSR methods
+	public String getParameter(String name) {
+		try 
+		{
+			if (requestParams_.get(name) != null )
+			{
+				return URLDecoder.decode(requestParams_.get(name),uriEncoding);
+			}
+			else
+			{
+				return null;
+			}
+		}
+		catch(UnsupportedEncodingException e)
+		{
+			return null;
+		}
+	}
+
+	public Map<String, String> getParameterMap() {		
+		return new HashMap<String, String>(requestParams_);
+	}
+
+	public Enumeration<String> getParameterNames() {
+		return Collections.enumeration(requestParams_.keySet());
+	}
+
+	public String[] getParameterValues(String name) {
+		ArrayList<String> values = new ArrayList<String>(requestParams_.values());
+		return values.toArray(new String[0]);
+	}
+}
+
diff --git a/src/org/openmeetings/servlet/outputhandler/ImportController.java b/src/org/openmeetings/servlet/outputhandler/ImportController.java
new file mode 100644
index 0000000..3fe4538
--- /dev/null
+++ b/src/org/openmeetings/servlet/outputhandler/ImportController.java
@@ -0,0 +1,105 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.servlet.outputhandler;
+
+import java.io.InputStream;
+import java.util.LinkedHashMap;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.app.xmlimport.LanguageImport;
+import org.openmeetings.app.xmlimport.UserImport;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+@Controller
+public class ImportController extends AbstractUploadController {
+	private static final Logger log = Red5LoggerFactory.getLogger(ImportController.class,
+			OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private UsersDaoImpl usersDao;
+	@Autowired
+	private ScopeApplicationAdapter scopeApplicationAdapter;
+	@Autowired
+	private UserImport userImport;
+	@Autowired
+	private LanguageImport languageImport;
+	
+    @RequestMapping(value = "/import.upload", method = RequestMethod.POST)
+	protected void service(HttpServletRequest request,
+			HttpServletResponse httpServletResponse) throws ServletException {
+
+    	UploadInfo info = validate(request, true);
+		try {
+			String moduleName = request.getParameter("moduleName");
+			if (moduleName == null) {
+				moduleName = "moduleName";
+			}
+			log.debug("moduleName: " + moduleName);
+			InputStream is = info.file.getInputStream();
+
+			if (moduleName.equals("users")) {
+				log.error("Import Users");
+				userImport.addUsersByDocument(is);
+
+			} else if (moduleName.equals("language")) {
+				log.error("Import Language");
+				String language = request
+						.getParameter("secondid");
+				if (language == null) {
+					language = "0";
+				}
+				Long language_id = Long.valueOf(language).longValue();
+				log.debug("language_id: " + language_id);
+
+				languageImport.addLanguageByDocument(
+						language_id, is);
+			}
+
+			log.debug("Return And Close");
+
+			LinkedHashMap<String, Object> hs = new LinkedHashMap<String, Object>();
+			hs.put("user", usersDao.getUser(info.userId));
+			hs.put("message", "library");
+			hs.put("action", "import");
+
+			log.debug("moduleName.equals(userprofile) ? " + moduleName);
+
+			log.debug("moduleName.equals(userprofile) ! ");
+
+			scopeApplicationAdapter.sendMessageWithClientByPublicSID(hs, 
+					info.publicSID);
+
+		} catch (Exception er) {
+			log.error("ERROR importing:", er);
+			throw new ServletException(er);
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/servlet/outputhandler/Install.java b/src/org/openmeetings/servlet/outputhandler/Install.java
new file mode 100644
index 0000000..65e96f7
--- /dev/null
+++ b/src/org/openmeetings/servlet/outputhandler/Install.java
@@ -0,0 +1,351 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.servlet.outputhandler;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.LinkedHashMap;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.velocity.Template;
+import org.apache.velocity.context.Context;
+import org.apache.velocity.tools.view.VelocityViewServlet;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.documents.InstallationDocumentHandler;
+import org.openmeetings.app.installation.ImportInitvalues;
+import org.openmeetings.app.installation.InstallationConfig;
+import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.utils.ImportHelper;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.context.ApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+public class Install extends VelocityViewServlet {
+	private static final long serialVersionUID = 3684381243236013771L;
+
+	private Configurationmanagement getConfigurationmanagement() {
+		try {
+			if (!ScopeApplicationAdapter.initComplete) {
+				return null;
+			}
+			ApplicationContext context = WebApplicationContextUtils
+					.getWebApplicationContext(getServletContext());
+			return (Configurationmanagement) context.getBean("cfgManagement");
+		} catch (Exception err) {
+			log.error("[getConfigurationmanagement]", err);
+		}
+		return null;
+	}
+
+	private ImportInitvalues getImportInitvalues() {
+		try {
+			if (!ScopeApplicationAdapter.initComplete) {
+				return null;
+			}
+			ApplicationContext context = WebApplicationContextUtils
+					.getWebApplicationContext(getServletContext());
+			return (ImportInitvalues) context.getBean("importInitvalues");
+		} catch (Exception err) {
+			log.error("[getImportInitvalues]", err);
+		}
+		return null;
+	}
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			Install.class, OpenmeetingsVariables.webAppRootKey);
+
+	private Template getStep2Template(HttpServletRequest httpServletRequest, Context ctx, String lang) throws Exception {
+		String header = httpServletRequest.getHeader("Accept-Language");
+		String[] headerList = header != null ? header.split(",") : new String[0];
+		String headCode = headerList.length > 0 ? headerList[0] : "en";
+		
+		String filePath = getServletContext().getRealPath("/")
+				+ ImportInitvalues.languageFolderName;
+		LinkedHashMap<Integer, LinkedHashMap<String, Object>> allLanguagesAll = getImportInitvalues()
+				.getLanguageFiles(filePath);
+		LinkedHashMap<Integer, String> allLanguages = new LinkedHashMap<Integer, String>();
+		//first iteration for preferred language
+		Integer prefKey = -1;
+		String prefName = null;
+		for (Integer key : allLanguagesAll.keySet()) {
+			String langName = (String) allLanguagesAll.get(key).get("name");
+			String langCode = (String) allLanguagesAll.get(key).get("code");
+			if (langCode != null) {
+				if (headCode.equals(langCode)) {
+					prefKey = key;
+					prefName = langName;
+					break;
+				} else if (headCode.startsWith(langCode)) {
+					prefKey = key;
+					prefName = langName;
+				}
+			}
+		}
+		allLanguages.put(prefKey, prefName);
+		for (Integer key : allLanguagesAll.keySet()) {
+			String langName = (String) allLanguagesAll.get(key).get("name");
+			if (key != prefKey) {
+				allLanguages.put(key, langName);
+			}
+		}
+
+		LinkedHashMap<String, String> allFonts = new LinkedHashMap<String, String>();
+		allFonts.put("TimesNewRoman", "TimesNewRoman");
+		allFonts.put("Verdana", "Verdana");
+		allFonts.put("Arial", "Arial");
+
+		List<OmTimeZone> omTimeZoneList = getImportInitvalues()
+				.getTimeZones(filePath);
+
+		Template tpl = super.getTemplate("install_step1_"
+				+ lang + ".vm");
+		ctx.put("allLanguages", allLanguages);
+		ctx.put("allFonts", allFonts);
+		ctx.put("allTimeZones", ImportHelper.getAllTimeZones(omTimeZoneList));
+		StringWriter writer = new StringWriter();
+		tpl.merge(ctx, writer);
+
+		return tpl;
+	}
+	
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest
+	 * , javax.servlet.http.HttpServletResponse)
+	 */
+	@Override
+	public Template handleRequest(HttpServletRequest httpServletRequest,
+			HttpServletResponse httpServletResponse, Context ctx) {
+
+		try {
+			ctx.put("APP_ROOT", OpenmeetingsVariables.webAppRootKey);
+
+			if (getImportInitvalues() == null || getConfigurationmanagement() == null) {
+				return getVelocityView().getVelocityEngine().getTemplate(
+						"booting_install.vm");
+			}
+
+			ctx.put("APP_NAME", getConfigurationmanagement().getAppName());
+			String command = httpServletRequest.getParameter("command");
+
+			String lang = httpServletRequest.getParameter("lang");
+			if (lang == null)
+				lang = "EN";
+
+			String working_dir = getServletContext().getRealPath("/")
+					+ ScopeApplicationAdapter.configDirName
+					+ File.separatorChar;
+
+			File installerFile = new File(working_dir, InstallationDocumentHandler.installFileName);
+
+			if (command == null || !installerFile.exists()) {
+				log.debug("command equals null");
+
+				if (!installerFile.exists()) {
+
+					File installerdir = new File(working_dir);
+
+					log.debug("bb " + installerFile);
+
+					boolean b = installerdir.canWrite();
+
+					if (!b) {
+						// File could not be created so throw an error
+						ctx.put("error",
+								"Could not Create File, Permission set? ");
+						ctx.put("path", working_dir);
+						return getVelocityView().getVelocityEngine()
+								.getTemplate("install_error_" + lang + ".vm");
+					} else {
+						InstallationDocumentHandler
+								.getInstance()
+								.createDocument(
+										working_dir
+												+ InstallationDocumentHandler.installFileName,
+										0);
+						// File has been created so follow first step of
+						// Installation
+						return getVelocityView().getVelocityEngine()
+								.getTemplate("install_welcome_" + lang + ".vm");
+					}
+
+				} else {
+					int i = InstallationDocumentHandler.getInstance()
+							.getCurrentStepNumber(working_dir);
+					if (i == 0) {
+						return getStep2Template(httpServletRequest, ctx, lang);
+					} else {
+						return getVelocityView().getVelocityEngine()
+								.getTemplate("install_step2_" + lang + ".vm");
+					}
+				}
+
+			} else if (command.equals("step1")) {
+
+				int i = InstallationDocumentHandler.getInstance()
+						.getCurrentStepNumber(working_dir);
+				if (i == 0) {
+					return getStep2Template(httpServletRequest, ctx, lang);
+				} else {
+					ctx.put("error",
+							"This Step of the installation has already been done. continue with step 2 <A HREF='?command=step2'>continue with step 2</A>");
+					return getVelocityView().getVelocityEngine().getTemplate(
+							"install_exception_" + lang + ".vm");
+				}
+
+			} else if (command.equals("step2")) {
+
+				int i = InstallationDocumentHandler.getInstance()
+						.getCurrentStepNumber(working_dir);
+				if (i == 0) {
+
+					log.debug("do init installation");
+
+					String username = httpServletRequest.getParameter("username");
+					String userpass = httpServletRequest.getParameter("userpass");
+					String useremail = httpServletRequest.getParameter("useremail");
+					String orgname = httpServletRequest.getParameter("orgname");
+					InstallationConfig cfg = new InstallationConfig();
+					cfg.allowFrontendRegister = httpServletRequest.getParameter("configdefault");
+
+					cfg.mailReferer = httpServletRequest.getParameter("configreferer");
+					cfg.smtpServer = httpServletRequest.getParameter("configsmtp");
+					cfg.smtpPort = httpServletRequest.getParameter("configsmtpport");
+					cfg.mailAuthName = httpServletRequest.getParameter("configmailuser");
+					cfg.mailAuthPass = httpServletRequest.getParameter("configmailpass");
+					cfg.mailUseTls = httpServletRequest.getParameter("mailusetls");
+					cfg.replyToOrganizer = httpServletRequest.getParameter("replyToOrganizer");
+
+					cfg.defaultLangId = httpServletRequest.getParameter("configdefaultLang");
+					cfg.swfZoom = httpServletRequest.getParameter("swftools_zoom");
+					cfg.swfJpegQuality = httpServletRequest.getParameter("swftools_jpegquality");
+					cfg.swfPath = httpServletRequest.getParameter("swftools_path");
+					cfg.imageMagicPath = httpServletRequest.getParameter("imagemagick_path");
+					cfg.sendEmailAtRegister = httpServletRequest.getParameter("sendEmailAtRegister");
+					cfg.sendEmailWithVerficationCode = httpServletRequest.getParameter("sendEmailWithVerficationCode");
+					cfg.createDefaultRooms = httpServletRequest.getParameter("createDefaultRooms");
+
+					cfg.defaultExportFont = httpServletRequest.getParameter("default_export_font");
+
+					cfg.cryptClassName = httpServletRequest.getParameter("crypt_ClassName");
+
+					cfg.ffmpegPath = httpServletRequest.getParameter("ffmpeg_path");
+
+					cfg.soxPath = httpServletRequest.getParameter("sox_path");
+
+					cfg.screenViewer = httpServletRequest.getParameter("screen_viewer");
+
+                    // red5sip integration config
+                    cfg.red5SipEnable = httpServletRequest.getParameter("red5sip_enable");
+                    cfg.red5SipRoomPrefix = httpServletRequest.getParameter("red5sip_room_prefix");
+                    cfg.red5SipExtenContext = httpServletRequest.getParameter("red5sip_exten_context");
+
+					// SIP Applet Configuration
+					cfg.sipEnable = httpServletRequest.getParameter("sip_enable");
+					cfg.sipRealm = httpServletRequest.getParameter("sip_realm");
+					cfg.sipPort = httpServletRequest.getParameter("sip_port");
+					cfg.sipProxyName = httpServletRequest.getParameter("sip_proxyname");
+					cfg.sipTunnel = httpServletRequest.getParameter("sip_tunnel");
+					cfg.sipCodebase = httpServletRequest.getParameter("sip_codebase");
+					cfg.sipForceTunnel = httpServletRequest.getParameter("sip_forcetunnel");
+
+					// OpenXG / OpenSIPg Configuration
+					cfg.sipOpenxgEnable = httpServletRequest.getParameter("sip_openxg_enable");
+					cfg.openxgWrapperUrl = httpServletRequest.getParameter("openxg_wrapper_url");
+					cfg.openxgClientId = httpServletRequest.getParameter("openxg_client_id");
+					cfg.openxgClientSecret = httpServletRequest.getParameter("openxg_client_secret");
+					cfg.openxgClientDomain = httpServletRequest.getParameter("openxg_client_domain");
+					cfg.openxgCommunityCode = httpServletRequest.getParameter("openxg_community_code");
+					cfg.openxgLanguageCode = httpServletRequest.getParameter("openxg_language_code");
+					cfg.openxgAdminId = httpServletRequest.getParameter("openxg_adminid");
+
+					// SIP Phone Range Configuration
+					cfg.sipLanguagePhoneCode = httpServletRequest.getParameter("sip_language_phonecode");
+					cfg.sipPhoneRangeStart = httpServletRequest.getParameter("sip_phonerange_start");
+					cfg.sipPhoneRange = httpServletRequest.getParameter("sip_phonerange");
+
+					String timeZone = httpServletRequest.getParameter("timeZone");
+					cfg.ical_timeZone = timeZone;
+					
+					cfg.jodPath = httpServletRequest.getParameter("jod_path");
+
+					log.debug("step 0+ start init with values. " + username
+							+ " ***** " + useremail + " " + orgname + " "
+							+ cfg);
+
+					String filePath = getServletContext().getRealPath("/")
+							+ ImportInitvalues.languageFolderName;
+
+					cfg.urlFeed = getServletContext().getInitParameter(
+							"url_feed");
+					cfg.urlFeed2 = getServletContext().getInitParameter(
+							"url_feed2");
+					
+					getImportInitvalues().loadAll(filePath, cfg, username,
+							userpass, useremail, orgname, timeZone, false);
+
+					// update to next step
+					log.debug("add level to install file");
+					InstallationDocumentHandler
+							.getInstance()
+							.createDocument(
+									working_dir
+											+ InstallationDocumentHandler.installFileName,
+									1);
+
+					// return
+					// getVelocityEngine().getTemplate("install_complete_"+lang+".vm");
+					return getVelocityView().getVelocityEngine().getTemplate(
+							"install_step2_" + lang + ".vm");
+				} else {
+					ctx.put("error",
+							"This Step of the installation has already been done. continue with step 2 <A HREF='?command=step2'>continue with step 2</A>");
+					return getVelocityView().getVelocityEngine().getTemplate(
+							"install_exception_" + lang + ".vm");
+				}
+
+			} else if (command.equals("step")) {
+
+				int i = InstallationDocumentHandler.getInstance()
+						.getCurrentStepNumber(working_dir);
+				if (i == 0) {
+
+				}
+
+			}
+
+		} catch (IOException err) {
+			log.error("Install: ", err);
+		} catch (Exception err2) {
+			log.error("Install: ", err2);
+		}
+
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/servlet/outputhandler/LangExport.java b/src/org/openmeetings/servlet/outputhandler/LangExport.java
new file mode 100644
index 0000000..184b2a1
--- /dev/null
+++ b/src/org/openmeetings/servlet/outputhandler/LangExport.java
@@ -0,0 +1,232 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.servlet.outputhandler;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Date;
+import java.util.List;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLWriter;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.FieldLanguageDaoImpl;
+import org.openmeetings.app.data.basic.Fieldmanagment;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.persistence.beans.lang.FieldLanguage;
+import org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.context.ApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+/**
+ * 
+ * @author sebastianwagner
+ * 
+ */
+public class LangExport extends HttpServlet {
+	private static final long serialVersionUID = 243294279856160463L;
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			LangExport.class, OpenmeetingsVariables.webAppRootKey);
+
+	public Sessionmanagement getSessionManagement() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return context.getBean("sessionManagement", Sessionmanagement.class);
+			}
+		} catch (Exception err) {
+			log.error("[getSessionManagement]", err);
+		}
+		return null;
+	}
+
+	public Usermanagement getUserManagement() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return context.getBean("userManagement", Usermanagement.class);
+			}
+		} catch (Exception err) {
+			log.error("[getUserManagement]", err);
+		}
+		return null;
+	}
+
+	public Fieldmanagment getFieldmanagment() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return context.getBean("fieldmanagment", Fieldmanagment.class);
+			}
+		} catch (Exception err) {
+			log.error("[getFieldmanagment]", err);
+		}
+		return null;
+	}
+
+	public FieldLanguageDaoImpl getFieldLanguageDaoImpl() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return context.getBean("fieldLanguageDaoImpl", FieldLanguageDaoImpl.class);
+			}
+		} catch (Exception err) {
+			log.error("[getFieldLanguageDaoImpl]", err);
+		}
+		return null;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest
+	 * , javax.servlet.http.HttpServletResponse)
+	 */
+	@Override
+	protected void service(HttpServletRequest httpServletRequest,
+			HttpServletResponse httpServletResponse) throws ServletException,
+			IOException {
+
+		try {
+
+			if (getUserManagement() == null
+					|| getFieldLanguageDaoImpl() == null
+					|| getFieldmanagment() == null
+					|| getSessionManagement() == null) {
+				return;
+			}
+
+			String sid = httpServletRequest.getParameter("sid");
+			if (sid == null) {
+				sid = "default";
+			}
+			log.debug("sid: " + sid);
+
+			String language = httpServletRequest.getParameter("language");
+			if (language == null) {
+				language = "0";
+			}
+			Long language_id = Long.valueOf(language).longValue();
+			log.debug("language_id: " + language_id);
+
+			Long users_id = getSessionManagement().checkSession(sid);
+			Long user_level = getUserManagement().getUserLevelByID(users_id);
+
+			log.debug("users_id: " + users_id);
+			log.debug("user_level: " + user_level);
+
+			if (user_level != null && user_level > 0) {
+				FieldLanguage fl = getFieldLanguageDaoImpl()
+						.getFieldLanguageById(language_id);
+
+				List<Fieldlanguagesvalues> flvList = getFieldmanagment().getMixedFieldValuesList(language_id);
+
+				if (fl != null && flvList != null) {
+					Document doc = createDocument(flvList, getFieldmanagment().getUntranslatedFieldValuesList(language_id));
+
+					String requestedFile = fl.getName() + ".xml";
+
+					httpServletResponse.reset();
+					httpServletResponse.resetBuffer();
+					OutputStream out = httpServletResponse.getOutputStream();
+					httpServletResponse
+							.setContentType("APPLICATION/OCTET-STREAM");
+					httpServletResponse.setHeader("Content-Disposition",
+							"attachment; filename=\"" + requestedFile + "\"");
+					// httpServletResponse.setHeader("Content-Length", ""+
+					// rf.length());
+
+					this.serializetoXML(out, "UTF-8", doc);
+
+					out.flush();
+					out.close();
+				}
+			} else {
+				log.debug("ERROR LangExport: not authorized FileDownload "
+						+ (new Date()));
+			}
+
+		} catch (Exception er) {
+			log.error("ERROR ", er);
+			System.out.println("Error exporting: " + er);
+			er.printStackTrace();
+		}
+	}
+
+	public Document createDocument(List<Fieldlanguagesvalues> flvList, List<Fieldlanguagesvalues> untranslatedList) throws Exception {
+		Document document = DocumentHelper.createDocument();
+		document.setXMLEncoding("UTF-8");
+		document.addComment("###############################################\n"
+				+ "This File is auto-generated by the LanguageEditor \n"
+				+ "to add new Languages or modify/customize it use the LanguageEditor \n"
+				+ "see http://incubator.apache.org/openmeetings/LanguageEditor.html for Details \n"
+				+ "###############################################");
+
+		Element root = document.addElement("language");
+
+		for (Fieldlanguagesvalues flv : flvList) {
+			Element eTemp = root.addElement("string")
+					.addAttribute("id", flv.getFieldvalues().getFieldvalues_id().toString())
+					.addAttribute("name", flv.getFieldvalues().getName());
+			Element value = eTemp.addElement("value");
+			value.addText(flv.getValue());
+		}
+
+		//untranslated
+		if (untranslatedList.size() > 0) {
+			root.addComment("Untranslated strings");
+			for (Fieldlanguagesvalues flv : untranslatedList) {
+				Element eTemp = root.addElement("string")
+						.addAttribute("id", flv.getFieldvalues().getFieldvalues_id().toString())
+						.addAttribute("name", flv.getFieldvalues().getName());
+				Element value = eTemp.addElement("value");
+				value.addText(flv.getValue());
+			}
+		}
+
+		return document;
+	}
+
+	public void serializetoXML(OutputStream out, String aEncodingScheme,
+			Document doc) throws Exception {
+		OutputFormat outformat = OutputFormat.createPrettyPrint();
+		outformat.setEncoding(aEncodingScheme);
+		XMLWriter writer = new XMLWriter(out, outformat);
+		writer.write(doc);
+		writer.flush();
+	}
+
+}
diff --git a/src/org/openmeetings/servlet/outputhandler/NetworkTestingController.java b/src/org/openmeetings/servlet/outputhandler/NetworkTestingController.java
new file mode 100644
index 0000000..5296755
--- /dev/null
+++ b/src/org/openmeetings/servlet/outputhandler/NetworkTestingController.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.servlet.outputhandler;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import java.io.IOException;
+
+@Controller
+public class NetworkTestingController {
+
+    @RequestMapping(value = "/networktest.upload", method = RequestMethod.POST)
+	public void service(HttpServletRequest request, HttpServletResponse httpServletResponse, HttpSession session)
+			throws ServletException, IOException {
+
+    }
+
+}
diff --git a/src/org/openmeetings/servlet/outputhandler/ScreenRequestHandler.java b/src/org/openmeetings/servlet/outputhandler/ScreenRequestHandler.java
new file mode 100644
index 0000000..a08756e
--- /dev/null
+++ b/src/org/openmeetings/servlet/outputhandler/ScreenRequestHandler.java
@@ -0,0 +1,381 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.servlet.outputhandler;
+
+import java.io.File;
+import java.io.FileFilter;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.Properties;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.codec.binary.Hex;
+import org.apache.commons.lang.StringUtils;
+import org.apache.velocity.Template;
+import org.apache.velocity.context.Context;
+import org.apache.velocity.tools.view.VelocityViewServlet;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.Fieldmanagment;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.persistence.beans.basic.Configuration;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.context.ApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+public class ScreenRequestHandler extends VelocityViewServlet {
+	private static final long serialVersionUID = 2381722235536488913L;
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			ScreenRequestHandler.class, OpenmeetingsVariables.webAppRootKey);
+
+	public Sessionmanagement getSessionManagement() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return context.getBean(Sessionmanagement.class);
+			}
+		} catch (Exception err) {
+			log.error("[getSessionManagement]", err);
+		}
+		return null;
+	}
+
+	public Configurationmanagement getCfgManagement() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return context.getBean(Configurationmanagement.class);
+			}
+		} catch (Exception err) {
+			log.error("[getCfgManagement]", err);
+		}
+		return null;
+	}
+
+	public Fieldmanagment getFieldmanagment() {
+		try {
+			if (ScopeApplicationAdapter.initComplete) {
+				ApplicationContext context = WebApplicationContextUtils
+						.getWebApplicationContext(getServletContext());
+				return context.getBean(Fieldmanagment.class);
+			}
+		} catch (Exception err) {
+			log.error("[getFieldmanagment]", err);
+		}
+		return null;
+	}
+
+	private enum ConnectionType {
+		rtmp
+		, rtmps
+		, rtmpt
+	}
+	
+	private String getLabels(Long language_id, int ... ids) {
+		Fieldmanagment fieldmanagment = getFieldmanagment();
+		StringBuilder result = new StringBuilder();
+		boolean delim = false;
+		for (int id : ids) {
+			if (delim) {
+				result.append(';');
+			}
+			result.append(fieldmanagment.getFieldByIdAndLanguage((long)id, language_id).getValue());
+			delim = true;
+		}
+		return result.toString();
+	}
+	
+	@Override
+	public Template handleRequest(HttpServletRequest httpServletRequest,
+			HttpServletResponse httpServletResponse, Context ctx) {
+
+		try {
+			if (getSessionManagement() == null) {
+				return getVelocityView().getVelocityEngine().getTemplate(
+						"booting.vm");
+			}
+
+			String sid = httpServletRequest.getParameter("sid");
+			if (sid == null) {
+				sid = "default";
+			}
+			log.debug("sid: " + sid);
+
+			Long users_id = getSessionManagement().checkSession(sid);
+			if (users_id < 0) {
+				throw new Exception("Request from invalid user " + users_id);
+			}
+
+			String publicSID = httpServletRequest.getParameter("publicSID");
+			if (publicSID == null) {
+				throw new Exception("publicSID is empty: " + publicSID);
+			}
+
+			String room = httpServletRequest.getParameter("room");
+			if (room == null)
+				room = "default";
+
+			String domain = httpServletRequest.getParameter("domain");
+			if (domain == null) {
+				throw new Exception("domain is empty: " + domain);
+			}
+
+			String languageAsString = httpServletRequest
+					.getParameter("languageAsString");
+			if (languageAsString == null) {
+				throw new Exception("languageAsString is empty: " + domain);
+			}
+			Long language_id = Long.parseLong(languageAsString);
+
+			String rtmphostlocal = httpServletRequest
+					.getParameter("rtmphostlocal");
+			if (rtmphostlocal == null) {
+				throw new Exception("rtmphostlocal is empty: " + rtmphostlocal);
+			}
+
+			String red5httpport = httpServletRequest
+					.getParameter("red5httpport");
+			if (red5httpport == null) {
+				throw new Exception("red5httpport is empty: " + red5httpport);
+			}
+
+			String record = httpServletRequest.getParameter("record");
+			if (record == null) {
+				throw new Exception("recorder is empty: ");
+			}
+
+			String httpRootKey = httpServletRequest.getParameter("httpRootKey");
+			if (httpRootKey == null) {
+				throw new Exception("httpRootKey is empty could not start sharer");
+			}
+
+			String baseURL = httpServletRequest.getScheme() + "://" + rtmphostlocal + ":" + red5httpport
+					+ httpRootKey;
+
+			// make a complete name out of domain(organisation) + roomname
+			String roomName = domain + "_" + room;
+			// trim whitespaces cause it is a directory name
+			roomName = StringUtils.deleteWhitespace(roomName);
+
+			ctx.put("rtmphostlocal", rtmphostlocal); // rtmphostlocal
+			ctx.put("red5httpport", red5httpport); // red5httpport
+
+			log.debug("httpRootKey " + httpRootKey);
+
+			String codebase = baseURL + "screen";
+
+			ctx.put("codebase", codebase);
+
+			String httpSharerURL = baseURL + "ScreenServlet";
+
+			ctx.put("webAppRootKey", httpRootKey);
+			ctx.put("httpSharerURL", httpSharerURL);
+
+			ctx.put("APP_NAME", getCfgManagement().getAppName());
+			ctx.put("SID", sid);
+			ctx.put("ROOM", room);
+			ctx.put("DOMAIN", domain);
+			ctx.put("PUBLIC_SID", publicSID);
+			ctx.put("RECORDER", record);
+
+			String requestedFile = roomName + ".jnlp";
+			httpServletResponse.setContentType("application/x-java-jnlp-file");
+			httpServletResponse.setHeader("Content-Disposition",
+					"Inline; filename=\"" + requestedFile + "\"");
+
+
+			log.debug("language_id :: " + language_id);
+			String label_viewer = "Viewer";
+			String label_sharer = "Sharer";
+
+			try {
+				label_viewer = getLabels(language_id, 728, 729, 736, 742);
+
+				label_sharer = getLabels(language_id
+					,  730,  731,  732,  733,  734
+					,  735,  737,  738,  739,  740
+					,  741,  742,  844,  869,  870
+					,  871,  872,  878, 1089, 1090
+					, 1091, 1092, 1093, 1465, 1466
+					, 1467, 1468, 1469, 1470, 1471
+					, 1472, 1473, 1474, 1475, 1476
+					, 1477);
+			} catch (Exception e) {
+				log.error("Error resolving Language labels : ", e);
+			}
+
+			ctx.put("LABELVIEWER", label_viewer);
+			ctx.put("LABELSHARER", label_sharer);
+
+			log.debug("Creating JNLP Template for TCP solution");
+
+			try {
+				final String screenShareDirName = "screensharing";
+				//libs
+				StringBuilder libs = new StringBuilder();
+				File screenShareDir = new File(ScopeApplicationAdapter.webAppPath, screenShareDirName);
+				for (File jar : screenShareDir.listFiles(new FileFilter() {
+					public boolean accept(File pathname) {
+						return pathname.getName().endsWith(".jar");
+					}
+				})) {
+					libs.append("\t\t<jar href=\"").append(jar.getName()).append("\"/>\n");
+				}
+				addKeystore(ctx);
+				ctx.put("LIBRARIES", libs);
+				log.debug("RTMP Sharer labels :: " + label_sharer);
+
+				codebase = baseURL + screenShareDirName;
+
+				ConnectionType conType = ConnectionType
+						.valueOf(httpServletRequest
+								.getParameter("connectionType"));
+
+				String startUpClass;
+				switch (conType) {
+				case rtmp:
+					startUpClass = "org.openmeetings.screen.webstart.RTMPScreenShare";
+					break;
+				case rtmps:
+					startUpClass = "org.openmeetings.screen.webstart.RTMPSScreenShare";
+					break;
+				case rtmpt:
+					startUpClass = "org.openmeetings.screen.webstart.RTMPTScreenShare";
+					break;
+				default:
+					throw new Exception("Unknown connection type");
+				}
+
+				String orgIdAsString = httpServletRequest
+						.getParameter("organization_id");
+				if (orgIdAsString == null) {
+					throw new Exception(
+							"orgIdAsString is empty could not start sharer");
+				}
+
+				ctx.put("organization_id", orgIdAsString);
+
+				ctx.put("startUpClass", startUpClass);
+				ctx.put("codebase", codebase);
+				ctx.put("red5-host", rtmphostlocal);
+				ctx.put("red5-app", OpenmeetingsVariables.webAppRootKey + "/"
+						+ room);
+
+				Configuration configuration = getCfgManagement().getConfKey(3L,
+						"default.quality.screensharing");
+				String default_quality_screensharing = "1";
+				if (configuration != null) {
+					default_quality_screensharing = configuration
+							.getConf_value();
+				}
+
+				ctx.put("default_quality_screensharing",
+						default_quality_screensharing);
+
+				ctx.put("user_id", users_id);
+
+				String port = httpServletRequest.getParameter("port");
+				if (port == null) {
+					throw new Exception("port is empty: ");
+				}
+				ctx.put("port", port);
+
+				String allowRecording = httpServletRequest
+						.getParameter("allowRecording");
+				if (allowRecording == null) {
+					throw new Exception("allowRecording is empty: ");
+				}
+				ctx.put("allowRecording", allowRecording);
+
+			} catch (Exception e) {
+				log.error("invalid configuration value for key screen_viewer!");
+			}
+
+			String template = "screenshare.vm";
+
+			return getVelocityView().getVelocityEngine().getTemplate(template);
+
+		} catch (Exception er) {
+			log.error("[ScreenRequestHandler]", er);
+			System.out.println("Error downloading: " + er);
+		}
+		return null;
+	}
+
+	private StringBuilder addArgument(StringBuilder sb, Object arg) {
+		return sb.append("\t\t<argument>").append(arg).append("</argument>\n");
+	}
+	
+	private void addKeystore(Context ctx) {
+		log.debug("RTMP Sharer Keystore :: start");
+		StringBuilder sb = new StringBuilder();
+		FileInputStream fis = null;
+		try {
+			//FIXME hack !!!!
+			File root = new File(ScopeApplicationAdapter.webAppPath).getParentFile().getParentFile();
+			File conf = new File(root, "conf");
+
+			File keyStore = new File(conf, "keystore.screen");
+			if (keyStore.exists()) {
+				Properties red5Props = new Properties();
+				red5Props.load(new FileInputStream(new File(conf, "red5.properties")));
+				
+				byte keyBytes[] = new byte[(int)keyStore.length()];
+				fis = new FileInputStream(keyStore);
+				fis.read(keyBytes);
+				
+				sb = addArgument(addArgument(sb, Hex.encodeHexString(keyBytes)), red5Props.getProperty("rtmps.keystorepass"));
+				
+				/*
+				KeyStore ksIn = KeyStore.getInstance(KeyStore.getDefaultType());
+				ksIn.load(new FileInputStream(keyStore), red5Props.getProperty("rtmps.keystorepass").toCharArray());
+				ByteArrayInputStream bin = new ByteArrayInputStream()
+				
+				byte fileContent[] = new byte[(int)file.length()];
+				sb = addArgument(sb, Object arg)
+				ctx.put("$KEYSTORE", users_id);
+				/*
+				KeyStore ksOut = KeyStore.getInstance(KeyStore.getDefaultType());
+				for (Certificate cert : ksIn.getCertificateChain("red5")) {
+					PublicKey pub = cert.getPublicKey();
+					TrustedCertificateEntry tce = new TrustedCertificateEntry(cert);
+					tce.
+				}
+				*/
+			}
+		} catch (Exception e) {
+			//no op
+		} finally {
+			if (fis != null) {
+				try {
+					fis.close();
+				} catch (IOException e) {
+					// no op
+				}
+			}
+		}
+		ctx.put("KEYSTORE", sb);
+	}
+}
diff --git a/src/org/openmeetings/servlet/outputhandler/ServletRequestExFilter.java b/src/org/openmeetings/servlet/outputhandler/ServletRequestExFilter.java
new file mode 100644
index 0000000..ad49aa1
--- /dev/null
+++ b/src/org/openmeetings/servlet/outputhandler/ServletRequestExFilter.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.servlet.outputhandler;
+
+import java.io.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+import org.openmeetings.servlet.outputhandler.HttpServletRequestEx;
+
+public class ServletRequestExFilter implements Filter {
+
+	private FilterConfig config = null;  
+
+	public void init(FilterConfig config) throws ServletException {
+		this.config = config;
+	}
+
+	public void destroy() {
+		config = null;
+	}
+
+	public void doFilter(ServletRequest request, ServletResponse response, 
+			FilterChain chain) throws IOException, ServletException {
+		HttpServletRequest req = (HttpServletRequest) request;
+		
+		//We need our filter only to handle download requests, therefore we only
+		//need it with GET requests. In addition, it can only work with GET requests
+		//in its current condition
+		if  ( req.getMethod() == "GET" )
+		{
+			HttpServletRequestEx requestEx = new HttpServletRequestEx(req, config.getInitParameter("uriEncoding"));
+			chain.doFilter(requestEx, response);
+		}
+		else
+		{
+			chain.doFilter(req, response);
+		}
+	}
+}
+
diff --git a/src/org/openmeetings/servlet/outputhandler/UploadController.java b/src/org/openmeetings/servlet/outputhandler/UploadController.java
new file mode 100644
index 0000000..b833275
--- /dev/null
+++ b/src/org/openmeetings/servlet/outputhandler/UploadController.java
@@ -0,0 +1,424 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.servlet.outputhandler;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+import org.apache.commons.lang.StringUtils;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.file.FileProcessor;
+import org.openmeetings.app.data.file.dao.FileExplorerItemDaoImpl;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.documents.GenerateImage;
+import org.openmeetings.app.documents.GeneratePDF;
+import org.openmeetings.app.documents.GenerateThumbs;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.openmeetings.utils.StoredFile;
+import org.openmeetings.utils.stringhandlers.StringComparer;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.multipart.MultipartFile;
+
+@Controller
+public class UploadController extends AbstractUploadController {
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			UploadController.class, OpenmeetingsVariables.webAppRootKey);
+	
+	@Autowired
+	private UsersDaoImpl usersDao;
+	@Autowired
+	private ScopeApplicationAdapter scopeApplicationAdapter;
+	@Autowired
+	private GeneratePDF generatePDF;
+	@Autowired
+	private GenerateThumbs generateThumbs;
+	@Autowired
+	private GenerateImage generateImage;
+	@Autowired
+	private FileProcessor fileProcessor;
+	@Autowired
+	private FileExplorerItemDaoImpl fileExplorerItemDao;
+
+	private String filesString[] = null;
+	
+    @RequestMapping(value = "/file.upload", method = RequestMethod.POST)
+    public void handleFileUpload(HttpServletRequest request, HttpServletResponse response, HttpSession session) throws ServletException {
+    	UploadInfo info = validate(request, false);
+    	try {
+	    	LinkedHashMap<String, Object> hs = prepareMessage(info);
+			String room_idAsString = request.getParameter("room_id");
+			if (room_idAsString == null) {
+				throw new ServletException("Missing Room ID");
+			}
+	
+			Long room_id_to_Store = Long.parseLong(room_idAsString);
+	
+			String isOwnerAsString = request.getParameter("isOwner");
+			if (isOwnerAsString == null) {
+				throw new ServletException("Missing isOwnerAsString");
+			}
+			boolean isOwner = false;
+			if (isOwnerAsString.equals("1")) {
+				isOwner = true;
+			}
+	
+			String parentFolderIdAsString = request
+					.getParameter("parentFolderId");
+			if (parentFolderIdAsString == null) {
+				throw new ServletException("Missing parentFolderId ID");
+			}
+			Long parentFolderId = Long.parseLong(parentFolderIdAsString);
+	
+			String current_dir = context.getRealPath("/");
+	
+			MultipartFile multipartFile = info.file;
+			InputStream is = multipartFile.getInputStream();
+			log.debug("fileSystemName: " + info.filename);
+	
+			HashMap<String, HashMap<String, String>> returnError = fileProcessor
+					.processFile(info.userId, room_id_to_Store, isOwner, is,
+							parentFolderId, info.filename, current_dir, hs, 0L, ""); // externalFilesId,
+																						// externalType
+	
+			HashMap<String, String> returnAttributes = returnError
+					.get("returnAttributes");
+	
+			// Flash cannot read the response of an upload
+			// httpServletResponse.getWriter().print(returnError);
+			hs.put("message", "library");
+			hs.put("action", "newFile");
+			hs.put("fileExplorerItem",
+					fileExplorerItemDao.getFileExplorerItemsById(
+							Long.parseLong(returnAttributes.get(
+									"fileExplorerItemId").toString())));
+			hs.put("error", returnError);
+			hs.put("fileName", returnAttributes.get("completeName"));
+			sendMessage(info, hs);
+		} catch (ServletException e) {
+			throw e;
+		} catch (Exception e) {
+			log.error("Exception during upload: ", e);
+			throw new ServletException(e);
+    	}
+    }
+
+    @RequestMapping(value = "/upload.upload", method = RequestMethod.POST)
+    public void handleFormUpload(HttpServletRequest request, HttpServletResponse response) throws ServletException {
+		try {
+	    	UploadInfo info = validate(request, false);
+	    	LinkedHashMap<String, Object> hs = prepareMessage(info);
+			String room_id = request.getParameter("room_id");
+			if (room_id == null) {
+				room_id = "default";
+			}
+			String roomName = StringUtils.deleteWhitespace(room_id);
+	
+			String moduleName = request.getParameter("moduleName");
+			if (moduleName == null) {
+				moduleName = "nomodule";
+			}
+			if (moduleName.equals("nomodule")) {
+				log.debug("module name missed");
+				return;
+			}
+			boolean userProfile = moduleName.equals("userprofile");
+	
+			MultipartFile multipartFile = info.file;
+			InputStream is = multipartFile.getInputStream();
+			String fileSystemName = info.filename;
+			fileSystemName = StringUtils.deleteWhitespace(fileSystemName);
+	
+			// Flash cannot read the response of an upload
+			// httpServletResponse.getWriter().print(returnError);
+			uploadFile(request, userProfile, info.userId, roomName, is, fileSystemName, hs);
+			sendMessage(info, hs);
+		} catch (ServletException e) {
+			throw e;
+		} catch (Exception e) {
+			log.error("Exception during upload: ", e);
+			throw new ServletException(e);
+		}
+    }
+
+    private LinkedHashMap<String, Object> prepareMessage(UploadInfo info) {
+		LinkedHashMap<String, Object> hs = new LinkedHashMap<String, Object>();
+		hs.put("user", usersDao.getUser(info.userId));
+		return hs;
+    }
+    
+    private void sendMessage(UploadInfo info, LinkedHashMap<String, Object> hs) {
+		scopeApplicationAdapter.sendMessageWithClientByPublicSID(hs,
+				info.publicSID);
+    }
+    
+	private void uploadFile(HttpServletRequest request, boolean userProfile, Long userId, String roomName,
+			InputStream is, String fileSystemName, Map<String, Object> hs)
+			throws Exception {
+		HashMap<String, HashMap<String, String>> returnError = new HashMap<String, HashMap<String, String>>();
+
+		// Get the current user directory
+		String currentDir = context.getRealPath("/");
+		String workingDir = currentDir + OpenmeetingsVariables.UPLOAD_DIR + File.separatorChar
+				+ roomName + File.separatorChar;
+		log.debug("workingDir: " + workingDir);
+
+		File localFolder = new File(workingDir);
+		if (!localFolder.exists()) {
+			localFolder.mkdirs();
+		}
+
+		// Check variable to see if this file is a presentation
+		int dotidx = fileSystemName.lastIndexOf('.');
+		String newFileName = StringComparer.getInstance().compareForRealPaths(
+				fileSystemName.substring(0, dotidx));
+		String newFileExtDot = fileSystemName.substring(dotidx,
+				fileSystemName.length()).toLowerCase();
+		String newFileExt = newFileExtDot.substring(1);
+
+		// trim long names cause cannot output that
+		final int MAX_FILE_NAME_LENGTH = 30;
+		if (newFileName.length() >= MAX_FILE_NAME_LENGTH) {
+			newFileName = newFileName.substring(0, MAX_FILE_NAME_LENGTH);
+		}
+		StoredFile storedFile = new StoredFile(newFileName, newFileExt);
+
+		// check if this is a a file that can be converted by
+		// openoffice-service
+		boolean canBeConverted = storedFile.isConvertable();
+		boolean isPdf = storedFile.isPdf();
+		boolean isImage = storedFile.isImage();
+		boolean isAsIs = storedFile.isAsIs();
+
+		String completeName = "";
+
+		// add outputfolders for profiles
+		if (userProfile) {
+			// User Profile Update
+			this.deleteUserProfileFilesStoreTemp(currentDir, userId);
+
+			completeName = currentDir + OpenmeetingsVariables.UPLOAD_DIR + File.separatorChar
+					+ "profiles" + File.separatorChar;
+			File f = new File(completeName);
+			if (!f.exists()) {
+				boolean c = f.mkdir();
+				if (!c) {
+					log.error("cannot write to directory");
+					// System.out.println("cannot write to directory");
+				}
+			}
+			completeName += ScopeApplicationAdapter.profilesPrefix + userId
+					+ File.separatorChar;
+			File f2 = new File(completeName);
+			if (!f2.exists()) {
+				boolean c = f2.mkdir();
+				if (!c) {
+					log.error("cannot write to directory");
+					// System.out.println("cannot write to directory");
+				}
+			}
+		}
+		// if it is a presenation it will be copied to another
+		// place
+		if (isAsIs) {
+			// check if this is a room file or UserProfile
+			if (userProfile) {
+				completeName += newFileName;
+			} else {
+				completeName = workingDir + newFileName;
+			}
+		} else if (canBeConverted || isPdf || isImage) {
+			// check if this is a room file or UserProfile
+			// add Temp folder structure
+			String workingDirPpt = currentDir
+					+ OpenmeetingsVariables.UPLOAD_TEMP_DIR
+					+ File.separatorChar
+					+ ((userProfile) ? "profiles" + File.separatorChar
+							+ ScopeApplicationAdapter.profilesPrefix + userId
+							: roomName) + File.separatorChar;
+			localFolder = new File(workingDirPpt);
+			if (!localFolder.exists()) {
+				localFolder.mkdirs();
+			}
+			completeName = workingDirPpt + newFileName;
+		} else {
+			return;
+		}
+
+		File f = new File(completeName + newFileExtDot);
+		if (f.exists()) {
+			int recursiveNumber = 0;
+			String tempd = completeName + "_" + recursiveNumber;
+			while (f.exists()) {
+				recursiveNumber++;
+				tempd = completeName + "_" + recursiveNumber;
+				f = new File(tempd + newFileExtDot);
+
+			}
+			completeName = tempd;
+		}
+
+		log.debug("write file to : " + completeName + newFileExtDot);
+
+		FileOutputStream fos = new FileOutputStream(completeName
+				+ newFileExtDot);
+		byte[] buffer = new byte[1024];
+		int len = 0;
+
+		while (len != (-1)) {
+			len = is.read(buffer, 0, 1024);
+			if (len != (-1))
+				fos.write(buffer, 0, len);
+		}
+
+		fos.close();
+		is.close();
+
+		log.debug("canBeConverted: " + canBeConverted);
+		if (canBeConverted) {
+			// convert to pdf, thumbs, swf and xml-description
+			returnError = generatePDF.convertPDF(currentDir, newFileName,
+					newFileExtDot, roomName, true, completeName);
+		} else if (isPdf) {
+			
+			boolean isEncrypted = true; 
+			
+			log.debug("isEncrypted :: " + isEncrypted);
+
+			if (isEncrypted) {
+				// Do convert pdf to other pdf first
+				String inputfile = completeName + newFileExtDot;
+
+				completeName = completeName + "_N_E";
+				newFileName = newFileName + "_N_E";
+
+				String outputfile = completeName + newFileExtDot;
+
+				generateThumbs.decodePDF(inputfile, outputfile);
+
+				File f_old = new File(inputfile);
+				if (f_old.exists()) {
+					f_old.delete();
+				}
+
+			}
+
+			// convert to thumbs, swf and xml-description
+			returnError = generatePDF.convertPDF(currentDir, newFileName,
+					newFileExtDot, roomName, false, completeName);
+
+			// returnError.put("decodePDF", returnError2);
+
+		} else if (isImage && !isAsIs) {
+
+			log.debug("##### isImage! userProfilePic: " + userProfile);
+
+			if (userProfile) {
+				// User Profile Update
+				this.deleteUserProfileFiles(currentDir, userId);
+				// convert it to JPG
+				returnError = generateImage.convertImageUserProfile(
+						currentDir, newFileName, newFileExtDot, userId,
+						newFileName, false);
+			} else {
+				// convert it to JPG
+				log.debug("##### convert it to JPG: " + userProfile);
+				returnError = generateImage.convertImage(currentDir,
+						newFileName, newFileExtDot, roomName, newFileName,
+						false);
+			}
+		} else if (isAsIs) {
+			if (userProfile) {
+				// User Profile Update
+				this.deleteUserProfileFiles(currentDir, userId);
+				// is UserProfile Picture
+				HashMap<String, String> processThumb1 = generateThumbs
+						.generateThumb("_chat_", currentDir, completeName, 40);
+				HashMap<String, String> processThumb2 = generateThumbs
+						.generateThumb("_profile_", currentDir, completeName,
+								126);
+				HashMap<String, String> processThumb3 = generateThumbs
+						.generateThumb("_big_", currentDir, completeName, 240);
+				returnError.put("processThumb1", processThumb1);
+				returnError.put("processThumb2", processThumb2);
+				returnError.put("processThumb3", processThumb3);
+
+				File fileNameToStore = new File(completeName + ".jpg");
+				String pictureuri = fileNameToStore.getName();
+				Users us = usersDao.getUser(userId);
+				us.setUpdatetime(new java.util.Date());
+				us.setPictureuri(pictureuri);
+				usersDao.updateUser(us);
+
+				//FIXME: After updating the picture url all other users should refresh
+			} else {
+				HashMap<String, String> processThumb = generateThumbs
+						.generateThumb("_thumb_", currentDir, completeName, 50);
+				returnError.put("processThumb", processThumb);
+			}
+		}
+
+		hs.put("message", "library");
+		hs.put("action", "newFile");
+		hs.put("error", returnError);
+		hs.put("fileName", completeName);
+	}
+
+	private void deleteUserProfileFilesStoreTemp(String current_dir,
+			Long users_id) throws Exception {
+
+		String working_imgdir = current_dir + OpenmeetingsVariables.UPLOAD_DIR + File.separatorChar
+				+ "profiles" + File.separatorChar
+				+ ScopeApplicationAdapter.profilesPrefix + users_id
+				+ File.separatorChar;
+		File f = new File(working_imgdir);
+		if (f.exists() && f.isDirectory()) {
+			this.filesString = f.list();
+		}
+	}
+
+	private void deleteUserProfileFiles(String current_dir, Long users_id)
+			throws Exception {
+
+		String working_imgdir = current_dir + OpenmeetingsVariables.UPLOAD_DIR + File.separatorChar
+				+ "profiles" + File.separatorChar
+				+ ScopeApplicationAdapter.profilesPrefix + users_id
+				+ File.separatorChar;
+
+		for (int i = 0; i < this.filesString.length; i++) {
+			String fileName = filesString[i];
+			File subf = new File(working_imgdir + fileName);
+			subf.delete();
+		}
+	}
+}
diff --git a/src/org/openmeetings/test/AbstractOpenmeetingsSpringTest.java b/src/org/openmeetings/test/AbstractOpenmeetingsSpringTest.java
new file mode 100644
index 0000000..b5753f5
--- /dev/null
+++ b/src/org/openmeetings/test/AbstractOpenmeetingsSpringTest.java
@@ -0,0 +1,136 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test;
+
+import static junit.framework.Assert.assertNotNull;
+import static junit.framework.Assert.assertTrue;
+
+import java.io.File;
+import java.util.Date;
+
+import org.junit.Before;
+import org.junit.runner.RunWith;
+import org.openmeetings.app.data.calendar.daos.AppointmentDaoImpl;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.installation.ImportInitvalues;
+import org.openmeetings.app.installation.InstallationConfig;
+import org.openmeetings.app.persistence.beans.calendar.Appointment;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.TestExecutionListeners;
+import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@TestExecutionListeners({})
+@ContextConfiguration(locations={"classpath:/openmeetings-applicationContext.xml"}, inheritLocations = true)
+public abstract class AbstractOpenmeetingsSpringTest extends AbstractJUnit4SpringContextTests {
+	private static final Logger log = Red5LoggerFactory.getLogger(AbstractOpenmeetingsSpringTest.class);
+	
+	protected static final String username = "junit";
+	protected static final String userpass = "test";
+	private static final String orgname = "smoketest";
+	private static final String timeZone = "";
+	private static final String useremail = "junit@openmeetings.de";
+	
+	@Autowired
+	private AppointmentDaoImpl appointmentDao;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private UsersDaoImpl usersDao;
+	@Autowired
+	private ImportInitvalues importInitvalues;
+
+	@Before
+	public void setUp() {
+        try {
+            if (userManagement.getUserById(1L) == null) {
+                makeDefaultScheme();
+                log.info("Default scheme created successfully");
+            } else {
+                log.info("Default scheme already created");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+
+	public Appointment createAppointment() throws Exception {
+		assertNotNull("Can't access to appointment dao implimentation", appointmentDao);
+
+		// add new appointment
+		Appointment ap = new Appointment();
+
+		ap.setAppointmentName("appointmentName");
+		ap.setAppointmentLocation("appointmentLocation");
+
+		Date appointmentstart = new Date();
+		Date appointmentend = new Date();
+		appointmentend.setTime(appointmentstart.getTime() + 3600);
+
+		ap.setAppointmentStarttime(appointmentstart);
+		ap.setAppointmentEndtime(appointmentend);
+		ap.setAppointmentDescription("appointmentDescription");
+		ap.setStarttime(new Date());
+		ap.setDeleted("false");
+		ap.setIsDaily(false);
+		ap.setIsWeekly(false);
+		ap.setIsMonthly(false);
+		ap.setIsYearly(false);
+		ap.setIsPasswordProtected(false);
+
+		ap.setUserId(usersDao.getUser(1L));
+		ap.setIsConnectedEvent(false);
+		Long id = appointmentDao.addAppointmentObj(ap);
+		assertNotNull("Cann't add appointment", id);
+		return ap;
+	}
+
+	public Users createUser(int rnd) throws Exception {
+		Users users = new Users();
+		// add user
+		users.setFirstname("firstname" + rnd);
+		users.setLastname("lastname" + rnd);
+		users.setLogin("login");
+		users.setPassword("pass" + rnd);
+		users.setLanguage_id(1L);
+		Long user_id = userManagement.addUser(users);
+		assertTrue("Cann't add user", user_id > 0);
+		users = userManagement.getUserByIdAndDeleted(user_id);
+		assertNotNull("User should not be null", users);
+		return users;
+	}
+
+	private void makeDefaultScheme() throws Exception {
+		String filePath = System.getProperty("webapps.root")
+				+ File.separatorChar + ScopeApplicationAdapter.webAppPath
+				+ ImportInitvalues.languageFolderName;
+
+		importInitvalues.loadAll(filePath, new InstallationConfig(), username, userpass,
+				useremail, orgname, timeZone, false);
+	}
+}
diff --git a/src/org/openmeetings/test/EditorPaneLinkDetector.java b/src/org/openmeetings/test/EditorPaneLinkDetector.java
new file mode 100644
index 0000000..4b4061c
--- /dev/null
+++ b/src/org/openmeetings/test/EditorPaneLinkDetector.java
@@ -0,0 +1,310 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test;
+
+/**
+ * David Bismut, david.bismut@gmail.com
+ * Intern, SETLabs, Infosys Technologies Ltd. May 2004 - Jul 2004
+ * Ecole des Mines de Nantes, France
+ */
+import java.awt.event.KeyAdapter;
+import java.awt.event.KeyEvent;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseMotionAdapter;
+import java.io.IOException;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import javax.accessibility.AccessibleHypertext;
+import javax.swing.JEditorPane;
+import javax.swing.text.AttributeSet;
+import javax.swing.text.BadLocationException;
+import javax.swing.text.Element;
+import javax.swing.text.html.HTML;
+import javax.swing.text.html.HTMLDocument;
+import javax.swing.text.html.HTMLEditorKit;
+import javax.swing.text.html.StyleSheet;
+import javax.swing.text.html.parser.ParserDelegator;
+
+/**
+ * A "HTML" JEditorPane embedded with a special HTMLDocument that detects urls
+ * and displays them as hyperlinks. When CTRL is pressed, the urls are
+ * clickable.
+ * 
+ * @author David Bismut
+ *  
+ */
+public class EditorPaneLinkDetector extends JEditorPane {
+	private static final long serialVersionUID = 2811878994346374017L;
+
+	/**
+	 * Creates a <code>EditorPaneLinkDetector</code>.
+	 */
+	public EditorPaneLinkDetector() {
+
+		HTMLEditorKit htmlkit = new HTMLEditorKit();
+
+		StyleSheet styles = htmlkit.getStyleSheet();
+		StyleSheet ss = new StyleSheet();
+
+		ss.addStyleSheet(styles);
+
+		ss.addRule("body {font-family:arial;font-size:12pt}");
+		ss.addRule("p {font-family:arial;margin:2}");
+
+		HTMLDocument doc = new HTMLDocLinkDetector(ss);
+
+		setEditorKit(htmlkit);
+
+		setDocument(doc);
+
+		addMouseMotionListener(new MouseMotionAdapter() {
+			public void mouseMoved(MouseEvent e) {
+
+				AccessibleJTextComponent context = (AccessibleJTextComponent) getAccessibleContext()
+						.getAccessibleEditableText();
+
+				AccessibleHypertext accText = (AccessibleHypertext) context
+						.getAccessibleText();
+
+				int index = accText.getIndexAtPoint(e.getPoint());
+
+				int linkIndex = accText.getLinkIndex(index);
+				if (linkIndex == -1) {
+					setToolTipText(null);
+					return;
+				}
+
+				String linkDesc = accText.getLink(linkIndex)
+						.getAccessibleActionDescription(0);
+
+				String toolTipText = "<html><body style='margin: 3'>"
+						+ linkDesc
+						+ "<br><b>CTRL + click to follow link</b></body></html>";
+				setToolTipText(toolTipText);
+			}
+		});
+
+		addKeyListener(new KeyAdapter() {
+			public void keyPressed(KeyEvent e) {
+				
+				if (e.getKeyCode() == KeyEvent.VK_CONTROL) {
+					if (isEditable())
+						setEditable(false);
+				} else {
+					if (!isEditable())
+						setEditable(true);
+				}
+
+			}
+
+			public void keyReleased(KeyEvent e) {
+				
+				if (e.getKeyCode() == KeyEvent.VK_CONTROL) {
+					setEditable(true);
+				}
+
+			}
+		});
+	}
+
+	protected class HTMLDocLinkDetector extends HTMLDocument {
+
+		/**
+		 * 
+		 */
+		private static final long serialVersionUID = 1226244167782160437L;
+
+		public HTMLDocLinkDetector(StyleSheet ss) {
+			super(ss);
+			
+			setAsynchronousLoadPriority(4);
+			setTokenThreshold(100);
+			setParser(new ParserDelegator());
+		}
+
+		/**
+		 * Returns true if the Element contains a HTML.Tag.A attribute, false
+		 * otherwise.
+		 * 
+		 * @param e
+		 *            the Element to be checkd
+		 * @return
+		 */
+		protected boolean isLink(Element e) {
+			
+			return (e.getAttributes().getAttribute(HTML.Tag.A) != null);
+
+		}
+
+		/**
+		 * This method corrects or creates a url contained in an Element as an
+		 * hyperlink.
+		 * 
+		 * @param e
+		 *            the Element to be computed
+		 * @throws BadLocationException
+		 */
+		protected void computeLinks(Element e) throws BadLocationException {
+			
+			int caretPos = getCaretPosition();
+			try {
+				if (isLink(e))
+					correctLink(e);
+				else
+					createLink(e);
+			} catch (IOException ex) {
+				ex.printStackTrace();
+			}
+			setCaretPosition(Math.min(caretPos, getLength()));
+		}
+
+		/**
+		 * The method corrects the url inside an Element, that is supposed to be
+		 * an element containing a link only. This function is typically called
+		 * when the url is beeing edited. What the function does is to remove
+		 * the html tags, so the url is actually edited in plain text and not as
+		 * an hyperlink.
+		 * 
+		 * @param e
+		 *            the Element that contains the url
+		 * @throws BadLocationException
+		 * @throws IOException
+		 */
+		protected void correctLink(Element e) throws BadLocationException,
+				IOException {
+			
+			int length = e.getEndOffset() - e.getStartOffset();
+
+			boolean endOfDoc = e.getEndOffset() == getLength() + 1;
+
+			// to avoid catching the final '\n' of the document.
+			if (endOfDoc)
+				length--;
+
+			String text = getText(e.getStartOffset(), length);
+
+			setOuterHTML(e, text);
+
+			// insert final spaces ignored by the html
+			Matcher spaceMatcher = Pattern.compile("(\\s+)$").matcher(text);
+
+			if (spaceMatcher.find()) {
+				String endingSpaces = spaceMatcher.group(1);
+				insertString(Math.min(getLength(), e.getEndOffset()),
+						endingSpaces, null);
+			}
+		}
+
+		/**
+		 * The method check if the element contains a url in plain text, and if
+		 * so, it creates the html tag HTML.Tag.A to have the url displayed as
+		 * an hyperlink.
+		 * 
+		 * @param e
+		 *            element that contains the url
+		 * @throws BadLocationException
+		 * @throws IOException
+		 */
+		protected void createLink(Element e) throws BadLocationException,
+				IOException {
+			
+			int caretPos = getCaretPosition();
+
+			int startOffset = e.getStartOffset();
+			int length = e.getEndOffset() - e.getStartOffset();
+
+			boolean endOfDoc = e.getEndOffset() == getLength() + 1;
+			// to avoid catching the final '\n' of the document.
+			if (endOfDoc)
+				length--;
+
+			String text = getText(startOffset, length);
+
+			Matcher matcher = Pattern.compile(
+					"(?i)(\\b(http://|https://|www.|ftp://|file:/|mailto:)\\S+)(\\s+)")
+					.matcher(text);
+
+			if (matcher.find()) {
+				String url = matcher.group(1);
+				//String prefix = matcher.group(2);
+				String endingSpaces = matcher.group(3);
+
+				// to ignore characters after the caret
+				int validPos = startOffset + matcher.start(3) + 1;
+				if (validPos > caretPos)
+					return;
+
+				Matcher dotEndMatcher = Pattern.compile("([\\W&&[^/]]+)$")
+						.matcher(url);
+
+				//Ending non alpha characters like [.,?%] shouldn't be included
+				// in the url.
+				String endingDots = "";
+				if (dotEndMatcher.find()) {
+					endingDots = dotEndMatcher.group(1);
+					url = dotEndMatcher.replaceFirst("");
+				}
+
+				text = matcher.replaceFirst("<a href='" + url + "'>" + url
+						+ "</a>" + endingDots + endingSpaces);
+
+				setOuterHTML(e, text);
+
+				// insert initial spaces ignored by the html
+				Matcher spaceMatcher = Pattern.compile("^(\\s+)").matcher(text);
+
+				if (spaceMatcher.find()) {
+					String initialSpaces = spaceMatcher.group(1);
+					insertString(startOffset, initialSpaces, null);
+				}
+
+				// insert final spaces ignored by the html
+				spaceMatcher = Pattern.compile("(\\s+)$").matcher(text);
+
+				if (spaceMatcher.find()) {
+					String extraSpaces = spaceMatcher.group(1);
+					int endoffset = e.getEndOffset();
+					if (extraSpaces.charAt(extraSpaces.length() - 1) == '\n') {
+						extraSpaces = extraSpaces.substring(0, extraSpaces
+								.length() - 1);
+						endoffset--;
+					}
+					insertString(Math.min(getLength(), endoffset), extraSpaces,
+							null);
+				}
+			}
+		}
+
+		public void remove(int offs, int len) throws BadLocationException {
+
+			super.remove(offs, len);
+			Element e = getCharacterElement(offs - len);
+			computeLinks(e);
+		}
+
+		public void insertString(int offs, String str, AttributeSet a)
+				throws BadLocationException {
+
+			super.insertString(offs, str, a);
+			Element e = getCharacterElement(offs);
+			computeLinks(e);
+		}
+	}
+}
diff --git a/src/org/openmeetings/test/TestConnection.java b/src/org/openmeetings/test/TestConnection.java
new file mode 100644
index 0000000..bef0844
--- /dev/null
+++ b/src/org/openmeetings/test/TestConnection.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test;
+
+import org.junit.Test;
+
+public class TestConnection {
+
+	@Test
+	public void testNoop() {
+		
+	}
+}
diff --git a/src/org/openmeetings/test/asf/AsfCopyRightReplace.java b/src/org/openmeetings/test/asf/AsfCopyRightReplace.java
new file mode 100644
index 0000000..cadc36e
--- /dev/null
+++ b/src/org/openmeetings/test/asf/AsfCopyRightReplace.java
@@ -0,0 +1,217 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.asf;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.FilenameFilter;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.StringWriter;
+
+public class AsfCopyRightReplace {
+
+	String asf_copyright = "/*\n"
+			+ " * Licensed to the Apache Software Foundation (ASF) under one\n"
+			+ " * or more contributor license agreements.  See the NOTICE file\n"
+			+ " * distributed with this work for additional information\n"
+			+ " * regarding copyright ownership.  The ASF licenses this file\n"
+			+ " * to you under the Apache License, Version 2.0 (the\n"
+			+ " * \"License\") +  you may not use this file except in compliance\n"
+			+ " * with the License.  You may obtain a copy of the License at\n"
+			+ " *\n"
+			+ " *   http://www.apache.org/licenses/LICENSE-2.0\n"
+			+ " *\n"
+			+ " * Unless required by applicable law or agreed to in writing,\n"
+			+ " * software distributed under the License is distributed on an\n"
+			+ " * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n"
+			+ " * KIND, either express or implied.  See the License for the\n"
+			+ " * specific language governing permissions and limitations\n"
+			+ " * under the License.\n" + " */\n";
+
+	String asf_xml_copyright = "<!--\n"
+			+ "  Licensed to the Apache Software Foundation (ASF) under one\n"
+			+ "  or more contributor license agreements.  See the NOTICE file\n"
+			+ "  distributed with this work for additional information\n"
+			+ "  regarding copyright ownership.  The ASF licenses this file\n"
+			+ "  to you under the Apache License, Version 2.0 (the\n"
+			+ "  \"License\"); you may not use this file except in compliance\n"
+			+ "  with the License.  You may obtain a copy of the License at\n"
+			+ "  \n" + "      http://www.apache.org/licenses/LICENSE-2.0\n"
+			+ "    	  \n"
+			+ "  Unless required by applicable law or agreed to in writing,\n"
+			+ "  software distributed under the License is distributed on an\n"
+			+ "  \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n"
+			+ "  KIND, either express or implied.  See the License for the\n"
+			+ "  specific language governing permissions and limitations\n"
+			+ "  under the License.\n" + "  \n" + "-->\n";
+	
+	String asf_vm_copyright = "#\n"
+			+ "# Licensed to the Apache Software Foundation (ASF) under one\n"
+			+ "# or more contributor license agreements.  See the NOTICE file\n"
+			+ "# distributed with this work for additional information\n"
+			+ "# regarding copyright ownership.  The ASF licenses this file\n"
+			+ "# to you under the Apache License, Version 2.0 (the\n"
+			+ "# \"License\") +  you may not use this file except in compliance\n"
+			+ "# with the License.  You may obtain a copy of the License at\n"
+			+ "#\n"
+			+ "#   http://www.apache.org/licenses/LICENSE-2.0\n"
+			+ "#\n"
+			+ "# Unless required by applicable law or agreed to in writing,\n"
+			+ "# software distributed under the License is distributed on an\n"
+			+ "# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n"
+			+ "# KIND, either express or implied.  See the License for the\n"
+			+ "# specific language governing permissions and limitations\n"
+			+ "# under the License.\n" + "#/\n";
+
+	public static void main(String... args) {
+		new AsfCopyRightReplace();
+	}
+
+	public AsfCopyRightReplace() {
+		// scanFolder(new File("./src"));
+		// scanFolder(new File("./WebContent/languages/"));
+		// scanFolder(new File("./WebContent/src/"));
+		// scanFolder(new File("./WebContent/WEB-INF/"));
+		// scanFolder(new File("./WebContent/openmeetings/"));
+		scanFolder(new File("./src/templates"));
+	}
+
+	private void scanFolder(File folder) {
+
+		for (File javaFile : folder.listFiles(new FilenameFilter() {
+			public boolean accept(File b, String name) {
+				return name.endsWith(".java") || name.endsWith(".vm");
+			}
+		})) {
+			scanAndWriteJavaFile(javaFile);
+		}
+
+		for (File javaFile : folder.listFiles(new FilenameFilter() {
+			public boolean accept(File b, String name) {
+				return name.endsWith(".xml") || name.endsWith(".lzx");
+			}
+		})) {
+			scanAndWriteXMLFile(javaFile);
+		}
+
+		for (File folderFile : folder.listFiles(new FilenameFilter() {
+			public boolean accept(File b, String name) {
+				String absPath = b.getAbsolutePath() + File.separatorChar
+						+ name;
+				File f = new File(absPath);
+				return f.isDirectory();
+			}
+		})) {
+			scanFolder(folderFile);
+		}
+	}
+
+	private void scanAndWriteXMLFile(File javaFile) {
+		try {
+			System.out.println("Processing " + javaFile.getAbsolutePath());
+
+			BufferedReader is = new BufferedReader(new InputStreamReader(
+					new FileInputStream(javaFile), "UTF-8"));
+
+			String line;
+			String firstline = "";
+			StringWriter strWriter = new StringWriter();
+			int i = 0;
+
+			while ((line = is.readLine()) != null) {
+				if (i == 0) {
+					firstline = line;
+					
+					if (firstline.startsWith("<canvas")) {
+						strWriter.append(asf_xml_copyright);
+					} else if (firstline.startsWith("<library")) {
+						strWriter.append(asf_xml_copyright);
+					}
+							
+					
+				} else if (i == 1) {
+					if (firstline.startsWith("<?xml ")
+							&& !line.startsWith("<!--")) {
+						strWriter.append(asf_xml_copyright);
+					} else if (firstline.startsWith("<?xml ")
+							&& !line.startsWith("<library")) {
+						strWriter.append(asf_xml_copyright);
+					} else if (firstline.startsWith("<?xml ")
+							&& !line.startsWith("<canvas")) {
+						strWriter.append(asf_xml_copyright);
+					}
+				}
+				strWriter.append(line + "\n");
+				i++;
+			}
+			is.close();
+
+			OutputStreamWriter out = new OutputStreamWriter(
+					new FileOutputStream(javaFile.getAbsolutePath()), "UTF-8");
+
+			out.write(strWriter.toString());
+			out.flush();
+			out.close();
+
+		} catch (Exception err) {
+			err.printStackTrace();
+		}
+	}
+
+	private void scanAndWriteJavaFile(File javaFile) {
+		try {
+			System.out.println("Processing " + javaFile.getAbsolutePath());
+
+			BufferedReader is = new BufferedReader(new InputStreamReader(
+					new FileInputStream(javaFile), "UTF-8"));
+
+			String line;
+			StringWriter strWriter = new StringWriter();
+			int i = 0;
+
+			while ((line = is.readLine()) != null) {
+				if (i == 0) {
+					if (line.startsWith("package ")) {
+						strWriter.append(asf_copyright);
+					} else if (line.startsWith("## OpenMeetings") 
+							&& javaFile.getName().endsWith(".vm")) {
+						strWriter.append(asf_vm_copyright);
+					}
+				}
+				strWriter.append(line + "\n");
+				i++;
+			}
+			is.close();
+			
+			OutputStreamWriter out = new OutputStreamWriter(
+					new FileOutputStream(javaFile.getAbsolutePath()), "UTF-8");
+
+			out.write(strWriter.toString());
+			out.flush();
+			out.close();
+
+		} catch (Exception err) {
+			err.printStackTrace();
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/test/backup/TestBackupString.java b/src/org/openmeetings/test/backup/TestBackupString.java
new file mode 100644
index 0000000..ba54c1d
--- /dev/null
+++ b/src/org/openmeetings/test/backup/TestBackupString.java
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.backup;
+
+import static org.junit.Assert.*;
+
+import java.util.regex.Pattern;
+
+import org.junit.Test;
+
+public class TestBackupString {
+
+	
+	@Test
+	public void stringReplace() {
+		
+		String str = "<![CDATA[alvaro&#3;@gmail.com]]>";
+		
+		System.out.println("str "+str);
+		
+		String result = this.unformatString(str);
+		
+		System.out.println("result "+result);
+		
+		assertNotSame(str, result);
+		
+	}
+	
+	private String unformatString(String str) {
+		str = str.replaceAll(Pattern.quote("<![CDATA["),"");
+		str = str.replaceAll(Pattern.quote("]]>"),"");
+		return str;
+	}
+
+}
diff --git a/src/org/openmeetings/test/backup/TestStringReplace.java b/src/org/openmeetings/test/backup/TestStringReplace.java
new file mode 100644
index 0000000..62e8b83
--- /dev/null
+++ b/src/org/openmeetings/test/backup/TestStringReplace.java
@@ -0,0 +1,113 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.backup;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+
+import java.util.Iterator;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLWriter;
+import org.junit.Test;
+
+
+public class TestStringReplace {
+
+	
+	public void stringReplace() {
+		
+		String str = "alvaro&#3;@gmail.com";
+		
+		System.out.println(str);
+		
+		String result = this.formatString(str);
+		
+		System.out.println(result);
+		
+		assertNotSame(str, result);
+		
+	}
+	
+	private String formatString(String str) {
+		str = "<![CDATA["+str+"]]>";
+		return str;
+	}
+	
+	@Test
+	public void xmlReplace() {
+		try {
+			
+			Document document = DocumentHelper.createDocument();
+			document.setXMLEncoding("UTF-8");
+			document.addComment(
+					"###############################################\n" +
+					"This File is auto-generated by the Backup Tool \n" +
+					"you should use the BackupPanel to modify or change this file \n" +
+					"see http://incubator.apache.org/openmeetings/Upgrade.html for Details \n" +
+					"###############################################");
+			
+			Element root = document.addElement("root");
+			
+			Element organisations = root.addElement("organisations");
+			
+			Element organisation1 = organisations.addElement("organisation");
+			
+			organisation1.addElement("name").setText(formatString("org\u01e6\u03ce\u0677\u042b1"));
+			organisation1.addElement("organisation_id").setText(formatString("1"));
+			organisation1.addElement("deleted").addCDATA("false");
+				
+			Element organisation2 = organisations.addElement("organisation");
+			
+			organisation2.addElement("name").setText(formatString("org2"));
+			organisation2.addElement("organisation_id").setText(formatString("2"));
+			organisation2.addElement("deleted").setText(formatString("false"));
+			
+			for (@SuppressWarnings("unchecked")
+			Iterator<Element> innerIter = organisations.elementIterator( "organisation" ); innerIter.hasNext(); ) {
+    			
+    			Element orgObject = innerIter.next();
+    			
+    			String name = orgObject.element("name").getText();
+    			assertNotNull(name);
+    			assertNotNull(orgObject.element("deleted").getText());
+    			
+    			System.out.println(name);
+    		}
+			
+			OutputFormat outformat = OutputFormat.createPrettyPrint();
+			outformat.setXHTML(true);
+			outformat.setEncoding("UTF-8");
+			XMLWriter writer = new XMLWriter(System.out, outformat);
+			writer.write(document);
+			writer.flush();
+			writer.close();
+			
+			
+		
+		} catch (Exception err) {
+			err.printStackTrace();
+		}
+	
+	}
+	
+}
diff --git a/src/org/openmeetings/test/batik/TestSVGExporter.java b/src/org/openmeetings/test/batik/TestSVGExporter.java
new file mode 100644
index 0000000..1daa3f1
--- /dev/null
+++ b/src/org/openmeetings/test/batik/TestSVGExporter.java
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.batik;
+
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+
+import junit.framework.TestCase;
+
+import org.apache.batik.dom.GenericDOMImplementation;
+import org.apache.batik.dom.svg.SVGDOMImplementation;
+import org.apache.batik.svggen.SVGGraphics2D;
+import org.apache.log4j.Logger;
+import org.junit.Test;
+import org.w3c.dom.DOMImplementation;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+public class TestSVGExporter extends TestCase {
+	
+	private static final Logger log = Logger.getLogger(TestSVGExporter.class);
+	
+	@Test
+	public void testGetDiagramList() {
+		try {
+			
+	        // Get a DOMImplementation.
+	        DOMImplementation domImpl =
+	            GenericDOMImplementation.getDOMImplementation();
+
+	        // Create an instance of org.w3c.dom.Document.
+	        //String svgNS = "http://www.w3.org/2000/svg";
+	        String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
+
+	        Document document = domImpl.createDocument(svgNS, "svg", null);
+	        
+	        // Get the root element (the 'svg' element).
+	        Element svgRoot = document.getDocumentElement();
+
+	        
+	        // Set the width and height attributes on the root 'svg' element.
+	        svgRoot.setAttributeNS(null, "width", "2400");
+	        svgRoot.setAttributeNS(null, "height", "1600");
+	        
+
+	        // Create an instance of the SVG Generator.
+	        SVGGraphics2D svgGenerator = new SVGGraphics2D(document);
+
+	        // Finally, stream out SVG to the standard output using
+	        // UTF-8 encoding.
+	        boolean useCSS = true; // we want to use CSS style attributes
+	        //Writer out = new OutputStreamWriter(System.out, "UTF-8");
+	        
+	        //OutputStream out = httpServletResponse.getOutputStream();
+			//httpServletResponse.setContentType("APPLICATION/OCTET-STREAM");
+			//httpServletResponse.setHeader("Content-Disposition","attachment; filename=\"" + requestedFile + "\"");
+	        Writer out = new OutputStreamWriter(System.out, "UTF-8");
+
+	        
+	        svgGenerator.stream(out, useCSS);
+
+			
+		} catch (Exception er) {
+			log.error("ERROR ", er);
+			System.out.println("Error exporting: " + er);
+			er.printStackTrace();
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/test/batik/TestSVGTextExporter.java b/src/org/openmeetings/test/batik/TestSVGTextExporter.java
new file mode 100644
index 0000000..b3392b1
--- /dev/null
+++ b/src/org/openmeetings/test/batik/TestSVGTextExporter.java
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.batik;
+
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+
+import junit.framework.TestCase;
+
+import org.apache.batik.dom.GenericDOMImplementation;
+import org.apache.batik.dom.svg.SVGDOMImplementation;
+import org.apache.batik.svggen.SVGGraphics2D;
+import org.apache.log4j.Logger;
+import org.junit.Test;
+import org.w3c.dom.DOMImplementation;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+public class TestSVGTextExporter extends TestCase {
+	
+	private static final Logger log = Logger.getLogger(TestSVGTextExporter.class);
+
+	@Test
+	public void testGetDiagramList() {
+		try {
+			
+			
+	        // Get a DOMImplementation.
+	        DOMImplementation domImpl =
+	            GenericDOMImplementation.getDOMImplementation();
+
+	        // Create an instance of org.w3c.dom.Document.
+	        //String svgNS = "http://www.w3.org/2000/svg";
+	        String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
+
+	        Document document = domImpl.createDocument(svgNS, "svg", null);
+	        
+	        // Get the root element (the 'svg' element).
+	        Element svgRoot = document.getDocumentElement();
+
+	        
+	        // Set the width and height attributes on the root 'svg' element.
+	        svgRoot.setAttributeNS(null, "width", "2400");
+	        svgRoot.setAttributeNS(null, "height", "1600");
+	        
+
+	        // Create an instance of the SVG Generator.
+	        SVGGraphics2D svgGenerator = new SVGGraphics2D(document);
+
+	        // Finally, stream out SVG to the standard output using
+	        // UTF-8 encoding.
+	        boolean useCSS = true; // we want to use CSS style attributes
+	        //Writer out = new OutputStreamWriter(System.out, "UTF-8");
+	        
+	        //OutputStream out = httpServletResponse.getOutputStream();
+			//httpServletResponse.setContentType("APPLICATION/OCTET-STREAM");
+			//httpServletResponse.setHeader("Content-Disposition","attachment; filename=\"" + requestedFile + "\"");
+	        Writer out = new OutputStreamWriter(System.out, "UTF-8");
+
+	        //StringWriter out = new StringWriter();
+	        
+	        svgGenerator.stream(out, useCSS);
+		} catch (Exception er) {
+			log.error("ERROR ", er);
+			System.out.println("Error exporting: " + er);
+			er.printStackTrace();
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/test/batik/TestSimpleSVGDom.java b/src/org/openmeetings/test/batik/TestSimpleSVGDom.java
new file mode 100644
index 0000000..f22afd4
--- /dev/null
+++ b/src/org/openmeetings/test/batik/TestSimpleSVGDom.java
@@ -0,0 +1,93 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.batik;
+
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+
+import junit.framework.TestCase;
+
+import org.apache.batik.dom.svg.SVGDOMImplementation;
+import org.apache.batik.svggen.SVGGraphics2D;
+import org.apache.log4j.Logger;
+import org.junit.Test;
+import org.w3c.dom.DOMImplementation;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+
+public class TestSimpleSVGDom extends TestCase {
+	
+	private static final Logger log = Logger.getLogger(TestSVGTextExporter.class);
+	
+	@Test
+	public void testGetDiagramList() {
+		try {
+			
+			DOMImplementation impl = SVGDOMImplementation.getDOMImplementation();
+			String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
+			Document doc = impl.createDocument(svgNS, "svg", null);
+
+			// Get the root element (the 'svg' element).
+			Element svgRoot = doc.getDocumentElement(); 
+			
+			
+			
+			// Set the width and height attributes on the root 'svg' element.
+			svgRoot.setAttributeNS(svgNS, "width", "400");
+			svgRoot.setAttributeNS(svgNS, "height", "450");
+
+			// Create the rectangle.
+			Element rectangle = doc.createElementNS(svgNS, "text");
+			rectangle.setAttributeNS(svgNS, "x", "10");
+			rectangle.setAttributeNS(svgNS, "y", "20");
+			rectangle.setAttributeNS(svgNS, "text", "20");
+			rectangle.setAttributeNS(svgNS, "width", "100");
+			rectangle.setAttributeNS(svgNS, "height", "50");
+			rectangle.setAttributeNS(svgNS, "fill", "red");
+			//rectangle.setTextContent("textFF");
+
+			// Attach the rectangle to the root 'svg' element.
+			svgRoot.appendChild(rectangle);
+			
+			
+			// Finally, stream out SVG to the standard output using
+	        // UTF-8 encoding.
+	        boolean useCSS = true; // we want to use CSS style attributes
+	        //Writer out = new OutputStreamWriter(System.out, "UTF-8");
+	        
+	        //OutputStream out = httpServletResponse.getOutputStream();
+			//httpServletResponse.setContentType("APPLICATION/OCTET-STREAM");
+			//httpServletResponse.setHeader("Content-Disposition","attachment; filename=\"" + requestedFile + "\"");
+	        Writer out = new OutputStreamWriter(System.out, "UTF-8");
+
+	        //Create an instance of the SVG Generator.
+	        SVGGraphics2D svgGenerator = new SVGGraphics2D(doc);
+	        svgGenerator.stream(out, useCSS);
+	        
+
+		} catch (Exception er) {
+			log.error("ERROR ", er);
+			System.out.println("Error exporting: " + er);
+			er.printStackTrace();
+		}
+	}
+	
+
+}
diff --git a/src/org/openmeetings/test/calendar/TestAppointmentAddAppointment.java b/src/org/openmeetings/test/calendar/TestAppointmentAddAppointment.java
new file mode 100644
index 0000000..017f34d
--- /dev/null
+++ b/src/org/openmeetings/test/calendar/TestAppointmentAddAppointment.java
@@ -0,0 +1,115 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.calendar;
+
+import static org.junit.Assert.assertTrue;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import org.junit.Test;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.calendar.management.AppointmentLogic;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestAppointmentAddAppointment extends
+		AbstractOpenmeetingsSpringTest {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			TestAppointmentAddAppointment.class,
+			OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private AppointmentLogic appointmentLogic;
+
+	@Test
+	public void saveAppointment() {
+		log.debug("- 1 MeetingReminderJob.execute");
+		log.warn("- 2 MeetingReminderJob.execute");
+
+		try {
+			
+			//Simulate webapp path
+			//ScopeApplicationAdapter.webAppPath = "./WebContent";
+
+			Calendar start = Calendar.getInstance();
+			start.setTimeInMillis(start.getTimeInMillis() + 600000);
+
+			Calendar end = Calendar.getInstance();
+			end.setTimeInMillis(start.getTimeInMillis() + 600000);
+
+			String appointmentName = "Test 01";
+			String appointmentDescription = "Descr";
+			Long users_id = 1L;
+			String appointmentLocation = "office";
+			Boolean isMonthly = false;
+			Date appointmentstart = start.getTime();
+			Date appointmentend = end.getTime();
+			Boolean isDaily = false;
+			Long categoryId = 1L;
+			Boolean isWeekly = false;
+			Long remind = 3L;
+			Boolean isYearly = false;
+			List<Map<String, String>> mmClient = new LinkedList<Map<String, String>>();
+			for (int i = 0; i < 1; i++) {
+				mmClient.add(createClientObj("firstname" + i, "lastname" + i,
+						"first" + i + ".last" + i + "@webbase-design.de", "Etc/GMT+1"));
+			}
+			Long language_id = 1L;
+			String baseUrl = "http://localhost:5080/openmeetings/";
+			Long roomType = 1L;
+
+			Long id = appointmentLogic.saveAppointment(appointmentName,
+					users_id, appointmentLocation, appointmentDescription,
+					appointmentstart, appointmentend, isDaily, isWeekly,
+					isMonthly, isYearly, categoryId, remind, mmClient,
+					roomType, baseUrl, language_id, false, "");
+
+			
+			Thread.sleep(3000);
+			
+			appointmentLogic.doScheduledMeetingReminder();
+			
+			Thread.sleep(3000);
+			
+			assertTrue("Saved appointment should have valid id: " + id, id != null && id > 0);
+
+		} catch (Exception err) {
+			log.error("[saveAppointment]", err);
+		}
+	}
+
+	private Map<String, String> createClientObj(String firstname,
+			String lastname, String email, String jNameTimeZone) {
+		Map<String, String> client = new HashMap<String, String>();
+		client.put("firstname", firstname);
+		client.put("lastname", lastname);
+		client.put("email", email);
+		client.put("jNameTimeZone", jNameTimeZone);
+		return client;
+	}
+
+}
diff --git a/src/org/openmeetings/test/calendar/TestAppointmentSchedulerTask.java b/src/org/openmeetings/test/calendar/TestAppointmentSchedulerTask.java
new file mode 100644
index 0000000..f181d67
--- /dev/null
+++ b/src/org/openmeetings/test/calendar/TestAppointmentSchedulerTask.java
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.calendar;
+
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.calendar.management.AppointmentLogic;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestAppointmentSchedulerTask extends AbstractOpenmeetingsSpringTest {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(TestAppointmentSchedulerTask.class, OpenmeetingsVariables.webAppRootKey);
+	
+	@Autowired
+	private AppointmentLogic appointmentLogic;
+	
+	@Test
+	public void doIt() {
+		log.debug("- 1 MeetingReminderJob.execute");
+		log.warn("- 2 MeetingReminderJob.execute");
+		try {
+			appointmentLogic.doScheduledMeetingReminder();
+			
+			assertTrue(true);
+		} catch (Exception err){
+			log.error("execute",err);
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/test/calendar/TestDatabaseStructureAppointment.java b/src/org/openmeetings/test/calendar/TestDatabaseStructureAppointment.java
new file mode 100644
index 0000000..27cfc6e
--- /dev/null
+++ b/src/org/openmeetings/test/calendar/TestDatabaseStructureAppointment.java
@@ -0,0 +1,95 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.calendar;
+
+
+
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.junit.Test;
+import org.openmeetings.app.data.calendar.daos.AppointmentDaoImpl;
+import org.openmeetings.app.persistence.beans.calendar.Appointment;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+
+public class TestDatabaseStructureAppointment extends AbstractOpenmeetingsSpringTest {
+
+	private static final Logger log = Logger.getLogger(TestDatabaseStructureAppointment.class);
+	@Autowired
+	private AppointmentDaoImpl appointmentDao;
+
+	@Test
+	public void testAddingGroup(){
+
+		try {
+			
+				Calendar cal = Calendar.getInstance();
+				cal.set(2008, 9, 2);
+				cal.get(Calendar.DAY_OF_MONTH);
+				cal.getTime();
+				
+				SimpleDateFormat format = new SimpleDateFormat( "yyyy-MM-dd" );
+				Date date = format.parse( "2008-17-08" );
+				Date date2 = format.parse( "2008-18-08" );
+		
+				List<Appointment> listAppoints =	appointmentDao.getAppointmentsByRange(1L, date, date2);
+			//List<Appointment> listAppoints = AppointmentDaoImpl.getInstance().searchAppointmentsByName("%");
+			//AppointmentDaoImpl.getInstance().getNextAppointmentById(1L);
+			//AppointmentDaoImpl.getInstance().addAppointment("mezo",1L, "Pforzheim", "zweiter", Calendar.getInstance().getTime() , 
+				//date, null, true, null, null, 1L,1L);
+			//AppointmentDaoImpl.getInstance().addAppointment("testap", "erster Test",Calendar.getInstance().getTime() , 
+					///Calendar.getInstance().getTime(), true, false, false, false, new Long(1), 1L);
+			log.debug("Anzahl: "+listAppoints.size());
+			
+			
+			for (Appointment appoints : listAppoints) {
+				log.debug("Termin: "+appoints.getAppointmentName()+" startDate: "+appoints.getAppointmentStarttime()+ " endDate: "+appoints.getAppointmentEndtime());
+				log.debug("MeetingMembers: "+appoints.getMeetingMember().size());
+			}
+			
+			for (Iterator<Appointment> iter = listAppoints.iterator();iter.hasNext();) {
+				log.debug(""+iter.next());
+			}
+			
+			//AppointmentDaoImpl.getInstance().updateAppointment(1L,"neu", "erster Test",Calendar.getInstance().getTime() , 
+					//Calendar.getInstance().getTime(), true, false, false, false, new Long(1));
+			//log.debug("AppointmentReminderTypDaoImpl: "+appointmentReminderTypDaoImpl.getAppointmentReminderTypById(1L));
+		} catch (Exception err) {
+
+			log.error("[testAddingGroup]",err);
+
+		}
+
+		
+
+		
+
+	}
+
+
+
+}
+
diff --git a/src/org/openmeetings/test/calendar/TestDatabaseStructureAppointmentReminderTyp.java b/src/org/openmeetings/test/calendar/TestDatabaseStructureAppointmentReminderTyp.java
new file mode 100644
index 0000000..537e787
--- /dev/null
+++ b/src/org/openmeetings/test/calendar/TestDatabaseStructureAppointmentReminderTyp.java
@@ -0,0 +1,77 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.calendar;
+
+//import groovy.sql.Sql;
+
+import java.util.Calendar;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.junit.Test;
+import org.openmeetings.app.data.calendar.daos.AppointmentReminderTypDaoImpl;
+import org.openmeetings.app.persistence.beans.calendar.AppointmentReminderTyps;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestDatabaseStructureAppointmentReminderTyp extends AbstractOpenmeetingsSpringTest {
+
+	private static final Logger log = Logger
+			.getLogger(TestDatabaseStructureAppointmentReminderTyp.class);
+
+	@Autowired
+	private AppointmentReminderTypDaoImpl appointmentReminderTypDaoImpl;
+
+	@Test
+	public void testAddingGroup() {
+
+		try {
+
+			Calendar cal = Calendar.getInstance();
+			cal.set(2008, 9, 2);
+			cal.get(Calendar.DAY_OF_MONTH);
+			cal.getTime();
+
+			appointmentReminderTypDaoImpl.addAppointmentReminderTyps(1L,
+					"test 5 min");
+			List<AppointmentReminderTyps> listAppoints = appointmentReminderTypDaoImpl
+					.getAppointmentReminderTypList();
+
+			log.debug("Anzahl: " + listAppoints.size());
+
+			for (AppointmentReminderTyps appoints : listAppoints) {
+				// log.debug("Termin: "+appoints.getAppointmentName()+" startDate: "+appoints.getAppointmentStarttime()+
+				// " endDate: "+appoints.getAppointmentEndtime());
+				log.debug("AppointmentReminderTyps: " + appoints.getName());
+			}
+
+			// for (Iterator<Appointment> iter =
+			// listAppoints.iterator();iter.hasNext();) {
+			// log.debug(iter.next());
+			// }
+
+		} catch (Exception err) {
+
+			log.error("[testAddingGroup]", err);
+
+		}
+
+	}
+
+}
diff --git a/src/org/openmeetings/test/calendar/TestDatabaseStructureCategory.java b/src/org/openmeetings/test/calendar/TestDatabaseStructureCategory.java
new file mode 100644
index 0000000..fa12acd
--- /dev/null
+++ b/src/org/openmeetings/test/calendar/TestDatabaseStructureCategory.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.calendar;
+
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.junit.Test;
+import org.openmeetings.app.data.calendar.daos.AppointmentCategoryDaoImpl;
+import org.openmeetings.app.persistence.beans.calendar.AppointmentCategory;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestDatabaseStructureCategory extends AbstractOpenmeetingsSpringTest {
+
+	@Autowired
+	private AppointmentCategoryDaoImpl appointmentCategoryDaoImpl;
+
+	private static final Logger log = Logger
+			.getLogger(TestDatabaseStructureCategory.class);
+
+	@Test
+	public void testAddingGroup() {
+
+		try {
+
+			// appointmentCategoryDaoImpl.addAppointmentCategory(2L, "neu2",
+			// "test");
+			// appointmentCategoryDaoImpl.addAppointmentCategory("dritte");
+			// appointmentCategoryDaoImpl.updateAppointmentCategory(2L, "alt");
+
+			List<AppointmentCategory> appointmentCategory = appointmentCategoryDaoImpl
+					.getAppointmentCategoryList();
+			log.debug("Anzahl: " + appointmentCategory.size());
+
+			for (int x = 0; x < appointmentCategory.size(); x++) {
+				log.debug("id: " + appointmentCategory.get(x).getCategoryId());
+
+			}
+
+		} catch (Exception err) {
+
+			log.error("[testAddingGroup]", err);
+
+		}
+
+	}
+
+}
diff --git a/src/org/openmeetings/test/calendar/TestDatabaseStructureGetAppointmentByRange.java b/src/org/openmeetings/test/calendar/TestDatabaseStructureGetAppointmentByRange.java
new file mode 100644
index 0000000..d363043
--- /dev/null
+++ b/src/org/openmeetings/test/calendar/TestDatabaseStructureGetAppointmentByRange.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.calendar;
+
+import java.util.Calendar;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.junit.Test;
+import org.openmeetings.app.persistence.beans.calendar.Appointment;
+import org.openmeetings.app.remote.CalendarService;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+
+public class TestDatabaseStructureGetAppointmentByRange extends AbstractOpenmeetingsSpringTest {
+
+	private static final Logger log = Logger.getLogger(TestDatabaseStructureGetAppointmentByRange.class);
+	@Autowired
+	private CalendarService calendarService;
+	
+	@Test
+	public void testAddingGroup(){
+
+		try {
+			List<Appointment> listAppoints = calendarService.getAppointmentByRange("SID",Calendar.getInstance().getTime(), Calendar.getInstance().getTime());  
+
+			//List<Appointment> listAppoints = AppointmentDaoImpl.getInstance().getAppointmentsByRange(Calendar.getInstance().getTime(), Calendar.getInstance().getTime());
+			
+			for (Appointment appoints : listAppoints) {
+				log.debug(""+appoints);
+			}
+			
+			for (Iterator<Appointment> iter = listAppoints.iterator();iter.hasNext();) {
+				log.debug(""+iter.next());
+			}
+
+		} catch (Exception err) {
+
+			log.error("[testAddingGroup]",err);
+
+		}
+
+		
+
+		
+
+	}
+
+
+
+}
+
diff --git a/src/org/openmeetings/test/calendar/TestDatabaseStructureGetUserStart.java b/src/org/openmeetings/test/calendar/TestDatabaseStructureGetUserStart.java
new file mode 100644
index 0000000..57275d9
--- /dev/null
+++ b/src/org/openmeetings/test/calendar/TestDatabaseStructureGetUserStart.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.calendar;
+
+import org.apache.log4j.Logger;
+import org.junit.Test;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestDatabaseStructureGetUserStart extends AbstractOpenmeetingsSpringTest {
+	private static final Logger log = Logger.getLogger(TestDatabaseStructureGetUserStart.class);
+	@Autowired
+	private UsersDaoImpl usersDao;
+	
+	@Test
+	public void testAddingGroup() {
+		try {
+			usersDao.getUser(new Long(1));
+		} catch (Exception err) {
+			log.error("[testAddingGroup]", err);
+		}
+	}
+}
diff --git a/src/org/openmeetings/test/calendar/TestDatabaseStructureMeetingMember.java b/src/org/openmeetings/test/calendar/TestDatabaseStructureMeetingMember.java
new file mode 100644
index 0000000..2f7db1b
--- /dev/null
+++ b/src/org/openmeetings/test/calendar/TestDatabaseStructureMeetingMember.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.calendar;
+
+
+import org.apache.log4j.Logger;
+import org.junit.Test;
+import org.openmeetings.app.data.calendar.daos.MeetingMemberDaoImpl;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+public class TestDatabaseStructureMeetingMember extends AbstractOpenmeetingsSpringTest {
+
+	private static final Logger log = Logger.getLogger(TestDatabaseStructureMeetingMember.class);
+	@Autowired
+	private MeetingMemberDaoImpl meetingMemberDao;
+
+	@Test
+	public void testAddingGroup(){
+
+		try {
+			
+			
+			//MeetingMemberDaoImpl.getInstance().addMeetingMember("Adddd", "dir", "1", "2", 1L, 1L, "test");	
+			//MeetingMemberDaoImpl.getInstance().addMeetingMember(firstname, lastname, memberStatus, appointmentStatus, appointmentId, userid, email)
+			
+			
+			//MeetingMemberDaoImpl.getInstance().getMeetingMemberById(1L);
+			//MeetingMemberDaoImpl.getInstance().deleteMeetingMember(2L);
+			meetingMemberDao.updateMeetingMember(1l,"bbbbbb", "dir", "1", "2", 1L, 1L, "test"); 
+		} catch (Exception err) {
+
+			log.error("[testAddingMeeting]",err);
+
+		}
+
+		
+
+		
+
+	}
+
+
+
+}
+
diff --git a/src/org/openmeetings/test/calendar/TestDatabaseStructureUsersSearch.java b/src/org/openmeetings/test/calendar/TestDatabaseStructureUsersSearch.java
new file mode 100644
index 0000000..66adc57
--- /dev/null
+++ b/src/org/openmeetings/test/calendar/TestDatabaseStructureUsersSearch.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.calendar;
+
+import org.apache.log4j.Logger;
+import org.junit.Test;
+import org.openmeetings.app.data.beans.basic.SearchResult;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+public class TestDatabaseStructureUsersSearch extends AbstractOpenmeetingsSpringTest {
+    @Autowired
+    private Usermanagement userManagement;
+
+	private static final Logger log = Logger.getLogger(TestDatabaseStructureUsersSearch.class);
+
+	@Test
+	public void testAddingGroup(){
+
+		try {
+			
+			 SearchResult<Users> users = userManagement.getAllUserByRange("first", 0, 10, "orderby", true);
+			 log.debug("[result]" + users.getResult().size());
+			 log.debug("[records]"+ users.getRecords());
+			 
+			 //GroupMemberDaoImpl.getInstance().addGroupMember("Ad", "dir", Calendar.getInstance().getTime(), "1", "2", "interpol155", 1L, 1L);	
+			//GroupMemberDaoImpl.getInstance().addGroupMember(firstname, lastname, age, memberStatus, appointmentStatus, password, adresses_id, appointmentId);
+			
+			//GroupMemberDaoImpl.getInstance().getGroupMemberById(1L);
+			//GroupMemberDaoImpl.getInstance().deleteGroupMember(2L);
+			//GroupMemberDaoImpl.getInstance().updateGroupMember(1L, "Eugen", "Schwert", Calendar.getInstance().getTime(), "1", "2", "interpol155", 1L, 1L);
+		} catch (Exception err) {
+
+			log.error("[testAddingGroup]",err);
+
+		}
+
+		
+
+		
+
+	}
+
+
+
+}
+
diff --git a/src/org/openmeetings/test/calendar/TestGetAppointment.java b/src/org/openmeetings/test/calendar/TestGetAppointment.java
new file mode 100644
index 0000000..c9ce20c
--- /dev/null
+++ b/src/org/openmeetings/test/calendar/TestGetAppointment.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.calendar;
+
+import static org.junit.Assert.assertTrue;
+
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+
+import org.apache.log4j.Logger;
+import org.junit.Test;
+import org.openmeetings.app.data.calendar.daos.AppointmentDaoImpl;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestGetAppointment extends
+AbstractOpenmeetingsSpringTest {
+
+	private static final Logger log = Logger.getLogger(TestGetAppointment.class);
+
+	@Autowired
+	private AppointmentDaoImpl appointmentDao;
+	
+	@Test
+	public void getAppoinment() {
+		log.debug("getAppoinment enter");
+		Long userId = 1L;
+		
+		Calendar starttime = GregorianCalendar.getInstance();
+
+		starttime.set(Calendar.MONTH, starttime.get(Calendar.MONTH-1));
+
+		Calendar endtime = GregorianCalendar.getInstance();
+		
+		appointmentDao.getAppointmentsByRange(userId, starttime.getTime(),
+				endtime.getTime());
+		
+		assertTrue(true);
+		
+	}
+	
+}
diff --git a/src/org/openmeetings/test/calendar/TestSendIcalMessage.java b/src/org/openmeetings/test/calendar/TestSendIcalMessage.java
new file mode 100644
index 0000000..395374b
--- /dev/null
+++ b/src/org/openmeetings/test/calendar/TestSendIcalMessage.java
@@ -0,0 +1,317 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.calendar;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.net.SocketException;
+import java.net.URI;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.HashMap;
+import java.util.Properties;
+import java.util.Vector;
+
+import javax.activation.DataHandler;
+import javax.mail.BodyPart;
+import javax.mail.Message;
+import javax.mail.Multipart;
+import javax.mail.Session;
+import javax.mail.Transport;
+import javax.mail.internet.InternetAddress;
+import javax.mail.internet.MimeBodyPart;
+import javax.mail.internet.MimeMessage;
+import javax.mail.internet.MimeMultipart;
+
+import net.fortuna.ical4j.data.CalendarOutputter;
+import net.fortuna.ical4j.model.DateTime;
+import net.fortuna.ical4j.model.TimeZone;
+import net.fortuna.ical4j.model.TimeZoneRegistry;
+import net.fortuna.ical4j.model.TimeZoneRegistryFactory;
+import net.fortuna.ical4j.model.ValidationException;
+import net.fortuna.ical4j.model.component.VEvent;
+import net.fortuna.ical4j.model.component.VTimeZone;
+import net.fortuna.ical4j.model.parameter.Cn;
+import net.fortuna.ical4j.model.parameter.Role;
+import net.fortuna.ical4j.model.property.Attendee;
+import net.fortuna.ical4j.model.property.CalScale;
+import net.fortuna.ical4j.model.property.Method;
+import net.fortuna.ical4j.model.property.Organizer;
+import net.fortuna.ical4j.model.property.ProdId;
+import net.fortuna.ical4j.model.property.Uid;
+import net.fortuna.ical4j.model.property.Version;
+import net.fortuna.ical4j.util.UidGenerator;
+
+import org.junit.Test;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.persistence.beans.basic.Configuration;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.openmeetings.utils.mail.ByteArrayDataSource;
+import org.openmeetings.utils.mail.IcalHandler;
+import org.openmeetings.utils.mail.SmtpAuthenticator;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestSendIcalMessage extends AbstractOpenmeetingsSpringTest {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			TestAppointmentSchedulerTask.class,
+			OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private Configurationmanagement cfgManagement;
+
+	private byte[] iCalMimeBody;
+
+	String subject = "test iCal";
+	String recipients = "seba.wagner@gmail.com";
+	String htmlBody = "test";
+
+	
+	public void simpleInvitionIcalLink() {
+		// Create a TimeZone
+		TimeZoneRegistry registry = TimeZoneRegistryFactory.getInstance()
+				.createRegistry();
+		TimeZone timezone = registry.getTimeZone("America/Mexico_City");
+		VTimeZone tz = timezone.getVTimeZone();
+
+		// Start Date is on: April 1, 2008, 9:00 am
+		java.util.Calendar startDate = new GregorianCalendar();
+		startDate.setTimeZone(timezone);
+		startDate.set(java.util.Calendar.MONTH, java.util.Calendar.APRIL);
+		startDate.set(java.util.Calendar.DAY_OF_MONTH, 1);
+		startDate.set(java.util.Calendar.YEAR, 2008);
+		startDate.set(java.util.Calendar.HOUR_OF_DAY, 9);
+		startDate.set(java.util.Calendar.MINUTE, 0);
+		startDate.set(java.util.Calendar.SECOND, 0);
+
+		// End Date is on: April 1, 2008, 13:00
+		java.util.Calendar endDate = new GregorianCalendar();
+		endDate.setTimeZone(timezone);
+		endDate.set(java.util.Calendar.MONTH, java.util.Calendar.APRIL);
+		endDate.set(java.util.Calendar.DAY_OF_MONTH, 1);
+		endDate.set(java.util.Calendar.YEAR, 2008);
+		endDate.set(java.util.Calendar.HOUR_OF_DAY, 13);
+		endDate.set(java.util.Calendar.MINUTE, 0);
+		endDate.set(java.util.Calendar.SECOND, 0);
+
+		// Create the event
+		String eventName = "Progress Meeting";
+		DateTime start = new DateTime(startDate.getTime());
+		DateTime end = new DateTime(endDate.getTime());
+		VEvent meeting = new VEvent(start, end, eventName);
+
+		// add timezone info..
+		meeting.getProperties().add(tz.getTimeZoneId());
+
+		// generate unique identifier..
+		UidGenerator ug;
+		try {
+			ug = new UidGenerator("uidGen");
+
+			Uid uid = ug.generateUid();
+			meeting.getProperties().add(uid);
+		} catch (SocketException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+
+		// add attendees..
+		Attendee dev1 = new Attendee(URI.create("mailto:dev1@mycompany.com"));
+		dev1.getParameters().add(Role.REQ_PARTICIPANT);
+		dev1.getParameters().add(new Cn("Developer 1"));
+		meeting.getProperties().add(dev1);
+
+		Attendee dev2 = new Attendee(URI.create("mailto:dev2@mycompany.com"));
+		dev2.getParameters().add(Role.OPT_PARTICIPANT);
+		dev2.getParameters().add(new Cn("Developer 2"));
+		meeting.getProperties().add(dev2);
+
+		// Create a calendar
+		net.fortuna.ical4j.model.Calendar icsCalendar = new net.fortuna.ical4j.model.Calendar();
+		icsCalendar.getProperties().add(
+				new ProdId("-//Events Calendar//iCal4j 1.0//EN"));
+		icsCalendar.getProperties().add(CalScale.GREGORIAN);
+		icsCalendar.getProperties().add(Version.VERSION_2_0);
+
+		// Add the event and print
+		icsCalendar.getComponents().add(meeting);
+		
+		Organizer orger = new Organizer(URI.create("seba.wagner@gmail.com"));
+		orger.getParameters().add(new Cn("Sebastian Wagner"));
+		meeting.getProperties().add(orger);
+		
+		icsCalendar.getProperties().add(Method.REQUEST);
+		
+		System.out.println(icsCalendar);
+		
+		
+		
+
+		ByteArrayOutputStream bout = new ByteArrayOutputStream();
+		CalendarOutputter outputter = new CalendarOutputter();
+		try {
+			outputter.output(icsCalendar, bout);
+			iCalMimeBody = bout.toByteArray();
+			
+			sendIcalMessage();
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (ValidationException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (Exception e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		
+		
+
+	}
+
+	
+	@Test
+	public void sendInvitionIcalLink() {
+		try {
+
+			String email = "hans@webbase-design.de";
+			String username = "shans";
+			boolean invitor = false;
+
+			Calendar start = Calendar.getInstance();
+
+			Calendar end = Calendar.getInstance();
+
+			IcalHandler handler = new IcalHandler(
+					IcalHandler.ICAL_METHOD_REQUEST);
+
+			// Transforming Meeting Members
+
+			HashMap<String, String> attendeeList = handler.getAttendeeData(
+					email, username, invitor);
+
+			HashMap<String, String> organizerAttendee = handler
+					.getAttendeeData(recipients, "seba-test", true);
+
+			Vector<HashMap<String, String>> atts = new Vector<HashMap<String, String>>();
+			atts.add(attendeeList);
+
+			// Create ICal Message
+			String meetingId = handler.addNewMeeting(start.getTime(), end.getTime(), "test event",
+					atts, "localhost:5080/link_openmeetings",
+					organizerAttendee, "", TimeZone.getDefault());
+
+			log.debug("meetingId " + meetingId);
+
+			iCalMimeBody = handler.getIcalAsByteArray();
+
+			sendIcalMessage();
+
+			// return MailHandler.sendMail(email, subject, template);
+
+		} catch (Exception err) {
+			log.error("sendInvitionIcalLink", err);
+		}
+	}
+
+	private void sendIcalMessage() throws Exception {
+
+		log.debug("sendIcalMessage");
+
+		// Evaluating Configuration Data
+		String smtpServer = cfgManagement.getConfKey(3, "smtp_server")
+				.getConf_value();
+		String smtpPort = cfgManagement.getConfKey(3, "smtp_port")
+				.getConf_value();
+		// String from = "openmeetings@xmlcrm.org";
+		String from = cfgManagement.getConfKey(3, "system_email_addr")
+				.getConf_value();
+
+		String emailUsername = cfgManagement.getConfKey(3, "email_username")
+				.getConf_value();
+		String emailUserpass = cfgManagement.getConfKey(3, "email_userpass")
+				.getConf_value();
+
+		Properties props = System.getProperties();
+
+		props.put("mail.smtp.host", smtpServer);
+		props.put("mail.smtp.port", smtpPort);
+
+		Configuration conf = cfgManagement.getConfKey(3,
+				"mail.smtp.starttls.enable");
+		if (conf != null) {
+			if (conf.getConf_value().equals("1")) {
+				props.put("mail.smtp.starttls.enable", "true");
+			}
+		}
+
+		// Check for Authentification
+		Session session = null;
+		if (emailUsername != null && emailUsername.length() > 0
+				&& emailUserpass != null && emailUserpass.length() > 0) {
+			// use SMTP Authentication
+			props.put("mail.smtp.auth", "true");
+			session = Session.getDefaultInstance(props, new SmtpAuthenticator(
+					emailUsername, emailUserpass));
+		} else {
+			// not use SMTP Authentication
+			session = Session.getDefaultInstance(props, null);
+		}
+
+		// Building MimeMessage
+		MimeMessage mimeMessage = new MimeMessage(session);
+		mimeMessage.setSubject(subject);
+		mimeMessage.setFrom(new InternetAddress(from));
+		mimeMessage.addRecipients(Message.RecipientType.TO,
+				InternetAddress.parse(recipients, false));
+
+		// -- Create a new message --
+		BodyPart msg = new MimeBodyPart();
+		msg.setDataHandler(new DataHandler(new ByteArrayDataSource(htmlBody,
+				"text/html; charset=\"utf-8\"")));
+
+		Multipart multipart = new MimeMultipart();
+
+		BodyPart iCalAttachment = new MimeBodyPart();
+		iCalAttachment.setDataHandler(new DataHandler(
+				new javax.mail.util.ByteArrayDataSource(
+						new ByteArrayInputStream(iCalMimeBody),
+						"text/calendar;method=REQUEST;charset=\"UTF-8\"")));
+		iCalAttachment.setFileName("invite.ics");
+
+		multipart.addBodyPart(iCalAttachment);
+		multipart.addBodyPart(msg);
+
+		mimeMessage.setSentDate(new Date());
+		mimeMessage.setContent(multipart);
+
+		// -- Set some other header information --
+		// mimeMessage.setHeader("X-Mailer", "XML-Mail");
+		// mimeMessage.setSentDate(new Date());
+
+		// Transport trans = session.getTransport("smtp");
+		Transport.send(mimeMessage);
+
+	}
+}
diff --git a/src/org/openmeetings/test/chat/TestChatLinking.java b/src/org/openmeetings/test/chat/TestChatLinking.java
new file mode 100644
index 0000000..8dbd34d
--- /dev/null
+++ b/src/org/openmeetings/test/chat/TestChatLinking.java
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.chat;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import junit.framework.TestCase;
+
+import org.junit.Test;
+
+public class TestChatLinking extends TestCase {
+	
+	@Test
+	public void testChatParser(){
+		try {
+			
+			String text = "hasn http://www.google.de peter hasn http://www.google.de ";
+			
+			System.out.println(link(text));
+			
+		} catch (Exception err) {
+			err.printStackTrace();
+		}
+	}
+	
+	
+	private String link(String input) {
+		try {
+			
+			String tReturn = "";
+			
+			String parts[] = input.split(" ");
+			
+			for (int t=0;t<parts.length;t++) {
+				
+				String text = parts[t];
+	
+				//System.out.println("Part 1 "+text);
+				
+				Matcher matcher = Pattern.compile("(^|[ \t\r\n])((ftp|http|https|gopher|mailto|news|nntp|telnet|wais|file|prospero|aim|webcal):(([A-Za-z0-9$_.+!*(),;/?:@&~=-])|%[A-Fa-f0-9]{2}){2,}(#([a-zA-Z0-9][a-zA-Z0-9$_.+!*(),;/?:@&~=%-]*))?([A-Za-z0-9$_+!*();/?:~-]))").matcher(text);
+
+				if (matcher.find()) {
+					text = matcher.replaceFirst("<u><FONT color=\"#0000CC\"><a href='" + text + "'>" + text
+							+ "</a></FONT></u>");
+
+				}
+				
+				//System.out.println("Part 2 "+text);
+				
+				if (t != 0) {
+					tReturn += " ";
+				}
+				
+				tReturn += text;
+			
+			}
+			
+			return tReturn;
+			
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return "";
+	}
+
+}
diff --git a/src/org/openmeetings/test/config/TestConfig.java b/src/org/openmeetings/test/config/TestConfig.java
new file mode 100644
index 0000000..23952cd
--- /dev/null
+++ b/src/org/openmeetings/test/config/TestConfig.java
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.config;
+
+import static junit.framework.Assert.assertEquals;
+
+import org.junit.Test;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.openmeetings.test.calendar.TestAppointmentAddAppointment;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestConfig extends AbstractOpenmeetingsSpringTest {
+	
+	private static final Logger log = LoggerFactory.getLogger(
+			TestAppointmentAddAppointment.class);
+	
+	@Autowired
+	private Configurationmanagement configurationmanagement;
+
+
+	@Test
+	public void getConfigKey() {
+		
+		try {
+			String use_old_style_ffmpeg_map  = configurationmanagement.getConfValue("use.old.style.ffmpeg.map.option", String.class, "0");
+			
+			log.debug("use_old_style_ffmpeg_map "+use_old_style_ffmpeg_map);
+			
+			assertEquals(use_old_style_ffmpeg_map,"1");
+
+		} catch (Exception err) {
+			log.error("[startConversion]", err);
+		}
+		
+	}
+}
diff --git a/src/org/openmeetings/test/domain/TestAddGroup.java b/src/org/openmeetings/test/domain/TestAddGroup.java
new file mode 100644
index 0000000..1147f7c
--- /dev/null
+++ b/src/org/openmeetings/test/domain/TestAddGroup.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.domain;
+
+import org.apache.log4j.Logger;
+import org.junit.Test;
+import org.openmeetings.app.data.user.Organisationmanagement;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestAddGroup extends AbstractOpenmeetingsSpringTest {
+
+	@Autowired
+	private Organisationmanagement organisationmanagement;
+	@Autowired
+	private UsersDaoImpl usersDao;
+
+	private static final Logger log = Logger.getLogger(TestAddGroup.class);
+
+	@Test
+	public void testAddingGroup() {
+
+		long organisation_id = organisationmanagement.addOrganisation(
+				"default", 1);
+
+		log.error("new organisation: " + organisation_id);
+
+		long organisation_usersid = organisationmanagement
+				.addUserToOrganisation(new Long(1), organisation_id,
+						new Long(1));
+
+		log.error("new organisation_user: " + organisation_usersid);
+
+		Users us = usersDao.getUser(new Long(1));
+
+		log.error(us.getLastname());
+		log.error(us.getAdresses().getTown());
+
+		/*
+		 * for (Iterator it = us.getAdresses().getEmails().iterator();
+		 * it.hasNext();){ Adresses_Emails addrMails = (Adresses_Emails)
+		 * it.next(); log.error(addrMails.getMail().getEmail()); }
+		 * log.error("size of domains: "+us.getOrganisation_users().size()); for
+		 * (Iterator it2 = us.getOrganisation_users().iterator();
+		 * it2.hasNext();){ Organisation_Users orgUsers = (Organisation_Users)
+		 * it2.next(); log.error(orgUsers.getOrganisation().getName()); }
+		 */
+	}
+
+}
diff --git a/src/org/openmeetings/test/domain/TestUserGroupAggregation.java b/src/org/openmeetings/test/domain/TestUserGroupAggregation.java
new file mode 100644
index 0000000..c75fb92
--- /dev/null
+++ b/src/org/openmeetings/test/domain/TestUserGroupAggregation.java
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.domain;
+
+import java.util.List;
+import static org.junit.Assert.assertTrue;
+
+import org.apache.log4j.Logger;
+import org.junit.Test;
+import org.openmeetings.app.data.user.Organisationmanagement;
+import org.openmeetings.app.persistence.beans.domain.Organisation;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestUserGroupAggregation extends AbstractOpenmeetingsSpringTest {
+
+	@Autowired
+	private Organisationmanagement organisationmanagement;
+
+	private static final Logger log = Logger
+			.getLogger(TestUserGroupAggregation.class);
+
+	@Test
+	public void testitNow() {
+
+		List<Organisation> orgUser = organisationmanagement.getOrganisationsByUserId(3, 1, 0,
+				100, "organisation_id", true);
+
+		assertTrue("Default user must belong to at least one organisation", orgUser.size() > 0);
+
+		for (Organisation orgUserObj : orgUser) {
+			log.error("testitNow: organisation Id: '" + orgUserObj.getOrganisation_id() + "'; name: '" + orgUserObj.getName() + "'");
+		}
+
+		List<Organisation> orgUser2 = organisationmanagement.getRestOrganisationsByUserId(3,
+				1, 0, 100, "organisation_id", true);
+
+		log.error("testitNow: rest organisations count: " + orgUser2.size());
+
+		for (Organisation orgUserObj : orgUser2) {
+			log.error("testitNow: organisation Id: '" + orgUserObj.getOrganisation_id() + "'; name: '" + orgUserObj.getName() + "'");
+		}
+		
+	}
+}
diff --git a/src/org/openmeetings/test/emotes/TestChatParsing.java b/src/org/openmeetings/test/emotes/TestChatParsing.java
new file mode 100644
index 0000000..cf3c986
--- /dev/null
+++ b/src/org/openmeetings/test/emotes/TestChatParsing.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.emotes;
+
+import java.util.LinkedList;
+
+import junit.framework.TestCase;
+
+import org.junit.Test;
+
+public class TestChatParsing extends TestCase {
+	
+	public static LinkedList<LinkedList<String>> emotfilesList = new LinkedList<LinkedList<String>>();
+	
+	@Test
+	public void testChatParser(){
+		try {
+			//FIXME
+			String filePath = "/Users/sebastianwagner/Documents/workspace/xmlcrm/webapp/xmlcrm/public/";
+			
+			this.loadEmot(filePath);
+			
+		} catch (Exception err) {
+			err.printStackTrace();
+		}
+	}
+	
+	public void loadEmot(String filePath){
+		try {
+//			String fileName = filePath + File.separatorChar + "emoticons" + File.separatorChar + "emotes.xml";
+//			XStream xStream = new XStream(new XppDriver());
+//			xStream.setMode(XStream.NO_REFERENCES);
+//			BufferedReader reader = new BufferedReader(new FileReader(fileName));
+//		    String xmlString = "";
+//		    while (reader.ready()) {
+//		    	xmlString += reader.readLine();
+//		    }
+//		    Application.setEmotfilesList((LinkedList<LinkedList<String>>) xStream.fromXML(xmlString));
+//		    ChatString.getInstance().replaceAllRegExp();
+//		    String messageText = "Hi :) how are you? whats going on B) today (T_T) ? with you ?";
+//		    //messageText = ":) Hi :) how :( are :) you :( today >:O going on? :)";
+//		    //messageText = "Hi :) how :( are :) you :( today :) ";
+//		    //messageText = "Hi :) how";
+//		    ChatString.getInstance().parseChatString(messageText);
+		    
+		    System.out.println("loadEmot completed");
+		} catch (Exception err) {
+			System.out.println("[loadEmot]"+err);
+			err.printStackTrace();
+		}
+	}	
+
+}
diff --git a/src/org/openmeetings/test/emotes/TestConvertGifs.java b/src/org/openmeetings/test/emotes/TestConvertGifs.java
new file mode 100644
index 0000000..53191fa
--- /dev/null
+++ b/src/org/openmeetings/test/emotes/TestConvertGifs.java
@@ -0,0 +1,123 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.emotes;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.PrintWriter;
+import java.util.LinkedList;
+
+import junit.framework.TestCase;
+
+import org.apache.log4j.Logger;
+import org.junit.Test;
+
+import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.io.xml.XppDriver;
+
+public class TestConvertGifs extends TestCase {
+	
+	private static final Logger log = Logger.getLogger(TestConvertGifs.class);
+
+	@Test
+	public void testConvertDir(){
+		try {
+			//FIXME
+			String basePath = "/Users/sebastianwagner/Documents/workspace/xmlcrm/webapp/xmlcrm/public/emoticons/";
+			
+			System.out.println("basePath "+basePath);
+			File baseDir = new File(basePath);
+			
+			System.out.println("basePath "+baseDir.exists());
+			
+			String batfilePath = "mybat.bat";
+			String batString = "";
+			
+			String[] allfiles = baseDir.list();			
+			if(allfiles!=null){
+				for(int i=0; i<allfiles.length; i++){
+					File file = new File(basePath+File.separatorChar+allfiles[i]);
+					String fileName = file.getName();
+					System.out.println("file "+file.getName());
+					String fileNamePure = fileName.substring(0, fileName.length()-4);
+					
+					batString += "gif2swf -r 30 -o "+fileNamePure+".swf "+fileName+" \r\n";
+				}
+			}
+			
+			PrintWriter pw = new PrintWriter(new FileWriter(basePath+batfilePath));
+		    pw.println(batString);
+		    pw.flush();
+		    pw.close();
+		    
+			System.out.println("batString "+batString);
+			
+		} catch (Exception err) {
+			err.printStackTrace();
+		}
+	}
+	
+	@Test
+	public void testXMLDir(){
+		try {
+			//FIXME
+			String basePath = "/Users/sebastianwagner/Documents/workspace/xmlcrm/webapp/xmlcrm/upload/emoticons/";
+			
+			System.out.println("basePath "+basePath);
+			File baseDir = new File(basePath);
+			
+			System.out.println("basePath "+baseDir.exists());
+			
+			String batfilePath = "emotes.xml";
+			String batString = "";
+			
+			String[] allfiles = baseDir.list();	
+			LinkedList<LinkedList<String>> filesList = new LinkedList<LinkedList<String>>();
+			if(allfiles!=null){
+				for(int i=0; i<allfiles.length; i++){
+					File file = new File(basePath+File.separatorChar+allfiles[i]);
+					LinkedList<String> singleFile = new LinkedList<String>();
+					String fileName = file.getName();
+					System.out.println("file "+file.getName());
+					String fileNamePure = fileName.substring(0, fileName.length()-4);
+					singleFile.add(fileNamePure+".swf");
+					singleFile.add(":)");
+					singleFile.add("(^_^)");
+					filesList.add(singleFile);
+				}
+			}
+			
+			XStream xStream = new XStream(new XppDriver());
+			xStream.setMode(XStream.NO_REFERENCES);
+			String xmlString = xStream.toXML(filesList);
+
+			log.error(xmlString);
+			
+			PrintWriter pw = new PrintWriter(new FileWriter(basePath+batfilePath));
+		    pw.println(xmlString);
+		    pw.flush();
+		    pw.close();
+		    
+			System.out.println("batString "+batString);
+			
+		} catch (Exception err) {
+			err.printStackTrace();
+		}
+	}
+}
diff --git a/src/org/openmeetings/test/error/TestErrorManagement.java b/src/org/openmeetings/test/error/TestErrorManagement.java
new file mode 100644
index 0000000..e24aa47
--- /dev/null
+++ b/src/org/openmeetings/test/error/TestErrorManagement.java
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.error;
+
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertNotNull;
+
+import java.util.List;
+
+import org.junit.Test;
+import org.openmeetings.app.data.basic.ErrorManagement;
+import org.openmeetings.app.data.basic.Fieldmanagment;
+import org.openmeetings.app.persistence.beans.basic.ErrorType;
+import org.openmeetings.app.persistence.beans.basic.ErrorValues;
+import org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues;
+import org.openmeetings.app.remote.LanguageService;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestErrorManagement extends AbstractOpenmeetingsSpringTest {
+	private static final long START_ERRORVALUES_ID = 666;
+	@Autowired
+	private LanguageService languageService;
+	@Autowired
+	private ErrorManagement errorManagement;
+	@Autowired
+	private Fieldmanagment fieldmanagment;
+
+	private Long getAvailableErrorValuesId() {
+		ErrorValues ev = null;
+		long result = START_ERRORVALUES_ID;
+		while (true) {
+			ev = errorManagement.getErrorValuesById(++result);
+			System.err.println("result = " + result + "; ev == null ? "
+					+ (ev == null));
+			if (ev == null) {
+				break;
+			}
+		}
+		return result;
+	}
+
+	@Test
+	public void createErrorValueAndTest() {
+		List<ErrorType> types = errorManagement.getErrorTypes();
+		List<Fieldlanguagesvalues> flv = fieldmanagment
+				.getAllFieldsByLanguage(languageService.getDefaultLanguage()
+						.longValue());
+		Long errorTypeId = types.get(0).getErrortype_id();
+		Long fieldValuesId = flv.get(0).getFieldvalues_id();
+		Long errorValuesId = errorManagement.addErrorValues(
+				getAvailableErrorValuesId(), errorTypeId, fieldValuesId);
+		assertNotNull("Errorvalues Id should persists", errorValuesId);
+
+		ErrorValues ev = errorManagement.getErrorValuesById(errorValuesId);
+		assertNotNull("Error type id should not be null", ev.getErrortype_id());
+		assertEquals("Error type should persists", errorTypeId,
+				ev.getErrortype_id());
+		assertNotNull("Fieldvalues should not be null", ev.getFieldvalues_id());
+		assertEquals("Fieldvalues should persists", fieldValuesId,
+				ev.getFieldvalues_id());
+	}
+}
diff --git a/src/org/openmeetings/test/error/TestErrorService.java b/src/org/openmeetings/test/error/TestErrorService.java
new file mode 100644
index 0000000..9fe5370
--- /dev/null
+++ b/src/org/openmeetings/test/error/TestErrorService.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.error;
+
+import static junit.framework.Assert.assertNotNull;
+
+import org.junit.Test;
+import org.openmeetings.app.persistence.beans.lang.FieldLanguage;
+import org.openmeetings.app.remote.ErrorService;
+import org.openmeetings.app.remote.LanguageService;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestErrorService extends AbstractOpenmeetingsSpringTest {
+	@Autowired
+	private LanguageService languageService;
+	@Autowired
+	private ErrorService errorService;
+	
+	@Test
+	public void getErrorByCode() {
+		for (FieldLanguage lng : languageService.getLanguages()) {
+			for (long i = -52; i < 0; ++i) {
+				assertNotNull(
+					"Not null error result should be returned: i : " + i + "; lng_id = " + lng.getLanguage_id()
+					, errorService.getErrorByCode(null, i, lng.getLanguage_id())
+					);
+			}
+		}
+	}
+}
diff --git a/src/org/openmeetings/test/gui/TestGui.java b/src/org/openmeetings/test/gui/TestGui.java
new file mode 100644
index 0000000..4074545
--- /dev/null
+++ b/src/org/openmeetings/test/gui/TestGui.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.gui;
+
+import org.junit.Test;
+
+import junit.framework.TestCase;
+
+
+public class TestGui  extends TestCase {
+
+	@Test
+	public void testNoop() {
+		
+	}
+}
diff --git a/src/org/openmeetings/test/jai/TestInterpolation.java b/src/org/openmeetings/test/jai/TestInterpolation.java
new file mode 100644
index 0000000..a7cd2e5
--- /dev/null
+++ b/src/org/openmeetings/test/jai/TestInterpolation.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.jai;
+
+import junit.framework.TestCase;
+
+import org.apache.log4j.Logger;
+import org.junit.Test;
+
+public class TestInterpolation extends TestCase {
+	
+	private static final Logger log = Logger.getLogger(TestInterpolation.class);
+	
+	@Test
+	public void testInterpolate() {
+		try {
+			
+//			GeomPoint p1 = new Point(-60,-100);
+//			GeomPoint p2 = new Point(20, 50);
+//
+//			//double[] samples = {-100,-50};
+//			
+//			GeomPoint gPoint = GeomPoint.interpolate(p1, p2, new Float(0.5));
+//			
+//			log.debug("Interpolated: "+gPoint);
+//			
+//			
+//			GeomPoint p3 = new GeomPoint();
+//			p3.setLocation(-2,4);
+//			//p3.setLocation(3,4);
+//			p3.normalize(10);
+//			//GeomPoint
+//			
+//			
+//			p3.setLocation(2,-4);
+//			//p3.setLocation(3,4);
+//			p3.normalize(10);
+//			
+		} catch (Exception er) {
+			log.error("ERROR ", er);
+			System.out.println("Error exporting: " + er);
+			er.printStackTrace();
+		}
+	}
+
+	
+}
diff --git a/src/org/openmeetings/test/jai/TestSVGTextExporterArrow.java b/src/org/openmeetings/test/jai/TestSVGTextExporterArrow.java
new file mode 100644
index 0000000..7ab876c
--- /dev/null
+++ b/src/org/openmeetings/test/jai/TestSVGTextExporterArrow.java
@@ -0,0 +1,106 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.jai;
+
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+
+import junit.framework.TestCase;
+
+import org.apache.batik.dom.GenericDOMImplementation;
+import org.apache.batik.dom.svg.SVGDOMImplementation;
+import org.apache.batik.svggen.SVGGraphics2D;
+import org.apache.log4j.Logger;
+import org.junit.Test;
+import org.w3c.dom.DOMImplementation;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+public class TestSVGTextExporterArrow extends TestCase {
+	
+	private static final Logger log = Logger.getLogger(TestSVGTextExporterArrow.class);
+	
+	@Test
+	public void testGetDiagramList() {
+		try {
+			
+			
+	        // Get a DOMImplementation.
+	        DOMImplementation domImpl =
+	            GenericDOMImplementation.getDOMImplementation();
+
+	        // Create an instance of org.w3c.dom.Document.
+	        //String svgNS = "http://www.w3.org/2000/svg";
+	        String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
+
+	        Document document = domImpl.createDocument(svgNS, "svg", null);
+	        
+	        // Get the root element (the 'svg' element).
+	        Element svgRoot = document.getDocumentElement();
+
+	        
+	        // Set the width and height attributes on the root 'svg' element.
+	        svgRoot.setAttributeNS(null, "width", "2400");
+	        svgRoot.setAttributeNS(null, "height", "1600");
+	        
+
+	        // Create an instance of the SVG Generator.
+	        SVGGraphics2D svgGenerator = new SVGGraphics2D(document);
+
+//	        SVGGraphics2D svgGenerator8 = new SVGGraphics2D(svgGenerator);
+//	        //SVGGraphics2D svgGenerator2 = new SVGGraphics2D(document);
+//	        
+//	        //NOTE: Font.ITALIC+Font.BOLD = Font AND Bold !
+//	        exportToImageTest.paintTextByWidthHeight(svgGenerator8, 500, 300, 100, 200, "Process", Font.BOLD+Font.ITALIC, 28,
+//	        		new Color(255,0,0));
+//	        
+//	        SVGGraphics2D svgGenerator11 = new SVGGraphics2D(svgGenerator);
+//	        
+//	        exportToImageTest.paintTextByWidthHeight(svgGenerator11, 100, 300, 100, 200, "Process", Font.BOLD+Font.ITALIC, 111,
+//	        		new Color(255,0,0));
+//	        
+//	        SVGGraphics2D svgGenerator9 = new SVGGraphics2D(svgGenerator);
+	      //NOTE: Font.ITALIC+Font.BOLD = Font AND Bold !
+//	        exportToImageTest._paintTextByWidthHeight(svgGenerator9, 500, 300, 100, 200, "Hans", Font.BOLD, 28,
+//	        		new Color(255,0,0));
+	    
+	    
+	        // Finally, stream out SVG to the standard output using
+	        // UTF-8 encoding.
+	        boolean useCSS = true; // we want to use CSS style attributes
+	        //Writer out = new OutputStreamWriter(System.out, "UTF-8");
+	        
+	        //OutputStream out = httpServletResponse.getOutputStream();
+			//httpServletResponse.setContentType("APPLICATION/OCTET-STREAM");
+			//httpServletResponse.setHeader("Content-Disposition","attachment; filename=\"" + requestedFile + "\"");
+	        Writer out = new OutputStreamWriter(System.out, "UTF-8");
+
+	        //StringWriter out = new StringWriter();
+	        
+	        svgGenerator.stream(out, useCSS);
+		} catch (Exception er) {
+			log.error("ERROR ", er);
+			System.out.println("Error exporting: " + er);
+			er.printStackTrace();
+		}
+	}
+	
+	
+
+}
diff --git a/src/org/openmeetings/test/labels/TestLabels.java b/src/org/openmeetings/test/labels/TestLabels.java
new file mode 100644
index 0000000..1d6b815
--- /dev/null
+++ b/src/org/openmeetings/test/labels/TestLabels.java
@@ -0,0 +1,38 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.test.labels;

+

+import org.junit.Test;

+import org.openmeetings.app.data.basic.Fieldmanagment;

+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;

+import org.springframework.beans.factory.annotation.Autowired;

+

+public class TestLabels extends AbstractOpenmeetingsSpringTest {

+	

+	@Autowired

+	private Fieldmanagment fieldmanagment;

+	

+	@Test

+	public void testGetNavi(){

+		

+		fieldmanagment.getFieldsByLanguage(0,100,"c.fieldvalues_id",true,1L,"");

+		

+	}

+

+}

diff --git a/src/org/openmeetings/test/library/TestFileParser.java b/src/org/openmeetings/test/library/TestFileParser.java
new file mode 100644
index 0000000..29357b4
--- /dev/null
+++ b/src/org/openmeetings/test/library/TestFileParser.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.library;
+
+import org.apache.log4j.Logger;
+import org.junit.Test;
+import org.openmeetings.app.documents.LibraryWmlLoader;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+public class TestFileParser extends AbstractOpenmeetingsSpringTest {
+	
+	private static final Logger log = Logger.getLogger(TestFileParser.class);
+	@Autowired
+	private LibraryWmlLoader libraryWmlLoader;
+	
+	@Test
+	public void testLoadWmlFile(){
+		
+		try {
+			
+			libraryWmlLoader.loadWmlFile(System.getProperty("basedir") + "/", "filename1");
+			
+		} catch (Exception err) {
+			
+			log.error("TestLoadWmlFile",err);
+			
+		}
+		
+	}
+	
+}
diff --git a/src/org/openmeetings/test/navi/TestNavi.java b/src/org/openmeetings/test/navi/TestNavi.java
new file mode 100644
index 0000000..d2d76eb
--- /dev/null
+++ b/src/org/openmeetings/test/navi/TestNavi.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.navi;
+
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertNotNull;
+
+import java.util.List;
+
+import org.junit.Test;
+import org.openmeetings.app.data.basic.Navimanagement;
+import org.openmeetings.app.persistence.beans.basic.Naviglobal;
+import org.openmeetings.app.persistence.beans.basic.Navimain;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestNavi extends AbstractOpenmeetingsSpringTest {
+	
+	@Autowired
+	private Navimanagement navimanagement;
+	
+	@Test
+	public void testGetNavi(){
+		
+        List<Naviglobal> ll = navimanagement.getMainMenu(3L, 1L, 1L);
+
+        assertTrue("GlobalNavi size should be greater than zero: " + ll.size(), ll.size() > 0);
+        System.out.println("NaviGlobal size: " + ll.size());
+
+        for (Naviglobal navigl : ll) {
+        	assertNotNull("Naviglobal retrieved should not be null", navigl);
+            System.out.println("Naviglobal label: " + navigl.getLabel().getValue());
+
+        	assertNotNull("Naviglobal retrieved should have Navimain entries", navigl.getMainnavi());
+            for (Navimain navim : navigl.getMainnavi()) {
+            	assertNotNull("Navimain retrieved should not be null", navim);
+                System.out.println("-->" + navim.getLabel().getValue());
+            }
+        }
+		
+	}
+
+}
diff --git a/src/org/openmeetings/test/poll/TestClientListManager.java b/src/org/openmeetings/test/poll/TestClientListManager.java
new file mode 100644
index 0000000..7ec5397
--- /dev/null
+++ b/src/org/openmeetings/test/poll/TestClientListManager.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.poll;
+
+import static org.junit.Assert.assertNotNull;
+
+import java.util.Random;
+
+import org.junit.Test;
+import org.openmeetings.app.remote.red5.ClientListManager;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestClientListManager extends AbstractOpenmeetingsSpringTest {
+	@Autowired
+	private ClientListManager clientListManager;
+	
+	@Test
+	public void addClientListItem() {
+		Random rnd = new Random();
+		assertNotNull("RoomClientId created is null",
+				clientListManager.addClientListItem(rnd.nextLong() + "ABCDE"
+						+ rnd.nextLong(), "scopeName", 66666, "remoteAddress",
+						"swfUrl", false));
+	}
+
+}
diff --git a/src/org/openmeetings/test/poll/TestPollManagement.java b/src/org/openmeetings/test/poll/TestPollManagement.java
new file mode 100644
index 0000000..a25fee8
--- /dev/null
+++ b/src/org/openmeetings/test/poll/TestPollManagement.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.poll;
+
+import org.junit.Test;
+import org.openmeetings.app.data.conference.PollManagement;
+import org.openmeetings.app.persistence.beans.poll.PollType;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.springframework.beans.factory.annotation.Autowired;
+import static org.junit.Assert.*;
+
+public class TestPollManagement extends AbstractOpenmeetingsSpringTest {
+	@Autowired
+	private PollManagement pollManagement;
+	
+	@Test
+	public void addPollType() {
+		long maxId = 1;
+		for (PollType pt : pollManagement.getPollTypes()) {
+			maxId = Math.max(maxId, pt.getPollTypesId());
+		}
+		assertNotNull("Poll created is null", pollManagement.addPollType(26L, false));
+	}
+}
diff --git a/src/org/openmeetings/test/rdc/KeyCodesTest.java b/src/org/openmeetings/test/rdc/KeyCodesTest.java
new file mode 100644
index 0000000..2100fab
--- /dev/null
+++ b/src/org/openmeetings/test/rdc/KeyCodesTest.java
@@ -0,0 +1,154 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.rdc;
+
+import java.awt.*;
+import java.awt.event.*;
+
+class WindowClosingAdapter extends WindowAdapter {
+	public void windowClosing(WindowEvent event) {
+		event.getWindow().setVisible(false);
+		event.getWindow().dispose();
+		System.exit(0);
+	}
+}
+
+public class KeyCodesTest extends Frame implements KeyListener {
+	private static final long serialVersionUID = -1706968644784929402L;
+	String msg1 = "";
+	String msg2 = "";
+
+	public static void main(String[] args) {
+		new KeyCodesTest();
+	}
+
+	public KeyCodesTest() {
+		super("TestKeyCodes");
+		addKeyListener(this);
+		addWindowListener(new WindowClosingAdapter());
+		setBackground(Color.lightGray);
+		setSize(300, 200);
+		setLocation(200, 100);
+		setVisible(true);
+	}
+
+	public void paint(Graphics g) {
+		if (msg1.length() > 0) {
+			draw3DRect(g, 20, 50, 250, 30);
+			g.setColor(Color.black);
+			g.drawString(msg1, 30, 70);
+		}
+		if (msg2.length() > 0) {
+			draw3DRect(g, 20, 100, 250, 30);
+			g.setColor(Color.black);
+			g.drawString(msg2, 30, 120);
+		}
+	}
+
+	void draw3DRect(Graphics g, int x, int y, int width, int height) {
+		g.setColor(Color.darkGray);
+		g.drawLine(x, y, x, y + height);
+		g.drawLine(x, y, x + width, y);
+		g.setColor(Color.white);
+		g.drawLine(x + width, y + height, x, y + height);
+		g.drawLine(x + width, y + height, x + width, y);
+	}
+
+	public void keyPressed(KeyEvent event) {
+		msg1 = "";
+		System.out.println("keyPressed CODE1 "+event.getKeyCode());
+		
+		Integer myCode = event.getKeyCode();
+		
+		System.out.println("keyPressed CODE2 "+myCode);
+		
+		System.out.println("keyPressed CHAR3 "+event.getKeyChar());
+		
+		System.out.println("keyPressed CHAR4 "+KeyEvent.getKeyText(event.getKeyCode()));
+		
+		System.out.println("keyPressed CHAR5 "+KeyEvent.getKeyText(myCode));
+		
+		System.out.println("keyPressed isActionKey "+event.isActionKey());
+		System.out.println("keyPressed isAltDown "+event.isAltDown());
+		System.out.println("keyPressed isAltGraphDown "+event.isAltGraphDown());
+		System.out.println("keyPressed isConsumed "+event.isConsumed());
+		System.out.println("keyPressed isControlDown "+event.isControlDown());
+		System.out.println("keyPressed isMetaDown "+event.isMetaDown());
+		System.out.println("keyPressed isShiftDown "+event.isShiftDown());
+
+		System.out.println("keyPressed paramString "+event.paramString());
+		
+		if (event.getKeyChar() == KeyEvent.CHAR_UNDEFINED) {
+			int key = event.getKeyCode();
+			// Funktionstaste abfragen
+			if (key == KeyEvent.VK_F1) {
+				msg1 = "F1";
+			} else if (key == KeyEvent.VK_F2) {
+				msg1 = "F2";
+			} else if (key == KeyEvent.VK_F3) {
+				msg1 = "F3";
+			}
+			// Modifier abfragen
+			if (msg1.length() > 0) {
+				if (event.isAltDown()) {
+					msg1 = "ALT + " + msg1;
+				}
+				if (event.isControlDown()) {
+					msg1 = "STRG + " + msg1;
+				}
+				if (event.isShiftDown()) {
+					msg1 = "UMSCHALT + " + msg1;
+				}
+			}
+		}
+		repaint();
+	}
+
+	public void keyReleased(KeyEvent event) {
+		msg1 = "";
+		repaint();
+	}
+
+	public void keyTyped(KeyEvent event) {
+		char key = event.getKeyChar();
+		
+//		System.out.println("keyTyped CODE1 "+event.getKeyCode());
+//		
+//		Integer myCode = event.getKeyCode();
+//		
+//		System.out.println("keyTyped CODE2 "+myCode);
+//		
+//		System.out.println("keyTyped CHAR3 "+event.getKeyChar());
+//		
+//		System.out.println("keyTyped CHAR4 "+event.getKeyText(event.getKeyCode()));
+//		
+//		System.out.println("keyTyped CHAR5 "+event.getKeyText(myCode));
+		
+		if (key == KeyEvent.VK_BACK_SPACE) {
+			if (msg2.length() > 0) {
+				msg2 = msg2.substring(0, msg2.length() - 1);
+			}
+		} else if (key >= KeyEvent.VK_SPACE) {
+			if (msg2.length() < 40) {
+				msg2 += event.getKeyChar();
+			}
+		}
+		repaint();
+	}
+}
diff --git a/src/org/openmeetings/test/rdc/ReadKeyCodesTest.java b/src/org/openmeetings/test/rdc/ReadKeyCodesTest.java
new file mode 100644
index 0000000..8dcecc2
--- /dev/null
+++ b/src/org/openmeetings/test/rdc/ReadKeyCodesTest.java
@@ -0,0 +1,115 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.rdc;
+
+import java.awt.*;
+import java.awt.event.*;
+
+public class ReadKeyCodesTest extends Frame implements KeyListener {
+	private static final long serialVersionUID = -1722917067803656922L;
+	String msg1 = "";
+	String msg2 = "";
+
+	public static void main(String[] args) {
+		new ReadKeyCodesTest();
+	}
+
+	public ReadKeyCodesTest() {
+		super("TestKeyCodes");
+		addKeyListener(this);
+		addWindowListener(new WindowClosingAdapter());
+		setBackground(Color.lightGray);
+		setSize(300, 200);
+		setLocation(200, 100);
+		setVisible(true);
+	}
+
+	public void paint(Graphics g) {
+		if (msg1.length() > 0) {
+			draw3DRect(g, 20, 50, 250, 30);
+			g.setColor(Color.black);
+			g.drawString(msg1, 30, 70);
+		}
+		if (msg2.length() > 0) {
+			draw3DRect(g, 20, 100, 250, 30);
+			g.setColor(Color.black);
+			g.drawString(msg2, 30, 120);
+		}
+	}
+
+	void draw3DRect(Graphics g, int x, int y, int width, int height) {
+		g.setColor(Color.darkGray);
+		g.drawLine(x, y, x, y + height);
+		g.drawLine(x, y, x + width, y);
+		g.setColor(Color.white);
+		g.drawLine(x + width, y + height, x, y + height);
+		g.drawLine(x + width, y + height, x + width, y);
+	}
+
+	public void keyPressed(KeyEvent event) {
+		msg1 = "";
+		System.out.println("keyPressed "+event.getKeyCode());
+		if (event.getKeyChar() == KeyEvent.CHAR_UNDEFINED) {
+			int key = event.getKeyCode();
+			// Funktionstaste abfragen
+			if (key == KeyEvent.VK_F1) {
+				msg1 = "F1";
+			} else if (key == KeyEvent.VK_F2) {
+				msg1 = "F2";
+			} else if (key == KeyEvent.VK_F3) {
+				msg1 = "F3";
+			}
+			// Modifier abfragen
+			if (msg1.length() > 0) {
+				if (event.isAltDown()) {
+					msg1 = "ALT + " + msg1;
+				}
+				if (event.isControlDown()) {
+					msg1 = "STRG + " + msg1;
+				}
+				if (event.isShiftDown()) {
+					msg1 = "UMSCHALT + " + msg1;
+				}
+			}
+		}
+		repaint();
+	}
+
+	public void keyReleased(KeyEvent event) {
+		msg1 = "";
+		repaint();
+	}
+
+	public void keyTyped(KeyEvent event) {
+		char key = event.getKeyChar();
+		
+		System.out.println("keyTyped "+event.getKeyCode());
+		
+		if (key == KeyEvent.VK_BACK_SPACE) {
+			if (msg2.length() > 0) {
+				msg2 = msg2.substring(0, msg2.length() - 1);
+			}
+		} else if (key >= KeyEvent.VK_SPACE) {
+			if (msg2.length() < 40) {
+				msg2 += event.getKeyChar();
+			}
+		}
+		repaint();
+	}
+}
diff --git a/src/org/openmeetings/test/rdc/TestKeyCodesNumber.java b/src/org/openmeetings/test/rdc/TestKeyCodesNumber.java
new file mode 100644
index 0000000..f2947c1
--- /dev/null
+++ b/src/org/openmeetings/test/rdc/TestKeyCodesNumber.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.rdc;
+
+import java.awt.event.KeyEvent;
+
+import junit.framework.TestCase;
+
+import org.apache.log4j.Logger;
+import org.junit.Test;
+
+public class TestKeyCodesNumber extends TestCase {
+
+	private static final Logger log = Logger.getLogger(TestKeyCodesNumber.class);
+
+	@Test
+	public void testKeyCodes() {
+		try {
+
+			for (int i = 1; i < 600; i++) {
+
+				String charText = KeyEvent.getKeyText(i);
+
+				log.debug("ERROR " + i + " " + charText);
+
+			}
+
+		} catch (Exception err) {
+			log.error("[testKeyCodes]", err);
+		}
+
+	}
+
+}
diff --git a/src/org/openmeetings/test/rdc/TestReadKeyCodesNumber.java b/src/org/openmeetings/test/rdc/TestReadKeyCodesNumber.java
new file mode 100644
index 0000000..a19b645
--- /dev/null
+++ b/src/org/openmeetings/test/rdc/TestReadKeyCodesNumber.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.rdc;
+
+import junit.framework.TestCase;
+
+import org.apache.log4j.Logger;
+import org.junit.Test;
+
+public class TestReadKeyCodesNumber extends TestCase {
+
+	private static final Logger log = Logger
+			.getLogger(TestReadKeyCodesNumber.class);
+
+	@Test
+	public void testTestKeyCodesNumber() {
+		try {
+
+			this.testKeyCodes();
+
+		} catch (Exception er) {
+			log.debug("ERROR ", er);
+		}
+	}
+
+	@Test
+	public void testKeyCodes() {
+		try {
+
+		} catch (Exception err) {
+			log.error("[testKeyCodes]", err);
+		}
+
+	}
+
+}
diff --git a/src/org/openmeetings/test/rss/TestRssLoader.java b/src/org/openmeetings/test/rss/TestRssLoader.java
new file mode 100644
index 0000000..65979e8
--- /dev/null
+++ b/src/org/openmeetings/test/rss/TestRssLoader.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.rss;
+
+import org.apache.log4j.Logger;
+import org.junit.Test;
+import org.openmeetings.app.rss.LoadAtomRssFeed;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestRssLoader extends AbstractOpenmeetingsSpringTest {
+	
+	private static final Logger log = Logger.getLogger(TestRssLoader.class);
+	@Autowired
+	private LoadAtomRssFeed loadAtomRssFeed;
+	
+	@Test
+	public void testLoadRssFeed(){
+		log.debug("testLoadRssFeed enter");
+		String url = "http://groups.google.com/group/openmeetings-user/feed/atom_v1_0_msgs.xml";
+		
+		loadAtomRssFeed.parseRssFeed(url);
+	}
+
+}
diff --git a/src/org/openmeetings/test/sip/TestConnection.java b/src/org/openmeetings/test/sip/TestConnection.java
new file mode 100644
index 0000000..5547957
--- /dev/null
+++ b/src/org/openmeetings/test/sip/TestConnection.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.sip;
+
+import org.junit.Test;
+
+public class TestConnection {
+
+	@Test
+	public void main() {
+		try {
+			
+//			System.out.println("Test Connection");
+//			
+//			// Get target URL
+//	        String strURL = "http:///manager/xml_rpc_server.php";
+//	        // Get file to be posted
+//	        String fileToPost = "createUser.xml";
+//	        
+//	        File f = new File(fileToPost);
+//	        
+//	        // Prepare HTTP post
+//	        PostMethod post = new PostMethod(strURL);
+//	        // Request content will be retrieved directly
+//	        // from the input stream
+//	        RequestEntity entity = new FileRequestEntity(f, "text/xml; charset=UTF-8"); 
+//	        post.setRequestEntity(entity);
+//	        
+//	        
+//	        // Get HTTP client
+//	        HttpClient httpclient = new HttpClient();
+//	        
+//	        // Execute request
+//            int result = httpclient.executeMethod(post);
+//            // Display status code
+//            System.out.println("Response status code: " + result);
+//            // Display response
+//            System.out.println("Response body: ");
+//            System.out.println(post.getResponseBodyAsString());
+
+			
+			
+		} catch (Exception err) {
+			err.printStackTrace();
+		}
+		
+	}
+}
diff --git a/src/org/openmeetings/test/sip/TestDebugConnection.java b/src/org/openmeetings/test/sip/TestDebugConnection.java
new file mode 100644
index 0000000..1023ca0
--- /dev/null
+++ b/src/org/openmeetings/test/sip/TestDebugConnection.java
@@ -0,0 +1,163 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.sip;
+
+import java.net.URL;
+import java.security.cert.X509Certificate;
+import java.util.Iterator;
+import java.util.Map;
+
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.HttpsURLConnection;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSession;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
+
+import org.apache.log4j.Logger;
+import org.apache.xmlrpc.client.XmlRpcClient;
+import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
+import org.junit.Test;
+import org.openmeetings.utils.crypt.MD5;
+
+class MyTrustManager implements X509TrustManager {
+	public X509Certificate[] getAcceptedIssuers() {
+		return null;
+	}
+	
+	public void checkClientTrusted(X509Certificate[] certs, String authType) {
+		// Trust always
+	}
+	
+	public void checkServerTrusted(X509Certificate[] certs, String authType) {
+		// Trust always
+	}
+}
+
+class MyHostnameVerifier implements HostnameVerifier {
+    public boolean verify(String arg0, SSLSession arg1) {
+            return true;
+    }
+}
+
+public class TestDebugConnection {
+	
+	private static Logger log = Logger.getLogger(TestDebugConnection.class);
+
+	@Test
+	public void testTestSocket(){
+		// TODO Auto-generated method stub
+		try {
+			log.debug("Test Connection");
+			
+		    // Create a trust manager that does not validate certificate chains
+		    TrustManager[] trustAllCerts = new TrustManager[] {new MyTrustManager()};
+		 
+		    // Install the all-trusting trust manager
+		    SSLContext sc = SSLContext.getInstance("SSL");
+		    // Create empty HostnameVerifier
+		    HostnameVerifier hv = new MyHostnameVerifier();
+	
+		    sc.init(null, trustAllCerts, new java.security.SecureRandom());
+		    HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
+		    HttpsURLConnection.setDefaultHostnameVerifier(hv);
+			
+			XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
+			
+			log.debug("config User Agent "+config.getUserAgent());
+			
+		    config.setServerURL(new URL("https://85.134.48.179/manager/xml_rpc_server.php"));
+		    XmlRpcClient client = new XmlRpcClient();
+		    
+		    client.setConfig(config);
+		    
+		    String client_id = "user_admin";
+		    String client_secret = "******";
+		    
+		    
+		    String userid = "067201101";
+		    String domain = "voipt3.multi.fi";
+		    String first_name = "Matti";
+		    String middle_i = "X";
+		    String last_name = "Virtanen";
+		    String password = "password";
+		    String community_code = "999";
+		    String language_code = "fi";
+		    String email = "matti@.com";
+		    String adminid = "matti";
+		    
+		    String digest = digest_calculate(new Object[]{client_id, userid, domain,
+					 first_name, middle_i, last_name,
+					 password, community_code,
+					 language_code, email, adminid,
+					 client_secret});
+		    
+	//	    $digest = digest_calculate($client_id, $userid, $domain,
+	//		$adminid, $client_secret);
+	//  		$params = array(client_id=>$client_id, digest=>$digest, userid=>$userid,
+	//		domain=>$domain, adminid=>$adminid);
+		    
+		    
+		    log.debug(digest);
+		    
+		    //function user_info($userid, $domain, $adminid, &$error)
+		    Object[] params = new Object[]{client_id, digest, userid,
+					  domain, first_name,
+					  middle_i, last_name,
+					  password, community_code,
+					  language_code, email,
+					  adminid};
+		    
+		    
+		    Object result = client.execute("OpenSIPg.UserCreate", params);
+		    
+		    if (result != null) {
+		    	log.debug(result.getClass().getName());
+		    	
+		    	if (result instanceof Map) {
+		    		
+		    		Map<?, ?> mapResults = (Map<?, ?>) result;
+		    		
+		    		for (Iterator<?> iter = mapResults.keySet().iterator();iter.hasNext();) {
+		    			
+		    			Object key = iter.next();
+		    			log.debug("-- key "+key+" value "+mapResults.get(key));
+		    			
+		    		}
+		    		
+		    	}
+		    }
+		    
+		} catch (Exception err) {
+			log.error("[testConnection]",err);
+		}
+	}
+
+	public String digest_calculate(Object[] params) throws Exception {
+		String stringToMd5 = "";
+		
+		for (int i=0;i<params.length;i++) {
+			stringToMd5 += params[i];
+		}
+		
+		return MD5.do_checksum(stringToMd5);
+		
+	}
+
+}
diff --git a/src/org/openmeetings/test/sip/TestRPCGateway.java b/src/org/openmeetings/test/sip/TestRPCGateway.java
new file mode 100644
index 0000000..3e35661
--- /dev/null
+++ b/src/org/openmeetings/test/sip/TestRPCGateway.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.sip;
+
+//import org.apache.log4j.Logger;
+import org.junit.Test;
+import org.openmeetings.app.sip.xmlrpc.test.OpenXGClient;
+
+public class TestRPCGateway {
+	
+	//private static final Logger log = Logger.getLogger(TestRPCGateway.class);
+
+	@Test
+	public void testTestSocket(){
+		try {
+			
+			OpenXGClient.getInstance().testConnection();
+			
+		} catch (Exception err) {
+			err.printStackTrace();
+			//log.error("[TestSocket] ",err);
+		}
+	}
+}
diff --git a/src/org/openmeetings/test/smoke/TestSmokeBasic.java b/src/org/openmeetings/test/smoke/TestSmokeBasic.java
new file mode 100644
index 0000000..d74242f
--- /dev/null
+++ b/src/org/openmeetings/test/smoke/TestSmokeBasic.java
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.smoke;
+
+import static junit.framework.Assert.assertNotNull;
+
+import org.junit.Test;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestSmokeBasic extends AbstractOpenmeetingsSpringTest {
+	@Autowired
+	private Usermanagement userManagement;
+	
+	@Test
+	public void createErrorValueAndTest() {
+        assertNotNull(userManagement.getUserById(1L));
+	}	
+}
diff --git a/src/org/openmeetings/test/timezone/TestGetIds.java b/src/org/openmeetings/test/timezone/TestGetIds.java
new file mode 100644
index 0000000..447e851
--- /dev/null
+++ b/src/org/openmeetings/test/timezone/TestGetIds.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.timezone;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.TimeZone;
+
+import junit.framework.TestCase;
+
+import org.junit.Test;
+
+public class TestGetIds extends TestCase {
+	
+	@Test
+	public void testGetIds() {
+		try { 
+			
+			Date tDate = new Date();
+			
+			String[] ids = TimeZone.getAvailableIDs();
+		    for (String id : ids) {
+		    	
+		    	TimeZone timeZone = TimeZone.getTimeZone(id);
+		    	//TimeZone timeZone = timeRegistry.getTimeZone(id);
+		    	
+		    	Calendar cal = Calendar.getInstance();
+				cal.setTimeZone(timeZone);
+				// + cal.get(Calendar.DST_OFFSET)
+				int offset = cal.get(Calendar.ZONE_OFFSET);
+				cal.setTime(tDate);
+		    	
+				int offsetInHours = offset/1000/60;
+				
+				String tString = cal.get(Calendar.DAY_OF_MONTH)
+								+"."+cal.get(Calendar.DAY_OF_MONTH)
+								+"."+cal.get(Calendar.YEAR)
+								+" "
+								+cal.get(Calendar.HOUR)+":"+cal.get(Calendar.MINUTE);
+				
+				
+				System.out.println("<name>" + id + "</name><offset>"+offsetInHours+"</offset><now>"+tString+"</now>");
+		    }
+		    
+		} catch (Exception err) {
+			err.printStackTrace();
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/test/timezone/TestGetOffset.java b/src/org/openmeetings/test/timezone/TestGetOffset.java
new file mode 100644
index 0000000..e8be170
--- /dev/null
+++ b/src/org/openmeetings/test/timezone/TestGetOffset.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.timezone;
+
+import java.util.Calendar;
+import java.util.TimeZone;
+
+import org.junit.Test;
+
+import junit.framework.TestCase;
+
+public class TestGetOffset extends TestCase {
+	
+	@Test
+	public void testGetIds() {
+		try { 
+			
+			TimeZone timeZone = TimeZone.getTimeZone("Etc/GMT+1");
+			
+			Calendar cal = Calendar.getInstance();
+			cal.setTimeZone(timeZone);
+			int offset = cal.get(Calendar.ZONE_OFFSET) + cal.get(Calendar.DST_OFFSET);
+			
+			System.out.println("CalendarServlet offset "+offset );
+			
+		} catch (Exception err) {
+			err.printStackTrace();
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/test/timezone/TestIds.java b/src/org/openmeetings/test/timezone/TestIds.java
new file mode 100644
index 0000000..5b94996
--- /dev/null
+++ b/src/org/openmeetings/test/timezone/TestIds.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.timezone;
+
+import java.util.Calendar;
+
+import junit.framework.TestCase;
+
+import org.junit.Test;
+
+public class TestIds extends TestCase {
+	
+	@Test
+	public void testGetIds() {
+		try { 
+			
+			Calendar cal = Calendar.getInstance();
+			int offset = cal.get(Calendar.ZONE_OFFSET);
+			
+			offset = offset/1000/60/60;
+			
+			System.out.println("offset :: "+offset);
+			
+		} catch (Exception err) {
+			err.printStackTrace();
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/test/user/TestUserOrganisation.java b/src/org/openmeetings/test/user/TestUserOrganisation.java
new file mode 100644
index 0000000..c371721
--- /dev/null
+++ b/src/org/openmeetings/test/user/TestUserOrganisation.java
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.user;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.util.List;
+
+import org.junit.Test;
+import org.openmeetings.app.data.user.Organisationmanagement;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
+import org.openmeetings.app.persistence.beans.domain.Organisation;
+import org.openmeetings.app.persistence.beans.domain.Organisation_Users;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestUserOrganisation extends AbstractOpenmeetingsSpringTest {
+	@Autowired
+	private Organisationmanagement orgManagement;
+	@Autowired
+	private UsersDaoImpl usersDao;
+	
+	private Users getValidUser() {
+		for (Users u : usersDao.getAllUsers()) {
+			if ("false".equalsIgnoreCase(u.getDeleted()) && u.getOrganisation_users().size() > 0) {
+				return u;
+			}
+		}
+		fail("Unable to find valid user");
+		return null;  //unreachable
+	}
+	
+	@Test
+	public void getUsersByOrganisationId() {
+		Users u = getValidUser();
+		Long orgId = u.getOrganisation_users().get(0).getOrganisation().getOrganisation_id();
+		List<Users> ul = orgManagement.getUsersByOrganisationId(orgId, 0, 9999, "login", true);
+		assertTrue("Default Organisation should contain at least 1 user: " + ul.size(), ul.size() > 0);
+		
+		Organisation_Users ou = orgManagement.getOrganisation_UserByUserAndOrganisation(u.getUser_id(), orgId);
+		assertNotNull("Unable to found [organisation, user] pair - [" + orgId + "," + u.getUser_id() + "]", ou);
+	}
+	
+	@Test
+	public void addOrganisation() {
+		Long orgId = orgManagement.addOrganisation("Test Org", 1); //inserted by not checked
+		assertNotNull("New Organisation have valid id", orgId);
+		
+		List<Users> ul = orgManagement.getUsersByOrganisationId(orgId, 0, 9999, "login", true);
+		assertTrue("New Organisation should contain NO users: " + ul.size(), ul.size() == 0);
+		
+		boolean found = false;
+		List<Organisation> restL = orgManagement.getRestOrganisationsByUserId(3, 1, 0, 9999, "name", true);
+		for (Organisation o : restL) {
+			if (orgId.equals(o.getOrganisation_id())) {
+				found = true;
+				break;
+			}
+		}
+		assertTrue("New organisation should not be included into organisation list of any user", found);
+	}
+}
diff --git a/src/org/openmeetings/test/userdata/TestAuth.java b/src/org/openmeetings/test/userdata/TestAuth.java
new file mode 100644
index 0000000..b7d82ae
--- /dev/null
+++ b/src/org/openmeetings/test/userdata/TestAuth.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.userdata;
+
+import org.junit.Test;
+import org.openmeetings.app.persistence.beans.basic.Sessiondata;
+import org.openmeetings.app.remote.MainService;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.openmeetings.utils.crypt.ManageCryptStyle;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestAuth extends AbstractOpenmeetingsSpringTest {
+	@Autowired
+	private ManageCryptStyle manageCryptStyle;
+	@Autowired
+	private MainService mService;
+
+	@Test
+	public void testTestAuth() {
+		Sessiondata sessionData = mService.getsessiondata();
+
+		System.out.println("sessionData: " + sessionData.getSession_id());
+
+		String tTemp = manageCryptStyle.getInstanceOfCrypt().createPassPhrase(
+				"test");
+
+		System.out.println("tTemp: " + tTemp);
+
+	}
+
+}
diff --git a/src/org/openmeetings/test/userdata/TestLogin.java b/src/org/openmeetings/test/userdata/TestLogin.java
new file mode 100644
index 0000000..fe0a43f
--- /dev/null
+++ b/src/org/openmeetings/test/userdata/TestLogin.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.userdata;
+
+import static org.junit.Assert.assertNotNull;
+
+import org.junit.Test;
+import org.openmeetings.app.persistence.beans.basic.Sessiondata;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.app.remote.MainService;
+import org.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestLogin extends AbstractOpenmeetingsSpringTest {
+	@Autowired
+	private MainService mService;
+
+	@Test
+	public void testTestLogin(){
+		Sessiondata sessionData = mService.getsessiondata();
+		
+		Users us = (Users) mService.loginUser(sessionData.getSession_id(), username, userpass, false, null, -1L);
+		
+		assertNotNull("User is unable to login", us);
+		
+		//mService.getLanguageById(1);
+		
+	}
+
+}
diff --git a/src/org/openmeetings/test/userdata/TestMD5.java b/src/org/openmeetings/test/userdata/TestMD5.java
new file mode 100644
index 0000000..eb21568
--- /dev/null
+++ b/src/org/openmeetings/test/userdata/TestMD5.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.userdata;
+
+import junit.framework.TestCase;
+
+import org.junit.Test;
+
+public class TestMD5 extends TestCase {
+	
+	@Test
+	public void testTestMD5(){
+		
+	}
+
+}
diff --git a/src/org/openmeetings/test/whiteboard/TestWhiteboardLoad.java b/src/org/openmeetings/test/whiteboard/TestWhiteboardLoad.java
new file mode 100644
index 0000000..1477686
--- /dev/null
+++ b/src/org/openmeetings/test/whiteboard/TestWhiteboardLoad.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.whiteboard;
+
+import java.io.File;
+import java.io.FilenameFilter;
+import java.util.Arrays;
+import java.util.Comparator;
+
+import org.apache.commons.collections.ComparatorUtils;
+import org.junit.Test;
+
+public class TestWhiteboardLoad {
+
+	@Test
+	public void test() {
+
+		try {
+
+			File dir = new File(
+					"C:/Users/swagner/workspaces/indigo_red6/ROOT/dist/red5/webapps/openmeetings/public/cliparts/math");
+
+			String[] files = dir.list(new FilenameFilter() {
+				public boolean accept(File b, String name) {
+					String absPath = b.getAbsolutePath() + File.separatorChar
+							+ name;
+					File f = new File(absPath);
+					return !f.isDirectory();
+				}
+			});
+
+			@SuppressWarnings("unchecked")
+			Comparator<String> comparator = ComparatorUtils.naturalComparator();
+			Arrays.sort(files, comparator);
+
+			String row = "";
+			for (int i = 0; i < files.length; i++) {
+
+				float tModulo20 = i % 20;
+				if (tModulo20 == 0) {
+					System.out.println(row);
+					row = "";
+				}
+
+				row += "[" + i + "] " + files[i] + " | ";
+			}
+
+		} catch (Exception err) {
+			err.printStackTrace();
+		}
+
+	}
+}
diff --git a/src/org/openmeetings/test/xsd/GenerateConfigXsd.java b/src/org/openmeetings/test/xsd/GenerateConfigXsd.java
new file mode 100644
index 0000000..49f1cf5
--- /dev/null
+++ b/src/org/openmeetings/test/xsd/GenerateConfigXsd.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.test.xsd;
+
+import java.io.File;
+
+import com.thaiopensource.relaxng.translate.Driver;
+
+public class GenerateConfigXsd {
+	
+	public static void main(String... args) {
+		new GenerateConfigXsd();
+	}
+	
+	public GenerateConfigXsd() {
+		try {
+			
+			String[] args = { 
+						"WebContent"+File.separatorChar+"openmeetings"+File.separatorChar+"config.xml",
+						"WebContent"+File.separatorChar+"openmeetings"+File.separatorChar+"openmeetings-config.xsd"
+			};
+			
+			Driver.main(args);
+			
+		} catch (Exception err) {
+			err.printStackTrace();
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/utils/ImportHelper.java b/src/org/openmeetings/utils/ImportHelper.java
new file mode 100644
index 0000000..94c5014
--- /dev/null
+++ b/src/org/openmeetings/utils/ImportHelper.java
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils;
+
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+public class ImportHelper {
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			ImportHelper.class, OpenmeetingsVariables.webAppRootKey);
+	public static final int DEFAULT_MAX_UPLOAD_SIZE = 1024 * 1024 * 1024; // 1GB
+
+	public static final int getMaxUploadSize(
+			Configurationmanagement cfgManagement) {
+		int result = DEFAULT_MAX_UPLOAD_SIZE;
+		String maxSize = cfgManagement.getConfValue("max_upload_size", String.class, "" + result);
+		try {
+			result = (int) Math.min(Long.parseLong(maxSize), Integer.MAX_VALUE);
+		} catch (Exception e) {
+			log.error("Invalid value saved for maxUploadSize: " + maxSize, e);
+		}
+		return result;
+	}
+	
+	public static Map<String, String> getAllTimeZones(List<OmTimeZone> tzList) {
+		Map<String, String> result = new LinkedHashMap<String, String>();
+		
+		log.debug("omTimeZoneList :: " + tzList.size());
+		for (OmTimeZone omTimeZone : tzList) {
+			String labelName = omTimeZone.getLabel() + " ("
+					+ omTimeZone.getJname() + ")";
+			log.debug("labelName :: " + labelName);
+			result.put(omTimeZone.getIcal(), labelName);
+		}
+		
+		return result;
+	}
+}
diff --git a/src/org/openmeetings/utils/Logger.java b/src/org/openmeetings/utils/Logger.java
new file mode 100644
index 0000000..828a2e2
--- /dev/null
+++ b/src/org/openmeetings/utils/Logger.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.red5.logging.Red5LoggerFactory;
+
+public class Logger {
+    private org.slf4j.Logger log;
+
+    public Logger() {
+        StackTraceElement ste = Thread.currentThread().getStackTrace()[1];
+        log = Red5LoggerFactory.getLogger(ste.getClass(),
+        		OpenmeetingsVariables.webAppRootKey);
+    }
+    
+    private String getMethodMessage() {
+        StackTraceElement ste = Thread.currentThread().getStackTrace()[2];
+        return "In the method " + ste.getMethodName();
+    }
+
+    public void debug(String s, Object o) {
+        log.debug(s, o);
+    }
+
+    public void debug(Object o) {
+        log.debug(getMethodMessage(), o);
+    }
+
+    public void error(Object o) {
+        log.error(getMethodMessage(), o);
+    }
+}
diff --git a/src/org/openmeetings/utils/OMContextListener.java b/src/org/openmeetings/utils/OMContextListener.java
new file mode 100644
index 0000000..fb87583
--- /dev/null
+++ b/src/org/openmeetings/utils/OMContextListener.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils;
+
+import javax.servlet.ServletContextEvent;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.red5.logging.ContextLoggingListener;
+
+public class OMContextListener extends ContextLoggingListener {
+	
+	public void contextDestroyed(ServletContextEvent event) {
+		super.contextDestroyed(event);
+	}
+
+	public void contextInitialized(ServletContextEvent event) {
+		OpenmeetingsVariables.webAppRootKey = pathToName(event);
+		OpenmeetingsVariables.webAppRootPath = "/" + OpenmeetingsVariables.webAppRootKey;
+		System.setProperty("current_openmeetings_context_name", OpenmeetingsVariables.webAppRootKey);
+		System.setProperty("webapp.contextPath", OpenmeetingsVariables.webAppRootPath);
+		System.setProperty("logback.configurationFile", "logback-config.xml");
+		super.contextInitialized(event);
+	}
+
+	private String pathToName(ServletContextEvent event) {
+		String contextName = event.getServletContext().getContextPath().replaceAll("/", "");
+		if ("".equals(contextName)) {
+			contextName = "root";
+		}
+		return contextName;
+	}
+}
diff --git a/src/org/openmeetings/utils/ProcessHelper.java b/src/org/openmeetings/utils/ProcessHelper.java
new file mode 100644
index 0000000..c0e8a5a
--- /dev/null
+++ b/src/org/openmeetings/utils/ProcessHelper.java
@@ -0,0 +1,161 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.utils;

+

+import java.io.BufferedReader;

+import java.io.IOException;

+import java.io.InputStream;

+import java.io.InputStreamReader;

+import java.io.UnsupportedEncodingException;

+import java.util.Arrays;

+import java.util.HashMap;

+import java.util.Map;

+import java.util.concurrent.TimeoutException;

+

+import org.openmeetings.app.documents.GenerateSWF;

+

+public class ProcessHelper {

+

+	private static class Worker extends Thread {

+		private final Process process;

+		private Integer exitCode;

+	

+		private Worker(Process process) {

+			this.process = process;

+		}

+	

+		@Override

+		public void run() {

+			try {

+				exitCode = process.waitFor();

+			} catch (InterruptedException ignore) {

+				return;

+			}

+		}

+	}

+

+	private static class StreamWatcher extends Thread {

+		public StringBuilder output;

+		private final InputStream is;

+		private final BufferedReader br;

+	

+		private StreamWatcher(Process process, boolean isError) throws UnsupportedEncodingException {

+			output = new StringBuilder();

+			is = isError ? process.getErrorStream() : process.getInputStream();

+			br = new BufferedReader(new InputStreamReader(is, "UTF-8"));

+		}

+	

+		@Override

+		public void run() {

+			try {

+				String line = br.readLine();

+				while (line != null) {

+					output.append(line).append('\n');

+					line = br.readLine();

+				}

+			} catch (IOException ioexception) {

+				return;

+			}

+		}

+	}

+

+	public static HashMap<String, String> executeScript(String process, String[] argv) {

+		Map<String, String> env = new HashMap<String, String>();

+		return executeScript(process, argv, env);

+	}

+	

+	public static HashMap<String, String> executeScript(String process,

+			String[] argv, Map<? extends String, ? extends String> env) {

+		HashMap<String, String> returnMap = new HashMap<String, String>();

+		returnMap.put("process", process);

+		GenerateSWF.log.debug("process: " + process);

+		GenerateSWF.log.debug("args: " + Arrays.toString(argv));

+	

+		try {

+			returnMap.put("command", Arrays.toString(argv));

+			returnMap.put("out","");

+	

+			// By using the process Builder we have access to modify the

+			// environment variables

+			// that is handy to set variables to run it inside eclipse

+			ProcessBuilder pb = new ProcessBuilder(argv);

+			pb.environment().putAll(env);

+	

+			Process proc = pb.start();

+	

+			// 20-minute timeout for command execution

+			// FFMPEG conversion of Recordings may take a real long time until

+			// its finished

+			long timeout = 60000 * 20;

+	

+			StreamWatcher errorWatcher = new StreamWatcher(proc, true);

+			Worker worker = new Worker(proc);

+			StreamWatcher inputWatcher = new StreamWatcher(proc, false);

+			errorWatcher.start();

+			inputWatcher.start();

+			worker.start();

+			

+			

+			try {

+				worker.join(timeout);

+				if (worker.exitCode != null) {

+					returnMap.put("exitValue", "" + worker.exitCode);

+					GenerateSWF.log.debug("exitVal: " + worker.exitCode);

+					returnMap.put("error", errorWatcher.output.toString());

+				} else {

+					returnMap.put("exception", "timeOut");

+					returnMap.put("error", errorWatcher.output.toString());

+					returnMap.put("exitValue", "-1");

+	

+					throw new TimeoutException();

+				}

+			} catch (InterruptedException ex) {

+				worker.interrupt();

+				errorWatcher.interrupt();

+				inputWatcher.interrupt();

+				Thread.currentThread().interrupt();

+	

+				returnMap.put("error", ex.getMessage());

+				returnMap.put("exitValue", "-1");

+	

+				throw ex;

+			} finally {

+				proc.destroy();

+			}

+			

+		} catch (TimeoutException e) {

+			// Timeout exception is processed above

+			GenerateSWF.log.error("executeScript",e);

+			e.printStackTrace();

+			returnMap.put("error", e.getMessage());

+			returnMap.put("exception", e.toString());

+			returnMap.put("exitValue", "-1");

+		} catch (Throwable t) {

+			// Any other exception is shown in debug window

+			GenerateSWF.log.error("executeScript",t);

+			t.printStackTrace();

+			returnMap.put("error", t.getMessage());

+			returnMap.put("exception", t.toString());

+			returnMap.put("exitValue", "-1");

+		}

+		

+		return returnMap;

+	}

+

+}

diff --git a/src/org/openmeetings/utils/StoredFile.java b/src/org/openmeetings/utils/StoredFile.java
new file mode 100644
index 0000000..643cf45
--- /dev/null
+++ b/src/org/openmeetings/utils/StoredFile.java
@@ -0,0 +1,118 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+public class StoredFile {
+    private static final Set<String> convertExtensions = new HashSet<String>(
+            Arrays.asList(new String[] { "ppt", "odp", "odt", "sxw", "wpd",
+                    "doc", "rtf", "txt", "ods", "sxc", "xls", "sxi", "pptx",
+                    "docx", "xlsx" }));
+
+    private static final Set<String> pdfExtensions = new HashSet<String>(
+            Arrays.asList(new String[] { "pdf", "ps" }));
+
+    private static final Set<String> imageExtensions = new HashSet<String>(
+            Arrays.asList(new String[] { "png", "gif", "svg", "dpx", "exr",
+                    "pcd", // PhotoCD
+                    "pcds", // PhotoCD
+                    "psd", // Adobe Photoshop
+                    "tiff", // Tagged Image File Format
+                    "ttf", // TrueType font
+                    "xcf", // GIMP image
+                    "wpg", // Word Perfect Graphics
+                    "bmp", "ico", // Microsoft Icon
+                    "tga", // Truevision Targa
+                    "jpg", "jpeg" }));
+
+    private static final Set<String> chartExtensions = new HashSet<String>(
+            Arrays.asList(new String[] { "xchart" }));
+
+    private static final Set<String> videoExtensions = new HashSet<String>(
+            Arrays.asList(new String[] { "avi", "mov", "flv", "mp4" }));
+
+    private static final Set<String> asIsExtensions = new HashSet<String>(
+            Arrays.asList(new String[] { "jpg", "xchart" }));
+
+    private final String name;
+	private final String ext;
+
+    public StoredFile(String name, String ext) {
+        this.name = name;
+        this.ext = ext;
+    }
+    
+    public static String[] getExtensions(){
+    	
+    	Set<String> extensions = new HashSet<String>();
+    	extensions.addAll(convertExtensions);
+    	extensions.addAll(pdfExtensions);
+    	extensions.addAll(imageExtensions);
+    	extensions.addAll(chartExtensions);
+    	extensions.addAll(videoExtensions);
+    	extensions.addAll(asIsExtensions);
+    	
+    	Object[] returnObj = extensions.toArray();
+    	
+    	String[] returnStr = new String[returnObj.length];
+    	
+    	int i=0;
+    	for (Object obj : returnObj) {
+    		returnStr[i] = obj.toString();
+    		i++;
+    	}
+    	
+    	return returnStr;
+    }
+
+    public boolean isConvertable() {
+        return convertExtensions.contains(ext);
+    }
+
+    public boolean isPresentation() {
+        return isConvertable() || isPdf();
+    }
+
+    public boolean isPdf() {
+        return pdfExtensions.contains(ext);
+    }
+
+    public boolean isImage() {
+        return imageExtensions.contains(ext);
+    }
+
+    public boolean isVideo() {
+        return videoExtensions.contains(ext);
+    }
+
+    public boolean isChart() {
+        return chartExtensions.contains(ext);
+    }
+
+    public boolean isAsIs() {
+        return asIsExtensions.contains(ext);
+    }
+
+    public String getName() {
+		return name;
+	}
+}
diff --git a/src/org/openmeetings/utils/crypt/CryptString.java b/src/org/openmeetings/utils/crypt/CryptString.java
new file mode 100644
index 0000000..f43483b
--- /dev/null
+++ b/src/org/openmeetings/utils/crypt/CryptString.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.crypt;
+
+/**
+ * interface for Encryption-Class
+ * see: http://code.google.com/p/openmeetings/w/edit/CustomCryptMechanism
+ * 
+ * @author sebastianwagner
+ *
+ */
+
+public interface CryptString {
+	
+	public String createPassPhrase(String userGivenPass);
+	
+	public Boolean verifyPassword(String passGiven, String passwdFromDb);
+
+}
diff --git a/src/org/openmeetings/utils/crypt/CryptStringAdapter.java b/src/org/openmeetings/utils/crypt/CryptStringAdapter.java
new file mode 100644
index 0000000..5917b89
--- /dev/null
+++ b/src/org/openmeetings/utils/crypt/CryptStringAdapter.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.crypt;
+
+/**
+ * adapter for Encryption-Class
+ * see: http://code.google.com/p/openmeetings/w/edit/CustomCryptMechanism
+ * 
+ * @author sebastianwagner
+ *
+ */
+
+public class CryptStringAdapter {
+
+	public String createPassPhrase(String userGivenPass){ return null; };
+	
+	public Boolean verifyPassword(String passGiven, String passwdFromDb){ return null; };
+	
+}
diff --git a/src/org/openmeetings/utils/crypt/MD5.java b/src/org/openmeetings/utils/crypt/MD5.java
new file mode 100644
index 0000000..a4e4ae1
--- /dev/null
+++ b/src/org/openmeetings/utils/crypt/MD5.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.crypt;
+
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+
+public class MD5 {
+
+    private static String toHexString(byte b) {
+        int value = (b & 0x7F) + (b < 0 ? 128 : 0);
+     
+         String ret = (value < 16 ? "0" : "");
+         ret += Integer.toHexString(value).toLowerCase();
+     
+     return ret;
+    }
+   
+    public static String do_checksum(String data) throws NoSuchAlgorithmException {
+    	MessageDigest md5 = MessageDigest.getInstance("MD5");
+		StringBuffer strbuf = new StringBuffer();
+
+		md5.update(data.getBytes(), 0, data.length());
+		byte[] digest = md5.digest();
+
+		for (int i = 0; i < digest.length; i++) {
+			strbuf.append(toHexString(digest[i]));
+		}
+
+		return strbuf.toString();
+	}
+}
diff --git a/src/org/openmeetings/utils/crypt/MD5Crypt.java b/src/org/openmeetings/utils/crypt/MD5Crypt.java
new file mode 100644
index 0000000..1dd5c6e
--- /dev/null
+++ b/src/org/openmeetings/utils/crypt/MD5Crypt.java
@@ -0,0 +1,371 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.crypt;
+
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+
+/*
+
+Based on the work of Jonathan Abbey
+Adopted for Director by Thomas Aeby, 2004
+
+MD5Crypt.java
+
+Created: 3 November 1999
+Release: $Name:  $
+Version: $Revision: 1.1 $
+Last Mod Date: $Date: 2004/02/04 08:10:35 $
+Java Code By: Jonathan Abbey, jonabbey@arlut.utexas.edu
+Original C Version:
+----------------------------------------------------------------------------
+"THE BEER-WARE LICENSE" (Revision 42):
+<phk@login.dknet.dk> wrote this file.  As long as you retain this notice you
+can do whatever you want with this stuff. If we meet some day, and you think
+this stuff is worth it, you can buy me a beer in return.   Poul-Henning Kamp
+----------------------------------------------------------------------------
+
+-----------------------------------------------------------------------
+	    
+Ganymede Directory Management System
+
+Copyright (C) 1996, 1997, 1998, 1999  The University of Texas at Austin.
+
+Contact information
+
+Author Email: ganymede_author@arlut.utexas.edu
+Email mailing list: ganymede@arlut.utexas.edu
+
+US Mail:
+
+Computer Science Division
+Applied Research Laboratories
+The University of Texas at Austin
+PO Box 8029, Austin TX 78713-8029
+
+Telephone: (512) 835-3200
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
+/*------------------------------------------------------------------------------
+                                                                        class
+                                                                     MD5Crypt
+
+------------------------------------------------------------------------------*/
+
+/**
+* <p>This class defines a method,
+* {@link MD5Crypt#crypt(java.lang.String, java.lang.String) crypt()}, which
+* takes a password and a salt string and generates an OpenBSD/FreeBSD/Linux-compatible
+* md5-encoded password entry.</p>
+*
+* <p>Created: 3 November 1999</p>
+* <p>Release: $Name:  $</p>
+* <p>Version: $Revision: 1.1 $</p>
+* <p>Last Mod Date: $Date: 2004/02/04 08:10:35 $</p>
+* <p>Java Code By: Jonathan Abbey, jonabbey@arlut.utexas.edu</p>
+* <p>Original C Version:<pre>
+* ----------------------------------------------------------------------------
+* "THE BEER-WARE LICENSE" (Revision 42):
+* <phk@login.dknet.dk> wrote this file.  As long as you retain this notice you
+* can do whatever you want with this stuff. If we meet some day, and you think
+* this stuff is worth it, you can buy me a beer in return.   Poul-Henning Kamp
+* ----------------------------------------------------------------------------
+* </pre></p>
+*/
+
+public final class MD5Crypt {
+
+/**
+*
+* Command line test rig.
+ * @throws NoSuchAlgorithmException 
+*
+*/
+
+static public void main(String argv[]) throws NoSuchAlgorithmException
+{
+ if ((argv.length < 1) || (argv.length > 2))
+   {
+	System.err.println("Usage: MD5Crypt password salt");
+	System.exit(1);
+   }
+
+ if (argv.length == 2)
+   {
+	System.err.println(MD5Crypt.crypt(argv[0], argv[1]));
+   }
+ else
+   {
+	System.err.println(MD5Crypt.crypt(argv[0]));
+   }
+ 
+ System.exit(0);
+}
+
+static private final String SALTCHARS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
+
+static private final String itoa64 = "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
+
+static private final String to64(long v, int size)
+{
+ StringBuffer result = new StringBuffer();
+
+ while (--size >= 0)
+   {
+	result.append(itoa64.charAt((int) (v & 0x3f)));
+	v >>>= 6;
+   }
+
+ return result.toString();
+}
+
+static private final void clearbits(byte bits[])
+{
+ for (int i = 0; i < bits.length; i++)
+   {
+	bits[i] = 0;
+   }
+}
+
+
+
+/**
+* convert an encoded unsigned byte value into a int
+* with the unsigned value.
+*/
+
+@SuppressWarnings("cast")
+static private final int bytes2u(byte inp)
+{
+ return ((int)inp) & 0xff;
+}
+
+/**
+* <p>This method actually generates a OpenBSD/FreeBSD/Linux PAM compatible
+* md5-encoded password hash from a plaintext password and a
+* salt.</p>
+*
+* <p>The resulting string will be in the form '$1$&lt;salt&gt;$&lt;hashed mess&gt;</p>
+*
+* @param password Plaintext password
+*
+* @return An OpenBSD/FreeBSD/Linux-compatible md5-hashed password field.
+ * @throws NoSuchAlgorithmException 
+*/
+
+static public final String crypt(String password) throws NoSuchAlgorithmException
+{
+ StringBuffer salt = new StringBuffer();
+ java.util.Random randgen = new java.util.Random();
+
+ /* -- */
+
+  while (salt.length() < 8)
+    {
+	 int index = (int) (randgen.nextFloat() * SALTCHARS.length());
+      salt.append(SALTCHARS.substring(index, index+1));
+    }
+
+  return MD5Crypt.crypt(password, salt.toString());
+}
+
+/**
+* <p>This method actually generates a OpenBSD/FreeBSD/Linux PAM compatible
+* md5-encoded password hash from a plaintext password and a
+* salt.</p>
+*
+* <p>The resulting string will be in the form '$1$&lt;salt&gt;$&lt;hashed mess&gt;</p>
+*
+* @param password Plaintext password
+* @param salt A short string to use to randomize md5.  May start with $1$, which
+*             will be ignored.  It is explicitly permitted to pass a pre-existing
+*             MD5Crypt'ed password entry as the salt.  crypt() will strip the salt
+*             chars out properly.
+*
+* @return An OpenBSD/FreeBSD/Linux-compatible md5-hashed password field.
+ * @throws NoSuchAlgorithmException 
+*/
+
+static public final String crypt(String password, String salt) throws NoSuchAlgorithmException
+{
+ /* This string is magic for this algorithm.  Having it this way,
+  * we can get get better later on */
+
+ String magic = "$1$";
+ byte finalState[];
+ MessageDigest ctx, ctx1;
+ long l;
+
+ /* -- */
+
+ /* Refine the Salt first */
+
+ /* If it starts with the magic string, then skip that */
+ 
+ if (salt.startsWith(magic))
+   {
+	salt = salt.substring(magic.length());
+   }
+
+ /* It stops at the first '$', max 8 chars */
+
+ if (salt.indexOf('$') != -1)
+   {
+	salt = salt.substring(0, salt.indexOf('$'));
+   }
+
+ if (salt.length() > 8)
+   {
+	salt = salt.substring(0, 8);
+   }
+
+ ctx = MessageDigest.getInstance("MD5");
+
+ ctx.update(password.getBytes());    // The password first, since that is what is most unknown
+ ctx.update(magic.getBytes());    // Then our magic string
+ ctx.update(salt.getBytes());    // Then the raw salt
+
+ /* Then just as many characters of the MD5(pw,salt,pw) */
+
+ ctx1 = MessageDigest.getInstance("MD5");
+ ctx1.update(password.getBytes());
+ ctx1.update(salt.getBytes());
+ ctx1.update(password.getBytes());
+ finalState = ctx1.digest();
+
+ for (int pl = password.length(); pl > 0; pl -= 16)
+   {
+	for( int i=0; i< (pl > 16 ? 16 : pl); i++ )
+	  ctx.update(finalState[i] );
+   }
+
+ /* the original code claimed that finalState was being cleared
+    to keep dangerous bits out of memory, but doing this is also
+    required in order to get the right output. */
+
+ clearbits(finalState);
+ 
+ /* Then something really weird... */
+
+ for (int i = password.length(); i != 0; i >>>=1)
+   {
+	if ((i & 1) != 0)
+	  {
+	    ctx.update(finalState[0]);
+	  }
+	else
+	  {
+	    ctx.update(password.getBytes()[0]);
+	  }
+   }
+
+ finalState = ctx.digest();
+
+ /*
+  * and now, just to make sure things don't run too fast
+  * On a 60 Mhz Pentium this takes 34 msec, so you would
+  * need 30 seconds to build a 1000 entry dictionary...
+  *
+  * (The above timings from the C version)
+  */
+
+ for (int i = 0; i < 1000; i++)
+   {
+	ctx1 = MessageDigest.getInstance("MD5");
+
+	if ((i & 1) != 0)
+	  {
+	    ctx1.update(password.getBytes());
+	  }
+	else
+	  {
+	    for( int c=0; c<16; c++ )
+	      ctx1.update(finalState[c]);
+	  }
+
+	if ((i % 3) != 0)
+	  {
+	    ctx1.update(salt.getBytes());
+	  }
+
+	if ((i % 7) != 0)
+	  {
+	    ctx1.update(password.getBytes());
+	  }
+
+	if ((i & 1) != 0)
+	  {
+	    for( int c=0; c<16; c++ )
+	      ctx1.update(finalState[c]);
+	  }
+	else
+	  {
+	    ctx1.update(password.getBytes());
+	  }
+
+	finalState = ctx1.digest();
+   }
+
+ /* Now make the output string */
+
+ StringBuffer result = new StringBuffer();
+
+ result.append(magic);
+ result.append(salt);
+ result.append("$");
+
+ l = (bytes2u(finalState[0]) << 16) | (bytes2u(finalState[6]) << 8) | bytes2u(finalState[12]);
+ result.append(to64(l, 4));
+
+ l = (bytes2u(finalState[1]) << 16) | (bytes2u(finalState[7]) << 8) | bytes2u(finalState[13]);
+ result.append(to64(l, 4));
+
+ l = (bytes2u(finalState[2]) << 16) | (bytes2u(finalState[8]) << 8) | bytes2u(finalState[14]);
+ result.append(to64(l, 4));
+
+ l = (bytes2u(finalState[3]) << 16) | (bytes2u(finalState[9]) << 8) | bytes2u(finalState[15]);
+ result.append(to64(l, 4));
+
+ l = (bytes2u(finalState[4]) << 16) | (bytes2u(finalState[10]) << 8) | bytes2u(finalState[5]);
+ result.append(to64(l, 4));
+
+ l = bytes2u(finalState[11]);
+ result.append(to64(l, 2));
+
+ /* Don't leave anything around in vm they could use. */
+ clearbits(finalState);
+
+ return result.toString();
+}
+}
diff --git a/src/org/openmeetings/utils/crypt/MD5CryptImplementation.java b/src/org/openmeetings/utils/crypt/MD5CryptImplementation.java
new file mode 100644
index 0000000..5b98633
--- /dev/null
+++ b/src/org/openmeetings/utils/crypt/MD5CryptImplementation.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.crypt;
+
+import java.security.NoSuchAlgorithmException;
+
+public class MD5CryptImplementation extends CryptStringAdapter implements CryptString {
+
+	@Override
+	public String createPassPhrase(String userGivenPass) {
+		String passPhrase = null;
+		try {
+			passPhrase = MD5Crypt.crypt(userGivenPass);
+		} catch (NoSuchAlgorithmException e) {
+			e.printStackTrace();
+		} 
+		return passPhrase;
+	}
+
+	@Override
+	public Boolean verifyPassword(String passGiven, String passwdFromDb) {
+		boolean validPassword = false;
+		String salt = passwdFromDb.split("\\$")[2];
+	
+		try {
+			validPassword = passwdFromDb.equals(MD5Crypt.crypt(passGiven, salt));
+		} catch (NoSuchAlgorithmException e) {
+			e.printStackTrace();
+		}
+		return validPassword;
+	}
+
+}
diff --git a/src/org/openmeetings/utils/crypt/MD5Implementation.java b/src/org/openmeetings/utils/crypt/MD5Implementation.java
new file mode 100644
index 0000000..8a40162
--- /dev/null
+++ b/src/org/openmeetings/utils/crypt/MD5Implementation.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.crypt;
+
+import java.security.NoSuchAlgorithmException;
+
+public class MD5Implementation extends CryptStringAdapter implements CryptString {
+
+	@Override
+	public String createPassPhrase(String userGivenPass) {
+		String passPhrase = null;
+		try {
+			passPhrase = MD5.do_checksum(userGivenPass);
+		} catch (NoSuchAlgorithmException e) {
+			e.printStackTrace();
+		}
+		return passPhrase;
+	}
+
+	@Override
+	public Boolean verifyPassword(String passGiven, String passwdFromDb) {
+		return (passwdFromDb.equals(createPassPhrase(passGiven)));
+	}
+	
+}
diff --git a/src/org/openmeetings/utils/crypt/ManageCryptStyle.java b/src/org/openmeetings/utils/crypt/ManageCryptStyle.java
new file mode 100644
index 0000000..124d001
--- /dev/null
+++ b/src/org/openmeetings/utils/crypt/ManageCryptStyle.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.crypt;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class ManageCryptStyle {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			ManageCryptStyle.class, OpenmeetingsVariables.webAppRootKey);
+	@Autowired
+	private Configurationmanagement cfgManagement;
+
+	@Autowired
+	private ScopeApplicationAdapter scopeApplicationAdapter;
+
+	public CryptStringAdapter getInstanceOfCrypt() {
+		try {
+
+			log.debug("getInstanceOfCrypt: " + this);
+
+			log.debug("getInstanceOfCrypt: " + cfgManagement);
+
+			// String configKeyCryptClassName =
+			// "org.openmeetings.utils.crypt.MD5Implementation";
+			String configKeyCryptClassName = scopeApplicationAdapter
+					.getCryptKey();
+
+			log.debug("configKeyCryptClassName: " + configKeyCryptClassName);
+
+			CryptStringAdapter t = (CryptStringAdapter) Class.forName(
+					configKeyCryptClassName).newInstance();
+			// t.getTime();
+			return t;
+
+		} catch (Exception err) {
+			log.error("[getInstanceOfCrypt]", err);
+		}
+		return null;
+	}
+
+}
diff --git a/src/org/openmeetings/utils/geom/ArrowStyle.java b/src/org/openmeetings/utils/geom/ArrowStyle.java
new file mode 100644
index 0000000..6e35d6f
--- /dev/null
+++ b/src/org/openmeetings/utils/geom/ArrowStyle.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.geom;
+
+public class ArrowStyle {
+
+	public double headWidth=-1; //Relative width of arrow head
+
+	/**
+	 * 
+	 * Not used in drawArrowHead because the length is 
+	 * determined by the points passed in
+	 * 
+	 */
+	public double headLength=10; //Pixel Length of arrow head
+			
+	
+	public double shaftThickness=2;
+	public float shaftPosition=0;
+	
+	/**
+	 *  Not used in drawArrow, only drawArrowHead
+	 * 	This let's you curve the line at the base of the arrow
+	 */
+	public double shaftControlPosition=.5;
+	/**
+	 * Not used in drawArrow, only drawArrowHead
+	 * This let's you curve the line at the base of the arrow
+	 */
+	public double shaftControlSize=.5;
+	
+	
+	public double edgeControlPosition=.5;
+	public double edgeControlSize=.5;
+	
+	
+	public ArrowStyle(double edgeControlPosition, double edgeControlSize,
+			double headLength, double headWidth, double shaftControlPosition,
+			double shaftControlSize, float shaftPosition, double shaftThickness) {
+		super();
+		this.edgeControlPosition = edgeControlPosition;
+		this.edgeControlSize = edgeControlSize;
+		this.headLength = headLength;
+		this.headWidth = headWidth;
+		this.shaftControlPosition = shaftControlPosition;
+		this.shaftControlSize = shaftControlSize;
+		this.shaftPosition = shaftPosition;
+		this.shaftThickness = shaftThickness;
+	}
+	
+	
+}
diff --git a/src/org/openmeetings/utils/geom/GeomPoint.java b/src/org/openmeetings/utils/geom/GeomPoint.java
new file mode 100644
index 0000000..323ff30
--- /dev/null
+++ b/src/org/openmeetings/utils/geom/GeomPoint.java
@@ -0,0 +1,211 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.geom;
+
+import java.awt.Point;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+/**
+ * 
+ * Java Implementation of the Actionscript Class flash.geom.Point
+ * 
+ * @author swagner
+ *
+ */
+
+public class GeomPoint extends Point {
+	private static final long serialVersionUID = 5729830653403076829L;
+	@SuppressWarnings("unused")
+	private static final Logger log = Red5LoggerFactory.getLogger(GeomPoint.class, OpenmeetingsVariables.webAppRootKey);
+
+	public GeomPoint add(GeomPoint p) {
+		GeomPoint gPoint = new GeomPoint();
+		gPoint.setLocation(this.getX() + p.getX(),this.getY() + p.getY());
+		return gPoint;
+	}
+	
+	public GeomPoint subtract(GeomPoint p) {
+		GeomPoint gPoint = new GeomPoint();
+		gPoint.setLocation(this.getX() - p.getX(),this.getY() - p.getY());
+		return gPoint;
+	}
+	
+	public GeomPoint clone() {
+		GeomPoint p = new GeomPoint();
+		p.setLocation(this.getX(), this.getY());
+		return p;
+	}
+	
+	public static GeomPoint interpolate(GeomPoint p1, GeomPoint p2, float f) {
+		
+		if (f == 0) {
+			GeomPoint p = new GeomPoint();
+			p.setLocation(p2.getX(), p2.getY());
+			return p;
+		} else if (f == 1) {
+			GeomPoint p = new GeomPoint();
+			p.setLocation(p1.getX(), p1.getY());
+			return p;
+		}
+		
+		double returnValueP1 = linearInterpolation(p1.getX(),p2.getX(),f);
+		double returnValueP2 = linearInterpolation(p1.getY(),p2.getY(),f);
+		
+		GeomPoint p = new GeomPoint();
+		p.setLocation(returnValueP1, returnValueP2);
+		return p;
+	}
+	
+	public double length() {
+		return Math.sqrt( this.getX()*this.getX() + this.getY()*this.getY() );
+	}
+	
+	public String toString() {
+		return getClass().getName() + "[x=" + this.getX() + ",y=" + this.getY() + "]";
+    }
+	
+	public void normalize(double newLength) {
+		
+		//Function for Line y = mx + 0 
+		//given points 0,0 and this.getX(),this.getY();
+		//		0 = m*0 + c
+		//		m = -c;
+		//		
+		//		this.getY() = m*this.getX();
+
+		double m;
+		if (this.getX() == 0) {
+			//log.debug("Case 1");
+			if (this.getY() < 0) {
+				this.setLocation(0, newLength * -1);
+			} else {
+				this.setLocation(0, newLength);
+			}
+			return;
+			//m = this.getY();
+		} else {
+			m = this.getY() / this.getX();
+			//log.debug("Case 2");
+		}
+		
+		//log.debug("m :"+m +" newLength "+newLength);
+		
+		//Circle (x-x0)^2 + (y-y0)^2 = r^2
+		//		anyY = m * anyX;
+		//		newLength * newLength = anyY * anyY + anyX * anyX;
+		//		
+		//		newLength * newLength = (m * anyX) * (m * anyX) + anyX * anyX;
+		//		
+		//		newLength * newLength = m * m * anyX * anyX + anyX * anyX;
+		//		newLength * newLength = ( m*m + 1 ) * anyX * anyX;
+		//		
+		//		newLength * newLength / ( m*m + 1 ) = anyX * anyX;
+		
+		double anyX = Math.sqrt( ( newLength * newLength ) / ( m*m + 1 ) );
+		double anyY = m * anyX;
+		
+		//log.debug("anyX :"+anyX + " anyY: " + anyY);
+		
+		//translate to Flash point of origin
+		if (this.getX() < 0) {
+			anyX *= -1;
+			anyY *= -1;
+		}
+		
+		//log.debug("anyX :"+anyX + " anyY: " + anyY);
+		this.setLocation(anyX, anyY);
+		
+	}
+	
+	/**
+	 * Interpolate one number
+	 * @param a
+	 * @param b
+	 * @param t
+	 * @return
+	 */
+	public static double linearInterpolation(double a, double b, float t) {
+		return a + t * (b - a);
+	}
+	
+
+	public static GeomPoint getLineIntersection ( GeomPoint a1,GeomPoint a2,
+			GeomPoint b1,GeomPoint b2) {
+		
+		//log.debug("b1: "+b1);
+		//log.debug("b2: "+b2);
+		
+		double x,y,m1,m2;
+	
+		if ((a2.getX()-a1.getX()) == 0) {
+			
+			//log.debug("k1 ^ 0");
+			
+			double k2 = (b2.getY()-b1.getY()) / (b2.getX()-b1.getX());
+			//log.debug("k2: "+k2);
+			//log.debug("b1.getY(): "+b1.getY());
+			//log.debug("b2.getY(): "+b2.getY());
+			// an infinite directional constant means the line is vertical
+			// so the intersection must be at the x coordinate of the line
+			x = a1.getX();
+            m2 = b1.getY() - k2 * b1.getX();
+            //log.debug("m2: "+m2);
+            y = k2 * x + m2;
+            //log.debug("y: "+y);
+			
+		} else if((b2.getX()-b1.getX()) == 0) {
+			
+			//log.debug("k2 ^^ 0");
+			
+			double k1 = (a2.getY()-a1.getY()) / (a2.getX()-a1.getX());
+			// same as above for line 2
+			m1 = a1.getY() - k1 * a1.getX();
+			x = b1.getX();
+			y = k1 * x + m1;
+			
+		} else {
+		
+			//calculate directional constants
+			double k1 = (a2.getY()-a1.getY()) / (a2.getX()-a1.getX());
+			double k2 = (b2.getY()-b1.getY()) / (b2.getX()-b1.getX());
+			
+			// if the directional constants are equal, the lines are parallel,
+			// meaning there is no intersection point.
+			if( k1 == k2 ) return null;
+		
+			//log.debug("neither");
+//			log.debug("k1: "+k1);
+//			log.debug("k2: "+k2);
+			
+			m1 = a1.getY() - k1 * a1.getX();
+			m2 = b1.getY() - k2 * b1.getX();				
+			x = (m1-m2) / (k2-k1);
+			y = k1 * x + m1;
+		}
+		
+		
+		GeomPoint gPoint = new GeomPoint();
+		gPoint.setLocation(x, y);
+		
+		return gPoint;
+	}	
+}
diff --git a/src/org/openmeetings/utils/image/ImageUtility.java b/src/org/openmeetings/utils/image/ImageUtility.java
new file mode 100644
index 0000000..7ece142
--- /dev/null
+++ b/src/org/openmeetings/utils/image/ImageUtility.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.image;
+
+import java.awt.image.BufferedImage;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+
+import javax.imageio.ImageIO;
+
+
+	
+public class ImageUtility {
+
+	 static {ImageIO.setUseCache(false);}
+
+	 public static java.awt.image.BufferedImage read(java.io.InputStream in) throws IOException {
+	        java.awt.image.BufferedImage image = null;  
+	        image = ImageIO.read(in);
+	        if (image == null)
+	            throw new java.io.IOException("Read fails");                  
+	        return image;
+	    }
+	 
+	    public static BufferedImage read(byte[] bytes) {
+	        try {
+	            return read(new ByteArrayInputStream(bytes));
+	        } catch (IOException e) {
+	            e.getStackTrace();
+	            return null;
+	        }
+	    } 
+
+	    public static byte[] toByteArray(BufferedImage image) {
+	        try {
+	            ByteArrayOutputStream out = new ByteArrayOutputStream();
+	            ImageIO.write(image, "jpeg", out); // write without compression                                
+	            return out.toByteArray();
+	        } catch (IOException e) {
+	            throw new RuntimeException(e);
+	        }
+	    }
+
+	}
+
+
diff --git a/src/org/openmeetings/utils/image/ZipUtility.java b/src/org/openmeetings/utils/image/ZipUtility.java
new file mode 100644
index 0000000..82e9880
--- /dev/null
+++ b/src/org/openmeetings/utils/image/ZipUtility.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.image;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
+/**
+ * ZipUtility.java
+ * @author benbac
+ */
+
+public class ZipUtility {
+
+    @SuppressWarnings("unchecked")
+	public static <T> T byteArraytoObject(byte[] data) throws Exception {       
+        ByteArrayInputStream bais = new ByteArrayInputStream(data);              
+        ObjectInputStream ois = new ObjectInputStream(bais);
+        ois.close();
+        bais.close();        
+        return (T)ois.readObject();                
+     }     
+    
+    public static byte[] objecttoByteArray(Object obj) throws IOException {
+        ByteArrayOutputStream bos = new ByteArrayOutputStream();
+        ObjectOutputStream oos = new ObjectOutputStream(bos);
+        oos.writeObject(obj);
+        oos.flush();
+        oos.close();
+        bos.close();
+        return bos.toByteArray();
+    }            
+}
diff --git a/src/org/openmeetings/utils/mail/ByteArrayDataSource.java b/src/org/openmeetings/utils/mail/ByteArrayDataSource.java
new file mode 100644
index 0000000..85e1e28
--- /dev/null
+++ b/src/org/openmeetings/utils/mail/ByteArrayDataSource.java
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.mail;
+
+import java.io.*;
+import javax.activation.*;
+
+public class ByteArrayDataSource implements DataSource {
+	private byte[] data; // data
+
+	private String type; // content-type
+
+	/* Create a DataSource from an input stream */
+	public ByteArrayDataSource(InputStream is, String type) {
+		this.type = type;
+		try {
+			ByteArrayOutputStream os = new ByteArrayOutputStream();
+			int ch;
+
+			while ((ch = is.read()) != -1)
+				os.write(ch);
+			data = os.toByteArray();
+			os.close();
+		} catch (IOException ioex) {
+		}
+	}
+
+	/* Create a DataSource from a byte array */
+	public ByteArrayDataSource(byte[] data, String type) {
+		this.data = data;
+		this.type = type;
+	}
+
+	/* Create a DataSource from a String */
+	public ByteArrayDataSource(String data, String type) {
+		try {
+			// Assumption that the string contains only ASCII
+			// characters! Otherwise just pass a charset into this
+			// constructor and use it in getBytes()
+			this.data = data.getBytes("utf-8");
+		} catch (UnsupportedEncodingException uex) {
+		}
+		this.type = type;
+	}
+
+	public InputStream getInputStream() throws IOException {
+		if (data == null)
+			throw new IOException("no data");
+		return new ByteArrayInputStream(data);
+	}
+
+	public OutputStream getOutputStream() throws IOException {
+		throw new IOException("cannot do this");
+	}
+
+	public String getContentType() {
+		return type;
+	}
+
+	public String getName() {
+		return "dummy";
+	}
+}
diff --git a/src/org/openmeetings/utils/mail/IcalHandler.java b/src/org/openmeetings/utils/mail/IcalHandler.java
new file mode 100644
index 0000000..7c46591
--- /dev/null
+++ b/src/org/openmeetings/utils/mail/IcalHandler.java
@@ -0,0 +1,254 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.mail;
+
+import java.io.ByteArrayOutputStream;
+import java.io.FileOutputStream;
+import java.net.URI;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Vector;
+
+import net.fortuna.ical4j.data.CalendarOutputter;
+import net.fortuna.ical4j.model.DateTime;
+import net.fortuna.ical4j.model.TimeZone;
+import net.fortuna.ical4j.model.TimeZoneRegistry;
+import net.fortuna.ical4j.model.TimeZoneRegistryFactory;
+import net.fortuna.ical4j.model.component.VEvent;
+import net.fortuna.ical4j.model.component.VTimeZone;
+import net.fortuna.ical4j.model.parameter.Cn;
+import net.fortuna.ical4j.model.parameter.Role;
+import net.fortuna.ical4j.model.property.Attendee;
+import net.fortuna.ical4j.model.property.CalScale;
+import net.fortuna.ical4j.model.property.Description;
+import net.fortuna.ical4j.model.property.Organizer;
+import net.fortuna.ical4j.model.property.ProdId;
+import net.fortuna.ical4j.model.property.Sequence;
+import net.fortuna.ical4j.model.property.Uid;
+import net.fortuna.ical4j.model.property.Version;
+import net.fortuna.ical4j.util.UidGenerator;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+/**
+ * 
+ * @author o.becherer, seba.wagner
+ * 
+ */
+public class IcalHandler {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			MailHandler.class, OpenmeetingsVariables.webAppRootKey);
+
+	/** ICal instance */
+	private final net.fortuna.ical4j.model.Calendar icsCalendar;
+
+	/** TimeZone */
+	// private TimeZone timeZone;
+	// private TimeZoneRegistry timeRegistry;
+
+	/** Creation of a new Event */
+	public final static String ICAL_METHOD_REQUEST = "REQUEST";
+	public final static String ICAL_METHOD_CANCEL = "CANCEL";
+	public final static String ICAL_METHOD_REFRESH = "REFRESH";
+
+	/**
+	 * Konstruktor with DefaultTimeZone
+	 * 
+	 * @param methodType
+	 *            (@see IcalHandler Constants)
+	 * @throws Exception
+	 */
+	public IcalHandler(String methodType) {
+		log.debug("Icalhandler method type : " + methodType);
+		
+		icsCalendar = new net.fortuna.ical4j.model.Calendar();
+
+		icsCalendar.getProperties().add(
+				new ProdId("-//Events Calendar//iCal4j 1.0//EN"));
+		icsCalendar.getProperties().add(CalScale.GREGORIAN);
+		icsCalendar.getProperties().add(Version.VERSION_2_0);
+		
+		// Switch Method Type
+		// we comment out the Method type for now: The event type needs an organizer
+		// set, actually this leads to errors in displaying the email as iCal invitation
+		// in gmail, so we removed it for now. issue 1563
+//		if (methodType.equals(ICAL_METHOD_REFRESH))
+//			icsCalendar.getProperties().add(Method.REFRESH);
+//		else if (methodType.equals(ICAL_METHOD_CANCEL))
+//			icsCalendar.getProperties().add(Method.CANCEL);
+//		else
+//			icsCalendar.getProperties().add(Method.REQUEST);
+
+	}
+
+	/**
+	 * 
+	 * @param startDate
+	 *            use standard TimeZone!!
+	 * @param endDate
+	 *            use standard time zone!!
+	 * @param name
+	 *            meeting name
+	 * @param attendees
+	 *            List of attendees (use getAttendeeData to retrieve valid
+	 *            records)
+	 * @param description
+	 *            containing the meeting description
+	 * @param uid
+	 *            (maybe null)
+	 * @return UID of Meeting
+	 */
+	// ---------------------------------------------------------------------------------------
+	public String addNewMeeting(Date startDate,
+			Date endDate, String name,
+			Vector<HashMap<String, String>> attendees, String description,
+			HashMap<String, String> organizer, String uid, java.util.TimeZone normalTimeZone)
+			throws Exception {
+
+		TimeZoneRegistry registry = TimeZoneRegistryFactory.getInstance()
+				.createRegistry();
+		
+		TimeZone timeZone = registry.getTimeZone(normalTimeZone.getID());
+
+		DateTime start = new DateTime(startDate);
+		start.setTimeZone(timeZone);
+		DateTime end = new DateTime(endDate);
+		end.setTimeZone(timeZone);
+		
+		VEvent meeting = new VEvent(start, end, name);
+
+		// add timezone info..
+		VTimeZone tz = timeZone.getVTimeZone();
+
+		meeting.getProperties().add(tz.getTimeZoneId());
+
+		meeting.getProperties().add(new Description(description));
+
+		meeting.getProperties().add(new Sequence(1));
+
+		// generate unique identifier (if not submitted)
+		Uid ui = null;
+		if (uid == null || uid.length() < 1) {
+			ui = new UidGenerator("uidGen").generateUid();
+			log.debug("Generating Meeting UID : " + ui.getValue());
+		} else {
+			ui = new Uid(uid);
+			log.debug("Using Meeting UID : " + ui.getValue());
+		}
+
+		meeting.getProperties().add(ui);
+
+		for (int i = 0; i < attendees.size(); i++) {
+			HashMap<String, String> oneAtt = attendees.get(i);
+
+			Attendee uno = new Attendee(URI.create(oneAtt.get("uri")));
+
+			String chair = oneAtt.get("chair");
+
+			if (chair.equals("0"))
+				uno.getParameters().add(Role.REQ_PARTICIPANT);
+			else
+				uno.getParameters().add(Role.CHAIR);
+
+			uno.getParameters().add(new Cn(oneAtt.get("cn")));
+			meeting.getProperties().add(uno);
+		}
+
+		Organizer orger = new Organizer(URI.create(organizer.get("uri")));
+		orger.getParameters().add(new Cn(organizer.get("cn")));
+
+		meeting.getProperties().add(orger);
+
+		icsCalendar.getComponents().add(meeting);
+
+		return ui.getValue();
+
+	}
+
+	// ---------------------------------------------------------------------------------------
+
+	/**
+	 * Use this function to build a valid record for the AttendeeList for
+	 * addMeetings Generate a Attendee
+	 */
+	// ------------------------------------------------------------------------------------------
+	public HashMap<String, String> getAttendeeData(String emailAdress,
+			String displayName, Boolean chair) {
+
+		HashMap<String, String> oneRecord = new HashMap<String, String>();
+		oneRecord.put("uri", "mailto:" + emailAdress);
+		oneRecord.put("cn", displayName);
+
+		if (chair)
+			oneRecord.put("chair", "1");
+		else
+			oneRecord.put("chair", "0");
+
+		return oneRecord;
+
+	}
+
+	// ------------------------------------------------------------------------------------------
+
+	/**
+	 * Write iCal to File
+	 */
+	// ------------------------------------------------------------------------------------------
+	public void writeDataToFile(String filerPath) throws Exception {
+
+		if (!filerPath.endsWith(".ics"))
+			filerPath = filerPath + ".ics";
+
+		FileOutputStream fout = new FileOutputStream(filerPath);
+
+		CalendarOutputter outputter = new CalendarOutputter();
+		outputter.output(icsCalendar, fout);
+
+	}
+
+	// ------------------------------------------------------------------------------------------
+
+	/**
+	 * Get IcalBody as ByteArray
+	 */
+	// ------------------------------------------------------------------------------------------
+	public byte[] getIcalAsByteArray() throws Exception {
+
+		ByteArrayOutputStream bout = new ByteArrayOutputStream();
+		CalendarOutputter outputter = new CalendarOutputter();
+		outputter.output(icsCalendar, bout);
+		return bout.toByteArray();
+
+	}
+
+	// ------------------------------------------------------------------------------------------
+
+	/**
+	 * Retrieving Data as String
+	 */
+	// ------------------------------------------------------------------------------------------
+	public String getICalDataAsString() {
+		return icsCalendar.toString();
+	}
+	// ------------------------------------------------------------------------------------------
+
+}
diff --git a/src/org/openmeetings/utils/mail/MailHandler.java b/src/org/openmeetings/utils/mail/MailHandler.java
new file mode 100644
index 0000000..aaceacb
--- /dev/null
+++ b/src/org/openmeetings/utils/mail/MailHandler.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.mail;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 
+ * @author swagner
+ * 
+ */
+public class MailHandler {
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			MailHandler.class, OpenmeetingsVariables.webAppRootKey);
+	
+	@Autowired
+	private MailThread mailThread;
+
+	/**
+	 * send mail to address
+	 * 
+	 * @param toEmail
+	 * @param subj
+	 * @param message
+	 * @return "success" or "Error: err description"
+	 */
+	public String sendMail(String toEmail, String subj, String message) {
+		return sendMail(toEmail, null, subj, message);
+	}
+	
+	/**
+	 * send mail to address
+	 * 
+	 * @param toEmail
+	 * @param replyTo
+	 * @param subj
+	 * @param message
+	 * @return "success" or "Error: err description"
+	 */
+	public String sendMail(String toEmail, String replyTo, String subj, String message) {
+		try {
+			mailThread.doSend(toEmail, replyTo, subj, message);
+
+			return "success";
+
+		} catch (Exception ex) {
+			log.error("[sendMail] ", ex);
+			return "Error: " + ex;
+		}
+	}
+}
diff --git a/src/org/openmeetings/utils/mail/MailThread.java b/src/org/openmeetings/utils/mail/MailThread.java
new file mode 100644
index 0000000..5a7c0b1
--- /dev/null
+++ b/src/org/openmeetings/utils/mail/MailThread.java
@@ -0,0 +1,165 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.mail;
+
+import java.util.Date;
+import java.util.Properties;
+
+import javax.activation.DataHandler;
+import javax.mail.Message;
+import javax.mail.Session;
+import javax.mail.Transport;
+import javax.mail.internet.InternetAddress;
+import javax.mail.internet.MimeMessage;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.task.TaskExecutor;
+
+public class MailThread {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			MailHandler.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	protected Configurationmanagement cfgManagement;
+	@Autowired
+	protected TaskExecutor taskExecutor;
+
+	public void doSend(String to, String subject, String body) {
+		doSend(to, null, subject, body);
+	}
+
+	public void doSend(String to, String replyTo, String subject, String body) {
+		taskExecutor.execute(new MailSenderTask(to, replyTo, subject, body));
+	}
+
+	protected class MailSenderTask implements Runnable {
+
+		private final String recipients;
+		private final String replyTo;
+		private final String subject;
+		private final String body;
+
+		public MailSenderTask(String recipients, String replyTo, String subject, String body) {
+			this.recipients = recipients;
+			this.replyTo = replyTo;
+			this.subject = subject;
+			this.body = body;
+		}
+
+		public void run() {
+			this.send();
+		}
+
+		protected MimeMessage getMessage() throws Exception {
+			log.debug("getMessage");
+
+			// Evaluating Configuration Data
+			String smtpServer = cfgManagement.getConfValue("smtp_server", String.class, null);
+			String smtpPort = cfgManagement.getConfValue("smtp_port", String.class, "25");
+			String from = cfgManagement.getConfValue("system_email_addr", String.class, null);
+			String mailAuthUser = cfgManagement.getConfValue("email_username", String.class, null);
+			String mailAuthPass = cfgManagement.getConfValue("email_userpass", String.class, null);
+
+			Properties props = System.getProperties();
+
+			props.put("mail.smtp.host", smtpServer);
+			props.put("mail.smtp.port", smtpPort);
+
+			if ("1".equals(cfgManagement.getConfValue("mail.smtp.starttls.enable", String.class, "0"))) {
+				props.put("mail.smtp.starttls.enable", "true");
+			}
+
+			// Check for Authentication
+			Session session = null;
+			if (mailAuthUser != null && mailAuthUser.length() > 0
+					&& mailAuthPass != null && mailAuthPass.length() > 0) {
+				// use SMTP Authentication
+				props.put("mail.smtp.auth", "true");
+				session = Session.getDefaultInstance(props,
+						new SmtpAuthenticator(mailAuthUser, mailAuthPass));
+			} else {
+				// not use SMTP Authentication
+				session = Session.getDefaultInstance(props, null);
+			}
+
+			// Building MimeMessage
+			MimeMessage msg = new MimeMessage(session);
+			msg.setSubject(subject);
+			msg.setFrom(new InternetAddress(from));
+			if (replyTo != null && "1".equals(cfgManagement.getConfValue("inviter.email.as.replyto", String.class, "1"))) {
+				log.debug("setReplyTo "+replyTo);
+				if (MailUtil.matches(replyTo)) {
+					msg.setReplyTo(new InternetAddress[]{new InternetAddress(replyTo)});
+				}
+			}
+			msg.addRecipients(Message.RecipientType.TO,
+					InternetAddress.parse(recipients, false));
+			
+			return msg;
+		}
+		
+		protected MimeMessage setMessageBody(MimeMessage msg) throws Exception {
+			// -- Set the subject and body text --
+			msg.setDataHandler(new DataHandler(new ByteArrayDataSource(
+					body, "text/html; charset=\"utf-8\"")));
+
+			// -- Set some other header information --
+			msg.setHeader("X-Mailer", "XML-Mail");
+			msg.setSentDate(new Date());
+			
+			return msg;
+		}
+		/**
+		 * Sending a mail with given values.<br>
+		 * If the parameter "emailUsername" and "emailUserpass" is exist, use
+		 * SMTP Authentication.
+		 * 
+		 * @param smtpServer
+		 * @param to
+		 * @param from
+		 * @param subject
+		 * @param body
+		 * @param emailUsername
+		 * @param emailUserpass
+		 * @return
+		 */
+		public String send() {
+			try {
+				log.debug("Message sending in progress");
+				log.debug("  To: " + recipients);
+				log.debug("  Subject: " + subject);
+
+				// -- Send the message --
+				Transport.send(setMessageBody(getMessage()));
+
+				return "success";
+			} catch (Exception ex) {
+				log.error("[mail send] ", ex);
+				return "Error" + ex;
+			}
+		}
+
+	}
+
+}
diff --git a/src/org/openmeetings/utils/mail/MailUtil.java b/src/org/openmeetings/utils/mail/MailUtil.java
new file mode 100644
index 0000000..001ad2d
--- /dev/null
+++ b/src/org/openmeetings/utils/mail/MailUtil.java
@@ -0,0 +1,32 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements.  See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership.  The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the

+ * "License") +  you may not use this file except in compliance

+ * with the License.  You may obtain a copy of the License at

+ *

+ *   http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing,

+ * software distributed under the License is distributed on an

+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+ * KIND, either express or implied.  See the License for the

+ * specific language governing permissions and limitations

+ * under the License.

+ */

+package org.openmeetings.utils.mail;

+

+import java.util.regex.Pattern;

+

+public class MailUtil {

+	

+	private static final Pattern rfc2822 = Pattern.compile(

+	        "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$"

+	);

+	

+	public static boolean matches(String email) {

+		return rfc2822.matcher(email).matches();

+	}

+}

diff --git a/src/org/openmeetings/utils/mail/MailiCalThread.java b/src/org/openmeetings/utils/mail/MailiCalThread.java
new file mode 100644
index 0000000..048fd2c
--- /dev/null
+++ b/src/org/openmeetings/utils/mail/MailiCalThread.java
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.mail;
+
+import java.io.ByteArrayInputStream;
+
+import javax.activation.DataHandler;
+import javax.mail.BodyPart;
+import javax.mail.Multipart;
+import javax.mail.internet.MimeBodyPart;
+import javax.mail.internet.MimeMessage;
+import javax.mail.internet.MimeMultipart;
+import javax.mail.util.ByteArrayDataSource;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+public class MailiCalThread extends MailThread {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			MailiCalThread.class, OpenmeetingsVariables.webAppRootKey);
+
+	public void doSend(String recipients, String replyTo, String subject, byte[] iCalMimeBody,
+			String htmlBody) {
+		taskExecutor.execute(new MailSenderTask(recipients, replyTo, subject,
+				iCalMimeBody, htmlBody));
+
+	}
+
+	protected class MailSenderTask extends MailThread.MailSenderTask {
+		private final byte[] iCalMimeBody;
+		private final String htmlBody;
+
+		public MailSenderTask(String recipients, String replyTo, String subject,
+				byte[] iCalMimeBody, String htmlBody) {
+			super(recipients, replyTo, subject, null);
+			this.iCalMimeBody = iCalMimeBody;
+			this.htmlBody = htmlBody;
+		}
+
+		@Override
+		protected MimeMessage setMessageBody(MimeMessage msg) throws Exception {
+			log.debug("setMessageBody for iCal message");
+			// -- Create a new message --
+			Multipart multipart = new MimeMultipart();
+
+			BodyPart html = new MimeBodyPart();
+			html.setDataHandler(new DataHandler(new ByteArrayDataSource(
+					htmlBody, "text/html; charset=\"utf-8\"")));
+
+			BodyPart iCalAttachment = new MimeBodyPart();
+			iCalAttachment.setDataHandler(new DataHandler(
+					new ByteArrayDataSource(
+							new ByteArrayInputStream(iCalMimeBody),
+							"text/calendar;method=REQUEST;charset=\"UTF-8\"")));
+			iCalAttachment.setFileName("invite.ics");
+
+			multipart.addBodyPart(html);
+			multipart.addBodyPart(iCalAttachment);
+
+			msg.setContent(multipart);
+			return msg;
+		}
+	}
+}
diff --git a/src/org/openmeetings/utils/mail/SmtpAuthenticator.java b/src/org/openmeetings/utils/mail/SmtpAuthenticator.java
new file mode 100644
index 0000000..3b6becf
--- /dev/null
+++ b/src/org/openmeetings/utils/mail/SmtpAuthenticator.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.mail;
+
+import javax.mail.Authenticator;
+import javax.mail.PasswordAuthentication;
+
+/**
+ * 
+ * @author swagner
+ * 
+ */
+public class SmtpAuthenticator extends Authenticator {
+
+	private final String username;
+	private final String password;
+
+	public SmtpAuthenticator(String emailUsername, String emailUserpass) {
+		this.username = emailUsername;
+		this.password = emailUserpass;
+	}
+
+	@Override
+	public PasswordAuthentication getPasswordAuthentication() {
+
+		return new PasswordAuthentication(username, password);
+	}
+
+}
diff --git a/src/org/openmeetings/utils/mappings/CastBasicTypes.java b/src/org/openmeetings/utils/mappings/CastBasicTypes.java
new file mode 100644
index 0000000..84ee575
--- /dev/null
+++ b/src/org/openmeetings/utils/mappings/CastBasicTypes.java
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.mappings;
+
+import java.util.LinkedList;
+
+
+public class CastBasicTypes {
+
+	/**
+	 * Returns all allowed Types which can be mapped directly to fields
+	 * @return
+	 */
+	public static synchronized LinkedList<String> getCompareTypesSimple() {
+		LinkedList<String> typeList = new LinkedList<String>();
+		
+		//Primitives
+		typeList.add("String");
+		typeList.add("byte");
+		typeList.add("int");
+		typeList.add("boolean");
+		typeList.add("float");
+		typeList.add("long");
+		typeList.add("double");
+		
+		
+		//Object
+		typeList.add("java.lang.String");
+		typeList.add("java.lang.Number");
+		typeList.add("java.lang.Byte");
+		typeList.add("java.lang.Integer");
+		typeList.add("java.lang.Boolean");
+		typeList.add("java.lang.Float");
+		typeList.add("java.lang.Long");
+		typeList.add("java.lang.Double");
+		typeList.add("java.util.Date");
+		
+		return typeList;
+	}
+	
+	/**
+	 * Returns the List-Types which can be mapped to Objects
+	 * @return
+	 */
+	public static synchronized LinkedList<String> getAllowedListTypes(){
+		LinkedList<String> typeList = new LinkedList<String>();
+		typeList.add("java.util.LinkedHashMap");
+		typeList.add("java.util.HashMap");
+		typeList.add("java.util.Map");
+		typeList.add("org.red5.io.utils.ObjectMap");
+		return typeList;
+	}
+	
+	/**
+	 * Returns the List-Types which won't be mapped
+	 * LinkedHashSet is the type of Object if the Client send an Array with numeric index
+	 * this kind of List cannot be mapped to an Object as it is not clear which field 
+	 * is equivalent to which index-number
+	 * @return
+	 */
+	public static synchronized LinkedList<String> getForbiddenListTypes(){
+		LinkedList<String> typeList = new LinkedList<String>();
+		typeList.add("java.util.LinkedHashSet");
+		return typeList;
+	}	
+	
+}
diff --git a/src/org/openmeetings/utils/mappings/CastMapToObject.java b/src/org/openmeetings/utils/mappings/CastMapToObject.java
new file mode 100644
index 0000000..477497e
--- /dev/null
+++ b/src/org/openmeetings/utils/mappings/CastMapToObject.java
@@ -0,0 +1,292 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.mappings;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+/**
+ * Class to cast any LinkedHashMap to its JavaBean repraesentant
+ * the idiom is that the attribute name in the LinkedHashMap is the same as in the JavaBean/Pojo
+ * 
+ * if the attribute's of the Bean are private (meaning it IS a Bean) then it will use the getters and setters
+ * if the attribute's are public it will assign directly
+ * if the attribute is final it will show an error in log
+ * 
+ * if the HashMap contains an null for a primitive attribute it will not assign that value
+ * 
+ * if the HashMap contains subelments nested as LinkedHashMap's it will add these Sub-Elements to the Main-Object
+ * for an exmaple see:
+ * http://openmeetings.googlecode.com/svn/branches/dev/xmlcrm/java/src/test/org/xmlcrm/utils/TestReflectionApi.java
+ * 
+ * TODO:
+ * If the Sub Item is not an Object but a Set (meaning a List of Object) this List must be 
+ * cast to Objects of the Bean too
+ * 
+ * @author swagner
+ * 
+ *
+ */
+
+public class CastMapToObject {
+	
+	private static final Logger log = Red5LoggerFactory.getLogger(CastMapToObject.class, OpenmeetingsVariables.webAppRootKey);
+	
+	private CastMapToObject() {}
+
+	private static CastMapToObject instance = null;
+
+	public static synchronized CastMapToObject getInstance() {
+		if (instance == null) {
+			instance = new CastMapToObject();
+		}
+		return instance;
+	}	
+	
+	public Object castByGivenObject(Map<String, ?> values, Class<?> targetClass){
+		try {
+//			if (valuesObj.getClass().getClass().getName().equals(ObjectMap.class.getName())){
+//				ObjectMap values = (ObjectMap) valuesObj;
+//			} else if (valuesObj.getClass().getClass().getName().equals(LinkedHashMap.class.getName())){
+//				LinkedHashMap values = (LinkedHashMap) valuesObj;
+//			}
+			Object returnObject = targetClass.newInstance();
+//			log.error("returnObject");
+//			log.error(returnObject);
+//			log.error( "class " + targetClass.getName() ); 
+//			log.error (" number of declared fields: " + targetClass.getDeclaredFields().length );
+			LinkedHashMap<String,LinkedHashMap<String,Object>> structuredMethodMap = StructureMethodList.getInstance().parseClassToMethodList(targetClass);
+			
+			for ( Field anyField : targetClass.getDeclaredFields() )  { 
+				String fieldName = anyField.getName(); 
+				Class<?> fieldType = anyField.getType();
+				String fieldTypeName = anyField.getType().getName(); 
+
+				if (this.compareTypeNameToBasicTypes(fieldTypeName)) {
+					//log.info("Found Type: " + fieldName);
+					//Get value from  set 
+					Object t = values.get(fieldName);
+					//log.info("fieldName Value: "+t);
+					//log.info("fieldName Value: "+anyField.getModifiers());
+					int mod = anyField.getModifiers();
+					
+					if (Modifier.isPrivate(mod) && !Modifier.isFinal(mod)){
+						
+						//log.info("is private so get setter method "+fieldName);
+						LinkedHashMap<String,Object> methodSummery = structuredMethodMap.get(fieldName);
+						
+						if (methodSummery!=null) {
+							if (methodSummery.get("setter")!=null) {
+	
+								String methodSetterName = methodSummery.get("setter").toString();
+								Class<?>[] paramTypes = (Class[]) methodSummery.get("setterParamTypes");
+								Method m = targetClass.getMethod(methodSetterName, paramTypes);
+								
+								Class<?> paramType = paramTypes[0];
+								
+								//try to cast the Given Object to the necessary Object
+								if (t!=null && !paramType.getName().equals(t.getClass().getName())){
+									for (Constructor<?> crt : paramType.getConstructors()) {
+										if (crt.getParameterTypes()[0].getName().equals("java.lang.String")){
+											t = crt.newInstance(t.toString());	
+										}
+									}
+								}
+								if (paramType.isPrimitive() && t==null){
+									//cannot cast null to primitve
+								} else {
+									Object[] arguments = new Object[]{ t }; 
+									m.invoke(returnObject,arguments);
+								}
+							
+							} else {
+								log.error("could not find a setter-method from Structured table. Is there a setter-method for " + fieldName + " in Class " + targetClass.getName());
+							}
+						} else {
+							log.error("could not find a method from Structured table. Is there a method for " + fieldName + " in Class " + targetClass.getName());
+						}
+						
+					} else if (Modifier.isPublic(mod) && !Modifier.isFinal(mod)){
+						if (t!=null && !anyField.getType().getName().equals(t.getClass().getName())){
+							for (Constructor<?> crt : anyField.getType().getConstructors()) {
+								if (crt.getParameterTypes()[0].getName().equals("java.lang.String")){
+									t = crt.newInstance(t.toString());
+								}
+							}
+
+							//Is public attribute so set it directly
+							anyField.set(returnObject, t);
+						}
+						
+					} else if (Modifier.isFinal(mod)) {
+						log.error("Final attributes cannot be changed ");
+					} else {
+						log.error("Unhandled Modifier Type: " + mod);
+					}
+					
+				} else {
+					
+					//This will cast nested Object to the current Object
+					//it does not matter how deep it is nested
+					
+//					log.error("fieldType "+fieldType.getName());
+					
+					//Check if the Attribute in the bean is a List
+					if (fieldType.getName().equals("java.util.Set")) {
+						
+						//Todo: Cast Set to Object
+						
+//						log.error("compareBeanTypeToAllowedListTypes true " + fieldType.getName());
+//						log.error("compareBeanTypeToAllowedListTypes true " + fieldName);
+						
+						Object valueOfHashMap = values.get(fieldName);
+						
+						if (valueOfHashMap!=null){
+//							log.error("compareBeanTypeToAllowedListTypes true " + valueOfHashMap.getClass().getName());
+							String valueTypeOfHashMap = valueOfHashMap.getClass().getName();
+							
+							if (this.compareTypeNameToAllowedListTypes(valueTypeOfHashMap)) {
+								Map<?, ?> m = (Map<?, ?>) valueOfHashMap;
+								for (Iterator<?> it = m.keySet().iterator();it.hasNext();) {
+									String key = it.next().toString();
+//									log.error("key: "+key);
+									@SuppressWarnings("unused")
+									Object listObject = m.get(key);
+//									log.error("listObject: "+listObject);
+//									log.error("listObject: "+listObject.getClass().getName());
+									
+								}
+								
+							}
+						}
+						
+					//otherwise do it as Object
+					} else {
+						
+//						log.error("otherwise do it as Object "+fieldType.getName());
+					
+						Object valueOfHashMap = values.get(fieldName);
+						if (valueOfHashMap!=null){
+							String valueTypeOfHashMap = valueOfHashMap.getClass().getName();
+							
+							if (this.compareTypeNameToAllowedListTypes(valueTypeOfHashMap)) {
+								
+								log.error(valueTypeOfHashMap);
+								log.error(fieldType.getName());
+								
+								//Get value from  set 
+								@SuppressWarnings("unchecked")
+								Object t = this.castByGivenObject((Map<String, ?>)valueOfHashMap, fieldType);
+								int mod = anyField.getModifiers();
+								
+								if (Modifier.isPrivate(mod) && !Modifier.isFinal(mod)){
+									
+									//log.info("is private so get setter method "+fieldName);
+									LinkedHashMap<String,Object> methodSummery = structuredMethodMap.get(fieldName);
+									
+									if (methodSummery!=null) {
+										if (methodSummery.get("setter")!=null) {
+				
+											String methodSetterName = methodSummery.get("setter").toString();
+											Class<?>[] paramTypes = (Class[]) methodSummery.get("setterParamTypes");
+											Method m = targetClass.getMethod(methodSetterName, paramTypes);
+											
+											Class<?> paramType = paramTypes[0];
+											//log.error("paramType: "+paramType.getName());
+											if (paramType.isPrimitive() && t==null){
+												//cannot cast null to primitve
+											} else {
+												Object[] arguments = new Object[]{ t }; 
+												m.invoke(returnObject,arguments);
+											}
+										
+										} else {
+											log.error("could not find a setter-method from Structured table. Is there a setter-method for " + fieldName + " in Class " + targetClass.getName());
+										}
+									} else {
+										log.error("could not find a method from Structured table. Is there a method for " + fieldName + " in Class " + targetClass.getName());
+									}
+								} else if (Modifier.isPublic(mod) && !Modifier.isFinal(mod)){
+									
+									//Is public attribute so set it directly
+									anyField.set(returnObject, t);
+									
+								} else if (Modifier.isFinal(mod)) {
+									log.error("Final attributes cannot be changed ");
+								} else {
+									log.error("Unhandled Modifier Type: " + mod);
+								}
+								
+							}
+						} else {
+							//There is no nested Object for that given
+							log.error("There is no nested Object for that given: Attribute: " + fieldName + " Class " + targetClass.getName());
+						}
+					}
+					
+				} 
+				
+				
+			} 
+
+			return returnObject;
+		} catch (Exception ex) {
+			log.error("[castByGivenObject]: " ,ex);
+		}
+		return null;
+	}
+	
+	private boolean compareTypeNameToBasicTypes(String fieldTypeName) {
+		try {
+			
+			for (Iterator<String> it = CastBasicTypes.getCompareTypesSimple().iterator();it.hasNext();) {
+				if (fieldTypeName.equals(it.next())) return true;
+			}
+			
+			return false;
+		} catch (Exception ex) {
+			log.error("[compareTypeNameToBasicTypes]",ex);
+			return false;
+		}
+	}
+	
+	private boolean compareTypeNameToAllowedListTypes(String fieldTypeName) {
+		try {
+			//log.error("compareTypeNameToAllowedListTypes"+ fieldTypeName);
+			for (Iterator<String> it = CastBasicTypes.getAllowedListTypes().iterator();it.hasNext();) {
+				if (fieldTypeName.equals(it.next())) return true;
+			}
+			
+			return false;
+		} catch (Exception ex) {
+			log.error("[compareTypeNameToBasicTypes]",ex);
+			return false;
+		}
+	}
+
+}
diff --git a/src/org/openmeetings/utils/mappings/StructureMethodList.java b/src/org/openmeetings/utils/mappings/StructureMethodList.java
new file mode 100644
index 0000000..1f8948b
--- /dev/null
+++ b/src/org/openmeetings/utils/mappings/StructureMethodList.java
@@ -0,0 +1,113 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.mappings;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.LinkedHashMap;
+
+import org.apache.commons.lang.StringUtils;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+public class StructureMethodList {
+	
+	private static final Logger log = Red5LoggerFactory.getLogger(StructureMethodList.class, OpenmeetingsVariables.webAppRootKey);
+	
+	private StructureMethodList() {}
+
+	private static StructureMethodList instance = null;
+
+	public static synchronized StructureMethodList getInstance() {
+		if (instance == null) {
+			instance = new StructureMethodList();
+		}
+		return instance;
+	}	
+	
+	/*
+	 * 
+	 */
+
+	public LinkedHashMap<String,LinkedHashMap<String,Object>> parseClassToMethodList(Class<?> targetClass){
+		try {
+			LinkedHashMap<String,LinkedHashMap<String,Object>> returnMap = new LinkedHashMap<String,LinkedHashMap<String,Object>>();
+			
+			for (Field field : targetClass.getDeclaredFields()) {
+				String fieldName = field.getName();
+				String capitalizedFieldName = StringUtils.capitalize(fieldName);
+				String setterPre = "set";
+				
+				for (Method method : targetClass.getMethods()) {
+					// check that method is declared in current class. 
+					if(method.getName().equals(setterPre + capitalizedFieldName)){
+						String methodName = method.getName();
+						
+						Class<?>[] paramTypes = method.getParameterTypes();
+						//log.error("parseClassToMethodList methodName: "+methodName);
+						if (methodName.startsWith("set")) {
+							//Found setter get Attribute name
+							if (returnMap.get(fieldName)!=null) {
+								LinkedHashMap<String,Object> methodListMap = returnMap.get(fieldName);
+								methodListMap.put("setter", methodName);
+								methodListMap.put("setterParamTypes", paramTypes);
+							} else {
+								LinkedHashMap<String,Object> methodListMap = new LinkedHashMap<String,Object>();
+								methodListMap.put("setter", methodName);
+								returnMap.put(fieldName, methodListMap);
+								methodListMap.put("setterParamTypes", paramTypes);
+							}
+						} else if (methodName.startsWith("is")) {
+							//Found setter(boolean) get Attribute name
+							if (returnMap.get(fieldName)!=null) {
+								LinkedHashMap<String,Object> methodListMap = returnMap.get(fieldName);
+								methodListMap.put("getter", methodName);
+							} else {
+								LinkedHashMap<String,Object> methodListMap = new LinkedHashMap<String,Object>();
+								methodListMap.put("getter", methodName);
+								returnMap.put(fieldName, methodListMap);
+							}
+						} else if (methodName.startsWith("get")) {
+							//Found setter(boolean) get Attribute name
+							if (returnMap.get(fieldName)!=null) {
+								LinkedHashMap<String,Object> methodListMap = returnMap.get(fieldName);
+								methodListMap.put("getter", methodName);
+							} else {
+								LinkedHashMap<String,Object> methodListMap = new LinkedHashMap<String,Object>();
+								methodListMap.put("getter", methodName);
+								returnMap.put(fieldName, methodListMap);
+							}
+						}
+						break;
+					}
+				}
+				
+				
+			}			
+			
+			return returnMap;
+		} catch (Exception ex) {
+			log.error("[parseClassToMethodList]",ex);
+			return new LinkedHashMap<String,LinkedHashMap<String,Object>>();
+		}
+		
+	}
+	
+}
diff --git a/src/org/openmeetings/utils/math/AuthCryptInterface.java b/src/org/openmeetings/utils/math/AuthCryptInterface.java
new file mode 100644
index 0000000..53f9175
--- /dev/null
+++ b/src/org/openmeetings/utils/math/AuthCryptInterface.java
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.math;
+
+public interface AuthCryptInterface {
+	
+	public String do_checksum(String data);
+
+}
diff --git a/src/org/openmeetings/utils/math/CalendarPatterns.java b/src/org/openmeetings/utils/math/CalendarPatterns.java
new file mode 100644
index 0000000..af20430
--- /dev/null
+++ b/src/org/openmeetings/utils/math/CalendarPatterns.java
@@ -0,0 +1,225 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.math;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.TimeZone;
+
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+/**
+ * @author Sebastian Wagner
+ * 27.08.2005 - 19:24:25
+ *
+ */
+public class CalendarPatterns {
+	
+	private static final Logger log = Red5LoggerFactory.getLogger(CalendarPatterns.class, "openmeetings");
+	
+	public static SimpleDateFormat dateFormat__ddMMyyyyHHmmss = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
+	public static SimpleDateFormat dateFormat__ddMMyyyy = new SimpleDateFormat("dd.MM.yyyy");
+	public static SimpleDateFormat dateFormat__ddMMyyyyBySeparator = new SimpleDateFormat("dd-MM-yyyy");
+    
+    public static String getDateByMiliSeconds(Date t){
+        SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
+        Date dateOld = new Date();
+        long timeAdv = t.getTime();
+        dateOld.setTime(timeAdv);
+        String result = sdf.format(dateOld);
+        return result;
+    }
+    
+    public static String getDateWithTimeByMiliSeconds(Date t){
+    	if (t == null) {
+    		return null;
+    	}
+        SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
+        Date dateOld = new Date();
+        long timeAdv = t.getTime();
+        dateOld.setTime(timeAdv);
+        String result = sdf.format(dateOld);
+        return result;
+    }
+    
+    public static String getDateWithTimeByMiliSeconds(Date t, TimeZone timezone){
+    	if (t == null) {
+    		return null;
+    	}
+        SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
+        sdf.setTimeZone(timezone);
+        Date dateOld = new Date();
+        long timeAdv = t.getTime();
+        dateOld.setTime(timeAdv);
+        String result = sdf.format(dateOld);
+        return result;
+    }
+    
+    public static String getDateWithTimeByMiliSecondsWithZone(Date t){
+    	if (t == null) {
+    		return null;
+    	}
+        SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss z (Z)");
+        Date dateOld = new Date();
+        long timeAdv = t.getTime();
+        dateOld.setTime(timeAdv);
+        String result = sdf.format(dateOld);
+        return result;
+    }
+    
+    public static String getExportDate(Date t){
+    	if (t == null) {
+    		return "";
+    	}
+        return ""+t.getTime();
+    }
+    
+    public static Date parseImportDate(String dateString) {
+    	try {
+    		
+    		Date resultDate = null;
+    		
+    		resultDate = validDate(dateFormat__ddMMyyyyHHmmss, dateString);
+    		
+    		if ( resultDate != null ) {
+    			return resultDate;
+    		}
+    		
+    		resultDate = validDate(dateFormat__ddMMyyyy, dateString);
+    		
+    		if ( resultDate != null ) {
+    			return resultDate;
+    		}
+    		
+    		resultDate = validDate(dateString);
+    		
+    		if (dateString != null) {
+    			return resultDate;
+    		}
+    		
+    		
+    		throw new Exception ("Could not parse date string "+dateString);
+    	} catch (Exception e) {
+    		log.error("parseDate",e);
+    	}
+    	return null;
+    }
+    
+    private static Date validDate(String testdate) {
+    	try {
+    		
+    		Long t = Long.valueOf(testdate);
+    		
+    		if (t != null) {
+    			return new Date(t);
+    		}
+    		
+    	} catch (Exception err) {
+    	}
+    	return null;
+    }
+    
+    private static Date validDate(SimpleDateFormat sdf, String testdate)
+    {
+        Date resultDate = null;
+        try
+        {
+        	resultDate = sdf.parse(testdate);
+        }
+
+        // if the format of the string provided doesn't match the format we 
+        // declared in SimpleDateFormat() we will get an exception
+
+        catch (java.text.ParseException e)
+        {
+          return null;
+        }
+
+        if (!sdf.format(resultDate).equals(testdate)) 
+        {
+          return null;
+        }
+        
+        return resultDate;
+
+    }
+    
+    public static String getDateWithTimeByMiliSecondsAndTimeZone(Date t, TimeZone timezone){
+    	if (t == null) {
+    		return null;
+    	}
+        SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss z (Z)");
+        sdf.setTimeZone(timezone);
+        Date dateOld = new Date();
+        long timeAdv = t.getTime();
+        dateOld.setTime(timeAdv);
+        String result = sdf.format(dateOld);
+        return result;
+    }
+    
+    public static String getTimeForStreamId(Date t){
+        SimpleDateFormat sdf = new SimpleDateFormat("dd_MM_yyyy_HH_mm_ss");
+        Date dateOld = new Date();
+        long timeAdv = t.getTime();
+        dateOld.setTime(timeAdv);
+        String result = sdf.format(dateOld);
+        return result;
+    }    
+    
+    public static Date parseDate(String dateString) {
+    	try {
+    		return dateFormat__ddMMyyyy.parse(dateString);
+    	} catch (Exception e) {
+    		log.error("parseDate",e);
+    	}
+    	return null;
+    }
+    
+    public static Date parseDateBySeparator(String dateString) {
+    	try {
+    		return dateFormat__ddMMyyyyBySeparator.parse(dateString);
+    	} catch (Exception e) {
+    		log.error("parseDate",e);
+    	}
+    	return null;
+    }
+    
+    public static Date parseDateWithHour(String dateString) {
+    	try {
+    		if (dateString == null || dateString.length()==0 || dateString.equals("null") ) {
+        		return null;
+        	}
+    		return dateFormat__ddMMyyyyHHmmss.parse(dateString);
+    	} catch (Exception e) {
+    		log.error("parseDate",e);
+    	}
+    	return null;
+    }
+
+	public static String getYear(Date t){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
+        Date dateOld = new Date();
+        long timeAdv = t.getTime();
+        dateOld.setTime(timeAdv);
+        String result = sdf.format(dateOld);
+        return result;
+    } 
+    
+}
diff --git a/src/org/openmeetings/utils/math/GenerateRandom.java b/src/org/openmeetings/utils/math/GenerateRandom.java
new file mode 100644
index 0000000..7ce378f
--- /dev/null
+++ b/src/org/openmeetings/utils/math/GenerateRandom.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.math;
+import java.util.*;
+
+public class GenerateRandom {
+    private static Random rn = new Random();
+    public static int rand(int lo, int hi) {
+            int n = hi - lo + 1;
+            int i = rn.nextInt() % n;
+            if (i < 0)
+                    i = -i;
+            return lo + i;
+    }
+    public static String randomstring(int lo, int hi) {
+            int n = rand(lo, hi);
+            byte b[] = new byte[n];
+            for (int i = 0; i < n; i++)
+                    b[i] = (byte)rand('a', 'z');
+            return new String(b, 0, n);
+    }
+}
diff --git a/src/org/openmeetings/utils/math/TimezoneUtil.java b/src/org/openmeetings/utils/math/TimezoneUtil.java
new file mode 100644
index 0000000..f0cc54b
--- /dev/null
+++ b/src/org/openmeetings/utils/math/TimezoneUtil.java
@@ -0,0 +1,208 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.math;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.TimeZone;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.Configurationmanagement;
+import org.openmeetings.app.data.basic.dao.OmTimeZoneDaoImpl;
+import org.openmeetings.app.persistence.beans.basic.Configuration;
+import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TimezoneUtil {
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			TimezoneUtil.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private Configurationmanagement cfgManagement;
+	@Autowired
+	private OmTimeZoneDaoImpl omTimeZoneDaoImpl;
+
+	/**
+	 * Returns the timezone based on the user profile, if not return the
+	 * timezone from the server
+	 * 
+	 * @param user
+	 * @return
+	 */
+	public TimeZone getTimezoneByUser(Users user) {
+
+		if (user != null && user.getOmTimeZone() != null) {
+
+			TimeZone timeZone = TimeZone.getTimeZone(user.getOmTimeZone()
+					.getIcal());
+
+			if (timeZone != null) {
+				return timeZone;
+			}
+
+		}
+
+		// if user has not time zone get one from the server configuration
+
+		Configuration conf = cfgManagement.getConfKey(3L, "default.timezone");
+
+		if (conf != null) {
+
+			OmTimeZone omTimeZone = omTimeZoneDaoImpl.getOmTimeZone(conf
+					.getConf_value());
+
+			TimeZone timeZoneByOmTimeZone = TimeZone.getTimeZone(omTimeZone
+					.getIcal());
+
+			if (timeZoneByOmTimeZone != null) {
+				return timeZoneByOmTimeZone;
+			}
+
+		}
+
+		// If everything fails take the servers default one
+		log.error("There is no correct time zone set in the configuration of OpenMeetings for the key default.timezone or key is missing in table, using default locale!");
+		return TimeZone.getDefault();
+	}
+
+	/**
+	 * Return the timezone based on our internal jName
+	 * 
+	 * @param jName
+	 * @return
+	 */
+	public TimeZone getTimezoneByInternalJName(String jName) {
+
+		OmTimeZone omTimeZone = omTimeZoneDaoImpl.getOmTimeZone(jName);
+		
+		if (omTimeZone == null) {
+			log.error("There is not omTimeZone for this jName: "+jName);
+			throw new RuntimeException("There is not omTimeZone for this jName: "+jName);
+		}
+
+		TimeZone timeZone = TimeZone.getTimeZone(omTimeZone.getIcal());
+
+		if (timeZone != null) {
+			return timeZone;
+		}
+
+		// if user has not time zone get one from the server configuration
+
+		Configuration conf = cfgManagement.getConfKey(3L, "default.timezone");
+
+		if (conf != null) {
+
+			OmTimeZone omTimeZoneDefault = omTimeZoneDaoImpl.getOmTimeZone(conf
+					.getConf_value());
+
+			TimeZone timeZoneByOmTimeZone = TimeZone
+					.getTimeZone(omTimeZoneDefault.getIcal());
+
+			if (timeZoneByOmTimeZone != null) {
+				return timeZoneByOmTimeZone;
+			}
+
+		}
+
+		// If everything fails take the servers default one
+		log.error("There is no correct time zone set in the configuration of OpenMeetings for the key default.timezone or key is missing in table, using default locale!");
+		return TimeZone.getDefault();
+	}
+
+	/**
+	 * Return the timezone based Id from omTimeZone table
+	 * 
+	 * @param jName
+	 * @return
+	 */
+	public TimeZone getTimezoneByOmTimeZoneId(Long omtimezoneId) {
+
+		OmTimeZone omTimeZone = omTimeZoneDaoImpl
+				.getOmTimeZoneById(omtimezoneId);
+
+		TimeZone timeZone = TimeZone.getTimeZone(omTimeZone.getIcal());
+
+		if (timeZone != null) {
+			return timeZone;
+		}
+
+		// if user has not time zone get one from the server configuration
+
+		Configuration conf = cfgManagement.getConfKey(3L, "default.timezone");
+
+		if (conf != null) {
+
+			OmTimeZone omTimeZoneDefault = omTimeZoneDaoImpl.getOmTimeZone(conf
+					.getConf_value());
+
+			TimeZone timeZoneByOmTimeZone = TimeZone
+					.getTimeZone(omTimeZoneDefault.getIcal());
+
+			if (timeZoneByOmTimeZone != null) {
+				return timeZoneByOmTimeZone;
+			}
+
+		}
+
+		// If everything fails take the servers default one
+		log.error("There is no correct time zone set in the configuration of OpenMeetings for the key default.timezone or key is missing in table, using default locale!");
+		return TimeZone.getDefault();
+	}
+	
+	/**
+	 * We ignore the fact that a Date Object is always in UTC internally and
+	 * treat it as if it contains only dd.mm.yyyy HH:mm:ss. We need to do this
+	 * cause we cannot trust the Date Object send from the client. We have the
+	 * timeZone information additional to the Date, so we use it to transform it
+	 * now to a Calendar Object.
+	 * 
+	 * @param dateTime
+	 * @param timezone
+	 * @return
+	 */
+	public static Calendar getCalendarInTimezone(String dateTimeStr,
+			TimeZone timezone) {
+		
+		Date dateTime = CalendarPatterns.parseImportDate(dateTimeStr);
+
+		Calendar calOrig = Calendar.getInstance();
+		calOrig.setTime(dateTime);
+
+		Calendar cal = Calendar.getInstance(timezone);
+		cal.set(Calendar.YEAR, calOrig.get(Calendar.YEAR));
+		cal.set(Calendar.MONTH, calOrig.get(Calendar.MONTH));
+		cal.set(Calendar.DATE, calOrig.get(Calendar.DATE));
+		cal.set(Calendar.HOUR_OF_DAY, calOrig.get(Calendar.HOUR_OF_DAY));
+		cal.set(Calendar.MINUTE, calOrig.get(Calendar.MINUTE));
+		cal.set(Calendar.SECOND, calOrig.get(Calendar.SECOND));
+
+		return cal;
+	}
+	
+	public static long _getOffset(TimeZone timezone) {
+		Calendar cal = Calendar.getInstance();
+		cal.setTimeZone(timezone);
+		return cal.get(Calendar.ZONE_OFFSET) + cal.get(Calendar.DST_OFFSET);
+	}
+
+}
diff --git a/src/org/openmeetings/utils/stringhandlers/ChatString.java b/src/org/openmeetings/utils/stringhandlers/ChatString.java
new file mode 100644
index 0000000..a963376
--- /dev/null
+++ b/src/org/openmeetings/utils/stringhandlers/ChatString.java
@@ -0,0 +1,251 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.stringhandlers;
+
+import java.text.CharacterIterator;
+import java.text.StringCharacterIterator;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.remote.red5.EmoticonsManager;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+public class ChatString {
+	
+	private static final Logger log = Red5LoggerFactory.getLogger(ChatString.class, OpenmeetingsVariables.webAppRootKey);
+	
+	private static ChatString instance = null;
+	
+	private ChatString() {}
+	
+	public static synchronized ChatString getInstance(){
+		if (instance == null){
+			instance = new ChatString();
+		}
+		return instance;
+	}
+	
+	public LinkedList<String[]> parseChatString(String message) {
+		try {
+			LinkedList<String[]> list = new LinkedList<String[]>();
+			
+			//log.debug("this.link(message) "+this.link(message));
+			
+			String[] messageStr = {"text",message};
+			list.add(messageStr);
+			
+			for (Iterator<LinkedList<String>> iter = EmoticonsManager.getEmotfilesList().iterator();iter.hasNext();){
+				LinkedList<String> emot = iter.next();
+				
+				//log.error("CHECK EMOT: "+ emot.get(0) + emot.get(1) + emot.size());
+				list = this.splitStr(list,emot.get(0), emot.get(1), emot.get(emot.size()-2));
+				
+				if (emot.size()>4) {
+					//log.error("CHECK EMOT ASIAN: "+ emot.get(0) + emot.get(2) + emot.size());
+					list = this.splitStr(list,emot.get(0), emot.get(2), emot.get(emot.size()-2));
+				}
+			}			
+			
+//			log.debug("#########  ");
+//			for (Iterator<String[]> iter = list.iterator();iter.hasNext();){
+//				String[] stringArray = iter.next();
+//				//stringArray[1] = this.link(stringArray[1]);
+//				log.debug(stringArray[0]+"||"+stringArray[1]);
+//			}			
+			
+			return list;
+			
+		} catch (Exception err) {
+			log.error("[parseChatString]",err);
+		}
+		return null;
+	}
+	
+
+	
+	private LinkedList<String[]> splitStr (LinkedList<String[]> list, String image, String regexp, String spaces){
+		
+		LinkedList<String[]> newList = new LinkedList<String[]>();
+		
+		for (Iterator<String[]> iter = list.iterator();iter.hasNext();){
+			
+			String[] messageObj = iter.next();
+			String messageTye = messageObj[0];
+			
+			if (messageTye.equals("text")){
+				String messageStr = messageObj[1];
+				
+				String[] newStr = messageStr.split(regexp);
+				
+				for (int k=0;k<newStr.length;k++) {
+					String[] textA = {"text",newStr[k]};
+					newList.add(textA);
+					if (k+1!=newStr.length){
+						String[] imageA = {"image",image, spaces, regexp.replace("\\", "") };
+						newList.add(imageA);
+					}
+				}
+			} else {
+
+				newList.add(messageObj);
+			}
+
+		}
+			
+		return newList;
+	}
+	
+	public void replaceAllRegExp(){
+		try {
+			LinkedList<LinkedList<String>> emotfilesList = EmoticonsManager.getEmotfilesList();
+			LinkedList<LinkedList<String>> emotfilesListNew = new LinkedList<LinkedList<String>>();
+			for (Iterator<LinkedList<String>> iter = emotfilesList.iterator();iter.hasNext();){
+				LinkedList<String> emot = iter.next();
+				
+				//log.error("FILE: "+emot.get(0));
+				String westernMeaning = this.checkforRegex(emot.get(1));
+				emot.set(1, westernMeaning);
+				//log.error("westernMeaning "+westernMeaning);
+				if (emot.size()>2){
+					String asianMeaning = this.checkforRegex(emot.get(2));
+					emot.set(2, asianMeaning);
+					//log.error("westernMeaning "+asianMeaning);
+				}
+				emotfilesListNew.add(emot);
+			}
+			EmoticonsManager.setEmotfilesList(emotfilesListNew);
+		} catch (Exception err) {
+			log.error("[replaceAllRegExp]",err);
+		}
+	}
+	
+	  /**
+	  * Replace characters having special meaning in regular expressions
+	  *
+	  */
+	  private String checkforRegex(String aRegexFragment){
+	    final StringBuilder result = new StringBuilder();
+
+	    final StringCharacterIterator iterator = new StringCharacterIterator(aRegexFragment);
+	    char character =  iterator.current();
+	    while (character != CharacterIterator.DONE ){
+	      /*
+	      * All literals need to have backslashes doubled.
+	      */
+	      if (character == '.') {
+	        result.append("\\.");
+	      }
+	      else if (character == '\\') {
+	        result.append("\\\\");
+	      }
+	      else if (character == '?') {
+	        result.append("\\?");
+	      }
+	      else if (character == '*') {
+	        result.append("\\*");
+	      }
+	      else if (character == '+') {
+	        result.append("\\+");
+	      }
+	      else if (character == '&') {
+	        result.append("\\&");
+	      }
+	      else if (character == ':') {
+	        result.append("\\:");
+	      }
+	      else if (character == '{') {
+	        result.append("\\{");
+	      }
+	      else if (character == '}') {
+	        result.append("\\}");
+	      }
+	      else if (character == '[') {
+	        result.append("\\[");
+	      }
+	      else if (character == ']') {
+	        result.append("\\]");
+	      }
+	      else if (character == '(') {
+	        result.append("\\(");
+	      }
+	      else if (character == ')') {
+	        result.append("\\)");
+	      }
+	      else if (character == '^') {
+	        result.append("\\^");
+	      }
+	      else if (character == '$') {
+	        result.append("\\$");
+	      }
+	      else if (character == '|') {
+	        result.append("\\|");
+	      }
+	      else {
+	        //the char is not a special one
+	        //add it to the result as is
+	        result.append(character);
+	      }
+	      character = iterator.next();
+	    }
+	    return result.toString();
+	  }	
+	  
+	  public String link(String input) {
+			try {
+				
+				String tReturn = "";
+				
+				String parts[] = input.split(" ");
+				
+				for (int t=0;t<parts.length;t++) {
+					
+					String text = parts[t];
+		
+					//System.out.println("Part 1 "+text);
+					
+					Matcher matcher = Pattern.compile("(^|[ \t\r\n])((ftp|http|https|gopher|mailto|news|nntp|telnet|wais|file|prospero|aim|webcal):(([A-Za-z0-9$_.+!*(),;/?:@&~=-])|%[A-Fa-f0-9]{2}){2,}(#([a-zA-Z0-9][a-zA-Z0-9$_.+!*(),;/?:@&~=%-]*))?([A-Za-z0-9$_+!*();/?:~-]))").matcher(text);
+
+					if (matcher.find()) {
+						text = matcher.replaceFirst("<u><FONT color=\"#0000CC\"><a href='" + text + "'>" + text
+								+ "</a></FONT></u>");
+
+					}
+					
+					//System.out.println("Part 2 "+text);
+					
+					if (t != 0) {
+						tReturn += " ";
+					}
+					
+					tReturn += text;
+				
+				}
+				
+				return tReturn;
+				
+			} catch (Exception e) {
+				log.error("[link]",e);
+			}
+			return "";
+		}
+}
diff --git a/src/org/openmeetings/utils/stringhandlers/StringComparer.java b/src/org/openmeetings/utils/stringhandlers/StringComparer.java
new file mode 100644
index 0000000..6a72aa5
--- /dev/null
+++ b/src/org/openmeetings/utils/stringhandlers/StringComparer.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.openmeetings.utils.stringhandlers;
+
+public class StringComparer {
+	
+	private static StringComparer instance = null;
+	
+	private StringComparer() {}
+	
+	public static synchronized StringComparer getInstance(){
+		if (instance == null){
+			instance = new StringComparer();
+		}
+		return instance;
+	}
+	
+	public String compareForRealPaths(String inputString) throws Exception{
+
+		String t = "";
+		for (int i=0;i<inputString.length();i++){
+			char c = inputString.charAt(i);
+			if (compareChars(c)) {
+				t += c;
+			} else {
+				t += "_";
+			}
+			
+		}		
+		return t;
+	}
+	
+	private boolean compareChars(char inputChar){		
+		return Character.isLetterOrDigit(inputChar);
+	}
+
+}
diff --git a/src/register_mail.vm b/src/register_mail.vm
new file mode 100644
index 0000000..396b87d
--- /dev/null
+++ b/src/register_mail.vm
@@ -0,0 +1,39 @@
+## OpenMeetings
+## author swagner
+## 05.04.2007
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='de' lang='de'>
+<head>
+<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
+</head>
+<body>
+<b>$labelid506</b><br />
+<br />
+<br />
+<b>$labelid507</b>
+<br />
+$labelid508 $username
+<br />
+$labelid509 $userpass
+<br />
+$labelid510 $mail 
+<br />
+<br />
+$labelid511
+<br/>
+</body>
+</html>
diff --git a/src/register_verification_mail.vm b/src/register_verification_mail.vm
new file mode 100644
index 0000000..74c6575
--- /dev/null
+++ b/src/register_verification_mail.vm
@@ -0,0 +1,45 @@
+## OpenMeetings
+## author swagner
+## 05.04.2007
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='de' lang='de'>
+<head>
+<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
+</head>
+<body>
+<b>$labelid506</b><br />
+<br />
+<br />
+<b>$labelid507</b>
+<br />
+$labelid508 $username
+<br />
+$labelid509 $userpass
+<br />
+$labelid510 $mail 
+<br />
+<br />
+$labelid667 
+<br />
+<A HREF="$verification_url">$labelid668</A>
+<br/>
+$verification_url
+<br />
+$labelid511
+<br/>
+</body>
+</html>
diff --git a/src/requestcontact.vm b/src/requestcontact.vm
new file mode 100644
index 0000000..2763bc0
--- /dev/null
+++ b/src/requestcontact.vm
@@ -0,0 +1,31 @@
+## OpenMeetings
+## author swagner
+## 29.09.2010
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
+</head>
+<body>
+$message
+<br/>
+<br/>
+$accept_link $deny_link
+<br/>
+$openmeetings_link
+</body>
+</html>
diff --git a/src/requestcontactconfirm.vm b/src/requestcontactconfirm.vm
new file mode 100644
index 0000000..7ebbe58
--- /dev/null
+++ b/src/requestcontactconfirm.vm
@@ -0,0 +1,26 @@
+## OpenMeetings
+## author swagner
+## 29.09.2010
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
+</head>
+<body>
+$message
+</body>
+</html>
diff --git a/src/resetPass.vm b/src/resetPass.vm
new file mode 100644
index 0000000..ee8f2c0
--- /dev/null
+++ b/src/resetPass.vm
@@ -0,0 +1,30 @@
+## OpenMeetings
+## author swagner
+## 16.05.2007
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='de' lang='de'>
+<head>
+<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
+</head>
+<body>
+<b>$labelid513</b><br />
+<b>$labelid514</b><br/>
+<A HREF="$reset_link">$labelid515</A><BR/>
+$labelid516<BR/>
+$reset_link2
+</body>
+</html>
diff --git a/src/screenshare.vm b/src/screenshare.vm
new file mode 100644
index 0000000..b62105e
--- /dev/null
+++ b/src/screenshare.vm
@@ -0,0 +1,46 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<jnlp spec='1.0+' codebase='$codebase'> 
+	<information> 
+		<title>Screen Sharing Application</title> 
+		<vendor>$APP_NAME</vendor> 
+		<homepage>http://incubator.apache.org/openmeetings/</homepage>
+		<icon href="icon.jpg" />
+		<icon kind="splash" href="splashicon.jpg" />
+		<description>ScreenViewer Client Application</description> 
+		<description kind="short">A File to grab a screen and send it to a Server</description> 
+		<offline-allowed/> 
+	</information>
+	<security>
+	    <all-permissions/>
+	</security>	
+	<resources> 
+		<j2se version='1.4+'/>
+$LIBRARIES
+    </resources> 
+    <application-desc main-class='$startUpClass'>
+    	<argument>$red5-host</argument> 
+    	<argument>$red5-app</argument> 
+    	<argument>$port</argument> 
+    	<argument>$PUBLIC_SID</argument>   
+    	<argument>$LABELSHARER</argument> 
+    	<argument>$organization_id</argument> 
+    	<argument>$default_quality_screensharing</argument>
+    	<argument>$user_id</argument>   
+    	<argument>$allowRecording</argument>
+$KEYSTORE
+    </application-desc> 
+</jnlp> 
diff --git a/src/sip_template.vm b/src/sip_template.vm
new file mode 100644
index 0000000..3d8e9cc
--- /dev/null
+++ b/src/sip_template.vm
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<html>
+<head>
+
+<meta http-equiv="cache-control" content="no-cache">
+
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
+<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
+<meta name="viewport" content="width=device-width; initial-scale=1.0;">
+<title>$APP_NAME</title>
+<script type="text/javascript">
+  // If loaded bare into a browser, set the browser size to the canvas size
+  if (window === top) {
+    (function (width, height) {
+      // Cf. http://www.quirksmode.org/viewport/compatibility.html
+      if (window.innerHeight) {
+        // Sadly, innerHeight/Width is not r/w on some browsers, and resizeTo is for outerHeight/Width
+        window.resizeTo(width ? (width + window.outerWidth - window.innerWidth) : window.outerWidth,
+                        height ? (height + window.outerHeight - window.innerHeight) : window.outerHeight);
+      } else if (document.documentElement && document.documentElement.clientHeight) {
+        if (width) {
+          document.documentElement.clientWidth = width;
+        }
+        if (height) {
+          document.documentElement.clientHeight = height;
+        }
+      } else {
+        if (width) {
+          document.body.clientWidth = width;
+        }
+        if (height) {
+          document.body.clientHeight = height;
+        }
+      }
+    })(null, null);
+  }
+</script>
+        
+<script type="text/javascript" src="sip-applet/jquery-1.2.6.min.js"></script>
+<script type="text/javascript" src="sip-applet/uiie.js"></script>
+<script type="text/javascript" src="sip-applet/blie.js"></script>
+<script type="text/javascript" src="sip-applet/custom.js"></script>        
+        
+<script type="text/javascript"
+	src="embed-compressed.js"></script>
+<script type="text/javascript"
+	src="openmeetings_functions.js"></script>
+	
+<style type="text/css">
+html,body { /* http://www.quirksmode.org/css/100percheight.html */
+	height: 100%;
+	/* prevent scrollbars */
+	margin: 0;
+	padding: 0;
+	border: 0 none;
+	overflow: hidden;
+}
+
+body {
+	background-color: #ffffff;
+}
+
+img {
+	border: 0 none;
+}
+</style>
+</head>
+<body> 
+
+<applet id="PHDial" archive="sip-applet/idial.jar"
+	code="com.sesca.voip.ua.AppletUANG.class" width="0" height="0">
+	<param name="mayscript" value="true" />
+	<param name="scriptable" value="true" />
+	<param name="callTo" value="" />
+	<param name="username" value="" />
+	<param name="password" value="" />
+	<param name="realm" value="$SIP_REALM" />
+	<param name="port" value="$SIP_PORT" />
+	<param name="proxyname" value="$SIP_PROXYNAME" />
+	<param name="tunnel" value="$SIP_TUNNEL" />
+	<param name="codebaseUrl" value="$SIP_CODEBASE" />
+	<param name="forceTunnel" value="$SIP_FORCETUNNEL" />
+	<param name="privacy" value="false" />
+	<param name="allowOutsideProxyConnections" value="true" />
+</applet>
+
+<script type="text/javascript">
+    lz.embed.swf({url: '$SWF_URL?$SWF_PARAMS', allowfullscreen: 'true', bgcolor: '#ffffff', width: '100%', height: '100%', id: 'lzapp', accessible: 'false'});
+
+    lz.embed.lzapp.onloadstatus = function loadstatus(p) {
+      // called with a percentage (0-100) indicating load progress
+    }
+
+    lz.embed.lzapp.onload = function loaded() {
+      // called when this application is done loading
+    }
+</script>
+
+
+<!--
+<div style="width: 100%; height: 100%;" id="lzappContainer"><embed
+	src="maindebug.lzx-Dateien/maindebug.lzx" quality="high"
+	bgcolor="#ffffff" wmode="window" allowfullscreen="true" id="lzapp"
+	name="lzapp"
+	flashvars="$SWF_FLASHVARS"
+	swliveconnect="true" allowscriptaccess="sameDomain"
+	type="application/x-shockwave-flash"
+	pluginspage="http://www.macromedia.com/go/getflashplayer"
+	align="middle" height="100%" width="100%"></div>
+ -->
+<noscript>Please enable JavaScript in order to use this
+application.</noscript>
+</body>
+</html>
diff --git a/src/usual_template.vm b/src/usual_template.vm
new file mode 100644
index 0000000..4ff375d
--- /dev/null
+++ b/src/usual_template.vm
@@ -0,0 +1,114 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<html>
+<head>
+
+<meta http-equiv="cache-control" content="no-cache">
+
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
+<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
+<meta name="viewport" content="width=device-width; initial-scale=1.0;">
+<title>$APP_NAME</title>
+<script type="text/javascript">
+  // If loaded bare into a browser, set the browser size to the canvas size
+  if (window === top) {
+    (function (width, height) {
+      // Cf. http://www.quirksmode.org/viewport/compatibility.html
+      if (window.innerHeight) {
+        // Sadly, innerHeight/Width is not r/w on some browsers, and resizeTo is for outerHeight/Width
+        window.resizeTo(width ? (width + window.outerWidth - window.innerWidth) : window.outerWidth,
+                        height ? (height + window.outerHeight - window.innerHeight) : window.outerHeight);
+      } else if (document.documentElement && document.documentElement.clientHeight) {
+        if (width) {
+          document.documentElement.clientWidth = width;
+        }
+        if (height) {
+          document.documentElement.clientHeight = height;
+        }
+      } else {
+        if (width) {
+          document.body.clientWidth = width;
+        }
+        if (height) {
+          document.body.clientHeight = height;
+        }
+      }
+    })(null, null);
+  }
+</script>
+        
+<script type="text/javascript"
+	src="embed-compressed.js"></script>
+<script type="text/javascript"
+	src="openmeetings_functions.js"></script>	
+<script type="text/javascript">
+
+function getAppletStatus(){
+    return false;
+}
+
+</script>
+	
+<style type="text/css">
+html,body { /* http://www.quirksmode.org/css/100percheight.html */
+	height: 100%;
+	/* prevent scrollbars */
+	margin: 0;
+	padding: 0;
+	border: 0 none;
+	overflow: hidden;
+}
+
+body {
+	background-color: #ffffff;
+}
+
+img {
+	border: 0 none;
+}
+</style>
+</head>
+<body> 
+
+<script type="text/javascript">
+    lz.embed.swf({url: '$SWF_URL?$SWF_PARAMS', allowfullscreen: 'true', bgcolor: '#ffffff', width: '100%', height: '100%', id: 'lzapp', accessible: 'false'});
+
+    lz.embed.lzapp.onloadstatus = function loadstatus(p) {
+      // called with a percentage (0-100) indicating load progress
+    }
+
+    lz.embed.lzapp.onload = function loaded() {
+      // called when this application is done loading
+    }
+</script>
+
+
+<!--
+<div style="width: 100%; height: 100%;" id="lzappContainer"><embed
+	src="maindebug.lzx-Dateien/maindebug.lzx" quality="high"
+	bgcolor="#ffffff" wmode="window" allowfullscreen="true" id="lzapp"
+	name="lzapp"
+	flashvars="$SWF_FLASHVARS"
+	swliveconnect="true" allowscriptaccess="sameDomain"
+	type="application/x-shockwave-flash"
+	pluginspage="http://www.macromedia.com/go/getflashplayer"
+	align="middle" height="100%" width="100%"></div>
+	 -->
+<noscript>Please enable JavaScript in order to use this
+application.</noscript>
+</body>
+</html>
diff --git a/src/xsd_template.vm b/src/xsd_template.vm
new file mode 100644
index 0000000..865e45a
--- /dev/null
+++ b/src/xsd_template.vm
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" 
+    targetNamespace="http://www.laszlosystems.com/2003/05/lzx" xmlns:lzx="http://www.laszlosystems.com/2003/05/lzx">
+  <xs:simpleType name="booleanLiteral">
+    <xs:restriction base="xs:boolean"/>
+  </xs:simpleType>
+  <xs:simpleType name="colorLiteral">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="numberLiteral">
+    <xs:restriction base="xs:double"/>
+  </xs:simpleType>
+  <xs:simpleType name="sizeLiteral">
+    <xs:restriction base="xs:double">
+      <xs:minInclusive value="0"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="inheritableBooleanLiteral">
+    <xs:union memberTypes="lzx:booleanLiteral">
+      <xs:simpleType>
+        <xs:restriction base="xs:token">
+          <xs:enumeration value="inherit"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:union>
+  </xs:simpleType>
+  <xs:simpleType name="constraint">
+    <xs:restriction base="xs:string">
+      <xs:pattern value="$(style|path|immediately|once|always)?\{.*\}"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="boolean">
+    <xs:union memberTypes="lzx:booleanLiteral lzx:constraint"/>
+  </xs:simpleType>
+  <xs:simpleType name="booleanOrNull">
+    <xs:union memberTypes="lzx:boolean">
+      <xs:simpleType>
+        <xs:restriction base="xs:token">
+          <xs:enumeration value="null"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:union>
+  </xs:simpleType>
+  <xs:simpleType name="color">
+    <xs:union memberTypes="lzx:colorLiteral lzx:constraint"/>
+  </xs:simpleType>
+  <xs:simpleType name="script">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="expression">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="reference">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="number">
+    <xs:union memberTypes="lzx:numberLiteral lzx:constraint"/>
+  </xs:simpleType>
+  <xs:simpleType name="size">
+    <xs:union memberTypes="lzx:sizeLiteral lzx:constraint"/>
+  </xs:simpleType>
+  <xs:simpleType name="numberExpression">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="sizeExpression">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="css">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="opacity">
+    <xs:union memberTypes="lzx:constraint">
+      <xs:simpleType>
+        <xs:restriction base="xs:double">
+          <xs:minInclusive value="0.0"/>
+          <xs:maxInclusive value="1.0"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:union>
+  </xs:simpleType>
+  <xs:simpleType name="percentage">
+    <xs:restriction base="xs:string">
+      <xs:pattern value="(\d+(.\d?)|.\d+)%"/>
+    </xs:restriction>
+  </xs:simpleType>
+  
+  #foreach( $node in $allNodes.getRootNodes() )
+    $allFonts.get($key1)
+  #end
+    
+</xs:schema>    
diff --git a/test/NewFile2.xml b/test/NewFile2.xml
new file mode 100644
index 0000000..a583079
--- /dev/null
+++ b/test/NewFile2.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<canvas xmlns="http://localhost/openlaszlo/lzx"

+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xmlns:project="http://localhost/openlaszlo/project"

+	xsi:schemaLocation="http://localhost/openlaszlo/lzx ../WebContent/lzx.xsd 

+	http://localhost/openlaszlo/project ../WebContent/project.xsd">

+	

+	<project:_recorderClickMask></project:_recorderClickMask>

+	<project:activityList x="123"></project:activityList>

+

+	<view name="asd"></view>

+    <view name="asdasd" />

+    <project:_chatInnerSmilyIcon name="asdasd" width="12" clickable="false"></project:_chatInnerSmilyIcon>

+    <include href="incubator/lzcombobox.lzx" />

+    <view bgcolor="asdawqe">

+<project:labelText name="asdasd" labelid="12"></project:labelText>

+    </view>

+    

+    <!-- 

+    If you use maindebug.lzx, main.lzx with debug=true is loaded. 

+    h.kuze 2008.3.26

+    I re-arranged it back to the old setup,

+    I see that this information is duplicated here, but I would like to 

+    distribute two versions of OpenMeetings in a binary release: 

+    the normal Client and the Client Including the OpenLaszlo-Debug-Player

+    -swagner 2008.3.28

+-->

+   

+<include href="incubator/lzcombobox.lzx" />

+

+<project:screenSharingContainer name="_screens" />

+<project:confmenucommand></project:confmenucommand>

+

+<project:simpleLabelButton ></project:simpleLabelButton>

+<node></node>

+<button></button>

+<view width="weqwe">

+</view>    

+</canvas>

diff --git a/test/core/lfc/attribute.lzx b/test/core/lfc/attribute.lzx
new file mode 100644
index 0000000..1a8f0f3
--- /dev/null
+++ b/test/core/lfc/attribute.lzx
@@ -0,0 +1,34 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+            

+<!--- Sets an attribute of the object that contains it. -->

+<class name="attribute" extends="false">

+	<!--- One of:

+class

+    The attribute will be an attribute of the class; to refer to it, you say lz.classname.attributename . 

+instance

+    Each instance will have an attribute with the specified properties ( name , type , value , etc.). 

+

+You can set allocation to class to get static attributes. Static properties are attached to the class itself, for example lz.classname . -->

+    <attribute name="allocation" type="string" value="instance|class" />

+	<!--- The name of the attribute. -->

+	<attribute name="name" type="token" required="true"/>

+	<!--- True if this is a required attribute. -->

+	<attribute name="required" type="boolean" value="false" />

+	<!--- The CSS property name that can be used to set the value of this attribute under the control of a <stylesheet> (See Chapter 19. Cascading Style Sheets ). style can be any valid CSS property name, and need not be the same as the attribute name; for example you could use the standard CSS property name background-color as the style of the bgcolor attribute. When an attribute has a style property, the value property acts as the default value for the attribute: in the absence of any applicable CSS rule specifying the corresponding property, the attribute will be given the default value. In the case of dynamic CSS, the attribute will revert to the default value if CSS was applied and is removed. (See Dynamic CSS .) -->

+	<attribute name="style" value="string"/>

+	<!-- The type of the attribute. 

+	Possible value:    "boolean" | "color" | "expression" | "number" | "size" | "string" | "text" | "html" 

+	

+	This determines how the value is parsed. Attributes of type string are automatically quoted if when="immediate", for any other value of when, a literal string would have to be quoted to be used as a value. -->

+	<attribute name="type" type="expression" value="string"/>

+	<!---  The initial value of the attribute. The type of this value is specified by the value of the type attribute; if that attribute is not present, it's the type of this attribute in this element's tag. The attribute is given this value when the element is created. -->

+	<attribute name="value" />

+	

+	<!--- Delegate the event to a method on changes through setAttribute('...',$value) -->

+	<attribute name="setter" value="string" />

+	

+</class>

+

+</library>
\ No newline at end of file
diff --git a/test/core/lfc/audio.lzx b/test/core/lfc/audio.lzx
new file mode 100644
index 0000000..f2f1e60
--- /dev/null
+++ b/test/core/lfc/audio.lzx
@@ -0,0 +1,13 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+<!---Imports an audio file.

+[Warning]This tag is obsolete. Its functionality has been replaced by the <resource> tag. 

+ -->

+<class name="audio" extends="false">

+

+    <attribute name="src" />

+    

+</class>

+

+</library>
\ No newline at end of file
diff --git a/test/core/lfc/canvas.lzx b/test/core/lfc/canvas.lzx
new file mode 100644
index 0000000..e9aabc2
--- /dev/null
+++ b/test/core/lfc/canvas.lzx
@@ -0,0 +1,66 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+<!--- 

+The canvas is the container for all views within an application.

+

+The lz.canvas class represents the viewable area of the application. There is one instance of lz.canvas, named canvas. The canvas contains all views within an application.

+

+The <canvas> tag is the document root of an LZX application file. It contains class, resource, and font definitions, library includes, and view and other instances.

+

+See the Guide for a complete discussion of the <canvas> tag. 

+ -->

+<class name="canvas" isRoot="true" extends="view">

+

+	<!--- Whether fullscreen display state is supported for the SWFx runtimes. -->

+	<attribute name="allowfullscreen" type="boolean"/>

+	<!---  A String specifying the date and time of the application build. "2008-09-12T14:15:12Z" -->

+    <attribute name="appbuilddate" type="string"/>

+    <!---   If present, specifies the default timeout in milliseconds for data load requests -->

+    <attribute name="dataloadtimeout" type="number"/>

+    <!---   Dictionary of all named datasets. -->

+    <attribute name="datasets" type="string"/>

+    <!--- 

+defaultdataprovider is bound to the system default DataProvider.

+By default, this will be an instance of LzHTTPDataProvider, which will also be pointed to by the canvas.httpdataprovider. -->

+    <attribute name="defaultdataprovider" type="string"/>

+    <!---   Whether to embed fonts in the compiled application. -->

+    <attribute name="defaultdataprovider" type="string"/>

+    <!--- The framerate that should be used for this application -->

+    <attribute name="framerate" type="number"/>

+    <!---   Used to switch into fullscreen display mode or back to normal display. -->

+    <attribute name="fullscreen" type="boolean"/>

+    <!---   

+httpdataprovider is bound to the system default HTTP DataProvider.

+This will be an instance of LzHTTPDataProvider, which implements HTTP request transport. The default value of the canvas.defaultdataprovider is initially set to point to this same object. -->

+    <attribute name="httpdataprovider" type="string"/>

+    <!---   A String specifying the LPS build revision and the build directory: e.g. "4075 /Users/maxcarlson/openlaszlo/legals" -->

+    <attribute name="lpsbuild" type="string"/>

+    <!---   A String specifying the date and time of the LPS build. "2007-03-05T15:33:42-0800" -->

+    <attribute name="lpsbuilddate" type="string"/>

+    <!---   release of the LPS that generated this application (for .lzo files, this is the release of the server that generated the optimized file, not the one that served it). -->

+    <attribute name="lpsrelease" type="string"/>

+    <!--- version number of the LPS that generated this application (for .lzo files, this is the version number of the server that generated the optimized file, not the one that served it). -->

+    <attribute name="lpsversion" type="string"/>

+    <!---   If present, specifies the default timeout in milliseconds for media errors. An error occurs when no bytes have been received. This is used in Flash to detect media loads that have failed due to the security policy. -->

+    <attribute name="mediaerrortimeout" type="number"/>

+    <!---   If present, specifies the default timeout in milliseconds for media load requests -->

+    <attribute name="medialoadtimeout" type="number"/>

+    <!---   A number from 0-1 that represents the percentage of the app that has been instantiated.  -->

+    <attribute name="percentcreated" type="number"/>

+    <!--- If true, requests for data and media are proxied through LPS server. if false, requests are made directly to target URLs. if inherit, inherit from lzproxied query arg. -->

+    <attribute name="proxied" type="string"/>

+    <!---   A String describing the target runtime. "dhtml" | "swf8" | "swf9" | "swf10" are currently supported. Others are in development.-->

+    <attribute name="runtime" type="string"/>

+    <!---   Used to tell what the screen orientation is, 'portrait' or 'landscape' -->

+    <attribute name="screenorientation" type="boolean"/>

+    <!---   A CSS declaration of property: value pairs used to advise the underlying runtime of desired recursion and timeout limits. Not all runtimes respect this advice. The default value is runtime dependent, but typically recursion is at least 100 and timeout at least 10 (seconds). Example: scriptlimits="recursion: 256, timeout: 15"-->

+    <attribute name="scriptlimits" type="string"/>

+    

+    <attribute name="debug" value="boolean" />

+    

+    <attribute name="title" value="string" />

+    	

+</class>

+

+</library>
\ No newline at end of file
diff --git a/test/core/lfc/class.lzx b/test/core/lfc/class.lzx
new file mode 100644
index 0000000..b977df1
--- /dev/null
+++ b/test/core/lfc/class.lzx
@@ -0,0 +1,22 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+<!--Provides a prototype for all objects of that class

+

+A class describes the state and behavior that all objects of that class share. An object of a given class is called an instance of that class.

+

+The following example defines the class Hello, and instantiates myHello (an instance of that class).

+-->

+<class name="class" extends="view">

+

+    <attribute name="name" type="token" required="true" />

+    <attribute name="extends" />

+    <attribute name="implements" />

+    <attribute name="with" />

+    

+    <attribute name="isRoot" type="boolean"/>

+    

+</class>

+

+

+</library>
\ No newline at end of file
diff --git a/test/core/lfc/contextmenu.lzx b/test/core/lfc/contextmenu.lzx
new file mode 100644
index 0000000..55e8081
--- /dev/null
+++ b/test/core/lfc/contextmenu.lzx
@@ -0,0 +1,25 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">
+<!---A menu item within a context menu -->
+<class name="contextmenuitem" extends="node">
+
+	<!---		Sets the text which is displayed for the menu item-->
+	<attribute name="caption" />
+	
+	<!--- 	Sets the delegate which will be called when the menu item is selected. -->
+	<attribute name="delegate" />
+	
+	<!--- 	Sets the enabled status of the menu item. If false, the menu item is grayed out and will not respond to clicks  -->
+	<attribute name="enabled" type="boolean" />
+	
+	<!---	Draw a horizontal separator line before this item in the menu. -->
+	<attribute name="separatorbefore" type="boolean"/>
+	
+	<!---	Sets the visibility of the menu item. -->
+	<attribute name="visible" />
+	
+		
+</class>
+
+</library>
\ No newline at end of file
diff --git a/test/core/lfc/contextmenuitem.lzx b/test/core/lfc/contextmenuitem.lzx
new file mode 100644
index 0000000..5c9d0d7
--- /dev/null
+++ b/test/core/lfc/contextmenuitem.lzx
@@ -0,0 +1,12 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">
+<!---A contextual menu -->
+<class name="contextmenu" extends="node">
+
+	<!---		Sets the delegate which will be called when a menu item is selected. An onselect event is also sent.-->
+	<attribute name="delegate" />
+	
+</class>
+
+</library>
\ No newline at end of file
diff --git a/test/core/lfc/datapath.lzx b/test/core/lfc/datapath.lzx
new file mode 100644
index 0000000..ae17a66
--- /dev/null
+++ b/test/core/lfc/datapath.lzx
@@ -0,0 +1,40 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">
+<!---A cursor in a dataset.
+A datapointer is an object that represents a pointer to a node in a lz.dataset. The datapointer can be repositioned using either cursor movements calls such as LzDatapointer.selectNext(), or by running an XPath request via LzDatapointer.setXPath().
+
+Datapointers support a subset of the XPath specification, which uses a notation similar to the UNIX file-system to refer to nodes within a dataset. Once a datapointer is bound to a node in a dataset it will keep pointing to that node until it is moved. If the dataset is edited, the behavior of the datapointer will be controlled by its rerunxpath attribute. If this attribute is true, it will continue pointing to its current node as long as it is valid. 
+ -->
+<class name="datapath" extends="datapointer">
+
+	<!---	The direction in which the replicated elements will be layed out.
+		Note
+This attribute is only available if replication is set to either "lazy" or "resize".  
+	One of: "x" | "y"  -->
+	<attribute name="axis" />
+	
+	<!---		This attribute applies to datapaths which match multiple nodes and force replication. If pooling is true, views that are data-bound to this datapath are recycled if the dataset changes. Otherwise, views are deleted when the data nodes they are bound to disappear, and created when new data nodes match the datapath. See the section on Pooling in the Guide for information about the use of this attribute. -->
+	<attribute name="pooling" value="false" type="boolean" />
+	
+	<!---	Determines whether to use normal or lazy replication, if the datapath matches more than one node. See the section on Replication in the Guide for information about the use of this attribute.
+[Note] 	Note
+The choice of replication style implies a choice of replication manager. Each replication manager may have additional attributes which are specified as attributes of the datapath. For example, lz.LazyReplicationManager takes axis and spacing attributes. See the documentaion for the corresponding replication manager for detailed information on these additional attributes.
+
+One of: 	'normal' | 'lazy' | 'resize'  -->
+	<attribute name="replication" value="normal" />
+	
+	<!---	The order to use to sort the dataset if replication occurs. One of "ascending" or "descending" to use built in dictionary sort, or a function which compares two strings and returns 1 if the strings are in order, 0 if they are the same, and -1 if they are out of order. To change this attribute, use setAttribute('sortorder', ...).  -->
+	<attribute name="sortorder" />
+	
+	<!---An XPath to use to obtain the sort key for sorting if replication occurs. To change this attribute, use .setAttribute('sortpath', ...),  -->
+	<attribute name="sortpath" />
+	
+	<!---	The spacing (in pixels) between replicated views.
+[Note] 	Note
+This attribute is only available if replication is set to either "lazy" or "resize".  -->
+	<attribute name="spacing" type="number" />
+	
+</class>
+
+</library>
\ No newline at end of file
diff --git a/test/core/lfc/datapointer.lzx b/test/core/lfc/datapointer.lzx
new file mode 100644
index 0000000..548fb76
--- /dev/null
+++ b/test/core/lfc/datapointer.lzx
@@ -0,0 +1,27 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">
+            
+<!---The binder between data and nodes.
+Datapaths are used to merge data hierarchies with the hierarchy of an OpenLaszlo application. This is done using the the XPath syntax supported by lz.datapointer. When a node is given a datapath attribute, a datapath with the given value as its XPath is created. If the datapath retrieves a node (i.e. it doesn't terminate in an attribute getter or a () operator) then the node is mapped to that data context and all child nodes will implicitly share the datacontext, but no further action is taken. If the datapath retrieves data, rather than just a node, a few extra things happen. First, the node's data property is set and the node's ondata event is sent. Second, the node's applyData method is called with the data as the argument. In cases where a datapath matches more than one data node, the view with the matching datapath is replicated once for each data node that matches, and a lz.ReplicationManager takes over the view's spot in its parent.
+
+When a node is replicated, an LzReplicationManager takes it's place, and an onclones will be sent when the node's clones are updated.
+
+A node can only have one datapath, and datapaths always have the name datapath. Additional options available on datapath such as pooling and replication are specified by writing the <datapath> tag as a separate node. 
+ -->
+<class name="datapointer" extends="node">
+
+	<!---	The reference to a clonemanager from a clone. -->
+	<attribute name="context" />
+	
+	<!---	The LzDataNodeMixin that the datapointer is pointing to. Calling setAttribute on p calls LzDatapointer.setPointer.  -->
+	<attribute name="p" />
+	
+	<!---	This determines the behavior of the datapointer in response to notification that the dataset the datapointer is mapped to has changed. If rerunxpath is true, the datapointer will always rerun its remembered XPath (set with the xpath property). If it is false, the datapointer will only verify that the node it is pointing to is still in the dataset. If it isn't, the datapointer will rerun its remembered xpath (if it has one) or will print a debug message if any further attempt is made to use its current node as the basis for a relative XPath query.  -->
+	<attribute name="rerunxpath" type="boolean" />
+	
+	<attribute name="xpath" />
+	
+</class>
+
+</library>
\ No newline at end of file
diff --git a/test/core/lfc/dataset.lzx b/test/core/lfc/dataset.lzx
new file mode 100644
index 0000000..c8693b9
--- /dev/null
+++ b/test/core/lfc/dataset.lzx
@@ -0,0 +1,72 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">
+<!---An in-memory xml-style data hierarchy. -->
+<class name="dataset" extends="node">
+
+	<!-- Inherited from DataElementMixin -->
+	<!--- The dictionary of attributes for this node. -->
+	<attribute name="attributes" />
+	<!--- 	The name of this node. -->
+	<attribute name="nodeName" />
+	
+	<!-- Inherited from lz.DataNodeMixin  -->
+	<!---	An array of children of this node -->
+	<attribute name="childNodes" />
+	<!--- 	The type of this node one of lz.DataElement.DOCUMENT_NODE, lz.DataElement.ELEMENT_NODE or lz.DataElement.TEXT_NODE -->
+	<attribute name="nodeType" />
+	<!---	The owner document for this node. -->
+	<attribute name="ownerDocument" />
+	<!--- 	The parent of this node -->
+	<attribute name="parentNode" />
+	<!---	Selection state of this node, used by dataselectionmanager -->
+	<attribute name="sel" />
+	
+	<!---	When true, the server will accept encoded responses for this request. Encoded responses require more work for the LPS (encoding the response) and client (decoding the response) in trade for lower network bandwidth usage.  -->
+	<attribute name="acceptencodings" type="boolean"/>
+	<!---	If true, changes to src or querystring attributes cause doRequest() to be called automatically. If false, doRequest() must be called manually when src or querystring attributes change.  -->
+	<attribute name="autorequest" type="boolean" value="false" />
+	<!---	When true, the server will attempt to cache response (defaults to false). There are security concerns when this field is true. When this field is true, you will usually want the getresponseheaders field to be false. -->
+	<attribute name="cacheable" type="boolean" value="false" />
+	<!--- 	When true, data responses can be cached by the client (browser). When false, a unique valued argument will be added to the request string in the format '__lzbc__=1204685840777' to defeat the browser's cache.  -->
+	<attribute name="clientcacheable" type="boolean" value="false" />
+	<!---When true, the withCredentials property on the XHR object will be set to true, allowing credentialled cross-origin resource sharing (CORS) requests. If withCredentials is not set for a CORS request using credentials, the browser will not set any cookies sent by the server. See http://www.w3.org/TR/cors/#access-control-allow-credentials-respons and http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-withcredentials-attribute for more information.  -->
+	<attribute name="credentialled" type="boolean" value="false" />
+	<!--- 	Holds a pointer to the DataProvider which handles data load requests for this dataset. Default value is canvas.defaultdataprovider  -->
+	<attribute name="dataprovider" />
+	<!---	When true, the proxy server (if making a proxied request) will encode and send the HTTP response headers along with the data (defaults to false). Due to a lack of a native API to get this information, SOLO SWF applications will always return an empty set. When making a proxied request, getresponseheaders must be true in order for the response headers to be retrieved via the getResponseHeader or getAllResponseHeaders methods.  -->
+	<attribute name="getresponseheaders" type="boolean"/>
+	<!---	Create a new data request object for each request. -->
+	<attribute name="multirequest" />
+	<!---	When true, the server will preserve namespace prefixes on data node names and attribute names  -->
+	<attribute name="nsprefix" />
+	<!---	An lz.Param object which holds query key-value pairs. -->
+	<attribute name="params" />
+	<!---	Used to send a string as the entire body of a POST request. For a POST request, setting postbody to a non-null string value will send that string as the complete body of the POST request. In this case any other query parameters that have been set via setQueryParam dataset will be ignored. The behavior of a GET request with a non-null postbody is not defined. Note, the swf8 runtime is forced to XML-quote the postbody, due to limitations in the Flash 8 player API. This restriction is not present in later swf runtimes, or in the DHTML runtime.  -->
+ 	<attribute name="postbody" />
+ 	<!---Sets whether or not the dataset makes its request directly to the target server or via the server proxy. Inherits value from canvas.proxied flag.  -->
+ 	<attribute name="proxied" />
+ 	<!---	The URL of the proxy server, for proxied requests -->
+ 	<attribute name="proxyurl" />
+ 	<!---	A string to be appended to the request that the dataset makes.  -->
+ 	<attribute name="querystring" />
+ 	<!---HTTP request method. Value must be one of "GET" or "POST". -->
+ 	<attribute name="querytype" value="GET" />
+  	<!---	Holds raw data response string from data source -->
+  	<attribute name="rawdata" />
+  	<!---	If true, the datset will make a request upon initialization -->
+  	<attribute name="request" type="boolean" value="false" />
+  	<!---	TCP port number to use for secure (HTTPS) requests -->
+  	<attribute name="secureport" value="443" type="number" />
+  	<!---	The source for requests made by this dataset. The value can be a pathname or an absolute or relative URL. If the value is a URL (starts with "http:"), the dataset will be configured to load its data at runtime. Otherwise, the data is included inline into the application at compile time.  -->
+  	<attribute name="src" />
+  	<!---	The numer of milliseconds to wait before the request times out, and an ontimeout event is sent. -->
+  	<attribute name="timeout" />
+  	<!---	When true, the server will trim whitespace in the XML data (defaults to false).  -->
+  	<attribute name="trimwhitespace" />
+  	<!---	When set to "http" or "soap", the dataset interprets it's src attribute as a URL to be loaded at runtime. If the "src" attribute is set to a URL (e.g., starts with "http:") then the type attribute implicitly becomes "http".  -->
+  	<attribute name="type" />
+ 	
+</class>
+
+</library>
\ No newline at end of file
diff --git a/test/core/lfc/event.lzx b/test/core/lfc/event.lzx
new file mode 100644
index 0000000..8700a51
--- /dev/null
+++ b/test/core/lfc/event.lzx
@@ -0,0 +1,23 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+<!--- The sender in Laszlo's point-to-point event system.

+Events underly most of the functionality in OpenLaszlo applications. Unlike events in similar systems, OpenLaszlo's events are point-to-point, meaning that there is no general broadcast mechanism for events, and events do not trickle up or down the instance hierarchy. Instead, objects called <handler>s use LzDelegate.register() to register to receive events.

+

+An event is implicitly declared for every attribute of a class or instance and sent when that attribute is changed. So, for instance, if a class has an attribute foo, you can receive events when foo changes by registering for the onfoo event.

+

+Events are sent with a single argument, which usually conveys information about the property that changed. The default behavior of the LzEventable.setAttribute() method is to set the named property and send the event called "on" + property. This is general mechanism that updates constraints in a OpenLaszlo programs. For instance, when a view changes its x position, it sends the event onx with the new value for its x property.

+

+Example:

+<handler name="onavalue" reference="eventSender" args="v">

+  this.setAttribute('x' , v);

+</handler> 

+ -->            

+<class name="event" extends="false">

+

+    <!--- The name of the event -->

+    <attribute name="name" type="string" />

+    

+</class>

+            

+</library>            
\ No newline at end of file
diff --git a/test/core/lfc/face.lzx b/test/core/lfc/face.lzx
new file mode 100644
index 0000000..75ef98c
--- /dev/null
+++ b/test/core/lfc/face.lzx
@@ -0,0 +1,16 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+<!--- Defines a font face or style within the font family that the outer element defines.

+ -->

+<class name="face" extends="false">

+

+	<!---	The path of a file that contains the source for this object. -->

+    <attribute name="src" type="string" />

+    <!---	Corresponds to the fontstyle attribute of a view.

+    One of: 	bold | italic | bold italic | italic bold | plain  -->

+    <attribute name="style" type="string" value="bold|italic|bold italic|italic bold|plain"/>

+    

+</class>

+

+</library>
\ No newline at end of file
diff --git a/test/core/lfc/font.lzx b/test/core/lfc/font.lzx
new file mode 100644
index 0000000..e308360
--- /dev/null
+++ b/test/core/lfc/font.lzx
@@ -0,0 +1,21 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+<!---Tag for including fonts.

+The <font> tag is used to import fonts into an LZX application. Each font in an LZX application has a source file (in TrueType format), a name, and a style (plain, bold, italic, or bold italic).

+

+A font element within a <canvas> or <library> defines a font, which can be referenced by the font attribute of a view, or by the face attribute of the <font> tag within HTML markup. A font element can define a single font face or style, by using the src attribute to refer to a TrueType font that is included in the application. 

+ -->

+<class name="font" extends="false">

+

+    <attribute name="name" type="string" />

+    <attribute name="src" type="string" />

+    

+    <!--- HTML specific -->

+    <attribute name="color" type="string" />

+    <attribute name="face" type="string" />

+    <attribute name="size" type="string" />

+    

+</class>

+

+</library>
\ No newline at end of file
diff --git a/test/core/lfc/frame.lzx b/test/core/lfc/frame.lzx
new file mode 100644
index 0000000..4f9d9ff
--- /dev/null
+++ b/test/core/lfc/frame.lzx
@@ -0,0 +1,22 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+<!---

+A frame of a multi-frame resource.

+

+The <frame> tag is used to define a single frame of a multi-frame <resource>. A multi-frame resource contains several images which can be toggled among by script commands.

+

+Multiple frame tags can be declared consecutively to produce a single resource constructed of an unlimited number of frames. Such composed resources are often used to conveniently implement mouse rollovers, button states, or other UI elements where alternate views of a resource are required. Once a multi-frame resource has been defined and presented within a <view>, the developer can designate which frame is actively visible through the use of the view's setResourceNumber method.

+

+Multi-frame resources can be used in conjunction with components such as <basebutton>, which pre-define complex button behavior using frames designated by the user. 

+

+ -->

+<class name="frame" extends="false">

+

+<!---	The name of a variable that will be set to this object when the application is started. If this element is directly within a <canvas> or <library> element, the global variable and the canvas property with this name will be set to this object. If this element is within another object, that object's property with this name will be set to this object.  -->

+    <attribute name="name" type="token" />

+    <!---	The path of a file that contains the source for this object. -->

+    <attribute name="src" type="src" />

+    

+</class>

+</library>
\ No newline at end of file
diff --git a/test/core/lfc/handler.lzx b/test/core/lfc/handler.lzx
new file mode 100644
index 0000000..8d6a4c2
--- /dev/null
+++ b/test/core/lfc/handler.lzx
@@ -0,0 +1,16 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+<!-- The receiver in Laszlo's point-to-point event system.

+A delegate is an object that calls a specific method on a specific object when its execute method is called. It is essentially a method closure.

+

+Delegates, along with <event>, comprise Laszlo's point to point event system. A delegate represents a named method of an object. Delegates are mostly registered with events, but they can be used anywhere a function callback would traditionally be called for: for instance, LzTimerService.addTimer() takes a delegate as its argument.

+

+You can create a delegate explicitly using the LzDelegate class, or implicitly by specifying an event handler. There are two syntaxes with which you can specify an event handler: in the open tag used to create that object, or by using the <handler> tag in the body of the object. -->

+<class name="handler" extends="false">

+	<attribute name="name" type="string" required="true" />

+	<attribute name="reference" value="this" type="reference"/>

+	<attribute name="args" value="" type="string"/>

+	<attribute name="method" type="string"/>

+</class>

+</library>
\ No newline at end of file
diff --git a/test/core/lfc/html_tags.lzx b/test/core/lfc/html_tags.lzx
new file mode 100644
index 0000000..caa3a3d
--- /dev/null
+++ b/test/core/lfc/html_tags.lzx
@@ -0,0 +1,51 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">
+<!--- HTML specific -->
+<class name="a" extends="false">
+	<!--- 	The link target -->
+	<attribute name="href" />
+	<!---	The value of this attribute determines where the link target will be displayed. The interpretation is the same as in HTML, where the "current frame" is the frame containing the LZX application. The value must be a name beginning with an alphabetic character, or one of the following:
+
+_blank
+    The user agent should load the designated document in a new, unnamed window. 
+_parent
+    The user agent should load the document into the full, original window (thus canceling all other frames). This value is equivalent to _self if the current frame has no parent. 
+_self
+    The user agent should load the document in the same frame as the element that refers to this target. 
+_top
+    The user agent should load the document into the immediate FRAMESET parent of the current frame. This value is equivalent to _self if the current frame has no parent. 
+
+	 -->
+	 <attribute name="target" />
+</class>
+
+<!--- HTML specific -->
+<class name="b" extends="false" />
+
+<!--- HTML specific -->
+<class name="br" extends="false" />
+
+<!--- HTML specific -->
+<class name="i" extends="false" />
+
+<!--- HTML specific -->
+<class name="img" extends="false" >
+	<attribute name="align" />
+	<attribute name="height" />
+	<attribute name="hspace" />
+	<attribute name="src" />
+	<attribute name="vspace" />
+	<attribute name="width" />
+</class>
+
+<!--- HTML specific -->
+<class name="p" extends="false" />
+
+<!--- HTML specific -->
+<class name="pre" extends="false" />
+
+<!--- HTML specific -->
+<class name="u" extends="false" />
+
+</library>
\ No newline at end of file
diff --git a/test/core/lfc/import.lzx b/test/core/lfc/import.lzx
new file mode 100644
index 0000000..c7bd918
--- /dev/null
+++ b/test/core/lfc/import.lzx
@@ -0,0 +1,11 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+<!--- The <import> tag is used to import, at run time, source code contained in another (library) file. See the Guide for a complete discussion. Also see the <library> tag. -->

+<class name="import" extends="node">

+	<!---  A reference to a target file whose content is treated as a loadable module -->

+	<attribute name="href" type="string" />

+	<attribute name="proxied" type="string" />

+	<attribute name="stage" type="pattern" value="late|defer" />

+</class>

+</library>
\ No newline at end of file
diff --git a/test/core/lfc/include.lzx b/test/core/lfc/include.lzx
new file mode 100644
index 0000000..7f49a90
--- /dev/null
+++ b/test/core/lfc/include.lzx
@@ -0,0 +1,11 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+<!--- The <include> tag is used to include source code contained in another file. See the Guide for a complete discussion. Also see the <library> tag. -->

+<class name="include" extends="false">

+	<!---  A reference to a target file whose content is included in the application that contains this include element. -->

+	<attribute name="href" type="string" />

+	<!---  If this attribute has the value text , the content of the target file is included as text. Otherwise, it is read as XML.  -->

+	<attribute name="type" type="pattern" value="text|xml" />

+</class>

+</library>
\ No newline at end of file
diff --git a/test/core/lfc/inputtext.lzx b/test/core/lfc/inputtext.lzx
new file mode 100644
index 0000000..1657ef5
--- /dev/null
+++ b/test/core/lfc/inputtext.lzx
@@ -0,0 +1,22 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+<!---

+The basic input-text element.

+JavaScript: lz.inputtext

+

+This tag creates an area of the canvas that the user can use to edit text. It is equivalent to the HTML <input type="text">, <input type="password">, and textarea tags.

+

+See the documentation for the <text> tag for a description of the width and height attributes, and of scrolling. 

+ -->

+<class name="inputtext" extends="text">

+	<!---	If true, the inputtext will be editable -->

+    <attribute name="enabled" type="boolean"/>

+    <!---	If true, the inputtext contents will be obscured -->

+    <attribute name="password" />

+

+    <!---Sent whenever the text field is enabled. -->

+    <event name="onenabled" />

+    

+</class>

+</library>
\ No newline at end of file
diff --git a/test/core/lfc/library.lzx b/test/core/lfc/library.lzx
new file mode 100644
index 0000000..db4b378
--- /dev/null
+++ b/test/core/lfc/library.lzx
@@ -0,0 +1,13 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+<!--- The <library> tag defines the root element of a library file. An application can use the <include> tag to include the code in a library file.

+

+See the Guide for a complete discussion. Also see the <include> tag. -->

+<class name="library" isRoot="true">

+	<attribute name="proxied" type="string" />

+	<!--- If false, disables validation against the schema during compilation. -->

+    <attribute name="validate" type="boolean" />

+</class>

+

+</library>
\ No newline at end of file
diff --git a/test/core/lfc/method.lzx b/test/core/lfc/method.lzx
new file mode 100644
index 0000000..86406de
--- /dev/null
+++ b/test/core/lfc/method.lzx
@@ -0,0 +1,20 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+<!--- Attaches a function or event handler to an object or class. -->

+<class name="method" extends="false">

+	<!---  The name of a variable that will be set to this object when the application is started. If this element is directly within a canvas or library element, the global variable and the canvas property with this name will be set to this object. If this element is within another object, that object's property with this name will be set to this object. -->

+	<attribute name="name" type="string" required="true" />

+	<!--- The parameter names of this method. The value of this attribute is a comma-separated list of JavaScript identifiers. -->

+	<attribute name="args" value="" type="string"/>

+    <!--- One of:

+class

+    The attribute will be an attribute of the class; to refer to it, you say lz.classname.attributename . 

+instance

+    Each instance will have an attribute with the specified properties ( name , type , value , etc.). 

+

+You can set allocation to class to get static attributes. Static properties are attached to the class itself, for example lz.classname . -->

+    <attribute name="allocation" type="string" value="instance|class" />

+</class>

+

+</library>
\ No newline at end of file
diff --git a/test/core/lfc/node.lzx b/test/core/lfc/node.lzx
new file mode 100644
index 0000000..0c61599
--- /dev/null
+++ b/test/core/lfc/node.lzx
@@ -0,0 +1,72 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+<!---The base class for all Laszlo classes.

+JavaScript: lz.node

+The lz.node class provides the basic interface for OpenLaszlo objects: parent/child hierarchy, setters, interaction with the instantiator, and reference resolution. New nodes (and subclasses thereof) can be created by new-ing the class, like this: var mynode= new LzNode( parent , args ); where parent is the parent for the new node, and args is an Object whose name/value pairs are attributes to be set on the new node.  -->

+<class name="node" >

+<!---	A reference to the node that is an instance of the <class> where this node is defined. Members of state subclasses do not define classroot. This is convenient to use when you want to access an attribute of the class in a method or event handler that is nested deep in the node hierarchy. For example, to set the bgcolor of the class object, instead of parent.parent.parent.setAttribute(bgcolor, 0xFFFFFF) you can simply use classroot.setAttribute(bgcolor, 0xFFFFFF).  -->

+	<attribute name="classroot" />

+	<!---	If this node is replicated due to data replication, the LzReplicationManager which controls this node.  -->

+	<attribute name="cloneManager" />

+	<!---	The data context for the node -->

+	<attribute name="data" />

+	<!---	A shorthand version of <datapath>, specifies the data source for this node and its children. You write a string to datapath; reading datapath will yield a lz.datapath. If the value begins with an identifier followed by a colon, the identifier names a dataset, and the portion of the string after the colon is an XPath description of a portion of the data. Otherwise the entire attribute value is an XPath description of the data, relative to the data source of this node's parent element. Examples: "mydata:", "mydata:/a/b", "/a/b".  -->

+	<attribute name="datapath" />

+	<!---	An attribute used in container classes. If set to a non-null value, this forces this node to run its determinePlacement method for any node whose parent is this node. If the subnode has its own placement attribute, determinePlacement will be called with that value, otherwise it will be called with this value. Note that a class's defaultplacement attribute only applies to children in subclasses or in instances, not to the children of the class itself. This means that if a class and its subclass both define a defaultplacement attribute, the attribute will be set to one value before the subclass children are created and to a different one after they are created. See the determinePlacement method.  -->

+	<attribute name="defaultplacement" />

+	<!---	A unique identifier for this element. Can be used as a global variable name in JavaScript code.  -->

+	<attribute name="id" type="token"/>

+	<!---	Overrides placement attribute (and defaultplacement in lexical parent). See the LzNode.determinePlacement method. Defaults to false.  -->

+	<attribute name="ignoreplacement" />

+	<!---	Reference to this nodes's parent in the node hierarchy. This will be different from "parent" when a class uses placement or defaultplacement to assign a subnode a specific place. For example, always use immediateparent to get a mouse position in your views coordinate system.  -->

+	<attribute name="immediateparent" />

+	<!--	Indicates that a node's init method has been called. True when init has been called and the oninit event has been sent. The execution of the init method is under control of the initstage attribute.  -->

+	<attribute name="inited" type="boolean"/>

+	<!---	The execution of a node's init method and sending of the oninit event is under the control of its initstage attribute, as follows:

+

+immediate

+    The init method is called immediately as the last stage of instantiation. 

+early

+    The init method is called immediately after the view and its children have been instantiated. 

+normal

+    The init method is called when the parent is initialized. 

+late

+    The init method is called during idle time. To check whether init has been called, check the inited property. Force calling init using the completeInstantiation method. 

+defer

+    The init method will not be called unless explicitly requested by the completeInstantiation method. 

+

+	 -->

+	<attribute name="initstage" value="normal"/>

+	<!---	The name for this subnode. If given, then this node's parent and immediate parent will store a pointer to this node as the given name value.  -->

+	<attribute name="name" type="token"/>

+	<!---	The depth of this node in the overall node hierarchy -->

+	<attribute name="nodeLevel" type="number"/>

+	<!---	A CSS declaration of property: value pairs that modify the interaction of this node with controllers such as replicators and layouts. For example, setting options="ignorelayout: true" on a view will cause the view to not be controlled by any layout.

+[Note] 	Note

+The options that affect particular controllers and replicators are documented with each controller and replicator.

+[Note] 	Note

+options should not be accessed directly. You must use getOption and setOption to get or set the value of an option.  -->

+	<attribute name="options" />

+	<!---	Reference to the node that was passed as this node's ancestor in the constructor. If this node was created by declaring it in a tag, the parent will be its lexical parent. Its lexical parent is the tag that encloses it. Allow a null parent so that nodes can be garbage collected when they are no longer needed. See also, immediateparent.  -->

+	<attribute name="parent" />

+	<!---	Instructions to this element's container about where it should go within its container's internal hierarchy. See the LzNode.determinePlacement method. Defaults to the container itself.  -->

+	<attribute name="placement" />

+	<!---	

+A space-separated list of CSS classes that can be used in a stylesheet to select this node.  -->

+	<attribute name="styleclass" />

+	<!---	An array of all of the LzNodes which consider this LzNode their parent. This list is similar to the subviews list, but it contains all the children of this node, not just the view children.  -->

+	<attribute name="subnodes" />

+	<!---	Allows node attributes to be automatically animated when set. A string of transitions, according to the css3 transition spec http://dev.w3.org/csswg/css3-transitions/#the-transition-shorthand-property- e.g. 'x 2s'. Note that transition-delay is not currently supported. [transition-property || transition-duration || transition-timing-function || transition-delay [, [transition-property || transition-duration || transition-timing-function || transition-delay]]*  -->

+	<attribute name="transition" />

+	

+	<!---This is the first event a node sends, right at the end of the instantiation process, but before any subnodes have been created or references resolved -->

+	<event name="onconstruct" />

+	<!---The ondata script is executed when the data selected by a view's datapath changes. -->

+    <event name="ondata" />

+    <!---This event is sent after the node's init method has been called. Simple actions that need to occur after the node's children have been initialized can be assigned to this event. For more complex initialization, see the init method. -->

+    <event name="oninit" /> 

+

+</class>

+

+</library>
\ No newline at end of file
diff --git a/test/core/lfc/passthrough.lzx b/test/core/lfc/passthrough.lzx
new file mode 100644
index 0000000..11ecf0c
--- /dev/null
+++ b/test/core/lfc/passthrough.lzx
@@ -0,0 +1,35 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+            <!--- Provides a way to import SWF10 declarations. -->

+<class name="passthrough" extends="false">

+	<!--

+	The possible compile time constants are:

+

+    $runtime : string

+    $swf7 : boolean

+    $swf8 : boolean

+    $as2 : boolean

+    $swf9 : boolean

+    $swf10 : boolean

+    $as3 : boolean

+    $dhtml : boolean

+    $j2me : boolean

+    $svg : boolean

+    $js1 : boolean

+    $debug : boolean

+    $profile : boolean

+    $backtrace : boolean

+

+

+     <class name="microphone" extends="mediadevice">

+    <passthrough when="$as3">

+        import flash.media.*;

+    </passthrough>

+    

+	 -->

+	<attribute name="when" type="string"/>

+	

+</class>

+

+</library>
\ No newline at end of file
diff --git a/test/core/lfc/resource.lzx b/test/core/lfc/resource.lzx
new file mode 100644
index 0000000..6ef7d32
--- /dev/null
+++ b/test/core/lfc/resource.lzx
@@ -0,0 +1,17 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+            <!---A tag that defines a media object that can be associated with a view. -->

+<class name="resource" extends="false">

+<!---	The name of a variable that will be set to this object when the application is started. If this element is directly within a canvas or library element, the global variable and the canvas property with this name will be set to this object. If this element is within another object, that object's property with this name will be set to this object.  -->

+    <attribute name="name" />

+    <!---	The x offset of a bitmap resource used for a custom cursor. -->

+    <attribute name="offsetx" type="number" />

+    <!---	The y offset of a bitmap resource used for a custom cursor. -->

+    <attribute name="offsety" type="number"/>

+    <!---	The path of a file that contains the source for this object. -->

+    <attribute name="src" />

+    

+</class>

+

+</library>
\ No newline at end of file
diff --git a/test/core/lfc/script.lzx b/test/core/lfc/script.lzx
new file mode 100644
index 0000000..1f82618
--- /dev/null
+++ b/test/core/lfc/script.lzx
@@ -0,0 +1,11 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+            <!--- Client executed script -->

+

+<class name="script" extends="false">

+    <attribute name="src" type="string" />

+</class>

+

+

+</library>
\ No newline at end of file
diff --git a/test/core/lfc/setter.lzx b/test/core/lfc/setter.lzx
new file mode 100644
index 0000000..5e0cd7b
--- /dev/null
+++ b/test/core/lfc/setter.lzx
@@ -0,0 +1,10 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+            <!--- A tag to declare or override attribute setter methods. -->

+<class name="setter" extends="false">

+    <attribute name="name" type="string" />

+    <attribute name="args" type="string" />

+</class>

+

+</library>
\ No newline at end of file
diff --git a/test/core/lfc/splash.lzx b/test/core/lfc/splash.lzx
new file mode 100644
index 0000000..1a8d4d6
--- /dev/null
+++ b/test/core/lfc/splash.lzx
@@ -0,0 +1,17 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+<!--- Controls the presentation while the application is loading.  -->

+<class name="splash" extends="node">

+

+    <attribute name="persistent" />

+    <attribute name="center" />

+    <attribute name="name" />

+    <attribute name="ratio" />

+    <attribute name="resource" />

+    <attribute name="x" />

+    <attribute name="y" />

+

+</class>

+

+</library>
\ No newline at end of file
diff --git a/test/core/lfc/state.lzx b/test/core/lfc/state.lzx
new file mode 100644
index 0000000..24bcde7
--- /dev/null
+++ b/test/core/lfc/state.lzx
@@ -0,0 +1,29 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+<!---  A description of an instance hierarchy that can be applied and removed at runtime.

+JavaScript: lz.state 

+

+A state is an object that holds its children and attributes for creation or application at a later time when the state's apply method is called. In addition to representing visual state by adding and removing children from a view, states are often used to control constraints which are applied and removed at different times during the run of an application.

+

+For the most part, the declarative style used in OpenLaszlo applications represents an initial state for the application. All modification to application state can be made using the script API's, but it is often convenient to declaratively describe a bit of application state which may be selectively applied or removed at runtime. The <state> tag is provided for this purpose.

+

+Everything within a <state> tag acts as if it were written inside the parent when the state is applied. States can contain attributes, methods, and other nodes.

+

+When a state is removed, any children or constraints created when the state was applied are then removed, but attributes that were set by the application of the state are not restored. 

+

+ -->         

+<class name="state" extends="node">

+    

+    <!--- 

+        Whether or not the state is applied. setAttribute('applied', true) will apply the state. setAttribute('applied', false) will remove the state.

+         -->

+    <attribute name="applied" value="false" type="boolean" />

+    <!---

+        If true, the state will merely hide any views it has created when it is removed (not applied), instead of destroying them. 

+         -->

+    <attribute name="pooling" value="false" type="boolean" />

+    

+</class>

+

+</library>
\ No newline at end of file
diff --git a/test/core/lfc/text.lzx b/test/core/lfc/text.lzx
new file mode 100644
index 0000000..38c5472
--- /dev/null
+++ b/test/core/lfc/text.lzx
@@ -0,0 +1,78 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+            <!---The basic text display element. -->

+<class name="text" extends="view">

+<!--- Antialias type for this text, Flash only One of:  "normal" | "subpixel" | "advanced" -->

+	<attribute name="antiAliasType" value="normal|subpixel|advanced" />

+	<!---  An alias for the text attribute, but with the type cdata, allowing it to be bound to a value that should not be interpreted as markup (when data binding, CSS style binding, or ??? or ???). -->

+	<attribute name="cdata" />

+	<!---  Text direction, either "ltr" (default) or "rtl", Flash only -->

+	<attribute name="direction" />

+	<!---  Grid fit for this text, Flash only One of:  "none" | "pixel" | "subpixel" -->

+	<attribute name="gridFit" value="none|pixel|subpixel"/>

+	<!---  The horizontal scroll position in pixels. Default 0. NOTE: A constraint or handler on onhscroll will automatically enable updating the attribute. -->

+	<attribute name="hscroll" type="number" />

+	<!---  letterspacing accepts any number which is interpreted as a px value -->

+	<attribute name="letterspacing" type="number" />

+	<!--- The height of a line of text in the current style -->

+	<attribute name="lineheight" type="number" />

+	<!---  The maximum horizontal scroll position in pixels. this.setAttribute('hscroll', this.maxhscroll) will cause the end of content to be visible at the edge of the view. (The rightmost content will appear at the right edge of the view for left-to-right scripts, hence this is the pixel position of the leftmost pixel that will appear in the view when scrolled all the way to the right.) NOTE: A constraint or handler on onmaxhscroll will automatically enable updating the attribute. -->

+	<attribute name="maxhscroll" type="number" />

+	<!---  Maximum number of characters allowed in this field -->

+	<attribute name="maxlength" type="number" />

+	<!---  The maximum vertical scroll position (in lines, 1-based). this.setAttribute('scroll', this.maxscroll) will cause the last line of the content to be visible at the bottom of the view (hence this is the line number of the line that will appear at the top of the view when scrolled all the way to the bottom). NOTE: A constraint or handler on onmaxscroll will automatically enable updating the attribute.  -->

+	<attribute name="maxscroll" type="number" />

+	<!---  If true, the lines of text are wrapped to fit within the text width. (The name multiline is a misnomer. Unwrapped text can be multiple lines if it contains a <br /> or <p> element, or a line break within a <pre> element. This attribute defaults to true if width and height are explicitly specified. If you set multiline=true, you probably want to explicitly a width for the text also; if multiline=true and you do not specify a width, the system will pick an arbitrary width (100 pixels at the moment). When multiline=true, the text is automatially re-wrapped whenever the content is modified by calls to setText, or whenever the width of the text view is modified. -->

+	<attribute name="multiline" type="boolean" />

+	<!---  regexp describing set of characters allowed in this field Restrict the characters that can be entered to a pattern specified by a regular expression. Currently only the expression [ ]* enclosing a set of characters or character ranges, preceded by an optional "^", is supported. examples: [0-9]* , [a-zA-Z0-9]*, [^0-9]* -->

+	<attribute name="pattern" />

+	<!---  If true, the width of the text field will be recomputed each time text is changed, so that the text view is exactly as wide as the width of the widest line. Defaults to true. -->

+	<attribute name="resize" type="boolean" />

+	<!---  The vertical scroll position (in lines, 1-based). Default 1.-->

+	<attribute name="scroll" type="number"/>

+	<!---  Use setAttribute('scrollevents', true) to cause scroll events to be sent. NOTE: A constraint or handler on onyscroll, onscroll, onxscroll, onhscroll, onscrollheight, onmaxscroll, onscrollwidth or onmaxhscroll will automatically enable scrollevents. -->

+	<attribute name="scrollevents" type="boolean" />

+	<!---  The total height of the content in pixels. this.setAttribute('height', this.scrollheight) is equivalent to this.setAttribute('height', null) (for the current content: the former will not follow content changes as the latter does). If this.scrollheight > this.height, this.setAttribute('yscroll', this.height - this.scrollheight) will scroll the content so that the bottom of the content appears in the bottom of the view. NOTE: A constraint or handler on onscrollheight will automatically enable updating the attribute. -->

+	<attribute name="scrollheight" type="number" />

+	<!---  The total width of the content in pixels. this.setAttribute('width', this.scrollwidth) is equivalent to this.setAttribute('width', null) (for the current content: the former will not follow content changes as the latter does). If this.scrollwidth > this.width, this.setAttribute('yscroll', this.width - this.scrollwidth) will cause the end of content to be visible at the edge of the view. (The rightmost content will appear at the right edge of the view for left-to-right scripts.) NOTE: A constraint or handler on onscrollwidth will automatically enable updating the attribute. -->

+	<attribute name="scrollwidth" type="number" />

+	<!---  If true, the text is selectable -->

+	<attribute name="selectable" type="boolean"/>

+	<!---  The sharpness for this text, between -400 and 400, Flash only-->

+	<attribute name="sharpness" type="number" />

+	<!---  The text to display in this text field. If set to a value that is not a string, the value will first be converted to a string as if by String(value). To display nothing, set the value to the empty string "". -->

+	<attribute name="text" />

+	<!---  textalign accepts one of [left, right, center, justify]-->

+	<attribute name="textalign" />

+	<!---  text-decoration for this text, either 'none' or 'underline'.-->

+	<attribute name="textdecoration" />

+	<!---  textindent accepts any number which is interpreted as a px value-->

+	<attribute name="textindent" type="number"/>

+	<!---  The thickness for this text, between -200 and 200, Flash only-->

+	<attribute name="thickness" type="number"/>

+	<!---  The x scroll offset of the content in pixels (a negative number specifying how many pixels the content should be scrolled horizontally). Default 0. NOTE: A constraint or handler on onxscroll will automatically enable updating the attribute. -->

+	<attribute name="xscroll" type="number"/>

+	<!---  The y scroll offset of the content in pixels (a negative number specifying how many pixels the content should be scrolled vertically). Default 0. NOTE: A constraint or handler on onyscroll will automatically enable updating the attribute. -->

+	<attribute name="yscroll" type="number"/>

+

+	<event name="ondirection" />      

+	<event name="onhscroll"/>   

+	<event name="onlineheight"/>     

+	<event name="onmaxhscroll"/>     

+	<event name="onmaxlength"/>      

+	<event name="onmaxscroll"/>       

+	<event name="onpattern"/>  

+	<event name="onscroll"/>     

+	<event name="onscrollevents"/>   

+	<event name="onscrollheight"/>   

+	<event name="onscrollwidth"/>    

+	<event name="onselectable"/> 

+	<!--_Sent when a clickable HTML link in the text field is clicked. Event data is a string with the link value. See the makeTextLink method. -->    

+	<event name="ontextlink"/>  

+	<event name="onxscroll"/>    

+	<event name="onyscroll"/>

+

+</class>

+

+</library>
\ No newline at end of file
diff --git a/test/core/lfc/view.lzx b/test/core/lfc/view.lzx
new file mode 100644
index 0000000..5ac8e1b
--- /dev/null
+++ b/test/core/lfc/view.lzx
@@ -0,0 +1,246 @@
+<library xmlns="http://localhost/openlaszlo/lzx" 

+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

+            xsi:schemaLocation="http://localhost/openlaszlo/lzx ./../../../lzx.xsd">

+            <!--- The <view> is the most basic viewable element in an OpenLaszlo application. Anything that is displayed on the canvas is a view or extends the view class. A view is a rectangle, which can be visible or invisible, and which can contain other views or display "resources" such as images, .swf files, or other supported media. One view controls one displayable resource. The view system is strictly hierarchical; that is, each view has a single parent but can have multiple children.  -->

+<class name="view" extends="node" >

+ <!--- 	Activate/inactivate children for accessibility -->

+	<attribute name="aaactive" type="boolean" />

+	<attribute name="aadescription" />

+	<!--- 	Set accessibility description -->

+	<attribute name="aaname" />

+	<!--- 	Set accessibility silencing/unsilencing -->

+	<attribute name="aasilent" type="boolean"/>

+	<!---	Set accessibility tab order -->

+	<attribute name="aatabindex" type="number" />

+	<!---Sets the alignment for the view to the given value. The alignment is based on the size of this view as compared to the size of the view's immediate parent. 

+	One of: 	"left" | "center" | "right" | constraint -->

+	<attribute name="align" type="string" value="left"/>

+	<!---	Setting backgroundrepeat causes a view to repeat its resource to fit the view's width and/or height. Can be 'repeat', 'repeat-x', 'repeat-y' or 'norepeat' per the CSS1 background-repeat style. 

+	One of: 	"repeat" | "repeat-x" | "repeat-y" | "norepeat" -->

+	<attribute name="backgroundrepeat" value="norepeat" type="string" />

+	<!---	The background color of the view. Setting bgcolor to null will make the view transparent. May be set to any valid CSS color specification. When read, will be read as the equivalent numeric value. To retrieve a CSS color specification, use this.presentAttribute('bgcolor', 'color'). Default is null (transparent).  -->

+	<attribute name="bgcolor" type="color"/>

+	<!---	A value of true means that this view's bitmap will be cached, if available. -->

+	<attribute name="cachebitmap" type="boolean" value="false"/>

+	<!---An object containing properties corresponding to the current runtime's capabilities. For example, capabilities.rotation is true in swf and recent versions of Safari and Firefox.  -->

+	<attribute name="capabilities" />

+	<!---	If true, this view intercepts click events; otherwise they are passed to its container. This defaults to true if the view defines a mouse event handler or a cursor. -->

+	<attribute name="clickable" type="boolean" value="false"/>

+	<!---	Setting to a vector-based resource changes the clickable hotspot for the mouse. Check capabilities.clickregion before using to avoid debugger warnings.  -->

+	<attribute name="clickregion" />

+	<!--- 	Clip the view's contents to its size. -->

+	<attribute name="clip" type="boolean" value="false"/>

+	<!---	color transforms everything contained in the view (except the background) by the transformation dictionary given in o. The dictionary has the following possible keys: o.redMultiplier: multiplier for red component (0 to 1) defaults to 1 o.redOffset: offset for red component (-255 to 255) defaults to 0 o.greenMultiplier: multiplier for green component (0 to 1) defaults to 1 o.greenOffset: offset for green component (-255 to 255) defaults to 0 o.blueMultiplier: multiplier for blue component (0 to 1) defaults to 1 o.blueOffset: offset for blue component (-255 to 255) defaults to 0 o.alphaMultiplier: multiplier for alpha component (0 to 1) defaults to 1 o.alphaOffset: offset for alpha component (-255 to 255) defaults to 0  -->

+	<attribute name="colortransform" type="expression"/>

+	<!--- 	Contains a reference to the raw drawing context. The oncontext event is sent when the context is ready to use, which can take some time in IE DHTML.  -->

+	<attribute name="context" type="expression"/>

+	<!---The context menu installed on this view -->

+	<attribute name="contextmenu" />

+	<!---	The corner radius for the background, e.g. '4' or a list of up to 8 numbers '4 0 0 4 / 2 0 0 2'. Per http://www.w3.org/TR/css3-background/#the-border-radius the 8 values for each radii are given in the order top-left, top-right, bottom-right, bottom-left. If you use the '/' notation, the values before the slash are the horizontal radii, and the values after the slash are the vertical radii.  -->

+	<attribute name="cornerradius" />

+	<!---	The cursor to display when the mouse is over this view. Any resource ID can be used as a cursor, or '' for the default cursor. This attribute can be set for any view with clickable=true.  -->

+	<attribute name="cursor" />

+	<!---The foreground color of any <text> or <inputtext> elements that appear inside this view. To apply a color transform, see tintcolor. May be set to any valid CSS color specification. When read, will be read as the equivalent numeric value. To retrieve a CSS color specification, use this.presentAttribute('fgcolor', 'color'). Default is 0 (black).  -->

+	<attribute name="fgcolor" type="number"/>

+	<!---	If true, this view will receive focus events. See focus manager (lz.Focus) for more details.  -->

+	<attribute name="focusable" type="boolean"/>

+	<!---	If true, this view "traps" the focus, for example in a window or dialog. See focus manager (lz.Focus) for more details.  -->

+	<attribute name="focustrap" type="boolean"/>

+	<!---	The font to use for any <text> or <inputtext> elements that appear inside this view. Like all the font properties (fontstyle and fontsize too) these properties cascade down the view hierarchy until a new value is specified.  -->

+	<attribute name="font" />

+	<!---	Pixel size to use to render text which appears inside this view. The default is 8.  -->

+	<attribute name="fontsize" />

+	<!---	The style to use to render text fields that appear inside of this view. One of "plain", "bold" , "italic" or "bolditalic".  -->

+	<attribute name="fontstyle" />

+	<!---	If this view has a multi-frame resource, this allows setting which resource frame is displayed. Defaults to the first frame (1). See also the resource attribute. Setting this attribute will change the frame that is being displayed by the resource associated with this view. The first frame of the resource is frame 1. Setting a view's 'donttrackplay' option to true will allow the view's resource to play without updating the value of the view's frame property. This can save CPU usage in cases where the application doesn't need to know what frame the resource is showing while it is playing.  -->

+	<attribute name="frame" type="number"/>

+	<!---	For views whose resource is loaded at runtime, the ratio of the loaded frames to the total frames. This is a number between zero and 1.  -->

+	<attribute name="framesloadratio" type="number"/>

+	<!---If true, sprite will use TLF text framework class that supports bidirectional text layout. -->

+	<attribute name="hasdirectionallayout" type="number"/>

+	<!---	If true, then this view has an assigned or constrained height, and the view will not be sized to its contents.  -->

+	<attribute name="hassetheight" type="boolean"/>

+	<!---	If true, then this view has an assigned or constrained width, and the view will not be sized to its contents.  -->

+	<attribute name="hassetwidth" type="boolean"/>

+	<!---	The height of the view. Can be set to either a number, or null, to indicate that the view should be sized to hold its content. If the view is set to stretch its resource, the resource will be resized to the new value. When read, reflects the actual size of the view.  -->

+	<attribute name="height" type="number"/>

+	<!---	A CSS declaration of property: value pairs of layout attributes, which are used to create a layout that is attached to this view. If there is a class property, it names the class of the layout to be created, otherwise <simplelayout> is used. To remove the previously set layout, use {'class': 'none'} Examples: layout="axis: x", layout="class: constantlayout", layout="axis: y", layout="axis: x; spacing: 5".  -->

+	<attribute name="layout" />

+	<!---	For views whose resource is loaded at runtime, ratio of the loaded bytes to the total bytes. This is a number between zero and 1.  -->

+	<attribute name="loadratio" />

+	<!---	Reference to closest masked view in the hierarchy at or above this one  -->

+	<attribute name="mask" />

+	<!---	The opacity of the view's contents. 1.0 is opaque; 0.0 is totally transparent (invisible).  -->

+	<attribute name="opacity" type="number" />

+	<!--- 	The view system supports sub-pixel positioning to enable smooth animation. This may be turned off to make the view snap to a pixel boundary by setting pixellock to true.  -->

+	<attribute name="pixellock" />

+	<!---	If true, this view is currently playing. Setting to true causes the view to play, false causes playback to stop. -->

+	<attribute name="playing" type="boolean"/>

+	<!---	The url of the proxy server, if the app is running in proxied mode. proxyurl can be null, a URL string, or a function.

+

+    If the value is a string, treat it as a URL to the proxy server.

+    If the value is a function, it should return the URL of the proxy server.

+

+The default proxy policy references the proxyurl of the canvas.  -->

+	<attribute name="proxyurl" />

+	<!---A resource that is presented in the background of this view. The value can be either the name of a resource defined with the resource tag, a URL, or a pathname. If the value is a URL, the resource is requested when the view is displayed. If it's a pathname, the file named by the pathname is compiled into the application, and attached to this view.  -->

+	<attribute name="resource" />

+	<!---	The height of the resource that this view attached -->

+	<attribute name="resourceheight" type="number"/>

+	<!---The width of the resource that this view attached -->

+	<attribute name="resourcewidth" type="number"/>

+	<!---	The rotation value for the view (in degrees). Value may be less than zero or greater than 360.  -->

+	<attribute name="rotation" type="number" value="0"/>

+	<!---	The angle for the drop shadow, in degrees -->

+	<attribute name="shadowangle" type="number" value="0"/>

+	<!---The blur radius for the drop shadow, in pixels. A negative value will cause the shadow to be inset. -->

+	<attribute name="shadowblurradius" type="number" value="4"/>

+	<!---The color for the drop shadow -->

+	<attribute name="shadowcolor" />

+	<!---	The distance for the drop shadow, in pixels -->

+	<attribute name="shadowdistance" />

+	<!---	Show or hide the hand cursor for this view, if clickable -->

+	<attribute name="showhandcursor" type="boolean"/>

+	<!---	The URL from which to load the resource for this view. If this attribute is set, the media for the view is loaded at runtime.  -->

+	<attribute name="source" />

+	<!---	Setting stretches causes a view to change its coordinate space so that everything it contains (resources and other views) fit exactly into the view's width and/or height. The default for this property is "none". This is used to resize a view's contents by setting its width and/or height. 

+	One of: 	"width" | "height" | "both" | "none" -->

+	<attribute name="stretches" value="none"/>

+	<!---	An array of the subviews that are children of this view. This is initialized to an empty array for views that have no subviews.  -->

+	<attribute name="subviews" />

+	<!---	Sets the color offset, based on a hexadecimal color string, e.g. '#ff00ff'. See setColorTransform() for details. -->

+	<attribute name="tintcolor" />

+	<!---	The total number of frames for this view's resource. -->

+	<attribute name="totalframes" type="number"/>

+	<!---	If stretches is not set to none, the height that this view would be if it weren't stretched. This attribute can be used to scale a view by a percentage of its original size, or to determine the aspect ratio for a view.  -->

+	<attribute name="unstretchedheight" type="number"/>

+	<!---	If stretches is not set to none, the width that this view would be if it weren't stretched. This attribute can be used to scale a view by a percentage of its original size, or to determine the aspect ratio for a view.  -->

+	<attribute name="unstretchedwidth" type="number"/>

+	<!---	True if this view requires a call to getBounds() for accurate width and height measurement. This may be necessary when an offset or rotation are applied.  -->

+	<attribute name="usegetbounds" type="boolean"/>

+	<!---	Sets the vertical alignment for the view to the given value. The alignment is based on the height of this view as compared to the height of the view's immediateparent. 

+	One of: 	"top" | "middle" | "bottom" | constraint -->

+	<attribute name="valign" value="top"/>

+	<!---	A value of "visible" means that this view is shown. A value of "hidden" means that this view is hidden. Setting this attribute to "collapse" means that the runtime will hide this view when: its opacity is zero, it has a datapath that does not match a node, or it is loading its media. In this case, the the value of the 'visible' attribute of the view will reflect the view's current visible state. 

+	One of: hidden|visible|collapse -->

+	<attribute name="visibility" value="collapse"/>

+	<!---	A value of true means that this view is shown. A value of false means that this view is hidden. Note that an otherwise clickable view that is not visible will have no click region and will not be clickable.  -->

+	<attribute name="visible" type="boolean"/>

+	<!---The width of the view. Can be set to either a number, or null, to indicate that the view should be sized to hold its content. If the view is set to stretch its resource, the resource will be resized to the new value. When read, reflects the actual size of the view.  -->

+	<attribute name="width" type="number"/>

+	<!---	The horizontal offset of this view's upper left corner from the upper left corner of its container.  -->

+	<attribute name="x" type="number"/>

+	<!---	Specifies a translation point for drawing of this view. If the xoffset is set, then rotation and x position will be calculated by first adding the xoffset.  -->

+	<attribute name="xoffset" type="number"/>

+	<!---	Specifies this horizontal scale for this and all child views. -->

+	<attribute name="xscale" type="number" value="1"/>

+	<!---	The vertical offset of this view's upper left corner from the upper left corner of its container  -->

+	<attribute name="y" type="number"/>

+	<!---Specifies a translation point for drawing of this view. If the yoffset is set, then rotation and y position will be calculated by first adding the yoffset.  -->

+	<attribute name="yoffset" type="number"/>

+	<!---	Specifies this vertical scale for this and all child views. -->

+	<attribute name="yscale" type="number" value="1"/>

+	

+	<!-- extra attributes -->

+	<attribute name="with" />

+	

+	

+	<!---Event called when this view adds a subview -->   

+	<event name="onaddsubview" />

+	<!--- event for changes to view's backgroundrepeat property -->

+    <event name="onbackgroundrepeat" />

+    <!---  The onblur event is sent when an element loses focus either by the pointing device or by tabbing navigation.--> 

+    <event name="onblur" />

+    <!---   The onclick event is sent when the pointing device button is clicked over an element.--> 

+    <event name="onclick" />

+    <!--- Event for changes to view's clickable property--> 

+    <event name="onclickable" />

+    <!--- The onclip event is sent when the clip attribute of a view is changed--> 

+    <event name="onclip" />

+    <!--- Sent when the drawing context is ready to use, which can take some time in IE DHTML.-->

+    <event name="oncontext" /> 

+    <!--- Sent when cornerradius changes-->

+    <event name="oncornerradius" />

+    <!--- The ondblclick event is sent when the pointing device button is double clicked over an element.-->

+    <event name="ondblclick" /> 

+    <!--- Sent when there is an error loading the view's resource. The argument sent with the event is an error string.-->

+    <event name="onerror" />

+    <!--- The onfocus event is sent when an element receives focus either by the pointing device or by tabbing navigation.-->

+    <event name="onfocus" />

+    <!--- Sent onidle while view is playing its resource-->

+    <event name="onframe" /> 

+    <!--- Sends a percentage (0-1) reflecting the number of frames downloaded.-->

+    <event name="onframesloadratio" /> 

+    <!---The ongesture event is sent when a touch device receives a gesture event. The value sent with the event is an object with two properties: scale and rotation. Currently supported only in iOS on DHTML. -->

+    <event name="ongesture" />

+    <!--- Event for changes to view's height property-->

+    <event name="onheight" />

+    <!--- The onkeydown event is sent when this view has the focus and a key is pressed down. Multiple key down events are sent for a key that is held down. If you want the script executed only once, use onkeyup. This event is sent with the keycode for the key that is down.-->

+    <event name="onkeydown" />

+    <!--- The onkeyup event is sent when this view has the focus and a key is released. This event is sent with the keycode for the key that went up. -->

+    <event name="onkeyup" />

+    <!---Sent when the view sets its frame (resource number) to the last frame. This can be used to find out when a streaming media clip is done playing. -->

+    <event name="onlastframe" />

+    <!---Send when the view finishes loading media. -->

+    <event name="onload" />

+    <!---Sends a percentage (0-1) reflecting the amount of a media file that's been downloaded. -->

+    <event name="onloadratio" />

+    <!---The onmousedown event is sent when the pointing device button is pressed over an element. -->

+    <event name="onmousedown" />

+    <!---The onmousedragin event is sent when the pointing device button has moved off the element and back on again while the button is down. -->

+    <event name="onmousedragin" />

+    <!---The onmousedragout event is sent when the pointing device is moved off the element while the button is down. down. -->

+    <event name="onmousedragout" /> 

+    <!---The onmouseout event is sent when the pointing device is moved so that is is no longer over an element. -->

+    <event name="onmouseout" />

+    <!---The onmouseover event is sent when the pointing device is moved onto an element. -->

+    <event name="onmouseover" />

+    <!---Sent when the mouse leaves the visible area of a view that previously sent an 'ontrackover' event. -->

+    <event name="onmousetrackout" />

+    <!---Sent when the mouse is over a view that is registered to an active track group. -->

+    <event name="onmousetrackover" />

+    <!---Sent when the mouse button is released over a view that is registered to an active track group. -->

+    <event name="onmousetrackup" />

+    <!---The onmouseup event is sent when the pointing device button is released over an element. -->

+    <event name="onmouseup" />

+    <!---The onmouseup event is sent when the pointing device button is released outside the element it went down on. -->

+    <event name="onmouseupoutside" />

+    <!---Sent when a view changes its opacity -->

+    <event name="onopacity" />

+    <!---Sent when a view begins playing its resource -->

+    <event name="onplay" />

+    <!---Sent when a view begins playing its resource -->

+    <event name="onplaying" />

+    <!---Event called when this view removes a subview -->

+    <event name="onremovesubview" />

+    <!---Sent when shadowangle changes -->

+    <event name="onshadowangle" />

+    <!---Sent when shadowblurradius changes -->

+    <event name="onshadowblurradius" />

+    <!---Sent when shadowcolor changes -->

+    <event name="onshadowcolor" />

+    <!---Sent when shadowdistance changes -->

+    <event name="onshadowdistance" />

+    <!---Sent when a view's resource that is capable of playing is stopped. This is only called if stop is called directly; when a resource hits its last frame, the lz.view event onlastframe is called. -->

+    <event name="onstop" />

+    <!---Sent when the request to load media for the view times out -->

+    <event name="ontimeout" />

+    <!---The ontouch event is sent when a touch device receives a multitouch event. The value sent with the event is an array of objects with with two properties: clientX and clientY. Currently supported only in iOS on DHTML. Note that Android Webkit doesn't send multitouch events - see http://www.quirksmode.org/mobile/tableTouch.html -->

+    <event name="ontouch" />

+    <!---Sent when the view changes visibility (true/false) -->

+    <event name="onvisible" />

+    <!---event for changes to view's width property -->

+    <event name="onwidth" />

+    <!---event for changes to view's x property -->

+    <event name="onx" />

+    <!---event for changes to view's y property --> 

+    <event name="ony" />

+    

+    <!--- This element is only available in the splash SWF specific -->

+    <attribute name="center" type="boolean"/>

+    <!--- This element is only available in the splash SWF specific -->

+    <attribute name="ratio" type="boolean"/>

+	

+</class>

+

+</library>
\ No newline at end of file
diff --git a/test/core/static_simpleTypes.txt b/test/core/static_simpleTypes.txt
new file mode 100644
index 0000000..fe04b05
--- /dev/null
+++ b/test/core/static_simpleTypes.txt
@@ -0,0 +1,88 @@
+  <xs:simpleType name="booleanLiteral">

+    <xs:restriction base="xs:boolean"/>

+  </xs:simpleType>

+  <xs:simpleType name="colorLiteral">

+    <xs:restriction base="xs:string"/>

+  </xs:simpleType>

+  <xs:simpleType name="numberLiteral">

+    <xs:restriction base="xs:double"/>

+  </xs:simpleType>

+  <xs:simpleType name="sizeLiteral">

+    <xs:restriction base="xs:double">

+      <xs:minInclusive value="0"/>

+    </xs:restriction>

+  </xs:simpleType>

+  <xs:simpleType name="inheritableBooleanLiteral">

+    <xs:union memberTypes="lzx:booleanLiteral">

+      <xs:simpleType>

+        <xs:restriction base="xs:token">

+          <xs:enumeration value="inherit"/>

+        </xs:restriction>

+      </xs:simpleType>

+    </xs:union>

+  </xs:simpleType>

+  <xs:simpleType name="constraint">

+    <xs:restriction base="xs:string">

+      <xs:pattern value="$(style|path|immediately|once|always)?\{.*\}"/>

+    </xs:restriction>

+  </xs:simpleType>

+  <xs:simpleType name="boolean">

+    <xs:union memberTypes="lzx:booleanLiteral lzx:constraint">

+    <xs:simpleType>

+        <xs:restriction base="xs:token">

+          <xs:enumeration value="null"/>

+        </xs:restriction>

+      </xs:simpleType>

+    </xs:union>

+  </xs:simpleType>

+  <xs:simpleType name="booleanOrNull">

+    <xs:union memberTypes="lzx:boolean">

+      <xs:simpleType>

+        <xs:restriction base="xs:token">

+          <xs:enumeration value="null"/>

+        </xs:restriction>

+      </xs:simpleType>

+    </xs:union>

+  </xs:simpleType>

+  <xs:simpleType name="color">

+    <xs:union memberTypes="lzx:colorLiteral lzx:constraint"/>

+  </xs:simpleType>

+  <xs:simpleType name="expression">

+    <xs:restriction base="xs:string"/>

+  </xs:simpleType>

+  <xs:simpleType name="reference">

+    <xs:restriction base="xs:string"/>

+  </xs:simpleType>

+  <xs:simpleType name="number">

+    <xs:union memberTypes="lzx:numberLiteral lzx:constraint xs:string"/>

+  </xs:simpleType>

+  <xs:simpleType name="token">

+    <xs:union memberTypes="xs:token"/>

+  </xs:simpleType>

+  <xs:simpleType name="size">

+    <xs:union memberTypes="lzx:sizeLiteral lzx:constraint"/>

+  </xs:simpleType>

+  <xs:simpleType name="numberExpression">

+    <xs:restriction base="xs:string"/>

+  </xs:simpleType>

+  <xs:simpleType name="sizeExpression">

+    <xs:restriction base="xs:string"/>

+  </xs:simpleType>

+  <xs:simpleType name="css">

+    <xs:restriction base="xs:string"/>

+  </xs:simpleType>

+  <xs:simpleType name="opacity">

+    <xs:union memberTypes="lzx:constraint">

+      <xs:simpleType>

+        <xs:restriction base="xs:double">

+          <xs:minInclusive value="0.0"/>

+          <xs:maxInclusive value="1.0"/>

+        </xs:restriction>

+      </xs:simpleType>

+    </xs:union>

+  </xs:simpleType>

+  <xs:simpleType name="percentage">

+    <xs:restriction base="xs:string">

+      <xs:pattern value="(\d+(.\d?)|.\d+)%"/>

+    </xs:restriction>

+  </xs:simpleType>
\ No newline at end of file
diff --git a/test/filename1.wml b/test/filename1.wml
new file mode 100644
index 0000000..6e4e7e2
--- /dev/null
+++ b/test/filename1.wml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<whiteboard>
+    <item>
+        <itemname>letter</itemname>
+        <textforfield>asdasdasd</textforfield>
+        <fgcolor>0</fgcolor>
+        <fontsize>15</fontsize>
+        <fontstyle>plain</fontstyle>
+        <x>69</x>
+        <y>98</y>
+        <width>118</width>
+        <height>22</height>
+        <layername>letter1</layername>
+    </item>
+    <item>
+        <itemname>paint</itemname>
+        <points>
+            <point val1="157" val2="35" val3="157" val4="35"/>
+            <point val1="157" val2="35" val3="88" val4="44"/>
+            <point val1="88" val2="44" val3="37" val4="61"/>
+            <point val1="37" val2="61" val3="27" val4="75"/>
+            <point val1="27" val2="75" val3="21" val4="101"/>
+            <point val1="21" val2="101" val3="25" val4="138"/>
+            <point val1="25" val2="138" val3="46" val4="172"/>
+            <point val1="46" val2="172" val3="108" val4="206"/>
+            <point val1="108" val2="206" val3="168" val4="222"/>
+            <point val1="168" val2="222" val3="239" val4="214"/>
+            <point val1="239" val2="214" val3="271" val4="184"/>
+            <point val1="271" val2="184" val3="285" val4="131"/>
+            <point val1="285" val2="131" val3="277" val4="98"/>
+            <point val1="277" val2="98" val3="265" val4="74"/>
+            <point val1="265" val2="74" val3="256" val4="58"/>
+        </points>
+        <fillstyle>0x000000</fillstyle>
+        <linewidth>5</linewidth>
+        <strokestyle>0</strokestyle>
+        <x>20</x>
+        <y>34</y>
+        <width>264</width>
+        <height>187</height>
+        <layername>paint2</layername>
+    </item>
+    <item>
+        <itemname>line</itemname>
+        <fillstyle>0x000000</fillstyle>
+        <linewidth>5</linewidth>
+        <strokestyle>255</strokestyle>
+        <startx>328</startx>
+        <starty>63</starty>
+        <endx>290</endx>
+        <endy>363</endy>
+        <x>286.5</x>
+        <y>59.5</y>
+        <width>43</width>
+        <height>305</height>
+        <layername>line8</layername>
+    </item>
+    <item>
+        <itemname>rectangle</itemname>
+        <stroke>0</stroke>
+        <line>5</line>
+        <x>100</x>
+        <y>277</y>
+        <width>109</width>
+        <height>168</height>
+        <layername>rectangle14</layername>
+    </item>
+    <item>
+        <itemname>uline</itemname>
+        <fillstyle>0x000000</fillstyle>
+        <linewidth>20</linewidth>
+        <strokestyle>16776960</strokestyle>
+        <startx>58</startx>
+        <starty>124</starty>
+        <endx>155</endx>
+        <endy>126</endy>
+        <x>47</x>
+        <y>113</y>
+        <width>117</width>
+        <height>22</height>
+        <layername>uline21</layername>
+    </item>
+</whiteboard>
diff --git a/test/original_lzx.xsd b/test/original_lzx.xsd
new file mode 100644
index 0000000..c875de0
--- /dev/null
+++ b/test/original_lzx.xsd
@@ -0,0 +1,1204 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.laszlosystems.com/2003/05/lzx" xmlns:lzx="http://www.laszlosystems.com/2003/05/lzx">

+  <xs:simpleType name="booleanLiteral">

+    <xs:restriction base="xs:boolean"/>

+  </xs:simpleType>

+  <xs:simpleType name="colorLiteral">

+    <xs:restriction base="xs:string"/>

+  </xs:simpleType>

+  <xs:simpleType name="numberLiteral">

+    <xs:restriction base="xs:double"/>

+  </xs:simpleType>

+  <xs:simpleType name="sizeLiteral">

+    <xs:restriction base="xs:double">

+      <xs:minInclusive value="0"/>

+    </xs:restriction>

+  </xs:simpleType>

+  <xs:simpleType name="inheritableBooleanLiteral">

+    <xs:union memberTypes="lzx:booleanLiteral">

+      <xs:simpleType>

+        <xs:restriction base="xs:token">

+          <xs:enumeration value="inherit"/>

+        </xs:restriction>

+      </xs:simpleType>

+    </xs:union>

+  </xs:simpleType>

+  <xs:simpleType name="constraint">

+    <xs:restriction base="xs:string">

+      <xs:pattern value="$(style|path|immediately|once|always)?\{.*\}"/>

+    </xs:restriction>

+  </xs:simpleType>

+  <xs:simpleType name="boolean">

+    <xs:union memberTypes="lzx:booleanLiteral lzx:constraint"/>

+  </xs:simpleType>

+  <xs:simpleType name="booleanOrNull">

+    <xs:union memberTypes="lzx:boolean">

+      <xs:simpleType>

+        <xs:restriction base="xs:token">

+          <xs:enumeration value="null"/>

+        </xs:restriction>

+      </xs:simpleType>

+    </xs:union>

+  </xs:simpleType>

+  <xs:simpleType name="color">

+    <xs:union memberTypes="lzx:colorLiteral lzx:constraint"/>

+  </xs:simpleType>

+  <xs:simpleType name="script">

+    <xs:restriction base="xs:string"/>

+  </xs:simpleType>

+  <xs:simpleType name="expression">

+    <xs:restriction base="xs:string"/>

+  </xs:simpleType>

+  <xs:simpleType name="reference">

+    <xs:restriction base="xs:string"/>

+  </xs:simpleType>

+  <xs:simpleType name="number">

+    <xs:union memberTypes="lzx:numberLiteral lzx:constraint"/>

+  </xs:simpleType>

+  <xs:simpleType name="size">

+    <xs:union memberTypes="lzx:sizeLiteral lzx:constraint"/>

+  </xs:simpleType>

+  <xs:simpleType name="numberExpression">

+    <xs:restriction base="xs:string"/>

+  </xs:simpleType>

+  <xs:simpleType name="sizeExpression">

+    <xs:restriction base="xs:string"/>

+  </xs:simpleType>

+  <xs:simpleType name="css">

+    <xs:restriction base="xs:string"/>

+  </xs:simpleType>

+  <xs:simpleType name="opacity">

+    <xs:union memberTypes="lzx:constraint">

+      <xs:simpleType>

+        <xs:restriction base="xs:double">

+          <xs:minInclusive value="0.0"/>

+          <xs:maxInclusive value="1.0"/>

+        </xs:restriction>

+      </xs:simpleType>

+    </xs:union>

+  </xs:simpleType>

+  <xs:simpleType name="percentage">

+    <xs:restriction base="xs:string">

+      <xs:pattern value="(\d+(.\d?)|.\d+)%"/>

+    </xs:restriction>

+  </xs:simpleType>

+  <xs:element name="canvas">

+    <xs:complexType>

+      <xs:choice minOccurs="0" maxOccurs="unbounded">

+        <xs:element ref="lzx:connection"/>

+        <xs:element ref="lzx:splash"/>

+        <xs:group ref="lzx:datapathChildren"/>

+        <xs:group ref="lzx:toplevelElements"/>

+      </xs:choice>

+      <xs:attribute name="id" type="xs:ID"/>

+      <xs:attribute name="oninit" type="lzx:script"/>

+      <xs:attribute name="width" default="500">

+        <xs:simpleType>

+          <xs:union memberTypes="lzx:sizeLiteral lzx:percentage"/>

+        </xs:simpleType>

+      </xs:attribute>

+      <xs:attribute name="height" default="400">

+        <xs:simpleType>

+          <xs:union memberTypes="lzx:sizeLiteral lzx:percentage"/>

+        </xs:simpleType>

+      </xs:attribute>

+      <xs:attribute name="bgcolor" default="white" type="lzx:colorLiteral"/>

+      <xs:attribute name="title" default="OpenLaszlo Application" type="xs:string"/>

+      <xs:attribute name="font" default="lztahoe8" type="xs:string"/>

+      <xs:attribute name="fontsize" default="8" type="lzx:size"/>

+      <xs:attribute name="fontstyle" default="">

+        <xs:simpleType>

+          <xs:restriction base="xs:token">

+            <xs:enumeration value="bold"/>

+            <xs:enumeration value="italic"/>

+            <xs:enumeration value="bold italic"/>

+            <xs:enumeration value="plain"/>

+            <xs:enumeration value=""/>

+          </xs:restriction>

+        </xs:simpleType>

+      </xs:attribute>

+      <xs:attribute name="layout" type="lzx:css"/>

+      <xs:attribute name="validate" default="true" type="lzx:booleanLiteral"/>

+      <xs:attribute name="proxied" default="inherit" type="lzx:inheritableBooleanLiteral"/>

+      <xs:attribute name="debug" default="false" type="lzx:booleanLiteral"/>

+      <xs:attribute name="backtrace" default="false" type="lzx:booleanLiteral"/>

+      <xs:attribute name="maxtextwidth" type="lzx:sizeLiteral"/>

+      <xs:attribute name="maxtextheight" type="lzx:sizeLiteral"/>

+      <xs:attribute name="dataloadtimeout" type="lzx:numberExpression"/>

+      <xs:attribute name="medialoadtimeout" type="lzx:numberExpression"/>

+      <xs:attribute name="libraries" default="" type="xs:string"/>

+      <xs:attribute name="embedfonts" default="true" type="lzx:booleanLiteral"/>

+      <xs:attribute name="version" default="1.1" type="xs:string"/>

+      <xs:attribute name="accessible" default="false" type="lzx:booleanLiteral"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="library">

+    <xs:complexType>

+      <xs:choice minOccurs="0" maxOccurs="unbounded">

+        <xs:group ref="lzx:toplevelElements"/>

+        <xs:element ref="lzx:datapointer"/>

+      </xs:choice>

+      <xs:attribute name="href" type="xs:anyURI"/>

+      <xs:attribute name="includes" type="xs:string"/>

+      <xs:attribute name="proxied" default="inherit">

+        <xs:simpleType>

+          <xs:union memberTypes="lzx:booleanLiteral">

+            <xs:simpleType>

+              <xs:restriction base="xs:token">

+                <xs:enumeration value="inherit"/>

+              </xs:restriction>

+            </xs:simpleType>

+          </xs:union>

+        </xs:simpleType>

+      </xs:attribute>

+      <xs:attribute name="validate" default="true" type="lzx:booleanLiteral"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:group name="toplevelElements">

+    <xs:sequence>

+      <xs:choice minOccurs="0" maxOccurs="unbounded">

+        <xs:choice>

+          <xs:element ref="lzx:viewElement"/>

+          <xs:element ref="lzx:script"/>

+          <xs:element ref="lzx:stylesheet"/>

+          <xs:element ref="lzx:asset"/>

+          <xs:group ref="lzx:font"/>

+        </xs:choice>

+        <xs:element ref="lzx:datarequest"/>

+        <xs:element ref="lzx:datasource"/>

+        <xs:element ref="lzx:connectiondatasource"/>

+        <xs:element ref="lzx:dataset"/>

+        <xs:element ref="lzx:debug"/>

+        <xs:element ref="lzx:command"/>

+        <xs:group ref="lzx:objectElements"/>

+        <xs:element ref="lzx:class"/>

+        <xs:element ref="lzx:interface"/>

+        <xs:element ref="lzx:trait"/>

+        <xs:element ref="lzx:include"/>

+        <xs:element ref="lzx:import"/>

+        <xs:element ref="lzx:library"/>

+        <xs:element ref="lzx:layout"/>

+        <xs:element ref="lzx:security"/>

+        <xs:element ref="lzx:switch"/>

+      </xs:choice>

+    </xs:sequence>

+  </xs:group>

+  <xs:element name="debug">

+    <xs:complexType>

+      <xs:attributeGroup ref="lzx:viewAttributes"/>

+      <xs:attribute name="showInternalProperties" type="lzx:boolean"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="include">

+    <xs:complexType>

+      <xs:attribute name="href" use="required" type="xs:anyURI"/>

+      <xs:attribute name="type" default="xml">

+        <xs:simpleType>

+          <xs:restriction base="xs:token">

+            <xs:enumeration value="text"/>

+            <xs:enumeration value="xml"/>

+          </xs:restriction>

+        </xs:simpleType>

+      </xs:attribute>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="switch">

+    <xs:complexType>

+      <xs:choice minOccurs="0" maxOccurs="unbounded">

+        <xs:element ref="lzx:when"/>

+        <xs:element ref="lzx:otherwise"/>

+      </xs:choice>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="when">

+    <xs:complexType>

+      <xs:group ref="lzx:toplevelElements"/>

+      <xs:attribute name="runtime" type="xs:string"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="otherwise">

+    <xs:complexType>

+      <xs:group ref="lzx:toplevelElements"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:attributeGroup name="idAttribute">

+    <xs:attribute name="id" use="required" type="xs:ID"/>

+  </xs:attributeGroup>

+  <xs:attributeGroup name="srcAttribute">

+    <xs:attribute name="src" use="required" type="xs:anyURI"/>

+  </xs:attributeGroup>

+  <xs:attributeGroup name="nameAttribute">

+    <xs:attribute name="name" use="required" type="xs:token"/>

+  </xs:attributeGroup>

+  <xs:attributeGroup name="oninitAttribute">

+    <xs:attribute name="oninit" use="required" type="lzx:script"/>

+  </xs:attributeGroup>

+  <xs:attributeGroup name="initstageAttribute">

+    <xs:attribute name="initstage" use="required">

+      <xs:simpleType>

+        <xs:restriction base="xs:token">

+          <xs:enumeration value="early"/>

+          <xs:enumeration value="normal"/>

+          <xs:enumeration value="late"/>

+          <xs:enumeration value="immediate"/>

+          <xs:enumeration value="defer"/>

+        </xs:restriction>

+      </xs:simpleType>

+    </xs:attribute>

+  </xs:attributeGroup>

+  <xs:attributeGroup name="datapathAttribute">

+    <xs:attribute name="datapath" use="required" type="xs:string"/>

+  </xs:attributeGroup>

+  <xs:attributeGroup name="placementAttribute">

+    <xs:attribute name="placement" use="required" type="xs:string"/>

+  </xs:attributeGroup>

+  <xs:attributeGroup name="classAttribute">

+    <xs:attribute name="class" use="required" type="xs:token"/>

+  </xs:attributeGroup>

+  <xs:attributeGroup name="ignoreplacementAttribute">

+    <xs:attribute name="ignoreplacement" use="required" type="lzx:boolean"/>

+  </xs:attributeGroup>

+  <xs:attributeGroup name="objectAttributes">

+    <xs:attribute name="id" type="xs:ID"/>

+    <xs:attribute name="name" type="xs:token"/>

+    <xs:attribute name="class" type="xs:token"/>

+    <xs:attribute name="oninit" type="lzx:script"/>

+    <xs:attribute name="datapath" type="xs:string"/>

+    <xs:attribute name="placement" type="xs:string"/>

+    <xs:attribute name="ignoreplacement" type="lzx:boolean"/>

+    <xs:attribute name="initstage">

+      <xs:simpleType>

+        <xs:restriction base="xs:token">

+          <xs:enumeration value="early"/>

+          <xs:enumeration value="normal"/>

+          <xs:enumeration value="late"/>

+          <xs:enumeration value="immediate"/>

+          <xs:enumeration value="defer"/>

+        </xs:restriction>

+      </xs:simpleType>

+    </xs:attribute>

+  </xs:attributeGroup>

+  <xs:attributeGroup name="viewAttributes">

+    <xs:attributeGroup ref="lzx:nodeAttributes"/>

+    <xs:attribute name="opacity" default="1.0" type="lzx:opacity"/>

+    <xs:attribute name="bgcolor" type="lzx:color"/>

+    <xs:attribute name="cursor" type="xs:token"/>

+    <xs:attribute name="clickable" type="lzx:boolean"/>

+    <xs:attribute name="clickregion" type="xs:string"/>

+    <xs:attribute name="focustrap" type="lzx:boolean"/>

+    <xs:attribute name="focusable" type="lzx:boolean"/>

+    <xs:attribute name="frame" default="0" type="lzx:numberExpression"/>

+    <xs:attribute name="fgcolor" type="lzx:color"/>

+    <xs:attribute name="font" type="xs:string"/>

+    <xs:attribute name="fontstyle" type="xs:string"/>

+    <xs:attribute name="fontsize" type="lzx:size"/>

+    <xs:attribute name="resource" type="xs:string"/>

+    <xs:attribute name="source" type="lzx:expression"/>

+    <xs:attribute name="clip" default="false" type="lzx:boolean"/>

+    <xs:attribute name="align" default="left">

+      <xs:simpleType>

+        <xs:union memberTypes="lzx:constraint">

+          <xs:simpleType>

+            <xs:restriction base="xs:token">

+              <xs:enumeration value="left"/>

+            </xs:restriction>

+          </xs:simpleType>

+          <xs:simpleType>

+            <xs:restriction base="xs:token">

+              <xs:enumeration value="center"/>

+            </xs:restriction>

+          </xs:simpleType>

+          <xs:simpleType>

+            <xs:restriction base="xs:token">

+              <xs:enumeration value="right"/>

+            </xs:restriction>

+          </xs:simpleType>

+        </xs:union>

+      </xs:simpleType>

+    </xs:attribute>

+    <xs:attribute name="valign" default="top">

+      <xs:simpleType>

+        <xs:union memberTypes="lzx:constraint">

+          <xs:simpleType>

+            <xs:restriction base="xs:token">

+              <xs:enumeration value="top"/>

+            </xs:restriction>

+          </xs:simpleType>

+          <xs:simpleType>

+            <xs:restriction base="xs:token">

+              <xs:enumeration value="middle"/>

+            </xs:restriction>

+          </xs:simpleType>

+          <xs:simpleType>

+            <xs:restriction base="xs:token">

+              <xs:enumeration value="bottom"/>

+            </xs:restriction>

+          </xs:simpleType>

+        </xs:union>

+      </xs:simpleType>

+    </xs:attribute>

+    <xs:attribute name="layout" type="lzx:css"/>

+    <xs:attribute name="pixellock" default="false" type="lzx:booleanLiteral"/>

+    <xs:attribute name="rotation" default="0" type="lzx:numberExpression"/>

+    <xs:attribute name="xoffset" default="0" type="lzx:numberExpression"/>

+    <xs:attribute name="yoffset" default="0" type="lzx:numberExpression"/>

+    <xs:attribute name="play" default="true" type="lzx:boolean"/>

+    <xs:attribute name="selectiontype">

+      <xs:simpleType>

+        <xs:restriction base="xs:token">

+          <xs:enumeration value="none"/>

+          <xs:enumeration value="single"/>

+          <xs:enumeration value="toggle"/>

+          <xs:enumeration value="multi"/>

+          <xs:enumeration value="range"/>

+        </xs:restriction>

+      </xs:simpleType>

+    </xs:attribute>

+    <xs:attribute name="stretches">

+      <xs:simpleType>

+        <xs:restriction base="xs:token">

+          <xs:enumeration value="width"/>

+          <xs:enumeration value="height"/>

+          <xs:enumeration value="both"/>

+        </xs:restriction>

+      </xs:simpleType>

+    </xs:attribute>

+    <xs:attribute name="visible" default="true" type="lzx:booleanOrNull"/>

+    <xs:attribute name="visibility" default="visible" type="xs:string"/>

+    <xs:attribute name="width" type="lzx:sizeExpression"/>

+    <xs:attribute name="height" type="lzx:sizeExpression"/>

+    <xs:attribute name="textwidth" type="lzx:sizeExpression"/>

+    <xs:attribute name="textheight" type="lzx:sizeExpression"/>

+    <xs:attribute name="x" default="0" type="lzx:numberExpression"/>

+    <xs:attribute name="y" default="0" type="lzx:numberExpression"/>

+    <xs:attribute name="aaname" type="xs:string"/>

+    <xs:attribute name="aaactive" type="lzx:boolean"/>

+    <xs:attribute name="aadescription" type="xs:string"/>

+    <xs:attribute name="aatabindex" type="lzx:number"/>

+    <xs:attribute name="aasilent" type="lzx:boolean"/>

+    <xs:attribute name="showhandcursor" type="lzx:boolean"/>

+    <xs:attribute name="options" type="lzx:css"/>

+    <xs:attributeGroup ref="lzx:eventAttributes"/>

+  </xs:attributeGroup>

+  <xs:attributeGroup name="eventAttributes">

+    <xs:attribute name="onclick" type="lzx:script"/>

+    <xs:attribute name="ondblclick" type="lzx:script"/>

+    <xs:attribute name="onmousedown" type="lzx:script"/>

+    <xs:attribute name="onmouseup" type="lzx:script"/>

+    <xs:attribute name="onmouseover" type="lzx:script"/>

+    <xs:attribute name="onmouseout" type="lzx:script"/>

+    <xs:attribute name="onfocus" type="lzx:script"/>

+    <xs:attribute name="onblur" type="lzx:script"/>

+    <xs:attribute name="onkeydown" type="lzx:script"/>

+    <xs:attribute name="onkeyup" type="lzx:script"/>

+    <xs:attribute name="onselect" type="lzx:script"/>

+    <xs:attribute name="ondata" type="lzx:script"/>

+  </xs:attributeGroup>

+  <xs:group name="viewContent">

+    <xs:sequence>

+      <xs:group ref="lzx:viewContentElements"/>

+    </xs:sequence>

+  </xs:group>

+  <xs:attributeGroup name="viewContent">

+    <xs:attributeGroup ref="lzx:viewAttributes"/>

+  </xs:attributeGroup>

+  <xs:group name="viewContentElements">

+    <xs:sequence>

+      <xs:choice minOccurs="0" maxOccurs="unbounded">

+        <xs:group ref="lzx:nodeElements"/>

+        <xs:choice>

+          <xs:element ref="lzx:include"/>

+          <xs:element ref="lzx:viewElement"/>

+          <xs:element ref="lzx:dataselectionmanager"/>

+          <xs:element ref="lzx:selectionmanager"/>

+          <xs:element ref="lzx:layout"/>

+        </xs:choice>

+        <xs:element ref="lzx:command"/>

+      </xs:choice>

+    </xs:sequence>

+  </xs:group>

+  <xs:element name="dataselectionmanager">

+    <xs:complexType>

+      <xs:group ref="lzx:objectElements"/>

+      <xs:attribute name="id" type="xs:ID"/>

+      <xs:attribute name="name" type="xs:token"/>

+      <xs:attribute name="toggle" type="lzx:boolean"/>

+      <xs:attribute name="oninit" type="lzx:script"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="selectionmanager">

+    <xs:complexType>

+      <xs:group ref="lzx:objectElements"/>

+      <xs:attribute name="id" type="xs:ID"/>

+      <xs:attribute name="name" type="xs:token"/>

+      <xs:attribute name="toggle" type="lzx:boolean"/>

+      <xs:attribute name="oninit" type="lzx:script"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="command">

+    <xs:complexType>

+      <xs:group ref="lzx:objectElements"/>

+      <xs:attribute name="id" type="xs:ID"/>

+      <xs:attribute name="name" type="xs:token"/>

+      <xs:attribute name="onselect" type="lzx:script"/>

+      <xs:attribute name="active" type="lzx:boolean"/>

+      <xs:attribute name="key" type="lzx:expression"/>

+      <xs:attribute name="oninit" type="lzx:script"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="animator" type="lzx:animatorContent"/>

+  <xs:element name="animatorgroup">

+    <xs:complexType>

+      <xs:complexContent>

+        <xs:extension base="lzx:animatorContent">

+          <xs:attribute name="process" default="sequential">

+            <xs:simpleType>

+              <xs:restriction base="xs:token">

+                <xs:enumeration value="sequential"/>

+                <xs:enumeration value="simultaneous"/>

+              </xs:restriction>

+            </xs:simpleType>

+          </xs:attribute>

+        </xs:extension>

+      </xs:complexContent>

+    </xs:complexType>

+  </xs:element>

+  <xs:complexType name="animatorContent">

+    <xs:group ref="lzx:objectElements"/>

+    <xs:attributeGroup ref="lzx:objectAttributes"/>

+    <xs:attribute name="attribute" type="xs:token"/>

+    <xs:attribute name="start" default="true" type="lzx:boolean"/>

+    <xs:attribute name="from" type="lzx:number"/>

+    <xs:attribute name="to" type="lzx:number"/>

+    <xs:attribute name="duration">

+      <xs:simpleType>

+        <xs:union memberTypes="lzx:constraint">

+          <xs:simpleType>

+            <xs:restriction base="xs:float">

+              <xs:minInclusive value="0"/>

+            </xs:restriction>

+          </xs:simpleType>

+        </xs:union>

+      </xs:simpleType>

+    </xs:attribute>

+    <xs:attribute name="indirect" default="false" type="lzx:boolean"/>

+    <xs:attribute name="relative" default="false" type="lzx:boolean"/>

+    <xs:attribute name="motion" default="easeboth">

+      <xs:simpleType>

+        <xs:restriction base="xs:token">

+          <xs:enumeration value="linear"/>

+          <xs:enumeration value="easein"/>

+          <xs:enumeration value="easeout"/>

+          <xs:enumeration value="easeboth"/>

+        </xs:restriction>

+      </xs:simpleType>

+    </xs:attribute>

+    <xs:attribute name="onstart" type="lzx:script"/>

+    <xs:attribute name="onstop" type="lzx:script"/>

+    <xs:attribute name="repeat" type="lzx:expression"/>

+    <xs:attribute name="paused" default="false" type="lzx:boolean"/>

+    <xs:attribute name="target" type="lzx:reference"/>

+  </xs:complexType>

+  <xs:element name="viewElement" abstract="true"/>

+  <xs:element name="view" substitutionGroup="lzx:viewElement">

+    <xs:complexType>

+      <xs:group ref="lzx:viewContent"/>

+      <xs:attributeGroup ref="lzx:viewContent"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="text" substitutionGroup="lzx:viewElement">

+    <xs:complexType mixed="true">

+      <xs:choice minOccurs="0" maxOccurs="unbounded">

+        <xs:group ref="lzx:viewContent"/>

+        <xs:group ref="lzx:htmlText"/>

+      </xs:choice>

+      <xs:attributeGroup ref="lzx:viewContent"/>

+      <xs:attributeGroup ref="lzx:textAttributes"/>

+      <xs:attribute name="embedfonts" type="lzx:boolean"/>

+      <xs:attribute name="text" type="xs:string"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="inputtext" substitutionGroup="lzx:viewElement">

+    <xs:complexType mixed="true">

+      <xs:group ref="lzx:viewContent"/>

+      <xs:attributeGroup ref="lzx:viewContent"/>

+      <xs:attributeGroup ref="lzx:textAttributes"/>

+      <xs:attribute name="embedfonts" type="lzx:boolean"/>

+      <xs:attribute name="resizable" type="lzx:boolean"/>

+      <xs:attribute name="password" default="false" type="lzx:boolean"/>

+      <xs:attribute name="text" type="xs:string"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:attributeGroup name="textAttributes">

+    <xs:attribute name="multiline" default="false" type="lzx:boolean"/>

+    <xs:attribute name="resize" default="false" type="lzx:booleanLiteral"/>

+    <xs:attribute name="selectable" default="false" type="lzx:booleanLiteral"/>

+    <xs:attribute name="maxlength" default="null" type="lzx:numberExpression"/>

+    <xs:attribute name="pattern" type="xs:string"/>

+    <xs:attribute name="label" type="xs:string"/>

+    <xs:attribute name="antiAliasType" default="advanced">

+      <xs:simpleType>

+        <xs:restriction base="xs:token">

+          <xs:enumeration value="normal"/>

+          <xs:enumeration value="advanced"/>

+        </xs:restriction>

+      </xs:simpleType>

+    </xs:attribute>

+    <xs:attribute name="gridFit" default="subpixel">

+      <xs:simpleType>

+        <xs:restriction base="xs:token">

+          <xs:enumeration value="none"/>

+          <xs:enumeration value="pixel"/>

+          <xs:enumeration value="subpixel"/>

+        </xs:restriction>

+      </xs:simpleType>

+    </xs:attribute>

+    <xs:attribute name="sharpness" default="0" type="lzx:numberExpression"/>

+    <xs:attribute name="thickness" default="0" type="lzx:numberExpression"/>

+  </xs:attributeGroup>

+  <xs:attributeGroup name="textContent">

+    <xs:attribute name="text" type="xs:string"/>

+  </xs:attributeGroup>

+  <xs:group name="htmlContent">

+    <xs:sequence>

+      <xs:group minOccurs="0" ref="lzx:htmlText"/>

+    </xs:sequence>

+  </xs:group>

+  <xs:attributeGroup name="htmlContent">

+    <xs:attribute name="text" type="xs:string"/>

+  </xs:attributeGroup>

+  <xs:group name="htmlText">

+    <xs:sequence>

+      <xs:choice minOccurs="0" maxOccurs="unbounded">

+        <xs:element ref="lzx:pre"/>

+        <xs:element ref="lzx:a"/>

+        <xs:element ref="lzx:b"/>

+        <xs:element ref="lzx:li"/>

+        <xs:element ref="lzx:img"/>

+        <xs:element name="font">

+          <xs:complexType mixed="true">

+            <xs:group ref="lzx:htmlText"/>

+            <xs:attribute name="face" type="xs:string"/>

+            <xs:attribute name="size" type="lzx:sizeLiteral"/>

+            <xs:attribute name="color" type="lzx:colorLiteral"/>

+          </xs:complexType>

+        </xs:element>

+        <xs:element ref="lzx:i"/>

+        <xs:element ref="lzx:p"/>

+        <xs:element ref="lzx:br"/>

+        <xs:element ref="lzx:u"/>

+      </xs:choice>

+    </xs:sequence>

+  </xs:group>

+  <xs:element name="pre">

+    <xs:complexType mixed="true">

+      <xs:group ref="lzx:htmlText"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="a">

+    <xs:complexType mixed="true">

+      <xs:group ref="lzx:htmlText"/>

+      <xs:attribute name="href" use="required" type="xs:anyURI"/>

+      <xs:attribute name="target">

+        <xs:simpleType>

+          <xs:union>

+            <xs:simpleType>

+              <xs:restriction base="xs:token">

+                <xs:enumeration value="_blank"/>

+              </xs:restriction>

+            </xs:simpleType>

+            <xs:simpleType>

+              <xs:restriction base="xs:token">

+                <xs:enumeration value="_parent"/>

+              </xs:restriction>

+            </xs:simpleType>

+            <xs:simpleType>

+              <xs:restriction base="xs:token">

+                <xs:enumeration value="_self"/>

+              </xs:restriction>

+            </xs:simpleType>

+            <xs:simpleType>

+              <xs:restriction base="xs:token">

+                <xs:enumeration value="_top"/>

+              </xs:restriction>

+            </xs:simpleType>

+            <xs:simpleType>

+              <xs:restriction base="xs:string">

+                <xs:pattern value="[a-zA-Z][a-zA-Z0-9\-_:.]*"/>

+              </xs:restriction>

+            </xs:simpleType>

+          </xs:union>

+        </xs:simpleType>

+      </xs:attribute>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="b">

+    <xs:complexType mixed="true">

+      <xs:group ref="lzx:htmlText"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="li">

+    <xs:complexType mixed="true">

+      <xs:group ref="lzx:htmlText"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="img">

+    <xs:complexType>

+      <xs:attribute name="src" type="xs:string"/>

+      <xs:attribute name="align" type="xs:string"/>

+      <xs:attribute name="width" type="xs:string"/>

+      <xs:attribute name="height" type="xs:string"/>

+      <xs:attribute name="hspace" type="xs:string"/>

+      <xs:attribute name="vspace" type="xs:string"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="i">

+    <xs:complexType mixed="true">

+      <xs:group ref="lzx:htmlText"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="p">

+    <xs:complexType mixed="true">

+      <xs:group ref="lzx:htmlText"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="br">

+    <xs:complexType/>

+  </xs:element>

+  <xs:element name="u">

+    <xs:complexType mixed="true">

+      <xs:group ref="lzx:htmlText"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="asset" abstract="true"/>

+  <xs:element name="audio" substitutionGroup="lzx:asset">

+    <xs:complexType>

+      <xs:attributeGroup ref="lzx:srcAttribute"/>

+      <xs:attribute name="id" type="xs:ID"/>

+      <xs:attributeGroup ref="lzx:nameAttribute"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="resource" substitutionGroup="lzx:asset">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="lzx:frame"/>

+      </xs:sequence>

+      <xs:attributeGroup ref="lzx:nameAttribute"/>

+      <xs:attribute name="src" type="xs:anyURI"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="frame">

+    <xs:complexType>

+      <xs:attribute name="name" type="xs:token"/>

+      <xs:attributeGroup ref="lzx:srcAttribute"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="datasource">

+    <xs:complexType>

+      <xs:choice minOccurs="0" maxOccurs="unbounded">

+        <xs:element ref="lzx:dataset"/>

+        <xs:group ref="lzx:objectElements"/>

+      </xs:choice>

+      <xs:attribute name="id" type="xs:ID"/>

+      <xs:attribute name="name" type="xs:token"/>

+      <xs:attribute name="timeout" type="lzx:number"/>

+      <xs:attribute name="secure" default="false" type="lzx:booleanLiteral"/>

+      <xs:attribute name="proxied" default="inherit">

+        <xs:simpleType>

+          <xs:union memberTypes="lzx:booleanLiteral">

+            <xs:simpleType>

+              <xs:restriction base="xs:token">

+                <xs:enumeration value="inherit"/>

+              </xs:restriction>

+            </xs:simpleType>

+          </xs:union>

+        </xs:simpleType>

+      </xs:attribute>

+      <xs:attribute name="oninit" type="lzx:script"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="dataset">

+    <xs:complexType>

+      <xs:complexContent>

+        <xs:extension base="lzx:anyXML">

+          <xs:attributeGroup ref="lzx:datasetAttributes"/>

+        </xs:extension>

+      </xs:complexContent>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="connectiondatasource">

+    <xs:complexType>

+      <xs:choice minOccurs="0" maxOccurs="unbounded">

+        <xs:element name="dataset">

+          <xs:complexType>

+            <xs:attributeGroup ref="lzx:datasetAttributes"/>

+          </xs:complexType>

+        </xs:element>

+        <xs:element ref="lzx:method"/>

+      </xs:choice>

+      <xs:attribute name="id" type="xs:ID"/>

+      <xs:attribute name="name" type="xs:token"/>

+      <xs:attribute name="onconnect" type="lzx:script"/>

+      <xs:attribute name="oninit" type="lzx:script"/>

+      <xs:attribute name="ondata" type="lzx:script"/>

+      <xs:attribute name="onerror" type="lzx:script"/>

+      <xs:attribute name="ontimeout" type="lzx:script"/>

+      <xs:attribute name="ondisconnect" type="lzx:script"/>

+      <xs:attribute name="onuserdisconnect" type="lzx:script"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="agent">

+    <xs:complexType>

+      <xs:attribute name="url" use="required" type="xs:string"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="connection">

+    <xs:complexType>

+      <xs:choice minOccurs="0" maxOccurs="unbounded">

+        <xs:element ref="lzx:agent"/>

+        <xs:element ref="lzx:method"/>

+        <xs:element ref="lzx:handler"/>

+      </xs:choice>

+      <xs:attribute name="heartbeat" type="xs:integer"/>

+      <xs:attribute name="timeout" type="lzx:number"/>

+      <xs:attribute name="secure" type="lzx:booleanLiteral"/>

+      <xs:attribute name="secureport" type="xs:integer"/>

+      <xs:attribute name="receiveuserdisconnect" default="false" type="lzx:booleanLiteral"/>

+      <xs:attribute name="group" type="xs:string"/>

+      <xs:attribute name="authenticator" type="xs:string"/>

+      <xs:attribute name="authparam" type="xs:string"/>

+      <xs:attribute name="onconnect" type="lzx:script"/>

+      <xs:attribute name="ondata" type="lzx:script"/>

+      <xs:attribute name="onerror" type="lzx:script"/>

+      <xs:attribute name="ontimeout" type="lzx:script"/>

+      <xs:attribute name="ondisconnect" type="lzx:script"/>

+      <xs:attribute name="onuserdisconnect" type="lzx:script"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:attributeGroup name="datasetAttributes">

+    <xs:attributeGroup ref="lzx:objectAttributes"/>

+    <xs:attribute name="nsprefix" type="lzx:boolean"/>

+    <xs:attribute name="acceptencodings" type="lzx:boolean"/>

+    <xs:attribute name="timeout" type="lzx:number"/>

+    <xs:attribute name="proxied" default="inherit">

+      <xs:simpleType>

+        <xs:union memberTypes="lzx:booleanLiteral">

+          <xs:simpleType>

+            <xs:restriction base="xs:token">

+              <xs:enumeration value="inherit"/>

+            </xs:restriction>

+          </xs:simpleType>

+        </xs:union>

+      </xs:simpleType>

+    </xs:attribute>

+    <xs:attribute name="src">

+      <xs:simpleType>

+        <xs:union memberTypes="xs:anyURI lzx:constraint"/>

+      </xs:simpleType>

+    </xs:attribute>

+    <xs:attribute name="request" type="lzx:boolean"/>

+    <xs:attribute name="autorequest" type="lzx:boolean"/>

+    <xs:attribute name="queuerequests" type="lzx:boolean"/>

+    <xs:attribute name="querystring" type="xs:string"/>

+    <xs:attribute name="type" type="xs:string"/>

+    <xs:attribute name="datafromchild" type="lzx:boolean"/>

+    <xs:attribute name="endpoint" type="xs:string"/>

+    <xs:attribute name="namespace" type="xs:string"/>

+    <xs:attribute name="method" type="xs:string"/>

+    <xs:attribute name="secure" default="false" type="lzx:booleanLiteral"/>

+    <xs:attribute name="secureport" default="443">

+      <xs:simpleType>

+        <xs:restriction base="xs:integer">

+          <xs:minInclusive value="0"/>

+        </xs:restriction>

+      </xs:simpleType>

+    </xs:attribute>

+    <xs:attribute name="getresponseheaders" default="true" type="lzx:boolean"/>

+    <xs:attribute name="trimwhitespace" default="false" type="lzx:boolean"/>

+    <xs:attribute name="cacheable" default="false" type="lzx:boolean"/>

+    <xs:attribute name="ondata" type="lzx:script"/>

+    <xs:attribute name="onerror" type="lzx:script"/>

+    <xs:attribute name="ontimeout" type="lzx:script"/>

+    <xs:attribute name="querytype">

+      <xs:simpleType>

+        <xs:restriction base="xs:token">

+          <xs:enumeration value="get"/>

+          <xs:enumeration value="post"/>

+          <xs:enumeration value="GET"/>

+          <xs:enumeration value="POST"/>

+          <xs:enumeration value="put"/>

+          <xs:enumeration value="PUT"/>

+          <xs:enumeration value="delete"/>

+          <xs:enumeration value="DELETE"/>

+        </xs:restriction>

+      </xs:simpleType>

+    </xs:attribute>

+  </xs:attributeGroup>

+  <xs:complexType name="anyXML" mixed="true">

+    <xs:sequence>

+      <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>

+    </xs:sequence>

+  </xs:complexType>

+  <xs:attributeGroup name="dataptrAttributes">

+    <xs:attribute name="ondata" type="lzx:script"/>

+    <xs:attribute name="onerror" type="lzx:script"/>

+    <xs:attribute name="ontimeout" type="lzx:script"/>

+    <xs:attribute name="rerunxpath" type="lzx:boolean"/>

+    <xs:attribute name="xpath" type="xs:string"/>

+    <xs:attribute name="spacing" default="0" type="lzx:size"/>

+  </xs:attributeGroup>

+  <xs:element name="datapointer">

+    <xs:complexType>

+      <xs:group ref="lzx:objectElements"/>

+      <xs:attributeGroup ref="lzx:objectAttributes"/>

+      <xs:attributeGroup ref="lzx:dataptrAttributes"/>

+      <xs:attribute name="p" type="lzx:expression"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="datapath">

+    <xs:complexType>

+      <xs:group ref="lzx:objectElements"/>

+      <xs:attributeGroup ref="lzx:objectAttributes"/>

+      <xs:attributeGroup ref="lzx:dataptrAttributes"/>

+      <xs:attribute name="pooling" default="false" type="lzx:boolean"/>

+      <xs:attribute name="axis">

+        <xs:simpleType>

+          <xs:restriction base="xs:token">

+            <xs:enumeration value="x"/>

+            <xs:enumeration value="y"/>

+          </xs:restriction>

+        </xs:simpleType>

+      </xs:attribute>

+      <xs:attribute name="sortpath" type="xs:string"/>

+      <xs:attribute name="sortorder" type="xs:string"/>

+      <xs:attribute name="replication">

+        <xs:simpleType>

+          <xs:restriction base="xs:token">

+            <xs:enumeration value="normal"/>

+            <xs:enumeration value="lazy"/>

+            <xs:enumeration value="resize"/>

+          </xs:restriction>

+        </xs:simpleType>

+      </xs:attribute>

+      <xs:attribute name="p" type="lzx:expression"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:group name="datapathChildren">

+    <xs:sequence>

+      <xs:choice minOccurs="0" maxOccurs="unbounded">

+        <xs:element ref="lzx:datapath"/>

+        <xs:element ref="lzx:datapointer"/>

+      </xs:choice>

+    </xs:sequence>

+  </xs:group>

+  <xs:attributeGroup name="deviceAttribute">

+    <xs:attribute name="device" type="lzx:boolean"/>

+  </xs:attributeGroup>

+  <xs:group name="font">

+    <xs:sequence>

+      <xs:element name="font">

+        <xs:complexType>

+          <xs:choice minOccurs="0">

+            <xs:element minOccurs="0" maxOccurs="unbounded" ref="lzx:face"/>

+          </xs:choice>

+          <xs:attributeGroup ref="lzx:nameAttribute"/>

+          <xs:attributeGroup ref="lzx:deviceAttribute"/>

+          <xs:attribute name="src" type="xs:anyURI"/>

+          <xs:attribute name="style">

+            <xs:simpleType>

+              <xs:restriction base="xs:token">

+                <xs:enumeration value="bold"/>

+                <xs:enumeration value="italic"/>

+                <xs:enumeration value="bold italic"/>

+                <xs:enumeration value="italic bold"/>

+                <xs:enumeration value="plain"/>

+              </xs:restriction>

+            </xs:simpleType>

+          </xs:attribute>

+        </xs:complexType>

+      </xs:element>

+    </xs:sequence>

+  </xs:group>

+  <xs:element name="face">

+    <xs:complexType>

+      <xs:attribute name="style">

+        <xs:simpleType>

+          <xs:restriction base="xs:token">

+            <xs:enumeration value="bold"/>

+            <xs:enumeration value="italic"/>

+            <xs:enumeration value="bold italic"/>

+            <xs:enumeration value="italic bold"/>

+            <xs:enumeration value="plain"/>

+          </xs:restriction>

+        </xs:simpleType>

+      </xs:attribute>

+      <xs:attributeGroup ref="lzx:srcAttribute"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:attributeGroup name="styleAttribute">

+    <xs:attribute name="style" use="required">

+      <xs:simpleType>

+        <xs:restriction base="xs:token">

+          <xs:enumeration value="bold"/>

+          <xs:enumeration value="italic"/>

+          <xs:enumeration value="bold italic"/>

+          <xs:enumeration value="italic bold"/>

+          <xs:enumeration value="plain"/>

+        </xs:restriction>

+      </xs:simpleType>

+    </xs:attribute>

+  </xs:attributeGroup>

+  <xs:group name="objectElements">

+    <xs:sequence>

+      <xs:choice minOccurs="0" maxOccurs="unbounded">

+        <xs:element ref="lzx:method"/>

+        <xs:element ref="lzx:handler"/>

+        <xs:element ref="lzx:event"/>

+        <xs:element ref="lzx:attribute"/>

+        <xs:element ref="lzx:state"/>

+        <xs:element ref="lzx:node"/>

+        <xs:element ref="lzx:animator"/>

+        <xs:element ref="lzx:animatorgroup"/>

+      </xs:choice>

+    </xs:sequence>

+  </xs:group>

+  <xs:element name="attribute">

+    <xs:complexType>

+      <xs:attribute name="name" use="required" type="xs:token"/>

+      <xs:attribute name="style" type="xs:string"/>

+      <xs:attribute name="value" type="xs:string"/>

+      <xs:attribute name="when" default="immediately">

+        <xs:simpleType>

+          <xs:restriction base="xs:token">

+            <xs:enumeration value="immediately"/>

+            <xs:enumeration value="once"/>

+            <xs:enumeration value="always"/>

+          </xs:restriction>

+        </xs:simpleType>

+      </xs:attribute>

+      <xs:attribute name="type" default="expression">

+        <xs:simpleType>

+          <xs:restriction base="xs:token">

+            <xs:enumeration value="boolean"/>

+            <xs:enumeration value="color"/>

+            <xs:enumeration value="expression"/>

+            <xs:enumeration value="number"/>

+            <xs:enumeration value="size"/>

+            <xs:enumeration value="string"/>

+            <xs:enumeration value="text"/>

+            <xs:enumeration value="html"/>

+          </xs:restriction>

+        </xs:simpleType>

+      </xs:attribute>

+      <xs:attribute name="required" default="false" type="lzx:booleanLiteral"/>

+      <xs:attribute name="setter" type="lzx:script"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="class">

+    <xs:complexType>

+      <xs:choice minOccurs="0" maxOccurs="unbounded">

+        <xs:element ref="lzx:doc"/>

+        <xs:group ref="lzx:viewContentElements"/>

+      </xs:choice>

+      <xs:attribute name="name" use="required" type="xs:token"/>

+      <xs:attribute name="extends" default="view" type="xs:token"/>

+      <xs:attribute name="with" type="xs:string"/>

+      <xs:anyAttribute processContents="skip"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="interface">

+    <xs:complexType>

+      <xs:choice minOccurs="0" maxOccurs="unbounded">

+        <xs:element ref="lzx:doc"/>

+        <xs:group ref="lzx:viewContentElements"/>

+      </xs:choice>

+      <xs:attribute name="name" use="required" type="xs:token"/>

+      <xs:attribute name="extends" default="view" type="xs:token"/>

+      <xs:anyAttribute processContents="skip"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="doc" type="lzx:any"/>

+  <xs:complexType name="any" mixed="true">

+    <xs:sequence>

+      <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>

+    </xs:sequence>

+  </xs:complexType>

+  <xs:element name="trait">

+    <xs:complexType>

+      <xs:group ref="lzx:viewContentElements"/>

+      <xs:attribute name="name" use="required" type="xs:token"/>

+      <xs:anyAttribute processContents="skip"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="handler">

+    <xs:complexType mixed="true">

+      <xs:attributeGroup ref="lzx:nameAttribute"/>

+      <xs:attribute name="reference" default="this" type="lzx:reference"/>

+      <xs:attribute name="args" default="" type="xs:string"/>

+      <xs:attribute name="method" type="xs:string"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="event">

+    <xs:complexType>

+      <xs:attributeGroup ref="lzx:nameAttribute"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="method">

+    <xs:complexType mixed="true">

+      <xs:attribute name="name" type="xs:token"/>

+      <xs:attribute name="event" type="xs:string"/>

+      <xs:attribute name="reference" default="this" type="lzx:reference"/>

+      <xs:attribute name="args" default="" type="xs:string"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="import">

+    <xs:complexType>

+      <xs:group ref="lzx:viewContent"/>

+      <xs:attributeGroup ref="lzx:viewContent"/>

+      <xs:attribute name="href" use="required" type="xs:anyURI"/>

+      <xs:attribute name="stage" use="required">

+        <xs:simpleType>

+          <xs:restriction base="xs:token">

+            <xs:enumeration value="late"/>

+            <xs:enumeration value="defer"/>

+          </xs:restriction>

+        </xs:simpleType>

+      </xs:attribute>

+      <xs:attribute name="onload" type="lzx:script"/>

+      <xs:attribute name="proxied" default="inherit">

+        <xs:simpleType>

+          <xs:union memberTypes="lzx:booleanLiteral">

+            <xs:simpleType>

+              <xs:restriction base="xs:token">

+                <xs:enumeration value="inherit"/>

+              </xs:restriction>

+            </xs:simpleType>

+          </xs:union>

+        </xs:simpleType>

+      </xs:attribute>

+      <xs:attribute name="onerror" type="lzx:script"/>

+      <xs:attribute name="ontimeout" type="lzx:script"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="state">

+    <xs:complexType>

+      <xs:group ref="lzx:viewContent"/>

+      <xs:attributeGroup ref="lzx:viewContent"/>

+      <xs:attribute name="apply" type="lzx:boolean"/>

+      <xs:attribute name="pooling" default="false" type="lzx:boolean"/>

+      <xs:attribute name="onapply" type="lzx:script"/>

+      <xs:attribute name="onremove" type="lzx:script"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:attributeGroup name="nodeAttributes">

+    <xs:attributeGroup ref="lzx:objectAttributes"/>

+    <xs:attribute name="defaultplacement" type="xs:string"/>

+  </xs:attributeGroup>

+  <xs:group name="nodeElements">

+    <xs:sequence>

+      <xs:choice minOccurs="0" maxOccurs="unbounded">

+        <xs:group ref="lzx:objectElements"/>

+        <xs:group ref="lzx:datapathChildren"/>

+        <xs:element ref="lzx:data"/>

+        <xs:element ref="lzx:dataset"/>

+      </xs:choice>

+    </xs:sequence>

+  </xs:group>

+  <xs:element name="data">

+    <xs:complexType>

+      <xs:complexContent>

+        <xs:extension base="lzx:anyXML">

+          <xs:attributeGroup ref="lzx:datasetAttributes"/>

+        </xs:extension>

+      </xs:complexContent>

+    </xs:complexType>

+  </xs:element>

+  <xs:complexType name="nodeContent">

+    <xs:group ref="lzx:nodeElements"/>

+    <xs:attributeGroup ref="lzx:nodeAttributes"/>

+  </xs:complexType>

+  <xs:element name="node" type="lzx:nodeContent"/>

+  <xs:element name="datarequest" type="lzx:nodeContent"/>

+  <xs:element name="layout">

+    <xs:complexType>

+      <xs:complexContent>

+        <xs:extension base="lzx:nodeContent">

+          <xs:attribute name="locked" type="lzx:booleanLiteral"/>

+        </xs:extension>

+      </xs:complexContent>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="splash">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element minOccurs="0" maxOccurs="unbounded" name="view">

+          <xs:complexType>

+            <xs:attribute name="name" type="xs:token"/>

+            <xs:attribute name="resource" use="required" type="xs:anyURI"/>

+            <xs:attribute name="ratio" type="xs:string"/>

+            <xs:attribute name="x" default="0" type="lzx:numberLiteral"/>

+            <xs:attribute name="y" default="0" type="lzx:numberLiteral"/>

+            <xs:attribute name="center" default="false" type="lzx:booleanLiteral"/>

+          </xs:complexType>

+        </xs:element>

+      </xs:sequence>

+      <xs:attribute name="hideafterinit" type="lzx:booleanLiteral"/>

+      <xs:attribute name="persistent" default="false" type="lzx:booleanLiteral"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="script">

+    <xs:complexType mixed="true">

+      <xs:attribute name="type" default="Javascript" type="xs:string"/>

+      <xs:attribute name="when" default="normal">

+        <xs:simpleType>

+          <xs:restriction base="xs:token">

+            <xs:enumeration value="normal"/>

+            <xs:enumeration value="immediate"/>

+          </xs:restriction>

+        </xs:simpleType>

+      </xs:attribute>

+      <xs:attribute name="src" type="xs:anyURI"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="stylesheet">

+    <xs:complexType mixed="true">

+      <xs:attribute name="src" type="xs:anyURI"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="preloadresource">

+    <xs:complexType>

+      <xs:attribute name="name" type="xs:token"/>

+      <xs:attribute name="ratio" type="xs:string"/>

+      <xs:attribute name="synctoload" use="required" type="lzx:booleanLiteral"/>

+      <xs:attribute name="hideafterinit" use="required" type="lzx:booleanLiteral"/>

+      <xs:attribute name="center" use="required" type="lzx:booleanLiteral"/>

+      <xs:attribute name="synchronized" type="lzx:booleanLiteral"/>

+      <xs:attribute name="lastframe" type="lzx:numberLiteral"/>

+      <xs:attribute name="resource" type="xs:string"/>

+      <xs:attribute name="resourcename" type="xs:string"/>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="pattern" type="xs:string"/>

+  <xs:element name="allow">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="lzx:pattern"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="deny">

+    <xs:complexType>

+      <xs:sequence>

+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="lzx:pattern"/>

+      </xs:sequence>

+    </xs:complexType>

+  </xs:element>

+  <xs:element name="security">

+    <xs:complexType>

+      <xs:choice minOccurs="0" maxOccurs="unbounded">

+        <xs:element ref="lzx:allow"/>

+        <xs:element ref="lzx:deny"/>

+      </xs:choice>

+    </xs:complexType>

+  </xs:element>

+</xs:schema>

diff --git a/xdocs/ApacheDerbyConfig.xml b/xdocs/ApacheDerbyConfig.xml
new file mode 100644
index 0000000..db45259
--- /dev/null
+++ b/xdocs/ApacheDerbyConfig.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+

+

+<document>

+

+	<properties>

+		<title>Apache Derby Configuration</title>

+		<author email="sebawagner@incubator.apache.org">

+			Apache OpenMeetings Documentation Team

+		</author>

+	</properties>

+

+	<body>

+		<section name="Apache Derby Configuration">

+

+			<p>

+				OpenMeetings default configuration is to use Apache Derby.

+			</p>

+

+			<p>

+				It is recommended for production environments and high

+				availibility to change to an usual relational database like MySQL,

+				Postgres or DB2.

+			</p>

+			<p>

+				For more information about Apache Derby see

+				<a href="http://db.apache.org/derby/">http://db.apache.org/derby/</a>

+			</p>

+

+			<p>

+				There is a sample configuration for Apache Derby that ships with

+				every release in:

+				<br />

+				/webapps/openmeetings/WEB-INF/classes/META-INF/derby_persistence.xml

+			</p>

+

+			<p>

+				If you encounter issues, you can drop the db again and delete the

+				file /webapps/openmeetings/conf/install.xml and then run the web

+				based installer again

+			</p>

+

+		</section>

+

+	</body>

+

+</document>

diff --git a/xdocs/BrandingAndColors.xml b/xdocs/BrandingAndColors.xml
new file mode 100644
index 0000000..dfe0c71
--- /dev/null
+++ b/xdocs/BrandingAndColors.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Branding and Colors</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Editing Logo / Text on top">

+

+			<p>In the config.xml there are some configuration variables

+			</p>

+			<div class="xmlcode">

+				&lt;!--

+				<br />

+				Name of the Application

+				<br />

+				this is the Top-Icon Name of the Application

+				<br />

+				--&gt;

+				<br />

+				&lt;currentappname&gt;OpenMeetings 1.9.x

+				r4343&lt;/currentappname&gt;

+				<br />

+				&lt;!--

+				<br />

+				URL to the Home of the Application

+				<br />

+				this is the URL which is used if you click on the Top-icon

+				<br />

+				--&gt;

+				<br />

+				&lt;currentappnameurl&gt;http://incubator.apache.org/openmeetings/&lt;/currentappnameurl&gt;

+				<br />

+				&lt;!--

+				<br />

+				URL to Bugs/Support

+				<br />

+				this is the URL which is used if you click on *report a bug*

+				<br />

+				--&gt;

+				<br />

+				&lt;currentappnamebugurl&gt;http://incubator.apache.org/openmeetings/&lt;/currentappnamebugurl&gt;

+			</div>

+

+			<p>Addtionally the browser-bar title can be configured in the

+				Openmeetings > Administration > Configuration.

+			</p>

+			<p>

+				Config Key:

+				<tt>application.name</tt>

+			</p>

+

+		</section>

+

+		<section name="Editing Colors">

+

+			<p>

+				<i>

+					With Version 2.x color and more layout specific configuration moved

+					to the theme configuration, see

+					<a href="themes-and-branding.html">themes-and-branding.html</a>

+				</i>

+			</p>

+

+			<p>To change the color scheme you can simply edit the config.xml,

+				there are 3 color settings, the whole application is styled using

+				those:

+			</p>

+

+			<div class="xmlcode">

+				&lt;!--

+				<br />

+				These colors are the main colors and style the whole application

+				<br />

+				--&gt;

+				<br />

+				&lt;basebgcolorizer&gt;0x669AE6&lt;/basebgcolorizer&gt;

+				<br />

+				&lt;baseMousecolorizer&gt;0x7BA8EA&lt;/baseMousecolorizer&gt;

+				<br />

+				&lt;baseMouseOvercolorizer&gt;0x99BBEE&lt;/baseMouseOvercolorizer&gt;

+				<br />

+			</div>

+

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/BuildInstructions.xml b/xdocs/BuildInstructions.xml
new file mode 100644
index 0000000..2688e94
--- /dev/null
+++ b/xdocs/BuildInstructions.xml
@@ -0,0 +1,319 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Upgrade</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Nightly Builds">

+

+			<p>

+				You can find Nightly Builds of the software at:

+				<a href="https://builds.apache.org/job/openmeetings/" rel="nofollow" target="_BLANK">

+					https://builds.apache.org/job/openmeetings/

+				</a>

+			</p>

+

+		</section>

+

+		<section name="How to Build a Distribution">

+			<p>Get the source: </p>

+			<div class="xmlcode">

+				svn checkout

+				https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/

+			</div>

+			<p>Run the command: </p>

+			<div class="xmlcode">

+				ant

+			</div>

+			<p>There is no need to compile the client additionally! The ant task

+				does it all! You will find a directory dist that contains

+				OpenMeetings and a red5-server.

+			</p>

+			<p>To compile the client you can also use ant: </p>

+			<div class="xmlcode">

+				ant

+				<span style="margin-left: 200px;"># compiles a complete package into the folder dist

+				</span>

+				<br />

+				ant compile.laszlo.main

+				<span style="margin-left: 70px;"># compiles the client into main.as3.swf10.swf and main.swf8.swf</span>

+				<br />

+				ant compile.laszlo.main.debug

+				<span style="margin-left: 30px;"># compiles the debug-client into maindebug.as3.swf10.swf andmaindebug.swf8.swf

+				</span>

+				<br />

+				ant -Ddb=&lt;name of DB&gt;

+				<span style="margin-left: 50px;"># will copy &lt;name of DB&gt;_persistense.xml to

+					persistense.xml

+				</span>

+				<br />

+				<span style="margin-left: 230px;">#(for ex. ant -Ddb=mysql will set mysql as default

+					DB)

+				</span>

+			</div>

+			<p>To compile just the openmeetings JAR file: </p>

+			<div class="xmlcode">

+				ant jar.only

+			</div>

+			<p>

+				To run Junit tests using ANT see

+				<a href="JUnitTesting.html">JUnitTesting</a>

+			</p>

+		</section>

+

+		<section name="Run, Develop, Test">

+

+			<p>

+				To develop or build OpenMeetings you checkout the source as Eclipse

+				project. You need the Subclipse or Subversive Plugin for Eclipse. If

+				you just need to change 3 lines of code then your probably better

+				switch to

+				<a href="#How_to_build_a_distribution" rel="nofollow">How to build a

+					distribution

+				</a>

+				.

+			</p>

+

+			<subsection name="Step1 - Get required Software">

+

+				<p>To develop OpenMeetings you need at least: </p>

+				<ul>

+					<li>Eclipse in a up to date copy and Sun JDK6 </li>

+					<li>Apache ANT (minimum) 1.8.3</li>

+					<li>

+						Subclipse 1.8 (Subversion 1.7 required!)

+						<a href="http://subclipse.tigris.org/" target="_BLANK" rel="nofollow">http://subclipse.tigris.org/

+						</a>

+					</li>

+					<li>

+						SVN Command line client (Subversion 1.7 required!)

+						<a href="http://subversion.apache.org/packages.html" target="_BLANK"

+							rel="nofollow">http://subversion.apache.org/packages.html</a>

+					</li>

+					<li>Spring IDE for Eclipse (installable via Help &gt; Eclipse

+						Marketplace)

+					</li>

+					<li>

+						Apache IvyDE&#0153; For Eclipse (installable via Help &gt; Install New Software)

+						URL: http://www.apache.org/dist/ant/ivyde/updatesite detailed steps can be found here:

+						<a href="http://ant.apache.org/ivy/ivyde/download.cgi" target="_BLANK" rel="nofollow">http://ant.apache.org/ivy/ivyde/download.cgi</a>

+					</li>

+					<li>MySQL (or Postgres, or other Databases supported by Hibernate)

+						are optionally but handy to have them

+					</li>

+				</ul>

+

+			</subsection>

+

+			<subsection name="Step2 - Download the Source">

+

+				<p>Advanced Users: Check out the Code from the Repository as a

+					Java

+					project into Eclipse.

+				</p>

+				<p>

+					URL:

+					<a

+						href="https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/">

+						https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/

+					</a>

+				</p>

+				<p>To download the required JARs for building and developing

+					OpenMeetings you need to run the ANT comand:

+				</p>

+				<div class="xmlcode">

+					ant -Ddb=&lt;your_DB&gt; prepare-eclipse

+				</div>

+				<p>After the ANT command you need to press F5 and rebuild the

+					project from inside Eclipse

+				</p>

+				<p>Step-By-Step: </p>

+				<p>1) Start Eclipse </p>

+				<p>

+					2) Change Perspective to SVN Repository Exploring:

+					<br />

+					<br />

+					<a class="fancybox-buttons" data-fancybox-group="button"

+						href="images/checkout_1.png">

+						<img src="images/checkout_1.png" alt="" width="400" height="289" />

+					</a>

+

+				</p>

+				<p>

+					3) Select SVN Repository Exploring and click ok.

+					<br />

+					<br />

+					<a class="fancybox-buttons" data-fancybox-group="button"

+						href="images/checkout_2.png">

+						<img src="images/checkout_2.png" alt="" width="304" height="417" />

+					</a>

+				</p>

+				<p>

+					4) A new Dialog in Eclipse opens

+					<strong>SVN Repositories</strong>

+					<br />

+					<br />

+					<a class="fancybox-buttons" data-fancybox-group="button"

+						href="images/checkout_3.png">

+						<img src="images/checkout_3.png" alt="" width="460" height="102" />

+					</a>

+				</p>

+				<p>

+					5) Click on the icon with the plus in the top right corner in the

+					SVN Repository Dialog

+					<br />

+					<br />

+					<a class="fancybox-buttons" data-fancybox-group="button"

+						href="images/checkout_4.png">

+						<img src="images/checkout_4.png" alt="" width="57" height="38" />

+					</a>

+				</p>

+				<p>

+					6) Add the URL

+					<a

+						href="https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/"

+						rel="nofollow">https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/

+					</a>

+					and click Finish

+					<br />

+					<br />

+					<a class="fancybox-buttons" data-fancybox-group="button"

+						href="images/checkout_5.png">

+						<img src="images/checkout_5.png" alt="" width="455" height="272" />

+					</a>

+				</p>

+				<p>

+					7) After download is complete you see a new Source Repository in

+					the Repository Explorer. Right click on it and choose

+					<strong>checkout</strong>

+					<br />

+					<br />

+					<a class="fancybox-buttons" data-fancybox-group="button"

+						href="images/checkout_6.png">

+						<img src="images/checkout_6.png" alt="" width="340" height="135" />

+					</a>

+				</p>

+				<p>

+					8) In the Dialog the opens now just click next

+					<br />

+					<br />

+					<a class="fancybox-buttons" data-fancybox-group="button"

+						href="images/checkout_7.png">

+						<img src="images/checkout_7.png" alt="" width="390" height="338" />

+					</a>

+				</p>

+				<p>

+					9) In the next Dialog just click Finish, Eclipse will then download

+					the sources

+					<br />

+					<br />

+					<a class="fancybox-buttons" data-fancybox-group="button"

+						href="images/checkout_8.png">

+						<img src="images/checkout_8.png" alt="" width="390" height="338" />

+					</a>

+				</p>

+				<p>

+					10) After the download is complete you will see a new Project in

+					the Package Explorer Dialog of Eclipse

+					<br />

+					<br />

+					<a class="fancybox-buttons" data-fancybox-group="button"

+						href="images/checkout_9.png">

+						<img src="images/checkout_9.png" alt="" width="310" height="297" />

+					</a>

+				</p>

+				<p>

+					11) Please run

+					<div class="xmlcode">

+						ant prepare-eclipse

+					</div>

+					to download all necessary jar files, and perform source

+					<tt>Refresh</tt>

+					to resolve all compilation issues.

+				</p>

+			</subsection>

+

+			<subsection name="Step3 - Deploy and Run">

+

+				<p>

+					see the first chapter about the ANT tasks to compile the code. You

+					will find a directory called

+					<strong>dist</strong>

+					which contains a regular openmeetings including red5. You can then

+					use the usual process like described at

+					<a href="installation.html">installation</a>

+					to run the code then.

+				</p>

+			</subsection>

+

+		</section>

+

+		<section name="Links">

+

+			<ul>

+				<li>

+					Getting Started with OpenLaszlo, checkout

+					<a

+						href="http://www.openlaszlo.org/lps4.2/laszlo-explorer/index.jsp?lzr=swf8"

+						target="_BLANK" rel="nofollow">Laszlo-in-10-Minutes</a>

+					and the

+					<a href="http://www.openlaszlo.org/lps4.2/docs/" target="_BLANK" rel="nofollow">Application

+						Developer's Guide

+					</a>

+					or try the

+					<a href="http://www.openlaszlo.org/getstarted" target="_BLANK" rel="nofollow">ScreenCast</a>

+				</li>

+				<li>

+					<a href="http://incubator.apache.org/openmeetings/svn.html" >

+						browse SVN source

+					</a>

+				</li>

+			</ul>

+

+		</section>

+

+		<section name="Tipps and Gotchas">

+

+			<p>When you want to develop only client side there are handy ANT

+				tasks so that you only rebuild the SWFs, same for the Java side.

+			</p>

+			<p>

+				It

+				also takes much less time if you do use MySQL as database then

+				rebuilding the software and waiting for Apache Derby to set up the

+				database everytime you did rebuild.

+			</p>

+			<p>

+				<b>Working behind a proxy:</b>

+				If you are sitting behind a proxy you should add some proxy settings

+				before starting the build process.

+				<br />

+				For Apache Ivy see:

+				<a href="http://ant.apache.org/ivy/faq.html" target="_BLANK" rel="nofollow">http://ant.apache.org/ivy/faq.html

+				</a>

+				<br />

+				For SVN Command Line Client (From CollabNet 1.7) see:

+				<a

+					href="https://ctf6latest.collab.net/internal-help/index.jsp?topic=/teamforge610/faq/client_proxy_settings.html"

+					target="_BLANK" rel="nofollow">https://ctf6latest.collab.net/internal-help/index.jsp?topic=/teamforge610/faq/client_proxy_settings.html

+				</a>

+			</p>

+

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/CalendarAndTimezone.xml b/xdocs/CalendarAndTimezone.xml
new file mode 100644
index 0000000..c24d9ce
--- /dev/null
+++ b/xdocs/CalendarAndTimezone.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Changing the Calendar and Timezone default</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Changing the Calendar and Timezone default">

+

+			<p>

+				In general the timezone is configured in the user profile of each

+				user, so changing the server timezone has no effect how to the users

+				calendar for example.

+				<br />

+				<br />

+				However there are some circumstances where there is no user profile

+				available.

+			</p>

+		</section>

+

+		<section

+			name="Changing servers default timzeone for Emails and Invitations (display)">

+			<p>

+				Goto Administration &gt; Configuration and change the config-key:

+				<tt>default.timezone</tt>

+			</p>

+			<p>Valid timezone have to meet standards! </p>

+		</section>

+

+		<section

+			name="Changing first day in week for calendar from Sunday to Monday">

+

+			<p>in the config.xml change the key: </p>

+			<div class="xmlcode">

+				&lt;!--

+				<br />

+				First day in the Week used by the Calendar

+				<br />

+				0 means Sunday

+				<br />

+				1 means Monday

+				<br />

+				this is the way how the Celendar inits a week

+				<br />

+				--&gt;

+				<br />

+				&lt;firstdayinweek&gt;0&lt;/firstdayinweek&gt;

+				<br />

+			</div>

+		</section>

+

+		<section

+			name="Changing the default number of max participants of a conference room created via calendar">

+

+			<p>Goto

+				Administration &gt; Configuration and change the config-key:

+				<tt>calendar.conference.rooms.default.size</tt>

+			</p>

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/ConferenceRoomLayoutOptions.xml b/xdocs/ConferenceRoomLayoutOptions.xml
new file mode 100644
index 0000000..e01e576
--- /dev/null
+++ b/xdocs/ConferenceRoomLayoutOptions.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+    License, Version 2.0 (the "License"); you may not use this file except in 

+    compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+    Unless required by applicable law or agreed to in writing, software distributed 

+    under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+    OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+    the specific language governing permissions and limitations under the License. -->

+<document>

+

+    <properties>

+        <title>Layout options for a conference room in OpenMeetings</title>

+        <author email="sebawagner@apache.org">

+            OpenMeetings Team

+        </author>

+    </properties>

+

+    <body>

+

+        <section name="Layout options for conference rooms">

+

+            <p>Each room has a number of attributes to generate different layouts.

+            You can change those values individually for each room in Administration &gt; Rooms

+            </p>

+            <p></p>

+            <table>

+                <tr>

+                    <th style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> key </th>

+                    <th style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> default </th>

+                    <th style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> meaning </th>

+                    <th style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> availabe since OpenMeetings version </th>

+                </tr>

+                <tr>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> hideTopBar </td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> false </td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> Hide the top bar with the menus and exit button </td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 2.x </td>

+                </tr>

+                <tr>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> hideChat </td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> false </td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> Hide the chat tab and use space for whiteboard </td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 2.x </td>

+                </tr>

+                <tr>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> hideActivitiesAndActions </td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> false </td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> Hide the activities window with the notofications aber user activities</td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 2.x </td>

+                </tr>

+                <tr>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> hideFilesExplorer </td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> false </td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> Hide the file explorer</td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 2.x </td>

+                </tr>

+                <tr>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> hideActionsMenu </td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> false </td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> Hide the menu with the actions</td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 2.x </td>

+                </tr>

+                <tr>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> hideScreenSharing </td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> false </td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> Hide the button to start screensharing/recording</td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 2.x </td>

+                </tr>

+                <tr>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> hideWhiteboard </td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> false </td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> Hide the whiteboard, if this option is true, the videos will be in the area of the whiteboard</td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 2.x </td>

+                </tr>

+                <tr>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> showMicrophoneStatus </td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> false </td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> Show the current status of the microphone (off/on) on the bottom of each video view</td>

+                    <td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 2.x </td>

+                </tr>

+            </table>

+

+        </section>

+        

+    </body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/ConfluencePlugin.xml b/xdocs/ConfluencePlugin.xml
new file mode 100644
index 0000000..02e86c1
--- /dev/null
+++ b/xdocs/ConfluencePlugin.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Confluence Plugin</title>

+		<author email="eugen.schwert@gmail.com">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Confluence Plugin for OpenMeetings">

+			<p>				

+				Current Development Snapshots for testing can be downloaded from:

+				<a href="https://svn.apache.org/repos/asf/incubator/openmeetings/branches/confluence-plugin/target/openmeetingsconfluence-1.0-SNAPSHOT.jar">here</a>

+				.

+			</p>			

+		</section>

+		

+		<section name="Features">

+			<p>The plugin contains the following features: </p>

+			<ul>

+				<li>Create videoconference rooms through Confluence: </li>

+				<ol>

+					<li>Integrated with Confluence content </li>										

+					<li>Configurable room type </li>

+				</ol>

+			</ul>			

+		</section>	

+		

+		<section name="Demo video">			

+			<p>The demo video of Confluence plugin show you the plugin in action </p>              

+		      <object style="height: 390px; width: 640px">

+			      <param name="movie" value="http://www.youtube.com/v/YFKlXggtld0?version=3&amp;feature=player_detailpage"/>

+			      <param name="allowFullScreen" value="true"/>

+			      <param name="allowScriptAccess" value="always"/>

+			      <embed src="http://www.youtube.com/v/YFKlXggtld0?version=3&amp;feature=player_detailpage" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360"/>

+		      </object> 

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/CustomRoomTypeHowTo.xml b/xdocs/CustomRoomTypeHowTo.xml
new file mode 100644
index 0000000..db76a84
--- /dev/null
+++ b/xdocs/CustomRoomTypeHowTo.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Howto create a custom room type in OpenMeetings</title>

+		<author email="sebawagner@apache.org">

+            OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Why creating a custom room type in OpenMeetings">

+

+			<p>If you want to create your own styled room the best thing to do in 

+            order to be "update-save" is to create your own custom room type. There is an empty configuration 

+				by default shipped with every release of OpenMeetings, the room type "custom" (ID = 5).<br/>

+				<br/>

+            You can use that and extend it, or you can add more room types to fit your use case.

+			</p>

+			<p></p>

+		</section>

+		

+		<section name="Create your own room type class (User Interface)">

+			

+			<p>Lets start by creating your custom room type class.

+				<br/>

+					You could for example duplicate an existing room class, from <br/>

+					<tt>src/modules/conference/flexibleConferenceRoom</tt> folder, for example the 

+			flexibleConferenceRoom.lzx: Generate a duplicate, change the name, for example to 

+			myCustomConferenceRoom.lzx and edit the class name inside the file name="flexibleConferenceRoom" to

+			name="myCustomConferenceRoom". Also don't miss to add an entry to library.lzx so that the compiler 

+			will find your new class.

+			</p>

+			

+		</section>

+        

+		<section name="Create nesseccary entries in configuration tables">

+        	

+			<p>You first need to create a number of configuration files </p>

+			<ul>

+				<li>To have your roomtype available everytime you install OpenMeetings you need to add 

+					it to the default rooms: <tt>ImportInitvalues.java Method: loadDefaultRooms()</tt>. Add your entry here. 

+				You can choose any random name for the room. The ID is the important trigger for the room type 

+				to identify later. You need to run the installer so that your new room type is in the database.</li>

+				

+				<li>Add your room type in the default module configuration: 

+					<tt>src/base/moduleConfiguration.lzx</tt>, 

+				here you need to add a default class name for your room type </li>

+				

+				<li>Add your room type in the real configuration: config.xml, add a new entry.

+					<br/>

+					You should fix also the file <tt>openmeetings-config.xsd</tt> that is the Schema file for the config.xml.

+				</li>

+        		

+				<li>Add a parser entry to modify the room type mapping: 

+					<tt>base/mainMethods.lzx method: myinit</tt>. You 

+        		can see some example parsing, you should add your one similar to the existing room types.</li>

+        		

+			</ul>

+			

+		</section>

+		

+		<section name="Link your room type config with your room type class ">

+			

+			<p>Now you need to make sure that everytime the conference room is created 

+			your new class "myCustomConferenceRoom" is used. There are 3 places you need to add your mapping.</p>

+			

+			<ul>

+				<li>In the global mapping: 

+					<tt>base/mainMethods.lzx method name="setRoomValues"</tt> 

+				</li>

+				<li>In file: 

+					<tt>modules/conference/conference/roomListItem.lzx method name="initRoom"</tt> 

+				</li>

+				<li>In file: 

+					<tt>modules/invitation/autoloaderBarOnly.lzx netRemoteCallHib name="setUsernameAndSession"</tt> 

+				</li>

+			</ul>

+			

+			<p>Thats it. You can add/edit/delete your room with the new room type in the Administration > Rooms interface of 

+			OpenMeetings like any other room.</p>

+			<p>If you need to have this room type available as option in the Calendar UI, you need to add it to the combobox manually.</p>

+			

+		</section>

+		

+		

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/Dashboard.xml b/xdocs/Dashboard.xml
new file mode 100644
index 0000000..e8d6154
--- /dev/null
+++ b/xdocs/Dashboard.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Changing Dashboard</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Changing Dashboard">

+

+			<p>You can configure the tabs that are visible by default at bottom

+				of the dashboard. To edit the settings, login as admin and goto

+				Administration &gt; Configuration </p>

+			<p></p>

+			<table>

+				<tr>

+					<th style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> Config-key </th>

+					<th style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> Values </th>

+					<th style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> Meaning </th>

+				</tr>

+				<tr>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> default.dashboard.tab </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 0,1,2 </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> Which tab should be shown by default, counting

+						starts with 0

+					</td>

+				</tr>

+				<tr>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> dashboard.show.myrooms </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 0 or 1 </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> If the MyRooms tab should be visible or not </td>

+				</tr>

+				<tr>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> dashboard.show.chat </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 0 or 1 </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> If the Chat tab should be visible or not </td>

+				</tr>

+				<tr>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> dashboard.show.rssfeed </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 0 or 1 </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> If the RSS-Feed tab should be visible or not </td>

+				</tr>

+				<tr>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> rss_feed1 </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> http-URL </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> ATOM-Feed URL for the dashboard RSS Tab </td>

+				</tr>

+				<tr>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> rss_feed2 </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> http-URL </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> ATOM-Feed URL for the dashboard RSS Tab </td>

+				</tr>

+			</table>

+			<p></p>

+			<p>Changes are immediately online, no need to restart anything. </p>

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/EditTemplates.xml b/xdocs/EditTemplates.xml
new file mode 100644
index 0000000..fa634bd
--- /dev/null
+++ b/xdocs/EditTemplates.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Edit Templates</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Changing Labels and text strings">

+			<p>

+				All language string should be localized and stored in the language

+				section. You have a full featured language editor with every

+				installation of OpenMeetings, check out the

+				<a href="LanguageEditor.html">LanguageEditor</a>

+				.

+			</p>

+			<p>

+				To lookup the labelids in the GUI you can simply run OpenMeetings

+				client with the debug enabled. That way every text-string has the

+				labelid in brackets additionally in the textfield. To start the

+				client in debug mode just add the param ?swf=maindebug.swf8.swf to

+				the URL. Example:

+				<a href="http://localhost:5080/openmeetings/?swf=maindebug.swf8.swf"

+					rel="nofollow">http://localhost:5080/openmeetings/?swf=maindebug.swf8.swf</a>

+			</p>

+		</section>

+

+		<section name="Changing layout, adding footers in emails">

+

+			<p>If you would like to change the standard email layout or add for

+				example some footer in every email you have to change the email

+				templates.

+			</p>

+			<p>To do that: Stop the Red5/OpenMeetings-Service Goto:

+				$Red5_HOME/webapps/openmeetings/WEB-INF/lib/openmeetings-templates.jar

+				Unzip: openmeetings-templates.jar (this is a usual ZIP file, you can

+				rename it to openmeetings-templates.zip unzip, edit the files, zip

+				it again and rename it to openmeetings-templates.jar)

+			</p>

+			<p>

+				In openmeetings-templates.jar there are all template files. They

+				have the file extension .vm (VM stands for velocity-template). After

+				you have done your changes you need to (re)start the

+				Red5/OpenMeetings

+				-Service so that changes are online.

+			</p>

+

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/FFMPEGVersionSwitch.xml b/xdocs/FFMPEGVersionSwitch.xml
new file mode 100644
index 0000000..e7a6ef6
--- /dev/null
+++ b/xdocs/FFMPEGVersionSwitch.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Howto switch between different versions of FFMPEG </title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Default Configuration">

+

+			<p>FFMPEG has a change in its API (possibly since GIT revision

+				88bfe4518)

+			</p>

+			<p>Since Version 1.9.x of OpenMeetings: By default OpenMeetings

+				expects you to have a new version of FFMPEG on your OpenMeetings

+				server installed and it will use the new API style to communicate

+				with FFMPEG.

+			</p>

+

+		</section>

+

+		<section name="Switching to old FFMPEG API">

+		

+			<p>

+				If you want to switch to the old style you can change that using the

+				config key:

+				<tt>use.old.style.ffmpeg.map.option</tt>

+			</p>

+			<p>

+				Set this value to

+				<tt>1</tt>

+				to have the old params in the API call to FFMPEG.

+			</p>

+			<p>References:  </p>

+			<ul>

+				<li>

+					<a

+						href="http://ffmpeg-users.933282.n4.nabble.com/Invalid-stream-specifier-0-Stream-map-0-0-matches-no-streams-Changes-in-FFMPEG-map-option-td4091165.html"

+						rel="nofollow">http://ffmpeg-users.933282.n4.nabble.com/Invalid-stream-specifier-0-Stream-map-0-0-matches-no-streams-Changes-in-FFMPEG-map-option-td4091165.html

+					</a>

+				</li>

+			</ul>

+

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/GeneralConfiguration.xml b/xdocs/GeneralConfiguration.xml
new file mode 100644
index 0000000..e148e96
--- /dev/null
+++ b/xdocs/GeneralConfiguration.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>List of general configuration options</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="List of general configuration options">

+

+			<p>In Administration &gt; Configuration there are a number of

+				configuration values.

+			</p>

+			<p></p>

+			<table>

+				<tr>

+					<th style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> key </th>

+					<th style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> default </th>

+					<th style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> meaning </th>

+					<th style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> availabe since OpenMeetings version </th>

+				</tr>

+				<tr>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> user.login.minimum.length </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 4 </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> minimum chars required for the login to create a

+						user

+					</td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 1.9.x </td>

+				</tr>

+				<tr>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> user.pass.minimum.length </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 4 </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> minimum chars required for the password to create a

+						user

+					</td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 1.9.x </td>

+				</tr>

+				<tr>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> number.minutes.reminder.send </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 15 </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> minutes the one-time reminder in the calender is

+						send, set to 0 to disable reminder

+					</td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 1.9.x </td>

+				</tr>

+				<tr>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> max_upload_size </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 1073741824 </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> Maximum size of upload file (bytes) 1073741824 bytes

+						= 1GB

+					</td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 1.8.x </td>

+				</tr>

+				<tr>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> show.whiteboard.draw.status </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 0 </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> Display name of the user who draw the current object

+						(User Name auto-disapper after 3 seconds.

+					</td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 1.8.x </td>

+				</tr>

+				<tr>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> use.old.style.ffmpeg.map.option </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 0 </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> If the system should "." (old ffmpeg) instead of ":"

+						(new ffmpeg) for the -map option in FFMPEG

+					</td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 1.9.x </td>

+

+				</tr>

+				<tr>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> inviter.email.as.replyto </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 1 </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> Set inviter's email address as ReplyTo in email invitations (1 == set, 0 == NOT set)	</td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 2.0.x </td>

+				</tr>

+				<tr>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> office.path </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> The path to OpenOffice/LibreOffice (optional) please set this to the real path in case jodconverter is unable to find OpenOffice/LibreOffice installation automatically	</td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 2.0.x </td>

+				</tr>

+			</table>

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/GetVersionInfo.xml b/xdocs/GetVersionInfo.xml
new file mode 100644
index 0000000..b66d526
--- /dev/null
+++ b/xdocs/GetVersionInfo.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>How to check which Openmeetings version running</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="How to check which Openmeetings version running">

+			<p>If you need to know what version of OpenMeetings you are running,

+				you can check that by the file: openmeetings.jar

+			</p>

+			<p>

+				Unzip: /webapps/openmeetings/WEB-INF/lib/openmeetings.jar (jars are

+				zips)

+				<br />

+				<br />

+				In the resulting unziped folder open the file to read:

+				/META-INF/MANIFEST.MF

+			</p>

+			<p>You get something like this: </p>

+			<div class="xmlcode">

+				Manifest-Version: 1.0

+				<br />

+				Ant-Version: Apache Ant 1.8.2

+				<br />

+				Created-By: 1.6.0_26-b03-383-11A511 (Apple Inc.)

+				<br />

+				Built-By: OpenMeetings - http://openmeetings.googlecode.com

+				<br />

+				Built-On: 23-October-2011

+				<br />

+				Svn-Revision: 4368

+				<br />

+			</div>

+			<p>This version info is available since version 1.8.0. If you have an

+				older version as version 1.8.0 then you might simply check the

+				language files and the labelid in there, the numbers of labels are

+				almost always unique in the versions. </p>

+

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/IBMDB2Config.xml b/xdocs/IBMDB2Config.xml
new file mode 100644
index 0000000..1998aaf
--- /dev/null
+++ b/xdocs/IBMDB2Config.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+

+

+<document>

+

+	<properties>

+		<title>IBM DB2 Configuration</title>

+		<author email="sebawagner@incubator.apache.org">

+			Apache OpenMeetings Documentation Team

+		</author>

+	</properties>

+

+	<body>

+		<section name="IBM DB2 Configuration">

+

+			<subsection name="Before you start">

+				<i>Tested with IBM DB2 Express-C 9.7.x</i>

+				<ul>

+					<li>

+						Get the IBM Data Server Driver for JDBC and SQLJ from IBM website:

+						<a

+							href="https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?source=swg-idsdjs">https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?source=swg-idsdjs

+						</a>

+					</li>

+					<li>Copy JDBC driver db2jcc4.jar to

+						webapps/openmeetings/WEB-INF/lib/

+					</li>

+					<li>

+						Create database for OpenMeetings using a pagesize bigger or equal

+						8K, sample query:

+						<br />

+						<div class="xmlcode">

+							CREATE DATABASE openmeet AUTOMATIC STORAGE YES ON 'C:' DBPATH ON 'C:'

+							USING CODESET UTF-8 TERRITORY DE COLLATE USING System PAGESIZE 16

+							K

+						</div>

+					</li>

+					<li>If you encounter issues, you can drop the db again and delete

+						the file $red5/webapps/openmeetings/conf/install.xml and then run

+						the web based installer again </li>

+				</ul>

+			</subsection>

+

+			<subsection name="Steps todo">

+				<ul>

+					<li>

+						Rename:

+						<br />

+						$red5/webapps/openmeetings/WEB-INF/classes/META-INF/db2_persistence.xml

+						<br />

+						to

+						<br />

+						$red5/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

+					</li>

+					<li>

+						Prepare Database Settings - go to

+						openmeetings_version_no_xx/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

+						<br />

+						Alter config values in persistence.xml connectionURL, username and

+						password with your values

+					</li>

+					<li>

+						Run red5-service and goto the web-based installer:

+						http://localhost:5080/openmeetings/install

+					</li>

+				</ul>

+			</subsection>

+

+			<subsection name="DB2 Sample Configuration">

+				<p>

+					There is a sample configuration for IBM DB2 that ships with

+					every

+					release in:

+					<br />

+					/webapps/openmeetings/WEB-INF/classes/META-INF/db2_persistence.xml

+				</p>

+			</subsection>

+

+

+		</section>

+

+	</body>

+

+</document>

diff --git a/xdocs/Internationalisation.xml b/xdocs/Internationalisation.xml
new file mode 100644
index 0000000..108be43
--- /dev/null
+++ b/xdocs/Internationalisation.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Upgrade</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Where to find language files">

+

+			<p>You can find all current language files here: </p>

+			<p>

+				<a

+					href="https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/WebContent/languages/"

+					rel="nofollow">https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/WebContent/languages/

+				</a>

+			</p>

+			<p>Just take one file and translate it to your language. </p>

+		</section>

+

+		<section name="Import and export of Language Files">

+

+			<ul>

+				<li>

+					Use the

+					<a href="LanguageEditor.html">LanguageEditor</a>

+					for translation

+				</li>

+				<li>

+					with the

+					<a href="LanguageEditor.html">LanguageEditor</a>

+					you can import and export Language Files

+				</li>

+			</ul>

+		</section>

+

+		<section name="How to add it as installation option">

+			<p>

+				Once you have finished the translation you can add a new node to:

+				<a

+					href="https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/WebContent/languages/languages.xml"

+					rel="nofollow">https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/WebContent/languages/languages.xml

+				</a>

+			</p>

+			<p>the name of the language should match the name of the file. Once

+				this is done the Language file will automatically be imported during

+				installation and will be an option at login.

+			</p>

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/JUnitTesting.xml b/xdocs/JUnitTesting.xml
new file mode 100644
index 0000000..d03ef25
--- /dev/null
+++ b/xdocs/JUnitTesting.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>JUnit Testing</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Introduction">

+

+			<p>

+				Automatic tests are the significant part of development process.

+				Below is the instruction of how to run Openmeetings

+				<a href="http://junit.org" rel="nofollow">JUnit</a>

+				tests.

+			</p>

+		</section>

+

+		<section name="Details">

+

+

+			<ol>

+				<li>running tests using command line: </li>

+				<ul>

+					<li>all tests: </li>

+					<div class="xmlcode">

+						ant test

+					</div>

+					<li>subset of tests by mask: </li>

+					<div class="xmlcode">

+						ant -Dtestcases=TestError* test

+					</div>

+				</ul>

+				<li>running tests from Eclipse IDE: </li>

+				<ul>

+					<li>

+						<div class="xmlcode">

+							ant -Ddb=&lt;your_DB&gt; prepare-eclipse

+						</div>

+					</li>

+					<li>Start Eclipse </li>

+					<li>Load workspace with Openmeetings project (or refresh existing

+						project)

+					</li>

+					<li>Select "Debug Configurations..." </li>

+				</ul>

+			</ol>

+			<p>

+				<a class="fancybox-buttons" data-fancybox-group="button"

+					href="images/DebugConfigurations.png">

+					<img src="images/DebugConfigurations.png" alt="" width="367"

+						height="262" />

+				</a>

+			</p>

+			<ul>

+				<li>Create New Junit configuration, give it a name and select test

+					class

+				</li>

+			</ul>

+			<p>

+				<a class="fancybox-buttons" data-fancybox-group="button"

+					href="images/NewConfiguration.png">

+					<img src="images/NewConfiguration.png" alt="" width="420"

+						height="206" />

+				</a>

+			</p>

+			<ul>

+				<li>Select Arguments tab </li>

+				<li>Add the following code to the VM section </li>

+				<div class="xmlcode">

+					-javaagent:${workspace_loc:Openmeetings}/build/lib/om/openjpa-bundle-2.2.0.jar

+					-Dwebapps.root=${workspace_loc:Openmeetings}/dist/red5/webapps/openmeetings

+				</div>

+				<li>To avoid temporary files being created in OM root, modify

+					"Working Directory" as follows</li>

+				<div class="xmlcode">${workspace_loc:Openmeetings}/build/junit</div>

+			</ul>

+			<p>

+				<a class="fancybox-buttons" data-fancybox-group="button"

+					href="images/Arguments.png">

+					<img src="images/Arguments.png" alt="" width="435" height="410" />

+				</a>

+			</p>

+			<ul>

+				<li>Select Debug </li>

+

+			</ul>

+			<ul>

+				<li>Note: You need a file called "persistence.xml" in src/META-INF

+					if you run the JUnit test from inside Eclipse. Normally "ant

+					prepare-eclipse" should do that for you. </li>

+

+			</ul>

+

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/JVMPerformanceTuning.xml b/xdocs/JVMPerformanceTuning.xml
new file mode 100644
index 0000000..ae606d7
--- /dev/null
+++ b/xdocs/JVMPerformanceTuning.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Performance Tuning</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Performance Tuning">

+

+			<p>To use the optimum of performance from your server there is a

+				start-script for red5 available that does some basic settings in the

+				JVM. It is called red5-highperf.sh. It is recommended to use that

+				script for production and high-load scenarios.

+			</p>

+			<div class="xmlcode">

+				#!/bin/bash

+				<br />

+				<br />

+				if [ -z "$RED5_HOME" ]; then export RED5_HOME=.; fi

+				<br />

+				<br />

+				# Previous option set

+				<br />

+				export JAVA_OPTS="-Xrs -Xms512M -Xmx1024M -Xss128K -XX:NewSize=256m

+				-XX:SurvivorRatio=16 -XX:MinHeapFreeRatio=20

+				-XX:+ExplicitGCInvokesConcurrent -Djava.net.preferIPv4Stack=true

+				-Xverify:none"

+				<br />

+				<br />

+				# start Red5

+				<br />

+				echo "Setting Hi Performance Options"

+				<br />

+				exec $RED5_HOME/red5.sh >> $RED5_HOME/log/jvm.stdout 2>&amp;1 &amp;

+				<br />

+			</div>

+

+			<p>You have to exclude the "-XX:+UseConcMarkSweepGC" param from the

+				default red5-highperf.sh to make it functional! However if you are a

+				performance expert you might also play with the values to find

+				perfect matches for your use-case.

+			</p>

+			<p>

+				For a complete overview about possible arguments and their meaning

+				see:

+				<a

+					href="http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html#PerformanceTuning"

+					rel="nofollow">http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html#PerformanceTuning

+				</a>

+			</p>

+

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/JiraPlugin.xml b/xdocs/JiraPlugin.xml
new file mode 100644
index 0000000..77c4fec
--- /dev/null
+++ b/xdocs/JiraPlugin.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Jira Plugin</title>

+		<author email="eugen.schwert@gmail.com">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Jira Plugin for OpenMeetings">

+			<p>

+				Current Development Snapshots for testing can be downloaded from:

+				<a href="https://svn.apache.org/repos/asf/incubator/openmeetings/branches/jira-plugin/target/openmeetings-1.0-SNAPSHOT.jar">here</a>

+				.

+			</p>			

+		</section>

+		

+		<section name="Features">

+			<p>The plugin contains the following features: </p>

+			<ul>

+				<li>Create videoconference rooms through Jira: </li>

+				<ol>

+					<li>Integrated with Jira issues </li>										

+					<li>Configurable room type </li>

+				</ol>

+			</ul>			

+		</section>	

+		

+		<section name="Demo video">			

+			<p>The demo video of Jira plugin show you the plugin in action </p>              

+		      <object style="height: 390px; width: 640px">

+			      <param name="movie" value="http://www.youtube.com/v/xBdYj-OZvlc?version=3&amp;feature=player_detailpage"/>

+			      <param name="allowFullScreen" value="true"/>

+			      <param name="allowScriptAccess" value="always"/>

+			      <embed src="http://www.youtube.com/v/xBdYj-OZvlc?version=3&amp;feature=player_detailpage" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360"/>

+		      </object> 

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/LanguageEditor.xml b/xdocs/LanguageEditor.xml
new file mode 100644
index 0000000..8e8bd30
--- /dev/null
+++ b/xdocs/LanguageEditor.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Language Editor</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Language Editor">

+

+			<p>Features:</p>

+			<ul>

+				<li>edit the labels of any language, changes will take effect as

+					soon as you re-login

+				</li>

+				<li>add new languages (for example to fit your co-operative design

+					and language of your company)

+				</li>

+				<li>export the language-files to an XML File (these language Files

+					can be used for your next installation or as contribution to the

+					project)

+				</li>

+				<li>

+					import of language files (

+					<i>you should restart the server if you face problems, as the

+						database cache might be invalid

+					</i>

+					)

+				</li>

+			</ul>

+			<p>Screen from the Administration Panel: </p>

+			<p>

+				<a class="fancybox-buttons" data-fancybox-group="button"

+					href="images/langeditor_screen_v2.png">

+					<img src="images/langeditor_screen_v2.png" alt="" width="475"

+						height="324" />

+				</a>

+			</p>

+

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/LdapAndADS.xml b/xdocs/LdapAndADS.xml
new file mode 100644
index 0000000..e6fd27f
--- /dev/null
+++ b/xdocs/LdapAndADS.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Home</title>

+		<author email="sebawagner@apache.org">

+			Sebastian Wagner

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="LDAP and Active Directory Integration">

+

+			<p> In: $RED5_HOME/webapps/openmeetings/conf<br/>

+

+				you will find sample configurations for LDAP and Active Directory. The

+				nature of those Directory Servers are that they are individual for

+				every organization, so you have to modify of course at least the

+				path to your user-base et cetera.<br/>

+				<br/>

+				To activate any of those configurations you have to login into

+				OpenMeetings, goto Administration > Ldap.

+			</p>

+			

+			<a class="fancybox-buttons" data-fancybox-group="button"

+					href="images/ldap_screen.png">

+					<img src="images/ldap_screen.png" alt="" width="442" height="282" />

+				</a>

+			

+			<p>

+				Import is that you configure LDAP_SEARCH_PATH so that it points to the node of your directory server that contains the users

+			</p>

+			

+			<p>

+				If you have multiple search paths you can either try to define a search path that points to multiple nodes or define multiple ldap configurations.

+			</p>

+			

+			<p>

+				Successful integration is also reported with Novell eDirectory

+			</p>

+			

+			<p>

+				You can configure multiple domains or different user-paths in the Administration of OpenMeetings. 

+			</p>

+

+		</section>

+

+	</body>

+</document>
\ No newline at end of file
diff --git a/xdocs/MoodlePlugin.xml b/xdocs/MoodlePlugin.xml
new file mode 100644
index 0000000..6c3fe2f
--- /dev/null
+++ b/xdocs/MoodlePlugin.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Moodle Plugin</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Moodle Plugin for OpenMeetings">

+			<p>

+				You can get the latest Version of the Plugin for Moodle from the

+				<a href="downloads.html">downloads</a>

+				.

+			</p>

+			<p>

+				You can find the OpenMeetings Plugin also in the

+				<a href="http://moodle.org/plugins/view.php?plugin=mod_openmeetings"

+					target="_BLANK" rel="nofollow">Moodle Plugin database</a>

+				.

+			</p>

+			<p>

+				A demo version of the Moodle plugin is available at

+				<a href="http://moodle.openmeetings.de" target="_BLANK" rel="nofollow">moodle.openmeetings.de

+				</a>

+				.

+			</p>

+		</section>

+

+		<section name="Installation the Moodle Plugin for OpenMeetings">

+			<p>

+				You simply download the ZIP package and unzip it to Moodle's mod

+				directory.

+				<br />

+				The you visit the admin interface of Moodle, for example

+				<a href="http://$your_moodle_host/$MOODLE_WWW_ROOT/admin" target="_BLANK"

+					rel="nofollow">http://$your_moodle_host/$MOODLE_WWW_ROOT/admin</a>

+			</p>

+			<p>In Moodle's module configuration web-interface you will find the

+				Plugin's configuration

+			</p>

+			<a class="fancybox-buttons" data-fancybox-group="button"

+				href="images/moodle_plugin_conference.png">

+				<img src="images/moodle_plugin_conference.png" alt="" width="500"

+					height="400" />

+			</a>

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/MySQLConfig.xml b/xdocs/MySQLConfig.xml
new file mode 100644
index 0000000..40d7056
--- /dev/null
+++ b/xdocs/MySQLConfig.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+

+

+<document>

+

+	<properties>

+		<title>MySQL Configuration</title>

+		<author email="sebawagner@incubator.apache.org">

+			Apache OpenMeetings Documentation Team

+		</author>

+	</properties>

+

+	<body>

+		<section name="MySQL Configuration">

+

+			<subsection name="Before you start">

+				<ul>

+					<li>Make sure that you have set utf8 as

+						default/server-character-set in your MySQL configuration (my.cnf)

+						before you start the installation process of OpenMeetings!

+					</li>

+					<li>

+						make sure MySQL is listening on TCP/IP connections!

+						<br />

+						To verify if MySQL connection is working: OpenMeetings will

+						automatically create all tables in the database and all tables

+						should have utf8 as encoding/collation!

+					</li>

+					<li>If you encounter issues, you can drop the db again and delete

+						the file $red5/webapps/openmeetings/conf/install.xml and then run

+						the web based installer again

+					</li>

+				</ul>

+			</subsection>

+

+			<subsection name="Steps todo">

+				<ul>

+					<li>

+						You need to download the JConnector from mysql

+						<a href="http://www.mysql.de/products/connector/" target="_BLANK"

+							rel="nofollow">http://www.mysql.de/products/connector/</a>

+						and place it into:

+						<tt>$red5/webapps/openmeetings/WEB-INF/lib/</tt>

+					</li>

+					<li>

+						Rename:

+						<br />

+						$red5/webapps/openmeetings/WEB-INF/classes/META-INF/mysql_persistence.xml

+						<br />

+						to

+						<br />

+						$red5/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

+					</li>

+					<li>

+						Prepare Database Settings - go to

+						openmeetings_version_no_xx/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

+						<br />

+						Alter config values in persistence.xml DB_HOST USER_NAME USER_PASS

+						with your values

+					</li>

+					<li>

+						Run red5-service and goto the web-based installer:

+						http://localhost:5080/openmeetings/install

+					</li>

+				</ul>

+			</subsection>

+

+			<subsection name="MySQL Sample Configuration">

+				<p>

+					There is a sample configuration for MySQL that ships with

+					every

+					release in:

+					<br />

+					/webapps/openmeetings/WEB-INF/classes/META-INF/mysql_persistence.xml

+				</p>

+			</subsection>

+

+

+		</section>

+

+	</body>

+

+</document>

diff --git a/xdocs/Navigation.xml b/xdocs/Navigation.xml
new file mode 100644
index 0000000..9dc3108
--- /dev/null
+++ b/xdocs/Navigation.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Change main navigation</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Changing the main navigation">

+

+			<p>To customize the main menu (for example remove entries or changing

+				the order) you can edit the tables:  </p>

+			<ul>

+				<li>navimain </li>

+				<li>naviglobal </li>

+				<li>navisub (currently not in use) </li>

+			</ul>

+			<p></p>

+			<p>

+				You need to make sure that you

+				<strong>restart red5 after doing changes to the database</strong>

+				, there is a database cache, so changes might not take affect as

+				long as you did not restart.

+			</p>

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/OpenOfficeConverter.xml b/xdocs/OpenOfficeConverter.xml
new file mode 100644
index 0000000..02de961
--- /dev/null
+++ b/xdocs/OpenOfficeConverter.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>OpenOffice converter for OpenMeetings</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="OpenOffice Service for OpenMeetings">

+

+			<p>

+				To import .doc, .docx, .odp, .xls, .xlsx, .ppt, .pptx, ... [ all

+				files that you can open with OpenOffice ]

+				to OpenMeetings and use

+				them in the whiteboard you need OpenOffice or LibreOffice

+				installed

+				the machine that runs OpenMeetings.

+			</p>

+			<p>

+				<i>Since Version 2.0 of OpenMeetings starting of

+					OpenOffice/LibreOffice as service in not required, JODConverter

+					will automatically start and shut down the service!

+				</i>

+			</p>

+			<p>

+				Installation of JODConverter means: You donwload the ZIP binary from

+				their

+				<a href="http://code.google.com/p/jodconverter/" target="_BLANK"

+					ref="nofollow">website</a>

+				and then configure in Apache OpenMeetings Administration >

+				Configuration (or during installation) the config key

+				<tt>jod.path</tt>

+				to point to the "lib" directory of the unpacked JODConverter binary.

+				There is no restart of OpenMeetings required.

+			</p>

+			<p>You should use an OpenOffice version greater 3</p>

+

+		</section>

+

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/OracleConfig.xml b/xdocs/OracleConfig.xml
new file mode 100644
index 0000000..1e25bfd
--- /dev/null
+++ b/xdocs/OracleConfig.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+

+

+<document>

+

+	<properties>

+		<title>IBM DB2 Configuration</title>

+		<author email="sebawagner@incubator.apache.org">

+			Apache OpenMeetings Documentation Team

+		</author>

+	</properties>

+

+	<body>

+		<section name="IBM DB2 Configuration">

+

+			<subsection name="Before you start">

+				<ul>

+					<li>Download the latest JDBC Driver from Oracle for your database

+						version. Place those JARs into

+						$Red5/webapps/openmeetings/WEB-INF/lib

+					</li>

+					<li>If you encounter issues, you can drop the db again and delete

+						the file $red5/webapps/openmeetings/conf/install.xml and then run

+						the web based installer again

+					</li>

+				</ul>

+			</subsection>

+

+			<subsection name="Steps todo">

+				<ul>

+					<li>

+						Rename:

+						<br />

+						$red5/webapps/openmeetings/WEB-INF/classes/META-INF/oracle_persistence.xml

+						<br />

+						to

+						<br />

+						$red5/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

+					</li>

+					<li>

+						Prepare Database Settings - go to

+						openmeetings_version_no_xx/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

+						<br />

+						Alter config values in persistence.xml connectionURL, username and

+						password with your values

+					</li>

+					<li>

+						Run red5-service and goto the web-based installer:

+						http://localhost:5080/openmeetings/install

+					</li>

+				</ul>

+			</subsection>

+

+			<subsection name="Oracle Sample Configuration">

+				<p>

+					There is a sample configuration for Oracle that ships with

+					every release in:

+					<br />

+					/webapps/openmeetings/WEB-INF/classes/META-INF/oracle_persistence.xml

+				</p>

+			</subsection>

+

+

+		</section>

+

+	</body>

+

+</document>

diff --git a/xdocs/PortSettings.xml b/xdocs/PortSettings.xml
new file mode 100644
index 0000000..012a4d4
--- /dev/null
+++ b/xdocs/PortSettings.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Port settings</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Default Configuration">

+

+			<ul>

+				<li>Port 5080: HTTP (For example for file upload and download) </li>

+				<li>Port 1935: RTMP (Flash Stream and Remoting/RPC) </li>

+				<li>Port 8088: RTMP over HTTP-Tunneling (rtmpT) </li>

+			</ul>

+			<p>Additionally red5 uses some ports internally. However those ports

+				are not in use by OpenMeetings by default.

+			</p>

+

+		</section>

+

+		<section name="Configure alternative ports">

+

+			<p>You need to change two files: </p>

+			<ul>

+				<li>Server-Side configuration: $RED5_HOME/conf/red5.properties, you

+					need to restart the red5-service so that changes are online.

+				</li>

+				<li>Client-Side configuration:

+					$RED5_HOME/webapps/openmeetings/config.xml, you need to clear your

+					browser cache after changing the file.

+				</li>

+				<blockquote>Every server side configuration has a client side

+					representive

+				</blockquote>

+			</ul>

+			<p></p>

+			<table>

+				<tr>

+					<th style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> Config-Name </th>

+					<th style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> Default-value </th>

+					<th style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> Name in red5.properties </th>

+					<th style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> Name in config.xml </th>

+				</tr>

+				<tr>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> HTTP </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 5080 </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> http.port </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> red5httpport </td>

+				</tr>

+				<tr>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> RTMP </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 1935 </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> rtmp.port </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> rtmpport </td>

+				</tr>

+				<tr>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> RTMPT </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> 8088 </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> rtmpt.host </td>

+					<td style="border: 1px solid rgb(204, 204, 204); padding: 5px;"> rtmpTunnelport </td>

+				</tr>

+			</table>

+

+		</section>

+

+		<section name="Preventing Firewall issues">

+

+			<p>A common way of bypassing the firewall is to change HTTP port to

+				80 and rtmpT to 443.

+			</p>

+			<p>A short description about the connection mechanism: The

+				application first tries connecting to rtmp 3 times, because rtmp is

+				the protocol that is less performance hungry. If that fails the

+				application will fallback to rtmpT.

+			</p>

+			<p>Most firewalls do allow traffic on port 443 and they normally do

+				not analyse the packets, because 443 is normally SSL encrypted, so

+				the firewall should not be able to read the packets at all.

+			</p>

+

+		</section>

+

+		<section name="OpenMeetings over SSL">

+

+			<p>

+				You can run OpenMeetings completely over SSL. See

+				<a href="RTMPSAndHTTPS.html">RTMPSAndHTTPS</a>

+				.

+			</p>

+

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/PostgresConfig.xml b/xdocs/PostgresConfig.xml
new file mode 100644
index 0000000..324bfd4
--- /dev/null
+++ b/xdocs/PostgresConfig.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+

+

+<document>

+

+	<properties>

+		<title>Postgres Configuration</title>

+		<author email="sebawagner@incubator.apache.org">

+			Apache OpenMeetings Documentation Team

+		</author>

+	</properties>

+

+	<body>

+		<section name="Postgres Configuration">

+

+			<subsection name="Before you start">

+				<ul>

+					<li>Make sure that you have set utf8 as default/server-character-set 

+					</li>

+					<li>

+						make sure Postgres is listening on TCP/IP connections!

+						<br />

+						To verify if Postgres connection is working: OpenMeetings will

+						automatically create all tables in the database and all tables

+						should have utf8 as encoding/collation!

+					</li>

+					<li>If you encounter issues, you can drop the db again and delete

+						the file $red5/webapps/openmeetings/conf/install.xml and then run

+						the web based installer again

+					</li>

+				</ul>

+			</subsection>

+

+			<subsection name="Steps todo">

+				<ul>

+					<li>

+						Rename:

+						<br />

+						$red5/webapps/openmeetings/WEB-INF/classes/META-INF/postgres_persistence.xml

+						<br />

+						to

+						<br />

+						$red5/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

+					</li>

+					<li>

+						Prepare Database Settings - go to

+						openmeetings_version_no_xx/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

+						<br />

+						Alter config values in persistence.xml DB_HOST USER_NAME USER_PASS

+						with your values

+					</li>

+					<li>

+						Run red5-service and goto the web-based installer:

+						http://localhost:5080/openmeetings/install

+					</li>

+				</ul>

+			</subsection>

+

+			<subsection name="Postgres Sample Configuration">

+				<p>

+					There is a sample configuration for Postgres that ships with

+					every

+					release in:

+					<br />

+					/webapps/openmeetings/WEB-INF/classes/META-INF/postgres_persistence.xml

+				</p>

+			</subsection>

+

+

+		</section>

+

+	</body>

+

+</document>

diff --git a/xdocs/RTMPSAndHTTPS.xml b/xdocs/RTMPSAndHTTPS.xml
new file mode 100644
index 0000000..5f08208
--- /dev/null
+++ b/xdocs/RTMPSAndHTTPS.xml
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Using OpenMeetings with RTMPS and HTTPS</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Using OpenMeetings with RTMPS and HTTPS">

+

+			<p>There are 3 ways the client communicates with the server: </p>

+			<ul>

+				<li>The flash-client uses RTMP protocol to transfer Audio/Video and

+					to send and receive the user data (login et cetera) to the server

+					and back

+				</li>

+				<li>The browser uses HTTP protocol to load the SWF and to upload and

+					download the files (documents, pdfs, images) to the server and

+					back.

+				</li>

+				<li>The screensharing client uses RTMP protocol to transfer screen

+					data and remote control to the server and back

+				</li>

+			</ul>

+

+		</section>

+

+		<section name="Prerequisites">

+

+			<ul>

+				<li>You need OpenMeetings 1.9.x for this, OpenMeetings 1.8.x does

+					not

+					have those options.

+				</li>

+				<li>Install OpenMeetings according to the install instructions and

+					check that it runs without problems

+				</li>

+				<li>Rename the existing keystore file red5/conf/keystore to

+					keystore.bak

+				</li>

+			</ul>

+

+		</section>

+

+		<section name="Configuring RTMPS for the Flash Client">

+

+			<ol>

+				<li>

+					Create a new keystore and key, use the same password for both:<br/>

+					(copied from

+					<a

+						href="http://trac.red5.org/wiki/Documentation/Tutorials/Red5DeveloperTips/SSLTLS%29:"

+						rel="nofollow">http://trac.red5.org/wiki/Documentation/Tutorials/Red5DeveloperTips/SSLTLS):</a>

+					<div class="xmlcode">

+						keytool -keysize 2048 -genkey -alias red5 -keyalg RSA -keystore red5/conf/keystore<br/>

+						Enter keystore password:<br/>

+						Re-enter new password:<br/>

+						What is your first and last name?<br/>

+						[Unknown]:  &lt;your hostname, e.g demo.openmeetings.de&gt;<br/>

+						What is the name of your organizational unit?<br/>

+						[Unknown]:  Dev<br/>

+						What is the name of your organization?<br/>

+						[Unknown]:  OpenMeetings<br/>

+						What is the name of your City or Locality?<br/>

+						[Unknown]:  Henderson<br/>

+						What is the name of your State or Province?<br/>

+						[Unknown]:  Nevada<br/>

+						What is the two-letter country code for this unit?<br/>

+						[Unknown]:  US<br/>

+						Is CN=demo.openmeetings.de, OU=Dev, O=OpenMeetings, L=Henderson, ST=Nevada, C=US correct?<br/>

+						[no]:  yes<br/>

+						Enter key password for &lt;red5&gt;<br/>

+					</div>

+				</li>

+		

+				<li>Generate a CSR: keytool -certreq -keyalg RSA -alias red5 -file

+					red5.csr -keystore red5/conf/keystore

+				</li>

+				<li>Submit CSR to your CA of choice and receive a signed certificate

+				</li>

+				<li>Import your chosen CA's root certificate into the keystore (may

+					need to download it from their site - make sure to get the root CA and

+					not the intermediate one): keytool -import -alias root -keystore

+					red5/conf/keystore

+					-trustcacerts -file root.crt (note: you may receive a warning that

+					the certificate already exists in the system wide keystore - import

+					anyway)

+				</li>

+				<li>Import the intermediate certificate(s) you normally receive with

+					the certificate:

+					keytool -import -alias intermed -keystore red5/conf/keystore -trustcacerts

+					-file intermediate.crt

+				</li>

+				<li>Import the certificate you received: keytool -import -alias red5

+					-keystore red5/conf/keystore -trustcacerts -file

+					demo.openmeetings.de.crt

+				</li>

+                <li>

+                Create additional certificate as described above.

+                Add this certificate to the following keystores: <tt>red5/conf/keystore.screen</tt> and <tt>red5/conf/keystore</tt>.

+                </li>

+			</ol>

+

+		</section>

+		

+		<section name="Set up RTMPS">

+		

+		  <ol>

+		      <li>

+		      Uncomment <tt>&lt;!-- RTMPS --&gt;</tt> section in <tt>red5/conf/red5-core.xml</tt>

+		      </li>

+

+				<li>

+					Edit <tt>red5/conf/red5.properties</tt> and set

+					<tt>rtmps.port=5443</tt>

+					and

+					<tt>rtmps.keystorepass=password</tt>

+					(password = password you set on your new

+					keystore)

+				</li>

+			

+				<li>

+					Edit red5/webapps/openmeetings/config.xml and set

+					<tt>&lt;rtmpsslport&gt;5443&lt;/rtmpsslport&gt;</tt>

+					,

+					<tt>&lt;useSSL&gt;yes&lt;/useSSL&gt;</tt>

+					and

+					<tt>&lt;proxyType&gt;best&lt;/proxyType&gt;</tt>

+				</li>

+

+				<li>Restart red5 and try to connect - your connection should now be

+					made via RTMPS (close port 1935 to be sure)

+				</li>   

+					  

+		  </ol>

+		

+		</section>

+

+		<section name="SSL for the web interface">

+	

+			<p>If you want to use SSL for the web interface in addition to RTMPS,

+				you need to make some further modifications. This is mainly to secure

+				the server against MITM attacks, additionally some other features

+				like file uploads also use a plain HTTP connection if this is not

+				done. The following instructions assume that you have already set up

+				RTMPS successfully. </p>

+			<ol>

+				<li>

+					Copy this

+					<a

+						href="http://openmeetings.googlecode.com/svn/docs/jee-container-ssl.xml"

+						rel="nofollow">jee-container-ssl.xml</a>

+					file to red5/conf/jee-container.xml

+				</li>

+				<li>

+					Edit red5/webapps/openmeetings/config.xml and set

+					<tt>&lt;protocol&gt;https&lt;/protocol&gt;</tt>

+				</li>

+				<li>Edit red5/conf/red5.properties and set <tt>https.port=443</tt> </li>

+				<li>

+					Restart red5 and try to connect to

+					<a href="https://your.server" rel="nofollow">https://your.server</a>

+					- you should be redirected to the OpenMeetings

+					<a href="/p/openmeetings/w/edit/OpenMeetings">?</a>

+					app and all access should be via HTTPS or RTMPS (close port 5080 to

+					be sure).

+				</li>

+            </ol>

+            

+	   </section>

+

+		<section name="Credits">

+	

+			<p>Credits goto: Nexus and Holger Rabbach for their help and

+				contribution and configuration documention! </p>

+	

+		</section>

+	

+

+	</body>

+

+</document>

+

diff --git a/xdocs/RestAPISample.xml b/xdocs/RestAPISample.xml
new file mode 100644
index 0000000..a581a52
--- /dev/null
+++ b/xdocs/RestAPISample.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Home</title>

+		<author email="sebawagner@apache.org">

+			Sebastian Wagner

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Introduction">

+

+			<p> For a detailed instruction which services, methods and params are available see the list in the SoapMethods. ALL methods that are implemented for the SOAP API are also available via REST. 

+			</p>

+

+		</section>

+		

+		<section name="How to invoke Services via REST">

+

+			<p>For example for the method getSession in the UserService, you would use this URL via REST:

+			</p>

+			<p>Sample URL: </p><a href="http://demo.openmeetings.de/openmeetings/services/UserService/getSession">http://demo.openmeetings.de/openmeetings/services/UserService/getSession</a>

+			<p>Result: </p>

+			<div class="xmlcode">

+				&lt;ns:getSessionResponse/&gt;<br/>

+				&lt;ns:return type="org.openmeetings.app.hibernate.beans.basic.Sessiondata"/&gt;<br/>

+				<div style="margin-left:20px">

+					&lt;ax219:id&#62;156971&lt;/ax219:id/&gt;<br/>

+					&lt;ax219:language_id xsi:nil="true"//&gt;<br/>

+					&lt;ax219:organization_id xsi:nil="true"//&gt;<br/>

+					&lt;ax219:refresh_time&#62;2011-07-03T14:40:44.000Z&lt;/ax219:refresh_time/&gt;<br/>

+					&lt;ax219:sessionXml xsi:nil="true"//&gt;<br/>

+					&lt;ax219:session_id&#62;26584705202d7c1de6cc8e7e28890e3d&lt;/ax219:session_id/&gt;<br/>

+					&lt;ax219:starttermin_time&#62;2011-07-03T14:40:44.000Z&lt;/ax219:starttermin_time/&gt;<br/>

+					&lt;ax219:storePermanent xsi:nil="true"//&gt;<br/>

+					&lt;ax219:user_id xsi:nil="true"//&gt;<br/>

+				</div>

+				&lt;/ns:return/&gt;<br/>

+				&lt;/ns:getSessionResponse/&gt;<br/>

+			</div>

+			<p>To login a user the call to auth would be:</p>

+			<p>Sample URL: </p><a href="http://demo.openmeetings.de/openmeetings/services/UserService/loginUser?SID=26584705202d7c1de6cc8e7e28890e3d&#38;username=hans&#38;userpass=test">http://demo.openmeetings.de/openmeetings/services/UserService/loginUser?SID=26584705202d7c1de6cc8e7e28890e3d&#38;username=han&#38;userpass=test</a>

+			<p>Result: </p>

+			<div class="xmlcode">

+				&lt;ns:loginUserResponse/&gt;<br/>

+				<div style="margin-left:20px">

+				    &lt;ns:return&#62;-11&lt;/ns:return/&gt;<br/>

+				</div>

+				&lt;/ns:loginUserResponse/&gt;<br/>

+			</div>

+			<p>=> It does return -10, which is the error id cause we will not write down a SOAP login to our public server in this wiki. However the correct way to check this error would be to invoke the call to get the localized error message. So we invoke the method to get the error via REST:</p>

+			<p>Sample URL: </p><a href="http://demo.openmeetings.de/openmeetings/services/UserService/getErrorByCode?SID=26584705202d7c1de6cc8e7e28890e3d&#38;errorid=-10&#38;language_id=1">http://demo.openmeetings.de/openmeetings/services/UserService/getErrorByCode?SID=26584705202d7c1de6cc8e7e28890e3d&#38;errorid=-10&#38;language_id=1</a>

+			<p>Result:</p>

+			<div class="xmlcode">

+				&lt;ns:getErrorByCodeResponse/&gt;<br/>

+				&lt;ns:return type="org.openmeetings.app.data.beans.basic.ErrorResult"/&gt;<br/>

+				<div style="margin-left:20px">

+					&lt;ax218:errmessage&#62;Username not found&lt;/ax218:errmessage/&gt;<br/>

+					&lt;ax218:errorId&#62;-10&lt;/ax218:errorId/&gt;<br/>

+					&lt;ax218:errortype&#62;Error&lt;/ax218:errortype/&gt;<br/>

+				</div>

+				&lt;/ns:return/&gt;<br/>

+				&lt;/ns:getErrorByCodeResponse/&gt;<br/>

+			</div>

+		</section>

+

+

+

+	</body>

+</document>
\ No newline at end of file
diff --git a/xdocs/RestrictedAccess.xml b/xdocs/RestrictedAccess.xml
new file mode 100644
index 0000000..1e98174
--- /dev/null
+++ b/xdocs/RestrictedAccess.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>How to restrict access to your Openmeetings server</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+	

+		<section name="Server Side">

+	

+			<p>You can protect your OpenMeetings instance from beeing accessed

+				from 3th party by using the file:

+			</p>

+			<p>$RED5_HOME/webapps/openmeetings/WEB-INF/red5-web.properties </p>

+			<p>Content: </p>

+			<div class="xmlcode">

+				webapp.virtualHosts=*,localhost, 127.0.0.1

+			</div>

+			Sample file:

+			<a

+				href="http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/red5-web.properties"

+				rel="nofollow">http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/red5-web.properties

+			</a>

+		</section>

+

+		<section name="Client Side">

+

+			<p>And you can restrict the access also for the client side: Every

+				Flash Plugin will check a file called "crossdomain.xml" before it

+				tries to access the server using rtmp/RPC. This file is located: </p>

+			<p>$RED5_HOME/webapps/root/crossdomain.xml </p>

+			<p>Content: </p>

+			<div class="xmlcode">

+				&lt;?xml version="1.0"?&gt;<br/>

+				&lt;cross-domain-policy&gt;<br/>

+				        &lt;site-control permitted-cross-domain-policies="all"/&gt;<br/>

+				        &lt;allow-access-from domain="localhost" to-ports="20-65535"/&gt;<br/>

+				        &lt;allow-access-from domain="*.local" to-ports="20-65535"/&gt;<br/>

+				&lt;/cross-domain-policy&gt;<br/>

+			</div>

+			

+            <p>

+				Sample file:

+				<a

+					href="http://code.google.com/p/red5/source/browse/java/server/trunk/webapps/root/crossdomain.xml"

+					rel="nofollow">http://code.google.com/p/red5/source/browse/java/server/trunk/webapps/root/crossdomain.xml

+				</a>

+			</p>

+				<p>

+					If you accessing your application behind an Apache Webservre (using

+					mod_proxy or mod_jk2) be careful to make the crossdomain.xml

+					accessible. Flash will always search for this file in the www-root

+					directory of every URL you connect to. You might use

+					<a href="https://addons.mozilla.org/de/firefox/addon/firebug/" rel="nofollow">FireBug

+					</a>

+					for example to lookup requests.

+				</p>

+

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/SakaiPlugin.xml b/xdocs/SakaiPlugin.xml
new file mode 100644
index 0000000..e295a04
--- /dev/null
+++ b/xdocs/SakaiPlugin.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Sakai Plugin</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Introduction">

+			<p>

+				In 2010,

+				<a rel="nofollow" href="http://www.samoo.es" target="_blank">Samoo company

+				</a>

+				has developed a plugin that integrates Sakai LMS and OpenMeetings

+				.

+			</p>

+			<p>

+				The plugin was developed for some Spanish Universities that use

+				Sakai and belongs to

+				<a rel="nofollow" target="_blank" 

+					href="https://confluence.sakaiproject.org/display/SPANISH/S2G+-+Spanish+Sakai+Group">"Spanish Sakai Universities"</a>

+				group:

+			</p>

+			<ul>

+				<li>

+					<a rel="nofollow" href="http://www.udl.es/" target="_blank">Universitat de Lleida </a>

+				</li>

+				<li>

+					<a rel="nofollow" href="http://www.upv.es/" target="_blank">Universidad Polit&#233;cnica de Valencia </a>

+				</li>

+				<li>

+					<a rel="nofollow" href="http://www.um.es/" target="_blank">Universidad de Murcia</a>

+				</li>

+				<li>

+					<a rel="nofollow" href="http://www.unavarra.es/" target="_blank">Universidad P&#250;blica de Navarra</a>

+				</li>

+				<li>

+					<a rel="nofollow" href="http://www.ucam.edu/" target="_blank">Universidad Cat&#243;lica San Antonio de Murcia

+					</a>

+				</li>

+			</ul>

+		</section>

+

+		<section name="Features">

+			<p>The plugin contains the following features: </p>

+			<ul>

+				<li>Create videoconference rooms through Sakai: </li>

+				<ol>

+					<li>Integrated with calendar </li>

+					<li>Integrated with announcements </li>

+					<li>Sends an email to all site participants </li>

+					<li>Rooms restricted to site groups </li>

+					<li>Configurable room type </li>

+				</ol>

+			</ul>

+			<p />

+			<ul>

+				<li>Future requirements </li>

+				<ol>

+					<li>Publish room recordings to students </li>

+					<li>Room reservation </li>

+				</ol>

+			</ul>

+		</section>

+

+		<section name="Source">

+			<p>

+				You can download and build the source code

+				<a rel="nofollow" target="_blank" 

+					href="https://source.sakaiproject.org/contrib/samoo/adobeconnectpro-openmeetings-integration/trunk/">here</a>

+			</p>

+		</section>

+

+		<section name="Installation and documentation">

+			<p>

+				The documentation resides in the

+				<a rel="nofollow" target="_blank" href="https://confluence.sakaiproject.org/display/OPENMTG/Home">Sakai confluence space</a>

+			</p>

+			<p>

+				Please contact the mailing list for further information. For

+				commercial support you can also contact

+				<a rel="nofollow" href="http://www.samoo.es" target="_blank">Samoo company</a>

+				or other companies from the list of

+				<a href="commercial-support.html">commercial support</a>

+				.

+			</p>

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/SoapRestAPI.xml b/xdocs/SoapRestAPI.xml
new file mode 100644
index 0000000..cda8086
--- /dev/null
+++ b/xdocs/SoapRestAPI.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Home</title>

+		<author email="sebawagner@apache.org">

+			Sebastian Wagner

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Available WebServices">

+

+			<div>

+				<div>

+					<a href="UserService.html" target="_BLANK">

+						<b>UserService</b>

+					</a>

+					<br />

+					<div style="margin-left:20px">

+						<i>The Service contains methods to login and create hash to

+							directly enter

+							conference rooms, recordings or the application in

+							general

+						</i>

+					</div>

+				</div>

+				<div>

+					<a href="RoomService.html" target="_BLANK">

+						<b>RoomService</b>

+					</a>

+					<br />

+					<div style="margin-left:20px">

+						<i>RoomService contains methods to manipulate rooms and create

+							invitation hash

+						</i>

+					</div>

+				</div>

+				<div>

+					<a href="FileService.html" target="_BLANK">

+						<b>FileService</b>

+					</a>

+					<br />

+					<div style="margin-left:20px">

+						<i>Contains methods to import and upload files into the Files

+							section of the

+							conference room and the personal drive of any user

+						</i>

+					</div>

+				</div>

+				<div>

+					<a href="CalendarService.html" target="_BLANK">

+						<b>CalendarService</b>

+					</a>

+					<br />

+					<div style="margin-left:20px">

+						<i>CalendarService contains methods to create, edit delete

+							calendar meetings

+						</i>

+					</div>

+				</div>

+				<div>

+					<a href="JabberService.html" target="_BLANK">

+						<b>JabberService</b>

+					</a>

+					<br />

+					<div style="margin-left:20px">

+						<i>The Service contains methods necessary for OM to Jabber integration.

+						All methods doesn't require admin privileges to get called.

+						</i>

+					</div>

+				</div>

+			</div>

+

+		</section>

+

+

+	</body>

+</document>
\ No newline at end of file
diff --git a/xdocs/SugarCRMPlugin.xml b/xdocs/SugarCRMPlugin.xml
new file mode 100644
index 0000000..8d95f8f
--- /dev/null
+++ b/xdocs/SugarCRMPlugin.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>SugarCRM Plugin</title>

+		<author email="eugen.schwert@gmail.com">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="SugarCRM Plugin for OpenMeetings">

+			<p>

+				You can get the latest Version of the Plugin for SugarCRM from the

+				<a href="downloads.html">downloads</a>

+				.

+			</p>

+			<p>

+				You can find the OpenMeetings Plugin also in the

+				<a href="http://www.sugarforge.org/projects/openmeetings/"

+					target="_BLANK" rel="nofollow">SugarCRM Plugin database</a>

+				.

+			</p>

+			<p>

+				A demo version of the SugarCRM plugin is available at

+				<a href="http://demo.e-schwert.de/sugarcrm/" target="_BLANK" rel="nofollow">demo.e-schwert.de</a>

+				. Username: demo Password: Demouser55 

+			</p>

+		</section>

+		

+		<section name="Features">

+			<p>The plugin contains the following features: </p>

+			<ul>

+				<li>Create videoconference rooms through SugarCRM: </li>

+				<ol>

+					<li>Integrated with calendar </li>

+					<li>Integrated with SugarCRM meetings </li>

+					<li>Sends invetations emails to meeting participants </li>					

+					<li>Configurable room type </li>

+				</ol>

+			</ul>			

+		</section>

+

+		<section name="Installation the SugarCRM Plugin for OpenMeetings">			

+			<p>In SugarCRM's administration web-interface you will find the

+				module loader.

+			</p>

+			<a class="fancybox-buttons" data-fancybox-group="button"

+				href="images/moodle_plugin_conference.png">

+				<img src="images/SugarCRM_Installation.png" alt="" width="640"

+					height="320" />

+			</a>

+			<ol>

+				<li>Upload the module with module loader in administration area. </li>

+				<li>Configure OpenMeetings settings. </li>

+				<li>Create OpenMeetings rooms. </li>				

+			</ol>

+		</section>

+		

+		<section name="Demo video">			

+			<p>The demo video of SugarCRM plugin show you the plugin in action </p>              

+		      <object style="height: 390px; width: 640px">

+			      <param name="movie" value="http://www.youtube.com/v/xrDbcXqxDq8?version=3&amp;feature=player_detailpage"/>

+			      <param name="allowFullScreen" value="true"/>

+			      <param name="allowScriptAccess" value="always"/>

+			      <embed src="http://www.youtube.com/v/xrDbcXqxDq8?version=3&amp;feature=player_detailpage" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360"/>

+		      </object> 

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/TimeZoneHandling.xml b/xdocs/TimeZoneHandling.xml
new file mode 100644
index 0000000..1bddeb8
--- /dev/null
+++ b/xdocs/TimeZoneHandling.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Timezones</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Introduction">

+			<p>

+				List of default Timezones:

+				<a

+					href="http://openmeetings.googlecode.com/svn/trunk/singlewebapp/WebContent/languages/timezones.xml"

+					rel="nofollow">http://openmeetings.googlecode.com/svn/trunk/singlewebapp/WebContent/languages/timezones.xml

+				</a>

+			</p>

+			<p>

+				To add a new Time Zone you have to lookup its represant in Java's

+				Timezone registry. You can then add freely new time zones to the XML

+				file. The XML entries are imported into the database into the table

+				<strong>om_timezone</strong>

+				during the installation of OpenMeetings. (Don't forget to stop the

+				server before you change anything in the database).

+			</p>

+			<p>

+				The Servers default timezone is stored in the configuration table in

+				the attribute

+				<strong>default.timezone</strong>

+				. The name in this value links to an attribute in the table

+				om_timezone in the column

+				<strong>jname</strong>

+				.

+			</p>

+			<p>

+				You can set a Flag

+				<strong>forceTimeZoneCheck</strong>

+				for each user that gives him a Pop-Up notification to change his

+				time zone. The Flag can be changed in the user administration of

+				OpenMeetings. This can be handy if you update from a previous

+				version of OpenMeetings to make sure users see the new feature and

+				update their settings.

+			</p>

+			

+			

+			

+		</section>

+		

+		<section name="How to lookup timezone's">

+		

+		  <div class="xmlcode">

+		  

+                    String[] ids = TimeZone.getAvailableIDs();<br/>

+                    for (String id : ids) {<br/>

+                        

+                        <div style="margin-left:20px">

+                        TimeZone timeZone = TimeZone.getTimeZone(id);<br/>

+                        //TimeZone timeZone = timeRegistry.getTimeZone(id);<br/>

+                        <br/>

+                        Calendar cal = Calendar.getInstance();<br/>

+                                <div style="margin-left:20px">

+                                cal.setTimeZone(timeZone);<br/>

+                                // + cal.get(Calendar.DST_OFFSET)<br/>

+                                int offset = cal.get(Calendar.ZONE_OFFSET);<br/>

+                        <br/>

+                                int offsetInMinutes = offset/1000/60;<br/>

+                                <br/>

+                                System.out.println("name" + id + "name offset "+offsetInMinutes+"offset ");

+                                </div>

+                        </div>

+                    }

+		  

+		  </div>

+		  

+		  

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/Upgrade.xml b/xdocs/Upgrade.xml
new file mode 100644
index 0000000..50c6398
--- /dev/null
+++ b/xdocs/Upgrade.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Upgrade</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Upgrading OpenMeetings via the Web-Interface">

+

+			<p>There is a System Backup and Import tool. Login as Administrator

+				and Goto > Backup

+			</p>

+			<a class="fancybox-buttons" data-fancybox-group="button" href="images/backup.png">

+				<img src="images/backup.png" alt="" width="600" height="145" />

+			</a>

+			<p>

+				The Text in the Administration>Backup section actually just says

+				it

+				all. The backup contains users, rooms, organizations and

+				appointements (Invitations and Reminders are NOT included in the

+				Backup and Reminders will not be send again!). The Backup contains

+				also all uploaded Files and Documents and will re-import them again.

+

+				Max Upload Size is 1000 MB.

+			</p>

+		</section>

+

+		<section name="Upgrading OpenMeetings from command line">

+			<p>

+				<i>You need OpenMeetings 2.x or later to have the command line interface (CLI) 

+					feature available

+				</i>

+			</p>

+			<p>

+				Alternatively to the Web-Installer you can also export and import

+				via the command line. <br/>

+				<b>You should shutdown the Red5-Service while doing CLI export or import operations</b>

+				<br />

+				Cd to your red5-home directory, type "admin" and hit enter. You will

+				get options available.

+				<br />

+				<br />

+				A typical export would be:

+				<br />

+				<tt>admin -b -file backup_today.zip</tt>

+				<br />

+				<br />

+				A typical import would be:

+				<br />

+				<tt>admin -r -file backup_yesterday.zip</tt>

+				<br />

+				<br />

+				You can also combine the installation with a backup, that way you

+				will create exactly the user table that existed in the backup.

+				<br />

+				A typical install from backup would be:

+				<br />

+				<tt>admin -i -file backup_yesterday.zip</tt>

+			</p>

+

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/WebappNamePath.xml b/xdocs/WebappNamePath.xml
new file mode 100644
index 0000000..495d45d
--- /dev/null
+++ b/xdocs/WebappNamePath.xml
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Webapp Name / Path</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Renaming /openmeetings context">

+			<p>

+				If you want to have

+				<tt>http://yourcorp.com:5080/yourmeetings</tt>

+				instead of

+				<tt>http://yourcorp.com:5080/openmeetings</tt>

+				you need to do the following

+			</p>

+			<ol>

+				<li>stop openmmetings if it is running </li>

+				<li>

+					go to openmeetings install dir (for ex.

+					<tt>/opt/red5</tt>

+					)

+				</li>

+				<li>

+					rename

+					<tt>/opt/red5/webapps/openmeetings</tt>

+					to

+					<tt>/opt/red5/webapps/yourmeetings</tt>

+					(for ex.

+					<tt>mv /opt/red5/webapps/openmeetings

+						/opt/red5/webapps/yourmeetings

+					</tt>

+					)

+				</li>

+				<li>

+					open

+					<tt>/opt/red5/webapps/yourmeetings/config.xml</tt>

+					using your favorite text editor (for ex.

+					<tt>vim /opt/red5/webapps/yourmeetings/config.xml</tt>

+					)

+				</li>

+				<li>

+					find and modify

+					<tt>&lt;webAppRootKey&gt;openmeetings&lt;/webAppRootKey&gt;</tt>

+					to be

+					<tt>&lt;webAppRootKey&gt;</tt>

+					<strong>yourmeetings</strong>

+					<tt>&lt;/webAppRootKey&gt;</tt>

+				</li>

+				<li>

+					find and modify

+					<tt>&lt;httpRootKey&gt;/openmeetings/&lt;/httpRootKey&gt;</tt>

+					to be

+					<tt>&lt;httpRootKey&gt;</tt>

+					<strong>/yourmeetings/</strong>

+					<tt>&lt;/httpRootKey&gt;</tt>

+				</li>

+			</ol>

+			That's it

+		</section>

+

+		<section name="Changing hard-coded application name in string labels">

+			<p>

+				To have

+				<i>Your Application Name</i>

+				instead of

+				<i>Openmeetings</i>

+				in

+				<strong>all</strong>

+				text labels you need to do the following

+			</p>

+			<ol>

+				<li>

+					ensure

+					<strong>

+						<tt>$APP_NAME</tt>

+					</strong>

+					placeholder is used in

+					<i>all</i>

+					strings you have added and/or modified (all strings bundled into

+					Openmeetings already have this placeholder)

+				</li>

+				<li>login to Openmeetings as user with administrator privileges </li>

+				<li>

+					go to

+					<tt>Administration -&gt; Configuration</tt>

+				</li>

+				<li>

+					find and edit configuration with name

+					<strong>

+						<tt>application.name</tt>

+					</strong>

+				</li>

+				<li>

+					Set its value to be

+					<i>

+						<tt>Your Application Name</tt>

+					</i>

+				</li>

+				<li>

+					<tt>Save</tt>

+				</li>

+				<li>reload page or relogin </li>

+			</ol>

+			<p>

+			All string will display

+			<i>

+				<tt>Your Application Name</tt>

+			</i>

+			in place of

+			<i>

+				<tt>Openmeetings</tt>

+			</i>

+			</p>

+			<p>

+				Please

+				<i>NOTE</i>

+				there are 3 additional properties in the config.xml file which

+				should be modified for

+				<strong>TOTAL</strong>

+				Openmeetings clean up:

+			</p>

+			<div class="xmlcode">

+				&lt;currentappname&gt;OpenMeetings&lt;/currentappname&gt;

+				<br />

+				&lt;currentappnameurl&gt;http://incubator.apache.org/openmeetings&lt;/currentappnameurl&gt;

+				<br />

+				&lt;currentappnamebugurl&gt;https://issues.apache.org/jira/browse/OPENMEETINGS&lt;/currentappnamebugurl&gt;

+				<br />

+			</div>

+

+		</section>

+

+		<section name="Running multiple Openmeetings instances on the same server">

+			<p>

+				If you want to run multiple Openmeetings instances on the same server i.e. to have<br/>  

+				<tt>http://yourcorp.com:5080/openmeetings1</tt><br/> 

+				<tt>http://yourcorp.com:5080/openmeetings2</tt><br/> etc.<br/> you need to do the following:

+			</p>

+			<ol>

+				<li>edit <tt>webapps/openmeetings1/WEB-INF/red5-web.properties</tt> for <strong>every</strong> Openmeetings 

+				instance and add the following line <tt>webapp.contextPath=/openmeetings1</tt>  to it (context of 

+				<strong>every</strong> instance <strong>should</strong> match the folder name in webapps dir)

+				</li>

+				<li>in case of java memory problems modify <tt>red5.sh</tt> add following line:<br/>

+					<div class="xmlcode">

+					export JAVA_OPTS="-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:MaxPermSize=128M"

+					</div>

+					or <tt>red5.bat</tt>:<br/>

+					<div class="xmlcode">

+					set JAVA_OPTS=-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:MaxPermSize=128M

+					</div>

+				</li>

+			</ol>

+		</section>

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/WebcamResolutions.xml b/xdocs/WebcamResolutions.xml
new file mode 100644
index 0000000..47d2f9d
--- /dev/null
+++ b/xdocs/WebcamResolutions.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>How to configure Camera default resolutions </title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="How to configure Camera default resolutions">

+

+			<p>When you choose the webcam you have different resolutions

+				available the user can choose from. </p>

+			<p>You can add/remove resolutions and also change the default

+				selection. In the config.xml there is a section: </p>

+			<div class="xmlcode">

+				&lt;availableCameraResolutions&gt;<br/>

+				<div style="margin-left:20px">

+				    &lt;resolution type="4:3 (~6 KByte/sec)" width="40" height="30" isDefault="false" /&gt;<br/>

+				    &lt;resolution type="4:3 (~12 KByte/sec)" width="80" height="60" isDefault="false" /&gt;<br/>

+				    &lt;resolution type="4:3 (~20 KByte/sec)" width="120" height="90" isDefault="true" /&gt;<br/>

+				    &lt;resolution type="QQVGA 4:3 (~36 KByte/sec)" width="160" height="120" isDefault="false" /&gt;<br/>

+				    &lt;resolution type="4:3 (~40 KByte/sec)" width="240" height="180" isDefault="false" /&gt;<br/>

+				    &lt;resolution type="HVGA 4:3 (~56 KByte/sec)" width="320" height="240" isDefault="false" /&gt;<br/>

+				    &lt;resolution type="4:3  (~60 KByte/sec)" width="480" height="360" isDefault="false" /&gt;<br/>

+				    &lt;resolution type="4:3 (~68 KByte/sec)" width="640" height="480" isDefault="false" /&gt;<br/>

+				    &lt;resolution type="XGA 4:3" width="1024" height="768" isDefault="false" /&gt;<br/>

+				    &lt;resolution type="16:9" width="256" height="150" isDefault="false" /&gt;<br/>

+				    &lt;resolution type="WQVGA 9:5" width="432" height="240" isDefault="false" /&gt;<br/>

+				    &lt;resolution type="pseudo 16:9" width="480" height="234" isDefault="false" /&gt;<br/>

+				    &lt;resolution type="16:9" width="512" height="300" isDefault="false" /&gt;<br/>

+				    &lt;resolution type="nHD 16:9" width="640" height="360" isDefault="false" /&gt;<br/>

+				    &lt;resolution type="16:9" width="1024" height="600" isDefault="false" /&gt;<br/>

+				    </div>

+				&lt;/availableCameraResolutions&gt;			 

+			</div>	

+		      

+		    <p>Tip: You might edit the config.xml with an XML aware editor that correctly 

+		    handles the XSD defintion to avoid misconfiguration. The openmeetings-config.xsd 

+		    is in the same folder like the config.xml. </p>

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/commercial-support.xml b/xdocs/commercial-support.xml
new file mode 100644
index 0000000..dc65515
--- /dev/null
+++ b/xdocs/commercial-support.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Commercial Support</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Commercial Support for OpenMeetings">

+

+			<p>There are a number of companies offering services for OpenMeetings

+			</p>

+			<ul>

+				<li>

+					<a href="http://www.openmeetings.de" target="_BLANK" rel="nofollow">openmeetings.de

+					</a>

+					owned by Sebastian Wagner offers services for OpenMeetings,

+					Installation, Integration, Customization, Hosting

+				</li>

+				<li>

+					<a href="http://www.dataved.ru" target="_BLANK" rel="nofollow">dataved.ru

+					</a>

+					run by (Alexei Fedotov, German, Maxim, Timur, Rodion) offers

+					services for OpenMeetingss, Installation, Integration,

+					Customization, Hosting

+				</li>

+				<i>

+					<a href="http://www.openmeetings.de" target="_BLANK" rel="nofollow">openmeetings.de

+					</a>

+					and

+					<a href="http://www.dataved.ru" target="_BLANK" rel="nofollow">dataved.ru

+					</a>

+					have a long term partnership and

+					price agreement

+				</i>

+				<li>

+                    <a href="http://www.samoo.es" target="_BLANK" rel="nofollow">samoo.es</a>

+                    provides support for the Sakai Plugin.

+                </li>

+			</ul>

+

+			<p>

+				Want to get listed here? Please contact the

+				<a href="mail-lists.html">Mailing List</a>

+			</p>

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/css/1b.png b/xdocs/css/1b.png
new file mode 100644
index 0000000..0d70d76
--- /dev/null
+++ b/xdocs/css/1b.png
Binary files differ
diff --git a/xdocs/css/2b.png b/xdocs/css/2b.png
new file mode 100644
index 0000000..a93e132
--- /dev/null
+++ b/xdocs/css/2b.png
Binary files differ
diff --git a/xdocs/css/3b.png b/xdocs/css/3b.png
new file mode 100644
index 0000000..f9d8b7a
--- /dev/null
+++ b/xdocs/css/3b.png
Binary files differ
diff --git a/xdocs/css/4b.png b/xdocs/css/4b.png
new file mode 100644
index 0000000..c6e41f4
--- /dev/null
+++ b/xdocs/css/4b.png
Binary files differ
diff --git a/xdocs/css/openmeetings.css b/xdocs/css/openmeetings.css
new file mode 100644
index 0000000..7f80af6
--- /dev/null
+++ b/xdocs/css/openmeetings.css
@@ -0,0 +1,84 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+body {
+	color: #000000;
+	margin: 0;
+	background: #fafafa;
+	font: 10pt Verdana, Arial, Helvetica, sans-serif;
+	  
+}
+.active {
+	font-style: italic;
+}
+
+.mainbody {
+	margin-left: 40px;
+	margin-right: 40px;
+	-moz-box-shadow: 4px 0px 5px #666666;
+	-webkit-box-shadow: 4px 0px 5px #666666;
+	box-shadow: 4px 0px 5px #666666;
+}
+.superbody {
+	background: #FFFFFF;
+	-moz-box-shadow: -4px 0px 5px #666666;
+	-webkit-box-shadow: -4px 0px 5px #666666;
+	box-shadow: -4px 0px 5px #666666;
+}
+
+/* Box CSS  */
+div {
+	margin: 0;
+}
+
+
+.ro {
+	background: url(2b.png) top right no-repeat;
+}
+
+.lo {
+	background: url(1b.png) top left no-repeat;
+}
+
+.ru {
+	background: url(3b.png) bottom right no-repeat;
+}
+
+.lu {
+	background: url(4b.png) bottom left no-repeat;
+}
+
+ul {
+	margin-top: 0em;
+	padding-left: 1.5em;
+}
+
+.inhalt {
+	margin: 0;
+	padding: 0.5em 2.0em 1.5em 1.0em;
+}
+
+.inhalt p {
+	margin: 0;
+	padding: 0;
+}
+.xmlcode {
+	margin-left: 20px;
+	background-color: #eeeeee;
+	color: #0000ff;
+	margin-top: 10px;
+	margin-bottom: 10px;
+}
\ No newline at end of file
diff --git a/xdocs/dependencies.xml b/xdocs/dependencies.xml
new file mode 100644
index 0000000..902856f
--- /dev/null
+++ b/xdocs/dependencies.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright 2006 The Apache Software Foundation
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+  
+       http://www.apache.org/licenses/LICENSE-2.0
+  
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<document>
+
+ <properties>
+<title>Project Dependencies</title>
+<author email="Podling-dev@incubator.apache.org">
+ Podling Documentation Team</author>
+</properties>
+
+<body>
+<section name="The Apache Podling Project">
+
+<p>
+Apache Podling is a project currently incubating in Apache.
+<p> 
+The common external dependencies of Podling include the tools used to build 
+and test it:
+</p>
+
+<ul>
+<li>Subversion</li>
+<li>Ant</li>
+<li>JUnit</li>
+</ul>
+
+</p>
+</section>
+
+</body>
+</document>
+   
diff --git a/xdocs/documentation.xml b/xdocs/documentation.xml
new file mode 100644
index 0000000..36c9ed4
--- /dev/null
+++ b/xdocs/documentation.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+
+    Copyright 2006 The Apache Software Foundation
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+
+<document>
+
+<properties>
+<title>Documentation</title>
+<author email="Podling-dev@incubator.apache.org">
+ Podling Documentation Team</author>
+</properties>
+
+<body>
+<section name="OpenMeetings Documentation">
+
+<p>
+Wiki is to be linked here, coming soon ...
+
+<!-- ***************** TBD **************************  -->
+<!-- ***************** TBD **************************  -->
+<!-- ***************** TBD **************************  -->
+
+</p>
+
+</section>
+
+</body>
+
+</document>
+
diff --git a/xdocs/downloads.xml b/xdocs/downloads.xml
new file mode 100644
index 0000000..28fc825
--- /dev/null
+++ b/xdocs/downloads.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 
+	License, Version 2.0 (the "License"); you may not use this file except in 
+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 
+	Unless required by applicable law or agreed to in writing, software distributed 
+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 
+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 
+	the specific language governing permissions and limitations under the License. -->
+<document>
+
+	<properties>
+		<title>Downloads</title>
+		<author email="Podling-dev@incubator.apache.org">
+			Podling Documentation Team
+		</author>
+	</properties>
+
+	<body>
+
+		<section name="Downloads">
+			<p>
+				A release of Podling includes the First artifact
+				and the Second artifact. The release is distributed as
+				source code and as jar files that can be accessed
+				via maven repository search.
+				<ul>
+					<li>
+						First artifact.
+					</li>
+					<li>
+						Second artifact.
+					</li>
+				</ul>
+			</p>
+			<p>
+				All are available for download as source and binary.
+			</p>
+			<p>
+				If downloading multiple source packages, extract them all
+				into the same directory. This will preserve the source
+				dependencies among the projects.
+			</p>
+			<subsection name="Latest Official Release">
+				<p>
+					No official releases are available.
+				</p>
+			</subsection>
+
+			<subsection name="Previous Official Releases">
+				<p>
+					No previous official releases are available.
+				</p>
+			</subsection>
+
+			<subsection name="Non ASF downloads">
+				<p>
+					Releases that are not part of the ASF can be downloaded from the
+					old
+					<a href="http://code.google.com/p/openmeetings/downloads/list"
+						target="_BLANK">GoogleCode website</a>
+				</p>
+			</subsection>
+
+		</section>
+	</body>
+</document>
+
diff --git a/xdocs/get-involved.xml b/xdocs/get-involved.xml
new file mode 100644
index 0000000..eb79546
--- /dev/null
+++ b/xdocs/get-involved.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+
+	<properties>
+		<title>Get Involved</title>
+		<author email="OpenMeetings-dev@incubator.apache.org">
+			OpenMeetings Documentation Team
+		</author>
+	</properties>
+
+	<body>
+
+		<section name="How do I contribute, give feedback, fix bugs and so on?">
+
+			<p>
+				The Apache OpenMeetings project really needs and appreciates any
+				contributions,
+				including documentation help, source code and
+				feedback. Suggested
+				changes should come in the form of source code
+				and/or very detailed
+				and constructive feedback.
+			</p>
+
+			<ul>
+				<li>
+					Discussion occurs on the
+					<a href="mail-lists.html">OpenMeetings mailing lists</a>
+				</li>
+				<li>
+					Information on access to the project source code is
+					available
+					<a href="svn.html">here</a>
+					.
+				</li>
+				<li>
+					Bugs and other issues can be posted on the project
+					<a href="https://issues.apache.org/jira/browse/OPENMEETINGS">JIRA</a>
+					(
+					<a href="https://issues.apache.org/jira/secure/Signup!default.jspa">sign up</a>
+					).
+				</li>
+				<li>
+					Additional documentation and discussion can be contributed to the
+					project
+					<a href="https://cwiki.apache.org/OPENMEETINGS">Wiki</a>
+					(
+					<a href="https://cwiki.apache.org/confluence/signup.action">sign up</a>
+					).
+				</li>
+			</ul>
+
+		</section>
+
+		<section name="Which taks could I potentially work on?">
+
+			<p>
+				No matter if you want to share your experiences, improve
+				documentation, localization, code Java, ActionScript or PHP, there
+				are dozens of areas where you can find task to work on and share
+				with others.
+				<br />
+				<br />
+				We tried to collect a list of ideas in our wiki:
+				<br />
+				<a
+					href="https://cwiki.apache.org/confluence/display/OPENMEETINGS/New+committers+and+developers+task+idea+list"
+					target="_BLANK">https://cwiki.apache.org/confluence/display/OPENMEETINGS/New+committers+and+developers+task+idea+list
+				</a>
+			</p>
+
+		</section>
+
+		<section name="How do I become a committer?">
+			<p>If you're interested in committing to the project: </p>
+			<ul>
+				<li>
+					<p>
+						You'll need to fill out some legal paperwork and go through
+						a
+						process to get an apache foundation committer account: See
+						<a class="external" rel="nofollow"
+							href="http://apache.org/dev/new-committers-guide.html">
+							New Committers Guide
+						</a>
+						,
+						<a class="external" rel="nofollow"
+							href="http://apache.org/dev/contributors.html"> Contributors</a>
+						, and
+						<a class="external" rel="nofollow" href="http://apache.org/dev/committers.html"> Committers</a>
+						for more details.
+					</p>
+
+				</li>
+				<li>
+					<p>
+						After you've received an email from
+						<a href="mailto:root@apache.org">root@apache.org</a>
+						with your committer account information, change your initial
+						password:
+						Login by 'ssh -l &lt;username&gt; people.apache.org';
+						run
+						'passwd';
+						run 'svnpasswd'. See
+						<a class="external" rel="nofollow"
+							href="http://apache.org/dev/version-control.html">Committer Subversion Access
+						</a>
+						.
+					</p>
+				</li>
+				<li>
+					<p>
+						Check out the OpenMeetings sources and test your svn account:
+						<a href="http://svn.apache.org/viewcvs.cgi/incubator/OpenMeetings/">
+							SubversionRepository
+						</a>
+						.
+					</p>
+
+				</li>
+
+			</ul>
+
+		</section>
+
+	</body>
+</document>
diff --git a/xdocs/images/Arguments.png b/xdocs/images/Arguments.png
new file mode 100644
index 0000000..7427236
--- /dev/null
+++ b/xdocs/images/Arguments.png
Binary files differ
diff --git a/xdocs/images/DebugConfigurations.png b/xdocs/images/DebugConfigurations.png
new file mode 100644
index 0000000..c572dda
--- /dev/null
+++ b/xdocs/images/DebugConfigurations.png
Binary files differ
diff --git a/xdocs/images/Features_Screen_Conference_Room_Thumb.png b/xdocs/images/Features_Screen_Conference_Room_Thumb.png
new file mode 100644
index 0000000..19dece9
--- /dev/null
+++ b/xdocs/images/Features_Screen_Conference_Room_Thumb.png
Binary files differ
diff --git a/xdocs/images/NewConfiguration.png b/xdocs/images/NewConfiguration.png
new file mode 100644
index 0000000..45f3d62
--- /dev/null
+++ b/xdocs/images/NewConfiguration.png
Binary files differ
diff --git a/xdocs/images/SugarCRM_Installation.png b/xdocs/images/SugarCRM_Installation.png
new file mode 100644
index 0000000..b652b7b
--- /dev/null
+++ b/xdocs/images/SugarCRM_Installation.png
Binary files differ
diff --git a/xdocs/images/apache-incubator-logo-no-borders.png b/xdocs/images/apache-incubator-logo-no-borders.png
new file mode 100644
index 0000000..4bf4a6c
--- /dev/null
+++ b/xdocs/images/apache-incubator-logo-no-borders.png
Binary files differ
diff --git a/xdocs/images/apache_feather.gif b/xdocs/images/apache_feather.gif
new file mode 100644
index 0000000..1a0c3e6
--- /dev/null
+++ b/xdocs/images/apache_feather.gif
Binary files differ
diff --git a/xdocs/images/audio_and_video.png b/xdocs/images/audio_and_video.png
new file mode 100644
index 0000000..f35bb10
--- /dev/null
+++ b/xdocs/images/audio_and_video.png
Binary files differ
diff --git a/xdocs/images/backup.png b/xdocs/images/backup.png
new file mode 100644
index 0000000..eaa4e8a
--- /dev/null
+++ b/xdocs/images/backup.png
Binary files differ
diff --git a/xdocs/images/calendar.png b/xdocs/images/calendar.png
new file mode 100644
index 0000000..91e948e
--- /dev/null
+++ b/xdocs/images/calendar.png
Binary files differ
diff --git a/xdocs/images/chat.png b/xdocs/images/chat.png
new file mode 100644
index 0000000..ce9c040
--- /dev/null
+++ b/xdocs/images/chat.png
Binary files differ
diff --git a/xdocs/images/checkout_1.png b/xdocs/images/checkout_1.png
new file mode 100644
index 0000000..950891a
--- /dev/null
+++ b/xdocs/images/checkout_1.png
Binary files differ
diff --git a/xdocs/images/checkout_2.png b/xdocs/images/checkout_2.png
new file mode 100644
index 0000000..f31050b
--- /dev/null
+++ b/xdocs/images/checkout_2.png
Binary files differ
diff --git a/xdocs/images/checkout_3.png b/xdocs/images/checkout_3.png
new file mode 100644
index 0000000..94d21ce
--- /dev/null
+++ b/xdocs/images/checkout_3.png
Binary files differ
diff --git a/xdocs/images/checkout_4.png b/xdocs/images/checkout_4.png
new file mode 100644
index 0000000..7fcf576
--- /dev/null
+++ b/xdocs/images/checkout_4.png
Binary files differ
diff --git a/xdocs/images/checkout_5.png b/xdocs/images/checkout_5.png
new file mode 100644
index 0000000..e102426
--- /dev/null
+++ b/xdocs/images/checkout_5.png
Binary files differ
diff --git a/xdocs/images/checkout_6.png b/xdocs/images/checkout_6.png
new file mode 100644
index 0000000..8dd9189
--- /dev/null
+++ b/xdocs/images/checkout_6.png
Binary files differ
diff --git a/xdocs/images/checkout_7.png b/xdocs/images/checkout_7.png
new file mode 100644
index 0000000..4168d93
--- /dev/null
+++ b/xdocs/images/checkout_7.png
Binary files differ
diff --git a/xdocs/images/checkout_8.png b/xdocs/images/checkout_8.png
new file mode 100644
index 0000000..0494bb5
--- /dev/null
+++ b/xdocs/images/checkout_8.png
Binary files differ
diff --git a/xdocs/images/checkout_9.png b/xdocs/images/checkout_9.png
new file mode 100644
index 0000000..b083d00
--- /dev/null
+++ b/xdocs/images/checkout_9.png
Binary files differ
diff --git a/xdocs/images/choose_divice.png b/xdocs/images/choose_divice.png
new file mode 100644
index 0000000..9e6e31c
--- /dev/null
+++ b/xdocs/images/choose_divice.png
Binary files differ
diff --git a/xdocs/images/cut_administration_configuration.png b/xdocs/images/cut_administration_configuration.png
new file mode 100644
index 0000000..1a99c6c
--- /dev/null
+++ b/xdocs/images/cut_administration_configuration.png
Binary files differ
diff --git a/xdocs/images/cut_conference_room.png b/xdocs/images/cut_conference_room.png
new file mode 100644
index 0000000..1a50a25
--- /dev/null
+++ b/xdocs/images/cut_conference_room.png
Binary files differ
diff --git a/xdocs/images/cut_file_explorer.png b/xdocs/images/cut_file_explorer.png
new file mode 100644
index 0000000..4e5d0c7
--- /dev/null
+++ b/xdocs/images/cut_file_explorer.png
Binary files differ
diff --git a/xdocs/images/cut_integrated_calendar.png b/xdocs/images/cut_integrated_calendar.png
new file mode 100644
index 0000000..bdb14d3
--- /dev/null
+++ b/xdocs/images/cut_integrated_calendar.png
Binary files differ
diff --git a/xdocs/images/cut_integration_api.png b/xdocs/images/cut_integration_api.png
new file mode 100644
index 0000000..7cf6264
--- /dev/null
+++ b/xdocs/images/cut_integration_api.png
Binary files differ
diff --git a/xdocs/images/cut_private_messages.png b/xdocs/images/cut_private_messages.png
new file mode 100644
index 0000000..eb01fff
--- /dev/null
+++ b/xdocs/images/cut_private_messages.png
Binary files differ
diff --git a/xdocs/images/cut_recordings_playback.png b/xdocs/images/cut_recordings_playback.png
new file mode 100644
index 0000000..ce9187e
--- /dev/null
+++ b/xdocs/images/cut_recordings_playback.png
Binary files differ
diff --git a/xdocs/images/dashboard.png b/xdocs/images/dashboard.png
new file mode 100644
index 0000000..c6431f2
--- /dev/null
+++ b/xdocs/images/dashboard.png
Binary files differ
diff --git a/xdocs/images/desktopsharing.png b/xdocs/images/desktopsharing.png
new file mode 100644
index 0000000..cd7978e
--- /dev/null
+++ b/xdocs/images/desktopsharing.png
Binary files differ
diff --git a/xdocs/images/file_smal.png b/xdocs/images/file_smal.png
new file mode 100644
index 0000000..69dcc46
--- /dev/null
+++ b/xdocs/images/file_smal.png
Binary files differ
diff --git a/xdocs/images/installation_instructions.png b/xdocs/images/installation_instructions.png
new file mode 100644
index 0000000..64ab05a
--- /dev/null
+++ b/xdocs/images/installation_instructions.png
Binary files differ
diff --git a/xdocs/images/langeditor_screen_v2.png b/xdocs/images/langeditor_screen_v2.png
new file mode 100644
index 0000000..fbaf47d
--- /dev/null
+++ b/xdocs/images/langeditor_screen_v2.png
Binary files differ
diff --git a/xdocs/images/ldap_screen.png b/xdocs/images/ldap_screen.png
new file mode 100644
index 0000000..e28bbc3
--- /dev/null
+++ b/xdocs/images/ldap_screen.png
Binary files differ
diff --git a/xdocs/images/logo-2.jpg b/xdocs/images/logo-2.jpg
new file mode 100644
index 0000000..13c2512
--- /dev/null
+++ b/xdocs/images/logo-2.jpg
Binary files differ
diff --git a/xdocs/images/micro_small.png b/xdocs/images/micro_small.png
new file mode 100644
index 0000000..215c831
--- /dev/null
+++ b/xdocs/images/micro_small.png
Binary files differ
diff --git a/xdocs/images/monitor_add.png b/xdocs/images/monitor_add.png
new file mode 100644
index 0000000..a818066
--- /dev/null
+++ b/xdocs/images/monitor_add.png
Binary files differ
diff --git a/xdocs/images/moodle_plugin_conference.png b/xdocs/images/moodle_plugin_conference.png
new file mode 100644
index 0000000..d5ef720
--- /dev/null
+++ b/xdocs/images/moodle_plugin_conference.png
Binary files differ
diff --git a/xdocs/images/mouse_add.png b/xdocs/images/mouse_add.png
new file mode 100644
index 0000000..65bcab5
--- /dev/null
+++ b/xdocs/images/mouse_add.png
Binary files differ
diff --git a/xdocs/images/pencil_add.png b/xdocs/images/pencil_add.png
new file mode 100644
index 0000000..902bbe6
--- /dev/null
+++ b/xdocs/images/pencil_add.png
Binary files differ
diff --git a/xdocs/images/poll.png b/xdocs/images/poll.png
new file mode 100644
index 0000000..5b51c9b
--- /dev/null
+++ b/xdocs/images/poll.png
Binary files differ
diff --git a/xdocs/images/pollresult.png b/xdocs/images/pollresult.png
new file mode 100644
index 0000000..88c38df
--- /dev/null
+++ b/xdocs/images/pollresult.png
Binary files differ
diff --git a/xdocs/images/privat_messages.png b/xdocs/images/privat_messages.png
new file mode 100644
index 0000000..2399366
--- /dev/null
+++ b/xdocs/images/privat_messages.png
Binary files differ
diff --git a/xdocs/images/recordings_timeleine.png b/xdocs/images/recordings_timeleine.png
new file mode 100644
index 0000000..53ae662
--- /dev/null
+++ b/xdocs/images/recordings_timeleine.png
Binary files differ
diff --git a/xdocs/images/right_management.png b/xdocs/images/right_management.png
new file mode 100644
index 0000000..da287a6
--- /dev/null
+++ b/xdocs/images/right_management.png
Binary files differ
diff --git a/xdocs/images/system_backup.png b/xdocs/images/system_backup.png
new file mode 100644
index 0000000..ffc2964
--- /dev/null
+++ b/xdocs/images/system_backup.png
Binary files differ
diff --git a/xdocs/images/user_add.png b/xdocs/images/user_add.png
new file mode 100644
index 0000000..deae99b
--- /dev/null
+++ b/xdocs/images/user_add.png
Binary files differ
diff --git a/xdocs/images/vote.png b/xdocs/images/vote.png
new file mode 100644
index 0000000..c16ff86
--- /dev/null
+++ b/xdocs/images/vote.png
Binary files differ
diff --git a/xdocs/images/whiteboard.png b/xdocs/images/whiteboard.png
new file mode 100644
index 0000000..8e5392f
--- /dev/null
+++ b/xdocs/images/whiteboard.png
Binary files differ
diff --git a/xdocs/index.xml b/xdocs/index.xml
new file mode 100644
index 0000000..dc78447
--- /dev/null
+++ b/xdocs/index.xml
@@ -0,0 +1,415 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 
+	License, Version 2.0 (the "License"); you may not use this file except in 
+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 
+	Unless required by applicable law or agreed to in writing, software distributed 
+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 
+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 
+	the specific language governing permissions and limitations under the License. -->
+<document>
+
+	<properties>
+		<title>Home</title>
+		<author email="sebawagner@apache.org">
+			Sebastian Wagner
+		</author>
+	</properties>
+
+	<body>
+
+		<section name="Apache OpenMeetings [Incubating] - Features and overview">
+
+			<div id="coin-slider">
+				<a href="#">
+					<img src="images/cut_conference_room.png" alt="Conference Room" />
+					<span>
+						<b>Audio/Video Conferencing</b>
+						<br />
+						OpenMeetings enables you to make Audio/Video conferencing.
+					</span>
+				</a>
+
+				<a href="#">
+					<img src="images/cut_integrated_calendar.png" alt="Calendar" />
+					<span>
+						<b>Calendar</b>
+						<br />
+						You can create meetings with the integrated calendar, conference rooms and invitations are automatically send to everybody
+					</span>
+				</a>
+
+				<a href="#">
+					<img src="images/cut_file_explorer.png" alt="File Explorer" />
+					<span>
+						<b>File Explorer</b>
+						<br />
+						Each room has its own File-Explorer. Each user has his own private drive and additionally there is a public drive to share files with other participants
+					</span>
+				</a>
+
+				<a href="#">
+					<img src="images/cut_integration_api.png" alt="Integration API" />
+					<span>
+						<b>Integration API</b>
+						<br />
+						There is a SOAP/REST API to integrate into your website or intranet, as well
+						as LDAP/ADS connectors and VoIP/Asterisk integration modules
+					</span>
+				</a>
+
+				<a href="#">
+					<img src="images/cut_private_messages.png" alt="Private messages" />
+					<span>
+						<b>Private messages and contacts</b>
+						<br />
+						From the private message center you can send invitations by email
+						and attach meeting invitations to every email
+					</span>
+				</a>
+
+				<a href="#">
+					<img src="images/cut_administration_configuration.png" alt="Administration" />
+					<span>
+						<b>Administration and Configuration</b>
+						<br />
+						You can configure users, rooms, usergroups, config settings or
+						edit labels with a Web-Frontend integrated in the application
+					</span>
+				</a>
+
+				<a href="#">
+					<img src="images/cut_recordings_playback.png" alt="Share and Record" />
+					<span>
+						<b>Screen sharing and Recording</b>
+						<br />
+						You can do screen sharing as well as recording of whole sessions
+						including audio/video. Recordings can be downloaded as AVI/FLV or
+						watched online in the integrated player.
+					</span>
+				</a>
+
+			</div>
+
+
+			<p> Openmeetings provides video conferencing, instant messaging,
+				white board, collaborative document editing and other groupware
+				tools using API functions of the Red5 Streaming Server for Remoting
+				and Streaming.
+			</p>
+
+			<p>
+				OpenMeetings is a project of the Apache Incubator, the old project
+				website at
+				<a href="http://code.google.com/p/openmeetings/" target="_BLANK">GoogleCode
+				</a>
+				will receive no updates anymore. The website at Apache is the only
+				place that receives updates.
+			</p>
+
+		</section>
+
+		<section name="News">
+
+			<p>
+				<strong>
+					First builds are available at
+					<a href="https://builds.apache.org/job/openmeetings">builds.apache.org</a>
+					(2012-03-15)
+				</strong>
+				<br />
+				<strong>New committer: Timur Tleukenov (2012-03-06)</strong>
+				<br />
+				<strong>
+					<a href="http://demo.openmeetings.de" target="_BLANK" rel="nofollow">Demo
+						server</a>
+					updated to r1236172 (2012-01-26)
+				</strong>
+				<br />
+				<strong>New committer: German Grekhov (2011-12-26)</strong>
+				<br />
+				<strong>OpenMeetings has been accepted into the Apache Incubator
+					(2011-11-12).
+				</strong>
+			</p>
+
+		</section>
+
+		<section name="Community">
+
+			<p>
+				<strong>Who we are</strong>
+				<blockquote>
+					<a href="team-list.html">List of committers</a>
+					.
+				</blockquote>
+			</p>
+			<p>
+				<strong>Users!</strong>
+				<blockquote>
+					We'd love to have you involved. Check out the
+					<a href="get-involved.html">Get involved</a>
+					.
+				</blockquote>
+			</p>
+
+		</section>
+
+		<section name="Feature details">
+
+			<feature title="Audio and Video Conferencing">
+
+				<image fullhref="images/Features_Screen_Conference_Room_Thumb.png"
+					href="images/Features_Screen_Conference_Room_Thumb.png" title="OpenMeetings Conference Room"
+					width="250" height="175" />
+
+				<text>
+					There are four options to use OpenMeetings audio/video functions,
+					which you can select during a conference session.
+					<ul>
+						<blockquote>
+							<li>audio + video</li>
+							<li>audio only</li>
+							<li>video only</li>
+							<li>picture only</li>
+
+						</blockquote>
+					</ul>
+					Additional you can change video-/audio-quality, choose multiple
+					camera resolutions (4:3, 16:9 or 3:2)
+					and choose your input devices.
+				</text>
+
+			</feature>
+
+			<feature title="Meeting recording and Screen sharing">
+
+				<image href="images/desktopsharing.png" fullhref="images/desktopsharing.png"
+					title="Screensharing-/recording" width="140" height="150" />
+				<image href="images/recordings_timeleine.png" fullhref="images/recordings_timeleine.png"
+					title="Device" width="200" height="115" />
+				<text>
+					<ul>
+						<li>Recorded sessions contain everything including sound recorded
+							from all audio streams in exactly the way you've seen it in the
+							conference.
+						</li>
+					</ul>
+					<ul>
+						<li>Recorded sessions can be downloaded as AVI/FLV files.</li>
+					</ul>
+					<ul>
+						<li>Possibility to select a screen area for sharing.</li>
+					</ul>
+					<ul>
+						<li>Different quality steps for Screensharing.</li>
+					</ul>
+					<ul>
+						<li>Watch and organize recordings in an integrated Drag and Drop
+							File-Explorer
+						</li>
+					</ul>
+				</text>
+
+			</feature>
+
+			<feature title="File Explorer">
+
+				<image href="images/file_smal.png" title="File Explorer"
+					fullhref="images/file_smal.png" width="135" height="200" />
+				<text>
+					Advanced File-Explorer in every conference room, Drag and Drop
+					interface for managing uploaded files, including the possibility to
+					create a document tree with folders.
+					<br />
+					<br />
+					Private and Public Drive in
+					File-Explorer. The File-Explorer has two
+					different views, one is the
+					<b>Private Drive</b>
+					and the other the
+					<b>Public Drive</b>
+					. The Private Drive
+					always contains the same files.
+					Those files are
+					visible only to the
+					user currently loggedin. The
+					Public Drive is not
+					bound to the user,
+					but to the conference room
+					instead. All users in
+					the conference room
+					have access to the Public
+					Drive.
+				</text>
+
+			</feature>
+
+			<feature title="Moderating System">
+
+				<image href="images/right_management.png" title="Right management"
+					fullhref="images/right_management.png" width="135" height="216" />
+				<text>
+					During a conference, the moderator can adjust the user permission
+					to every user individually .
+					<ul>
+						<li>
+							<img class="alignnone" title="Allow modaration" src="images/user_add.png"
+								alt="" />
+							Allow/Deny moderation
+						</li>
+						<li>
+							<img class="alignnone" title="Whiteboard Access" src="images/pencil_add.png"
+								alt="" />
+							Allow/Deny to draw on white board
+						</li>
+						<li>
+							<img class="alignnone" title="Screenshare" src="images/monitor_add.png"
+								alt="" />
+							Allow/Deny screen-sharing/record screen
+						</li>
+						<li>
+							<img class="alignnone" title="Remote control" src="images/mouse_add.png"
+								alt="" />
+							Allow/Deny Remote Control Screen
+						</li>
+						<li>
+							<img class="alignnone" title="Remote control" src="images/micro_small.png"
+								alt="" />
+							Give exclusive audio to others or self
+						</li>
+						<li>
+							<img class="alignnone" title="Video Audio" src="images/audio_and_video.png"
+								alt="" />
+							(Re-) Start Audio, Video or Device settings
+						</li>
+					</ul>
+				</text>
+
+			</feature>
+
+
+			<feature title="Multi-Whiteboard and Chat">
+
+				<image href="images/whiteboard.png" fullhref="images/whiteboard.png"
+					title="Whiteboard" width="240" height="165" />
+				<image href="images/chat.png" fullhref="images/chat.png"
+					title="Chat in Conference Room" width="240" height="68" />
+				<text>
+					Multi-Whiteboard, you can add new whiteboard instances, each
+					white
+					board can have the full range of tools and documents inside.
+					<br />
+					<br />
+					Save white boards. You can save each whiteboard instance as a file.
+					The file is located in the File-Explorer and can be drag n' drop'ed
+					to the white board again and organized like any other document,
+					image or folder.
+					<br />
+					<br />
+					White board with drawing, writing, Drag n' Drop, Resizing, Images
+					(Drag n'
+					Drop from File-Explorer), Symbol(s)/Cliparts .
+					<br />
+					<br />
+					Full-fit does rescale the document on the screen to be 100% visible
+					on all
+					screens no matter what kind of screen resolution different
+					users
+					have.
+					<br />
+					<br />
+					You can import from a wide range of document formats (PDF, DOC,
+					ODT, PPT, et cetera...)
+				</text>
+
+			</feature>
+
+			<feature title="User and room management">
+
+				<image href="images/dashboard.png" fullhref="images/dashboard.png"
+					title="Dashboard with MyRooms" width="250" height="130" />
+				<text>
+					You can manage users and multiple organizations in a single
+					OpenMeetings instance. You can also create users that only have
+					access via the SOAP-API.
+					<br />
+					<br />
+					MyRooms section. Each user has by default 2 personal rooms that
+					are
+					always accessible exclusively for that user. There are buttons
+					to
+					enter those rooms from the Dashboard.
+					<br />
+					<br />
+					You can assign conference room to all users, or you can assign them
+					only to specific user-groups.
+				</text>
+
+			</feature>
+
+			<feature title="Private message center">
+				<image href="images/privat_messages.png" fullhref="images/privat_messages.png"
+					title="Private Messages and Contact Search" width="230" height="125" />
+				<text>
+					Send users messages and organize them in folders. You can book
+					conference rooms by sending private messages. The booked event
+					automatically is in your and the participants calendar, changes to
+					that event will be populated to all users booked to the event.
+					<br />
+					<br />
+					User contacts, you can search users and add them to your contacts.
+					You
+					can even give them the right to see your calendar.
+				</text>
+			</feature>
+
+			<feature title="Plan meetings with integrated calendar">
+				<image href="images/calendar.png" fullhref="images/calendar.png"
+					title="Calendar" width="200" height="115" />
+				<text>
+					<ul>
+						<li>Plan your conferencing and invite attendees from OpenMeetings
+							or External.
+						</li>
+						<li>The invited attendees will recieve an E-mail with details to
+							the meetings and a link with a secure hash to the conference
+							room.
+						</li>
+						<li>Share your calendar with your contacts.</li>
+					</ul>
+				</text>
+			</feature>
+
+			<feature title="Polls and Votes">
+				<image href="images/poll.png" fullhref="images/poll.png"
+					title="Create a poll" width="250" height="250" />
+				<text>
+					You can create a poll with yes/no or 1-10 questions, let the
+					user
+					vote and see the voting results.
+					<br />
+					<br />
+					Polls can be stored and results viewed as pie-chart
+				</text>
+			</feature>
+
+			<feature title="Backup">
+				<image href="images/backup.png" fullhref="images/backup.png"
+					title="Backup" width="250" height="60" />
+				<text>
+					You can backup all user-generated data including files
+					uploaded by the users in a single ZIP file and import that ZIP into
+					a new installation of OpenMeetings again.
+				</text>
+			</feature>
+
+
+		</section>
+
+	</body>
+</document>
+
+
+
+
+
diff --git a/xdocs/installation.xml b/xdocs/installation.xml
new file mode 100644
index 0000000..994e212
--- /dev/null
+++ b/xdocs/installation.xml
@@ -0,0 +1,358 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Home</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="OpenMeetings Installation">

+

+			<p>

+				To update from past versions or migrate see

+				<a href="Upgrade.html">Upgrade</a>

+				.

+				If you are looking for commercial help have a look at

+				<a href="commercial-support.html" target="_BLANK" rel="nofollow">commercial

+					support

+				</a>

+				.

+			</p>

+			<p>

+				<a href="downloads.html" rel="nofollow">

+					<img src="images/installation_instructions.png" alt="Grafik" />

+				</a>

+				<p>

+					<i>Note: OpenMeetings requires SUN/Oracle JRE 6, not openJDK!</i>

+					<br />

+					<i>Since Version 2.0 you can also install OpenMeetings from command

+						line. Just cd to the unpacked archive and type ./admin.sh or

+						admin.bat

+					</i>

+				</p>

+			</p>

+			<ol>

+				<li>

+					<b>Recommendation for production environment</b>

+					<div style="margin-top: 10px; margin-bottom:10px">

+						By default OpenMeetings uses the integrated Apache Derby database.

+						For production environment you should consider using

+						<a href="MySQLConfig.html">MySQL</a>

+						,

+						<a href="/PostgresConfig.html">Postgres</a>

+						, or for example

+						<a href="IBMDB2Config.html">IBM DB2</a>

+						, or

+						<a href="OracleConfig.html">Oracle</a>

+					</div>

+				</li>

+				<li>

+					<b>Enabling Image Upload and import to whiteboard</b>

+					<div style="margin-top: 10px; margin-bottom:10px">

+						Install

+						<b>ImageMagick</b>

+						on the server, you can get more information on

+						<a href="http://www.imagemagick.org" rel="nofollow" target="_BLANK">http://www.imagemagick.org

+						</a>

+						regarding installation. The instructions

+						for installation can be

+						found there

+						<a href="http://www.imagemagick.org/script/binary-releases.php"

+							target="_BLANK" rel="nofollow">http://www.imagemagick.org/script/binary-releases.php

+						</a>

+						,

+						however on

+						most Linux systems you can get it via your favorite

+						package

+						managers (apt-get it)

+					</div>

+				</li>

+				<li>

+					<b>Enabling import of PDFs into whiteboard</b>

+					<div style="margin-top: 10px; margin-bottom:10px">

+						<ul>

+							<li>

+								Install

+								<b>GhostScript</b>

+								on the server, you can get more

+								information on

+								<a href="http://pages.cs.wisc.edu/~ghost/" target="_BLANK"

+									rel="nofollow">

+									http://pages.cs.wisc.edu/~ghost/

+								</a>

+								regarding

+								installation. The instructions for installation can be

+								found

+								there, however on most Linux systems you can get it via

+								your

+								favorite package managers (apt-get it).

+							</li>

+							<li>

+								Install

+								<b>SWFTools</b>

+								on the server, you can get more information

+								on

+								<a href="http://www.swftools.org/" target="_BLANK" rel="nofollow">http://www.swftools.org/

+								</a>

+								regarding installation. Some of the

+								Linux distributions already

+								have it in there package manager (see

+								<a href="http://packages.debian.org/unstable/utils/swftools"

+									target="_BLANK" rel="nofollow">http://packages.debian.org/unstable/utils/swftools

+								</a>

+								), the

+								recommended version of SWFTools is 0.9 as prior version

+								have a

+								bug that does lead to wrong object dimensions at

+								whiteboard

+							</li>

+						</ul>

+					</div>

+				</li>

+				<li>

+					<b>Enabling import of .doc, .docx, .ppt, .pptx, ... all Office

+						Documents into whitebaord

+					</b>

+					<div style="margin-top: 10px; margin-bottom:10px">

+						<ul>

+							<li>

+								<a href="http://code.google.com/p/jodconverter/" target="_BLANK"

+									ref="nofollow">JODConverter</a>

+								installed (needed since v2.x)

+							</li>

+							<li>OpenOffice or Libre Office Installed</li>

+						</ul>

+						Since Version 2.x of OpenMeetings it is no more required to start

+						OpenOffice (or Libreoffice) service, see

+						<a href="OpenOfficeConverter.html">OpenOfficeConverter</a>

+						for details

+					</div>

+				</li>

+				<li>

+					<b>Enabling Recording and import of .avi, .flv, .mov and .mp4 into

+						whiteboard

+					</b>

+					<div style="margin-top: 10px; margin-bottom:10px">

+						<ul>

+							<li>

+								Install

+								<b>FFMpeg (with -enabled libmp3lame option)</b>

+								. You should get FFMPEG in an up to date copy! OpenMeetings is

+								tested with FFMPEG Version 10.3

+								For

+								Windows you can

+								download a

+								Build for example from

+								<a href="http://ffmpeg.zeranoe.com/builds/" target="_BLANK"

+									rel="nofollow">http://ffmpeg.zeranoe.com/builds/ </a>

+								Linux or OSx Users should be

+								able to use one of the various

+								Installation Instructions on the

+								Web. You need to enable

+								libmp3lame!

+							</li>

+							<li>

+								Install

+								<b>SoX</b>

+								<a href="http://sox.sourceforge.net/" target="_BLANK" rel="nofollow">http://sox.sourceforge.net/

+								</a>

+								. You should install SoX in a up

+								to date copy! SoX 12.xx will NOT

+								work!

+							</li>

+						</ul>

+					</div>

+				</li>

+			</ol>

+

+		</section>

+

+		<section name="Ports, NAT Settings, Customize">

+

+			<p>

+				See

+				<a href="PortSettings.html">PortSettings</a>

+			</p>

+		</section>

+

+		<section name="VMWare">

+			<ul>

+				<li>

+					See

+					<a href="http://nightly.openmeetings.de/openmeetings/builds/vmware/"

+						rel="nofollow">http://nightly.openmeetings.de/openmeetings/builds/vmware/</a>

+				</li>

+				<li>

+					VMWare 1.6.1

+					<a

+						href="http://openstudio.no-ip.info/2011/01/openmeetings-1-6-rc1-vmware-appliance-using-ubuntu-server-10-04-lts/"

+						rel="nofollow">blog-entry</a>

+				</li>

+				<li>

+					<a href="/p/openmeetings/wiki/VMWareImageDebian051">VMWareImageDebian051</a>

+				</li>

+				<li>

+					<a href="/p/openmeetings/wiki/VMWareImageMoodlePackOM052">VMWareImageMoodlePackOM052</a>

+				</li>

+				<li>

+					<a href="/p/openmeetings/wiki/VMImageRev2056">VMImageRev2056</a>

+				</li>

+				<li>

+					<a href="/p/openmeetings/wiki/VMWareImageRunningOpenmeetingsV1_0RC1">VMWareImageRunningOpenmeetingsV1_0RC1</a>

+				</li>

+			</ul>

+		</section>

+

+		<section name="Hardware Requirements">

+			<ul>

+				<li>

+					Minimalistic requirement (without Document Converters, Recorder and

+					Upload feature) 1GHz CPU 1 GB RAM (

+					<i>server-side</i>

+					)

+				</li>

+				<li>

+					Recommended requirement 2x/4x 2GHz ++ CPU (32 or 64Bit) 4GB RAM. If

+					you have a 64Bit Operating System check if there is a OpenOffice

+					64Bit Version

+					<a href="http://download.openoffice.org/other.html#de" rel="nofollow">available

+						for your OS

+					</a>

+					(

+					<i>server-side</i>

+					)

+				</li>

+				<li>

+					Headset/Microphone recommendation: Logitech ClearChat PC Wireless,

+					for example from

+					<a

+						href="http://www.amazon.de/Logitech-ClearChat-kabelloser-Kopfh%C3%B6rer-Transmitter/dp/B00166WSN4"

+						rel="nofollow">Amazon</a>

+					or

+					<a

+						href="http://shop.ebay.com/i.html?_nkw=Logitech+ClearChat.+Wireless&amp;_sacat=0&amp;_trksid=p3286.m270.l1313&amp;LH_BIN=1&amp;LH_IncludeSIF=1&amp;_odkw=Logitech+ClearChat+PC&amp;_osacat=0"

+						rel="nofollow">EBay Auctions</a>

+					(

+					<i>cient-side</i>

+					).

+					<a href="/p/openmeetings/wiki/RecommendedHardwareList">See all recommendations</a>

+					for cameras, headsets and speakerphones.

+				</li>

+			</ul>

+

+		</section>

+

+		<section name="Debian, Links, Changelog, VoIP">

+

+			<ul>

+				<li>

+					for VoIP and SIP Integration see also

+					<a href="voip-sip-integration.html">VoIPAndSIP</a>

+				</li>

+				<li>

+					<a href="http://meetingslive.sourceforge.net/" rel="nofollow">http://meetingslive.sourceforge.net/

+					</a>

+				</li>

+				<li>

+					<a href="http://code.google.com/p/openmeetings/wiki/InstallationCentOS5">Installation on CentOS 5</a>

+				</li>

+				<li>

+					<a href="http://code.google.com/p/openmeetings/wiki/InstallationRHELS">Installation on RHELS 5.6</a>

+				</li>

+				<li>

+					<a

+						href="http://code.google.com/p/openmeetings/wiki/OpenmeetingsEnUbuntu">Instalar Openmeetings en Ubuntu 10.04 (Spanish)</a>

+				</li>

+				<li>

+					<a href="http://code.google.com/p/openmeetings/wiki/UbuntuLucidLTS">Install openmeetings on Ubuntu 10.04 LTS</a>

+				</li>

+				<li>

+					<a

+						href="http://liberamemoria.blogspot.com/2009/02/instalando-openmeetings-07-rc-2-en.html"

+						rel="nofollow">Espanol Version for Debian Installation</a>

+				</li>

+				<li>

+					<a

+						href="http://aitinet.com/blog/wp-content/uploads/2009/08/TUTORIAL-PARA-INSTALACAO-DO-RED5-E-OPENMEETINGS-NO-LINUX-DEBIAN-LENNY-51.pdf"

+						rel="nofollow">Portuguese Version for Debian Installation of 0.9 RC1</a>

+				</li>

+				<li>

+					<a

+						href="http://code.google.com/p/openmeetings/wiki/Automatic_script_installation_for_Debian"

+						rel="nofollow">Automatic script installation for Debian</a>

+				</li>

+				<li>

+					<a href="http://code.google.com/p/openmeetings/wiki/InstallationDebian">InstallationDebian</a>

+				</li>

+				<li>

+					<a href="http://code.google.com/p/openmeetings/wiki/qosTips">qosTips</a>

+				</li>

+				<li>

+					French version of Installation Instructions:

+					<a

+						href="http://flash.54n.free.fr/?/Root/Debian/OpenMeetings-Installation"

+						rel="nofollow">http://flash.54n.free.fr/?/Root/Debian/OpenMeetings-Installation

+					</a>

+				</li>

+			</ul>

+		</section>

+

+		<section name="Tips and Tricks">

+			<ul>

+				<li>

+					Use the Debug-Application: Enter in your browser

+					<a

+						href="http://$RED-HOST:$RED5-PORT/openmeetings/maindebug.lzx.lzr=swf8.swf"

+						rel="nofollow">http://$RED-HOST:$RED5-PORT/openmeetings/maindebug.lzx.lzr=swf8.swf

+					</a>

+					for example

+					<a href="http://localhost:5080/openmeetings/maindebug.lzx.lzr=swf8.swf"

+						rel="nofollow">http://localhost:5080/openmeetings/maindebug.lzx.lzr=swf8.swf

+					</a>

+				</li>

+				<li>If you have Problems with conversion-jobs check your Red5-Log

+					output. There will be error Messages which help you. You must

+					install OpenOffice, ImageMagick, GhostScript and SWFTools to run

+					all conversion-Jobs correctly.

+				</li>

+				<li>if you have problems in converting Files check the Batch-Scripts

+					in $OPENMEETINGS_HOME/jod

+				</li>

+				<li>

+					If you want to use red5 as a service (without red5.bat), you need

+					to move red5\wrapper\wrapper.exe to red5\wrapper.exe. Then change

+					some path in conf\wrapper.conf (like ..\lib\foo.jar to

+					lib\foo.jar). And finally change the register key in

+					HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet

+					<a href="/p/openmeetings/w/edit/CurrentControlSet">?</a>

+					\Services\Red5\ImagePath

+					<a href="/p/openmeetings/w/edit/ImagePath">?</a>

+					to point to the new wrapper.

+				</li>

+				<li>

+					you can query a Mysql Database to get the schema_collection by

+					using this query:

+					<div class="xmlcode">

+						SELECT Table_name, TABLE_COLLATION FROM

+						information_schema.tables WHERE table_schema = 'openmeetings'

+						ORDER BY table_name DESC

+					</div>

+				</li>

+			</ul>

+		</section>

+

+	</body>

+

+</document>

+

diff --git a/xdocs/license.xml b/xdocs/license.xml
new file mode 100644
index 0000000..2c04138
--- /dev/null
+++ b/xdocs/license.xml
@@ -0,0 +1,225 @@
+<?xml version="1.0"?>
+
+<document>
+<properties>
+<title>License</title>
+<author email="Podling-dev@incubator.apache.org">
+ Podling Documentation Team</author>
+</properties>
+
+<body>
+<section name="Apache License v2.0">
+
+<source test=""><![CDATA[
+
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+ ]]></source>
+
+</section>
+</body>
+</document>
+
diff --git a/xdocs/mail-lists.xml b/xdocs/mail-lists.xml
new file mode 100644
index 0000000..a1fcfd3
--- /dev/null
+++ b/xdocs/mail-lists.xml
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+
+    Copyright 2006 The Apache Software Foundation
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<document>
+
+<properties>
+<title>Mailing Lists</title>
+<author email="sebawagner@apache.org">
+ Sebastian Wagner</author>
+</properties>
+
+<body>
+<section name="Apache OpenMeetings Mailing Lists">
+
+<p>
+There are currently 4 publicly available mailing lists for OpenMeetings. 
+</p>
+<p>
+The commits list is for notification of commits to the OpenMeetings repository.
+</p>
+<p>
+The dev list is for internal discussion among the OpenMeetings developers. It is
+open to the public if you are interested in seeing how the sausage is made.
+</p>
+
+<table>
+<tr>
+<td>
+<p><strong>User List</strong> : 
+<a  href="mailto:openmeetings-user@incubator.apache.org">
+openmeetings-user@incubator.apache.org</a> </p>
+</td>
+<td>
+<p> <a  class="external" rel="nofollow" 
+href="mailto:openmeetings-user-subscribe@incubator.apache.org">
+Subscribe</a> </p>
+</td>
+<td>
+<p> <a  class="external" rel="nofollow" 
+href="mailto:openmeetings-user-unsubscribe@incubator.apache.org">
+Unsubscribe</a> </p>
+</td>
+<td>
+<p>
+<a href="http://mail-archives.apache.org/mod_mbox/incubator-openmeetings-user/">
+Archive</a>
+</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><strong>Spanish User List</strong> : 
+<a  href="mailto:openmeetings-user-espanol@incubator.apache.org">
+openmeetings-user-espanol@incubator.apache.org</a> </p>
+</td>
+<td>
+<p> <a  class="external" rel="nofollow" 
+href="mailto:openmeetings-user-espanol-subscribe@incubator.apache.org">
+Subscribe</a> </p>
+</td>
+<td>
+<p> <a  class="external" rel="nofollow" 
+href="mailto:openmeetings-user-espanol-unsubscribe@incubator.apache.org">
+Unsubscribe</a> </p>
+</td>
+<td>
+<p>
+<a href="http://mail-archives.apache.org/mod_mbox/incubator-openmeetings-user-espanol/">
+Archive</a>
+</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><strong>Commits List</strong> : 
+<a  href="mailto:openmeetings-commits@incubator.apache.org">
+openmeetings-commits@incubator.apache.org</a> </p>
+</td>
+<td>
+<p> <a  class="external" rel="nofollow" 
+href="mailto:openmeetings-commits-subscribe@incubator.apache.org">
+Subscribe</a> </p>
+</td>
+<td>
+<p> <a  class="external" rel="nofollow" 
+href="mailto:openmeetings-commits-unsubscribe@incubator.apache.org">
+Unsubscribe</a> </p>
+</td>
+<td>
+<p>
+<a href="http://mail-archives.apache.org/mod_mbox/incubator-openmeetings-commits/">
+Archive</a>
+</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><strong>Developer List</strong> : 
+<a  href="mailto:openmeetings-dev@incubator.apache.org">
+openmeetings-dev@incubator.apache.org</a> </p>
+</td>
+<td>
+<p> <a  class="external" rel="nofollow" 
+href="mailto:openmeetings-dev-subscribe@incubator.apache.org">
+Subscribe</a> </p>
+</td>
+<td>
+<p> <a  class="external" rel="nofollow" 
+href="mailto:openmeetings-dev-unsubscribe@incubator.apache.org">
+Unsubscribe</a> </p>
+</td>
+<td>
+<p>
+<a href="http://mail-archives.apache.org/mod_mbox/incubator-openmeetings-dev">
+Archive</a>
+</p>
+</td>
+</tr>
+</table>
+
+</section>
+</body>
+</document>
+
diff --git a/xdocs/red5sip-integration.xml b/xdocs/red5sip-integration.xml
new file mode 100644
index 0000000..55ce5c6
--- /dev/null
+++ b/xdocs/red5sip-integration.xml
@@ -0,0 +1,185 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache

+	License, Version 2.0 (the "License"); you may not use this file except in

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

+	Unless required by applicable law or agreed to in writing, software distributed

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>SIP-Transport Integration</title>

+		<author email="timur@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="SIP-Transport Integration">

+			<p>

+				Here is instruction how-to set up red5sip transport integration with OpenMeetings on Ubuntu 10.04.

+			</p>

+		</section>

+

+        <section name="Setup Asterisk">

+			<p>

+                Run the commands

+                <blockquote>

+                    <i>

+                    sudo apt-get update<br/>

+                    sudo apt-get install asterisk asterisk-mysql

+                    </i>

+                </blockquote>

+            </p>

+            <p>

+                Ubuntu 10.04 has broken asterisk-mysql version. For other distribution next commands not needed:

+                <blockquote>

+                    <i>

+                        aptitude purge asterisk-mysql

+                        <br/>

+                        cd /tmp

+                        <br/>

+                        apt-get build-dep asterisk-mysql

+                        <br/>

+                        apt-get -b source asterisk-mysql

+                        <br/>

+                        dpkg -i asterisk-mysql_1.6.2.0-1_i386.deb

+                    </i>

+

+                </blockquote>

+            </p>

+            <p>

+                Enable asterisk mysql realtime module:<br/><br/>

+                Add string

+                <blockquote>

+                    <i>load => res_config_mysql.so</i>

+                </blockquote>

+                to the /etc/asterisk/modules.conf into the "modules" section.

+            </p>

+            <p>

+                Configure mysql realtime module:<br/><br/>

+

+                Create file /etc/asterisk/res_mysql.conf and add lines:

+                <blockquote>

+                    <i>[general]

+                        <br/>

+                        dbhost=127.0.0.1

+                        <br/>

+                        dbname=openmeetings

+                        <br/>

+                        dbuser=root

+                        <br/>

+                        dbpass=

+                        <br/>

+                        dbport=3306

+                    </i>

+

+                </blockquote>

+            </p>

+            <p>

+                Add next lines into the /etc/asterisk/extconfig.conf:

+                <blockquote>

+                    <i>[settings]

+                        <br/>

+                        sipusers => mysql,general,sipusers

+                        <br/>

+                        sippeers => mysql,general,sipusers

+                        <br/>

+                        extensions => mysql,general,extensions

+                        <br/>

+                        meetme => mysql,general,meetme

+                    </i>

+

+                </blockquote>

+            </p>

+            <p>

+                Add next lines into the /etc/asterisk/extensions.conf:

+                <blockquote>

+                    <i>[rooms]

+                        <br/>

+                        switch => Realtime/@

+                    </i>

+

+                </blockquote>

+            </p>

+

+            <p>

+                Restart asterisk:

+                <blockquote>

+                    <i>service asterisk restart</i>

+                </blockquote>

+                Insert, for example, SIP user with name 'test':

+                <blockquote>

+                    <i>

+                        INSERT INTO sipusers (allow, context, disallow, host, name, secret) VALUES ('ulaw' , 'rooms', NULL, 'dynamic' , 'test', '12345');

+                    </i>

+                </blockquote>

+            </p>

+		</section>

+

+        <section name="Setup red5sip transport">

+            <p>

+                Download red5sip from<blockquote>http://red5phone.googlecode.com/svn/branches/red5sip</blockquote>

+            </p>

+            <p>

+                Build with Apache Ant

+            </p>

+            <p>

+                Install jsvc:

+                <blockquote>

+                    <i>apt-get install jsvc</i>

+                </blockquote>

+            </p>

+            <p>

+                Insert proper values to the /opt/red5sip/settings.properties

+

+                <blockquote>

+                    <i>red5.host - red5 server address (127.0.0.1)

+                        <br/>

+                        sip.obproxy - asterisk adderss (127.0.0.1)

+                        <br/>

+                        sip.phone - sip phone number (test)

+                        <br/>

+                        sip.authid - sip auth id (test)

+                        <br/>

+                        sip.secret - sip password (12345)

+                        <br/>

+                        sip.realm - sip realm, "asterisk" by default

+                        <br/>

+                        sip.proxy -

+                        <br/>

+                        rooms - ids of openmeetings rooms, can be, for example, 2,3,5,6

+                    </i>

+

+                </blockquote>

+            </p>

+            <p>

+                Add red5sip to autostart:

+                <blockquote>

+                    <i>ln -s /opt/red5sip/red5sip.sh /etc/init.d/red5sip

+                        <br/>

+                        chmod a+x /etc/init.d/red5sip

+                        <br/>

+                        update-rc.d /etc/init.d/red5sip defaults

+                    </i>

+

+                </blockquote>

+            </p>

+            <p>

+                Start openmeetings

+                <blockquote>

+                    <i>service red5 start</i>

+                </blockquote>

+            </p>

+            <p>

+                Start red5sip

+                <blockquote>

+                    <i>service red5sip start</i>

+                </blockquote>

+            </p>

+        </section>

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/stylesheets/errortable.xsl b/xdocs/stylesheets/errortable.xsl
new file mode 100644
index 0000000..d58a0e8
--- /dev/null
+++ b/xdocs/stylesheets/errortable.xsl
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+   Licensed under the Apache License, Version 2.0 (the "License");

+   you may not use this file except in compliance with the License.

+   You may obtain a copy of the License at

+

+       http://www.apache.org/licenses/LICENSE-2.0

+

+   Unless required by applicable law or agreed to in writing, software

+   distributed under the License is distributed on an "AS IS" BASIS,

+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+   See the License for the specific language governing permissions and

+   limitations under the License.

+ -->

+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

+	<xsl:output method="xml"/>

+	

+	<xsl:template match="ROOT">

+<document>

+

+	<properties>

+		<title>Openmeetings Errors table</title>

+		<author>Apache OpenMeetings Documentation Robot</author>

+	</properties>

+	<body>

+		<section name="Openmeetings Errors table">

+		<table>

+			<tr>

+				<th>Code</th>

+				<th>Type</th>

+				<th>Description</th>

+			</tr>

+			<xsl:apply-templates/>

+		</table>

+		</section>

+	</body>

+</document>

+	</xsl:template>

+	

+	<xsl:template match="row">

+			<tr>

+				<td>-<xsl:value-of select="field[@name='errorvalues_id']"/></td>

+				<td>

+					<xsl:variable name="typeId" select="field[@name='errortype_id']"/>

+					<xsl:variable name="x">

+						<xsl:choose>

+							<xsl:when test="$typeId='1'">322</xsl:when>

+							<xsl:otherwise>323</xsl:otherwise>

+						</xsl:choose>

+					</xsl:variable>

+					<xsl:value-of select="document('../../WebContent/languages/english.xml')/language/string[@id=$x]/value" />

+				</td>

+				<td>

+					<xsl:variable name="descId" select="field[@name='fieldvalues_id']"/>

+					<xsl:value-of select="document('../../WebContent/languages/english.xml')/language/string[@id=$descId]/value" />

+				</td>

+			</tr>

+	</xsl:template>

+</xsl:stylesheet>
\ No newline at end of file
diff --git a/xdocs/stylesheets/project.xml b/xdocs/stylesheets/project.xml
new file mode 100644
index 0000000..6e280ee
--- /dev/null
+++ b/xdocs/stylesheets/project.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project name="Apache OpenMeetings Project"
+        href="http://incubator.apache.org/openmeetings/">
+
+    <title>Apache OpenMeetings [Incubating]</title>
+    <!--  -->
+    <logo href="/images/logo-2.jpg">Apache OpenMeetings</logo>
+	
+    <body>
+
+    <menu name="General">
+        <item name="Home"                   href="/index.html"/>
+        <item name="License"                href="/license.html"/>
+        <item name="ASF"                    href="http://www.apache.org/"/>
+        <item name="Downloads"              href="/downloads.html"/>
+        <item name="Commercial Support"     href="/commercial-support.html"/>
+    </menu>
+    
+    <menu name="Installation and Upgrade">
+    	<item name="Installation"           href="/installation.html"/>
+    	<item name="Upgrade"           		href="/Upgrade.html"/>
+    	<item name="Tutorials"  href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings" />
+    </menu>
+
+    <menu name="Community">
+        <item name="Get Involved"           href="/get-involved.html"/>
+        <item name="Committers"             href="/team-list.html"/>
+        <item name="Mailing Lists"          href="/mail-lists.html"/>
+    	<item name="Wiki"                   href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/" />
+    </menu>
+
+    <menu name="Development">
+        <item name="Source Code"            href="/svn.html"/>
+        <item name="Bugs / Issues (JIRA)"   href="http://issues.apache.org/jira/browse/OPENMEETINGS"/>
+        <item name="Dependencies"           href="/dependencies.html"/>
+        <item name="Build Instructions"     href="/BuildInstructions.html"/>
+        <item name="JUnit Testing"          href="/JUnitTesting.html"/>
+    </menu>
+    
+    <menu name="Integration">
+        <item name="SOAP/REST API"          href="/SoapRestAPI.html" />
+        <item name="REST API Sample"        href="/RestAPISample.html" />
+        <item name="Ldap and ADS"           href="/LdapAndADS.html" />
+        <item name="VoIP and SIP"           href="/voip-sip-integration.html" />
+        <item name="Errors table"           href="/ErrorsTable.html" />
+    </menu>
+    
+    <menu name="Plugins">
+        <item name="Moodle Plugin"          href="/MoodlePlugin.html" />
+        <item name="Sakai Plugin"          	href="/SakaiPlugin.html" />
+        <item name="Jira Plugin"          	href="/JiraPlugin.html" />
+        <item name="Confluence Plugin"      href="/ConfluencePlugin.html" />
+        <item name="SugarCRM Plugin"        href="/SugarCRMPlugin.html" />
+    </menu>
+    
+    <menu name="Configuration">
+    	<item name="DB Sample Configurations" >
+    		<subitem name="Apache Derby" href="/ApacheDerbyConfig.html" />
+    		<subitem name="IBM DB2" href="/IBMDB2Config.html" />
+    		<subitem name="Oracle" href="/OracleConfig.html" />
+    		<subitem name="MySQL" href="/MySQLConfig.html" />
+    		<subitem name="Postgres" href="/PostgresConfig.html" />
+    	</item>
+    	<item name="Localization and languages" >
+    		<subitem name="Internationalisation" href="/Internationalisation.html" />
+    		<subitem name="LanguageEditor" href="/LanguageEditor.html" />
+    		<subitem name="TimeZoneHandling" href="/TimeZoneHandling.html" />
+    		<subitem name="EditTemplates" href="/EditTemplates.html" />
+    	</item>
+    	<item name="NAT Port Settings" >
+    		<subitem name="Port settings" href="/PortSettings.html" />
+    	</item>
+    	<item name="Performance" >
+    		<subitem name="JVM performance tuning" href="/JVMPerformanceTuning.html" />
+    	</item>
+    	<item name="User Interface">
+    		<subitem name="Themes" href="/themes-and-branding.html" />
+    		<subitem name="Branding and Colors" href="/BrandingAndColors.html" />
+    		<subitem name="Dashboard" href="/Dashboard.html" />
+    		<subitem name="Webcam resolutions" href="/WebcamResolutions.html" />
+    		<subitem name="Room layout options" href="/ConferenceRoomLayoutOptions.html" />
+    	</item>
+    	<item name="Customization" >
+    		<subitem name="Webapp name/path" href="/WebappNamePath.html" />
+    		<subitem name="Navigation" href="/Navigation.html" />
+    		<subitem name="Calendar and timezone" href="/CalendarAndTimezone.html" />
+    		<subitem name="Custom room type" href="/CustomRoomTypeHowTo.html" />
+    		<subitem name="General Configuration" href="/GeneralConfiguration.html" />
+    	</item>
+    	<item name="Security" >
+    		<subitem name="Restricted Access" href="/RestrictedAccess.html" />
+    		<subitem name="RTMPS and HTTPS" href="/RTMPSAndHTTPS.html" />
+    	</item>
+    	<item name="Converters" >
+    		<subitem name="OpenOffice Converter" href="/OpenOfficeConverter.html" />
+            <subitem name="FFMPEG Version Switch" href="/FFMPEGVersionSwitch.html" />
+        </item>
+    	<item name="Misc" >
+    		<subitem name="Get version info" href="/GetVersionInfo.html" />
+    	</item>
+    </menu>
+    
+    <!-- 
+    <menu name="Integration">
+        <item name="SOAP/REST API"          href="/integration_api.html"/>
+        <item name="LDAP and ADS"           href="/integration_ldap.html"/>
+        <item name="VoIP and SIP"           href="/integration_voip.html"/>
+        <item name="Moodle Plugin"          href="/moodle_plugin.html"/>
+        <item name="SugarCRM Plugin"        href="/sugarcrm_plugin.html"/>
+    </menu>
+     -->
+     
+    
+
+    </body>
+</project>
diff --git a/xdocs/stylesheets/site.vsl b/xdocs/stylesheets/site.vsl
new file mode 100644
index 0000000..e22f999
--- /dev/null
+++ b/xdocs/stylesheets/site.vsl
@@ -0,0 +1,566 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<!-- Content Stylesheet for Site -->
+
+    ## Defined variables
+    #set ($menutablebg = "#FFFFFF")
+    #set ($menutablefg = "#000000")
+    #set ($bodybg = "#ffffff")
+    #set ($bodyfg = "#000000")
+    #set ($bodylink = "#123465")
+    #set ($pagebannerbg = "#669AE6")
+    #set ($pagebannerfg = "#000000")
+    #set ($bannerbg = "#EEEEEE")
+    #set ($bannerfg = "#000000")
+    #set ($subbannerbg = "#EFEFEF")
+    #set ($subbannerfg = "#000000")
+    #set ($tablethbg = "#039acc")
+    #set ($tabletdbg = "#a0ddf0")
+    #set ($colorhrline = "#999999")
+    
+<!-- start the processing -->
+#document()
+<!-- end the processing -->
+
+## This is where the macro's live
+
+#macro ( feature $feature)
+	<h3>$feature.getAttribute("title").getValue()</h3>
+	<table border="0">
+		<tbody>
+			<tr>
+				<td style="text-align: center;" width="300">
+					#foreach ( $items in $feature.getChildren() )
+						#if ($items.getName().equals("image"))
+							<p>
+							<a class="fancybox-buttons" data-fancybox-group="button" href="$items.getAttribute("fullhref").getValue()">
+								<img src="$items.getAttribute("href").getValue()" alt="" width="$items.getAttribute("width").getValue()" 
+									height="$items.getAttribute("height").getValue()" />
+							</a>
+							<!--
+							<img style="border: 1px solid black;"
+									title="" src="$items.getAttribute("href").getValue()"
+									alt="" width="$items.getAttribute("width").getValue()" 
+									height="$items.getAttribute("height").getValue()" />
+									</p>
+									 -->
+						#end
+					#end
+				</td>
+				<td>
+					#foreach ( $items in $feature.getChildren() )
+						#if ($items.getName().equals("text"))
+							$items
+						#end
+					#end
+				</td>
+			</tr>
+	    </tbody>
+	</table>
+#end
+
+#macro ( table $table)
+<table>
+    #foreach ( $items in $table.getChildren() )
+        #if ($items.getName().equals("tr"))
+            #tr ($items)
+        #end
+    #end
+</table>
+#end
+
+#macro ( tr $tr)
+<tr>
+    #foreach ( $items in $tr.getChildren() )
+        #if ($items.getName().equals("td"))
+            #td ($items)
+        #elseif ($items.getName().equals("th"))
+            #th ($items)
+        #end
+    #end
+</tr>
+#end
+
+#macro ( td $value)
+#if ($value.getAttributeValue("colspan"))
+#set ($colspan = $value.getAttributeValue("colspan"))
+#end
+#if ($value.getAttributeValue("rowspan"))
+#set ($rowspan = $value.getAttributeValue("rowspan"))
+#end
+<td bgcolor="$tabletdbg" colspan="$!colspan" rowspan="$!rowspan" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+        #if ($value.getText().length() != 0 || $value.hasChildren())
+        $value.getContent()
+        #else
+        &nbsp;
+        #end
+    </font>
+</td>
+#end
+
+#macro ( th $value)
+#if ($value.getAttributeValue("colspan"))
+#set ($colspan = $value.getAttributeValue("colspan"))
+#end
+#if ($value.getAttributeValue("rowspan"))
+#set ($rowspan = $value.getAttributeValue("rowspan"))
+#end
+<th bgcolor="$tablethbg" colspan="$!colspan" rowspan="$!rowspan" valign="top" align="left">
+    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+        #if ($value.getText().length() != 0 || $value.hasChildren())
+        $value.getContent()
+        #else
+        &nbsp;
+        #end
+    </font>
+</th>
+#end
+
+#macro ( projectanchor $name $value )
+#if ($value.startsWith("http://"))
+    <a href="$value">$name</a>
+#elseif ($value.startsWith("/site"))
+    <a href="http://jakarta.apache.org$value">$name</a>
+#else
+    <a href="$relativePath$value">$name</a>
+#end
+#end
+
+#macro ( metaauthor $author $email )
+            <meta name="author" value="$author">
+            <meta name="email" value="$email">
+#end
+
+#macro ( image $value )
+#if ($value.getAttributeValue("width"))
+#set ($width=$value.getAttributeValue("width"))
+#end
+#if ($value.getAttributeValue("height"))
+#set ($height=$value.getAttributeValue("height"))
+#end
+#if ($value.getAttributeValue("align"))
+#set ($align=$value.getAttributeValue("align"))
+#end
+<img src="$relativePath$value.getAttributeValue("src")" width="$!width" height="$!height" align="$!align">
+#end
+
+#macro ( source $value)
+    <div align="left">
+    <table cellspacing="4" cellpadding="0" border="0">
+    <tr>
+      <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+      <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+      <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+    </tr>
+    <tr>
+      <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+      <td bgcolor="#ffffff"><pre>$escape.getText($value.getText())</pre></td>
+      <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+    </tr>
+    <tr>
+      <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+      <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+      <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+    </tr>
+    </table>
+    </div>
+#end
+
+#macro ( subsection $subsection)
+    <table border="0" cellspacing="0" cellpadding="0" width="100%">
+      <tr><td bgcolor="$subbannerbg">
+        <font color="$subbannerfg" face="arial,helvetica,sanserif">
+          <a name="$subsection.getAttributeValue("name")"><strong>$subsection.getAttributeValue("name")</strong></a>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+        #foreach ( $items in $subsection.getChildren() )
+            #if ($items.getName().equals("img"))
+                #image ($items)
+            #elseif ($items.getName().equals("source"))
+                #source ($items)
+            #elseif ($items.getName().equals("table"))
+                #table ($items)
+            #else
+                $items
+            #end
+        #end
+        </blockquote>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+#end
+
+#macro ( section $section)
+    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr><td ><!-- bgcolor="$bannerbg" -->
+        <font color="$bannerfg" face="verdana,arial,helvetica,sanserif">
+          <a name="$section.getAttributeValue("name")"><strong>$section.getAttributeValue("name")</strong></a>
+          <hr style="width:100%; color:$colorhrline; background-color:$colorhrline; height:1px; border:0px;"/>
+        </font>
+      </td></tr>
+      <tr><td>
+        <blockquote>
+        #foreach ( $items in $section.getChildren() )
+            #if ($items.getName().equals("img"))
+                #image ($items)
+            #elseif ($items.getName().equals("source"))
+                #source ($items)
+            #elseif ($items.getName().equals("table"))
+                #table ($items)
+            #elseif ($items.getName().equals("feature"))
+                #feature ($items)
+            #elseif ($items.getName().equals("subsection"))
+                #subsection ($items)
+            #else
+                $items
+            #end
+        #end
+        </blockquote>
+        </p>
+      </td></tr>
+      <tr><td><br/></td></tr>
+    </table>
+#end
+
+#macro ( makeProject )
+
+    <!-- ============================================================ -->
+    <div id="accordion" width="100%">
+    
+    #set ($menus = $project.getChild("body").getChildren("menu"))
+    #foreach ( $menu in $menus )
+    	<h3><a href="#$menu.getAttributeValue("name").replaceAll(" ","")">$menu.getAttributeValue("name")</a></h3>
+    	<div  width="100%">
+	        #foreach ( $item in $menu.getChildren() )
+	            #set ($name = $item.getAttributeValue("name"))
+	            #if ( $item.getAttributeValue("href").length() > 0 )
+	            	#projectanchor($name $item.getAttributeValue("href"))<br/>
+	        	#else
+	            	<b>$name</b><br/>
+	            		#foreach ( $subitem in $item.getChildren() )
+	            			#set ($name = $subitem.getAttributeValue("name"))
+	            			#projectanchor($name $subitem.getAttributeValue("href"))<br/>
+	            		#end
+	        	#end
+	        #end
+    	</div>
+    #end
+    
+    </div>
+
+	<!--
+    #set ($menus = $project.getChild("body").getChildren("menu"))
+    #foreach ( $menu in $menus )
+    	<div class="ro"> 
+		  <div class="lo">
+		    <div class="ru"> 
+		      <div class="lu"> 
+		        <div class="inhalt"> 
+    	
+    		<font color="$menutablefg" face="arial,helvetica,sanserif" size="2pt" >
+        	<b>$menu.getAttributeValue("name")</b>
+        	</a>
+        	<hr style="width:100%; color:$colorhrline; background-color:$colorhrline; height:1px; border:0px;"/>
+		       <ul>
+		        #foreach ( $item in $menu.getChildren() )
+		            #set ($name = $item.getAttributeValue("name"))
+		            #if ( $item.getAttributeValue("href").length() > 0 )
+			            <font color="$menutablefg" face="arial,helvetica,sanserif" size="2pt">
+			            	<li>#projectanchor($name $item.getAttributeValue("href"))</li>
+			        	</font>
+		        	#else
+		            	<li><font color="$menutablefg" face="arial,helvetica,sanserif" size="2pt">$name</font>
+		            		<ul>
+		            		#foreach ( $subitem in $item.getChildren() )
+		            			#set ($name = $subitem.getAttributeValue("name"))
+		            			<li>#projectanchor($name $subitem.getAttributeValue("href"))</li>
+		            		#end
+		            		</ul>
+		            	</li>
+		        	#end
+		        #end
+		        </ul>
+	        </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>        
+    #end
+    
+     -->
+     
+    <br/>
+    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
+    
+#end
+
+#macro (getProjectImage)
+#if ($project.getChild("logo"))
+#set ( $logoString = $project.getChild("logo").getAttributeValue("href") )
+<td align="left">
+#if ( $logoString.startsWith("/") )
+<a href="$project.getAttributeValue("href")"><img src="$relativePath$logoString" alt="$project.getChild("logo").getText()" border="0"/></a>
+#else
+<a href="$project.getAttributeValue("href")"><img src="$relativePath/$logoString" alt="$project.getChild("logo").getText()" border="0"/></a>
+#end
+</td>
+#end
+#end
+
+#macro (getBannerTitle)
+#if ( $root.getChild("properties").getChild("bannertitle") )
+    #set ( $pageBanner = $root.getChild("properties").getChild("bannertitle") )
+#else
+    #set ( $pageBanner = $root.getChild("properties").getChild("title").getText() )
+#end
+<td width="80%" align="right" valign="top" >
+	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
+	<span>|</span> 
+	<a href="downloads.html" target="_PARENT">Download</a>
+	<span>|</span> 
+	<a href="installation.html" target="_PARENT">Installation</a>
+	<span>|</span> 
+	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
+	<span>&nbsp;</span>
+</td>
+#end
+
+#macro (printMeta $metaElement)
+<meta #set ($attribs = $metaElement.getAttributes())
+#foreach ($a in $attribs) $a.getName()="$a.getValue()" #end />
+#end
+
+#macro (document)
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+            #set ($authors = $root.getChild("properties").getChildren("author"))
+            #foreach ( $au in $authors )
+                #metaauthor ( $au.getText() $au.getAttributeValue("email") )
+            #end
+
+           #set ($metas = $root.getChildren("meta"))
+
+            ##    Parse meta directives such as
+            ##    <meta name="keyword" content="jakarta, java"/>
+            #foreach ($meta in $metas) #printMeta($meta) #end
+
+            ##    Support for <base> tags.
+            #if ($root.getChild("properties").getChild("base"))
+              #set ($url = $root.getChild("properties").getChild("base").getAttributeValue("href"))
+              <base href="$url"/>
+            #end
+
+            <title>$project.getChild("title").getText() - $root.getChild("properties").getChild("title").getText()</title>
+            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
+            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
+            
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+			
+			<!-- Add coinslider plugins -->
+			<script type="text/javascript" src="js/coin-slider.min.js"></script>
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script src="js/jquery.ui.core.js"></script>
+			<script src="js/jquery.ui.widget.js"></script>
+		
+			<script src="js/jquery.ui.accordion.js"></script>
+			
+			<script>
+			$(function() {
+				$( "#accordion" ).accordion({
+					autoHeight: false,
+					navigation: true,
+					navigationFilter: function () {
+						var sidebarHrefArray = this.href.split("/");
+    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
+						
+						if (sideBarLastString.indexOf("#") == -1) {
+							return false;
+						}
+						
+						#set ($menus = $project.getChild("body").getChildren("menu"))
+						/* document.location.href */
+						var currentSection = "";
+						
+						var currentLocation = "";
+						var currentLink = "";
+						if (false) {
+						
+						}
+    					#foreach ( $menu in $menus )
+					        #foreach ( $item in $menu.getChildren() )
+					            #set ($name = $item.getAttributeValue("name"))
+					            #if ( $item.getAttributeValue("href").length() > 0 )
+					            	
+					            	else if (document.location.href.indexOf("$item.getAttributeValue("href")") > 0) {
+					            		currentLocation = "$menu.getAttributeValue("name").replaceAll(" ","")";
+					            		currentLink = "$item.getAttributeValue("href")".substr(1, "$item.getAttributeValue("href")".length);
+					            	} 
+					            	
+					        	#else
+				            		#foreach ( $subitem in $item.getChildren() )
+				            			#set ($name = $subitem.getAttributeValue("name"))
+				            			else if (document.location.href.indexOf("$subitem.getAttributeValue("href")") > 0) {
+				            				currentLocation = "$menu.getAttributeValue("name").replaceAll(" ","")";
+					            			currentLink = "$subitem.getAttributeValue("href")".substr(1, "$subitem.getAttributeValue("href")".length);
+						            	} 
+				            		#end
+					        	#end
+			        		#end
+    					#end
+    					
+    					currentLink = currentLink.toLowerCase();
+    					currentLocation = currentLocation.toLowerCase();
+    					
+						return sideBarLastString == currentLink+"#"+currentLocation;
+					}
+				});
+			});
+			</script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});	
+					$('#accordion a').each(function() {
+				      var a = $(this);
+				      var href = a.attr("href");
+				      if (href.indexOf("#") == -1) {
+				      	  var compareIt = href.substr(2, href.length);
+					      if (document.location.href.indexOf(compareIt)!= -1) {
+					       a.addClass('active');
+					      }
+				      }
+				    });
+					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
+        </head>
+
+        <body bgcolor="$bodybg" text="$bodyfg" link="$bodylink" vlink="$bodylink" alink="#000000">  
+        	<div class="mainbody" with="100%">
+        	<div class="superbody" width="100%">
+            <table border="0" width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    #getProjectImage()
+                    </td>
+                    <td align='LEFT'>
+                    #getBannerTitle()
+                    </td>
+                </tr>
+            </table>
+            <table border="0" width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td width="20%" valign="top" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time
+                    <a href="http://apachecon.com/2005/US/">
+                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
+                             width="125" border="0" alt="ApacheCon US 2005" />
+                    </a>  -->
+
+                   <!-- regular menu -->
+
+                    #makeProject()
+                    </td>
+                    <td width="80%" align="left" valign="top">
+                    #set ($allSections = $root.getChild("body").getChildren("section"))
+                    #foreach ( $section in $allSections )
+                        #section ($section)
+                    #end
+                    </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div align="center"><font color="$bodylink" size="-1"><em>
+                    Copyright &#169; 2003-2012, The Apache Software Foundation
+                    </em></font></div>
+                </td></tr>
+            </table>
+            </div>
+            </div>
+        </body>
+    </html>
+#end
+
+
+
+
+
diff --git a/xdocs/svn.xml b/xdocs/svn.xml
new file mode 100644
index 0000000..d511423
--- /dev/null
+++ b/xdocs/svn.xml
@@ -0,0 +1,341 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 
+	License, Version 2.0 (the "License"); you may not use this file except in 
+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 
+	Unless required by applicable law or agreed to in writing, software distributed 
+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 
+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 
+	the specific language governing permissions and limitations under the License. -->
+
+<document>
+
+	<properties>
+		<title>Source Code</title>
+		<author email="sebawagner@apache.org">
+			Sebastian Wagner
+		</author>
+	</properties>
+
+	<body>
+
+		<section name="OpenMeetings Source Code">
+
+			<p>
+				OpenMeetings uses
+				<a class="external" rel="nofollow" href="http://subversion.tigris.org">
+					Subversion
+				</a>
+				to manage its source code.
+				If you're new to Subversion, you can check out the
+				<a href="http://svnbook.red-bean.com/">online book</a>
+				about Subversion.
+				Note that we are currently using Subversion 1.1.x (there are separate
+				versions of the book covering 1.0 and 1.1).
+			</p>
+			<p>
+				To receive notice of commits to the repository subscribe to
+				<a href="mailto:openmeetings-commits@incubator.apache.org">
+					openmeetings-commits@incubator.apache.org
+				</a>
+				by sending email to
+				<a href="mailto:openmeetings-commits-subscribe@incubator.apache.org">
+					openmeetings-commits-subscribe@incubator.apache.org
+				</a>
+				.
+			</p>
+
+		</section>
+
+		<section name="Web Access to Subversion">
+
+			<p>
+				If you just want to browse the source code, you can use the
+				<a class="external" rel="nofollow"
+					href="http://svn.apache.org/viewcvs/incubator/openmeetings">
+					ViewCVS web interface
+				</a>
+				to Subversion. This is current at all times.
+			</p>
+
+		</section>
+
+		<section name="Checking Out Code Using Subversion">
+
+			<p>Anyone can check code out of Subversion. You only need to specify
+				a
+				username and password to update the Subversion repository, and only
+				OpenMeetings committers can do that.
+				If you are a committer, are working from behind a firewall, or are
+				connected to the internet through a proxy server, please see the
+				sections
+				below for more information.
+			</p>
+
+			<subsection name="Anonymous check out from Subversion">
+				<p>Use a command like:</p>
+				<pre>% svn checkout
+					http://svn.apache.org/repos/asf/incubator/openmeetings </pre>
+				<p>Once you have OpenMeetings checked out you can update the source
+					by executing the following command from within the openmeetings
+					directory.
+				</p>
+				<pre>
+					% svn update
+				</pre>
+			</subsection>
+			<subsection name="Access from behind a firewall">
+
+				<p>For those users who are stuck behind a corporate firewall which
+					is
+					blocking http access to the Subversion repository, you can try to access it
+					via HTTPS:
+				</p>
+				<pre>
+					% svn checkout
+					https://svn.apache.org/repos/asf/incubator/openmeetings
+				</pre>
+
+			</subsection>
+			<subsection name="Access through a proxy">
+
+				<p>The Subversion client can go through a proxy, if you configure it
+					to do so. First, edit your "servers" configuration file to indicate
+					which
+					proxy to use. The files location depends on your operating system.
+					On Linux or Unix it is located in the directory "~/.subversion".
+					On Windows it is in "%APPDATA%\Subversion". (Try "echo %APPDATA%",
+					note this is a hidden directory.)
+				</p>
+				<p>There are comments in the file explaining what to do. If you
+					don't have
+					that file, get the latest Subversion client and run any command; this
+					will
+					cause the configuration directory and template files to be created.
+				</p>
+				<p>Example : Edit the 'servers' file and add something like :
+				</p>
+				<pre>
+					[global]
+					http-proxy-host = your.proxy.name
+					http-proxy-port = 3128
+				</pre>
+
+			</subsection>
+
+			<subsection name="Committer access">
+
+				<p>Everyone can access the Apache Podling Subversion repository via
+					HTTPS,
+					but OpenMeetings Committers must checkout the Subversion repository
+					via HTTPS.
+				</p>
+				<pre>
+					% svn checkout
+					https://svn.apache.org/repos/asf/incubator/openmeetings
+				</pre>
+			</subsection>
+		</section>
+
+		<section name="Submitting Code Changes">
+			<subsection name="Submitting a patch">
+
+				<p>If you make changes to OpenMeetings, and would like to contribute
+					it to the project, you should open a JIRA issue and discuss the
+					merits
+					of the proposal with the developer community. If there is agreement,
+					create a patch and attach it to the JIRA issue.
+				</p>
+				<p>
+					To create a patch, execute the svn diff command. This creates a patch
+					that
+					can easily be uploaded to a JIRA issue. A good name for the patch
+					includes
+					the JIRA issue name, e.g. OPENMEETINGS-104.patch. If there are several
+					patches
+					for the same JIRA issue, you might include your initials, e.g.
+					OPENMEETINGS-104.clr.patch
+				</p>
+				<pre>
+					% svn diff &gt; OPENMEETINGS-104.clr.patch
+				</pre>
+			</subsection>
+
+			<subsection name="Committing changes to subversion">
+				<p>
+					To commit changes to the subversion repository, you must be an
+					OpenMeetings committer. See
+					<a href="get-involved.html">get involved</a>
+					for information on how to become a committer and how to set up your
+					password once you become a committer.
+				</p>
+
+				<p>
+					Once your password is set, you can use a command like this to commit:
+				</p>
+				<pre>
+					$&gt; svn commit --username your-username
+					Authentication realm: &lt;https://svn.apache.org:443&gt; ASF Committers
+					Password for 'your-username': your-password
+				</pre>
+				<p>You can also pass your password on the command line directly, but
+					this is a security problem on multiuser unix computers (the command
+					line
+					arguments are available via the ps command). Here is the command if you
+					are Windows or a single user unix computer:
+				</p>
+				<pre>
+					$&gt; svn commit --username your-username --password your-password
+				</pre>
+				<p>Remember to replace 'your-username' and 'your-password' with
+					your actual username and password on svn.apache.org.
+				</p>
+
+			</subsection>
+		</section>
+
+		<section name="Building Podling from Source">
+			<p>
+				<!-- ***************** TBD ************************** -->
+				<!-- ***************** TBD ************************** -->
+				<!-- ***************** TBD ************************** -->
+				<!-- ***************** TBD ************************** -->
+				<!-- ***************** TBD ************************** -->
+				<!-- ***************** TBD ************************** -->
+				<!-- ***************** TBD ************************** -->
+			</p>
+
+		</section>
+
+		<section name="Using Subversion on Windows with cygwin">
+
+			<p>
+				If you use Subversion on Windows under cygwin, you may find that the
+				Subversion client automatically assigns the executable property to
+				non-executable files. In that case, you would see this at the bottom
+				of
+				an
+				<em>svn diff</em>
+				of the file:
+			</p>
+			<pre>
+				Property changes on: test/sql/derby/datastoreidentity/schema1.sql
+				___________________________________________________________________
+				Name: svn:executable
+				+ *
+			</pre>
+			<p>This section explains the source of the problem and suggests some
+				actions to avoid it.
+			</p>
+
+			<subsection name="Background">
+
+				<p>Subversion carries executable information in the built-in
+					property
+					called svn:executable. This property, unlike others, may be present
+					or absent, but it has no value. You can add it or delete it, but you
+					cannot change its value.
+				</p>
+				<p>In theory, Subversion ignores Windows file permissions and by
+					default
+					does not set svn:executable. However, cygwin svn acts like Unix svn and
+					determines the svn:executable property based on file permissions.
+				</p>
+				<p>
+					If you create a file from the cygwin command line, by default it is
+					executable only if the filename ends with .bat, .com or .exe, or if
+					its
+					content starts with #!. [This is what the doc says, but you may see -x
+					for all files.] If you create a file using a Windows tool, by default
+					its Windows permissions are executable by all. Cygwin interprets
+					the
+					Unix-style permissions this way as well. If the file is executable by all,
+					cygwin svn sets the svn:executable property on the file when you
+					invoke
+					<em>svn add</em>
+					.
+				</p>
+			</subsection>
+			<subsection
+				name="Removing existing executable properties from the repository">
+
+				<p>You can use svn propdel to remove the svn:executable property
+					from your
+					working copy.
+				</p>
+				<pre>
+					svn propdel -R svn:executable .
+				</pre>
+				<p>will recursively remove the svn:executable property from all of
+					the
+					files below the current directory. You can use this and commit the
+					files to clean the repository if necessary.
+				</p>
+
+			</subsection>
+			<subsection
+				name="Preventing Subversion from adding unwanted executable 
+properties">
+
+				<p>
+					Windows/cygwin users who don't want to have to think about using
+					<em>svn
+						propdel
+					</em>
+					or
+					<em>chmod</em>
+					on each added file can use a non-cygwin
+					version of svn. The Subversion 1.2.3 Win32 binaries, downloadable from the
+					link at the bottom of
+					<a rel="nofollow" href="http://subversion.tigris.org/project_packages.html">
+						http://subversion.tigris.org/project_packages.html
+					</a>
+					, appear to work
+					well. After installation add the svn.exe location to your Windows PATH
+					variable. If you are switching from cygwin svn to Win32 svn
+				</p>
+				<ol type="1">
+					<li>
+						<p>Remove the subversion component from your cygwin installation
+							because when svn is invoked from a cygwin window, the cygwin
+							version is
+							found even if your cygwin/bin directory is later on the path. (In the
+							Select Packages window of the setup wizard, navigate to the
+							subversion
+							package in the Devel. category. Click on the status icon until Uninstall
+							is displayed. Click next and continue through the wizard until
+							installation
+							is complete.)
+						</p>
+					</li>
+					<li>
+						<p>Copy the servers file and the auth folder from the sygwin
+							~/.subversion
+							directory to C:\Documents and
+							Settings\&lt;user&gt;\Application Data\Subversion used by Win32
+							subversion.
+						</p>
+					</li>
+				</ol>
+				<p>Note that windows svn uses backslash as the path separator when
+					displaying file names. You cannot just copy and paste this file
+					name
+					to another svn command when running from within a cygwin shell.
+					You need to enclose the file name into double quotes.
+				</p>
+				<p>Alternatively, Windows users can set file permissions in Windows
+					Explorer. (Right-click on the top-level folder &amp; select
+					Properties.
+					Select the Security tab. Click Advanced. Remove all instances of
+					Read &amp; Execute from the Permission Entries. Click "Reset
+					permissions
+					on all child objects and enable propogations of inheritable
+					permissions".
+					Click Apply. OK. OK.) You will have to do this again when you do a clean
+					checkout to a new directory.
+				</p>
+
+			</subsection>
+		</section>
+	</body>
+</document>
diff --git a/xdocs/team-list.xml b/xdocs/team-list.xml
new file mode 100644
index 0000000..0d01354
--- /dev/null
+++ b/xdocs/team-list.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0"?>
+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 
+	License, Version 2.0 (the "License"); you may not use this file except in 
+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 
+	Unless required by applicable law or agreed to in writing, software distributed 
+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 
+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 
+	the specific language governing permissions and limitations under the License. -->
+
+<document>
+
+	<properties>
+		<title>Project Team</title>
+		<author email="sebawagner@apache.org">
+			Sebastian Wagner
+		</author>
+	</properties>
+
+	<body>
+
+		<section name="OpenMeetings Committers">
+
+			<p>
+				The people listed below have made significant contributions to
+				Podling
+				by
+				working long and hard to make quality software for the rest
+				of the world to
+				use.
+			</p>
+
+			<p>
+				If you would like to contribute to Podling, please see the
+				<a
+					href="https://cwiki.apache.org/confluence/display/OPENMEETINGS/New+committers+and+developers+task+idea+list"
+					target="_BLANK">https://cwiki.apache.org/confluence/display/OPENMEETINGS/New+committers+and+developers+task+idea+list
+				</a>
+				to find areas where you can contribute.
+				If there is nothing in there
+				that suits your interest, but you still
+				have
+				ideas, please feel free
+				to suggest them on the mailing list.
+			</p>
+			<p>
+				If you would like to become a committer, please see
+				<a href="get-involved.html">Get Involved</a>
+				.
+			</p>
+
+			<table>
+				<tr>
+					<th>Name</th>
+					<th>Organization</th>
+					<th>Contact/Website</th>
+				</tr>
+				<tr>
+					<td>Sebastian Wagner</td>
+					<td>Independent</td>
+					<td>
+						<a href="https://twitter.com/#!/dead_lock" target="_BLANK" rel="nofollow">https://twitter.com/#!/dead_lock
+						</a>
+					</td>
+				</tr>
+				<tr>
+					<td>Alexei Fedotov</td>
+					<td>Independent</td>
+					<td></td>
+				</tr>
+				<tr>
+					<td>Evgeny Rovinsky</td>
+					<td>Independent</td>
+					<td></td>
+				</tr>
+				<tr>
+					<td>Maxim Solodovnik</td>
+					<td>Independent</td>
+					<td></td>
+				</tr>
+				<tr>
+					<td>Oliver Becherer</td>
+					<td>Independent</td>
+					<td></td>
+				</tr>
+				<tr>
+					<td>Eugen Schwert</td>
+					<td>Independent</td>
+					<td>eugen.schwert@gmail.com</td>
+				</tr>
+				<tr>
+					<td>Sascha Xander</td>
+					<td>Independent</td>
+					<td></td>
+				</tr>
+				<tr>
+					<td>Johnny Strom</td>
+					<td>Independent</td>
+					<td></td>
+				</tr>
+				<tr>
+					<td>German Grekhov</td>
+					<td>Independent</td>
+					<td></td>
+				</tr>
+			</table>
+		</section>
+
+	</body>
+</document>
diff --git a/xdocs/themes-and-branding.xml b/xdocs/themes-and-branding.xml
new file mode 100644
index 0000000..d486ae3
--- /dev/null
+++ b/xdocs/themes-and-branding.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>Theme and color</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="Available with Apache OpenMeetings 2.0">

+

+			<p>

+				Themes are only available starting with Openmeetings 2.x.

+				<br />

+				There are also more general client side configuration like port

+				configuration. Those configs are stored in the config.xml, see for

+				example

+				<a href="BrandingAndColors.html">BrandingAndColors.html</a>

+			</p>

+

+		</section>

+

+		<section name="Editing the theme">

+

+			<p>You can find the default theme in the SVN: </p>

+			<p>

+				<a

+					href="https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/default-theme.xml"

+					target="_BLANK" rel="nofollow">https://svn.apache.org/repos/asf/incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/default-theme.xml

+				</a>

+			</p>

+			<p>

+				Or if you already installed OpenMeetings on your machine at:

+				<br />

+				<tt>/webapps/openmeetings/default-theme.xml</tt>

+				<br />

+				The file contains border, background and font color definitions as

+				well as paths to icons that are loaded at runtime.

+				<br />

+				You can change the theme at runtime and just reload the browser

+				(eventually clear the browser cache) to see updates based on

+				modification in your theme.

+			</p>

+

+

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file
diff --git a/xdocs/voip-sip-integration.xml b/xdocs/voip-sip-integration.xml
new file mode 100644
index 0000000..8c29500
--- /dev/null
+++ b/xdocs/voip-sip-integration.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!-- Copyright 2006 The Apache Software Foundation Licensed under the Apache 

+	License, Version 2.0 (the "License"); you may not use this file except in 

+	compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 

+	Unless required by applicable law or agreed to in writing, software distributed 

+	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 

+	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 

+	the specific language governing permissions and limitations under the License. -->

+<document>

+

+	<properties>

+		<title>VoIP and SIP Integration</title>

+		<author email="sebawagner@apache.org">

+			OpenMeetings Team

+		</author>

+	</properties>

+

+	<body>

+

+		<section name="VoIP and SIP Integration">

+

+			<p>

+				There are multiple ways to integrate with VoIP and or SIP.

+				OpenMeetings does not provide out of the box a ready to run VoIP

+				integration / integration to cell phone or usual land lane.

+				The

+				nature of such integrations is that it depends heavily on the

+				infrastructure that you are using and where you would like to

+				integrate OpenMeetings into.

+				<br />

+				<br />

+				It also depends on a number of factors of which OpenMeetings is

+				impossible to set up for you, for example setting up your VoIP

+				server or provide you with a range of telefone numbers reserved for

+				conference calls in your national phone network.

+				Such an integration

+				project is likely to become a consulting job for a

+				telecommunications consultant.

+				<br />

+				<br />

+				To get help on the integration you can contact the

+				<a href="mail-lists.html">mailing lists</a>

+				or for example somebody from the list of

+				<a href="commercial-support.html">commercial support</a>

+				.

+                <br/><br/>

+                <a href="red5sip-integration.html">

+                Instruction how-to set up OpenMeetings SIP-Transport integration

+                </a>.

+

+			</p>

+		</section>

+

+	</body>

+

+</document>
\ No newline at end of file